[发明专利]数据库语句检查方法、装置、设备和介质在审
申请号: | 202310511617.9 | 申请日: | 2023-05-08 |
公开(公告)号: | CN116541412A | 公开(公告)日: | 2023-08-04 |
发明(设计)人: | 李钇廷;刘利军;邹宁;刘文峰 | 申请(专利权)人: | 中国工商银行股份有限公司 |
主分类号: | G06F16/242 | 分类号: | G06F16/242;G06F16/2457 |
代理公司: | 中科专利商标代理有限责任公司 11021 | 代理人: | 张体南 |
地址: | 100140 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据库 语句 检查 方法 装置 设备 介质 | ||
本公开提供了一种数据库语句检查方法,涉及金融领域。该方法包括:在应用与数据库交互阶段,拦截所述应用发送的当前数据库语句;将所述当前数据库语句与白名单和/或黑名单进行匹配,其中,所述白名单至少包括所述应用的存量语句集合,所述黑名单包括禁止访问所述数据库的不合格语句集合;若所述当前数据库语句在所述白名单中,放行其访问所述数据库,若所述当前数据库语句在所述黑名单中,禁止其访问所述数据库;若所述当前数据库语句未在所述白名单和所述黑名单中,放行其访问所述数据库,并在本地留存进行检查。本公开还提供了一种数据库语句检查装置、设备、存储介质和程序产品。
技术领域
本公开涉及金融领域,更具体地,涉及一种数据库语句检查方法、装置、设备、介质和程序产品。
背景技术
数据库语句的执行效率与应用可用性高度关联,低效语句会长时间占用应用层连接池,导致应用整体可用性下降等问题。对于数据库语句的质量进行管控是应用重要的一环。
相关技术中,一般使用数据库自带的安全模式(SQL_safe_update),或者SQL质量管控平台。例如MYSQL的安全模式,可以保证SQL语句的执行效率,在数据库层面多了一层的低效SQL检查,有效拒绝了低效SQL的执行,以及全表更新等SQL的执行。又例如目前市面上有一些商用的SQL质量管控平台,可以结合人工审批低效SQL。
在实现本公开发明构思的过程中,发明人发现,数据库自带的安全模式缺少对存量数据库语句的放行功能,存量数据库语句属于低效语句则不会被执行,导致应用使用不稳定。而SQL质量管控平台则是需要人工判断,以及具有应用接入开发测试成本、接入平台成本、搭建成本、人工成本和维护成本等花费,导致成本较高。
发明内容
鉴于上述问题,本公开提供了一种数据库语句检查方法、装置、设备、介质和程序产品。
本公开实施例的一个方面,提供了一种数据库语句检查方法,包括:在应用与数据库交互阶段,拦截所述应用发送的当前数据库语句;将所述当前数据库语句与白名单和/或黑名单进行匹配,其中,所述白名单至少包括所述应用的存量语句集合,所述黑名单包括禁止访问所述数据库的不合格语句集合;若所述当前数据库语句在所述白名单中,放行其访问所述数据库,若所述当前数据库语句在所述黑名单中,禁止其访问所述数据库;若所述当前数据库语句未在所述白名单和所述黑名单中,放行其访问所述数据库,并在本地留存进行检查。
根据本公开的实施例,所述在本地留存进行检查包括:将所述当前数据库语句添加到所述本地的待处理队列中,所述待处理队列用于存储至少一条未在所述白名单和所述黑名单中的数据库语句;异步地从所述待处理队列中取出所述当前数据库语句进行检查。
根据本公开的实施例,对所述当前数据库语句进行检查包括:对所述当前数据库语句进行解析,从所述数据库获取所述当前数据库语句的执行信息,所述执行信息包括以下至少一项:语句查询条件、访问表的表名、访问表的索引信息及所述索引信息的字段类型,和分片信息;利用预设检查规则对所述执行信息进行检查,获得检查结果,所述检查结果用于将所述当前数据库语句添加至所述白名单或所述黑名单。
根据本公开的实施例,所述预设检查规则包括以下至少一项规则:索引计算规则,用于基于所述索引信息和所述语句查询条件,检查所述当前数据库语句的索引有效性;分片广播规则,用于基于所述分片信息检查所述当前数据库语句的广播查询条件;多表关联规则,用于检查所述当前数据库语句访问表数量;隐式转换规则,用于基于所述索引信息及其字段类型,检查与所述当前数据库语句所传入实际参数的字段类型的一致性。
根据本公开的实施例,所述索引计算规则包括以下至少一项子规则:通配符子规则,用于基于最左匹配原则检查所述语句查询条件中通配符位置;字段运算子规则,用于检查所述语句查询条件在字段上的运算操作;负向查询子规则,用于检查所述语句查询条件中的负向查询条件;特定函数子规则,用于检查所述语句查询条件中的特定函数,所述特定函数导致索引失效;复合索引子规则,用于基于最左匹配原则检查依次检查复合索引中的索引列。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国工商银行股份有限公司,未经中国工商银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310511617.9/2.html,转载请声明来源钻瓜专利网。