CN113515358B - 任务调度方法、装置、电子设备及存储介质 - Google Patents

任务调度方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN113515358B
CN113515358B CN202110485812.XA CN202110485812A CN113515358B CN 113515358 B CN113515358 B CN 113515358B CN 202110485812 A CN202110485812 A CN 202110485812A CN 113515358 B CN113515358 B CN 113515358B
Authority
CN
China
Prior art keywords
task
server cluster
tendency
processed
candidate 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.)
Active
Application number
CN202110485812.XA
Other languages
English (en)
Other versions
CN113515358A (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.)
Beijing QIYI Century Science and Technology Co Ltd
Original Assignee
Beijing QIYI Century Science and 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 Beijing QIYI Century Science and Technology Co Ltd filed Critical Beijing QIYI Century Science and Technology Co Ltd
Priority to CN202110485812.XA priority Critical patent/CN113515358B/zh
Publication of CN113515358A publication Critical patent/CN113515358A/zh
Application granted granted Critical
Publication of CN113515358B publication Critical patent/CN113515358B/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Multi Processors (AREA)

Abstract

本发明实施例提供了一种任务调度方法、装置、电子设备及存储介质,所述方法包括:在接收到待处理任务的情况下,确定各候选服务器集群的任务调度要素;基于各候选服务器集群的所述任务调度要素,确定各候选服务器集群对所述待处理任务的任务调度倾向度;利用所述任务调度倾向度,从各候选服务器集群中确定目标服务器集群;将所述待处理任务调度至所述目标服务器集群。如此对于各候选服务器集群而言,确定各自对应的任务调度倾向度,从而利用任务调度倾向度,从各候选服务器集群中确定目标服务器集群,将待处理任务调度至目标服务器集群,可以实现自动化调度任务,且降低了服务器集群的管理与维护成本,提高了任务处理效率、任务数据产出效率。

Description

