修正资源预测误差的方法和装置与流程

文档序号:13143166阅读:252来源:国知局
技术领域本发明实施例涉及计算机技术,尤其涉及一种修正资源预测误差的方法和装置。

背景技术:
云计算技术的不断发展,使得云计算服务提供系统快速发展。应用开发者向云计算服务提供系统购买云计算服务,由云计算服务提供系统给应用分配运行应用所需的各种计算资源,并在应用运行过程中保证应用的服务等级协议(ServiceLevelAgreement,简称SLA)。其中,应用的SLA由应用开发者与云计算服务提供系统在签订服务合同时约定,是应用的一些性能指标的阈值,如果云计算服务提供系统不能保证应用的SLA,就需要根据服务合同向应用开发者支付很多赔偿。目前,云计算服务提供系统为应用分配资源共有三种资源分配的方式,分别是静态分配、基于应用实际的工作负载或资源用量动态分配、基于对应用未来的工作负载或资源用量的预测动态分配。由于云计算环境中,应用运行过程中应用的工作负载或资源用量的波动较大以及云计算服务系统给应用增加资源需要一定时间,所以,近年来基于对应用的未来工作负载或资源用量的预测动态进行资源分配成为研究热点。其中,对应用未来的工作负载或资源用量进行预测的技术称为资源预测。然而,所有预测技术都存在预测误差,该预测误差等于预测值减去实际值,其中,预测误差分为低估误差和高估误差;低估误差指预测值小于实际值时的预测误差,即小于0的预测误差;高估误差指预测值大于实际值时的预测误差,即大于0的预测误差。在一个应用的运行过程中,这两种预测误差一般都会出现,如果出现低估误差,云计算服务提供系统给应用分配的资源会少于应用实际所需的资源,云计算服务提供系统可能会违反应用的SLA,从而必须向应用开发者支付很多赔偿;如果出现高估误差,云计算服务提供系统给应用分配的资源会多于应用实际所需的资源,造成资源浪费,从而增加运营成本(比如,服务器运行耗电)。因此两种资源预测误差都会导致云计算服务提供系统的运营成本增加,相比而言低估误差的影响更大。因此,资源预测低估误差的修正就更加重要。由于低估误差通常由应用的突发的工作负载或突发的资源用量导致,并且与应用近期的预测误差相关,因此为了修正资源预测的低估误差,现有技术基于应用近期的工作负载或近期的资源用量的突发情况和该应用近期的预测误差,在线计算补偿值。但是,现有技术在修正低估误差时所计算出来的补偿值往往高出实际所需的补偿值,即预测值加上补偿值往往大于实际值,从而导致增加很多高估误差,从而造成很多资源浪费,增加了云计算服务提供系统的运营成本。

