数据血缘追踪方法技术

技术编号:39486962 阅读:12 留言:0更新日期:2023-11-24 11:06
本申请涉及一种数据血缘追踪方法

【技术实现步骤摘要】
数据血缘追踪方法、装置及电子设备


[0001]本申请属于数据安全
,具体涉及一种数据血缘追踪方法

装置及电子设备


技术介绍

[0002]血缘追踪
(
或者说血缘分析
)
是一种技术手段,其用于实现对数据处理过程的全面追踪,从而找到某个数据对象为起点的所有相关元数据对象以及这些元数据对象之间的关系

当前环境下,各企业的数据在企业内部以及和其他企业交互的过程中,数据库会产生新的数据,数据也会进行流转,融合,清除等

基于这样的应用实际,数据血缘即从表的产生

到表经由一系列动作后形成的新表的过程链,以及和这个表有直接或间接关系的关联数据组成的关系图谱

进行数据分析时,要实现对数据来源

数据成因等的溯源分析都离不开对表与表,表字段与表字段的血缘关系分析

[0003]当前血缘追踪实现方式,主要包括调度器反向推导

计算引擎系统提供的血缘追踪接口等;调度器反向推导的实现方式可行度较高,代价较低,但是无法精准到字段级别的数据追踪;而大数据计算引擎
(

HIVE)
提供的血缘追踪接口可以做到字段级别,但是定制化太强,不适合其他的数据库类型实现

[0004]因此,在常见的数据库类型应用场景中,如何提供一种可进行数据字段级别的数据血缘追踪方法成为了一个亟待解决的技术问题

[0005]上述内容仅用于辅助理解本专利技术的技术方案,并不代表承认上述内容是现有技术


技术实现思路

[0006]为至少在一定程度上克服相关技术中存在的问题,本申请提供一种数据血缘追踪方法

装置及电子设备,以及解决如何在常见的数据库类型应用场景中,实现数据字段级别的数据血缘追踪的技术问题

[0007]为实现以上目的,本申请采用如下技术方案:
[0008]第一方面,
[0009]本申请提供一种数据血缘追踪方法,该方法包括:
[0010]获取目标数据库的元数据,并根据元数据的层级维度对所述元数据进行标记处理,得到标记数据,其中,所述层级维度包括库

表和字段;
[0011]对发送给所述目标数据库的每一操作语句进行解析处理,基于解析结果和所述标记数据构建生成所述目标数据库的数据流日志,所述数据流日志承载有表征目标数据库中数据流向信息的记录数据;
[0012]基于所述数据流日志对目标数据进行数据血缘追踪

[0013]可选地,所述获取目标数据库的元数据,并根据元数据的层级维度对所述元数据进行标记处理,得到标记数据,,包括:
[0014]加载所述目标数据库的驱动,通过
JDBC
接口获取目标数据库的所述元数据;
[0015]根据元数据的层级维度对所述元数据进行标记处理,并将得到的所述标记数据进行入库;
[0016]其中,所述元数据的类别包括:
catalog,schema,table,column。
[0017]可选地,所述操作语句为
sql
语句;所述对发送给所述目标数据库的每一操作语句进行解析处理,基于解析结果和所述标记数据构建生成所述目标数据库的数据流日志,包括:
[0018]调用通用
Sql
解析器对每一所述
sql
语句进行解析,生成语句所对应的抽象语法树;
[0019]根据所述抽象语法树确定语句所对应的执行动作,并基于所述标记数据对所述执行动作进行数据操作解析,得到相应语句所对应的数据操作;
[0020]对各所述
sql
语句所对应的数据操作进行汇集分类,基于汇集分类结果根据语句的时序先后构建所述数据流日志

[0021]可选地,所述通用
Sql
解析器包括
Druid
解析器
、anltr4
解析器

[0022]可选地,所述记录数据包括元数据变更记录数据;所述基于所述数据流日志对目标数据进行数据血缘追踪,具体包括:
[0023]将所述元数据变更记录数据所承载的元数据变更记录信息按时间先后进行排序处理,得到各层级维度数据的数据处理链路,并根据所述数据处理链路构建用于数据血缘追踪的数据处理链路集;
[0024]根据所述数据处理链路集,对所述目标数据进行查询匹配,获取所述目标数据的元数据及相关其他元数据的依赖关系,得到所述目标数据的数据血缘关系图谱

