CN106970833A - 作业调度方法及装置 - Google Patents

作业调度方法及装置 Download PDF

Info

Publication number
CN106970833A
CN106970833A CN201610021343.5A CN201610021343A CN106970833A CN 106970833 A CN106970833 A CN 106970833A CN 201610021343 A CN201610021343 A CN 201610021343A CN 106970833 A CN106970833 A CN 106970833A
Authority
CN
China
Prior art keywords
data
time
task section
calculate node
pdr
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201610021343.5A
Other languages
English (en)
Inventor
才华
逯斌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201610021343.5A priority Critical patent/CN106970833A/zh
Publication of CN106970833A publication Critical patent/CN106970833A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种作业调度方法及装置,所述方法包括:第一计算节点计算当前运行的任务切片的数据处理速率;根据所述数据处理速率,确定所述任务切片满足调度条件时,生成调度指令发送至中心节点;所述调度指令用于触发所述中心节点中断所述任务切片的运行,并请求资源管理器重新调度所述任务切片在第二计算节点中运行;其中,所述资源管理器部署在所述分布式系统中的任一个计算节点或中心节点中,本申请实施例有效实现了作业调度,提高作业运行效率。

Description

作业调度方法及装置
技术领域
本申请属于数据处理技术领域,具体地说,涉及一种作业调度方法、装置及系统。
背景技术
在传统的分布式系统中,分布式作业包括有限数量的任务(task),每一任务又划分为多个任务切片(instance),作业运行时,由各个任务的任务切片进行数据处理。
任务切片被调度运行在分布式系统的计算节点中,而由于计算节点软硬件配置各不相同,且运行的作业也各不相同,外界干扰因素颇多,导致不同机器运行环境大不相同,且由于作业本身的原因或者机器上运行的大量作业互相作用的结果或者机器本身问题,往往会导致某些计算节点磁盘读写慢或系统负载高等问题,使得计算节点无法正常运行。如果这个时候再调度新的作业到这些计算节点上,不仅影响作业的运行进度,也会加重系统的负载,进而影响其他作业的运行。
因此,急需提供一种有效的作业调度方式,以规避掉无法正常运行的计算节点,提高作业运行效率。
发明内容
有鉴于此,本申请所要解决的技术问题是提供了一种作业调度方法及装置,有效实现了作业调度,提高了作业运行效率。
为了解决上述技术问题,本申请公开了一种作业调度方法,应用于分布式系统中,所述方法包括:
第一计算节点计算当前运行的任务切片的数据处理速率;
根据所述数据处理速率,确定所述任务切片满足调度条件时,生成调度指令发送至中心节点;所述调度指令用于触发所述中心节点中断所述任务切片的运行,并请求资源管理器重新调度所述任务切片在第二计算节点中运行;其中,所述资源管理器部署在所述分布式系统中的任一个计算节点或中心节点中。
优选地,所述根据所述数据处理速率,确定所述任务切片满足调度条件时,生成调度指令发送至中心节点包括:
根据所述数据处理速率,计算所述任务切片中未处理数据的处理时间;
在所述处理时间大于预设时间时,生成调度指令发送至中心节点。
优选地,所述预设时间为重新调度所述任务切片在第二计算节点运行的重新调度时间;
所述在所述处理时间大于预设时间时,生成调度指令发送至中心节点包括:
在所述处理时间大于所述重新调度时间时,生成调度指令发送至中心节点。
优选地,所述第一计算节点计算当前运行的任务切片的数据处理速率包括:
第一计算节点记录当前运行的任务切片在运行过程中,读数据的数据量和读数据时间,以及写数据的数据量和写数据时间;
根据所述读数据的数据量和读数据时间,以及写数据的数据量和写数据时间,计算所述任务切片的数据处理速率。
优选地,所述根据所述数据处理速率,计算所述任务切片中未处理数据的处理时间包括:
根据所述数据处理速率,计算所述任务切片中未处理数据的读数据时间以及写数据时间;
计算所述任务切片中未处理数据的读数据时间以及写数据时间的和值,作为所述当前运行的任务切片中未处理数据的处理时间。
优选地,所述根据所述读数据的数据量和读数据时间,以及写数据的数据量和写数据时间,计算所述任务切片的数据处理速率包括:
根据所述读数据的数据量和读数据时间,以及写数据的数据量和写数据时间,按照如下计算公式计算所述任务切片的数据处理速率;
DataProcessSpeed=(dataSize1+dataSize2)/(time1+time2);
其中,DataProcessSpeed表示所述任务切片的数据处理速率;dataSize1表示读数据的数据量,time1表示读数据时间;dataSize2表示写数据的数据量,time2表示写数据时间。
一种作业调度方法,应用于分布式系统中,所述方法包括:
中心节点接收第一计算节点的调度指令;所述调度指令为所述第一计算节点计算当前运行的任务切片的数据处理速率;根据所述数据处理速率,确定所述任务切片满足调度条件时生成并发送的;
中断所述任务切片在所述第一计算节点中运行,
请求资源管理器重新调度所述任务切片在第二计算节点中运行。
一种作业调度方法,应用于分布式系统中,所述方法包括:
接收中心节点的调度请求;所述调度请求为所述中心节点接收第一计算节点的调度指令,中断所述任务切片在所述第一计算节点中运行之后生成的,所述调度指令为所述第一计算节点计算当前运行的任务切片的数据处理速率;根据所述数据处理速率,确定所述任务切片满足调度条件时生成并发送的;
重新调度所述任务切片在第二计算节点中运行。
一种作业调度装置,包括:
速率计算模块,用于计算当前运行的任务切片的数据处理速率;
调度请求模块,用于根据所述数据处理速率,确定所述任务切片满足调度条件时,生成调度指令发送至中心节点;所述调度指令用于触发所述中心节点中断所述任务切片的运行,并请求资源管理器重新调度所述任务切片在第二计算节点中运行;其中,所述资源管理器部署在所述分布式系统中的任一个计算节点或中心节点中。
优选地,所述调度请求模块包括:
时间计算单元,用于根据所述数据处理速率,计算所述任务切片中未处理数据的处理时间;
调度请求单元,用于在所述处理时间大于预设时间时,生成调度指令发送至中心节点。
优选地,所述所述预设时间为重新调度所述任务切片在第二计算节点运行的重新调度时间;
所述调度请求单元具体用于在所述处理时间大于所述重新调度时间时,生成调度指令发送至中心节点。
优选地,所述速率计算模块包括:
第一计算单元,用于第一计算节点记录当前运行的任务切片在运行过程中,读数据的数据量和读数据时间,以及写数据的数据量和写数据时间;
第二计算单元,用于根据所述读数据的数据量和读数据时间,以及写数据的数据量和写数据时间,计算所述任务切片的数据处理速率。
优选地,所述时间计算单元具体用于:
根据所述数据处理速率,计算所述任务切片中未处理数据的读数据时间以及写数据时间;
计算所述任务切片中未处理数据的读数据时间以及写数据时间的和值,作为所述当前运行的任务切片中未处理数据的处理时间。
优选地,所述第二计算单元具体用于:根据所述读数据的数据量和读数据时间,以及写数据的数据量和写数据时间,按照如下计算公式计算所述任务切片的数据处理速率;
DataProcessSpeed=(dataSize1+dataSize2)/(time1+time2);
其中,DataProcessSpeed表示所述任务切片的数据处理速率;dataSize1表示读数据的数据量,time1表示读数据时间;dataSize2表示写数据的数据量,time2表示写数据时间。
一种作业调度装置,包括:
指令接收模块,用于接收第一计算节点的调度指令;所述调度指令为所述第一计算节点计算当前运行的任务切片的数据处理速率;根据所述数据处理速率,确定所述任务切片满足调度条件时生成并发送的;
运行中断模块,用于中断所述任务切片在所述第一计算节点中运行,
调度触发模块,用于请求资源管理器重新调度所述任务切片在第二计算节点中运行。
一种作业调度装置,包括:
请求接收模块,用于接收中心节点的调度请求;所述调度请求为所述中心节点接收第一计算节点的调度指令,中断所述任务切片在所述第一计算节点中运行之后生成的,所述调度指令为所述第一计算节点计算当前运行的任务切片的数据处理速率;根据所述数据处理速率,确定所述任务切片满足调度条件时生成并发送的;
调度模块,用于重新调度所述任务切片在第二计算节点中运行。
与现有技术相比,本申请可以获得包括以下技术效果:
第一计算节点计算当前运行的任务切片的数据处理速率;并根据数据处理效率,确定所述任务切片满足调度条件时,生成调度指令发送至中心节点;由所述中心节点中断所述任务切片的运行,并请求资源管理器重新调度所述任务切片在第二计算节点中运行;通过计算节点计算任务切片的数据处理速率,获得计算节点的实际运行情况,可以及时发现无法正常运行的计算节点,从而可以有效实现作业调度,以规避掉无法正常运行的计算节点,提高作业运行效率。
当然,实施本申请的任一产品必不一定需要同时达到以上所述的所有技术效果。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是本申请实施例的一种作业调度方法一个实施例的流程图;
图2是本申请实施例的一种作业调度方法又一个实施例的流程图;
图3是本申请实施例的一种作业调度方法又一个实施例的流程图;
图4是本申请实施例的一种作业调度方法又一个实施例的流程图;
图5是本申请实施例的一种作业调度装置一个实施例的结构示意图;
图6是本申请实施例的一种作业调度装置又一个实施例的结构示意图;
图7是本申请实施例的一种作业调度装置又一个实施例的结构示意图;
图8是本申请实施例的一种作业调度装置又一个实施例的结构示意图;
图9是本申请实施例的一种分布式系统一个实施例的结构示意图。
具体实施方式
以下将配合附图及实施例来详细说明本申请的实施方式,藉此对本申请如何应用技术手段来解决技术问题并达成技术功效的实现过程能充分理解并据以实施。
本申请技术方案主要应用于分布式系统中,分布式系统包括中心节点以及与中心节点连接的各个计算节点。
而分布式作业包括有限数量的任务,并且任务之间有一定的依赖关系,每一任务又划分为多个任务切片,作业运行时,由各个任务的任务切片进行数据处理。任务切片被调度运行在分布式系统的计算节点中,
任务切片的调度运行由资源管理器进行控制,资源管理器可以部署在所述分布式系统中的任一个计算节点或中心节点中。
现有技术中,资源管理器虽然可以对任务切片进行调度分配,但是资源管理器是统一进行运行资源和任务切片的调度,主要根据计算节点的运行资源以及运行任务切片数量来决定是否分配任务切片。
而由于每个任务切片所需要的运行资源不同,资源管理器很难做到运行资源和任务调度的双均衡,所以可能导致计算节点上调度了较少的资源却运行较多的任务,大量任务的运行会引起系统负载变高,导致运行效率变慢,使得计算计算节点无法正常运行,且计算节点无法正常运行可能有多种原因,比如机器的软硬件配置、机器年久老化导致硬件出现问题等,资源管理器仅根据计算节点的运行资源和运行的任务切片进行作业调度,无法有效实现对作业的调度以保证作业运行效率。
为了解决这一技术问题,发明人经过一系列研究,提出本申请技术方案,在本申请实施例中,每一个任务切片在运行过程中,可以统计数据处理速率,并根据该数据处理处理效率,确定任务切片满足调度条件时,此时表明当前运行该任务切片的计算节点可能负载较高或者出现其他问题,会影响作业运行效率,因此需要重新调度该任务切片,即可以通知中心节点,由中心节点中断该任务切片的运行,并请求资源管理器重新调度。而任务切片不满足调度条件,则该任务切片可以继续运行。通过计算任务切片的数据处理速率,获得计算节点的实际运行情况,从而可以及时发现无法正常运行的计算节点,从而可以有效实现作业调度,以规避掉无法正常运行的计算节点,提高作业运行效率。
下面将结合附图对本申请技术方案进行详细描述。
图1为本申请提供的一种作业调度方法一个实施例的流程图,该方法主要应用于分布式系统中,该方法可以包括以下几个步骤:
101:第一计算节点计算当前运行的任务切片的数据处理速率。
第一计算节点是指分布式系统中运行任务切片的任一个计算节点,为了方便描述上的区分,此处命名为第一计算节点。
任务切片被调度到第一计算节点中运行,第一计算节点在一个进程中运行该任务切片,具体通过该进程计算任务切片的数据处理速率
第一计算节点在运行任务切片时,需要读数据、进行数据处理之后,在进行写数据,因此可以根据读数据以及写数据的数据量和时间,计算数据处理速率。
计算数据处理速率可以实时进行,从而可以实时对第一计算节点进行判断。
102:根据所述数据处理速率,确定所述任务切片满足调度条件时,生成调度指令发送至中心节点。
其中,所述调度指令用于触发所述中心节点中断所述任务切片的运行,并请求资源管理器重新调度所述任务切片在第二计算节点中运行;其中,所述资源管理器部署在所述分布式系统中的任一个计算节点或中心节点中。
其中,作为一种可能的实现方式,所述调度条件可以是指所述数据处理速率小于预设速率。
所述根据所述数据处理速率,确定所述任务切片满足调度条件时,生成调度指令发送至中心节点可以是:
根据所述数据处理速率,在所述数据处理速率小于预设速率时,生成调度指令发送至中心节点。
也即数据处理速率较低时,表明该第一计算节点可能负载较高,需要对任务切片进行重新调度。
作为又一种可能的实现方式,该调度条件可以是指未处理数据的处理时间大于预设时间。
因此所述根据所述数据处理速率,确定所述任务切片满足调度条件时,生成调度指令发送至中心节点可以是:
根据所述数据处理速率,计算所述任务切片中未处理数据的处理时间;
在所述处理时间大于预设时间时,生成调度指令发送至中心节点。
根据计算获得的数据处理速率,以及未处理数据的数据量,即可以计算获得未处理数据的处理时间。
该处理时间也是指计算节点处于该任务切片该需要运行的时间。
如果处理时间大于预设时间,表明第一计算节点可能负载较高或者出现其他影响正常运行的问题,此时应该重新调度该任务切片,而不是在第一计算节点中继续运行,以保证作业运行效率,因此即可以生成调度指令发送至中心节点。中心节点即中断所述任务切片在第一计算节点中运行,并请求资源管理器重新调度所述任务切片在第二计算节点中运行。
该第二计算节点可以是资源管理器选择的负载较低的一个计算节点。资源管理器可以根据各个计算节点的数据处理速率或者各个计算节点中未处理数据的处理时间,选择数据处理速率高或者未处理数据的处理时间短的一个计算节点作为第二计算节点。
当然,资源管理器还可以选择存在空闲运行资源的任一个计算节点作为第二计算节点。
另外,中心节点还可以对该第一计算节点进行禁用标记,终止对禁用标记的计算节点进行调度。
第一计算节点中的任务切片中断之后,可以降低该第一计算节点的负载,从而有利于运行在该第一计算节点中的其它任务切片的运行,保持良好的运行状态。
本实施例中,第一计算节点对当前运行的任务切片计算数据处理速率,根据获得的数据处理速率可以进行判断,如果任务切片满足调度调度条件,即可以即可以通知中心节点,由中心节点中断该任务切片的运行,并请求资源管理器重新调度。而如果处理时间小于预设时间,则该任务切片可以继续运行。通过计算任务切片的数据处理速率,获得计算节点的实际运行情况,可以及时发现无法正常运行的计算节点,从而可以有效实现作业调度,以规避掉无法正常运行的计算节点,提高作业运行效率。
图2为本申请提供的一种作业调度方法又一个实施例的流程图,该方法主要应用于分布式系统中,该方法可以包括以下几个步骤:
201:第一计算节点计算当前运行的任务切片的数据处理速率。
任务切片运行时,需要读数据,并对读取的数据进行处理之后,在进行写数据。
因此根据读数据和写数据的数据量以及读数据时间和写数据时间,即可以计算获得所述任务切片中未处理数据的处理时间。
因此,作为又一个实施例,该步骤201可以包括:
第一计算节点记录当前运行的任务切片在运行过程中,读数据的数据量和读数据时间,以及写数据的数据量和写数据时间;
根据所述读数据的数据量和读数据时间,以及写数据的数据量和写数据时间,计算所述任务切片的数据处理速率。
其中,读数据时间是指读取所述读数据的数据量所需的时间,写数据时间是指写入所述写数据的数据量所需的时间。
具体的,根据所述读数据的数据量和读数据时间,以及写数据的数据量和写数据时间,可以按照如下计算公式计算所述任务切片的数据处理速率;
DataProcessSpeed=(dataSize1+dataSize2)/(time1+time2);
其中,DataProcessSpeed表示所述任务切片的数据处理速率;dataSize1表示读数据的数据量,time1表示读数据时间;dataSize2表示写数据的数据量,time2表示写数据时间。
202:根据所述数据处理速率,计算所述任务切片中未处理数据的处理时间。
未处理数据需要分别进行读写操作,因此作为又一个实施例,该步骤202可以包括:
根据所述数据处理速率,计算所述任务切片中未处理数据的读数据时间以及写数据时间;
计算所述任务切片中未处理数据的读数据时间以及写数据时间的和值,作为所述当前运行的任务切片中未处理数据的处理时间。
具体的该未处理数据的处理时间可以按照如下公式计算获得:
TimeLeft=(dataTotalSize–dataSize1+dataTotalSize–dataSize2)/DataProcessSpeed;
其中,TimeLeft表示未处理数据的处理时间,dataTotalSize为任务切片的总数据量。
(dataTotalSize–dataSize1)/DataProcessSpeed也即为未处理数据的读数据时间,(dataTotalSize–dataSize2)/DataProcessSpeed也即为未处理数据的写数据时间。
203:判断所述处理时间是否大于预设时间,如果是,执行步骤204,如果否,则可以返回步骤201继续进行计算。
该预设时间可以根据实际情况进行设定。
作为又一个实施例,该预设时间可以是指任务切片重新调度至第二计算节点中的重新调度时间。
因此如果处理时间大于重新调度时间,则生成调度指令,对任务切片重新进行调度即可。
而如果处理时间小于重新调度时间,则可以在第一计算节点中继续运行该任务切片,以保证较高的作业运行效率。
204:生成调度指令发送至中心节点。
所述调度指令用于触发所述中心节点中断所述任务切片的运行,并请求资源管理器重新调度所述任务切片在第二计算节点中运行;其中,所述资源管理器部署在所述分布式系统中的任一个计算节点或中心节点中。
中心节点接收到调度指令,中断所述任务切片的运行的同时,可以生成调度请求并发送至资源管理器。由资源管理器接收到调度请求时,重新调度所述任务切片在第二计算节点中运行。
本实施例中,第一计算节点对当前运行的任务切片计算数据处理速率,根据获得的数据处理速率可以计算未处理数据的处理时间,并对处理时间进行判断,如果处理时间大于预设时间,即可以通知中心节点,由中心节点中断该任务切片的运行,并请求资源管理器重新调度。而如果处理时间小于预设时间,则该任务切片可以继续运行。通过计算任务切片的数据处理速率和处理时间,获得计算节点的实际运行情况,可以及时发现无法正常运行的计算节点,从而可以有效实现作业调度,以规避掉无法正常运行的计算节点,提高作业运行效率。
图3为本申请提供的一种作业调度方法又一个实施例的流程图,该方法主要应用于分布式系统中,该方法可以包括以下几个步骤:
301:中心节点接收第一计算节点的调度指令。
其中,所述调度指令为所述第一计算节点计算当前运行的任务切片的数据处理速率;根据所述数据处理速率,确定所述任务切片满足调度条件时生成并发送的。
根据所述数据处理速率,确定所述任务切片满足调度条件可以有多种实现方式,具体可以参见上述实施例中所述,在此不再赘述。
302:中断所述任务切片在所述第一计算节点中运行。
303:请求资源管理器重新调度所述任务切片在第二计算节点中运行。
中心节点接收到该调度指令之后,即中断任务切片的运行,并告知资源管理器,请求请求资源管理器重新调度所述任务切片在第二计算节点中运行。
中心节点接收到调度指令,中断所述任务切片的运行的同时,可以生成调度请求并发送至资源管理器。由资源管理器接收到调度请求时,重新调度所述任务切片在第二计算节点中运行。
从而可以及时发现无法正常运行的计算节点,从而可以有效实现作业调度,以规避掉无法正常运行的计算节点,提高作业运行效率。
图4为本申请提供的一种作业调度方法又一个实施例的流程图,该方法主要应用于分布式系统中的资源管理器中,该方法可以包括以下几个步骤:
401:接收中心节点的调度请求。
其中,所述调度请求为所述中心节点接收第一计算节点的调度指令,中断所述任务切片在所述第一计算节点中运行之后生成的。
所述调度指令为所述第一计算节点计算当前运行的任务切片的数据处理速率;根据所述数据处理速率,确定所述任务切片满足调度条件时生成并发送的。
根据所述数据处理速率,确定所述任务切片满足调度条件可以有多种实现方式,具体可以参见上述实施例中所述,在此不再赘述。
402:重新调度所述任务切片在第二计算节点中运行。
作为又一个实施例,资源管理器还可以终止调度所述第一计算节点;可以将第一计算节点设置禁用标记,使得携带禁用标记的计算节点不再调度任务切片运行。
其中,该第二计算节点可以是资源管理器选择的负载较低的一个计算节点。资源管理器可以根据各个计算节点的数据处理速率或者各个计算节点中未处理数据的处理时间,选择数据处理速率高或者未处理数据的处理时间短的一个计算节点作为第二计算节点。
当然,资源管理器还可以选择存在空闲运行资源的任一个计算节点作为第二计算节点。
本实施例中,第一计算节点对当前运行的任务切片计算数据处理速率,根据获得的数据处理速率可以进行判断,如果任务切片满足调度调度条件,即可以即可以通知中心节点,由中心节点中断该任务切片的运行,并请求资源管理器重新调度。通过计算任务切片的数据处理速率,获得计算节点的实际运行情况,可以及时发现无法正常运行的计算节点,从而可以有效实现作业调度,以规避掉无法正常运行的计算节点,提高作业运行效率。
图5为本申请提供的一种作业调度装置一个实施例的结构示意图,该装置可以配置在分布式系统的任一个计算节点中,该装置可以包括:
速率计算模块501,用于计算当前运行的任务切片的数据处理速率;
调度请求模块502,用于根据所述数据处理速率,确定所述任务切片满足调度条件时,生成调度指令发送至中心节点;所述调度指令用于触发所述中心节点中断所述任务切片的运行,并请求资源管理器重新调度所述任务切片在第二计算节点中运行。
该第二计算节点可以是资源管理器选择的负载较低的一个计算节点。资源管理器可以根据各个计算节点的数据处理速率或者各个计算节点中未处理数据的处理时间,选择数据处理速率高或者未处理数据的处理时间短的一个计算节点作为第二计算节点。
当然,资源管理器还可以选择存在空闲运行资源的任一个计算节点作为第二计算节点。
其中,所述资源管理器部署在所述分布式系统中的任一个计算节点或中心节点中。
作为一种可能的实现方式,所述调度条件可以是指所述数据处理速率小于预设速率,该调度请求模块502可以具体用于根据所述数据处理速率,在所述数据处理速率小于预设速率时,生成调度指令发送至中心节点。
也即数据处理速率较低时,表明该第一计算节点可能负载较高,需要对任务切片进行重新调度。
作为又一种可能的实现方式,该调度条件可以是指未处理数据的处理时间大于预设时间。
因此,作为又一个实施例,如图6中所示,与图5所示实施例不同之处在于,所述调度请求模块503可以额包括:
时间计算单元601,用于根据所述数据处理速率,计算所述任务切片中未处理数据的处理时间;
调度请求单元602,用于在所述处理时间大于预设时间时,生成调度指令发送至中心节点。
如果处理时间大于预设时间,表明第一计算节点可能负载较高,此时应该重新调度该任务切片,而不是在第一计算节点中继续运行,以保证作业运行效率,因此即可以生成调度指令发送至中心节点。中心节点即中断所述任务切片在第一计算节点中运行,并请求资源管理器重新调度所述任务切片在第二计算节点中运行。
该预设时间可以根据实际情况进行设定。
作为又一个实施例,该预设时间可以是指任务切片重新调度至第二计算节点中的重新调度时间。
因此调度请求单元可以具体用于在所述处理时间大于重新调度时间,则生成调度指令,对任务切片重新进行调度即可。
而如果处理时间小于重新调度时间,则可以在第一计算节点中继续运行该任务切片,以保证较高的作业运行效率。
其中,任务切片运行时,需要读数据,并对读取的数据进行处理之后,在进行写数据。
因此根据读数据和写数据的数据量以及读数据时间和写数据时间,即可以计算获得所述任务切片中未处理数据的处理时间。
因此,作为又一个实施例,所述速率计算模块可以包括:
第一计算单元,用于记录当前运行的任务切片在运行过程中,读数据的数据量和读数据时间,以及写数据的数据量和写数据时间;
第二计算单元,用于根据所述读数据的数据量和读数据时间,以及写数据的数据量和写数据时间,计算所述任务切片的数据处理速率。
通过记录当前运行的任务切片在运行过程中,读数据的数据量和读数据时间,以及写数据的数据量和写数据时间;
根据所述读数据的数据量和读数据时间,以及写数据的数据量和写数据时间,计算所述任务切片的数据处理速率。
其中,读数据时间是指读取所述读数据的数据量所需的时间,写数据时间是指写入所述写数据的数据量所需的时间。
具体的,所述第二计算单元可以具体根据所述读数据的数据量和读数据时间,以及写数据的数据量和写数据时间,可以按照如下计算公式计算所述任务切片的数据处理速率;
DataProcessSpeed=(dataSize1+dataSize2)/(time1+time2);
其中,DataProcessSpeed表示所述任务切片的数据处理速率;dataSize1表示读数据的数据量,time1表示读数据时间;dataSize2表示写数据的数据量,time2表示写数据时间。
其中,未处理数据需要分别进行读写操作,因此作为又一个实施例,所述时间计算单元可以具体用于:
根据所述数据处理速率,计算所述任务切片中未处理数据的读数据时间以及写数据时间;
计算所述任务切片中未处理数据的读数据时间以及写数据时间的和值,作为所述当前运行的任务切片中未处理数据的处理时间。
具体的,可以按照如下公式计算获得该未处理数据的处理时间:
TimeLeft=(dataTotalSize–dataSize1+dataTotalSize–dataSize2)/DataProcessSpeed;
其中,TimeLeft表示未处理数据的处理时间,dataTotalSize为任务切片的总数据量。
(dataTotalSize–dataSize1)/DataProcessSpeed也即为未处理数据的读数据时间,(dataTotalSize–dataSize2)/DataProcessSpeed也即为未处理数据的写数据时间。
本申请实施例中,第一计算节点对当前运行的任务切片计算数据处理速率,根据获得的数据处理速率可以计算未处理数据的处理时间,并对处理时间进行判断,如果处理时间大于预设时间,即可以通知中心节点,由中心节点中断该任务切片的运行,并请求资源管理器重新调度。而如果处理时间小于预设时间,则该任务切片可以继续运行。通过计算任务切片的数据处理速率和处理时间,获得计算节点的实际运行情况,可以及时发现无法正常运行的计算节点,从而可以有效实现作业调度,以规避掉无法正常运行的计算节点,提高作业运行效率。
图7为本申请提供的一种作业调度装置又一个实施例的结构示意图,该装置具体配置在分布式系统中的中心节点中,该装置可以包括:
指令接收模块701,用于接收第一计算节点的调度指令。
其中,所述调度指令为所述第一计算节点计算当前运行的任务切片的数据处理速率;根据所述数据处理速率,确定所述任务切片满足调度条件时生成并发送的。
根据所述数据处理速率,确定所述任务切片满足调度条件可以有多种实现方式,具体可以参见上述实施例中所述,在此不再赘述。
运行中断模块702,用于中断所述任务切片在所述第一计算节点中运行。
调度触发模块703,用于请求资源管理器重新调度所述任务切片在第二计算节点中运行。
接收到该调度指令之后,即中断任务切片的运行,并告知资源管理器,请求请求资源管理器重新调度所述任务切片在第二计算节点中运行。
从而可以及时发现无法正常运行的计算节点,从而可以有效实现作业调度,以规避掉无法正常运行的计算节点,提高作业运行效率。
图8为本申请提供的一种作业调度装置又一个实施例的结构示意图,该装置在实际应用中配置为资源管理器,部署在分布式系统中的中心节点或者任一计算节点中,该装置可以包括:
请求接收模块801,用于接收中心节点的调度请求。
其中,所述调度请求为所述中心节点接收第一计算节点的调度指令,中断所述任务切片在所述第一计算节点中运行之后生成的。
所述调度指令为所述第一计算节点计算当前运行的任务切片的数据处理速率;根据所述数据处理速率,确定所述任务切片满足调度条件时生成并发送的。
调度模块802,用于重新调度所述任务切片在第二计算节点中运行。
作为又一个实施例,还可以将第一计算节点设置禁用标记,使得携带禁用标记的计算节点不再调度任务切片运行。
其中,该第二计算节点可以是选择的负载较低的一个计算节点。可以根据各个计算节点的数据处理速率或者各个计算节点中未处理数据的处理时间,选择数据处理速率高或者未处理数据的处理时间短的一个计算节点作为第二计算节点。
当然,还可以选择存在空闲运行资源的任一个计算节点作为第二计算节点。
本实施例中,接收到中心节点的调度请求之后,重新调度所述任务切片在第二计算节点中运行。第一计算节点对当前运行的任务切片计算数据处理速率,根据获得的数据处理速率可以进行判断,如果任务切片满足调度调度条件,即可以生成调度指令通知中心节点,由中心节点中断该任务切片的运行,并生成调度请求。通过计算任务切片的数据处理速率,获得计算节点的实际运行情况,可以及时发现无法正常运行的计算节点,从而可以有效实现作业调度,以规避掉无法正常运行的计算节点,提高作业运行效率。
此外,本申请还提供了一种分布式系统,如图9所示,该分布式系统可以包括中心节点901以及多个计算节点902,在所述中心节点901或者任一个计算节点902中部署资源管理器903,图9中以资源管理器部署在任一个计算节点中为例进行说明,但是该资源管理器还可以部署在中心节点中。
所述多个计算节点中的第一计算节点,计算当前运行的任务切片的数据处理速率;根据所述数据处理速率,确定所述任务切片满足调度条件时,生成调度指令发送至中心节点;
所述中心节点接收到所述调度指令之后,中断所述任务切片的运行,并请求资源管理器重新调度所述任务切片在第二计算节点中运行。
通过本申请技术方案,有效实现了作业调度,保证了作业运行效率。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flashRAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
如在说明书及权利要求当中使用了某些词汇来指称特定组件。本领域技术人员应可理解,硬件制造商可能会用不同名词来称呼同一个组件。本说明书及权利要求并不以名称的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的准则。如在通篇说明书及权利要求当中所提及的“包含”为一开放式用语,故应解释成“包含但不限定于”。“大致”是指在可接收的误差范围内,本领域技术人员能够在一定误差范围内解决所述技术问题,基本达到所述技术效果。此外,“耦接”一词在此包含任何直接及间接的电性耦接手段。因此,若文中描述一第一装置耦接于一第二装置,则代表所述第一装置可直接电性耦接于所述第二装置,或通过其他装置或耦接手段间接地电性耦接至所述第二装置。说明书后续描述为实施本申请的较佳实施方式,然所述描述乃以说明本申请的一般原则为目的,并非用以限定本申请的范围。本申请的保护范围当视所附权利要求所界定者为准。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的商品或者系统中还存在另外的相同要素。
上述说明示出并描述了本申请的若干优选实施例,但如前所述,应当理解本申请并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述申请构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本申请的精神和范围,则都应在本申请所附权利要求的保护范围内。

