结构化查询语句性能预测方法、装置、设备和介质与流程

文档序号:35359392发布日期:2023-09-08 01:25阅读:20来源:国知局
结构化查询语句性能预测方法、装置、设备和介质与流程

本公开可以应用于金融领域或其他领域,具体涉及一种结构化查询语句性能预测方法、装置、设备、介质和程序产品。


背景技术:

1、目前性能发压工具和性能监控工具日趋成熟,而性能测试结果的分析完全依赖于测试人员的经验,在问题诊断方面缺乏高效的技术手段。尤其是在大数据批量加工作业的性能验证方面,除静态代码风险规则扫描外,主要通过在研发测试环境开展动态验证,根据作业执行时长及资源使用情况进行性能评估。但因大数据批量加工作业运行性能受数据量、系统参数、设备规模、数据分布、集群压力等多种内外部因素影响,目前尚无方法支持测试环境与生产环境的性能转换,因此在测试环境耗费大量成本进行数据与计算资源的准备后开展的性能验证的结果并不等同于生产环境中的性能表现,难以达到预期效果。

2、传统的结构化查询语句(sql语句)时效(执行时长)预测方法主要基于统计学方法和规则引擎方法,如使用平均值、标准差、中位数等进行预测,或者基于规则引擎对结构化查询语句进行优化。然而,这些方法由于复杂度较低、灵活性和准确性不高,通常无法准确预测复杂的结构化查询语句的性能。


技术实现思路

1、鉴于上述问题,本公开提供了一种结构化查询语句性能预测方法、装置、设备、介质和程序产品。

2、根据本公开的第一个方面,提供了一种结构化查询语句性能预测方法,基于性能预测模型,性能预测模型基于目标特征训练得到,目标特征从历史结构化查询语句中获取;方法包括:获取待测结构化查询语句;将待测结构化查询语句输入性能预测模型,得到待测结构化查询语句的预测执行时长;将预测执行时长与预设阈值比较,在预测执行时长大于预设阈值的情况下,确定待测结构化查询语句的性能不满足预期要求,并输出导致该待测结构化查询语句的执行时长大于预设阈值的原因。

3、根据本公开的实施例,性能预测模型通过以下方式训练得到:采集历史信息,从历史信息中提取训练集,训练集包括历史结构化查询语句;对训练集中的历史结构化查询语句进行预处理;从预处理后的历史结构化查询语句中获取目标特征;使用目标特征作为训练数据,来训练性能预测模型。

4、根据本公开的实施例,对训练集中的历史结构化查询语句进行预处理包括:对训练集中的历史结构化查询语句进行语法解析;清洗语法解析后的历史结构化查询语句中的缺失值、异常值和重复值;对清洗后的历史结构化查询语句进行整理;对整理后的历史结构化查询语句中的变量进行转换;其中,对清洗后的历史结构化查询语句进行整理包括对清洗后的历史结构化查询语句进行排序、归一化、合并。

5、根据本公开的实施例,从预处理后的历史结构化查询语句中获取目标特征包括:从预处理后的历史结构化查询语句中提取n个初始特征,其中,n≥2,且n为整数;对上述n个初始特征进行调整,上述调整包括标准化和归一化处理;从调整后的n个初始特征中选取n个初始特征进行组合,得到一个组合特征,其中,2≤n≤n,且n为整数;以预定次数重复上述一个组合特征的获取操作,得到多个组合特征;分别计算每个初始特征的初始特征权重和每个组合特征的组合特征权重;根据初始特征权重和组合特征权重,将上述多个初始特征中的至少一个和/或上述多个组合特征中的至少一个确定为目标特征。

6、根据本公开的实施例,使用目标特征作为训练数据,来训练性能预测模型包括:预设多个机器学习算法,为每个机器学习算法设置超参数并建立初始模型,根据目标特征和超参数,对各初始模型进行训练;从历史信息中提取测试集,通过测试集验证每个训练好的初始模型的准确度;从多个训练好的初始模型中选取准确度最高的一个作为性能预测模型。

7、根据本公开的实施例,上述机器学习算法包括线性回归、决策树、随机森林和支持向量机。

