任务调度方法和电子设备技术

技术编号:14234309 阅读:78 留言:0更新日期:2016-12-21 03:06
本发明专利技术提供一种任务调度方法和电子设备。所述方法包括:接收要处理的任务,并将所述任务分解为多个任务分片;将所述多个任务分片分配给所述虚拟化计算集群中的相应虚拟化计算节点,由相应虚拟化计算节点对分配的任务执行计算操作;接收从相应虚拟化计算节点定时返回的指示信号,所述指示信号指示所述计算节点是否正常操作;当没有从特定虚拟化计算节点接收到指示信号时,确定该特定虚拟化计算节点为故障节点,并确定是否满足预定条件;以及当满足预定条件时,等待该特定虚拟化计算节点恢复以继续执行已分配的任务分片的计算操作。

Task scheduling method and electronic device

The invention provides a task scheduling method and an electronic device. The method comprises: receiving tasks to be processed, and the decomposition of the task into multiple tasks; the plurality of task segments assigned to the virtualized computing the corresponding virtual cluster in computing node, task nodes on the distribution of the calculation is performed by the corresponding operation of virtual computing; receiving instructions the signal was calculated from the corresponding virtual nodes periodically returned, the indication signal indicates that the node is normal operation; when there is no specific from the virtualized computing node receives indication signal, determine the specific virtual computing nodes for fault nodes, and determine whether it satisfies a predetermined condition; and when a predetermined condition is satisfied, calculation wait for the specific operation of virtualized computing node recovery to continue execution of assigned tasks slice.

【技术实现步骤摘要】

