[发明专利]一种SQL检测装置和方法在审
申请号: | 201910798046.5 | 申请日: | 2019-08-27 |
公开(公告)号: | CN110413638A | 公开(公告)日: | 2019-11-05 |
发明(设计)人: | 杜芳华 | 申请(专利权)人: | 中信百信银行股份有限公司 |
主分类号: | G06F16/242 | 分类号: | G06F16/242;G06F16/21;G06F11/30 |
代理公司: | 北京市兰台律师事务所 11354 | 代理人: | 田君露 |
地址: | 100029 北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 报文 检测装置 抓取 数据库发送 审核模块 信息封装 信息添加 应用程序 审核 存储 检测 申请 | ||
本申请提供了一种SQL检测装置和方法,其中该方法包括:检测应用程序向数据库发送的SQL语句;抓取所述SQL语句,将其与第一信息封装到第一报文;将所述第一报文传输给SQL审核模块;审核所述SQL语句,将审核生成的第二信息添加到所述第一报文,形成第二报文;存储所述第二报文。
技术领域
本申请涉及金融系统数据库领域,具体而言,本申请涉及一种SQL检测装置和方法。
背景技术
在大数据时代中,数据库系统的数据类型与规模在不断扩增,这给数据库管理带来了极大挑战。而金融系统数据库对于数据库的性能要求尤其严格,包括但不限于以下方面:系统的TPS、QPS、响应时间以及并行处理能力,SQL语句的执行效率等等。
结构化查询语言(Structured Query Language)简称SQL,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。事实上,系统中存在大量的具有性能问题的SQL语句,是影响数据库性能的最主要原因之一。
现有的金融系统中发现具有性能问题的SQL的方法,都是通过使用数据库慢SQL日志、大事务、长SQL等监控手段。这些监控手段的缺点是滞后性,都是在数据库系统整体变慢以后才能被监控发现。监控发现时,往往已经对上线运行中的数据库系统造成了响应时间变长、所有SQL语句执行变慢、CPU使用率急剧上升等严重问题。DBA等运维工程师只能够被动的应急处理,而无法做到提前检测出潜在的具有性能问题的SQL,从而避免由于SQL语句性能不佳而产生的数据库整体响应时间变长、所有SQL语句执行变慢、CPU使用率急剧上升等严重问题。
发明内容
本申请提供了一种SQL检测装置和方法,用于发现潜在的具有性能问题的SQL,本申请采用的技术方案如下:
第一方面,提供了一种SQL检测方法,该方法包括,
检测应用程序向数据库发送的SQL语句;
抓取所述SQL语句,将其与第一信息封装到第一报文;
将所述第一报文传输给SQL审核模块;
审核所述SQL语句,将审核生成的第二信息添加到所述第一报文,形成第二报文;
存储所述第二报文。
可选地,在所述SQL检测方法中,将所述第二报文发送到评价模块,所述评价模块按照评分规则对所述第二报文中的SQL语句进行评分和结果展示。
可选地,在所述SQL检测方法中,所述第一报文的发送是异步或者同步的。
可选地,在所述SQL检测方法中,在所述审核所述SQL语句的步骤中,对所述SQL语句的处理是异步或同步的。
可选地,在所述SQL检测方法中,根据所述应用程序所使用代码的类型,来确定检测方式。
第二方面,提供了一种SQL检测装置,所述SQL检测装置包括:检测模块、抓取模块、传输模块、审核模块、存储模块,其中:
所述检测模块,用于检测应用程序向数据库发送的SQL语句;
所述抓取模块,用于抓取所述SQL语句,将其与第一信息封装到第一报文;
所述传输模块,用于将所述第一报文传输给SQL审核模块;
所述审核模块,用于审核所述SQL语句,将审核生成的第二信息添加到所述第一报文,形成第二报文;
所述存储模块,用于存储所述第二报文。
可选地,在所述SQL检测装置中,还包括评价模块,将所述第二报文发送到所述评价模块,所述评价模块按照评分规则对所述第二报文中的SQL语句进行评分和结果展示。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中信百信银行股份有限公司,未经中信百信银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910798046.5/2.html,转载请声明来源钻瓜专利网。