Claims (16)

1.一种作业调度方法,其特征在于,应用于分布式系统中,所述方法包括:
第一计算节点计算当前运行的任务切片的数据处理速率;
根据所述数据处理速率,确定所述任务切片满足调度条件时,生成调度指令发送至中心节点;所述调度指令用于触发所述中心节点中断所述任务切片的运行,并请求资源管理器重新调度所述任务切片在第二计算节点中运行;其中,所述资源管理器部署在所述分布式系统中的任一个计算节点或中心节点中。
2.如权利要求1所述的方法,其特征在于,所述根据所述数据处理速率,确定所述任务切片满足调度条件时,生成调度指令发送至中心节点包括:
根据所述数据处理速率,计算所述任务切片中未处理数据的处理时间;
在所述处理时间大于预设时间时,生成调度指令发送至中心节点。
3.如权利要求2所述的方法,其特征在于,所述预设时间为重新调度所述任务切片在第二计算节点运行的重新调度时间;
所述在所述处理时间大于预设时间时,生成调度指令发送至中心节点包括:
在所述处理时间大于所述重新调度时间时,生成调度指令发送至中心节点。
4.如权利要求2所述的方法,其特征在于,所述第一计算节点计算当前运行的任务切片的数据处理速率包括:
第一计算节点记录当前运行的任务切片在运行过程中,读数据的数据量和读数据时间,以及写数据的数据量和写数据时间;
根据所述读数据的数据量和读数据时间,以及写数据的数据量和写数据时间,计算所述任务切片的数据处理速率。
5.如权利要求4所述的方法,其特征在于,所述根据所述数据处理速率,计算所述任务切片中未处理数据的处理时间包括:
根据所述数据处理速率,计算所述任务切片中未处理数据的读数据时间以及写数据时间;
计算所述任务切片中未处理数据的读数据时间以及写数据时间的和值,作为所述当前运行的任务切片中未处理数据的处理时间。
6.如权利要求4或5所述的方法,其特征在于,所述根据所述读数据的数据量和读数据时间,以及写数据的数据量和写数据时间,计算所述任务切片的数据处理速率包括:
根据所述读数据的数据量和读数据时间,以及写数据的数据量和写数据时间,按照如下计算公式计算所述任务切片的数据处理速率;
DataProcessSpeed=(dataSize1+dataSize2)/(time1+time2);
其中,DataProcessSpeed表示所述任务切片的数据处理速率;dataSize1表示读数据的数据量,time1表示读数据时间;dataSize2表示写数据的数据量,time2表示写数据时间。
7.一种作业调度方法,其特征在于,应用于分布式系统中,所述方法包括:
中心节点接收第一计算节点的调度指令;所述调度指令为所述第一计算节点计算当前运行的任务切片的数据处理速率;根据所述数据处理速率,确定所述任务切片满足调度条件时生成并发送的;
中断所述任务切片在所述第一计算节点中运行,
请求资源管理器重新调度所述任务切片在第二计算节点中运行。
8.一种作业调度方法,其特征在于,应用于分布式系统中,所述方法包括:
接收中心节点的调度请求;所述调度请求为所述中心节点接收第一计算节点的调度指令,中断所述任务切片在所述第一计算节点中运行之后生成的,所述调度指令为所述第一计算节点计算当前运行的任务切片的数据处理速率;根据所述数据处理速率,确定所述任务切片满足调度条件时生成并发送的;
重新调度所述任务切片在第二计算节点中运行。
9.一种作业调度装置,其特征在于,包括:
速率计算模块,用于计算当前运行的任务切片的数据处理速率;
调度请求模块,用于根据所述数据处理速率,确定所述任务切片满足调度条件时,生成调度指令发送至中心节点;所述调度指令用于触发所述中心节点中断所述任务切片的运行,并请求资源管理器重新调度所述任务切片在第二计算节点中运行;其中,所述资源管理器部署在所述分布式系统中的任一个计算节点或中心节点中。
10.如根据权利要求9所述的装置,其特征在于,所述调度请求模块包括:
时间计算单元,用于根据所述数据处理速率,计算所述任务切片中未处理数据的处理时间;
调度请求单元,用于在所述处理时间大于预设时间时,生成调度指令发送至中心节点。
11.如权利要求10所述的装置,其特征在于,所述所述预设时间为重新调度所述任务切片在第二计算节点运行的重新调度时间;
所述调度请求单元具体用于在所述处理时间大于所述重新调度时间时,生成调度指令发送至中心节点。
12.如权利要求10所述的装置,其特征在于,所述速率计算模块包括:
第一计算单元,用于第一计算节点记录当前运行的任务切片在运行过程中,读数据的数据量和读数据时间,以及写数据的数据量和写数据时间;
第二计算单元,用于根据所述读数据的数据量和读数据时间,以及写数据的数据量和写数据时间,计算所述任务切片的数据处理速率。
13.如权利要求12所述的装置,其特征在于,所述时间计算单元具体用于:
根据所述数据处理速率,计算所述任务切片中未处理数据的读数据时间以及写数据时间;
计算所述任务切片中未处理数据的读数据时间以及写数据时间的和值,作为所述当前运行的任务切片中未处理数据的处理时间。
14.如权利要求12或13所述的装置,其特征在于,所述第二计算单元具体用于:根据所述读数据的数据量和读数据时间,以及写数据的数据量和写数据时间,按照如下计算公式计算所述任务切片的数据处理速率;
DataProcessSpeed=(dataSize1+dataSize2)/(time1+time2);
其中,DataProcessSpeed表示所述任务切片的数据处理速率;dataSize1表示读数据的数据量,time1表示读数据时间;dataSize2表示写数据的数据量,time2表示写数据时间。
15.一种作业调度装置,其特征在于,包括:
指令接收模块,用于接收第一计算节点的调度指令;所述调度指令为所述第一计算节点计算当前运行的任务切片的数据处理速率;根据所述数据处理速率,确定所述任务切片满足调度条件时生成并发送的;
运行中断模块,用于中断所述任务切片在所述第一计算节点中运行,
调度触发模块,用于请求资源管理器重新调度所述任务切片在第二计算节点中运行。
16.一种作业调度装置,其特征在于,包括:
请求接收模块,用于接收中心节点的调度请求;所述调度请求为所述中心节点接收第一计算节点的调度指令,中断所述任务切片在所述第一计算节点中运行之后生成的,所述调度指令为所述第一计算节点计算当前运行的任务切片的数据处理速率;根据所述数据处理速率,确定所述任务切片满足调度条件时生成并发送的;
调度模块,用于重新调度所述任务切片在第二计算节点中运行。
CN201610021343.5A 2016-01-13 2016-01-13 作业调度方法及装置 Pending CN106970833A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610021343.5A CN106970833A (zh) 2016-01-13 2016-01-13 作业调度方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610021343.5A CN106970833A (zh) 2016-01-13 2016-01-13 作业调度方法及装置

