[发明专利]分布式系统中的全局锁抢占方法、装置及计算设备有效
申请号: | 201711486076.X | 申请日: | 2017-12-29 |
公开(公告)号: | CN108073460B | 公开(公告)日: | 2020-12-04 |
发明(设计)人: | 陈宗志 | 申请(专利权)人: | 北京奇虎科技有限公司 |
主分类号: | G06F9/52 | 分类号: | G06F9/52 |
代理公司: | 深圳市世纪恒程知识产权代理事务所 44287 | 代理人: | 胡海国 |
地址: | 100088 北京市西城区新*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 分布式 系统 中的 全局 抢占 方法 装置 计算 设备 | ||
本发明公开了一种分布式系统中的全局锁抢占方法、装置、计算设备及计算机存储介质。其中所述方法包括:每隔预设时间段检测当前状态下是否存在主服务节点;若存在,则检测主服务节点的有效时间是否在有效期内;若在有效期内,则将主服务节点的节点信息与服务节点自身的节点信息进行比较,以确定该服务节点是否为主服务节点;若是,则抢占全局锁并更新主服务节点的有效时间。上述方案通过更新主服务节点的有效时间可以减少全局锁的变化,保证当前的主服务节点能够一直抢到全局锁,避免了不停的切换主服务节点以及非主服务节点抢占全局锁而导致真正的主服务节点抢不到全局锁,而使得主服务节点无法执行数据处理操作的缺陷。
技术领域
本发明涉及计算机技术领域,具体涉及一种分布式系统中的全局锁抢占方法、装置、计算设备及计算机存储介质。
背景技术
分布式系统建立在网络基础之上,由一组各自独立的多个服务节点如服务器组成统一的整体。
传统的抢占全局锁的方法,一般是多个服务节点都去抢全局锁,在抢到全局锁以后,抢到全局锁的服务节点再检测当前有没有主服务节点,以及当前的主服务节点的有效时间有没有过期,这样就很容易出现当前是主服务节点的服务节点可能一直抢不到全局锁,在分布式系统一般规定主服务节点的有效时间是60s,每10s进行一次抢占全局锁的操作,如果当前主服务节点6次都抢占不到全局锁,主服务节点的有效时间就会过期,主服务节点就会变为其他的服务节点,导致主服务节点未进行任何数据处理操作,另外,在使用分布式的全局锁的大部分场景里面,并不希望主服务节点经常发生变化,因为主服务节点变化以后,业务上层需要做大量的切换逻辑,增加不必要的开销。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的分布式系统中的全局锁抢占方法、装置、计算设备及计算机存储介质。
根据本发明的一个方面,提供了一种分布式系统中的全局锁抢占方法,所述方法运行于分布式系统中的每个服务节点中,所述方法包括:
每隔预设时间段检测当前状态下是否存在主服务节点;
若存在主服务节点,则检测主服务节点的有效时间是否在有效期内;
若在有效期内,则将主服务节点的节点信息与服务节点自身的节点信息进行比较,以确定该服务节点是否为主服务节点;
若该服务节点为主服务节点,则抢占全局锁并更新主服务节点的有效时间。
根据本发明的另一方面,提供了一种分布式系统中的全局锁抢占装置,所述装置运行于分布式系统中的每个服务节点中,所述装置包括:
第一检测模块,适于每隔预设时间段检测当前状态下是否存在主服务节点;
第二检测模块,适于若存在主服务节点,则检测主服务节点的有效时间是否在有效期内;
比较模块,适于若主服务节点的有效时间在有效期内,则将主服务节点的节点信息与服务节点自身的节点信息进行比较,以确定该服务节点是否为主服务节点;
抢占模块,适于若该服务节点为主服务节点,则抢占全局锁;
更新模块,适于更新主服务节点的有效时间。
根据本发明的又一方面,提供了一种计算设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行上述分布式系统中的全局锁抢占方法对应的操作。
根据本发明的再一方面,提供了一种计算机存储介质,所述计算机存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如上述分布式系统中的全局锁抢占方法对应的操作。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇虎科技有限公司,未经北京奇虎科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711486076.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种电子设备的CPU的管理方法及装置
- 下一篇:内存泄漏调试方法及装置