[发明专利]基于Apache Calcite数据血缘和影响分析的方法及系统在审
| 申请号: | 202211404603.9 | 申请日: | 2022-11-10 |
| 公开(公告)号: | CN115544062A | 公开(公告)日: | 2022-12-30 |
| 发明(设计)人: | 冯明亮;周全;尤毅;沈明佶;王园行;赵昊宇;彭广亮;顾安懿;顾杰;李慧颖;徐羽沁;李天举;罗琳;吕路明 | 申请(专利权)人: | 兴业银行股份有限公司;兴业数字金融服务(上海)股份有限公司 |
| 主分类号: | G06F16/242 | 分类号: | G06F16/242;G06F40/186;G06F40/205;G06F40/253 |
| 代理公司: | 上海段和段律师事务所 31334 | 代理人: | 黄磊 |
| 地址: | 350014 福建省福州*** | 国省代码: | 福建;35 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 基于 apache calcite 数据 血缘 影响 分析 方法 系统 | ||
1.一种基于Apache Calcite数据血缘和影响分析的方法,其特征在于,包括:
步骤S1:根据采集的元数据,获取元数据信息,其中,所述元数据信息包括表、字段;
步骤S2:集成Apache Calcite,对所述元数据信息的SQL字符串进行词法和语法分析,转化为抽象语法树AST;
步骤S3:利用抽象语法树AST获取表、字段之间的关系图谱;
步骤S4:根据所述关系图谱,进行表级、字段级的血缘分析与影响分析。
2.根据权利要求1所述的基于Apache Calcite数据血缘和影响分析的方法,其特征在于,所述步骤2包括如下步骤:
步骤S2.1:对Greenplum、GaussDB数据库中的特殊语法进行改造适配,将SQL语句解析为抽象语法树AST;
步骤S2.2:利用自定义解析器,解析抽象语法树AST的节点对象,获取字段血缘依赖关系,写入指定的数据表中,所述解析包括:
对抽象语法树AST中查询、关联节点解析,获取字段与表之间的血缘依赖关系以及依赖详情;
对子查询中的字段,递归解析字段所属物理表信息,获取血缘依赖关系;
其中,通过Apache Calcite将SQL语句不同部分解析封装为不同的节点对象,通过解析节点对象信息从而获取对应的血缘依赖关系。
3.根据权利要求2所述的基于Apache Calcite数据血缘和影响分析的方法,其特征在于,所述自定义解析器包括Calcite SQL解析器;在生成Calcite SQL解析器的过程中,调整config.fmpp文件,以支持所需关键字;其中,config.fmpp文件是Calcite模板配置文件,完成FreeMarker和JavaCC的相关配置;调整templates文件夹中的Parser.jj文件中的解析规则来适应所需数据库解析,使用自定义解析函数满足特殊语法规则解析;其中,Parser.jj文件是JavaCC解析器所需要的解析核心文件;fmpp根据配置文件、模板文件和附加模板文件,自动生成解析文件Parser.jj,经过编译后生成SQL解析器。
4.根据权利要求1所述的基于Apache Calcite数据血缘和影响分析的方法,其特征在于,基于Apache Calcite,在元数据层面建立起技术元数据和业务元数据的关系,实现了字段级、表级的关系穿透,进行不同粒度的血缘分析与影响分析;调用Calcite解析SQL;生成解析后的抽象语法树SqlNode;根据SqlNode的类型调用不同的解析器解析依赖关系。
5.一种基于Apache Calcite数据血缘和影响分析的系统,其特征在于,包括:
模块M1:根据采集的元数据,获取元数据信息,其中,所述元数据信息包括表、字段;
模块M2:集成Apache Calcite,对所述元数据信息的SQL字符串进行词法和语法分析,转化为抽象语法树AST;
模块M3:利用抽象语法树AST获取表、字段之间的关系图谱;
模块M4:根据所述关系图谱,进行表级、字段级的血缘分析与影响分析。
6.根据权利要求5所述的基于Apache Calcite数据血缘和影响分析的系统,其特征在于,所述步骤2包括如下步骤:
模块M2.1:对Greenplum、GaussDB数据库中的特殊语法进行改造适配,将SQL语句解析为抽象语法树AST;
模块M2.2:利用自定义解析器,解析抽象语法树AST的节点对象,获取字段血缘依赖关系,写入指定的数据表中,所述解析包括:
对抽象语法树AST中查询、关联节点解析,获取字段与表之间的血缘依赖关系以及依赖详情;
对子查询中的字段,递归解析字段所属物理表信息,获取血缘依赖关系;
其中,通过Calcite将SQL语句不同部分解析封装为不同的节点对象,通过解析节点对象信息从而获取对应的血缘依赖关系。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于兴业银行股份有限公司;兴业数字金融服务(上海)股份有限公司,未经兴业银行股份有限公司;兴业数字金融服务(上海)股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211404603.9/1.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置