Publications (1)

Publication Number Publication Date
CN106970833A true CN106970833A (zh) 2017-07-21

Family

ID=59334638

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610021343.5A Pending CN106970833A (zh) 2016-01-13 2016-01-13 作业调度方法及装置

Country Status (1)

Country Link
CN (1) CN106970833A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110764887A (zh) * 2019-09-10 2020-02-07 浙江大华技术股份有限公司 任务重调度方法、系统及相关设备、装置
WO2023055295A3 (en) * 2021-09-29 2023-05-11 Envision Digital International Pte. Ltd. Method and apparatus for task writing in edge terminal, terminal, and readable storage medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102833228A (zh) * 2012-07-27 2012-12-19 江苏亿通高科技股份有限公司 一种云计算环境下免疫网络的病毒检测系统及方法
CN103617086A (zh) * 2013-11-20 2014-03-05 东软集团股份有限公司 一种并行计算方法及系统
CN104636204A (zh) * 2014-12-04 2015-05-20 中国联合网络通信集团有限公司 一种任务调度方法与装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102833228A (zh) * 2012-07-27 2012-12-19 江苏亿通高科技股份有限公司 一种云计算环境下免疫网络的病毒检测系统及方法
CN103617086A (zh) * 2013-11-20 2014-03-05 东软集团股份有限公司 一种并行计算方法及系统
CN104636204A (zh) * 2014-12-04 2015-05-20 中国联合网络通信集团有限公司 一种任务调度方法与装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110764887A (zh) * 2019-09-10 2020-02-07 浙江大华技术股份有限公司 任务重调度方法、系统及相关设备、装置
WO2023055295A3 (en) * 2021-09-29 2023-05-11 Envision Digital International Pte. Ltd. Method and apparatus for task writing in edge terminal, terminal, and readable storage medium

