A method, system and device for coordination of cluster tasks are disclosed. Including a specific embodiment of the method that contains more than one node of the cluster when starting the zookeeper server from each node cluster determines a master node and multiple slave nodes; each node of the node to be registered to the zookeeper server task information to perform the task, the task information to obtain the task from the master node of zookeeper server; when the master node is determined according to the first task is to trigger the task information, the master node from each slave node determined for at least one of the first slave nodes, which perform the first task, the first task for the zookeeper service in any register of a task; the master node to the first node allocation from the first task. The implementation can not rely on the database, enhance reliability, and can also coordinate different types of tasks by selecting one or more nodes.
【技术实现步骤摘要】
集群任务协调方法、系统和装置
本申请涉及计算机
,尤其涉及集群任务协调方法、系统和装置。
技术介绍
在互联网和电子商务领域,许多应用系统中的任务是相互联系的,例如某些任务需要拆分成多个子任务到多个节点进行分别处理,或者某些定时任务具有排他性,这需要将上述各任务进行协调处理。在现有技术中,应用系统通常采用quatz集群或消息队列进行任务协调。其中,quatz集群是通过预先在任务中嵌入相应的控制代码,而后使用如数据库等公共资源进行任务的协调,quatz集群通常只能在任务处理节点中选取一个节点来处理任务,即上述quatz集群通常仅支持独占任务的协调处理;消息队列通常是利用自身的信息分发特性实现任务简单的分发协调,并且消息队列通常也是将任务分发到某一个节点进行任务处理,即消息队列也仅支持独占任务的协调处理。但是,通常应用系统中不仅包括独占任务,还包括需要多个节点同时处理的并行任务,由此可见,这里还需要一种可以协调并行任务的方法。
技术实现思路
本申请的目的在于提出一种改进的集群任务协调方法、系统和装置,来解决以上
技术介绍
部分提到的技术问题。第一方面,本申请提供了一种集群任务协调方法,所述方法包括:包含多个节点的集群启动时,zookeeper服务器从所述集群的各所述节点中确定一个主节点和多个从节点;各所述节点向所述zookeeper服务器注册该节点待执行任务的任务信息,且所述主节点从所述zookeeper服务器获取各所述任务的任务信息,其中,所述任务信息包括该节点待执行任务的触发条件;当所述主节点根据所述任务信息确定第一任务被触发时,所述主节点从各所述从节点中确定 ...
【技术保护点】
一种集群任务协调方法,其特征在于,所述方法包括:包含多个节点的集群启动时,zookeeper服务器从所述集群的各所述节点中确定一个主节点和多个从节点;各所述节点向所述zookeeper服务器注册该节点待执行任务的任务信息,且所述主节点从所述zookeeper服务器获取各所述任务的任务信息,其中,所述任务信息包括该节点待执行任务的触发条件;当所述主节点根据所述任务信息确定第一任务被触发时,所述主节点从各所述从节点中确定用于执行所述第一任务的至少一个第一从节点,其中,所述第一任务为在所述zookeeper服务器注册的任意一个任务;所述主节点向所述第一从节点分配所述第一任务。
【技术特征摘要】
1.一种集群任务协调方法,其特征在于,所述方法包括:包含多个节点的集群启动时,zookeeper服务器从所述集群的各所述节点中确定一个主节点和多个从节点;各所述节点向所述zookeeper服务器注册该节点待执行任务的任务信息,且所述主节点从所述zookeeper服务器获取各所述任务的任务信息,其中,所述任务信息包括该节点待执行任务的触发条件;当所述主节点根据所述任务信息确定第一任务被触发时,所述主节点从各所述从节点中确定用于执行所述第一任务的至少一个第一从节点,其中,所述第一任务为在所述zookeeper服务器注册的任意一个任务;所述主节点向所述第一从节点分配所述第一任务。2.根据权利要求1所述的方法,其特征在于,所述任务信息包括任务类型信息,其中,所述任务类型包括独占任务和并行任务;所述主节点从各所述从节点中确定用于执行所述第一任务的至少一个第一从节点,包括:若所述第一任务为独占任务,则所述主节点从各所述从节点中确定用于执行所述第一任务的一个第一从节点;若所述第一任务为并行任务,则所述第一任务包含多个子任务,所述主节点从各所述从节点中确定用于执行各所述子任务的多个第一从节点。3.根据权利要求2所述的方法,其特征在于,所述方法还包括:当所述主节点根据所述任务信息确定第一任务被触发时,所述主节点生成所述第一任务的会话,其中,所述会话用于监控所述第一任务的处理进程。4.根据权利要求3所述的方法,其特征在于,所述任务信息还包括该节点待执行任务耗时最大阈值;所述方法还包括:基于所述第一任务的会话,所述主节点获取所述第一任务的耗时长度;当所述第一任务的耗时长度大于该第一任务耗时最大阈值时,所述会话标记所述第一任务超时。5.根据权利要求4所述的方法,其特征在于,所述方法还包括:当所述第一任务超时或失败时,所述主节点确定用于执行该第一任务的至少一个第二从节点;以及所述主节点向所述第二从节点分配所述第一任务。6.一种集群任务协调系统,其特征在于,所述系统包括:zookeeper服务器,用于从所述集群的各节点中确定一个主节点和多个从节点,存储各所述节点待执行任务的任务信息,其中,所述任务信息包括该节点待执行任务的触发条件;所述主节点,用于从所述zookeeper服务器获取各所述任务的任务信息,以及当确定任意一任务被触发时,将该任务分配到对应的至少一个从节点;所...
【专利技术属性】
技术研发人员:董旭,
申请(专利权)人:北京京东尚科信息技术有限公司,北京京东世纪贸易有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。