本技术属于互联网,尤其涉及一种信息处理方法、装置、设备、计算机存储介质及计算机程序产品。
背景技术:
1、随着企业数字化转型,数字化改革的推进,数据中台的应用日益广泛。数据中台建设初期或者接入新业务时,数据量小,过于复杂的抽取-转换-加载(extract-transform-load,etl)任务执行流程以及一些复杂、低效的结构化查询语言(structured querylanguage,sql)在执行时问题暴露不出来,只有依赖有经验的技术人员人工审核才能发现问题。随着数据中台不断接入新的业务和数据,数据规模越来越大,复杂的etl任务执行流程和低效sql对资源的消耗越来越大,对业务时效性的影响也越来越严重,从而会改变sql的执行计划,对执行效率产生负面影响。
2、因此,亟需对数据中台程序复杂etl流程及sql的复杂度进行评估,以及时进行优化,从而保障sql的高效执行,使得数据中台资源合理被利用。
技术实现思路
1、本技术实施例提供一种信息处理方法、装置、设备、计算机存储介质及计算机程序产品,能够对数据中台程序etl流程及sql的复杂度进行评估,以及时进行优化,从而保障sql的高效执行,使得数据中台资源合理被利用。
2、第一方面,本技术实施例提供一种信息处理方法,包括:
3、获取etl任务中的结构化查询语言清单,结构化查询语言清单包括多个结构化查询语言;
4、对结构化查询语言清单进行执行流程复杂度评估,得到etl任务的执行流程复杂度评分;
5、对多个结构化查询语言进行语法复杂度评估,得到结构化查询语言对应的语法复杂度评分;
6、根据执行流程复杂度评分以及语法复杂度评分,按照预设的优化规则生成优化建议信息。
7、在一种可选的实施方式中,执行流程复杂度评分包括扫描行数复杂度评分、索引命中复杂度评分、过滤比例复杂度评分或者临时表复杂度评分中的至少一者。
8、在一种可选的实施方式中,对结构化查询语言清单进行执行流程复杂度评估,得到etl任务的执行流程复杂度评分,包括:
9、对结构化查询语言清单进行执行流程分析,得到执行流程分析结果,执行流程分析结果包括结构化查询语言清单中多个结构化查询语言的扫描行数、索引命中、过滤比例以及临时表信息;
10、按照预设的扫描行数复杂度计算规则对扫描行数进行计算,得到扫描行数复杂度评分;
11、按照预设的索引命中复杂度计算规则对扫描行数进行计算,得到索引命中复杂度评分;
12、按照预设的过滤比例复杂度计算规则对过滤比例进行计算,得到过滤比例复杂度评分;
13、按照预设的临时表复杂度计算规则对临时表信息进行计算,得到临时表复杂度评分。
14、在一种可选的实施方式中,对多个结构化查询语言进行语法复杂度评估,得到语法复杂度评分,包括:
15、分别对多个结构化查询语言进行词法分析,得到多个结构化查询语言各自对应的词法分析结果;
16、分别对每一词法分析结果进行语法分析,得到每一结构化查询语言对应的语法树,语法树包括结构化查询语言根节点以及各个层级的叶节点,各个层级的叶节点包括按照预设规则组织的结构化查询语言的词法单元;
17、分别遍历各个语法树,从词法单元提取各个结构化查询语言的结构和语义信息,结构和语义信息包括层级、各个层级对应子查询的表关联个数、各个层级对应子查询的分组和排序个数、各个层级对应的子查询字段转换的个数;
18、按照预设的语法复杂度计算规则对多个结构化查询语言的结构和语义信息进行计算,得到语法复杂度评分。
19、在一种可选的实施方式中,预设的语法复杂度计算规则包括:
20、按照预设算法分别对多个结构化查询语言的结构和语义信息进行计算,得到各个结构化查询语言的复杂度分值;
21、将各个结构化查询语言的复杂度分值中的最高分值确定为语法复杂度评分。
22、在一种可选的实施方式中,按照预设算法分别对多个结构化查询语言的结构和语义信息进行计算,得到各个结构化查询语言的复杂度分值,包括:
23、分别对每一结构化查询语言对应的结构和语义信息执行如下步骤,得到各个结构化查询语言的复杂度分值:
24、分别计算各个层级的第一乘积、第二乘积和第三乘积,第一乘积包括层级对应子查询的表关联个数与预设表关联个数权重值的乘积,第二乘积包括层级对应子查询的分组和排序个数与预设分组和排序个数的乘积,第三乘积包括层级对应的子查询字段转换的个数与预设字段转换的个数权重值的乘积;
25、分别将各个层级的第一乘积、第二乘积和第三乘积相加,得到各个层级对应的复杂度分值;
26、分别计算各个层级对应的复杂度分值与层级的层级权重值的乘积,得到各个层级对应的加权复杂度分值;
27、将各个层级对应的加权复杂度分值相加,得到结构化查询语言的复杂度分值。
28、在一种可选的实施方式中,按照预设算法分别对多个结构化查询语言的结构和语义信息进行计算,得到各个结构化查询语言的复杂度分值之后,方法还包括:
29、从各个结构化查询语言的复杂度分值中确定第一分值和第二分值,第一分值为各个结构化查询语言的复杂度分值中的最小值,第二分值为各个结构化查询语言的复杂度分值中的最大值;
30、分别计算各个结构化查询语言对应的商值,商值由第一差值除以第二差值得到,第一差值为结构化查询语言的复杂度分值与第一分值的差值,第二差值为第二分值与第一分值的差值;
31、分别将各个结构化查询语言对应的商值确定为各个结构化查询语言修正后的复杂度分值;
32、将各个结构化查询语言的复杂度分值中的最高分值确定为语法复杂度评分,包括:
33、将各个结构化查询语言修正后的复杂度分值中的最高分值确定为语法复杂度评分。
34、第二方面,本技术实施例提供一种信息处理装置,包括:
35、获取模块,用于获取抽取-转换-加载etl任务中的结构化查询语言清单,结构化查询语言清单包括多个结构化查询语言;
36、评估模块,用于对结构化查询语言清单进行执行流程复杂度评估,得到etl任务的执行流程复杂度评分;
37、评估模块,还用于对多个结构化查询语言进行语法复杂度评估,得到语法复杂度评分;
38、生成模块,用于根据语法复杂度评分以及流程复杂度评分,按照预设的优化规则生成优化建议信息。
39、第三方面,本技术实施例提供一种电子设备,设备包括:处理器以及存储有计算机程序指令的存储器;
40、处理器执行计算机程序指令时实现如本技术第一方面任一可选实施方式的信息处理方法。
41、第四方面,本技术实施例提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序指令,计算机程序指令被处理器执行时实现如本技术第一方面任一可选实施方式的信息处理方法。
42、第五方面,本技术实施例提供一种计算机程序产品,计算机程序产品中的指令由电子设备的处理器执行时,使得电子设备执行如本技术第一方面任一可选实施方式的信息处理方法。
43、本技术实施例的信息处理方法、装置、设备、计算机存储介质及计算机程序产品,能够获取etl任务中的结构化查询语言清单,该结构化查询语言清单包括多个结构化查询语言。随后,对结构化查询语言清单进行执行流程复杂度评估,得到etl任务的执行流程复杂度评分。对多个结构化查询语言进行语法复杂度评估,得到语法复杂度评分。如此,能够分别评估etl的执行流程复杂度和sql本身的复杂度。由此,根据语法复杂度评分以及流程复杂度评分,按照预设的优化规则生成优化建议信息。本技术实施例能够对etl的执行流程和sql语句的复杂度进行自动评估,并根据评估结果生成对应的优化建议。如此,有利于sql的高效执行和数据中台资源的合理利用。
1.一种信息处理方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述执行流程复杂度评分包括扫描行数复杂度评分、索引命中复杂度评分、过滤比例复杂度评分或者临时表复杂度评分中的至少一者。
3.根据权利要求2所述的方法,其特征在于,所述对所述结构化查询语言清单进行执行流程复杂度评估,得到所述etl任务的执行流程复杂度评分,包括:
4.根据权利要求1-3中任一项所述的方法,其特征在于,所述对所述多个结构化查询语言进行语法复杂度评估,得到语法复杂度评分,包括:
5.根据权利要求4所述的方法,其特征在于,所述预设的语法复杂度计算规则包括:
6.根据权利要求5所述的方法,其特征在于,所述按照预设算法分别对所述多个结构化查询语言的结构和语义信息进行计算,得到所述各个结构化查询语言的复杂度分值,包括:
7.根据权利要求5或6所述的方法,其特征在于,所述按照预设算法分别对所述多个结构化查询语言的结构和语义信息进行计算,得到所述各个结构化查询语言的复杂度分值之后,所述方法还包括:
8.一种信息处理装置,其特征在于,包括:
9.一种电子设备,其特征在于,所述设备包括:处理器以及存储有计算机程序指令的存储器;
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现如权利要求1-7中任意一项所述的信息处理方法。
11.一种计算机程序产品,其特征在于,所述计算机程序产品中的指令由电子设备的处理器执行时,使得所述电子设备执行如权利要求1-7中任意一项所述的信息处理方法。
