云计算环境中调整应用所需资源的方法及装置的制造方法

文档序号:9730220阅读:362来源:国知局
云计算环境中调整应用所需资源的方法及装置的制造方法
【技术领域】
[0001]本发明涉及云计算技术领域,特别是涉及云计算环境中调整应用所需资源的方法及装置。
【背景技术】
[0002]云计算技术的不断发展,使得云计算能够灵活地、可扩展地和按需地为应用分配所需资源。考虑到云服务提供商的利益,资源的分配要尽量提高资源的利用率;同时还需要满足用户的应用需求,不能违反应用的服务等级协议(Service Level Agreement, SLA)。
[0003]在云计算环境中,云平台通常采用资源预测技术为应用进行资源分配,也就是基于预测到的应用未来的工作负载为应用分配资源。资源预测的一般过程包括:对应用的工作负载情况进行监控,对监控到的应用工作负载进行等间隔采样得到应用工作负载的历史时间序列,基于应用工作负载的历史时间序列来预测未来采样时刻的工作负载。这里所说的应用的工作负载可以为应用的并发请求数、应用的请求响应时间和/或应用的用户数坐寸。
[0004]现有技术中,基于资源预测技术来分配资源,需要设置一个固定的预测窗口,根据工作负载的历史数据,预测一个预测窗口中所有采样时刻的工作负载。然后根据预测窗口中各采样时刻的工作负载的预测值和代价函数,将预测窗口分成若干个时间段,确定每个时间段的长度以及预测窗口中各时间段云平台需要分配给应用的资源数量。这种方法依赖于预测窗口的设置,窗口的大小是固定的。每隔固定的预测窗口大小的时间进行一次资源预测,预测下一个预测窗口中所有时刻的工作负载。对于工作负载随时间呈现周期性变化应用来说,这种预测方法是相对准确的。
[0005]然而,现有用户需求中,会经常涉及一些工作负载表现为非周期性的应用。工作负载表现为非周期性是指工作负载随时间有规律的变化,但这种变化不具备周期性。比如一些工作负载与事件相关的应用:一个运行在云平台上的网络游戏,当进行资料片更新时,由于游戏玩家会抢鲜来体验更新后的游戏,从而导致应用的工作负载会出现明显变化,并且实际中两次资料片更新时,应用工作负载的变化规律可能是相同的。而资料片更新的时间是由游戏运营人员确定的,并不具备周期性。使用现有技术进行资源预测时,如果预测窗口选小了,就捕捉不到应用的工作负载的变化趋势,无法准确的进行资源预测;如果预测窗口选大了,由于任何预测不可避免都会存在误差,预测误差累加将产生比较大的预测误差。
[0006]因此,对于非周期性的应用,采用现有技术进行资源预测将会导致较大的预测误差,从而无法实现资源的合理分配。

【发明内容】

