一种云计算平台系统为任务分配资源的方法和装置制造方法

文档序号:6489576阅读:129来源:国知局
一种云计算平台系统为任务分配资源的方法和装置制造方法
【专利摘要】本发明公开了一种云计算平台系统为任务分配资源的方法和装置,该方法包括:获取任务请求队列中的任务;解析所述任务,获取所述任务的基本资源需求信息;根据所述基本资源需求信息,按照资源分配策略,生成资源分配信息;所述资源分配策略为已训练完成的BP神经网络;所述训练为:将历史执行状态信息输入目标BP神经网络,如果生成的资源分配信息与历史资源分配信息的差值超过预设的训练误差阈值,则修正目标BP神经网络,以使得训练完成后输出的资源分配信息与历史资源分配信息的差值不超过所述训练误差阈值;按照所述资源分配信息,为所述任务分配资源。本发明中,系统按照BP神经网络生成的资源分配信息来分配资源,系统的资源利用率得以提高,并发任务量和任务的吞吐量也得以增大。
【专利说明】一种云计算平台系统为任务分配资源的方法和装置
【技术领域】
[0001]本发明涉及云计算平台系统领域,特别涉及一种云计算平台系统为任务分配资源的方法和装置。
【背景技术】
[0002]随着虚拟化、分布式存储、多核处理器、互联网的技术发展,近些年来兴起了一种新技术的计算模式,云计算。云计算是一种服务的交付和使用模式,具体是指通过网络以按需、易扩展的方式获得所需的服务。狭义的云计算中的服务通常是指IT、软件和互联网相关的服务。
[0003]目前,云计算都是通过云计算平台实现的。在云计算平台下,当用户提交任务给云计算平台系统时,系统需要先为提交的任务分配系统内的资源,再利用由分配给该任务的系统内资源,执行任务。系统管理范围内的资源,具体包括:服务器、CPU、内存、网络、存储等硬件资源,以及虚拟机、应用程序、系统提供的各种服务等软件资源。
[0004]目前系统对资源的分配方式,通常是系统都给任务分配足够多的资源,以保证任务的正确执行。在这种分配方式下,资源总是过量分配的。但是,这种过量分配资源的方式会导致系统资源利用率的低下。进而,由于在云计算平台下资源是有限的,资源利用率低下的系统在单位时间内通过有限的资源能够执行的任务就非常有限,这直接导致了系统并发任务量较小、任务吞吐量较低。

【发明内容】

