一种任务调度方法、节点及系统技术方案

技术编号:11406016 阅读:68 留言:0更新日期:2015-05-03 23:07
本发明专利技术公开了一种任务调度方法、节点及系统,涉及通信领域,能够获得较高的总体系统资源利用率。具体方案为:任务执行节点接收第一服务器节点发送的至少一个子任务,并将至少一个子任务存储在子任务缓冲区中;其中,至少一个子任务是由第一服务器节点对待执行任务进行分解得到的;任务执行节点获取与待执行任务对应的令牌桶内的令牌数;任务执行节点根据令牌桶内的令牌数,对子任务缓冲区中存储的与令牌桶内的令牌数相等数量的子任务进行处理。本发明专利技术用于任务调度的过程中。

【技术实现步骤摘要】
一种任务调度方法、节点及系统
本专利技术涉及通信领域,尤其涉及一种任务调度方法、节点及系统。
技术介绍
随着数字化时代的到来,每天产生的数据量呈现加速度增长势态,为了能够实现对大量数据的快速处理,分布式计算应运而生。众所周知,在包含有多个计算节点的分布式计算系统中,由于任务(待处理数据)与资源(主要体现为计算节点的处理能力)存在双重不确定性,因此,为了能够获得更大的任务处理吞吐量和更低的任务处理时延,为任务分配合理的资源,即任务调度显得尤为重要。现有技术中可以通过一种分布式计算环境下的资源管理框架,即YARN(第二代的MapReduce框架,其中,MapReduce是一种大规模分布式集群上的任务调度框架)来实现任务调度的。其中,YARN的核心组件资源管理器首先将集群内所有节点的内存、磁盘、输入输出(InputOutput,IO)及网络带宽看作一个资源的组合,并预先估计任务模型,根据估计出的任务模型将这些资源静态分配给各任务,然后,当资源管理器接收到客户端(Client)提交的某任务之后,可以将该任务分配给对应的资源,以便对该任务进行处理。并且,在对该任务进行处理的过程中,需实时监控该任务的实际资源占用情况,若该任务对资源的占用超过预先分配的资源,则直接终止对该任务的处理。例如,预先为某任务分配了100M内存,在对该任务进行处理的过程中,需对该任务的实际内存占用情况进行实时的监控,若该任务实际占用的内存超过100M,则终止对该任务的处理。现有技术中至少存在如下问题:在通过将集群资源静态分配给各任务来实现任务调度时,在任务类型多样,且彼此粒度差异较大的情况下,由于根据估计的任务模型进行资源分配时,很难实现预先分配的资源和任务所需资源的匹配,即使根据任务的实际资源占用情况确定是否继续对该任务进行处理,也会出现资源不足或资源浪费的情况,从而会很难获得较高的总体系统资源利用率。
技术实现思路
本专利技术提供一种任务调度方法、节点及系统,能够获得较高的总体系统资源利用率。为达到上述目的,本专利技术采用如下技术方案:本专利技术的第一方面,提供一种任务调度方法,包括:任务执行节点接收第一服务器节点发送的至少一个子任务,并将所述至少一个子任务存储在子任务缓冲区中;其中,所述至少一个子任务是由所述第一服务器节点对待执行任务进行分解得到的;所述任务执行节点获取与所述待执行任务对应的令牌桶内的令牌数;所述任务执行节点根据所述令牌桶内的令牌数,对所述子任务缓冲区中存储的与所述令牌桶内的令牌数相等数量的所述子任务进行处理。结合第一方面,在第一种可能的实现方式中,在所述任务执行节点根据所述令牌桶内的令牌数,对所述子任务缓冲区中存储的与所述令牌桶内的令牌数相等数量的所述子任务进行处理之后,还包括:所述任务执行节点从所述令牌桶中减去与处理的所述子任务相等数量的令牌。结合第一方面或第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述方法还包括:所述任务执行节点根据所述待执行任务的当前时刻的令牌流入速率,向所述令牌桶内加入令牌。结合第一方面或第一方面的第一种可能的实现方式,在第三种可能的实现方式中,在所述任务执行节点根据所述令牌桶内的令牌数,对所述子任务缓冲区中存储的与所述令牌桶内的令牌数相等数量的所述子任务进行处理之后,还包括:所述任务执行节点向所述令牌桶内加入与处理完成的所述子任务相等数量的令牌。结合第一方面的第二种可能的实现方式,在第四种可能的实现方式中,在所述任务执行节点根据所述待执行任务的当前时刻的令牌流入速率,向所述令牌桶中加入令牌之前,还包括:所述任务执行节点获取所述待执行任务的令牌流入速率变化量;所述任务执行节点根据所述待执行任务的当前时刻的前一时刻的令牌流入速率和所述令牌流入速率变化量获取所述当前时刻的令牌流入速率。结合第一方面的第四种可能的实现方式,在第五种可能的实现方式中,所述任务执行节点获取所述待执行任务的令牌流入速率变化量,包括:所述任务执行节点获取所述待执行任务当前时刻对系统资源的实际占用量;所述任务执行节点根据所述待执行任务当前时刻对系统资源占用的实际值和预定的系统资源占用的限制值,确定所述令牌流入速率变化量。结合第一方面的第五种可能的实现方式,在第六种可能的实现方式中,所述系统资源包括以下任意一种或多种的组合:中央处理器CPU资源、内存资源、磁盘资源、输入输出IO资源、网络带宽资源。本专利技术的第二方面,提供一种任务调度方法,包括:第一服务器节点接收第二服务器节点下发的待执行任务;所述第一服务器节点获取所述待执行任务对应的子任务缓冲区的存储信息;所述第一服务器节点根据所述子任务缓冲区的存储信息,将所述待执行任务进行分解得到至少一个子任务;所述第一服务器节点根据所述子任务缓冲区的存储信息,将所述至少一个子任务发送至任务执行节点。结合第二方面,在第一种可能的实现方式中,所述存储信息为所述子任务缓冲区中还需的子任务数量;或者,所述子任务缓冲区中的未执行的子任务数量。结合第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述第一服务器节点获取所述待执行任务对应的子任务缓冲区的存储信息,包括:所述第一服务器节点获取至少一个任务执行节点中设置的所述待执行任务对应的子任务缓冲区的存储信息;所述至少一个任务执行节点设置有与所述待执行任务对应的子任务缓冲区;所述第一服务器节点根据所述子任务缓冲区的存储信息,将所述待执行任务进行分解得到至少一个子任务,包括:所述第一服务器节点对所述至少一个任务执行节点中设置的所述待执行任务对应的子任务缓冲区的存储信息进行汇总,得到所述待执行任务对应的所有子任务缓冲区的还需的子任务数量;所述第一服务器节点对所述待执行任务进行分解,得到与所述待执行任务对应的所有子任务缓冲区的还需的子任务相等数量的子任务;所述第一服务器节点根据所述子任务缓冲区的存储信息,将所述至少一个子任务发送至任务执行节点,包括:针对所述至少一个任务执行节点中的每个任务执行节点,所述第一服务器节点根据所述任务执行节点中设置的所述待执行任务对应的子任务缓冲区的存储信息,向所述任务执行节点下发与所述子任务缓冲区中还需的子任务相等数量的子任务。本专利技术的第三方面,提供一种任务调度方法,包括:第二服务器节点接收客户端发送的待执行任务;所述第二服务器节点确定所有正在执行的待执行任务的数量小于数量阈值;所述第二服务器节点向第一服务器节点下发所述待执行任务。结合第三方面,在第一种可能的实现方式中,在所述第二服务器节点向第一服务器节点下发所述待执行任务之前,还包括:所述第二服务器节点确定所述待执行任务满足预定条件。结合第三方面的第一种可能的实现方式,在第二种可能的实现方式中,所述待执行任务满足预定条件包括以下任意一种或多种的组合:所述待执行任务的优先级满足优先级调度条件或优先级抢占条件、所述待执行任务的执行时间在预定的执行时间范围内、所述待执行任务的执行频率等于预定的执行频率阈值。本专利技术的第四方面,提供一种任务执行节点,包括:任务接收器、子任务调节阀、执行引擎;所述任务接收器,用于接收第一服务器节点发送的至少一个子任务,并将所述至少一个子任务存储在子任务缓冲区中;其中,所述至少一个子任务是由所述第一服务器节点对待执行任务进行分解得到的;所本文档来自技高网
...

