[发明专利]分布式锁的分配方法及设备有效
| 申请号: | 201710476716.2 | 申请日: | 2017-06-21 |
| 公开(公告)号: | CN109101341B | 公开(公告)日: | 2022-02-22 |
| 发明(设计)人: | 朱云锋;杨皓然;卢毅军 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
| 主分类号: | G06F9/52 | 分类号: | G06F9/52;G06F11/07 |
| 代理公司: | 上海百一领御专利代理事务所(普通合伙) 31243 | 代理人: | 陈贞健;王路丰 |
| 地址: | 英属开曼群岛大开*** | 国省代码: | 暂无信息 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 分布式 分配 方法 设备 | ||
1.一种客户端的分布式锁的分配方法,其中,该方法包括:
为服务进程分配唯一的进程标识,由所述服务进程向服务端请求创建分布式锁的具有生命周期的锁文件后,向服务端发送在所述锁文件中写入所述进程标识的请求;
当所述服务进程故障时,启动新的服务替换进程来切换所述故障的服务进程,并将所述故障的服务进程的进程标识分配给所述服务替换进程;
由所述服务替换进程在所述锁文件的生命周期结束前,向所述服务端发送所述分布式锁的所有权的继承请求,所述继承请求包括所述服务替换进程的进程标识,用于触发所述服务端提前释放所述分布式锁的所有权,并判断所述服务替换进程的进程标识与所述锁文件中的当前进程标识是否一致,若一致,为所述服务替换进程创建同一分布式锁的新的锁文件。
2.根据权利要求1所述的方法,其中,由所述服务替换进程在所述生命周期结束前,向所述服务端发送所述分布式锁的所有权的继承请求,包括:
由所述服务替换进程,向所述服务端发送尝试重新创建同一布式锁的新的锁文件的请求,若所述服务端反馈尝试创建失败,
由所述服务替换进程在所述生命周期结束前,向所述服务端发送所述分布式锁的所有权的继承请求,所述继承请求包括所述服务替换进程的进程标识。
3.根据权利要求1或2所述的方法,其中,由所述服务替换进程在所述生命周期结束前,向所述服务端发送所述分布式锁的所有权的继承请求,包括:
由所述服务替换进程在所述锁文件的生命周期结束前,向所述服务端发送所述服务进程所创建的锁文件的删除请求,所述删除请求包含所述服务替换进程的进程标识;
由所述服务替换进程向所述服务端发送同一分布式锁的新的锁文件的创建请求。
4.根据权利要求3所述的方法,其中,由所述服务替换进程在所述锁文件的生命周期结束前,向所述服务端发送所述服务进程所创建的锁文件的删除请求,向所述服务端发送同一分布式锁的新的锁文件的创建请求,包括:
向服务端发送事务序号获取请求,以从服务端的锁文件中获取锁文件在创建时的事务序号;
由所述服务替换进程在所述生命周期结束前,向所述服务端发送所述服务进程所创建的锁文件的删除请求,所述删除请求中还包含所述锁文件在创建时的事务序号;
从服务端接收所述锁文件是否删除成功的反馈,其中,所述服务端基于删除请求中的事务序号与服务端的所述分布式锁的当前锁文件中的创建时的事务序号是否一致反馈所述锁文件是否删除成功,
若删除成功,则基于从服务端接收的删除成功的反馈,向所述服务端发送同一分布式锁的新的锁文件的创建请求。
5.根据权利要求4所述的方法,其中,从服务端接收所述锁文件是否删除成功的反馈之后,还包括:
若删除不成功,则从所述服务接收所述服务替换进程抢占的所述锁文件失败的反馈。
6.根据权利要求2所述的方法,其中,由所述服务替换进程在所述生命周期结束前,向所述服务端发送尝试重新创建同一布式锁的新的具有生命周期的锁文件的请求之后,还包括:
若所述服务端尝试创建成功,则从所述服务端获取所述服务替换进程抢占所述分布式锁成功的反馈。
7.一种服务端的分布式锁的分配方法,其中,该方法包括:
根据从客户端的服务进程接收的锁文件的创建请求,创建对应的分布式锁的具有生命周期的锁文件;
根据从所述服务进程接收的进程标识写入请求,在所述锁文件中写入所述服务进程的唯一的进程标识,其中,当所述服务进程故障时,由客户端启动新的服务替换进程来切换所述故障的服务进程,并将所述故障的服务进程的进程标识分配给所述服务替换进程;
获取所述服务替换进程在所述锁文件的生命周期结束前,发送的所述分布式锁的继承请求,提前释放所述分布式锁的所有权,所述继承请求中包含所述服务替换进程的进程标识,判断所述服务替换进程的进程标识与所述锁文件中的当前进程标识是否一致,若一致,为所述服务替换进程创建同一分布式锁的新的锁文件。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710476716.2/1.html,转载请声明来源钻瓜专利网。