[0005]本发明要解决的问题是提供一种云计算平台系统下为任务分配资源的方法和装置,以克服现有技术中由于资源过量分配而导致的云计算平台系统资源利用率低下、并发任务量较小、任务吞吐量较低的缺陷。
[0006]为达到上述目的,本发明提供了,所述方法包括以下步骤:
[0007]获取任务请求队列中的任务;
[0008]解析所述任务,获取所述任务的基本资源需求信息;
[0009]根据所述基本资源需求信息,按照资源分配策略,生成资源分配信息;所述资源分配策略为已训练完成的BP神经网络;所述训练为:将历史执行状态信息输入目标BP神经网络,判断目标BP神经网络生成的资源分配信息与历史资源分配信息的差值是否超过预设的训练误差阈值,如果否,则修正目标BP神经网络,以使得,在训练完成后,目标BP神经网络生成的资源分配信息与历史资源分配信息的差值不超过所述训练误差阈值;
[0010]按照所述资源分配信息,为所述任务分配资源。
[0011 ] 优选的,所述训练具体包括:
[0012]获取训练数据库中相对应的历史执行状态信息和历史资源分配信息,作为当前历史执行状态信息和当前历史资源分配信息;
[0013]将所述当前历史执行状态信息输入目标BP神经网络的输入层,目标BP神经网络计算后由输出层生成资源分配信息;
[0014]判断所述资源分配信息与所述当前历史资源分配信息的差值是否超过预设的训练误差阈值;
[0015]如果是,则根据所述差值修正所述目标BP神经网络中的连接权值和偏差;获取训练数据库中未获取过的相对应的历史执行状态信息和历史资源分配信息,并作为当前历史执行状态信息和当前历史资源分配信息;返回将所述当前历史执行状态信息输入目标BP神经网络的输入层,目标BP神经网络计算后由输出层生成资源分配信息的步骤;
[0016]如果否,将所述目标BP神经网络作为已训练完成的BP神经网络储存。
[0017]优选的,所述判断所述资源分配信息与所述当前历史资源分配信息的差值是否超过预设的训练误差阈值的步骤之后,在判断结果为否的情况下,还包括:
[0018]判断所述目标BP神经网络是否满足训练完成条件;
[0019]如果否,则获取训练数据库中未获取过的相对应的历史执行状态信息和历史资源分配信息,并作为当前历史执行状态信息和当前历史资源分配信息;返回将所述当前历史执行状态信息输入目标BP神经网络的输入层,目标BP神经网络计算后由输出层生成资源分配信息的步骤;
[0020]如果是,则将所述目标BP神经网络作为已训练完成的BP神经网络储存;
[0021]所述训练完成条件为:连续的预设次数经过目标BP神经网络分析后生成的资源分配信息,与当前历史资源分配信息的差值不超过预设的训练误差阈值。
[0022]优选的,在所述将所述目标BP神经网络作为已训练完成的BP神经网络储存的步骤之后还包括:
[0023]获取验证数据库中相对应的历史执行状态信息和历史资源分配信息,并将所述历史执行状态信息输入所述已训练完成的BP神经网络的输入层,所述已训练完成的BP神经网络计算后由输出层生成资源分配信息;
[0024]判断所述资源分配信息与所述历史资源分配信息的差值是否超过预设的验证误差阈值,如果是,则将已训练完成的BP神经网络作为目标BP神经网络,返回获取训练数据库中相对应的历史执行状态信息和历史资源分配信息的步骤。
[0025]优选的,所述按照所述资源分配信息为所述任务分配资源的步骤之后,还包括:
[0026]利用所述分配的资源执行所述任务;监测并记录所述任务执行时的执行状态信息;
[0027]任务执行结束后,获取执行所述任务的执行总时间;
[0028]判断所述执行总时间是否超过预设的执行总时间阈值,如果否,将所述执行状态信息和所述资源分配信息对应地储存到训练数据库中。
[0029]优选的,其特征在于,所述解析所述任务得到基本资源需求信息的步骤具体包括:
[0030]解析所述任务,得到任务头参数和任务类型;
[0031]通过任务头参数,直接提取任务头参数中的第一资源需求信息;通过任务类型,在预设的任务类型资源需求库中查找并提取出所述任务类型所对应的第二资源需求信息;
[0032]将所述第一资源需求信息和第二资源需求信息规格化,生成所述任务的基本资源需求息。[0033]优选的,所述根据所述基本资源需求信息,按照资源分配策略,生成资源分配信息的步骤具体包括:
[0034]将所述基本资源需求信息输入已训练完成的BP神经网络的输入层;获取由所述已训练完成的BP神经网络输出层得到的输出信息;将所述输出信息规格化,生成资源分配信息。
[0035]本发明还公开了一种云计算平台系统为任务分配资源的装置,其特征在于,该装置包括:
[0036]任务获取模块,用于获取任务请求队列中的任务;
[0037]基本资源需求信息获取模块,用于解析所述任务,获取所述任务的基本资源需求信息;
[0038]资源分配信息生成模块,用于根据所述基本资源需求信息,按照资源分配策略,生成资源分配信息;所述资源分配策略为已训练完成的BP神经网络;
[0039]BP神经网络训练模块,用于将历史执行状态信息输入目标BP神经网络,判断目标BP神经网络生成的资源分配信息与历史资源分配信息的差值是否超过预设的训练误差阈值,如果否,则修正目标BP神经网络,以使得,在训练完成后,目标BP神经网络生成的资源分配信息与历史资源分配信息的差值不超过所述训练误差阈值;
[0040]资源分配模块,用于利用所述资源分配信息,为所述任务分配资源。
[0041]优选的,所述BP神经网络训练模块具体包括:
[0042]第一训练数据获取子模块,用于获取训练数据库中相对应的历史执行状态信息和历史资源分配信息,作为当前历史执行状态信息和当前历史资源分配信息;
[0043]训练神经网络分析子模块,用于将所述当前历史执行状态信息输入目标BP神经网络的输入层,目标BP神经网络计算后由输出层生成资源分配信息;
[0044]训练误差判断子模块,用于判断所述资源分配信息与所述当前历史资源分配信息的差值是否超过预设的训练误差阈值,如果是,则启动训练修正子模块,如果否,则启动训练完成条件判断子模块;
[0045]训练修正子模块,用于根据所述差值修正所述目标BP神经网络中的连接权值和偏差,修正后启动第二训练数据获取子模块;
[0046]第二训练数据获取子模块,用于获取训练数据库中未获取过的相对应的历史执行状态信息和历史资源分配信息,作为当前历史执行状态信息和当前历史资源分配信息,并启动训练神经网络分析子模块;
[0047]训练完成条件判断子模块,用于判断所述目标BP神经网络是否满足训练完成条件,如果是,则启动储存子模块,如果否,则启动第二训练数据获取子模块;所述训练完成条件为:连续的预设次数经过目标BP神经网络分析后得到的资源分配信息,与当前历史资源分配信息的差值不超过预设的训练误差阈值;
[0048]储存子模块,用于将所述目标BP神经网络作为已训练完成的BP神经网络储存。
[0049]优选的,所述BP神经网络训练模块还包括:
[0050]验证数据获取子模块,用于获取验证数据库中相对应的历史执行状态信息和历史资源分配信息;
[0051]验证神经网络分析子模块,用于将所述历史执行状态信息输入所述已训练完成的BP神经网络的输入层,所述已训练完成的BP神经网络计算后由输出层生成资源分配信息;
[0052]验证误差判断子模块,用于判断所述资源分配信息与所述历史资源信息的差值是否超过预设的验证误差阈值,如果是,则启动神经网络状态转换子模块;
[0053]神经网络状态转换子模块,用于将已训练完成的BP神经网络作为目标BP神经网络,并启动第一训练数据获取子模块。
[0054]优选的,该装置还包括:
[0055]任务执行模块,用于利用所述分配的资源执行所述任务;
[0056]执行状态信息监测模块,用于监测并记录所述任务执行时的执行状态信息;
[0057]任务执行总时间获取模块,用于任务执行结束后获取执行所述任务的执行总时间;
[0058]执行总时间判断模块,用于判断所述执行总时间是否超过预设的执行总时间阈值,如果否,则启动信息储存模块;
[0059]信息储存模块,用于将所述执行状态信息和所述资源分配信息对应地储存到训练数据库中。
[0060]优选的,其特征在于,所述基本资源需求信息获取模块具体包括:
[0061]任务解析子模块,用于解析所述任务,得到任务头参数和任务类型;
[0062]资源需求信息提取子模块,用于通过任务头参数直接提取任务头参数中的第一资源需求信息,和,通过任务类型在预设的任务类型资源需求库中查找提取出所述任务类型所对应的第二资源需求信息;
[0063]资源需求信息规格化子模块,用于将所述第一资源需求信息和所述第二资源需求信息规格化,生成所述任务的基本资源需求信息。
[0064]优选的,所述资源分配信息生成模块具体包括:
[0065]资源需求信息输入子模块,用于将所述基本资源需求信息输入已训练完成的BP神经网络的输入层;
[0066]输出信息获取子模块,用于获取由所述已训练完成的BP神经网络输出层得到的输出信息;
[0067]输出信息规格化子模块,用于将所述输出信息规格化,生成资源分配信息。
[0068]与现有技术相比,本发明具有以下优点:
[0069]本发明的技术方案,将预先执行任务时的历史执行状态信息输入目标BP神经网络,目标BP神经网络计算后输出生成资源分配信息,在该资源分配信息与历史资源分配信息的差值超过预设的训练误差阈值时,修正目标BP神经网络,以此来训练目标BP神经网络,以使得,已训练完成的BP神经网络在输入历史执行状态信息后,能够输出生成与历史资源分配信息相差不超过训练误差阈值的资源分配信息,因此,已训练完成的BP神经网络输出生成的资源分配信息,可以使得任务执行时的执行状态与输入该BP神经网络的执行状态信息所描述的执行状态基本一致。根据上述的原因,在系统为任务分配资源时,由于基本资源需求信息也就是该任务需要在执行达到的执行状态信息,所以,系统利用由基本资源需求信息输入已训练完成的BP神经网络而输出得到的资源分配信息来分配资源,任务在执行时的执行状态就能够与基本资源需求信息中的需求的执行状态基本保持一致,从而保证了任务执行的资源需求被满足的情况下,系统为任务分配的资源不过量,进而,系统中的资源都能得到充分的利用,系统的资源利用率得以提高;同时,系统在单位时间内通过有限的资源能够执行的任务数量也随之增大,从而使系统并发任务量增大、任务的吞吐量增大。
【专利附图】

