异常语句的确定方法、装置、设备及计算机可读存储介质制造方法及图纸

技术编号:33015920 阅读:14 留言:0更新日期:2022-04-15 08:47
本申请提供了一种异常语句的确定方法、装置、设备及计算机可读存储介质;该方法包括:当获取到测试数据收集指令时,响应于测试数据收集指令,从应用的功能测试日志中,获取至少一个历史测试语句和至少一个历史性能参数;基于至少一个历史性能参数,从至少一个历史测试语句中筛选出一个或多个候选异常语句;对一个或多个候选异常语句的执行过程进行分析,得到与一个或多个候选异常语句一一对应的一个或多个分析结果;依据一个或多个分析结果,从一个或多个候选异常语句中筛选出目标异常语句。通过本申请,能够提高确定数据库的异常语句的效率。率。率。

【技术实现步骤摘要】
异常语句的确定方法、装置、设备及计算机可读存储介质


[0001]本申请涉及数据库技术,尤其涉及一种异常语句确定方法、装置、设备及计算机可读存储介质。

技术介绍

[0002]应用软件在上线之前,都要先经过功能测试、压力测试等测试,从而确保应用软件能够正常运行。目前,越来越多的应用软件需要配置有相应的数据库,以便于对应用软件在运行过程中所产生的各种数据进行存储。实际上,在应用软件的运行过程中,数据库也有可能出现异常,这些异常可能是使用了不合适的数据库语句造成的。
[0003]相关技术中,对数据库的保障、维护等,主要都是在应用软件上线之后,通过运维监控来实现的,在前期测试中,对数据库的关注较少,从而数据库的问题难以提前暴露出来,最终导致确定数据库的异常语句的效率较低。

技术实现思路

