用户作业调度方法及装置制造方法及图纸

技术编号:9170818 阅读:170 留言:0更新日期:2013-09-19 19:20
本发明专利技术提供一种用户作业调度方法和装置,方法包括:管理节点接收任务调度触发信号;管理节点根据任务调度触发信号,在分布式系统的各计算节点中确定待作业任务处理时间最短的目标计算节点;管理节点将待作业任务发送至目标计算节点的任务缓存队列中,以使目标计算节点执行该待作业任务。本发明专利技术实施例有效解决了现有技术中,用户作业调度方法执行效率低下的问题。

【技术实现步骤摘要】
用户作业调度方法及装置
本专利技术涉及信息
,尤其涉及一种用户作业调度方法及装置。
技术介绍
分布式系统基础架构(Hadoop)的缺省作业调度采用简单的单一主节点的主从结构,即一个主节点(JobTracker)管理一系列从节点(TaskTracker)。其中,JobTracker负责用户作业的任务划分、状态监控、错误恢复以及TaskTracker的状态维护;TaskTracker负责具体任务的执行和本地资源的管理。TaskTracker的计算能力以任务槽(slot)的形式提供,依据任务类型的不同,slot分为Map槽和Reduce槽,分别用于执行Map任务和Reduce任务。现有技术在多用户共享场景中,Hadoop的作业调度过程包含三个步骤:首先是作业选择,其次是在选定作业内选择一个任务,最后将该任务分发到请求任务的TaskTracker上执行。当一个计算节点的TaskTracker发现一个任务完成,存在可用的任务槽时,就会在下次的心跳消息中附加任务请求信息发送给主节点JobTracker,然后JobTracker执行调度算法,遍历所有作业的可执行任务,依据公平份额调度算法选取适合的任务分配给任务槽进行处理。但是,该方法执行效率低下。
技术实现思路
本专利技术提供一种用户作业调度方法和装置,用以解决现有技术中,用户作业调度方法执行效率低下的问题。一方面,本专利技术实施例提供一种用户作业调度方法,其特征在于,包括:管理节点接收任务调度触发信号;所述管理节点根据所述任务调度触发信号,在分布式系统的各计算节点中确定待作业任务处理时间最短的目标计算节点;所述管理节点将所述待作业任务发送至所述目标计算节点的任务缓存队列中。本专利技术实施例提供另一种用户作业调度方法,其特征在于,包括:计算节点的任务缓存队列中接收管理节点发送的待作业任务,所述计算节点为所述管理节点在分布式系统的各计算节点中确定的所述待作业任务处理时间最短的计算节点;所述计算节点执行所述任务缓存队列中存储的所述待作业任务。另一方面,本专利技术实施例提供一种用户作业调度装置,包括:接收模块、处理模块和发送模块;所述接收模块,用于接收任务调度触发信号;所述处理模块,用于根据所述任务调度触发信号,在分布式系统的各计算节点中确定待作业任务处理时间最短的目标计算节点;所述发送模块,用于将所述待作业任务发送至所述目标计算节点的任务缓存队列中。本专利技术实施例提供另一种用户作业调度装置,包括:接收模块和处理模块;所述接收模块,用于接收管理节点发送的待作业任务并存储至计算节点的任务缓存队列中,所述计算节点为所述管理节点在分布式系统的各计算节点中确定的所述待作业任务处理时间最短的计算节点;所述处理模块,用于执行所述任务缓存队列中存储的所述待作业任务。本专利技术提供的用户作业调度方法和装置,管理节点接收任务调度触发信号,在分布式系统的各计算节点中确定待作业任务处理时间最短的目标计算节点,并将待作业任务发送至该目标计算节点的任务缓存队列中;计算节点接收到管理节点发送的待作业任务后,执行该待作业任务,提高了执行效率。附图说明图1为本专利技术提供的用户作业调度方法一个实施例的流程图;图2为本专利技术提供的用户作业调度方法另一个实施例的流程图;图3为本专利技术提供的用户作业调度方法又一个实施例的流程图;图4为本专利技术提供的基于最小代价流的多用户任务调度的网络流图;图5为本专利技术提供的用户作业调度装置一个实施例的结构示意图;图6为本专利技术提供的用户作业调度装置另一个实施例的结构示意图;图7为本专利技术提供的用户作业调度装置又一个实施例的结构示意图;图8为本专利技术提供的用户作业调度装置结构示意图。具体实施方式图1为本专利技术提供的用户作业调度方法一个实施例的流程图。如图1所示,以下步骤的执行主体可以为分布式系统基础架构中用于作业调度的管理节点,也可称作主节点或调度节点;可以管理一系列计算节点,并可向计算节点分配任务。该用户作业调度方法具体包括:S101,管理节点接收任务调度触发信号;其中,该任务调度触发信号是用于指示管理节点向指定计算节点分配任务的指示信号,可以是执行任务的计算节点如在该节点的任务完成后通过心跳包发送给管理节点的;也可以是系统在接到新的待作业任务时,由系统触发生成并发送给管理节点的;本步骤中对该任务调度触发信号的具体形式和触发条件不作限定。S102,管理节点根据上述任务调度触发信号,在分布式系统的各计算节点中确定待作业任务处理时间最短的目标计算节点;管理节点在接到任务调度触发信号后,确定待作业任务被发送的目标计算节点,该确定过程遵照各任务在分布式系统的各计算节点上的处理时间最短原则。通常,一个任务在一个计算节点上的处理时间,与该任务本身的类型,和该计算节点处理该类型的任务的能力是相关的。为某个任务选择适合的计算节点作为目标计算节点处理该任务,可以有效缩短该任务的处理时间。S103,管理节点将待作业任务发送至目标计算节点的任务缓存队列中;管理节点确定了一个待作业任务对应的目标计算节点后,可将该任务发送至该目标计算节点的任务缓存队列中,以使该目标计算节点对该待作业任务进行处理,该目标计算节点的任务缓存队列中可以容纳多个待作业任务。在每个计算节点上设置这样的任务缓存队列,可以降低计算节点频繁的向管理节点请求调度任务,同时也兼顾了为不同类型的待作业任务选择适合的目标计算节点。本专利技术提供的用户作业调度方法,管理节点接收任务调度触发信号后,在分布式系统的各计算节点中确定待作业任务处理时间最短的目标计算节点,并将该待作业任务发送至目标计算节点的任务缓存队列中,以使目标计算节点对该任务进行处理,提高了执行效率。图2为本专利技术提供的用户作业调度方法另一个实施例的流程图,如图2所示,以下步骤的执行主体可以为分布式系统基础架构中用于作业调度的计算节点,该计算节点可以接收管理节点,也可称作主节点或调度节点分配的任务,并处理该任务。该用户作业调度方法具体包括:S201,计算节点的任务缓存队列中接收管理节点发送的待作业任务,该计算节点为该管理节点在分布式系统的各计算节点中确定的该待作业任务处理时间最短的计算节点;计算节点接收到管理节点发送的待作业任务并存储至该计算节点的任务缓存队列中。其中,该计算节点为该管理节点在分布式系统的各计算节点中确定的该待作业任务处理时间最短的计算节点,该确定过程可参见步骤102的相应内容。S202,计算节点执行任务缓存队列中存储的待作业任务;计算节点从管理节点接收到待作业任务后,将该待作业任务存储至任务缓存队列中存储,并根据各任务在任务缓存队的位置顺序执行。本专利技术提供的用户作业调度方法,计算节点的任务缓存队列中接收管理节点发送的待作业任务,该计算节点为该管理节点在分布式系统的各计算节点中确定的该待作业任务处理时间最短的计算节点;该计算节点执行任务缓存队列中的上述待作业任务,提高了执行效率。图3为本专利技术提供的用户作业调度方法又一个实施例的流程图,是如图1和图2所示方法的一种具体实现方式。如图3所示,以下步骤的执行主体涉及分布式系统基础架构中用于作业调度的管理节点(也称主节点或调度节点)和计算节点。该管理节点可以管理一系列计算节点,并可向计算节点分配任务;该计算节点可以接收管理节点分配的任务,并处理该任务。该本文档来自技高网...
用户作业调度方法及装置

