云服务器的容量调节方法、装置、存储介质和云服务器与流程

文档序号:18142280发布日期:2019-07-10 11:12阅读:240来源:国知局
云服务器的容量调节方法、装置、存储介质和云服务器与流程

本发明涉及云服务器技术领域,特别是涉及一种云服务器的容量调节方法、装置、存储介质和云服务器。



背景技术:

云服务器是基于网络的高可用计算模式,将跨服务器甚至跨数据中心的物理服务器集群虚拟化,支持快速地调度高可用计算资源的一种主机产品,主机业务规模与服务容量配置可根据用户的需要进行配置,并可灵活的进行调整。

传统的云服务器容量采用静态分配的方式,按照应用服务的最大负载为指标来分配容量。但当云服务器的负载处在高峰期时,就会因容量资源供应不足,无法正常进行相关应用服务;当云服务器的负载处在低谷期时,就会因容量资源供大于求,造成容量资源的浪费。

已有的弹性云服务器可以根据自身应用服务负载的情况,实时为应用服务分配所需要的容量资源,并调节云服务器的容量大小。但是弹性云服务器存在资源分配耗时较长的问题。弹性云服务器通过实时分析当前相关应用服务负载较大,需要分配更多资源时,调节云服务器的容量,从分配云容量资源到使用这一过程需要一定的时间,存在时延。这还是会让相关应用服务在短时间内无法正常运作,给用户和云服务器商带来金钱的损失。



技术实现要素:

基于此,本发明的目的在于,提供一种云服务器的容量调节方法,其能根据待预测时间节点前云服务器容量负载的时间序列数据预测云服务器在待预测时间节点所需要的容量,从而可以提前调节云服务器的容量大小,保证云服务器应用服务的正常工作。

本发明云服务器的容量调节方法是通过如下方案实施的:

一种云服务器的容量调节方法,包括如下步骤:

获取待预测时间节点前云服务器容量负载的时间序列数据;

将该时间序列数据输入第一神经网络模型,获取所述云服务器在所述待预测时间节点的第一预测容量,其中,所述第一神经网络模型由所述待预测时间节点前第一时间区间内所述云服务器容量负载的时间序列数据训练;

将该时间序列数据输入第二神经网络模型,获取所述云服务器在所述待预测时间节点的第二预测容量,其中,所述第二神经网络模型由所述待预测时间节点前第二时间区间内所述云服务器容量负载的时间序列数据训练;

根据所述第一预测容量和所述第二预测容量,获取所述云服务器在待预测时间节点的预测容量。

本发明所述的云服务器的容量调节方法,根据待预测时间节点前云服务器容量负载的时间序列数据,由不同时间区间所训练的两个神经网络模型得出不同的两个预测容量,再根据两个预测容量获得云服务器在待预测时间节点所需要的容量,能更准确的获得云服务器的预测容量,从而可以提前调节云服务器的容量大小,保证云服务器应用服务的正常工作。

在一个实施例中,所述第一时间区间的起始时间早于所述第二时间区间。通过所述第一时间区间云服务器容量负载的时间序列数据所训练的第一神经网络模型,其输出的第一预测容量能根据云服务器容量的历史趋势反应云服务器容量的当前趋势,通过所述第二时间区间云服务器容量负载的时间序列数据所训练的第二神经网络模型,其输出的第二预测容量能根据云服务器容量的最近趋势反应云服务器容量的当前趋势。

为更加准确的对预测容量进行计算,在一个实施例中,根据所述第一预测容量和所述第二预测容量,获取所述云服务器在待预测时间节点的预测容量,包括:

获取第一预测容量的第一权重值;

获取第二预测容量的第二权重值;

根据所述第一预测容量和所述第一权重值,以及所述第二预测容量和所述第二权重值,对所述第一预测容量和所述第二预测容量进行加权计算,获取云服务器在所述待预测时间节点的预测容量。

为更加准确的对第一预测容量进行加权计算,在一个实施例中,获取第一预测容量的第一权重值,具体包括:

根据第一时间期间内所述云服务器接入的应用服务数量、应用服务用户数量以及应用服务活动时间中的一个或多个的组合获取所述第一权重值。

为更加准确的对第二预测容量进行加权计算,在一个实施例中,获取第二预测容量的第二权重值,具体包括:

根据第二时间期间内所述云服务器接入的应用服务数量、应用服务用户数量以及应用服务活动时间中的一个或多个的组合获取所述第二权重值。

在一个实施例中,获取待预测时间节点的预测容量后,还包括如下步骤:

根据所述预测容量,调节所述云服务器在所述待预测时间节点的容量,从而预先调整云服务器的容量,保证云服务器在待预测时间节点的应用服务正常工作。

如果实际需求容量与预测容量之间的差值过大,则可能导致应用服务无法正常运行或容量资源的浪费,因此,在一个实施例中,还包括如下步骤:

获取所述云服务器在所述待预测时间节点的实际需求容量;

获取所述实际需求容量与所述预测容量之间的差值;

如果实际需求容量与所述预测容量之间的差值大于第一设定阈值,则根据该差值调节云服务器的容量。

在一个实施例中,还可以是通知管理员进行容量调整,包括如下步骤:

获取所述云服务器在所述待预测时间节点的实际需求容量;

获取所述实际需求容量与所述预测容量之间的差值;

如果实际需求容量与所述预测容量之间的差值大于第一设定阈值,则将所述差值发送至管理员客户端。

在一个实施例中,所述第一神经网络模型的训练过程包括:

获取第一时间区间内所述云服务器容量负载的时间序列数据集;

使用所述第一时间区间内所述云服务器容量负载的时间序列数据集训练第一神经网络模型,通过横纵双弦寻优算法优化所述第一神经网络模型的权值和阈值,其中,所述横纵双弦寻优算法包括横向双弦寻优算法和纵向双弦寻优算法。

本实施例使用横纵双弦寻优算法能更加快速的通过优化所述第一神经网络模型的权值和阈值来训练第一神经网络模型。

具体的,在一个实施例中,使用所述第一时间区间内所述云服务器容量负载的时间序列数据集训练第一神经网络模型,通过横纵双弦寻优算法优化所述第一神经网络模型的权值和阈值,包括:

初始化第一神经网络模型,设置初始的权值和阈值;

初始化人工粒子种群,对其进行个体编码;

使用第一时间区间内所述云服务器的容量负载时间序列数据训练第一神经网络模型,并利用训练样本误差,对人工粒子种群每个个体进行适应度值评价;

对人工粒子种群执行横向双弦全局搜索和纵向双弦局部开发,择优保留所产生的新的个体与父代个体。

在一个实施例中,在训练第一神经网络模型时,还包括训练结束判断的步骤:

如果所述训练样本误差小于第二设定阈值或所述横纵双弦寻优算法的迭代次数超过最大设定迭代次数,则停止训练所述第一神经网络模型,并输出当前权值和阈值作为所述第一神经网络模型的权值和阈值。

在一个实施例中,所述第二神经网络模型的训练过程包括:

获取第二时间区间内所述云服务器容量负载的时间序列数据集;

使用所述第二时间区间内所述云服务器容量负载的时间序列数据集训练第二神经网络模型,通过横纵双弦寻优算法优化所述第二神经网络模型的权值和阈值,其中,所述横纵双弦寻优算法包括横向双弦寻优算法和纵向双弦寻优算法。

具体的,在一个实施例中,使用所述第二时间区间内所述云服务器容量负载的时间序列数据集训练第二神经网络模型,通过横纵双弦寻优算法优化所述第二神经网络模型的权值和阈值,包括:

初始化第二神经网络模型,设置初始的权值和阈值;

初始化人工粒子种群,对其进行个体编码;

使用第二时间区间内所述云服务器的容量负载时间序列数据训练第二神经网络模型,并利用训练样本误差,对人工粒子种群每个个体进行适应度值评价;

对人工粒子种群执行横向双弦全局搜索和纵向双弦局部开发,择优保留所产生的新的个体与父代个体。

在一个实施例中,在训练第二神经网络模型时,还包括训练结束判断的步骤:

如果所述训练样本误差小于第三设定阈值或所述横纵双弦寻优算法的迭代次数超过最大设定迭代次数,则停止训练所述第二神经网络模型,,并输出当前权值和阈值作为所述第二神经网络模型的权值和阈值。