任务调度方法、装置、电子设备及存储介质
技术领域
本发明涉及任务调度技术领域,尤其涉及一种任务调度方法、装置、电子设备及存储介质。
背景技术
随着互联网的不断发展,数据呈爆发式增长,对数据的实时性要求、稳定性要求越来越高。与此同时,为了应对待处理任务(例如数据报表统计任务、用户行为分析任务)越来越多的现状,企业中服务器集群的规模和数量不断增加,造成服务器集群的管理难度加大,因此迫切需要设计一个稳定、高效、快速、智能的任务调度方案,来规避服务器集群中宕机或者任务拥挤等情况的发生,从而更好地保证任务数据(即执行待处理任务产生的数据)稳定且高效地产出。
相关技术中,需要由相关人员为待处理任务指定对应的服务器集群,从而将待处理任务调度至对应服务器集群来进行处理。然而,当服务器集群中发生宕机或者任务拥挤等情况时,要么等待服务器集群恢复正常,要么重新指定这个待处理任务对应的其它服务器集群,将该待处理任务重新调度至其它服务器集群来进行处理。如此造成服务器集群的管理与维护成本较高,且任务处理效率低下,任务数据产生效率较低。
发明内容
本发明实施例的目的在于提供一种任务调度方法、装置、电子设备及存储介质,以实现自动化调度任务,降低服务器集群的管理与维护成本,提高任务处理效率,以及提高任务数据产出效率的有益效果。具体技术方案如下:
在本发明实施例的第一方面,首先提供了一种任务调度方法,所述包括:
在接收到待处理任务的情况下,确定各候选服务器集群的任务调度要素;
基于各候选服务器集群的所述任务调度要素,确定各候选服务器集群对所述待处理任务的任务调度倾向度;
利用所述任务调度倾向度,从各候选服务器集群中确定目标服务器集群;
将所述待处理任务调度至所述目标服务器集群。
在本发明实施例的第二方面,还提供了一种任务调度装置,所述装置包括:
要素确定模块,用于在接收到待处理任务的情况下,确定各候选服务器集群的任务调度要素;
倾向度确定模块,用于基于各候选服务器集群的所述任务调度要素,确定各候选服务器集群对所述待处理任务的任务调度倾向度;
集群确定模块,用于利用所述任务调度倾向度,从各候选服务器集群中确定目标服务器集群;
任务调度模块,用于将所述待处理任务调度至所述目标服务器集群。
在本发明实施例的第三方面,还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述第一方面中任一所述的任务调度方法。
在本发明实施例的第四方面,还提供了一种存储介质,所述存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面中任一所述的任务调度方法。
在本发明实施例的第五方面,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面中任一所述的任务调度方法。
本发明实施例提供的技术方案,在接收到待处理任务的情况下,确定各候选服务器集群的任务调度要素,基于各候选服务器集群的任务调度要素,确定各候选服务器集群对待处理任务的任务调度倾向度,利用任务调度倾向度,从各候选服务器集群中确定目标服务器集群,将待处理任务调度至目标服务器集群。如此对于各候选服务器集群而言,确定各自对应的任务调度倾向度,从而利用任务调度倾向度,从各候选服务器集群中确定目标服务器集群,将待处理任务调度至目标服务器集群,可以实现自动化调度任务,由此避免了相关人员为待处理任务指定对应的服务器集群,并且当服务器集群中发生宕机或者任务拥挤等情况时,也避免了等待服务器集群恢复正常或重新指定这个待处理任务对应的其它服务器集群,降低了服务器集群的管理与维护成本,提高了任务处理效率、任务数据产出效率。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中示出的一种任务调度方法的实施流程示意图;
图2为本发明实施例中示出的一种任务调度应用场景示意图;
图3为本发明实施例中示出的另一种任务调度方法的实施流程示意图;
图4为本发明实施例中示出的另一种任务调度应用场景示意图;
图5为本发明实施例中示出的一种任务调度装置的结构示意图;
图6为本发明实施例中示出的一种电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
如图1所示,为本发明实施例提供的一种任务调度方法的实施流程示意图,该方法可以用于任务调度装置,任务调度装置可用于对接收到的任务进行集群间调度。该方法具体可以包括以下步骤:
S101,在接收到待处理任务的情况下,确定各候选服务器集群的任务调度要素。
S102,基于各候选服务器集群的所述任务调度要素,确定各候选服务器集群对所述待处理任务的任务调度倾向度。
在本发明实施例中,使用方(例如数据开发工程师)可以设计待处理任务,这里待处理任务可以是数据报表统计任务、用户行为分析任务等,本发明实施例对此不作限定。从而使用方可以在客户端提交待处理任务,并通过客户端将待处理任务发送至任务调度装置,由任务调度装置接收该待处理任务。
对于任务调度装置而言,可以接收该待处理任务,并在任务调度装置接收到待处理任务的情况下,任务调度装置可以确定服务器集群集合中包括的各候选服务器集群,确定各候选服务器集群的任务调度要素,以及,基于各候选服务器集群的任务调度要素,确定各候选服务器集群对上述待处理任务的任务调度倾向度。如此对于各候选服务器集群,均可以得到各自对应的任务调度倾向度。
例如,如图2所示,使用方在客户端提交待处理任务,并通过客户端将待处理任务发送至任务调度装置,任务调度装置可以接收待处理任务,在任务调度装置接收到待处理任务的情况下,确定服务器集群集合中包括的候选服务器集群:候选服务器集群A、候选服务器集群B、候选服务器集群C、候选服务器集群D、……。
针对候选服务器集群A,确定候选服务器集群A的任务调度要素,以及,基于候选服务器集群A的任务调度要素,确定候选服务器集群A的任务调度倾向度;
针对候选服务器集群B,确定候选服务器集群B的任务调度要素,以及,基于候选服务器集群B的任务调度要素,确定候选服务器集群B的任务调度倾向度;
对于候选服务器集群C、候选服务器集群D、……等处理类似,本发明实施例在此不再一一赘述。如此对于候选服务器集群A、候选服务器集群B、候选服务器集群C、候选服务器集群D、……等,均可以得到各自对应的任务调度倾向度。
其中,在本发明实施例中,具体可以通过以下方式确定各候选服务器集群的任务调度要素:
方式1、任务调度装置向各候选服务器集群分别发送任务调度要素获取请求,接收各候选服务器集群基于上述获取请求反馈的任务调度要素。
例如,任务调度装置向候选服务器集群A、候选服务器集群B、候选服务器集群C、候选服务器集群D、……等各候选服务器集群,分别发送任务调度要素获取请求,候选服务器集群A、候选服务器集群B、候选服务器集群C、候选服务器集群D、……等各候选服务器集群,基于上述获取请求各自采集自身的任务调度要素,并向负载均衡装反馈;如此,任务调度装置接收候选服务器集群A、候选服务器集群B、候选服务器集群C、候选服务器集群D、……等各候选服务器集群,基于上述获取请求反馈的任务调度要素。
方式2、任务调度装置接收各候选服务器集群周期性、定时或满足预设条件时主动上报的任务调度要素。
例如,候选服务器集群A、候选服务器集群B、候选服务器集群C、候选服务器集群D、……等各候选服务器集群,间隔10秒或者当任务调度要素发生变化时(预设条件的一种,实际场景中,该条件可以自定义设计),各自向任务调度装置主动上报自身对应的任务调度要素,如此,任务调度装置接收候选服务器集群A主动上报的任务调度要素,接收候选服务器集群B主动上报的任务调度要素,接收候选服务器集群C主动上报的任务调度要素,以此类推,对于候选服务器集群D、……等处理类似,本发明实施例在此不再一一赘述。
需要说明的是,对于任务调度倾向度,可以理解为候选服务器集群对待处理任务的任务调度倾向程度,具体可以以分值体现,候选服务器集群的任务调度倾向度越大,说明待处理任务越倾向于调度至该候选服务器集群,本发明实施例对此不作限定。
S103,利用所述任务调度倾向度,从各候选服务器集群中确定目标服务器集群。
对于各候选服务器集群,经过上述处理,均可以得到各自对应的任务调度倾向度,从而可以利用各候选服务器集群各自对应的任务调度倾向度,从各候选服务器集群中确定目标服务器集群。
例如,对于候选服务器集群A、候选服务器集群B、候选服务器集群C、候选服务器集群D、……等,经过上述处理,均可以得到各自对应的任务调度倾向度,如下表1所示,从而可以利用如下表1所示的任务调度倾向度,从候选服务器集群A、候选服务器集群B、候选服务器集群C、候选服务器集群D、……等中确定目标服务器集群,比如任务调度倾向度数值最大的候选服务器集群A。
表1
S104,将所述待处理任务调度至所述目标服务器集群。
对于待处理任务而言,在确定目标服务器集群之后,可以将该待处理任务调度至目标服务器集群,由目标服务器集群执行该待处理任务,从而产生相应的数据。其中,可以将该待处理任务调度至目标服务器集群的目标任务队列中,以便于由目标服务器集群执行该待处理任务。
例如,对于待处理任务而言,在确定目标服务器集群(候选服务器集群A)之后,可以将该待处理任务调度至候选服务器集群A的目标任务队列中,后续由候选服务器集群A执行该待处理任务,从而产生相应的数据(例如用户行为分析数据)。
通过上述对本发明实施例提供的技术方案的描述,在接收到待处理任务的情况下,确定各候选服务器集群的任务调度要素,基于各候选服务器集群的任务调度要素,确定各候选服务器集群对待处理任务的任务调度倾向度,利用任务调度倾向度,从各候选服务器集群中确定目标服务器集群,将待处理任务调度至目标服务器集群。
如此对于各候选服务器集群而言,确定各自对应的任务调度倾向度,从而利用任务调度倾向度,从各候选服务器集群中确定目标服务器集群,将待处理任务调度至目标服务器集群,可以实现自动化调度任务,且降低了服务器集群的管理与维护成本,提高了任务处理效率、任务数据产出效率。
如图3所示,为本发明实施例提供的另一种任务调度方法的实施流程示意图,该方法可以应用于任务调度装置,具体可以包括以下步骤:
S301,在接收到待处理任务的情况下,确定各候选服务器集群的任务调度要素。
任务调度装置在接收到待处理任务的情况下,确定服务器集群集合中包括的各候选服务器集群,确定各候选服务器集群的任务调度要素,这里任务调度要素至少包括下述之一:负载状况、任务队列中任务数量、待处理任务的数据存储状况、数据的数据级别。
对于负载状况,例如指的是候选服务器集群中待处理请求的数量,和/或,候选服务器集群中线程/进程开启的数量等,本发明实施例对此不作限定。对于负载状况,是影响待处理任务调度的因素之一,如果候选服务器集群的负载较大(比如待处理请求的数量较多,线程/进程开启的数量较多),将待处理任务调度至该候选服务器集群,影响待处理任务的处理效率,从而倾向于将待处理任务调度至负载较小的候选服务器集群。
对于任务队列中任务数量,指的是候选服务器集群的任务队列中包含的任务(一般为未处理任务)的数量,例如100,本发明实施例对此不作限定。对于任务队列中任务数量,是影响待处理任务调度的因素之一,如果候选服务器集群的任务队列中任务数量较多,将待处理任务调度至该候选服务器集群,待处理任务不能及时被处理,影响待处理任务的处理效率,从而倾向于将待处理任务调度至任务队列中任务数量较少的候选服务器集群。
对于待处理任务的数据存储状况,指的是候选服务器集群对待处理任务的所需数据的存储状况。例如,待处理任务的所需数据全部存储在候选服务器集群A,或者待处理任务的所需数据有50%存储在候选服务器集群A,或者待处理任务的所需数据未存储在候选服务器集群A,待处理任务的所需数据全部存储在候选服务器集群B。
对于待处理任务的数据存储状况,是影响待处理任务调度的因素之一,如果待处理任务的所需数据全部存储在候选服务器集群,将待处理任务调度至该候选服务器集群,候选服务器集群可以快速读取数据并对待处理任务进行处理,加快待处理任务的处理效率,从而倾向于将待处理任务调度至对待处理任务的所需数据全部存储的候选服务器集群。
对于数据的数据级别,指的是待处理任务的所需数据的优先级,例如待处理任务的所需数据的优先级A,或者待处理任务的所需数据的优先级B,本发明实施例对此不作限定。对于数据的数据级别,是影响待处理任务调度的因素之一,如果待处理任务的所需数据全部存储在候选服务器集群,且数据的优先级较高,将待处理任务调度至该候选服务器集群,加快待处理任务的处理效率,从而倾向于将待处理任务调度至对待处理任务的所需数据全部存储,且数据的优先级较高的候选服务器集群。
需要说明的是,对于各任务调度要素,均是影响待处理任务调度的因素之一,为了更合理的对待处理任务进行调度,本发明实施例参考各任务调度要素对待处理任务调度的影响,将各任务调度要素进行结合,来完成对待处理任务的调度,如此可以考虑到各任务调度要素的利弊,均衡了各任务调度要素对待处理任务调度的影响,可以使待处理任务的调度达到最佳。
其中,在确定各候选服务器集群的任务调度要素之前,确定各候选服务器集群的运行状况,这里运行状况指的是候选服务器的运行正常,或者候选服务器的运行异常。然后根据各候选服务器集群的运行状况,从各候选服务器集群中剔除运行异常的候选服务器集群。
例如,确定候选服务器集群A、候选服务器集群B、候选服务器集群C……等各候选服务器集群的运行状况,根据候选服务器集群A、候选服务器集群B、候选服务器集群C……等各候选服务器集群的运行状况,从候选服务器集群A、候选服务器集群B、候选服务器集群C……等各候选服务器集群中,剔除运行异常的候选服务器集群。
S302,针对任意一个所述候选服务器集群,获取所述候选服务器集群中各任务调度要素各自对应的倾向度参数。
在本发明实施例中,针对任意一个候选服务器集群,获取该候选服务器集群中各任务调度要素各自对应的倾向度参数。
其中,在本发明实施例中,可以针对任务调度要素划分不同的要素级别,每个要素级别均存在一个对应的任务调度要素区间,且对于每个要素级别,均存在对应的一个倾向度参数,即要素级别与倾向度参数一一对应。例如,对于任务队列中任务数量,划分不同的要素级别:B1、B2、B3,要素级别B1对应的任务队列中任务数量区间:小于等于100,要素级别B2对应的任务队列中任务数量区间:大于100小于等于1000,要素级别B3对应的任务队列中任务数量区间:大于1000,要素级别B1对应的倾向度参数10,要素级别B2对应的倾向度参数5,要素级别B3对应的倾向度参数1,要素级别与倾向度参数一一对应。
如此针对任意一个候选服务器集群,确定该候选服务器集群中各任务调度要素各自对应的要素级别,查找与要素级别相对应的倾向度参数。
或者,利用预先训练好的倾向度参数预测模型,对该候选服务器集群中的各任务调度要素进行处理,得到各自对应的倾向度参数。其中,这里各任务调度要素存在对应的倾向度参数预测模型,例如任务队列中数量存在对应的倾向度参数预测模型,可以以该候选服务器集群中的各任务调度要素,作为各任务调度要素各自对应的倾向度参数预测模型的输入,从而得到倾向度参数预测模型的输出,即得到各自对应的倾向度参数,比如将候选服务器集群A中的任务队列中数量,作为任务队列中数量对应的倾向度参数预测模型的输入,从而得到倾向度参数预测模型输出的任务队列中数量对应的倾向度参数。
其中,对于倾向度参数预测模型,例如可以是决策树,可以是KNN算法,可以是支持向量机,本发明实施例对此不作限定。本发明实施例可以获取训练样本,该训练样本可以是任务队列中任务数量(则样本标签是对应的倾向度参数),可以是待处理请求的数量,可以是待处理任务的数据存储状况,基于训练样本,对倾向度参数预测初始模型进行有监督训练,得到该训练样本对应的倾向度参数预测模型,比如任务队列中任务数量对应的任务队列中任务数量。
在一可能的实施例中,各任务调度要素与倾向度参数之间的对应关系,可以以表格的方式呈现。
例如,以候选服务器集群A的各任务调度要素为例,确定负载状况对应的状况类别,查找与该状况类别相对应的第一倾向度参数,其中,各个状况类别与第一倾向度参数的对应关系如下表2所示。
表2
确定任务队列中任务数量相对应的数量类别,查找与该数量类别相对应的第二倾向度参数,其中,各个数量类别与第二倾向度参数的对应关系如下表3所示。
表3
确定待处理任务的数据存储状况相匹配的存储类别,查找与该存储类别相对应的第三倾向度参数,其中,各个存储类别与第三倾向度参数的对应关系如下表4所示。
表4
确定待处理任务的数据的数据级别相匹配的数据类别,查找与该数据类别相对应的第四倾向度参数,其中,数据类别与第四倾向度参数的对应关系如下表5所示。
存储类别 第三倾向度参数
D1(数据的优先级:B) 3
D2(数据的优先级:A) 6
D3(数据的优先级:C) 1
表5
又例如,以候选服务器集群A的各任务调度要素为例,利用预先训练好的倾向度参数预测模型,对候选服务器集群A中的各任务调度要素进行处理,得到各自对应的倾向度参数,如下表6所示。
表6
需要说明的是,对于任意一个候选服务器集群,可以确定该候选服务器集群中部分任务调度要素各自对应的要素级别,查找与要素级别相对应的倾向度参数,而对于该候选服务器集群中其余部分任务调度要素,可以利用预先训练好的倾向度参数预测模型,对该候选服务器集群中其余部分任务调度要素进行处理,得到该候选服务器集群中其余部分任务调度要素各自对应的倾向度参数,本发明实施例对此不作限定。
S303,基于各任务调度要素各自对应的倾向度参数,确定所述候选服务器集群对所述待处理任务的任务调度倾向度。
在本发明实施例中,针对任意一个候选服务器集群,基于各任务调度要素各自对应的倾向度参数,确定该候选服务器集群对待处理任务的任务调度倾向度。
具体地,获取各任务调度要素各自对应的倾向度参数之积,得到该候选服务器集群对所述待处理任务的任务调度倾向度。
或者,获取各任务调度要素各自对应的倾向度参数之间的加权和,得到该候选服务器集群对待处理任务的任务调度倾向度。
需要说明的是,对于各任务调度要素,均是影响待处理任务调度的因之一,为了更合理的对待处理任务进行调度,这里计算各任务调度要素各自对应的倾向度参数之积,或者计算各任务调度要素各自对应的倾向度参数之间的加权和,可以均衡各任务调度要素对待处理任务调度的影响,使得待处理任务的调度达到最佳。
此外,对于负载状况,倾向于将待处理任务调度至负载较小的候选服务器集群,并不倾向于将待处理任务调度至负载较大的候选服务器集群,即负载状况对于待处理任务调度的影响是负向的;
对于任务队列中任务数量,同理倾向于将待处理任务调度至任务队列中任务数量较少的候选服务器集群,并不倾向于将待处理任务调度至任务队列中任务数量较多的候选服务器集群,即任务队列中任务数量对于待处理任务调度的影响是负向的;
对于待处理任务的数据存储状况,倾向于将待处理任务调度至对待处理任务的所需数据全部存储的候选服务器集群,并不倾向于将待处理任务调度至对待处理任务的所需数据未存储的候选服务器集群,即待处理任务的数据存储状况对于待处理任务调度的影响是正向的;
而对于数据的数据级别,对于待处理任务调度的影响可以认为是中立的,自此,基于各任务调度要素对待处理任务调度的影响,对于各任务调度要素各自对应的倾向度参数,还可以采用加减,或者加减乘,或者加减乘除等手段,得到该候选服务器集群对待处理任务的任务调度倾向度,本发明实施例对此不作限定。
例如,获取负载状况、任务队列中任务数量、数据的数据级别各自对应的倾向度参数之间的加权和,与待处理任务的数据存储状况对应的倾向度参数相减,得到该候选服务器集群对待处理任务的任务调度倾向度。
或者,获取负载状况、任务队列中任务数量、数据的数据级别各自对应的倾向度参数之和,与待处理任务的数据存储状况对应的倾向度参数相减,得到该候选服务器集群对待处理任务的任务调度倾向度。
或者,获取负载状况、任务队列中任务数量各自对应的倾向度参数之间的加权和,与待处理任务的数据存储状况对应的倾向度参数相减,然后除以数据的数据级别对应的倾向度参数,得到该候选服务器集群对待处理任务的任务调度倾向度。
例如,以候选服务器集群A各任务调度要素各自对应的倾向度参数为例,如上述表6所示,获取第一倾向度参数、第二倾向度参数、第三倾向度参数及第四倾向度参数之积900,得到候选服务器集群A对待处理任务的任务调度倾向度。
例如,以候选服务器集群A各任务调度要素各自对应的倾向度参数为例,如上述表6所示,获取第一倾向度参数、第二倾向度参数、第三倾向度参数及第四倾向度参数之间的加权和6,得到候选服务器集群A对待处理任务的任务调度倾向度。
需要说明的是,这里各任务调度要素各自对应的倾向度参数的权重,可以参考任务调度因素对待处理任务调度的影响大小来设置,例如对于负载状况、任务队列中任务数量、待处理任务的数据存储状况等对待处理任务调度的影响较大,可以增大负载状况、任务队列中任务数量、待处理任务的数据存储状况等各自对应的倾向度参数的权重,可以减小数据的数据级别对应的倾向度参数的权重。
S304,利用所述任务调度倾向度,对各候选服务器集群进行排序,基于排序结果确定目标服务器集群。
在本发明实施例中,可以利用各候选服务器集群各自对应的任务调度倾向度,对各候选服务器集群进行排序,基于排序结果确定目标服务器集群。
例如,对于候选服务器集群A、候选服务器集群B、候选服务器集群C……等各候选服务器集群各自对应的任务调度倾向度,如下表7所示,利用表7所示的任务调度倾向度,对候选服务器集群A、候选服务器集群B、候选服务器集群C……等各候选服务器集群,按照从大到小的排序规则进行排序,确定排名第一的候选服务器集群A为目标服务器集群。
各候选服务器集群 任务调度倾向度
候选服务器集群A 900
候选服务器集群B 600
候选服务器集群C 300
…… ……
表7
S305,将所述待处理任务调度至所述目标服务器集群。
对于待处理任务而言,在确定目标服务器集群之后,可以将该待处理任务调度至目标服务器集群,由目标服务器集群执行该待处理任务,从而产生相应的数据。其中,可以将该待处理任务调度至目标服务器集群的目标任务队列中。
此外,在本发明实施例中,将待处理任务调度至目标服务器集群之后,由于服务器集群宕机,或者服务器集群任务队列中任务拥堵,导致任务延迟等待,为了避免此类现象的发生,本发明实施例可以对任务进行重新调度。故在上述任务调度方法的基础之上,本发明实施例还可以执行以下步骤:
对于各候选服务器集群,监测各候选服务器集群的运行指标,其中,运行指标包括目标运行状况和/或目标任务队列中任务数量,根据上述运行指标,确定各候选服务器集群是否运行异常,若第一服务器集群运行异常,确定第一服务器集群中的目标任务队列中的任务为待处理任务,其中,第一服务器集群为各候选服务器集群中的任意一个。如此可以确定第一服务器集群中的目标任务队列中的任务为待处理任务,将该待处理任务重新调度,可以避免该待处理任务被延迟执行,进一步提高任务处理效率以及任务数据产出效率。
例如,监测候选服务器集群A、候选服务器集群B、候选服务器集群C……等各候选服务器集群的运行指标(即运行状况和任务队列中任务数量),如果候选服务器集群A运行异常或者任务队列中任务数量过多,可以确定候选服务器集群A异常,从而确定候选服务器集群A中的任务队列中的任务为待处理任务,将该待处理任务重新调度,如图4所示。
或者,对于各候选服务器集群,统计各候选服务器集群的目标任务队列中任务的等待时间,判断各候选服务器集群的目标任务队列中的任务的等待时间是否超过预设时间阈值,若第二服务器集群的目标任务队列中的任务的等待时间超过预设时间阈值,确定第二服务器集群的目标任务队列中的任务为待处理任务,其中,第二服务器将集群为各候选服务器集群中的任意一个。
例如,统计候选服务器集群A、候选服务器集群B、候选服务器集群C……等各候选服务器集群的任务队列中的任务的等待时间,判断各候选服务器集群的任务队列中的任务的等待时间是否超过5分钟,如果候选服务器集群A的任务队列中的任务的等待时间超过5分钟,说明候选服务器集群A的任务队列中的任务积压,可以确定候选服务器集群A的任务队列中的任务为待处理任务,将该待处理任务重新进行调度。
在本发明实施例中,基于一个支持跨服务器集群调度的中心化调度系统,设计了基于服务器集群的负载状况、任务队列中任务数量、待处理任务的数据存储状况、数据的数据级别等多级别的任务调度要素,根据任务的现实情况,通过任务调度要素打分来确定任务运行在那个服务器集群上。
基于上述发明原理,使用方的任务在启动运行时,无需指定相应的服务器集群,智能化调度系统会挑选出最适合的服务器集群来运行此任务。
如下的示例:现存在两个服务器集群,分别为服务器集群A(以下称为Cluster-A,和服务器集群B(以下称为Cluster-B),各任务调度要素如下:1、服务器集群的运行状况(正常为1,异常为0);2、服务器集群的任务队列中任务数量(pending0-10为10,pending10-20为5,pending20+为1);3、服务器集群的待处理任务的数据存储状况(部分数据存储于服务器集群为3,全部数据存储于服务器集群为6,非这2点为1);
现有使用方提交任务,数据存储在Cluster-B,而Cluster-A宕机,Cluster-B任务队列中无pending(即任务数量为0),状态正常;
智能化调度系统会将会给任务在哪个服务器集群运行进行打分,如下:Score(Cluster-A)=0,Score(Cluster-B)=1*10*6=60,则选择Cluster-B作为任务运行的服务器集群。
同时,智能化调度系统会监测已提交的任务的状态和各个服务器集群的运行状态,一旦发现服务器集群宕机或者任务拥堵,将会对已提交的任务重新实行调度,以避免任务的延迟。
如此通过创新性的设置各任务调度要素各自对应的分数,在任务调度时选择分数最高者,将任务调度至分数最高者对应的服务器集群,可以实现无需指定服务器集群,任务自动调度容错各个服务器集群。
与此同时,当任务拥堵的时候,能够自动切换为空闲服务器集群;当服务器集群宕机的时候,能够自动筛除此服务器集群,极大的提升任务运行的稳定性,保证任务数据的高效快速产出,解放了人力,降低了任务运维成本。
与上述方法实施例相对应,本发明实施例还提供了一种任务调度装置,应用于服务器,如图5所示,该装置可以包括:要素确定模块510、倾向度确定模块520、集群确定模块530、任务调度模块540。
要素确定模块510,用于在接收到待处理任务的情况下,确定各候选服务器集群的任务调度要素;
倾向度确定模块520,用于基于各候选服务器集群的所述任务调度要素,确定各候选服务器集群对所述待处理任务的任务调度倾向度;
集群确定模块530,用于利用所述任务调度倾向度,从各候选服务器集群中确定目标服务器集群;
任务调度模块540,用于将所述待处理任务调度至所述目标服务器集群。
在本发明实施例的具体实施方式中,所述任务调度要素至少包括下述之一:负载状况、任务队列中任务数量、所述待处理任务的数据存储状况、所述数据的数据级别。
在本发明实施例的具体实施方式中,倾向度确定模块520具体包括:
倾向度参数获取子模块,用于针对任意一个所述候选服务器集群,获取所述候选服务器集群中各任务调度要素各自对应的倾向度参数;
倾向度确定子模块,用于基于各任务调度要素各自对应的倾向度参数,确定所述候选服务器集群对所述待处理任务的任务调度倾向度。
在本发明实施例的具体实施方式中,所述倾向度参数获取子模块具体用于:
获取各任务调度要素各自对应的倾向度参数之积,得到所述候选服务器集群对所述待处理任务的任务调度倾向度;
或者,
获取各任务调度要素各自对应的倾向度参数之间的加权和,得到所述候选服务器集群对所述待处理任务的任务调度倾向度。
在本发明实施例的具体实施方式中,所述倾向度确定子模块具体用于:
确定所述候选服务器集群中各任务调度要素各自对应的要素级别,查找与所述要素级别相对应的倾向度参数;
或者,
利用预先训练好的倾向度参数预测模型,对所述候选服务器集群中各任务调度要素进行处理,得到各自对应的倾向度参数。
在本发明实施例的具体实施方式中,所述装置还包括:
待处理任务第一确定模块,用于监测各候选服务器集群的运行指标,其中,所述运行指标包括目标运行状况和/或目标任务队列中任务数量;
根据所述运行指标,确定各候选服务器集群是否运行异常;
若第一服务器集群运行异常,确定所述第一服务器集群中的所述目标任务队列中的任务为待处理任务;其中,所述第一服务器集群为各候选服务器集群中的任意一个。
在本发明实施例的具体实施方式中,所述装置还包括:
待处理任务第二确定模块,用于统计各候选服务器集群的目标任务队列中任务的等待时间;
判断各候选服务器集群的所述目标任务队列中的任务的所述等待时间是否超过预设时间阈值;
若第二服务器集群的所述目标任务队列中的任务的所述等待时间超过所述预设时间阈值,确定所述第二服务器集群的所述目标任务队列中的任务为待处理任务;其中,所述第二服务器将集群为各候选服务器集群中的任意一个。
本发明实施例还提供了一种电子设备,如图6所示,包括处理器61、通信接口62、存储器63和通信总线64,其中,处理器61,通信接口62,存储器63通过通信总线64完成相互间的通信,
存储器63,用于存放计算机程序;
处理器61,用于执行存储器63上所存放的程序时,实现上述实施例中任一所述的任务调度方法。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种存储介质,该存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的任务调度方法。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的任务调度方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在存储介质中,或者从一个存储介质向另一个存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (8)

1.一种任务调度方法,其特征在于,所述方法包括:
在接收到待处理任务的情况下,确定各候选服务器集群的任务调度要素,所述任务调度要素至少包括:负载状况、任务队列中任务数量、所述待处理任务的数据存储状况、所述数据的数据级别,所述待处理任务的数据存储状况指的是候选服务器集群对待处理任务的所需数据的存储状况;
基于各候选服务器集群的所述任务调度要素,确定各候选服务器集群对所述待处理任务的任务调度倾向度,包括:针对任意一个所述候选服务器集群,获取所述候选服务器集群中各任务调度要素各自对应的倾向度参数;基于各任务调度要素各自对应的倾向度参数,确定所述候选服务器集群对所述待处理任务的任务调度倾向度;
其中,利用预先训练好的倾向度参数预测模型,对该候选服务器集群中的各任务调度要素进行处理,得到各自对应的倾向度参数,各任务调度要素存在对应的倾向度参数预测模型;
获取负载状况、任务队列中任务数量、数据的数据级别各自对应的倾向度参数之间的加权和,与待处理任务的数据存储状况对应的倾向度参数相减,得到该候选服务器集群对待处理任务的任务调度倾向度;
利用所述任务调度倾向度,从各候选服务器集群中确定目标服务器集群;
将所述待处理任务调度至所述目标服务器集群。
2.根据权利要求1所述的方法,其特征在于,所述基于各任务调度要素各自对应的倾向度参数,确定所述候选服务器集群对所述待处理任务的任务调度倾向度,包括:
获取各任务调度要素各自对应的倾向度参数之积,得到所述候选服务器集群对所述待处理任务的任务调度倾向度;
或者,
获取各任务调度要素各自对应的倾向度参数之间的加权和,得到所述候选服务器集群对所述待处理任务的任务调度倾向度。
3.根据权利要求1所述的方法,其特征在于,所述获取所述候选服务器集群中各任务调度要素各自对应的倾向度参数,包括:
确定所述候选服务器集群中各任务调度要素各自对应的要素级别,查找与所述要素级别相对应的倾向度参数;
或者,
利用预先训练好的倾向度参数预测模型,对所述候选服务器集群中各任务调度要素进行处理,得到各自对应的倾向度参数。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述方法还包括:
监测各候选服务器集群的运行指标,其中,所述运行指标包括目标运行状况和/或目标任务队列中任务数量;
根据所述运行指标,确定各候选服务器集群是否运行异常;
若第一服务器集群运行异常,确定所述第一服务器集群中的所述目标任务队列中的任务为待处理任务;其中,所述第一服务器集群为各候选服务器集群中的任意一个。
5.根据权利要求1至3中任一项所述的方法,其特征在于,所述方法还包括:
统计各候选服务器集群的目标任务队列中任务的等待时间;
判断各候选服务器集群的所述目标任务队列中的任务的所述等待时间是否超过预设时间阈值;
若第二服务器集群的所述目标任务队列中的任务的所述等待时间超过所述预设时间阈值,确定所述第二服务器集群的所述目标任务队列中的任务为待处理任务;其中,所述第二服务器将集群为各候选服务器集群中的任意一个。
6.一种任务调度装置,其特征在于,所述装置包括:
要素确定模块,用于在接收到待处理任务的情况下,确定各候选服务器集群的任务调度要素,所述任务调度要素至少包括:负载状况、任务队列中任务数量、所述待处理任务的数据存储状况、所述数据的数据级别,所述待处理任务的数据存储状况指的是候选服务器集群对待处理任务的所需数据的存储状况;
倾向度确定模块,用于基于各候选服务器集群的所述任务调度要素,确定各候选服务器集群对所述待处理任务的任务调度倾向度,包括:针对任意一个所述候选服务器集群,获取所述候选服务器集群中各任务调度要素各自对应的倾向度参数;基于各任务调度要素各自对应的倾向度参数,确定所述候选服务器集群对所述待处理任务的任务调度倾向度;
其中,利用预先训练好的倾向度参数预测模型,对该候选服务器集群中的各任务调度要素进行处理,得到各自对应的倾向度参数,各任务调度要素存在对应的倾向度参数预测模型;
获取负载状况、任务队列中任务数量、数据的数据级别各自对应的倾向度参数之间的加权和,与待处理任务的数据存储状况对应的倾向度参数相减,得到该候选服务器集群对待处理任务的任务调度倾向度;
集群确定模块,用于利用所述任务调度倾向度,从各候选服务器集群中确定目标服务器集群;
任务调度模块,用于将所述待处理任务调度至所述目标服务器集群。
7.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-5中任一所述的方法步骤。
8.一种存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-5中任一所述的方法。
CN202110485812.XA 2021-04-30 2021-04-30 任务调度方法、装置、电子设备及存储介质 Active CN113515358B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110485812.XA CN113515358B (zh) 2021-04-30 2021-04-30 任务调度方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110485812.XA CN113515358B (zh) 2021-04-30 2021-04-30 任务调度方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN113515358A CN113515358A (zh) 2021-10-19
CN113515358B true CN113515358B (zh) 2024-04-12

Family

ID=78063836

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110485812.XA Active CN113515358B (zh) 2021-04-30 2021-04-30 任务调度方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN113515358B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117215741A (zh) * 2023-08-29 2023-12-12 慧之安信息技术股份有限公司 一种基于响应比的边缘计算调度方法及系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111090502A (zh) * 2018-10-24 2020-05-01 阿里巴巴集团控股有限公司 一种流数据任务调度方法和装置
CN111190718A (zh) * 2020-01-07 2020-05-22 第四范式(北京)技术有限公司 实现任务调度的方法、装置及系统
CN111338770A (zh) * 2020-02-12 2020-06-26 咪咕文化科技有限公司 一种任务调度的方法、服务器和计算机可读存储介质
CN111538572A (zh) * 2020-03-26 2020-08-14 中国平安人寿保险股份有限公司 任务处理方法、装置、调度服务器及介质
CN112035236A (zh) * 2020-09-08 2020-12-04 深圳天源迪科信息技术股份有限公司 基于多因子协同的任务调度方法、装置、及存储介质
CN112162865A (zh) * 2020-11-03 2021-01-01 中国工商银行股份有限公司 服务器的调度方法、装置和服务器

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104133724B (zh) * 2014-04-03 2015-08-19 腾讯科技(深圳)有限公司 并发任务调度方法及装置
CN104834722B (zh) * 2015-05-12 2018-03-02 网宿科技股份有限公司 基于cdn的内容管理系统
US11422856B2 (en) * 2019-06-28 2022-08-23 Paypal, Inc. Adaptive program task scheduling to blocking and non-blocking queues

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111090502A (zh) * 2018-10-24 2020-05-01 阿里巴巴集团控股有限公司 一种流数据任务调度方法和装置
CN111190718A (zh) * 2020-01-07 2020-05-22 第四范式(北京)技术有限公司 实现任务调度的方法、装置及系统
CN111338770A (zh) * 2020-02-12 2020-06-26 咪咕文化科技有限公司 一种任务调度的方法、服务器和计算机可读存储介质
CN111538572A (zh) * 2020-03-26 2020-08-14 中国平安人寿保险股份有限公司 任务处理方法、装置、调度服务器及介质
CN112035236A (zh) * 2020-09-08 2020-12-04 深圳天源迪科信息技术股份有限公司 基于多因子协同的任务调度方法、装置、及存储介质
CN112162865A (zh) * 2020-11-03 2021-01-01 中国工商银行股份有限公司 服务器的调度方法、装置和服务器

Also Published As

Publication number Publication date
CN113515358A (zh) 2021-10-19

Similar Documents

Publication Publication Date Title
CN107423120B (zh) 任务调度方法及装置
CN105095056B (zh) 一种数据仓库数据监控的方法
CN110837410A (zh) 任务调度方法、装置、电子设备及计算机可读存储介质
US8015564B1 (en) Method of dispatching tasks in multi-processor computing environment with dispatching rules and monitoring of system status
US8751879B2 (en) Intelligently monitoring and dispatching information technology service alerts
US20130132060A1 (en) Predicting service request breaches
CN110347602B (zh) 多任务脚本执行方法及装置、电子设备及可读存储介质
CN111880939A (zh) 容器动态迁移方法、装置及电子设备
US20190280945A1 (en) Method and apparatus for determining primary scheduler from cloud computing system
CN113515358B (zh) 任务调度方法、装置、电子设备及存储介质
CN112749221A (zh) 数据任务调度方法、装置、存储介质及调度工具
CN111381970A (zh) 集群任务的资源分配方法及装置、计算机装置及存储介质
CN111444004A (zh) 一种资源管理方法、装置及存储介质
CN114489942B (zh) 一种面向应用集群的队列任务调度方法及系统
CN114840392A (zh) 任务调度异常监控方法、装置、介质及程序产品
CN111767145A (zh) 容器调度系统、方法、装置和设备
CN111176833A (zh) 一种多处理节点的任务分配方法及系统
CN110033144B (zh) 一种翻译项目风险的动态自适应评估方法及系统
CN112788010B (zh) 一种基于威胁事件的剧本处理方法、装置、介质和设备
CN111857990B (zh) 一种加强yarn长类型服务调度的方法、系统
da Silva et al. Self-healing of operational workflow incidents on distributed computing infrastructures
CN110728372B (zh) 一种人工智能模型动态加载的集群设计方法及集群系统
CN111475267A (zh) 系统任务自动调度方法、装置、计算机设备及存储介质
CN114995974A (zh) 任务调度方法、装置、存储介质及计算机设备
CN113254190B (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