[发明专利]一种基于zookeeper的分布式任务协调的方法及装置有效
申请号: | 201910386401.8 | 申请日: | 2019-05-09 |
公开(公告)号: | CN110109742B | 公开(公告)日: | 2020-04-28 |
发明(设计)人: | 成鑫;程名 | 申请(专利权)人: | 重庆八戒电子商务有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/50 |
代理公司: | 北京酷爱智慧知识产权代理有限公司 11514 | 代理人: | 王莹 |
地址: | 401121 重庆市*** | 国省代码: | 重庆;50 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 zookeeper 分布式 任务 协调 方法 装置 | ||
本发明公开了一种基于zookeeper的分布式任务协调的方法及装置;方法包括如下步骤:将待执行的任务抽象成有限个初始分片,并将有限个初始分片存储在zookeeper中;初始化zookeeper的节点,并计算初始节点允许抢占的初始最大片数;延迟启动两个监听线程,分别监听节点变化和分片变化;当监听线程发现节点或分片变化后,重新计算节点允许抢占的最大片数,得到更新最大片数;判断初始最大片数以及更新最大片数是否相同;若不同,进行分片抢占或丢弃操作,并将结果通知业务程序。本发明的方案采用开箱即用的分布式任务协调方案,通过简洁的方法,提高了灵活度,降低分布式系统的构建成本。
技术领域
本发明涉及分布式系统中任务分配的框架技术领域,具体涉及一种基于zookeeper的分布式任务协调的方法及装置。
背景技术
在互联网系统中,涉及大量的分布式计算;但如何来进行任务协调、分配,节点变化后的任务调整,缺少灵活、简洁以及与业务耦合度低比较通用的框架;进而导致了构建分布式系统难度增大。
ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。然而目前的ZooKeeper存在以下问题:不能及时对节点或者任务分片的变化进行更新,导致节点的处理能力无法充分发挥。
发明内容
针对现有技术中的缺陷,本发明提供一种基于zookeeper的分布式任务协调的方法及装置。
一方面,本发明提供了一种基于zookeeper的分布式任务协调的方法,所述方法包括下述步骤:将待执行的任务抽象成有限个初始分片,并将有限个初始分片存储在zookeeper中;初始化zookeeper的节点,并计算初始节点允许抢占的初始最大片数;延迟启动两个监听线程,分别监听节点变化和分片变化;当监听线程发现节点或分片变化后,重新计算节点允许抢占的最大片数,得到更新最大片数;判断初始最大片数以及更新最大片数是否相同;若不同,进行分片抢占或丢弃操作,并将结果通知业务程序。
可选地,初始最大片数的计算步骤包括:判断初始分片的数量是否为初始节点的整数倍;若是,则初始最大片数为初始分片的数量相对于初始节点的数量的倍数;若否,则初始最大片数为初始分片的数量与初始节点的数量的商加1。
可选地,在重新计算更新最大片数之后,利用监听线程持续监听节点变化和分片变化,并在发生变化后重复计算更新最大片数。
可选地,进行分片抢占或丢弃操作的步骤,包括:若更新最大片数大于初始最大片数,使节点放弃已经占用的分片,并重新计算更新最大片数;若更新最大片数小于初始最大片数,尝试抢占未被占用的分片,并重新计算更新最大片数。
另一方面,本发明提供了一种基于zookeeper的分布式任务协调的装置,所述装置包括任务设定单元,用于将待执行的任务抽象成有限个初始分片,并将有限个初始分片存储在zookeeper中;注册启动单元,用于初始化zookeeper的节点,并计算初始节点允许抢占的初始最大片数;任务监控单元,延迟启动两个监听线程,分别监听节点变化和分片变化;变化计算单元,用于当监听线程发现节点或分片变化后,重新计算节点允许抢占的最大片数,得到更新最大片数;协调分配单元,用于判断初始最大片数以及更新最大片数是否相同;若不同,进行分片抢占或丢弃操作,并将结果通知业务程序。
可选地,变化计算单元,还用于判断初始分片的数量是否为初始节点的整数倍;若是,则初始最大片数为初始分片的数量相对于初始节点的数量的倍数;若否,则初始最大片数为初始分片的数量与初始节点的数量的商加1。
可选地,任务监控单元,还用于在重新计算更新最大片数之后,利用监听线程持续监听节点变化和分片变化;并且变化计算单元,还用于在发生变化后重复计算更新最大片数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于重庆八戒电子商务有限公司,未经重庆八戒电子商务有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910386401.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:循环任务的管理方法、装置、电子设备及存储介质
- 下一篇:一种实时进程调度方法