一种协调执行任务的系统及方法

文档序号:8543578阅读:287来源:国知局
一种协调执行任务的系统及方法
【技术领域】
[0001]本发明涉及计算机领域,特别涉及一种协调执行任务的系统及方法。
【背景技术】
[0002]随着计算机技术的发展,可以将大规模的业务拆分为多个小的子业务,分别由计算机网络中的多个计算机分别执行后,再汇总得到业务结果。这时,就需要计算机网络中的计算机之间互相协调。
[0003]在申请日为2013年12月12日,申请号为201310681028.1,名称为“一种面向实时云平台的故障检测与容错方法及系统”的专利申请中,就提出了一种当任务为对云平台的故障检测与纠错时的处理方案。具体地说,该专利申请的解决方案涉及一种面向实时云平台的故障检测与容错方法及系统,包括:发送命令,提交任务,并将分配给工作节点的任务存储在相应路径下的客户端;用于监控各工作节点的运行状态,根据工作节点上传的心跳信息进行节点级故障检测与容错,执行故障节点中任务的迀移的全局状态监控模块;用于存储全局状态监控模块和各个工作节点的工作状态及心跳信息的全局状态存储模块;用于执行任务,运行守护进程来守护工作进程,并执行程序级故障检测与容错的工作节点;本发明中使整个集群的状态信息全部存储在Zookeeper系统中,实现节点的无状态架构,节点故障不会造成状态丢失,具有完善的故障检测与容错机制,实现多级容错,保障实时业务的不间断运行。
[0004]可以看出,上述方案主要是解决了实时的故障检测和容错的方法,它的实现包括4个角色:客户端、全局状态监控模块、全局状态存储模块及工作节点,任务是由客户端分配并分发到全局状态存储模块,然后工作节点定时去取分配给自己的任务进行处理。采用这种方案协调执行任务,存在着缺点:由于客户端在协调执行任务过程中是核心,所以存在单节点的风险,客户端出了问题所有任务都会出现延迟处理,并且上述方案也没有给出如何动态扩容的方法,例如在任务数突然剧增、大量任务面临延迟时如何动态的增加节点处理。

【发明内容】

