一种元数据流向分析方法及系统技术方案

技术编号:24251517 阅读:31 留言:0更新日期:2020-05-22 23:33
本发明专利技术公开了一种元数据流向分析方法及系统,该方法包括以下步骤:(1)获取目标SQL语句;(2)将SQL语句解析为Insert部分与Select部分;(3)对Insert部分进行解析,获得Insert目标表和Insert目标表字段,对Select部分进行解析,获得Select内容部分与Form表关联部分;(4)将查询到的结果重新组装,得到结果。本发明专利技术能够对复杂的SQL语句进行数据流向分析,分析导入数仓数据库表中的数据来源,能够明确表中的每一个字段来源,从而达到便于追溯数据来源的效果。

A method and system of metadata flow analysis

【技术实现步骤摘要】
一种元数据流向分析方法及系统
本专利技术属于数据库
,尤其涉及一种元数据流向分析方法及系统。
技术介绍
现在银行数据越来越多、每天数据量越来越大,面对分散的数据,很多银行建立了数据仓库,将所需数据从原来的数据中抽取出来,进行加工和集成之后,进入数据仓库。数据仓库的分析数据一般分为日、周、月、季、年等,进入书藏的数据都要经过数据清洗、加工、集成、统计等多个步骤,但经了很多步骤以后,最终进入数仓的数据来源在哪,已经无从知晓。数据处理普遍的做法都是通过SQL语句,从源数据库中导出数据,根据日、周、月、季、年等时间跨度,统计结果后进入数仓,从SQL语句人工的分析数据的流向,费时费力,每次SQL变更需要人分析SQL语句,非常不便。现有的第三方SQL语法分析框架、项目,只能分析SQL语法,没有分析数据流向。
技术实现思路
本专利技术克服了现有技术的不足,提供一种元数据流向分析方法及系统,以解决现有技术中存在的问题。为达到上述目的,本专利技术采用的技术方案为:一种元数据流向分析方法,该方法包括以下步骤:(1)获取目标SQL语句;(2)将SQL语句解析为Insert部分与Select部分;(3)对Insert部分进行解析,获得Insert目标表和Insert目标表字段,对Select部分进行解析,获得Select内容部分与Form表关联部分;(4)将查询到的结果重新组装,得到结果。本专利技术一个较佳实施例中,在步骤(1)与步骤(2)之间还包括以下步骤:对SQL语句的相关信息进行判断。本专利技术一个较佳实施例中,SQL语句的相关信息包括SQL语句的长度、引用计数、表关系列表以及table计数。本专利技术一个较佳实施例中,在步骤(3)与步骤(4)之间还可包括以下步骤:对Select内容部分进行解析,获取插入Insert目标表的源数据字段;对Form表关联部分进行解析,获得数据来源。本专利技术一个较佳实施例中,在获取插入Insert目标表的源数据字段之前,还需要对Select内容部分的类型进行判断,如为混合类型,则采用SQL函数识别字段信息,不是混合类型,则直接记录字段信息。本专利技术一个较佳实施例中,在获得数据来源之前,需要对Form表关联部分进行表关联判断,正确则直接进行查表,错误则对Select内容部分的Form表关联部分再进行解析。本专利技术一个较佳实施例中,在步骤(4)中,根据关联关系获得插入Insert目标表的字段,得到相对应的源数据表和字段信息。本专利技术还提供了一种元数据流向分析系统,包括接收模块,用于获取目标SQL语句;第一判断模块,用于对SQL语句的基本信息进行判断;第二判断模块,用于对Select内容部分的类型进行判断,判断Select内容部分的类型是否为混合类型;第三判断模块,用于对Form表关联部分进行判断,判断Form表关联部分是否需要直接查表。本专利技术一个较佳实施例中,还包括第四判断模块,用于对Form表关联部分的单表和多表进行判断。本专利技术一个较佳实施例中,还包括整合模块,用于对所有的字段信息、表名信息、表别名信息进行整合。本专利技术解决了
技术介绍
中存在的缺陷,本专利技术具备以下有益效果:本专利技术能够对复杂的SQL语句进行数据流向分析,分析导入数仓数据库表中的数据来源,能够明确表中的每一个字段来源,从而达到便于追溯数据来源的效果。附图说明下面结合附图和实施例对本专利技术进一步说明;图1为本专利技术优选实施例的流程图;图2为本专利技术优选实施例中生成语法树的示意图;具体实施方式现在结合附图和实施例对本专利技术作进一步详细的说明,这些附图均为简化的示意图,仅以示意方式说明本专利技术的基本结构,因此其仅显示与本专利技术有关的构成。如图1与图2所示,一种元数据流向分析方法,该方法包括以下步骤:(1)获取目标SQL语句;(2)将SQL语句解析为Insert部分与Select部分;(3)对Insert部分进行解析,获得Insert目标表和Insert目标表字段,对Select部分进行解析,获得Select内容部分与Form表关联部分;(4)将查询到的结果重新组装,得到结果。在本实施例中,首先对SQL语句进行语法分析,生成如图2所示的语法树,而后遍历整个语法树,分别解析Insert部分与Select部分,解析Insert部分后,获得导入的目标表和目标表字段,解析Select部分后,获得Select内容部分与Form表关联部分,再解析Select内容部分可以获取到插入Insert目标表的源数据字段有哪些,解析Form表关联部分,可以获得数据来源于哪些表,再将解析查询到的结果重新组装,获得结果,根据关联关系获得插入目标表的字段,相对应的源数据表和字段信息。进一步地,在步骤(1)与步骤(2)之间还包括以下步骤:对SQL语句的相关信息进行判断。具体地,SQL语句的相关信息包括SQL语句的长度、引用计数、表关系列表以及table计数。进一步地,在步骤(3)与步骤(4)之间还可包括以下步骤:对Select内容部分进行解析,获取插入Insert目标表的源数据字段;对Form表关联部分进行解析,获得数据来源。具体地,在获取插入Insert目标表的源数据字段之前,还需要对Select内容部分的类型进行判断,如为混合类型,则采用SQL函数识别字段信息,不是混合类型,则直接记录字段信息。具体地,在获得数据来源之前,需要对Form表关联部分进行表关联判断,正确则直接进行查表,错误则对Select内容部分的Form表关联部分再进行解析。进一步地,在步骤(4)中,根据关联关系获得插入Insert目标表的字段,得到相对应的源数据表和字段信息。本专利技术还提供了一种元数据流向分析系统,包括接收模块,用于获取目标SQL语句;第一判断模块,用于对SQL语句的基本信息进行判断;第二判断模块,用于对Select内容部分的类型进行判断,判断Select内容部分的类型是否为混合类型;第三判断模块,用于对Form表关联部分进行判断,判断Form表关联部分是否需要直接查表。进一步地,还包括第四判断模块,用于对Form表关联部分的单表和多表进行判断。进一步地,还包括整合模块,用于对所有的字段信息、表名信息、表别名信息进行整合。总而言之,本专利技术能够对复杂的SQL语句进行数据流向分析,分析导入数仓数据库表中的数据来源,能够明确表中的每一个字段来源,从而达到便于追溯数据来源的效果。以上依据本专利技术的理想实施例为启示,通过上述的说明内容,相关人员完全可以在不偏离本项专利技术技术思想的范围内,进行多样的变更以及修改。本项专利技术的技术性范围并不局限于说明书上的内容,必须要根据权利要求范围来确定技术性范围。本文档来自技高网
...

