一种基于数据流的数据溯源方法及计算机存储介质与流程

文档序号:29566781发布日期:2022-04-09 02:43阅读:123来源:国知局
一种基于数据流的数据溯源方法及计算机存储介质与流程

1.本发明涉及工业互联网平台的数据处理技术领域,具体公开了一种基于数据流的数据溯源方法及计算机存储介质。


背景技术:

2.数据工厂虽然可对业务主体的业务数据进行整合和分析计算,但对于数据在整合和分析过程的数据处理、关联和演变,不能直观有效的表达,此时,则需要对数据进行溯源,以对输出数据衍生前的原始数据以及演变过程进行描述,以直观的理解和分析数据处理和演变过程,对于分析数据工厂的准确性和有效性具有不可替代的价值。
3.目前,对于数据工厂,传统的溯源通常是通过标记查询的方法进行,即通过为单一的数据集配置数据查询的条件和查询结果展示,该方法中溯源结果的准确性依赖于配置人员的业务和技术素养,并且,由于查询条件的配置和数据工厂的运行逻辑不一致,耦合匹配依赖对该数据工厂配置的理解,如数据工厂的配置发生变化,则需要重新配置相应的查询条件,不具有通用性,且工作量大。


技术实现要素:

4.有鉴于此,本发明的目的在于提供一种基于数据流的数据溯源方法及计算机存储介质,以解决现有技术中的数据溯源方法不具有通用性的问题。
5.为达到上述目的,本发明的第一方面提供一种基于数据流的数据溯源方法,包括以下步骤:
6.s1:配置多个逐级指向的数据流转节点,形成一数据工厂并执行数据计算,于各数据流转节点的首端和/或末端生成对应的输入数据集和输出数据集;
7.s2:响应于所述数据工厂的数据计算,于数据流转节点的末端生成对应的数据计算日志;
8.s3:设置溯源范围并配置各数据流转节点的溯源信息,结合所述溯源信息和数据计算日志对输出数据集中的数据进行逆向逐级溯源得到原始输入数据记录。
9.进一步的,在步骤s1中,所述多个逐级指向的数据流转节点包括至少一个输入节点、一个输出节点以及至少一个配置在输入节点和输出节点之间并逐级连接的操作节点,所述操作节点中配置有对流入该操作节点的数据进行数据计算的计算规则;所述数据工厂根据配置的计算规则逐级执行数据计算,且计算过程中生成的各输入数据集分别对应形成于对应的操作节点和输出节点的首端,各输出数据集分别对应形成于对应的输入节点和操作节点的末端。
10.进一步的,在步骤s1中,所述数据工厂执行数据计算的具体方法为:
11.s101:在输入节点中添加数据源并设置输入字段,基于所述输入字段获取数据源中对应的数据于所述输入节点的末端形成输入节点的输出数据集;
12.s102:所述输入节点的输出数据集沿各操作节点逐级流转,于所述操作节点的首
端形成操作节点的输入数据集,并经配置于操作节点的计算规则执行计算后,于该操作节点的末端形成对应操作节点的输出数据集;其中,所述计算规则包括数据连接、抽取转换、筛选过滤和分组聚合;
13.s103:最后一级所述操作节点的输出数据集继续流转,于所述输出节点的首端形成所述输出节点的输入数据集,设置输出字段后经所述输出节点输出。
14.进一步的,在步骤s1中,所述输入数据集中包括至少一条数据结构相同的输入数据记录,所述输出数据集中包括至少一条数据结构相同的输出数据记录,输入数据记录和输出数据记录的数据结构均包括数据字段和数据约束,所述输入数据记录和输出数据记录中分别存储有数据字段对应的数据信息。
15.进一步的,在步骤s102中,配置有数据连接的操作节点具有至少两个对应的输入数据集,配置数据连接的操作节点对输入数据集进行计算的具体方法为:
16.在两个数据输入集中确定至少一个相同数据字段为连接字段,对两个数据集按照设置的连接规则进行数据连接,并返回连接后的数据形成所述输出数据集,所述输出数据集的数据字段为所述两个输入数据集的数据字段去重后的并集;
17.配置抽取转换的操作节点对输入数据集进行计算的具体方法为:
18.在所述输入数据集中确定至少一个数据字段为抽取字段,利用所述抽取字段抽取对应的数据记录形成所述输出数据集;
19.和/或
20.在所述输入数据集中确定至少一个数据字段为转换字段,配置转换规则,并根据转换规则设置一新增字段,利用所述转换规则对转换字段对应的输入数据记录进行转换得到转换后的数据记录并填充至新增字段中形成所述输出数据集;
21.配置筛选过滤的操作节点对输入数据集进行计算的具体方法为:
22.在所述输入数据集中确定至少一个数据字段为筛选字段或者过滤字段,配置执行筛选过滤过的筛选字段及过滤字段的值,利用所述筛选字段或过滤字段的值对输入数据集中输入数据记录进行筛选或过滤形成所述输出数据集;其中,当确定有多个筛选字段或过滤字段时,多个筛选字段或过滤字段的值之间逻辑关系为“且”;
23.配置分组聚合的操作节点对输入数据集进行计算的具体方法为:
24.在所述输入数据集中确定至少一个数据字段为分组字段,利用所述分组字段对输入数据记录进行分组,并根据分组情况设置一聚合字段,设置聚合规则,利用所述聚合规则对分组后的输入数据记录进行聚合得到聚合后的数据记录并填充至聚合字段中,形成所述输出数据集。
25.进一步的,在步骤s2中,所述数据计算日志中写入有对应数据流转节点的输出数据集及其对应的处理规则,其中,所述输入节点的处理规则为设置输入字段,所述操作节点的处理规则为对应节点的计算规则,所述输出节点的处理规则为设置输出字段。
26.进一步的,所述步骤s3具体包括以下步骤:
27.s301:设置数据溯源范围,确定数据溯源的起始节点和结束节点;
28.s302:以所述起始节点为当前节点,并确定当前节点的节点类型,根据当前节点的输出数据集及对应的处理规则配置该节点的溯源信息;其中,所述节点类型为输入节点、操作节点或输出节点;
29.s303:在输出数据集中确定需溯源的输出数据记录,利用所述溯源信息在对应的数据计算日志的输入数据集中匹配与所述输出数据记录相对应的输入数据记录;
30.s304:判断所述输出数据记录与输入数据记录是否匹配成功,若匹配成功,则跳转执行步骤s305,否则跳转执行步骤s306;
31.s305:提取匹配成功的输入数据记录,并判断当前节点是否为结束节点,若是,则结束溯源,否则以当前节点为一新的起始节点返回执行步骤s302;
32.s306:对匹配失败的输出数据记录进行报错,并判断是否存在用户自定义的溯源限制规则,若存在,则根据所述溯源限制规则修改溯源信息后返回执行步骤s304。
33.进一步的,在步骤s302中,配置溯源信息的具体方法为:
34.当所述当前节点为输入节点或输出节点时,在输出数据集中获取至少一个数据字段形成所述溯源信息;
35.当所述当前节点为操作节点时,获取所述操作节点的计算规则,基于所述计算规则配置对应节点的溯源规则形成所述溯源信息。
36.进一步的,在步骤s3之后,还包括如下步骤:
37.s4:对所述原始输入数据记录逐级进行可视化,并于各级输入数据记录之间显示对应的计算规则,形成所述输入数据记录的逐级演变路径。
38.本发明的第二方面提供一种计算机存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的基于数据流的数据溯源方法。
39.本实施例的基于数据流的数据溯源方法,通过配置数据工厂以及在节点间配置对应的数据计算日志,将输入数据集或输出数据集以及对应的处理规则写入对应的数据计算日志中,可实现数据的顺向可追踪,逆向可溯源,并且数据计算日志逐级配置,可实现从任一节点开始向前溯源,并且各节点间的溯源过程互不干扰,确保每一节点溯源结果的准确性以及可追溯性,灵活性高。
附图说明
40.图1为本发明一种基于数据流的数据溯源方法的流程图。
41.图2为本实施例的数据工厂的示意图。
42.图3为数据工厂执行数据计算的流程图。
43.图4为步骤s3的流程图。
具体实施方式
44.下面通过具体实施方式进一步详细说明:
45.本发明通过配置数据工厂,用户可将待处理的数据输入数据工厂,通过数据工厂的正向运算,对数据进行整合分析;通过在各节点的末端配置数据计算日志,对各节点产生的数据集以及对应的计算规则进行存储,可实现数据的逐级溯源,各节点间的数据溯源之间互不影响,确保了溯源结果的准确性,可从任一节点开始向前溯源,溯源过程方便灵活;最后,通过对溯源结果进行逐级展示,有利于用户直观了解数据的演变过程。
46.实施例
47.如图1所示,本实施例的一种基于数据流的数据溯源方法包括以下步骤:
48.s1:配置数据工厂并执行数据计算,生成输入数据集和输出数据集。
49.首先,配置多个逐级指向的数据流转节点,形成一数据工厂。具体的,所述多个逐级指向的数据流转节点包括至少一个输入节点、一个输出节点以及至少一个配置在输入节点和输出节点之间并逐级连接的操作节点,所述输入节点、操作节点和输出节点之间逐级指向形成一数据流,当在一数据工厂中存在有多个输入节点时,多个输入节点之间并列设置,并最终经各自配置的操作节点流向同一输出节点,以对不同的数据集进行整合分析。所述输入节点可用于将原始数据输入数据工厂,以供数据工厂执行对应的数据计算。所述操作节点中配置有对流入该操作节点的数据执行数据计算的计算规则,当在同一数据流中配置有多个操作节点时,多个所述操作节点逐级对输入的数据执行数据计算;在本实施例中,所述计算规则包括数据连接、抽取转换、筛选过滤和分组聚合。所述输出节点可对数据的计算结果进行输出以供用户提取、使用。
50.如图2所示,为本实施例配置的一数据工厂的示意图,下面以此为例对本实施例进行说明。本实施例的数据工厂包括两个并列设置的输入节点1和输入节点2,在输入节点1之后依次配置有操作节点1(计算规则为筛选过滤)和操作节点2(计算规则为抽取转换),在输入节点2之后配置有操作节点3(计算规则为分组聚合),并在操作节点2和操作节点3之后配置一操作节点4(计算规则为数据连接),操作节点2和操作节点3均指向操作节点4,以及在操作节点4之后配置一输出节点。当然,在其他的实施例中,还可配置更多数量的输入节点和操作节点,并通过操作节点之间的任意组合,以形成符合数据计算要求的数据处理流程,得到想要数据处理结果。
51.然后,利用配置好的数据工厂执行数据计算,并在计算过程中,于各数据流转节点的首端和/或末端生成对应的输入数据集和输出数据集;具体的,所述输入数据集分别对应生成于操作节点和输出节点的首端,所述输出数据集分别对应生成于输入节点和操作节点的末端。
52.在本实施例中,所述输入数据集中包括至少一条数据结构相同的输入数据记录,所述输出数据集中包括至少一条数据结构相同的输出数据记录。所述输入数据记录和输出数据记录的数据结构均包括数据字段和数据约束,所述数据字段用于作为字段标识以用于后续溯源时的数据记录的匹配,所述数据约束用于约束数据字段的来源;所述输入数据记录和输出数据记录中分别存储有数据字段对应的数据信息。
53.例如:在一数据结构“a.x0=c.a.x0”中,a.为数据约束,即数据集a;x0为数据字段;c.a.x0为数据记录。
54.如图3所示,所述数据工厂执行数据计算的具体方法为:
55.s101:在输入节点中添加数据源并设置输入字段,基于所述输入字段获取数据源中对应的数据于所述输入节点的末端形成输入节点的输出数据集。当配置有多个输入节点时,多个所述输入节点的数据源以及输入字段均可以相同或不同,并于对应输入节点的末端形成多个可并行处理的输出数据集。
56.在本实施例中,将所述输入节点1的数据源配置为一学员基础信息,将输入节点2的数据源配置为一学员成绩信息,则所述输入节点1对应的输出数据集如下表1所示:
57.学员编号姓名班级联系人姓名出生年月2021001赵某一年级1班赵父2015.03
2021002钱某一年级2班钱父2015.082021003孙某一年级1班孙母2014.122021004李某二年级1班李母2014.032021005周某一年级1班周父2015.092021006吴某二年级2班吴父2015.012021007郑某一年级1班郑母2015.02
58.表1
59.所述输入节点2对应的输出数据集如下表2所示:
[0060][0061][0062]
表2
[0063]
s102:所述输入节点的输出数据集沿各操作节点逐级流转,于所述操作节点的首端形成操作节点的输入数据集,并经配置于操作节点的计算规则执行计算后,于该操作节点的末端形成对应操作节点的输出数据集。
[0064]
输入节点1的输出数据集(表1)向后流转作为操作节点1的输入数据集输入操作节点1中,所述操作节点1通过筛选过滤对表1中的数据进行处理。具体的,在所述输入数据集中确定至少一个数据字段为筛选字段或者过滤字段,配置执行筛选过滤过的筛选字段及过滤字段的值,利用所述筛选字段或过滤字段的值对输入数据集中输入数据记录进行筛选或过滤形成所述输出数据集;其中,当确定有多个筛选字段或过滤字段时,多个筛选字段或过滤字段的值之间逻辑关系为“且”。
[0065]
所述操作节点1执行筛选过滤的描述信息可表示为:
[0066]
selectds.x0,ds.x1,...,ds.xm;//输出数据集的数据字段
[0067]
fromds;//数据来源
[0068]
wheref(ds.xp,ds.xq)istrue;//筛选过滤字段,其中p、q属于(0,1,...,m)
[0069]
在本实施例中,以筛选为例,在所述输入节点1的输出数据集(表1)中确定“班级”为筛选字段,并以筛选字段
“‘
班级’=

