用于在云环境中进行资源分配的方法和装置的制造方法_4

文档序号:8361286阅读:来源:国知局

[0076] 另一方面,还可以基于特定虚拟机的各项硬件指标来衡量该特定虚拟机的性能状 态。例如,这些硬件指标可以包括但不限于CPU使用率、存储器使用率、CPU温度、I/ 0响 应时间等等。在本发明的一个实施方式中,可以单独地使用应用度量参数、单独地使用硬件 度量参数、或者还可以将应用度量参数与硬件度量参数两者相结合。
[0077] 本领域技术人员可以根据上文所述的原理来设计度量参数的具体计算方式,例 如,硬件度量参数可以包括:CPU使用率,以0-1之间的小数来表示(例如,0. 9);存储器使 用率,以0-1之间的小数来表示(例如,0.5),等。在以硬件指标来衡量度量参数的情况下, 可以将CPU使用率与存储器使用率这两项指标加权求和,以便计算关键性能指标。在本发 明的一个实施方式中,可以采用如下公式计算关键性能指标:
[0078] iCPI= -par,公式 1
[0079] 其中m表示度量参数的数量,在上文所示的包括CPU使用率与存储器使用率的 情况下,m=2 ;ai表示针对第i个度量参数的权重;Pari表示第i个度量参数的数值。在 上文所示的示例中,当将用于CPU使用率与存储器使用率的权重分别设置为0.5时, KPI=O. 5X0. 9+0. 5X0. 5=0. 70。本领域技术人员还可以采用其他公式来计算针对各个虚拟 机的关键性能指标。尽管上文中仅仅以硬件度量参数为示例而示出了关键性能指标的计算 方式,本领域技术人员可以基于所示出的原理,自行设计基于应用度量参数和/或硬件度 量参数来计算关键性能指标的具体算法。
[0080] 在本发明的一个实施方式中,响应于关键性能指标指示至少第一虚拟机过载,通 过云环境来基于关键性能指标在至少第一虚拟机与虚拟系统内部的其他虚拟机之间进行 资源再分配包括:基于关键性能指标来从其他虚拟机中选择具有充足空闲资源的第二虚拟 机;以及在至少第一虚拟机与第二虚拟机之间进行资源再分配。
[0081] 在本发明的一个实施方式中,可以采用关键性能指标来评价虚拟机的运行状态, 例如,可以定义采用0-1之间的小数来表示虚拟机的工作负载,数值越大表示虚拟机的过 载情况越严重,数值越小表示虚拟机的工作负载越小。因而可以基于各个虚拟机的关键性 能指标来判断第一虚拟机是否过载,继而选择具有充足空闲资源的第二虚拟机,以便在第 一虚拟机与第二虚拟机之间进行资源再分配。
[0082] 例如,可以定义当关键性能指标大于等于0. 6时认为虚拟机过载。在上文的示例 中,关键性能指标=0. 7 > 0. 6,因而可以从虚拟系统中的其余虚拟机中选择关键性能指标 较低的虚拟机作为第二虚拟机。
[0083] 在本发明的一个实施方式中,在至少第一虚拟机与第二虚拟机之间进行资源再分 配包括:查找使得第一虚拟机过载的应用;以及将应用从至少第一虚拟机迁移至第二虚拟 机。
[0084] 可以基于虚拟机的系统日志或者应用度量参数等来查找使得虚拟机过载的应用, 例如,当在如图4所示的VM-1412上分别运行有应用1 (用于处理用户对于购物网站访问) 以及应用2 (用于处理存储商品相关数据)时,可以检测各个应用占用计算资源的高低,进 而找到对于虚拟机的工作负载影响最为显著的应用。例如,当用户访问骤增时,可以发现应 用1是造成虚拟机过载的应用。继而,可以将应用从至少第一虚拟机迁移至第二虚拟机。在 下文中,将具体描述如何迁移应用。
[0085] 图7示意性示出了根据本发明一个实施方式的、对应用进行迁移的方法的流程图 700。在步骤S702中,从源虚拟机向目的虚拟机克隆待迁移的应用,在此的克隆是指将与待 克隆应用相关联的全部数据从源虚拟机复制至目的虚拟机。在克隆操作期间,源虚拟机上 的应用继续运行(例如在上文所述的应用1的示例中,应用1继续处理已经接收到的对购 物网站的访问请求)。
[0086] 在此实施方式中,可以以克隆操作执行完毕的时间点作为指标,来确定由哪个虚 拟机响应于用户的访问请求。具体地,在步骤S704中,在该时间点之前可以由源虚拟机来 处理已经接收到的未完成的请求,而在该时间点之后可以由目的虚拟机接收新的请求。上 文仅示意性示出了迁移操作的原理,本领域技术人员还可以采用其他方式来确定在迁移操 作期间由哪个虚拟机来响应于用户的访问请求。在步骤S706中,关闭源虚拟机中的应用, 此时该应用已经被迁移至目的虚拟机,并且由该目的虚拟机接收并处理用户请求。
[0087] 图8A和图8B分别示意性示出了根据本发明一个实施方式的对应用进行迁移的框 图800A和800B。在图8A中,假设应用1810和应用2820运行在虚拟机VM-1212上,应用 3830运行在虚拟机VM-2214上,而应用4840运行在虚拟机VM-N216上。已经采用如上文所 述的方法确定了应用2820(以阴影示出)是造成虚拟机VM-1212过载的应用,并且期望将 该应用2820迁移至具有足够空闲资源的虚拟机VM-N216。
[0088] 可以采用如上文参见图7所示的方法,来将造成虚拟机VM-1212过载的应用2820 迁移至虚拟机VM-N216。由于虚拟机VM-N216具有充足的空闲资源,因而在迁移操作之后各 个应用1-应用4都处于正常运行状态。
[0089] 还可能会存在另一种情况,例如,应用2820需要占用大量计算资源,而虚拟系统 中的其他虚拟机目前并不具有足够运行该应用2820的计算资源。应当注意,尽管此时未能 找到具有充足计算资源的虚拟机,然而,通过在虚拟系统内部迁移应用,可以调整多个应用 在各个虚拟机之间的分布,进而在单一虚拟机处获得足够运行应用2820的计算资源。
[0090] 图9A、图9B和图9C分别示意性示出了根据本发明另一实施方式的、对应用进行迁 移的框图900A、900B和900C。如图9A所示,虚拟机VM-N216上已经运行了应用4840,并且 该虚拟机VM-N216的当前空闲资源不足以运行应用2820。此时,可以首先将应用4840迁移 至虚拟机VM-2214 (如箭头Al所示),继而再将应用2820迁移至虚拟机VM-N216 (如箭头 A2所示)。
[0091] 如图9B所示,此时已经将应用4840迁移至虚拟机VM-2214,因而在虚拟机 VM-N216中具有足够的资源用于运行应用2820。接着,通过如箭头A2所示的迁移步骤,将 应用2820迁移至虚拟机VM-N216。迁移后的状态如图9C所示,此时应用3830和应用4840 运行于虚拟机VM-2214,而应用1810和应用2820分别运行于虚拟机VM-1212和虚拟机 VM-N216,并且各个应用都处于正常运行状态。
[0092] 相对于现有的向云计算环境的资源池中请求计算资源的技术方案,如图9A-图9C 的迁移过程可以提供更多灵活性,并且提高各个虚拟机中的资源使用效率。
[0093] 在本发明的一个实施方式中,在至少第一虚拟机与第二虚拟机之间进行资源再分 配包括:将第二虚拟机的空闲资源分配给至少第一虚拟机。由于本发明的各个实施方式涉 及在一个虚拟系统中的多个虚拟机之间的资源分配,除了如上文的将造成源虚拟机超载的 应用迁移至具有充足计算资源的目的虚拟机以外,还可以将其他虚拟机中的空闲资源分配 给源虚拟机,以缓和源虚拟机中资源不足的状况。
[0094] 在本发明的一个实施方式中,进一步包括:在所述再分配之后响应于仍然存在资 源不足,向云环境请求附加资源。如果在虚拟系统内部进行资源再分配仍然不能满足需求, 则还可以向云计算环境中的资源池请求附加资源。在此步骤中的请求操作可以遵循云计算 环境中的资源请求过程,因而不再赘述。
[0095] 在本发明的一个实施方式中,其中利用以下中的至少一种方式来检测所述度量参 数:周期性地;以及响应于虚拟系统中的警报。为了提前预报虚拟系统中可能出现的过载 状况,可以周期性地监控各个虚拟机的度量参数;或者,还可以在虚拟系统中出现过载警报 的情况下,执行如本发明所述的方法。通过结合两种触发方式,一方面可以基本实时地(例 如,每分钟)监控各个虚拟机的运行状态,另一方面还可以在突发警报时及时处理潜在的 危险,以避免出现系统崩溃等更严重的故障。
[0096] 图10示意性示出了根据本发明一个实施方式的在云环境中进行资源分配的装置 的框图1000。在本发明的一个实施方式中,提供了一种用于在云环境中进
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1