System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及数据处理,特别是涉及一种指标血缘解析方法及装置。
技术介绍
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.一种指标血缘解析装置,其特征在于,所述装置包括:
<...【专利技术属性】
技术研发人员:肖钢,马丽霞,王嘉俊,杨腾,许哲,
申请(专利权)人:中信建投证券股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。