首页 > 专利 > 华为软件技术有限公司 > 修正资源预测误差的方法和装置专利详情

修正资源预测误差的方法和装置   0    0

有效专利 查看PDF
专利申请流程有哪些步骤?
专利申请流程图
申请
申请号:指国家知识产权局受理一件专利申请时给予该专利申请的一个标示号码。唯一性原则。
申请日:提出专利申请之日。
2015-01-27
申请公布
申请公布指发明专利申请经初步审查合格后,自申请日(或优先权日)起18个月期满时的公布或根据申请人的请求提前进行的公布。
申请公布号:专利申请过程中,在尚未取得专利授权之前,国家专利局《专利公报》公开专利时的编号。
申请公布日:申请公开的日期,即在专利公报上予以公开的日期。
2017-01-11
授权
授权指对发明专利申请经实质审查没有发现驳回理由,授予发明专利权;或对实用新型或外观设计专利申请经初步审查没有发现驳回理由,授予实用新型专利权或外观设计专利权。
2019-05-28
预估到期
发明专利权的期限为二十年,实用新型专利权期限为十年,外观设计专利权期限为十五年,均自申请日起计算。专利届满后法律终止保护。
2035-01-27
基本信息
有效性 有效专利 专利类型 发明专利
申请号 CN201510041903.9 申请日 2015-01-27
公开/公告号 CN105991667B 公开/公告日 2019-05-28
授权日 2019-05-28 预估到期日 2035-01-27
申请年 2015年 公开/公告年 2019年
缴费截止日
分类号 H04L29/08 主分类号 H04L29/08
是否联合申请 独立申请 文献类型号 B
独权数量 1 从权数量 21
权利要求数量 22 非专利引证数量 0
引用专利数量 5 被引证专利数量 0
非专利引证
引用专利 CN102004671A、CN102104496A、CN102801792A、CN103067524A、CN103442070A 被引证专利
专利权维持 5 专利申请国编码 CN
专利事件 转让 事务标签 公开、实质审查、授权、权利转移
申请人信息
申请人 第一申请人
专利权人 华为软件技术有限公司 当前专利权人 华为技术有限公司
发明人 张园园、石腾 第一发明人 张园园
地址 江苏省南京市雨花台区安德门94号 邮编 210012
申请人数量 1 发明人数量 2
申请人所在省 江苏省 申请人所在市 江苏省南京市
代理人信息
代理机构
专利代理机构是经省专利管理局审核,国家知识产权局批准设立,可以接受委托人的委托,在委托权限范围内以委托人的名义办理专利申请或其他专利事务的服务机构。
北京同立钧成知识产权代理有限公司 代理人
专利代理师是代理他人进行专利申请和办理其他专利事务,取得一定资格的人。
杨文娟、黄健
摘要
本发明实施例提供一种修正资源预测误差的方法和装置。该方法包括:根据第一历史应用数据对应的第一序列,预测应用的第一应用数据,获得第一预测值;根据第二历史应用数据对应的第二序列,确定所述第一预测值的第一补偿值;根据第三历史应用数据,获取特征序列;根据预设的置信度和所述特征序列,确定所述取值范围;根据所述第一预测值、所述第一补偿值和所述取值范围,获得第二预测值,并根据所述第二预测值为所述应用分配下一时刻的资源。本发明实施例可以在修正低估误差的同时,大大降低了资源分配时因高估误差导致的计算资源的浪费,从而减小云计算服务提供系统的运营成本。
  • 摘要附图
    修正资源预测误差的方法和装置
  • 说明书附图:图1
    修正资源预测误差的方法和装置
  • 说明书附图:图2
    修正资源预测误差的方法和装置
  • 说明书附图:图3
    修正资源预测误差的方法和装置
  • 说明书附图:图4
    修正资源预测误差的方法和装置
  • 说明书附图:图5
    修正资源预测误差的方法和装置
  • 说明书附图:图6
    修正资源预测误差的方法和装置
  • 说明书附图:图7
    修正资源预测误差的方法和装置
  • 说明书附图:图8
    修正资源预测误差的方法和装置
  • 说明书附图:图9
    修正资源预测误差的方法和装置
  • 说明书附图:图10
    修正资源预测误差的方法和装置
  • 说明书附图:图11
    修正资源预测误差的方法和装置
  • 说明书附图:图12
    修正资源预测误差的方法和装置
法律状态
序号 法律状态公告日 法律状态 法律状态信息
1 2020-03-13 专利权的转移 登记生效日: 2020.02.25 专利权人由华为软件技术有限公司变更为华为技术有限公司 地址由210012 江苏省南京市雨花台区安德门94号变更为518129 广东省深圳市龙岗区坂田华为总部办公楼
2 2019-05-28 授权
3 2017-01-11 实质审查的生效 IPC(主分类): H04L 29/08 专利申请号: 201510041903.9 申请日: 2015.01.27
4 2016-10-05 公开
权利要求
权利要求书是申请文件最核心的部分,是申请人向国家申请保护他的发明创造及划定保护范围的文件。
1.一种修正资源预测误差的方法,适用于云计算服务提供系统,其特征在于,所述方法包括:
根据第一历史应用数据对应的第一序列,预测应用的第一应用数据,获得第一预测值;
其中,所述第一历史应用数据包括所述应用在第一预设窗口内的第一工作负载历史数据或所述第一预设窗口内的第一资源用量历史数据;所述第一应用数据包括所述应用在下一时刻的第一工作负载或下一时刻的第一资源用量;所述第一预设窗口为距当前时刻最近的长度为W1的时间窗口,且所述第一预设窗口中的时刻位于当前时刻之前;
根据第二历史应用数据对应的第二序列,确定所述第一预测值的第一补偿值;其中,所述第二历史应用数据包括所述应用在第二预设窗口内的第二工作负载历史数据或所述第二预设窗口内的第二资源用量历史数据;所述第二预设窗口为距所述当前时刻最近的长度为W2的时间窗口,且所述第二预设窗口中的时刻位于当前时刻之前;
根据第三历史应用数据,获取特征序列;其中,所述特征序列用于预测所述第一应用数据的取值范围;其中,所述取值范围包括所述第一应用数据的最大预测值和所述第一应用数据的最小预测值;所述第三历史应用数据包括所述应用在第三预设窗口内的第三工作负载历史数据或所述第三预设窗口内的第三资源用量历史数据,和/或,所述第三预设窗口内的资源预测误差历史数据中的至少一种信息;所述第三预设窗口为距所述当前时刻最近的长度为W3的时间窗口,且所述第三预设窗口中的时刻位于当前时刻之前;
根据预设的置信度和所述特征序列,确定所述取值范围;其中,所述特征序列为一个或多个;
根据所述第一预测值、所述第一补偿值和所述取值范围,获得第二预测值,并根据所述第二预测值为所述应用分配下一时刻的资源。

2.根据权利要求1所述的方法,其特征在于,所述根据所述第一预测值、所述第一补偿值和所述取值范围,获得第二预测值,包括:
根据所述第一预测值、所述第一补偿值和所述取值范围,对所述第一补偿值进行修正,获得第二补偿值;
将所述第一预测值和所述第二补偿值的和作为所述第二预测值。

3.根据权利要求2所述的方法,其特征在于,根据所述第一预测值、所述第一补偿值和所述取值范围,对所述第一补偿值进行修正,获得第二补偿值,包括:
判断所述第一预测值是否大于所述第一应用数据的最大预测值;
若是,则确定所述第二补偿值为0;
若否,则判断所述第一预测值是否小于所述第一应用数据的最小预测值;若是,则进一步判断所述第一预测值与所述第一补偿值的和是否大于所述最大预测值;若是,则确定所述第二补偿值为所述第一应用数据的最大预测值减去所述第一预测值的差值,若否,则进一步判断第一预测值与所述第一补偿值的和是否小于所述第一应用数据的最小预测值;若是,则确定第二补偿值为所述第一应用数据的最小预测值减去所述第一预测值的差值,若否,则确定第二补偿值为所述第一补偿值。

4.根据权利要求3所述的方法,其特征在于,所述判断所述第一预测值是否小于所述第一应用数据的最小预测值,还包括:
若否,则进一步判断所述第一预测值与所述第一补偿值的和是否大于所述第一应用数据的最大预测值;若是,则确定第二补偿值为所述第一应用数据的最大预测值减去第一预测值的差值;若否,则确定第二补偿值为第一补偿值。

5.根据权利要求1所述的方法,其特征在于,根据所述第一预测值、所述第一补偿值和所述取值范围,获得第二预测值,包括:
将所述第一预测值与所述第一补偿值的和确定为第三预测值;
判断所述第三预测值是否小于所述第一应用数据的最小预测值;
若是,则确定所述第二预测值为所述第一应用数据的最小预测值;若否,则进一步判断所述第三预测值是否大于所述第一应用数据的最大预测值,若是,则确定所述第二预测值为所述第一应用数据的最大预测值,若否,则确定所述第二预测值为第三预测值。

6.根据权利要求1-5任一项所述的方法,其特征在于,当所述特征序列为一个时,则所述根据预设的置信度和所述特征序列,确定所述取值范围,包括:
将所述特征序列中的元素按照从小到大的顺序进行排序;
根据排序后的特征序列确定第一元素的特征值,并根据所述第一元素的特征值确定所述取值范围;其中,所述第一元素在所述排序后的特征序列中的位置等于所述置信度与所述W3的乘积。

7.根据权利要求1-5任一项所述的方法,其特征在于,当所述特征序列为多个时,则所述根据预设的置信度和所述特征序列,确定所述取值范围,包括:
根据每个所述特征序列分别确定第一取值范围;每个所述第一取值范围包括所述第一应用数据的第一最大预测值和所述第一应用数据的第一最小预测值;
将各个所述第一取值范围中的第一最大预测值和第一最小预测值进行第一处理,得到所述取值范围;其中,所述第一处理包括:取极值处理、平均处理、加权平均处理中的任一处理;
所述取极值处理,用于将所有第一最大预测值进行比较以及将所有第一最小预测值进行比较,将最大的所述第一最大预测值作为所述第一应用数据的最大预测值,将最小的所述第一最小预测值作为所述第一应用数据的最小预测值;所述平均处理,用于将所有第一最大预测值进行平均,得到第一平均最大预测值,并用于将所有第一最小预测值进行平均,得到第一平均最小预测值,并将所述第一平均最大预测值作为所述第一应用数据的最大预测值,以及将第一平均最小预测值作为所述第一应用数据的最小预测值;所述加权平均处理,用于将所有第一最大预测值进行加权平均,得到第二平均最大预测值,并用于将所有第一最小预测值进行加权平均,得到第二平均最小预测值,并将所述第二平均最大预测值作为所述第一应用数据的最大预测值,以及将第二平均最小预测值作为所述第一应用数据的最小预测值。

8.根据权利要求1-5任一项所述的方法,其特征在于,若所述第三历史应用数据为所述第三工作负载历史数据或所述第三资源用量历史数据;则所述根据第三历史应用数据,获取特征序列,具体包括:
根据所述第三历史应用数据,确定第三序列为{L(t-W3+1),...,L(t)};其中,所述L(t)为t时刻的第三历史应用数据的实际值,所述L(t-W3+1)为(t-W3+1)时刻的第三历史应用数据的实际值;
根据Feature1(t)=|L(t)-L(t-1)|和所述第三序列,确定变化率序列为{Feature1(t-W3+2),...,Feature1(t)};和/或,根据 和所述第三序列,确定波
动率序列为{Feature2(t-W3+2),...,Feature2(t)};其中,所述Feature1(t)为t时刻的第三历史应用数据的变化率,所述Feature1(t-W3+2)为(t-W3+2)时刻的第三历史应用数据的变化率,所述L(t-1)为t-1时刻的第三历史应用数据的实际值;所述Feature2(t)为t时刻的第三历史应用数据的波动率,所述Feature2(t-W3+2)为(t-W3+2)时刻的第三历史应用数据的变化率;所述特征序列包括所述变化率序列、所述波动率序列中的至少一个序列。

9.根据权利要求1-5任一项所述的方法,其特征在于,若所述第三历史应用数据为所述第三预设窗口内的资源预测误差历史数据;则所述根据第三历史应用数据,获取特征序列,具体包括:
根据所述第三历史应用数据,确定第四序列为{E(t-W3+1),...,E(t)},并根据Feature3(t)=|E(t)|和所述第四序列,确定绝对误差序列为{Feature3(t-W3+2),...,Feature3(t)};其中,所述E(t)为t时刻的资源预测误差,所述E(t-W3+1)为(t-W3+1)时刻的资源预测误差,所述Feature3(t)为t时刻的资源预测误差的变化率,所述Feature3(t-W3+2)为(t-W3+
2)时刻的资源预测误差的变化率;
和/或,
根据所述第三历史应用数据,确定第四序列为{E(t-W3+1),...,E(t)},并根据第四预设窗口内的第四历史应用数据,确定第五序列为{L(t-W4+1),...,L(t)},并根据所述第四序列和所述第五序列,确定弹性偏差率序列为{Feature4(t-
W3+2),...,Feature4(t)};其中,所述E(t)为t时刻的资源预测误差,所述E(t-W3+1)为(t-W3+1)时刻的资源预测误差;所述第四历史应用数据包括所述应用在第四预设窗口内的第四工作负载历史数据或所述第四预设窗口内的第四资源用量历史数据,所述第四预设窗口为距当前时刻最近的长度为W4的时间窗口,且所述第四预设窗口中的时刻位于当前时刻之前,所述L(t)为t时刻的第四历史应用数据的实际值,所述L(t-W4+1)为(t-W4+1)时刻的第四历史应用数据的实际值;所述Feature4(t)为t时刻的资源预测误差的弹性偏差率,所述Feature4(t-W3+2)为(t-W3+2)时刻的资源预测误差的弹性偏差率;所述特征序列包括所述绝对误差序列、所述弹性偏差率序列中的至少一个。