【附图说明】
[0070]图1是本发明的云计算平台系统为任务分配资源的方法的一实施例的基本流程图;
[0071]图2是BP神经网络的拓扑结构图;
[0072]图3是本发明的云计算平台系统为任务分配资源的方法中BP神经网络的训练过程的基本流程图;
[0073]图4是本发明的云计算平台系统为任务分配资源的方法的又一实施例的基本流程图;
[0074]图5是本发明的云计算平台系统为任务分配资源的方法的又一实施例中所采用的BP神经网络结构图;
[0075]图6是采用本发明方法的系统与未采用本发明方法的系统在执行单个任务时执行总时间的对比图;
[0076]图7是采用本发明方法的系统与未采用本发明方法的系统在执行多个任务时不同负载压力下执行总时间的对比图;
[0077]图8是本发明的云计算平台系统为任务分配资源的装置实施例一的结构图;
[0078]图9是本发明的装置实施例一中基本资源需求信息获取模块的一实施例的结构图;
[0079]图10是本发明的装置实施例一中资源分配信息生成模块的一实施例的结构图;
[0080]图11是本发明的云计算平台系统为任务分配资源的装置实施例二的结构图;
[0081]图12是本发明装置实施例二中BP神经网络训练模块的又一实施例的结构图;
[0082]图13是本发明云计算平台系统为任务分配资源的装置实施例三的结构图。
【具体实施方式】
[0083]下面我们将结合附图,对本发明的最佳实施方案进行详细描述。首先要指出的是,本发明中用到的术语、字词及权利要求的含义不能仅仅限于其字面和普通的含义去理解,还包括进而与本发明的技术相符的含义和概念,这是因为我们作为
【发明者】,要适当地给出术语的定义,以便对我们的发明进行最恰当的描述。因此,本说明和附图中给出的配置,只是本发明的首选实施方案,而不是要列举本发明的所有技术特性。我们要认识到,还有各种各样的可以取代我们方案的同等方案或修改方案。
[0084]本发明的基本思想是:系统从任务请求队列中获取任务后,解析所述任务的基本资源需求信息,然后按照已训练完成的BP神经网络的资源分配策略,根据所述基本资源需求信息生成资源分配信息,最后按照所述资源分配信息为所述任务分配资源。其中,BP神经网络是在分配资源前,根据历史执行状态信息与其对应的历史资源分配信息而训练完成的;已训练完成的BP神经网络中存储了执行状态信息和资源分配信息之间的映射关系,可以根据输入的历史执行资源分配信息,生成与历史资源分配信息基本相同的资源分配信肩、O
[0085]下面结合附图,通过具体实施例详细说明本发明云计算平台系统为任务分配资源的方法的【具体实施方式】。
[0086]图1所示的是本发明云计算平台系统为任务分配资源的方法的一实施例的基本流程图,本实施例包括如下步骤:
[0087]步骤101、获取任务请求队列中的任务。
[0088]云计算平台下,需要执行的任务都保存在任务请求队列中;系统为任务分配时,需要从队列中获取一个任务。
[0089]步骤102、解析所述任务,获取所述任务的基本资源需求信息。
[0090]系统获取任务后,解析任务提取该任务的资源需求信息,然后由提取到的资源需求信息生成该任务的基本资源需求信息。所述的任务中包含有执行该任务所必需的资源需求信息,如,任务类型、任务量化值等,而根据任务类型可以进一步获得CPU最大使用率、内存使用大小、网络最大使用流量、磁盘IO最大值、任务执行总时间等资源需求信息。这些资源需求信息中的需求,实际上是执行任务时系统需要达到的执行状态,也即,资源需求信息是执行该任务时需求的执行状态息。
[0091]需要说明的是,任务中的资源需求信息包含两部分,一部分为说明性的,一部分为隐含性的。说明性的资源需求信息可以通过任务的任务头参数直接获取,而隐含性的资源需求信息需要根据任务类型通过每种任务类型的常规资源需求来获取。
[0092]为使两部分资源需求信息都能够被系统获取到,本实施例提供了步骤102的一种优选的【具体实施方式】,包括:解析所述任务,得到任务头参数和任务类型;通过任务头参数,直接提取任务头参数中的第一资源需求信息;通过任务类型,在预设的任务类型资源需求库中查找提取出所述任务类型所对应的第二资源需求信息;将所述第一资源需求信息和所述第二资源需求信息规格化,生成所述任务的基本资源需求信息。在本实施方式中,任务类型资源需求库是根据先前已知的任务类型与资源需求信息的对应关系而预先设置的;由此,在获取资源需求信息时,可以直接根据任务的任务类型在任务类型资源需求库中查找并获取对应的资源需求信息。
[0093]另外,由于一个任务对应有多个不同的基本资源需求信息,为了方便基本资源信息的发送和接收,在步骤102中还可以将得到的基本资源需求信息集合生成一条对应该任务的基本资源需求数据,然后再进入步骤103。
[0094]步骤103、根据所述基本资源需求信息,按照资源分配策略,生成资源分配信息;所述资源分配策略为已训练完成的BP神经网络;所述训练为:将历史执行状态信息输入目标BP神经网络,判断目标BP神经网络生成的资源分配信息与历史资源分配信息的差值是否超过预设的训练误差阈值,如果否,则修正目标BP神经网络,以使得,在训练完成后,目标BP神经网络生成的资源分配信息与历史资源分配信息的差值不超过所述训练误差阈值。
[0095]在本步骤103中,由于一个任务对应有多个不同的资源分配信息,为了方便资源分配信息的发送和接收,在步骤103中还可以将生成的资源分配信息集合生成一条对应该任务的资源分配数据,然后再进入步骤104。
[0096]本实施例中,所述的资源分配策略为已训练完成的BP神经网络。BP神经网络是一种按误差逆传播算法训练的多层前馈网络,是目前应用最广泛的神经网络模型之一。BP网络能学习和存贮大量的输入-输出模式映射关系,而无需事前揭示描述这种映射关系的数学方程。BP神经网络模型拓扑结构包括输入层、隐层和输出层。
[0097]基于BP神经网络的拓扑结构,步骤103的【具体实施方式】可以为:将所述基本资源需求信息输入已训练完成的BP神经网络的输入层;获取由所述已训练完成的BP神经网络输出层得到的输出信息;将所述输出信息规格化,生成资源分配信息。所述的资源分配信息包括CPU核数、内存大小、网络带宽、磁盘IO能力等等,这些资源分配信息是系统为任务分配资源的依据。
[0098]需要说明的是,实现保证资源分配适量而避免过量分配这一发明目的,对应于本实施例中的技术方案来说,实际上是要实现,步骤103中生成的资源分配信息用于分配资源并执行任务时,执行状态信息与基本资源需求信息对应相同。为了使本领域技术人员进一步理解,本发明的发明目的对应到本实施例所要实现的技术方案,以如下的实例来解释上述的对应关系:解析任务获得了 CPU最大使用率、内存使用大小及任务量化值共三个基本资源需求信息,将这三个基本资源需求信息输入已训练完成的BP神经网络,BP神经网络分析计算后,由输出层生成两个资源分配信息CPU核数、内存大小,系统就以这两个资源分配信息来为该任务分配CPU和内存。要实现系统分配的CPU和内存可以满足三个基本资源需求并且不过量,实际上在本实施例中,也就是要求,在利用上述分配得到的CPU和内存执行任务时,执行状态信息的CPU最大使用率与基本资源需求信息中的CPU最大使用率基本相同,同样地,执行状态信息的内存使用大小和任务量化值也与基本资源需求信息中的内存使用大小和任务量化值基本相同。可以理解的是,这里的基本相同的含义,是两者误差不超过一个预设的阈值。
[0099]为了实现按照BP神经网络生成的资源分配信息所分配的资源用于执行任务时,执行状态信息与基本资源需求信息对应基本相同,BP神经网络需要事先由相对应的历史执行状态信息与历史资源分配信息进行训练学习,以使得,训练完成的BP神经网络能够生成与历史资源分配信息基本相同的资源分配信息;其中,相对应的历史执行状态信息与历史资源分配信息是针对同一个历史任务的信息,也即:历史资源分配信息是系统为该历史任务分配的资源的信息,历史执行状态`信息是系统利用上述分配的资源执行该任务时所达到的执行状态的信息。由此,训练完成的BP神经网络存储了执行状态信息与资源分配信息之间的映射关系,就可以根据任务所需求的执行状态信息(也即基本资源需求信息),生成能够使任务执行时达到执行状态信息的资源分配信息。
[0100]BP神经网络的训练学习过程,是由预设的输入变量组和与其对应的预期输出变量组,通过正向传播和反向传播两个过程来完成的。如图2所示的BP神经网络的拓扑结构,包含输入层、隐层和输出层。其中,输入变量为Xi (i=l,2,…,n),隐层变量为\ (j =1,2,…,m),输出变量为yk (k=l, 2,…,I),输入层到隐层的权重设为为Wij (i=l, 2,…,n; j=I, 2,…,m),隐层到输出层的权重设为Vjk (j = 1,2,…,m,k=l, 2,…,I)。1、j、k分别为输入层、隐层和输出层的结点序号。
[0101]在BP神经网络进行训练学习时,先进行正向传播过程:将预设的输入变量组Xi(i=l, 2,…,n),由输入层传入隐层单元,经计算后传送到输出层,最后由输出层单元处理生成输出变量组yk (k=l,2,…,I)。隐层的值由下面的式(I)计算生成,输出层的值由下面的式(2)计算生成。
[0102]
【权利要求】
1.一种云计算平台系统为任务分配资源的方法,其特征在于,该方法包括: 获取任务请求队列中的任务; 解析所述任务,获取所述任务的基本资源需求信息; 根据所述基本资源需求信息,按照资源分配策略,生成资源分配信息;所述资源分配策略为已训练完成的BP神经网络;所述训练为:将历史执行状态信息输入目标BP神经网络,判断目标BP神经网络生成的资源分配信息与历史资源分配信息的差值是否超过预设的训练误差阈值,如果否,则修正目标BP神经网络,以使得,在训练完成后,目标BP神经网络生成的资源分配信息与历史资源分配信息的差值不超过所述训练误差阈值; 按照所述资源分配信息,为所述任务分配资源。
2.根据权利要求1所述的方法,其特征在于,所述训练具体包括: 获取训练数据库中相对应的历史执行状态信息和历史资源分配信息,作为当前历史执行状态信息和当前历史资源分配信息; 将所述当前历史执行状态信息输入目标BP神经网络的输入层,目标BP神经网络计算后由输出层生成资源分配信息; 判断所述资源分配信息与所述当前历史资源分配信息的差值是否超过预设的训练误差阈值; 如果是,则根据所述差值修正所述目标BP神经网络中的连接权值和偏差;获取训练数据库中未获取过的相对应的历史执行状态信息和历史资源分配信息,并作为当前历史执行状态信息和当前历史资源分配信息;返回将所述当前历史执行状态信息输入目标BP神经网络的输入层,目标BP神经网络计算后由输出层生成资源分配信息的步骤; 如果否,将所述目标BP神经网络作为已训练完成的BP神经网络储存。
3.根据权利要求2所述的方法,其特征在于,所述判断所述资源分配信息与所述当前历史资源分配信息的差值是否超过预设的训练误差阈值的步骤之后,在判断结果为否的情况下,还包括: 判断所述目标BP神经网络是否满足训练完成条件; 如果否,则获取训练数据库中未获取过的相对应的历史执行状态信息和历史资源分配信息,并作为当前历史执行状态信息和当前历史资源分配信息;返回将所述当前历史执行状态信息输入目标BP神经网络的输入层,目标BP神经网络计算后由输出层生成资源分配信息的步骤; 如果是,则将所述目标BP神经网络作为已训练完成的BP神经网络储存; 所述训练完成条件为:连续的预设次数经过目标BP神经网络分析后生成的资源分配信息,与当前历史资源分配信息的差值不超过预设的训练误差阈值。
4.根据权利要求2所述的方法,其特征在于,在所述将所述目标BP神经网络作为已训练完成的BP神经网络储存的步骤之后还包括: 获取验证数据库中相对应的历史执行状态信息和历史资源分配信息,并将所述历史执行状态信息输入所述已训练完成的BP神经网络的输入层,所述已训练完成的BP神经网络计算后由输出层生成资源分配信息; 判断所述资源分配信息与所述历史资源分配信息的差值是否超过预设的验证误差阈值,如果是,则将已训练完成的BP神经网络作为目标BP神经网络,返回获取训练数据库中相对应的历史执行状态信息和历史资源分配信息的步骤。
5.根据权利要求2所述的方法,其特征在于,所述按照所述资源分配信息为所述任务分配资源的步骤之后,还包括: 利用所述分配的资源执行所述任务;监测并记录所述任务执行时的执行状态信息; 任务执行结束后,获取执行所述任务的执行总时间; 判断所述执行总时间是否超过预设的执行总时间阈值,如果否,将所述执行状态信息和所述资源分配信息对应地储存到训练数据库中。
6.根据权利要求1-5任意一项所述的方法,其特征在于,所述解析所述任务得到基本资源需求信息的步骤具体包括: 解析所述任务,得到任务头参数和任务类型; 通过任务头参数,直接提取任务头参数中的第一资源需求信息;通过任务类型,在预设的任务类型资源需求库中查找并提取出所述任务类型所对应的第二资源需求信息; 将所述第一资源需求信息和第二资源需求信息规格化,生成所述任务的基本资源需求信息。
7.根据权利要求1-5任意一项所述的方法,其特征在于,所述根据所述基本资源需求信息,按照资源分配策略,生成资源分配信息的步骤具体包括: 将所述基本资源需求信息输 入已训练完成的BP神经网络的输入层;获取由所述已训练完成的BP神经网络输出层得到的输出信息;将所述输出信息规格化,生成资源分配信肩、O
8.—种云计算平台系统为任务分配资源的装置,其特征在于,该装置包括: 任务获取模块,用于获取任务请求队列中的任务; 基本资源需求信息获取模块,用于解析所述任务,获取所述任务的基本资源需求信息; 资源分配信息生成模块,用于根据所述基本资源需求信息,按照资源分配策略,生成资源分配信息;所述资源分配策略为已训练完成的BP神经网络; BP神经网络训练模块,用于将历史执行状态信息输入目标BP神经网络,判断目标BP神经网络生成的资源分配信息与历史资源分配信息的差值是否超过预设的训练误差阈值,如果否,则修正目标BP神经网络,以使得,在训练完成后,目标BP神经网络生成的资源分配信息与历史资源分配信息的差值不超过所述训练误差阈值; 资源分配模块,用于利用所述资源分配信息,为所述任务分配资源。
9.根据权利要求8所述的装置,其特征在于,所述BP神经网络训练模块具体包括: 第一训练数据获取子模块,用于获取训练数据库中相对应的历史执行状态信息和历史资源分配信息,作为当前历史执行状态信息和当前历史资源分配信息; 训练神经网络分析子模块,用于将所述当前历史执行状态信息输入目标BP神经网络的输入层,目标BP神经网络计算后由输出层生成资源分配信息; 训练误差判断子模块,用于判断所述资源分配信息与所述当前历史资源分配信息的差值是否超过预设的训练误差阈值,如果是,则启动训练修正子模块,如果否,则启动训练完成条件判断子1吴块; 训练修正子模块,用于根据所述差值修正所述目标BP神经网络中的连接权值和偏差,修正后启动第二训练数据获取子模块; 第二训练数据获取子模块,用于获取训练数据库中未获取过的相对应的历史执行状态信息和历史资源分配信息,作为当前历史执行状态信息和当前历史资源分配信息,并启动训练神经网络分析子模块; 训练完成条件判断子模块,用于判断所述目标BP神经网络是否满足训练完成条件,如果是,则启动储存子模块,如果否,则启动第二训练数据获取子模块;所述训练完成条件为:连续的预设次数经过目标BP神经网络分析后得到的资源分配信息,与当前历史资源分配信息的差值不超过预设的训练误差阈值; 储存子模块,用于将所述目标BP神经网络作为已训练完成的BP神经网络储存。
10.根据权利要求9所述的装置,其特征在于,所述BP神经网络训练模块还包括: 验证数据获取子模块,用于获取验证数据库中相对应的历史执行状态信息和历史资源分配信息; 验证神经网络分析子模块,用于将所述历史执行状态信息输入所述已训练完成的BP神经网络的输入层,所述已训练完成的BP神经网络计算后由输出层生成资源分配信息;验证误差判断子模块,用于判断所述资源分配信息与所述历史资源信息的差值是否超过预设的验证误差阈值,如果是,则启动神经网络状态转换子模块; 神经网络状态转换子模块,用于将已训练完成的BP神经网络作为目标BP神经网络,并启动第一训练数据获取子模块。
11.根据权利要求9所述的装置,其特征在于,该装置还包括: 任务执行模块,用于利用所述分配的资源执行所述任务; 执行状态信息监测模块,用于监测并记录所述任务执行时的执行状态信息; 任务执行总时间获取模块,用于任务执行结束后获取执行所述任务的执行总时间;执行总时间判断模块,用于判断所述执行总时间是否超过预设的执行总时间阈值,如果否,则启动信息储存模块; 信息储存模块,用于将所述执行状态信息和所述资源分配信息对应地储存到训练数据库中。
12.根据权利要求8-11任意一项所述的装置,其特征在于,所述基本资源需求信息获取模块具体包括: 任务解析子模块,用于解析所述任务,得到任务头参数和任务类型; 资源需求信息提取子模块,用于通过任务头参数直接提取任务头参数中的第一资源需求信息,和,通过任务类型在预设的任务类型资源需求库中查找提取出所述任务类型所对应的第二资源需求信息; 资源需求信息规格化子模块,用于将所述第一资源需求信息和所述第二资源需求信息规格化,生成所述任务的基本资源需求信息。
13.根据权利要求12所述的装置,其特征在于,所述资源分配信息生成模块具体包括: 资源需求信息输入子模块,用于将所述基本资源需求信息输入已训练完成的BP神经网络的输入层; 输出信息获取子模块, 用于获取由所述已训练完成的BP神经网络输出层得到的输出信息;输出信息规格化子模块,用于将所述输出信息规格化,生成资源分配信息。
【文档编号】G06N3/08GK103699440SQ201210374766
【公开日】2014年4月2日 申请日期:2012年9月27日 优先权日:2012年9月27日
【发明者】王帅, 王蕾, 周星 申请人:北京搜狐新媒体信息技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1