[发明专利]分布式系统中全局锁的实现方法及装置有效
申请号: | 201611131371.9 | 申请日: | 2016-12-09 |
公开(公告)号: | CN106598746B | 公开(公告)日: | 2021-04-23 |
发明(设计)人: | 赵安安 | 申请(专利权)人: | 北京奇虎科技有限公司 |
主分类号: | G06F9/52 | 分类号: | G06F9/52 |
代理公司: | 深圳市世纪恒程知识产权代理事务所 44287 | 代理人: | 胡海国 |
地址: | 100088 北京市西城区新*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 分布式 系统 全局 实现 方法 装置 | ||
1.一种分布式系统中全局锁的实现方法,其包括:
确定所要执行的操作;
根据所要执行的操作确定对应的全局锁;
获取与所要执行的操作对应的全局锁;
判断所述全局锁是否被锁定;
在所述全局锁未被锁定时,锁定所述全局锁,执行所述全局锁对应的操作;在执行完成所述全局锁对应的操作后,释放所述全局锁;
其中,所述全局锁对应的操作包括:对分布式系统的元信息进行修改的操作;
其中,所述对分布式系统的元信息进行修改的操作包括:主从关系修改的操作,和/或,读写模式修改的操作;
其中,若所述全局锁被锁定,所述方法还包括以下任意一种:
获取分布式系统中锁定全局锁的数据节点的锁定全局锁的最新时刻,若所述全局锁一直被该数据节点锁定,则判断当前时刻距离所述数据节点锁定所述全局锁的最新时刻的时间间隔是否超出所述全局锁的使用时长,若是,则释放所述全局锁;
或,
记录分布式系统中锁定全局锁的数据节点的最新活动时刻,若所述全局锁一直被该数据节点锁定,则判断当前时刻距离该数据节点的最新活动时刻的时间间隔是否超出预设时长,若是,则释放所述全局锁;
或,
记录分布式系统中锁定全局锁的数据节点的锁定全局锁的时刻,若所述全局锁一直被该数据节点锁定,则判断当前时刻距离该数据节点的锁定全局锁的时刻的时间间隔是否超出所述全局锁的使用时长,若是,则释放所述全局锁。
2.一种分布式系统中全局锁的实现装置,其包括:
操作确定模块,适于确定所要执行的操作;
全局锁确定模块,适于根据所要执行的操作确定对应的全局锁;
获取模块,适于获取与所要执行的操作对应的全局锁;
第一判断模块,适于判断所述全局锁是否被锁定;
执行模块,适于若所述第一判断模块判断出所述全局锁未被锁定,则锁定所述全局锁,执行所述全局锁对应的操作;
释放模块,适于在执行完成所述全局锁对应的操作后,释放所述全局锁;
其中,所述全局锁对应的操作包括:对分布式系统的元信息进行修改的操作;
其中,所述对分布式系统的元信息进行修改的操作包括:主从关系修改的操作,和/或,读写模式修改的操作;
其中,若所述全局锁被锁定,所述装置还包括以下任意一种:
时刻获取模块,适于获取分布式系统中锁定全局锁的数据节点的锁定全局锁的最新时刻,第四判断模块,适于若所述全局锁一直被该数据节点锁定,则判断当前时刻距离所述数据节点锁定所述全局锁的最新时刻的时间间隔是否超出所述全局锁的使用时长,所述释放模块,还适于若所述第四判断模块判断出当前时刻距离所述数据节点锁定所述全局锁的最新时刻的时间间隔超出所述全局锁的使用时长,则释放所述全局锁;
或,
第一记录模块,适于记录分布式系统中锁定全局锁的数据节点的最新活动时刻,第二判断模块,适于若所述全局锁一直被该数据节点锁定,则判断当前时刻距离该数据节点的最新活动时刻的时间间隔是否超出预设时长,所述释放模块,还适于若所述第二判断模块判断出当前时刻距离数据节点的最新活动时刻的时间间隔超出预设时长,则释放所述全局锁;
或,
第二记录模块,适于记录分布式系统中锁定全局锁的数据节点的锁定全局锁的时刻,第三判断模块,适于若所述全局锁一直被该数据节点锁定,则判断当前时刻距离该数据节点的锁定全局锁的时刻的时间间隔是否超出所述全局锁的使用时长,所述释放模块,还适于若所述第三判断模块判断出当前时刻距离数据节点的锁定全局锁的时刻的时间间隔超出所述全局锁的使用时长,则释放所述全局锁。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇虎科技有限公司,未经北京奇虎科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611131371.9/1.html,转载请声明来源钻瓜专利网。
- 上一篇:线程管理方法和系统
- 下一篇:网络数据包的并行处理方法及装置