[发明专利]一种基于zookeeper的分布式任务协调的方法及装置有效
申请号: | 201910386401.8 | 申请日: | 2019-05-09 |
公开(公告)号: | CN110109742B | 公开(公告)日: | 2020-04-28 |
发明(设计)人: | 成鑫;程名 | 申请(专利权)人: | 重庆八戒电子商务有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/50 |
代理公司: | 北京酷爱智慧知识产权代理有限公司 11514 | 代理人: | 王莹 |
地址: | 401121 重庆市*** | 国省代码: | 重庆;50 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 zookeeper 分布式 任务 协调 方法 装置 | ||
1.一种基于zookeeper的分布式任务协调的方法,其特征在于包括:将待执行的任务抽象成有限个初始分片,并将所述有限个初始分片存储在zookeeper中;初始化zookeeper的节点,并计算初始节点允许抢占的初始最大片数;延迟启动两个监听线程,分别监听节点变化和分片变化;当所述监听线程发现节点或分片变化后,重新计算节点允许抢占的最大片数,得到更新最大片数;判断所述初始最大片数以及所述更新最大片数是否相同;若不同,进行分片抢占或丢弃操作,并将结果通知业务程序。
2.根据权利要求1所述的方法,其特征在于,所述初始最大片数的计算步骤包括:判断所述初始分片的数量是否为初始节点的整数倍;若是,则所述初始最大片数为所述初始分片的数量相对于所述初始节点的数量的倍数;若否,则所述初始最大片数为所述初始分片的数量与所述初始节点的数量的商加1。
3.根据权利要求1所述的方法,其特征在于,在重新计算所述更新最大片数之后,利用所述监听线程持续监听节点变化和分片变化,并在发生变化后重复计算所述更新最大片数。
4.根据权利要求1所述的方法,其特征在于,进行分片抢占或丢弃操作的步骤,包括:若所述更新最大片数大于所述初始最大片数,使所述节点放弃已经占用的分片,并重新计算所述更新最大片数;若所述更新最大片数小于所述初始最大片数,尝试抢占未被占用的分片,并重新计算所述更新最大片数。
5.一种基于zookeeper的分布式任务协调的装置,其特征在于包括:任务设定单元,用于将待执行的任务抽象成有限个初始分片,并将所述有限个初始分片存储在zookeeper中;注册启动单元,用于初始化zookeeper的节点,并计算初始节点允许抢占的初始最大片数;任务监控单元,延迟启动两个监听线程,分别监听节点变化和分片变化;变化计算单元,用于当所述监听线程发现节点或分片变化后,重新计算节点允许抢占的最大片数,得到更新最大片数;协调分配单元,用于判断所述初始最大片数以及所述更新最大片数是否相同;若不同,进行分片抢占或丢弃操作,并将结果通知业务程序。
6.根据权利要求5所述的装置,其特征在于,所述变化计算单元,还用于判断所述初始分片的数量是否为初始节点的整数倍;若是,则所述初始最大片数为所述初始分片的数量相对于所述初始节点的数量的倍数;若否,则所述初始最大片数为所述初始分片的数量与所述初始节点的数量的商加1。
7.根据权利要求5所述的装置,其特征在于,所述任务监控单元,还用于在重新计算所述更新最大片数之后,利用所述监听线程持续监听节点变化和分片变化;并且所述变化计算单元,还用于在发生变化后重复计算所述更新最大片数。
8.根据权利要求5所述的装置,其特征在于,所述协调分配单元,还用于若所述更新最大片数大于所述初始最大片数,使所述节点放弃已经占用的分片,并重新计算所述更新最大片数;若所述更新最大片数小于所述初始最大片数,尝试抢占未被占用的分片,并重新计算所述更新最大片数。
9.一种存储介质,其存储有计算机程序,该计算机程序被执行时用于实现根据权利要求1-4中任一项所述的基于zookeeper的分布式任务协调的方法。
10.一种计算设备,包括存储器以及处理器,所述存储器存储有计算机程序,该计算机程序被所述处理器执行时用于实现1-4中任一项所述的基于zookeeper的分布式任务协调的方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于重庆八戒电子商务有限公司,未经重庆八戒电子商务有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910386401.8/1.html,转载请声明来源钻瓜专利网。
- 上一篇:循环任务的管理方法、装置、电子设备及存储介质
- 下一篇:一种实时进程调度方法