一年级1班
’”
执行筛选,其描述信息为:
[0070]
select表1.学员编号,表1.姓名,表1.班级,ds.联系人姓名,ds.出生年月;
[0071]
from表1;
[0072]
wherea.班级=一年级1班;
[0073]
则得到操作节点1的输出数据集如下表3所示:
[0074]
学员编号姓名班级联系人姓名出生年月2021001赵某一年级1班赵父2015.032021003孙某一年级1班孙母2014.122021005周某一年级1班周父2015.092021007郑某一年级1班郑母2015.02
[0075]
表3
[0076]
当所述操作节点1执行过滤操作时,其执行过程与筛选类似,过滤后的结果与筛选结构相反,在此不一一赘述。
[0077]
操作节点1的输出数据集(表3)继续向后流转,作为操作节点2的输入数据集输入操作节点2中,所述操作节点2通过抽取转换对表3中的数据进行处理。具体的,在所述输入数据集中确定至少一个数据字段为抽取字段,利用所述抽取字段抽取对应的数据记录形成所述输出数据集;和/或在所述输入数据集中确定至少一个数据字段为转换字段,配置转换规则,并根据转换规则设置一新增字段,利用所述转换规则对转换字段对应的输入数据记录进行转换得到转换后的数据记录并填充至新增字段中形成所述输出数据集;
[0078]
所述操作节点2执行抽取转换的描述信息可表示为:
[0079]
selectds.xp,ds.xq,x_new=f(ds.x);//输出数据集的数据字段,x_new为新增字段,f(ds.x)为转换规则
[0080]
fromds;//数据来源
[0081]
在本实施例中,当所述操作节点2执行抽取操作时,在操作节点1的输出数据集(表3)中抽取数据字段“学员编号”和“姓名”作为抽取字段,在表3中提取符合该抽取字段的数据记录,其描述信息为:
[0082]
select表3.学员编号,表3.姓名;
[0083]
from表3;
[0084]
得到操作节点2执行抽取操作时的输出数据集如表4-1所示:
[0085]
学员编号姓名2021001赵某2021003孙某2021005周某2021007郑某
[0086]
表4-1
[0087]
当所述操作节点2执行转换操作时,在操作节点1的输出数据集(表3)中确定数据字段“出生年月”转换字段,并添加数据字段“年龄”为新增字段,转换规则为“根据当前日期计算学员年龄”,其描述信息为:
[0088]
select表3.学员编号,表3.姓名,表3.班级,表3.联系人姓名,表3.出生年月,表3.年龄=(2021-出生年份);
[0089]
from表3;
[0090]
得到操作节点2执行转换操作时的输出数据集如表4-2所示:
[0091]
学员编号姓名班级联系人姓名出生年月年龄2021001赵某一年级1班赵父2015.0362021003孙某一年级1班孙母2014.1272021005周某一年级1班周父2015.0962021007郑某一年级1班郑母2015.026
[0092]
表4-2
[0093]
输入节点2的输出数据集(表2)继续向后流转,作为操作节点3的输入数据集输入操作节点3中,所述操作节点3通过分组聚合对表2中的数据进行处理。具体的,在所述输入数据集中确定至少一个数据字段为分组字段,利用所述分组字段对输入数据记录进行分组,并根据分组情况设置一聚合字段,设置聚合规则,利用所述聚合规则对分组后的输入数据记录进行聚合得到聚合后的数据记录并填充至聚合字段中,形成所述输出数据集。
[0094]
所述操作节点3的执行分组聚合的描述信息为:
[0095]
selecta.xp,aggregation(a.xq)//输出数据集的数据字段
[0096]
fromds;//数据来源
[0097]
groupbya.xp;//分组字段
[0098]
在本实施例中,在输入节点2的输出数据集(表2)中确定数据字段“学员编号”为分组字段,并以数据字段“成绩”作为聚合字段,聚合规则为“求和”,其描述信息为:
[0099]
select表2.学院编号,aggregation(表2.成绩);
[0100]
from表2;
[0101]
groupby成绩;
[0102]
得到操作节点3的输出数据集如表5所示:
[0103]
学员编号总分2021001170202100216920210031452021004155202100517020210061552021007170
[0104]
表5
[0105]
由于,操作节点4配置的计算规则为数据连接,因此对于操作节点4,具有两个输入。此时,操作节点2的输出数据集(以表4-1为例)和操作节点3的输出数据集(表5)同时继
续向后流转,作为操作节点4的两个输入数据集输入操作节点4中,所述操作节点4通过执行数据连接对表4-1和表5进行数据连接。具体的,在两个数据输入集中确定至少一个相同数据字段为连接字段,对两个数据集按照设置的连接规则进行数据连接,并返回连接后的数据形成所述输出数据集,所述输出数据集的数据字段为所述两个输入数据集的数据字段去重后的并集。
[0106]
在本实施例中,所述连接规则包括内连接、左连接和右连接;所述内连接即为以确定的连接字段对表4-1和表5中的数据求交集,并将表4-1和表5中连接字段的值相等的所有数据提取出来并进行整理,由此得到执行内连接后的数据;所述左连接即为保留表4-1所有字段及数据,将表4-1和表5中连接字段的值相等的数据提取出来连接至表4-1中,得到执行左连接后的数据;所述右连接即为保留表5中所有字段及数据,将表4-1和表5中连接字段的值相等的数据提取出来连接至表5中,得到执行右连接后的数据。
[0107]
所述操作节点4执行数据连接操作的描述如下:
[0108]
selecta.x0,a.x1,...,a.xm,b.y0,b.y1,...,b.yn;//输出数据集的数据字段
[0109]
fromdataset_aasa,fromdataset_basb;//输入数据集a、b的数据来源
[0110]
ona.xi=b.yj;//连接字段
[0111]
在本实施例中,确定数据字段“学员编号”作为连接字段,设置连接规则为左连接,
[0112]
select表4-1.学员编号,表4-1.姓名,表5.总分;
[0113]
from表4-1,表5;
[0114]
on表4-1.学员编号=表5.学员编号;
[0115]
得到所述操作节点4执行数据连接后的输出数据集如表6所示:
[0116]
学员编号姓名总分2021001赵某1702021003孙某1452021005周某1702021007郑某170
[0117]
表6
[0118]
s103:最后一级所述操作节点的输出数据集继续流转,于所述输出节点的首端形成所述输出节点的输入数据集,设置输出字段后经所述输出节点输出。即操作节点4的输出数据集(表6)继续向后流转,作为输出节点的输入数据集流入输出节点中,设置输出字段后经所述输出节点输出。
[0119]
s2:基于数据工厂的数据计算配置数据计算日志。
[0120]
响应于所述数据工厂的数据计算,于数据流转节点的末端生成对应的数据计算日志。
[0121]
具体的,请返回参考图2,在所述数据工厂执行数据计算时,分别在输入节点1、输入节点2、操作节点1、操作节点2、操作节点3和操作节点4的末端分别生成对应的数据计算日志1-6,并依次将对应的输出数据集(表1-6)分别写入该数据计算日志中,同时,将每一对应执行的数据计算的处理规则(即描述信息)写入对应的数据计算日志中,其中,所述输入节点的处理规则为设置输入字段,所述操作节点的处理规则为对应节点的计算规则,所述输出节点的处理规则为设置输出字段。对于输出节点,由于其后输出的数据直接由用户所
使用,因此,在本实施例中,对于输出节点可不配置数据计算日志。
[0122]
s3:设置溯源范围,生成对应的溯源信息对数据进行逐级逆向溯源。
[0123]
设置溯源范围并配置各数据流转节点的溯源信息,结合所述溯源信息和数据计算日志对输出数据集中的数据进行逆向逐级溯源得到原始输入数据记录。
[0124]
如图4所示,所述步骤s3具体包括以下步骤:
[0125]
s301:设置数据溯源范围,确定数据溯源的起始节点和结束节点。如将本实施例的输出节点设置为起始节点,输入节点1和输入节点2作为结束节点分别进行溯源。当然,在其他的实施例中,也可将数据工厂的任意一个节点设置为起始节点和结束节点进行溯源,在此不作限制。
[0126]
s302:以所述起始节点为当前节点,并确定当前节点的节点类型,根据当前节点的输出数据集及对应的处理规则配置该节点的溯源信息;在本实施例中,所述节点类型为输入节点、操作节点或输出节点,其中所述操作节点又包括执行数据连接、抽取转换、筛选过滤或分组聚合的操作节点。
[0127]
具体的,当所述当前节点为输入节点或输出节点时,在输出数据集中获取至少一个数据字段形成所述溯源信息。当所述当前节点为操作节点时,获取所述操作节点的计算规则,基于所述计算规则配置对应节点的溯源规则形成所述溯源信息。同样,请参考图2,分别以操作节点1-4对所述操作节点的溯源信息的配置进行说明。
[0128]
对于操作节点1,在所述操作节点1的输出数据集(表3)中获取各数据字段,根据溯源精度的要求,确定至少一个数据字段形成所述溯源信息,其中溯源信息中包含的数据字段越多,溯源结果更准确,且对于数据字段中存在唯一标识的数据字段时(如身份证号),也可只将该一个数据字段设置为溯源信息也可准确对该数据的原始输入数据记录进行溯源。
[0129]
对于操作节点2,在所述操作节点2的输出数据集(表4-1或表4-2)中获取各数据字段,由于新增字段由于在原始输入数据集中不存在,在溯源时需对该新增字段进行逆运算后进行溯源;然后在数据字段中确定至少一个数据字段形成所述溯源信息。
[0130]
对于操作节点3,在所述操作节点3的输出数据集(表5)中获取各数据字段,删除聚合字段,由于所述聚合字段对应的数据(如求和、求平均值等)计算不可逆,因此可用于数据溯源;然后在余下的数据字段中确定至少一个数据字段形成所述溯源信息。
[0131]
对于操作节点4,在所述操作节点4的输出数据集(表6)中首先获取所述连接字段,并从对应数据计算日志的描述信息中,确定表6的两个原始输入数据集(表4-1和表5)各自的自有字段,确定所述连接字段或至少一个自有字段形成各自的溯源信息。
[0132]
s303:在输出数据集中确定需溯源的输出数据记录,利用所述溯源信息在对应的数据计算日志的输入数据集中匹配与所述输出数据记录相对应的输入数据记录。
[0133]
对于操作节点1(即筛选过滤)的数据溯源方法为:
[0134]
若对于表3中“学员编号”=2021005、“姓名”=周某、“班级”=一年级1班、“联系人姓名”=周父以及“出生年月”=2015.09的输出数据记录进行溯源,其溯源方法可描述为:
[0135]
select表1.学员编号,表1.姓名,表1.班级,表1.联系人姓名,表1.出生年月;
[0136]
from表1;
[0137]
where表1.学员编号=2021005;
[0138]
and表1.姓名=周某;
[0139]
and表1.班级=一年级1班;
[0140]
and表1.联系人姓名=周父;
[0141]
and表1.出生年月=2015.09;
[0142]
利用上述数据字段及其对应的输出数据记录,在数据计算日志1中的表1中匹配对应的输入数据记录,完成表3中该条输出数据记录的溯源。
[0143]
对于操作节点2(即抽取转换)的数据溯源方法为(以表4-2为例):
[0144]
对于表4-2中的新增字段“年龄”,根据其转换规则,“年龄”=2021-出生年份,因此在溯源时,需以“2021-出生年份”为数据字段进行溯源,即对表4-2中“学员编号”=2021005、“姓名”=周某、“班级”=一年级1班、“联系人姓名”=周父、“出生年月”=2015.09以及年龄=6的输出数据记录进行溯源的溯源方法可描述为:
[0145]
select表3.学员编号,表3.姓名,表3.班级,表3.联系人姓名,表3.出生年月;
[0146]
from表3;
[0147]
where表3.学员编号=2021005;
[0148]
and表3.姓名=周某;
[0149]
and表3.班级=一年级1班;
[0150]
and表3.联系人姓名=周父;
[0151]
and表3.出生年月=2015.09;
[0152]
and表3.2021-出生年份=6;
[0153]
利用上述数据字段及其对应的输出数据记录,在数据计算日志3中的表3中匹配对应的输入数据记录,完成表4-2中该条输出数据记录的溯源。
[0154]
对于操作节点3(即分组聚合)的数据溯源方法为:
[0155]
对于表3中的聚合字段“总分”,由于其为求和得到,根据其聚合规则,计算具有不可逆性,在确定数据字段时,应删除该字段。因此,选择表5中的“学员编号”=2021001进行溯源时,其溯源方法可描述为:
[0156]
select表2.学员编号,表2.科目,表2.成绩;
[0157]
from表2;
[0158]
where表2.学员编号=2021001;
[0159]
利用上述数据字段及其对应的输出数据记录,在数据计算日志2中的表2中匹配对应的输入数据记录,完成表5中该条输出数据记录的溯源,此时溯源的结果存在两条输入数据记录,即
“‘
学员编号’=2021001,

