CN110543352A - 调度系统的任务分配方法及其相关的装置 - Google Patents

调度系统的任务分配方法及其相关的装置 Download PDF

Info

Publication number
CN110543352A
CN110543352A CN201910760227.9A CN201910760227A CN110543352A CN 110543352 A CN110543352 A CN 110543352A CN 201910760227 A CN201910760227 A CN 201910760227A CN 110543352 A CN110543352 A CN 110543352A
Authority
CN
China
Prior art keywords
tasks
task
distributed
allocated
server
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.)
Granted
Application number
CN201910760227.9A
Other languages
English (en)
Other versions
CN110543352B (zh
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.)
Zhejiang Dahua Technology Co Ltd
Original Assignee
Zhejiang Dahua Technology Co 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 Zhejiang Dahua Technology Co Ltd filed Critical Zhejiang Dahua Technology Co Ltd
Priority to CN201910760227.9A priority Critical patent/CN110543352B/zh
Publication of CN110543352A publication Critical patent/CN110543352A/zh
Application granted granted Critical
Publication of CN110543352B publication Critical patent/CN110543352B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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)
  • Multi Processors (AREA)

Abstract

本申请公开了调度系统的任务分配方法及其相关的装置。调度系统包括调度服务器和运算服务器。该方法包括:调度服务器接收待分配任务,确定是否存在运算服务器可分配待分配任务;若不存在,则制定重新调度计划,重新调度计划为重新分配待分配任务和已分配任务至运算服务器的计划,已分配任务为运算服务器上的任务;计算依据重新调度计划重新分配后调度系统的预期吞吐量;获取调度系统的当前吞吐量,比较预期吞吐量和当前吞吐量;若预期吞吐量大于或等于当前吞吐量,则根据重新调度计划重新分配待分配任务和已分配任务至运算服务器。本申请中的任务分配方法能够在保证调度系统的吞吐量不减小的前提下充分利用运算服务器上的资源。

Description

