[发明专利]集群任务协调方法、系统和装置在审
申请号: | 201610286549.0 | 申请日: | 2016-05-03 |
公开(公告)号: | CN107341051A | 公开(公告)日: | 2017-11-10 |
发明(设计)人: | 董旭 | 申请(专利权)人: | 北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/50 |
代理公司: | 北京英赛嘉华知识产权代理有限责任公司11204 | 代理人: | 王达佐,马晓亚 |
地址: | 100080 北京市海淀区杏石口路6*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 集群 任务 协调 方法 系统 装置 | ||
技术领域
本申请涉及计算机技术领域,尤其涉及集群任务协调方法、系统和装置。
背景技术
在互联网和电子商务领域,许多应用系统中的任务是相互联系的,例如某些任务需要拆分成多个子任务到多个节点进行分别处理,或者某些定时任务具有排他性,这需要将上述各任务进行协调处理。
在现有技术中,应用系统通常采用quatz集群或消息队列进行任务协调。其中,quatz集群是通过预先在任务中嵌入相应的控制代码,而后使用如数据库等公共资源进行任务的协调,quatz集群通常只能在任务处理节点中选取一个节点来处理任务,即上述quatz集群通常仅支持独占任务的协调处理;消息队列通常是利用自身的信息分发特性实现任务简单的分发协调,并且消息队列通常也是将任务分发到某一个节点进行任务处理,即消息队列也仅支持独占任务的协调处理。但是,通常应用系统中不仅包括独占任务,还包括需要多个节点同时处理的并行任务,由此可见,这里还需要一种可以协调并行任务的方法。
发明内容
本申请的目的在于提出一种改进的集群任务协调方法、系统和装置,来解决以上背景技术部分提到的技术问题。
第一方面,本申请提供了一种集群任务协调方法,所述方法包括:包含多个节点的集群启动时,zookeeper服务器从所述集群的各所述节点中确定一个主节点和多个从节点;各所述节点向所述zookeeper服务器注册该节点待执行任务的任务信息,且所述主节点从所述 zookeeper服务器获取各所述任务的任务信息,其中,所述任务信息包括该节点待执行任务的触发条件;当所述主节点根据所述任务信息确定第一任务被触发时,所述主节点从各所述从节点中确定用于执行所述第一任务的至少一个第一从节点,其中,所述第一任务为在所述zookeeper服务器注册的任意一个任务;所述主节点向所述第一从节点分配所述第一任务。
在一些实施例中,所述任务信息包括任务类型信息,其中,所述任务类型包括独占任务和并行任务;所述主节点从各所述从节点中确定用于执行所述第一任务的至少一个第一从节点,包括:若所述第一任务为独占任务,则所述主节点从各所述从节点中确定用于执行所述第一任务的一个第一从节点;若所述第一任务为并行任务,则所述第一任务包含多个子任务,所述主节点从各所述从节点中确定用于执行各所述子任务的多个第一从节点。
在一些实施例中,所述方法还包括:当所述主节点根据所述任务信息确定第一任务被触发时,所述主节点生成所述第一任务的会话,其中,所述会话用于监控所述第一任务的处理进程。
在一些实施例中,所述方法还包括:所述任务信息还包括该节点待执行任务耗时最大阈值;所述方法还包括:基于所述第一任务的会话,所述主节点获取所述第一任务的耗时长度;当所述第一任务的耗时长度大于该第一任务耗时最大阈值时,所述会话标记所述第一任务超时。
在一些实施例中,所述方法还包括:当所述第一任务超时或失败时,所述主节点确定用于执行该第一任务的至少一个第二从节点;以及所述主节点向所述第二从节点分配所述第一任务。
第二方面,本申请提供了一种集群任务协调系统,所述系统包括:zookeeper服务器,用于从所述集群的各节点中确定一个主节点和多个从节点,存储各所述节点待执行任务的任务信息,其中,所述任务信息包括该节点待执行任务的触发条件;所述主节点,用于从所述zookeeper服务器获取各所述任务的任务信息,以及当确定任意一任务被触发时,将该任务分配到对应的从节点;所述从节点,用于执行所 述主节点分配的任务。
在一些实施例中,所述主节点还用于生成所述任务的会话,根据所述会话确定处理超时或失败的任务,并为所述超时或失败的任务重新分配对应的从节点。
第三方面,本申请提供了一种集群定时任务协调系统,所述装置包括:主从节点确定模块,配置用于包含多个节点的集群启动时,zookeeper服务器从所述集群的各所述节点中确定一个主节点和多个从节点;任务信息注册模块,配置用于各所述节点向所述zookeeper服务器注册该节点待执行任务的任务信息,且所述主节点从所述zookeeper服务器获取各所述任务的任务信息,其中,所述任务信息包括该节点待执行任务的触发条件;第一从节点确定模块,配置用于当所述主节点根据所述任务信息确定第一任务被触发时,所述主节点从各所述从节点中确定用于执行所述第一任务的至少一个第一从节点,其中,所述第一任务为在所述zookeeper服务器注册的任意一个任务;第一任务分配模块,配置用于所述主节点向所述第一从节点分配所述第一任务。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司,未经北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610286549.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:基于动态线程池的服务处理方法和装置
- 下一篇:一种消息处理方法及装置