8、根据本公开的实施例,将预测执行时长与预设阈值比较,在预测执行时长大于预设阈值的情况下,确定待测结构化查询语句的性能不满足预期要求,并给出针对该待测结构化查询语句的执行时长大于预设阈值的原因包括:将待测结构化查询语句的预测执行时长与预设阈值比较,在确定预测执行时长大于预设阈值的情况下,计算待测结构化查询语句的复杂度,复杂度表征了影响待测结构化查询语句的预测执行时长的特征及各特征对应的权重;根据待测结构化查询语句的复杂度,输出导致该待测结构化查询语句的执行时长大于预设阈值的原因。

9、本公开的第二方面提供了一种结构化查询语句性能预测装置,包括:信息采集模块,用于采集历史信息,从历史信息中提取训练集,训练集包括历史结构化查询语句;数据预处理模块,用于对训练集中的历史结构化查询语句进行预处理;特征信息获取模块,用于从预处理后的历史结构化查询语句中获取目标特征;模型训练模块,用于使用目标特征作为训练数据,来训练性能预测模型;性能预测模块,用于将待测结构化查询语句输入性能预测模型,得到待测结构化查询语句的预测执行时长,将预测执行时长与预设阈值比较,在预测执行时长大于预设阈值的情况下,确定待测结构化查询语句的性能不满足预期要求,并输出导致该待测结构化查询语句的执行时长大于预设阈值的原因。

10、本公开的第三方面提供了一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得一个或多个处理器执行上述结构化查询语句性能预测方法。

11、本公开的第四方面还提供了一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行上述结构化查询语句性能预测方法。

12、本公开的第五方面还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述结构化查询语句性能预测方法。

13、通过本公开实施例提供的结构化查询语句性能预测方法、装置、设备、介质和程序产品,能够准确预测研发阶段的结构化查询语句的性能,且该测试环境得出的预测性能能够代表该结构化查询语句在生产环境的性能;能够快速识别出导致待测结构化查询语句性能低效的问题点,并输出相应的性能优化方向(即,输出导致该待测结构化查询语句的执行时长大于预设阈值的原因);能够使得相关技术人员及时调整优化研发阶段的结构化查询语句、提前排除生产性能隐患;能够自动(或者根据用户的指令)更新性能预测模型,使得性能预测模型能够持续保持对结构化查询语句进行性能预测的结果的高准确度。



技术特征:

1.一种结构化查询语句性能预测方法,基于性能预测模型,所述性能预测模型基于目标特征训练得到,所述目标特征从历史结构化查询语句中获取;

2.根据权利要求1所述的方法,其中,所述性能预测模型通过以下方式训练得到:

3.根据权利要求2所述的方法,其中,所述对所述训练集中的历史结构化查询语句进行预处理包括:

4.根据权利要求2所述的方法,其中,所述从预处理后的历史结构化查询语句中获取目标特征包括:

5.根据权利要求2所述的方法,其中,所述使用所述目标特征作为训练数据,来训练所述性能预测模型包括:

6.根据权利要求1所述的方法,其中,所述将所述预测执行时长与预设阈值比较,在所述预测执行时长大于预设阈值的情况下,确定所述待测结构化查询语句的性能不满足预期要求,并输出导致该待测结构化查询语句的执行时长大于所述预设阈值的原因包括:

7.一种结构化查询语句性能预测装置,包括:

8.一种电子设备,包括:

9.一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行根据权利要求1~6中任一项所述的方法。

10.一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现根据权利要求1~6中任一项所述的方法。


技术总结
本公开提供了一种结构化查询语句性能预测方法,基于性能预测模型,性能预测模型基于目标特征训练得到,目标特征从历史结构化查询语句中获取;可以应用于金融领域或其他领域。该方法包括:获取待测结构化查询语句;将待测结构化查询语句输入性能预测模型,得到待测结构化查询语句的预测执行时长;将预测执行时长与预设阈值比较,在预测执行时长大于预设阈值的情况下,确定待测结构化查询语句的性能不满足预期要求,并输出导致该待测结构化查询语句的执行时长大于预设阈值的原因。本公开还提供了一种结构化查询语句性能预测装置、设备、存储介质和程序产品。

技术研发人员:卫欣音,李海波,周唐麟,廖云
受保护的技术使用者:中国工商银行股份有限公司
技术研发日:
技术公布日:2024/1/15
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1