本申请涉及任务调度方法和电子设备
技术介绍
MapReduce在设计之初是运行在物理机集群上,考虑到物理机的不可靠性,MapReduce在任务调度过程中进行了很多容错性的设计。而目前很多MapReduce应用都运行在虚拟化平台上,虚拟化平台与传统的物理机集群相比,可以提供更好的可靠性保障。针对这种情况MapReduce原有的任务调度方法就需要进行相应的改进。为此,期望提供一种任务调度方法和电子设备,其能够针对虚拟化计算平台更好地调度任务。
技术实现思路
根据本专利技术实施例,提供了一种任务调度方法,应用于虚拟化计算集群系统,所述方法包括:接收要处理的任务,并将所述任务分解为多个任务分片;将所述多个任务分片分配给所述虚拟化计算集群中的相应虚拟化计算节点,由相应虚拟化计算节点对分配的任务执行计算操作;从相应虚拟化计算节点接收定时返回的指示信号,所述指示信号指示所述计算节点是否正常操作;当没有从特定虚拟化计算节点接收到指示信号时,确定该特定虚拟化计算节点为故障节点,并确定是否满足预定条件;当满足预定条件时,等待该特定虚拟化计算节点恢复以继续执行已分配的任务分片的计算操作。优选地,确定是否满足预定条件还包括:估计重新执行已分配给该特定虚拟化计算节点的第一任务分片所需的计算时间;将估计的计算时间与预先设置的虚拟化计算节点的恢复时间比较;如果估计的计算时间大于所述恢复时间,则确定满足预定条件。优选地,估计重新执行已分配给该特定虚拟化计算节点的任务分片所需的计算时间还包括:获取分配给该特定虚拟化计算节点的任务分片的未完成部分的信息;根据获取的未完成部分的信息估计重新执行该任务分片的未完成部分所需的计算时间。优选地,所述方法还包括:当不满足预定条件时,将已分配给该特定虚拟化计算节点的任务分片中的未完成部分分配给其它虚拟化计算节点。优选地,所述方法还包括:按照距离顺序,从近到远将已分配给该特定虚拟化计算节点的任务分片中的未完成部分分配给其它虚拟化计算节点。优选地,所述方法还包括:接收从执行计算操作的相应虚拟化计算节点的每个返回的任务分片的处理结果;以及会聚所有的处理结果以生成要输出的处理结果。根据本专利技术另一实施例,提供了一种电子设备,包括:任务分解模块,配置为接收要处理的任务,并将所述任务分解为多个任务分片;任务分配模块,配置为将所述多个任务分片分配给虚拟化计算集群中的相应虚拟化计算节点,由相应虚拟化计算节点对分配的任务执行计算操作;控制模块,配置为从相应虚拟化计算节点接收定时返回的指示信号,所述指示信号指示所述计算节点是否正常操作,其中,当没有从特定虚拟化计算节点接收到指示信号时,所述控制模块确定该特定虚拟化计算节点为故障节点,并确定是否满足预定条件;以及当满足预定条件时,所述控制模块等待该特定虚拟化计算节点恢复以继续执行已分配的任务分片的计算操作。优选地,所述控制模块进一步配置为:估计重新执行已分配给该特定虚拟化计算节点的第一任务分片所需的计算时间;将估计的计算时间与预先设置的虚拟化计算节点的恢复时间比较;如果估计的计算时间大于所述恢复时间,则确定满足预定条件。优选地,所述控制模块进一步配置为:获取分配给该特定虚拟化计算节点的任务分片的未完成部分的信息;根据获取的未完成部分的信息估计重新执行该任务分片的未完成部分所需的计算时间。优选地,所述任务分配模块进一步配置为当不满足预定条件时,将已分配给该特定虚拟化计算节点的任务分片中的未完成部分分配给其它虚拟化计算节点。优选地,所述任务分配模块进一步配置为:按照距离顺序,从近到远将已分配给该特定虚拟化计算节点的任务分片中的未完成部分分配给其它虚拟化计算节点。优选地,所述控制模块进一步配置为接收从执行计算操作的相应虚拟化计算节点的每个返回的任务分片的处理结果;以及会聚所有的处理结果以生成要输出的处理结果。因此,根据本专利技术实施例的任务调度方法和电子设备,能够针对虚拟化计算平台更好地调度任务。附图说明图1是图示根据本专利技术第一实施例的任务调度方法的流程图;图2是图示根据本专利技术第二实施例的任务调度方法的流程图;以及图3是图示根据本专利技术第三实施例的电子设备的功能配置框图。具体实施方式下面,将参考附图详细描述根据本专利技术实施例的任务调度方法和电子设备。<第一实施例>下面,将参考图1详细描述根据本专利技术第一实施例的任务调度方法。根据本专利技术实施例任务调度方法应用于虚拟化计算集群系统。所述方法100包括:步骤S101:接收要处理的任务,并将所述任务分解为多个任务分片;步骤S102:将所述多个任务分片分配给所述虚拟化计算集群中的相应虚拟化计算节点,由相应虚拟化计算节点对分配的任务执行计算操作;步骤S103:接收定时返回的指示信号,所述指示信号指示所述计算节点是否正常操作;步骤S104:当没有从特定虚拟化计算节点接收到指示信号时,确定该特定虚拟化计算节点为故障节点,并确定是否满足预定条件;步骤S105:当满足预定条件时,等待该特定虚拟化计算节点恢复以继续执行已分配的任务分片的计算操作。具体地,在步骤S101中,例如通过任务管理节点(JobTracker)接收要处理的任务(Job),然后,将所述任务分解为多个任务分片(Task)。例如,接收要处理的大数据块,将该大数据块划分为多个小数据块,也就是说,每个任务分片对应于一个小数据块。然后,在步骤S102中,将所述多个任务分片分配给所述虚拟化计算集群中的相应虚拟化计算节点(TaskTracker),由相应虚拟化计算节点对分配的任务执行计算操作(即,Mpa/Reduce任务)。具体地,虚拟化计算集群包括多个分散的虚拟化计算节点(即,虚拟机)。在步骤S102中,将在步骤S101中划分得到的每个任务分片分配给虚拟化计算集群中的一个虚拟化计算节点,由相应的虚拟化计算节点对分配的任务执行计算操作。需要注意的是,分配任务分片的可以是虚拟化计算集群中的任一虚拟化计算节点。然后,在步骤S103中,接收从相应虚拟化计算节点定时返回的指示信号,所述指示信号指示所述计算节点是否正常操作。例如,执行计算操作的虚拟化计算节点定时向分配任务的虚拟化计算节点发送心跳信号。该心跳信号指示该执行计算操作的虚拟化计算节点操作正常。然后,在步骤S104中,当没有从特定虚拟化计算节点接收到指示信号时,
确定该特定虚拟化计算节点为故障节点。也就是说,如果没有从特定虚拟化计算节点收到心跳信号,则可以确定该特定虚拟化节点当前失效,即,没有了心跳。然后,确定该虚拟化计算节点是否满足预定条件。然后,在步骤S105中,当满足预定条件时,等待该特定虚拟化计算节点恢复以继续执行已分配的任务分片的计算操作。因为当在虚拟化计算集群系统上运行时,虚拟机能够在很短的时间内完全恢复至宕机前的状态(包括内存和网络上的数据),此时虚拟机中之前运行的所有Task可以继续执行,而不需要在其它机器上重新执行。也就是说,与现有技术的方案不同,当确定执行计算认为的虚拟化计算节点出现故障时,不是立即删除分配给该计算节点的任务,而是先判断是否满足预定条件,并且当满足预定条件时,不删除分配给该计算节点的任务。相反,当满足预定条件时,等待该特定虚拟化计算节点恢复以继续执行已分配的任务分片的计算操作。因此,根据本本文档来自技高网
...
任务调度方法和电子设备

