CN111858019B - 任务调度方法、装置及计算机可读存储介质 - Google Patents

任务调度方法、装置及计算机可读存储介质 Download PDF

Info

Publication number
CN111858019B
CN111858019B CN201910364122.1A CN201910364122A CN111858019B CN 111858019 B CN111858019 B CN 111858019B CN 201910364122 A CN201910364122 A CN 201910364122A CN 111858019 B CN111858019 B CN 111858019B
Authority
CN
China
Prior art keywords
resource
task
scheduled
queue
determining
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.)
Active
Application number
CN201910364122.1A
Other languages
English (en)
Other versions
CN111858019A (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.)
China Mobile Communications Group Co Ltd
China Mobile Suzhou Software Technology Co Ltd
Original Assignee
China Mobile Communications Group Co Ltd
China Mobile Suzhou Software 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 China Mobile Communications Group Co Ltd, China Mobile Suzhou Software Technology Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN201910364122.1A priority Critical patent/CN111858019B/zh
Publication of CN111858019A publication Critical patent/CN111858019A/zh
Application granted granted Critical
Publication of CN111858019B publication Critical patent/CN111858019B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Telephonic Communication Services (AREA)

Abstract

本发明提供了任务调度方法、装置及计算机可读存储介质,其中所述任务调度方法包括:根据设定的至少一种资源类型计算待调度任务与资源队列之间的匹配度,所述匹配度表征所述待调度任务与所述资源队列在所述资源类型上的匹配程度;将满足设定条件的所述匹配度所对应的所述待调度任务确定为目标任务,将满足所述设定条件的所述匹配度所对应的所述资源队列确定为目标队列,以使所述目标任务被调度至所述目标队列。本发明基于待调度任务对资源类型对应资源的需求情况以及资源队列对资源类型对应资源的使用情况计算匹配度,实现了对具体任务的针对调度,提升了任务调度的准确性和针对性。

Description