【技术保护点】
1.一种元数据流向分析方法,其特征在于,该方法包括以下步骤:/n(1)获取目标SQL语句;/n(2)将SQL语句解析为Insert部分与Select部分;/n(3)对Insert部分进行解析,获得Insert目标表和Insert目标表字段,对Select部分进行解析,获得Select内容部分与Form表关联部分;/n(4)将查询到的结果重新组装,得到结果。/n

【技术特征摘要】
1.一种元数据流向分析方法,其特征在于,该方法包括以下步骤:
(1)获取目标SQL语句;
(2)将SQL语句解析为Insert部分与Select部分;
(3)对Insert部分进行解析,获得Insert目标表和Insert目标表字段,对Select部分进行解析,获得Select内容部分与Form表关联部分;
(4)将查询到的结果重新组装,得到结果。


2.根据权利要求1所述的一种元数据流向分析方法,其特征在于,在步骤(1)与步骤(2)之间还包括以下步骤:对SQL语句的相关信息进行判断。


3.根据权利要求2所述的一种元数据流向分析方法,其特征在于,SQL语句的相关信息包括SQL语句的长度、引用计数、表关系列表以及table计数。


4.根据权利要求1所述的一种元数据流向分析方法,其特征在于,在步骤(3)与步骤(4)之间还可包括以下步骤:
对Select内容部分进行解析,获取插入Insert目标表的源数据字段;
对Form表关联部分进行解析,获得数据来源。


5.根据权利要求4所述的一种元数据流向分析方法,其特征在于,在获取插入Insert目标表的源数据字段之前,还需要对Select内容部分的类型进行判断,如为混合类...

【专利技术属性】
技术研发人员:李振威刘建树唐金旗
申请(专利权)人:苏州银丰睿哲信息科技有限公司
类型:发明
国别省市:江苏;32

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

1