数据血缘解析方法及装置制造方法及图纸

技术编号:36204178 阅读:45 留言:0更新日期:2023-01-04 11:58
本说明书涉及大数据技术领域,具体地公开了一种数据血缘解析方法及装置,其中,该方法包括:接收血缘解析请求;所述血缘解析请求中携带有多条结构化查询语言脚本;对所述多条结构化查询语言脚本中各结构化查询语言脚本进行语法分析,得到所述各结构化查询语言脚本对应的抽象语法树;从所述各结构化查询语言脚本对应的抽象语法树提取源表源字段到目标表目标字段的映射关系;对提取到的源表源字段到目标表目标字段的映射关系进行关联分析,得到所述多条结构化查询语言脚本的血缘解析结果。上述方案可以自动对多条结构化查询语言脚本进行血缘解析,提高处理效率,节约人力成本。节约人力成本。节约人力成本。

【技术实现步骤摘要】
数据血缘解析方法及装置


[0001]本说明书涉及大数据
,特别涉及一种数据血缘解析方法及装置。

技术介绍

[0002]当前正处于数据信息时代,每时每刻都在产生大量数据。任何数据从产生、处理加工、融合流转,到最终消亡,数据之间自然会形成一种关系,称之为数据的血缘关系。数据血缘,即一个表的生成过程链路以及它依赖的表的生成过程链路。数据血缘的解析目前普遍是通过人工维护的,而且少有对多条SQL的血缘解析方案。
[0003]针对上述问题,目前尚未提出有效的解决方案。

技术实现思路