10.根据权利要求8所述的方法,其特征在于,若所述第三历史应用数据为所述第三工作负载历史数据或所述第三资源用量历史数据,和,所述资源预测误差历史数据,则所述根据第三历史应用数据,获取特征序列,还包括:
根据所述第三历史应用数据,确定第四序列为{E(t-W3+1),...,E(t)},并根据Feature3(t)=|E(t)|和所述第四序列,确定绝对误差序列为{Feature3(t-W3+2),...,Feature3(t)};其中,所述E(t)为t时刻的资源预测误差,所述E(t-W3+1)为(t-W3+1)时刻的资源预测误差,所述Feature3(t)为t时刻的资源预测误差的变化率,所述Feature3(t-W3+2)为(t-W3+
2)时刻的资源预测误差的变化率;
和/或,
根据所述第三历史应用数据,确定第四序列为{E(t-W3+1),...,E(t)},并根据第四预设窗口内的第四历史应用数据,确定第五序列为{L(t-W4+1),...,L(t)},并根据所述第四序列和所述第五序列,确定弹性偏差率序列为{Feature4(t-
W3+2),...,Feature4(t)};其中,所述E(t)为t时刻的资源预测误差,所述E(t-W3+1)为(t-W3+1)时刻的资源预测误差;所述第四历史应用数据包括所述应用在第四预设窗口内的第四工作负载历史数据或所述第四预设窗口内的第四资源用量历史数据,所述第四预设窗口为距当前时刻最近的长度为W4的时间窗口,且所述第四预设窗口中的时刻位于当前时刻之前,所述L(t)为t时刻的第四历史应用数据的实际值,所述L(t-W4+1)为(t-W4+1)时刻的第四历史应用数据的实际值;所述Feature4(t)为t时刻的资源预测误差的弹性偏差率,所述Feature4(t-W3+2)为(t-W3+2)时刻的资源预测误差的弹性偏差率;所述特征序列包括所述变化率序列和所述变化率序列中的至少一个,以及,绝对误差序列和弹性偏差率序列中的至少一个。

11.根据权利要求1-5任一项所述的方法,其特征在于,当所述第一历史应用数据为所述第一工作负载历史数据时,则所述第一应用数据为所述第一工作负载,所述第二历史应用数据为所述第二工作负载历史数据,所述第一预测值为所述第一工作负载的预测值;
当所述第一历史应用数据为所述第一工作负载历史数据时,则所述第一应用数据为所述第一资源用量,所述第二历史应用数据为所述第二资源用量历史数据,所述第一预测值为所述第一资源用量的预测值。

12.一种修正资源预测误差的装置,适用于云计算服务提供系统,其特征在于,所述装置包括:
第一获取模块,用于根据第一历史应用数据对应的第一序列,预测应用的第一应用数据,获得第一预测值;其中,所述第一历史应用数据包括所述应用在第一预设窗口内的第一工作负载历史数据或所述第一预设窗口内的第一资源用量历史数据;所述第一应用数据包括所述应用在下一时刻的第一工作负载或下一时刻的第一资源用量;所述第一预设窗口为距当前时刻最近的长度为W1的时间窗口,且所述第一预设窗口中的时刻位于当前时刻之前;
第一确定模块,用于根据第二历史应用数据对应的第二序列,确定所述第一预测值的第一补偿值;其中,所述第二历史应用数据包括所述应用在第二预设窗口内的第二工作负载历史数据或所述第二预设窗口内的第二资源用量历史数据;所述第二预设窗口为距所述当前时刻最近的长度为W2的时间窗口,且所述第二预设窗口中的时刻位于当前时刻之前;
第二获取模块,用于根据第三历史应用数据,获取特征序列;其中,所述特征序列用于预测所述第一应用数据的取值范围;其中,所述取值范围包括所述第一应用数据的最大预测值和所述第一应用数据的最小预测值;所述第三历史应用数据包括所述应用在第三预设窗口内的第三工作负载历史数据或所述第三预设窗口内的第三资源用量历史数据,和/或,所述第三预设窗口内的资源预测误差历史数据中的至少一种信息;所述第三预设窗口为距所述当前时刻最近的长度为W3的时间窗口,且所述第三预设窗口中的时刻位于当前时刻之前;
第二确定模块,用于根据预设的置信度和所述特征序列,确定所述取值范围;其中,所述特征序列为一个或多个;
处理模块,用于根据所述第一预测值、所述第一补偿值和所述取值范围,获得第二预测值,并根据所述第二预测值为所述应用分配下一时刻的资源。

13.根据权利要求12所述的装置,其特征在于,所述处理模块,具体用于根据所述第一预测值、所述第一补偿值和所述取值范围,对所述第一补偿值进行修正,获得第二补偿值,并将所述第一预测值和所述第二补偿值的和作为所述第二预测值。

14.根据权利要求13所述的装置,其特征在于,所述处理模块,具体用于判断所述第一预测值是否大于所述第一应用数据的最大预测值;若判断所述第一预测值大于所述第一应用数据的最大预测值,则确定所述第二补偿值为0;若判断所述第一预测值小于所述第一应用数据的最大预测值,则所述处理模块进一步判断所述第一预测值是否小于所述第一应用数据的最小预测值;
若判断所述第一预测值小于所述第一应用数据的最小预测值,则进一步判断所述第一预测值与所述第一补偿值的和是否大于所述最大预测值;若判断所述第一预测值与所述第一补偿值的和大于所述最大预测值,则确定所述第二补偿值为所述第一应用数据的最大预测值减去所述第一预测值的差值,若判断所述第一预测值与所述第一补偿值的和小于所述最大预测值,则所述处理模块进一步判断第一预测值与所述第一补偿值的和是否小于所述第一应用数据的最小预测值;若判断第一预测值与所述第一补偿值的和小于所述第一应用数据的最小预测值,则确定第二补偿值为所述第一应用数据的最小预测值减去所述第一预测值的差值,若判断第一预测值与所述第一补偿值的和大于所述第一应用数据的最小预测值,则确定第二补偿值为所述第一补偿值。

15.根据权利要求14所述的装置,其特征在于,所述处理模块,还用于当判断所述第一预测值大于所述第一应用数据的最小预测值时,进一步判断所述第一预测值与所述第一补偿值的和是否大于所述第一应用数据的最大预测值;若判断所述第一预测值与所述第一补偿值的和大于所述第一应用数据的最大预测值,则确定第二补偿值为所述第一应用数据的最大预测值减去第一预测值的差值;若判断所述第一预测值与所述第一补偿值的和小于所述第一应用数据的最大预测值,则确定第二补偿值为第一补偿值。

16.根据权利要求12所述的装置,其特征在于,所述处理模块,具体用于将所述第一预测值与所述第一补偿值的和确定为第三预测值,并判断所述第三预测值是否小于所述第一应用数据的最小预测值;若判断所述第三预测值小于所述第一应用数据的最小预测值,则确定所述第二预测值为所述第一应用数据的最小预测值;若判断所述第三预测值大于所述第一应用数据的最小预测值,则进一步判断所述第三预测值是否大于所述第一应用数据的最大预测值,若是,则确定所述第二预测值为所述第一应用数据的最大预测值,若否,则确定所述第二预测值为第三预测值。

17.根据权利要求12-16任一项所述的装置,其特征在于,当所述特征序列为一个时,则所述第二确定模块,具体用于将所述特征序列中的元素按照从小到大的顺序进行排序,并根据排序后的特征序列确定第一元素的特征值,并根据所述第一元素的特征值确定所述取值范围;其中,所述第一元素在所述排序后的特征序列中的位置等于所述置信度与所述W3的乘积。

18.根据权利要求12-16任一项所述的装置,其特征在于,当所述特征序列为多个时,则所述第二确定模块,具体用于根据每个所述特征序列分别确定第一取值范围,并将各个所述第一取值范围中的第一最大预测值和第一最小预测值进行第一处理,得到所述取值范围;其中,每个所述第一取值范围包括所述第一应用数据的第一最大预测值和所述第一应用数据的第一最小预测值;所述第一处理包括:取极值处理、平均处理、加权平均处理中的任一处理;
所述取极值处理,用于将所有第一最大预测值进行比较以及将所有第一最小预测值进行比较,将最大的所述第一最大预测值作为所述第一应用数据的最大预测值,将最小的所述第一最小预测值作为所述第一应用数据的最小预测值;所述平均处理,用于将所有第一最大预测值进行平均,得到第一平均最大预测值,并用于将所有第一最小预测值进行平均,得到第一平均最小预测值,并将所述第一平均最大预测值作为所述第一应用数据的最大预测值,以及将第一平均最小预测值作为所述第一应用数据的最小预测值;所述加权平均处理,用于将所有第一最大预测值进行加权平均,得到第二平均最大预测值,并用于将所有第一最小预测值进行加权平均,得到第二平均最小预测值,并将所述第二平均最大预测值作为所述第一应用数据的最大预测值,以及将第二平均最小预测值作为所述第一应用数据的最小预测值。

19.根据权利要求12-16任一项所述的装置,其特征在于,若所述第三历史应用数据为所述第三工作负载历史数据或所述第三资源用量历史数据;则所述第二获取模块,具体包括:
第一获取单元,用于根据所述第三历史应用数据,确定第三序列为{L(t-W3+1),...,L(t)};其中,所述L(t)为t时刻的第三历史应用数据的实际值,所述L(t-W3+1)为(t-W3+1)时刻的第三历史应用数据的实际值;
第一确定单元,用于根据Feature1(t)=|L(t)-L(t-1)|和所述第三序列,确定变化率序列为{Feature1(t-W3+2),...,Feature1(t)};和/或,用于根据
和所述第三序列,确定波动率序列为{Feature2(t-W3+2),...,Feature2(t)};其中,所述Feature1(t)为t时刻的第三历史应用数据的变化率,所述Feature1(t-W3+2)为(t-W3+2)时刻的第三历史应用数据的变化率,所述L(t-1)为t-1时刻的第三历史应用数据的实际值;所述Feature2(t)为t时刻的第三历史应用数据的波动率,所述Feature2(t-W3+2)为(t-W3+2)时刻的第三历史应用数据的变化率;所述特征序列包括所述变化率序列、所述波动率序列中的至少一个序列。

20.根据权利要求12-16任一项所述的装置,其特征在于,若所述第三历史应用数据为所述第三预设窗口内的资源预测误差历史数据,则所述第二获取模块,包括:
第二确定单元,用于根据所述第三历史应用数据,确定第四序列为{E(t-W3+1),...,E(t)},并根据Feature3(t)=|E(t)|和所述第四序列,确定绝对误差序列为{Feature3(t-W3+
2),...,Feature3(t)};其中,所述E(t)为t时刻的资源预测误差,所述E(t-W3+1)为(t-W3+
1)时刻的资源预测误差,所述Feature3(t)为t时刻的资源预测误差的变化率,所述Feature3(t-W3+2)为(t-W3+2)时刻的资源预测误差的变化率;
和/或,
第三确定单元,用于根据所述第三历史应用数据,确定第四序列为{E(t-W3+1),...,E(t)},并根据第四预设窗口内的第四历史应用数据,确定第五序列为{L(t-W4+1),...,L(t)},并根据 所述第四序列和所述第五序列,确定弹性偏差率序列为
{Feature4(t-W3+2),...,Feature4(t)};其中,所述E(t)为t时刻的资源预测误差,所述E(t-W3+1)为(t-W3+1)时刻的资源预测误差;所述第四历史应用数据包括所述应用在第四预设窗口内的第四工作负载历史数据或所述第四预设窗口内的第四资源用量历史数据,所述第四预设窗口为距当前时刻最近的长度为W4的时间窗口,且所述第四预设窗口中的时刻位于当前时刻之前,所述L(t)为t时刻的第四历史应用数据的实际值,所述L(t-W4+1)为(t-W4+
1)时刻的第四历史应用数据的实际值;所述Feature4(t)为t时刻的资源预测误差的弹性偏差率,所述Feature4(t-W3+2)为(t-W3+2)时刻的资源预测误差的弹性偏差率;所述特征序列包括所述绝对误差序列、所述弹性偏差率序列中的至少一个。

21.根据权利要求19所述的装置,其特征在于,若所述第三历史应用数据为所述第三工作负载历史数据或所述第三资源用量历史数据,和,所述资源预测误差历史数据,则所述第二获取模块,还包括:
第二确定单元,用于根据所述第三历史应用数据,确定第四序列为{E(t-W3+1),...,E(t)},并根据Feature3(t)=|E(t)|和所述第四序列,确定绝对误差序列为{Feature3(t-W3+
2),...,Feature3(t)};其中,其中,所述E(t)为t时刻的资源预测误差,所述E(t-W3+1)为(t-W3+1)时刻的资源预测误差,所述Feature3(t)为t时刻的资源预测误差的变化率,所述Feature3(t-W3+2)为(t-W3+2)时刻的资源预测误差的变化率;
和/或,
第三确定单元,用于根据所述第三历史应用数据,确定第四序列为{E(t-W3+1),...,E(t)},并根据第四预设窗口内的第四历史应用数据,确定第五序列为{L(t-W4+1),...,L(t)},并根据 所述第四序列和所述第五序列,确定弹性偏差率序列为
{Feature4(t-W3+2),...,Feature4(t)};其中,所述E(t)为t时刻的资源预测误差,所述E(t-W3+1)为(t-W3+1)时刻的资源预测误差;所述第四历史应用数据包括所述应用在第四预设窗口内的第四工作负载历史数据或所述第四预设窗口内的第四资源用量历史数据,所述第四预设窗口为距当前时刻最近的长度为W4的时间窗口,且所述第四预设窗口中的时刻位于当前时刻之前,所述L(t)为t时刻的第四历史应用数据的实际值,所述L(t-W4+1)为(t-W4+
1)时刻的第四历史应用数据的实际值;所述Feature4(t)为t时刻的资源预测误差的弹性偏差率,所述Feature4(t-W3+2)为(t-W3+2)时刻的资源预测误差的弹性偏差率;所述特征序列包括所述绝对误差序列、所述弹性偏差率序列中的至少一个。

