CN112711591B - 基于知识图谱的字段级的数据血缘确定方法及装置 - Google Patents

基于知识图谱的字段级的数据血缘确定方法及装置 Download PDF

Info

Publication number
CN112711591B
CN112711591B CN202011626496.5A CN202011626496A CN112711591B CN 112711591 B CN112711591 B CN 112711591B CN 202011626496 A CN202011626496 A CN 202011626496A CN 112711591 B CN112711591 B CN 112711591B
Authority
CN
China
Prior art keywords
data
score
field
pair
data table
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202011626496.5A
Other languages
English (en)
Other versions
CN112711591A (zh
Inventor
雷涛
乔旺龙
赵琳
曹晓磊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tianyun Rongchuang Data Science & Technology Beijing Co ltd
Original Assignee
Tianyun Rongchuang Data Science & Technology Beijing Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tianyun Rongchuang Data Science & Technology Beijing Co ltd filed Critical Tianyun Rongchuang Data Science & Technology Beijing Co ltd
Priority to CN202011626496.5A priority Critical patent/CN112711591B/zh
Publication of CN112711591A publication Critical patent/CN112711591A/zh
Application granted granted Critical
Publication of CN112711591B publication Critical patent/CN112711591B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/36Creation of semantic tools, e.g. ontology or thesauri
    • G06F16/367Ontology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Computation (AREA)
  • Evolutionary Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Animal Behavior & Ethology (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本公开涉及基于知识图谱的字段级的数据血缘确定方法及装置,包括:获取第一数据表对中两个数据表各自的表名和表结构信息;第一数据表对包括数据库中的任意两个数据表;计算第一数据表对中两个数据表的表名之间的第一表名相似度,以及计算表结构信息中字段之间的相似度,得到第一字段相似度矩阵;根据第一表名相似度、第一字段相似度矩阵和预先获取的目标权值,确定第一数据表对中两个数据表之间是否具有血缘关系;获取多个具有血缘关系的第一数据表对作为目标数据表对;根据知识图谱和目标数据表对中数据表之间的血缘关系,生成字段级的数据关系图谱。本公开能够降低确定数据表的血缘关系的难度,提升血缘关系的确定准确性。

Description

基于知识图谱的字段级的数据血缘确定方法及装置
技术领域
本公开涉及数据处理技术领域,尤其涉及一种基于知识图谱的字段级的数据血缘确定方法及装置。
背景技术
数据血缘(Data Lineage)是指数据产生的链路,它用于描述一张表依赖哪些其他表,以及表内字段的生成是如何依赖其他表的字段的。通过数据血缘可以清楚地知道数据生产的上下游依赖关系。当企业的业务种类繁多、业务体量很大的时候,支撑业务的整个数据库系统会涉及成百上千张表,表与表之间会形成非常复杂的依赖关系。
如果业务变更比较频繁、开发周期短、人员流动高,随着时间流逝,表结构和表依赖关系可能会频繁发生变化,最终导致表与表之间关联关系变得复杂且难以追溯。常见的依赖关系都是数据表和生产任务之间的依赖,对于生产任务具体用到了上游数据表中的哪些字段只有在编码逻辑中才能体现,例如,数据库A或者A部门将更新的数据文件保存到指定目录,通过FTP(File Transfer Protocol,文件传输协议)或其他同步方式发送给数据库B,数据库B调用代码对数据文件进行解析,经过对若干字段的一系列计算,将最终计算的结果插入数据库B中,用于更新已经存在的字段或保存为新字段,具体计算过程是无法暴露给数据使用方的。拥有数据的企业请外部软件服务提供商执行数据治理任务时,往往只向外部合作方提供表头、数据字典等信息,外部合作方难以获得表格产生、变迁历史的中间过程记录,而数据库审计日志也难以体现全部中间处理流程。
执行数据治理任务时首先需要理清依赖关系,以便清楚一个上游数据的变化会影响到哪些下游数据。如何不依赖中间处理过程记录甚至审计日志,就能获得准确的数据血缘关系,成为一个亟待解决的难题。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本公开提供了一种基于知识图谱的字段级的数据血缘确定方法及装置。
本公开提供了一种基于知识图谱的字段级的数据血缘确定方法,包括:获取第一数据表对中两个数据表各自的表名和表结构信息;其中,所述第一数据表对包括数据库中的任意两个数据表;所述表结构信息包括多个字段;计算所述第一数据表对中两个数据表的表名之间的第一表名相似度;计算所述第一数据表对中两个数据表的表结构信息中字段之间的相似度,得到第一字段相似度矩阵;根据所述第一表名相似度、所述第一字段相似度矩阵和预先获取的目标权值,确定所述第一数据表对中两个数据表之间是否具有血缘关系;获取多个目标数据表对;所述目标数据表对用于表示:确定两个数据表之间具有血缘关系的所述第一数据表对;根据知识图谱和所述目标数据表对中数据表之间的血缘关系,生成字段级的数据关系图谱;其中,所述数据关系图谱包括:信息节点、数据流转线路和数据归档销毁规则节点。
进一步,所述第一数据表对包括:第一数据表和第二数据表;所述计算所述第一数据表对中两个数据表的表结构信息中字段之间的相似度,得到第一字段相似度矩阵,包括:根据所述第一数据表的表结构信息中任一字段的字段名、字段类型和字段长度,以及所述第二数据表的表结构信息中任一字段的字段名、字段类型和字段长度,逐一计算所述第一数据表任一字段与所述第二数据表任一字段的相似度,得到第一字段相似度矩阵。
进一步,所述根据所述第一表名相似度、所述第一字段相似度矩阵和预先获取的目标权值,确定所述第一数据表对中两个数据表之间是否具有血缘关系,包括:根据所述第一表名相似度、所述第一字段相似度矩阵和预先获取的目标权值,确定所述第一数据表对中两个数据表之间的第一血缘关系得分值;比较预先获取的目标得分阈值和所述第一血缘关系得分值;当所述第一血缘关系得分值高于所述目标得分阈值时,确定所述第一数据表对中两个数据表之间具有血缘关系。
进一步,所述方法还包括:获取数据库对应的SQL数据;针对所述数据库中任意两个数据表,均通过解析所述SQL数据确定当前两个数据表之间的血缘关系;根据血缘关系的解析结果,得到所述数据库中具有血缘关系的多个第二数据表对;计算所述第二数据表对中两个数据表的第二表名相似度、第二字段相似度矩阵;根据所述第二表名相似度、所述第二字段相似度矩阵和预设的初始权值,确定所述第二数据表对中两个数据表之间的第二血缘关系得分值;根据所述第二血缘关系得分值和预设的初始得分阈值,确定效果得分;其中,所述效果得分表示在当前的权值和得分阈值下,两个数据表之间具有血缘关系的真实程度;基于所述效果得分确定所述目标权值和目标得分阈值。
进一步,所述根据所述第二表名相似度、所述第二字段相似度矩阵和预设的初始权值,确定所述第二数据表对中两个数据表之间的第二血缘关系得分值,包括:
Figure BDA0002877599830000041
其中,
Figure BDA0002877599830000042
是第k个所述第二数据表对中两个数据表之间的第二血缘关系得分值,
Figure BDA0002877599830000043
是所述第二表名相似度,w是所述初始权值,
Figure BDA0002877599830000044
是所述第二字段相似度矩阵的极大值,L等于所述第二数据表对中两个数据表的较小的字段的数量。
进一步,所述根据所述第二血缘关系得分值和预设的初始得分阈值,确定效果得分,包括:
Figure BDA0002877599830000045
其中,Escore是所述效果得分,
Figure BDA0002877599830000046
是第k个所述第二数据表对中两个数据表之间的第二血缘关系得分值,Lthreshold是所述初始得分阈值,当
Figure BDA0002877599830000047
时,I(·)=1,当
Figure BDA0002877599830000048
时,I(·)=0。
进一步,所述方法还包括:针对所述数据关系图谱中的任一数据表,根据所述信息节点,获取当前数据表的数据流出节点数量;根据所述数据流转线路,获取所述当前数据表的数据更新量级和数据更新频率;根据所述数据归档销毁规则节点、所述数据流出节点数量、所述数据更新量级和所述数据更新频率,确定所述当前数据表的数据价值。
本公开还提供了一种基于知识图谱的字段级的数据血缘确定装置,包括:第一获取模块,用于获取第一数据表对中两个数据表各自的表名和表结构信息;其中,所述第一数据表对包括数据库中的任意两个数据表;所述表结构信息包括多个字段;表名相似度计算模块,用于计算所述第一数据表对中两个数据表的表名之间的第一表名相似度;字段相似度计算模块,用于计算所述第一数据表对中两个数据表的表结构信息中字段之间的相似度,得到第一字段相似度矩阵;血缘关系确定模块,用于根据所述第一表名相似度、所述第一字段相似度矩阵和预先获取的目标权值,确定所述第一数据表对中两个数据表之间是否具有血缘关系;第二获取模块,用于获取多个目标数据表对;所述目标数据表对用于表示:确定两个数据表之间具有血缘关系的所述第一数据表对;图谱生成模块,用于根据知识图谱和所述目标数据表对中数据表之间的血缘关系,生成字段级的数据关系图谱;其中,所述数据关系图谱包括:信息节点、数据流转线路和数据归档销毁规则节点。
本公开还提供了一种电子设备,所述电子设备包括:处理器和存储装置;所述存储装置上存储有计算机程序,所述计算机程序在被所述处理器运行时执行上述的方法。
本公开还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述方法的步骤。
本公开实施例提供的技术方案与现有技术相比具有如下优点:
本公开实施例提供了一种一种基于知识图谱的字段级的数据血缘确定方法及装置,首先获取第一数据表对中两个数据表各自的表名和表结构信息;然后计算第一数据表对中两个数据表之间的第一表名相似度、第一字段相似度矩阵,在此基础上结合预先获取的目标权值,确定第一数据表对中两个数据表之间是否具有血缘关系,并获取多个具有血缘关系的第一数据表对作为目标数据表对;最后根据知识图谱和目标数据表对中数据表之间的血缘关系,生成字段级的数据关系图谱。在本公开实施例中,针对数据库中的任意两个数据表,无需依赖中间处理过程记录和审计日志,而是基于表名相似度、字段相似度矩阵的计算,来确定两个数据表之间是否具有血缘关系;上述方式极大地降低了确定数据表的血缘关系的难度,提升了血缘关系的确定准确性,还进一步利用知识图谱和目标数据表生成数据关系图谱,能够有利于理清数据依赖关系,为数据治理任务奠定良好的基础。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本公开实施例所述基于知识图谱的字段级的数据血缘确定方法流程图;
图2为本公开实施例所述数据评估的方法流程图;
图3为本公开实施例所述基于知识图谱的字段级的数据血缘确定装置的结构框图;
图4为本公开实施例所述电子设备的结构示意图。
具体实施方式
为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
目前,在执行数据治理任务时,如何不依赖中间处理过程记录甚至审计日志,就能准确地确定数据血缘,是一个亟待解决的难题。数据血缘一般具有以下归属性、多源性、可追溯性和层次性这四个特点。具体而言,特定的数据归属特定的组织或者个人,表示数据具有归属性。同一个数据可以有多个来源,说明该数据具有多源性;例如:一个数据可以是多个数据经过加工而生成的,而且这种加工过程可以是多个。数据的血缘关系,体现了数据的生命周期,体现了数据从产生到消亡的整个过程,具备可追溯性。数据的血缘关系是有层次的;诸如分类、归纳、总结等针对数据的描述信息又形成了新的数据,不同程度的描述信息形成了数据的层次。
如果业务比较频繁、开发周期短、人员流动高,随着时间流逝,表与表之间关联关系会变得复杂且难以追溯。为了对关系复杂的数据表执行数据治理任务,通常需要依赖中间处理过程记录甚至审计日志,才能获得数据血缘关系。以采用ApacheAtlas的元数据血缘关系解析方案为例,该方案以SQL语句解析为核心,严重依赖业务数据库的执行SQL语句。如果没有开启审计日志或者SQL历史记录,则无法解析血缘关系。因此,现有确定数据血缘关系的方式需要理清依赖关系,处理过程复杂,数据血缘关系的确定难度较大。
基于此,本公开实施例提供一种基于知识图谱的字段级的数据血缘确定方法及装置,以降低确定数据表的血缘关系的难度。为便于理解,以下对本公开实施例进行详细介绍。
实施例一:
参照图1所示的基于知识图谱的字段级的数据血缘确定方法流程图,该方法包括如下步骤:
步骤S102,获取第一数据表对中两个数据表各自的表名和表结构信息。
其中,第一数据表对包括数据库中的任意两个数据表,可将该两个数据表称为第一数据表和第二数据表;第一数据表和第二数据表可以是相同或不同数据库中的数据表,且当第一数据表和第二数据表是不同数据库中的数据表时,上述不同数据库可以是相同或不同数据库系统中的数据库。由此可以理解,第一数据表对为多个。
数据表的表名可以是中文表名或英文表名,数据表的表结构信息包括多个字段,该字段是数据表全部字段或部分字段,表结构信息还包括上述字段的字段名、字段类型和字段长度等。
步骤S104,计算第一数据表对中两个数据表的表名之间的第一表名相似度。
在一种实现方式中,可以根据第一数据表的表名与第二数据表的表名之间的编辑距离(Damerau-Levenshtein),确定第一数据表对中两个数据表的第一表名相似度。
步骤S106,计算第一数据表对中两个数据表的表结构信息中字段之间的相似度,得到第一字段相似度矩阵。
在本实施例中,根据第一数据表的表结构信息中任一字段的字段名、字段类型和字段长度,以及第二数据表的表结构信息中任一字段的字段名、字段类型和字段长度,逐一计算第一数据表任一字段与第二数据表任一字段的相似度,进而得到第一字段相似度矩阵。
步骤S108,根据第一表名相似度、第一字段相似度矩阵和预先获取的目标权值,确定第一数据表对中两个数据表之间是否具有血缘关系。
在本实施例中,可以首先根据所述第一表名相似度、所述第一字段相似度矩阵和预先获取的目标权值,确定所述第一数据表对中两个数据表之间的第一血缘关系得分值。然后比较预先获取的目标得分阈值和所述第一血缘关系得分值;当所述第一血缘关系得分值高于所述目标得分阈值时,确定所述第一数据表对中两个数据表之间具有血缘关系;当第一血缘关系得分值不高于目标得分阈值时,确定第一数据表对中两个数据表之间不具有血缘关系。由于第一数据表对是由数据库中的任意两个数据表组成的,因而,可以将确定第一数据表对中两个数据表之间是否具有血缘关系,理解为确定数据库中任意两个数据表之间是否具有血缘关系。
其中,上述目标权值和目标得分阈值均可以是根据历史经验指定的值,也可以是基于优化算法(诸如贪心算法)确定的最优值。下文将对通过优化得到的目标权值、目标得分阈值,以及基于目标权值、目标得分阈值确定第一血缘关系得分值的过程展开描述。
步骤S110,获取多个目标数据表对;所述目标数据表对用于表示:确定两个数据表之间具有血缘关系的所述第一数据表对。也就是说,在多个第一数据表对中,将确定具有血缘关系的部分第一数据表对作为目标数据表对。
步骤S102,根据知识图谱和所述目标数据表对中数据表之间的血缘关系,生成字段级的数据关系图谱;其中,其中,数据关系图谱包括:信息节点、数据流转线路、清洗规则节点、转换规则节点和数据归档销毁规则节点。
本公开实施例提供的基于知识图谱的字段级的数据血缘确定方法,通过计算第一数据表对中两个数据表之间的第一表名相似度、第一字段相似度矩阵,并结合预先获取的目标权值,来确定第一数据表对中两个数据表之间是否具有血缘关系,并获取多个具有血缘关系的第一数据表对作为目标数据表对;最后根据知识图谱和目标数据表对中数据表之间的血缘关系,生成字段级的数据关系图谱。上述方式无需分析业务系统代码,也即无需依赖中间处理过程记录和审计日志,而是基于数据本身的角度,通过计算表名相似度、字段相似度矩阵、第一血缘关系得分值,来确定两个数据表之间是否具有血缘关系。上述方式极大地降低了确定数据表的血缘关系的难度,提升了血缘关系的确定准确性,还进一步利用知识图谱和目标数据表生成数据关系图谱,能够有利于理清数据依赖关系,为数据治理任务奠定良好的基础。
为便于理解本公开提供的基于知识图谱的字段级的数据血缘确定方法,本实施例提供一种基于优化算法获取目标权值和目标得分阈值的实现方式,参照如下步骤1至步骤7所示:
步骤1,获取数据库对应的SQL数据。
本实施例可以通过审计日志或其他方式,获取生成数据库的SQL数据,SQL数据中包括数据表的表名和表结构信息。
本实施例提供一种如下可能的示例:待确定血缘关系的两个数据表分别为第三数据表和第四数据表,且该两个数据表属于不同数据库,第三数据表属于数据库A,第四数据表属于数据库B。在此基础上,获取的SQL数据包括:生成和修改数据库A的全部SQL文件或SQL操作指令,以及生产和修改数据库B的全部SQL文件或SQL操作指令。
步骤2,针对数据库中的任意两个数据表,均通过解析SQL数据确定当前两个数据表之间的血缘关系。其中,当前两个数据表继续以上述的第三数据表和第四数据表作为示例。
在本实施例中,通过解析SQL数据,找到SQL文件或SQL操作指令集合中所有的选择(SELECT)、插入(INSERT)等操作指令,上述操作指令对应的操作可以表示血缘关系,如:INSERT INTO table_b(col_a,col_b,…)SELECT*FROM table_a,该操作指令表示table_a与table_b这两个数据表之间存在血缘关系。
步骤3,根据血缘关系的解析结果,得到数据库中具有血缘关系的多个第二数据表对。
根据SQL数据的解析结果,可以得到数据库中全部具有血缘关系的第二数据表对,比如为K个第二数据表对。第二数据表对中的两个数据表可能属于同一数据库或不同数据库。
步骤4,计算第二数据表对中两个数据表的第二表名相似度、第二字段相似度矩阵。
其中,第k个第二数据表对中两个数据表的第二表名相似度可以表示为
Figure BDA0002877599830000121
第k个第二数据表对中两个数据表的第二字段相似度矩阵S可以表示为如下公式(1)所示:
Figure BDA0002877599830000122
其中,Sij,1≤i≤M,1≤j≤N表示第三数据表中第i个字段与第四数据表中第j个字段之间的相似度,M和N分别是第三数据表和第四数据表各自的字段的数量。
步骤5,参照如下公式(2),根据第二表名相似度
Figure BDA0002877599830000123
第二字段相似度矩阵S和预设的初始权值,确定第二数据表对中两个数据表之间的第二血缘关系得分值:
Figure BDA0002877599830000131
其中,
Figure BDA0002877599830000132
是第k个第二数据表对中两个数据表之间的第二血缘关系得分值,w是第二表名相似度的初始权值,该初始权值为任意设置的权重,诸如为w=0.1,
Figure BDA0002877599830000133
是第二字段相似度矩阵S的极大值,L等于第二数据表对中两个数据表的较小的字段的数量,也即,L为M和N中的较小值。
步骤6,参照如下公式(3),根据第二血缘关系得分值和预设的初始得分阈值,确定效果得分。
Figure BDA0002877599830000134
其中,Escore是效果得分,表示在当前的权值和得分阈值下,两个数据表之间具有血缘关系的真实程度;在优化之初,当前的权值和得分阈值分别为初始权值和初始得分阈值。Lthreshold是初始得分阈值,该初始得分阈值为任意设置的得分阈值,诸如为Lthreshold=0.5。I(·)表示为:
Figure BDA0002877599830000135
也即,当
Figure BDA0002877599830000136
时,I(·)=1,当
Figure BDA0002877599830000137
时,I(·)=0。
步骤7,基于效果得分确定目标权值和目标得分阈值。
在本实施例中,通过求解如下公式(5)的最优解,得到使效果得分Escore达到最大值的权值和得分阈值,作为目标权值和目标得分阈值。
Figure BDA0002877599830000138
在实际应用中,为了兼顾优化准确性和优化效率,可以设置Lthreshold∈[0.5,1],w∈[0.1,1],且权值和得分阈值可以均以0.1为步长进行参数的优化搜索,在此情况下,通过计算6×10=60对参数下的效果得分Escore,选择使效果得分Escore达到最大值的目标权值w*和目标得分阈值
Figure BDA0002877599830000141
至此,上述步骤S108中,确定第一数据表对中两个数据表之间的第一血缘关系得分值
Figure BDA0002877599830000142
的公司可参照如下公式(6)所示。
Figure BDA0002877599830000143
然后,在上述步骤S110中,比较第一血缘关系得分值是否高于目标得分阈值:
Figure BDA0002877599830000144
如果高于,则确定第一数据表对中两个数据表之间具有血缘关系,否则,第一数据表对中两个数据表之间不具有血缘关系。
进一步的,在确定第一数据表对中两个数据表之间是否具有血缘关系之后,可以将具有血缘关系的第一数据表对作为目标数据表对,而后根据知识图谱技术和目标数据表对中数据表之间的血缘关系,生成字段级的数据关系图谱。数据关系图谱包括:信息节点、数据流转线路、清洗规则节点、转换规则节点和数据归档销毁规则节点,具体如下所示。
信息节点主要包括:主节点、数据流出节点和数据流入节点。对于某个数据表,表示该数据表的主节点只有一个,位于数据关系图谱的中间,数据关系图谱展示的血缘关系就是此节点的血缘关系。数据流入节点可以有多个,是主节点的父节点,表示数据来源,可位于数据关系图谱的左侧。数据流出节点也可以有多个,是主节点的子节点,表示数据的去向,可位于数据关系图谱的右侧。
数据流转线路表现的是数据表从数据流入节点出来,往主节点汇聚,又从主节点流出往数据流出节点扩散的流转路径。数据流转线路可以表现流转方向、数据更新量级、数据更新频次这三个维度的信息。
清洗规则节点用于表现数据流转过程中的筛选标准,例如不能是空值、要求符合某种格式等。
转换规则节点位于数据流转线路上,用于表现数据流转过程中发生的变化、变换等数据处理。
数据归档销毁规则节点用于表现待归档或者待销毁的不具备使用价值的数据。
根据以上数据关系图谱,可以准确地评估数据表的数据价值,数据价值是数据交易领域的重要指标。如图2所示,本实施例提供一种基于数据关系图谱的数据评估方式,针对数据关系图谱中的任一数据表,其数据价值评估包括如下步骤S202至步骤S206所示的几个方面:
步骤S202,根据信息节点,获取当前数据表的数据流出节点数量。数据流出节点的数量越多,表示对当前数据表的需求方越多,相应的,表示当前数据表的数据价值越大。
步骤S204,根据数据流转线路,获取当前数据表的数据更新量级和数据更新频率。数据更新量级越大,表示当前数据表的数据价值的越大;数据更新频率较高,表示数据表的活跃度较高,相应的,当前数据表的数据价值也较大。
步骤S206,根据数据归档销毁规则节点、数据流出节点数量、数据更新量级和数据更新频率,确定当前数据表的数据价值。其中,通过数据归档销毁规则节点可以确认数据表没有数据流出节点,如果该数据表没有接受方,就失去了使用价值,可以将该数据表对应的主节点销毁。
在本实施例中,利用可视化的数据关系图谱,表示数据表的血缘关系,提高了血缘分析的可视化操作程度,以及进一步的,利用数据关系图谱能够更加准确地评估数据资产价值。
综上,本公开实施例提供的基于知识图谱的字段级的数据血缘确定方法,基于数据表的数据本身这一角度,通过计算表名相似度、字段相似度矩阵、第一血缘关系得分值,来确定两个数据表之间是否具有血缘关系。后续利用具有血缘关系的数据表生成数据关系图谱,相当于通过计算的方式确定了数据关系图谱的路径,并采用数据关系图谱展示数据表之间的血缘关系,以及准确地评估数据价值。上述方式极大地降低了确定数据表的血缘关系的难度,提升了血缘关系的确定准确性,系统溯源、数据访问和获取更便捷,还进一步有利于理清数据依赖关系,为后续开展跨专业的大数据融合流动和智能应用提供底层数据支撑,为数据治理任务奠定良好的基础。
实施例二:
参照图3所示的一种基于知识图谱的字段级的数据血缘确定装置的结构框图,该装置包括:
第一获取模块302,用于获取第一数据表对中两个数据表各自的表名和表结构信息;其中,所述第一数据表对包括数据库中的任意两个数据表;所述表结构信息包括多个字段;
表名相似度计算模块304,用于计算所述第一数据表对中两个数据表的表名之间的第一表名相似度;
字段相似度计算模块306,用于计算所述第一数据表对中两个数据表的表结构信息中字段之间的相似度,得到第一字段相似度矩阵;
血缘关系确定模块310,用于根据所述第一表名相似度、所述第一字段相似度矩阵和预先获取的目标权值,确定所述第一数据表对中两个数据表之间是否具有血缘关系。
第二获取模块312,用于获取多个目标数据表对;所述目标数据表对用于表示:确定两个数据表之间具有血缘关系的所述第一数据表对;
图谱生成模块314,用于根据知识图谱和所述目标数据表对中数据表之间的血缘关系,生成字段级的数据关系图谱;其中,所述数据关系图谱包括:信息节点、数据流转线路和数据归档销毁规则节点。
在一种实施例中,第一数据表对包括:第一数据表和第二数据表;字段相似度计算模块306具体用于:根据第一数据表的表结构信息中任一字段的字段名、字段类型和字段长度,以及第二数据表的表结构信息中任一字段的字段名、字段类型和字段长度,逐一计算第一数据表任一字段与第二数据表任一字段的相似度,得到第一字段相似度矩阵。
在一种实施例中,上述血缘关系确定模块310具体用于:根据所述第一表名相似度、所述第一字段相似度矩阵和预先获取的目标权值,确定所述第一数据表对中两个数据表之间的第一血缘关系得分值;
比较预先获取的目标得分阈值和所述第一血缘关系得分值;
当所述第一血缘关系得分值高于所述目标得分阈值时,确定所述第一数据表对中两个数据表之间具有血缘关系。
在一种实施例中,上述装置还包括参数获取模块,其用于:获取两个数据库对应的SQL数据;针对任意两个属于不同数据库的数据表,均通过解析SQL数据确定当前两个数据表之间的血缘关系;根据血缘关系的解析结果,得到数据库中具有血缘关系的多个第二数据表对;计算第二数据表对中两个数据表的第二表名相似度、第二字段相似度矩阵;根据第二表名相似度、第二字段相似度矩阵和预设的初始权值,确定第二数据表对中两个数据表之间的第二血缘关系得分值;根据第二血缘关系得分值和预设的初始得分阈值,确定效果得分;其中,效果得分表示在当前的权值和得分阈值下,两个数据表之间具有血缘关系的真实程度;基于效果得分确定目标权值和目标得分阈值。
在一种实施例中,上述装置还包括数据评估模块,其用于:针对数据关系图谱中的任一数据表,根据信息节点,获取当前数据表的数据流出节点数量;根据数据流转线路,获取当前数据表的数据更新量级和数据更新频率;根据数据归档销毁规则节点、数据流出节点数量、数据更新量级和数据更新频率,确定当前数据表的数据价值。
本实施例所提供的装置,其实现原理及产生的技术效果和前述实施例一相同,为简要描述,本实施例部分未提及之处,可参考前述实施例一中相应内容。
基于前述实施例,本实施例还给出了一种电子设备,该电子设备包括:处理器;用于存储所述处理器可执行指令的存储器;所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现上述状态报告的发送方法。
图4为本公开实施例提供的一种电子设备的结构示意图。如图4所示,电子设备400包括一个或多个处理器401和存储装置402。
处理器401可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备400中的其他组件以执行期望的功能。
存储装置402可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器401可以运行所述程序指令,以实现上文所述的本公开的实施例的状态报告的发送方法以及/或者其他期望的功能。在所述计算机可读存储介质中还可以存储诸如输入信号、信号分量、噪声分量等各种内容。
在一个示例中,电子设备400还可以包括:输入装置403和输出装置404,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。
此外,该输入装置403还可以包括例如键盘、鼠标等等。
该输出装置404可以向外部输出各种信息,包括确定出的距离信息、方向信息等。该输出装置404可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。
当然,为了简化,图4中仅示出了该电子设备400中与本公开有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备400还可以包括任何其他适当的组件。
进一步,本实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述实施例一中方法的步骤。
本公开实施例所提供的一种基于知识图谱的字段级的数据血缘确定方法、装置、电子设备及介质的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (8)

1.一种基于知识图谱的字段级的数据血缘确定方法,其特征在于,包括:
获取第一数据表对中两个数据表各自的表名和表结构信息;其中,所述第一数据表对包括数据库中的任意两个数据表;所述表结构信息包括多个字段;
计算所述第一数据表对中两个数据表的表名之间的第一表名相似度;
计算所述第一数据表对中两个数据表的表结构信息中字段之间的相似度,得到第一字段相似度矩阵;
根据所述第一表名相似度、所述第一字段相似度矩阵和预先获取的目标权值,确定所述第一数据表对中两个数据表之间是否具有血缘关系;
获取多个目标数据表对;所述目标数据表对用于表示:确定两个数据表之间具有血缘关系的所述第一数据表对;
根据知识图谱和所述目标数据表对中数据表之间的血缘关系,生成字段级的数据关系图谱;其中,所述数据关系图谱包括:信息节点、数据流转线路和数据归档销毁规则节点;
所述方法还包括:
获取数据库对应的SQL数据;
针对所述数据库中任意两个数据表,均通过解析所述SQL数据确定当前两个数据表之间的血缘关系;
根据血缘关系的解析结果,得到所述数据库中具有血缘关系的多个第二数据表对;
计算所述第二数据表对中两个数据表的第二表名相似度、第二字段相似度矩阵;
根据所述第二表名相似度、所述第二字段相似度矩阵和预设的初始权值,确定所述第二数据表对中两个数据表之间的第二血缘关系得分值;
根据所述第二血缘关系得分值和预设的初始得分阈值,确定效果得分;其中,所述效果得分表示在当前的权值和得分阈值下,两个数据表之间具有血缘关系的真实程度;
基于所述效果得分确定所述目标权值和目标得分阈值,包括:通过求解如下公式的最优解,得到使效果得分达到最大值的权值和得分阈值,作为目标权值和目标得分阈值:
Figure FDA0003116653870000021
其中,Escore为效果得分,Lthreshold是初始得分阈值,w是初始权值;
所述方法还包括:
针对所述数据关系图谱中的任一数据表,根据所述信息节点,获取当前数据表的数据流出节点数量;
根据所述数据流转线路,获取所述当前数据表的数据更新量级和数据更新频率;
根据所述数据归档销毁规则节点、所述数据流出节点数量、所述数据更新量级和所述数据更新频率,确定所述当前数据表的数据价值。
2.根据权利要求1所述的方法,其特征在于,所述第一数据表对包括:第一数据表和第二数据表;所述计算所述第一数据表对中两个数据表的表结构信息中字段之间的相似度,得到第一字段相似度矩阵,包括:
根据所述第一数据表的表结构信息中任一字段的字段名、字段类型和字段长度,以及所述第二数据表的表结构信息中任一字段的字段名、字段类型和字段长度,逐一计算所述第一数据表任一字段与所述第二数据表任一字段的相似度,得到第一字段相似度矩阵。
3.根据权利要求1所述的方法,其特征在于,所述根据所述第一表名相似度、所述第一字段相似度矩阵和预先获取的目标权值,确定所述第一数据表对中两个数据表之间是否具有血缘关系,包括:
根据所述第一表名相似度、所述第一字段相似度矩阵和预先获取的目标权值,确定所述第一数据表对中两个数据表之间的第一血缘关系得分值;
比较预先获取的目标得分阈值和所述第一血缘关系得分值;
当所述第一血缘关系得分值高于所述目标得分阈值时,确定所述第一数据表对中两个数据表之间具有血缘关系。
4.根据权利要求1所述的方法,其特征在于,所述根据所述第二表名相似度、所述第二字段相似度矩阵和预设的初始权值,确定所述第二数据表对中两个数据表之间的第二血缘关系得分值,包括:
Figure FDA0003116653870000031
其中,
Figure FDA0003116653870000032
是第k个所述第二数据表对中两个数据表之间的第二血缘关系得分值,
Figure FDA0003116653870000041
是所述第二表名相似度,w是所述初始权值,
Figure FDA0003116653870000042
是所述第二字段相似度矩阵的极大值,L等于所述第二数据表对中两个数据表的较小的字段的数量。
5.根据权利要求1所述的方法,其特征在于,所述根据所述第二血缘关系得分值和预设的初始得分阈值,确定效果得分,包括:
Figure FDA0003116653870000043
其中,Escore是所述效果得分,
Figure FDA0003116653870000044
是第k个所述第二数据表对中两个数据表之间的第二血缘关系得分值,Lthreshold是所述初始得分阈值,当
Figure FDA0003116653870000045
时,I(·)=1,当
Figure FDA0003116653870000046
时,I(·)=0。
6.一种基于知识图谱的字段级的数据血缘确定装置,其特征在于,包括:
第一获取模块,用于获取第一数据表对中两个数据表各自的表名和表结构信息;其中,所述第一数据表对包括数据库中的任意两个数据表;所述表结构信息包括多个字段;
表名相似度计算模块,用于计算所述第一数据表对中两个数据表的表名之间的第一表名相似度;
字段相似度计算模块,用于计算所述第一数据表对中两个数据表的表结构信息中字段之间的相似度,得到第一字段相似度矩阵;
血缘关系确定模块,用于根据所述第一表名相似度、所述第一字段相似度矩阵和预先获取的目标权值,确定所述第一数据表对中两个数据表之间是否具有血缘关系;
第二获取模块,用于获取多个目标数据表对;所述目标数据表对用于表示:确定两个数据表之间具有血缘关系的所述第一数据表对;
图谱生成模块,用于根据知识图谱和所述目标数据表对中数据表之间的血缘关系,生成字段级的数据关系图谱;其中,所述数据关系图谱包括:信息节点、数据流转线路和数据归档销毁规则节点;
上述装置还包括参数获取模块,其用于:
获取数据库对应的SQL数据;
针对所述数据库中任意两个数据表,均通过解析所述SQL数据确定当前两个数据表之间的血缘关系;
根据血缘关系的解析结果,得到所述数据库中具有血缘关系的多个第二数据表对;
计算所述第二数据表对中两个数据表的第二表名相似度、第二字段相似度矩阵;
根据所述第二表名相似度、所述第二字段相似度矩阵和预设的初始权值,确定所述第二数据表对中两个数据表之间的第二血缘关系得分值;
根据所述第二血缘关系得分值和预设的初始得分阈值,确定效果得分;其中,所述效果得分表示在当前的权值和得分阈值下,两个数据表之间具有血缘关系的真实程度;
基于所述效果得分确定所述目标权值和目标得分阈值,包括:通过求解如下公式的最优解,得到使效果得分达到最大值的权值和得分阈值,作为目标权值和目标得分阈值:
Figure FDA0003116653870000051
其中,Escore为效果得分,Lthreshold是初始得分阈值,w是初始权值;
上述装置还包括数据评估模块,其用于:
针对所述数据关系图谱中的任一数据表,根据所述信息节点,获取当前数据表的数据流出节点数量;
根据所述数据流转线路,获取所述当前数据表的数据更新量级和数据更新频率;
根据所述数据归档销毁规则节点、所述数据流出节点数量、所述数据更新量级和所述数据更新频率,确定所述当前数据表的数据价值。
7.一种电子设备,其特征在于,所述电子设备包括:处理器和存储装置;
所述存储装置上存储有计算机程序,所述计算机程序在被所述处理器运行时执行如权利要求1至5任一项所述的方法。
8.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器运行时执行上述权利要求1至5任一项所述的方法的步骤。
CN202011626496.5A 2020-12-31 2020-12-31 基于知识图谱的字段级的数据血缘确定方法及装置 Active CN112711591B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011626496.5A CN112711591B (zh) 2020-12-31 2020-12-31 基于知识图谱的字段级的数据血缘确定方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011626496.5A CN112711591B (zh) 2020-12-31 2020-12-31 基于知识图谱的字段级的数据血缘确定方法及装置

Publications (2)

Publication Number Publication Date
CN112711591A CN112711591A (zh) 2021-04-27
CN112711591B true CN112711591B (zh) 2021-10-08

Family

ID=75547661

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011626496.5A Active CN112711591B (zh) 2020-12-31 2020-12-31 基于知识图谱的字段级的数据血缘确定方法及装置

Country Status (1)

Country Link
CN (1) CN112711591B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113360496B (zh) * 2021-05-26 2024-05-14 国网能源研究院有限公司 一种构建元数据标签库的方法及装置
CN113760918A (zh) * 2021-09-13 2021-12-07 上海航空工业(集团)有限公司 一种确定数据血缘关系的方法、装置、计算机设备和介质
CN113672628A (zh) * 2021-10-22 2021-11-19 中航金网(北京)电子商务有限公司 数据血缘分析方法、终端设备及介质
CN114896352B (zh) * 2022-04-06 2022-11-11 北京月新时代科技股份有限公司 无字段名的井文件字段名自动匹配方法、系统、介质和计算机设备
CN115374106B (zh) * 2022-07-15 2023-05-26 北京三维天地科技股份有限公司 一种基于知识图谱技术的数据智能分级方法
CN116304303B (zh) * 2023-02-01 2023-09-08 北京三维天地科技股份有限公司 一种基于知识图谱的资产推荐方法及系统
CN117238398A (zh) * 2023-09-19 2023-12-15 昆仑数智科技有限责任公司 数据血缘关系的确定方法、装置、设备及可读存储介质
CN117539861A (zh) * 2023-10-20 2024-02-09 国家开放大学 面向数据治理的关系数据表关联重建方法和装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109614400A (zh) * 2018-11-30 2019-04-12 深圳前海微众银行股份有限公司 失败任务的影响及溯源分析方法、装置、设备及存储介质
CN109739894A (zh) * 2019-01-04 2019-05-10 深圳前海微众银行股份有限公司 补充元数据描述的方法、装置、设备及存储介质
CN110109908A (zh) * 2017-12-29 2019-08-09 成都蜀信信用服务有限公司 基于社会基础信息挖掘人物潜在关系的分析系统及方法
CN111639077A (zh) * 2020-05-15 2020-09-08 杭州数梦工场科技有限公司 数据治理方法、装置、电子设备、存储介质
CN111767320A (zh) * 2020-06-29 2020-10-13 中国银行股份有限公司 数据血缘关系确定方法及装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9124120B2 (en) * 2007-06-11 2015-09-01 Qualcomm Incorporated Wireless power system and proximity effects
CN101706909A (zh) * 2009-11-18 2010-05-12 山东浪潮齐鲁软件产业股份有限公司 一种面向企业数据集成的全面数据质量管理方法
CN107239458B (zh) * 2016-03-28 2021-01-29 阿里巴巴集团控股有限公司 基于大数据推算开发对象关系的方法及装置
CN107291672B (zh) * 2016-03-31 2020-11-20 阿里巴巴集团控股有限公司 数据表的处理方法和装置
CN108256113B (zh) * 2018-02-09 2020-06-16 口碑(上海)信息技术有限公司 数据血缘关系的挖掘方法及装置
CN109710703A (zh) * 2019-01-03 2019-05-03 北京顺丰同城科技有限公司 一种血缘关系网络的生成方法及装置
CN111177200B (zh) * 2019-12-31 2021-05-11 北京九章云极科技有限公司 一种数据处理系统及方法
CN111782265B (zh) * 2020-06-28 2024-02-02 中国工商银行股份有限公司 基于字段级血缘关系的软件资源系统及其建立方法
CN112131273A (zh) * 2020-09-23 2020-12-25 南京数云信息科技有限公司 一种基于Mysql数据库日志的数据关系挖掘方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110109908A (zh) * 2017-12-29 2019-08-09 成都蜀信信用服务有限公司 基于社会基础信息挖掘人物潜在关系的分析系统及方法
CN109614400A (zh) * 2018-11-30 2019-04-12 深圳前海微众银行股份有限公司 失败任务的影响及溯源分析方法、装置、设备及存储介质
CN109739894A (zh) * 2019-01-04 2019-05-10 深圳前海微众银行股份有限公司 补充元数据描述的方法、装置、设备及存储介质
CN111639077A (zh) * 2020-05-15 2020-09-08 杭州数梦工场科技有限公司 数据治理方法、装置、电子设备、存储介质
CN111767320A (zh) * 2020-06-29 2020-10-13 中国银行股份有限公司 数据血缘关系确定方法及装置

Also Published As

Publication number Publication date
CN112711591A (zh) 2021-04-27

Similar Documents

Publication Publication Date Title
CN112711591B (zh) 基于知识图谱的字段级的数据血缘确定方法及装置
US11921751B2 (en) Technologies for data capture and data analysis
US11281793B2 (en) User permission data query method and apparatus, electronic device and medium
WO2021000671A1 (zh) 数据库的查询方法、装置、服务器及介质
EP3131021A1 (en) Hybrid data storage system and method and program for storing hybrid data
CN110291517A (zh) 图数据库中的查询语言互操作性
US7797310B2 (en) Technique to estimate the cost of streaming evaluation of XPaths
JP2009151760A (ja) オブジェクト間競合指標計算方法およびシステム
US11003640B2 (en) Mining of policy data source description based on file, storage and application meta-data
Bai et al. Fixing the inconsistencies in fuzzy spatiotemporal RDF graph
EP2731021B1 (en) Apparatus, program, and method for reconciliation processing in a graph database
Arputhamary et al. A review on big data integration
US9824140B2 (en) Method of creating classification pattern, apparatus, and recording medium
CN115248815A (zh) 预测查询处理
CN113590650A (zh) 基于特征表达式的结构化查询语句甄别方法及装置
Ahmed et al. Generating data warehouse schema
Rukkas et al. Distributed datastores: Towards probabilistic approach for estimation of reliability
Al-Ghezi Universal Workload-based Graph Partitioning and Storage Adaption for Distributed RDF Stores
US11841857B2 (en) Query efficiency using merged columns
CN114943004B (zh) 属性图查询方法、属性图查询装置以及存储介质
Moffitt et al. Querying Evolving Graphs with Portal
Vasilas Sorbonne Université
CN118035513A (zh) 目标数据的识别方法、装置和计算机设备
Kwakye et al. Instance-based Integration of Multidimensional Data Models
Fangpeng et al. Organization of Case Base Represented with XML under Quotient Space

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CB03 Change of inventor or designer information
CB03 Change of inventor or designer information

Inventor after: Lei Tao

Inventor after: Qiao Wanglong

Inventor after: Zhao Lin

Inventor before: Lei Tao

Inventor before: Qiao Wanglong

Inventor before: Zhao Lin

Inventor before: Cao Xiaolei