[发明专利]用于非对称业务场景的非对称分布式锁系统及实现方法有效
申请号: | 202110695320.3 | 申请日: | 2021-06-23 |
公开(公告)号: | CN113254226B | 公开(公告)日: | 2021-09-24 |
发明(设计)人: | 何振兴;李清灶;吴邦坤;顾海燕;王效忠 | 申请(专利权)人: | 北京易鲸捷信息技术有限公司 |
主分类号: | G06F9/52 | 分类号: | G06F9/52 |
代理公司: | 四川言己律师事务所 51349 | 代理人: | 罗韬 |
地址: | 100089 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 对称 业务 场景 分布式 系统 实现 方法 | ||
1.一种用于非对称业务场景的非对称分布式锁系统,其特征在于:所述系统包括服务节点,所述服务节点包括分布式锁管理器,所述分布式锁管理器接入本地锁管理器;
所述本地锁管理器用于维护本地所队列与网络锁队列,所述本地锁队列中保存当前服务节点上所有本地锁的信息;所述网络锁队列中保存当前服务节点上所有网络锁的信息;
所述分布式锁管理器用于接受客户端发出的锁操作请求,并根据锁操作请求的类型执行后续操作:
如为分布式本地锁操作,首先在当前服务节点中的本地锁管理器中添加本地锁,然后检查本地锁管理器中是否存在与之冲突的网络锁,如检查结果为否,则调用本地锁管理器中的当前本地锁完成加锁;反之则加锁失败,并释放当前添加的本地锁;
如为分布式网络锁操作,首先在本地锁管理器中添加网络锁,然后检查本地锁管理器中是否存在与之冲突的本地锁,如检查结果为是,则加锁失败;反之则通过网络向其它服务节点发送RPC请求,由其它服务节点执行相应的操作并等待结果,直至所有服务节点均返回成功结果,则完成网络锁的加锁,任意一个服务节点返回失败结果,则加锁失败;
所述其它服务节点执行相应的操作为首先在本地锁管理器中添加网络锁,然后检查本地锁管理器中是否存在与之冲突的本地锁,如检查结果为是,则加锁失败,向主服务节点返回失败结果;反之则向主服务节点返回成功结果。
2.根据权利要求1所述的用于非对称业务场景的非对称分布式锁系统,其特征在于:所述的系统包括多个服务节点,且任意一个服务节点均可接受客户端发出的锁操作请求,作为所述主服务节点;所述本地锁为共享锁,所述网络锁为排它锁。
3.根据权利要求1或2所述的用于非对称业务场景的非对称分布式锁系统,其特征在于:所述分布式锁管理器还用于在网络锁加锁失败后,主服务节点的分布式锁管理器向所有的服务节点发送网络锁清理请求,由各个服务节点的分布式锁管理器释放当前所添加的网络锁。
4.根据权利要求1所述的用于非对称业务场景的非对称分布式锁系统,其特征在于:所述分布式锁管理器还用于解锁,所述解锁包括本地锁解锁与网络锁解锁,所述本地锁解锁为直接删除本地锁管理器中的本地锁;
所述网络锁解锁为首先删除当前服务节点中本地锁管理器中的网络锁,然后通过网络向其它服务节点发送RPC请求,由其它服务节点执行相应的操作并等待结果,直至所有服务节点均返回成功结果,则完成网络锁的解锁,任意一个服务节点返回失败结果,则解锁失败;
所述其它服务节点执行相应的操作为删除当前服务节点的本地管理器中的网络锁,如删除成功,则返回成功结果,反之则返回失败结果。
5.根据权利要求4所述的用于非对称业务场景的非对称分布式锁系统,其特征在于:任意一个服务节点在解锁操作时超时无响应,则网络锁也解锁失败。
6.根据权利要求1或5所述的用于非对称业务场景的非对称分布式锁系统,其特征在于:任意一个服务节点在加锁操作时超时无响应,则网络锁也加锁失败。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京易鲸捷信息技术有限公司,未经北京易鲸捷信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110695320.3/1.html,转载请声明来源钻瓜专利网。