集群任务协调方法、系统和装置制造方法及图纸

技术编号:16546574 阅读:42 留言:0更新日期:2017-11-11 11:31
本申请公开了集群任务协调方法、系统和装置。所述方法的一具体实施方式包括:包含多个节点的集群启动时,zookeeper服务器从集群的各节点中确定一个主节点和多个从节点;各节点向zookeeper服务器注册该节点待执行任务的任务信息,主节点从zookeeper服务器获取各任务的任务信息;当主节点根据任务信息确定第一任务被触发时,主节点从各从节点中确定用于执行第一任务的至少一个第一从节点,其中,第一任务为在所述zookeeper服务器注册的任意一个任务;主节点向第一从节点分配所述第一任务。该实施方式可以不依赖数据库,可靠性增强,还可以通过选择一个或多个节点协调处理不同类型任务。

Method, system and device for coordination of cluster tasks

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服务器从所述集群的各所述节点中确定一个主节点和多个从节点;任务信息注册模块,配置用于各所述节点向所述zookeeper服务器注册该节点待执行任务的任务信息,且所述主节点从所述zookeeper服务器获取各所述任务的任务信息,其中,所述任务信息包括该节点待执行任务的触发条件;第一从节点确定模块,配置用于当所述主节点根据所述任务信息确定第一任务被触发时,所述主节点从各所述从节点中确定用于执行所述第一任务的至少一个第一从节点,其中,所述第一任务为在所述zookeeper服务器注册的任意一个任务;第一任务分配模块,配置用于所述主节点向所述第一从节点分配所述第一任务。在一些实施例中,所述任务信息包括任务类型信息,其中,所述任务类型包括独占任务和并行任务;所述第一从节点确定模块配置具体用于:若所述第一任务为独占任务,则所述主节点从各所述从节点中确定用于执行所述第一任务的一个第一从节点;若所述第一任务为并行任务,则所述第一任务包含多个子任务,所述主节点从各所述从节点中确定用于执行各所述子任务的多个第一从节点。在一些实施例中,所述装置还包括:会话生成模块,配置用于当所述主节点根据所述任务信息确定第一任务被触发时,所述主节点生成所述第一任务的会话,其中,所述会话用于监控所述第一任务的处理进程。在一些实施例中,所述任务信息还包括该节点待执行任务耗时最大阈值;所述装置还包括:超时标记模块,配置具体用于基于所述第一任务的会话,所述主节点获取所述第一任务的耗时长度;当所述第一任务的耗时长度大于该第一任务耗时最大阈值时,所述会话标记所述第一任务超时。在一些实施例中,所述装置还包括第二从节点确定模块:配置用于当所述第一任务超时或失败时,所述主节点确定用于执行该第一任务的至少一个第二从节点;以及所述主节点向所述第二从节点分配所述第一任务。本申请提供的集群任务协调方法、系统和装置,zookeeper服务器在集群的各节点中确定主节点和从节点,之后各节点向zookeeper服务器注册各节点待执行任务的任务信息,而后当主节点根据所述任务信息确定第一任务被触发时,主节点可以确定用于执行该第一任务的至少一个第一从节点,最后将第一任务分配给所述第一从节点,不依赖数据库,可靠性增强,还可以通过选择一个或多个节点协调处理不同类型任务。附图说明通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:图1是本申请的集群任务协调系统的一个实施例的架构图;图2是根据本申请的集群任务协调方法的一个实施例的流程图;图3是根据本申请的集群任务协调方法的又一个实施例的流程图;图4是根据本申请的集群任务协调装置的一个实施例的结构示意图;图5是适于用来实现本申请实施例的终端设备或服务器的计算机系统的结构示意图。具体实施方式下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关专利技术,而非对该专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关专利技术相关的部分。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。图1示出了根据本申请的集群任务协调系统的一个实施例的示例性架构图100。该集群任务协调系统可以应用本申请的集群任务协调方法和装置。如图1所示,上述集群任务协调系统100至本文档来自技高网...
集群任务协调方法、系统和装置

【技术保护点】
一种集群任务协调方法,其特征在于,所述方法包括:包含多个节点的集群启动时,zookeeper服务器从所述集群的各所述节点中确定一个主节点和多个从节点;各所述节点向所述zookeeper服务器注册该节点待执行任务的任务信息,且所述主节点从所述zookeeper服务器获取各所述任务的任务信息,其中,所述任务信息包括该节点待执行任务的触发条件;当所述主节点根据所述任务信息确定第一任务被触发时,所述主节点从各所述从节点中确定用于执行所述第一任务的至少一个第一从节点,其中,所述第一任务为在所述zookeeper服务器注册的任意一个任务;所述主节点向所述第一从节点分配所述第一任务。

【技术特征摘要】
1.一种集群任务协调方法,其特征在于,所述方法包括:包含多个节点的集群启动时,zookeeper服务器从所述集群的各所述节点中确定一个主节点和多个从节点;各所述节点向所述zookeeper服务器注册该节点待执行任务的任务信息,且所述主节点从所述zookeeper服务器获取各所述任务的任务信息,其中,所述任务信息包括该节点待执行任务的触发条件;当所述主节点根据所述任务信息确定第一任务被触发时,所述主节点从各所述从节点中确定用于执行所述第一任务的至少一个第一从节点,其中,所述第一任务为在所述zookeeper服务器注册的任意一个任务;所述主节点向所述第一从节点分配所述第一任务。2.根据权利要求1所述的方法,其特征在于,所述任务信息包括任务类型信息,其中,所述任务类型包括独占任务和并行任务;所述主节点从各所述从节点中确定用于执行所述第一任务的至少一个第一从节点,包括:若所述第一任务为独占任务,则所述主节点从各所述从节点中确定用于执行所述第一任务的一个第一从节点;若所述第一任务为并行任务,则所述第一任务包含多个子任务,所述主节点从各所述从节点中确定用于执行各所述子任务的多个第一从节点。3.根据权利要求2所述的方法,其特征在于,所述方法还包括:当所述主节点根据所述任务信息确定第一任务被触发时,所述主节点生成所述第一任务的会话,其中,所述会话用于监控所述第一任务的处理进程。4.根据权利要求3所述的方法,其特征在于,所述任务信息还包括该节点待执行任务耗时最大阈值;所述方法还包括:基于所述第一任务的会话,所述主节点获取所述第一任务的耗时长度;当所述第一任务的耗时长度大于该第一任务耗时最大阈值时,所述会话标记所述第一任务超时。5.根据权利要求4所述的方法,其特征在于,所述方法还包括:当所述第一任务超时或失败时,所述主节点确定用于执行该第一任务的至少一个第二从节点;以及所述主节点向所述第二从节点分配所述第一任务。6.一种集群任务协调系统,其特征在于,所述系统包括:zookeeper服务器,用于从所述集群的各节点中确定一个主节点和多个从节点,存储各所述节点待执行任务的任务信息,其中,所述任务信息包括该节点待执行任务的触发条件;所述主节点,用于从所述zookeeper服务器获取各所述任务的任务信息,以及当确定任意一任务被触发时,将该任务分配到对应的至少一个从节点;所...

【专利技术属性】
技术研发人员:董旭
申请(专利权)人:北京京东尚科信息技术有限公司北京京东世纪贸易有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1