进一步地,本发明还提供一种云服务器的容量调节装置,包括:

数据获取模块,用于获取待预测时间节点前云服务器容量负载的时间序列数据;

第一输入模块,用于将该时间序列数据输入第一神经网络模型,获取所述云服务器在所述待预测时间节点的第一预测容量,其中,所述第一神经网络模型由所述待预测时间节点前第一时间区间内所述云服务器容量负载的时间序列数据训练;

第二输入模块,用于将该时间序列数据输入第二神经网络模型,获取所述云服务器在所述待预测时间节点的第二预测容量,其中,所述第二神经网络模型由所述待预测时间节点前第二时间区间内所述云服务器容量负载的时间序列数据训练;

预测模块,用于根据所述第一预测容量和所述第二预测容量,获取所述云服务器在待预测时间节点的预测容量。

本发明所述的云服务器的容量调节装置,根据待预测时间节点前云服务器容量负载的时间序列数据,由不同时间区间所训练的两个神经网络模型得出不同的两个预测容量,再根据两个预测容量获得云服务器在待预测时间节点所需要的容量,能更准确的获得云服务器的预测容量,从而可以提前调节云服务器的容量大小,保证云服务器应用服务的正常工作。

进一步地,本发明还提供一种计算机可读介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述实施例中任意一项所述的云服务器的容量调节方法。

进一步地,本发明还提供一种云服务器,包括存储器、处理器以及储存在所述存储器并可被所述处理器执行的计算机程序,其特征在于:

所述处理器执行所述计算机程序时,实现如上述实施例中任意一项所述的云服务器的容量调节方法。

为了更好地理解和实施,下面结合附图详细说明本发明。

附图说明

图1为一个实施例中云服务器的容量调节方法的应用环境结构示意框图;

图2为一个实施例中云服务器的容量调节方法流程图;

图3为一个实施例中获取云服务器在待预测时间节点的预测容量流程图;

图4为一个实施例中云服务器实时调整容量流程图;

图5为一个实施例中第一神经网络模型的训练流程图;

图6为一个实施例中第一神经网络模型的结构示意图;

图7为一个实施例中横向双弦寻优算法示意图;

图8为一个实施例中横纵双弦寻优算法示意图;

图9为一个实施例中第一神经网络模型训练的具体流程图;

图10为一个实施例中第一神经网络模型和第二神经网络模型的结构示意图;

图11为一个实施例中云服务器的容量调节装置结构示意图;

图12为一个实施例中云服务器的结构示意图。

具体实施方式

请参阅图1,图1为本发明一个实施例中云服务器的容量调节方法的应用环境结构示意框图,该实施例的云服务器的容量调节方法的应用环境为云服务器20。所述云服务器20可运行一个或多个应用服务,并从所述云服务器的容量资源中,为该一个或多个应用服务提供正常运行所需要的容量资源。如图1所示,客户端10通过互联网连接云服务器20,并创建或访问云服务器20上的一个或多个应用服务。客户端10可以是台式计算机101、便携式计算机102、智能手机103以及其它智能设备等。

在其他实施例中,所述云服务器20也可以不只是单台服务器,而是由多台服务器组成的服务器集群。

请参阅图2,在一个实施例中,云服务器的容量调节方法,包括如下步骤:

步骤s201:获取待预测时间节点前云服务器容量负载的时间序列数据。

在本实施例中,待预测时间节点以及时间序列数据的计量单位均为一小时,在其他实施例中,还可以是以数小时,或以日为单位。

待预测时间节点之前云服务器容量负载的时间序列数据是指按照时间顺序排列的,待预测时间节点前数个小时按照时间顺序排列的云服务器容量负载值的集合。

所述云服务器的容量负载可以是在一个小时内,云服务器容量负载的平均值,还可以是在一个小时内云服务器容量负载的最大值,在本实施例中,优选为一个小时内云服务器容量负载的最大值。

步骤s202:将该时间序列数据输入第一神经网络模型,获取所述云服务器在所述待预测时间节点的第一预测容量,其中,所述第一神经网络模型由所述待预测时间节点前第一时间区间内所述云服务器容量负载的时间序列数据训练。

