CN103699440B - 一种云计算平台系统为任务分配资源的方法和装置 - Google Patents
一种云计算平台系统为任务分配资源的方法和装置 Download PDFInfo
- Publication number
- CN103699440B CN103699440B CN201210374766.7A CN201210374766A CN103699440B CN 103699440 B CN103699440 B CN 103699440B CN 201210374766 A CN201210374766 A CN 201210374766A CN 103699440 B CN103699440 B CN 103699440B
- Authority
- CN
- China
- Prior art keywords
- information
- resource allocation
- task
- neural network
- resource
- 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
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种云计算平台系统为任务分配资源的方法和装置,该方法包括:获取任务请求队列中的任务;解析所述任务,获取所述任务的基本资源需求信息;根据所述基本资源需求信息,按照资源分配策略,生成资源分配信息;所述资源分配策略为已训练完成的BP神经网络;所述训练为:将历史执行状态信息输入目标BP神经网络,如果生成的资源分配信息与历史资源分配信息的差值超过预设的训练误差阈值,则修正目标BP神经网络,以使得训练完成后输出的资源分配信息与历史资源分配信息的差值不超过所述训练误差阈值;按照所述资源分配信息,为所述任务分配资源。
Description
技术领域
本发明涉及云计算平台系统领域,特别涉及一种云计算平台系统为任务分配资源的方法和装置。
背景技术
随着虚拟化、分布式存储、多核处理器、互联网的技术发展,近些年来兴起了一种新技术的计算模式,云计算。云计算是一种服务的交付和使用模式,具体是指通过网络以按需、易扩展的方式获得所需的服务。狭义的云计算中的服务通常是指IT、软件和互联网相关的服务。
目前,云计算都是通过云计算平台实现的。在云计算平台下,当用户提交任务给云计算平台系统时,系统需要先为提交的任务分配系统内的资源,再利用由分配给该任务的系统内资源,执行任务。系统管理范围内的资源,具体包括:服务器、CPU、内存、网络、存储等硬件资源,以及虚拟机、应用程序、系统提供的各种服务等软件资源。
目前系统对资源的分配方式,通常是系统都给任务分配足够多的资源,以保证任务的正确执行。在这种分配方式下,资源总是过量分配的。但是,这种过量分配资源的方式会导致系统资源利用率的低下。进而,由于在云计算平台下资源是有限的,资源利用率低下的系统在单位时间内通过有限的资源能够执行的任务就非常有限,这直接导致了系统并发任务量较小、任务吞吐量较低。
发明内容
本发明要解决的问题是提供一种云计算平台系统下为任务分配资源的方法和装置,以克服现有技术中由于资源过量分配而导致的云计算平台系统资源利用率低下、并发任务量较小、任务吞吐量较低的缺陷。
为达到上述目的,本发明提供了,所述方法包括以下步骤:
获取任务请求队列中的任务;
解析所述任务,获取所述任务的基本资源需求信息;
根据所述基本资源需求信息,按照资源分配策略,生成资源分配信息;所述资源分配策略为已训练完成的BP神经网络;所述训练为:将历史执行状态信息输入目标BP神经网络,判断目标BP神经网络生成的资源分配信息与历史资源分配信息的差值是否超过预设的训练误差阈值,如果是,则修正目标BP神经网络,以使得,在训练完成后,目标BP神经网络生成的资源分配信息与历史资源分配信息的差值不超过所述训练误差阈值;
按照所述资源分配信息,为所述任务分配资源。
优选的,所述训练具体包括:
获取训练数据库中相对应的历史执行状态信息和历史资源分配信息,作为当前历史执行状态信息和当前历史资源分配信息;
将所述当前历史执行状态信息输入目标BP神经网络的输入层,目标BP神经网络计算后由输出层生成资源分配信息;
判断所述资源分配信息与所述当前历史资源分配信息的差值是否超过预设的训练误差阈值;
如果是,则根据所述差值修正所述目标BP神经网络中的连接权值和偏差;获取训练数据库中未获取过的相对应的历史执行状态信息和历史资源分配信息,并作为当前历史执行状态信息和当前历史资源分配信息;返回将所述当前历史执行状态信息输入目标BP神经网络的输入层,目标BP神经网络计算后由输出层生成资源分配信息的步骤;
如果否,将所述目标BP神经网络作为已训练完成的BP神经网络储存。
优选的,所述判断所述资源分配信息与所述当前历史资源分配信息的差值是否超过预设的训练误差阈值的步骤之后,在判断结果为否的情况下,还包括:
判断所述目标BP神经网络是否满足训练完成条件;
如果否,则获取训练数据库中未获取过的相对应的历史执行状态信息和历史资源分配信息,并作为当前历史执行状态信息和当前历史资源分配信息;返回将所述当前历史执行状态信息输入目标BP神经网络的输入层,目标BP神经网络计算后由输出层生成资源分配信息的步骤;
如果是,则将所述目标BP神经网络作为已训练完成的BP神经网络储存;
所述训练完成条件为:连续的预设次数经过目标BP神经网络分析后生成的资源分配信息,与当前历史资源分配信息的差值不超过预设的训练误差阈值。
优选的,在所述将所述目标BP神经网络作为已训练完成的BP神经网络储存的步骤之后还包括:
获取验证数据库中相对应的历史执行状态信息和历史资源分配信息,并将所述历史执行状态信息输入所述已训练完成的BP神经网络的输入层,所述已训练完成的BP神经网络计算后由输出层生成资源分配信息;
判断所述资源分配信息与所述历史资源分配信息的差值是否超过预设的验证误差阈值,如果是,则将已训练完成的BP神经网络作为目标BP神经网络,返回获取训练数据库中相对应的历史执行状态信息和历史资源分配信息的步骤。
优选的,所述按照所述资源分配信息为所述任务分配资源的步骤之后,还包括:
利用所述分配的资源执行所述任务;监测并记录所述任务执行时的执行状态信息;
任务执行结束后,获取执行所述任务的执行总时间;
判断所述执行总时间是否超过预设的执行总时间阈值,如果否,将所述执行状态信息和所述资源分配信息对应地储存到训练数据库中。
优选的,其特征在于,所述解析所述任务得到基本资源需求信息的步骤具体包括:
解析所述任务,得到任务头参数和任务类型;
通过任务头参数,直接提取任务头参数中的第一资源需求信息;通过任务类型,在预设的任务类型资源需求库中查找并提取出所述任务类型所对应的第二资源需求信息;
将所述第一资源需求信息和第二资源需求信息规格化,生成所述任务的基本资源需求信息。
优选的,所述根据所述基本资源需求信息,按照资源分配策略,生成资源分配信息的步骤具体包括:
将所述基本资源需求信息输入已训练完成的BP神经网络的输入层;获取由所述已训练完成的BP神经网络输出层得到的输出信息;将所述输出信息规格化,生成资源分配信息。
本发明还公开了一种云计算平台系统为任务分配资源的装置,其特征在于,该装置包括:
任务获取模块,用于获取任务请求队列中的任务;
基本资源需求信息获取模块,用于解析所述任务,获取所述任务的基本资源需求信息;
资源分配信息生成模块,用于根据所述基本资源需求信息,按照资源分配策略,生成资源分配信息;所述资源分配策略为已训练完成的BP神经网络;
BP神经网络训练模块,用于将历史执行状态信息输入目标BP神经网络,判断目标BP神经网络生成的资源分配信息与历史资源分配信息的差值是否超过预设的训练误差阈值,如果是,则修正目标BP神经网络,以使得,在训练完成后,目标BP神经网络生成的资源分配信息与历史资源分配信息的差值不超过所述训练误差阈值;
资源分配模块,用于利用所述资源分配信息,为所述任务分配资源。
优选的,所述BP神经网络训练模块具体包括:
第一训练数据获取子模块,用于获取训练数据库中相对应的历史执行状态信息和历史资源分配信息,作为当前历史执行状态信息和当前历史资源分配信息;
训练神经网络分析子模块,用于将所述当前历史执行状态信息输入目标BP神经网络的输入层,目标BP神经网络计算后由输出层生成资源分配信息;
训练误差判断子模块,用于判断所述资源分配信息与所述当前历史资源分配信息的差值是否超过预设的训练误差阈值,如果是,则启动训练修正子模块,如果否,则启动训练完成条件判断子模块;
训练修正子模块,用于根据所述差值修正所述目标BP神经网络中的连接权值和偏差,修正后启动第二训练数据获取子模块;
第二训练数据获取子模块,用于获取训练数据库中未获取过的相对应的历史执行状态信息和历史资源分配信息,作为当前历史执行状态信息和当前历史资源分配信息,并启动训练神经网络分析子模块;
训练完成条件判断子模块,用于判断所述目标BP神经网络是否满足训练完成条件,如果是,则启动储存子模块,如果否,则启动第二训练数据获取子模块;所述训练完成条件为:连续的预设次数经过目标BP神经网络分析后得到的资源分配信息,与当前历史资源分配信息的差值不超过预设的训练误差阈值;
储存子模块,用于将所述目标BP神经网络作为已训练完成的BP神经网络储存。
优选的,所述BP神经网络训练模块还包括:
验证数据获取子模块,用于获取验证数据库中相对应的历史执行状态信息和历史资源分配信息;
验证神经网络分析子模块,用于将所述历史执行状态信息输入所述已训练完成的BP神经网络的输入层,所述已训练完成的BP神经网络计算后由输出层生成资源分配信息;
验证误差判断子模块,用于判断所述资源分配信息与所述历史资源信息的差值是否超过预设的验证误差阈值,如果是,则启动神经网络状态转换子模块;
神经网络状态转换子模块,用于将已训练完成的BP神经网络作为目标BP神经网络,并启动第一训练数据获取子模块。
优选的,该装置还包括:
任务执行模块,用于利用所述分配的资源执行所述任务;
执行状态信息监测模块,用于监测并记录所述任务执行时的执行状态信息;
任务执行总时间获取模块,用于任务执行结束后获取执行所述任务的执行总时间;
执行总时间判断模块,用于判断所述执行总时间是否超过预设的执行总时间阈值,如果否,则启动信息储存模块;
信息储存模块,用于将所述执行状态信息和所述资源分配信息对应地储存到训练数据库中。
优选的,其特征在于,所述基本资源需求信息获取模块具体包括:
任务解析子模块,用于解析所述任务,得到任务头参数和任务类型;
资源需求信息提取子模块,用于通过任务头参数直接提取任务头参数中的第一资源需求信息,和,通过任务类型在预设的任务类型资源需求库中查找提取出所述任务类型所对应的第二资源需求信息;
资源需求信息规格化子模块,用于将所述第一资源需求信息和所述第二资源需求信息规格化,生成所述任务的基本资源需求信息。
优选的,所述资源分配信息生成模块具体包括:
资源需求信息输入子模块,用于将所述基本资源需求信息输入已训练完成的BP神经网络的输入层;
输出信息获取子模块,用于获取由所述已训练完成的BP神经网络输出层得到的输出信息;
输出信息规格化子模块,用于将所述输出信息规格化,生成资源分配信息。
与现有技术相比,本发明具有以下优点:
本发明的技术方案,将预先执行任务时的历史执行状态信息输入目标BP神经网络,目标BP神经网络计算后输出生成资源分配信息,在该资源分配信息与历史资源分配信息的差值超过预设的训练误差阈值时,修正目标BP神经网络,以此来训练目标BP神经网络,以使得,已训练完成的BP神经网络在输入历史执行状态信息后,能够输出生成与历史资源分配信息相差不超过训练误差阈值的资源分配信息,因此,已训练完成的BP神经网络输出生成的资源分配信息,可以使得任务执行时的执行状态与输入该BP神经网络的执行状态信息所描述的执行状态基本一致。根据上述的原因,在系统为任务分配资源时,由于基本资源需求信息也就是该任务需要在执行达到的执行状态信息,所以,系统利用由基本资源需求信息输入已训练完成的BP神经网络而输出得到的资源分配信息来分配资源,任务在执行时的执行状态就能够与基本资源需求信息中的需求的执行状态基本保持一致,从而保证了任务执行的资源需求被满足的情况下,系统为任务分配的资源不过量,进而,系统中的资源都能得到充分的利用,系统的资源利用率得以提高;同时,系统在单位时间内通过有限的资源能够执行的任务数量也随之增大,从而使系统并发任务量增大、任务的吞吐量增大。
附图说明
图1是本发明的云计算平台系统为任务分配资源的方法的一实施例的基本流程图;
图2是BP神经网络的拓扑结构图;
图3是本发明的云计算平台系统为任务分配资源的方法中BP神经网络的训练过程的基本流程图;
图4是本发明的云计算平台系统为任务分配资源的方法的又一实施例的基本流程图;
图5是本发明的云计算平台系统为任务分配资源的方法的又一实施例中所采用的BP神经网络结构图;
图6是采用本发明方法的系统与未采用本发明方法的系统在执行单个任务时执行总时间的对比图;
图7是采用本发明方法的系统与未采用本发明方法的系统在执行多个任务时不同负载压力下执行总时间的对比图;
图8是本发明的云计算平台系统为任务分配资源的装置实施例一的结构图;
图9是本发明的装置实施例一中基本资源需求信息获取模块的一实施例的结构图;
图10是本发明的装置实施例一中资源分配信息生成模块的一实施例的结构图;
图11是本发明的云计算平台系统为任务分配资源的装置实施例二的结构图;
图12是本发明装置实施例二中BP神经网络训练模块的又一实施例的结构图;
图13是本发明云计算平台系统为任务分配资源的装置实施例三的结构图。
具体实施方式
下面我们将结合附图,对本发明的最佳实施方案进行详细描述。首先要指出的是,本发明中用到的术语、字词及权利要求的含义不能仅仅限于其字面和普通的含义去理解,还包括进而与本发明的技术相符的含义和概念,这是因为我们作为发明者,要适当地给出术语的定义,以便对我们的发明进行最恰当的描述。因此,本说明和附图中给出的配置,只是本发明的首选实施方案,而不是要列举本发明的所有技术特性。我们要认识到,还有各种各样的可以取代我们方案的同等方案或修改方案。
本发明的基本思想是:系统从任务请求队列中获取任务后,解析所述任务的基本资源需求信息,然后按照已训练完成的BP神经网络的资源分配策略,根据所述基本资源需求信息生成资源分配信息,最后按照所述资源分配信息为所述任务分配资源。其中,BP神经网络是在分配资源前,根据历史执行状态信息与其对应的历史资源分配信息而训练完成的;已训练完成的BP神经网络中存储了执行状态信息和资源分配信息之间的映射关系,可以根据输入的历史执行资源分配信息,生成与历史资源分配信息基本相同的资源分配信息。
下面结合附图,通过具体实施例详细说明本发明云计算平台系统为任务分配资源的方法的具体实施方式。
图1所示的是本发明云计算平台系统为任务分配资源的方法的一实施例的基本流程图,本实施例包括如下步骤:
步骤101、获取任务请求队列中的任务。
云计算平台下,需要执行的任务都保存在任务请求队列中;系统为任务分配时,需要从队列中获取一个任务。
步骤102、解析所述任务,获取所述任务的基本资源需求信息。
系统获取任务后,解析任务提取该任务的资源需求信息,然后由提取到的资源需求信息生成该任务的基本资源需求信息。所述的任务中包含有执行该任务所必需的资源需求信息,如,任务类型、任务量化值等,而根据任务类型可以进一步获得CPU最大使用率、内存使用大小、网络最大使用流量、磁盘I0最大值、任务执行总时间等资源需求信息。这些资源需求信息中的需求,实际上是执行任务时系统需要达到的执行状态,也即,资源需求信息是执行该任务时需求的执行状态信息。
需要说明的是,任务中的资源需求信息包含两部分,一部分为说明性的,一部分为隐含性的。说明性的资源需求信息可以通过任务的任务头参数直接获取,而隐含性的资源需求信息需要根据任务类型通过每种任务类型的常规资源需求来获取。
为使两部分资源需求信息都能够被系统获取到,本实施例提供了步骤102的一种优选的具体实施方式,包括:解析所述任务,得到任务头参数和任务类型;通过任务头参数,直接提取任务头参数中的第一资源需求信息;通过任务类型,在预设的任务类型资源需求库中查找提取出所述任务类型所对应的第二资源需求信息;将所述第一资源需求信息和所述第二资源需求信息规格化,生成所述任务的基本资源需求信息。在本实施方式中,任务类型资源需求库是根据先前已知的任务类型与资源需求信息的对应关系而预先设置的;由此,在获取资源需求信息时,可以直接根据任务的任务类型在任务类型资源需求库中查找并获取对应的资源需求信息。
另外,由于一个任务对应有多个不同的基本资源需求信息,为了方便基本资源信息的发送和接收,在步骤102中还可以将得到的基本资源需求信息集合生成一条对应该任务的基本资源需求数据,然后再进入步骤103。
步骤103、根据所述基本资源需求信息,按照资源分配策略,生成资源分配信息;所述资源分配策略为已训练完成的BP神经网络;所述训练为:将历史执行状态信息输入目标BP神经网络,判断目标BP神经网络生成的资源分配信息与历史资源分配信息的差值是否超过预设的训练误差阈值,如果是,则修正目标BP神经网络,以使得,在训练完成后,目标BP神经网络生成的资源分配信息与历史资源分配信息的差值不超过所述训练误差阈值。
在本步骤103中,由于一个任务对应有多个不同的资源分配信息,为了方便资源分配信息的发送和接收,在步骤103中还可以将生成的资源分配信息集合生成一条对应该任务的资源分配数据,然后再进入步骤104。
本实施例中,所述的资源分配策略为已训练完成的BP神经网络。BP神经网络是一种按误差逆传播算法训练的多层前馈网络,是目前应用最广泛的神经网络模型之一。BP网络能学习和存贮大量的输入-输出模式映射关系,而无需事前揭示描述这种映射关系的数学方程。BP神经网络模型拓扑结构包括输入层、隐层和输出层。
基于BP神经网络的拓扑结构,步骤103的具体实施方式可以为:将所述基本资源需求信息输入已训练完成的BP神经网络的输入层;获取由所述已训练完成的BP神经网络输出层得到的输出信息;将所述输出信息规格化,生成资源分配信息。所述的资源分配信息包括CPU核数、内存大小、网络带宽、磁盘I0能力等等,这些资源分配信息是系统为任务分配资源的依据。
需要说明的是,实现保证资源分配适量而避免过量分配这一发明目的,对应于本实施例中的技术方案来说,实际上是要实现,步骤103中生成的资源分配信息用于分配资源并执行任务时,执行状态信息与基本资源需求信息对应相同。为了使本领域技术人员进一步理解,本发明的发明目的对应到本实施例所要实现的技术方案,以如下的实例来解释上述的对应关系:解析任务获得了CPU最大使用率、内存使用大小及任务量化值共三个基本资源需求信息,将这三个基本资源需求信息输入已训练完成的BP神经网络,BP神经网络分析计算后,由输出层生成两个资源分配信息CPU核数、内存大小,系统就以这两个资源分配信息来为该任务分配CPU和内存。要实现系统分配的CPU和内存可以满足三个基本资源需求并且不过量,实际上在本实施例中,也就是要求,在利用上述分配得到的CPU和内存执行任务时,执行状态信息的CPU最大使用率与基本资源需求信息中的CPU最大使用率基本相同,同样地,执行状态信息的内存使用大小和任务量化值也与基本资源需求信息中的内存使用大小和任务量化值基本相同。可以理解的是,这里的基本相同的含义,是两者误差不超过一个预设的阈值。
为了实现按照BP神经网络生成的资源分配信息所分配的资源用于执行任务时,执行状态信息与基本资源需求信息对应基本相同,BP神经网络需要事先由相对应的历史执行状态信息与历史资源分配信息进行训练学习,以使得,训练完成的BP神经网络能够生成与历史资源分配信息基本相同的资源分配信息;其中,相对应的历史执行状态信息与历史资源分配信息是针对同一个历史任务的信息,也即:历史资源分配信息是系统为该历史任务分配的资源的信息,历史执行状态信息是系统利用上述分配的资源执行该任务时所达到的执行状态的信息。由此,训练完成的BP神经网络存储了执行状态信息与资源分配信息之间的映射关系,就可以根据任务所需求的执行状态信息(也即基本资源需求信息),生成能够使任务执行时达到执行状态信息的资源分配信息。
BP神经网络的训练学习过程,是由预设的输入变量组和与其对应的预期输出变量组,通过正向传播和反向传播两个过程来完成的。如图2所示的BP神经网络的拓扑结构,包含输入层、隐层和输出层。其中,输入变量为xi(i=1,2,…,n),隐层变量为zj(j=1,2,…,m),输出变量为yk(k=1,2,…,l),输入层到隐层的权重设为为wij(i=1,2,…,n;j=1,2,…,m),隐层到输出层的权重设为vjk(j=1,2,…,m,k=1,2,…,l)。i、j、k分别为输入层、隐层和输出层的结点序号。
在BP神经网络进行训练学习时,先进行正向传播过程:将预设的输入变量组xi(i=1,2,…,n),由输入层传入隐层单元,经计算后传送到输出层,最后由输出层单元处理生成输出变量组yk(k=1,2,…,l)。隐层的值由下面的式(1)计算生成,输出层的值由下面的式(2)计算生成。
式(1)中θj为隐层结点的阈值;式(2)中为输出层结点的阈值;如式(3)所示,f为S型函数。
在正向传播获得输出变量组之后,将输出变量组中的输出变量值与对应的预期输出变量组中的预期输出变量值做差得到误差值,如果该误差值没有超过预设的误差阈值,则继续获取下一个预设的输入变量组和与其对应的预期输出变量组,并利用获取的输入变量组进行正向传播;如果该误差值超过预设的误差阈值,则对BP神经网络进行反向传播,以修正BP神经网络。
BP神经网络的反向传播具体为:将输出层的误差值反向传输,运用式(4)计算新的连接权值和各层结点的阈值,完成调整,以减小输出变量值与预期输出变量值之间的误差。
Xk+1=Xk-αkβk (4)
式(4)是个通用公式,Xk可表示输入层到隐层的连接权值、偏差,隐层到输出层的权值、偏差;αk是设定的当前连接权值和偏差的学习率,它限定了每次修改连接权值或偏差的尺度大小;βk是当前连接权值或偏差的梯度,通常由输出变量与预期输出变量的误差值计算得到。在本实施例中,αk可以是一个预先设定的固定值,βk也可以针对误差值的正负各预先设定一个固定值。
基于上述BP神经网络训练过程的理论分析和本发明的发明目的,本实施例中对目标BP神经网络的训练基本思路为:将历史执行状态信息输入目标BP神经网络,判断目标BP神经网络生成的资源分配信息与历史资源分配信息的差值是否超过预设的训练误差阈值,如果是,则修正目标BP神经网络,以使得,在训练完成后,目标BP神经网络生成的资源分配信息与历史资源分配信息的差值不超过训练误差阈值。
下面结合图3,详细说明在本实施例中BP神经网络的训练过程。在下面的训练过程中,需要训练的BP神经网络称为目标BP神经网络,而训练完成后则改称已完成训练的BP神经网络。如图3所示,BP神经网络的训练具体流程包括如下步骤:
步骤301、获取训练数据库中相对应的历史执行状态信息和历史资源分配信息,作为当前历史执行状态信息和当前历史资源分配信息。
训练数据库中储存有多组对应保存的历史执行状态信息和历史资源分配信息。这些历史执行状态信息和历史资源分配信息,实际上是,系统事先执行多种不同的历史任务时监测到的执行状态信息,以及这些任务对应的资源分配信息;每组相对应的历史执行状态信息和历史资源分配信息,是系统针对同一个历史任务的信息资源分配信息。其中,每组历史执行状态信息可以包括CPU最大使用率、内存使用大小、网络最大使用流量、磁盘I0最大值、任务执行总时间、任务类型、任务量化值等信息,每组历史资源分配信息可以包括CPU核数、内存大小、网络带宽、磁盘I0能力等信息。
为保证训练完成的BP神经网络具有足够的精确度,在本实施例的训练数据库中,对应每种任务类型,相对应的历史执行状态信息和历史资源分配信息应各不少于100组,具体的信息数量可以根据训练后需要达到的精确度确定。
在本实施例中,在对目标BP神经网络进行训练时,与其对应的训练预期输出数据是逐条获取使用的。
步骤302、将所述当前历史执行状态信息输入目标BP神经网络的输入层,目标BP神经网络计算后由输出层生成资源分配信息。
获取到当前历史执行状态信息和当前历史资源分配信息后,将历史执行执行状态信息作为输入变量输入目标BP神经网络的输入层,经过上述BP神经网络的正向传播,计算后生成一组输出变量,以输出变量作为生成的资源分配信息。
需要说明的是,首先,一般情况下,开始训练时,作为训练对象的目标BP神经网络是初始化的BP神经网络,也即,在以第一组当前历史执行状态信息输入初始化的目标BP神经网络进行正向传播时,上述式(1)和式(2)中的各连接权值和偏差是随机给定的。当然,也可以利用任意的没有初始化的BP神经网络来进行训练,而对未初始化的BP神经网络来说,各连接权值和偏差大多是预先给定的固定值,如,可以对下面步骤307中已训练完成的BP神经网络进行再次训练,对已训练完成的BP神经网络来说,各连接权值和偏差都是已明确设定的固定值。其次,除了开始训练时输入第一组当前历史执行状态信息的情况,此后目标BP神经网络经过后续步骤的修正再次返回本步骤302时,本步骤302中的目标BP神经网络的各连接权值均为上次修正过后的固定值。
步骤303、判断所述资源分配信息与所述当前历史资源分配信息的差值是否超过预设的训练误差阈值,如果是,则进入步骤304,如果否,则进入步骤306。
所述的训练误差阈值是一个预设的值,可以根据不同的精确度需求来进行设定。
需要说明的是,所述资源分配信息与所述当前历史资源分配信息的差值是指这两个信息的值的差值。由于每次生成的一组资源分配信息与对应的历史资源分配信息有多个,因此差值也有多个。在本实施例中,对每个差值都进行判断是否超过误差阈值,当至少有一个差值超过阈值,则进入步骤304;而在步骤304中也只修正该差值对应的输出层的输出端的连接权值和偏差值。另外,除了上述的方式,也可以采用一定比例的差值超过阈值才进入步骤304这样的方式来实施步骤303。
步骤304、根据所述差值修正目标BP神经网络中的连接权值和偏差。
当步骤303中差值超过训练误差阈值时,对目标BP神经网络进行上述的反向传播,以修正目标BP神经网络的各连接权值和偏差。在本步骤304中,式(4)的αk可以是一个预先设定的固定值,βk可以是针对所述差值的正负各预先设定一个固定值。如此,本步骤304具体可以为:判断所述差值的正负,根据差值的正负选择预设的αk和βk,再根据选定的αk和βk由式(4)计算各连接权值和偏差,得到修正后的目标BP神经网络。
步骤305、获取训练数据库中未获取过的相对应的历史执行状态信息和历史资源分配信息,并作为当前历史执行状态信息和当前历史资源分配信息,返回步骤302。
步骤306、判断目标BP神经网络是否满足训练完成条件,如果是,进入步骤307,如果否,进入步骤302。
训练完成条件可以根据所需的精确度来确定,一般可以为:连续的预设次数经过目标BP神经网络分析后生成的资源分配信息,与当前历史资源分配信息的差值不超过预设的训练误差阈值。预设的次数可以根据需求的精度来确定,一般不少于5次。
另外,也可以不进行步骤306的是否满足训练完成条件的判断,只要步骤303中的判断结果为所述差值不超过训练误差阈值,就直接进入步骤307。
步骤307、将所述目标BP神经网络作为已训练完成的BP神经网络储存。
在执行完步骤307后,对目标BP神经网络的训练已经完成。为了进一步验证已训练完成的BP神经网络是否具有良好的精确度,本实施例还提供了如下的步骤308~309,以利用与训练数据库不同的验证数据库来对已训练完成的BP神经网络进行验证。
步骤308、获取验证数据库中相对应的历史执行状态信息和历史资源分配信息。
验证数据库中同样储存有对应保存的历史执行状态信息和历史资源分配信息。验证数据库中的历史执行状态信息和历史资源分配信息同样是系统在执行历史任务时获得的。但验证数据库中的各信息对应的历史任务与训练数据库中的信息不同。也即,验证数据库中用于验证的信息和训练数据库用于训练的信息是不同的信息。
为保证验证具有足够的准确性,在本实施例的验证数据库中,对应每种任务类型,相对应的历史执行状态信息和历史资源分配信息应各不少于10组。
步骤309、将所述历史执行状态信息输入所述已训练完成的BP神经网络的输入层,所述已训练完成的BP神经网络计算后由输出层生成资源分配信息。
步骤310、判断所述资源分配信息与所述历史资源分配信息的差值是否超过预设的验证误差阈值,如果是,则进入步骤311。
所述的验证误差阈值是一个预设的值,可以根据不同的精确度需求来进行设定。此外,步骤310中的验证误差阈值,与步骤303中的训练误差阈值是不同的两个预设值,两者可以相等,也可以不相等。
步骤311、将已训练完成的BP神经网络作为目标BP神经网络,返回步骤301。
在步骤310中,如果判断结果为否,则可以结束流程,BP神经网络的训练和验证过程都已结束。
接着返回图1,在步骤103执行完成之后,执行步骤104。
步骤104、按照所述资源分配信息,为所述任务分配资源。
系统在按照所述资源分配信息为所述任务分配资源时,需要查找最合适的资源组。本实施例中,采用带回溯的深度优先方法查找最合适的资源组,具体的实施方法为:系统在启动初始化的时候,在内存中建立数个空闲资源树和一个忙占用资源数组。系统中每一种资源都建立一个空闲资源树,该资源树是按照各自指标有序排列的。忙占用资源数组中记录当前正在被占用或正在执行任务的资源结构信息。当一个资源分配给任务的时候,该资源将从空闲资源树中摘除,加入忙占用数组,当任务执行结束后,程序再将该资源加入空闲资源树中。
此外,为了监测资源分配后任务的执行状态,并在根据BP神经网络分配的资源不能使任务执行的执行状态达到资源需求信息的要求时对其进行修正,本实施例还提供了一种监测并根据执行状态信息来对BP神经网络进行修正的实施方式,该实施方式是在步骤104后,还包括如下的步骤:利用所述分配的资源执行所述任务;监测并记录所述任务执行时的执行状态信息;任务执行结束后,获取执行所述任务的执行总时间;判断所述执行总时间是否超过预设的执行总时间阈值,如果否,则将所述执行状态信息和所述资源分配信息对应地储存到训练数据库中。在本步骤中,执行总时间也可以是执行状态数据中的一个信息,这种情况下,由于监测时已经获取了执行总时间这个执行状态信息,因此可以在后续步骤不再获取执行总时间;将所述执行状态信息和所述资源分配信息对应地储存到训练数据库中,是为了扩充训练数据库中的训练数据,以使训练数据库再次训练BP神经网络时可以具有更多数据,精确度更高;如果判断结果为是,一般也不会立即修正BP神经网络,而是待系统空闲或不忙时,再利用增加信息数据后的训练数据库对BP神经网络进行再次的训练。
通过本实施例,将预先执行任务时的历史执行状态信息输入目标BP神经网络,目标BP神经网络计算后输出生成资源分配信息,在该资源分配信息与历史资源分配信息的差值超过预设的训练误差阈值时,修正目标BP神经网络,以此来训练目标BP神经网络,以使得,已训练完成的BP神经网络在输入历史执行状态信息后,能够输出生成与历史资源分配信息相差不超过训练误差阈值的资源分配信息,因此,已训练完成的BP神经网络输出生成的资源分配信息,可以使得任务执行时的执行状态与输入该BP神经网络的执行状态信息所描述的执行状态基本一致。根据上述的原因,在系统为任务分配资源时,由于基本资源需求信息也就是该任务需要在执行达到的执行状态信息,所以,系统利用由基本资源需求信息输入已训练完成的BP神经网络而输出得到的资源分配信息来分配资源,任务在执行时的执行状态就能够与基本资源需求信息中的需求的执行状态基本保持一致,从而保证了任务执行的资源需求被满足的情况下,系统为任务分配的资源不过量,进而,系统中的资源都能得到充分的利用,系统的资源利用率得以提高;同时,系统在单位时间内通过有限的资源能够执行的任务数量也随之增大,从而使系统并发任务量增大、任务的吞吐量增大。
下面结合图4,以具体应用场景对本发明的实施方式做进一步详细说明。在如图4所示的本发明云计算平台系统为任务分配资源的方法的又一实施例中,基本资源需求信息和执行状态信息都包括CPU最大使用率、CPU加权平均使用率、内存使用大小、网络最大使用流量、网络加权平均使用流量、磁盘IO最大值、磁盘IO加权平均值、任务执行总时间、任务类型、任务量化值共10个信息,资源分配信息包括CPU核数、内存大小、网络带宽、磁盘IO能力共4个信息。其中,CPU加权平均使用率、网络加权平均使用流量、磁盘IO加权平均值和任务量化值是为了更全面的考虑任务执行时各资源之间的相互影响而设计的;CPU加权平均使用率的计算方法为(CPU主频/基准主频)*(任务执行过程CPU使用率总和/数据个数);网络加权平均使用流量和磁盘IO加权平均值的计算方法与CPU加权平均使用率相似,不再赘述;任务量化值为提取任务头信息中任务计量参数和任务作用范围等信息,量化后除以系统对该任务预设的基准计量标准值,得到任务量化值。
如图4所示,本实施例的具体流程包括:
步骤401、创建训练数据库和验证数据库:在事先系统执行的各种历史任务执行过程中,以监测到的任务执行时的CPU最大使用率、CPU加权平均使用率、内存使用大小、网络最大使用流量、网络加权平均使用流量、磁盘IO最大值、磁盘IO加权平均值、任务执行总时间、任务类型、任务量化值作为历史执行状态信息,以对应同一历史任务的CPU核数、内存大小、网络带宽、磁盘IO能力作为对应的历史资源分配信息,储层到训练数据库中。同样的,验证数据库也如此建立,但是,验证数据库中储存的信息所针对的历史任务与训练数据库中的信息不同。
步骤402、初始化BP神经网络:随机给定BP神经网络中的各个连接权值和偏差。
步骤403、获取当前训练数据:获取训练数据库中相对应的历史执行状态信息和历史资源分配信息,作为当前历史执行状态信息和当前历史资源分配信息。
步骤404、当前历史执行状态信息输入BP神经网络,BP神经网络分析生成资源分配信息。本实施例中所使用的BP神经网络如图5所示,输入层共有10个输入端,输出层共有4个输出端,分别对应步骤401中的各个信息。
步骤405、判断资源分配信息与当前历史资源分配信息的差值是否超过训练误差阈值,如果是,进入步骤406;如果否,进入408:所述训练误差阈值是预先设定的。
步骤406、修正BP神经网络:根据差值修正BP神经网络的各个连接权值和偏差。
步骤407、再次获取当前训练数据:获取训练数据库中未获取过的相对应的历史执行状态信息和历史资源分配信息,并作为当前历史执行状态信息和当前历史资源分配信息,返回步骤404。
步骤408、判断是否满足训练完成条件,如果是,进入步骤409,如果否,进入步骤407。训练完成条件为已连续五次经过目标BP神经网络分析后得到的输出数据与训练预期输出数据的差值不超过预设的训练误差阈值。
步骤409、将BP神经网络作为已训练完成的BP神经网络储存。
步骤410、获取验证数据:获取验证数据库中相对应的历史执行状态信息和历史资源分配信息。
步骤411、将验证历史执行状态信息输入BP神经网络,BP神经网络分析生成资源分配信息。
步骤412、判断资源分配信息与验证历史资源分配信息的差值是否超过验证误差阈值,如果是,返回步骤403;如果否,进入步骤414:所述验证误差阈值是预先设定的。
执行完步骤412后,如果步骤412中判断结果为否,则完成BP神经网络的训练过程,且已训练完成的BP神经网络已通过验证。需要说明的是,以上步骤401~412并不是在每次系统对任务进行资源分配时都需要的训练BP神经网络的步骤。本实施例中,在BP神经网络一次训练完成以后,以后的分配资源的流程将从步骤413开始,除以下步骤返回的情况外,不再执行步骤401~412。
步骤413、获取任务请求队列中的任务。
步骤414、解析任务,提取资源需求信息:根据解析到的任务头参数和任务类型,提取资源需求信息。获得的资源需求信息包括CPU最大使用率、CPU加权平均使用率、内存使用大小、网络最大使用流量、网络加权平均使用流量、磁盘IO最大值、磁盘IO加权平均值、任务执行总时间、任务类型、任务量化值共10个信息。
步骤415、规格化资源需求信息,生成基本资源需求信息,并集合为基本资源需求数据。
步骤416、将基本资源需求数据输入BP神经网络,获取规格化的资源分配信息,并将资源分配信息集合为资源分配数据:资源分配信息包括CPU核数、内存大小、网络带宽、磁盘IO能力;规格化处理是将BP神经网络生成的输出信息做如下处理,生成资源分配信息:对于CPU核数,若预测结果小数部分小于0.2,直接取整数部位,大于0.2做进位处理;对于,内存大小,网络带宽和磁盘IO能力统一进位处理。
步骤417、根据资源分配数据查找最合适的资源组:采用回溯的深度优先方法。
步骤418、将选定的资源组中的资源分配给任务,并执行任务。
步骤419、监测并记录所述任务执行时的执行状态信息:监测的状态信息包括CPU最大使用率、CPU加权平均使用率、内存使用大小、网络最大使用流量、网络加权平均使用流量、磁盘IO最大值、磁盘IO加权平均值、任务执行总时间,并记录以上信息以及任务类型和任务量化值。
步骤420,判断任务的执行总时间是否超过预设的执行总时间阈值,如果否,进入步骤421。
步骤421、将所述执行状态信息和所述资源分配信息对应地储存到训练数据库中。
需要说明的是,步骤419~421是系统为任务分配资源后进行的根据执行情况修正BP神经网络的过程,并不是系统为任务分配资源的方法中必要的步骤。
另外,在本实施例中,还对比了采用如图4所示的分配资源方法的系统与未采用本发明的分配资源方法的系统,这两种系统在分配资源后任务执行的效果。在对比时,本实施例使用了6种任务对采用两种方法的系统分别作了测试。测试环境配置为7台不同型号的服务器和一台管理服务器,每台服务器配置8-16核心不同的CPU,内存大小为48-96GB,搭载企业级磁盘,网络出口有百兆和千兆两种。在此环境中分别部署采用了本发明方法的系统平台和没有采用本方法的系统平台两套。以下为测试数据情况及分析。
图6为新老系统单个任务执行总时间对比图。图6中,横坐标表示6种任务类型,纵坐标表示该单个任务在系统内执行时的执行总时间,单位为秒。可以看出在单个执行过程中,任务执行总时间基本相同,未采用本发明方法的系统执行时间还有少许优势,这是由于系统给其提供过量的资源,此图表明通过未采用本发明方法的系统分给任务的资源是足够的,不会对资源执行效率产生影响。
图7为不同负载压力下系统执行任务总时间图。图7中横坐标表示系统一次批量提交的任务数量,纵坐标表示系统执行完这些任务耗费的总时间,单位为秒。图7清晰的显示了,采用了本发明方法的系统,其系统吞吐量有大幅度提升,在只有10个任务时候,由于系统资源比较富余,两种系统的执行总时间基本一致,但随着任务个数的增加,未采用本发明方法的系统的执行总时间明显增大,而采用本发明方法的系统执行总时间几乎没有变化,相比于未采用本发明方法的系统,采用本发明方法的系统对多个任务的执行总时间明显减少,从而,单位时间内采用本发明方法的系统的任务吞吐量明显大于未采用本发明方法的系统。图7充分反映了本方法在合理分配资源和提高系统吞吐量方面的有效性。
通过本实施例的技术方案,不仅能保证在分配的资源不过量的情况下,系统根据所述资源分配信息给任务分配数据后,执行任务的各种资源需求能够在任务利用所述任务分配数据时得到满足,由此系统的资源利用率都得以提高,系统并发任务量及对任务的吞吐量得以增大。此外,将分配资源后任务执行过程的执行状态信息和资源分配信息储存到训练数据库中,增大了训练数据库中的数据数量,也可以在任务执行的状态不能满足资源需求时,再次对BP神经网络修正和训练,从而进一步保证了分配资源的合理性和精确度。
为了对应本发明的方法实施例,本发明还提供了一种云计算平台系统为任务分配资源的装置。如图8所示的是为本发明提供的云计算平台系统为任务分配资源的装置实施例一的结构图,该实施例的装置包括:
任务获取模块801,用于获取任务请求队列中的任务;
基本资源需求信息获取模块802,用于解析所述任务,获取所述任务的基本资源需求信息;
资源分配信息生成模块803,用于根据所述基本资源需求信息,按照资源分配策略,生成资源分配信息;所述资源分配策略为已训练完成的BP神经网络;
BP神经网络训练模块804,用于将历史执行状态信息输入目标BP神经网络,判断目标BP神经网络生成的资源分配信息与历史资源分配信息的差值是否超过预设的训练误差阈值,如果是,则修正目标BP神经网络,以使得,在训练完成后,目标BP神经网络生成的资源分配信息与历史资源分配信息的差值不超过所述训练误差阈值;
资源分配模块805,用于利用所述资源分配信息,为所述任务分配资源。
对应本发明方法实施例中解析所述任务而获取所述任务的基本资源需求信息的具体实施方式,本发明提供了云计算平台系统为任务分配资源的装置中基本资源需求信息获取模块802的一种结构。如图9所示的基本资源需求信息获取模块802的一实施例的结构,包括:
任务解析子模块901,用于解析所述任务,得到任务头参数和任务类型;
资源需求信息提取子模块902,用于通过任务头参数直接提取任务头参数中的第一资源需求信息,和,通过任务类型在预设的任务类型资源需求库中查找提取出所述任务类型所对应的第二资源需求信息;
基本资源需求信息生成子模块903,用于将所述第一资源需求信息和所述第二资源需求信息规格化,生成所述任务的基本资源需求信息。
对应本发明方法实施例中的根据所述基本资源需求信息按照资源分配策略生成资源分配信息的步骤的具体实施方式,本发明提供了云计算平台系统为任务分配资源的装置中资源分配信息生成模块803的一种结构。如图10所示的资源分配信息生成模块803的一实施例的结构,包括:
资源需求信息输入子模块1001,用于将所述基本资源需求信息输入已训练完成的BP神经网络的输入层;
输出信息获取子模块1002,用于获取由所述已训练完成的BP神经网络输出层得到的输出信息;
输出信息规格化子模块1003,用于将所述输出信息规格化,生成资源分配信息。
对应本发明方法实施例中BP神经网络的训练过程的实施例,本发明提供了云计算平台系统为任务分配资源的装置中BP神经网络训练模块804的一种结构。如图11所示的云计算平台系统为任务分配资源的装置中BP神经网络训练模块804的一实施例的结构,包括:
第一训练数据获取子模块1101,用于获取训练数据库中相对应的历史执行状态信息和历史资源分配信息,作为当前历史执行状态信息和当前历史资源分配信息;
训练神经网络分析子模块1102,用于将所述当前历史执行状态信息输入目标BP神经网络的输入层,目标BP神经网络计算后由输出层生成资源分配信息;
训练误差判断子模块1103,判断所述资源分配信息与所述当前历史资源分配信息的差值是否超过预设的训练误差阈值,如果是,则启动训练修正子模块1004,如果否,则启动训练完成条件判断子模块1006;
训练修正子模块1104,根据所述差值修正所述目标BP神经网络中的连接权值和偏差,修正后启动第二训练数据获取子模块;
第二训练数据获取子模块1005,用于获取训练数据库中未获取过的相对应的历史执行状态信息和历史资源分配信息,作为当前历史执行状态信息和当前历史资源分配信息,并启动训练神经网络分析子模块;
训练完成条件判断子模块1106,用于判断所述目标BP神经网络是否满足训练完成条件,如果是,则启动储存子模块1108,如果否,则启动第二训练数据获取子模块1105;连续的预设次数经过目标BP神经网络分析后得到的资源分配信息,与当前历史资源分配信息的差值不超过预设的训练误差阈值;
储存子模块1107,用于将所述目标BP神经网络作为已训练完成的BP神经网络储存。
对应本发明方法实施例中BP神经网络的训练过程增加验证步骤的实施例,本发明还提供了云计算平台系统为任务分配资源的装置中的BP神经网络训练模块804的又一种结构。如图12所示的BP神经网络训练模块804的又一实施例的结构,除了包括图11中的第一训练数据获取子模块1101、训练神经网络分析子模块1102、训练误差判断子模块1103、训练修正子模块1104、第二训练数据获取子模块1105、训练完成条件判断子模块1106和储存子模块1107之外,所述的BP神经网络训练模块804中还包括:
验证数据获取子模块1201,用于获取验证数据库中相对应的历史执行状态信息和历史资源分配信息;
验证神经网络分析子模块1202,用于将所述历史执行状态信息输入所述已训练完成的BP神经网络的输入层,所述已训练完成的BP神经网络计算后由输出层生成资源分配信息;
验证误差判断子模块1203,用于判断所述资源分配信息与所述历史资源信息的差值是否超过预设的验证误差阈值,如果是,则启动神经网络状态转换子模块1204。
神经网络状态转换子模块1204,用于将已训练完成的BP神经网络作为目标BP神经网络,并启动第一训练数据获取子模块。
对应本发明方法实施例中监测任务执行时的状态信息以再次修正BP神经网络的实施例,本发明还提供了云计算平台系统为任务分配资源的装置的又一种结构。如图13所示的云计算平台系统为任务分配资源的装置又一实施例的结构,除了包括图8中的任务获取模块801、基本资源需求信息获取模块802、资源分配信息生成模块803、BP神经网络训练模块804和资源分配模块805之外,该实施例的装置还包括:
任务执行模块1301,用于利用所述分配的资源执行所述任务;
执行状态信息监测模块1302,用于监测并记录所述任务执行时的执行状态信息;
任务执行总时间获取模块1303,用于任务执行结束后获取执行所述任务的执行总时间;
执行总时间判断模块1304,用于判断所述执行总时间是否超过预设的执行总时间阈值,如果否,则启动执行修正模块1305;
信息储存模块1305,用于将所述执行状态信息和所述资源分配信息对应地储存到训练数据库中;
通过本发明提供的云计算平台系统为任务分配资源的装置,不仅能保证在分配的资源不过量的情况下,系统根据所述资源分配信息给任务分配数据后,执行任务的各种资源需求能够在利用分配的资源执行任务时得到满足,由此系统的资源利用率都得以提高,系统并发任务量及对任务的吞吐量得以增大。此外,将分配资源后任务执行过程的执行状态信息和资源分配信息储存到训练数据库中,增大了训练数据库中的训练数据数量,也可以在任务执行的状态不能满足资源需求时,再次对BP神经网络修正和训练,从而进一步保证了分配资源的合理性和精确度。
对于云计算平台系统为任务分配资源的装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (11)
1.一种云计算平台系统为任务分配资源的方法,其特征在于,该方法包括:
获取任务请求队列中的任务;
解析所述任务,获取所述任务的基本资源需求信息;
根据所述基本资源需求信息,按照资源分配策略,生成资源分配信息;所述资源分配策略为已训练完成的BP神经网络;所述训练为:将历史执行状态信息输入目标BP神经网络,判断目标BP神经网络生成的资源分配信息与历史资源分配信息的差值是否超过预设的训练误差阈值,如果是,则修正目标BP神经网络,以使得,在训练完成后,目标BP神经网络生成的资源分配信息与历史资源分配信息的差值不超过所述训练误差阈值;
按照所述资源分配信息,为所述任务分配资源;
其中,所述训练具体包括:
获取训练数据库中相对应的历史执行状态信息和历史资源分配信息,作为当前历史执行状态信息和当前历史资源分配信息;
将所述当前历史执行状态信息输入目标BP神经网络的输入层,目标BP神经网络计算后由输出层生成资源分配信息;
判断所述资源分配信息与所述当前历史资源分配信息的差值是否超过预设的训练误差阈值;
如果是,则根据所述差值修正所述目标BP神经网络中的连接权值和偏差;获取训练数据库中未获取过的相对应的历史执行状态信息和历史资源分配信息,并作为当前历史执行状态信息和当前历史资源分配信息;返回将所述当前历史执行状态信息输入目标BP神经网络的输入层,目标BP神经网络计算后由输出层生成资源分配信息的步骤;
如果否,将所述目标BP神经网络作为已训练完成的BP神经网络储存。
2.根据权利要求1所述的方法,其特征在于,所述判断所述资源分配信息与所述当前历史资源分配信息的差值是否超过预设的训练误差阈值的步骤之后,在判断结果为否的情况下,还包括:
判断所述目标BP神经网络是否满足训练完成条件;
如果否,则获取训练数据库中未获取过的相对应的历史执行状态信息和历史资源分配信息,并作为当前历史执行状态信息和当前历史资源分配信息;返回将所述当前历史执行状态信息输入目标BP神经网络的输入层,目标BP神经网络计算后由输出层生成资源分配信息的步骤;
如果是,则将所述目标BP神经网络作为已训练完成的BP神经网络储存;
所述训练完成条件为:连续的预设次数经过目标BP神经网络分析后生成的资源分配信息,与当前历史资源分配信息的差值不超过预设的训练误差阈值。
3.根据权利要求1所述的方法,其特征在于,在所述将所述目标BP神经网络作为已训练完成的BP神经网络储存的步骤之后还包括:
获取验证数据库中相对应的历史执行状态信息和历史资源分配信息,并将所述历史执行状态信息输入所述已训练完成的BP神经网络的输入层,所述已训练完成的BP神经网络计算后由输出层生成资源分配信息;
判断所述资源分配信息与所述历史资源分配信息的差值是否超过预设的验证误差阈值,如果是,则将已训练完成的BP神经网络作为目标BP神经网络,返回获取训练数据库中相对应的历史执行状态信息和历史资源分配信息的步骤。
4.根据权利要求1所述的方法,其特征在于,所述按照所述资源分配信息为所述任务分配资源的步骤之后,还包括:
利用所述分配的资源执行所述任务;监测并记录所述任务执行时的执行状态信息;
任务执行结束后,获取执行所述任务的执行总时间;
判断所述执行总时间是否超过预设的执行总时间阈值,如果否,将所述执行状态信息和所述资源分配信息对应地储存到训练数据库中。
5.根据权利要求1-4任意一项所述的方法,其特征在于,所述解析所述任务得到基本资源需求信息的步骤具体包括:
解析所述任务,得到任务头参数和任务类型;
通过任务头参数,直接提取任务头参数中的第一资源需求信息;通过任务类型,在预设的任务类型资源需求库中查找并提取出所述任务类型所对应的第二资源需求信息;
将所述第一资源需求信息和第二资源需求信息规格化,生成所述任务的基本资源需求信息。
6.根据权利要求1-4任意一项所述的方法,其特征在于,所述根据所述基本资源需求信息,按照资源分配策略,生成资源分配信息的步骤具体包括:
将所述基本资源需求信息输入已训练完成的BP神经网络的输入层;获取由所述已训练完成的BP神经网络输出层得到的输出信息;将所述输出信息规格化,生成资源分配信息。
7.一种云计算平台系统为任务分配资源的装置,其特征在于,该装置包括:
任务获取模块,用于获取任务请求队列中的任务;
基本资源需求信息获取模块,用于解析所述任务,获取所述任务的基本资源需求信息;
资源分配信息生成模块,用于根据所述基本资源需求信息,按照资源分配策略,生成资源分配信息;所述资源分配策略为已训练完成的BP神经网络;
BP神经网络训练模块,用于将历史执行状态信息输入目标BP神经网络,判断目标BP神经网络生成的资源分配信息与历史资源分配信息的差值是否超过预设的训练误差阈值,如果是,则修正目标BP神经网络,以使得,在训练完成后,目标BP神经网络生成的资源分配信息与历史资源分配信息的差值不超过所述训练误差阈值;
资源分配模块,用于利用所述资源分配信息,为所述任务分配资源;
其中,所述BP神经网络训练模块具体包括:
第一训练数据获取子模块,用于获取训练数据库中相对应的历史执行状态信息和历史资源分配信息,作为当前历史执行状态信息和当前历史资源分配信息;
训练神经网络分析子模块,用于将所述当前历史执行状态信息输入目标BP神经网络的输入层,目标BP神经网络计算后由输出层生成资源分配信息;
训练误差判断子模块,用于判断所述资源分配信息与所述当前历史资源分配信息的差值是否超过预设的训练误差阈值,如果是,则启动训练修正子模块,如果否,则启动训练完成条件判断子模块;
训练修正子模块,用于根据所述差值修正所述目标BP神经网络中的连接权值和偏差,修正后启动第二训练数据获取子模块;
第二训练数据获取子模块,用于获取训练数据库中未获取过的相对应的历史执行状态信息和历史资源分配信息,作为当前历史执行状态信息和当前历史资源分配信息,并启动训练神经网络分析子模块;
训练完成条件判断子模块,用于判断所述目标BP神经网络是否满足训练完成条件,如果是,则启动储存子模块,如果否,则启动第二训练数据获取子模块;所述训练完成条件为:连续的预设次数经过目标BP神经网络分析后得到的资源分配信息,与当前历史资源分配信息的差值不超过预设的训练误差阈值;
储存子模块,用于将所述目标BP神经网络作为已训练完成的BP神经网络储存。
8.根据权利要求7所述的装置,其特征在于,所述BP神经网络训练模块还包括:
验证数据获取子模块,用于获取验证数据库中相对应的历史执行状态信息和历史资源分配信息;
验证神经网络分析子模块,用于将所述历史执行状态信息输入所述已训练完成的BP神经网络的输入层,所述已训练完成的BP神经网络计算后由输出层生成资源分配信息;
验证误差判断子模块,用于判断所述资源分配信息与所述历史资源信息的差值是否超过预设的验证误差阈值,如果是,则启动神经网络状态转换子模块;
神经网络状态转换子模块,用于将已训练完成的BP神经网络作为目标BP神经网络,并启动第一训练数据获取子模块。
9.根据权利要求7所述的装置,其特征在于,该装置还包括:
任务执行模块,用于利用所述分配的资源执行所述任务;
执行状态信息监测模块,用于监测并记录所述任务执行时的执行状态信息;
任务执行总时间获取模块,用于任务执行结束后获取执行所述任务的执行总时间;
执行总时间判断模块,用于判断所述执行总时间是否超过预设的执行总时间阈值,如果否,则启动信息储存模块;
信息储存模块,用于将所述执行状态信息和所述资源分配信息对应地储存到训练数据库中。
10.根据权利要求7-9任意一项所述的装置,其特征在于,所述基本资源需求信息获取模块具体包括:
任务解析子模块,用于解析所述任务,得到任务头参数和任务类型;
资源需求信息提取子模块,用于通过任务头参数直接提取任务头参数中的第一资源需求信息,和,通过任务类型在预设的任务类型资源需求库中查找提取出所述任务类型所对应的第二资源需求信息;
资源需求信息规格化子模块,用于将所述第一资源需求信息和所述第二资源需求信息规格化,生成所述任务的基本资源需求信息。
11.根据权利要求10所述的装置,其特征在于,所述资源分配信息生成模块具体包括:
资源需求信息输入子模块,用于将所述基本资源需求信息输入已训练完成的BP神经网络的输入层;
输出信息获取子模块,用于获取由所述已训练完成的BP神经网络输出层得到的输出信息;
输出信息规格化子模块,用于将所述输出信息规格化,生成资源分配信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210374766.7A CN103699440B (zh) | 2012-09-27 | 2012-09-27 | 一种云计算平台系统为任务分配资源的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210374766.7A CN103699440B (zh) | 2012-09-27 | 2012-09-27 | 一种云计算平台系统为任务分配资源的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103699440A CN103699440A (zh) | 2014-04-02 |
CN103699440B true CN103699440B (zh) | 2017-05-24 |
Family
ID=50360979
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210374766.7A Active CN103699440B (zh) | 2012-09-27 | 2012-09-27 | 一种云计算平台系统为任务分配资源的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103699440B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107733681A (zh) * | 2017-07-28 | 2018-02-23 | 贵州白山云科技有限公司 | 一种调度方案配置方法和装置 |
Families Citing this family (44)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104239194A (zh) * | 2014-09-12 | 2014-12-24 | 上海交通大学 | 基于bp神经网络的任务完成时间预测方法 |
CN105094987A (zh) * | 2015-07-22 | 2015-11-25 | 国家计算机网络与信息安全管理中心 | 一种针对海量任务的资源调度方法和系统 |
US20170208120A1 (en) * | 2016-01-15 | 2017-07-20 | Google Inc. | Probabilistic throttling |
CN107343164B (zh) * | 2016-04-29 | 2020-02-14 | 中国电信股份有限公司 | 视频监控任务的分配方法及装置 |
CN107959692A (zh) * | 2016-10-14 | 2018-04-24 | 中国电信股份有限公司 | 用于获得安全资源的等效负载的方法和系统 |
CN107220121B (zh) * | 2017-05-25 | 2020-11-13 | 深信服科技股份有限公司 | 一种numa架构下沙箱环境测试方法及其系统 |
CN107341029B (zh) * | 2017-05-27 | 2020-06-05 | 北京奇艺世纪科技有限公司 | 系统资源部署策略的获取方法、装置及电子设备 |
CN109034381B (zh) * | 2017-06-09 | 2022-01-28 | 宏达国际电子股份有限公司 | 训练任务优化系统、方法及其非暂态电脑可读媒体 |
CN108037993B (zh) * | 2017-11-07 | 2020-08-04 | 大国创新智能科技(东莞)有限公司 | 基于大数据和深度学习神经网络的云计算调度方法及系统 |
CN108259096B (zh) * | 2017-11-30 | 2021-04-13 | 北京百悟科技有限公司 | 短信通道参数配置方法及装置 |
CN109960581B (zh) * | 2017-12-26 | 2021-06-01 | Oppo广东移动通信有限公司 | 硬件资源配置方法、装置、移动终端及存储介质 |
CN109992404B (zh) * | 2017-12-31 | 2022-06-10 | 中国移动通信集团湖北有限公司 | 集群计算资源调度方法、装置、设备及介质 |
CN108345504A (zh) * | 2018-02-02 | 2018-07-31 | 曙光信息产业(北京)有限公司 | 一种资源映射方法和装置 |
CN110389763B (zh) * | 2018-04-20 | 2023-06-16 | 伊姆西Ip控股有限责任公司 | 用于调度专用处理资源的方法、设备和计算机可读介质 |
CN110609745A (zh) * | 2018-06-15 | 2019-12-24 | 中移(苏州)软件技术有限公司 | 一种作业任务的执行方法、装置、电子设备、存储介质 |
CN110610449B (zh) * | 2018-06-15 | 2023-09-22 | 伊姆西Ip控股有限责任公司 | 处理计算任务的方法、设备和计算机程序产品 |
CN109062700A (zh) * | 2018-08-21 | 2018-12-21 | 郑州云海信息技术有限公司 | 一种基于分布式系统的资源管理方法及服务器 |
CN110858848B (zh) * | 2018-08-23 | 2022-07-05 | 杭州海康威视数字技术股份有限公司 | 一种集群系统的任务资源的纠正方法及装置 |
CN109412829B (zh) * | 2018-08-30 | 2020-11-17 | 华为技术有限公司 | 一种资源配置的预测方法及设备 |
CN109246479A (zh) * | 2018-10-09 | 2019-01-18 | 深圳市亿联智能有限公司 | 一种基于智能机顶盒的云计算控制方式 |
CN109445935B (zh) * | 2018-10-10 | 2021-08-10 | 杭州电子科技大学 | 云计算环境下一种高性能大数据分析系统自适应配置方法 |
CN109597687B (zh) * | 2018-10-31 | 2020-11-13 | 东软集团股份有限公司 | 数据同步的资源分配方法、装置、存储介质和电子设备 |
CN109522093A (zh) * | 2018-11-16 | 2019-03-26 | 国家电网有限公司 | 电力云虚拟机负载预测方法 |
CN111198754B (zh) * | 2018-11-19 | 2023-07-14 | 中移(杭州)信息技术有限公司 | 一种任务调度方法及装置 |
CN111352724B (zh) * | 2018-12-24 | 2023-03-21 | 中国电信股份有限公司 | 安全资源选取实现方法和装置 |
CN109921957B (zh) * | 2019-01-21 | 2022-04-22 | 平安科技(深圳)有限公司 | 机房端到端容量管理方法、电子装置及存储介质 |
CN109996247B (zh) * | 2019-03-27 | 2022-03-11 | 中国电子科技集团公司信息科学研究院 | 网络化资源调配方法、装置、设备及存储介质 |
CN111836274B (zh) * | 2019-04-17 | 2022-01-25 | 大唐移动通信设备有限公司 | 一种业务处理的方法及装置 |
CN110618870B (zh) * | 2019-09-20 | 2021-11-19 | 广东浪潮大数据研究有限公司 | 一种深度学习训练任务的工作方法及装置 |
RU2729228C1 (ru) * | 2019-12-25 | 2020-08-05 | Федеральное государственное казенное военное образовательное учреждение высшего образования Академия Федеральной службы охраны Российской Федерации | Способ управления распределением ресурсов в распределенных информационно-вычислительных средах |
CN111552569B (zh) * | 2020-04-28 | 2023-10-20 | 咪咕文化科技有限公司 | 系统资源调度方法、装置及存储介质 |
CN111752706B (zh) * | 2020-05-29 | 2024-05-17 | 北京沃东天骏信息技术有限公司 | 资源配置方法、装置及存储介质 |
CN111898865B (zh) * | 2020-07-02 | 2022-03-18 | 常州市第二人民医院 | 一种智慧校园数据动态管理方法 |
CN111833022B (zh) * | 2020-07-17 | 2021-11-09 | 海南大学 | 跨数据、信息、知识模态与量纲的任务处理方法及组件 |
CN111930505B (zh) * | 2020-08-10 | 2021-07-02 | 建投数据科技(山东)有限公司 | 大数据平台的数据资源管理方法及系统、服务器及介质 |
CN112559147B (zh) * | 2020-12-08 | 2024-04-19 | 和美(深圳)信息技术股份有限公司 | 基于gpu占用资源特点的动态匹配方法、系统和设备 |
CN113220372B (zh) * | 2021-06-01 | 2022-05-27 | 深圳市中盛瑞达科技有限公司 | 一种人工智能云平台 |
CN113706000A (zh) * | 2021-08-19 | 2021-11-26 | 海南绿能环境工程有限公司 | 基于物联网的环境监测资源分配方法及系统 |
CN114240035B (zh) * | 2021-11-09 | 2024-03-22 | 云南电网有限责任公司 | 一种基于业务感知的转接设备低功耗控制方法及转接装置 |
CN114143189B (zh) * | 2021-11-23 | 2024-02-20 | 郑州龙兴物联科技有限公司 | 一种wifi6设备的批量监管系统 |
CN116360972A (zh) * | 2021-12-27 | 2023-06-30 | 华为技术有限公司 | 资源管理方法、装置及资源管理平台 |
CN114661463A (zh) * | 2022-03-09 | 2022-06-24 | 国网山东省电力公司信息通信公司 | 基于bp神经网络的系统资源预测方法及系统 |
CN114356586B (zh) * | 2022-03-17 | 2022-09-02 | 飞腾信息技术有限公司 | 一种处理器及电子设备 |
CN114780170B (zh) * | 2022-04-11 | 2023-07-21 | 远景智能国际私人投资有限公司 | 容器资源的配置方法、装置、设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102445980A (zh) * | 2011-09-19 | 2012-05-09 | 浪潮电子信息产业股份有限公司 | 一种基于bp神经网络的节能控制系统 |
CN102681899A (zh) * | 2011-03-14 | 2012-09-19 | 金剑 | 云计算服务平台的虚拟计算资源动态管理系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7376661B2 (en) * | 2004-12-03 | 2008-05-20 | Wings Software, Ltd | XML-based symbolic language and interpreter |
US8185909B2 (en) * | 2007-03-06 | 2012-05-22 | Sap Ag | Predictive database resource utilization and load balancing using neural network model |
-
2012
- 2012-09-27 CN CN201210374766.7A patent/CN103699440B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102681899A (zh) * | 2011-03-14 | 2012-09-19 | 金剑 | 云计算服务平台的虚拟计算资源动态管理系统 |
CN102445980A (zh) * | 2011-09-19 | 2012-05-09 | 浪潮电子信息产业股份有限公司 | 一种基于bp神经网络的节能控制系统 |
Non-Patent Citations (1)
Title |
---|
基于BP算法的网格资源调度研究;吕昌国;《中国优秀硕士学位论文全文数据库信息科技辑》;20080115;I139-3正文第31-34页 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107733681A (zh) * | 2017-07-28 | 2018-02-23 | 贵州白山云科技有限公司 | 一种调度方案配置方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN103699440A (zh) | 2014-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103699440B (zh) | 一种云计算平台系统为任务分配资源的方法和装置 | |
CN103853786B (zh) | 数据库参数的优化方法与系统 | |
CN110309840A (zh) | 风险交易识别方法、装置、服务器及存储介质 | |
CN109461070A (zh) | 一种风险审批方法、装置、存储介质和服务器 | |
CN108665366A (zh) | 确定用户风险等级的方法、终端设备及计算机可读存储介质 | |
CN107395430A (zh) | 一种云平台动态风险访问控制方法 | |
CN107783840A (zh) | 一种分布式多层深度学习资源分配方法和装置 | |
CN111191918A (zh) | 一种智能电网通信网的业务路由规划方法及装置 | |
CN109117380A (zh) | 一种软件质量评价方法、装置、设备及可读存储介质 | |
CN108052387B (zh) | 一种移动云计算中的资源分配预测方法及系统 | |
CN107454105A (zh) | 一种基于ahp与灰色关联的多维网络安全评估方法 | |
CN110138627A (zh) | 量化的边缘计算侧终端安全接入策略选择方法 | |
CN108369675A (zh) | 用于案例分配的技术 | |
CN109670653A (zh) | 一种基于工业模型预测引擎进行预测的方法及装置 | |
CN109741826A (zh) | 麻醉评估决策树构建方法及设备 | |
CN110109543A (zh) | 基于被试迁移的c-VEP识别方法 | |
CN107423881A (zh) | 任务分发方法及装置 | |
CN109508498A (zh) | 基于bp人工神经网络的橡胶减振器配方设计系统及方法 | |
CN110019116A (zh) | 数据追溯方法、装置、数据处理设备及计算机存储介质 | |
CN109740868A (zh) | 一种基于病案首页的医疗机构排序方法和装置 | |
Smiesova et al. | Economic and institutional conditions for implementation of economic interests in the countries of the world | |
Du et al. | Applying deep convolutional neural network for fast security assessment with N-1 contingency | |
CN110489142A (zh) | 设备软件升级的评估方法及装置、存储介质、终端 | |
CN108364063B (zh) | 一种基于权值分配资源的神经网络训练方法和装置 | |
CN114492742A (zh) | 神经网络结构搜索、模型发布方法、电子设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP02 | Change in the address of a patent holder |
Address after: 100086 12, 1201, 3 building, 2 South Road, Haidian District Academy of Sciences, Beijing. Patentee after: Beijing Sohu New Media Information Technology Co., Ltd. Address before: 100084 Beijing Haidian District Zhongguancun East Road 1 hospital 9 building Sohu cyber building 15 Floor Patentee before: Beijing Sohu New Media Information Technology Co., Ltd. |
|
CP02 | Change in the address of a patent holder |