【技术保护点】
一种任务调度方法,其特征在于,包括:任务执行节点接收第一服务器节点发送的至少一个子任务,并将所述至少一个子任务存储在子任务缓冲区中;其中,所述至少一个子任务是由所述第一服务器节点对待执行任务进行分解得到的;所述任务执行节点获取与所述待执行任务对应的令牌桶内的令牌数;所述任务执行节点根据所述令牌桶内的令牌数,对所述子任务缓冲区中存储的与所述令牌桶内的令牌数相等数量的所述子任务进行处理。

【技术特征摘要】
1.一种任务调度方法,其特征在于,包括:第一服务器节点接收第二服务器节点下发的待执行任务;所述第一服务器节点获取至少一个任务执行节点中设置的所述待执行任务对应的子任务缓冲区的存储信息;所述至少一个任务执行节点设置有与所述待执行任务对应的子任务缓冲区;所述存储信息为所述子任务缓冲区中还需的子任务数量;所述第一服务器节点对所述至少一个任务执行节点中设置的所述待执行任务对应的子任务缓冲区的存储信息进行汇总为总存储信息,根据所述总存储信息将所述待执行任务进行分解得到至少一个子任务;针对所述至少一个任务执行节点中的每个任务执行节点,所述第一服务器节点根据所述任务执行节点中设置的所述待执行任务对应的子任务缓冲区的存储信息,向所述任务执行节点下发与所述子任务缓冲区中还需的子任务相等数量的子任务。2.一种服务器节点,其特征在于,包括:任务分配器和任务分解器;所述任务分配器,获取至少一个任务执行节点中设置的待执行任务对应的子任务缓冲区的存储信息;所述存储信息为所述子任务缓冲区中还需的子任务数量;对所述至少一个任务执行节点中设置的所述待执行任务对应的子任务缓冲区的存储信息进行汇总得到总存储信息,将所述总存储信息上报至所述任务分解器;所述至少一个任务执行节点设置有与所述待执行任务对应的子任务缓冲区;针对所述至少一个任务执行节点中的每个任务执行节点,根据所述任务执行节点中设置的所述待执行任务对应的子任务缓冲区的存储信息,向所述任务执行节点下发与所述子任务缓冲区中还需的子任务相等数量的子任务;所述任务分解器,根据所述任务分配器上报的所述总存储信息,对所述待执行任务进行分解,得到至少一个子任务。3.一种任务调度系统,其特征在于,包括:任务准入控制器、任务分解器、任务分配器、任务接收器、子任务调节阀和执行引擎;所述任务准入控制器,用于接收客户端发送的待执行任务,并在确定所有正在执行的待执行任务的数量小于数量阈值时,向所述任务分解器下发所述待执行任务;所述任务分解器,用于接收所述任务准入控制器...

【专利技术属性】
技术研发人员:王晓锋孙志敏
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东;44

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

1