【技术保护点】
一种用户作业调度方法,其特征在于,包括:管理节点接收任务调度触发信号;所述管理节点根据所述任务调度触发信号,在分布式系统的各计算节点中确定待作业任务处理时间最短的目标计算节点;所述管理节点将所述待作业任务发送至所述目标计算节点的任务缓存队列中。

【技术特征摘要】
1.一种用户作业调度方法,其特征在于,包括:管理节点接收任务调度触发信号;所述管理节点根据所述任务调度触发信号,在分布式系统的各计算节点中确定待作业任务处理时间最短的目标计算节点;所述管理节点将所述待作业任务发送至所述目标计算节点的任务缓存队列中;其中,所述管理节点根据所述任务调度触发信号,在分布式系统的各计算节点中确定待作业任务处理时间最短的目标计算节点,包括:所述管理节点根据所述分布式系统中每个所述计算节点的任务缓存队列中的空闲位置确定该计算节点可接收待作业任务数目的能力值;所述管理节点根据计算每个所述待作业任务在各所述计算节点上的预计执行时间;其中,所述Ui为第i个用户、所述Jj为用户的第j个作业、所述Tk为作业Jj中第k个任务、所述Sl为所有计算节点上的第l个任务槽、所述pr(Sl,Ui,Jj)为所述Sl处理所述Ui的Jj的速率、所述tert(Tk(Ui,Jj)Sl)为所述Ui的Jj中的Tk在Sl上预计执行时间;其中,所述d(Ui,Jj,Tk)为任务Tk(Ui,Jj)需要处理的数据块、所述bω(Sl,Sp)为任务槽Sl和Sp所在节点之间的统计带宽、所述D(Sl)为任务槽Sl的计算节点上由数据节点存储的全部数据块的集合、所述D(Sp)为任务槽Sp的计算节点上由数据节点存储的全部数据块的集合、所述n为任务槽能够容纳的任务总数;所述管理节点根据所述待作业任务的数目,以及所述待作业任务的优先级、每个所述计算节点可接收待作业任务数目的能力值,所述tert(Tk(Ui,Jj)Sl)确定每个所述待作业任务的目标计算节点。2.根据权利要求1所述的方法,其特征在于,所述确定待作业任务处理时间最短的目标计算节点之前,包括:所述管理节点确定所述分布式系统中包括的各计算节点的任务缓存队列中的空闲位置;所述管理节点根据所述各计算节点的任务缓存队列中的空闲位置确定所述待作业任务的数目;所述管理节点根据所述待作业任务的数目、待执行的任务群中各任务的优先级从待执行的任务群中获取所述待作业任务;3.一种用户作业调度方法,其特征在于,包括:计算节点的任务缓存队列中接收管理节点发送的待作业任务,所述计算节点为所述管理节点在分布式系统的各计算节点中确定的所述待作业任务处理时间最短的目标计算节点;其中,所述管理节点在分布式系统的各计算节点中确定的所述待作业任务处理时间最短的目标计算节点,包括:所述管理节点根据所述分布式系统中每个所述计算节点的任务缓存队列中的空闲位置确定该计算节点可接收待作业任务数目的能力值;所述管理节点根据计算每个所述待作业任务在各所述计算节点上的预计执行时间;其中,所述Ui为第i个用户、所述Jj为用户的第j个作业、所述Tk为作业Jj中第k个任务、所述Sl为所有计算节点上的第l个任务槽、所述pr(Sl,Ui,Jj)为所述Sl处理所述Ui的Jj的速率、所述tert(Tk(Ui,Jj)Sl)为所述Ui的Jj中的Tk在Sl上预计执行时间;其中,所述d(Ui,Jj,Tk)为任务Tk(Ui,Jj)需要处理的数据块、所述bω(Sl,Sp)为任务槽Sl和Sp所在节点之间的统计带宽、所述D(Sl)为任务槽Sl的计算节点上由数据节点存储的全部数据块的集合、所述D(Sp)为任务槽Sp的计算节点上由数据节点存储的全部数据块的集合、所述n为任务槽能够容纳的任务总数;所述管理节点根据所述待作业任务的数目,以及所述待作业任务的优先级、每个所述计算节点可接收待作业任务数目的能力值,所述tert(Tk(Ui,Jj)Sl)确定每个所述待作业任务的目标计算节点;所述计算节点执行所述任务缓存队列中存储的所述待作业任务。4.根据权利要求3所述方法,其特征在于,所述计算节点执行所述任务缓存队列中存储的所述待作业任务,包括:所述计算节点在本地数据库中查找所述任务缓存队列中待作业任务所需调用的数据;若所述本地数据库中存在所述所需调用的数据,所述计算节点根据所述待作业任务在所述任务缓存队列中的位置顺序执行所述待作业任务;若所述本地数据库中不存在所述所需调用的数据,所述计算节点从所述所需调用的数据的存储单元获取所述所需调用的数据后执行所述待作业任务。5.根据权利要求3或4所述方法,其特征在于,所述计算节点执行所述任务缓存队列中存储的所述待作业任务之后,还包括:若所述计算节点执行完所述任务缓存队列中所有待作业任务,则所述...

【专利技术属性】
技术研发人员:雷磊张云勇房秉毅徐雷裴小燕贾川路康
申请(专利权)人:中国联合网络通信集团有限公司
类型:发明
国别省市:

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

1