任务调度方法、装置及计算机可读存储介质
技术领域
本发明属于数据处理技术领域,尤其涉及任务调度方法、装置及计算机可读存储介质。
背景技术
在进行数据处理时,一种处理模式是构建任务,并通过执行任务来达成数据处理的目标,如构建并执行统计任务、数据存储任务或报警任务等。对于任务的执行载体(如服务器)来说,由于单个执行载体的处理能力存在上限,故在面对工作量较大的多个任务时,通常做法是预先搭建多个执行载体,并将多个任务各自调度至不同的执行载体上执行,从而实现负载均衡。
在现有技术中,为了对任务进行合理调度,通常是确定各个执行载体的空闲情况,如通过确定执行载体上的还可支持执行的任务数量来分析出空闲率最高的执行载体,将任务调度至该执行载体。但是,现有技术中仅考虑到执行载体的空闲情况,若存在对某一资源类型需求较高的任务,将其分配至较为空闲的执行载体后,由于该执行载体的资源可用情况可能与该任务的资源需求情况并不相符,则执行载体可能会存在过载风险,即调度结果与任务本身的资源需求并不相符,导致任务调度的准确性和针对性低。
发明内容
有鉴于此,本发明的主要目的在于提供一种任务调度方法、装置及计算机可读存储介质,以解决现有技术中任务调度的准确性和针对性低的问题。
为达到上述目的,本发明的技术方案是这样实现的:
本发明实施例的第一方面提供了一种任务调度方法,包括:
根据设定的至少一种资源类型计算待调度任务与资源队列之间的匹配度,所述匹配度表征所述待调度任务与所述资源队列在所述资源类型上的匹配程度;
将满足设定条件的所述匹配度所对应的所述待调度任务确定为目标任务,将满足所述设定条件的所述匹配度所对应的所述资源队列确定为目标队列,以使所述目标任务被调度至所述目标队列。
本发明实施例的第二方面提供了一种任务调度装置,包括:
计算单元,用于根据设定的至少一种资源类型计算待调度任务与资源队列之间的匹配度,所述匹配度表征所述待调度任务与所述资源队列在所述资源类型上的匹配程度;
确定单元,用于将满足设定条件的所述匹配度所对应的所述待调度任务确定为目标任务,将满足所述设定条件的所述匹配度所对应的所述资源队列确定为目标队列,以使所述目标任务被调度至所述目标队列。
本发明实施例的第三方面提供了一种任务调度装置,该任务调度装置包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现如下步骤:
根据设定的至少一种资源类型计算待调度任务与资源队列之间的匹配度,所述匹配度表征所述待调度任务与所述资源队列在所述资源类型上的匹配程度;
将满足设定条件的所述匹配度所对应的所述待调度任务确定为目标任务,将满足所述设定条件的所述匹配度所对应的所述资源队列确定为目标队列,以使所述目标任务被调度至所述目标队列。
本发明实施例的第四方面提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现如下步骤:
根据设定的至少一种资源类型计算待调度任务与资源队列之间的匹配度,所述匹配度表征所述待调度任务与所述资源队列在所述资源类型上的匹配程度;
将满足设定条件的所述匹配度所对应的所述待调度任务确定为目标任务,将满足所述设定条件的所述匹配度所对应的所述资源队列确定为目标队列,以使所述目标任务被调度至所述目标队列。
本发明实施例与现有技术相比存在的有益效果是:
在本发明实施例中,根据至少一个资源类型计算待调度任务与资源队列之间的匹配度,将满足设定条件的匹配度对应的待调度任务确定为目标任务,将该匹配度对应的资源队列确定为目标队列,以使目标任务被调度至目标队列,本发明实施例基于待调度任务对资源类型对应资源的需求情况以及资源队列对资源类型对应资源的使用情况计算匹配度,实现了对具体任务的针对调度,提升了任务调度的准确性和针对性。
附图说明
图1为本发明实施例提供的任务调度方法的实现流程图;
图2为本发明实施例提供的任务调度方法的一种架构图;
图3为本发明实施例提供的任务调度方法的另一种实现流程图;
图4为本发明实施例提供的确定资源队列的资源使用率的实现流程图;
图5为本发明实施例提供的计算待调度任务与不饱和资源队列之间的匹配度的实现流程图;
图6为本发明实施例提供的根据资源类型计算排队池内的待调度任务与出现的不饱和资源队列之间的匹配度的实现流程图;
图7为本发明实施例提供的根据时长占比值及相关值得到待调度任务与出现的不饱和资源队列之间的匹配度的实现流程图;
图8是本发明实施例提供的任务调度装置的结构框图;
图9是本发明实施例提供的任务调度装置的示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
图1示出了本发明实施例提供的任务调度方法的实现流程,详述如下:
在S101中,根据设定的至少一种资源类型计算待调度任务与资源队列之间的匹配度,所述匹配度表征所述待调度任务与所述资源队列在所述资源类型上的匹配程度。
数据处理的一种模式是构建任务,通过执行任务来达成处理目的,为了便于更好地说明本发明实施例的内容,将构建出的任务命名为待调度任务,将任务的执行载体命名为资源队列,待调度任务可视为资源的消费方,资源队列可视为资源的提供方。在本发明实施例中,对于待调度任务,根据设定的至少一种资源类型计算待调度任务与资源队列之间的匹配度,该匹配度表征待调度任务与资源队列在资源类型上的匹配程度。本发明实施例对待调度任务的任务类型不做限定,如待调度任务可为统计任务、数据存储任务、报警任务或机器学习任务等,另外,资源类型可设定为实际应用场景中所关注的资源类型,资源类型包括但不限于中央处理器、内存、磁盘及带宽等。作为资源的提供方,资源队列可设定为服务器,具体可设置为实体服务器或虚拟服务器,也可设置其他可提供资源的执行载体,本发明实施例限定资源队列的数量为至少一个。
在S102中,将满足设定条件的所述匹配度所对应的所述待调度任务确定为目标任务,将满足所述设定条件的所述匹配度所对应的所述资源队列确定为目标队列,以使所述目标任务被调度至所述目标队列。
在本步骤中,判断计算出的匹配度是否满足设定条件,将满足设定条件的匹配度所对应的待调度任务确定为目标任务,将满足设定条件的匹配度所对应的资源队列确定为目标队列,以使目标任务被调度至目标队列,将目标任务调度至目标队列的调度方式在本发明实施例中不做限定。其中,设定条件可为大于设定的匹配度阈值,也可为计算出的匹配度中最大的数值,为了便于理解,举例来说,假设设定条件为计算出的匹配度中最大的数值,且存在资源队列Queue1、Queue2及Queue3,存在一个待调度任务Task,计算得到Task与Queue1之间的匹配度为Degree1,Task与Queue2之间的匹配度为Degree2,Task与Queue3之间的匹配度为Degree3,若得到的三个匹配度之间的数值大小关系为Degree1>Degree2>Degree3,则判定Degree1满足设定条件,将Degree1所对应的Task确定为目标任务,将Degree1所对应的Queue1确定为目标队列,以使Task被调度至Queue1
通过图1所示实施例可知,在本发明实施例中,根据设定的资源类型计算待调度任务与资源队列之间的匹配度,将满足设定条件的匹配度所对应的待调度任务确定为目标任务,将该匹配度所对应的资源队列确定为目标队列,以使目标任务被调度至目标队列,本发明实施例通过计算待调度任务与资源队列在资源类型上的匹配程度,从而基于待调度任务和资源队列双方的资源情况来确定目标任务和目标队列,避免在调度后个别任务对某一种资源类型需求较高而影响其他任务的执行速度,提升了任务调度的准确性和针对性。
图2所示,是本发明实施例提供的任务调度方法的一种架构图,在图2中,包括任务中心21和控制中心22,其中控制中心22包括决策中心221、调度中心222及资源中心223,资源中心223内包括至少一个资源队列,在图2中资源队列以服务器的形式呈现。其中,任务中心21用于生成待调度任务,将待调度任务发送至控制中心22,具体为控制中心22中的决策中心221;决策中心221用于接收资源中心223发送的同步信息,根据设定的至少一种资源类型及同步信息计算待调度任务与资源队列之间的匹配度,将满足设定条件的匹配度所对应的待调度任务确定为目标任务,将满足设定条件的匹配度所对应的资源队列确定为目标队列,其中,同步信息包括资源队列关于资源类型的已用量和额定用量;调度中心222用于将目标任务调度至资源中心223中的目标队列中;资源中心223用于将资源队列的同步信息发送至决策中心221,还用于将资源队列的故障信息发送至决策中心221,还用于将调度结果反馈至任务中心21,其中,故障信息用于指示资源队列是否故障。通过图2所示的架构图,基于计算出的匹配度对任务中心21生成的待调度任务进行调度,提升了任务调度的准确性和针对性。
图3所示,是本发明实施例提供的任务调度方法的另一种实现流程图,如图3所示,任务调度方法可以包括以下步骤:
在S301中,根据设定的至少一种资源类型确定资源队列的资源使用率。
由于资源队列可能出现过载的情况,故为了避免将待调度任务调度至过载的资源队列,在本发明实施例中,根据设定的至少一种资源类型确定资源队列的资源使用率,该资源使用率表征资源队列关于资源类型的资源使用情况。在计算资源使用率时,可确定资源队列关于资源类型的已用量和额定用量,将已用量和额定用量之间的比值确定为资源使用率,当然,上述计算方式仅为示例,在实际应用场景中还可应用其他方式进行计算。
在S302中,根据所述资源使用率确定所述资源队列中存在不饱和资源队列,计算待调度任务与不饱和资源队列之间的匹配度,然后执行S306。
根据资源使用率确定资源队列中存在不饱和资源队列,不饱和资源队列为针对资源类型还可接收待调度任务的资源队列,例如,针对资源类型中央处理器具体可设定使用率阈值,如设置为70%,将低于使用率阈值的中央处理器所对应的资源队列确定为不饱和资源队列。对于不饱和资源队列之外的其他资源队列,判定针对资源类型不存在多余的资源,即不饱和资源队列之外的其他资源队列无法作为资源的提供方。在本发明实施例中,计算待调度任务与确定出的不饱和资源队列之间的匹配度。
在S303中,根据所述资源使用率确定所述资源队列中不存在不饱和资源队列,将所述待调度任务置入排队池,然后执行S304。
在计算出资源队列的资源使用率后,还存在另一种情况,即针对资源类型资源队列中不存在不饱和资源队列,如所有资源队列的资源使用率均大于或等于使用率阈值。针对该种情况,在本步骤中,将待调度任务置入排队池,等待处理,该排队池可为任务队列,也可为其他支持存放待调度任务的载体。
在S304中,检测是否出现不饱和资源队列。
对于置入排队池内的待调度任务,由于其存在被调度的需求,故在本步骤中检测资源队列中是否出现不饱和资源队列。可选地,根据设定的检测频率检测资源队列中是否出现针对资源类型的不饱和资源队列。为了提升检测操作的有序性,可设定检测频率,如5秒钟检测一次,根据检测频率检测资源队列中是否出现不饱和资源队列。
在S305中,若检测到出现不饱和资源队列,则根据资源类型计算所述排队池内的所述待调度任务与出现的所述不饱和资源队列之间的匹配度。
若检测到出现不饱和资源队列,则根据资源类型计算排队池内的待调度任务与出现的不饱和资源队列之间的匹配度。值得说明的是,在本发明实施例中优先对排队池内的待调度任务进行调度,在排队池内不存在待调度任务后,再对新接收到的待调度任务进行匹配度计算。
在S306中,将满足设定条件的所述匹配度所对应的所述待调度任务确定为目标任务,将满足所述设定条件的所述匹配度所对应的所述资源队列确定为目标队列,以使所述目标任务被调度至所述目标队列。
步骤S306的过程与步骤S102相同,具体可见步骤S102的描述内容,在此不做赘述。
通过图3所示实施例可知,在本发明实施例中,根据设定的至少一种资源类型确定资源队列的资源使用率,根据资源使用率确定不饱和资源队列的存在情况,根据存在情况对待调度任务执行不同的操作,最终计算待调度任务与不饱和资源队列之间的匹配度,根据匹配度确定目标任务和目标队列,本发明实施例根据不饱和资源队列的存在情况对待调度任务执行不同的操作,提升了任务调度的灵活性,也使得任务调度过程适用于不同情况的资源队列。
图4所示,是本发明实施例提供的确定资源队列的资源使用率的实现流程图,如图4所示,可以包括以下步骤:
在S401中,确定资源类型对应的资源权重系数,所述资源权重系数表征所述资源类型在资源队列中的重要程度。
在本步骤中,确定资源类型对应的资源权重系数,资源权重系数表征资源类型在资源队列中的重要程度,资源权重系数的数值越大,则该资源权重系数对应的资源类型在资源队列中的重要程度越高。具体地,在各资源类型的重要程度相同的情况下,可设置不同资源类型对应的资源权重系数一致,如均设置为1;在不同资源类型的重要程度不同的情况下,可根据实际应用场景进行资源权重系数的确定,如可在限定所有资源类型对应的资源权重系数之和为设定系数和的基础上,设定各资源类型对应的资源权重系数,其中,为了便于计算,设定系数和可设置为1。值得说明的是,确定的资源权重系数并未限定应用于所有的资源队列,即在不同的资源队列中关于相同资源类型的资源权重系数可设置为相同或不同。
在S402中,确定所述资源队列关于所述资源类型的已用量和额定用量。
确定资源队列关于资源类型的已用量和额定用量,其中,已用量为资源类型在资源队列上的已被占用的量,额定用量为设定的资源类型在资源队列上的最大可用量,额定用量可根据实际应用场景中资源队列的性能及负载能力等进行设定。
在S403中,根据所述已用量、所述额定用量以及所述资源权重系数得到资源队列的资源使用率。
根据已用量、额定用量以及资源权重系数得到资源队列的资源使用率,计算公式如下:
Figure BDA0002047684370000081
在公式(1)中,Ri为第i个资源队列的资源使用率;J为设定的资源类型的数量,如设定了三个资源类型,具体为中央处理器、内存及磁盘,则J的值为3;kij为第i个资源队列关于第j个资源类型的资源权重系数;nij为第i个资源队列关于第j个资源类型的已用量;Nij为第i个资源队列关于第j个资源类型的额定用量,其中,i、j及J均为大于0的整数,且J≥j。按照公式(1),即可计算出资源队列的资源使用率。
通过图4所示实施例可知,在本发明实施例中,确定资源类型对应的资源权重系数,确定资源队列关于资源类型的已用量和额定用量,根据已用量、额定用量以及资源权重系数得到资源队列的资源使用率,本发明实施例通过为资源类型确定资源权重系数,从而根据资源权重系数进行区别加权,提升了计算资源使用率的准确性。
图5所示,是本发明实施例提供的计算待调度任务与不饱和资源队列之间的匹配度的实现流程图,如图5所示,可以包括以下步骤:
在S501中,确定不饱和资源队列关于所述资源类型的已用量和额定用量。
对于资源队列中存在的不饱和资源队列,确定不饱和资源队列关于资源类型的已用量和额定用量,其中,已用量为资源类型在不饱和资源队列上的已被占用的量,额定用量为设定的资源类型在不饱和资源队列上的最大可用量,额定用量可根据实际应用场景中不饱和资源队列的性能及负载能力等进行设定。
在S502中,确定待调度任务关于所述资源类型的需求量。
在计算待调度任务与不饱和资源队列之间的匹配度时,除了确定不饱和资源队列的资源使用情况,还确定待调度任务的资源需求情况,具体确定待调度任务关于资源类型的需求量,该需求量可由待调度任务的生成方设置,也可设定不同的任务类型对应不同的需求量,在接收到待调度任务后,根据待调度任务所属的任务类型确定对应的需求量,作为待调度任务的需求量。
在S503中,根据所述已用量、所述额定用量以及所述需求量得到待调度任务与不饱和资源队列之间的匹配度。
根据已用量、额定用量以及需求量计算待调度任务与不饱和资源队列之间的匹配度,计算公式如下:
Figure BDA0002047684370000091
Figure BDA0002047684370000092
Figure BDA0002047684370000101
其中,J为设定的资源类型的数量,nij为第i个不饱和资源队列关于第j个资源类型的已用量;Nij为第i个不饱和资源队列关于第j个资源类型的额定用量,mij为第i个不饱和资源队列关于第j个资源类型的可用量,qtj为第t个待调度任务关于第j个资源类型的需求量,i、j、t及J均为大于0的整数,且J≥j。
在本步骤中,公式(2)计算出的ρit为第t个待调度任务与第i个不饱和资源队列之间的匹配度,Xij为第i个不饱和资源队列关于第j个资源类型的可用量变量,具体计算公式见公式(3),即根据第i个不饱和资源队列关于第j个资源类型的额定用量及已用量得到可用量,再根据可用量和额定用量得到可用量变量;Ytj为第t个待调度任务关于第j个资源类型的需求量变量,具体计算公式见公式(4),即根据第i个不饱和资源队列关于第j个资源类型的额定用量,以及第t个待调度任务关于第j个资源类型的需求量得到需求量变量。
通过图5所示实施例可知,在本发明实施例中,确定不饱和资源队列关于资源类型的已用量和额定用量,确定待调度任务关于资源类型的需求量,根据已用量、额定用量以及需求量得到待调度任务与不饱和资源队列之间的匹配度,本发明实施例阐述了匹配度的计算过程,提升了在存在不饱和资源队列情况下,计算接收的待调度任务与不饱和资源队列之间的匹配度的准确性。
图6所示,是本发明实施例提供的根据资源类型计算排队池内的待调度任务与出现的不饱和资源队列之间的匹配度的实现流程图,如图6所示,可以包括以下步骤:
在S601中,确定所述待调度任务的已到达时长,确定所述排队池内至少两个待调度任务的平均到达时长,根据所述已到达时长和所述平均到达时长得到时长占比值,其中,所述已到达时长为从接收所述待调度任务到出现所述不饱和资源队列之间的时长。
对于另一种情况,即排队池内存放有待调度任务,且检测到出现不饱和资源队列,在本发明实施例中,计算排队池内的待调度任务与出现的不饱和资源队列之间的匹配度。具体地,确定待调度任务的已到达时长,确定排队池内至少两个待调度任务的平均到达时长,根据已到达时长和平均到达时长得到时长占比值,时长占比值可为已到达时长和平均到达时长之间的比值,其中,已到达时长为从接收待调度任务到出现不饱和资源队列之间的时长。为了便于理解,假设排队池内存放有待调度任务TaskA、TaskB及TaskC,对应的已到达时长分别为TA、TB及TC,若当前的计算对象为TaskA,则根据TaskA的已到达时长TA以及排队池内的待调度任务的平均到达时长
Figure BDA0002047684370000111
得到TaskA的时长占比值,具体为
Figure BDA0002047684370000112
通过上述方式可计算得到排队池内各待调度任务的时长占比值。
在S602中,确定所述不饱和资源队列关于所述资源类型的已用量和额定用量,确定所述待调度任务关于所述资源类型的需求量,根据所述已用量、所述额定用量以及所述需求量得到相关值。
在本步骤中,确定出现的不饱和资源队列关于资源类型的已用量和额定用量,确定排队池内的待调度任务关于资源类型的需求量,根据已用量、额定用量以及需求量得到相关值,相关值的计算方式详见公式(2),在本步骤中根据公式(2)计算出的结果不再作为匹配度。
在S603中,根据所述时长占比值及所述相关值得到所述待调度任务与出现的所述不饱和资源队列之间的匹配度。
根据时长占比值及相关值得到排队池内的待调度任务与出现的不饱和资源队列之间的匹配度,计算公式如下:
Figure BDA0002047684370000113
在公式(5)中,dt为排队池内的第t个待调度任务与出现的不饱和资源队列之间的匹配度;Tt为排队池内的第t个待调度任务的已到达时长,
Figure BDA0002047684370000114
为排队池内的待调度任务的平均到达时长,两者之间的比值即为第t个待调度任务的时长占比值;ρt为排队池内的第t个待调度任务与出现的不饱和资源队列之间的相关值,具体计算公式见公式(2)。
可选地,确定时长占比值对应的时长权重系数,确定相关值对应的相关值权重系数,根据时长占比值、时长权重系数、相关值及相关值权重系数得到匹配度。在实际应用场景中,还可确定时长占比值对应的时长权重系数,确定相关值对应的相关值权重系数,时长权重系数指示时长占比值对待调度任务的重要程度,相关值权重系数指示相关值对待调度任务的重要程度,系数越大,则表征重要程度越高。根据确定出的时长占比值、时长权重系数、相关值及相关值权重系数得到匹配度,具体公式如下:
Figure BDA0002047684370000121
在公式(6)中,αt为排队池内的第t个待调度任务的时长权重系数,βt为排队池内的第t个待调度任务的相关值权重系数。值得说明的是,排队池内的不同待调度任务的时长权重系数及相关值权重系数可设置为相同,也可设置为不同,具体可根据时长占比值及相关值对各个待调度任务的重要程度进行设置,本发明实施例对系数的具体数值不做限定。举例来说,某个待调度任务要求尽快处理,则将该待调度任务对应的时长权重系数设置得较高;某个待调度任务可延缓处理,则将该待调度任务对应的时长权重系数设置得较低。
通过图6所示实施例可知,在本发明实施例中,确定待调度任务的时长占比值,确定不饱和资源队列关于资源类型的已用量和额定用量,确定待调度任务关于资源类型的需求量,根据已用量、额定用量以及需求量得到相关值,根据时长占比值及相关值得到待调度任务与出现的不饱和资源队列之间的匹配度,本发明实施例阐述了在另一种情况下的匹配度的计算过程,将时长因素加入到了匹配度的计算过程中,便于尽快处理排队池内已到达时长较长的待调度任务,提升了计算排队池内的待调度任务与出现的不饱和资源队列之间的匹配度的准确性。
图7所示,是本发明实施例提供的根据时长占比值及相关值得到待调度任务与出现的不饱和资源队列之间的匹配度的实现流程图,如图7所示,可以包括以下步骤:
在S701中,确定所述待调度任务对应的紧急系数,所述紧急系数表征所述待调度任务的紧急程度。
除了时长占比值及相关值之外。在本发明实施例中,还可确定待调度任务对应的紧急系数,该紧急系数表征待调度任务的紧急程度,紧急程度越高,则设置紧急系数的数值越大,紧急系数可由待调度任务的生成方进行设置,并在本步骤中确定设置的紧急系数。
在S702中,根据所述时长占比值、所述相关值及所述紧急系数得到所述待调度任务与出现的所述不饱和资源队列之间的匹配度。
在匹配度的计算过程中加入紧急系数,具体根据时长占比值、相关值及紧急系数得到排队池内的待调度任务与出现的不饱和资源队列之间的匹配度,计算公式如下:
Figure BDA0002047684370000131
在公式(7)中,γt为排队池内的第t个待调度任务的紧急系数,具体根据待调度任务的紧急程度进行设定,若待调度任务的紧急程度越高,则将对应的紧急系数设置得越高。
在此基础上,若确定有时长占比值对应的时长权重系数,以及相关值对应的相关值权重系数,则匹配度的计算公式也可如下:
Figure BDA0002047684370000132
通过图7所示实施例可知,在本发明实施例中,确定待调度任务对应的紧急系数,根据时长占比值、相关值及紧急系数得到待调度任务与出现的不饱和资源队列之间的匹配度,本发明实施例将紧急系数加入到了匹配度的计算过程中,便于尽快对排队池内紧急系数较高的待调度任务进行处理,提升了计算匹配度的全面性。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
对应于上文实施例所述的任务调度方法,图8示出了本发明实施例提供的任务调度装置的结构框图,参照图8,该任务调度装置包括:
计算单元81,用于根据设定的至少一种资源类型计算待调度任务与资源队列之间的匹配度,所述匹配度表征所述待调度任务与所述资源队列在所述资源类型上的匹配程度;
确定单元82,用于将满足设定条件的所述匹配度所对应的所述待调度任务确定为目标任务,将满足所述设定条件的所述匹配度所对应的所述资源队列确定为目标队列,以使所述目标任务被调度至所述目标队列。
可选地,计算单元81包括:
使用率确定单元,用于根据设定的至少一种资源类型确定资源队列的资源使用率;
第一计算单元,用于根据所述资源使用率确定所述资源队列中存在不饱和资源队列,计算待调度任务与不饱和资源队列之间的匹配度。
可选地,使用率确定单元包括:
资源权重系数确定单元,用于确定资源类型对应的资源权重系数,所述资源权重系数表征所述资源类型在资源队列中的重要程度;
第一用量确定单元,用于确定所述资源队列关于所述资源类型的已用量和额定用量;
使用率确定子单元,用于根据所述已用量、所述额定用量以及所述资源权重系数得到资源队列的资源使用率。
可选地,第一计算单元包括:
第二用量确定单元,用于确定不饱和资源队列关于所述资源类型的已用量和额定用量;
需求量确定单元,用于确定待调度任务关于所述资源类型的需求量;
第一计算子单元,用于根据所述已用量、所述额定用量以及所述需求量得到待调度任务与不饱和资源队列之间的匹配度。
可选地,使用率确定单元还包括:
置入单元,用于根据所述资源使用率确定所述资源队列中不存在不饱和资源队列,将所述待调度任务置入排队池;
检测单元,用于检测是否出现不饱和资源队列;
第二计算单元,用于若检测到出现不饱和资源队列,则根据资源类型计算所述排队池内的所述待调度任务与出现的所述不饱和资源队列之间的匹配度。
可选地,第二计算单元包括:
时长确定单元,用于确定所述待调度任务的已到达时长,确定所述排队池内至少两个待调度任务的平均到达时长,根据所述已到达时长和所述平均到达时长得到时长占比值,其中,所述已到达时长为从接收所述待调度任务到出现所述不饱和资源队列之间的时长;
相关值计算单元,用于确定所述不饱和资源队列关于所述资源类型的已用量和额定用量,确定所述待调度任务关于所述资源类型的需求量,根据所述已用量、所述额定用量以及所述需求量得到相关值;
第二计算子单元,用于根据所述时长占比值及所述相关值得到所述待调度任务与出现的所述不饱和资源队列之间的匹配度。
可选地,第二计算子单元包括:
紧急系数确定单元,用于确定所述待调度任务对应的紧急系数,所述紧急系数表征所述待调度任务的紧急程度;
更新计算单元,用于根据所述时长占比值、所述相关值及所述紧急系数得到所述待调度任务与出现的所述不饱和资源队列之间的匹配度。
因此,本发明实施例提供的任务调度装置基于资源类型计算待调度任务与资源队列之间的匹配度,从而确定目标任务和目标队列,提升了任务调度的准确性及针对性。
图9是本发明实施例提供的任务调度装置的示意图。如图9所示,该实施例的任务调度装置9包括:处理器90、存储器91以及存储在所述存储器91中并可在所述处理器90上运行的计算机程序92,例如任务调度程序。所述处理器90执行所述计算机程序92时实现上述各个任务调度方法实施例中的步骤,例如图1所示的步骤S101至S102。或者,所述处理器90执行所述计算机程序92时实现上述各任务调度装置实施例中各单元的功能,例如图8所示计算单元81和确定单元82的功能。
示例性的,所述计算机程序92可以被分割成一个或多个单元,所述一个或者多个单元被存储在所述存储器91中,并由所述处理器90执行,以完成本发明。所述一个或多个单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序92在所述任务调度装置9中的执行过程。例如,所述计算机程序92可以被分割成计算单元及确定单元,各单元具体功能如下:
计算单元,用于根据设定的至少一种资源类型计算待调度任务与资源队列之间的匹配度,所述匹配度表征所述待调度任务与所述资源队列在所述资源类型上的匹配程度;
确定单元,用于将满足设定条件的所述匹配度所对应的所述待调度任务确定为目标任务,将满足所述设定条件的所述匹配度所对应的所述资源队列确定为目标队列,以使所述目标任务被调度至所述目标队列。
所述任务调度装置9可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述任务调度装置可包括,但不仅限于,处理器90、存储器91。本领域技术人员可以理解,图9仅仅是任务调度装置9的示例,并不构成对任务调度装置9的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述任务调度装置还可以包括输入输出设备、网络接入设备、总线等。
所称处理器90可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器91可以是所述任务调度装置9的内部存储单元,例如任务调度装置9的硬盘或内存。所述存储器91也可以是所述任务调度装置9的外部存储设备,例如所述任务调度装置9上配备的插接式硬盘、智能存储卡(Smart Media Card,SMC)、安全数字(SecureDigital,SD)卡、闪存卡(Flash Card)等。进一步地,所述存储器91还可以既包括所述任务调度装置9的内部存储单元也包括外部存储设备。所述存储器91用于存储所述计算机程序以及所述任务调度装置所需的其他程序和数据。所述存储器91还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元完成,即将所述任务调度装置的内部结构划分成不同的功能单元,以完成以上描述的全部或者部分功能。实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的实施例中,应该理解到,所揭露的任务调度装置和方法,可以通过其它的方式实现。例如,以上所描述的任务调度装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random AccessMemory,RAM)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