技术实现要素:
本发明实施例提供一种修正资源预测误差的方法和装置,用以解决现有技术中在修正低估误差时带来较多的高估误差,造成计算资源浪费的技术问题。第一方面,本发明实施例提供一种修正资源预测误差的方法,适用于云计算服务提供系统,所述方法包括:根据第一历史应用数据对应的第一序列,预测应用的第一应用数据,获得第一预测值;其中,所述第一历史应用数据包括所述应用在第一预设窗口内的第一工作负载历史数据或所述第一预设窗口内的第一资源用量历史数据;所述第一应用数据包括所述应用在下一时刻的第一工作负载或下一时刻的第一资源用量;所述第一预设窗口为距当前时刻最近的长度为W1的时间窗口,且所述第一预设窗口中的时刻位于当前时刻之前;根据第二历史应用数据对应的第二序列,确定所述第一预测值的第一补偿值;其中,所述第二历史应用数据包括所述应用在第二预设窗口内的第二工作负载历史数据或所述第二预设窗口内的第二资源用量历史数据;所述第二预设窗口为距所述当前时刻最近的长度为W2的时间窗口,且所述第二预设窗口中的时刻位于当前时刻之前;根据第三历史应用数据,获取特征序列;其中,所述特征序列用于预测所述第一应用数据的取值范围;其中,所述取值范围包括所述第一应用数据的最大预测值和所述第一应用数据的最小预测值;所述第三历史应用数据包括所述应用在第三预设窗口内的第三工作负载历史数据或所述第三预设窗口内的第三资源用量历史数据,和/或,所述第三预设窗口内的资源预测误差历史数据中的至少一种信息;所述第三预设窗口为距所述当前时刻最近的长度为W3的时间窗口,且所述第三预设窗口中的时刻位于当前时刻之前;根据预设的置信度和所述特征序列,确定所述取值范围;其中,所述特征序列为一个或多个;根据所述第一预测值、所述第一补偿值和所述取值范围,获得第二预测值,并根据所述第二预测值为所述应用分配下一时刻的资源。结合第一方面,在第一方面的第一种可能的实施方式中,所述根据所述第一预测值、所述第一补偿值和所述取值范围,获得第二预测值,包括:根据所述第一预测值、所述第一补偿值和所述取值范围,对所述第一补偿值进行修正,获得第二补偿值;将所述第一预测值和所述第二补偿值的和作为所述第二预测值。结合第一方面的第一种可能的实施方式,在第一方面的第二种可能的实施方式中,根据所述第一预测值、所述第一补偿值和所述取值范围,对所述第一补偿值进行修正,获得第二补偿值,包括:判断所述第一预测值是否大于所述第一应用数据的最大预测值;若是,则确定所述第二补偿值为0;若否,则判断所述第一预测值是否小于所述第一应用数据的最小预测值;若是,则进一步判断所述第一预测值与所述第一补偿值的和是否大于所述最大预测值;若是,则确定所述第二补偿值为所述第一应用数据的最大预测值减去所述第一预测值的差值,若否,则进一步判断第一预测值与所述第一补偿值的和是否小于所述第一应用数据的最小预测值;若是,则确定第二补偿值为所述第一应用数据的最小预测值减去所述第一预测值的差值,若否,则确定第二补偿值为所述第一补偿值。结合第一方面的第二种可能的实施方式,在第一方面的第三种可能的实施方式中,所述判断所述第一预测值是否小于所述第一应用数据的最小预测值,还包括:若否,则进一步判断所述第一预测值与所述第一补偿值的和是否大于所述第一应用数据的最大预测值;若是,则确定第二补偿值为所述第一应用数据的最大预测值减去第一预测值的差值;若否,则确定第二补偿值为第一补偿值。结合第一方面,在第一方面的第四种可能的实施方式中,根据所述第一预测值、所述第一补偿值和所述取值范围,获得第二预测值,包括:将所述第一预测值与所述第一补偿值的和确定为第三预测值;判断所述第三预测值是否小于所述第一应用数据的最小预测值;若是,则确定所述第二预测值为所述第一应用数据的最小预测值;若否,则进一步判断所述第三预测值是否大于所述第一应用数据的最大预测值,若是,则确定所述第二预测值为所述第一应用数据的最大预测值,若否,则确定所述第二预测值为第三预测值。结合第一方面至第一方面的第四种可能的实施方式中的任一项,在第一方面的第五种可能的实施方式中,当所述特征序列为一个时,则所述根据预设的置信度和所述特征序列,确定所述取值范围,包括:将所述特征序列中的元素按照从小到大的顺序进行排序;根据排序后的特征序列确定第一元素的特征值,并根据所述第一元素的特征值确定所述取值范围;其中,所述第一元素在所述排序后的特征序列中的位置等于所述置信度与所述W3的乘积。结合第一方面至第一方面的第四种可能的实施方式中的任一项,在第一方面的第六种可能的实施方式中,当所述特征序列为多个时,则所述根据预设的置信度和所述特征序列,确定所述取值范围,包括:根据每个所述特征序列分别确定第一取值范围;每个所述第一取值范围包括所述第一应用数据的第一最大预测值和所述第一应用数据的第一最小预测值;将各个所述第一取值范围中的第一最大预测值和第一最小预测值进行第一处理,得到所述取值范围;其中,所述第一处理包括:取极值处理、平均处理、加权平均处理中的任一处理;所述取极值处理,用于将所有第一最大预测值进行比较以及将所有第一最小预测值进行比较,将最大的所述第一最大预测值作为所述第一应用数据的最大预测值,将最小的所述第一最小预测值作为所述第一应用数据的最小预测值;所述平均处理,用于将所有第一最大预测值进行平均,得到第一平均最大预测值,并用于将所有第一最小预测值进行平均,得到第一平均最小预测值,并将所述第一平均最大预测值作为所述第一应用数据的最大预测值,以及将第一平均最小预测值作为所述第一应用数据的最小预测值;所述加权平均处理,用于将所有第一最大预测值进行加权平均,得到第二平均最大预测值,并用于将所有第一最小预测值进行加权平均,得到第二平均最小预测值,并将所述第二平均最大预测值作为所述第一应用数据的最大预测值,以及将第二平均最小预测值作为所述第一应用数据的最小预测值。结合第一方面至第一方面的第六种可能的实施方式中的任一项,在第一方面的第七种可能的实施方式中,若所述第三历史应用数据为所述第三工作负载历史数据或所述第三资源用量历史数据;则所述根据第三历史应用数据,获取特征序列,具体包括:根据所述第三历史应用数据,确定第三序列为{L(t-W3+1),...,L(t)
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1