[发明专利]数据库事务的死锁检测方法、装置及电子设备有效
| 申请号: | 202110028189.5 | 申请日: | 2021-01-11 |
| 公开(公告)号: | CN112363846B | 公开(公告)日: | 2021-04-13 |
| 发明(设计)人: | 王天宇 | 申请(专利权)人: | 北京金山云网络技术有限公司 |
| 主分类号: | G06F9/52 | 分类号: | G06F9/52;G06F9/46 |
| 代理公司: | 北京超凡宏宇专利代理事务所(特殊普通合伙) 11463 | 代理人: | 徐丽 |
| 地址: | 100000 北京市海淀*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 数据库 事务 死锁 检测 方法 装置 电子设备 | ||
1.一种数据库事务的死锁检测方法,其特征在于,包括:
如果目标事务处于挂起状态,检测阻塞所述目标事务的第一事务是否处于挂起状态,以及是否存在被所述目标事务阻塞的第二事务;如果阻塞所述目标事务的第一事务处于挂起状态,且存在被所述目标事务阻塞的第二事务,确定所述目标事务满足所述发生死锁的必要条件;其中,当所述目标事务被阻塞时,所述目标事务处于挂起状态;
如果所述目标事务满足所述发生死锁的必要条件,触发死锁检测。
2.根据权利要求1所述的数据库事务的死锁检测方法,其特征在于,所述检测是否存在被所述目标事务阻塞的第二事务的步骤,包括:
获取预设计数参数的计数值,其中,所述计数参数用于对被所述目标事务阻塞的第二事务进行计数;
判断所述计数值是否为零,如果否,则确定存在被所述目标事务阻塞的第二事务。
3.根据权利要求2所述的数据库事务的死锁检测方法,其特征在于,通过原子递增的方式对所述预设计数参数进行计数。
4.根据权利要求2所述的数据库事务的死锁检测方法,其特征在于,所述方法还包括:
如果所述计数值不为零,则在检测到所述目标事务完成提交的情况下,对所述计数值清零。
5.根据权利要求1所述的数据库事务的死锁检测方法,其特征在于,所述检测阻塞所述目标事务的第一事务是否处于挂起状态的步骤,包括:
读取阻塞所述目标事务的第一事务的状态信息;
根据所述状态信息判断所述第一事务是否处于挂起状态。
6.根据权利要求1所述的数据库事务的死锁检测方法,其特征在于,在如果阻塞所述目标事务的第一事务处于挂起状态,且存在被所述目标事务阻塞的第二事务,触发死锁检测的步骤之后,所述方法还包括:
如果死锁检测的结果为存在死锁,则撤销所述目标事务。
7.一种数据库事务的死锁检测装置,其特征在于,包括:
必要条件判断模块,用于在目标事务处于挂起状态的情况下,检测阻塞所述目标事务的第一事务是否处于挂起状态,以及是否存在被所述目标事务阻塞的第二事务;如果阻塞所述目标事务的第一事务处于挂起状态,且存在被所述目标事务阻塞的第二事务,确定所述目标事务满足所述发生死锁的必要条件;其中,当所述目标事务被阻塞时,所述目标事务处于挂起状态;
死锁检测触发模块,用于在所述目标事务满足所述发生死锁的必要条件的情况下,触发死锁检测。
8.一种电子设备,其特征在于,所述电子设备包括处理器和存储器,所述存储器存储有能够被所述处理器执行的计算机可执行指令,所述处理器执行所述计算机可执行指令以实现权利要求1至6任一项所述的数据库事务的死锁检测方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令在被处理器调用和执行时,计算机可执行指令促使处理器实现权利要求1至6任一项所述的数据库事务的死锁检测方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京金山云网络技术有限公司,未经北京金山云网络技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110028189.5/1.html,转载请声明来源钻瓜专利网。





