一种数据源回溯追踪方法及装置的制造方法_2

文档序号:9727498阅读:来源:国知局
搜索经过的步骤是否已经存在于附表中,若存在,直接记录流程编号,若不存在,则对该流程中所经过步骤进行记录在附表中,并在属性字段中记录其流程编号,依次进行,直到所有的数据ETL处理完毕为止,这时每个数据在新添加的属性字段上都会有一个流程编号。
[0041]在对某个数据查找其原始数据时,根据所述新添加的属性字段记录的流程编号回溯到所述数据源块中。例如,最后得到经过ETL处理的数据表,若我们需要对某个数据查找其原始数据,则可根据新添加的属性字段记录的流程编号回溯到原数据块中,根据主键或者模糊匹配即可得到原始数据。若对于某个可能错误的数据,ETL开发人员想要对其进行回溯分析,则可根据新添加的属性字段记录的流程编号回溯到原数据块中,根据主键或者模糊匹配即可得到原始数据,再根据附表流程编号得到该数据进行ETL的流程步骤,根据该流程步骤再次对该原数据进行ETL处理,并且把每个数据的处理结果保存下来,这时ETL开发人员可对其数据转换过程进行分析。
[0042]本发明实施例的优点在于,并不需要存储数据在ETL过程中每个步骤进行转换后的历史数据,还能够根据需要追踪原始数据的来源和对错误的数据在进行ETL处理过程中各个步骤处理后的历史数据变化呈现出来,这样极大地减少数据的冗余,又能够满足数据血统分析的要求。
[0043]此外,采用数据源块,既可以在一定程度上减少附表的记录数,能减少一定的数据存储空间,还可以使数据源块并发进行ETL处理,加快了 ETL进程。
[0044]实施例二
[0045]为了执行上述实施例的方法,本实施例提供了一种数据源回溯追踪装置,包括:
[0046]归并处理单元,对结构相似的原始数据进行归并处理为数据源块;这里的结构相似,指的是数据的属性和各个属性字符类型大致相同,和/或某个属性值缺失情况大致相同,这样该模块的数据源进行ETL流程经过的步骤大致相同,便于减少步骤需要记录的步骤数目,减少数据的冗余,从而将确定了所要进行ETL的数据源块,并对数据源块进行编号。
[0047]编号单元,对所述数据源块的每个数据在进行数据规整处理过程中在其新添加的属性字段中记录其流程编号。并且通过对流程编号的归类、分析、统计以方便实现追踪原始数据的来源,还可以呈现出数据在进行构建数据仓库的过程中各个步骤处理后的历史数据变化,还可以减少数据的冗余。具体的操作实施例是,对数据源块同时进行ETL处理,可以实现并行ETL处理。建立一个表来记录ETL流程(表的格式如图一所示),这里称之为“附表”,对原数据块添加一个属性字段用来记录流程的编号。以第一个数据源块为例,对第一个数据进行ETL处理,对该流程中所经过步骤进行记录在新建的附表中,并在新添加的属性字段中记录其流程编号;对于第二个数据进行ETL处理,搜索经过的步骤是否已经存在于附表中,若存在,直接记录流程编号,若不存在,则对该流程中所经过步骤进行记录在附表中,并在属性字段中记录其流程编号,依次进行,直到所有的数据ETL处理完毕为止,这时每个数据在新添加的属性字段上都会有一个流程编号。
[0048]回溯单元,在对某个数据查找其原始数据时,根据所述新添加的属性字段记录的流程编号回溯到所述数据源块中。例如,最后得到经过ETL处理的数据表,若我们需要对某个数据查找其原始数据,则可根据新添加的属性字段记录的流程编号回溯到原数据块中。所述数据源回溯追踪装置还包括:再整理单元,根据所述流程编号得到所述数据进行数据规整处理的流程步骤,根据所述流程步骤再次对所述源数据进行数据规整处理,并保存每个步骤的结果。
[0049]匹配单元,根据主键或模糊匹配得到所述原始数据。若对于某个可能错误的数据,ETL开发人员想要对其进行回溯分析,则可根据新添加的属性字段记录的流程编号回溯到原数据块中,根据主键或者模糊匹配即可得到原始数据,再根据附表流程编号得到该数据进行ETL的流程步骤,根据该流程步骤再次对该原数据进行ETL处理,并且把每个步骤的结果保存下来,这时ETL开发人员可对其数据转换过程进行分析。
[0050]本发明实施例的优点在于,并不需要存储数据在ETL过程中每个步骤进行转换后的历史数据,还能够根据需要追踪原始数据的来源和对错误的数据在进行ETL处理过程中各个步骤处理后的历史数据变化呈现出来,这样极大地减少数据的冗余,又能够满足数据血统分析的要求。
[0051]此外,采用数据源块,既可以在一定程度上减少附表的记录数,能减少一定的数据存储空间,还可以使数据源块并发进行ETL处理,加快了 ETL进程。
[0052]实施例三
[0053]本发明还提供了一种数据回溯追踪装置的第二实施例,包括数据源模块10,ETL处理模块20,数据仓库30,所述数据源模块10的信号通过ETL处理模块20进行数据规整处理后存入数据仓库30中。记录存储模块40包括附表401,源数据获取单元402,错误数据记录表403。所述附表401连接ETL处理模块,用于记录ETL流程。源数据获取单元402连接数据源模块10,源数据获取单元402对转换后的数据回溯获取其源数据。错误数据记录表403为对需要查询分析的错误数据记录其ETL过程中经过每一步骤后数据的变化,便于ETL开发人员进行分析。
[0054]对同一数据源结构相似的数据归并成一块,这里的结构相似,指的是数据的属性和各个属性字符类型大致相同,某个属性值缺失情况大致相同。因此可以得到了多个数据源块,分别对其编号1、2、……、n,如图一所示的数据源模块10。
[0055]根据多种数据源的数据形式,对项目需求进行分析,确定数据抽取、清洗、转换过程中可能需要的各个步骤,最终确定抽取过程中遵循的抽取规则1、抽取规则2、……、抽取规则m;清洗过程中的清洗规则1、清洗规则2、……、清洗规则η;转换过程中的转换规则1、转换规则2、……、转换规则k。如图1所示。
[0056]对数据源块按照自身的数据形式并行进行数据ETL处理(ETL处理模块20),即数据抽取、清洗、转换、加载,记录流程于附表中,再在进行加载后的数据中添加一个新的属性字段记录其流程编号。具体实施如下:以第一个数据源块为例,对第一个数据进行ETL处理,对该流程中所经过步骤进行记录在新建的附表中,并在新添加的属性字段中记录其流程编号;对于第二个数据进行ETL处理,搜索流程是否已经存在于附表中,若存在,直接在属性字段中记录流程编号,若不存在,则对该流程中所经过步骤进行记录在附表中,并在属性字段中记录其流程编号,依次进行,直到所有的数据ETL处理完毕为止,这时每个数据在新添加的属性字段上都会有一个流程编号,并加载于数据仓库中。
[0057]这里,对于附表进行补充说明:其中第一列的属性为“数据源块”,主要记录的是数据源块的编号;其余的各列采用的是0、1变量,在经过的步骤记录为“1”,未经过的步骤记录为“0”,这样方便于计算机存储和识别。
[0058]当企业或ETL开发人员想要对数据仓库的某一个或某一部分数据查找其原始数据时,可根据其新添加的字段所记录的流程编号,在附表401中查找对应的流程中的数据源块的编号,根据主键或者模糊匹配在原数据源块中即可查找原始数据。
[0059]当ETL开发人员想要对错误数据回溯分析其原始数据变化的过程,可通过其新添加的字段中所记录的流程编号,在附表401中查找其对应的ETL的流程,跟上面的方法一样查找到原始数据,再对原始数据根据流程再运行一遍,并且在表(即错误数据记录表403)中记录每一个步骤数据的变化,便于开发人员对数据进行分析。
[0060]实施例四
[0061]本发明还提供了一种数据回溯追踪装置的第二实施例,包括数据源模块10,ETL处理模块20,数据仓库30,所述数据源模块10的信号通过ETL处理模块20进行数据规整处理后存入数据仓库30中。记录存储模块40包括附表401,源数据获取单元402,错误数据记录表403。所述附表401连接ETL处理模块,用于记录ETL流程。源数据获取单元402连接数据源模块10,源数据获取单元402对转换后的数据回溯获取其源数据。错误数据记录表403为对需要查询分析的错误数据记录其ETL过程中经过每一步骤后数据的变化,
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1