[0004]本说明书实施例提供了一种数据血缘解析方法及装置,以解决现有技术中缺少对多条SQL的血缘解析方案的问题。
[0005]本说明书实施例提供了一种数据血缘解析方法,包括:
[0006]接收血缘解析请求;所述血缘解析请求中携带有多条结构化查询语言脚本;
[0007]对所述多条结构化查询语言脚本中各结构化查询语言脚本进行语法分析,得到所述各结构化查询语言脚本对应的抽象语法树;
[0008]从所述各结构化查询语言脚本对应的抽象语法树提取源表源字段到目标表目标字段的映射关系;
[0009]对提取到的源表源字段到目标表目标字段的映射关系进行关联分析,得到所述多条结构化查询语言脚本的血缘解析结果。
[0010]在一个实施例中,对所述多条结构化查询语言脚本中各结构化查询语言脚本进行语法分析,得到所述各结构化查询语言脚本对应的抽象语法树,包括:
[0011]对所述多条结构化查询语言脚本的合法性进行校验;
[0012]在校验通过的情况下,对所述多条结构化查询语言脚本中各结构化查询语言脚本进行语法分析,得到所述各结构化查询语言脚本对应的抽象语法树。
[0013]在一个实施例中,从所述各结构化查询语言脚本对应的抽象语法树提取源表源字段到目标表目标字段的映射关系,包括:
[0014]从insert子句中提取出目标表和目标字段;从select子句中提取源字段;从from子句中提取出源表,得到从源表的源字段到目标表的目标字段的映射关系。
[0015]在一个实施例中,对提取到的源表源字段到目标表目标字段的映射关系进行关联分析,得到所述多条结构化查询语言脚本的血缘解析结果,包括:
[0016]基于提取到的源表源字段到目标表目标字段的映射关系,生成Neo4j语句;
[0017]将所述Neo4j语句存储至Neo4j数据库中,以通过Neo4j数据库中的节点和关系生成血缘关系网,得到血缘解析结果。
[0018]在一个实施例中,对提取到的源表源字段到目标表目标字段的映射关系进行关联
分析,得到所述多条结构化查询语言脚本的血缘解析结果,包括:
[0019]遍历提取到的源表源字段到目标表目标字段的映射关系,进行首尾拼接操作,以剔除中间关系,生成直接映射关系集合,得到所述多条结构化查询语言脚本的血缘解析结果。
[0020]本说明书实施例还提供了一种数据血缘解析装置,包括:
[0021]接收模块,用于接收血缘解析请求;所述血缘解析请求中携带有多条结构化查询语言脚本;
[0022]语法分析模块,用于对所述多条结构化查询语言脚本中各结构化查询语言脚本进行语法分析,得到所述各结构化查询语言脚本对应的抽象语法树;
[0023]提取模块,用于从所述各结构化查询语言脚本对应的抽象语法树提取源表源字段到目标表目标字段的映射关系;
[0024]关联分析模块,用于对提取到的源表源字段到目标表目标字段的映射关系进行关联分析,得到所述多条结构化查询语言脚本的血缘解析结果。
[0025]在一个实施例中,所述语法分析模块具体包括:
[0026]校验单元,用于对所述多条结构化查询语言脚本的合法性进行校验;
[0027]分析单元,在校验通过的情况下,对所述多条结构化查询语言脚本中各结构化查询语言脚本进行语法分析,得到所述各结构化查询语言脚本对应的抽象语法树。
[0028]本说明书实施例还提供一种计算机设备,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现上述任意实施例中所述的数据血缘解析方法的步骤。
[0029]本说明书实施例还提供一种计算机可读存储介质,其上存储有计算机指令,所述指令被执行时实现上述任意实施例中所述的数据血缘解析方法的步骤。
[0030]本说明书实施例还提供一种计算机程序产品,包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现上述任意实施例中所述的数据血缘解析方法的步骤。
[0031]在本说明书实施例中,提供了一种数据血缘解析方法,服务器可以接收血缘解析请求,所述血缘解析请求中可以携带有多条结构化查询语言脚本,可以对所述多条结构化查询语言脚本中各结构化查询语言脚本进行语法分析,得到所述各结构化查询语言脚本对应的抽象语法树,可以从所述各结构化查询语言脚本对应的抽象语法树提取源表源字段到目标表目标字段的映射关系,之后,对提取到的源表源字段到目标表目标字段的映射关系进行关联分析,得到所述多条结构化查询语言脚本的血缘解析结果。上述方案中,可以同时对多条SQL脚本进行分析,通过多个抽象语法树解析字段映射关系,通过对映射关系进行关联分析,可以得到多条SQL脚本对应的血缘解析结果,可以自动对多条结构化查询语言脚本进行血缘解析,提高处理效率,节约人力成本。
附图说明
[0032]此处所说明的附图用来提供对本说明书的进一步理解,构成本说明书的一部分,并不构成对本说明书的限定。在附图中:
[0033]图1示出了本说明书一实施例中数据血缘解析方法的应用场景的示意图;
[0034]图2示出了本说明书一实施例中的数据血缘解析方法的流程图;
[0035]图3示出了本说明书一实施例中的数据血缘解析方法的流程图;
[0036]图4示出了本说明书一实施例中的数据血缘解析装置的示意图;
[0037]图5示出了本说明书一实施例中的计算机设备的示意图。
具体实施方式
[0038]下面将参考若干示例性实施方式来描述本说明书的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本说明书,而并非以任何方式限制本说明书的范围。相反,提供这些实施方式是为了使本说明书公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
[0039]本领域的技术人员知道,本说明书的实施方式可以实现为一种系统、装置设备、方法或计算机程序产品。因此,本说明书公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
[0040]本说明书实施例提供了一种数据血缘解析方法。图1示出了本说明书一实施例中数据血缘解析方法的应用场景的示意图。如图1所示,服务器可以接受客户端发送的血缘解析请求。血缘解析请求中可以包括多条结构化查询语言(St本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据血缘解析方法,其特征在于,包括:接收血缘解析请求;所述血缘解析请求中携带有多条结构化查询语言脚本;对所述多条结构化查询语言脚本中各结构化查询语言脚本进行语法分析,得到所述各结构化查询语言脚本对应的抽象语法树;从所述各结构化查询语言脚本对应的抽象语法树提取源表源字段到目标表目标字段的映射关系;对提取到的源表源字段到目标表目标字段的映射关系进行关联分析,得到所述多条结构化查询语言脚本的血缘解析结果。2.根据权利要求1所述的数据血缘解析方法,其特征在于,对所述多条结构化查询语言脚本中各结构化查询语言脚本进行语法分析,得到所述各结构化查询语言脚本对应的抽象语法树,包括:对所述多条结构化查询语言脚本的合法性进行校验;在校验通过的情况下,对所述多条结构化查询语言脚本中各结构化查询语言脚本进行语法分析,得到所述各结构化查询语言脚本对应的抽象语法树。3.根据权利要求1所述的数据血缘解析方法,其特征在于,从所述各结构化查询语言脚本对应的抽象语法树提取源表源字段到目标表目标字段的映射关系,包括:从insert子句中提取出目标表和目标字段;从select子句中提取源字段;从from子句中提取出源表,得到从源表的源字段到目标表的目标字段的映射关系。4.根据权利要求1所述的数据血缘解析方法,其特征在于,对提取到的源表源字段到目标表目标字段的映射关系进行关联分析,得到所述多条结构化查询语言脚本的血缘解析结果,包括:基于提取到的源表源字段到目标表目标字段的映射关系,生成Neo4j语句;将所述Neo4j语句存储至Neo4j数据库中,以通过Neo4j数据库中的节点和关系生成血缘关系网,得到血缘解析结果。5.根据权利要求1所述的数据血缘解析方法,其特征在于...

【专利技术属性】
技术研发人员:郑泽奇陈耀星
申请(专利权)人:中国银行股份有限公司
类型:发明
国别省市:

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

1