Claims (5)

1.一种任务调度方法,其特征在于,包括:
根据设定的至少一种资源类型确定资源队列的资源使用率;
根据所述资源使用率确定所述资源队列中不存在不饱和资源队列,将待调度任务置入排队池;检测是否出现不饱和资源队列;若检测到出现不饱和资源队列,则确定所述待调度任务的已到达时长,确定所述排队池内至少两个待调度任务的平均到达时长,根据所述已到达时长和所述平均到达时长得到时长占比值,其中,所述已到达时长为从接收所述待调度任务到出现所述不饱和资源队列之间的时长;确定所述不饱和资源队列关于所述资源类型的已用量和额定用量,确定所述待调度任务关于所述资源类型的需求量,根据所述已用量、所述额定用量以及所述需求量得到相关值;确定所述待调度任务对应的紧急系数,所述紧急系数表征所述待调度任务的紧急程度;根据所述时长占比值、所述相关值及所述紧急系数得到所述待调度任务与出现的所述不饱和资源队列之间的匹配度;
根据所述资源使用率确定所述资源队列中存在不饱和资源队列,计算待调度任务与所述不饱和资源队列之间的匹配度;
所述匹配度表征所述待调度任务与所述资源队列在所述资源类型上的匹配程度;
将满足设定条件的所述匹配度所对应的所述待调度任务确定为目标任务,将满足所述设定条件的所述匹配度所对应的所述资源队列确定为目标队列,以使所述目标任务被调度至所述目标队列。
2.如权利要求1所述的任务调度方法,其特征在于,所述根据设定的至少一种资源类型确定资源队列的资源使用率,包括:
确定资源类型对应的资源权重系数,所述资源权重系数表征所述资源类型在资源队列中的重要程度;
确定所述资源队列关于所述资源类型的已用量和额定用量;
根据所述已用量、所述额定用量以及所述资源权重系数得到资源队列的资源使用率。
3.一种任务调度装置,其特征在于,包括:
计算单元,包括:
使用率确定单元,用于根据设定的至少一种资源类型确定资源队列的资源使用率;
所述使用率确定单元还包括:
置入单元,用于根据所述资源使用率确定所述资源队列中不存在不饱和资源队列,将待调度任务置入排队池;检测单元,用于检测是否出现不饱和资源队列;第二计算单元,用于若检测到出现不饱和资源队列,所述第二计算单元还包括:时长确定单元,用于确定所述待调度任务的已到达时长,确定所述排队池内至少两个待调度任务的平均到达时长,根据所述已到达时长和所述平均到达时长得到时长占比值,其中,所述已到达时长为从接收所述待调度任务到出现所述不饱和资源队列之间的时长;相关值计算单元,用于确定所述不饱和资源队列关于所述资源类型的已用量和额定用量,确定所述待调度任务关于所述资源类型的需求量,根据所述已用量、所述额定用量以及所述需求量得到相关值;紧急系数确定单元,用于确定所述待调度任务对应的紧急系数,所述紧急系数表征所述待调度任务的紧急程度;更新计算单元,用于根据所述时长占比值、所述相关值及所述紧急系数得到所述待调度任务与出现的所述不饱和资源队列之间的匹配度;
第一计算单元,用于根据所述资源使用率确定所述资源队列中存在不饱和资源队列,计算待调度任务与不饱和资源队列之间的匹配度;
所述匹配度表征所述待调度任务与所述资源队列在所述资源类型上的匹配程度;
确定单元,用于将满足设定条件的所述匹配度所对应的所述待调度任务确定为目标任务,将满足所述设定条件的所述匹配度所对应的所述资源队列确定为目标队列,以使所述目标任务被调度至所述目标队列。
4.一种任务调度装置,其特征在于,所述任务调度装置包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如下步骤:
根据设定的至少一种资源类型确定资源队列的资源使用率;
根据所述资源使用率确定所述资源队列中不存在不饱和资源队列,将待调度任务置入排队池;检测是否出现不饱和资源队列;若检测到出现不饱和资源队列,则确定所述待调度任务的已到达时长,确定所述排队池内至少两个待调度任务的平均到达时长,根据所述已到达时长和所述平均到达时长得到时长占比值,其中,所述已到达时长为从接收所述待调度任务到出现所述不饱和资源队列之间的时长;确定所述不饱和资源队列关于所述资源类型的已用量和额定用量,确定所述待调度任务关于所述资源类型的需求量,根据所述已用量、所述额定用量以及所述需求量得到相关值;确定所述待调度任务对应的紧急系数,所述紧急系数表征所述待调度任务的紧急程度;根据所述时长占比值、所述相关值及所述紧急系数得到所述待调度任务与出现的所述不饱和资源队列之间的匹配度;
根据所述资源使用率确定所述资源队列中存在不饱和资源队列,计算待调度任务与不饱和资源队列之间的匹配度;
所述匹配度表征所述待调度任务与所述资源队列在所述资源类型上的匹配程度;
将满足设定条件的所述匹配度所对应的所述待调度任务确定为目标任务,将满足所述设定条件的所述匹配度所对应的所述资源队列确定为目标队列,以使所述目标任务被调度至所述目标队列。
5.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至2任一项所述任务调度方法的步骤。
CN201910364122.1A 2019-04-30 2019-04-30 任务调度方法、装置及计算机可读存储介质 Active CN111858019B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910364122.1A CN111858019B (zh) 2019-04-30 2019-04-30 任务调度方法、装置及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910364122.1A CN111858019B (zh) 2019-04-30 2019-04-30 任务调度方法、装置及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN111858019A CN111858019A (zh) 2020-10-30
CN111858019B true CN111858019B (zh) 2022-12-13