调度系统的任务分配方法及其相关的装置
技术领域
本申请涉及资源分配技术领域,特别是涉及调度系统的任务分配方法及其相关的装置。
背景技术
调度系统一般包括调度服务器和运算服务器。调度服务器会根据接受的任务的资源需求将任务分配给相应的运算服务器。但是按照现有的任务分配方法分配任务的话,各个运算服务器上或多或少会有一些不能满足待分配任务的资源需求的资源,即现有的任务分配方法不能充分利用运算服务器上的资源。
发明内容
本申请主要的目的是提供调度系统的任务分配方法及其相关的装置,能够在保证调度系统的吞吐量不会减小的前提下充分利用运算服务器上的资源。
为达到上述目的,本申请采用的一个技术方案是:一种调度系统的任务分配方法,调度系统包括调度服务器和运算服务器;该方法包括:
调度服务器接收待分配任务,确定是否存在运算服务器可分配待分配任务;
若不存在,则制定重新调度计划,重新调度计划为重新分配待分配任务和已分配任务至运算服务器的计划,已分配任务为运算服务器上的任务;
计算依据重新调度计划重新分配后调度系统的预期吞吐量;
获取调度系统的当前吞吐量,比较预期吞吐量和当前吞吐量;
若预期吞吐量大于或等于当前吞吐量,则根据重新调度计划重新分配待分配任务和已分配任务至运算服务器。
为达到上述目的,本申请采用的另一个技术方案是:一种任务分配装置,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述调度系统的任务分配方法的步骤。
为达到上述目的,本申请采用的另一个技术方案是:一种计算机存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述调度系统的任务分配方法的步骤。
本申请的有益效果是:区别于现有技术的情况,调度服务器接收到待分配任务后,会在待分配任务不能分配至运算服务器的前提下,制定重新调度计划,计算按照重新调度计划重新分配后的调度系统的预期吞吐量,并将预期吞吐量与调度系统的当前吞吐量比较,在预期吞吐量大于或等于当前吞吐量的前提下,会按照制定的重新调度计划重新分配已分配任务和待分配任务至运算服务器,这样在待分配任务不能分配至运算服务器时,可以通过重新分配已分配任务整合调度系统中运算服务器上的碎片化资源,这样就可以将待分配任务分配到运算服务器上,从而最大化利用运算服务器上的资源,并且因为是在预期吞吐量大于或等于当前吞吐量的前提下才会执行重新调度计划,这样还可以保证调度系统的吞吐量不会降低,即保证调度系统的吞吐量不会降低的前提下充分利用运算服务器上的资源,实现资源利用最大化。
附图说明
图1是本申请调度系统一实施例的结构示意图;
图2是本申请调度系统一实施例按轮训规则分配任务的示意图;
图3是本申请调度系统一实施例按随机规则分配任务的示意图;
图4是本申请调度系统一实施例按加权规则分配任务的示意图;
图5是本申请调度系统的任务分配方法一实施方式的流程示意图;
图6是本申请调度系统的任务分配方法另一实施方式的流程示意图;
图7是本申请调度系统的任务分配方法一实施例的示意图;
图8是本申请调度系统的任务分配方法另一实施例的示意图;
图9是本申请任务分配装置一实施方式的结构示意图;
图10是本申请计算机存储介质一实施方式的结构示意图。
具体实施方式
下面结合附图和实施方式对本申请进行详细说明。
图1为一个实施例中调度系统的结构示意图。如图1所示,该调度系统100包括运算服务器120和调度服务器110。调度服务器110可以监控运算服务器120的运算资源,知晓当前调度系统100中运算服务器120上的运算资源分布情况。调度服务器110可以根据任务请求中携带的资源配置信息确定任务的资源需求,从而为任务分配运算服务器120。其中,调度系统100可以包括一个或多个运算服务器120,例如包括第一运算服务器121、……第n运算服务器12n。
可以理解的是,调度服务器110和运算服务器120可以通信连接。该调度系统100还可以包括任务提交端130。当然任务提交端130和调度服务器110之间也可以通信连接。任务提交端130可为笔记本电脑、台式计算机等,但并不局限于此。
在调度系统100中,可以采用轮换、随机、加权的方式分配任务。
其中,轮训的方式如图2所示,运算服务器1:8代表拥有8个运算资源的1号运算服务器(图未标),其它依次类推;task1:4代表资源需求为4的1号任务(图未标,其中,若任务未被分配至运算服务器120,则任务为待分配任务;若任务已被分配至运算服务器120,则任务为已分配任务),其它依次类推。轮训的时候,1号任务分配到1号运算服务器,2号任务(图未标)分配到2号运算服务器(图未标),依次类推。由于当前调度系统100的运算服务器120中的运算资源均不满足6号任务(图未标)的资源需求,6号任务无法被分配至运算服务器120,此时1号运算服务器还剩1个运算资源,2号运算服务器还剩1个运算资源,3号运算服务器(图未标)还有3个运算资源,这些运算资源都没有被充分利用起来。
随机的方式如图3所示,多个任务被随机分配到各个运算服务器120上,有可能造成1号运算服务器还剩2个运算资源,2号运算服务器还剩1个运算资源,3号运算服务器还剩2个运算资源,这些运算资源也没有被充分利用起来。
加权的方式如图4所示,假设2号运算服务器、3号运算服务器、1号运算服务器的加权系数依次降低,则任务会优先被分配至2号运算服务器,在2号运算服务器上的运算资源不满足任务(即待分配任务)的资源需求的情况下任务会被分配至3号运算服务器,在2号和3号运算服务器上的运算资源均不满足任务(即待分配任务)的资源需求的情况下任务会被分配至1号运算服务器,此时有可能造成1号运算服务器还剩3个运算资源,2号运算服务器还剩1个运算资源,3号运算服务器还剩1个运算资源,这些资源都没有被充分利用起来。
如图5所示,提供了一种调度系统的任务分配方法,以应用于上述调度系统中来举例说明。该任务分配方法包括如下步骤。
步骤S101:调度服务器接收待分配任务,确定是否存在运算服务器可分配待分配任务。
调度服务器接收到任务提交端上传的待分配任务后,确定是否有运算服务器可分配该待分配任务。其中,存在运算服务器可分配待分配任务是指:待分配任务能够被分配到运算服务器,即运算服务器上的运算资源能够满足待分配任务的资源需求。在所有的运算服务器均不可分配待分配任务时,进入步骤S102。
待分配任务是指未被分配至运算服务器的任务。在调度系统将待分配任务分配至运算服务器后,待分配任务便成了已分配任务。已分配任务也可以指运算服务器上的任务。已分配任务甚至可以为运算服务器上未运行完毕的任务。
步骤S102:制定重新调度计划。
在所有的运算服务器均不可分配待分配任务时,可以制定重新调度计划。重新调度计划为重新分配待分配任务和已分配任务至运算服务器的计划。制定重新调度计划可以为:制定一次或数次调动已分配任务步骤和待分配任务的分配步骤。并且,将制定的全部的调动已分配任务步骤执行完毕后,至少存在一运算服务器可分配待分配任务。一次或数次调动已分配任务步骤和待分配任务的分配步骤构成了重新调度计划。
其中,调动已分配任务步骤是指将一个运算服务器上的已分配任务重新分配给另一个运算服务器。待分配任务的分配步骤是指:将待分配任务分配至运算服务器。已分配任务可为运算服务器上未完成的任务,即已被分配到运算服务器但未被执行完毕的任务。
步骤S103:计算依据重新调度计划重新分配后调度系统的预期吞吐量。
计算按照重新调度计划重新分配后的调度系统的吞吐量,以作为预期吞吐量。其中,调度系统的吞吐量是指调度系统单位时间内完成的任务数量。
步骤S104:获取调度系统的当前吞吐量,比较预期吞吐量和当前吞吐量。
调度系统的当前吞吐量,是指当前调度系统(即未按照重新调度计划重新分配的调度系统)的吞吐量。比较预期吞吐量和当前吞吐量的大小,在预期吞吐量大于或等于当前吞吐量时,进入步骤S105。
步骤S105:根据重新调度计划重新分配待分配任务和已分配任务至运算服务器。
在预期吞吐量大于或等于当前吞吐量时,可以根据制定的重新调度计划将至少部分已分配任务重新分配,并将未分配任务分配至运算服务器。
在此实施例中,调度服务器接收到待分配任务后,会在待分配任务不能分配至运算服务器的前提下,制定重新调度计划,计算按照重新调度计划分配后的调度系统的预期吞吐量,并将预期吞吐量与调度系统的当前吞吐量比较,在预期吞吐量大于或等于当前吞吐量的前提下,会按照制定的重新调度计划重新分配已分配任务和待分配任务至运算服务器,这样在待分配任务不能分配至运算服务器时,可以通过重新分配已分配任务整合调度系统中运算服务器上的碎片化资源,这样就可以将待分配任务分配到运算服务器上,从而最大化利用运算服务器上的资源,并且因为是在预期吞吐量大于或等于当前吞吐量的前提下才会执行重新调度计划,这样还可以保证调度系统的吞吐量不会降低,即保证调度系统的吞吐量不会降低的前提下充分利用运算服务器上的资源,实现资源利用最大化。
如图6所示,图6是本申请一种调度系统的任务分配方法另一实施方式的流程示意图。
步骤S201:调度服务器接收待分配任务,确定是否存在运算服务器可分配待分配任务。
调度服务器接收待分配任务后,确定是否至少存在一个运算服务器的运算资源满足待分配任务的资源需求。若至少存在一个运算服务器的运算资源满足待分配任务的资源需求,就可以认为存在运算服务器可分配待分配任务,此时可进入步骤S202。若所有的运算服务器的运算资源均不满足待分配任务的资源需求,就可以认为不存在运算服务器可分配待分配任务,此时可进入步骤S203。
具体的,运算服务器的运算资源可以包括CPU未占用率、可用内存、磁盘剩余空间或其他可用于运算的资源。为方便调度服务器分配任务,可将运算服务器的运算资源量化,以CPU(中央处理器,Central Processing Unit)核心数为例,运算服务器总核心数为8核,此时的运算服务器的运算资源可以量化成8;若当前CPU占用率60%,可用CPU核心数为8*(1-0.6),那此时的运算服务器的运算资源约为3。每个运算服务器的运算资源的具体计算方法可自定义,当然同一个调度系统中的所有运算服务器的运算资源的计算方法可一致。
在任务提交端将未分配任务上传给调度服务器时,会将运行该待分配任务的资源需求上传给调度服务器。资源需求用于表征运算服务器执行待分配任务所需的资源配置(如CPU占用核心数或内存使用量、磁盘使用量等)。
步骤S202:将待分配任务分配给运算服务器,计算调度系统新的吞吐量,以作为调度系统的当前吞吐量。
确认存在运算服务器可分配待分配任务,可以将待分配任务分配给运算服务器。然后计算将待分配任务分配后的调度系统的新的吞吐量,将调度系统新的吞吐量作为调度系统的当前吞吐量。
计算调度系统新的吞吐量的步骤,可以包括:确定调度系统中已分配任务的数量,以及已分配任务全部完成所需要的时间;将已分配任务的数量与已分配任务全部完成所需要的时间的比值作为调度系统的吞吐量。
其中,可以根据全部已分配任务的当前历史平均耗时计算出已分配任务全部完成所需要的时间。
计算各个任务的当前历史平均耗时的步骤可以包括:接收运算服务器上报的各个任务的运行耗时,运行耗时是运算服务器将各个任务运行完毕所花费的时间;获取各个任务的当前历史平均耗时;通过各个任务的运行耗时与当前历史平均耗时计算出各个任务的新的历史平均耗时,以作为各个任务的当前历史平均耗时。例如,先前1号任务已在运算服务器上完成6次,1号任务的当前历史平均耗时为5个时间单位,1号任务在运算服务器上第7次被执行完毕后,运算服务器会将第7次执行1号任务的运行耗时(3个时间单位)上传给调度服务器,调度服务器会计算出1号任务的新的历史平均耗时[(6*5+3)/7=4.71],并以此(即4.71)作为1号任务的当前历史平均耗时。各个任务的当前历史平均耗时可以相同,也可以不相同。
步骤S203:计算所有运行服务器的运算资源之和,比较待分配任务的资源需求和运算资源之和。
确认不存在运算服务器可分配待分配任务,计算所有运算服务器的运算资源之和。例如,调度系统包括3个运算服务器,例如包括1号运算服务器、2号运算服务器和3号运算服务器,1号运算服务器的运算资源为2,2号运算服务器的运算资源为3,3号运算服务器的运算资源为1,那所有运算服务器的运算资源之和为2+3+1=6。
比较待分配任务的资源需求和所有运行服务器的运算资源之和的大小。
在所有运行服务器的运算资源之和小于待分配任务的资源需求时,不执行制定重新调度计划步骤以及后续步骤,直至运算服务器上的至少一个已分配任务被执行完毕。一旦有已分配任务被执行结束,就可以进入步骤S201,以执行确认是否存在运算服务器可分配待分配任务的步骤以及后续步骤,直至待分配任务被成功分配。
在所有运行服务器的运算资源之和大于或等于待分配任务的资源需求时,可进入步骤S204。
步骤S204:制定重新调度计划。
制定一次或数次调动已分配任务步骤和待分配任务的分配步骤。一次或数次调动已分配任务步骤和待分配任务的分配步骤构成了重新调度计划。
可以理解的是,可以制定多个重新调度计划。
甚至可以将所有可能的重新调度计划全都制定出来。即任一种将运算服务器上的碎片化资源整合成能容纳待分配任务的资源的情况,都在制定出的所有可能的重新调度计划中。
步骤S205:计算依据重新调度计划重新分配后调度系统的预期吞吐量。
当前吞吐量、新的吞吐量和预期吞吐量均可称为吞吐量。计算依据重新调度计划重新分配后调度系统的预期吞吐量,就是计算按照重新调度计划重新分配后调度系统的吞吐量。其中,计算调度系统的吞吐量的步骤,可以包括:确定调度系统中已分配任务的数量,以及已分配任务全部完成所需要的时间;将已分配任务的数量与已分配任务全部完成所需要的时间的比值作为调度系统的吞吐量。
需要知晓的是,依据重新调度计划重新分配后,被分配至运算服务器的待分配任务便成了已分配任务。
其中,依据重新调度计划重新分配后调度系统中已分配任务的数量就可以为重新分配前调度系统中已分配任务的数量和依照重新调度计划分配至运行服务器的待分配任务的数量的和。例如,重新分配前,调度系统中的已分配任务的数量为5;按照重新调度计划可将2个待分配任务分配至运算服务器,那依据重新调度计划重新分配后调度系统中已分配任务的数量可为7。
另外,可以通过已分配任务的历史平均耗时计算已分配任务全部完成所需要的时间。可通过运算服务器上已分配任务的已运行时间和按照重新调度计划分配的任务(即按照重新调度计划分配的已分配任务和待分配任务)的当前历史平均耗时的和计算出已分配任务全部完成所需要的时间。可以理解的是,按照重新调度计划分配的任务的当前历史平均耗时是按照重新调度计划分配的各个任务(即按照重新调度计划重新分配的已分配任务和待分配任务)的当前历史平均耗时的最大值。例如,按照重新调度计划分配的任务有:1号已分配任务、2号已分配任务、5号已分配任务、待分配任务。其中,1号已分配任务和待分配任务的历史平均耗时均为4个时间单位;2号已分配任务和5号已分配任务分别为3个、6个时间单位。则按照重新调度计划分配的任务的当前历史平均耗时为6个时间单位。在运算服务器上已分配任务的已运行时间为3个时间单位的情况下,已分配任务全部完成所需要的时间就是9(即6+3)个时间单位。
在其他实施方式中,例如在制定多个重新调度计划的前提下,可以先计算出依据各个重新调度计划重新分配后调度系统的预期吞吐量。还可以再比较出依据各个重新调度计划重新分配后调度系统的各个预期吞吐量中的最大预期吞吐量。
步骤S206:获取调度系统的当前吞吐量,比较预期吞吐量和当前吞吐量。
获取调度系统的当前吞吐量,并比较当前吞吐量和预期吞吐量的大小。在预期吞吐量大于或等于当前吞吐量时,进入步骤S207。在预期吞吐量小于当前吞吐量时,不执行制定重新调度计划步骤以及后续步骤,直至运算服务器上的至少一个已分配任务被执行完毕。一旦有已分配任务被执行结束,就可以进入步骤S201,以执行确认是否存在运算服务器可分配待分配任务的步骤以及后续步骤,直至待分配任务被成功分配。
在其他实施方式中,例如在制定多个重新调度计划的前提下,获取调度系统的当前吞吐量后,可以比较多个预期吞吐量中的最大预期吞吐量和当前吞吐量的大小,在最大预期吞吐量大于或等于当前吞吐量时,进入步骤S207。在最大预期吞吐量小于当前吞吐量时,不执行制定重新调度计划步骤以及后续步骤。
步骤S207:根据重新调度计划重新分配待分配任务和已分配任务至运算服务器。
在预期吞吐量大于或等于当前吞吐量时,可以根据制定的重新调度计划将至少部分已分配任务重新分配,并将未分配任务分配至运算服务器。
在其他实施方式中,例如在制定多个重新调度计划的前提下,在最大预期吞吐量大于或等于当前吞吐量时,按照最大预期吞吐量对应的重新调度计划重新分配已分配任务和待分配任务。
步骤S208:将预期吞吐量作为调度系统的当前吞吐量。
按照重新调度计划重新分配待分配任务和已分配任务后,可以将预期吞吐量作为调度系统的当前吞吐量。
在其他实施方式中,例如在制定多个重新调度计划的前提下,将最大预期吞吐量作为调度系统的当前吞吐量。
上述实施方式的调度系统的任务分配方法可应用各种调度系统中,其中一个调度系统应用上述实施方式中的任务分配方法的具体实施例可如下所示。
调度系统中包括3个运算服务器,例如包括1号运算服务器、2号运算服务器、3号运算服务器。1号运算服务器、2号运算服务器、3号运算服务器上的运算资源分别为8、5、4。
调度系统依次接收到6个任务(1号待分配任务-6号待分配任务),假设1号待分配任务,2号待分配任务,3号待分配任务,4号待分配任务,5号待分配任务和6号待分配任务需要耗时4个时间单位,实际资源消耗分别为4,2,1,3,2,4个资源单位。当按照轮训的方式分配任务的时候,因为6号待分配任务的资源需求比每个运算服务器的运算资源都大,则该待分配任务不能被分配给运算服务器。由于1号待分配任务-5号待分配任务已被分配至运算服务器,那待分配任务自然便成了已分配任务,即1号待分配任务-5号待分配任务便成为1号已分配任务-5号已分配任务,3个运算服务器上已有5个已分配任务(1号已分配任务-5号已分配任务)。此时调度系统的新的吞吐量可为:
并将新的吞吐量作为调度系统的当前吞吐量。
如图7所示,在1号已分配任务,2号已分配任务,3号已分配任务,4号已分配任务,5号已分配任务都还没有运行时,如果将4号已分配任务重新分配到3号运算服务器上,将6号待分配任务分配在1号运算服务器上运行(即重新调度计划),此时的调度系统的预期吞吐量可如下所示:
那这样会提升调度系统的预期吞吐量,就会按照重新调度计划重新分配已分配任务和待分配任务。重新分配后,会将计算得到的预期吞吐量作为调度系统的当前吞吐量。
另外,在其他实施例中,如图8所示,粗实线框代表已分配任务已经运行的时间单位,可以看出1号已分配任务,2号已分配任务,3号已分配任务,4号已分配任务,5号已分配任务都已经运行了3个时间单位,此时将4号已分配任务重新分配到3号运算服务器上,将6号待分配任务分配在1号运算服务器上运行(即重新调度计划),调度系统的预期吞吐量为:
则调度系统的预期吞吐量会小于调度系统的当前吞吐量,也就不会根据制定的重新调度计划重新分配任务。
请参阅图9,图9是本申请任务分配装置一实施方式的结构示意图。本实施方式中的任务分配装置20包括:
本实施方式中的任务分配装置20包括:存储器21、处理器22以及存储在存储器21中并可在处理器22上运行的计算机程序。处理器22执行计算机程序时可实现上述各个调度系统的任务分配方法实施方式中的步骤,例如图1所示的步骤S101。
任务分配装置20可包括,但不仅限于,处理器22、存储器21。本领域技术人员可以理解,示意图仅仅是任务分配装置20的示例,并不构成对任务分配装置20的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如任务分配装置20还可以包括输入输出设备、网络接入设备、总线等。处理器22可以是中央处理单元,还可以是其他通用处理器、数字信号处理器、专用集成电路、现成可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。存储器21可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡,安全数字卡,闪存卡、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
任务分配装置20集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机存储介质中。如图10所示,基于这样的理解,本申请实现上述实施方式方法中的全部或部分流程,也可以通过计算机程序31来指令相关的硬件来完成,计算机程序31可存储于一计算机存储介质30中,该计算机程序31在被执行时,可实现上述各个方法实施方式的步骤。其中,计算机程序31包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机存储介质30可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器、随机存取存储器、电载波信号、电信信号以及软件分发介质等。
以上仅为本申请的实施方式,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

