CN115756773B - 任务调度方法、装置、电子设备和存储介质 - Google Patents
任务调度方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN115756773B CN115756773B CN202211355252.7A CN202211355252A CN115756773B CN 115756773 B CN115756773 B CN 115756773B CN 202211355252 A CN202211355252 A CN 202211355252A CN 115756773 B CN115756773 B CN 115756773B
- Authority
- CN
- China
- Prior art keywords
- tasks
- task
- information
- running state
- scheduling
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 94
- 238000005457 optimization Methods 0.000 claims abstract description 151
- 238000011156 evaluation Methods 0.000 claims description 25
- 238000012544 monitoring process Methods 0.000 claims description 23
- 230000005540 biological transmission Effects 0.000 claims description 16
- 239000000725 suspension Substances 0.000 claims description 14
- 238000012545 processing Methods 0.000 claims description 13
- 238000012935 Averaging Methods 0.000 claims description 2
- 230000008569 process Effects 0.000 description 11
- 230000006870 function Effects 0.000 description 6
- 238000004590 computer program Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000007613 environmental effect Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000013468 resource allocation Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013278 delphi method Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000012847 principal component analysis method Methods 0.000 description 1
- 238000013077 scoring method Methods 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提出一种任务调度方法、装置、电子设备和存储介质,其中,方法包括:通过获取多个任务的任务信息,以及用于运行多个任务的目标设备的资源信息,实现根据资源信息和多个任务的任务信息,采用至少一种优化模型确定候选调度信息,从而基于至少一种优化模型确定的候选调度信息,向多个任务调度目标设备的资源,以及调度多个任务的执行顺序,以得到多个任务的运行状态参数,进而基于多个任务的运行状态参数,从至少一种优化模型确定的候选调度信息中,选定目标调度信息,以根据目标调度信息向多个任务调度目标设备的资源,以及调度多个任务的执行顺序。由此,可实现根据各任务的运行状态参数确定最优调度信息,有效提高资源利用率。
Description
技术领域
本发明涉及资源分配技术领域,尤其涉及一种任务调度方法、装置、电子设备和存储介质。
背景技术
随着计算机技术的飞速发展,越来越多的任务***需要进行大数据资源配置。相关技术中,进行大数据资源配置的任务***即使在任务量很大的情况下,也只能根据任务的业务逻辑,人工进行调度配置,而无法根据当前任务负荷分布情况,进行更合理的分配,从而也就无法反馈出配置的参数在任务运行是否真正合适,对固定模型发生变化后的任务资源需求无法给出有效模型调整资源配置,使得资源无法有效利用。
发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本发明的第一个目的在于提出一种任务调度方法,以实现基于多个任务的运行状态参数,从至少一种优化模型确定的候选调度信息中,选定目标调度信息,提高资源利用率。
本发明的第二个目的在于提出一种任务调度装置。
本发明的第三个目的在于提出一种电子设备。
本发明的第四个目的在于提出一种计算机可读存储介质。
本发明的第五个目的在于提出一种计算机程序产品。
为达上述目的,本发明第一方面实施例提出了一种任务调度方法,包括:
获取多个任务的任务信息,以及用于运行所述多个任务的目标设备的资源信息;
根据所述资源信息和所述多个任务的任务信息,采用至少一种优化模型确定候选调度信息;
基于至少一种所述优化模型确定的候选调度信息,向所述多个任务调度所述目标设备的资源,以及调度所述多个任务的执行顺序,以得到所述多个任务的运行状态参数;
基于所述多个任务的运行状态参数,从至少一种所述优化模型确定的候选调度信息中,选定目标调度信息,以根据所述目标调度信息向所述多个任务调度所述目标设备的资源,以及调度所述多个任务的执行顺序。
可选地,作为第一方面的第一种可能的实现方式,所述根据所述资源信息和所述多个任务的任务信息,采用至少一种优化模型确定候选调度信息,包括:
将所述资源信息和所述多个任务的任务信息作为输入参数,输入到至少一种所述优化模型中,以分别采用至少一种所述优化模型进行预测,得到至少一种所述优化模型的输出确定所述候选调度信息;
其中,所述至少一种所述优化模型包括下列中的至少一个:极大值估计模型、极小值估计模型、线性规划模型、多元分配模型和多时段分配模型。
可选地,作为第一方面的第二种可能的实现方式,所述获取多个任务的任务信息,以及用于运行所述多个任务的目标设备的资源信息,包括:
对所述多个任务进行运行状态的监测;
在任一次监测到运行状态不符合设定条件的情况下,获取多个任务的任务信息,以及用于运行所述多个任务的目标设备的资源信息。
可选地,作为第一方面的第三种可能的实现方式,所述在任一次监测到运行状态不符合设定条件的情况下,获取多个任务的任务信息,以及用于运行所述多个任务的目标设备的资源信息,包括:
在任一次监测到运行状态不符合设定条件的情况下,根据所述多个任务的所需的标准运行资源,以及所述多个任务之间的依赖关系,生成所述多个任务的任务信息;
根据所述目标设备的已运行任务数量、IO接口占用率、内存占用信息、可用网络传输带宽和CPU负载中的至少一个,生成所述资源信息。
可选地,作为第一方面的第四种可能的实现方式,所述对所述多个任务进行运行状态的监测,包括:
对所述多个任务的任务队列拥塞时长、资源挂起时长、任务失败次数、任务等待时长、任务重试次数中的至少一个进行监测。
可选地,作为第一方面的第五种可能的实现方式,所述基于所述多个任务的运行参数,从至少一种所述优化模型确定的候选调度信息中,选定目标调度信息,包括:
针对任意的一种所述优化模型,获取基于对应候选调度信息的调度下,所述多个任务的运行状态参数;
在所述运行状态参数为多种的情况下,针对每一种所述运行状态参数,对所述多个任务的运行状态参数求均值,以得到每一种所述运行状态参数的均值;
根据每一种所述运行状态参数的均值,确定对应优化模型的评价值;
根据各所述优化模型的评价值,从各所述优化模型确定的候选调度信息中,选定所述目标调度信息。
可选地,作为第一方面的第六种可能的实现方式,所述根据每一种所述运行状态参数的均值,确定对应优化模型的评价值,包括:
基于每一种所述运行状态参数的权重,以及每一种所述运行状态参数的均值进行加权求和,以得到所述评价值。
可选地,作为第一方面的第七种可能的实现方式,所述基于至少一种所述优化模型确定的候选调度信息,向所述多个任务调度所述目标设备的资源,以及调度所述多个任务的执行顺序,以得到所述多个任务的运行状态参数,包括:
针对每一种所述优化模型,根据每一种所述优化模型确定出的候选调度信息,配置所述多个任务的资源,以及确定所述多个任务的执行顺序;
在所述多个任务基于配置的资源以及所述执行顺序执行的情况下,监测所述多个任务的运行状态参数,其中,所述运行状态参数包括数据网络传输量、任务内存溢出OOM、任务等待时长和任务资源消耗中的一个或多个组合。
为达上述目的,本发明第二方面实施例提出了一种任务调度装置,包括:
获取模块,用于获取多个任务的任务信息,以及用于运行所述多个任务的目标设备的资源信息;
确定模块,用于根据所述资源信息和所述多个任务的任务信息,采用至少一种优化模型确定候选调度信息;
调度模块,用于基于至少一种所述优化模型确定的候选调度信息,向所述多个任务调度所述目标设备的资源,以及调度所述多个任务的执行顺序,以得到所述多个任务的运行状态参数;
处理模块,用于基于所述多个任务的运行状态参数,从至少一种所述优化模型确定的候选调度信息中,选定目标调度信息,以根据所述目标调度信息向所述多个任务调度所述目标设备的资源,以及调度所述多个任务的执行顺序。
可选地,作为第二方面的第一种可能的实现方式,所述确定模块,还用于:
将所述资源信息和所述多个任务的任务信息作为输入参数,输入到至少一种所述优化模型中,以分别采用至少一种所述优化模型进行预测,得到至少一种所述优化模型的输出确定所述候选调度信息;
其中,所述至少一种所述优化模型包括下列中的至少一个:极大值估计模型、极小值估计模型、线性规划模型、多元分配模型和多时段分配模型。
可选地,作为第二方面的第二种可能的实现方式,所述获取模块,包括:
监测单元,用于对所述多个任务进行运行状态的监测;
第一获取单元,用于在任一次监测到运行状态不符合设定条件的情况下,获取多个任务的任务信息,以及用于运行所述多个任务的目标设备的资源信息。
可选地,作为第二方面的第三种可能的实现方式,所述第一获取单元,还用于:
在任一次监测到运行状态不符合设定条件的情况下,根据所述多个任务的所需的标准运行资源,以及所述多个任务之间的依赖关系,生成所述多个任务的任务信息;
根据所述目标设备的已运行任务数量、IO接口占用率、内存占用信息、可用网络传输带宽和CPU负载中的至少一个,生成所述资源信息。
可选地,作为第二方面的第四种可能的实现方式,所述监测单元,还用于:
对所述多个任务的任务队列拥塞时长、资源挂起时长、任务失败次数、任务等待时长、任务重试次数中的至少一个进行监测。
可选地,作为第二方面的第五种可能的实现方式,所述处理模块,包括:
第二获取单元,用于针对任意的一种所述优化模型,获取基于对应候选调度信息的调度下,所述多个任务的运行状态参数;
第一处理单元,用于在所述运行状态参数为多种的情况下,针对每一种所述运行状态参数,对所述多个任务的运行状态参数求均值,以得到每一种所述运行状态参数的均值;
确定单元,用于根据每一种所述运行状态参数的均值,确定对应优化模型的评价值;
第二处理单元,用于根据各所述优化模型的评价值,从各所述优化模型确定的候选调度信息中,选定所述目标调度信息。
可选地,作为第二方面的第六种可能的实现方式,所述确定单元,还用于:
基于每一种所述运行状态参数的权重,以及每一种所述运行状态参数的均值进行加权求和,以得到所述评价值。
可选地,作为第二方面的第七种可能的实现方式,所述调度模块,还用于:
针对每一种所述优化模型,根据每一种所述优化模型确定出的候选调度信息,配置所述多个任务的资源,以及确定所述多个任务的执行顺序;
在所述多个任务基于配置的资源以及所述执行顺序执行的情况下,监测所述多个任务的运行状态参数,其中,所述运行状态参数包括数据网络传输量、任务内存溢出OOM、任务等待时长和任务资源消耗中的一个或多个组合。
为达上述目的,本发明第三方面实施例提出了一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行第一方面所述的任务调度方法。
为了实现上述目的,本发明第四方面实施例提出了一种存储有计算机指令的计算机可读存储介质,所述计算机指令用于使所述计算机执行第一方面所述的任务调度方法。
为了实现上述目的,本发明第五方面实施例提出了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现第一方面所述的任务调度方法。
本发明实施例所提供的技术方案包含如下的有益效果:
通过获取多个任务的任务信息,以及用于运行多个任务的目标设备的资源信息,实现根据资源信息和多个任务的任务信息,采用至少一种优化模型确定候选调度信息,从而基于至少一种优化模型确定的候选调度信息,向多个任务调度目标设备的资源,以及调度多个任务的执行顺序,以得到多个任务的运行状态参数,进而基于多个任务的运行状态参数,从至少一种优化模型确定的候选调度信息中,选定目标调度信息,以根据目标调度信息向多个任务调度目标设备的资源,以及调度多个任务的执行顺序。由此,可实现根据各任务的运行状态参数确定最优调度信息,有效提高资源利用率。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本发明实施例所提供的一种任务调度方法的流程示意图;
图2为本发明实施例所提供的另一种任务调度方法的流程示意图;
图3为本发明实施例所提供的另一种任务调度方法的流程示意图;
图4为本发明实施例所提供的另一种任务调度方法的流程示意图;
图5为本发明实施例所提供的一种场景下任务调度方法的流程示意图;
图6为本发明实施例所提供的一种任务调度装置的结构示意图;
图7为本发明实施例提供的一个电子设备的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
相关技术中,进行大数据资源配置的任务***即使在任务量很大的情况下,也只能根据任务的业务逻辑,人工进行调度配置,而无法根据当前任务负荷分布情况,进行更合理的分配,从而也就无法反馈出配置的参数在任务运行是否真正合适,对固定模型发生变化后的任务资源需求无法给出有效模型调整资源配置,使得资源无法有效利用。
针对这一问题,本发明实施例提供了一种任务调度方法,以实现根据各任务的运行状态参数确定最优调度信息,保证在资源有限的前提下,任务运行时间最短;或者保证在既定的运行任务前提下,使用资源最小,提高资源利用率。
下面参考附图描述本发明实施例的任务调度方法、装置、电子设备和存储介质。
图1为本发明实施例所提供的一种任务调度方法的流程示意图。
需要说明的是,本发明实施例的任务调度方法可以由本发明实施例提供的任务调度装置执行。该任务调度装置可以为电子设备,也可以被配置在电子设备中,以实现基于多个任务的运行状态参数,从至少一种优化模型确定的候选调度信息中,选定目标调度信息。
其中,电子设备,可以是任意能够进行数据处理的静止或者移动计算设备,例如笔记本电脑、智能手机、可穿戴设备等移动计算设备,或者台式计算机等静止的计算设备,或者服务器,或者其它类型的计算设备等,本实施例中对此不作限制。
如图1所示,该任务调度方法包括以下步骤:
步骤101,获取多个任务的任务信息,以及用于运行多个任务的目标设备的资源信息。
在本实施例中,任务信息是指任务运行时与任务相关的一些信息,可选地,任务信息可以包括任务等待时长、任务运行时长和任务运行结果,等等。目标设备是指用于运行多个任务的设备,可选地,目标设备可以为服务器。资源信息是指目标设备运行任务时与目标设备相关的一些信息,可选地,目标设备的资源信息可以包括目标设备的已运行任务数量、IO(Input/Output,输入/输出)接口占用率、内存占用信息、可用网络传输带宽和CPU(central processing unit,中央处理器)负载,等等。
在本实施例中,任务调度装置可以获取多个任务的任务信息,以及用于运行多个任务的目标设备的资源信息。具体地,任务调度装置可以在目标设备运行多个任务时,获取多个任务的任务信息和目标设备的资源信息。
需要说明的是,本实施例中的任务调度装置可以通过各种公开、合法、合规的方式获取多个任务的任务信息,以及用于运行多个任务的目标设备的资源信息,例如任务调度装置可以在线实时采集多个任务的任务信息,以及用于运行多个任务的目标设备的资源信息,或者也可以通过网络传输或者物理拷贝的方式从其它装置获取多个任务的任务信息,以及用于运行多个任务的目标设备的资源信息,或者也可以通过其它公开、合法、合规的方式获取多个任务的任务信息,以及用于运行多个任务的目标设备的资源信息,本实施例中对此不作限制。
步骤102,根据资源信息和多个任务的任务信息,采用至少一种优化模型确定候选调度信息。
在本实施例中,候选调度信息可以理解为用于调度目标设备资源和调度多个任务的信息,可选地,候选调度信息可以包括用于调度目标设备资源的信息和用于调度多个任务的执行顺序的信息,等等。
在本实施例中,在获取到目标设备的资源信息和多个任务的任务信息之后,可以采用至少一种优化模型,基于目标设备的资源信息和多个任务的任务信息,确定候选调度信息。其中,至少一种优化模型可以包括下列中的至少一个:极大值估计模型、极小值估计模型、线性规划模型、多元分配模型和多时段分配模型。
需要说明的是,极大值估计模型是一种以优先满足最大资源需求数为优化目标的模型,极小值估计模型是一种以优先满足最小资源需求数为优化目标的模型,线性规划模型是一种以先进资源队列优先为优化目标的模型,多元分配模型是一种以某种或多种资源分配给需求最多数的任务优先为优化目标的模型,多时段分配模型是一种以某种或多种资源按时间段进行优先级调整的情况下,满足资源匹配的任务优先为优化目标的模型。
可以理解的是,由于可以采用至少一种优化模型确定候选调度信息,从而确定的候选调度信息的数量与采用的优化模型的数量一致。
步骤103,基于至少一种优化模型确定的候选调度信息,向多个任务调度目标设备的资源,以及调度多个任务的执行顺序,以得到多个任务的运行状态参数。
在本实施例中,在采用至少一种优化模型确定好候选调度信息之后,可以基于至少一种优化模型确定的候选调度信息,向多个任务调度目标设备的资源,以及调度多个任务的执行顺序,从而得到多个任务的运行状态参数。其中,运行状态参数是指任务运行时与任务运行相关的一些参数,可选地,运行状态参数可以包括数据网络传输量、任务内存溢出OOM、任务等待时长和任务资源消耗中的一个或多个组合。
可以理解的是,由于确定的候选调度信息的数量与采用的优化模型的数量一致,从而针对任意一种优化模型确定的候选调度信息,都可以得到对应的多个任务的运行状态参数。
步骤104,基于多个任务的运行状态参数,从至少一种优化模型确定的候选调度信息中,选定目标调度信息,以根据目标调度信息向多个任务调度目标设备的资源,以及调度多个任务的执行顺序。
在本实施例中,在得到至少一种优化模型确定的候选调度信息对应的多个任务的运行状态参数之后,可以基于得到的至少一种优化模型确定的候选调度信息对应的多个任务的运行状态参数,从至少一种优化模型确定的候选调度信息中,选定目标调度信息,以根据目标调度信息向多个任务调度目标设备的资源,以及调度多个任务的执行顺序。
在本实施例的一种可能的实现方式中,可以针对任意一种优化模型确定的候选调度信息,根据其对应的多个任务的运行状态参数,确定对应的评价值,从而将各优化模型确定的候选调度信息中,评价值最高的候选调度信息选定为目标调度信息,进而根据目标调度信息向多个任务调度目标设备的资源,以及调度多个任务的执行顺序。
本发明实施例提供的任务调度方法,通过获取多个任务的任务信息,以及用于运行多个任务的目标设备的资源信息,实现根据资源信息和多个任务的任务信息,采用至少一种优化模型确定候选调度信息,从而基于至少一种优化模型确定的候选调度信息,向多个任务调度目标设备的资源,以及调度多个任务的执行顺序,以得到多个任务的运行状态参数,进而基于多个任务的运行状态参数,从至少一种优化模型确定的候选调度信息中,选定目标调度信息,以根据目标调度信息向多个任务调度目标设备的资源,以及调度多个任务的执行顺序。由此,可实现根据各任务的运行状态参数确定最优调度信息,有效提高资源利用率。
为了清楚说明上一实施例,本实施例提供了另一种任务调度方法,图2为本发明实施例所提供的另一种任务调度方法的流程示意图。
如图2所示,该任务调度方法可以包括以下步骤:
步骤201,对多个任务进行运行状态的监测,在任一次监测到运行状态不符合设定条件的情况下,获取多个任务的任务信息,以及用于运行多个任务的目标设备的资源信息。
在本实施例中,可以对多个任务进行运行状态的监测,以判断运行状态是否符合设定条件,从而在任一次监测到运行状态不符合设定条件的情况下,获取多个任务的任务信息,以及用于运行多个任务的目标设备的资源信息。其中,对于设定条件的具体设定本发明实施例并没有作出限定,可选地,可以根据人工经验进行设定,例如,可以将设定条件设定为运行状态指标阈值,从而可以通过对各运行状态指标阈值设定具体取值来判断监测到的运行状态是否符合设定条件,或者,也可以根据实际应用需求进行动态调整,本实施例中对此不作限制。
需要说明的是,本步骤中获取多个任务的任务信息,以及用于运行多个任务的目标设备的资源信息的执行过程可以参见上一实施例中步骤101的执行过程,原理相同,在此不再赘述。
步骤202,将资源信息和多个任务的任务信息作为输入参数,输入到至少一种优化模型中,以分别采用至少一种优化模型进行预测,得到至少一种优化模型的输出确定候选调度信息。
在本实施例中,在获取到目标设备的资源信息和多个任务的任务信息之后,可以将资源信息和多个任务的任务信息作为输入参数,输入到至少一种优化模型中,以分别采用至少一种优化模型进行预测,得到至少一种优化模型的输出确定候选调度信息。其中,至少一种优化模型可以包括下列中的至少一个:极大值估计模型、极小值估计模型、线性规划模型、多元分配模型和多时段分配模型。
需要说明的是,本步骤的其他执行过程可以参见上一实施例中步骤102的执行过程,原理相同,在此不再赘述。
步骤203,针对每一种优化模型,根据每一种优化模型确定出的候选调度信息,配置多个任务的资源,以及确定多个任务的执行顺序。
在本实施例中,可以针对任意的一种优化模型,根据该优化模型确定的候选调度信息,配置多个任务的资源,以及确定多个任务的执行顺序,以向多个任务调度目标设备的资源,以及调度多个任务的执行顺序,使多个任务基于配置的资源和确定执行顺序进行执行。
步骤204,在多个任务基于配置的资源以及执行顺序执行的情况下,监测多个任务的运行状态参数。
其中,运行状态参数包括数据网络传输量、任务内存溢出OOM、任务等待时长和任务资源消耗中的一个或多个组合。
在本实施例中,可以在多个任务基于配置的资源以及执行顺序执行的情况下,对多个任务的运行状态参数进行监测,以得到多个任务的运行状态参数的具体值。
步骤205,基于多个任务的运行状态参数,从至少一种所述优化模型确定的候选调度信息中,选定目标调度信息,以根据目标调度信息向多个任务调度目标设备的资源,以及调度多个任务的执行顺序。
需要说明的是,本步骤的执行过程可以参见上一实施例中步骤104的执行过程,原理相同,在此不再赘述。
本发明实施例提供的任务调度方法,通过对多个任务进行运行状态的监测在任一次监测到运行状态不符合设定条件的情况下,获取多个任务的任务信息,以及用于运行多个任务的目标设备的资源信息,实现将资源信息和多个任务的任务信息作为输入参数,输入到至少一种优化模型中,以分别采用至少一种优化模型进行预测,得到至少一种优化模型的输出确定候选调度信息,从而针对每一种优化模型,根据每一种优化模型确定出的候选调度信息,配置多个任务的资源,以及确定多个任务的执行顺序,进而在多个任务基于配置的资源以及执行顺序执行的情况下,监测多个任务的运行状态参数,实现基于多个任务的运行状态参数,从至少一种所述优化模型确定的候选调度信息中,选定目标调度信息,以根据目标调度信息向多个任务调度目标设备的资源,以及调度多个任务的执行顺序。由此,可实现在任务运行过程中,随着任务资源需求或者环境变化而导致的任务运行状态不符合设定条件而重新基于各任务的运行状态参数选定目标调度信息,优化任务运行时长和任务等待时长,有效减少因OOM等导致的任务运行失败次数。
通过上述分析可知,本发明中可以对多个任务进行运行状态的监测,和在任一次监测到运行状态不符合设定条件的情况下,获取多个任务的任务信息,以及用于运行多个任务的目标设备的资源信息,为了清楚说明本发明中是如何对多个任务进行运行状态的监测,和如何在任一次监测到运行状态不符合设定条件的情况下,获取多个任务的任务信息,以及用于运行多个任务的目标设备的资源信息,本实施例提供了另一种任务调度方法,图3为本发明实施例所提供的另一种任务调度方法的流程示意图。
如图3所示,该任务调度方法可以包括以下步骤:
步骤301,对多个任务的任务队列拥塞时长、资源挂起时长、任务失败次数、任务等待时长、任务重试次数中的至少一个进行监测。
在本实施例中,可以对多个任务的任务队列拥塞时长、资源挂起时长、任务失败次数、任务等待时长、任务重试次数中的至少一个进行监测,以判断监测得到的多个任务的任务队列拥塞时长、资源挂起时长、任务失败次数、任务等待时长、任务重试次数中的至少一个是否符合设定条件。
可以理解的是,对多个任务的任务队列拥塞时长、资源挂起时长、任务失败次数、任务等待时长、任务重试次数中的至少一个进行监测即为对多个任务的运行状态进行监测。
步骤302,在任一次监测到运行状态不符合设定条件的情况下,根据多个任务的所需的标准运行资源,以及多个任务之间的依赖关系,生成多个任务的任务信息。
在本实施例中,在任一次监测到运行状态不符合设定条件的情况下,可以根据多个任务的所需的标准运行资源,以及多个任务之间的依赖关系,生成多个任务的任务信息。其中,对于设定条件的具体设定本发明实施例并没有作出限定,可选地,可以根据人工经验进行设定,例如,可以将设定条件设定为运行状态指标阈值,从而可以通过对各运行状态指标阈值设定具体取值来判断监测到的运行状态是否符合设定条件,或者,也可以根据实际应用需求进行动态调整,本实施例中对此不作限制。
可以理解的是,由于上一步骤是对多个任务的任务队列拥塞时长、资源挂起时长、任务失败次数、任务等待时长、任务重试次数中的至少一个进行监测,从而任一次监测到运行状态不符合设定条件的情况即为任一次监测到多个任务的任务队列拥塞时长、资源挂起时长、任务失败次数、任务等待时长、任务重试次数中的至少一个不符合设定条件的情况,由此,可以设定条件设定为任务队列拥塞时长阈值、资源挂起时长阈值、任务失败次数阈值、任务等待时长阈值、任务重试次数阈值中的至少一个,从而任一次监测到运行状态不符合设定条件的情况包括任一次监测到多个任务的任务队列拥塞时长不符合任务队列拥塞时长阈值、多个任务的资源挂起时长不符合资源挂起时长阈值、多个任务的任务失败次数不符合任务失败次数阈值、多个任务的任务等待时长不符合任务等待时长阈值、多个任务的任务重试次数不符合任务重试次数阈值中的至少一个。
步骤303,根据目标设备的已运行任务数量、IO接口占用率、内存占用信息、可用网络传输带宽和CPU负载中的至少一个,生成资源信息。
在本实施例中,由于资源信息是目标设备的资源信息,从而可以根据目标设备的已运行任务数量、IO接口占用率、内存占用信息、可用网络传输带宽和CPU负载中的至少一个,生成资源信息。
步骤304,将资源信息和多个任务的任务信息作为输入参数,输入到至少一种优化模型中,以分别采用至少一种优化模型进行预测,得到至少一种优化模型的输出确定候选调度信息。
步骤305,基于至少一种优化模型确定的候选调度信息,向多个任务调度目标设备的资源,以及调度多个任务的执行顺序,以得到多个任务的运行状态参数。
步骤306,基于多个任务的运行状态参数,从至少一种优化模型确定的候选调度信息中,选定目标调度信息,以根据目标调度信息向多个任务调度目标设备的资源,以及调度多个任务的执行顺序。
需要说明的是,步骤304-306的执行过程可以参见上一实施例中步骤203-205的执行过程,原理相同,在此不再赘述。
本发明实施例提供的任务调度方法,通过对多个任务的任务队列拥塞时长、资源挂起时长、任务失败次数、任务等待时长、任务重试次数中的至少一个进行监测,从而在任一次监测到运行状态不符合设定条件的情况下,根据多个任务的所需的标准运行资源,以及多个任务之间的依赖关系,生成多个任务的任务信息,以及根据目标设备的已运行任务数量、IO接口占用率、内存占用信息、可用网络传输带宽和CPU负载中的至少一个,生成资源信息。由此,可实现对多个任务进行运行状态的监测,和在任一次监测到运行状态不符合设定条件的情况下,获取多个任务的任务信息,以及用于运行多个任务的目标设备的资源信息。
为了清楚说明上述实施例中是如何基于多个任务的运行状态参数,从至少一种优化模型确定的候选调度信息中,选定目标调度信息,以根据目标调度信息向多个任务调度目标设备的资源,以及调度多个任务的执行顺序的,本实施例提供了另一种任务调度方法,图4为本发明实施例所提供的另一种任务调度方法的流程示意图。
如图4所示,该任务调度方法可以包括以下步骤:
步骤401,获取多个任务的任务信息,以及用于运行多个任务的目标设备的资源信息。
步骤402,根据资源信息和多个任务的任务信息,采用至少一种优化模型确定候选调度信息。
步骤403,基于至少一种优化模型确定的候选调度信息,向多个任务调度目标设备的资源,以及调度多个任务的执行顺序,以得到多个任务的运行状态参数。
需要说明的是,步骤401-403的执行过程可以参见上述实施例中步骤101-103的执行过程,原理相同,在此不再赘述。
步骤404,针对任意的一种优化模型,获取基于对应候选调度信息的调度下,多个任务的运行状态参数。
在本实施例中,可以针对任意的一种优化模型,获取基于该优化模型确定的候选调度信息的调度下多个任务的运行状态参数,也即可以获取基于任意一种优化模型确定的候选调度信息调度的多个任务的运行状态参数。
步骤405,在运行状态参数为多种的情况下,针对每一种运行状态参数,对多个任务的运行状态参数求均值,以得到每一种运行状态参数的均值。
可以理解的是,由于运行状态参数可以包括数据网络传输量、任务内存溢出OOM、任务等待时长和任务资源消耗中的一个或多个组合,从而可以在运行状态参数为多种的情况下,针对每一种运行状态参数,对多个任务的运行状态参数求均值,以得到每一种运行状态参数的均值。
步骤406,根据每一种运行状态参数的均值,确定对应优化模型的评价值。
在本实施例中,在得到每一种运行状态参数的均值之后,可以基于每一种运行状态参数的均值,确定对应优化模型的评价值。可选地,通过将每一种运行状态参数的权重和每一种运行状态参数的均值进行加权求和,来得到对应优化模型的评价值。
需要说明的是,每一种运行状态参数的权重可以基采用主观赋权法、客观赋权法和组合赋权法中的任意一种确定。其中,主观赋权法是指根据决策者主观上对各运行状态参数的重视程度来确定对各运行状态参数的权重的方法,可以包括德尔菲法、层次分析法、二项系数法、环比评分法和最小平方法等。客观赋权法是指根据各运行状态参数的联系程度或各运行状态参数的数据关系来确定各运行状态参数的权重的方法,可以包括主成分分析法、熵值法、CRITIC权重法、离差及均方差法和多目标规划法等。组合赋权法是指将主观赋权法配置的权重和客观赋权法确定的权重进行组合计算来确定各运行状态参数的权重的方法。可选地,组合赋权法可以采用“乘法”集成法,基于公式进行组合计算,其中,i表示各运行状态参数中第i个运行状态参数,Pi表示第i个运行状态参数的权重,ai表示主观赋权法对第i个运行状态参数配置的权重,bi表示客观赋权法对第i个运行状态参数确定的权重。也可以采用“加法”集成法,基于公式Pi=αai+(1-α)bi,(0≤α≤1)进行组合计算,其中,i表示各运行状态参数中第i个运行状态参数,Pi表示第i个运行状态参数的权重,ai表示主观赋权法对第i个运行状态参数配置的权重,bi表示客观赋权法对第i个运行状态参数确定的权重,α表示人为设定的偏好值,本实施例中对此不作限制。
步骤407,根据各优化模型的评价值,从各优化模型确定的候选调度信息中,选定目标调度信息,以根据目标调度信息向多个任务调度目标设备的资源,以及调度多个任务的执行顺序。
在本实施例中,在得到各优化模型的评价值之后,可以基于根据各优化模型的评价值,从各优化模型确定的候选调度信息中,选定目标调度信息,以根据目标调度信息向多个任务调度目标设备的资源,以及调度多个任务的执行顺序。可选地,可以将各优化模型中评价值最高的优化模型确定的候选调度信息选定为目标调度信息。
本发明实施例提供的任务调度方法,通过针对任意的一种优化模型,获取基于对应候选调度信息的调度下,多个任务的运行状态参数,实现在运行状态参数为多种的情况下,针对每一种运行状态参数,对多个任务的运行状态参数求均值,以得到每一种运行状态参数的均值,从而根据每一种运行状态参数的均值,确定对应优化模型的评价值,进而根据各优化模型的评价值,从各优化模型确定的候选调度信息中,选定目标调度信息,以根据目标调度信息向多个任务调度目标设备的资源,以及调度多个任务的执行顺序。由此,可实现基于多个任务的运行状态参数,从至少一种优化模型确定的候选调度信息中,选定目标调度信息,以根据目标调度信息向多个任务调度目标设备的资源,以及调度多个任务的执行顺序的。
为了更加清楚说明上述实施例,现举例进行说明。
图5为本发明实施例所提供的一种场景下任务调度方法的流程示意图。如图5所示,该任务调度方法可以包括以下步骤:首先,设置任务初始运行参数。具体地,可以配置任务初始运行参数、目标设备的初始资源信息和初始任务依赖信息。其中,任务初始运行参数可以包括任务所需的CPU核数、内存大小、磁盘容量和依赖任务号,等等,记为X=(X1,X2,...Xn)。对应地,目标设备的初始资源信息可以记为Y=(Y1,Y2...Yn)。可选地,任务依赖信息可以为任务的执行顺序。从而运行任务并收集环境数据。具体地,可以收集任务运行过程中多个任务的任务信息和目标设备的资源信息。其中,任务信息可以包括任务运行时等待时长、任务运行时长、任务运行结果、任务错误信息,等等。目标设备的资源信息可以包括目标设备的已运行任务数量、接口占用率、内存占用信息、可用网络传输带宽和CPU负载,等等。
在收集好环境数据之后,可以设定至少一种优化模型,以将任务需求的资源信息、目标设备可提供的资源信息以及任务的执行顺序输入至选定的至少一种优化模型。可选地,设定的至少一种优化模型可以是下列中的至少一个:极大值估计模型、极小值估计模型、线性规划模型、多元分配模型和多时段分配模型。从而可以得到至少一种优化模型输出的运行结果,并比对运行结果,判断是否最优。具体地,可以先设定某一最优解法为至少一种优化模型的候选调度信息,从而在满足任务运行期间设定的至少一个优化目标有最优解的情况下,使得每个任务需求的资源Xt=(X1t,X2t,...Xnt)在该优化模型下得到实际分配的资源Yt=(Y1t,Y2t...Ynt),并记录最优解的相关参数配置。其中,选定的至少一种优化模型的优化目标可以是下列中的至少一个:数据网络传输量最小、任务OOM最少、任务等待时长最小和既定任务资源最少。进而可以根据计算结果重新进行任务配置,并收集优化后的运行结果,对比优化前后的运行结果,判断是否最优。可选地,可以对比数据网络传输量大小、任务OOM数、任务平均等待时长和既定任务资源多少等,判断这些数据是否满足优化目标。若没有满足优化目标则说明不是最优,从而需要跳转至运行任务并收集环境数据,重新求至少一种优化模型的最优解。可选地,可以更换求最优解方法,调整模型参数权重。若满足优化目标则说明已是最优,从而可以切换为优化后的任务配置,按优化后的候选调度信息运行任务并重新收集环境数据,判断环境数据是否超过设定条件。可选地,设定条件可以是下列中的至少一个:任务队列拥塞时长阈值、资源挂起时长阈值、任务失败次数阈值、任务等待时长阈值、任务重试次数阈值。若环境数据中对应的数据不符合设定条件,则需要跳转至运行任务并收集环境数据,重新求至少一种优化模型的最优解。若环境数据中对应的数据符合设定条件,则可以将此时的候选调度信息确定为目标调度信息,以根据目标调度信息向多个任务调度目标设备的资源,以及调度多个任务的执行顺序的。
为了实现上述实施例,本发明还提出一种任务调度装置。
图6为本发明实施例提供的一种任务调度装置的结构示意图。
如图6所示,该任务调度装置包括:获取模块61、确定模块62、调度模块63和处理模块64。
获取模块61,用于获取多个任务的任务信息,以及用于运行多个任务的目标设备的资源信息;
确定模块62,用于根据资源信息和多个任务的任务信息,采用至少一种优化模型确定候选调度信息;
调度模块63,用于基于至少一种优化模型确定的候选调度信息,向多个任务调度目标设备的资源,以及调度多个任务的执行顺序,以得到多个任务的运行状态参数;
处理模块64,用于基于多个任务的运行状态参数,从至少一种优化模型确定的候选调度信息中,选定目标调度信息,以根据目标调度信息向多个任务调度目标设备的资源,以及调度多个任务的执行顺序。
进一步地,在本发明实施例的一种可能的实现方式中,确定模块62,还用于:
将资源信息和多个任务的任务信息作为输入参数,输入到至少一种优化模型中,以分别采用至少一种优化模型进行预测,得到至少一种优化模型的输出确定候选调度信息;
其中,至少一种优化模型包括下列中的至少一个:极大值估计模型、极小值估计模型、线性规划模型、多元分配模型和多时段分配模型。
进一步地,在本发明实施例的一种可能的实现方式中,获取模块61,包括:
监测单元,用于对多个任务进行运行状态的监测;
第一获取单元,用于在任一次监测到运行状态不符合设定条件的情况下,获取多个任务的任务信息,以及用于运行多个任务的目标设备的资源信息。
进一步地,在本发明实施例的一种可能的实现方式中,第一获取单元,还用于:
在任一次监测到运行状态不符合设定条件的情况下,根据多个任务的所需的标准运行资源,以及多个任务之间的依赖关系,生成多个任务的任务信息;
根据目标设备的已运行任务数量、IO接口占用率、内存占用信息、可用网络传输带宽和CPU负载中的至少一个,生成资源信息。
进一步地,在本发明实施例的一种可能的实现方式中,监测单元,还用于:
对多个任务的任务队列拥塞时长、资源挂起时长、任务失败次数、任务等待时长、任务重试次数中的至少一个进行监测。
进一步地,在本发明实施例的一种可能的实现方式中,处理模块64,还包括:
第二获取单元,用于针对任意的一种所述优化模型,获取基于对应候选调度信息的调度下,多个任务的运行状态参数;
第一处理单元,用于在运行状态参数为多种的情况下,针对每一种运行状态参数,对多个任务的运行状态参数求均值,以得到每一种运行状态参数的均值;
确定单元,用于根据每一种运行状态参数的均值,确定对应优化模型的评价值;
第二处理单元,用于根据各优化模型的评价值,从各优化模型确定的候选调度信息中,选定目标调度信息。
可选地,作为第二方面的第六种可能的实现方式,确定单元,还用于:
基于每一种运行状态参数的权重,以及每一种运行状态参数的均值进行加权求和,以得到评价值。
可选地,作为第二方面的第七种可能的实现方式,调度模块63,还用于:
针对每一种优化模型,根据每一种优化模型确定出的候选调度信息,配置多个任务的资源,以及确定多个任务的执行顺序;
在多个任务基于配置的资源以及执行顺序执行的情况下,监测多个任务的运行状态参数,其中,运行状态参数包括数据网络传输量、任务内存溢出OOM、任务等待时长和任务资源消耗中的一个或多个组合。
需要说明的是,前述对任务调度方法实施例的解释说明也适用于该实施例的任务调度装置,此处不再赘述。
本发明实施例提供的任务调度装置,通过获取多个任务的任务信息,以及用于运行多个任务的目标设备的资源信息,实现根据资源信息和多个任务的任务信息,采用至少一种优化模型确定候选调度信息,从而基于至少一种优化模型确定的候选调度信息,向多个任务调度目标设备的资源,以及调度多个任务的执行顺序,以得到多个任务的运行状态参数,进而基于多个任务的运行状态参数,从至少一种优化模型确定的候选调度信息中,选定目标调度信息,以根据目标调度信息向多个任务调度目标设备的资源,以及调度多个任务的执行顺序。由此,可实现根据各任务的运行状态参数确定最优调度信息,有效提高资源利用率。
为了实现上述实施例,本发明还提出一种电子设备,该电子设备包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行本发明上述任一实施例提出的任务调度方法。
图7为本发明实施例提供的一个电子设备的结构示意图。需要说明的是,图7所示的电子设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图7所示,该电子设备可以包括:壳体71、处理器72、存储器73、电路板74和电源电路75,其中,电路板74安置在壳体71围成的空间内部,处理器72和存储器73设置在电路板74上;电源电路75,用于为上述电子设备的各个电路或器件供电;存储器73用于存储可执行程序代码;处理器72通过读取存储器73中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行本发明上述任一实施例提出的任务调度方法。
处理器72对上述步骤的具体执行过程以及处理器72通过运行可执行程序代码来进一步执行的步骤,可以参见本发明图1-5所示实施例的描述,在此不再赘述。
为了实现上述实施例,本发明还提出一种存储有计算机指令的计算机可读存储介质,其中,计算机指令用于使计算机执行本发明上述任一实施例提出的任务调度方法。
为了实现上述实施例,本发明还提出一种计算机程序产品,包括计算机程序,该计算机程序在被处理器执行时实现本发明上述任一实施例提出的任务调度方法。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行***、装置或设备(如基于计算机的***、包括处理器的***或其他可以从指令执行***、装置或设备取指令并执行指令的***)使用,或结合这些指令执行***、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行***、装置或设备或结合这些指令执行***、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行***执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (9)
1.一种任务调度方法,其特征在于,包括以下步骤:
获取多个任务的任务信息,以及用于运行所述多个任务的目标设备的资源信息;
根据所述资源信息和所述多个任务的任务信息,采用至少一种优化模型确定候选调度信息,所述候选调度信息的数量与采用的优化模型的数量一致;
针对每一种所述优化模型,根据每一种所述优化模型确定出的候选调度信息,配置所述多个任务的资源,以及确定所述多个任务的执行顺序,在所述多个任务基于配置的资源以及所述执行顺序执行的情况下,监测所述多个任务的运行状态参数,以得到所述多个任务的运行状态参数;
针对任意的一种所述优化模型,获取基于对应候选调度信息的调度下,所述多个任务的运行状态参数,在所述运行状态参数为多种时,确定每一种所述运行状态参数的均值,采用组合赋权法确定每一种所述运行状态参数的权重,基于每一种所述运行状态参数的权重和均值,确定对应优化模型的评价值,根据各所述优化模型的评价值从所述候选调度信息中,选定目标调度信息,以根据所述目标调度信息向所述多个任务调度所述目标设备的资源,以及调度所述多个任务的执行顺序。
2.根据权利要求1所述的方法,其特征在于,所述根据所述资源信息和所述多个任务的任务信息,采用至少一种优化模型确定候选调度信息,包括:
将所述资源信息和所述多个任务的任务信息作为输入参数,输入到至少一种所述优化模型中,以分别采用至少一种所述优化模型进行预测,得到至少一种所述优化模型的输出确定所述候选调度信息;
其中,所述至少一种所述优化模型包括下列中的至少一种:极大值估计模型、极小值估计模型、线性规划模型、多元分配模型和多时段分配模型。
3.根据权利要求1所述的方法,其特征在于,所述获取多个任务的任务信息,以及用于运行所述多个任务的目标设备的资源信息,包括:
对所述多个任务进行运行状态的监测;
在任一次监测到运行状态不符合设定条件的情况下,获取多个任务的任务信息,以及用于运行所述多个任务的目标设备的资源信息。
4.根据权利要求3所述的方法,其特征在于,所述在任一次监测到运行状态不符合设定条件的情况下,获取多个任务的任务信息,以及用于运行所述多个任务的目标设备的资源信息,包括:
在任一次监测到运行状态不符合设定条件的情况下,根据所述多个任务的所需的标准运行资源,以及所述多个任务之间的依赖关系,生成所述多个任务的任务信息;
根据所述目标设备的已运行任务数量、IO接口占用率、内存占用信息、可用网络传输带宽和CPU负载中的至少一个,生成所述资源信息。
5.根据权利要求3所述的方法,其特征在于,所述对所述多个任务进行运行状态的监测,包括:
对所述多个任务的任务队列拥塞时长、资源挂起时长、任务失败次数、任务等待时长、任务重试次数中的至少一个进行监测。
6.根据权利要求1-5任一项所述的方法,其特征在于,在所述运行状态参数为多种时,确定每一种所述运行状态参数的均值,包括:
在所述运行状态参数为多种的情况下,针对每一种所述运行状态参数,对所述多个任务的运行状态参数求均值,以得到每一种所述运行状态参数的均值。
7.根据权利要求1-5任一项所述的方法,其特征在于,所述运行状态参数包括数据网络传输量、任务内存溢出OOM、任务等待时长和任务资源消耗中的一个或多个组合。
8.一种任务调度装置,其特征在于,包括:
获取模块,用于获取多个任务的任务信息,以及用于运行所述多个任务的目标设备的资源信息;
确定模块,用于根据所述资源信息和所述多个任务的任务信息,采用至少一种优化模型确定候选调度信息,所述候选调度信息的数量与采用的优化模型的数量一致;
调度模块,用于针对每一种所述优化模型,根据每一种所述优化模型确定出的候选调度信息,配置所述多个任务的资源,以及确定所述多个任务的执行顺序,在所述多个任务基于配置的资源以及所述执行顺序执行的情况下,监测所述多个任务的运行状态参数,以得到所述多个任务的运行状态参数;
处理模块,用于针对任意的一种所述优化模型,获取基于对应候选调度信息的调度下,所述多个任务的运行状态参数,在所述运行状态参数为多种时,确定每一种所述运行状态参数的均值,采用组合赋权法确定每一种所述运行状态参数的权重,基于每一种所述运行状态参数的权重和均值,确定对应优化模型的评价值,根据各所述优化模型的评价值从所述候选调度信息中,选定目标调度信息,以根据所述目标调度信息向所述多个任务调度所述目标设备的资源,以及调度所述多个任务的执行顺序。
9.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211355252.7A CN115756773B (zh) | 2022-11-01 | 2022-11-01 | 任务调度方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211355252.7A CN115756773B (zh) | 2022-11-01 | 2022-11-01 | 任务调度方法、装置、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115756773A CN115756773A (zh) | 2023-03-07 |
CN115756773B true CN115756773B (zh) | 2023-08-29 |
Family
ID=85355008
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211355252.7A Active CN115756773B (zh) | 2022-11-01 | 2022-11-01 | 任务调度方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115756773B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017166643A1 (zh) * | 2016-03-31 | 2017-10-05 | 乐视控股(北京)有限公司 | 一种任务资源的量化方法和装置 |
CN110059942A (zh) * | 2019-04-02 | 2019-07-26 | 南京邮电大学 | 一种基于模糊多目标优化的云制造资源服务优化调度方法 |
CN111090502A (zh) * | 2018-10-24 | 2020-05-01 | 阿里巴巴集团控股有限公司 | 一种流数据任务调度方法和装置 |
CN111190718A (zh) * | 2020-01-07 | 2020-05-22 | 第四范式(北京)技术有限公司 | 实现任务调度的方法、装置及*** |
CN111343275A (zh) * | 2020-03-02 | 2020-06-26 | 北京奇艺世纪科技有限公司 | 资源调度方法和*** |
CN112506669A (zh) * | 2021-01-29 | 2021-03-16 | 浙江大华技术股份有限公司 | 任务分配方法和装置、存储介质及电子设备 |
CN112596898A (zh) * | 2020-12-16 | 2021-04-02 | 北京三快在线科技有限公司 | 一种任务执行器调度的方法及装置 |
CN113220378A (zh) * | 2021-05-11 | 2021-08-06 | 中电金信软件有限公司 | 流程处理方法、装置、电子设备、存储介质及*** |
CN114518945A (zh) * | 2021-12-31 | 2022-05-20 | 广州文远知行科技有限公司 | 一种资源调度方法、装置、设备及存储介质 |
-
2022
- 2022-11-01 CN CN202211355252.7A patent/CN115756773B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017166643A1 (zh) * | 2016-03-31 | 2017-10-05 | 乐视控股(北京)有限公司 | 一种任务资源的量化方法和装置 |
CN111090502A (zh) * | 2018-10-24 | 2020-05-01 | 阿里巴巴集团控股有限公司 | 一种流数据任务调度方法和装置 |
CN110059942A (zh) * | 2019-04-02 | 2019-07-26 | 南京邮电大学 | 一种基于模糊多目标优化的云制造资源服务优化调度方法 |
CN111190718A (zh) * | 2020-01-07 | 2020-05-22 | 第四范式(北京)技术有限公司 | 实现任务调度的方法、装置及*** |
CN111343275A (zh) * | 2020-03-02 | 2020-06-26 | 北京奇艺世纪科技有限公司 | 资源调度方法和*** |
CN112596898A (zh) * | 2020-12-16 | 2021-04-02 | 北京三快在线科技有限公司 | 一种任务执行器调度的方法及装置 |
CN112506669A (zh) * | 2021-01-29 | 2021-03-16 | 浙江大华技术股份有限公司 | 任务分配方法和装置、存储介质及电子设备 |
CN113220378A (zh) * | 2021-05-11 | 2021-08-06 | 中电金信软件有限公司 | 流程处理方法、装置、电子设备、存储介质及*** |
CN114518945A (zh) * | 2021-12-31 | 2022-05-20 | 广州文远知行科技有限公司 | 一种资源调度方法、装置、设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
CPS资源服务模型和资源调度研究;徐久强等;计算机学报;第41卷(第10期);第2330-2343页 * |
Also Published As
Publication number | Publication date |
---|---|
CN115756773A (zh) | 2023-03-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110869909B (zh) | 应用机器学习算法来计算健康分数以进行工作负载调度的***和方法 | |
CN109254842B (zh) | 分布式流式***的资源管理方法、装置及可读存储介质 | |
CN109324875B (zh) | 一种基于强化学习的数据中心服务器功耗管理与优化方法 | |
CN103383655A (zh) | 用于在qos感知云中管理合并的工作负载的性能干扰模型 | |
CN111026553B (zh) | 离线混部作业的资源调度方法及服务器*** | |
US20200301685A1 (en) | Provisioning of software applications on edge devices in an internet-of-things environment | |
CN115269108A (zh) | 一种数据处理方法、装置及设备 | |
CN116594913B (zh) | 一种智能软件自动化测试方法 | |
CN112162891A (zh) | 服务器集群中的性能测试方法及相关设备 | |
Han et al. | Performance improvement of Linux CPU scheduler using policy gradient reinforcement learning for Android smartphones | |
CN114500578A (zh) | 分布式存储***负载均衡调度方法、装置及存储介质 | |
CN113467944A (zh) | 面向复杂软件***的资源部署装置及方法 | |
CN115543626A (zh) | 采用异构计算资源负载均衡调度的电力缺陷图像仿真方法 | |
CN115421930A (zh) | 任务处理方法、***、装置、设备及计算机可读存储介质 | |
Naqvi et al. | Mascot: self-adaptive opportunistic offloading for cloud-enabled smart mobile applications with probabilistic graphical models at runtime | |
CN115756773B (zh) | 任务调度方法、装置、电子设备和存储介质 | |
US10216606B1 (en) | Data center management systems and methods for compute density efficiency measurements | |
CN115525394A (zh) | 容器数量的调整方法及装置 | |
CN114936089A (zh) | 资源调度方法、***、设备及存储介质 | |
Fourati et al. | A review of container level autoscaling for microservices-based applications | |
Lili et al. | A Markov chain based resource prediction in computational grid | |
CN111861012A (zh) | 一种测试任务执行时间预测方法及最优执行节点选择方法 | |
KR20030005409A (ko) | 이미지 품질에 대한 알고리즘들의 랜덤 시스템을최적화하기 위한 스케일러블 확장형 시스템 및 방법 | |
CN114745282B (zh) | 资源配置模型预测方法、装置及电子设备 | |
CN117997906B (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 |