Family

ID=72965829

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910364122.1A Active CN111858019B (zh) 2019-04-30 2019-04-30 任务调度方法、装置及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN111858019B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112685177A (zh) * 2020-12-25 2021-04-20 联想(北京)有限公司 一种服务器节点的任务分配方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103605567A (zh) * 2013-10-29 2014-02-26 河海大学 面向实时性需求变化的云计算任务调度方法
CN106713396A (zh) * 2015-11-17 2017-05-24 阿里巴巴集团控股有限公司 服务器调度方法和系统
CN108469988A (zh) * 2018-02-28 2018-08-31 西北大学 一种基于异构Hadoop集群的任务调度方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103605567A (zh) * 2013-10-29 2014-02-26 河海大学 面向实时性需求变化的云计算任务调度方法
CN106713396A (zh) * 2015-11-17 2017-05-24 阿里巴巴集团控股有限公司 服务器调度方法和系统
CN108469988A (zh) * 2018-02-28 2018-08-31 西北大学 一种基于异构Hadoop集群的任务调度方法

Also Published As

Publication number Publication date
CN111858019A (zh) 2020-10-30

Similar Documents

Publication Publication Date Title
CN109218355B (zh) 负载均衡引擎,客户端,分布式计算系统以及负载均衡方法
US10558498B2 (en) Method for scheduling data flow task and apparatus
US20220308944A1 (en) Event handling in distributed event handling systems
CN108776934B (zh) 分布式数据计算方法、装置、计算机设备及可读存储介质
EP2701074B1 (en) Method, device, and system for performing scheduling in multi-processor core system
JP2017050001A (ja) 効果的なニューラルネットワークの配置に用いるシステム及び方法
CN111866775A (zh) 一种业务编排方法及装置
CN109815019B (zh) 任务调度方法、装置、电子设备及可读存储介质
CN105373429A (zh) 任务调度方法、装置及系统
CN109343972B (zh) 任务处理方法及终端设备
CN112888005B (zh) 一种面向mec的分布式业务调度方法
US10733022B2 (en) Method of managing dedicated processing resources, server system and computer program product
CN111858019B (zh) 任务调度方法、装置及计算机可读存储介质
Zikos et al. The impact of service demand variability on resource allocation strategies in a grid system
US9983911B2 (en) Analysis controller, analysis control method and computer-readable medium
KR20130060350A (ko) Atca-기반 장비에서 통신 트래픽을 스케줄링하기 위한 방법 및 장치
US11513856B2 (en) Method, devices and computer program products for resource usage
CN110347477B (zh) 一种云环境下服务自适应部署方法和装置
CN107634978B (zh) 一种资源调度方法及装置
CN116382892B (zh) 一种基于多云融合以及云服务的负载均衡方法及装置
CN110113269B (zh) 一种基于中间件的流量控制的方法及相关装置
CN112214299A (zh) 多核处理器及其任务调度方法和装置
US11474868B1 (en) Sharded polling system
CN113918291A (zh) 多核操作系统流任务调度方法、系统、计算机和介质
CN109933426B (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