Claims (11)

1.一种调度系统的任务分配方法,其特征在于,所述调度系统包括调度服务器和运算服务器;所述方法包括:
所述调度服务器接收待分配任务,确定是否存在所述运算服务器可分配所述待分配任务;
若不存在,则制定重新调度计划,所述重新调度计划为重新分配所述待分配任务和已分配任务至所述运算服务器的计划,所述已分配任务为所述运算服务器上的任务;
计算依据所述重新调度计划重新分配后所述调度系统的预期吞吐量;
获取所述调度系统的当前吞吐量,比较所述预期吞吐量和所述当前吞吐量;
若所述预期吞吐量大于或等于所述当前吞吐量,则根据所述重新调度计划重新分配所述待分配任务和所述已分配任务至所述运算服务器。
2.根据权利要求1所述的方法,其特征在于,所述确定是否存在所述运算服务器可分配所述待分配任务,包括:
确定是否存在一所述运算服务器的运算资源满足所述待分配任务的资源需求;
若是,则认为存在所述运算服务器可分配所述待分配任务。
3.根据权利要求2所述的方法,其特征在于,所述确定是否存在所述运算服务器可分配所述待分配任务的步骤后,包括:
确定不存在所述运算服务器可分配所述待分配任务,计算所有运行服务器的运算资源之和;
若所述运算资源之和小于所述待分配任务的资源需求,不执行获取所述制定重新调度计划步骤以及后续步骤,直至有所述已分配任务在所述运算服务器上运行结束;
有所述已分配任务在所述运算服务器上运行结束,重新执行确认是否存在所述运算服务器可分配所述待分配任务的步骤以及后续步骤,直至所述待分配任务被成功分配;
若所述运算资源之和大于或等于所述待分配任务的资源需求,执行获取所述制定重新调度计划步骤以及后续步骤,直至所述待分配任务被成功分配。
4.根据权利要求1所述的方法,其特征在于,所述制定重新调度计划,包括:制定多个重新调度计划;
所述计算依据所述重新调度计划重新分配后所述调度系统的预期吞吐量,包括:计算依据各个所述重新调度计划重新分配后所述调度系统的预期吞吐量;
所述比较所述预期吞吐量和所述当前吞吐量,包括:比较多个所述预期吞吐量中最大的预期吞吐量和所述当前吞吐量。
5.根据权利要求1所述的方法,其特征在于,所述制定重新调度计划,包括:
制定一次或数次调动所述已分配任务步骤和所述待分配任务的分配步骤,以作为所述重新调度计划;
其中,所述调动所述已分配任务步骤是指将一个所述运算服务器上的所述已分配任务分配给另一个所述运算服务器,以使得执行完一次或数次调动所述已分配任务步骤后,至少存在一所述运算服务器可分配所述待分配任务。
6.根据权利要求1所述的方法,其特征在于,所述当前吞吐量和所述预期吞吐量均称为吞吐量,计算所述调度系统的吞吐量,包括:
计算所述调度系统中所述已分配任务的数量,以及所述已分配任务全部完成所需要的时间;
所述已分配任务的数量与所述已分配任务全部完成所需要的时间的比值为所述调度系统的吞吐量。
7.根据权利要求6所述的方法,其特征在于,计算所述已分配任务全部完成所需要的时间的步骤,包括:
通过所述已分配任务的当前历史平均耗时计算所述已分配任务全部完成所需要的时间。
8.根据权利要求7所述的方法,其特征在于,所述已分配任务和所述待分配任务均称为任务;所述方法进一步包括:
接收所述运算服务器上报的各个任务的运行耗时,所述运行耗时是所述运算服务器将所述各个任务运行完毕所花费的时间;
获取所述各个任务的当前历史平均耗时;
通过所述各个任务的所述运行耗时与所述当前历史平均耗时计算出所述各个任务的新的历史平均耗时,以作为所述各个任务的当前历史平均耗时。
9.根据权利要求1所述的方法,其特征在于,
所述确定是否存在所述运算服务器可分配所述待分配任务的步骤后,包括:确定存在所述运算服务器可分配所述待分配任务,将所述待分配任务分配给所述运算服务器,计算所述调度系统新的吞吐量,以作为所述调度系统的当前吞吐量;
所述根据所述重新调度计划重新分配所述待分配任务和所述已分配任务至所述运算服务器的步骤后,包括:将所述预期吞吐量作为所述调度系统的当前吞吐量。
10.一种任务分配装置,其特征在于,所述任务分配装置包括存储器和处理器;所述存储器中存储有计算机程序,所述处理器用于执行所述计算机程序以实现如权利要求1-9中任一项所述方法的步骤。
11.一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机程序,所述计算机程序被执行时实现如权利要求1-9中任一项所述方法的步骤。
CN201910760227.9A 2019-08-16 2019-08-16 调度系统的任务分配方法及其相关的装置 Active CN110543352B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910760227.9A CN110543352B (zh) 2019-08-16 2019-08-16 调度系统的任务分配方法及其相关的装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910760227.9A CN110543352B (zh) 2019-08-16 2019-08-16 调度系统的任务分配方法及其相关的装置