22.根据权利要求12-16任一项所述的装置,其特征在于,当所述第一历史应用数据为所述第一工作负载历史数据时,则所述第一应用数据为所述第一工作负载,所述第二历史应用数据为所述第二工作负载历史数据,所述第一预测值为所述第一工作负载的预测值;
当所述第一历史应用数据为所述第一工作负载历史数据时,则所述第一应用数据为所述第一资源用量,所述第二历史应用数据为所述第二资源用量历史数据,所述第一预测值为所述第一资源用量的预测值。
说明书

技术领域

[0001] 本发明实施例涉及计算机技术,尤其涉及一种修正资源预测误差的方法和装置。

背景技术

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

发明内容

[0006] 本发明实施例提供一种修正资源预测误差的方法和装置,用以解决现有技术中在修正低估误差时带来较多的高估误差,造成计算资源浪费的技术问题。
[0007] 第一方面,本发明实施例提供一种修正资源预测误差的方法,适用于云计算服务提供系统,所述方法包括:
[0008] 根据第一历史应用数据对应的第一序列,预测应用的第一应用数据,获得第一预测值;其中,所述第一历史应用数据包括所述应用在第一预设窗口内的第一工作负载历史数据或所述第一预设窗口内的第一资源用量历史数据;所述第一应用数据包括所述应用在下一时刻的第一工作负载或下一时刻的第一资源用量;所述第一预设窗口为距当前时刻最近的长度为W1的时间窗口,且所述第一预设窗口中的时刻位于当前时刻之前;
[0009] 根据第二历史应用数据对应的第二序列,确定所述第一预测值的第一补偿值;其中,所述第二历史应用数据包括所述应用在第二预设窗口内的第二工作负载历史数据或所述第二预设窗口内的第二资源用量历史数据;所述第二预设窗口为距所述当前时刻最近的长度为W2的时间窗口,且所述第二预设窗口中的时刻位于当前时刻之前;
[0010] 根据第三历史应用数据,获取特征序列;其中,所述特征序列用于预测所述第一应用数据的取值范围;其中,所述取值范围包括所述第一应用数据的最大预测值和所述第一应用数据的最小预测值;所述第三历史应用数据包括所述应用在第三预设窗口内的第三工作负载历史数据或所述第三预设窗口内的第三资源用量历史数据,和/或,所述第三预设窗口内的资源预测误差历史数据中的至少一种信息;所述第三预设窗口为距所述当前时刻最近的长度为W3的时间窗口,且所述第三预设窗口中的时刻位于当前时刻之前;
[0011] 根据预设的置信度和所述特征序列,确定所述取值范围;其中,所述特征序列为一个或多个;
[0012] 根据所述第一预测值、所述第一补偿值和所述取值范围,获得第二预测值,并根据所述第二预测值为所述应用分配下一时刻的资源。
[0013] 结合第一方面,在第一方面的第一种可能的实施方式中,所述根据所述第一预测值、所述第一补偿值和所述取值范围,获得第二预测值,包括:
[0014] 根据所述第一预测值、所述第一补偿值和所述取值范围,对所述第一补偿值进行修正,获得第二补偿值;
[0015] 将所述第一预测值和所述第二补偿值的和作为所述第二预测值。
[0016] 结合第一方面的第一种可能的实施方式,在第一方面的第二种可能的实施方式中,根据所述第一预测值、所述第一补偿值和所述取值范围,对所述第一补偿值进行修正,获得第二补偿值,包括:
[0017] 判断所述第一预测值是否大于所述第一应用数据的最大预测值;
[0018] 若是,则确定所述第二补偿值为0;
[0019] 若否,则判断所述第一预测值是否小于所述第一应用数据的最小预测值;若是,则进一步判断所述第一预测值与所述第一补偿值的和是否大于所述最大预测值;若是,则确定所述第二补偿值为所述第一应用数据的最大预测值减去所述第一预测值的差值,若否,则进一步判断第一预测值与所述第一补偿值的和是否小于所述第一应用数据的最小预测值;若是,则确定第二补偿值为所述第一应用数据的最小预测值减去所述第一预测值的差值,若否,则确定第二补偿值为所述第一补偿值。
[0020] 结合第一方面的第二种可能的实施方式,在第一方面的第三种可能的实施方式中,所述判断所述第一预测值是否小于所述第一应用数据的最小预测值,还包括:
[0021] 若否,则进一步判断所述第一预测值与所述第一补偿值的和是否大于所述第一应用数据的最大预测值;若是,则确定第二补偿值为所述第一应用数据的最大预测值减去第一预测值的差值;若否,则确定第二补偿值为第一补偿值。
[0022] 结合第一方面,在第一方面的第四种可能的实施方式中,根据所述第一预测值、所述第一补偿值和所述取值范围,获得第二预测值,包括:
[0023] 将所述第一预测值与所述第一补偿值的和确定为第三预测值;
[0024] 判断所述第三预测值是否小于所述第一应用数据的最小预测值;
[0025] 若是,则确定所述第二预测值为所述第一应用数据的最小预测值;若否,则进一步判断所述第三预测值是否大于所述第一应用数据的最大预测值,若是,则确定所述第二预测值为所述第一应用数据的最大预测值,若否,则确定所述第二预测值为第三预测值。
[0026] 结合第一方面至第一方面的第四种可能的实施方式中的任一项,在第一方面的第五种可能的实施方式中,当所述特征序列为一个时,则所述根据预设的置信度和所述特征序列,确定所述取值范围,包括:
[0027] 将所述特征序列中的元素按照从小到大的顺序进行排序;
[0028] 根据排序后的特征序列确定第一元素的特征值,并根据所述第一元素的特征值确定所述取值范围;其中,所述第一元素在所述排序后的特征序列中的位置等于所述置信度与所述W3的乘积。
[0029] 结合第一方面至第一方面的第四种可能的实施方式中的任一项,在第一方面的第六种可能的实施方式中,当所述特征序列为多个时,则所述根据预设的置信度和所述特征序列,确定所述取值范围,包括:
[0030] 根据每个所述特征序列分别确定第一取值范围;每个所述第一取值范围包括所述第一应用数据的第一最大预测值和所述第一应用数据的第一最小预测值;
[0031] 将各个所述第一取值范围中的第一最大预测值和第一最小预测值进行第一处理,得到所述取值范围;其中,所述第一处理包括:取极值处理、平均处理、加权平均处理中的任一处理;
[0032] 所述取极值处理,用于将所有第一最大预测值进行比较以及将所有第一最小预测值进行比较,将最大的所述第一最大预测值作为所述第一应用数据的最大预测值,将最小的所述第一最小预测值作为所述第一应用数据的最小预测值;所述平均处理,用于将所有第一最大预测值进行平均,得到第一平均最大预测值,并用于将所有第一最小预测值进行平均,得到第一平均最小预测值,并将所述第一平均最大预测值作为所述第一应用数据的最大预测值,以及将第一平均最小预测值作为所述第一应用数据的最小预测值;所述加权平均处理,用于将所有第一最大预测值进行加权平均,得到第二平均最大预测值,并用于将所有第一最小预测值进行加权平均,得到第二平均最小预测值,并将所述第二平均最大预测值作为所述第一应用数据的最大预测值,以及将第二平均最小预测值作为所述第一应用数据的最小预测值。
[0033] 结合第一方面至第一方面的第六种可能的实施方式中的任一项,在第一方面的第七种可能的实施方式中,若所述第三历史应用数据为所述第三工作负载历史数据或所述第三资源用量历史数据;则所述根据第三历史应用数据,获取特征序列,具体包括:
[0034] 根据所述第三历史应用数据,确定第三序列为{L(t-W3+1),...,L(t)};其中,所述L(t)为t时刻的第三历史应用数据的实际值,所述L(t-W3+1)为(t-W3+1)时刻的第三历史应用数据的实际值;
[0035] 根据Feature1(t)=|L(t)-L(t-1)|和所述第三序列,确定变化率序列为{Feature1(t-W3+2),...,Feature1(t)};和/或,根据 和所述第三序列,确定波动率序列为{Feature2(t-W3+2),...,Feature2(t)};其中,所述Feature1(t)为t时刻的第三历史应用数据的变化率,所述Feature1(t-W3+2)为(t-W3+2)时刻的第三历史应用数据的变化率,所述L(t-1)为t-1时刻的第三历史应用数据的实际值;所述Feature2(t)为t时刻的第三历史应用数据的波动率,所述Feature2(t-W3+2)为(t-W3+2)时刻的第三历史应用数据的变化率;所述特征序列包括所述变化率序列、所述波动率序列中的至少一个序列。
[0036] 结合第一方面至第一方面的第六种可能的实施方式中的任一项,在第一方面的第八种可能的实施方式中,若所述第三历史应用数据为所述第三预设窗口内的资源预测误差历史数据;则所述根据第三历史应用数据,获取特征序列,具体包括:
[0037] 根据所述第三历史应用数据,确定第四序列为{E(t-W3+1),...,E(t)},并根据Feature3(t)=|E(t)|和所述第四序列,确定绝对误差序列为{Feature3(t-W3+2),...,Feature3(t)};其中,其中,所述E(t)为t时刻的资源预测误差,所述E(t-W3+1)为(t-W3+1)时刻的资源预测误差,所述Feature3(t)为t时刻的资源预测误差的变化率,所述Feature3(t-W3+2)为(t-W3+2)时刻的资源预测误差的变化率;
[0038] 和/或,
[0039] 根据所述第三历史应用数据,确定第四序列为{E(t-W3+1),...,E(t)},并根据第四预设窗口内的第四历史应用数据,确定第五序列为{L(t-W4+1),...,L(t)},并根据所述第四序列和所述第五序列,确定弹性偏差率序列为{Feature4(t-W3+2),...,Feature4(t)};其中,所述E(t)为t时刻的资源预测误差,所述E(t-W3+1)为(t-W3+1)时刻的资源预测误差;所述第四历史应用数据包括所述应用在第四预设窗口内的第四工作负载历史数据或所述第四预设窗口内的第四资源用量历史数据,所述第四预设窗口为距当前时刻最近的长度为W4的时间窗口,且所述第四预设窗口中的时刻位于当前时刻之前,所述L(t)为t时刻的第四历史应用数据的实际值,所述L(t-W4+1)为(t-W4+1)时刻的第四历史应用数据的实际值;所述Feature4(t)为t时刻的资源预测误差的弹性偏差率,所述Feature4(t-W3+2)为(t-W3+2)时刻的资源预测误差的弹性偏差率;所述特征序列包括所述绝对误差序列、所述弹性偏差率序列中的至少一个。
[0040] 结合第一方面的第七种可能的实施方式,在第一方面的第九种可能的实施方式中,若所述第三历史应用数据为所述第三工作负载历史数据或所述第三资源用量历史数据,和,所述资源预测误差历史数据,则所述根据第三历史应用数据,获取特征序列,还包括:
[0041] 根据所述第三历史应用数据,确定第四序列为{E(t-W3+1),...,E(t)},并根据所述Feature3(t)=|E(t)|和所述第四序列,确定绝对误差序列为{Feature3(t-W3+2),...,Feature3(t)};其中,所述E(t)为t时刻的资源预测误差,所述E(t-W3+1)为(t-W3+1)时刻的资源预测误差,所述Feature3(t)为t时刻的资源预测误差的变化率,所述Feature3(t-W3+2)为(t-W3+2)时刻的资源预测误差的变化率;
[0042] 和/或,
[0043] 根据所述第三历史应用数据,确定第四序列为{E(t-W3+1),...,E(t)},并根据第四预设窗口内的第四历史应用数据,确定第五序列为{L(t-W4+1),...,L(t)},并根据所述所述第四序列和所述第五序列,确定弹性偏差率序列为{Feature4(t-W3+2),...,Feature4(t)};其中,所述E(t)为t时刻的资源预测误差,所述E(t-W3+1)为(t-W3+1)时刻的资源预测误差;所述第四历史应用数据包括所述应用在第四预设窗口内的第四工作负载历史数据或所述第四预设窗口内的第四资源用量历史数据,所述第四预设窗口为距当前时刻最近的长度为W4的时间窗口,且所述第四预设窗口中的时刻位于当前时刻之前,所述L(t)为t时刻的第四历史应用数据的实际值,所述L(t-W4+1)为(t-W4+1)时刻的第四历史应用数据的实际值;所述Feature4(t)为t时刻的资源预测误差的弹性偏差率,所述Feature4(t-W3+2)为(t-W3+2)时刻的资源预测误差的弹性偏差率;所述特征序列包括所述变化率序列和所述变化率序列中的至少一个,以及,绝对误差序列和弹性偏差率序列中的至少一个。
[0044] 结合第一方面至第一方面的第九种可能的实施方式中的任一项,在第一方面的第十种可能的实施方式中,当所述第一历史应用数据为所述第一工作负载历史数据时,则所述第一应用数据为所述第一工作负载,所述第二历史应用数据为所述第二工作负载历史数据,所述第一预测值为所述第一工作负载的预测值;
[0045] 当所述第一历史应用数据为所述第一工作负载历史数据时,则所述第一应用数据为所述第一资源用量,所述第二历史应用数据为所述第二资源用量历史数据,所述第一预测值为所述第一资源用量的预测值。
[0046] 第二方面,本发明实施例提供一种修正资源预测误差的装置,适用于云计算服务提供系统,所述装置包括:
[0047] 第一获取模块,用于根据第一历史应用数据对应的第一序列,预测应用的第一应用数据,获得第一预测值;其中,所述第一历史应用数据包括所述应用在第一预设窗口内的第一工作负载历史数据或所述第一预设窗口内的第一资源用量历史数据;所述第一应用数据包括所述应用在下一时刻的第一工作负载或下一时刻的第一资源用量;所述第一预设窗口为距当前时刻最近的长度为W1的时间窗口,且所述第一预设窗口中的时刻位于当前时刻之前;
[0048] 第一确定模块,用于根据第二历史应用数据对应的第二序列,确定所述第一预测值的第一补偿值;其中,所述第二历史应用数据包括所述应用在第二预设窗口内的第二工作负载历史数据或所述第二预设窗口内的第二资源用量历史数据;所述第二预设窗口为距所述当前时刻最近的长度为W2的时间窗口,且所述第二预设窗口中的时刻位于当前时刻之前;
[0049] 第二获取模块,用于根据第三历史应用数据,获取特征序列;其中,所述特征序列用于预测所述第一应用数据的取值范围;其中,所述取值范围包括所述第一应用数据的最大预测值和所述第一应用数据的最小预测值;所述第三历史应用数据包括所述应用在第三预设窗口内的第三工作负载历史数据或所述第三预设窗口内的第三资源用量历史数据,和/或,所述第三预设窗口内的资源预测误差历史数据中的至少一种信息;所述第三预设窗口为距所述当前时刻最近的长度为W3的时间窗口,且所述第三预设窗口中的时刻位于当前时刻之前;
[0050] 第二确定模块,用于根据预设的置信度和所述特征序列,确定所述取值范围;其中,所述特征序列为一个或多个;
[0051] 处理模块,用于根据所述第一预测值、所述第一补偿值和所述取值范围,获得第二预测值,并根据所述第二预测值为所述应用分配下一时刻的资源。
[0052] 结合第二方面,在第二方面的第一种可能的实施方式中,所述处理模块,具体用于根据所述第一预测值、所述第一补偿值和所述取值范围,对所述第一补偿值进行修正,获得第二补偿值,并将所述第一预测值和所述第二补偿值的和作为所述第二预测值。
[0053] 结合第二方面的第一种可能的实施方式,在第二方面的第二种可能的实施方式中,所述处理模块,具体用于判断所述第一预测值是否大于所述第一应用数据的最大预测值;若判断所述第一预测值大于所述第一应用数据的最大预测值,则确定所述第二补偿值为0;若判断所述第一预测值小于所述第一应用数据的最大预测值,则所述处理模块进一步判断所述第一预测值是否小于所述第一应用数据的最小预测值;
[0054] 若判断所述第一预测值小于所述第一应用数据的最小预测值,则进一步判断所述第一预测值与所述第一补偿值的和是否大于所述最大预测值;若判断所述第一预测值与所述第一补偿值的和大于所述最大预测值,则确定所述第二补偿值为所述第一应用数据的最大预测值减去所述第一预测值的差值,若判断所述第一预测值与所述第一补偿值的和小于所述最大预测值,则所述处理模块进一步判断第一预测值与所述第一补偿值的和是否小于所述第一应用数据的最小预测值;若判断第一预测值与所述第一补偿值的和小于所述第一应用数据的最小预测值,则确定第二补偿值为所述第一应用数据的最小预测值减去所述第一预测值的差值,若判断第一预测值与所述第一补偿值的和大于所述第一应用数据的最小预测值,则确定第二补偿值为所述第一补偿值。
[0055] 结合第二方面的第二种可能的实施方式,在第二方面的第三种可能的实施方式中,所述处理模块,还用于当判断所述第一预测值大于所述第一应用数据的最小预测值时,进一步判断所述第一预测值与所述第一补偿值的和是否大于所述第一应用数据的最大预测值;若判断所述第一预测值与所述第一补偿值的和大于所述第一应用数据的最大预测值,则确定第二补偿值为所述第一应用数据的最大预测值减去第一预测值的差值;若判断所述第一预测值与所述第一补偿值的和小于所述第一应用数据的最大预测值,则确定第二补偿值为第一补偿值。
[0056] 结合第二方面,在第二方面的第四种可能的实施方式中,所述处理模块,具体用于将所述第一预测值与所述第一补偿值的和确定为第三预测值,并判断所述第三预测值是否小于所述第一应用数据的最小预测值;若判断所述第三预测值小于所述第一应用数据的最小预测值,则确定所述第二预测值为所述第一应用数据的最小预测值;若判断所述第三预测值大于所述第一应用数据的最小预测值,则进一步判断所述第三预测值是否大于所述第一应用数据的最大预测值,若是,则确定所述第二预测值为所述第一应用数据的最大预测值,若否,则确定所述第二预测值为第三预测值。
[0057] 结合第二方面至第二方面的第四种可能的实施方式中的任一项,在第二方面的第五种可能的实施方式中,当所述特征序列为一个时,则所述第二确定模块,具体用于将所述特征序列中的元素按照从小到大的顺序进行排序,并根据排序后的特征序列确定第一元素的特征值,并根据所述第一元素的特征值确定所述取值范围;其中,所述第一元素在所述排序后的特征序列中的位置等于所述置信度与所述W3的乘积。
[0058] 结合第二方面至第二方面的第四种可能的实施方式中的任一项,在第二方面的第六种可能的实施方式中,当所述特征序列为多个时,则所述第二确定模块,具体用于根据每个所述特征序列分别确定第一取值范围,并将各个所述第一取值范围中的第一最大预测值和第一最小预测值进行第一处理,得到所述取值范围;其中,每个所述第一取值范围包括所述第一应用数据的第一最大预测值和所述第一应用数据的第一最小预测值;所述第一处理包括:取极值处理、平均处理、加权平均处理中的任一处理;
[0059] 所述取极值处理,用于将所有第一最大预测值进行比较以及将所有第一最小预测值进行比较,将最大的所述第一最大预测值作为所述第一应用数据的最大预测值,将最小的所述第一最小预测值作为所述第一应用数据的最小预测值;所述平均处理,用于将所有第一最大预测值进行平均,得到第一平均最大预测值,并用于将所有第一最小预测值进行平均,得到第一平均最小预测值,并将所述第一平均最大预测值作为所述第一应用数据的最大预测值,以及将第一平均最小预测值作为所述第一应用数据的最小预测值;所述加权平均处理,用于将所有第一最大预测值进行加权平均,得到第二平均最大预测值,并用于将所有第一最小预测值进行加权平均,得到第二平均最小预测值,并将所述第二平均最大预测值作为所述第一应用数据的最大预测值,以及将第二平均最小预测值作为所述第一应用数据的最小预测值。
[0060] 结合第二方面至第二方面的第六种可能的实施方式中的任一项,在第二方面的第七种可能的实施方式中,若所述第三历史应用数据为所述第三工作负载历史数据或所述第三资源用量历史数据;则所述第二获取模块,具体包括:
[0061] 第一获取单元,用于根据所述第三历史应用数据,确定第三序列为{L(t-W3+1),...,L(t)};其中,所述L(t)为t时刻的第三历史应用数据的实际值,所述L(t-W3+1)为(t-W3+1)时刻的第三历史应用数据的实际值;
[0062] 第一确定单元,用于根据Feature1(t)=|L(t)-L(t-1)|和所述第三序列,确定变化率序列为{Feature1(t-W3+2),...,Feature1(t)};和/或,用于根据和所述第三序列,确定波动率序列为{Feature2(t-W3+2),...,
Feature2(t)};其中,所述Feature1(t)为t时刻的第三历史应用数据的变化率,所述Feature1(t-W3+2)为(t-W3+2)时刻的第三历史应用数据的变化率,所述L(t-1)为t-1时刻的第三历史应用数据的实际值;所述Feature2(t)为t时刻的第三历史应用数据的波动率,所述Feature2(t-W3+2)为(t-W3+2)时刻的第三历史应用数据的变化率;所述特征序列包括所述变化率序列、所述波动率序列中的至少一个序列。
[0063] 结合第二方面至第二方面的第六种可能的实施方式中的任一项,在第二方面的第八种可能的实施方式中,若所述第三历史应用数据为所述第三预设窗口内的资源预测误差历史数据,则所述第二获取模块,包括:
[0064] 第二确定单元,用于根据所述第三历史应用数据,确定第四序列为{E(t-W3+1),...,E(t)},并根据Feature3(t)=|E(t)|和所述第四序列,确定绝对误差序列为{Feature3(t-W3+2),...,Feature3(t)};其中,其中,所述E(t)为t时刻的资源预测误差,所述E(t-W3+1)为(t-W3+1)时刻的资源预测误差,所述Feature3(t)为t时刻的资源预测误差的变化率,所述Feature3(t-W3+2)为(t-W3+2)时刻的资源预测误差的变化率;
[0065] 和/或,
[0066] 第三确定单元,用于根据所述第三历史应用数据,确定第四序列为{E(t-W3+1),...,E(t)},并根据第四预设窗口内的第四历史应用数据,确定第五序列为{L(t-W4+
1),...,L(t)},并根据 所述第四序列和所述第五序列,确定弹性偏差率序列为{Feature4(t-W3+2),...,Feature4(t)};其中,所述E(t)为t时刻的资源预测误差,所述E(t-W3+1)为(t-W3+1)时刻的资源预测误差;所述第四历史应用数据包括所述应用在第四预设窗口内的第四工作负载历史数据或所述第四预设窗口内的第四资源用量历史数据,所述第四预设窗口为距当前时刻最近的长度为W4的时间窗口,且所述第四预设窗口中的时刻位于当前时刻之前,所述L(t)为t时刻的第四历史应用数据的实际值,所述L(t-W4+1)为(t-W4+1)时刻的第四历史应用数据的实际值;所述Feature4(t)为t时刻的资源预测误差的弹性偏差率,所述Feature4(t-W3+2)为(t-W3+2)时刻的资源预测误差的弹性偏差率;所述特征序列包括所述绝对误差序列、所述弹性偏差率序列中的至少一个。
[0067] 结合第二方面的第七种可能的实施方式,在第二方面的第九种可能的实施方式中,若所述第三历史应用数据为所述第三工作负载历史数据或所述第三资源用量历史数据,和,所述资源预测误差历史数据,则所述第二获取模块,还包括:
[0068] 第二确定单元,用于根据所述第三历史应用数据,确定第四序列为{E(t-W3+1),...,E(t)},并根据Feature3(t)=|E(t)|和所述第四序列,确定绝对误差序列为{Feature3(t-W3+2),...,Feature3(t)};其中,其中,所述E(t)为t时刻的资源预测误差,所述E(t-W3+1)为(t-W3+1)时刻的资源预测误差,所述Feature3(t)为t时刻的资源预测误差的变化率,所述Feature3(t-W3+2)为(t-W3+2)时刻的资源预测误差的变化率;
[0069] 和/或,
[0070] 第三确定单元,用于根据所述第三历史应用数据,确定第四序列为{E(t-W3+1),...,E(t)},并根据第四预设窗口内的第四历史应用数据,确定第五序列为{L(t-W4+
1),...,L(t)},并根据 所述第四序列和所述第五序列,确定弹性偏差率序列为{Feature4(t-W3+2),...,Feature4(t)};其中,所述E(t)为t时刻的资源预测误差,所述E(t-W3+1)为(t-W3+1)时刻的资源预测误差;所述第四历史应用数据包括所述应用在第四预设窗口内的第四工作负载历史数据或所述第四预设窗口内的第四资源用量历史数据,所述第四预设窗口为距当前时刻最近的长度为W4的时间窗口,且所述第四预设窗口中的时刻位于当前时刻之前,所述L(t)为t时刻的第四历史应用数据的实际值,所述L(t-W4+1)为(t-W4+1)时刻的第四历史应用数据的实际值;所述Feature4(t)为t时刻的资源预测误差的弹性偏差率,所述Feature4(t-W3+2)为(t-W3+2)时刻的资源预测误差的弹性偏差率;所述特征序列包括所述绝对误差序列、所述弹性偏差率序列中的至少一个。
[0071] 结合第二方面至第二方面的第九种可能的实施方式中的任一项,在第二方面的第十种可能的实施方式中,当所述第一历史应用数据为所述第一工作负载历史数据时,则所述第一应用数据为所述第一工作负载,所述第二历史应用数据为所述第二工作负载历史数据,所述第一预测值为所述第一工作负载的预测值;
[0072] 当所述第一历史应用数据为所述第一工作负载历史数据时,则所述第一应用数据为所述第一资源用量,所述第二历史应用数据为所述第二资源用量历史数据,所述第一预测值为所述第一资源用量的预测值。
[0073] 本发明实施例提供的修正资源预测误差的方法和装置,通过根据第一历史应用数据对应的第一序列预测应用的第一应用数据,获得第一预测值;并根据第二历史应用数据对应的第二序列确定所述第一预测值的第一补偿值,并根据第三预设窗口内的第三历史应用数据确定用于预测第一应用数据的取值范围的特征序列,并根据特征序列和置信度确定第一应用数据的第二预测值的取值范围,并结合第一预测值、第一补偿值对第一预测值进行修正,确保第二预测值落在该取值范围内,也就是说,本发明实施例在确定应用的第一应用数据的第二预测值时是基于具有可靠性的取值范围确定的,并不是现有技术中简单的取第一补偿值和第二补偿值中的较大值来修正第一预测值,故,本发明实施例可以在修正低估误差的同时,大大降低了资源分配时因高估误差导致的计算资源的浪费,从而减小云计算服务提供系统的运营成本。

