[发明专利]基于探测消息传递的分布式数据库事务死锁检测解锁方法有效
| 申请号: | 202210484065.2 | 申请日: | 2022-05-06 | 
| 公开(公告)号: | CN114579669B | 公开(公告)日: | 2022-08-30 | 
| 发明(设计)人: | 董建国;吴明远;赵健 | 申请(专利权)人: | 天津南大通用数据技术股份有限公司 | 
| 主分类号: | G06F16/27 | 分类号: | G06F16/27;G06F16/21;G06F9/52;G06F9/54 | 
| 代理公司: | 天津企兴智财知识产权代理有限公司 12226 | 代理人: | 安孔川 | 
| 地址: | 300384 天津市滨海新区华*** | 国省代码: | 天津;12 | 
| 权利要求书: | 查看更多 | 说明书: | 查看更多 | 
| 摘要: | |||
| 搜索关键词: | 基于 探测 消息 传递 分布式 数据库 事务 死锁 检测 解锁 方法 | ||
1.基于探测消息传递的分布式数据库事务死锁检测解锁方法,其特征在于,具体方法如下:
S1、K个事务要访问数据库,通过TCP连接随机连接到分布式数据库的多个协调者节点上,协调者节点为每个事务的TCP连接分配一个进程来处理该事务发送的执行SQL请求,第一事务连接的节点一进程一,记为N1P1,第二事务连接的节点二进程二,记为N2P2,依次类推,第K事务连接的节点K进程K,记为NKPK;
S2、第一事务连接的N1P1进程需要使用的数据库资源被N2P2进程持有时,N1P1进程等待第二事务,同时N1P1进程给N2P2进程发送探测消息,N2P2进程接收到探测消息时,若N2P2进程没有等待任何事务,则丢弃探测消息;
若N2P2进程在等待第三事务,则将探测消息发送给N3P3进程,若N3P3进程没有等待任何事务,则丢弃探测消息,若N3P3进程在等待第四事务,则将探测消息发送给N4P4进程,依次类推,直至探测消息发送至NKPK进程,NKPK进程若在等待第一事务,N1P1进程收到流转回来之前发出的探测信息,则检测出全局死锁;
S3、若全局死锁,则释放第一事务的N1P1进程持有数据库资源,进行第一事务回滚,N1P1释放数据库资源后,以便其它事务能获取到资源,执行得以继续;且第一事务客户端收到全局死锁通知消息后,可以重新执行事务,完成第一事务。
2.根据权利要求1所述的基于探测消息传递的分布式数据库事务死锁检测解锁方法,其特征在于:步骤S2中,N1P1进程需要使用的数据库资源被N2P2进程持有,确认方法如下:
N1P1进程执行第一事务命令需要占用数据库资源一时,申请数据库资源一的互斥锁,判断数据库资源一的占用情况,若数据库资源一被N2P2进程持有,则N1P1进程需要使用的数据库资源被N2P2进程持有。
3.根据权利要求1所述的基于探测消息传递的分布式数据库事务死锁检测解锁方法,其特征在于:步骤S2中,N2P2进程在等待第三事务,具体确认方法:
第二事务的N2P2进程需要使用的数据库资源被第三事务的N3P3进程持有时,则N2P2进程等待第三事务。
4.根据权利要求1所述的基于探测消息传递的分布式数据库事务死锁检测解锁方法,其特征在于:所述探测消息为字符串,所述探测消息定义格式方法为,被阻塞调者进程所在的协调者节点名称与被阻塞进程的进程号用#字符拼接,记为,被阻塞调者进程所在的协调者节点名称#被阻塞进程的进程号。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于天津南大通用数据技术股份有限公司,未经天津南大通用数据技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210484065.2/1.html,转载请声明来源钻瓜专利网。
- 上一篇:提供以用户为中心的应用
 - 下一篇:一种盐酸达泊西汀口腔速溶膜及其制备方法
 