步骤s203:将该时间序列数据输入第二神经网络模型,获取所述云服务器在所述待预测时间节点的第二预测容量,其中,所述第二神经网络模型由所述待预测时间节点前第二时间区间内所述云服务器容量负载的时间序列数据训练。

在本实施例中,第一神经网络模型和第二神经网络模型采用bp(backpropagation)神经网络,优选的,为elman神经网络,在其他实施例中,还可以是使用其他神经网络。

步骤s204:根据所述第一预测容量和所述第二预测容量,获取所述云服务器在待预测时间节点的预测容量。

所述预测容量由所述第一预测容量和所述第二预测容量计算获得,其综合结合了云服务器容量负载的历史趋势和最近趋势来预测当前趋势,计算方式可以是计算第一预测容量和第二预测容量的平均值,在本实施例中,优选的对第一预测容量和第二预测容量进行加权和计算。

所述预测容量可以是在待预测时间节点这一个小时内,云服务器容量负载的平均值,还可以是在待预测时间节点这一个小时内云服务器容量负载的最大值,在本实施例中,优选为在待预测时间节点这一个小时内云服务器容量负载的最大值。

本发明所述的云服务器的容量调节方法,根据待预测时间节点前云服务器容量负载的时间序列数据,由不同时间区间所训练的两个神经网络模型得出不同的两个预测容量,再根据两个预测容量获得云服务器在待预测时间节点所需要的容量,能更准确的获得云服务器的预测容量,从而可以提前调节云服务器的容量大小,保证云服务器应用服务的正常工作。

在一个实施例中,所述第一时间区间为所述待预测时间节点前的一段时间,优选为一年,即选取所述待预测时间节点前之前一年时间内云服务器的容量负载的时间序列数据来训练所述第一神经网络。所述第二时间区间同样为所述待预测时间节点前的一段时间,优选为30天,即选取所述待预测时间节点前30天内云服务器的容量负载的时间序列数据来训练所述第二神经网络,在其他实施例中,所述第一时间区间还可以是比一年更长或更短的时间区间范围,所述第二时间区间也可以是比30天更长或更短的时间区间范围,满足所述第一时间区间的起始时间早于所述第二时间区间,即所述第一时间区间长于所述第二时间区间即可。所述第一时间区间和所述第二时间区间的结束时间优选为相同,可以是最接近所述待预测时间节点前的时间,也可以是所述待预测时间节点前的一个指定时间。

所述第一神经网络模型通过近一年时间内所述云服务器容量负载的时间序列数据进行训练,其输出的第一预测容量能根据云服务器容量的历史趋势反应云服务器容量的当前趋势,所述第二神经网络模型通过近30天内所述云服务器容量负载的时间序列数据进行训练,其输出的第二预测容量能较好的根据云服务器容量的最近趋势反应云服务器容量的当前趋势。

为更加准确的对预测容量进行计算,在一个实施例中,根据所述第一预测容量和所述第二预测容量,获取所述云服务器在待预测时间节点的预测容量,包括:

步骤s301:获取第一预测容量的第一权重值。

步骤s302:获取第二预测容量的第二权重值。

所述第一权重值和所述第二权重值分别通过近一年和近30天内所述云服务器接入的应用服务数量、应用服务用户数量以及应用服务活动时间中的一个或多个的组合获取。所述应用服务数量为近一年和近30天内所述云服务器中应用服务数量的平均值,所述应用服务用户数量近一年和近30天内所述云服务器中所有应用服务的用户数量的平均值,应用服务的活动时间包括游戏的活动时间,在活动时间范围内,用户数量会有较为明显的变化,因此,将应用服务的活动时间纳入权重值的计算范围。

优选的,所述第一权重值包括近一年内所述云服务器接入的应用服务数量、应用服务用户数量和应用服务活动时间等参数,所述第二权重值包括近30天内所述云服务器接入的应用服务数量、应用服务用户数量和应用服务活动时间等参数。

步骤s303:根据所述第一预测容量和所述第一权重值,以及所述第二预测容量和所述第二权重值,对所述第一预测容量和所述第二预测容量进行加权计算,获取云服务器在所述待预测时间节点的预测容量。

假设第一权重值分别为δ1,δ2,…,δn,第二权重值分为ω1,ω2,…,ωm。设定待预测时间节点的预测容量为c,第一预测容量为cyear,第二预测容量为cday,则预测容量c的计算公式为:

在一个实施例中,计算出预测容量c后,根据调节所述云服务器在所述待预测时间节点的容量,从而预先调整云服务器的容量,保证云服务器在待预测时间节点的应用服务正常工作。

请参阅图4,在一个实施例中,所述云服务器在预先调整云服务器的容量,并以所述预测容量在所述待预测时间节点运行时,还执行如下步骤:

步骤s401:获取所述云服务器在所述待预测时间节点的实际需求容量。

步骤s402:获取所述实际需求容量与所述预测容量之间的差值。

步骤s403:如果实际需求容量与所述预测容量之间的差值大于第一设定阈值,则根据该差值调节云服务器的容量。

所述云服务器在所述待预测时间节点的实际需求容量由所述云服务器根据当前运行的应用服务所需要的容量资源计算获得,如果所述实际需求容量与所述预测容量之间的差值过大,则表明所述云服务器当前处于容量过大或过小的状态,造成资源的浪费或相关应用服务无法正常运作,因此,需要根据该差值,将服务器当前在所述待预测时间节点的实际容量自动由预测容量调整至与符合实际容量的大小。其中,所述第一设定阈值根据所述云服务器的自身性能提前设定。

在其他实施例中,还可以是将所述差值发送至管理员客户端,通知管理员来进行云服务器容量的实时调整,其中,所述管理员客户端可以是管理员账号或管理员账号绑定的邮箱。

请参阅图5,在一个实施例中,所述第一神经网络模型的训练过程包括如下步骤:

步骤s501:获取第一时间区间内所述云服务器容量负载的时间序列数据集。

步骤s502:使用所述第一时间区间内所述云服务器容量负载的时间序列数据集训练第一神经网络模型,通过横纵双弦寻优算法优化所述第一神经网络模型的权值和阈值,其中,所述横纵双弦寻优算法包括横向双弦寻优算法和纵向双弦寻优算法。

其中,所述第一时间区间为一年,在其他实施例中,第一时间区间还可以是其他更长或更短的时间区间。将一年内所述云服务器容量负载的时间序列数据集syear输入所构建的第一神经网络模型中,取在时间节点t上对应的预测云服务容器需求容量cyear,根据需求容量cyear和实际容量的训练样本误差mse,利用横纵双弦寻优算法优化第一神经网络模型的权值w和阀值θ。

具体的,请参阅图6,图6为第一神经网络模型的结构示意图,第一神经网络模型为elman神经网络,是一种带反馈的bp网络,其具有局部记忆单元和局部反馈连接的前向神经网络。与传统的bp神经网络相比,elman神经网络具有更强的动态行为以及计算能力,适用于建立时间序列的预测模型,有利于短时间内云服务器容量负载的预测。

第一神经网络模型关键参数的设定如下:层次结构为四层,即输入层、隐藏层、承接层以及输出层。输入层的节点数是n,隐藏层的节点数为h,承接层的节点数为h,输出层的节点数为m。iwnh为输入层第n个节点连接到隐藏层第h个节点的权值,cwhh为隐藏层第h个节点连接到承接层第h个节点的权值,owhm为隐藏层第h个节点连接到输出层第m个节点的权值,bh(i=1,...,h)为隐藏层第i个节点的阈值。其中,阀值θ和权值w为初始值在[0,1]区间上的随机数。

传统的elman神经网络采用动量梯度下降法调整权值w和阈值θ,容易导致elman神经网络在预测过程中容易陷入局部最优解,降低预测结果的精确值,而且当影响因素和学习样本增多时,elman神经网络的计算量和权值数将急剧增加,导致收敛速度慢。因此本实施例在elman的训练中加入横纵双弦寻优算法(crisscrosscosinesineoptimizationalgorithm,ccsoa)来优化第一神经网络模型,通过横纵两维度双弦寻优,自适应调整神经网络的阈值和权值,提高预测精度和速度。

所述横纵双弦寻优算法为根据自然界粒子基于正弦函数和余弦函数三维立体运动,提出的一种新型的元启发式群智能算法,能够在约束条件ω下,模仿自然界粒子基于正弦函数和余弦函数三维立体运动,进行多次迭代搜索计算,求解目标函数f(x)在搜索空间s的最优解,在一定限定的范围内,经过有限次的迭代计算,快速准确获取限定范围内的最优值。

