一种基于RBF神经网络的云服务资源精确控制方法转让专利

申请号 : CN201811213337.5

文献号 : CN109375506B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 丁均路张建

申请人 : 北京工业大学

摘要 :

一种基于RBF神经网络的云服务资源精确控制方法属于云服务运维和智能控制的交叉领域。本发明利用基于RBF神经网络建立云服务资源系统预测模型和设计RBF神经网络控制器,实现对云服务资源的合理分配使用,云服务资源的合理分配使用直接关系到云服务的运行效率和用户体验等一系列问题。将基于RBF神经网络的云服务资源精确控制方法应用于云服务资源管理系统,对云服务资源进行精确控制,不仅可以降低云服务的运行压力,而且还可以降低运营的成本和提高用户的体验。

权利要求 :

1.一种基于RBF神经网络的云服务资源精确控制方法,其特征在于,

包括以下步骤:

(1)设计基于RBF神经网络的云服务资源预测模型,预测模型RBF神经网络分为三层:输入层、隐含层和输出层;预测模型RBF神经网络输入为u(k)=[u1(k),u2(k),u3(k),u4(k),u5T(k)] ,u1(k)为第k次资源请求时所需线程个数,u2(k)为第k次资源请求时请求所需进程个数,u3(k)为第k次资源请求时所处理的数据量大小,u4(k)为第k次资源请求时当前云服务资源空闲CPU核个数,u5(k)为第k次资源请求时当前云服务资源空闲内存大小,T为矩阵的转置;预测模型RBF神经网络输出为所需内存大小除以所需CPU核数个数的预测值;其计算方式如下:①初始化预测模型RBF神经网络:确定神经网络5‑P‑1的连接方式,即输入层神经元为5个,隐含层神经元为P个,P为大于2的正整数;输出层神经元为1个;预测模型RBF神经网络输入层到隐含层的连接权值为1,隐含层和输出层间的连接权值在[0,1]范围内进行随机赋值;神经网络的输出表示如下:其中,ym(k)为第k次云资源请求时预测模型RBF神经网络的输出,即为第k次云资源请求时所需内存大小除以所需CPU核数个数的预测值;wj(k)为隐含层第j个神经元和输出层的连接权值,j=1,2,…,P;fj是预测模型RBF神经网络隐含层第j个神经元的输出,其计算公式为:其中,μj(k)表示第k次资源请求时隐含层第j个神经元中心值,σj(k)表示第k次资源请求时隐含层第j个神经元的中心宽度;

②定义当前所需内存大小除以所需CPU核数个数目标函数1为Jm(k)

em(k)=y(k)‑ym(k)                                 (4)其中,y(k)为第k次云资源请求时实际所需内存大小除以实际所需CPU核数个数,em(k)第k次云资源请求时所需内存大小除以所需CPU核数个数的误差;

③对预测模型RBF神经网络的参数进行更新

wj(k+1)=wj(k)‑ηΔwj(k)=wj(k)+ηem(k)fj(u(k))(1‑y(k))y(k)       (6)其中,Δwj(k)为第k次资源请求时第j个隐含层神经元和输出层神经元连接权值的修正量,wj(k)为第k次资源请求时第j个隐含层神经元与输出层神经元的连接权值,wj(k+1)为第k+1次资源请求时第j个隐含层神经元与输出层神经元的连接权值,μj(k+1)表示第k+1次资源请求时隐含层第j个神经元中心值,σj(k+1)表示第k+1次资源请求时隐含层第j个神经元的中心宽度;η为学习率,η∈(0,1];

④判断当前所需内存大小除以所需CPU核数个数目标函数的大小,如果Jm(k)>=0.01,则重复步骤③;如果Jm(k)<0.01,则转到步骤①计算预测模型RBF神经网络的输出ym(k);

T

(2)设计用于控制的RBF神经网络控制器;x(k)=[x1(k),x2(k)]为RBF神经网络控制器的输入,x1(k)为第k次资源请求所需内存大小除以所需CPU核数个数设定值与实际值的误差,x2(k)为第k次资源请求所需内存大小除以所需CPU核数个数设定值与实际值误差的变化率;

①初始化RBF神经网络控制器:确定神经网络2‑M‑1的连接方式,即输入层神经元为2个,隐含层神经元为M个,M为大于2的正整数;输出层神经元为1个;RBF神经网络控制器输入层到隐含层的连接权值为1,隐含层和输出层间的连接权值在[0,1]范围内进行随机赋值;

神经网络的输出表示如下:

c