[0005]有鉴于此,本发明实施例提供一种协调执行任务的系统,该系统能够在多节点协调执行任务过程中,防止任务处理延迟,且能够动态扩容。
[0006]本发明实施例还提供一种协调执行任务的方法,该方法能够在多节点协调执行任务过程中,防止任务处理延迟,且能够动态扩容。
[0007]根据上述目的,本发明是这样实现的:
[0008]一种协调执行任务的系统,包括:控制节点及任务节点,其中,
[0009]控制节点,用于配置任务的执行策略,根据任务的执行策略将任务划分为多个子任务及确定执行任务的任务处理节点数量;
[0010]多个任务处理节点中的每一个任务处理节点注册到zookeeper上,基于zookeeper动态选取产生管理任务处理节点和执行任务处理节点,管理任务处理节点,用于基于确定任务的任务处理节点数量,分别为多个执行任务处理节点分配对应的子任务;所述多个执行任务处理节点根据管理任务处理节点的分配执行子任务。
[0011]所述控制节点,还用于确定执行任务的任务处理节点中的工作线程数量。
[0012]所述任务处理节点采用全局唯一标识进行标识。
[0013]所述动态选取是根据所设置的选取规则进行选取的。
[0014]所述任务处理节点,还用于启动工作线程抓取和执行对应的子任务,并启动心跳线程定时更新管理任务处理节点的状态。
[0015]一种协调执行任务的方法,该方法包括:
[0016]控制节点基于zooke^er配置任务的执行策略;
[0017]控制节点根据任务的执行策略将任务划分为多个子任务及确定执行任务的任务处理节点数量。
[0018]所述控制节点确定执行任务的任务处理节点中的工作线程数量,子任务的划分数量与工作线程数量相同,一个任务处理节点具有多个工作线程。
[0019]一种协调执行任务的方法,包括:
[0020]A、多个任务处理节点中的其中一个任务处理节点注册到zookeeper上;
[0021]B、基于zookeeper动态选取产生管理任务处理节点和执行任务处理节点时,当该任务处理节点选取为管理任务处理节点时,基于从控制节点获取的确定任务的任务处理节点数量,分别为多个执行任务处理节点分配对应的从任务节点所获取的子任务;
[0022]当该任务处理节点为执行任务处理节点时,根据管理任务处理节点的分配执行子任务。
[0023]所述动态选取是根据所设置的选取规则进行选取的;
[0024]所述任务处理节点启动工作线程抓取和执行对应的子任务,并启动心跳线程定时更新管理任务处理节点的状态。
[0025]所述步骤B定时重复执行,直到所有任务都处理完。
[0026]由上述方案可以看出,本发明实施例提供的协调执行任务系统由控制节点及任务处理节点组成,其中,控制节点,用于配置任务的执行策略,根据任务的执行策略将任务划分为多个子任务及确定执行任务的任务处理节点数量;多个任务处理节点中的每一个任务处理节点注册到zookeeper上,基于zookeeper动态选取产生管理任务处理节点(leader)和执行任务处理节点,管理任务处理节点基于确定任务的任务处理节点数量,分别为执行子任务的多个执行任务处理节点分配子任务,所述多个执行任务处理节点根据管理任务处理节点的分配执行子任务。由于管理任务处理节点是基于zooke印er动态选取产生,管理任务处理节点并不像【背景技术】的客户端是一个固定节点,所以不存在单节点风险,防止了任务处理延迟,由于本发明实施例的控制节点是根据任务量依据执行策略分配任务处理节点数量及分配执行的多个子任务,所以可以根据需要对任务处理节点动态扩容。
【附图说明】
[0027]图1为本发明实施例提供的协调执行任务的系统结构示意图;
[0028]图2为本发明实施例提供的协调执行任务的方法一流程图;
[0029]图3为本发明实施例提供的协调执行任务的方法二流程图。
【具体实施方式】
[0030]为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明作进一步详细说明。
[0031]【背景技术】的方案无法保证所有的任务能及时地被执行,在有些对稳定性和实时性要求非常高的计算机网络中会存在隐患。因此,本发明实施例为了多节点协调执行任务过程中,防止任务处理延迟,且能够动态扩容,基于zookeeper技术设置计算机网络。zookeeper技术是一个分布式的,开放源码的分布式应用程序协调服务,其是一个针对分布式计算机网络的可靠协调机制,可以为分布式计算机网络提供的功能为:配置维护、名字服务、分布式同步及组服务等,其可以在分布式计算机网络中动态选取管理任务处理节点后,由当前所选举出的管理任务处理节点为其他作为执行业务处理节点的业务处理节点分配子业务并指示其进行对应子业务的执行。
[0032]因此,本发明实施例提供的协调执行任务系统由控制节点及任务处理节点组成,其中,控制节点,用于配置任务的执行策略,根据任务的执行策略将任务划分为多个子任务及确定执行任务的任务处理节点数量;多个任务处理节点中的每一个任务处理节点注册到zookeeper上,基于zookeeper动态选取产生管理任务处理节点(leader)和执行任务处理节点,管理任务处理节点基于确定任务的任务处理节点数量,分别为执行子任务的多个执行任务处理节点分配子任务,所述多个执行任务处理节点根据管理任务处理节点的分配执行子任务。由于管理任务处理节点是基于zookeeper动态选取产生,管理任务处理节点并不像【背景技术】的客户端是一个固定节点,所以不存在单节点风险,防止了任务处理延迟,由于本发明实施例的控制节点是根据任务量依据执行策略分配任务处理节点数量及分配执行的多个子任务,所以可以根据需要对任务处理节点动态扩容。
[0033]图1为本发明实施例提供的协调执行任务的系统结构示意图,包括:控制节点及任务节点,其中,
[0034]控制节点,用于配置任务的执行策略,
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1