所述横纵双弦寻优算法包括横向双弦寻优算法,请参阅图7,所述横向双弦寻优算法在横向维度中,种群个体以种群横向维度中的随机个体phrand为主体导向,做正弦函数的曲线运动来搜索全局的未知最优解。同时,种群个体以种群横向维度中的最优个体phbest为辅助导向,做余弦函数的曲线运动,来缩小寻优的范围,并指导纠正随机个体的寻优方向,避免偏离最优解,加快算法的寻优速度,使得种群在横向维度寻优效率得到保证。其计算公式(1)如下:

ph(t+1)=ph(t)+a·sin(r1)·dhsin+b·cos(r2)·dhcos(1)

其中,ph(t+1)为个体横向维度迭代更新后的位置,ph(t)是个体横向维度的当前位置。r1、r2是取值在[0,2π]上的随机数。其中t为当前的迭代次数,t是总的迭代次数。dhsin是个体ph(t)距离种群横向维度中的随机个体phrand的距离,dhcos为个体ph(t)距离种群横向维度中的最优个体phbest的距离。dhsin和dhcos的计算,如公式(2)所示:

在公式(2)中,α和β是取值在[-1,1]区间上的随机数,以增强种群个体的随机性。

公式(1)和公式(2)中随着迭代次数t的增加,a逐渐减小,随机个体phrand对ph(t+1)的影响减弱;b逐渐变大,最优个体phbest对ph(t+1)的影响增强,使种群中的个体逐渐向同一个全局最优解聚拢,保证算法的收敛性。

由图7可知,公式(1)中,正弦函数以随机个体phrand为主体导向,其导向坐标为psin,搜索范围较大,容易发掘寻优盲点;余弦函数以最优个体phbest为辅助导向,其导向坐标为pcos,能够纠正正弦随机个体的寻优方向psin。种群个体p(t)在psin和pcos两个导航方向相辅相成的作用下,快速计算出下一个迭代位置p(t+1),使算法能够较快精准地寻找到下一迭代的较优个体。

所述横纵双弦寻优算法还包括纵向双弦寻优算法,请参阅图8,种群中的个体除了在横向维度进行双弦函数寻优外,还在纵向维度进行寻优。其计算公式(3)如下,计算前纵向维度做归一化处理。

pv(t+1)=pv(t)+a·sin(r1)·dvsin+b·cos(r2)·dvcos(3)

其中,pv(t+1)为个体纵向维度迭代更新后的位置,pv(t)是个体纵向维度的当前位置。r1、r2是取值在[0,2π]上的随机数。其中t为当前的迭代次数,t是总的迭代次数。dvsin是个体pv(t)距离种群纵向维度中的随机个体pvrand的距离,dvcos为个体pv(t)距离种群纵向维度中的最优个体pvbest的距离。dvsin和dvcos的计算,如公式(4)所示:

在公式(4)中,α和β是取值在[-1,1]区间上的随机数。增加纵向维度寻优,让粒子个体信息能够广泛传播,有利于让横向停滞的粒子个体通过纵向计算跳出局部最优,避免算法早熟。

传统的群智能算法,只做了横向维度的空间搜索寻优,致使算法的计算只限定于空间的横向维度。使得种群信息未在整个种群充分交流空间,容易使不同横向维度的个体在迭代计算的过程中存在寻优盲点。因此,在横向双弦寻优的基础上,增加了纵向维度的寻优,改变种群个体单一维度寻优的方式,并引入贪婪竞争,迭代更新后的ph(t+1)和pv(t+1)与父代个体竞争,择优保留。

从图8中可以发现,横纵两维度双弦寻优,让个体信息链式传播整个种群,提高寻优计算的精准度和速度。纵横双向维度信息的导航指引,能自适应纠正寻优计算方向,定位最优解,既加快了横纵双弦寻优算法的寻优速度,又避免算法陷入局部最优解,提高了算法的求解精度。

请参阅图9,在一个具体的实施例中,训练第一神经网络模型的具体步骤包括:

步骤s901:初始化第一神经网络模型,设置初始的权值w和阈值θ,其中,权值w和阈值θ为初始值在[0,1]区间上的随机数。

