System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种指标血缘解析方法及装置制造方法及图纸_技高网

一种指标血缘解析方法及装置制造方法及图纸

技术编号:41331592 阅读:8 留言:0更新日期:2024-05-20 09:52
本发明专利技术实施例提供了一种指标血缘解析方法及装置,涉及数据处理技术领域,具体方案为:获取结构化查询语言初始SQL脚本;遍历所述初始SQL脚本中的各SQL语句,若遍历到所述初始SQL脚本中包括模糊查询语句的SQL语句,则根据目标模糊查询语句中待查询表包含的项数据,对所述目标模糊查询语句进行替换处理,得到目标SQL脚本;获取所述目标SQL脚本中包含的指标数据,并获取所述初始SQL脚本处理的源数据;根据所述目标SQL脚本,在各个源数据中查询所述指标数据的来源数据。应用本发明专利技术实施例提供的方案,能够实现对指标数据进行血缘解析。

【技术实现步骤摘要】

本专利技术涉及数据处理,特别是涉及一种指标血缘解析方法及装置


技术介绍

1、随着信息化的加速到来和大数据技术的不断发展,数据的跟踪和溯源分析变得愈发重要。追溯数据的来源可以称为对数据进行血缘解析。

2、指标数据是企业重要的数据汇集结果,通常是对多个源表进行数据处理得到的数据,指标数据错误会对企业造成巨大损失,因此,需要提供一种针对指标数据的指标血缘解析方案,以在多个源表包含的各种数据中追溯指标数据中各种指标的来源。


技术实现思路

1、本专利技术实施例的目的在于提供一种指标血缘解析方法及装置,以对指标数据进行血缘解析。具体技术方案如下:

2、第一方面,本专利技术实施例提供了一种指标血缘解析方法,所述方法包括:

3、获取结构化查询语言(structured query language)初始sql脚本,其中,所述初始sql脚本用于进行数据处理得到指标数据;

4、遍历所述初始sql脚本中的各sql语句,若遍历到所述初始sql脚本中包括模糊查询语句的sql语句,则根据目标模糊查询语句中待查询表包含的项数据,对所述目标模糊查询语句进行替换处理,得到目标sql脚本,其中,所述目标模糊查询语句为遍历到的sql语句中的模糊查询语句;

5、获取所述目标sql脚本中包含的指标数据,并获取所述初始sql脚本处理的源数据;

6、根据所述目标sql脚本,在各个源数据中查询所述指标数据的来源数据。

7、本专利技术的一个实施例中,所述根据所述目标模糊查询语句中待查询表包含的项数据,对所述目标模糊查询语句进行替换处理,包括:

8、将包含所述目标模糊查询语句的sql语句作为初始的待处理语句,检测待处理语句中是否包含子查询语句;

9、若包含,则将待处理语句中的子查询语句作为新的待处理语句,并返回所述检测待处理语句中是否包含子查询语句的步骤,直至检测出待处理语句中不包含子查询语句;

10、将不包含子查询语句的待处理语句作为初始的待替换语句,检测待替换语句是否属于模糊查询语句;

11、若为否,则将包含待替换语句的查询语句作为新的待替换语句,返回所述检测待替换语句是否属于模糊查询语句的步骤;

12、若为是,则确定所述待替换语句中待查询表包含的各个项数据,并将所述待替换语句中的查询项替换为目标信息,得到已替换语句,其中,所述目标信息中包含所确定项数据及其所在待查询表的信息;

13、将包含所述已替换语句的查询语句作为新的待替换语句,返回所述检测待替换语句是否属于模糊查询语句的步骤,直至整个sql语句检测完成。

14、本专利技术的一个实施例中,所述将包含所述目标模糊查询语句的sql语句作为初始的待处理语句,检测待处理语句中是否包含子查询语句,包括:

15、判断包含所述目标模糊查询语句的第一sql语句是否属于关联语句;

16、若为是,则确定所述第一sql语句中记录的目标表,并在所述第一sql语句中关联的各个子查询语句中,确定记录有指标数据的目标查询语句,根据所述目标表的信息以及所述目标查询语句,在所述初始sql脚本中重构查询语句,并删除所述目标查询语句;

17、将重构的查询语句作为初始的待处理语句,检测待处理语句中是否包含子查询语句。

18、本专利技术的一个实施例中,在所述遍历所述初始sql脚本中的各sql语句之前,还包括:

19、对所述初始sql脚本进行脚本清洗。

20、本专利技术的一个实施例中,所述对所述初始sql脚本进行脚本清洗,包括:

21、删除所述sql脚本中的注释字段。

22、本专利技术的一个实施例中,所述对所述初始sql脚本进行脚本清洗,包括:

23、所述对所述初始sql脚本进行脚本清洗,包括:

24、对所述初始sql脚本进行字段匹配,得到所述初始sql脚本中的目标字段,其中,所述目标字段包含条件字段和字符串字段中的至少一种;

25、对所述目标字段进行字段替换;

26、在所述目标sql脚本,在各个源数据中查询所述指标数据的来源数据之前,还包括:

27、对目标sql脚本进行针对所述目标字段的字段还原。

28、本专利技术的一个实施例中,所述获取所述目标sql脚本中包含的指标数据,包括:

29、针对所述目标sql脚本中的每一sql语句,遍历该sql语句中的指标数据;若首次遍历到该sql语句中的指标数据,则对该sql语句进行标记,生成该sql语句的标记对应的指标集合,若再次遍历到该sql语句中的其他指标数据,则在所述指标集合中存储遍历到的其他指标数据;

30、所述根据所述目标sql脚本,在各个源数据中查询所述指标数据的来源数据,包括:

31、在各个源数据中,查询第二sql语句的标记对应的指标集合中包含的指标数据的来源数据,其中,所述第二sql语句为所述目标sql脚本中已标记的语句。

32、本专利技术的一个实施例中,

33、所述对该sql语句进行标记,包括:

34、根据首次遍历到的指标数据及其所在的指标表的信息,对该sql语句进行标记;

35、在所述确定所述目标sql脚本中已标记的第二sql语句之前,还包括:

36、对所述目标sql脚本中已存在的各个标记进行唯一字段替换。

37、第二方面,本专利技术实施例提供了一种指标血缘解析装置,所述装置包括:

38、信息获取模块,用于获取结构化查询语言初始sql脚本,其中,所述初始sql脚本用于进行数据处理得到指标数据;

39、脚本遍历模块,用于遍历所述初始sql脚本中的各sql语句,若遍历到所述初始sql脚本中包括模糊查询语句的sql语句,则根据目标模糊查询语句中待查询表包含的项数据,对所述目标模糊查询语句进行替换处理,得到目标sql脚本,其中,所述目标模糊查询语句为遍历到的sql语句中的模糊查询语句;

40、数据获取模块,用于获取所述目标sql脚本中包含的指标数据,并获取所述初始sql脚本处理的源数据;

41、来源查询模块,用于根据所述目标sql脚本,在各个源数据中查询所述指标数据的来源数据。

42、本专利技术的一个实施例中,所述脚本遍历模块,具体用于:

43、将包含所述目标模糊查询语句的sql语句作为初始的待处理语句,检测待处理语句中是否包含子查询语句;

44、若包含,则将待处理语句中的子查询语句作为新的待处理语句,并返回所述检测待处理语句中是否包含子查询语句的步骤,直至检测出待处理语句中不包含子查询语句;

45、将不包含子查询语句的待处理语句作为初始的待替换语句,检测待替换语句是否属于模糊查询语句;

46、若为否,则将包含待替换语句的查询语句作为新的待替换语句,返回所述检测待替换语句是否属于模糊查询语句的步骤;<本文档来自技高网...

【技术保护点】

1.一种指标血缘解析方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述根据所述目标模糊查询语句中待查询表包含的项数据,对所述目标模糊查询语句进行替换处理,包括:

3.根据权利要求2所述的方法,其特征在于,所述将包含所述目标模糊查询语句的SQL语句作为初始的待处理语句,检测待处理语句中是否包含子查询语句,包括:

4.根据权利要求1-3中任一项所述的方法,其特征在于,在所述遍历所述初始SQL脚本中的各SQL语句之前,还包括:

5.根据权利要求4所述的方法,其特征在于,所述对所述初始SQL脚本进行脚本清洗,包括:

6.根据权利要求4所述的方法,其特征在于,

7.根据权利要求1-3中任一项所述的方法,其特征在于,所述获取所述目标SQL脚本中包含的指标数据,包括:

8.根据权利要求7所述的方法,其特征在于,所述对该SQL语句进行标记,包括:

9.一种指标血缘解析装置,其特征在于,所述装置包括:

10.根据权利要求9所述的装置,其特征在于,所述脚本遍历模块,具体用于:

11.根据权利要求9或10所述的装置,其特征在于,所述脚本遍历模块,具体用于:

12.根据权利要求9-11中任一项所述的装置,其特征在于,所述装置还包括:

13.根据权利要求12所述的装置,其特征在于,所述脚本清洗模块,具体用于:

14.根据权利要求12所述的装置,其特征在于,所述脚本清洗模块,具体用于:

15.根据权利要求9-11中任一项所述的装置,其特征在于,所述数据获取模块,包括:

16.根据权利要求15所述的装置,其特征在于,所述字段标记子模块,具体用于:

17.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;

18.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-8任一所述的方法步骤。

...

【技术特征摘要】

1.一种指标血缘解析方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述根据所述目标模糊查询语句中待查询表包含的项数据,对所述目标模糊查询语句进行替换处理,包括:

3.根据权利要求2所述的方法,其特征在于,所述将包含所述目标模糊查询语句的sql语句作为初始的待处理语句,检测待处理语句中是否包含子查询语句,包括:

4.根据权利要求1-3中任一项所述的方法,其特征在于,在所述遍历所述初始sql脚本中的各sql语句之前,还包括:

5.根据权利要求4所述的方法,其特征在于,所述对所述初始sql脚本进行脚本清洗,包括:

6.根据权利要求4所述的方法,其特征在于,

7.根据权利要求1-3中任一项所述的方法,其特征在于,所述获取所述目标sql脚本中包含的指标数据,包括:

8.根据权利要求7所述的方法,其特征在于,所述对该sql语句进行标记,包括:

9.一种指标血缘解析装置,其特征在于,所述装置包括:

<...

【专利技术属性】
技术研发人员:肖钢马丽霞王嘉俊杨腾许哲
申请(专利权)人:中信建投证券股份有限公司
类型:发明
国别省市:

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

1