科目’=语文,

成绩’=80;

学员编号’=2021001,

科目’=数学,

成绩’=90”。
[0160]
对于操作节点4(即数据连接)的溯源方法为,对于表6中的字段“总分”为其上以操作节点求和得到,根据其聚合规则,计算具有不可逆性,在确定数据字段时,需避免将该字段用于溯源。即对表6中的连接字段“学员编号”=2021001进行溯源时,其溯源方法可描述为:
[0161]
在表4-1上的溯源:
[0162]
select表4-1.学员编号,表4-1.姓名;
[0163]
from表4-1;
[0164]
where表4-1.学员编号=2021001;
[0165]
在表5上的溯源:
[0166]
select表5.学员编号,表5.总分;
[0167]
from表5;
[0168]
where表5.学员编号=2021001;
[0169]
利用上述数据字段及其对应的输出数据记录,在数据计算日志4的表4-1和数据日志5的表5中匹配对应的输入数据记录,完成表4-2中该条输出数据记录的溯源。
[0170]
s304:判断所述输出数据记录与输入数据记录是否匹配成功,若匹配成功,则说明在该当前节点的输入数据集存在与其选择的输出数据记录相对应的输入数据记录,然后跳转执行步骤s305,否则跳转执行步骤s306。
[0171]
s305:提取匹配成功的输入数据记录,并判断当前节点是否为结束节点,若是,则结束溯源,否则以当前节点为一新的起始节点返回执行步骤s302,继续向前进行溯源。
[0172]
s306:对匹配失败的输出数据记录进行报错,并判断是否存在用户自定义的溯源限制规则,若存在,则根据所述溯源限制规则修改溯源信息后返回执行步骤s304。
[0173]
在本实施例中,所述溯源限制规则包括不存在逆运算的溯源信息(如聚合计算得到汇总数和平均数等)、新增字段等等。
[0174]
s4:溯源可视化,展示原始输入数据以及数据演变过程。
[0175]
具体的,将步骤s305中提取的匹配成功的输入数据记录逐条进行展示,并于各级输入数据记录之间显示对应的计算规则,形成所述输入数据记录的逐级演变路径,以便用户能够直观看到数据在某一节点时的原始数据。
[0176]
本实施例的基于数据流的数据溯源方法,通过配置数据工厂以及在节点间配置对应的数据计算日志,并在数据工厂执行数据计算过程中,将输入数据集或输出数据集以及对应的处理规则写入对应的数据计算日志中,可实现数据的顺向可追踪,逆向可溯源,以便用户直观了解数据处理的全过程。
[0177]
本发明的另一实施例还提供一种计算机存储介质,其上存储有计算机程序,通过所述计算机执行计算机程序时,可执行上述实施例1的基于数据流的数据溯源方法的部分或全部操作,从而实现上述实施例的功能
[0178]
以上所述的仅是本发明的实施例,方案中公知的具体结构及特性等常识在此未作过多描述。应当指出,对于本领域的技术人员来说,在不脱离本发明结构的前提下,还可以作出若干变形和改进,这些也应该视为本发明的保护范围,这些都不会影响本发明实施的效果和本发明的实用性。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1