[0025]可选地,所述基于所述数据流日志对目标数据进行数据血缘追踪,还包括:
[0026]根据所述数据处理链路集,对所述目标数据进行查询匹配,获取所述目标数据从开始状态到当前状态的迭代信息,得到所述目标数据的溯源地图

[0027]第二方面,
[0028]本申请提供一种数据血缘追踪装置,该数据血缘追踪装置包括:
[0029]标记处理模块,用于获取目标数据库的元数据,并根据元数据的层级维度对所述元数据进行标记处理,得到标记数据,其中,所述层级维度包括库

表和字段;
[0030]解析构建模块,用于对发送给所述目标数据库的每一数据库操作语句进行解析处理,基于解析结果和所述标记数据构建生成所述目标数据库的数据流日志,所述数据流日志承载有表征目标数据库中数据流向信息的记录数据;
[0031]追踪实现模块,用于基于所述数据流日志对目标数据进行数据血缘追踪

[0032]第三方面,
[0033]本申请提供一种电子设备,包括:
[0034]存储器,其上存储有可执行程序;
[0035]处理器,用于执行所述存储器中的所述可执行程序,以实现上述所述方法的步骤

[0036]本申请采用以上技术方案,至少具备以下有益效果:
[0037]本申请的数据血缘追踪方法包括如下步骤,获取目标数据库的元数据,并并根据元数据的层级维度对进行标记处理,得到标记数据,其中,层级维度包括库

表和字段;对发
送给目标数据库的每一操作语句进行解析处理,基于解析结果和标记数据构建生成目标数据库的数据流日志,数据流日志承载有表征目标数据库中数据流向信息的记录数据;基于数据流日志对目标数据进行数据血缘追踪

本申请的技术方案,采用具体的配置,在实现过程中可对目标数据库的元数据进行最小层级维度为字段的标记处理,并结合对每一操作语句的解析处理来构建表征目标数据库数据流向的数据流日志,进而基于构建的数据流日志对目标数据进行数据血缘追踪,该种方式可以有效实现字段级别的数据血缘追踪,且实现中可基于目标数据库的类型进行具体的解析配置,从而实现对不同数据库类型的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种数据血缘追踪方法,其特征在于,包括:获取目标数据库的元数据,并根据元数据的层级维度对所述元数据进行标记处理,得到标记数据,其中,所述层级维度包括库

表和字段;对发送给所述目标数据库的每一操作语句进行解析处理,基于解析结果和所述标记数据构建生成所述目标数据库的数据流日志,所述数据流日志承载有表征目标数据库中数据流向信息的记录数据;基于所述数据流日志对目标数据进行数据血缘追踪
。2.
根据权利要求1所述的方法,其特征在于,所述获取目标数据库的元数据,并根据元数据的层级维度对所述元数据进行标记处理,得到标记数据,包括:加载所述目标数据库的驱动,通过
JDBC
接口获取目标数据库的所述元数据;根据元数据的层级维度对所述元数据进行标记处理,并将得到的所述标记数据进行入库;其中,所述元数据的类别包括:
catalog,schema,table,column。3.
根据权利要求2所述的数据血缘追踪方法,其特征在于,所述操作语句为
sql
语句;所述对发送给所述目标数据库的每一操作语句进行解析处理,基于解析结果和所述标记数据构建生成所述目标数据库的数据流日志,包括:调用通用
Sql
解析器对每一所述
sql
语句进行解析,生成语句所对应的抽象语法树;根据所述抽象语法树确定语句所对应的执行动作,并基于所述标记数据对所述执行动作进行数据操作解析,得到相应语句所对应的数据操作;对各所述
sql
语句所对应的数据操作进行汇集分类,基于汇集分类结果根据语句的时序先后构建所述数据流日志
。4.
根据权利要求3所述的数据血缘追踪方法,其特征在于,所述通用
...

【专利技术属性】
技术研发人员:肖云鹤刘亚军张俊代庆国
申请(专利权)人:北京信格科技有限公司
类型:发明
国别省市:

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

1