Similar Documents

Publication Publication Date Title
EP3364623B1 (en) Method for automatically deploying application, and cloud management node
US20230297488A1 (en) Long running workflows for robotic process automation
CN105511957B (zh) 用于生成作业告警的方法和系统
CN110058856A (zh) 页面配置方法及装置
US8689176B2 (en) Management of template versions
US9207973B2 (en) Meta-application management in a multitasking environment
JP4768354B2 (ja) ジョブ管理装置、ジョブ管理方法、ジョブ管理プログラム
US20070250835A1 (en) Grid Computing System, Information Processing Apparatus, Job Execution Request Generating Apparatus, Control Method, and Recording Medium
US20170090774A1 (en) Smart Volume Manager for Storage Space Usage Optimization
CN106293893A (zh) 作业调度方法、装置及分布式系统
US10956214B2 (en) Time frame bounded execution of computational algorithms
CN108170656A (zh) 模板创建方法、文档创建方法、渲染方法和装置
CN106294440A (zh) 数据实时迁移的方法和装置
CN110971430B (zh) 自动化扩容缩容的控制方法、装置、存储介质及处理器
CN103218263A (zh) MapReduce参数的动态确定方法及装置
US10768928B2 (en) Software development work item management system
CN109299178A (zh) 一种模型应用方法和数据分析系统
CN108255628A (zh) 一种数据处理方法及装置
CN108073580A (zh) 一种基于页面并发请求的处理方法及装置
CN110457182A (zh) 一种负载均衡集群实例运行指标监控系统
CN109857516A (zh) 基于容器的集群迁移方法及装置
CN106970833A (zh) 作业调度方法及装置
CN110134646B (zh) 知识平台服务数据存储与集成方法及系统
Huang et al. Modelci-e: Enabling continual learning in deep learning serving systems
US20110010754A1 (en) Access control system, access control method, and recording medium

Legal Events

Date Code Title Description
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20170721

RJ01 Rejection of invention patent application after publication