CN114816690A - 一种任务分配方法、装置、设备及存储介质 - Google Patents
一种任务分配方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN114816690A CN114816690A CN202110127415.5A CN202110127415A CN114816690A CN 114816690 A CN114816690 A CN 114816690A CN 202110127415 A CN202110127415 A CN 202110127415A CN 114816690 A CN114816690 A CN 114816690A
- Authority
- CN
- China
- Prior art keywords
- time period
- resource
- information
- task
- resource allocation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
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)
Abstract
本申请公开了一种任务分配方法,该方法包括:获取当前时间周期内为第一预设数量个时间段分配的资源分配信息;通过已训练好的资源分配预测模型对所述资源分配信息进行预测,得到预测资源分配信息;确定所述下一时间周期内待执行任务所需的资源参考信息;若所述资源参考信息与所述预测资源分配信息中的第一目标时间段对应的资源信息匹配,确定所述待执行任务在所述第一目标时间段内执行,从而提出了一种动态资源分配,并动态确定任务执行时间的技术方案,有效丰富了分布式任务执行的分配方案,提高了分配方案的智能化程度。本申请还公开了一种任务分配装置、设备及存储介质。
Description
技术领域
本申请涉及分布式技术领域,尤其涉及一种任务分配方法、装置、设备及存储介质。
背景技术
随着互联网技术的飞速发展,互联网技术得到了广泛应用。在互联网技术广泛应用过程中,数据分析在各个领域中也变得越来越重要。数据分析尤其是对用户行为进行分析时,目前常用的方式是基于分布式系统,根据一定的规则将总计算资源划分为多个子计算资源,并为每个子计算资源分配一个子任务,以通过子计算资源来执行对应的子任务,其中,子计算资源内的子任务可以按照任务优先级来抢占资源执行。
但是,目前在上述方案中,需预先将总计算资源划分为多个子计算资源,并在总计算资源划分为多个子计算资源后,子计算资源的大小需要进行调整时,需用户手动调整,这样,导致上述方案的资源分配灵活性较差,造成不能精确的根据子任务所需的计算资源不断地进行资源动态分配,智能化程度较低。
申请内容
为解决上述技术问题,本申请期望提供一种任务分配方法、装置、设备及存储介质,解决了目前资源分配灵活性较差的问题,提出了一种动态资源分配,并动态确定任务执行时间的技术方案,有效丰富了分布式任务执行的分配方案,提高了分配方案的智能化程度。
本申请的技术方案是这样实现的:
第一方面,一种任务分配方法,所述方法应用于分布式系统,所述方法包括:
获取当前时间周期内为第一预设数量个时间段分配的资源分配信息;其中,所述当前时间周期划分为所述第一预设数量个时间段,每一时间段用于执行一个目标任务;
通过已训练好的资源分配预测模型对所述资源分配信息进行预测,得到预测资源分配信息;其中,所述预测资源分配信息包括为所述当前时间周期相邻的下一时间周期的第一预设数量个时间段预测分配的资源信息;
确定所述下一时间周期内待执行任务所需的资源参考信息;
若所述资源参考信息与所述预测资源分配信息中的第一目标时间段对应的资源信息匹配,确定所述待执行任务在所述第一目标时间段内执行。
可选的,所述方法还包括:
若所述资源参考信息与所述预测资源分配信息中的第一预设数量个时间段对应的资源信息均不匹配,获取所述当前时间周期内所述第一预设数量个时间段执行所述目标任务时的资源占用信息;
通过已训练好的资源占用预测模型对所述资源占用信息进行预测,得到预测资源占用信息;其中,所述预测资源占用信息包括为所述当前时间周期相邻的下一时间周期的第一预设数量个时间段预测占用的资源信息;
若所述资源参考信息与所述预测资源占用信息中的第二目标时间段对应的资源信息匹配,确定所述待执行任务在所述第二目标时间段内执行。
可选的,所述方法还包括:
若所述资源参考信息与所述预测资源占用信息中的所述第一预设数量个时间段对应的资源信息均不匹配,生成提示信息并显示;其中,所述提示信息用于提示用户所述分布式系统已满载,需进行扩容处理。
可选的,所述资源参考信息至少包括中央处理器CPU的第一核心运算数量和第一内存大小,所述若所述资源参考信息与所述预测资源分配信息中的第一目标时间段对应的资源信息匹配,确定所述待执行任务在所述第一目标时间段内执行,包括:
从所述预测资源分配信息中,确定CPU的预测核心运算数量大于或等于所述第一核心运算数量,且预测的内存大小大于或等于所述第一内存大小的参考时间段;
若所述参考时间段包括一个时间段,确定所述参考时间段为所述第一目标时间段,并确定所述待执行任务在所述第一目标时间段内执行;
若所述参考时间段包括至少两个时间段,从所述参考时间段中确定一个时间段为所述第一目标时间段,并确定所述待执行任务在所述第一目标时间段内执行。
可选的,所述若所述参考时间段包括至少两个时间段,从所述参考时间段中确定一个时间段为所述第一目标时间段,包括:
若所述参考时间段包括至少两个时间段,从所述参考时间段中确定距离所述当前时间周期最近的一个时间段为所述第一目标时间段;
或者,若所述参考时间段包括至少两个时间段,基于所述参考时间段中的每一时间段的CPU的预测核心运算数量与所述第一核心运算数量的第一差值,所述参考时间段中的每一时间段的预测内存大小与所述第一内存大小的第二差值,从所述参考时间段中确定所述第一差值最小和/或所述第二差值最小的一个时间段为所述第一目标时间段。
可选的,所述获取当前时间周期内为第一预设数量个时间段分配的资源分配信息之前,所述方法还包括:
若确定所述分布式系统当前为用户提供分布式服务,采集所述第一预设数量个所述资源分配信息和所述第一预设数量个所述资源占用信息;
存储所述第一预设数量个所述资源分配信息和所述第一预设数量个所述资源占用信息至目标存储区域。
可选的,所述通过已训练好的资源分配预测模型对所述资源分配信息进行预测,得到预测资源分配信息之前,所述方法还包括:
获取第二预设数量组第一历史时间周期内的第一历史资源分配信息和第二历史时间周期内的第二历史资源分配信息;其中,所述第一历史时间周期与所述第二历史时间周期相邻,且所述第二历史时间周期在所述第一历史时间周期后;
基于所述第一历史资源分配信息和所述第二历史资源分配信息,对预设模型进行模型训练,得到所述资源分配预测模型。
第二方面,一种任务分配装置,所述装置包括:第一获取单元、预测单元、确定单元和处理单元;其中:
所述第一获取单元,用于获取当前时间周期内为第一预设数量个时间段分配的资源分配信息;其中,所述当前时间周期划分为所述第一预设数量个时间段,每一时间段用于执行一个目标任务;
所述预测单元,用于通过已训练好的资源分配预测模型对所述资源分配信息进行预测,得到预测资源分配信息;其中,所述预测资源分配信息包括为所述当前时间周期相邻的下一时间周期的第一预设数量个时间段预测分配的资源信息;
所述确定单元,用于确定所述下一时间周期内待执行任务所需的资源参考信息;
所述处理单元,用于若所述资源参考信息与所述预测资源分配信息中的第一目标时间段对应的资源信息匹配,确定所述待执行任务在所述第一目标时间段内执行。
第三方面,一种任务分配设备,所述设备包括存储器、处理器和通信总线;其中:
所述存储器,用于存储可执行指令;
所述通信总线,用于实现所述处理器和所述存储器之间的通信连接;
所述处理器,用于执行所述存储器中存储的任务分配程序,实现如上述任一项所述的任务分配方法的步骤。
第四方面,一种存储介质,所述存储介质上存储有任务分配程序,所述任务分配程序被处理器执行时实现如上述任一项所述的任务分配方法的步骤。
本申请实施例提供了一种任务分配方法、装置、设备及存储介质,通过获取当前时间周期内为第一预设数量个时间段分配的资源分配信息,通过已训练好的资源分配预测模型对资源分配信息进行预测,得到预测资源分配信息,并确定下一时间周期内待执行任务所需的资源参考信息,若资源参考信息与预测资源分配信息中的第一目标时间段对应的资源信息匹配,确定待执行任务在第一目标时间段内执行。这样,首先通过预测方法确定下一时间周期内的每一时间段内可分配的预测资源分配信息,然后若从预测资源分配信息中确定预测资源分配信息中包括的第一目标时间段内的资源信息与待执行任务作序的资源参考信息匹配,将待执行任务分配在第一目标时间段内执行,解决了目前资源分配灵活性较差的问题,提出了一种动态资源分配,并动态确定任务执行时间的技术方案,有效丰富了分布式任务执行的分配方案,提高了分配方案的智能化程度。
附图说明
图1为本申请实施例提供的任务分配方法的流程示意图一;
图2为本申请实施例提供的任务分配方法的流程示意图二;
图3为本申请实施例提供的任务分配方法的流程示意图三;
图4为本申请实施例提供的任务分配方法的流程示意图四;
图5为本申请实施例提供的任务分配方法的流程示意图五;
图6为本申请实施例提供的一种分布式系统的结构示意图;
图7为本申请实施例提供的一种应用场景的流程示意图;
图8为本申请实施例提供的一种模型训练的流程示意图;
图9为本申请实施例提供的一种任务分配装置的结构示意图;
图10为本申请实施例提供的另一种任务分配装置的结构示意图;
图11为本申请实施例提供的一种任务分配设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
本申请的实施例提供一种任务分配方法,参照图1所示,方法应用于运行分布式系统,该方法包括以下步骤:
步骤101、获取当前时间周期内为第一预设数量个时间段分配的资源分配信息。
其中,当前时间周期划分为第一预设数量个时间段,每一时间段用于执行一个目标任务。
在本申请实施例中,时间周期可以是按照分布式系统的执行任务的一个时间规律来确定的,时间周期可以是按秒、分、时、日、月或年等来划分。每一时间周期又可以划分为不同的时间段。其中,划分的时间段的第一预设数量是根据对历史用户行为数据进行分析,确定得到的一个经验值,时间段可以是等时长的,也可以是不等时长的,每一时间段用于执行一个任务。由于任务的不确定性,因此在不同时间周期的不同时间段,可以运行不同的任务。为每一时间段分配的资源分配信息可以是执行任务时,可使用的计算资源的上限值。
步骤102、通过已训练好的资源分配预测模型对资源分配信息进行预测,得到预测资源分配信息。
其中,预测资源分配信息包括为当前时间周期相邻的下一时间周期的第一预设数量个时间段预测分配的资源信息。
在本申请实施例中,资源分配预测模型是预先通过历史不同时间周期内不同时间段的资源分配信息对资源分配初始模型进行训练得到的,用于基于当前时间周期的资源分配信息,对下一时间周期每一时间段的资源分配信息进行预测,以使在下一时间周期到来时,对应的每一时间段的资源按照预测资源分配信息中对应的资源信息进行分配。
步骤103、确定下一时间周期内待执行任务所需的资源参考信息。
在本申请实施例中,在下一时间周期内需执行的待执行任务可以包括至少一个,即下一时间周期内可以运行至少一个待执行任务,这样,需要确定每一待执行任务所需的资源参考信息,每一待执行任务所需的资源参考信息通常为预估得到的,在实际执行时占用的资源信息可能会小于资源参考信息,在一些极端情况下,也可能会大于资源参考信息。
步骤104、若资源参考信息与预测资源分配信息中的第一目标时间段对应的资源信息匹配,确定待执行任务在第一目标时间段内执行。
在本申请实施例中,第一目标时间段为下一时间周期中的一个时间段。资源参考信息与第一目标时间段对应的资源信息匹配指的是在第一目标时间段的资源信息可以足有满足待执行任务的执行所需的资源信息,这样,即可确定待执行任务在第一目标时间段内执行,也就是说,当在下一时间周期的第一目标时间段到来时,执行该待执行任务。
在数据分析的大框架下,通过对用户行为进行监测获得的数据进行分析研究的行为可归结为用户行为分析,在对用户行为分析时可以通过用户事件分析方法来实现,用户时间分析方法主要用于研究用户的某一行为事件的发生对产品的影响以及影响程度。由于,在分布式任务调度过程中,可以通过统计规律时间内用户执行的规律性任务来建立用户任务执行画像,由于一个稳定执行的分布式系统,其资源使用情况基本上与时间规律也是有相应关系的,可以根据建立得到的用户任务执行画像来预测用户在某一段时间端执行任务时所需的资源情况,得到调度资源行为画像。
本申请实施例提供了一种任务分配方法,通过获取当前时间周期内为第一预设数量个时间段分配的资源分配信息,通过已训练好的资源分配预测模型对资源分配信息进行预测,得到预测资源分配信息,并确定下一时间周期内待执行任务所需的资源参考信息,若资源参考信息与预测资源分配信息中的第一目标时间段对应的资源信息匹配,确定待执行任务在第一目标时间段内执行。这样,首先通过预测方法确定下一时间周期内的每一时间段内可分配的预测资源分配信息,然后若从预测资源分配信息中确定预测资源分配信息中包括的第一目标时间段内的资源信息与待执行任务作序的资源参考信息匹配,将待执行任务分配在第一目标时间段内执行,解决了目前资源分配灵活性较差的问题,提出了一种动态资源分配,并动态确定任务执行时间的技术方案,有效丰富了分布式任务执行的分配方案,提高了分配方案的智能化程度。
基于前述实施例,本申请的实施例提供一种任务分配方法,参照图2所示,方法应用于分布式系统,该方法包括以下步骤:
步骤201、获取当前时间周期内为第一预设数量个时间段分配的资源分配信息。
其中,当前时间周期划分为第一预设数量个时间段,每一时间段用于执行一个目标任务。
在本申请实施例中,当前时间周期内为第一预设数量个时间段分配的资源分配信息可以是通过本申请提供的已训练好的资源分配预测模型进行预测得到的,但在一些应用场景中,也可以是初始时用户进行手动分配得到的。分布式系统可以从分布式系统对应的存储区域中获取当前时间周期内为第一预设数量个时间分配的资源分配信息。
步骤202、通过已训练好的资源分配预测模型对资源分配信息进行预测,得到预测资源分配信息。
其中,预测资源分配信息包括为当前时间周期相邻的下一时间周期的第一预设数量个时间段预测分配的资源信息。
在本申请实施例中,已训练好的资源分配预测模型在实际应用过程中,随着样本的增加和变化,还可以不断的进行自我模型训练优化,以保证预测的准确性。
步骤203、确定下一时间周期内待执行任务所需的资源参考信息。
在本申请实施例中,下一时间周期内待执行任务所需的资源参考信息可以是分布式系统从待执行任务中读取得到的,即待执行任务携带有自己在被执行时所需的资源参考信息,或者还可以是分布式系统根据运行不同任务时所提供的资源信息进行分析,可以得到例如经验公式等方法来对待执行任务进行估算确定得到的。
在本申请实施例中,分布式系统执行步骤203之后,可以选择执行步骤204,或者选择执行步骤205~207,或者选择执行步骤205~206和步骤208。其中,若资源参考信息与预测资源分配信息中的第一目标时间段对应的资源信息匹配,选择执行步骤204;若资源参考信息与预测资源分配信息中的第一预设数量个时间段对应的资源信息均不匹配,选择执行步骤205~207;若资源参考信息与预测资源占用信息中的第一预设数量个时间段对应的资源信息均不匹配,选择执行步骤205~206和步骤208。
步骤204、若资源参考信息与预测资源分配信息中的第一目标时间段对应的资源信息匹配,确定待执行任务在第一目标时间段内执行。
步骤205、若资源参考信息与预测资源分配信息中的第一预设数量个时间段对应的资源信息均不匹配,获取当前时间周期内第一预设数量个时间段执行目标任务时的资源占用信息。
在本申请实施例中,当前时间周期内第一预设数量个时间段执行目标任务时的资源占用信息指的是在当前时间周期内,每一时间段内执行每一目标任务时,每一目标任务占用的实际资源信息,即执行每一目标任务时实际所占用的资源信息。在不同时间段执行目标任务时对应的资源占用信息可以相同,也可以不同,具体资源占用信息由不同时间段执行的目标任务决定。
步骤206、通过已训练好的资源占用预测模型对资源占用信息进行预测,得到预测资源占用信息。
其中,预测资源占用信息包括为当前时间周期相邻的下一时间周期的第一预设数量个时间段预测占用的资源信息。
在本申请实施例中,资源占用预测模型是预先根据历史每一时间周期内不同时间段执行目标任务时实际占用的资源信息对资源占用初始模型进行训练得到的,用于基于当前时间周期内的资源占用信息进行预测,得到针对下一周期内资源占用信息的预测信息。
步骤207、若资源参考信息与预测资源占用信息中的第二目标时间段对应的资源信息匹配,确定待执行任务在第二目标时间段内执行。
在本申请实施例中,将资源参考信息与预测资源占用信息中的每一时间段内的资源信息进行匹配处理,若从预测资源占用信息中确定得到第二目标时间段对应的资源信息与资源参考信息匹配,可以确定在下一时间周期的第二目标时间段内执行待执行任务。
步骤208、若资源参考信息与预测资源占用信息中的第一预设数量个时间段对应的资源信息均不匹配,生成提示信息并显示。
其中,提示信息用于提示用户分布式系统已满载,需进行扩容处理。
在本申请实施例中,若预测资源占用信息中的每一资源信息与资源参考信息均不匹配,即预测资源占用信息中没有一个资源信息与资源参考信息匹配,表明分布式系统已满载,需要对分布式系统进行扩容处理,因此,此时可以生成一个提示信息,来提示用户对分布式系统进行扩容处理。这样,有效地提出了一种提示需要分布式系统进行扩容的方法。
需说明的是,基于前述实施例,在步骤205中的步骤内容“获取当前时间周期内第一预设数量个时间段执行目标任务时的资源占用信息”可以与步骤201同时执行,对应的,步骤206可以与步骤202同时执行,或者,步骤205中的步骤内容“获取当前时间周期内第一预设数量个时间段执行目标任务时的资源占用信息”和步骤206可以在步骤201~202之后或者之前执行。对应的,在这两种情况下,步骤207应为在资源参考信息与预测资源分配信息中的第一预设数量个时间段对应的资源信息均不匹配,但资源参考信息与预测资源占用信息中的第二目标时间段对应的资源信息匹配时,确定待执行任务在第二目标时间段内执行,对应的,步骤208应为在资源参考信息与预测资源分配信息中的第一预设数量个时间段对应的资源信息均不匹配,且资源参考信息与预测资源占用信息中的第一预设数量个时间段对应的资源信息均不匹配时,生成提示信息并显示。
需要说明的是,本实施例中与其它实施例中相同步骤和相同内容的说明,可以参照其它实施例中的描述,此处不再赘述。
本申请实施例提供了一种任务分配方法,通过获取当前时间周期内为第一预设数量个时间段分配的资源分配信息,通过已训练好的资源分配预测模型对资源分配信息进行预测,得到预测资源分配信息,并确定下一时间周期内待执行任务所需的资源参考信息,若资源参考信息与预测资源分配信息中的第一目标时间段对应的资源信息匹配,确定待执行任务在第一目标时间段内执行。这样,首先通过预测方法确定下一时间周期内的每一时间段内可分配的预测资源分配信息,然后若从预测资源分配信息中确定预测资源分配信息中包括的第一目标时间段内的资源信息与待执行任务作序的资源参考信息匹配,将待执行任务分配在第一目标时间段内执行,解决了目前资源分配灵活性较差的问题,提出了一种动态资源分配,并动态确定任务执行时间的技术方案,有效丰富了分布式任务执行的分配方案,提高了分配方案的智能化程度。通过预测来确定每一待执行任务的执行时间段,有效保证了每一待执行任务之间的公平,保证了每一待执行任务均可被执行,并能够实现精确地反映实时资源占用情况;并有效地提出了一种提示分布式系统需要进行扩容的提示方法。
基于前述实施例,本申请的实施例提供一种任务分配方法,参照图3所示,方法应用于分布式系统,在本实施例中,资源信息至少包括中央处理器(Central ProcessingUnit,CPU)的核心运算数量和运行的内存大小,该方法包括以下步骤:
步骤301、获取当前时间周期内为第一预设数量个时间段分配的资源分配信息。
其中,当前时间周期划分为第一预设数量个时间段,每一时间段用于执行一个目标任务。资源分配信息包括为每一时间段分配的CPU的核心运算数量和内存大小。
在本申请实施例中,获取到的当前时间周期内的第一预设数量个时间段可以记为(t(0)~t(1),t(1)~t(2),……,t(n-1)~t(n)),n为第一预设数量,n为大于或等于1的整数。其中,时间段是按照由近及远的关系进行排列的,示例性的,假设当前时间周期中的当前时刻为某一天的14:00,下一时间周期为14:00~15:00,n为3时,对应的3个时间段的集合可以记为(14:00~14:25,14:25~14:40,14:40~15:00)。
资源分配信息可以用集合或矩阵等形式来记录。示例性的,在用集合来表示资源分配信息时,与当前时间周期内的第一预设数量个时间段(t(0)~t(1),t(1)~t(2),……,t(n-1)~t(n))一一对应的资源分配信息包括的CPU的核心运算数量可以记为(C1,C2,……,Cn),与当前时间周期内的第一预设数量个时间段(t(0)~t(1),t(1)~t(2),……,t(n-1)~t(n))一一对应的资源分配信息包括的内存大小可以记为(M1,M2,……,Mn)。
步骤302、通过已训练好的资源分配预测模型对资源分配信息进行预测,得到预测资源分配信息。
其中,预测资源分配信息包括为当前时间周期相邻的下一时间周期的第一预设数量个时间段预测分配的资源信息。预测资源分配信息包括为下一时间周期的每一时间段预测的待分配的CPU的核心运算数量和内存大小。
在本申请实施例中,已训练好的资源分配预测模型可以是对小波基函数例如Mexican Hat(mexh)等进行训练得到的。
步骤303、确定下一时间周期内待执行任务所需的资源参考信息。
其中,资源参考信息至少包括中央处理器CPU的第一核心运算数量和第一内存大小。
在本申请其他实施例中,分布式系统执行步骤303之后,可以选择执行步骤304~306,或者步骤307~309,或者步骤307~308和步骤310:
步骤304、从预测资源分配信息中,确定CPU的预测核心运算数量大于或等于第一核心运算数量,且预测的内存大小大于或等于第一内存大小的参考时间段。
在本申请实施例中,在资源信息为CPU的核心运算数量和内存大小时,资源参考信息与预测资源分配信息中的第一目标时间段对应的资源信息匹配指的是第一目标事件段对应的预测核心运算数量大于或等于第一核心运算数量,且预测的内存大小大于或等于第一内存大小。
在本申请实施例中,分布式系统执行步骤304之后,可以选择执行步骤305,或者步骤306,若参考时间段包括一个时间段,选择执行步骤305,若参考时间段包括至少两个时间段,选择执行步骤306:
步骤305、若参考时间段包括一个时间段,确定参考时间段为第一目标时间段,并确定待执行任务在第一目标时间段内执行。
步骤306、若参考时间段包括至少两个时间段,从参考时间段中确定一个时间段为第一目标时间段,并确定待执行任务在第一目标时间段内执行。
在本申请其他实施例中,步骤306可以由步骤a11或步骤a12来实现:
步骤a11、若参考时间段包括至少两个时间段,从参考时间段中确定距离当前时间周期最近的一个时间段为第一目标时间段。
在本申请实施例中,若确定的参考时间段为包括3个时间段具体为:t(0)~t(1)、t(3)~t(4)和t(7)~t(8),对应的,从这3个时间段中确定距离当前时间周期最近的一个时间段t(0)~t(1)为第一目标时间段。
步骤a12、若参考时间段包括至少两个时间段,基于参考时间段中的每一时间段的CPU的预测核心运算数量与第一核心运算数量的第一差值,参考时间段中的每一时间段的预测内存大小与第一内存大小的第二差值,从参考时间段中确定第一差值最小和/或第二差值最小的一个时间段为第一目标时间段。
在本申请实施例中,在参考时间段包括至少两个时间段时,计算参考时间段中的每一时间段的CPU的预测核心运算数量与第一核心运算数量的第一差值,其中,第一差值的数量与参考时间段包括的时间段的数量相同,从参考时间段中确定最小第一差值对应的时间段为第一目标时间段;若最小第一差值对应的时间段有多个,可以从这多个最小第一差值对应的时间段中随机选一个时间段为第一目标时间段,或者从这多个最小第一差值对应的时间段中选取距离当前时刻最近的一个时间段为第一目标时间段。
在参考时间段包括至少两个时间段时,计算参考时间段中的每一时间段的预测内存大小与第一内存大小的第二差值,其中,第二差值的数量与参考时间段包括的时间段的数量相同,从参考时间段中确定最小第二差值对应的一个时间段为第一目标时间段;若最小第二差值对应的时间段有多个,可以从这多个最小第二差值对应的时间段中随机选一个时间段为第一目标时间段,或者从这多个最小第二差值对应的时间段中选取距离当前时刻最近的一个时间段为第一目标时间段。
在参考时间段包括至少两个时间段时,计算参考时间段中的每一时间段的CPU的预测核心运算数量与第一核心运算数量的第一差值,其中,第一差值的数量与参考时间段包括的时间段的数量相同,并计算参考时间段中的每一时间段的预测内存大小与第一内存大小的第二差值,其中,第二差值的数量与参考时间段包括的时间段的数量相同;从参考时间段中确定第一差值最小且第二差值也最小的一个时间段为第一目标时间段;若第一差值最小且第二差值也最小的时间段有多个,可以从这多个时间段中随机选一个时间段为第一目标时间段,或者从这多个时间段中选取距离当前时刻最近的一个时间段为第一目标时间段。
在本申请其他实施例中,分布式系统执行步骤305或者步骤306之后,可以选择执行步骤307~309,或者步骤307~308和步骤310:
步骤307、若资源参考信息与预测资源分配信息中的第一预设数量个时间段对应的资源信息均不匹配,获取当前时间周期内第一预设数量个时间段执行目标任务时的资源占用信息。
步骤308、通过已训练好的资源占用预测模型对资源占用信息进行预测,得到预测资源占用信息。
其中,预测资源占用信息包括为当前时间周期相邻的下一时间周期的第一预设数量个时间段预测占用的资源信息。
步骤309、若资源参考信息与预测资源占用信息中的第二目标时间段对应的资源信息匹配,确定待执行任务在第二目标时间段内执行。
步骤310、若资源参考信息与预测资源占用信息中的第一预设数量个时间段对应的资源信息均不匹配,生成提示信息并显示。
其中,提示信息用于提示用户分布式系统已满载,需进行扩容处理。
在本申请实施例中,提示信息可以在分布式系统对应的特定显示区域进行显示,以实现对用户的提示。
在本申请其他实施例中,分布式系统执行步骤301之前,参照图4所示,还可以执行步骤311~312:
步骤311、若确定分布式系统当前为用户提供分布式服务,采集第一预设数量个资源分配信息和第一预设数量个资源占用信息。
步骤312、存储第一预设数量个资源分配信息和第一预设数量个资源占用信息至目标存储区域。
在本申请其他实施例中,分布式系统执行步骤302之前,参照图5所示,还用于执行步骤313~314:
步骤313、获取第二预设数量组第一历史时间周期内的第一历史资源分配信息和第二历史时间周期内的第二历史资源分配信息。
其中,第一历史时间周期与第二历史时间周期相邻,且第二历史时间周期在第一历史时间周期后。
步骤314、基于第一历史资源分配信息和第二历史资源分配信息,对预设模型进行模型训练,得到资源分配预测模型。
在本申请实施例中,可以采用预设模型对第一历史资源分配信息进行预测,将得到的预测结果与第二历史资源分配信息进行误差计算,根据得到的误差对预设模型的系数进行反馈调节,直至误差满足预设要求,从而输出得到资源分配预测模型。其中,需说明的是,步骤313~314也可以是单独执行,也可以在步骤301之前的任意一个步骤之前执行。
基于前述实施例,本申请实施例提供一种分布式系统,参照图6所示,分布式系统B包括指标采集模块B1、分布调度模块B2和指标存储模块B3;其中,指标采集模块B1用于采集分布式系统中每个节点的实时资源,通常主要是CPU和内存的使用情况和每个节点执行每个任务是为每个任务分配的分配资源,并将采集到的实时资源和分配资源写入到分布式系统的指标存储模块中,指标采集模块B1在分布式系统的每个节点上都有一个相应的副本运行。指标采集模块B1采集的指标主要用于分布式系统资源使用画像绘制。指标采集模块B1可以实现如图7所示的步骤内容,包括:
步骤b1、开始。
步骤b2、指标采集模块B1当前为唤醒状态。
步骤b3、指标采集模块B1判断分布式调度模块B2是否正在为用户提供服务,如果分布式调度模块B2当前没有为用户提供服务,选择执行步骤b4;如果分布式调度模块B2正在为用户提供服务,执行步骤b5。
步骤b4、指标采集模块B1判断指标采集模块B1是否接收到用户发送的停止采集指令,如果指标采集模块B1接收到停止采集指令,则执行步骤b10,即指标采集模块B1停止采集分布式调度模块的当前资源使用情况,否则执行步骤b6。
步骤b5、指标采集模块B1采集分布式调度模块B2当前的所有资源信息后,执行步骤b7。
步骤b6、指标采集模块B1进入休眠状态,等待重新唤醒,并在被唤醒后执行步骤b2。
步骤b7、指标采集模块B1发布采集到的所有资源信息到分布式调度模块B2中,然后执行步骤b8。
其中,指标采集模块B1可以采用远程过程调用(Remote Procedure Call,RPC)的方式来实现资源信息发布至分布式调度模块B2的过程。
步骤b8、指标采集模块B1判断是否发布成功,若发布成功,执行步骤b4;若发布失败,执行步骤b9。
其中,分布式调度模块B2接收到指标采集模块B1发布的资源信息后,将资源信息存储至指标存储模块B3,若分布式调度模块B2将资源信息成功存储至指标存储模块B3,反馈发布成功的指示信息至指标采集模块B1,若分布式调度模块B2将资源信息未成功存储至指标存储模块B3,反馈发布失败的指示信息至指标采集模块B1。
步骤b9、指标采集模块B1判断当前发布的发布次数是否超过预先设置的发布最大次数,若当前发布的发布次数超过预先设置的发布最大次数,执行步骤b4;若当前发布的发布次数没有超过预先设置的发布最大次数,执行步骤b7。
步骤b10、指标采集模块B1结束操作。
分布调度模块B2将资源信息存储至指标存储模块B3时,可以将资源信息采用矩阵的形式进行存储,示例性的,假设某个时间周期内执行的任务集合记为{job1、job2、……、jobm},即在该时间周期内执行的任务总数为m,对应的,该时间周期按照执行每一任务的时长可以分为n个时间段,记为{t1、t2、……、tn},对应的资源信息以计算资源即上述CPU的核心运算数量和内存资源即上述内存大小为例,CPU的核心运算数量的可以采用cpu表示,内存资源memory。因此,对应的资源信息的表示矩阵包括两个,采用matrix(cpu)表示CPU的核心运算数量矩阵,采用matrix(memory)表示CPU的核心运算数量矩阵,对应的,
其中,cpuij表示为任务jobi在tj时段分配的CPU情况,该处分配的CPU情况并非执行任务jobi实际消耗的cpu情况,而是分布式调度模块在调度任务执行时预先分配给该任务jobi的CPU资源。假设分布式调度模块预先分配给用户任务jobi的CPU资源为c,对应的任务jobi的任务执行的时间段为tL到tP(tL≤tP),则可以记为:
相应的,memoryij表示任务jobi在tj时段分配的内存情况,该处分配的内存情况也并非任务jobi在tj时的实际内存消耗占用情况,而是分布式调度模块在调度任务执行时预先分配给任务jobi的内存资源。假设分布式系统预先分配给任务jobi的内存资源为m,任务执行的时间段为tP(tL≤tP),则可以记为:
这样,分布式调度模块可以采用已训练好的资源分配预测模型对当前时间周期采集到的分配资源matrix(cpu)和matrix(memory)进行预测,预测得到下一时间周期的分配资源。
其中,已训练好的资源分配预测模型可以通过如图8所示的步骤来实现:
步骤c1、开始。
步骤c2、构建初始预测模型。
其中,初始预测模型可以是小波神经网络算法模型,小波神经网络算法模型的输出可以如下表示:y(k)=∑wikh(i),其中,wik为权重,h(i)为隐藏层输出。因为需进行预测的是分配资源,并非实际的资源消耗情况,所以wik可以设置为一个常数。在本申请实施例中,可以采用Mexican Hat(mexh)作为小波基函数。
步骤c3、获取两个连续时间周期内为不同时间段的任务分配的CPU值和内存值。
步骤c4、采用初始预测模型,对两个连续时间周期中的前一时间周期内的分配CPU值和分配内存值进行预测,得到针对后一时间周期的预测CPU值和预测内存值。
步骤c5、计算预测CPU值与两个连续时间周期中的后一时间周期内的CPU值的CPU误差,和预测内存值与两个连续时间周期中的后一时间周期内的内存值的内存误差。
步骤c6、判断CPU误差和内存误差是否在期望范围内。
步骤c7、若CPU误差和内存误差在期望范围内,得到已训练好的资源分配预测模型,执行步骤c9。
步骤c8、若CPU误差和内存误差不在期望范围内,根据CPU误差和内存误差,对初始预测模型的可调系数进行优化,得到优化后的预测模型。然后采用优化后的预测模型地重复步骤c3~c6的操作,直至得到的已训练好的资源分配预测模型。
步骤c9、结束。
其中,需说明的是,分布式调度模块B2存储不同时间周期不同时间段的资源占用信息的方式可以参照对前述不同时间周期不同时间段的资源分配信息的矩阵形式,此处不再详细赘述。以及获得已训练好的资源占用预测模型的过程可以参照步骤c1~c9,其中,步骤c3中的分配CPU值和分配内存值需替换为对应的实际占用CPU值和实际占用内存值即可。
这样,假设分布式调度模块中目前有2个任务在运行,且对应的一个时间周期可以划分为2个时间断,则通过已训练好的资源分配预测模型对当前时间周期内的分配CPU值和分配内存值进行预测,生成的预测分配CPU值为和预测分配内存值为其中m1(cpu)中的cpu11=2表示在时间段t1内可以分配2个CPU核,m1(memory)中的memory11=2表示在时间段t1内可以分配2G的内存。
通过已训练好的资源占用预测模型对当前时间周期内的占用CPU至和占用内存值进行预测,生成的预测占用CPU值为和预测占用内存值为其中,m2(cpu)中的cpu11=1表示在时间段t1内执行任务时,实际使用了1个CPU核,m2(memory)中的memory11=1表示在在时间段t1内执行任务时,实际使用了1G的内存。
假设当前有一个任务需要的资源信息为(2G,4核),首先判断m1(cpu)和m1(memory)是否满足(2G,4核);从m1(cpu)中可以确定cpu11和cpu22均满足2G的要求,但是m1(memory)中的memory11和memory22均不满足4核的要求,因此,可以确定m1(cpu)和m1(memory)不满足(2G,4核);则继续判断m2(cpu)和m2(memory)是否满足(2G,4核);从m2(cpu)中可以确定cpu22均满足2G的要求,但是m2(memory)中的memory11和memory22均不满足4核的要求,因此,可以确定m2(cpu)和m2(memory)不满足(2G,4核),即在t1时间段内和t2时间段内均不可执行需要的资源信息为(2G,4核)的任务,说明该系统资源已经满载,该系统需要扩容。
需要说明的是,本实施例中与其它实施例中相同步骤和相同内容的说明,可以参照其它实施例中的描述,此处不再赘述。
本申请实施例提供了一种任务分配方法,通过获取当前时间周期内为第一预设数量个时间段分配的资源分配信息,通过已训练好的资源分配预测模型对资源分配信息进行预测,得到预测资源分配信息,并确定下一时间周期内待执行任务所需的资源参考信息,若资源参考信息与预测资源分配信息中的第一目标时间段对应的资源信息匹配,确定待执行任务在第一目标时间段内执行。这样,首先通过预测方法确定下一时间周期内的每一时间段内可分配的预测资源分配信息,然后若从预测资源分配信息中确定预测资源分配信息中包括的第一目标时间段内的资源信息与待执行任务作序的资源参考信息匹配,将待执行任务分配在第一目标时间段内执行,解决了目前资源分配灵活性较差的问题,提出了一种动态资源分配,并动态确定任务执行时间的技术方案,有效丰富了分布式任务执行的分配方案,提高了分配方案的智能化程度。通过预测来确定每一待执行任务的执行时间段,有效保证了每一待执行任务之间的公平,保证了每一待执行任务均可被执行,并能够实现精确地反映实时资源占用情况;并有效地提出了一种提示分布式系统需要进行扩容的提示方法。
基于前述实施例,本申请的实施例提供一种任务分配装置,该装置可以应用于图1~5对应的实施例提供的任务分配方法中,该装置用于运行分布式系统,参照图9所示,该任务分配装置4可以包括:第一获取单元41、预测单元42、确定单元43和处理单元44,其中:
第一获取单元41,用于获取当前时间周期内为第一预设数量个时间段分配的资源分配信息;其中,当前时间周期划分为第一预设数量个时间段,每一时间段用于执行一个目标任务;
预测单元42,用于通过已训练好的资源分配预测模型对资源分配信息进行预测,得到预测资源分配信息;其中,预测资源分配信息包括为当前时间周期相邻的下一时间周期的第一预设数量个时间段预测分配的资源信息;
确定单元43,用于确定下一时间周期内待执行任务所需的资源参考信息;
处理单元44,用于若资源参考信息与预测资源分配信息中的第一目标时间段对应的资源信息匹配,确定待执行任务在第一目标时间段内执行。
在本申请其他实施例中,参照图10所示,任务处理装置还包括:第二获取单元45;其中:
第二获取单元45,还用于若资源参考信息与预测资源分配信息中的第一预设数量个时间段对应的资源信息均不匹配,获取当前时间周期内第一预设数量个时间段执行目标任务时的资源占用信息;
预测单元42,还用于通过已训练好的资源占用预测模型对资源占用信息进行预测,得到预测资源占用信息;其中,预测资源占用信息包括为当前时间周期相邻的下一时间周期的第一预设数量个时间段预测占用的资源信息;
处理单元44,还用于若资源参考信息与预测资源占用信息中的第二目标时间段对应的资源信息匹配,确定待执行任务在第二目标时间段内执行。
在本申请其他实施例中,处理单元44还用于若资源参考信息与预测资源占用信息中的第一预设数量个时间段对应的资源信息均不匹配,生成提示信息并显示;其中,提示信息用于提示用户分布式系统已满载,需进行扩容处理。
在本申请其他实施例中,资源参考信息至少包括中央处理器CPU的第一核心运算数量和第一内存大小,处理单元44包括:确定模块和处理模块;其中:
确定模块,用于从预测资源分配信息中,确定CPU的预测核心运算数量大于或等于第一核心运算数量,且预测的内存大小大于或等于第一内存大小的参考时间段;
处理模块,用于若参考时间段包括一个时间段,确定参考时间段为第一目标时间段,并确定待执行任务在第一目标时间段内执行;
处理模块,还用于若参考时间段包括至少两个时间段,从参考时间段中确定一个时间段为第一目标时间段,并确定待执行任务在第一目标时间段内执行。
在本申请其他实施例中,处理模块用于执行步骤若参考时间段包括至少两个时间段,从参考时间段中确定一个时间段为第一目标时间段时,可以通过以下步骤来实现:
若参考时间段包括至少两个时间段,从参考时间段中确定距离当前时间周期最近的一个时间段为第一目标时间段;
或者,若参考时间段包括至少两个时间段,基于参考时间段中的每一时间段的CPU的预测核心运算数量与第一核心运算数量的第一差值,参考时间段中的每一时间段的预测内存大小与第一内存大小的第二差值,从参考时间段中确定第一差值最小和/或第二差值最小的一个时间段为第一目标时间段。
在本申请其他实施例中,参照图10所示,第一获取单元41之前,任务分配装置还包括:采集单元46和存储单元47;其中:
采集单元46,用于若确定分布式系统当前为用户提供分布式服务,采集第一预设数量个资源分配信息和第一预设数量个资源占用信息;
存储单元47,用于存储第一预设数量个资源分配信息和第一预设数量个资源占用信息至目标存储区域。
在本申请其他实施例中,参照图10所示,预测单元42之前,任务分配装置还包括:模型训练单元48;其中:
模型训练单元48,用于获取第二预设数量组第一历史时间周期内的第一历史资源分配信息和第二历史时间周期内的第二历史资源分配信息;其中,第一历史时间周期与第二历史时间周期相邻,且第二历史时间周期在第一历史时间周期后;
模型训练单元48,还用于基于第一历史资源分配信息和第二历史资源分配信息,对预设模型进行模型训练,得到资源分配预测模型。
需要说明的是,本实施例中任务分配装置所执行的步骤的具体实现过程,可以参照图1~5对应的实施例提供的任务分配方法中的实现过程,此处不再赘述。
本申请实施例提供了一种任务分配装置,通过获取当前时间周期内为第一预设数量个时间段分配的资源分配信息,通过已训练好的资源分配预测模型对资源分配信息进行预测,得到预测资源分配信息,并确定下一时间周期内待执行任务所需的资源参考信息,若资源参考信息与预测资源分配信息中的第一目标时间段对应的资源信息匹配,确定待执行任务在第一目标时间段内执行。这样,首先通过预测方法确定下一时间周期内的每一时间段内可分配的预测资源分配信息,然后若从预测资源分配信息中确定预测资源分配信息中包括的第一目标时间段内的资源信息与待执行任务作序的资源参考信息匹配,将待执行任务分配在第一目标时间段内执行,解决了目前资源分配灵活性较差的问题,提出了一种动态资源分配,并动态确定任务执行时间的技术方案,有效丰富了分布式任务执行的分配方案,提高了分配方案的智能化程度。通过预测来确定每一待执行任务的执行时间段,有效保证了每一待执行任务之间的公平,保证了每一待执行任务均可被执行,并能够实现精确地反映实时资源占用情况;并有效地提出了一种提示分布式系统需要进行扩容的提示方法。
基于前述实施例,本申请的实施例提供一种任务分配设备,该任务分配设备可以应用于图1~5对应的实施例提供的任务分配方法中,任务分配设备用于运行分布式系统,参照图11所示,该任务分配设备5可以包括:处理器51、存储器52和通信总线53,其中:
通信总线53,用于实现处理器51和存储器52之间的通信连接;
处理器51,用于执行存储器52中存储的任务分配程序,以实现图1~5对应的实施例提供的任务分配方法中的实现过程,此处不再赘述。
基于前述实施例,本申请的实施例提供一种计算机可读存储介质,简称为存储介质,该计算机可读存储介质存储有一个或者多个程序,该一个或者多个程序可被一个或者多个处理器执行,以实现参照图1~5对应的实施例提供的任务分配方法中的实现过程,此处不再赘述。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。
Claims (10)
1.一种任务分配方法,其特征在于,所述方法应用于分布式系统,所述方法包括:
获取当前时间周期内为第一预设数量个时间段分配的资源分配信息;其中,所述当前时间周期划分为所述第一预设数量个时间段,每一时间段用于执行一个目标任务;
通过已训练好的资源分配预测模型对所述资源分配信息进行预测,得到预测资源分配信息;其中,所述预测资源分配信息包括为所述当前时间周期相邻的下一时间周期的第一预设数量个时间段预测分配的资源信息;
确定所述下一时间周期内待执行任务所需的资源参考信息;
若所述资源参考信息与所述预测资源分配信息中的第一目标时间段对应的资源信息匹配,确定所述待执行任务在所述第一目标时间段内执行。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述资源参考信息与所述预测资源分配信息中的第一预设数量个时间段对应的资源信息均不匹配,获取所述当前时间周期内所述第一预设数量个时间段执行所述目标任务时的资源占用信息;
通过已训练好的资源占用预测模型对所述资源占用信息进行预测,得到预测资源占用信息;其中,所述预测资源占用信息包括为所述当前时间周期相邻的下一时间周期的第一预设数量个时间段预测占用的资源信息;
若所述资源参考信息与所述预测资源占用信息中的第二目标时间段对应的资源信息匹配,确定所述待执行任务在所述第二目标时间段内执行。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
若所述资源参考信息与所述预测资源占用信息中的所述第一预设数量个时间段对应的资源信息均不匹配,生成提示信息并显示;其中,所述提示信息用于提示用户所述分布式系统已满载,需进行扩容处理。
4.根据权利要求1至3任一所述的方法,其特征在于,所述资源参考信息至少包括中央处理器CPU的第一核心运算数量和第一内存大小,所述若所述资源参考信息与所述预测资源分配信息中的第一目标时间段对应的资源信息匹配,确定所述待执行任务在所述第一目标时间段内执行,包括:
从所述预测资源分配信息中,确定CPU的预测核心运算数量大于或等于所述第一核心运算数量,且预测的内存大小大于或等于所述第一内存大小的参考时间段;
若所述参考时间段包括一个时间段,确定所述参考时间段为所述第一目标时间段,并确定所述待执行任务在所述第一目标时间段内执行;
若所述参考时间段包括至少两个时间段,从所述参考时间段中确定一个时间段为所述第一目标时间段,并确定所述待执行任务在所述第一目标时间段内执行。
5.根据权利要求4所述的方法,其特征在于,所述若所述参考时间段包括至少两个时间段,从所述参考时间段中确定一个时间段为所述第一目标时间段,包括:
若所述参考时间段包括至少两个时间段,从所述参考时间段中确定距离所述当前时间周期最近的一个时间段为所述第一目标时间段;
或者,若所述参考时间段包括至少两个时间段,基于所述参考时间段中的每一时间段的CPU的预测核心运算数量与所述第一核心运算数量的第一差值,所述参考时间段中的每一时间段的预测内存大小与所述第一内存大小的第二差值,从所述参考时间段中确定所述第一差值最小和/或所述第二差值最小的一个时间段为所述第一目标时间段。
6.根据权利要求2所述的方法,其特征在于,所述获取当前时间周期内为第一预设数量个时间段分配的资源分配信息之前,所述方法还包括:
若确定所述分布式系统当前为用户提供分布式服务,采集所述第一预设数量个所述资源分配信息和所述第一预设数量个所述资源占用信息;
存储所述第一预设数量个所述资源分配信息和所述第一预设数量个所述资源占用信息至目标存储区域。
7.根据权利要求1所述的方法,其特征在于,所述通过已训练好的资源分配预测模型对所述资源分配信息进行预测,得到预测资源分配信息之前,所述方法还包括:
获取第二预设数量组第一历史时间周期内的第一历史资源分配信息和第二历史时间周期内的第二历史资源分配信息;其中,所述第一历史时间周期与所述第二历史时间周期相邻,且所述第二历史时间周期在所述第一历史时间周期后;
基于所述第一历史资源分配信息和所述第二历史资源分配信息,对预设模型进行模型训练,得到所述资源分配预测模型。
8.一种任务分配装置,其特征在于,所述装置包括:第一获取单元、预测单元、确定单元和处理单元;其中:
所述第一获取单元,用于获取当前时间周期内为第一预设数量个时间段分配的资源分配信息;其中,所述当前时间周期划分为所述第一预设数量个时间段,每一时间段用于执行一个目标任务;
所述预测单元,用于通过已训练好的资源分配预测模型对所述资源分配信息进行预测,得到预测资源分配信息;其中,所述预测资源分配信息包括为所述当前时间周期相邻的下一时间周期的第一预设数量个时间段预测分配的资源信息;
所述确定单元,用于确定所述下一时间周期内待执行任务所需的资源参考信息;
所述处理单元,用于若所述资源参考信息与所述预测资源分配信息中的第一目标时间段对应的资源信息匹配,确定所述待执行任务在所述第一目标时间段内执行。
9.一种任务分配设备,其特征在于,所述设备包括存储器、处理器和通信总线;其中:
所述存储器,用于存储可执行指令;
所述通信总线,用于实现所述处理器和所述存储器之间的通信连接;
所述处理器,用于执行所述存储器中存储的任务分配程序,实现如权利要求1至7中任一项所述的任务分配方法的步骤。
10.一种存储介质,其特征在于,所述存储介质上存储有任务分配程序,所述任务分配程序被处理器执行时实现如权利要求1至7中任一项所述的任务分配方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110127415.5A CN114816690A (zh) | 2021-01-29 | 2021-01-29 | 一种任务分配方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110127415.5A CN114816690A (zh) | 2021-01-29 | 2021-01-29 | 一种任务分配方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114816690A true CN114816690A (zh) | 2022-07-29 |
Family
ID=82525713
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110127415.5A Pending CN114816690A (zh) | 2021-01-29 | 2021-01-29 | 一种任务分配方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114816690A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115202888A (zh) * | 2022-09-13 | 2022-10-18 | 清华大学 | 设备调度方法、装置、电子设备及可读存储介质 |
CN115328654A (zh) * | 2022-08-15 | 2022-11-11 | 中国建设银行股份有限公司 | 一种资源分配方法、装置、电子设备及存储介质 |
-
2021
- 2021-01-29 CN CN202110127415.5A patent/CN114816690A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115328654A (zh) * | 2022-08-15 | 2022-11-11 | 中国建设银行股份有限公司 | 一种资源分配方法、装置、电子设备及存储介质 |
CN115202888A (zh) * | 2022-09-13 | 2022-10-18 | 清华大学 | 设备调度方法、装置、电子设备及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107888669B (zh) | 一种基于深度学习神经网络的大规模资源调度系统及方法 | |
WO2024060789A1 (zh) | 面向智能计算的分布式训练任务调度方法、系统和装置 | |
CN110086650B (zh) | 面向分布式机器学习任务的云资源在线调度方法及装置 | |
KR20180077218A (ko) | 계산 그래프들 프로세싱 | |
CN106959894B (zh) | 资源分配方法和装置 | |
CN107291546A (zh) | 一种资源调度方法及装置 | |
Salehi et al. | Stochastic-based robust dynamic resource allocation for independent tasks in a heterogeneous computing system | |
CN111381950A (zh) | 一种面向边缘计算环境基于多副本的任务调度方法和系统 | |
CN106528280A (zh) | 一种任务分配方法和系统 | |
CN112685153A (zh) | 微服务调度方法、装置以及电子设备 | |
CN114816690A (zh) | 一种任务分配方法、装置、设备及存储介质 | |
CN109857535B (zh) | 面向Spark JDBC的任务优先级控制的实现方法及装置 | |
CN105378668B (zh) | 多处理器系统中的操作系统管理的中断引导 | |
Kamthe et al. | A stochastic approach to estimating earliest start times of nodes for scheduling DAGs on heterogeneous distributed computing systems | |
CN106934539A (zh) | 一种带有期限和费用约束的工作流调度方法 | |
CN113886034A (zh) | 任务调度方法、系统、电子设备及存储介质 | |
Witt et al. | Feedback-based resource allocation for batch scheduling of scientific workflows | |
CN105491079B (zh) | 云计算环境中调整应用所需资源的方法及装置 | |
CN115586961A (zh) | 一种ai平台计算资源任务调度方法、装置及介质 | |
CN108132840A (zh) | 一种分布式系统中的资源调度方法及装置 | |
Li et al. | MapReduce task scheduling in heterogeneous geo-distributed data centers | |
CN110780991A (zh) | 一种基于优先级的深度学习任务调度方法及装置 | |
Carlier et al. | Jackson's pseudo-preemptive schedule and cumulative scheduling problems | |
CN110413393B (zh) | 集群资源管理方法、装置、计算机集群及可读存储介质 | |
CN115129481B (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 |