其中,g(k)为第k次资源请求时RBF神经网络控制器的输出,wi (k)为RBF神经网络控制器隐含层第i个神经元和输出层的连接权值,i=1,2,…,M;fi是RBF神经网络隐含层第i个神经元的输出,其计算公式为:c c

其中,μi (k)表示第k次资源请求时RBF神经网络控制器隐含层第i个神经元中心值,σi(k)表示第k次资源请求时RBF神经网络控制器隐含层第i个神经元的中心宽度;

②定义当前所需内存大小除以所需CPU核数个数目标函数2为Jc(k)

e(k)=r(k)‑y(k)                                 (12)其中,e(k)为第k次资源请求时的所需内存大小除以所需CPU核数个数误差,r(k)为第k次资源请求时的所需内存大小除以所需CPU核数个数设定值,y(k)为第k次资源请求时实际测量的所需内存大小除以所需CPU核数个数;

③对RBF神经网络控制器的参数进行更新

c

其中,Δwi (k)为第k次资源请求时RBF神经网络控制器隐含层第i个神经元与输出层神c经元连接权值的修正量,wi (k+1)为第k+1次资源请求时的RBF神经网络控制器隐含层第i神c经元与输出层神经元的连接权值;μi (k+1)表示第k+1次资源请求时RBF神经网络控制器隐c含层第i个神经元中心值,σi (k+1)表示第k+1次资源请求时的RBF神经网络控制器隐含层第i个神经元的中心宽度;η1为学习率,η1∈(0,1];

④判断当前所需内存大小除以所需CPU核数个数目标函数的大小,如果Jc(k)>=0.01,则重复步骤③;如果Jc(k)<0.01,则转到步骤①计算RBF神经网络控制器的输出g(k);

(3)利用求解出的g(k)对云服务资源进行控制,控制系统的输出为实际所需内存大小除以所需CPU核数个数值。

说明书 :

一种基于RBF神经网络的云服务资源精确控制方法

技术领域

[0001] 本发明利用基于RBF神经网络建立云服务资源系统预测模型和设计RBF神经网络控制器,实现对云服务资源的合理分配使用,云服务资源的合理分配使用直接关系到云服务的运行效率和用户体验等一系列问题。将基于RBF神经网络的云服务资源精确控制方法应用于云服务资源管理系统,对云服务资源进行精确控制,不仅可以降低云服务的运行压力,而且还可以降低运营的成本和提高用户的体验。云服务资源精确控制不属于某个单一领域的问题,它是属于云服务运维和智能控制的交叉领域。

背景技术

[0002] 近年来,云服务资源已经成为数字化和人工智能时代的核心组件,根据《中国公共云发展调查报告》指出,国内云服务资源使用呈高速增长状态,2017年市场整体规模达到了170.1亿人民币,比2016年增长66%,云服务使用企业占比比例大幅度提升,2017年企业占比达到了44.8%,于2016年相比提升了19.9%,另外,调查指明云服务所涉及的行业占比也有所提高,2017年相比2016年提高了3.2%,这表明云服务资源的使用已经成为促进国家、社会、企业发展的核心力量。但是,现在对云服务资源的管理还是处于静态分配阶段,即对资源的分配使用固定的大小,不会随着具体的使用情况变化而改变。因此,现阶段的方法会对云服务资源造成不必要的浪费。
[0003] 目前,云服务资源的管理主要是依据需求用户提出的最大资源使用限度指标,通过给用户分配静态大小的资源,忽略了具体需求的情况,每次都是把当前最大空闲资源全部分配给当前的请求者,当另外一个请求发送过来的时候,由于当前已经没有空闲资源可以分配利用,所以请求只能进行等待,一直等到资源被释放,有空闲资源出现为止。资源的合理使用不仅可以提高云服务系统的运行效率,同事还能够降低运营成本和提高用户的体验效果。所以对资源的合理分配已经变得十分的重要。
[0004] 为了解决目前无法对云服务资源进行自动分配的问题,提出了基于神经网络的云资源精确控制方法。神经网络具有很强的数据拟合能力和自学习能力,可以将它应用于云资源精确控制。通过搭建数据采集、数据传输和数据持久化等硬件平台实现了数据采集与传输以及数据的保存。基于数据驱动建立云服务资源分配数学模型,针对云服务资源需求非线性和可变性等特征设计控制器。将云服务资源自动分配的神经网络建模与控制集成并嵌入软件中,开发出智能控制系统。将神经网络应用于云服务资源的使用合理控制,实现了对云服务资源的动态分配,降低了云服务资源的运行压力,同时避免了出现云服务资源浪费的情况和提高了用户的体验。

