一种SQL语句的检测方法及装置制造方法及图纸

技术编号:37523411 阅读:7 留言:0更新日期:2023-05-12 15:46
本发明专利技术涉及一种SQL语句的检测方法及装置,其中,该方法通过对开发阶段的待检测源代码进行解析,获取待检测源代码中的待检测SQL语句,并根据待检测SQL语句生成随机数据和随机变量分别填充至SQL数据库和待检测SQL语句中的待填充参数,从而基于已填充的SQL数据库运行已填充的SQL语句,生成运行结果。由此,本发明专利技术通过将SQL语句的检测提前到系统开发阶段,提高SQL语句问题发现的及时性同时降低SQL语句修复的成本,并通过生成随机数据与随机变量的方式实现预先运行SQL数据库中的所有SQL语句,从而实现对所有SQL语句的检测,提高SQL语句检测的全面性,进一步保障信息系统的稳定性。性。性。

【技术实现步骤摘要】
一种SQL语句的检测方法及装置


[0001]本专利技术涉及数据库处理领域,尤其涉及一种SQL语句的检测方法及装置。

技术介绍

[0002]随着信息时代的到来,越来越多的信息系统给人们带来了无尽的便利。但与此同时,如何保证信息系统拥有高稳定性、高响应速度却成为了重点和难点。
[0003]当前时代下大部分信息系统,其主要底层数据存储系统皆为标准的SQL数据库,如:MySQL、Oracle、SQLServer等。随着信息系统访问量的逐步增长、业务逻辑的日趋复杂、历史数据的不断积累,SQL数据库通常会成为整个信息系统的瓶颈,从而拖累整个信息系统的响应速度。与此同时,现有的SQL数据库也存在频繁的系统出错问题,从而降低信息系统的稳定性。

技术实现思路

