1.本发明涉及云计算技术领域,尤其涉及一种资源调整方法、装置、服务器及存储介质。
背景技术:2.随着大型数据中心的出现,托管it服务,云计算正成为it行业的关键技术之一。弹性云服务,是指云平台中的虚拟云资源能够根据工作负载的变化动态调整所分配的云资源,使实际分配的资源接近实际所需资源。它允许用户按需增加或减少虚拟化资源的容量,即伸缩资源调整,所以只需要支付他们使用的资源。传统业务以独特的虚拟机(vm)的形式在云平台上部署应用或服务,并通过云平台提供商的虚拟化网络提供给用户。有很多供应商提供这种服务,并声称提供虚拟资源的“无限”的观点,这是指可扩展性。
3.目前集群资源伸缩时处于响应式的,例如,会实时采集负载情况,用户根据负载情况修改资源,例如负载比较大时,增加虚拟机个数,负载比较小时,减小虚拟机个数。这样人工干预比较多,工作效率比较低。
技术实现要素:4.本发明提供一种资源调整方法、装置、服务器及存储介质,通过不同日期的历史工作负载和通过相同日期不同时间段的历史工作负载,预测负载,然后通过负载来确定目标用户资源调整值,不仅提高了预测准确率,还提高了工作效率。
5.第一方面,本发明实施例提供一种资源调整方法,包括:
6.根据多个第一历史时间段的目标用户工作负载,预测所述预测时间段的第一负载,以及根据多个第二历史时间段的目标用户工作负载,预测所述预测时间段的第二负载;其中,所述第一历史时间段为预测时间段所属日期之前的日期的,且与所述预测时间段相同的时间段;所述第二历史时间段为与所述预测时间段所属日期相同的,在所述预测时间段之前的时间段;
7.根据所述第一负载和所述第二负载,预测所述预测时间段的负载;
8.将所述预测时间段的负载进行分类,得到所述预测时间段的资源总量,并根据所述预测时间段的资源总量,确定所述目标用户资源调整值。
9.上述方法,能够通过预测时间段之前的多个日期的目标用户工作负载,预测第一负载,并且通过预测时间段当前日期的预测时间段之前的时间段的目标用户工作负载,预测第二负载,根据第一负载和第二负载确定该预测时间段的负载,同时,根据预测的负载确定目标用户资源调整值,这样通过横向时间和纵向时间的历史工作负载预测之后的负载,提高了预测的准确性,同时,能够通过对负载的分类确定资源调整值,无需工作人员介入,提高了工作效率。
10.在一种可能实施的方式中,根据所述第一负载和所述第二负载,预测所述预测时间段的负载,包括:
11.将所述第一负载和所述第一负载对应的权重的乘积、与所述第二负载和所述第二负载对应的权重的乘积之和,作为所述预测时间段的负载。
12.上述方法,能够通过负载和其对应的权重确定预测时间段的负载,提高了预测的准确性。
13.在一种可能实施的方式中,在根据所述第一负载和所述第二负载,预测所述预测时间段的负载之前,所述方法还包括:
14.根据每个第二历史时间段对应的多个历史时间段的负载,预测每个第二历史时间段的负载;其中,所述第二历史时间段对应的历史时间段为第二历史时间段所属日期之前的日期的,且与所述第二历史时间段相同的时间段;
15.根据预测的每个第二历史时间段的负载和每个第二历史时间段的实际负载,确定调整误差和调整方向;
16.若所述调整方向为正方向,则将所述调整误差和所述第一负载之和,作为新的第一负载;
17.若所述调整方向为负方向,则将所述调整误差和所述第一负载之差,作为新的第一负载。
18.上述方法,能够预测预测时间段的日期之前的日期,预测时间段之前的时间段的工作负载,从这些工作负载中确定调整误差和调整方向,从而调整当前预测的第一负载,提高了预测第一负载的准确性。
19.在一种可能实施的方式中,根据预测的每个第二历史时间段的负载和每个第二历史时间段的实际负载,确定调整误差,包括:
20.将预测的每个第二历史时间段的负载和每个第二历史时间段的实际负载之间每个第二历史时间段对应的误差的平均值,作为调整误差;或者
21.根据预测的每个第二历史时间段的负载和每个第二历史时间段的实际负载之间每个第二历史时间段对应的误差,预测调整误差。
22.上述方法,能够通过误差的平均值作为调整误差,反映了误差的趋势,或者通过多个误差进行预测调整误差,提高了预测的准确性。
23.在一种可能实施的方式中,根据预测的每个第二历史时间段的负载和每个第二历史时间段的实际负载,确定调整方向,包括:
24.若第一误差组中的误差之和大于第二误差组中的误差之和,则所述调整方向为正方向;其中,所述第一误差组中的误差为预测的第二历史时间段的负载大于该第二历史时间段的实际负载的第二历史时间段对应的误差;所述第二误差组中的误差为预测的第二历史时间段的负载小于该第二历史时间段的实际负载的第二历史时间段对应的误差;
25.若所述第一误差组中的误差之和小于第二误差组中的误差之和,则所述调整方向为负方向。
26.上述方法,通过多个预测的负载和实际的负载的大小关系,确定调整方向,提高了预测准确性。
27.在一种可能实施的方式中,根据多个第一历史时间段的目标用户工作负载,预测所述预测时间段的第一负载,包括:通过gm(1,1)灰色模型根据多个第一历史时间段的目标用户工作负载,预测所述预测时间段的第一负载;
28.根据多个第二历史时间段的目标用户工作负载,预测所述预测时间段的第二负载,包括:通过cnn卷积神经网络根据多个第二历史时间段的目标用户工作负载,预测所述预测时间段的第二负载;
29.将所述预测时间段的负载进行分类,得到所述预测时间段的资源总量,包括:通过dt分类器将所述预测时间段的负载进行分类,得到所述预测时间段的资源总量。
30.上述方法,能够通过三个模型分别进行预测第一负载、第二负载以及负载分类,提高了计算的准确率。
31.第二方面,本发明实施例提供一种资源调整装置,包括:
32.第一预测模块,用于根据多个第一历史时间段的目标用户工作负载,预测所述预测时间段的第一负载,以及根据多个第二历史时间段的目标用户工作负载,预测所述预测时间段的第二负载;其中,所述第一历史时间段为预测时间段所属日期之前的日期的,且与所述预测时间段相同的时间段;所述第二历史时间段为与所述预测时间段所属日期相同的,在所述预测时间段之前的时间段;
33.第二预测模块,用于根据所述第一负载和所述第二负载,预测所述预测时间段的负载;
34.分类模块,用于将所述预测时间段的负载进行分类,得到所述预测时间段的负载的类别,并根据所述预测时间段的负载的类别,确定所述目标用户资源调整值。
35.在一种可能实施的方式中,所述第二预测模块,用于:
36.将所述第一负载和所述第一负载对应的权重的乘积、与所述第二负载和所述第二负载对应的权重的乘积之和,作为所述预测时间段的负载。
37.第三方面,本发明实施例提供一种服务器,包括:处理器和存储器;
38.处理器;
39.用于存储所述处理器可执行指令的存储器;
40.其中,所述处理器被配置为执行所述指令,以实现如第一方面中任一项所述的资源调整方法。
41.第四方面,本发明实施例提供一种存储介质,当所述存储介质中的指令由服务器的处理器执行时,使得所述服务器能够执行如第一方面中任一项所述的资源调整方法。
42.另外,第二方面至第四方面中任一种实现方式所带来的技术效果可参见第一方面中不同实现方式所带来的技术效果,此处不再赘述。
43.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
44.图1为本发明实施例提供的一种资源调整方法的流程图;
45.图2为本发明实施例提供的一种第一负载预测过程的示意图;
46.图3为本发明实施例提供的一种第二负载预测过程的示意图;
47.图4为本发明实施例提供的另一种资源调整方法的流程图;
48.图5为本发明实施例提供的一种基于神经网络的资源调整方法的流程图;
49.图6为本发明实施例提供的一种cnn卷积神经网络的示意图;
50.图7为本发明实施例提供的一种资源调整的示意图;
51.图8为本发明实施例提供的另一种资源调整的示意图;
52.图9为本发明实施例提供的一种修正第一负载的方式的流程图;
53.图10为本发明实施例提供的一种响应式伸缩和主动伸缩的对比示意图;
54.图11为本发明实施例提供的一种资源调整装置的结构图。
具体实施方式
55.下面将结合附图对本技术实施例中的技术方案进行清除、详尽地描述。其中,在本技术实施例的描述中,除非另有说明,“/”表示或的意思,例如,a/b可以表示a或b,另外,在本技术实施例的描述中,“多个”是指两个或多于两个。
56.本发明实施例提出了一种资源调整方法,结合图1所示,包括:
57.s100:根据多个第一历史时间段的目标用户工作负载,预测预测时间段的第一负载;
58.其中,第一历史时间段为预测时间段所属日期之前的日期的,且与预测时间段相同的时间段;例如,预测时间段为7月1日上午11点~7月1日上午12点,那么6月30日上午11点~6月30日上午12点,6月29日上午11点~6月29日上午12点,6月28日上午11点~6月28日上午12点,6月27日上午11点~6月27日上午12点均为第一历史时间段。
59.结合图2所示,历史数据的时间段为x
(0)
、x
(1)
、x
(2)
、x
(3)
、
…
、x
(m-2)
、x
(m-1)
、x
(m)
,即历史时间段0~m。历史天数为1~n,预测时间段的日期为n+1。
60.预测时间段x
(0)
(n+1),时间段为x
(0)
,日期是n+1,根据预测时间段对应的多个第一历史时间段x
(0)
(1)、x
(0)
(2)、
…
、x
(0)
(n)的工作负载,可以预测x
(0)
(n+1)的第一负载;
61.预测时间段x
(1)
(n+1),时间段为x
(1)
,日期是n+1,根据预测时间段对应的多个第一历史时间段x
(1)
(1)、x
(1)
(2)、
…
、x
(1)
(n)的工作负载,可以预测x
(1)
(n+1)的第一负载;
62.预测时间段x
(2)
(n+1),时间段为x
(2)
,日期是n+1,根据预测时间段对应的多个第一历史时间段x
(2)
(1)、x
(2)
(2)、
…
、x
(2)
(n)的工作负载,可以预测x
(2)
(n+1)的第一负载;
63.预测时间段x
(3)
(n+1),时间段为x
(3)
,日期是n+1,根据预测时间段对应的多个第一历史时间段x
(3)
(1)、x
(3)
(2)、
…
、x
(3)
(n)的工作负载,可以预测x
(3)
(n+1)的第一负载;
64.…
65.预测时间段x
(m-2)
(n+1),时间段为x
(m-2)
,日期是n+1,根据预测时间段对应的多个第一历史时间段x
(m-2)
(1)、x
(m-2)
(2)、
…
、x
(m-2)
(n)的工作负载,可以预测x
(m-2)
(n+1)的第一负载;
66.预测时间段x
(m-1)
(n+1),时间段为x
(m-1)
,日期是n+1,根据预测时间段对应的多个第一历史时间段x
(m-1)
(1)、x
(m-1)
(2)、
…
、x
(m-1)
(n)的工作负载,可以预测x
(m-1)
(n+1)的第一负载;
67.预测时间段x
(m)
(n+1),时间段为x
(m)
,日期是n+1,根据预测时间段对应的多个第一历史时间段x
(m)
(1)、x
(m)
(2)、
…
、x
(m)
(n)的工作负载,可以预测x
(m)
(n+1)的第一负载。
68.s110:根据多个第二历史时间段的目标用户工作负载,预测预测时间段的第二负载;
69.其中,第二历史时间段为与预测时间段所属日期相同的,在预测时间段之前的时
间段。例如,预测时间段为7月1日上午11点~7月1日上午12点,那么7月1日上午10点~7月1日上午11点,7月1日上午9点~7月1日上午10点,7月1日上午8点~7月1日上午9点,7月1日上午7点~7月1日上午8点均为第二历史时间段。
70.结合图3所示,如果预测时间段为day(n+1)的x
(1)
(n+1),那么可以第二历史时间段为x
(0)
(n+1),根据x
(0)
(n+1)的工作负载,预测x
(1)
(n+1)的第二负载;
71.如果预测时间段为day(n+1)的x
(2)
(n+1),那么可以第二历史时间段为x
(0)
(n+1)和x
(1)
(n+1),根据x
(0)
(n+1)和x
(1)
(n+1)的工作负载,预测x
(2)
(n+1)的第二负载;
72.如果预测时间段为day(n+1)的x
(3)
(n+1),那么可以第二历史时间段为x
(0)
(n+1)、x
(1)
(n+1)、x
(2)
(n+1),根据x
(0)
(n+1)、x
(1)
(n+1)、x
(2)
(n+1)这三个工作负载,预测x
(3)
(n+1)的第二负载;
73.如果预测时间段为day(n+1)的x
(m-1)
(n+1),那么可以第二历史时间段为x
(0)
(n+1)、x
(1)
(n+1)、
…
、x
(m-2)
(n+1),根据x
(0)
(n+1)、x
(1)
(n+1)、
…
、x
(m-2)
(n+1)这m-1个工作负载,预测x
(m-1)
(n+1)的第二负载;
74.如果预测时间段为day(n+1)的x
(m)
(n+1),那么可以第二历史时间段为x
(0)
(n+1)、x
(1)
(n+1)、
…
、x
(m-1)
(n+1),根据x
(0)
(n+1)、x
(1)
(n+1)、
…
、x
(m-1)
(n+1)这m个工作负载,预测x
(m)
(n+1)的第二负载。
75.s120:根据第一负载和第二负载,预测预测时间段的负载;
76.详细来说,将第一负载和第二负载之和,作为预测时间段的负载。
77.随着时间的变化,工作负载也会发生变化,对此,第一负载和第二负载针对最后确定的负载的贡献率也不同。基于此,本发明实施例还提出:
78.将第一负载和第一负载对应的权重的乘积、与第二负载和第二负载对应的权重的乘积之和,作为预测时间段的负载。
79.其中,第一负载对应的权重,第二负载对应的权重可以为预设的,根据历史经验确定的。
80.s130:将预测时间段的负载进行分类,得到预测时间段的资源总量,并根据预测时间段的资源总量,确定目标用户资源调整值。
81.例如,预测时间段的资源总量为预测时间段所需虚拟机的个数。资源调整值为虚拟机的增加个数,+2,即再原来的基础上增加两个虚拟机;+3,即再原来的基础上增加三个虚拟机;-2,即再原来的基础上减少两个虚拟机等等。
82.其中,负载包括并发量、cpu利用率、内存使用量;示例性的,通过上述方式预测并发量的大小、cpu利用率的大小、内存使用量的大小,然后根据并发量的大小、cpu利用率的大小、内存使用量的大小,确定预测时间段所需虚拟机的个数,根据预测时间段所需虚拟机的个数,确定目标用户的虚拟机的调整个数。
83.其中,根据预测时间段的资源总量,确定目标用户资源调整值,包括:
84.根据预测时间段的资源总量和目标第二历史时间段对应的资源总量进行对比,将他们之间相差的个数,确定目标用户资源调整值。其中,该目标第二历史时间段为与预测时间段间隔最近的第一历史时间段。例如:预测时间段为7月1日上午11点~7月1日上午12点,那么7月1日上午10点~7月1日上午11点为目标第二历史时间段。
85.示例性的,结合图4所示,本发明提供了另一种资源调整方法,包括:
86.s400:根据多个第一历史时间段的目标用户的并发量,预测预测时间段的第一并发量,以及根据多个第二历史时间段的目标用户的并发量,预测预测时间段的第二并发量;根据第一并发量和第二并发量,预测预测时间段的并发量;
87.s410:根据多个第一历史时间段的目标用户的cpu利用率,预测预测时间段的第一cpu利用率,以及根据多个第二历史时间段的目标用户的cpu利用率,预测预测时间段的第二cpu利用率;根据第一cpu利用率和第二cpu利用率,预测预测时间段的cpu利用率;
88.s420:根据多个第一历史时间段的目标用户的内存使用量,预测预测时间段的第一内存使用量,以及根据多个第二历史时间段的目标用户的内存使用量,预测预测时间段的第二内存使用量;根据第一内存使用量和第二内存使用量,预测预测时间段的内存使用量;
89.s430:将预测时间段的并发量、cpu利用率、以及内存使用量进行分类,得到预测时间段所需虚拟机个数,并根据预测时间段所需虚拟机个数,确定目标用户虚拟机的调整值。
90.其中,上述步骤可以采用模型进行计算,具体来说:
91.根据多个第一历史时间段的目标用户工作负载,预测所述预测时间段的第一负载,包括:通过gm(1,1)灰色模型根据多个第一历史时间段的目标用户工作负载,预测所述预测时间段的第一负载;
92.根据多个第二历史时间段的目标用户工作负载,预测所述预测时间段的第二负载,包括:通过cnn卷积神经网络根据多个第二历史时间段的目标用户工作负载,预测所述预测时间段的第二负载;
93.将所述预测时间段的负载进行分类,得到所述预测时间段的资源总量,包括:通过dt分类器将所述预测时间段的负载进行分类,得到所述预测时间段的资源总量。
94.示例性的,结合图5所示,本发明实施例提供了一种基于神经网络的资源调整方法,包括:
95.s500:通过gm(1,1)灰色模型根据多个第一历史时间段的目标用户工作负载,预测预测时间段的第一负载;
96.示例性的,通过gm(1,1)灰色模型根据多个第一历史时间段的并发量,预测预测时间段的第一并发量;通过gm(1,1)灰色模型根据多个第一历史时间段的cpu利用率,预测预测时间段的第一cpu利用率;通过gm(1,1)灰色模型根据多个第一历史时间段的内存使用量,预测预测时间段的第一内存使用量。
97.s510:通过cnn卷积神经网络根据多个第二历史时间段的目标用户工作负载,预测预测时间段的第二负载;
98.示例性的,通过cnn卷积神经网络根据多个第二历史时间段的并发量,预测预测时间段的第二并发量;通过cnn卷积神经网络根据多个第二历史时间段的cpu利用率,预测预测时间段的第二cpu利用率;通过cnn卷积神经网络根据多个第二历史时间段的内存使用量,预测预测时间段的第二内存使用量。
99.s520:根据第一负载和第二负载,预测预测时间段的负载;
100.s530:通过dt分类器将预测时间段的负载进行分类,得到预测时间段的资源总量,并根据预测时间段的资源总量,确定目标用户资源调整值。
101.示例性的,将预测时间段的并存量、cpu利用率、以及内存使用量输入到dt分类器
中,得到预测时间段的负载的类别,并根据预测时间段的负载的类别,确定目标用户资源调整值。
102.其中,将历史时间段的并存量、cpu利用率、以及内存使用量作为训练集,训练gm(1,1)灰色模型,将历史时间段的并存量、cpu利用率、以及内存使用量作为训练集,训练cnn卷积神经网络,分别得到训练好的gm(1,1)灰色模型、cnn卷积神经网络,从而可以进行使用。
103.结合图6所示,cnn卷积神经网络包括1个隐含层,即1+2层的机构,输入层输入前m个时间段的并发量、或cpu利用率、或内存使用量,输出预测数据,即当天m+1时刻的并发量、或cpu利用率、或内存使用量。
104.其中cnn卷积神经网络的算式为:
105.f(x)=g(b
(2)
+w
(2)
(s(b
(1)
+w
(1)
x)))
106.cnn卷积神经网络所有的参数就是各个层之间的连接权重以及偏置,包括w1、b1、w2、b2。通过历史时间段的并存量、cpu利用率、以及内存使用量作为训练集,训练上述算式,从而得到cnn卷积神经网络所有的参数。
107.在训练完成后,通过权重组合成gm-cnn模型。具体来说:
108.load
gm-cnn
=ω1load
gm
+ω2load
cnn
109.权重组为ω1、ω2,ω1为第一负载对应的权重,ω2为第二负载对应的权重。将通过gm(1,1)输出的load
gm
,通过cnn输出的load
cnn
作为训练集,然后训练上述load
gm-cnn
公式,得到ω1、ω2。
110.dt分类器根据历史日志中数据的训练可以得到集群最优资源弹性伸缩分配规则集,通过分类器的选择进行弹性伸缩调整,这样当预测出并发量、cpu利用率、内存使用量后输入到训练好的dt分类器中,得到预测时间段的资源总量,从而根据预测时间段的资源总量和之前相邻时间段的资源总量做差,得到调整值。即是增加虚拟机个数或者减小虚拟机个数。
111.dt分类器主要完成集群中资源分配的过程,资源分配是指在一个特定的集群中根据固定的阈值设定原则,分配云中以分布式形式存在的各种云资源以达到不同租户对不同资源的需求,其中选择合适的弹性伸缩规则是云中资源动态分配的关键步骤,主要解决集群系统抖动问题,降低调整以及人工干预次数。本发明的弹性伸缩方法选择包含两个过程,首先将历史数据进行标准化分析处理,处理后数据形成弹性伸缩规则集,用处理后的数据训练dt分类器。然后,当新的cpu利用率、内存使用量及当前环境并发量传到训练好的dt分类器时,得到当前所需资源总量,通过对比操作得到相应的调整动作,使用dt分类器模型可以提高弹性伸缩的效率,减少弹性伸缩原本的调整次数,减少人工干预的次数,高效的做出分类。
112.示例性的,结合图7所示,7月1日上午8点~上午9点实际使用1个虚拟机,当预测得到7月1日上午9点~上午10点需要增加1个虚拟机后,认为当前虚拟机个数不足,可以向云资源进行请求,增加1个虚拟机,那么7月1日上午9点~上午10点可以得到2个虚拟机,当预测得到7月1日上午10点~上午11点相比于7月1日上午9点~上午10点需要增加1个虚拟机,那么向云资源进行请求,增加1个虚拟机,在7月1日上午10点~上午11点使用3个虚拟机。
113.需要说明的是:当集群负载变化时,必须变化集群中的资源来增强或是降低集群
的处理能力。从方向上讲,有两种增加的方式:垂直伸缩和水平伸缩。垂直伸缩是指集群中虚拟机的资源量进行增加或者减少,比如,2核4g的虚拟机进行增加变为4核8g或减少变为1核2g等。而水平伸缩是指通过改变集群中虚拟机的数量进行资源量的增加或减少,来使得集群应对负载的变化。在本文中,选定水平伸缩的方式进行弹性伸缩,这种伸缩方式不是向应用的虚拟机增加资源,而是增加虚拟机的数量来提高集群的服务能力,该方式更加灵活,符合分布式的思想。在水平伸缩时,集群负载过大超过阈值设定,则进行资源请求,虚拟机数量增加到集群满足阈值设定。
114.示例性的,本发明涉及到集群资源分配,基于openstack进行集群资源的弹性伸缩服务系统。本系统开发工具使用pycharm、eclipse-jee-mars-2,服务器使用物理服务器以及tomcat 8.0,数据库使用mysql server 5.0。系统的前台页面使用webstorm制作。
115.结合图8所示,由于openstack自带监控服务,所以本文的数据是由openstack中采集得到,通过脚本文件对gnocchi服务中的数据定期进行采集,存入数据库,当数据格式不为本文所需的,那么将该数据处理为本文需要的数据格式。通过处理分析后的日志信息分别对gm-cnn模型,dt分类器进行训练,然后当监测到新的数据时,对下一时刻的负载进行预测,将预测负载输入dt分类器进行分类,选出相应调整规则,即从伸缩规则集中选择伸缩规则,伸缩规则集包括伸缩规则1、伸缩规则2、伸缩规则3、伸缩规则4、伸缩规则5、
……
。从而通过负载均衡器对集群资源进行调整动作,即从云资源中请求虚拟机的个数,请求4个虚拟机。
116.其中,系统可以监控云资源运行以及环境预测,伸缩规则集是根据性能变化或者云环境变化构建和维护的。
117.为了提高第一负载的准确率,本发明实施例还提出一种修正第一负载的方式,结合图9所示:
118.s900:根据每个第二历史时间段对应的多个历史时间段的负载,预测每个第二历史时间段的负载;
119.其中,第二历史时间段对应的历史时间段为第二历史时间段所属日期之前的日期的,且与第二历史时间段相同的时间段;
120.示例性的,预测时间段为7月1日上午11点~7月1日上午12点,那么7月1日上午10点~7月1日上午11点,7月1日上午9点~7月1日上午10点,7月1日上午8点~7月1日上午9点,7月1日上午7点~7月1日上午8点均为第二历史时间段。
121.那么针对7月1日上午10点~7月1日上午11点这个第二历史时间段,6月30日上午10点~6月30日上午11点、6月29日上午10点~6月29日上午11点、6月28日上午10点~6月28日上午11点均为第二历史时间段对应的历史时间段。
122.那么针对7月1日上午9点~7月1日上午10点这个第二历史时间段,6月30日上午9点~6月30日上午10点、6月29日上午9点~6月29日上午10点、6月28日上午9点~6月28日上午10点均为第二历史时间段对应的历史时间段。
123.那么针对7月1日上午8点~7月1日上午9点这个第二历史时间段,6月30日上午8点~6月30日上午9点、6月29日上午8点~6月29日上午9点、6月28日上午8点~6月28日上午9点均为第二历史时间段对应的历史时间段。
124.那么针对7月1日上午7点~7月1日上午8点这个第二历史时间段,6月30日上午7点
~6月30日上午8点、6月29日上午7点~6月29日上午8点、6月28日上午7点~6月28日上午8点均为第二历史时间段对应的历史时间段。
125.s910:根据预测的每个第二历史时间段的负载和每个第二历史时间段的实际负载,确定调整误差和调整方向;
126.详细来说:将预测的每个第二历史时间段的负载和每个第二历史时间段的实际负载之间每个第二历史时间段对应的误差的平均值,作为调整误差;或者
127.根据预测的每个第二历史时间段的负载和每个第二历史时间段的实际负载之间每个第二历史时间段对应的误差,预测调整误差。
128.将预测的每个第二历史时间段的负载和每个第二历史时间段的实际负载之间每个第二历史时间段对应的误差作为输入,输入到神经网络中,得到调整误差。
129.例如,通过6月30日上午10点~6月30日上午11点,6月29日上午10点~6月29日上午11点,6月28日上午10点~6月28日上午11点的负载,预测7月1日上午10点~6月30日上午11点的负载;7月1日上午10点~7月1日上午11点这个第二历史时间段对应的误差,为上述预测的7月1日上午10点~6月30日上午11点的负载,与7月1日上午10点~6月30日上午11点实际检测到的负载之间的差值;
130.通过6月30日上午9点~6月30日上午10点,6月29日上午9点~6月29日上午10点,6月28日上午9点~6月28日上午10点的负载,预测7月1日上午9点~6月30日上午10点的负载;7月1日上午9点~7月1日上午10点这个第二历史时间段对应的误差,为上述预测的7月1日上午9点~6月30日上午10点的负载,与7月1日上午9点~6月30日上午10点实际检测到的负载之间的差值;
131.通过6月30日上午8点~6月30日上午9点,6月29日上午8点~6月29日上午9点,6月28日上午8点~6月28日上午9点的负载,预测7月1日上午8点~6月30日上午9点的负载;7月1日上午8点~7月1日上午9点这个第二历史时间段对应的误差,为上述预测的7月1日上午8点~6月30日上午9点的负载,与7月1日上午8点~6月30日上午9点实际检测到的负载之间的差值。
132.将7月1日上午10点~7月1日上午11点这个第二历史时间段对应的误差、7月1日上午9点~7月1日上午10点这个第二历史时间段对应的误差、7月1日上午8点~7月1日上午9点这个第二历史时间段对应的误差这三个误差的平均值,作为调整误差;
133.根据7月1日上午10点~7月1日上午11点这个第二历史时间段对应的误差、7月1日上午9点~7月1日上午10点这个第二历史时间段对应的误差、7月1日上午8点~7月1日上午9点这个第二历史时间段对应的误差,预测调整误差。
134.其中,根据预测的每个第二历史时间段的负载和每个第二历史时间段的实际负载,确定调整方向,包括:
135.若第一误差组中的误差之和大于第二误差组中的误差之和,则调整方向为正方向;其中,第一误差组中的误差为预测的第二历史时间段的负载大于该第二历史时间段的实际负载的第二历史时间段对应的误差;第二误差组中的误差为预测的第二历史时间段的负载小于该第二历史时间段的实际负载的第二历史时间段对应的误差;
136.若第一误差组中的误差之和小于第二误差组中的误差之和,则调整方向为负方向。
137.第一误差组中的误差就是,预测的负载减去实际的负载为正值,这个正值即为第一误差组中的误差。第二误差组中的误差就是,预测的负载减去实际的负载为负值,这个负值即为第二误差组中的误差。
138.当第一误差组中的所有误差之和大于第二误差组中的误差之和,也就是正值比较多,那么调整方向为正方向,即增加第一负载;当第一误差组中的所有误差之和小于第二误差组中的误差之和,也就是负值比较多,那么调整方向为负方向,即减小第一负载。
139.s920:若调整方向为正方向,则将调整误差和第一负载之和,作为新的第一负载;
140.s930:若调整方向为负方向,则将调整误差和第一负载之差,作为新的第一负载。
141.综上可知,结合图10所示,目前的算法是当今天的t5到来时,得知t5的实际负载,然后根据该实际负载进行资源的调整,也称为响应式伸缩。而本发明是预测式伸缩,当预测的时间段为今天的t5时,那么通过今天的t1~t4的目标用户的工作负载,预测t5的第二负载,通过前几天,day1~day5的t5时间段的工作负载,预测今天t5的第一负载,根据预测的t5的第一负载和第二负载,得到t5的负载,然后通过t5的负载得到资源的调整量。从实际上预测来看是提高了工作效率。
142.如图11所示,本发明还提供一种资源调整装置,包括:
143.第一预测模块1100,用于根据多个第一历史时间段的目标用户工作负载,预测所述预测时间段的第一负载,以及根据多个第二历史时间段的目标用户工作负载,预测所述预测时间段的第二负载;其中,所述第一历史时间段为预测时间段所属日期之前的日期的,且与所述预测时间段相同的时间段;所述第二历史时间段为与所述预测时间段所属日期相同的,在所述预测时间段之前的时间段;
144.第二预测模块1110,用于根据所述第一负载和所述第二负载,预测所述预测时间段的负载;
145.分类模块1120,用于将所述预测时间段的负载进行分类,得到所述预测时间段的资源总量,并根据所述预测时间段的资源总量,确定所述目标用户资源调整值。
146.可选的,所述第二预测模块1110,用于:
147.将所述第一负载和所述第一负载对应的权重的乘积、与所述第二负载和所述第二负载对应的权重的乘积之和,作为所述预测时间段的负载。
148.可选的,所述装置还包括:修改模块;
149.所述修改模块,用于根据每个第二历史时间段对应的多个历史时间段的负载,预测每个第二历史时间段的负载;其中,所述第二历史时间段对应的历史时间段为第二历史时间段所属日期之前的日期的,且与所述第二历史时间段相同的时间段;
150.根据预测的每个第二历史时间段的负载和每个第二历史时间段的实际负载,确定调整误差和调整方向;
151.若所述调整方向为正方向,则将所述调整误差和所述第一负载之和,作为新的第一负载;
152.若所述调整方向为负方向,则将所述调整误差和所述第一负载之差,作为新的第一负载。
153.可选的,所述修改模块,具体用于:
154.将预测的每个第二历史时间段的负载和每个第二历史时间段的实际负载之间每
个第二历史时间段对应的误差的平均值,作为调整误差;或者
155.根据预测的每个第二历史时间段的负载和每个第二历史时间段的实际负载之间每个第二历史时间段对应的误差,预测调整误差。
156.可选的,所述修改模块,具体用于:
157.若第一误差组中的误差之和大于第二误差组中的误差之和,则所述调整方向为正方向;其中,所述第一误差组中的误差为预测的第二历史时间段的负载大于该第二历史时间段的实际负载的第二历史时间段对应的误差;所述第二误差组中的误差为预测的第二历史时间段的负载小于该第二历史时间段的实际负载的第二历史时间段对应的误差;
158.若所述第一误差组中的误差之和小于第二误差组中的误差之和,则所述调整方向为负方向。
159.可选的:
160.第一预测模块1100,具体用于通过gm(1,1)灰色模型根据多个第一历史时间段的目标用户工作负载,预测所述预测时间段的第一负载;通过cnn卷积神经网络根据多个第二历史时间段的目标用户工作负载,预测所述预测时间段的第二负载;
161.分类模块1120,具体用于通过dt分类器将所述预测时间段的负载进行分类,得到所述预测时间段的资源总量。
162.另外,结合图1-图11描述的本发明实施例的资源调整方法和装置可以由服务器来实现。
163.该服务器包括:处理器和存储器;
164.处理器;
165.用于存储所述处理器可执行指令的存储器;
166.其中,所述处理器被配置为执行所述指令,以实现如上述实施例中任一项所述的资源调整方法。
167.存储器可用于存储软件程序及数据。处理器通过运行存储在存储器的软件程序或数据,从而执行服务器的各种功能以及数据处理。存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。存储器存储有使得服务器能运行的操作系统。本技术中存储器可以存储操作系统及各种应用程序,还可以存储执行本技术实施例所述方法的代码。
168.处理器是服务器的控制中心,利用各种接口和线路连接整个终端的各个部分,通过运行或执行存储在存储器内的软件程序,以及调用存储在存储器内的数据,执行服务器的各种功能和处理数据。在一些实施例中,处理器可包括一个或多个处理单元;处理器还可以集成应用处理器和基带处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,基带处理器主要处理无线通信。可以理解的是,上述基带处理器也可以不集成到处理器中。本技术中处理器可以运行操作系统、应用程序、用户界面显示及触控响应,以及本技术实施例所述的处理方法。
169.另外,结合上述实施例中的服务器,本发明实施例可提供一种存储介质,当所述存储介质中的指令由服务器的处理器执行时,使得所述服务器能够执行如上述任一项所述的资源调整方法。
170.尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造
性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
171.显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
技术特征:1.一种资源调整方法,其特征在于,包括:根据多个第一历史时间段的目标用户工作负载,预测所述预测时间段的第一负载,以及根据多个第二历史时间段的目标用户工作负载,预测所述预测时间段的第二负载;其中,所述第一历史时间段为预测时间段所属日期之前的日期的,且与所述预测时间段相同的时间段;所述第二历史时间段为与所述预测时间段所属日期相同的,在所述预测时间段之前的时间段;根据所述第一负载和所述第二负载,预测所述预测时间段的负载;将所述预测时间段的负载进行分类,得到所述预测时间段的资源总量,并根据所述预测时间段的资源总量,确定所述目标用户资源调整值。2.根据权利要求1所述的资源调整方法,其特征在于,根据所述第一负载和所述第二负载,预测所述预测时间段的负载,包括:将所述第一负载和所述第一负载对应的权重的乘积、与所述第二负载和所述第二负载对应的权重的乘积之和,作为所述预测时间段的负载。3.根据权利要求1或2所述的资源调整方法,其特征在于,在根据所述第一负载和所述第二负载,预测所述预测时间段的负载之前,所述方法还包括:根据每个第二历史时间段对应的多个历史时间段的负载,预测每个第二历史时间段的负载;其中,所述第二历史时间段对应的历史时间段为第二历史时间段所属日期之前的日期的,且与所述第二历史时间段相同的时间段;根据预测的每个第二历史时间段的负载和每个第二历史时间段的实际负载,确定调整误差和调整方向;若所述调整方向为正方向,则将所述调整误差和所述第一负载之和,作为新的第一负载;若所述调整方向为负方向,则将所述调整误差和所述第一负载之差,作为新的第一负载。4.根据权利要求3所述的资源调整方法,其特征在于,根据预测的每个第二历史时间段的负载和每个第二历史时间段的实际负载,确定调整误差,包括:将预测的每个第二历史时间段的负载和每个第二历史时间段的实际负载之间每个第二历史时间段对应的误差的平均值,作为调整误差;或者根据预测的每个第二历史时间段的负载和每个第二历史时间段的实际负载之间每个第二历史时间段对应的误差,预测调整误差。5.根据权利要求3所述的资源调整方法,其特征在于,根据预测的每个第二历史时间段的负载和每个第二历史时间段的实际负载,确定调整方向,包括:若第一误差组中的误差之和大于第二误差组中的误差之和,则所述调整方向为正方向;其中,所述第一误差组中的误差为预测的第二历史时间段的负载大于该第二历史时间段的实际负载的第二历史时间段对应的误差;所述第二误差组中的误差为预测的第二历史时间段的负载小于该第二历史时间段的实际负载的第二历史时间段对应的误差;若所述第一误差组中的误差之和小于第二误差组中的误差之和,则所述调整方向为负方向。6.根据权利要求1所述的资源调整方法,其特征在于:
根据多个第一历史时间段的目标用户工作负载,预测所述预测时间段的第一负载,包括:通过gm(1,1)灰色模型根据多个第一历史时间段的目标用户工作负载,预测所述预测时间段的第一负载;根据多个第二历史时间段的目标用户工作负载,预测所述预测时间段的第二负载,包括:通过cnn卷积神经网络根据多个第二历史时间段的目标用户工作负载,预测所述预测时间段的第二负载;将所述预测时间段的负载进行分类,得到所述预测时间段的资源总量,包括:通过dt分类器将所述预测时间段的负载进行分类,得到所述预测时间段的资源总量。7.一种资源调整装置,其特征在于,包括:第一预测模块,用于根据多个第一历史时间段的目标用户工作负载,预测所述预测时间段的第一负载,以及根据多个第二历史时间段的目标用户工作负载,预测所述预测时间段的第二负载;其中,所述第一历史时间段为预测时间段所属日期之前的日期的,且与所述预测时间段相同的时间段;所述第二历史时间段为与所述预测时间段所属日期相同的,在所述预测时间段之前的时间段;第二预测模块,用于根据所述第一负载和所述第二负载,预测所述预测时间段的负载;分类模块,用于将所述预测时间段的负载进行分类,得到所述预测时间段的资源总量,并根据所述预测时间段的资源总量,确定所述目标用户资源调整值。8.根据权利要求7所述的资源调整装置,其特征在于,所述第二预测模块,用于:将所述第一负载和所述第一负载对应的权重的乘积、与所述第二负载和所述第二负载对应的权重的乘积之和,作为所述预测时间段的负载。9.一种服务器,其特征在于,包括:处理器和存储器;处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以实现如权利要求1至权利要求6中任一项所述的资源调整方法。10.一种存储介质,其特征在于,当所述存储介质中的指令由服务器的处理器执行时,使得所述服务器能够执行如权利要求1至权利要求6中任一项所述的资源调整方法。
技术总结本发明提供一种资源调整方法、装置、服务器及存储介质,涉及云计算技术领域,该方法包括:根据多个第一历史时间段的目标用户工作负载,预测预测时间段的第一负载,以及根据多个第二历史时间段的目标用户工作负载,预测预测时间段的第二负载;根据第一负载和第二负载,预测预测时间段的负载;将预测时间段的负载进行分类,得到预测时间段的资源总量,并根据预测时间段的资源总量,确定目标用户资源调整值。本发明实施例提供能够通过不同日期的历史工作负载和通过相同日期不同时间段的历史工作负载,预测负载,然后通过负载来确定目标用户资源调整值,不仅提高了预测准确率,还提高了工作效率。了工作效率。了工作效率。
技术研发人员:石泽涛
受保护的技术使用者:天翼云科技有限公司
技术研发日:2022.07.20
技术公布日:2022/11/1