基于元数据的字段血缘分析方法及装置制造方法及图纸

技术编号:27293090 阅读:18 留言:0更新日期:2021-02-06 12:02
本发明专利技术公开了基于元数据的字段血缘分析方法及装置、电子设备、存储介质。方法包括:分析数据库的操作语句,确定出所述操作语句中的各个被操作字段以及所述操作语句访问的各源数据表和目的数据表;将所述各个被操作字段中区分为已知来源字段和未知来源字段;基于所述各源数据表的元数据有源化所述未知来源字段,以得到相应的已知来源字段;基于所述已知来源字段确定所述目的数据表中相应的目标字段,并建立所述目标字段与所述已知来源字段之间的血缘关系。从而可以基于操作语句中的来源表的字段来进行有源化,得到更完整、准确的血缘关系。系。系。

【技术实现步骤摘要】
基于元数据的字段血缘分析方法及装置


[0001]本专利技术涉及数据处理
,特别涉及基于元数据的字段血缘分析方法及装置、电子设备、存储介质备。

技术介绍

[0002]在计算平台上,数据开发人员每天会提交各种类型的作业来加工、分析数据,各种作业之间相互依赖,当某个作业失败后,数据开发人员需要定位问题;或者需要修改某份数据的时候,需要查看有哪些依赖需要被修改的数据的任务,以此来评估问题的影响。上述需求和现象,体现出在数据的产生、加工、融合、流转和消亡过程中,数据之间形成的一种关系。借鉴人类社会中类似的关系,将数据之间的这种关系称之为数据的血缘关系。在很多场合下,需要尽可能精确地解析出所处理的数据之间的血缘关系。

技术实现思路