【技术保护点】
一种任务调度方法,应用于虚拟化计算集群系统,所述方法包括:接收要处理的任务,并将所述任务分解为多个任务分片;将所述多个任务分片分配给所述虚拟化计算集群中的相应虚拟化计算节点,由相应虚拟化计算节点对分配的任务执行计算操作;接收从相应虚拟化计算节点定时返回的指示信号,所述指示信号指示所述计算节点是否正常操作;当没有从特定虚拟化计算节点接收到指示信号时,确定该特定虚拟化计算节点为故障节点,并确定是否满足预定条件;以及当满足预定条件时,等待该特定虚拟化计算节点恢复以继续执行已分配的任务分片的计算操作。

【技术特征摘要】
1.一种任务调度方法,应用于虚拟化计算集群系统,所述方法包括:接收要处理的任务,并将所述任务分解为多个任务分片;将所述多个任务分片分配给所述虚拟化计算集群中的相应虚拟化计算节点,由相应虚拟化计算节点对分配的任务执行计算操作;接收从相应虚拟化计算节点定时返回的指示信号,所述指示信号指示所述计算节点是否正常操作;当没有从特定虚拟化计算节点接收到指示信号时,确定该特定虚拟化计算节点为故障节点,并确定是否满足预定条件;以及当满足预定条件时,等待该特定虚拟化计算节点恢复以继续执行已分配的任务分片的计算操作。2.如权利要求1所述的方法,其中,确定是否满足预定条件还包括:估计重新执行已分配给该特定虚拟化计算节点的第一任务分片所需的计算时间;将估计的计算时间与预先设置的虚拟化计算节点的恢复时间比较;如果估计的计算时间大于所述恢复时间,则确定满足预定条件。3.如权利要求2所述的方法,其中,估计重新执行已分配给该特定虚拟化计算节点的任务分片所需的计算时间还包括:获取分配给该特定虚拟化计算节点的任务分片的未完成部分的信息;根据获取的未完成部分的信息估计重新执行该任务分片的未完成部分所需的计算时间。4.如权利要求1所述的方法,还包括:当不满足预定条件时,将已分配给该特定虚拟化计算节点的任务分片中的未完成部分分配给其它虚拟化计算节点。5.如权利要求1所述的方法,还包括:按照距离顺序,从近到远将已分配给该特定虚拟化计算节点的任务分片中的未完成部分分配给其它虚拟化计算节点。6.如权利要求1所述的方法,还包括:接收从执行计算操作的相应虚拟化计算节点返回的每个任务分片的处理结果;以及会聚所有的处理结果以生成要输出的处理结果。7.一种电子设备,包括:任务分解模块,配置为接收...

【专利技术属性】
技术研发人员:李光辉
申请(专利权)人:联想北京有限公司
类型:发明
国别省市:北京;11

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

1