【技术实现步骤摘要】
基于结构化查询语言的数据血缘确定方法、装置及介质
[0001]本公开的实施方式涉及计算机领域,更具体地,本公开的实施方式涉及一种基于结构化查询语言的数据血缘确定方法
、
装置及介质
。
技术介绍
[0002]本部分旨在为本公开的实施方式提供背景或上下文
。
此处的描述不因为包括在本部分中就承认是现有技术
。
[0003]数据血缘可以用来表示
SQL(Structured Query Language
,结构化查询语言
)
语句中所涉及的数据表和字段等数据的来源和去向,对数据产生链路的分析具有重要意义
。
[0004]然而,
SQL
语句涉及的数据表和字段数量较多,在确定数据血缘信息时,容易出现数据遗漏,导致某些字段或数据表的数据血缘丢失
。
因此,如何准确地确定
SQL
语句的数据血缘,是一个亟需解决的问题
。
技术实现思路
[0005]本公开提供一种 ...
【技术保护点】
【技术特征摘要】
1.
一种基于结构化查询语言的数据血缘确定方法,包括:获取结构化查询语言的语句所对应的抽象语法树;其中,所述抽象语法树用于以树形结构的层级关系表示所述结构化查询语言的语句,所述抽象语法树中包括至少两个节点;确定所述抽象语法树中的节点所对应的数据表,得到所述数据表的元数据信息;其中,所述元数据信息用于表示所述数据表的属性信息和字段信息;获取所述抽象语法树中的节点的字段信息,根据所述元数据信息和所述字段信息,确定所述结构化查询语言的语句的数据血缘信息;其中,所述字段信息包括节点的输出字段和节点的判断字段中的至少一项;所述判断字段用于表示判断条件中的字段
。2.
根据权利要求1所述的方法,确定所述抽象语法树中的节点所对应的数据表,得到所述数据表的元数据信息,包括:若确定所述抽象语法树中的节点对应有数据表,则从所述抽象语法树中的节点中获取所述数据表的表标识信息;其中,在所述抽象语法树中,对应有数据表的节点为叶子节点;向预设的元数据库发送元数据获取指令,接收所述元数据库发送的所述数据表的元数据信息;其中,所述元数据库用于存储所述数据表的元数据信息,所述元数据获取指令中包括所述数据表的表标识信息
。3.
根据权利要求2所述的方法,若确定所述抽象语法树中的节点对应有数据表,则从所述抽象语法树中的节点中获取所述数据表的表标识信息,包括:遍历所述抽象语法树中的节点,若确定所述抽象语法树中,当前遍历到的节点对应有数据表,则从所述当前遍历到的节点中获取所述数据表的表标识信息;若确定所述抽象语法树的节点遍历完成,则确定所述表标识信息的集合;其中,所述表标识信息的集合包括所述抽象语法树中所对应的所有数据表的表标识信息
。4.
根据权利要求1所述的方法,获取所述抽象语法树中的节点的字段信息,包括:对所述抽象语法树进行后序遍历处理,从当前遍历到的节点中提取字段信息
。5.
根据权利要求4所述的方法,根据所述元数据信息和所述字段信息,得到所述结构化查询语言的语句的数据血缘信息,包括:根据所述元数据信息和所述当前遍历到的节点的字段信息,确定所述当前遍历到的节点的字段血缘信息;其中,所述字段血缘信息用于表示数据表中字段的来源和去向,所述字段血缘信息中包括投影边信息和断言边信息;所述投影边信息用于表示节点的输出字段与源表字段之间的映射关系,所述断言边信息用于表示节点的输出字段与判断字段之间的映射关系,所述源表字段用于表示叶子节点的输出字段;若确定所述抽象语法树的后序遍历完成,则确定所述当前遍历到的节点的字段血缘信息,为所述结构化查询语言的语句的数据血缘信息
。6.
根据权利...
【专利技术属性】
技术研发人员:郭忆,李卓豪,王金杰,樊友平,余利华,
申请(专利权)人:网易杭州网络有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。