步骤s902:初始化人工粒子种群,其个体编码为p:

pi=1,...,n=[iw11...iwnhcw11...cwhhow11...owhmb1...bh]

步骤s903:使用一年内所述云服务器的容量负载时间序列数据训练第一神经网络模型,并利用训练样本误差mse,根据式(1)对群体每个个体进行适应度值评价,衡量其种群个体的适应度值fobj的计算公式为:

其中,pt为elman神经网络的实际输出,为elman神经网络的目标输出,n为训练样本总数。

步骤s904:根据公式(1)执行横向双弦全局搜索,以及公式(3)进行纵向双弦局部开发,产生新的个体都与父代个体竞争,择优保留。

步骤s905:计算训练样本误差mse是否小于第二设定阈值例如0.01,或迭代次数是否大于设定最大迭代次数t,如果是,则执行步骤s906,如果否,则执行步骤s903,其中,所述第二设定阈值为设定值,可根据实际情况设定。

步骤s906:训练终止,输出最佳的权值w和阈值θ至所述第一神经网络模型。

请参阅图10,所述第二神经网络模型的结构与训练过程与第一神经网络模型基本相同,第二神经网络模型使用第二时间区间内所述云服务器容量负载的时间序列数据集训练,其中,所述第二时间区间为30天,在其他实施例中,第一时间区间还可以是其他更长或更短的时间区间。

第二神经网络模型同样通过横纵双弦寻优算法优化权值w和阈值θ,其中,所述第二神经网络模型的层次结构与第一神经网络模型的层次结构相同,但各层次的节点数可根据实际需要调整。

第二神经网络模型训练时通过计算训练样本误差mse是否小于第三设定阈值例如0.01,或迭代次数是否大于设定最大迭代次数t,其中,所述第三设定阈值为设定值,可根据实际情况设定。

基于同一发明构思,本发明还提供一种云服务器的容量调节装置,用以实现上述云服务器的容量调节方法,请参阅图11,在一个实施例中,本发明的云服务器的容量调节装置300包括:

数据获取模块301,用于获取待预测时间节点前云服务器容量负载的时间序列数据。

第一输入模块302,用于将该时间序列数据输入第一神经网络模型,获取所述云服务器在所述待预测时间节点的第一预测容量,其中,所述第一神经网络模型由所述待预测时间节点前第一时间区间内所述云服务器容量负载的时间序列数据训练。

第二输入模块303,用于将该时间序列数据输入第二神经网络模型,获取所述云服务器在所述待预测时间节点的第二预测容量,其中,所述第二神经网络模型由所述待预测时间节点前第二时间区间内所述云服务器容量负载的时间序列数据训练。

预测模块304,用于根据所述第一预测容量和所述第二预测容量,获取所述云服务器在待预测时间节点的预测容量。

本发明所述的云服务器的容量调节装置,根据待预测时间节点前云服务器容量负载的时间序列数据,由不同时间区间所训练的两个神经网络模型得出不同的两个预测容量,再根据两个预测容量获得云服务器在待预测时间节点所需要的容量,能更准确的获得云服务器的预测容量,从而可以提前调节云服务器的容量大小,保证云服务器应用服务的正常工作。

在一个实施例中,所述第一时间区间的起始时间早于所述第二时间区间。

在一个实施例中,所述预测模块304包括:

第一权重值获取单元,用于获取第一预测容量的第一权重值。

第二权重值获取单元,用于获取第二预测容量的第二权重值。

加权计算单元,用于根据所述第一预测容量和所述第一权重值,以及所述第二预测容量和所述第二权重值,对所述第一预测容量和所述第二预测容量进行加权计算,获取云服务器在所述待预测时间节点的预测容量。

在一个实施例中,所述第一权重值获取单元根据第一时间期间内所述云服务器接入的应用服务数量、应用服务用户数量以及应用服务活动时间中的一个或多个的组合获取所述第一权重值;所述第二权重值获取单元根据第二时间期间内所述云服务器接入的应用服务数量、应用服务用户数量以及应用服务活动时间中的一个或多个的组合获取所述第二权重值。

在一个实施例中,还包括第一调节模块,用于根据所述预测容量,调节所述云服务器在所述待预测时间节点的容量。

