基于非校验的异构数据库数据血缘解析方法技术

技术编号:43307614 阅读:22 留言:0更新日期:2024-11-12 16:24
本发明专利技术涉及一种基于非校验的异构数据库数据血缘解析方法,该方法包括:读取SQL脚本;预处理:对SQL脚本进行格式替换,转换为供词法分析使用的SQL字符串;词法分析:采用python的sqlparse模块对SQL字符串进行词法分析,将脚本字符串切分成多个语句,并生成对应的token列表;原子血缘解析:基于原子血缘解析sqllineage模块对所述token列表进行扫描,根据扫描到的关键字在源和目标两个状态之间切换,匹配相应的源与目标的记录生成从源到目标的血缘。与现有技术相比,本发明专利技术具有准确性高、适用性高等优点。

【技术实现步骤摘要】

本专利技术涉及数据库,尤其是涉及一种基于非校验的异构数据库数据血缘解析方法


技术介绍

1、数据处理逻辑的日趋复杂,催生了数据溯源、影响性分析和数据体系优化等需求,而这些需求都指向了数据血缘这一技术。以sql脚本为主的数据处理系统,获取数据血缘最好的方法就是解析sql语句来获取血缘。目前行业现有的基于sql的数据血缘解析方案通常依赖于数据治理系统或数据开发系统,再或者基于一种或几种数据库方言进行sql血缘解析。数据治理系统和开发工具的sql血缘解析主要有基于集成系统的方案、基于语法树的方案和人工方案。

2、基于集成系统的方案以阿里的data-works和字节跳动data-leap为代表,二者都是集成在数据治理系统或数据开发系统内的方案。开发人员使用集成系统编写sql的同时,可以通过图形化界面选择输入输出表,使用数据治理系统中注册的表元数据,并结合sql语法解析,可以自动的完成sql血缘的构建。该方案的优点是整个过程开发人员无感,生成sql血缘准确。缺点首先是其依赖于数据治理系统和数据开发系统的构建,对于基于集成系统开发的sql可以解析出血缘,但本文档来自技高网...

【技术保护点】

1.一种基于非校验的异构数据库数据血缘解析方法,其特征在于,该方法包括:

2.根据权利要求1所述的一种基于非校验的异构数据库数据血缘解析方法,其特征在于,所述对SQL脚本进行格式替换,包括:

3.根据权利要求2所述的一种基于非校验的异构数据库数据血缘解析方法,其特征在于,所述脚本常量包括空串、字符串常量和非字符串常量。

4.根据权利要求1所述的一种基于非校验的异构数据库数据血缘解析方法,其特征在于,所述对SQL脚本进行格式替换,还包括:

5.根据权利要求1所述的一种基于非校验的异构数据库数据血缘解析方法,其特征在于,所述原子血缘解析sqll...

【技术特征摘要】

1.一种基于非校验的异构数据库数据血缘解析方法,其特征在于,该方法包括:

2.根据权利要求1所述的一种基于非校验的异构数据库数据血缘解析方法,其特征在于,所述对sql脚本进行格式替换,包括:

3.根据权利要求2所述的一种基于非校验的异构数据库数据血缘解析方法,其特征在于,所述脚本常量包括空串、字符串常量和非字符串常量。

4.根据权利要求1所述的一种基于非校验的异构数据库数据血缘解析方法,其特征在于,所述对sql脚本进行格式替换,还包括:

5.根据权利要求1所述的一种基于非校验的异构数据库数据血缘解析方法,其特征在于,所述原子血缘解析sqllineage模块,还包括:对于insert型的sql语句,通过共享源与目标状态,将col信息传递给目标状态,以进行源字段与目标字段的匹配。

6.根据权利要求1所述的一种基于非校验的异构数据库数据血缘解析方法,其特征在于,所述原子血缘解析sqllin...

【专利技术属性】
技术研发人员:杨凡超房启成周军
申请(专利权)人:交通银行股份有限公司
类型:发明
国别省市:

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

1