[发明专利]一种动态sql效率检查方法及插件在审
申请号: | 202010138355.2 | 申请日: | 2020-03-03 |
公开(公告)号: | CN113360362A | 公开(公告)日: | 2021-09-07 |
发明(设计)人: | 王书兴 | 申请(专利权)人: | 北京沃东天骏信息技术有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F9/445;G06F8/41 |
代理公司: | 北京德琦知识产权代理有限公司 11018 | 代理人: | 梁少微;王丽琴 |
地址: | 100083 北京市海淀区杏石口路6*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 动态 sql 效率 检查 方法 插件 | ||
本发明公开了一种动态sql效率检查方法及插件,其方法包括:扫描各个动态sql配置文件,屏蔽掉入参对各动态sql配置文件进行解析,形成各个全量sql模板,将各全量sql模板形成全量sql模板集合写入内存;对内存中的每个动态sql,获取评测效率瓶颈的参数,并赋值给内存中的相应动态sql;将赋值后的动态sql向数据库执行,采集执行时长,如果所述执行时长超出阈值,则进行预警。采用本发明能够随数据更新频率定时进行事实数据查询效率监测,提前预警可能存在性能瓶颈的sql场景。
技术领域
本发明涉及网络技术,特别涉及一种动态sql效率检查方法及插件。
背景技术
随着大数据的发展和普及,越来越多的业务场景中使用到大数据的即席查询场景,让用户享受大数据产品带来的便利。
目前在数据产品的应用下,提前检验sql执行效率的方式主要是通过测试人员在功能测试和压力测试的场景下通过调用接口的方式检测接口的执行效率和吞吐量,测试工程师根据功能设计测试用例,通过参数集合去进行接口的覆盖测试。
普通的覆盖性测试或者慢sql检测工具都是通过在测试过程中通过测试用例控制入参的形式覆盖动态sql执行的分支,这样的情况很难将所有可能涉及到的sql场景覆盖全面,容易产生覆盖不全、不准,或者过度覆盖;另一方面,在大数据应用场景中,存在大批量数据定时同步的情况,数据会动态变化,普通的测试脚本无法根据实际数据情况动态调整以进行慢sql的检测定位,也具有滞后性。
发明内容
本发明的目的在于提供一种动态sql效率检查方法及插件,能够随数据更新频率定时或不定时进行事实数据查询效率监测,提前预警可能存在性能瓶颈的sql场景。
为实现上述发明目的,本发明提供了一种动态sql效率检查方法,该方法包括:
扫描各个动态sql配置文件,屏蔽掉入参对各动态sql配置文件进行解析,形成各个全量sql模板,将各全量sql模板形成全量sql模板集合写入内存;
对内存中的每个动态sql,获取评测效率瓶颈的参数,并赋值给内存中的相应动态sql;将赋值后的动态sql向数据库执行,采集执行时长,如果所述执行时长超出阈值,则进行预警。
为实现上述发明目的,本发明还提供了一种动态sql效率检查插件,该插件嵌于数据应用中,该插件包括:
收集模块,扫描各个动态sql配置文件,屏蔽掉入参对各动态sql配置文件进行解析,形成各个全量sql模板,将各全量sql模板形成全量sql模板集合写入内存;
定时校验模块,定时针对内存中的每个动态sql,获取评测效率瓶颈的参数,并赋值给内存中的相应动态sql;将赋值后的动态sql向数据库执行,采集执行时长,如果所述执行时长超出阈值,则进行预警。
综上所述,本发明实施例通过一个简单的插件,内置在类大数据场景的数据应用中,由于数据应用存在数据量大,查询场景多样,数据批量更新的特点,本插件随应用启动,自动扫描收集全量可能会执行到的sql集合到内存队列,随数据更新频率定时或不定时进行事实数据查询效率监测,提前预警可能存在性能瓶颈的sql场景,提升大数据应用的可用性及效率,避免在测试环节的用例覆盖度不准。
附图说明
图1为本发明实施例动态sql效率检查方法的流程示意图。
图2为本发明实施例动态sql效率检查插件的结构示意图。
图3为本发明具体实施例对动态sql配置文件进行解析的有向图结构示意图。
图4为本发明实施例一种电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明所述方案作进一步地详细说明。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京沃东天骏信息技术有限公司,未经北京沃东天骏信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010138355.2/2.html,转载请声明来源钻瓜专利网。