[0007]本发明实施例提供了一种云计算环境中调整应用所需资源的方法和装置,能够在非周期的应用中减小资源预测误差,从而更加准确的调整应用所需的资源。
[0008]第一方面,本发明实施例提供了一种云计算环境中的调整应用所需资源的方法,包括:
[0009]获取应用的当前采样时刻的实际工作负载以及当前采样时刻之前的实际工作负载模式的模式标识ID对应的工作负载取值范围;
[0010]根据所述当前采样时刻的实际工作负载和所述当前采样时刻之前的实际的工作负载模式的模式ID对应的工作负载取值范围,确定所述应用的当前采样时刻的实际工作负载模式发生模式转换;
[0011]获取最近的m次实际的模式转换数据;每一次实际的模式转换数据包含所述实际的模式转换后的模式ID和所述实际的模式转换前的模式的持续时间,其中m为正整数;
[0012]根据获取的最近的m次实际的模式转换数据以及应用的工作负载的模式预测模型,进行资源预测得到下次模式转换前的模式的持续时间和下次模式转换后的模式ID ;
[0013]根据预测得到的下次模式转换前的模式的持续时间、预测得到的下次模式转换后的模式ID以及最近的一次实际模式转换后的模式ID,确定下次资源调整的时间;
[0014]当到达所述下次资源调整的时间时,根据所述预测得到的下次模式转换后的模式ID,调整应用所需的资源。
[0015]结合第一方面,在第一方面的第一种可能的实施方式中,所述获取应用的当前采样时刻的实际工作负载以及当前采样时刻之前所述应用实际的工作负载模式的模式ID对应的工作负载取值范围之前,所述方法还包括:
[0016]根据所述应用的实际的工作负载的历史数据识别应用的工作负载模式,为每一个识别出的工作负载模式分配一个模式ID,并确定每一个识别出的工作负载模式的模式ID对应的描述信息;其中,所述模式ID对应的描述信息包含该模式ID对应的代表性工作负载和该模式ID对应的工作负载取值范围。
[0017]结合第一方面的第一种可能的实施方式,在第一方面的第二种可能的实施方式中,所述方法还包括:记录所述应用的工作负载的模式概述和实际的模式转换的历史数据;其中,所述工作负载的模式概述包含所述每一个识别出的工作负载模式的模式ID和所述每一个识别出的工作负载模式的模式ID对应的描述信息。
[0018]结合第一方面的第一种可能的实施方式和第一方面的第二种可能的实施方式,在第一方面的第三种可能的实施方式中,所述根据所述应用的实际的工作负载的历史数据识别应用的工作负载模式,并确定每一个识别出的工作负载模式的模式ID对应的描述信息具体包括:获取所述应用的实际的工作负载的历史数据;将所述应用的实际的工作负载的历史数据分为K个聚类;给所述K个聚类中的每个聚类分配一个标识作为模式ID,所述K个聚类与应用的K个工作负载模式一一对应;确定所述应用的每一个工作负载模式的工作负载取值范围;根据允许的服务等级协议SLA违反率为每个所述模式ID对应的工作负载模式确定代表性工作负载。
[0019]结合第一方面的第三种可能的实施方式,在第一方面的第四种可能的实施方式中,在所述根据允许的服务等级协议SLA违反率为每个所述模式ID对应的工作负载模式确定代表性工作负载之后,所述方法还包括:根据资源增加所需要的时间对所述K个工作负载模式进行合并处理。
[0020]结合第一方面至第一方面的第四种可能的实施方式中的任一项,在第一方面的第五种可能的实施方式中,所述工作负载取值范围为所述当前采样时刻之前所述应用实际的工作负载模式的模式ID对应的所有采样时刻的工作负载取值中的最大值和最小值,所述根据所述应用的当前采样时刻的实际工作负载和所述当前采样时刻之前所述应用实际的工作负载模式的模式ID对应的工作负载取值范围,确定所述应用的当前工作负载模式发生模式转换具体包括:确定当前采样时刻的实际工作负载大于所述最大值,或者小于所述最小值;或
[0021]所述工作负载取值范围为所述当前采样时刻之前所述应用实际的工作负载模式的模式ID对应的所有采样时刻的工作负载取值的平均值以及对应的阈值,所述根据所述应用的当前采样时刻的实际工作负载和所述当前采样时刻之前所述应用实际的工作负载模式的模式ID对应的工作负载取值范围,确定所述应用的当前工作负载模式发生模式转换具体包括:计算所述当前采样时刻的实际工作负载与所述平均值的差值的绝对值,确定所述绝对值超出所述阈值;其中,所述对应的阈值为所述当前采样时刻之前所述应用实际的工作负载模式的模式ID对应的各采样时刻的工作负载取值与所述平均值的最大差值。
[0022]结合第一方面至第一方面的第五种可能的实施方式中的任一项,在第一方面的第六种可能的实施方式中,根据所述应用的当前采样时刻的实际工作负载与所述模式概述中所有的工作负载模式对应的工作负载取值范围,确定所述应用的当前实际工作负载落入某个模式对应的工作负载取值范围内,获取该确定的模式的模式ID作为所述最近的一次实际的模式转换后的模式ID ;以及获取所述最近的一次实际的模式转换发生的时刻和上次实际的模式转换发生的时刻的时间差作为所述最近的一次实际的模式转换前的模式的持续时间;
[0023]从实际的模式转换的历史数据中获取除所述最近的一次实际的模式转换数据之外的m-Ι次实际的模式转换数据。
[0024]结合第一方面的第二种可能的实施方式至第一方面的第六种可能的实施方式中的任一项,在第一方面的第七种可能的实施方式中,所述根据所述预测得到的下次模式转换前的模式的持续时间、所述预测得到的下次模式转换后的模式ID以及最近的一次实际模式转换后的模式ID,确定下次资源调整的时间具体包括:
[0025]根据所述应用的工作负载的模式概述,获取所述预测得到的下次模式转换后的模式ID对应的代表性工作负载和最近的一次实际模式转换后的模式ID对应的代表性工作负载;
[0026]确定所述预测得到的下次模式转换后的模式ID对应的代表性工作负载大于所述最近的一次实际模式转换后的模式ID对应的代表性工作负载;确定下次资源调整的时间为最近的一次实际模式转换发生的时刻加上所述预测得到的下次模式转换前的模式的持续时间再减去增加资源所需的时间;或
[0027]确定所述预测得到的下次模式转换后的模式ID对应的代表性工作负载小于所述最近的一次实际模式转换后的模式ID对应的代表性工作负载,确定下次资源调整的时间为最近的一次实际模式转换发生的时刻加上所述预测得到的下次模式转换前的模式的持续时间。
[0028]结合第一方面的第二种可能的实施方式至第一方面的第七种可能的实施方式中的任一项,在第一方面的第八种可能的实施方式中,所述根据所述预测得到的下次模式转换的模式ID,调整应用所需的资源具体包括:
[0029]确定所述预测得到的下次模式转换后的模式ID对应的代表性工作负载超过所述最近的一次实际模式转换后的模式ID对应的代表性工作负载的工作负载;确定超过的工作负载所需的资源量,向第一资源池请求增加所述超过的工作负载所需的资源量;或
[0030]确定所述预测得到的下次模式转换后的模式ID对应的代表性工作负载少于所述最近的一次实际模式转换后的模式ID对应的代表性工作负载的工作负载;确定所述少于的工作负载所需的资源量;向所述第一资源池清求减少所述少于的工作负载所需的资源量;
[0031]其中,所述第一资源池包含处于停止状态的服务器/虚拟机,用于根据所述资源量进行资源调整。
[0032]结合第一方面的第二种可能的实施方式至第一方面的第八种可能的实施方式中的任一项,在第一方面的第九种可能的实施方式中,所述根据所述预测得到的下次模式转换的模式ID,调整应用所需的资源具体还包括:
[0033]确定所述当前采样时刻的实际工作负载大于最近的一次实际模式转换后资源预测得到的模式ID对应的代表性工作负载,以及确定所述当前采样时刻晚于已确定的最近的一次实际模式转换后资源预测得到的资源调整的时间,请求第二资源池为应用分配大于最近的一次实际模式转换后资源预测得到的模式ID对应的代表性工作负载所需的资源量;或
[0034]确定所述当前采样时刻的实际工作负载大于最近的一次实际模式转换后资源预测得到的模式ID对应的代表性工作负载,以及确定所述当前采样时刻早于已确定的最近的一次实际模式转换后资源预测得到的资源调整的时间,请求第二资源池为应用分配大于所述当前采样时刻之前所述应用的实际的工作负载模式的模式ID对应的代表性工作负载的工作负载所需的资源量;其中,所述第二资源池包含处于准备就绪状态的服务器或虚拟机。
[0035]第二方面,本发明实施例提供了一种计算环境中调整应用所需资源的装置,包括:
[0036]第一获取模块,用于获取应用的当前采样时刻的实际工作负载以及当前采样时刻之前的实际工作负载模式的模式标识ID对应的工作负载取值范围;
[0037]第一确定模块,用于根据所述第一获取模块获取的当前米样时刻的实际工作负载和当前采样时刻之前的实际的工作负载模式的模式ID对应的工作负载取值范围,确定所述应用的当前采样时刻的实际工作负载模式发生模式转换;
[0038]第二获取模块,用于获取最近的m次实际的模式转换数据;每一次实际的模式转换数据包含所述实际的模式转换后的模式ID和所述实际的模式转换前的模式的持续时间,其中m为正整数;
[0039]预测模块,用于根据所述第二获取模块获取的最近的m次实际的模式转换数据以及应用的工作负载的模式预测模型,进行资源预测得到下次模式转换前的模式的持续时间预和下次模式转换后的模式ID预测值;
[0040]第二确定模块,用于根据所述预测模块预测得到的下次模式转换前的模式的持续时间、预测得到的下次模式转换后的模式ID以及最近的一次实际模式转换后的模式ID,确定下次资源调整的时间;
[0041]调整模块,用于当到达所述下次资源调整的时间时,根据所述预测模块预测得到的下次模式转换后的模式ID,调整应用所需的资源。
[0042]结合第二方面,在第二方面的第一种可能的实施方式中,所述装置还包括:识别模块,用于根据所述应用的实际的工作负载的历史数据识别应用的工作负载模式,为每一个识别出的工作负载模式分配一个模式ID,并确定每一个识别出的工作负载模式的模式ID对应的描述信息;其中,所述模式ID对应的描述信息包含该模式ID对应的代表性工作负载和该模式ID对应的工作负载取值范围。
[0043]结合第二方面的第一种可能的实施方式,在第二方面的第二种可能的实施方式中,所述装置还包括:记录模块,用于记录所述应用的工作负载的模式概述和实际的模式转换的历史数据;其中,所述工作负载的模式概述包含所述每一个识别出的工作负载模式的模式ID和所述每一个识别出的工作负载模式的模式ID对应的描述信息。
[0044]结合第二方面的第一种可能的实施方式和第二方面的第二种可能的实施方式,在第二方面的第三种可能的实施方式中,所述识别模块,具体用于获取所述应用的工作负载的历史数据;将所述应用的实际的工作负载的历史数据分为K个聚类;给所述K个聚类中的每个聚类分配一个标识作为模式ID,所述K个聚类与应用的K个工作负载模式一一对应;确定所述应用的每一个工作负载模式的工作负载取值范围;根据允许的服务等级协议SLA违反率为每个所述模式ID对应的工作负载模式确定代表性工作负载。
[0045]结合第二方面的第三种可能的实施方式,在第二方面的第四种可能的实施方式中,所述识别模块,还用于根据资源增加所需要的时间对所述K个工作负载模式进行合并处理。
[0046]结合第二方面至第二方面的第四种可能的实施方式中的任一项,在第二方面的第五种可能的实施方式中,所述工作负载取值范围为所述当前采样时刻之前所述应用实际的工作负载模式的模式ID对应的所有采样时刻的工作负载取值中的最大值和最小值,则所述第一确定模块,具体用于确定当前采样时刻的实际工作负载大于所述最大值,或者小于所述最小值;或
[0047]所述工作负载取值范围为所述当前采样时刻之前所述应用实际的工作负载模式的模式ID对应的所有采样时刻的工作负载取值的平均值以及对应的阈值,则所述第一确定模块,具体用于计算所述当前采样时刻的实际工作负载与所述平均值的差值的绝对值,确定所述绝对值超出所述阈值;其中,所述对应的阈值为所述当前采样时刻之前所述应用实际的工作负载模式的模式ID对应的各采样时刻的工作负载取值与所述平均值的最大差值。
[0048]结合第二方面至第二方面的第五种可能的实施方式中的任一项,在第二方面的第六种可能的实施方式中,所述第
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1