[发明专利]数据库事务的死锁检测方法、装置及电子设备有效
申请号: | 202110028189.5 | 申请日: | 2021-01-11 |
公开(公告)号: | CN112363846B | 公开(公告)日: | 2021-04-13 |
发明(设计)人: | 王天宇 | 申请(专利权)人: | 北京金山云网络技术有限公司 |
主分类号: | G06F9/52 | 分类号: | G06F9/52;G06F9/46 |
代理公司: | 北京超凡宏宇专利代理事务所(特殊普通合伙) 11463 | 代理人: | 徐丽 |
地址: | 100000 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据库 事务 死锁 检测 方法 装置 电子设备 | ||
本发明提供了一种数据库事务的死锁检测方法、装置及电子设备,涉及数据库技术领域,该方法包括如果检测到目标事务处于挂起状态,判断该目标事务是否满足预设的发生死锁的必要条件;其中,当该目标事务被阻塞时,该目标事务处于挂起状态;如果该目标事务满足该发生死锁的必要条件,触发死锁检测。本发明实施例通过设置发生死锁的必要条件,用以排除一部分不可能发生死锁的目标事务被挂起的情况,只在满足该必要条件时才进行死锁检测,从而减少了死锁检测的次数,提高了死锁检测的效率,节约了数据库系统的CPU资源,并提高锁系统的并发处理能力。
技术领域
本发明涉及数据库技术领域,尤其是涉及一种数据库事务的死锁检测方法、装置及电子设备。
背景技术
死锁检测是一个成本较高的工作,其涉及到持有锁系统互斥锁、获取处于挂起状态的事务、构建事务等待图、计算是否出现环和释放锁系统互斥锁。
在实际操作中,只要数据库锁系统的后台线程发现有事务挂起,就会触发死锁检测。但是,实际上大部分事务冲突都不会出现死锁,在传统数据库中,通过上述死锁检测方式的有效死锁检测概率大概在3%左右,因而导致大量的死锁检测没有实际意义。并且,大量的死锁检测不但消耗了数据库系统CPU资源,由于死锁检测持有锁系统互斥锁,其还降低了锁系统的并发处理能力,以及增加了真正需要死锁检测的响应耗时。
整体而言,现有数据库的死锁检测方式,会导致大量无意义的死锁检测,浪费了数据库系统CPU资源,降低了锁系统的并发处理能力,死锁检测效率较低。
发明内容
有鉴于此,本发明的目的在于提供一种数据库事务的死锁检测方法、装置及电子设备,可以减少数据库锁系统的无意义死锁检测的数量,提升死锁检测效率,节约数据库系统的CPU资源,并提高锁系统的并发处理能力。
第一方面,本发明实施例提供了一种数据库事务的死锁检测方法,包括:如果目标事务处于挂起状态,判断该目标事务是否满足预设的发生死锁的必要条件;其中,当该目标事务被阻塞时,该目标事务处于挂起状态;如果该目标事务满足该发生死锁的必要条件,触发死锁检测。
在本发明可选的实施例中,上述判断该目标事务是否满足预设的发生死锁的必要条件的步骤,包括:检测阻塞该目标事务的第一事务是否处于挂起状态,以及是否存在被该目标事务阻塞的第二事务;如果阻塞该目标事务的第一事务处于挂起状态,且存在被该目标事务阻塞的第二事务,确定该目标事务满足该发生死锁的必要条件。
在本发明可选的实施例中,上述检测是否存在被该目标事务阻塞的第二事务的步骤,包括:获取预设计数参数的计数值,其中,该计数参数用于对被该目标事务阻塞的第二事务进行计数;判断该计数值是否为零,如果否,则确定存在被该目标事务阻塞的第二事务。
在本发明可选的实施例中,通过原子递增的方式对该预设计数参数进行计数。
在本发明可选的实施例中,上述方法还包括:如果该计数值不为零,则在检测到该目标事务完成提交的情况下,对该计数值清零。
在本发明可选的实施例中,上述检测阻塞该目标事务的第一事务是否处于挂起状态的步骤,包括:读取阻塞该目标事务的第一事务的状态信息;根据该状态信息判断该第一事务是否处于挂起状态。
在本发明可选的实施例中,在如果阻塞该目标事务的第一事务处于挂起状态,且存在被该目标事务阻塞的第二事务,触发死锁检测的步骤之后,上述方法还包括:如果死锁检测的结果为存在死锁,则撤销该目标事务。
第二方面,本发明实施例还提供了一种数据库事务的死锁检测装置,包括:必要条件判断模块,用于在目标事务处于挂起状态的情况下,判断该目标事务是否满足预设的发生死锁的必要条件;其中,当该目标事务被阻塞时,该目标事务处于挂起状态;死锁检测触发模块,用于在该目标事务满足该发生死锁的必要条件的情况下,触发死锁检测。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京金山云网络技术有限公司,未经北京金山云网络技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110028189.5/2.html,转载请声明来源钻瓜专利网。