[0003]本专利技术提供一种基于元数据的字段血缘分析方法及装置、电子设备、存储介质,以解决现有技术中的不足。
[0004]具体地,本专利技术是通过如下技术方案实现的:
[0005]第一方面,提供一种字段血缘分析方法,包括:
[0006]分析数据库的操作语句,确定出所述操作语句中的各个被操作字段以及所述操作语句访问的各源数据表和目的数据表;
[0007]将所述各个被操作字段中区分为已知来源字段和未知来源字段;
[0008]基于所述各源数据表的元数据有源化所述未知来源字段,以得到相应的已知来源字段;
[0009]基于所述已知来源字段确定所述目的数据表中相应的目标字段,并建立所述目标字段与所述已知来源字段之间的血缘关系。
[0010]可选地,分析数据仓库的操作语句,确定出所述操作语句中的各个被操作字段以及所述操作语句访问的源数据表和目的数据表,包括:
[0011]对所述操作语句进行词法分析,生成结构化语法树;
[0012]遍历所述结构化语法树,以确定所述被操作字段、所述目的数据表和所述源数据表。
[0013]可选地,对所述操作语句进行词法分析,生成结构化语法树,包括:
[0014]基于语义分析算法对所述操作语句进行关键词划分;
[0015]根据语法规则将各个关键词构建成所述结构化语法树。
[0016]可选地,
[0017]若所述源数据表的数量为1,基于所述各源数据表的元数据有源化所述未知来源字段,包括:基于所述源数据表的表信息,对未知来源字段进行有源化改写,以得到相应的已知来源字段;
[0018]若所述源数据表的数量大于1,基于所述各源数据表的元数据有源化所述未知来源字段,包括:基于所述各源数据表的元数据有源化所述未知来源字段,包括:分析所述各源数据表的元数据,以确定所述各源数据表包含的字段;将所述未知来源字段与所述各源数据表的字段进行比对,以确定所述未知来源字段所属的源数据表;基于所述所属的源数据表的表信息,对对应的未知来源字段进行有源化改写,以得到相应的已知来源字段。
[0019]可选地,所述方法还包括:
[0020]识别所述操作语句中的目标字符,并根据语法规则确定所述目标字符表征的字段的源数据表;
[0021]将所述目标字符表征的字段的源数据表中所有字段确定为所述未知来源字段。
[0022]第二方面,提供一种字段血缘分析装置,包括:
[0023]分析模块,用于分析数据库的操作语句,确定出所述操作语句中的各个被操作字段以及所述操作语句访问的各源数据表和目的数据表;
[0024]区分模块,用于将所述各个被操作字段中区分为已知来源字段和未知来源字段;
[0025]有源化模块,用于基于所述各源数据表的元数据有源化所述未知来源字段,以得到相应的已知来源字段;
[0026]建立模块,用于基于所述已知来源字段确定所述目的数据表中相应的目标字段,并建立所述目标字段与所述已知来源字段之间的血缘关系。
[0027]可选地,所述分析模块,包括:
[0028]分析单元,用于对所述操作语句进行词法分析,生成结构化语法树;
[0029]确定单元,用于遍历所述结构化语法树,以确定所述被操作字段、所述目的数据表和所述源数据表。
[0030]可选地,所述分析单元具体用于:
[0031]基于语义分析算法对所述操作语句进行关键词划分;
[0032]根据语法规则将各个关键词构建成所述结构化语法树。
[0033]可选地,
[0034]若所述源数据表的数量为1,所述有源化模块用于:基于所述源数据表的表信息,对未知来源字段进行有源化改写,以得到相应的已知来源字段;
[0035]若所述源数据表的数量大于1,所述有源化模块用于:基于所述各源数据表的元数据有源化所述未知来源字段,包括:分析所述各源数据表的元数据,以确定所述各源数据表包含的字段;将所述未知来源字段与所述各源数据表的字段进行比对,以确定所述未知来源字段所属的源数据表;基于所述所属的源数据表的表信息,对对应的未知来源字段进行有源化改写,以得到相应的已知来源字段。
[0036]可选地,所述装置还包括:
[0037]识别模块,用于识别所述操作语句中的目标字符,并根据语法规则确定所述目标字符表征的字段的源数据表;
[0038]确定模块,用于将所述目标字符表征的字段的源数据表中所有字段确定为所述未知来源字段。
[0039]第三方面,提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述的方法。
等;用于识别目的数据表的关键词例如可以是“insert into”。
[0056]from子句指定了select语句中字段的来源,insert into语句用于向表格中插入新的行,insert into后跟目的数据表,若以下述操作语句a为例,分析结果如下:
[0057]操作语句a:insert into table1 select stu.name,stu.score,number from stu,data;
[0058]被操作字段为:stu.name、stu.score、number;
[0059]源数据表为:stu、data;
[0060]目的数据表为:table1。
[0061]在另一个实施例中,参见图2,可以借助结构化语法树确定被操作字段以及源数据表,可以包括以下步骤:
[0062]步骤101-1、对操作语句进行词法分析,生成结构化语法树。
[0063]结构化语法树也即将操作语句a的语法结构以树状表示,树上的每个节点都表示操作语句a中的一种结构。
[0064]生成结构化语法树时,可以先基于语义分析算法对操作语句a进行关键词划分,还是以上述SQL操作语句a为例,得到的分词结果可以为,“insert into”、“table1”、“select”、“stu.name”、“stu.name”、“number”、“from”、“stu”、“data”;再根据语法规则将各个关键词构建成结构化本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于元数据的字段血缘分析方法,其特征在于,包括:分析数据库的操作语句,确定出所述操作语句中的各个被操作字段以及所述操作语句访问的各源数据表和目的数据表;将所述各个被操作字段中区分为已知来源字段和未知来源字段;基于所述各源数据表的元数据有源化所述未知来源字段,以得到相应的已知来源字段;基于所述已知来源字段确定所述目的数据表中相应的目标字段,并建立所述目标字段与所述已知来源字段之间的血缘关系。2.根据权利要求1所述的基于元数据的字段血缘分析方法,其特征在于,分析数据仓库的操作语句,确定出所述操作语句中的各个被操作字段以及所述操作语句访问的源数据表和目的数据表,包括:对所述操作语句进行词法分析,生成结构化语法树;遍历所述结构化语法树,以确定所述被操作字段、所述目的数据表和所述源数据表。3.根据权利要求2所述的基于元数据的字段血缘分析方法,其特征在于,对所述操作语句进行词法分析,生成结构化语法树,包括:基于语义分析算法对所述操作语句进行关键词划分;根据语法规则将各个关键词构建成所述结构化语法树。4.根据权利要求1所述的基于元数据的字段血缘分析方法,其特征在于,若所述源数据表的数量为1,基于所述各源数据表的元数据有源化所述未知来源字段,包括:基于所述源数据表的表信息,对未知来源字段进行有源化改写,以得到相应的已知来源字段;若所述源数据表的数量大于1,基于所述各源数据表的元数据有源化所述未知来源字段,包括:基于所述各源数据表的元数据有源化所述未知来源字段,包括:分析所述各源数据表的元数据,以确定所述各源数据表包含的字段;将所述未知来源字段与所述各源数据表的字段进行比对,以确定所述未知来源字段所属的源数据表;基于所述所属的源数据表的表信息,对对应的未知来源字段进行有源化改写,以得到相应的已知来源字段。5.根据权利要求1所述的基于元数据的字段血缘分析方法,其特征在于,所述方法还包括:识别所述操作语句中的目标字符,并根据语法规则确定所述目标字符表征的字段的源数据表;将所述目标字符表征的字段的源数据表中所有字段确定为所述未知来源字段。6.一种基于元数据的字段血缘分析装置,其特征在于,包括:分析模块,用于分析数据库的操作语句,确定出所述操作语句中的各个被操作字...

【专利技术属性】
技术研发人员:郑昊单军
申请(专利权)人:杭州数梦工场科技有限公司
类型:发明
国别省市:

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

1