[0004]本专利技术所要解决的技术问题是:本专利技术提供一种SQL语句的检测方法及装置,提高信息系统的稳定性。
[0005]为了解决上述技术问题,本专利技术采用的技术方案为:
[0006]第一方面,本专利技术提供一种SQL语句的检测方法,包括:
[0007]在开发阶段,获取待检测源代码,解析并得到所述待检测源代码中的待检测SQL语句;
[0008]根据所述待检测SQL语句生成随机数据填充至SQL数据库,并根据所述待检测SQL语句生成随机变量填充至所述SQL语句中的待填充参数;
[0009]基于所述已填充SQL数据库运行所述已填充SQL语句,生成运行结果。
[0010]本专利技术的有益效果在于:对开发阶段的源代码进行解析,获取SQL语句,将SQL语句的检测提前到系统开发阶段,提高SQL语句问题发现的及时性并降低SQL语句修复的成本,根据解析后的SQL语句生成随机数据填充SQL数据库并生成随机变量填充SQL语句的待填充参数,从而实现在SQL数据库上运行SQL语句,生成运行结果,通过生成随机数据与随机变量的方式实现预先运行SQL数据库中的所有SQL语句,从而实现对所有SQL语句的检测,提高SQL语句检测的全面性,进一步保障信息系统的稳定性。
[0011]可选地,所述获取待检测源代码,解析并得到所述待检测源代码中的待检测SQL语句包括:
[0012]获取待检测源代码,判断所述待检测源代码的Mybaits设置是否存在Xml文件;
[0013]若存在,则获取所述Xml文件,并根据Mybaits解析规则对所述Xml文件进行解析,当解析成功时,得到所述待检测源代码中的待检测SQL语句。
[0014]根据上述描述可知,待检测的SQL语句存储在Xml文件中,通过Xml文件的存储方式使得SQL语句与程序代码解耦,便于统一管理,同时根据待解析代码的Mybaits设置即可得知Mybaits解析规则,使得获取待检测的SQL语句更加便捷。
[0015]可选地,所述根据Mybaits解析规则对所述Xml文件进行解析包括:
[0016]当解析失败时,将所述Xml文件记录为异常数据保存至异常日志。
[0017]根据上述描述可知,当对Xml文件解析失败时,会将该Xml文件记录为异常数据保存至异常日志,保留解析失败的记录,便于开发人员后续直接查看调整,提高工作效率。
[0018]可选地,所述根据所述待检测SQL语句生成随机数据填充至SQL数据库包括:
[0019]根据所述待检测SQL语句,获取SQL数据库表结构;
[0020]根据所述SQL表结构获取所述表结构中的字段及字段类型;
[0021]根据所述字段及所述字段类型生成随机数据,并将所述随机数据填充至SQL数据库。
[0022]根据上述描述可知,通过待检测的SQL语句可以获知SQL数据库的表结构及SQL数据库表结构中的字段和字段类型,并生成随机数据对应填充至SQL数据库,从而模拟构造出完整的SQL数据库,为后续运行SQL语句奠定基础。
[0023]可选地,所述根据所述待检测SQL语句生成随机变量填充至所述SQL语句中的待填充参数包括:
[0024]根据所述待检测SQL语句获取所述待检测SQL语句所需的参数及参数类型;
[0025]根据所述参数及所述参数类型生成随机变量;
[0026]将所述随机变量填充至所述SQL语句中的待填充参数。
[0027]根据上述描述可知,通过待检测的SQL语句可以获知待检测SQL语句中待填充的参数及参数类型,并生成符合参数类型的随机变量对应填充至SQL语句中的待填充参数,从而生成可运行的SQL语句。
[0028]可选地,所述基于所述已填充SQL数据库运行所述已填充SQL语句,生成运行结果包括:
[0029]基于所述已填充SQL数据库运行所述已填充SQL语句,当运行失败时,生成运行失败结果,并将所述待检测SQL语句记录为异常数据保存至异常日志;
[0030]当运行成功时,生成运行成功结果,并将所述待检测SQL语句记录为正常数据保存至正常日志。
[0031]根据上述描述可知,基于已填充的SQL数据库运行已填充的SQL语句,当运行失败时会将该SQL语句记录为异常数据保存至异常日志,便于后续系统开发人员直接查阅异常日志即可得知异常SQL语句并进行调整,简化流程提高效率,同时运行成功的SQL语句也会保存在正常日志中,便于后续系统开发人员直接查阅借鉴。
[0032]可选地,所述当运行成功时,生成运行成功结果,并将所述SQL语句记录为正常数据保存至正常日志还包括:
[0033]当运行成功时,生成运行成功结果,并重复运行所述已填充SQL语句,记录每次所述已填充SQL语句的运行时间;
[0034]根据每次所述已填充SQL语句的运行时间计算所述已填充SQL语句的平均运行时间;
[0035]根据所述平均运行时间识别出低质量的SQL语句。
[0036]根据上述描述可知,当SQL语句运行成功后会再重复运行SQL语句,并记录每次运行的时间,通过计算平均运算时间识别出低质量的SQL语句,从而对低质量的SQL语句进行
调整,提高SQL语句的运行效率,进而提高系统的响应速度。
[0037]第二方面,本专利技术提供一种SQL语句的检测装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现第一方面提供的一种SQL语句的检测方法。
[0038]其中,第二方面所提供的一种SQL语句的检测装置所对应的技术效果参照第一方面所提供的一种SQL语句的检测方法的相关描述。
附图说明
[0039]图1为本专利技术实施例所提供的一种SQL语句的检测方法流程图;
[0040]图2为本专利技术实施例所提供的一种SQL语句的检测方法整体框架示意图;
[0041]图3为本专利技术实施例涉及基于已填充SQL数据库运行已填充SQL语句的流程示意图;
[0042]图4为本专利技术实施例所提供的一种SQL语句的检测装置的结构示意图。
[0043]【附图标记说明】
[0044]1:本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种SQL语句的检测方法,其特征在于,包括:在开发阶段,获取待检测源代码,解析并得到所述待检测源代码中的待检测SQL语句;根据所述待检测SQL语句生成随机数据填充至SQL数据库,得到已填充SQL数据库,并根据所述待检测SQL语句生成随机变量填充至所述待检测SQL语句中的待填充参数,得到已填充SQL语句;基于所述已填充SQL数据库运行所述已填充SQL语句,生成运行结果。2.如权利要求1所述的一种SQL语句的检测方法,其特征在于,所述获取待检测源代码,解析并得到所述待检测源代码中的待检测SQL语句包括:获取待检测源代码,判断所述待检测源代码的Mybaits设置是否存在Xml文件;若存在,则获取所述Xml文件,并根据Mybaits解析规则对所述Xml文件进行解析,当解析成功时,得到所述待检测源代码中的待检测SQL语句。3.如权利要求2所述的一种SQL语句的检测方法,其特征在于,所述根据Mybaits解析规则对所述Xml文件进行解析包括:当解析失败时,将所述Xml文件记录为异常数据保存至异常日志。4.如权利要求1所述的一种SQL语句的检测方法,其特征在于,所述根据所述待检测SQL语句生成随机数据填充至SQL数据库包括:根据所述待检测SQL语句,获取SQL数据库表结构;根据所述SQL表结构获取所述表结构中的字段及字段类型;根据所述字段及所述字段类型生成随机数据,并将所述随机数据填充至SQL数据库。5.如权利要求1...

【专利技术属性】
技术研发人员:郑胜谢建国
申请(专利权)人:福建福诺移动通信技术有限公司
类型:发明
国别省市:

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

1