血缘关系生成方法、装置、计算机设备及存储介质制造方法及图纸

技术编号:34561128 阅读:36 留言:0更新日期:2022-08-17 12:49
本申请为数据分析技术领域,本申请提供了一种血缘关系生成方法、装置、计算机设备及存储介质,其中,所述方法包括:将每个DDL操作的操作信息添加至预设的操作数据表中,根据每个操作信息的标签,从操作数据表中筛选出未经过hook处理的目标操作信息,对目标操作信息进行解析,确定目标操作信息所属的源数据表及与源数据表相关的关联数据表,分别读取源数据表及关联数据表的数据表信息,得到源数据表的第一数据表信息及关联数据表的第二数据表信息,根据第一数据表信息及第二数据表信息生成血缘关系,从而实现了关系型数据库的血缘关系的生成,以清楚地知道关系型数据库中数据表之间的操作逻辑,从而能更好地使用数据。从而能更好地使用数据。从而能更好地使用数据。

【技术实现步骤摘要】
血缘关系生成方法、装置、计算机设备及存储介质


[0001]本申请涉及数据分析
,具体而言,本申请涉及一种血缘关系生成方法、装置、计算机设备及存储介质。

技术介绍

[0002]信息系统产生了海量的数据,有数据必须要有数据的存放位置,当前提供跨数据源查询分析及数据计算服务的通用数据分析产品,基本上都使用关系型数据库作为其统一的数据汇聚中心。
[0003]关系型数据库是建立在关系模型基础上的数据库,它的优势在于,可以保持数据的一致性;数据更新的开销小;关系模型相对网状、层次等其他模型来说更容易理解;通用的SQL语言使得操作关系型数据库非常方便,可以进行join等复杂查询。
[0004]面对海量且持续增加的各式各样的数据,需要知道哪些数据从哪里来以及它如何随时间而变化,因此需要分析数据的血缘关系。现有对于关系型数据库中表与表之间存在的上下游关系,还无法生成关系型数据库的血缘关系,难以清楚地知道这些表之间的操作逻辑,导致无法更好地使用表中的数据。

技术实现思路