实施方案

[0087] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0088] 本发明实施例提供的方法适用于云计算服务提供系统为应用分配计算资源的场景。该云计算服务提供系统可以监控并记录应用的工作负载或资源用量情况,还可以对应用在下一时刻的工作负载或者资源用量的值进行相应的误差校正,还可以根据校正后的值从资源池中给应用分配相应的资源。本发明实施例涉及的方法的执行主体为云计算服务提供系统,用以解决现有技术中因高估误差导致的计算资源浪费的技术问题。
[0089] 图1为本发明实施例提供的修正资源预测误差的方法实施例一的流程示意图。本发明实施例的执行主体为云计算服务提供系统。本实施例涉及的方法是通过历史的应用数据提取出相应的特征序列,并根据特征序列预测出应用在下一时刻的工作负载或资源用量的预测值的取值范围,从而对现有技术中确定的预测值进行修正,并根据修正后的预测值为应用分配资源。如图1所示,该方法包括:
[0090] S101:根据第一历史应用数据对应的第一序列,预测应用的第一应用数据,获得第一预测值;其中,所述第一历史应用数据包括所述应用在第一预设窗口内的第一工作负载历史数据或所述第一预设窗口内的第一资源用量历史数据;所述第一应用数据包括所述应用在下一时刻的第一工作负载或下一时刻的第一资源用量;所述第一预设窗口为距当前时刻最近的长度为W1的时间窗口,且所述第一预设窗口中的时刻位于当前时刻之前。
[0091] 具体的,云计算服务提供系统可以根据第一历史应用数据对应的第一序列,并采用任一预测技术来预测应用的第一应用数据,不同预测技术中W1的取值不同,由云计算服务提供系统所采用的预测技术确定。本实施例中的第一预设窗口为距离应用当前时刻最近的长度为W1的时间窗口,例如假设当前时刻为t,W1为5,则第一预设窗口中就可以包括t时刻之前的t-1、t-2、t-3、t-4、t-5五个时刻,则第一历史应用数据即为这5个时刻分别对应的历史应用数据,该第一历史应用数据可以为所述应用在第一预设窗口内的第一工作负载历史数据,也可以为所述应用在所述第一预设窗口内的第一资源用量历史数据。
[0092] 需要说明的是,云计算服务提供系统可以根据第一历史应用数据确定第一序列,该第一序列为第一工作负载历史数据序列或第一资源用量历史数据序列;之后,云计算服务提供系统可以根据该第一序列预测应用的第一应用数据,即预测应用在下一时刻的工作负载(即第一工作负载)或下一时刻的资源用量(第一资源用量),从而获得第一预测值。其中,云计算服务提供系统确定第一序列和第一预测值可以参照现有技术,在此不再赘述。
[0093] S102:根据第二历史应用数据对应的第二序列,确定所述第一预测值的第一补偿值;其中,所述第二历史应用数据包括所述应用在第二预设窗口内的第二工作负载历史数据或所述第二预设窗口内的第二资源用量历史数据;所述第二预设窗口为距所述当前时刻最近的长度为W2的时间窗口,且所述第二预设窗口中的时刻位于当前时刻之前。
[0094] 具体的,该第二历史应用数据为应用在第二预设窗口内的工作负载历史数据(即第二工作负载历史数据),还可以为应用在第二预设窗口内的资源用量历史数据(即第二资源用量历史数据),即第二历史应用数据可以包括第二预设窗口内的多个时刻的工作负载历史数据或资源用量历史数据。云计算服务提供系统根据该第二历史应用数据确定第二序列,该第二序列可以为第二预设窗口内的第二工作负载历史数据序列或第二预设窗口内的第二资源用量历史数据序列,即该第二序列可以包括第二预测窗口内的多个时刻的工作负载或资源用量的值。需要说明的是,云计算服务提供系统根据该第二历史应用数据确定第二序列,并根据第二序列确定上述第一预测值的第一补偿值的过程可以参照现有技术,在此不再赘述。
[0095] 另外,上述W2可以与W1的值相同,也可以不同,也就是说,本发明实施例中第一历史应用数据可以与第二历史应用数据相同,也可以不同,则第一序列可以与第二序列相同,也可以不同。本发明实施例对确定第一预测值和第一补偿值时所使用的窗口长度并不做限制。
[0096] S103:根据第三历史应用数据,获取特征序列;其中,所述特征序列用于预测所述第一应用数据的取值范围;其中,所述取值范围包括所述第一应用数据的最大预测值和所述第一应用数据的最小预测值;所述第三历史应用数据包括所述应用在第三预设窗口内的第三工作负载历史数据或所述第三预设窗口内的第三资源用量历史数据,和/或,所述第三预设窗口内的资源预测误差历史数据中的至少一种信息;所述第三预设窗口为距所述当前时刻最近的长度为W3的时间窗口,且所述第三预设窗口中的时刻位于当前时刻之前。
[0097] 具体的,云计算服务提供系统根据第三历史应用数据确定的特征序列可以为一个,也可以为多个。该特征序列可以为表征应用在第三预设窗口内的工作负载历史数据的变化率或者波动率,也可以为表征应用在第三预设窗口内的资源预测误差历史数据的绝对误差或弹性偏差率,总而言之,该特征序列可以用于表征应用在第三预设窗口内的历史应用数据的变化关系或绝对值等。该第三预设窗口的时间长度W3可以与W1和W2相同,也可以不同,本发明实施例对此并不做限制。另外,当该特征序列为多个时,不同的特征序列所对应的第三预设窗口的长度可以不同,也可以相同,例如,用于表征应用在第三预设窗口内的工作负载历史数据的变化率的序列对应的时间窗口长度,与,用于表征应用在第三预设窗口内的资源预测误差的弹性偏差率的序列对应的时间窗口的长度可以是不同的,也可以相同。
[0098] 另外,上述涉及的第三预设窗口内的资源预测误差历史数据可以包括多个时刻的资源预测误差,每个时刻的资源预测误差为该时刻的资源预测值与该时刻的资源实际使用值的差值。
[0099] S104:根据预设的置信度和所述特征序列,确定所述取值范围;其中,所述特征序列为一个或多个。
[0100] 具体的,由于云计算服务提供系统已经确定出可以表征应用的历史应用数据的变化关系的特征序列,因此,云计算服务提供系统就可以根据该特征序列以及预设的置信度,预测应用的第一应用数据的取值范围。其中置信度可以为0到1之间的常数,一般可以设置为0.95,表示所确定出来的取值范围具有95%的可靠性。也就是说,该取值范围给出了上述第一预测值结合第一补偿值得到应用的第一应用数据的预测值的取值范围,该取值范围的确定使得云计算服务提供系统在预测应用的第一应用数据时有据可依,并且该取值范围可以使得应用在下一时刻的应用数据(应用在下一时刻的应用数据即上述第一应用数据)的预测值不会给云计算服务提供系统带来大的高估误差。
[0101] 可选的,云计算服务提供系统可以通过该置信度确定出该特征序列中一个具有代表性的元素的特征值,然后结合第一预测值和该元素的特征值确定取值范围中的第一应用数据的最大预测值和第一应用数据的最小预测值。
[0102] S105:根据所述第一预测值、所述第一补偿值和所述取值范围,获得第二预测值,并根据所述第二预测值为所述应用分配下一时刻的资源。
[0103] 可选的,云计算服务提供系统可以将第一预测值与上述取值范围中的第一应用数据的最大预测值进行比较来确定第二预测值,还可以将第一预测值加上第一补偿值的和与上述取值范围中的第一应用数据的最大预测值进行比较来确定第二预测值,还可以将第一预测值加上第一补偿值的和与上述取值范围中的第一应用数据的最小预测值进行比较来确定第二预测值。最终确定的第二预测值必须落在上述取值范围内,从而保证第二预测值与应用的第一应用数据的实际上误差较小。
[0104] 现有技术中,在确定第一补偿值时是对第二序列进行FFT运算,以确定第二序列中的应用数据的突发量和突发密度,并得到突发量序列,从而根据所确定的突发密度和突发量序列确定第一预测值的第一补偿值;同时,现有技术还根据一预设时间长度的窗口内的资源预测误差序列确定第一预测值的第二补偿值,然后取第一补偿值和第二补偿值中较大者作为第一预测值的最终补偿值,对第一预测值进行补偿。由于现有技术中是基于FFT计算突发量的,而FFT是针对平稳信号(即分布参数和分布律不随时间变化而变化,比如在任一时刻计算平稳信号的均值,得到的结果都是相同的)设计的,而上述应用的应用数据(例如工作负载或资源用量)为非平稳信息并且波动较多,因此基于FFT计算的第一补偿值存在较大误差,其往往高出实际所需的补偿值较多,并且往往远大于第二补偿值(故云计算服务提供系统最后选择的第一预测值的补偿值也经常是误差较大的第一补偿值),因此导致增加很多高估误差,从而造成资源浪费,增加云计算服务提供系统的运营成本。
[0105] 但是,在本发明实施例中,虽然采用和现有技术相同的方法确定第一补偿值和第一预测值,但是本发明实施例是通过确定用于表征历史应用数据的变化关系的特征序列,并根据特征序列和置信度确定应用的第一应用数据的第二预测值的取值范围,并结合第一预测值、所述第一补偿值对第一预测值进行修正,确保第二预测值落在该取值范围内,因此,本发明实施例在确定应用的第一应用数据的第二预测值时是基于具有可靠性的取值范围确定的,所确定的第二预测值实际上是对经第一补偿值补偿后的第一预测值进行修正之后的值,其并不是现有技术中简单的取第一补偿值和第二补偿值中的较大值来修正第一预测值(现有技术中一般都是选择第一补偿值,而第一补偿值的误差比较大),故,本发明实施例可以在修正低估误差的同时降低资源分配时的高估误差,从而减小云计算服务提供系统的运营成本。
[0106] 本发明实施例提供的修正资源预测误差的方法,通过根据第一历史应用数据对应的第一序列预测应用的第一应用数据,获得第一预测值;并根据第二历史应用数据对应的第二序列确定所述第一预测值的第一补偿值,并根据第三预设窗口内的第三历史应用数据确定用于表征历史应用数据的变化关系的特征序列,并根据特征序列和置信度确定应用的第一应用数据的第二预测值的取值范围,并结合第一预测值、第一补偿值对第一预测值进行修正,确保第二预测值落在该取值范围内,也就是说,本发明实施例在确定应用的第一应用数据的第二预测值时是基于具有可靠性的取值范围确定的,所确定的第二预测值实际上是对经第一补偿值补偿后的第一预测值进行修正之后的值,其并不是现有技术中简单的取第一补偿值和第二补偿值中的较大值来修正第一预测值,故,本发明实施例可以在修正低估误差的同时,大大降低了资源分配时因高估误差导致的计算资源的浪费,从而减小云计算服务提供系统的运营成本。
[0107] 图2为本发明实施例提供的修正资源预测误差的方法实施例二的流程示意图。本实施例涉及的是云计算服务提供系统确定第二预测值的具体过程。在上述实施例的基础上,进一步地,上述S105具体为:
[0108] S201:根据所述第一预测值、所述第一补偿值和所述取值范围,对所述第一补偿值进行修正,获得第二补偿值。
[0109] 具体的,由于上述采用现有技术的方式获取的第一补偿值误差较大,因此本发明实施例结合上述第一预测值、第一补偿值和取值范围,对该第一补偿值进行修正,从而确定出误差较小的第二补偿值。具体的,云计算服务提供系统可以参照图3所示实施例的具体过程获得第二补偿值,具体为:
[0110] S301:判断所述第一预测值是否大于等于所述第一应用数据的最大预测值。若是,执行S302,若否,则执行S303。
[0111] S302:确定所述第二补偿值为0。
[0112] 具体的,本实施例中涉及的第二补偿值为修正后的第一补偿值。若云计算服务提供系统预测出的第一预测值大于或等于上述第一应用数据的取值范围中的最大预测值,说明此时第一预测值不需要进行补偿,即对第一补偿值修正后,获得的第二补偿值为0。
[0113] S303:判断所述第一预测值是否小于所述第一应用数据的最小预测值。若是,则执行S304,若否,则执行S309。
[0114] 具体的,当上述S301中云计算服务提供系统预测出的第一预测值小于上述第一应用数据的取值范围中的最大预测值,则云计算服务提供系统执行S303,即进一步判断该第一预测值是不是小于取值范围中的第一应用数据的最小预测值。
[0115] S304:判断所述第一预测值与所述第一补偿值的和是否大于所述最大预测值。若是,则执行S305,若否,则执行S306。
[0116] 具体的,若上述判断的结果是第一预测值小于取值范围中的第一应用数据的最小预测值,则云计算服务提供系统进一步判断经过第一补偿值补偿后的第一预测值是否大于取值范围中的最大预测值,即判断上述第一预测值与第一补偿值的和是否大于上述取值范围中的最大预测值。这一判断是为了防止第一预测值在经过第一补偿值补偿后远远超过上述确定的取值范围中的第一应用数据的最大限值。
[0117] S305:确定所述第二补偿值为所述第一应用数据的最大预测值减去所述第一预测值的差值。
[0118] 具体的,若云计算服务提供系统确定上述第一预测值和第一补偿值的和大于上述取值范围中的最大预测值后,则说明第一补偿值偏大,则云计算服务提供系统就会将第一应用数据的最大预测值与上述第一预测值的差值作为第二补偿值(即将第一补偿值丢弃或者忽略,直接通过第二补偿值对第一预测值进行补偿),从而使得经过第二补偿值补偿后的第一预测值不会超过上述确定的取值范围中的应用所需的资源最大限值,进而降低了资源的高估误差。
[0119] S306:判断第一预测值与所述第一补偿值的和是否小于所述第一应用数据的最小预测值。若是,则执行S307,若否,则执行S308。
[0120] 具体的,若云计算服务提供系统确定上述第一预测值和第一补偿值的和小于上述取值范围中的最大预测值后,则云计算服务提供系统进一步判断这二者的和是否小于第一应用数据的最小预测值,并根据判断结果执行下述步骤。
[0121] S307:确定第二补偿值为所述第一应用数据的最小预测值减去所述第一预测值的差值。
[0122] 具体的,若云计算服务提供系统确定上述第一预测值和第一补偿值的和小于上述取值范围中的第一应用数据的最小预测值后,则说明该第一补偿值偏小,云计算服务提供系统将第一应用数据的最小预测值减去所述第一预测值的差值作为第二补偿值(即将第一补偿值丢弃或者忽略,直接通过第二补偿值对第一预测值进行补偿),从而使得经过第二补偿值补偿后的第一预测值不会小于上述确定的取值范围中的应用所需的资源最低限值,进而修正了资源的低估误差。
[0123] S308:确定第二补偿值为所述第一补偿值。
[0124] 具体的,若上述的判断结果为上述第一预测值和第一补偿值的和小于上述取值范围中的第一应用数据的最大预测值,且大于上述取值范围中的第一应用数据的最小预测值,则说明上述确定的第一补偿值是合理的,因此,确定第二补偿值为第一补偿值。
[0125] S309:判断所述第一预测值与所述第一补偿值的和是否大于所述第一应用数据的最大预测值;若是,则执行S310,若否,则执行S311。
[0126] 具体的,若S303中云计算服务提供系统判断上述第一预测值大于所述第一应用数据的最小预测值,则进一步判断上述第一预测值与第一补偿值的和是否大于所述第一应用数据的最大预测值,即判断经过第一补偿值补偿后的第一预测值是否大于取值范围中的最大预测值。这一判断是为了防止第一预测值在经过第一补偿值补偿后远远超过上述确定的取值范围中的第一应用数据的最大限值。
[0127] S310:确定第二补偿值为所述第一应用数据的最大预测值减去第一预测值的差值。
[0128] 具体的,若云计算服务提供系统确定上述第一预测值和第一补偿值的和大于上述取值范围中的最大预测值后,则云计算服务提供系统就会将第一应用数据的最大预测值与上述第一预测值的差值作为第二补偿值,以确保经过第二补偿值补偿后的第一预测值不会超过上述确定的取值范围中的应用所需的资源最大限值,进而降低了资源的高估误差。
[0129] S311:确定第二补偿值为第一补偿值。
[0130] 具体的,若上述的判断结果为上述第一预测值和第一补偿值的和小于上述取值范围中的第一应用数据的最大预测值,且大于上述取值范围中的第一应用数据的最小预测值,则说明上述确定的第一补偿值是合理的,因此,确定第二补偿值为第一补偿值。
[0131] S202:将所述第一预测值和所述第二补偿值的和作为所述第二预测值。
[0132] 具体的,按照上述图3所示实施例的执行过程,将所确定的第二补偿值和第一预测值的和作为第二预测值,从而使得云计算服务提供系统根据第二预测值为应用分配下一时刻的资源。由于上述第二补偿值是经过一系列的判断得到的,因此该第二补偿值就能合理的修正资源的低估误差,也能降低资源的高估误差。
[0133] 图4为本发明实施例提供的修正资源预测误差的方法实施例四的流程示意图。本实施例涉及的是云计算服务提供系统确定第二预测值的另一具体过程。在上述图1实施例的基础上,进一步地,上述S105具体为:
[0134] S401:将所述第一预测值与所述第一补偿值的和确定为第三预测值。
[0135] 具体的,与上述实施例二和三不同的是,上述实施例二和实施例三是单独修正第一补偿值,获得修正后的第一补偿值(修正后的第一补偿值即第二补偿值)之后才确定的第二预测值;本实施例中是将第一预测值和第一补偿值的和作为第三预测值(第三预测值即经过第一补偿值补偿后的第一预测值),然后将第三预测值分别与取值范围中的第一应用数据的最大预测值、第一应用数据的最小预测值进行大小判断,获得最终补偿的第一预测值(即获得第二预测值)。具体参见下述的S402至S406。
[0136] S402:判断所述第三预测值是否小于所述第一应用数据的最小预测值;若是,则执行S403,若否,则执行S404。
[0137] S403:确定所述第二预测值为所述第一应用数据的最小预测值。
[0138] 具体的,若云计算服务提供系统确定第三预测值小于上述取值范围中的第一应用数据的最小预测值,说明第三预测值没有达到应用在下一时刻的资源限值的最低要求,会带来资源的低估误差。因此,云计算服务提供系统就将取值范围中的第一应用数据的最小预测值作为补偿后的第一预测值,即作为第二预测值。
[0139] S404:判断所述第三预测值是否大于所述第一应用数据的最大预测值;若是,则执行S405,若否,则执行S406。
[0140] S405:确定所述第二预测值为所述第一应用数据的最大预测值。
[0141] 具体的,若S402中云计算服务提供系统确定第三预测值大于上述取值范围中的第一应用数据的最小预测值,则云计算服务提供系统判断第三预测值是否大于第一应用数据的最大预测值。若是,则说明经过第一补偿值补偿后的第一预测值偏大,则云计算服务提供系统就将上述第一应用数据的最大预测值作为最终的预测值,即作为第二预测值,为应用在下一时刻分配资源。
[0142] S406:确定所述第二预测值为第三预测值。
[0143] 具体的,若S405中云计算服务提供系统判断第三预测值小于第一应用数据的最大预测值,则说明该第三预测值大于第一应用数据的最小预测值,且小于第一应用数据的最大预测值,则说明该第三预测值是较为合理的预测值,因此,云计算服务提供系统就将该第三预测值作为第二预测值,从而使得云计算服务提供系统根据该第三预测值为应用在下一时刻分配资源。
[0144] 需要说明的是,当上述第一历史应用数据为第一工作负载历史数据时,则上述第一应用数据为第一工作负载,上述第二历史应用数据为第二工作负载历史数据,上述第一预测值为第一工作负载的预测值;当上述第一历史应用数据为第一资源用量历史数据时,则上述第一应用数据为第一资源用量,上述第二历史应用数据为第二资源用量历史数据,上述第一预测值为第一资源用量的预测值。
[0145] 图5为本发明实施例提供的修正资源预测误差的方法实施例五的流程示意图。本实施例涉及的当第三历史应用数据为第三预设窗口内的第三工作负载历史数据或第三资源用量历史数据时,云计算服务提供系统确定第二预测值,并根据第二预测值为应用在下一时刻分配资源的具体过程。如图5所示,该方法包括:
[0146] S501:根据第一历史应用数据对应的第一序列,预测应用的第一应用数据,获得第一预测值;其中,所述第一历史应用数据包括所述应用在第一预设窗口内的第一工作负载历史数据或所述第一预设窗口内的第一资源用量历史数据;所述第一应用数据包括所述应用在下一时刻的第一工作负载或下一时刻的第一资源用量;所述第一预设窗口为距当前时刻最近的长度为W1的时间窗口,且所述第一预设窗口中的时刻位于当前时刻之前。
[0147] 具体参见上述S101的描述,在此不再赘述。
[0148] S502:根据第二历史应用数据对应的第二序列,确定所述第一预测值的第一补偿值;其中,所述第二历史应用数据包括所述应用在第二预设窗口内的第二工作负载历史数据或所述第二预设窗口内的第二资源用量历史数据;所述第二预设窗口为距所述当前时刻最近的长度为W2的时间窗口,且所述第二预设窗口中的时刻位于当前时刻之前。
[0149] 具体参见上述S102的描述,在此不再赘述。
[0150] S503:根据第三预设窗口的第三历史应用数据,确定第三序列为{L(t-W3+1),...,L(t)};其中,所述L(t)为t时刻的第三历史应用数据的实际值,所述L(t-W3+1)为(t-W3+1)时刻的第三历史应用数据的实际值,所述第三预设窗口为距所述当前时刻最近的长度为W3的时间窗口,且所述第三预设窗口中的时刻位于当前时刻之前。
[0151] 具体的,当第三历史应用数据为第三预设窗口内的第三工作负载历史数据或第三资源用量历史数据时,则云计算服务提供系统根据第三工作负载历史数据或第三资源用量历史数据任意一个确定第三序列。具体的,当第三历史应用数据为第三工作负载历史数据时,云计算服务提供系统确定的第三序列{L(t-W3+1),...,L(t)}为第三工作负载历史数据序列,其中,所述L(t)为t时刻的第三工作负载历史数据的实际值,所述L(t-W3+1)为(t-W3+1)时刻的第三工作负载历史数据的实际值。当第三历史应用数据为第三资源用量历史数据时,云计算服务提供系统确定的第三序列{L(t-W3+1),...,L(t)}为第三资源用量历史数据序列,其中,所述L(t)为t时刻的第三资源用量历史数据的实际值,所述L(t-W3+1)为(t-W3+
1)时刻的第三资源用量历史数据的实际值。
[0152] 需要说明的是,在本实施例中,第三预设窗口的时间长度可以等于上述第二预设窗口的时间长度,也就是说第三历史应用数据可以与第二历史应用数据相同,进一步地,第三序列可以与上述第二序列相同。
[0153] S504:根据Feature1(t)=|L(t)-L(t-1)|和所述第三序列,确定变化率序列为{Feature1(t-W3+2),...,Feature1(t)};和/或,根据 和所述第三序列,确定波动率序列为{Feature2(t-W3+2),...,Feature2(t)}。
[0154] 需要说明的是,上述所述Feature1(t)为t时刻的第三历史应用数据的变化率,所述Feature1(t-W3+2)为(t-W3+2)时刻的第三历史应用数据的变化率,所述L(t-1)为t-1时刻的第三历史应用数据的实际值;所述Feature2(t)为t时刻的第三历史应用数据的波动率,所述Feature2(t-W3+2)为(t-W3+2)时刻的第三历史应用数据的变化率;所述特征序列包括所述变化率序列、所述波动率序列中的至少一个序列。
[0155] 具体的,无论上述第三序列为第三工作负载历史数据序列还是第三资源用量历史数据序列,均可以确定特征序列,该特征序列可以为上述变化率序列和波动率序列中的至少一个序列。
[0156] 需要说明的是,当第三序列为第三工作负载历史数据序列时,则根据Feature1(t)=|L(t)-L(t-1)|和所述第三序列,确定的变化率序列{Feature1(t-W3+2),...,Feature1(t)}即为第三预设窗口内的第三工作负载历史数据序列的变化率序列,和/或,根据和第三序列确定的波动率序列{Feature2(t-W3+2),...,Feature2(t)}即为第三预设窗口内的第三工作负载历史数据序列的波动率序列。当第三序列为第三资源用量历史数据序列时,则根据Feature1(t)=|L(t)-L(t-1)|和所述第三序列,确定的变化率序列{Feature1(t-W3+2),...,Feature1(t)}即为第三预设窗口内的第三资源用量历史数据序列的变化率序列,和/或,根据 和第三序列
确定的波动率序列{Feature2(t-W3+2),...,Feature2(t)}即为第三预设窗口内的第三资源用量历史数据序列的波动率序列。
[0157] S505:根据预设的置信度和所述特征序列,确定所述取值范围。
[0158] 具体的,确定取值范围具体可以分为下述两种情况,针对不同的情况确定取值范围的方式是不同的:
[0159] 第一种:当特征序列为上述第三工作负载历史数据序列的变化率序列、第三工作负载历史数据序列的波动率序列、第三资源用量历史数据序列的变化率序列、第三资源用量历史数据序列的波动率序列中的任意一个时,其确定取值范围的具体过程可以参见图6所示的实施例六。如图6所示,该方法包括:
[0160] S601:将所述特征序列中的元素按照从小到大的顺序进行排序。
[0161] 具体的,云计算服务提供系统在得到特征序列之后,将特征序列中的元素按照元素的特征值的大小进行排列,需要说明的是,一个特征序列中的每个元素必须确保是同一类的元素。
[0162] S602:根据排序后的特征序列确定第一元素的特征值,并根据所述第一元素的特征值确定所述取值范围;其中,所述第一元素在所述排序后的特征序列中的位置等于所述置信度与所述W3的乘积。
[0163] 具体的,云计算服务提供系统确定在排序后的特征序列中位于置信度乘以W3处的第一元素的特征值(Feature),并根据该Feature确定应用在下一时刻的应用数据(即应用的第一应用数据)的取值范围,即确定应用在下一时刻的第一工作负载的取值范围或第一资源用量的取值范围。具体为:当特征序列为上述第三工作负载历史数据序列的变化率序列或者第三工作负载历史数据序列的波动率序列时,则确定的第一应用数据的取值范围即为应用在下一时刻的第一工作负载的取值范围;当特征序列为上述第三资源用量历史数据序列的变化率序列或者第三资源用量历史数据序列的波动率序列时,则确定的第一应用数据的取值范围即为应用在下一时刻的第一资源用量的取值范围。
[0164] 可选的,当特征序列的类型为变化率序列时(该变化率序列可以为第三工作负载历史数据序列的变化率序列,还可以是第三资源用量历史数据序列的变化率序列),其确定的第一应用数据的最大预测值均为第一预测值与上述Feature的和,所确定的第一应用数据的最小预测值均为第一预测值减去Feature的差值。
[0165] 可选的,当特征序列的类型为波动率序列时(该波动率序列可以为第三工作负载历史数据序列的波动率序列,还可以是第三资源用量历史数据序列的波动率序列),其确定的第一应用数据的最大预测值均为第一预测值乘以(1+Feature)的乘积,所确定的第一应用数据的最小预测值均为第一预测值乘以(1-Feature)的乘积。
[0166] 第二种:当特征序列为上述第三工作负载历史数据序列的变化率序列、第三工作负载历史数据序列的波动率序列、第三资源用量历史数据序列的变化率序列、第三资源用量历史数据序列的波动率序列中的多个时,其确定取值范围的具体过程可以参见图7所示的实施例七。如图7所示,该方法包括:
[0167] S701:根据每个所述特征序列分别确定第一取值范围;每个所述第一取值范围包括所述第一应用数据的第一最大预测值和所述第一应用数据的第一最小预测值。
[0168] 具体的,当云计算服务提供系统确定特征序列为多个时,云计算服务提供系统参照上述实施例六的执行过程,确定每个特征序列对应的第一取值范围,该第一取值范围包括第一应用数据的第一最大预测值和第一应用数据的第一最小预测值。若假设特征序列为n个(分别为1#特征序列、2#特征序列、……、n#特征序列),则云计算服务提供系统就可以为确定出n个第一取值范围,从而确定出1#第一最大预测值、1#第一最小预测值、2#第一最大预测值、2#第一最小预测值、n#第一最大预测值、n#第一最小预测值。
[0169] S702:将各个所述第一取值范围中的第一最大预测值和第一最小预测值进行第一处理,得到所述取值范围;其中,所述第一处理包括:取极值处理、平均处理、加权平均处理中的任一处理。
[0170] 具体的,上述取极值处理,用于将所有第一最大预测值进行比较以及将所有第一最小预测值进行比较,将最大的所述第一最大预测值作为所述第一应用数据的最大预测值,将最小的所述第一最小预测值作为所述第一应用数据的最小预测值;所述平均处理,用于将所有第一最大预测值进行平均,得到第一平均最大预测值,并用于将所有第一最小预测值进行平均,得到第一平均最小预测值,并将所述第一平均最大预测值作为所述第一应用数据的最大预测值,以及将第一平均最小预测值作为所述第一应用数据的最小预测值;所述加权平均处理,用于将所有第一最大预测值进行加权平均,得到第二平均最大预测值,并用于将所有第一最小预测值进行加权平均,得到第二平均最小预测值,并将所述第二平均最大预测值作为所述第一应用数据的最大预测值,以及将第二平均最小预测值作为所述第一应用数据的最小预测值。
[0171] 云计算服务提供系统根据上述各个第一取值范围中的第一最大预测值和第一最小预测值确定第一应用数据的取值范围可以有三种实现方式,具体为:
[0172] A:云计算服务提供系统可以采用取极值处理的方法,即从上述1#第一最大预测值、2#第一最大预测值、……、n#第一最大预测值中确定最大的第一最大预测值作为第一应用数据的最大预测值,将1#第一最小预测值、2#第一最小预测值、……、n#第一最小预测值中的最小的第一最小预测值确定为第一应用数据的最小预测值。
[0173] B:云计算服务提供系统可以平均处理的方法,即将1#第一最大预测值、2#第一最大预测值、……、n#第一最大预测值进行平均,得到第一平均最大预测值,并将该第一平均最大预测值作为第一应用数据的最大预测值;同时,对1#第一最小预测值、2#第一最小预测值、……、n#第一最小预测值进行平均,得到第一平均最小预测值,并将该第一平均最小预测值作为第一应用数据的最小预测值。
[0174] C:云计算服务提供系统可以加权平均处理的方法,即将1#第一最大预测值、2#第一最大预测值、……、n#第一最大预测值进行加权平均,得到第二平均最大预测值,并将该第二平均最大预测值作为第一应用数据的最大预测值;同时,对1#第一最小预测值、2#第一最小预测值、……、n#第一最小预测值进行加权平均,得到第二平均最小预测值,并将该第二平均最小预测值作为第一应用数据的最小预测值。其中,加权系统可以通过经验估计、最小二乘法、线性规划、机器学习等方法确定。
[0175] S506:根据所述第一预测值、所述第一补偿值和所述取值范围,获得第二预测值,并根据所述第二预测值为所述应用分配下一时刻的资源。
[0176] 具体参见上述实施例二至实施例三的具体过程,在此不再赘述。
[0177] 本发明实施例提供的修正资源预测误差的方法,通过根据第一历史应用数据对应的第一序列预测应用的第一应用数据,获得第一预测值;并根据第二历史应用数据对应的第二序列确定所述第一预测值的第一补偿值,并根据第三预设窗口内的第三历史应用数据确定用于表征历史应用数据的变化关系的特征序列,并根据特征序列和置信度确定应用的第一应用数据的第二预测值的取值范围,并结合第一预测值、第一补偿值对第一预测值进行修正,确保第二预测值落在该取值范围内,也就是说,本发明实施例在确定应用的第一应用数据的第二预测值时是基于具有可靠性的取值范围确定的,并不是现有技术中简单的取第一补偿值和第二补偿值中的较大值来修正第一预测值,故,本发明实施例可以在修正低估误差的同时,大大降低了资源分配时因高估误差导致的计算资源的浪费,从而减小云计算服务提供系统的运营成本。
[0178] 图8为本发明实施例提供的修正资源预测误差的方法实施例八的流程示意图。本实施例涉及的当第三历史应用数据为第三预设窗口内的资源预测误差历史数据时,云计算服务提供系统确定第二预测值,并根据第二预测值为应用在下一时刻分配资源的另一具体过程。如图8所示,该方法包括:
[0179] S801:根据第一历史应用数据对应的第一序列,预测应用的第一应用数据,获得第一预测值;其中,所述第一历史应用数据包括所述应用在第一预设窗口内的第一工作负载历史数据或所述第一预设窗口内的第一资源用量历史数据;所述第一应用数据包括所述应用在下一时刻的第一工作负载或下一时刻的第一资源用量;所述第一预设窗口为距当前时刻最近的长度为W1的时间窗口,且所述第一预设窗口中的时刻位于当前时刻之前。
[0180] 具体参见上述S101的描述,在此不再赘述。
[0181] S802:根据第二历史应用数据对应的第二序列,确定所述第一预测值的第一补偿值;其中,所述第二历史应用数据包括所述应用在第二预设窗口内的第二工作负载历史数据或所述第二预设窗口内的第二资源用量历史数据;所述第二预设窗口为距所述当前时刻最近的长度为W2的时间窗口,且所述第二预设窗口中的时刻位于当前时刻之前。
[0182] 具体参见上述S102的描述,在此不再赘述。
[0183] S803:根据第三预设窗口内的第三历史应用数据,确定第四序列为{E(t-W3+1),...,E(t)};其中,所述E(t)为t时刻的资源预测误差,所述E(t-W3+1)为(t-W3+1)时刻的资源预测误差。
[0184] 具体的,当第三历史应用数据为第三预设窗口内的资源预测误差历史数据时,该第四序列即为第三预设窗口内的资源预测误差历史数据序列。需要说明的是,该第三预设窗口的时间长度W3可以与W2相同,也可以不同,该第三预设窗口中的时刻位于当前时刻之前。且本实施例中根据第三历史应用数据确定第四序列的过程可以参见现有技术,在此不再赘述。
[0185] S804:根据Feature3(t)=|E(t)|和所述第四序列,确定绝对误差序列为{Feature3(t-W3+2),...,Feature3(t)};和/或,根据 所述第四序列和第五序列{L(t-W4+1),...,L(t)},确定弹性偏差率序列为{Feature4(t-W3+2),...,Feature4(t)};
[0186] 具体的,上述Feature3(t)为t时刻的资源预测误差的变化率,所述Feature3(t-W3+2)为(t-W3+2)时刻的资源预测误差的变化率;另外,上述第五序列为云计算服务提供系统根据第四预设窗口内的第四历史应用数据确定的,所述第四历史应用数据包括所述应用在第四预设窗口内的第四工作负载历史数据或所述第四预设窗口内的第四资源用量历史数据,所述第四预设窗口为距当前时刻最近的长度为W4的时间窗口,且所述第四预设窗口中的时刻位于当前时刻之前,所述L(t)为t时刻的第四历史应用数据的实际值,所述L(t-W4+
1)为(t-W4+1)时刻的第四历史应用数据的实际值;所述Feature4(t)为t时刻的资源预测误差的弹性偏差率,所述Feature4(t-W3+2)为(t-W3+2)时刻的资源预测误差的弹性偏差率;
所述特征序列包括所述绝对误差序列、所述弹性偏差率序列中的至少一个。
[0187] 进一步地,特征序列可以为上述绝对误差序列、弹性偏差率序列中一个或多个。另外,在确定上述弹性偏差率序列时需要确定第五序列{L(t-W4+1),...,L(t)},该第五序列是云计算服务提供系统根据第四预设窗口内的第四历史应用数据确定的,该第四预设窗口的时间长度W4可以与W2相同,也可以不同,或者,该W4可以与W1、W2、W3中的任一个相同,也可以与W1、W2、W3完全不同,本发明实施例对W4的值不做限制。上述第五序列可以为第四预设窗口内的第四工作负载历史数据序列,还可以为第四预设窗口内的第四资源用量历史数据序列。
[0188] S805:根据预设的置信度和所述特征序列,确定所述取值范围。
[0189] 具体的,确定取值范围具体可以分为下述两种情况,针对不同的情况确定取值范围的方式是不同的:
[0190] 第一种:当特征序列为绝对误差序列或弹性偏差率序列中的任一个时,其确定第一应用数据的取值范围的具体过程可以参见图6所示的实施例,在此不再赘述。
[0191] 第二种:当特征序列为绝对误差序列和弹性偏差率序列时,其确定第一应用数据的取值范围的具体过程可以参见图7所示的实施例,在此不再赘述。
[0192] S806:根据所述第一预测值、所述第一补偿值和所述取值范围,获得第二预测值,并根据所述第二预测值为所述应用分配下一时刻的资源。
[0193] 具体参见上述实施例二至实施例三的具体过程,在此不再赘述。
[0194] 可选的,作为本发明实施例的一种可能的实施方式,在上述实施例的基础上,云计算服务提供系统所确定的特征序列还可以包括:上述实施例五中的第三工作负载历史数据序列的变化率序列、第三工作负载历史数据序列的波动率序列、第三资源用量历史数据序列的变化率序列、第三资源用量历史数据序列的波动率序列中的任一个或多个,和,上述实施例八中的绝对误差序列、弹性偏差率序列中的一个或多个。也就是说,在上述实施例五的基础上,实施例五的方法步骤中还可以进一步包括S803和S804,且S803和S804可以与S503、S504同步或者先后进行,且S803和S804均在S502之后S505之前进行。
[0195] 需要说明的是,若将S803和S804与上述实施例五结合起来,则所确定的特征序列至少为两个,则上述S505中确定第一应用数据的取值范围需要参照上述图7所示的实施例七来进行。
[0196] 本发明实施例提供的修正资源预测误差的方法,通过根据第一历史应用数据对应的第一序列预测应用的第一应用数据,获得第一预测值;并根据第二历史应用数据对应的第二序列确定所述第一预测值的第一补偿值,并根据第三预设窗口内的第三历史应用数据确定用于表征历史应用数据的变化关系的特征序列,并根据特征序列和置信度确定应用的第一应用数据的第二预测值的取值范围,并结合第一预测值、第一补偿值对第一预测值进行修正,确保第二预测值落在该取值范围内,也就是说,本发明实施例在确定应用的第一应用数据的第二预测值时是基于具有可靠性的取值范围确定的,并不是现有技术中简单的取第一补偿值和第二补偿值中的较大值来修正第一预测值,故,本发明实施例可以在修正低估误差的同时,大大降低了资源分配时因高估误差导致的计算资源的浪费,从而减小云计算服务提供系统的运营成本。
[0197] 本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
[0198] 图9为本发明实施例提供的修正资源预测误差的装置实施例一的结构示意图。该装置可以集成在云计算服务提供系统中,也可以与云计算服务提供系统进行通信连接。如图9所示,该装置包括:第一获取模块10、第一确定模块11、第二获取模块12、第二确定模块13和处理模块14。
[0199] 其中,第一获取模块10,用于根据第一历史应用数据对应的第一序列,预测应用的第一应用数据,获得第一预测值;其中,所述第一历史应用数据包括所述应用在第一预设窗口内的第一工作负载历史数据或所述第一预设窗口内的第一资源用量历史数据;所述第一应用数据包括所述应用在下一时刻的第一工作负载或下一时刻的第一资源用量;所述第一预设窗口为距当前时刻最近的长度为W1的时间窗口,且所述第一预设窗口中的时刻位于当前时刻之前;
[0200] 第一确定模块11,用于根据第二历史应用数据对应的第二序列,确定所述第一预测值的第一补偿值;其中,所述第二历史应用数据包括所述应用在第二预设窗口内的第二工作负载历史数据或所述第二预设窗口内的第二资源用量历史数据;所述第二预设窗口为距所述当前时刻最近的长度为W2的时间窗口,且所述第二预设窗口中的时刻位于当前时刻之前;
[0201] 第二获取模块12,用于根据第三历史应用数据,获取特征序列;其中,所述特征序列用于预测所述第一应用数据的取值范围;其中,所述取值范围包括所述第一应用数据的最大预测值和所述第一应用数据的最小预测值;所述第三历史应用数据包括所述应用在第三预设窗口内的第三工作负载历史数据或所述第三预设窗口内的第三资源用量历史数据,和/或,所述第三预设窗口内的资源预测误差历史数据中的至少一种信息;所述第三预设窗口为距所述当前时刻最近的长度为W3的时间窗口,且所述第三预设窗口中的时刻位于当前时刻之前;
[0202] 第二确定模块13,用于根据预设的置信度和所述特征序列,确定所述取值范围;其中,所述特征序列为一个或多个;
[0203] 处理模块14,用于根据所述第一预测值、所述第一补偿值和所述取值范围,获得第二预测值,并根据所述第二预测值为所述应用分配下一时刻的资源。
[0204] 本发明实施例提供的修正资源预测误差的装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
[0205] 进一步地,所述处理模块14,具体用于根据所述第一预测值、所述第一补偿值和所述取值范围,对所述第一补偿值进行修正,获得第二补偿值,并将所述第一预测值和所述第二补偿值的和作为所述第二预测值。
[0206] 可选的,上述处理模块14,具体用于判断所述第一预测值是否大于所述第一应用数据的最大预测值;若判断所述第一预测值大于所述第一应用数据的最大预测值,则确定所述第二补偿值为0;若判断所述第一预测值小于所述第一应用数据的最大预测值,则所述处理模块14进一步判断所述第一预测值是否小于所述第一应用数据的最小预测值;
[0207] 若判断所述第一预测值小于所述第一应用数据的最小预测值,则进一步判断所述第一预测值与所述第一补偿值的和是否大于所述最大预测值;若判断所述第一预测值与所述第一补偿值的和大于所述最大预测值,则确定所述第二补偿值为所述第一应用数据的最大预测值减去所述第一预测值的差值,若判断所述第一预测值与所述第一补偿值的和小于所述最大预测值,则所述处理模块14进一步判断第一预测值与所述第一补偿值的和是否小于所述第一应用数据的最小预测值;若判断第一预测值与所述第一补偿值的和小于所述第一应用数据的最小预测值,则确定第二补偿值为所述第一应用数据的最小预测值减去所述第一预测值的差值,若判断第一预测值与所述第一补偿值的和大于所述第一应用数据的最小预测值,则确定第二补偿值为所述第一补偿值。
[0208] 可选的,上述处理模块14,还用于当判断所述第一预测值大于所述第一应用数据的最小预测值时,进一步判断所述第一预测值与所述第一补偿值的和是否大于所述第一应用数据的最大预测值;若判断所述第一预测值与所述第一补偿值的和大于所述第一应用数据的最大预测值,则确定第二补偿值为所述第一应用数据的最大预测值减去第一预测值的差值;若判断所述第一预测值与所述第一补偿值的和小于所述第一应用数据的最大预测值,则确定第二补偿值为第一补偿值。
[0209] 可选的,上述处理模块14,具体用于将所述第一预测值与所述第一补偿值的和确定为第三预测值,并判断所述第三预测值是否小于所述第一应用数据的最小预测值;若判断所述第三预测值小于所述第一应用数据的最小预测值,则确定所述第二预测值为所述第一应用数据的最小预测值;若判断所述第三预测值大于所述第一应用数据的最小预测值,则进一步判断所述第三预测值是否大于所述第一应用数据的最大预测值,若是,则确定所述第二预测值为所述第一应用数据的最大预测值,若否,则确定所述第二预测值为第三预测值。
[0210] 本发明实施例提供的修正资源预测误差的装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
[0211] 在上述实施例的基础上,进一步地,当当所述特征序列为一个时,则所述第二确定模块13,具体用于将所述特征序列中的元素按照从小到大的顺序进行排序,并根据排序后的特征序列确定第一元素的特征值,并根据所述第一元素的特征值确定所述取值范围;其中,所述第一元素在所述排序后的特征序列中的位置等于所述置信度与所述W3的乘积。
[0212] 当所述特征序列为多个时,则所述第二确定模块13,具体用于根据每个所述特征序列分别确定第一取值范围,并将各个所述第一取值范围中的第一最大预测值和第一最小预测值进行第一处理,得到所述取值范围;其中,每个所述第一取值范围包括所述第一应用数据的第一最大预测值和所述第一应用数据的第一最小预测值;所述第一处理包括:取极值处理、平均处理、加权平均处理中的任一处理;
[0213] 所述取极值处理,用于将所有第一最大预测值进行比较以及将所有第一最小预测值进行比较,将最大的所述第一最大预测值作为所述第一应用数据的最大预测值,将最小的所述第一最小预测值作为所述第一应用数据的最小预测值;所述平均处理,用于将所有第一最大预测值进行平均,得到第一平均最大预测值,并用于将所有第一最小预测值进行平均,得到第一平均最小预测值,并将所述第一平均最大预测值作为所述第一应用数据的最大预测值,以及将第一平均最小预测值作为所述第一应用数据的最小预测值;所述加权平均处理,用于将所有第一最大预测值进行加权平均,得到第二平均最大预测值,并用于将所有第一最小预测值进行加权平均,得到第二平均最小预测值,并将所述第二平均最大预测值作为所述第一应用数据的最大预测值,以及将第二平均最小预测值作为所述第一应用数据的最小预测值。
[0214] 图10为本发明实施例提供的修正资源预测误差的装置实施例二的结构示意图。在上述实施例的基础上,若所述第三历史应用数据为所述第三工作负载历史数据或所述第三资源用量历史数据,则进一步地,上述第二获取模块12,具体包括:第一获取单元121和第一确定单元122。
[0215] 其中,第一获取单元121,用于根据所述第三历史应用数据,确定第三序列为{L(t-W3+1),...,L(t)};其中,所述L(t)为t时刻的第三历史应用数据的实际值,所述L(t-W3+1)为(t-W3+1)时刻的第三历史应用数据的实际值;
[0216] 第一确定单元122,用于根据Feature1(t)=|L(t)-L(t-1)|和所述第三序列,确定变化率序列为{Feature1(t-W3+2) ,...,Feature1(t)};和/或,用于根据和所述第三序列,确定波动率序列为{Feature2(t-W3+2),...,Feature2(t)};其中,所述Feature1(t)为t时刻的第三历史应用数据的变化率,所述Feature1(t-W3+2)为(t-W3+2)时刻的第三历史应用数据的变化率,所述L(t-1)为t-1时刻的第三历史应用数据的实际值;所述Feature2(t)为t时刻的第三历史应用数据的波动率,所述Feature2(t-W3+2)为(t-W3+2)时刻的第三历史应用数据的变化率;所述特征序列包括所述变化率序列、所述波动率序列中的至少一个序列。
[0217] 本发明实施例提供的修正资源预测误差的装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
[0218] 图11为本发明实施例提供的修正资源预测误差的装置实施例三的结构示意图。在上述图9所示实施例的基础上,若所述第三历史应用数据为所述第三预设窗口内的资源预测误差历史数据,则进一步地,上述第二获取模块12,具体包括:第二确定单元123和/或第三确定单元124。需要说明的是,图11所示的结构示意图中仅示出了包括“第二确定单元123和第三确定单元124”的情况,第二获取模块12单独包括“第二确定单元123”或“第三确定单元124”的情况未示出。
[0219] 具体的,第二确定单元,用于根据所述第三历史应用数据,确定第四序列为{E(t-W3+1),...,E(t)},并根据Feature3(t)=|E(t)|和所述第四序列,确定绝对误差序列为{Feature3(t-W3+2),...,Feature3(t)};其中,其中,所述E(t)为t时刻的资源预测误差,所述E(t-W3+1)为(t-W3+1)时刻的资源预测误差,所述Feature3(t)为t时刻的资源预测误差的变化率,所述Feature3(t-W3+2)为(t-W3+2)时刻的资源预测误差的变化率;
[0220] 第三确定单元,用于根据所述第三历史应用数据,确定第四序列为{E(t-W3+1),...,E(t)},并根据第四预设窗口内的第四历史应用数据,确定第五序列为{L(t-W4+
1),...,L(t)},并根据 所述第四序列和所述第五序列,确定弹性偏差率序列为{Feature4(t-W3+2),...,Feature4(t)};其中,所述E(t)为t时刻的资源预测误差,所述E(t-W3+1)为(t-W3+1)时刻的资源预测误差;所述第四历史应用数据包括所述应用在第四预设窗口内的第四工作负载历史数据或所述第四预设窗口内的第四资源用量历史数据,所述第四预设窗口为距当前时刻最近的长度为W4的时间窗口,且所述第四预设窗口中的时刻位于当前时刻之前,所述L(t)为t时刻的第四历史应用数据的实际值,所述L(t-W4+1)为(t-W4+1)时刻的第四历史应用数据的实际值;所述Feature4(t)为t时刻的资源预测误差的弹性偏差率,所述Feature4(t-W3+2)为(t-W3+2)时刻的资源预测误差的弹性偏差率;所述特征序列包括所述绝对误差序列、所述弹性偏差率序列中的至少一个。
[0221] 本发明实施例提供的修正资源预测误差的装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
[0222] 图12为本发明实施例提供的修正资源预测误差的装置实施例四的结构示意图。若所述第三历史应用数据为所述第三工作负载历史数据或所述第三资源用量历史数据,和,所述资源预测误差历史数据,则在上述图10所示实施例的基础上,进一步地,上述第二获取模块12,还包括:第二确定单元123和/或第三确定单元124。需要说明的是,图12所示的结构示意图中仅示出了第二获取模块12包括“第一获取单元121、第一确定单元122、第二确定单元123和第三确定单元124”的情况,而第二获取模块12包括“第一获取单元121、第一确定单元122和第二确定单元123”以及第二获取模块12包括“第一获取单元121、第一确定单元122和第三确定单元124”的情况未示出。
[0223] 具体的,第二确定单元,用于根据所述第三历史应用数据,确定第四序列为{E(t-W3+1),...,E(t)},并根据Feature3(t)=|E(t)|和所述第四序列,确定绝对误差序列为{Feature3(t-W3+2),...,Feature3(t)};其中,其中,所述E(t)为t时刻的资源预测误差,所述E(t-W3+1)为(t-W3+1)时刻的资源预测误差,所述Feature3(t)为t时刻的资源预测误差的变化率,所述Feature3(t-W3+2)为(t-W3+2)时刻的资源预测误差的变化率;
[0224] 第三确定单元,用于根据所述第三历史应用数据,确定第四序列为{E(t-W3+1),...,E(t)},并根据第四预设窗口内的第四历史应用数据,确定第五序列为{L(t-W4+
1),...,L(t)},并根据 所述第四序列和所述第五序列,确定弹性偏差率序列为{Feature4(t-W3+2),...,Feature4(t)};其中,所述E(t)为t时刻的资源预测误差,所述E(t-W3+1)为(t-W3+1)时刻的资源预测误差;所述第四历史应用数据包括所述应用在第四预设窗口内的第四工作负载历史数据或所述第四预设窗口内的第四资源用量历史数据,所述第四预设窗口为距当前时刻最近的长度为W4的时间窗口,且所述第四预设窗口中的时刻位于当前时刻之前,所述L(t)为t时刻的第四历史应用数据的实际值,所述L(t-W4+1)为(t-W4+1)时刻的第四历史应用数据的实际值;所述Feature4(t)为t时刻的资源预测误差的弹性偏差率,所述Feature4(t-W3+2)为(t-W3+2)时刻的资源预测误差的弹性偏差率;所述特征序列包括所述绝对误差序列、所述弹性偏差率序列中的至少一个。
[0225] 进一步地,当所述第一历史应用数据为所述第一工作负载历史数据时,则所述第一应用数据为所述第一工作负载,所述第二历史应用数据为所述第二工作负载历史数据,所述第一预测值为所述第一工作负载的预测值;
[0226] 当所述第一历史应用数据为所述第一工作负载历史数据时,则所述第一应用数据为所述第一资源用量,所述第二历史应用数据为所述第二资源用量历史数据,所述第一预测值为所述第一资源用量的预测值。
[0227] 本发明实施例提供的修正资源预测误差的装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
[0228] 最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

附图说明

[0074] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0075] 图1为本发明实施例提供的修正资源预测误差的方法实施例一的流程示意图;
[0076] 图2为本发明实施例提供的修正资源预测误差的方法实施例二的流程示意图;
[0077] 图3为本发明实施例提供的修正资源预测误差的方法实施例三的流程示意图;
[0078] 图4为本发明实施例提供的修正资源预测误差的方法实施例四的流程示意图;
[0079] 图5为本发明实施例提供的修正资源预测误差的方法实施例五的流程示意图;
[0080] 图6为本发明实施例提供的修正资源预测误差的方法实施例六的流程示意图;
[0081] 图7为本发明实施例提供的修正资源预测误差的方法实施例七的流程示意图;
[0082] 图8为本发明实施例提供的修正资源预测误差的方法实施例八的流程示意图;
[0083] 图9为本发明实施例提供的修正资源预测误差的装置实施例一的结构示意图;
[0084] 图10为本发明实施例提供的修正资源预测误差的装置实施例二的结构示意图;
[0085] 图11为本发明实施例提供的修正资源预测误差的装置实施例三的结构示意图;
[0086] 图12为本发明实施例提供的修正资源预测误差的装置实施例四的结构示意图。
版权所有:盲专网 ©2023 zlpt.xyz  蜀ICP备2023003576号