[0004]本申请实施例提供一种异常语句确定方法、装置、设备及计算机可读存储介质,能够提高确定数据库的异常语句的效率。
[0005]本申请实施例的技术方案是这样实现的:
[0006]本申请实施例提供一种异常语句确定方法,包括:
[0007]当获取到测试数据收集指令时,响应于所述测试数据收集指令,从应用的功能测试日志中,获取至少一个历史测试语句和至少一个历史性能参数;
[0008]其中,所述至少一个历史测试语句为对所述应用进行功能测试时所使用到的数据库语句,所述至少一个历史性能参数为执行所述至少一个历史测试语句时数据库的性能参数;
[0009]基于所述至少一个历史性能参数,从所述至少一个历史测试语句中筛选出一个或多个候选异常语句;
[0010]对所述一个或多个候选异常语句的执行过程进行分析,得到与所述一个或多个候选异常语句一一对应的一个或多个分析结果;
[0011]依据所述一个或多个分析结果,从所述一个或多个候选异常语句中筛选出目标异常语句。
[0012]在本申请的一些实施例中,在所述利用所述压测语句和所述压测数据对所述数据库进行性能压力测试,得到压力测试结果之后,所述方法还包括:
[0013]获取功能测试监控数据和压力测试监控数据;
[0014]其中,所述功能测试监控数据表征对所述应用进行功能测试时,所述至少一个历史测试语句的执行详情;所述压力测试监控数据表征对所述数据库进行性能压力测试时,所述压测语句的执行详情;
[0015]根据所述功能测试监控数据和所述压力测试监控数据,生成所述数据库的测试执
行信息。
[0016]本申请实施例提供一种异常语句确定装置,包括:
[0017]数据获取模块,用于当获取到测试数据收集指令时,响应于所述测试数据收集指令,从应用的功能测试日志中,获取至少一个历史测试语句和至少一个历史性能参数;其中,所述至少一个历史测试语句为对所述应用进行功能测试时所使用到的数据库语句,所述至少一个历史性能参数为执行所述至少一个历史测试语句时数据库的性能参数;
[0018]语句筛选模块,用于基于所述至少一个历史性能参数,从所述至少一个历史测试语句中筛选出一个或多个候选异常语句;依据所述一个或多个分析结果,从所述一个或多个候选异常语句中筛选出目标异常语句;
[0019]结果分析模块,用于对所述一个或多个候选异常语句的执行过程进行分析,得到与所述一个或多个候选异常语句一一对应的一个或多个分析结果。
[0020]在本申请的一些实施例中,所述异常语句确定装置还包括:压力测试模块;
[0021]所述压力测试模块,用于针对所述数据库生成压测语句;根据所述数据库中的数据表的结构,生成压测数据;利用所述压测语句和所述压测数据对所述数据库进行性能压力测试,得到压力测试结果;根据所述压力测试结果和所述目标异常语句,从所述至少一个历史测试语句中确定出补充异常语句。
[0022]在本申请的一些实施例中,所述至少一个历史性能参数为至少一个处理耗时;所述语句筛选模块,还用于从所述至少一个处理耗时中,按照从大到小的顺序挑选出预设数量个处理耗时,作为异常耗时;从所述至少一个历史测试语句中,对与所述异常耗时相对应的历史测试语句进行挑选,得到所述一个或多个候选异常语句。
[0023]在本申请的一些实施例中,所述结果分析模块,还用于对所述一个或多个候选异常语句中的每个候选异常语句的索引使用进行分析,得到所述每个候选异常语句的索引使用结果;所述索引使用结果表征所述每个候选异常语句是否使用了索引;对所述每个候选异常语句的数据表扫描进行分析,得到所述每个候选异常语句的数据表扫描结果;所述数据表扫描结果表征所述每个候选异常语句是否进行了全表扫描;利用所述索引使用结果和所述数据表扫描结果,组成所述每个候选异常语句对应的分析结果;当对所述一个或多个候选异常语句均确定出分析结果时,得到与所述一个或多个候选异常语句一一对应的所述一个或多个分析结果。
[0024]在本申请的一些实施例中,所述数据获取模块,用于从所述应用的功能测试日志中,提取出全量历史语句,以及所述全量历史语句对应的全量历史参数;其中,所述全量历史语句是所述功能测试时所使用的所有语句;对所述全量历史语句中的数据库语句进行挑选,得到所述至少一个历史测试语句;从所述全量历史参数中,挑选出与所述至少一个历史测试语句相对应的所述至少一个历史性能参数。
[0025]在本申请的一些实施例中,所述压力测试模块,还用于将预设好的数据库语句,作为所述数据库的所述压测语句;或者,将所述目标异常语句,作为所述数据库的所述压测语句;或者,将预设时间内出现频率最高的数据库语句和所述预设时间内请求流量最大的数据库语句中的至少一个,作为所述数据库的所述压测语句。
[0026]在本申请的一些实施例中,所述压力测试模块,还用于对所述数据库中的数据表的结构进行解析,得到所述数据表包含的至少一个数据类型,并依据所述至少一个数据类
型,生成所述压测数据;或者,获取所述数据表对应的线上数据,并对所述线上数据进行过滤,得到所述压测数据。
[0027]在本申请的一些实施例中,所述异常语句确定装置还包括:执行信息确定模块;
[0028]所述执行信息确定模块,用于获取功能测试监控数据和压力测试监控数据;其中,所述功能测试监控数据表征对所述应用进行功能测试时,所述至少一个历史测试语句的执行详情;所述压力测试监控数据表征对所述数据库进行性能压力测试时,所述压测语句的执行详情;根据所述功能测试监控数据和所述压力测试监控数据,生成所述数据库的测试执行信息。
[0029]本申请实施例提供一种异常语句确定设备,包括:
[0030]存储器,用于存储可执行异常语句确定指令;
[0031]处理器,用于执行所述存储器中存储的可执行异常语句确定指令时,实现本申请实施例提供的异常语句确定方法。
[0032]本申请实施例提供一种计算机可读存储介质,存储有可执行异常语句确定指令,用于引起处理器执行时,实现本申请实施例提供的异常语句确定方法。
[0033]本申请实施例本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种异常语句的确定方法,其特征在于,包括:当获取到测试数据收集指令时,响应于所述测试数据收集指令,从应用的功能测试日志中,获取至少一个历史测试语句和至少一个历史性能参数;其中,所述至少一个历史测试语句为对所述应用进行功能测试时所使用到的数据库语句,所述至少一个历史性能参数为执行所述至少一个历史测试语句时数据库的性能参数;基于所述至少一个历史性能参数,从所述至少一个历史测试语句中筛选出一个或多个候选异常语句;对所述一个或多个候选异常语句的执行过程进行分析,得到与所述一个或多个候选异常语句一一对应的一个或多个分析结果;依据所述一个或多个分析结果,从所述一个或多个候选异常语句中筛选出目标异常语句。2.根据权利要求1所述的方法,其特征在于,在所述依据所述一个或多个分析结果,从所述一个或多个候选异常语句中筛选出目标异常语句之后,所述方法还包括:针对所述数据库生成压测语句;根据所述数据库中的数据表的结构,生成压测数据;利用所述压测语句和所述压测数据对所述数据库进行性能压力测试,得到压力测试结果;根据所述压力测试结果和所述目标异常语句,从所述至少一个历史测试语句中确定出补充异常语句。3.根据权利要求1或2所述的方法,其特征在于,所述至少一个历史性能参数为至少一个处理耗时;所述基于所述至少一个历史性能参数,从所述至少一个历史测试语句中筛选出一个或多个候选异常语句,包括:从所述至少一个处理耗时中,按照从大到小的顺序挑选出预设数量个处理耗时,作为异常耗时;从所述至少一个历史测试语句中,对与所述异常耗时相对应的历史测试语句进行挑选,得到所述一个或多个候选异常语句。4.根据权利要求1或2所述的方法,其特征在于,所述对所述一个或多个候选异常语句的执行过程进行分析,得到与所述一个或多个候选异常语句一一对应的一个或多个分析结果,包括:对所述一个或多个候选异常语句中的每个候选异常语句的索引使用进行分析,得到所述每个候选异常语句的索引使用结果;所述索引使用结果表征所述每个候选异常语句是否使用了索引;对所述每个候选异常语句的数据表扫描进行分析,得到所述每个候选异常语句的数据表扫描结果;所述数据表扫描结果表征所述每个候选异常语句是否进行了全表扫描;利用所述索引使用结果和所述数据表扫描结果,组成所述每个候选异常语句对应的分析结果;当对所述一个或多个候选异常语句均确定出分析结果时,得到与所述一个或多个候选异常语句一一对应的所述一个或多个分析结...

【专利技术属性】
技术研发人员:朱敏黄文昊鲁四喜
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

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

1