[发明专利]数据血缘解析方法、装置、电子设备和计算机可读存储介质在审
申请号: | 202111546926.7 | 申请日: | 2021-12-17 |
公开(公告)号: | CN114764330A | 公开(公告)日: | 2022-07-19 |
发明(设计)人: | 郭子轩;陈凯 | 申请(专利权)人: | 深圳市珍爱捷云信息技术有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F16/22;G06F16/28 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 518000 广东省深圳市南山区前海*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据 血缘 解析 方法 装置 电子设备 计算机 可读 存储 介质 | ||
1.一种数据血缘解析方法,其特征在于,包括:
接收数据血缘解析指令,从所述数据血缘解析指令中提取待解析sql;
解析所述待解析sql生成抽象语法树;
深度优先后序遍历所述抽象语法树的节点,针对每一所述节点,识别所述节点的节点类型,基于所述节点类型对所述节点执行宽度遍历解析,生成血缘关系树;
封装所述血缘关系树为字段级血缘数据,存储所述字段级血缘数据。
2.根据权利要求1所述的方法,其特征在于,所述识别所述节点的节点类型,包括:
依次判断所述节点的节点类型是否为TOK_TABREF、TOK_INSERT、TOK_SUBQUERY、TOK_CREATETABLE、TOK_QUERY。
3.根据权利要求1-2任一项所述的方法,其特征在于,所述基于所述节点类型对所述节点执行宽度遍历解析,包括:
若所述节点类型为所述TOK_INSERT,基于所述待解析sql确定待插入字段数组;
通过子节点TOK_DESTINATION确定所述待插入字段数组对应的待插入表;
若所述待插入表为临时表,获取所述临时表的临时表类型;
若所述临时表为所述物理源表,宽度遍历解析所述待插入字段数组,针对所述待插入字段数组的每一所述待插入字段,确定所述待插入字段对应的源字段数组,遍历所述源字段数组,将所述源字段数组中每一源字段添加到currentTable的columns集合和所述待插入字段对应的from集合中,将所述待插入字段添加到currentColumns集合中,标记所述currentColumns集合为待分配状态。
4.根据权利要求3所述的方法,其特征在于,所述基于所述节点类型对所述节点执行宽度遍历解析,还包括:
若所述临时表为子查询的临时查询表,对所述待插入字段数组执行字段来源解析,确定所述待插入字段数组中每一待插入字段对应的源字段数组;
针对每一所述待插入字段,遍历添加所述源字段数组至所述待插入字段对应的from集合中,将所述待插入字段添加至所述currentColumns集合中,标记所述currentColumns集合为待分配状态。
5.根据权利要求3所述的方法,其特征在于,所述基于所述节点类型对所述节点执行宽度遍历解析,还包括:
若所述待插入表为目标表,获取所述目标表的库名和表名;
创建结果表targetTable,对所述待插入字段数组执行字段来源解析,确定所述待插入字段数组中每一待插入字段对应的源字段数组;
针对每一所述待插入字段,遍历添加所述待插入字段对应的源字段数组至所述待插入字段对应的from集合,将所述待插入字段添加至所述结果表targetTable的columns集合。
6.根据权利要求4或5任一项所述的方法,其特征在于,所述对所述待插入字段数组执行字段来源解析,包括:
针对所述待插入字段数组的每一所述待插入字段,获取所述待插入字段对应的字段别名和字段类型;
若所述字段类型为预设第一类型,基于所述子查询名确定所述待插入字段对应的待插入字段子树节点,基于预设的映射关系查询待插入字段子树节点得到所述源字段数组;
若所述字段类型为预设第二类型,基于所述待插入字段新建常量名字段;
若所述字段类型为预设第三类型,宽度遍历所述待插入字段子树,判断所述待插入字段子树是否存在表别名,若存在,基于所述表别名和所述字段别名查询得到所述源字段数组。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市珍爱捷云信息技术有限公司,未经深圳市珍爱捷云信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111546926.7/1.html,转载请声明来源钻瓜专利网。
- 上一篇:电池充放电试验装置以及电池试验装置
- 下一篇:附带温度传感器的配线部件
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置