[0005]本申请的主要目的为提供一种血缘关系生成方法、装置、计算机设备及存储介质,以生成关系型数据库的血缘关系,从而清楚地知道这些表之间的操作逻辑,便于更好地使用表中的数据。
[0006]为了实现上述专利技术目的,本申请提供一种血缘关系生成方法,其包括:
[0007]获取在预设时间段内对关系型数据库的所有DDL操作,得到多个DDL操作;
[0008]分别获取每个所述DDL操作的操作信息,将每个所述DDL操作的操作信息添加至预设的操作数据表中,并获取预先为每个所述DDL操作的操作信息赋予的标签;其中,所述标签用于标记操作信息是否经过hook处理;
[0009]根据每个操作信息的标签,从所述操作数据表中筛选出未经过hook处理的操作信息,得到目标操作信息;
[0010]对所述目标操作信息进行解析,确定所述目标操作信息所属的源数据表及与所述源数据表相关的关联数据表;
[0011]分别读取所述源数据表及关联数据表的数据表信息,得到所述源数据表的第一数据表信息及所述关联数据表的第二数据表信息;
[0012]根据所述第一数据表信息及第二数据表信息生成血缘关系。
[0013]优选地,所述对所述目标操作信息进行解析,确定所述目标操作信息所属的源数据表及与所述源数据表相关的关联数据表,包括:
[0014]对所述目标操作信息进行词法、语法分析,得到分析结果;
[0015]根据所述分析结果生成所述目标操作信息的语法树;
[0016]对所述语法树进行访问、遍历,确定所述目标操作信息所属的源数据表及与所述源数据表相关的关联数据表。
[0017]优选地,所述根据所述第一数据表信息及第二数据表信息生成血缘关系,包括:
[0018]根据所述第一数据表信息确定所述源数据表的生成时间,得到第一生成时间;
[0019]根据所述第二数据表信息确定所述关联数据表的生成时间,得到第二生成时间;
[0020]依照所述第一生成时间及第二生成时间,对所述源数据表和关联数据表进行排序,得到排序结果;
[0021]依据所述排序结果生成血缘关系。
[0022]在一实施例中,所述将每个所述DDL操作的操作信息添加至预设的操作数据表中,包括:
[0023]为每个所述DDL操作的操作信息添加对应的schema信息后添加至预设的操作数据表中;其中,所述schema信息为所述关系型数据库的对象的集合,所述对象包括数据类型、索引、视图或存储过程。
[0024]优选地,所述根据所述第一数据表信息及第二数据表信息生成血缘关系,包括:
[0025]获取所述第一数据表信息及第二数据表信息对应的结构化查询语言代码;
[0026]对所述第一数据表信息及第二数据表信息对应的结构化查询语言代码进行分析;
[0027]若所述结构化查询语言代码中记录有所述源数据表与关联数据表之间的操作逻辑,则确定所述源数据表与关联数据表之间具有血缘关系,生成所述源数据表与关联数据表之间的血缘关系。
[0028]在一实施例中,所述根据所述第一数据表信息及第二数据表信息生成血缘关系,包括:
[0029]根据所述第一数据表信息获取所述源数据表中的字段,得到第一字段;
[0030]根据所述第二数据表信息获取所述关联数据表中的字段,得到第二字段;
[0031]将所述源数据表与关联数据表进行外连接,计算所述源数据表中第一字段的数据与所述关联数据表中第二字段的数据的相似度;
[0032]若所述相似度大于预设相似度阈值,则确定所述源数据表与关联数据表之间具有血缘关系,生成所述源数据表与关联数据表之间的血缘关系。
[0033]优选地,所述计算所述源数据表中第一字段的数据与所述关联数据表中第二字段的数据的相似度,包括:
[0034]将所述源数据表中第一字段的数据转换为向量形式,得到第一向量;
[0035]将所述关联数据表中第二字段的数据转换为向量形式,得到第二向量;
[0036]计算所述第一向量与第二向量的余弦距离,得到所述相似度。
[0037]本申请还提供一种血缘关系生成装置,其包括:
[0038]第一获取模块,用于获取在预设时间段内对关系型数据库的所有DDL操作,得到多个DDL操作;
[0039]添加模块,用于分别获取每个所述DDL操作的操作信息,将每个所述DDL操作的操作信息添加至预设的操作数据表中,并获取预先为每个所述DDL操作的操作信息赋予的标签;其中,所述标签用于标记操作信息是否经过hook处理;
[0040]筛选模块,用于根据每个操作信息的标签,从所述操作数据表中筛选出未经过
hook处理的操作信息,得到目标操作信息;
[0041]解析模块,用于对所述目标操作信息进行解析,确定所述目标操作信息所属的源数据表及与所述源数据表相关的关联数据表;
[0042]第二获取模块,用于分别读取所述源数据表及关联数据表的数据表信息,得到所述源数据表的第一数据表信息及所述关联数据表的第二数据表信息;
[0043]生成模块,用于根据所述第一数据表信息及第二数据表信息生成血缘关系。
[0044]本申请还提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。
[0045]本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述任一项所述方法的步骤。
[0046]本申请所提供的一种血缘关系生成方法、装置、计算机设备及存储介质,通过获取在预设时间段内对关系型数据库的所有DDL操作,得到多个DDL操作,分别获取每个DDL操作的操作信息,将每个DDL操作的操作信息添加至预设的操作数据表中,并获取预先为每个DDL操作的操作信息赋予的标签,根据每个操作本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种血缘关系生成方法,其特征在于,包括:获取在预设时间段内对关系型数据库的所有DDL操作,得到多个DDL操作;分别获取每个所述DDL操作的操作信息,将每个所述DDL操作的操作信息添加至预设的操作数据表中,并获取预先为每个所述DDL操作的操作信息赋予的标签;其中,所述标签用于标记操作信息是否经过hook处理;根据每个操作信息的标签,从所述操作数据表中筛选出未经过hook处理的操作信息,得到目标操作信息;对所述目标操作信息进行解析,确定所述目标操作信息所属的源数据表及与所述源数据表相关的关联数据表;分别读取所述源数据表及关联数据表的数据表信息,得到所述源数据表的第一数据表信息及所述关联数据表的第二数据表信息;根据所述第一数据表信息及第二数据表信息生成血缘关系。2.根据权利要求1所述的方法,其特征在于,所述对所述目标操作信息进行解析,确定所述目标操作信息所属的源数据表及与所述源数据表相关的关联数据表,包括:对所述目标操作信息进行词法、语法分析,得到分析结果;根据所述分析结果生成所述目标操作信息的语法树;对所述语法树进行访问、遍历,确定所述目标操作信息所属的源数据表及与所述源数据表相关的关联数据表。3.根据权利要求1所述的方法,其特征在于,所述根据所述第一数据表信息及第二数据表信息生成血缘关系,包括:根据所述第一数据表信息确定所述源数据表的生成时间,得到第一生成时间;根据所述第二数据表信息确定所述关联数据表的生成时间,得到第二生成时间;依照所述第一生成时间及第二生成时间,对所述源数据表和关联数据表进行排序,得到排序结果;依据所述排序结果生成血缘关系。4.根据权利要求1所述的方法,其特征在于,所述将每个所述DDL操作的操作信息添加至预设的操作数据表中,包括:为每个所述DDL操作的操作信息添加对应的schema信息后添加至预设的操作数据表中;其中,所述schema信息为所述关系型数据库的对象的集合,所述对象包括数据类型、索引、视图或存储过程。5.根据权利要求1所述的方法,其特征在于,所述根据所述第一数据表信息及第二数据表信息生成血缘关系,包括:获取所述第一数据表信息及第二数据表信息对应的结构化查询语言代码;对所述第一数据表信息及第二数据表信息对应的结构化查询语言代码进行分析;若所述结构化查询语言代码中记录有所述源数据表与关联数据表之间的操作逻辑,则确定所述源数...

【专利技术属性】
技术研发人员:李慎刚
申请(专利权)人:中国平安财产保险股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1