发明内容

[0005] 本发明获得了一种基于梯度下降算法的神经网络云服务资源精确控制方法,设计了RBF神经网络预测模型并且设计了用于控制的RBF神经网络控制器求解云服务资源控制问题;通过该方法进行控制,云服务资源实现了动态分配,解决了云服务资源浪费和使用不合理的问题,提高了云服务资源的使用率;同时,降低了云服务系统的运行压力和投入成本,保障了用户的使用体验;
[0006] 本发明采用了如下的技术方案及实现步骤:
[0007] 1.一种基于RBF神经网络的云服务资源精确控制方法,
[0008] 包括以下步骤:
[0009] (1)设计基于RBF神经网络的云服务资源预测模型,预测模型RBF神经网络分为三层:输入层、隐含层和输出层;预测模型RBF神经网络输入为u(k)=[u1(k),u2(k),u3(k),u4T(k),u5(k)] ,u1(k)为第k次资源请求时所需线程个数,u2(k)为第k次资源请求时请求所需进程个数,u3(k)为第k次资源请求时所处理的数据量大小,u4(k)为第k次资源请求时当前云服务资源空闲CPU核个数,u5(k)为第k次资源请求时当前云服务资源空闲内存大小,T为矩阵的转置;预测模型RBF神经网络输出为所需内存大小除以所需CPU核数个数的预测值;其计算方式如下:
[0010] ①初始化预测模型RBF神经网络:确定神经网络5‑P‑1的连接方式,即输入层神经元为5个,隐含层神经元为P个,P为大于2的正整数;输出层神经元为1个;预测模型RBF神经网络输入层到隐含层的连接权值为1,隐含层和输出层间的连接权值在[0,1]范围内进行随机赋值;神经网络的输出表示如下:
[0011]
[0012] 其中,ym(k)为第k次云资源请求时预测模型RBF神经网络的输出,即为第k次云资源请求时所需内存大小除以所需CPU核数个数的预测值;wj(k)为隐含层第j个神经元和输出层的连接权值,j=1,2,…,P;fj是预测模型RBF神经网络隐含层第j个神经元的输出,其计算公式为:
[0013]
[0014] 其中,μj(k)表示第k次资源请求时隐含层第j个神经元中心值,σj(k)表示第k次资源请求时隐含层第j个神经元的中心宽度;
[0015] ②定义预测模型RBF神经网络的性能指标Jm(k)
[0016]
[0017] em(k)=y(k)‑ym(k)   (4)
[0018] 其中,y(k)为第k次云资源请求时实际所需内存大小除以实际所需CPU核数个数,em(k)第k次云资源请求时所需内存大小除以所需CPU核数个数的误差;
[0019] ③对预测模型RBF神经网络的参数进行更新
[0020]
[0021] wj(k+1)=wj(k)‑ηΔwj(k)=wj(k)+ηem(k)fj(u(k))(1‑y(k))y(k)   (6)[0022]
[0023]
[0024] 其中,Δwj(k)为第k次资源请求时第j个隐含层神经元和输出层神经元连接权值的修正量,wj(k)为第k次资源请求时第j个隐含层神经元与输出层神经元的连接权值,wj(k+1)为第k+1次资源请求时第j个隐含层神经元与输出层神经元的连接权值,μj(k+1)表示第k+1次资源请求时隐含层第j个神经元中心值,σj(k+1)表示第k+1次资源请求时隐含层第j个神经元的中心宽度;η为学习率,η∈(0,1];
[0025] ④判断当前所需内存大小除以所需CPU核数个数目标函数的大小,如果Jm(k)>=0.01,则重复步骤③;如果Jm(k)<0.01,则转到步骤①计算预测模型RBF神经网络的输出ym(k);
[0026] (2)设计用于控制的RBF神经网络控制器;x(k)=[x1(k),x2(k)]T为RBF神经网络控制器的输入,x1(k)为第k次资源请求是所需内存大小除以所需CPU核数个数设定值与实际值的误差,x2(k)为第k次资源请求是所需内存大小除以所需CPU核数个数设定值与实际值误差的变化率;
[0027] ①初始化RBF神经网络控制器:确定神经网络5‑M‑1的连接方式,即输入层神经元为5个,隐含层神经元为M个,M为大于2的正整数;输出层神经元为1个;RBF神经网络控制器输入层到隐含层的连接权值为1,隐含层和输出层间的连接权值在[0,1]范围内进行随机赋值;神经网络的输出表示如下:
[0028]
[0029] 其中,g(k)为第k次资源请求时RBF神经网络控制器的输出,wic(k)为RBF神经网络控制器隐含层第i个神经元和输出层的连接权值,i=1,2,…,M;fi是RBF神经网络隐含层第i个神经元的输出,其计算公式为:
[0030]
[0031] 其中,μic(k)表示第k次资源请求时RBF神经网络控制器隐含层第i个神经元中心c值,σi(k)表示第k次资源请求时RBF神经网络控制器隐含层第i个神经元的中心宽度;
[0032] ②定义RBF神经网络控制器的指标Jc(k)
[0033]
[0034] e(k)=r(k)‑y(k)   (12)
[0035] 其中,e(k)为第k次资源请求时的所需内存大小除以所需CPU核数个数误差,r(k)为第k次资源请求时的所需内存大小除以所需CPU核数个数设定值,y(k)为第k次资源请求时实际测量的的所需内存大小除以所需CPU核数个数;
[0036] ③对RBF神经网络控制器的参数进行更新
[0037]
[0038]
[0039]
[0040]
[0041] 其中,Δwic(k)为第k次资源请求时RBF神经网络控制器隐含层第i个神经元与输出c层神经元连接权值的修正量,wi (k+1)为第k+1次资源请求时的RBF神经网络控制器隐含层c
第i神经元与输出层神经元的连接权值;μi (k+1)表示第k+1次资源请求时RBF神经网络控制c
器隐含层第i个神经元中心值,σi (k+1)表示第k+1次资源请求时的RBF神经网络控制器隐含层第i个神经元的中心宽度;η1为学习率,η1∈(0,1];
[0042] ④判断当前所需内存大小除以所需CPU核数个数目标函数的大小,如果Jc(k)>=0.01,则重复步骤③;如果Jc(k)<0.01,则转到步骤①计算RBF神经网络控制器的输出g(k);
[0043] (3)利用求解出的g(k)对云服务资源进行控制,控制系统的输出为实际所需内存大小除以所需CPU核数个数值。
[0044] 本发明的创造性主要体现在:
[0045] (1)根据神经网络具有很强的自适应和自学习能力,设计了RBF神经网络预测模型和RBF神经网络控制器,实现了云服务资源的动态分配控制;
[0046] (2)本发明设计了RBF神经网络预测模型和RBF神经网络控制器,控制方法较好地解决了非线性系统难以控制的问题,实现了云服务资源的精确控制;解决了云服务资源管理系统无法进行动态资源分配的问题;

