[发明专利]一种异常数据库语句检测方法及装置在审
申请号: | 202110743686.3 | 申请日: | 2021-06-30 |
公开(公告)号: | CN113419958A | 公开(公告)日: | 2021-09-21 |
发明(设计)人: | 吴冕冠;刘慕雨;周文泽;谢伟 | 申请(专利权)人: | 中国工商银行股份有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F16/25 |
代理公司: | 北京三友知识产权代理有限公司 11127 | 代理人: | 刘熔;赵平 |
地址: | 100140 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 异常 数据库 语句 检测 方法 装置 | ||
本申请实施例提供一种异常数据库语句检测方法及装置,涉及金融领域及其他领域,方法包括:获取程序执行过程中数据库语句的动态信息,所述动态信息包括多个程序执行时数据库语句的调用特征数据;根据所述动态信息检测异常数据库语句。本申请可以准确地反应真实运行环境中不同时间段的数据库语句执行情况,具有良好的通用性,可对不同类型的数据库语句进行检测。
技术领域
本申请涉及金融领域及其他领域,具体涉及异常数据库语句检测方法及装置。
背景技术
传统的应用异常数据库语句检测方法大致有2种,一种是利用数据库的数据库语句执行效率来判断哪些数据库语句运行的比较慢,另外一种是通过对应用程序的数据库语句执行测试用例,并对测试用例进行计时,耗时比较高的数据库语句即认为异常数据库语句。
这两种方法都有一个非常大的缺陷,就是和实际应用场景脱离联系。只能静态的评估理想状态下的数据库语句执行耗时,但实际上应用程序在运行过程中sql的执行效率和数据库线程池容量,数据库当前时刻的压力,sql操作的类型(读还是写),sql执行时间分布都有很大联系,因此传统的静态异常数据库语句监测方法无法体现实际应用程序运行过程中数据库语句的执行情况,包括数据库语句真实执行耗时和不同数据库语句运行的时间分布等运行态信息,故传统的数据库语句静态评估对实际问题解决提供的帮助非常有限。
发明内容
针对现有技术中的问题,本申请提供一种异常数据库语句检测方法及装置,获取程序执行过程中数据库语句的动态信息,所述动态信息包括多个程序执行时数据库语句的调用特征数据;根据所述动态信息检测异常数据库语句。本发明可以准确地反应真实运行环境中不同时间段的数据库语句执行情况,具有良好的通用性,可对不同类型的数据库语句进行检测。
本发明的一方面,提供一种异常数据库语句检测方法,包括:
获取程序执行过程中数据库语句的动态信息,所述动态信息包括多个程序执行时数据库语句的调用特征数据;
根据所述动态信息检测异常数据库语句。
在优选的实施例中,所述程序执行时数据库语句的调用特征数据包括:执行耗时数据、调用频率数据以及调用时间段数据,所述获取程序执行过程中的数据库语句动态信息,包括:
拦截程序执行过程中的数据库语句;
记录所述数据库语句的执行耗时数据、调用频率数据以及调用时间段数据。
在优选的实施例中,所述拦截程序执行过程中的数据库语句,包括:
将异常数据库语句检测工具挂载至数据库的中间件,所述中间件为获取程序执行过程中数据库语句的组件;
获取所述中间件传输的数据库语句信息。
在优选的实施例中,所述拦截程序执行过程中的数据库语句,还包括:
将拦截代码添加至数据库的中间件中,所述中间件为获取程序执行过程中数据库语句的组件;
获取所述中间件传输的数据库语句信息。
在优选的实施例中,所述根据所述动态信息检测异常数据库语句,包括:
根据所述动态信息生成对应的分布模型;
根据所述分布模型确定异常数据库语句。
在优选的实施例中,所述根据所述动态信息生成对应的分布模型,包括:
提取所述数据库语句动态信息中的执行耗时数据;
对所有数据库语句的执行耗时进行统计,生成对应的平均值和方差;
根据所述平均值和方差,生成执行耗时的分布模型。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国工商银行股份有限公司,未经中国工商银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110743686.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种开放式同轴套管换热系统井口装置
- 下一篇:一种汽车防夹条及其制备工艺