1.本发明属于数据库技术领域,具体涉及一种数据溯源的方法和系统。
背景技术:2.随着计算机移动互联网以及信息存储能力的飞速发展,各种信息呈爆炸式指数级的增长。伴随着云计算与大数据时代的来临,人们也开始慢慢意识到数据的重要性,但是由于数据的庞大繁杂,必然会带来各种数据相关的问题,比如数据缺失,数据不一致以及数据的可靠性等。当人们在获得一些数据时,就会常常考虑到这些数据是否真实可靠,否则可能会给我们带来错误的决策。这些数据信息通常可以分为两类,一类是最原始的录入数据,另一类是由这些数据派生出的数据。但是平常暴露给用户更多的是派生的数据,也就是经过各种处理过的数据,这些数据往往经过各种复杂的转换或者编辑等方式存储下来。由于其转换过程我们是无法得知的,所以人们往往对这种结果数据抱有怀疑的态度。事实上,有时候结果数据会与原始数据没有任何关系,这样我们就必须去关心这些结果数据的产生过程以及他们的来源。
3.溯源技术已经在很多领域得到广泛的应用,例如考古学、物理学、天文学、档案等。近些年,数据溯源在计算机领域也有所发展,主要存在于数据库、科学实验、工作流等研究方向中,但是在大数据领域研究相对较少,随着大数据平台在企业越来越广泛的应用,各种数据将通过一系列大数据模型处理并得到结果,决策者使用该结果数据进行分析并做出决策,如果结果数据不准确或者来源不可靠,将会导致决策错误,甚至会给企业带来不可估量的损失,因此,在大数据平台下的数据溯源显得越来越重要。用户往往需要结合数据的来源以及处理过程等历史信息来决定该数据是否可靠,而数据溯源就可以描述数据的起源和处理过程,并且能够为用户提供审计机制、定位错误以及调试处理过程等。
4.目前已有的数据溯源方法包括基于字符串匹配或者数据分析匹配的方法对显示的内容与数据库全部内容进行匹配分析,由于一个数据表中的数据可能会有重复、不同表中的数据可能比较相似,每条数据可能包含多个部分,所以在内容匹配分析后会有一些概率模型分析两个数据匹配的概率,进而分析得到数据的来源信息。但是,由于数据存在相同的可能,并且很多数据来源的结果可能比较相似,同时很多数据在显示之前会有一些额外的处理,结果中的数据与原始数据会差距较大,造成数据匹配的方法经常会有错误与遗漏,数据溯源的记过不是非常准确,因此,如何提高数据溯源的准确性是本领域技术人员亟待解决的技术问题。
技术实现要素:5.为克服上述现有技术的不足,本发明提供了一种数据溯源的方法,包括:
6.获取产生数据的功能点对应的功能点清单、功能点操作后的显示文本、功能点操作涉及的数据表调用记录以及所有数据表清单和数据表;
7.基于所述的功能点清单、功能点操作后的显示文本、功能点操作涉及的数据表调
用记录以及所有数据表清单和数据表,采用多种匹配方法得到每个匹配方法下各数据表与所述功能点的关联系数;
8.基于所述每个匹配方法下各数据表与所述功能点的关联系数,确定与所述功能点关联的数据表。
9.优选的,匹配方法包括:语义理解匹配、数据分析匹配和查询追踪匹配方法。
10.优选的,采用语义理解匹配方法得到所述语义理解匹配方法下各数据表与所述功能点的关联系数,包括:
11.基于所述的功能点确定所述功能点对应的功能点清单;
12.基于各数据表分别确定每个数据表对应的数据表清单;
13.基于自然语言处理方法分别对所述功能点清单和每个数据表清单中的文本进行语义的理解注释;
14.基于理解注释后的功能点清单和每个数据表清单,依次构建所述功能点清单对应的向量和每个数据表清单对应的向量;
15.依次计算每个数据表清单对应向量与所述功能点清单对应的向量的余弦相似度;
16.将所述余弦相似度作为语义理解匹配方法下每个数据表与所述功能点的关联系数。
17.优选的,采用数据分析匹配方法得到数据分析匹配方法下各数据表与所述功能点的关联系数,包括:
18.基于所述功能点确定所述功能点操作后的显示文本;
19.基于各数据表分别确定每个数据表中内容;
20.基于所述功能点操作后的显示文本和每个数据表中内容,依次构建所述功能点的操作后显示文本对应的向量和每个数据表中内容对应的向量;
21.依次计算每个数据表中内容对应的向量与所述功能点操作后显示文本对应的向量的余弦相似度;
22.将所述余弦相似度作为数据分析匹配方法下各数据表与所述功能点的关联系数。
23.优选的,采用查询追踪匹配方法得到查询追踪匹配方法下各数据表与所述功能点的关联系数,包括:
24.获取所述功能点的操作涉及的数据表调用记录;
25.基于所述功能点操作涉及的数据表调用记录,确定与所述功能点关联的数据表和未关联的数据表;
26.分别对所述功能点关联的数据表和未关联的数据表赋予预设值,作为查询追踪匹配方法下各数据表与所述功能点的关联系数。
27.优选的,基于每个方法下各数据表与所述功能点的关联系数,确定与所述功能点关联的数据表,包括:
28.基于语义理解匹配、数据分析匹配和查询追踪匹配方法下得到的各数据表与所述功能点的关联系数以及预先设定的每个方法对应的关联系数权重,计算各个数据表与所述功能点的综合关联值;
29.将所述各个数据表与所述功能点的综合关联值降序排列,与所述功能点的综合关联值排序靠前的设定个数据表作为与所述功能点关联的数据表。
30.优选的,确定与所述功能点关联的数据表之后还包括对与功能点关联的数据表进行复核,得到最终与所述功能点关联的数据表。
31.基于同一构思,本发明还提供了一种数据溯源的系统,包括:
32.数据采集模块,用于获取产生数据的功能点对应的功能点清单、功能点操作后的显示文本、功能点操作涉及的数据表调用记录以及所有数据表清单和数据表;
33.关联系数计算模块,用于基于所述的功能点清单、功能点操作后的显示文本、功能点操作涉及的数据表调用记录以及所有数据表清单和数据表,采用多种匹配方法得到每个匹配方法下各数据表与所述功能点的关联系数;
34.结果输出模块,用于基于所述每个匹配方法下各数据表与所述功能点的关联系数,确定与所述功能点关联的数据表。
35.优选的,匹配方法包括:语义理解匹配、数据分析匹配和查询追踪匹配方法。
36.优选的,结果输出模块,包括:
37.综合关联值计算单元,用于基于语义理解匹配、数据分析匹配和查询追踪匹配方法下得到的各数据表与所述功能点的关联系数以及预先设定的每个方法对应的关联系数权重,计算各个数据表与所述功能点的综合关联值;
38.筛选单元,用于将所述各个数据表与所述功能点的综合关联值降序排列,与所述功能点的综合关联值排序靠前的设定个数据表作为与所述功能点关联的数据表。
39.与最接近的现有技术相比,本发明具有的有益效果如下:
40.本发明提供了一种数据溯源的方法和系统,包括:获取产生数据的功能点对应的功能点清单、功能点操作后的显示文本、功能点操作涉及的数据表调用记录以及所有数据表清单和数据表;基于所述的功能点清单、功能点操作后的显示文本、功能点操作涉及的数据表调用记录以及所有数据表清单和数据表,采用多种匹配方法得到每个匹配方法下各数据表与所述功能点的关联系数;基于所述每个匹配方法下各数据表与所述功能点的关联系数,确定与所述功能点关联的数据表,本发明兼顾了功能点与各数据表在多个维度的数据匹配关系,可以准确度找到功能点和对应的数据表之间的关联关系,实现系统前端业务功能与后台数据库表的自动关联,提升数据资产管理效率、减少人工工作量、助力软件应用开发能力、简化后期维护代价。
附图说明
41.图1为本发明提供的一种数据溯源的方法示意图;
42.图2为本发明提供的一种数据溯源的系统示意图;
43.图3为本发明实施例中提供的数据溯源流程图;
44.图4为本发明实施例中提供的数据溯源的程序框架图。
具体实施方式
45.下面结合附图对本发明的具体实施方式做进一步的详细说明。
46.实施例1:
47.本发明实施例提供的一种数据溯源的方法如图1所示,包括:
48.s1获取产生数据的功能点对应的功能点清单、功能点操作后的显示文本、功能点
操作涉及的数据表调用记录以及所有数据表清单和数据表;
49.s2基于所述的功能点清单、功能点操作后的显示文本、功能点操作涉及的数据表调用记录以及所有数据表清单和数据表,采用多种匹配方法得到每个匹配方法下各数据表与所述功能点的关联系数;
50.s3基于所述每个匹配方法下各数据表与所述功能点的关联系数,确定与所述功能点关联的数据表。
51.具体的,数据溯源流程图如图3所示,包括输入、运算处理和输出三个部分;
52.输入部分,由用户进行数据的导入,可以用手动输入、导入excel表等形式进行功能点清单、数据表清单等数据的导入,导入后会存储在服务端数据库中进行统一管理,数据库的数据在存储后进行利用时,可以通过底层调用路径进行判断、查找,也可以通过数据本身的相似度进行判断与查找,在有其他信息(管理者提供的数据库表信息、各功能的说明内容等)的情况下也可以用这种信息进行辅助判断。
53.运算处理部分,利用获取的功能点清单、功能点操作后的显示文本、功能点操作涉及的数据表调用记录以及所有数据表清单和数据表,采用多种匹配方法得到每个匹配方法下各数据表与功能点的关联系数,具体包括三个同时运行的步骤:
54.s2-1语义理解匹配,对功能点清单和数据表清单的内容采用自然语言处理工具进行语义的理解和注释,并利于理解注释后的功能点清单和数据表清单进行文本相似度度量,得到各数据表与功能点的关联系数;
55.文本相似度度量是指将文本看成一组词的集合体,分析每个词在文本中出现的次数以及在整个文本集合中出现次数,进而利用这些词频信息将文本建模为一个向量,并利用向量间的余弦距离、神经网络方法进行语句嵌入等方式计算文本之间的相似度。文本相似度度量被广泛应用于许多领域,例如:信息检索领域、文本分类、文本摘要的自动生成、文本的查重检测。现有的tf-idf方法(term frequency-inverse document frequency,词频-逆文件频率)主要将文本建模为词频向量,再使用余弦相似度来计算两个文本间的相似度,本实施例中具体步骤如下:
56.s2-1-1基于功能点确定功能点对应的功能点清单;
57.s2-1-2基于各数据表分别确定每个数据表对应的数据表清单;
58.s2-1-3基于自然语言处理方法分别对功能点清单和每个数据表清单中的文本进行语义的理解注释;
59.s2-1-4基于理解注释后的功能点清单和每个数据表清单,依次构建功能点清单对应的向量和每个数据表清单对应的向量;
60.s2-1-5依次计算每个数据表清单对应向量与功能点清单对应的向量的余弦相似度;
61.s2-1-6将余弦相似度作为语义理解匹配方法下每个数据表与功能点的关联系数。
62.s2-2数据分析匹配,对功能点操作后的显示文本与各个数据表具体内容进行比较,基于向量空间匹配的算法进行数据相关程度的挖掘,得到各数据表与功能点的关联系数,具体步骤如下:
63.s2-2-1基于功能点确定功能点操作后的显示文本;
64.s2-2-2基于各数据表分别确定每个数据表中内容;
65.s2-2-3基于功能点操作后的显示文本和每个数据表中内容,依次构建功能点的操作后显示文本对应的向量和每个数据表中内容对应的向量;
66.s2-2-4依次计算每个数据表中内容对应的向量与功能点操作后显示文本对应的向量的余弦相似度;
67.s2-2-5将余弦相似度作为数据分析匹配方法下各数据表与功能点的关联系数。
68.s2-3查询追踪匹配,将用户每个功能点的操作行为与具体数据表的调用记录进行匹配,找到在每个功能点调用过程中用到的数据表,进而得到各数据表与所述功能点的关联系数,具体步骤如下:
69.s2-3-1获取功能点的操作涉及的数据表调用记录;
70.s2-3-2基于功能点操作涉及的数据表调用记录,确定与功能点关联的数据表和未关联的数据表;
71.s2-3-3将与功能点关联的数据表与功能点关联系数设置为1,未与功能点关联的数据表与功能点的关联系数设置为0,作为各数据表与功能点的关联系数。
72.输出部分,对三种匹配分析方法下计算出的各数据表与功能点的关联系数进行对应的加权平均计算,得到各数据表与功能点的综合关联系数并进行降序排列,将与功能点的综合关联值排序靠前的n个数据表作为与功能点关联的数据表,并且经过人工复核得到最终的匹配结果,结果保存在系统中,可以方便地导出。
73.实现上述数据溯源的程序架构如图4所示,包括:前端i/o层、运算处理层和数据管理层;
74.前端i/o层为用户交互界面,包括:界面ui组件、消息处理模块、异常处理模块和前后端接口;
75.各种ui组件用于通过接受用户的点击、键盘输入等各种输入方式获取信息;
76.消息处理模块、异常处理模块用于对各种ui组件获取的信息进行正常信息和异常信息的处理;
77.前后端接口用于将处理后的信息与运算处理层和数据管理层进行交互。
78.运算处理层,包括语义理解模块、数据挖掘模块、查询追踪模块、云服务模块、会话控制模块和数据交互接口;
79.语义理解模块中的命名实体识别部分可以用来进行每个词含义的分析,单词嵌入部分将每个词分别转换为对应的向量,进而在语义度量组件中进行相似度的计算;
80.数据挖掘模块用目标信息收集组件将每个功能点用户操作之后得到的结果独取出来,用资源信息收集组件将各个数据表的具体内容收集,进而在数据挖掘组件中用基于向量空间匹配的算法进行数据相关程度的挖掘,从而得到匹配的程度;
81.查询追踪模块用动作追踪模块捕获用户的输入与点击操作,调用追踪模块获取具体数据表的调用记录,在追踪信息挖掘组件中进行匹配,进而得到数据表的对应关系;
82.云服务模块、会话服务模块、数据交互接口是为了使得运算处理层能够存储信息、与外界交互、获取对应的数据内容。
83.数据管理层包括:数据存储模块、数据更新模块、备份与保障模块和数据交互接口;
84.数据管理层用于存储数据,数据存储模块用来进行数据的保存,数据更新模块用
来进行数据的维护与更新,备份与保障模块用来进行数据的导入、导出与定期备份,数据交互接口用来与运算处理层进行交互。
85.基于三匹配方法进行数据溯源,兼顾了数据本身与数据库数据的相似性、数据库调用记录、人为知识等内容进行数据匹配分析,可以准确的找到功能点和对应的数据表之间的关联关系,即使数据表的内容没有直接显示在用户窗口中也可以找到对应关联,实现自动化生成系统前端业务功能与后台数据库表的关联关系推荐,提高了人工盘点工作的自动化、智能化程度,能够有效提升盘点效率、优化盘点效果、减少人工工作量。
86.实施例2:
87.本发明实施例公开了一种数据溯源的系统,如图2所示,包括:
88.数据采集模块,用于获取产生数据的功能点对应的功能点清单、功能点操作后的显示文本、功能点操作涉及的数据表调用记录以及所有数据表清单和数据表;
89.关联系数计算模块,用于基于所述的功能点清单、功能点操作后的显示文本、功能点操作涉及的数据表调用记录以及所有数据表清单和数据表,采用多种匹配方法得到每个匹配方法下各数据表与所述功能点的关联系数;
90.结果输出模块,用于基于所述每个匹配方法下各数据表与所述功能点的关联系数,确定与所述功能点关联的数据表。
91.其中,匹配方法包括:语义理解匹配、数据分析匹配和查询追踪匹配方法。
92.进一步的,关联系数计算模块,包括:语义理解匹配计算单元、数据分析匹配计算单元和查询追踪匹配计算单元;
93.语义理解匹配计算单元,用于采用语义理解匹配方法得到所述语义理解匹配方法下各数据表与所述功能点的关联系数;
94.数据分析匹配计算单元,用于采用数据分析匹配方法得到数据分析匹配方法下各数据表与所述功能点的关联系数;
95.查询追踪匹配计算单元,用于采用查询追踪匹配方法得到查询追踪匹配方法下各数据表与所述功能点的关联系数。
96.进一步的,语义理解匹配计算单元,包括:
97.功能点清单确定子单元,用于基于所述的功能点确定所述功能点对应的功能点清单;
98.数据表清单确定子单元,用于基于各数据表分别确定每个数据表对应的数据表清单;
99.自然语言处理子单元,用于基于自然语言处理方法分别对所述功能点清单和每个数据表清单中的文本进行语义的理解注释;
100.向量构建子单元1,用于基于理解注释后的功能点清单和每个数据表清单,依次构建所述功能点清单对应的向量和每个数据表清单对应的向量;
101.余弦相似度计算子单元1,用于依次计算每个数据表清单对应向量与所述功能点清单对应的向量的余弦相似度;
102.关联系数计算子单元1,用于将所述余弦相似度作为语义理解匹配方法下每个数据表与所述功能点的关联系数。
103.进一步的,数据分析匹配计算单元,包括:
104.功能点显示文本确定子单元,用于基于所述功能点确定所述功能点操作后的显示文本;
105.数据表内容确定子单元,用于基于各数据表分别确定每个数据表中内容;
106.向量构建子单元2,用于基于所述功能点操作后的显示文本和每个数据表中内容,依次构建所述功能点的操作后显示文本对应的向量和每个数据表中内容对应的向量;
107.余弦相似度计算子单元2,用于依次计算每个数据表中内容对应的向量与所述功能点操作后显示文本对应的向量的余弦相似度;
108.关联系数计算子单元2,用于将所述余弦相似度作为数据分析匹配方法下各数据表与所述功能点的关联系数。
109.进一步的,查询追踪匹配计算单元,包括:
110.调用记录确定子单元,用于获取所述功能点的操作涉及的数据表调用记录;
111.调用结果确定子单元,用于基于所述功能点操作涉及的数据表调用记录,确定与所述功能点关联的数据表和未关联的数据表;
112.关联系数计算子单元3,用于分别对所述功能点关联的数据表和未关联的数据表赋予预设值,作为查询追踪匹配方法下各数据表与所述功能点的关联系数。
113.进一步的,结果输出模块,包括:
114.综合关联值计算单元,用于基于语义理解匹配、数据分析匹配和查询追踪匹配方法下得到的各数据表与所述功能点的关联系数以及预先设定的每个方法对应的关联系数权重,计算各个数据表与所述功能点的综合关联值;
115.筛选单元,用于将所述各个数据表与所述功能点的综合关联值降序排列,与所述功能点的综合关联值排序靠前的设定个数据表作为与所述功能点关联的数据表。
116.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
117.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
118.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
119.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一
个方框或多个方框中指定的功能的步骤。
120.最后应当说明的是:以上实施例仅用于说明本技术的技术方案而非对其保护范围的限制,尽管参照上述实施例对本技术进行了详细的说明,所属领域的普通技术人员应当理解:本领域技术人员阅读本技术后依然可对申请的具体实施方式进行种种变更、修改或者等同替换,但这些变更、修改或者等同替换,均在申请待批的权利要求保护范围之内。