具体实施方式

[0047] 本发明获得了一种基于梯度下降算法的神经网络云服务资源精确控制方法,设计了RBF神经网络预测模型并且设计了用于控制的RBF神经网络控制器求解云服务资源控制问题;通过该方法进行控制,云服务资源实现了动态分配,解决了云服务资源浪费和使用不合理的问题,提高了云服务资源的使用率;同时,降低了云服务系统的运行压力和投入成本,保障了用户的使用体验;
[0048] 本发明采用了如下的技术方案及实现步骤:
[0049] 2.一种基于RBF神经网络的云服务资源精确控制方法,
[0050] 包括以下步骤:
[0051] (1)设计基于RBF神经网络的云服务资源预测模型,预测模型RBF神经网络分为三层:输入层、隐含层和输出层;预测模型RBF神经网络输入为u(k)=[u1(k),u2(k),u3(k),u4T(k),u5(k)] ,u1(k)为第k次资源请求时所需线程个数,u2(k)为第k次资源请求时请求所需进程个数,u3(k)为第k次资源请求时所处理的数据量大小,u4(k)为第k次资源请求时当前云服务资源空闲CPU核个数,u5(k)为第k次资源请求时当前云服务资源空闲内存大小,T为矩阵的转置;预测模型RBF神经网络输出为所需内存大小除以所需CPU核数个数的预测值;其计算方式如下:
[0052] ①初始化预测模型RBF神经网络:确定神经网络5‑P‑1的连接方式,即输入层神经元为5个,隐含层神经元为15个;输出层神经元为1个;预测模型RBF神经网络输入层到隐含层的连接权值为1,隐含层和输出层间的连接权值在[0,1]范围内进行随机赋值;神经网络的输出表示如下:
[0053]
[0054] 其中,ym(k)为第k次云资源请求时预测模型RBF神经网络的输出,即为第k次云资源请求时所需内存大小除以所需CPU核数个数的预测值;wj(k)为隐含层第j个神经元和输出层的连接权值,j=1,2,…,P;fj是预测模型RBF神经网络隐含层第j个神经元的输出,其计算公式为:
[0055]
[0056] 其中,μj(k)表示第k次资源请求时隐含层第j个神经元中心值,σj(k)表示第k次资源请求时隐含层第j个神经元的中心宽度;
[0057] ②定义预测模型RBF神经网络的性能指标Jm(k)
[0058]
[0059] em(k)=y(k)‑ym(k)   (4)
[0060] 其中,y(k)为第k次云资源请求时实际所需内存大小除以实际所需CPU核数个数,em(k)第k次云资源请求时所需内存大小除以所需CPU核数个数的误差;
[0061] ③对预测模型RBF神经网络的参数进行更新
[0062]
[0063] wj(k+1)=wj(k)‑ηΔwj(k)=wj(k)+ηem(k)fj(u(k))(1‑y(k))y(k)   (6)[0064]
[0065]
[0066] 其中,Δwj(k)为第k次资源请求时第j个隐含层神经元和输出层神经元连接权值的修正量,wj(k)为第k次资源请求时第j个隐含层神经元与输出层神经元的连接权值,wj(k+1)为第k+1次资源请求时第j个隐含层神经元与输出层神经元的连接权值,μj(k+1)表示第k+1次资源请求时隐含层第j个神经元中心值,σj(k+1)表示第k+1次资源请求时隐含层第j个神经元的中心宽度;η为学习率,η∈(0,1];
[0067] ④判断当前所需内存大小除以所需CPU核数个数目标函数的大小,如果Jm(k)>=0.01,则重复步骤③;如果Jm(k)<0.01,则转到步骤①计算预测模型RBF神经网络的输出ym(k);
[0068] (2)设计用于控制的RBF神经网络控制器;x(k)=[x1(k),x2(k)]T为RBF神经网络控制器的输入,x1(k)为第k次资源请求是所需内存大小除以所需CPU核数个数设定值与实际值的误差,x2(k)为第k次资源请求是所需内存大小除以所需CPU核数个数设定值与实际值误差的变化率;
[0069] ①初始化RBF神经网络控制器:确定神经网络5‑M‑1的连接方式,即输入层神经元为5个,隐含层神经元为17个,M为大于2的正整数;输出层神经元为1个;RBF神经网络控制器输入层到隐含层的连接权值为1,隐含层和输出层间的连接权值在[0,1]范围内进行随机赋值;神经网络的输出表示如下:
[0070]
[0071] 其中,g(k)为第k次资源请求时RBF神经网络控制器的输出,即为第k次资源请求时c的资源所需宏量;wi (k)为RBF神经网络控制器隐含层第i个神经元和输出层的连接权值,i=1,2,…,M;fi是RBF神经网络隐含层第i个神经元的输出,其计算公式为:
[0072]
[0073] 其中,μic(k)表示第k次资源请求时RBF神经网络控制器隐含层第i个神经元中心c值,σi(k)表示第k次资源请求时RBF神经网络控制器隐含层第i个神经元的中心宽度;
[0074] ②定义RBF神经网络控制器的指标Jc(k)
[0075]
[0076] e(k)=r(k)‑y(k)   (12)
[0077] 其中,e(k)为第k次资源请求时的所需内存大小除以所需CPU核数个数误差,r(k)为第k次资源请求时的所需内存大小除以所需CPU核数个数设定值,y(k)为第k次资源请求时实际测量的的所需内存大小除以所需CPU核数个数;
[0078] ③对RBF神经网络控制器的参数进行更新
[0079]
[0080]
[0081]
[0082]
[0083] 其中,Δwic(k)为第k次资源请求时RBF神经网络控制器隐含层第i个神经元与输出c层神经元连接权值的修正量,wi (k+1)为第k+1次资源请求时的RBF神经网络控制器隐含层c
第i神经元与输出层神经元的连接权值;μi (k+1)表示第k+1次资源请求时RBF神经网络控制c
器隐含层第i个神经元中心值,σi (k+1)表示第k+1次资源请求时的RBF神经网络控制器隐含层第i个神经元的中心宽度;η1=0.1,η1∈(0,1];
[0084] ④判断当前所需内存大小除以所需CPU核数个数目标函数的大小,如果Jc(k)>=0.01,则重复步骤③;如果Jc(k)<0.01,则转到步骤①计算RBF神经网络控制器的输出g(k);
[0085] (3)利用求解出的g(k)对云服务资源进行控制,控制系统的输出为实际所需内存大小除以所需CPU核数个数值。