Publications (2)

Publication Number Publication Date
CN110543352A true CN110543352A (zh) 2019-12-06
CN110543352B CN110543352B (zh) 2022-06-07

Family

ID=68711641

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910760227.9A Active CN110543352B (zh) 2019-08-16 2019-08-16 调度系统的任务分配方法及其相关的装置

Country Status (1)

Country Link
CN (1) CN110543352B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111223001A (zh) * 2019-12-18 2020-06-02 中国科学院软件研究所 一种基于多种流程模型的资源调度方法和系统
CN111966477A (zh) * 2020-08-18 2020-11-20 浙江知水信息技术有限公司 一种在多个服务器环境下预警任务分配的方法
CN113256125A (zh) * 2021-05-28 2021-08-13 西安交通大学 异构机器人集群任务分配方法、系统、设备及存储介质
CN115168016A (zh) * 2022-09-07 2022-10-11 浙江大华技术股份有限公司 任务调度方法及相关装置、芯片、器件和介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120054770A1 (en) * 2010-08-31 2012-03-01 International Business Machines Corporation High throughput computing in a hybrid computing environment
CN103297499A (zh) * 2013-04-19 2013-09-11 无锡成电科大科技发展有限公司 一种基于云平台的调度方法及系统
US20160098292A1 (en) * 2014-10-03 2016-04-07 Microsoft Corporation Job scheduling using expected server performance information
CN106454402A (zh) * 2016-08-31 2017-02-22 腾讯科技(深圳)有限公司 转码任务调度方法和装置
CN107580023A (zh) * 2017-08-04 2018-01-12 山东大学 一种动态调整任务分配的流处理作业调度方法及系统
WO2018120993A1 (zh) * 2016-12-30 2018-07-05 华为技术有限公司 一种分布式系统任务分配的方法和装置
CN108270603A (zh) * 2016-12-31 2018-07-10 中国移动通信集团陕西有限公司 一种调度方法及管理系统
CN109471726A (zh) * 2018-10-26 2019-03-15 国家电网有限公司 一种硬件资源分配方法及装置
US20190215846A1 (en) * 2016-12-22 2019-07-11 Tencent Technology (Shenzhen) Company Limited Resource scheduling method and server
CN110046034A (zh) * 2018-01-15 2019-07-23 北京国双科技有限公司 任务获取方法及装置

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120054770A1 (en) * 2010-08-31 2012-03-01 International Business Machines Corporation High throughput computing in a hybrid computing environment
CN103297499A (zh) * 2013-04-19 2013-09-11 无锡成电科大科技发展有限公司 一种基于云平台的调度方法及系统
US20160098292A1 (en) * 2014-10-03 2016-04-07 Microsoft Corporation Job scheduling using expected server performance information
CN106454402A (zh) * 2016-08-31 2017-02-22 腾讯科技(深圳)有限公司 转码任务调度方法和装置
US20190215846A1 (en) * 2016-12-22 2019-07-11 Tencent Technology (Shenzhen) Company Limited Resource scheduling method and server
WO2018120993A1 (zh) * 2016-12-30 2018-07-05 华为技术有限公司 一种分布式系统任务分配的方法和装置
CN108270603A (zh) * 2016-12-31 2018-07-10 中国移动通信集团陕西有限公司 一种调度方法及管理系统
CN107580023A (zh) * 2017-08-04 2018-01-12 山东大学 一种动态调整任务分配的流处理作业调度方法及系统
CN110046034A (zh) * 2018-01-15 2019-07-23 北京国双科技有限公司 任务获取方法及装置
CN109471726A (zh) * 2018-10-26 2019-03-15 国家电网有限公司 一种硬件资源分配方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
YUXIAO GENG ET.AL: "Distributed Task Rescheduling With Time Constraints for the Optimization of Total Task Allocations in a Multirobot System", 《IEEE TRANSACTIONS ON CYBERNETICS》 *
王军: ""云计算系统资源调度及安全性研究"", 《中国优秀硕士学位论文全文数据库 I138-155》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111223001A (zh) * 2019-12-18 2020-06-02 中国科学院软件研究所 一种基于多种流程模型的资源调度方法和系统
CN111223001B (zh) * 2019-12-18 2023-08-01 中国科学院软件研究所 一种基于多种流程模型的资源调度方法和系统
CN111966477A (zh) * 2020-08-18 2020-11-20 浙江知水信息技术有限公司 一种在多个服务器环境下预警任务分配的方法
CN113256125A (zh) * 2021-05-28 2021-08-13 西安交通大学 异构机器人集群任务分配方法、系统、设备及存储介质
CN113256125B (zh) * 2021-05-28 2023-06-30 西安交通大学 异构机器人集群任务分配方法、系统、设备及存储介质
CN115168016A (zh) * 2022-09-07 2022-10-11 浙江大华技术股份有限公司 任务调度方法及相关装置、芯片、器件和介质