在一个实施例中,还包括:

实际需求容量获取模块,用于获取所述云服务器在所述待预测时间节点的实际需求容量。

差值获取模块,用于获取所述实际需求容量与所述预测容量之间的差值。

第二调节模块,用于如果实际需求容量与所述预测容量之间的差值大于第一设定阈值,则根据该差值调节云服务器的容量。

发送模块,用于如果实际需求容量与所述预测容量之间的差值大于第一设定阈值,则将所述差值发送至管理员客户端。

在一个实施例中,还包括对第一神经网络模型进行训练的第一神经网络训练模块,包括:

第一数据获取单元,用于获取第一时间区间内所述云服务器容量负载的时间序列数据集。

第一训练单元,用于使用所述第一时间区间内所述云服务器容量负载的时间序列数据集训练第一神经网络模型,通过横纵双弦寻优算法优化所述第一神经网络模型的权值和阈值,其中,所述横纵双弦寻优算法包括横向双弦寻优算法和纵向双弦寻优算法。

在一个实施例中,所述第一训练单元包括:

第一神经网络模型初始化单元,用于初始化第一神经网络模型,设置初始的权值和阈值。

第一人工粒子种群初始化单元,用于初始化人工粒子种群,对其进行个体编码。

第一评价单元,用于使用第一时间区间内所述云服务器的容量负载时间序列数据训练第一神经网络模型,并利用训练样本误差,对人工粒子种群每个个体进行适应度值评价。

第一优化单元,用于对人工粒子种群执行横向双弦全局搜索和纵向双弦局部开发,择优保留所产生的新的个体与父代个体。

在一个实施例中,第一神经网络训练模块还包括:

第一结束单元,用于如果所述训练样本误差小于第二设定阈值或所述横纵双弦寻优算法的迭代次数超过最大设定迭代次数,则停止训练所述第一神经网络模型,并输出当前权值和阈值作为所述第一神经网络模型的权值和阈值。

在一个实施例中,还包括对第二神经网络模型进行训练的第二神经网络训练模块,包括:

第二数据获取单元,用于获取第二时间区间内所述云服务器容量负载的时间序列数据集。

第二训练单元,用于使用所述第二时间区间内所述云服务器容量负载的时间序列数据集训练第二神经网络模型,通过横纵双弦寻优算法优化所述第二神经网络模型的权值和阈值,其中,所述横纵双弦寻优算法包括横向双弦寻优算法和纵向双弦寻优算法。

在一个实施例中,所述第二训练单元包括:

第二神经网络模型初始化单元,用于初始化第二神经网络模型,设置初始的权值和阈值。

第二人工粒子种群初始化单元,用于初始化人工粒子种群,对其进行个体编码。

第二评价单元,用于使用第二时间区间内所述云服务器的容量负载时间序列数据训练第二神经网络模型,并利用训练样本误差,对人工粒子种群每个个体进行适应度值评价。

第二优化单元,用于对人工粒子种群执行横向双弦全局搜索和纵向双弦局部开发,择优保留所产生的新的个体与父代个体。

在一个实施例中,第二神经网络训练模块还包括:

第二结束单元,用于如果所述训练样本误差小于第三设定阈值或所述横纵双弦寻优算法的迭代次数超过最大设定迭代次数,则停止训练所述第二神经网络模型,并输出当前权值和阈值作为所述第二神经网络模型的权值和阈值。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

本发明还提供一种计算机可读介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述任意一项实施例中的云服务器的容量调节方法。

请参阅图12,在一个实施例中,本发明的云服务器400包括存储器401和处理器402,以及储存在所述存储器401并可被所述处理器402执行的计算机程序,所述处理器402执行所述计算机程序时,实现如上述任意一项实施例中的云服务器的容量调节方法。

在本实施例中,处理器402和存储器401通过总线连接,处理器402可以是一个或多个应用专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、控制器、微控制器、微处理器或其他电子元件。存储器401可采用在一个或多个其中包含有程序代码的存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。计算机可读储存介质包括永久性和非永久性、可移动和非可移动媒体,可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括但不限于:相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息,在本实施例中,所述处理器402还可以为多个,所述云服务器400还可以是多台计算机构成的服务器集群。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1