[发明专利]用于基于zookeeper实现分布式调度的方法和装置有效
申请号: | 201510561242.2 | 申请日: | 2015-09-06 |
公开(公告)号: | CN105159767B | 公开(公告)日: | 2019-07-02 |
发明(设计)人: | 兰健 | 申请(专利权)人: | 北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/50 |
代理公司: | 中科专利商标代理有限责任公司 11021 | 代理人: | 倪斌 |
地址: | 100080 北京市海淀区杏石口路6*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 基于 zookeeper 实现 分布式 调度 方法 装置 | ||
1.一种用于基于zookeeper实现分布式调度的方法,包括:
在zookeeper注册中心处的分布式队列中注册多个调度应用;
调用注册的多个调度应用中的第一调度应用,以向所述第一调度应用分配分布式锁,使得仅所述第一调度应用能够执行任务;以及
当所述第一调度应用获得所分配的分布式锁时,利用所述第一调度应用执行相应的任务;
当与所述多个调度应用对应的节点中的任一节点处发生任务触发时,通知所有其他调度应用执行相应的任务。
2.根据权利要求1所述的方法,其中,按照先进先出FIFO顺序调用所述第一调度应用。
3.根据权利要求1所述的方法,其中,当所述第一调度应用发生异常时,所述第一调度应用退出所述分布式队列。
4.根据权利要求3所述的方法,其中,在所述第一调度应用退出所述分布式队列之后,所述方法还包括:
调用注册的多个调度应用中的后续调度应用,以向所述后续调度应用分配分布式锁,使得仅所述后续调度应用能够执行任务;以及
当所述后续调度应用获得所分配的分布式锁时,利用所述后续调度应用执行相应的任务。
5.根据权利要求4所述的方法,其中,按照先进先出FIFO顺序调用所述后续调度应用。
6.根据权利要求1所述的方法,其中,所述多个调度应用是Quartz调度应用。
7.一种用于基于zookeeper实现分布式调度的方法,包括:
在zookeeper注册中心处的分布式队列中注册多个调度应用;
调用注册的多个调度应用中的第一调度应用以执行与所述第一调度应用相对应的任务;以及
在所述第一调度应用执行了相应任务之后,将所述第一调度应用排列到所述分布式队列的尾部;
当与所述多个调度应用对应的节点中的任一节点处发生任务触发时,通知所有其他调度应用执行相应的任务。
8.根据权利要求7所述的方法,其中,按照先进先出FIFO顺序调用所述第一调度应用。
9.根据权利要求7所述的方法,其中,在将所述第一调度应用排列到所述分布式队列的尾部之后,所述方法还包括:
调用注册的多个调度应用中的后续调度应用以执行与所述后续调度应用相对应的任务;以及
在所述后续调度应用执行了相应任务之后,将所述后续调度应用排列到所述分布式队列的尾部。
10.根据权利要求9所述的方法,其中,按照先进先出FIFO顺序调用所述后续调度应用。
11.根据权利要求7所述的方法,其中,所述多个调度应用是Quartz调度应用。
12.一种用于基于zookeeper实现分布式调度的装置,包括:
注册单元,被配置为在zookeeper注册中心处的分布式队列中注册多个调度应用;
分配单元,被配置为调用注册的多个调度应用中的第一调度应用,以向所述第一调度应用分配分布式锁,使得仅所述第一调度应用能够执行任务;以及
处理单元,被配置为当所述第一调度应用获得所分配的分布式锁时,利用所述第一调度应用执行相应的任务;
通知/协调单元,被配置为当与所述多个调度应用对应的节点中的任一节点处发生任务触发时,通知所有其他调度应用执行相应的任务。
13.根据权利要求12所述的装置,其中,所述分配单元被进一步配置为按照先进先出FIFO顺序调用所述第一调度应用。
14.根据权利要求12所述的装置,还包括:注销单元,被配置为当所述第一调度应用发生异常时,注销所述第一调度应用以使所述第一调度应用退出所述分布式队列。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司,未经北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510561242.2/1.html,转载请声明来源钻瓜专利网。
- 上一篇:进程处理方法及装置
- 下一篇:数据的同步访问方法和同步访问装置