[发明专利]数据库故障止损方法、装置、电子设备、介质及程序产品有效
申请号: | 202210540508.5 | 申请日: | 2022-05-17 |
公开(公告)号: | CN115185921B | 公开(公告)日: | 2023-06-16 |
发明(设计)人: | 张良;赵宇航 | 申请(专利权)人: | 贝壳找房(北京)科技有限公司 |
主分类号: | G06F16/21 | 分类号: | G06F16/21;G06F16/242;G06F16/2455 |
代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 谢志超 |
地址: | 100085 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据库 故障 方法 装置 电子设备 介质 程序 产品 | ||
本发明实施例提供一种数据库故障止损方法、装置、电子设备、介质及程序产品,该方法包括:确定待封禁的异常SQL语句以及所在的数据库实例;提取表示异常SQL语句所属的一类SQL语句的SQL指纹;向数据库实例所在数据库服务器发送封禁命令,封禁命令包括数据库实例的实例ID、SQL指纹及SQL指纹的重写规则,以使数据库服务器根据实例ID及SQL指纹对数据库实例写入重写规则,触发重写规则生效。本发明提供的数据库故障止损方法、装置、电子设备、介质及程序产品,通过将异常SQL语句进行重写,可实现根据改写后的SQL语句执行SQL请求,可以实现对于异常SQL语句的快速处理及结果返回,有效且快速地实现数据库故障止损。
技术领域
本发明实施例涉及一种数据库故障止损方法、装置、电子设备、介质及程序产品。
背景技术
互联网在线应用使用较多的数据库产品是MySQL数据库,通常情况下业务对服务可用性(SLA)会有99.99%的要求。当出现服务故障,需要制定相应的止损预案,快速恢复服务。
在线互联应用通常选择MySQL作为底层数据库存储,应用服务通过将业务数据存储在数据库中实现各个应用节点的数据一致性读取。应用节点不存储数据通常也被称为无状态服务,MySQL存储业务数据通常也被称为有状态服务,这是应用服务和数据库服务的区别。因此,当应用流量突增时无状态服务扩容只需要分配CPU和内存资源,扩容的速度取决于服务部署发布的速度。而对于数据库的有状态服务,在应用流量突增时,除了要完成数据库服务部署发布,还需要进行大量数据拷贝无法在短时间内扩容。因此当面对流量突增时数据库通常是最先被压垮的服务。
MySQL数据库作为底层存储服务,当面对应用流量突增引起的故障通常采取的止损手段是从库扩容或查杀慢查询。从库扩容的速度受限于数据副本拷贝的速度,需要提前准备好足够的冗余才能实现快速扩容,会产生大量资源浪费,否则很难在短时间(例如小于5min)内止损。而查杀慢查询的止损方案通过按照一定的时间间隔查杀查询速度慢的请求,而在查杀的间隔期间请求照常被处理,因此,查杀慢查询对于不断增加的新请求只能起到减轻数据库负载的作用,并不能彻底缓解数据库的压力,并且还会导致SQL执行出错,应用需要做相应的异常处理否则无法实现有效止损。因此大部分情况下遇到应用流量突增通常需要依赖上层业务限流实现快速止损,然而很多上层业务并不提供限流的功能。
发明内容
为解决现有技术中的问题,本发明实施例提供一种数据库故障止损方法、装置、电子设备、介质及程序产品。
本发明实施例提供一种数据库故障止损方法,包括:确定待封禁的异常SQL语句以及所述异常SQL语句所在的数据库实例;根据所述异常SQL语句提取SQL指纹;其中,所述SQL指纹用于表示所述异常SQL语句所属的一类SQL语句;向所述数据库实例所在的数据库服务器发送封禁命令,所述封禁命令包括所述数据库实例的实例ID、所述SQL指纹以及所述SQL指纹对应的SQL语句的重写规则,以使所述数据库服务器在接收到所述封禁命令后,根据所述实例ID及所述SQL指纹对所述数据库实例写入所述重写规则,并触发所述重写规则生效。
根据本发明实施例提供的一种数据库故障止损方法,所述重写规则包括:将所述SQL指纹对应的SQL语句替换为直接返回结果集的指令。
根据本发明实施例提供的一种数据库故障止损方法,在所述向所述数据库实例所在的数据库服务器发送封禁命令之前,所述方法还包括:接收客户端发送的所述重写规则。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于贝壳找房(北京)科技有限公司,未经贝壳找房(北京)科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210540508.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种语音识别方法及装置
- 下一篇:一种可调角度的发泡陶瓷斜切机