Also Published As

Publication number Publication date
CN110543352B (zh) 2022-06-07

Similar Documents

Publication Publication Date Title
CN110543352B (zh) 调度系统的任务分配方法及其相关的装置
US11989647B2 (en) Self-learning scheduler for application orchestration on shared compute cluster
CN108234581B (zh) 一种资源的调度方法和服务器
CN107688492B (zh) 资源的控制方法、装置和集群资源管理系统
US8209695B1 (en) Reserving resources in a resource-on-demand system for user desktop utility demand
JP4387174B2 (ja) 複数の優先順位グループに関連付けられたプロセスを複数のリソース間に分散する方法
US9229783B2 (en) Methods and apparatus for resource capacity evaluation in a system of virtual containers
US10108458B2 (en) System and method for scheduling jobs in distributed datacenters
US11496413B2 (en) Allocating cloud computing resources in a cloud computing environment based on user predictability
CN103649910A (zh) 虚拟机放置
CN111352736A (zh) 大数据资源的调度方法、装置、服务器及存储介质
CN109857535B (zh) 面向Spark JDBC的任务优先级控制的实现方法及装置
CN105718316A (zh) 一种作业调度的方法及装置
US20100042723A1 (en) Method and system for managing load in a network
CN109992418B (zh) Sla感知的多租户大数据平台资源优先级调度方法及系统
CN115292016A (zh) 基于人工智能的任务调度方法及相关设备
CN113886034A (zh) 任务调度方法、系统、电子设备及存储介质
CN115934362A (zh) 面向深度学习的服务器无感知计算集群调度方法及产品
CN110084507B (zh) 云计算环境下分级感知的科学工作流调度优化方法
CN115586961A (zh) 一种ai平台计算资源任务调度方法、装置及介质
CN105320565A (zh) 一种针对多种应用软件的计算机资源调度方法
CN109347982A (zh) 一种数据中心的调度方法及装置
CN106325997B (zh) 一种虚拟资源分配方法及装置
JP2006195985A (ja) リソース利用率を制御する方法およびコンピュータシステム
CN114579284A (zh) 任务调度方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant