CN103685542A - 云虚拟机迁移方法、装置和系统 - Google Patents

云虚拟机迁移方法、装置和系统 Download PDF

Info

Publication number
CN103685542A
CN103685542A CN201310717195.7A CN201310717195A CN103685542A CN 103685542 A CN103685542 A CN 103685542A CN 201310717195 A CN201310717195 A CN 201310717195A CN 103685542 A CN103685542 A CN 103685542A
Authority
CN
China
Prior art keywords
main frame
value
migration
chgl
module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201310717195.7A
Other languages
English (en)
Other versions
CN103685542B (zh
Inventor
李佳
江涛
周树语
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chongqing Radio and TV University
Original Assignee
Chongqing Radio and TV University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Chongqing Radio and TV University filed Critical Chongqing Radio and TV University
Priority to CN201310717195.7A priority Critical patent/CN103685542B/zh
Publication of CN103685542A publication Critical patent/CN103685542A/zh
Application granted granted Critical
Publication of CN103685542B publication Critical patent/CN103685542B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种云虚拟机迁移方法,属于云计算领域,本发明旨在动态的跟踪云计算系统各个主机的运行时负载变化和其可靠性表现,然后自适应的决定控制的时机,并在主机间进行虚拟机进程的迁移,对系统负载和可靠性的变化做出及时的响应,从而改善系统的负载平衡度和提高任务可靠性。本发明充分考虑了云系统负载的动态波动性,通过跟踪其趋势预测系统未来的趋势变化,并提前进行VM迁移以改善负载平衡性,本发明将PM的失效可能性纳入负载平衡的考虑,使VM迁移策略能兼顾性能和任务可靠性,同时本发明根据系统状态动态的计算可变的控制间隔时间,避免了“控制过密”和“控制过疏”两个极端。

Description

云虚拟机迁移方法、装置和系统
技术领域
本发明属于云计算领域,特别是涉及一种云虚拟机迁移方法、装置和系统。
背景技术
云计算是一种基于互联网的计算方式,通过这种方式,共享的软硬件资源和信息可以按需求提供给计算机和其他设备。云计算系统通过系统虚拟化、多处理器虚拟化、内存虚拟化、I/O虚拟化等虚拟化技术将物理资源虚拟化成资源池,这些资源再由云计算平台进行统一的管理调度。
云系统中的主要计算单元--PM(Physical Machine,物理机),在运行时会产生偶发错误和失效,从而导致任务逻辑和控制逻辑的混乱,进而影响系统的可靠性。由于现今的云计算系统多运用于大规模科学计算、实时金融、在线交易、流媒体多播等高负载和高复杂度的应用,其可靠性问题相对于传统的分布式计算和服务计算更加突出。此外,由于云计算多构架于广域分布的Internet上,任务请求的时间和地域分布体现出不规律性和人为偶然性,云系统的实时负载因此也更具动态波动性。由于系统负载的波峰和波谷出现时机难以预测,而系统又时刻受到主机失效和故障的威胁,动态的对云系统进行兼顾负载均衡和可靠性的控制存在很大的难度。传统的技术往往很难在性能、负载平衡度、和可靠性间取得良好的平衡。
近年来的研究发现,云系统中的主机(也就是物理机PM)的可靠性表现与其运行的时长有关:PM从第一次启动或者最近一次被完整修复后,其运行的时间越长,则出现故障和失效的几率越高。这就是可靠性工程中的“衰老(Aging)”现象。从第一次启动或者最近一次被完整修复开始到故障出现的时间间隔,可近似认为服从指数分布。这个时间间隔越短,代表失效率(Failure Rate)越高,反之则越低。一旦PM出现失效,其上运行的VM(虚拟机)也同时失效,从而导致任务可靠性的下降。因此,应该尽可能在失效出现前,将高失效可能性的PM上的VM进程,迁移到其他低失效可能性的PM上。同时,VM迁移还需考虑PM的负载情况。高负载的PM,计算和存储资源处于紧缺状态,任务的执行效率收到严重影响。因此,将高负载PM上的VM进程,迁移到低负载主机上,能实现更好的负载平衡性和性能。为了兼顾可靠性和负载均衡性,VM迁移策略须综合考虑上述因素。
现有的VM迁移主要存在以下的不足:
(1)多采用固定周期控制的手段。现有的方法多预先设定一个固定的间隔时间进行周期性的控制。然而,由于系统负载的动态可变性,固定间隔时间的控制策略往往难以及时的对短时间内的负载激增做出迅速响应。
(2)未充分考虑云主机的失效特性。现有的技术在进行VM迁移时,主要目标还是进行性能优化和负载均衡,没有考虑PM主机失效特性对系统和任务可靠性的影响。
(3)缺乏预测机制。现有的技术,总是等负载达到一个阈值或已经出现主机失效时,才采取VM迁移的措施,缺乏提前预测和与控制的手段和机制。
发明内容
有鉴于现有技术的上述缺陷,本发明所要解决的技术问题是提供一种更加可靠且负载均衡的云虚拟机迁移方法。
为实现上述目的,本发明提供了一种云虚拟机迁移方法,包括以下步骤:
步骤一、收集云系统中各PM状态信息:
所述PM状态信息包括:对于第i个PM,从最近一次系统恢复/重启之后累积的运行时间Ti;对于第i个PM,上一次失效到最近一次失效之间的间隔时间Di;对于第i个PM,最近k次测得的PM的任务负载率即运行的VM数量与最大允许VM数量的比值Ri,1、Ri,2、.....、Ri,k,所述任务负载率测量的间隔时间为δ,δ>0,i、k均为正整数;
步骤二、预测各PM的未来负载预测值和未来存活概率;
根据Ri,1、Ri,2、.....、Ri,k序列数据计算负载率样本量,设定负载率样本量为SPi,j,计算 sp i , j = &delta; R i , j if R i , j > 0 jz j &times; &delta; ifR i , j = 0 得到负载率样本量,所述jzj为紧张系数, jz i = ( 1 - s i ) &times; e - &delta; mean { &delta; R i , j | R i , j > 0,0 < jsk } + s i &times; &delta; &delta; ; 所述mean为集合中元素求平均的操作;
Figure BDA0000444374240000033
所述num为求集合元素个数的操作;针对每个spi,j值,设定其前后数据点对应斜率余弦值为xli,j,计算 xl i , j = sp i , j &times; ( sp i , j - sp i , j - 1 ) + sp i , j + 1 &times; ( sp i , j - 1 - sp i , j ) ( 1 + ( sp i , j - sp i , j - 1 ) 2 ) &times; ( 1 + ( sp i , j - sp i , j + 1 ) 2 ) 得到对应斜率余弦值;设定PM各记录值的平均曲度为PJQi:计算PJQi=mean{xli,j|0<j≤k}得到PM各记录值的平均曲度;
为spi,j设一个标记变量PHi,j,用来记录此记录值是否为非平滑点, PH i , j = 1 if xl i , j < &beta; &times; PJQ i 0 else ; 所述β为给定的系数,0<β<0.5;设定PM对应的spi,j序列平滑点的平均增长率为ZZLi,计算 ZZL i = mean { sp i , x - sp i , 1 x - 1 | 0 < l < x &le; k , PH i , x &NotEqual; 0 , PH i , 1 &NotEqual; 0 } 得到PM对应的spi,j序列平滑点的平均增长率;设定各PM的非平滑点变化趋势对对未来预期故障间隔时间的平均影响值为INFi
Figure BDA0000444374240000043
所述α为距离减弱因子,0<α<1;所述 TP i , j = sp i , j - sp i , j - 1 if PH i , j = 0 , PH i , j - 1 = 1 0 else ;
设定第i个PM的未来负载预测值为WLFZi
计算WLFZi=INFi+ZZLi×spi,k得到第i个PM的未来负载预测值;
设定云系统的平均失效率为SSL,
Figure BDA0000444374240000045
设定PM的未来存活概率为CHGLi,计算得到PM的未来存活概率;
步骤三、计算控制决策参考值和控制等待时间;
所述控制决策参考值按以下步骤进行:
所述控制决策参考值为移入主机编号和移出主机编号;设定具有最高存活率的主机标号为MAXCH、具有最低存活率的主机标号为MINCH;
计算MAXCH=xifCHGLX=max{CHGLi|0<i≤n}和MINCH=xifCHGLX=min{CHGLi|0<i≤n}得到具有最高存活率的主机标号和具有最低存活率的主机标号;所述max和min分别为集合中求最大元素和最小元素的操作;
设定具有最高未来负载预测值的主机标号为MAXFZ、具有最低未来负载预测值的主机标号为MINFZ;计算
MAXFZ=xifWLZFX=max{WLFZi|0<i≤n}和MINFZ=xifWLFZX=min{WLFZi|0<i≤n}得到具有最高未来负载预测值的主机标号和具有最低未来负载预测值的主机标号;
设定移出主机编号为YC,计算 YC = MINCHifCHGL MINCH < 0.1 and 0.8 &GreaterEqual; WLZF MINCH > 0.5 MAXFZif 0.1 &le; CHGL MAXFZ < 0.3 and WLZF MAXFZ > 0.8 0 else 得到移出主机编号;设定移入主机编号为YR,计算 YR = MAXCHifCHGL MAXCH > 0.8 and 0.3 &GreaterEqual; WLZF MAXCH > 0.1 MINFZif 0.8 &GreaterEqual; CHGL MINFZ > 0.5 and WLZF MINFZ < 0.1 0 else 得到移入主机编号;
所述计算控制等待时间按以下步骤进行:
设定控制的等待时间为WT,计算 WT = wcif &Sigma; 0 < isn ( CHGL i - 0.8 ) > 0 and &Sigma; 0 < isn ( 0.1 - WLFZ i ) > 0 &gamma; &times; wcelse 得到控制等待时间;所述wc为系统初始给出的控制间隔时间,wc>0,0<γ<0.5;
步骤四、进行VM迁移:
根据所述控制的等待时间WT、移出主机编号YC和移入主机编号YR,在长度为WT的时间段内对云系统主机上的VM进程进行迁移控制。
所述在长度为WT的时间段内对云系统主机上的VM进程进行迁移控制按以下步骤进行:
当YC和YR值中至少有一个为0时,则在长度为WT的时间段内,不做任何VM迁移操作;当YC和YR值都不为0时,则从第YC个主机上迁出一个VM并迁入第YR个主机;
然后返回执行步骤一。
本发明要解决的另一技术问题是提供一种能够实现云虚拟机在云系统的主机上迁移的云虚拟机迁移装置。
为实现上述目的,本发明提供了一种云虚拟机迁移装置,包括主机监测模块、控制决策模块和VM迁移实施模块;所述主机监测模块的输出端连接所述控制决策模块的输入端,所述控制决策模块的输出端连接所述VM迁移实施模块的输入端;
所述主机监测模块用于收集云系统中各PM状态信息;
所述控制决策模块用于预测各PM的未来负载预测值和未来存活概率,并计算控制决策参考值和控制等待时间;
所述VM迁移实施模块用于对云系统主机上的VM进程进行迁移控制。
所述主机监测模块收集云系统中各PM状态信息,所述PM状态信息包括:对于第i个PM,从最近一次系统恢复/重启之后累积的运行时间Ti;对于第i个PM,上一次失效到最近一次失效之间的间隔时间Di;对于第i个PM,最近k次测得的PM的任务负载率Ri,1、Ri,2、.....、Ri,k,所述任务负载率测量的间隔时间为δ,δ>0,i、k均为正整数。
所述控制决策模块包括预测单元、控制量计算单元和控制时机决策单元;所述主机监测模块的输出端连接所述预测单元的输入端,所述预测单元的第一输出端连接所述控制量计算单元的输入端,所述预测单元的第二输出端连接所述控制时机决策单元的输入端,所述控制量计算单元的输出端连接所述VM迁移实施模块的第一输入端,所述控制时机决策单元的输出端连接所述VM迁移实施模块的第二输入端;
所述预测单元用于预测各PM的未来负载预测值和未来存活概率;
所述控制量计算单元用于计算控制决策参考值;
所述控制时机决策单元用于计算控制等待时间;
所述预测单元根据Ri,1、Ri,2、.....、Ri,k序列数据计算负载率样本量,设定负载率样本量为SPi,j,所述预测单元计算 sp i , j = &delta; R i , j if R i , j > 0 jz j &times; &delta; ifR i , j = 0 得到负载率样本量,所述jzj为紧张系数, jz i = ( 1 - s i ) &times; e - &delta; mean { &delta; R i , j | R i , j > 0,0 < jsk } + s i &times; &delta; &delta; ; 所述mean为集合中元素求平均的操作;
Figure BDA0000444374240000083
所述num为求集合元素个数的操作;
所述预测单元针对每个spi,j值,设定其前后数据点对应斜率余弦值为xli,j,计算 xl i , j = sp i , j &times; ( sp i , j - sp i , j - 1 ) + sp i , j + 1 &times; ( sp i , j - 1 - sp i , j ) ( 1 + ( sp i , j - sp i , j - 1 ) 2 ) &times; ( 1 + ( sp i , j - sp i , j + 1 ) 2 ) 得到对应斜率余弦值;设定PM各记录值的平均曲度为PJQi:所述预测单元计算PJQi=mean{xli,j|0<j≤k}得到PM各记录值的平均曲度;
为spi,j设一个标记变量PHi,j,用来记录此记录值是否为非平滑点, PH i , j = 1 if xl i , j < &beta; &times; PJQ i 0 else ; 所述β为给定的系数,0<β<0.5;所述预测单元设定PM对应的spi,j序列平滑点的平均增长率为ZZLi,计算 ZZL i = mean { sp i , x - sp i , 1 x - 1 | 0 < l < x &le; k , PH i , x &NotEqual; 0 , PH i , 1 &NotEqual; 0 } 得到PM对应的spi,j序列平滑点的平均增长率;设定各PM的非平滑点变化趋势对对未来预期故障间隔时间的平均影响值为INFi
Figure BDA0000444374240000093
所述α为距离减弱因子,0<α<1;所述 TP i , j = sp i , j - sp i , j - 1 if PH i , j = 0 , PH i , j - 1 = 1 0 else ;
设定第i个PM的未来负载预测值为WLFZi
所述预测单元计算WLFZi=INFi+ZZLi×spi,k得到第i个PM的未来负载预测值;
设定云系统的平均失效率为SSL,
Figure BDA0000444374240000095
设定PM的未来存活概率为CHGLi,所述预测单元计算
Figure BDA0000444374240000096
得到PM的未来存活概率;
所述预测单元将WLFZi和CHGLi值均发送给控制量计算单元和控制时机决策单元;控制量计算单元接收到WLFZi和CHGLi值,设定具有最高存活率的主机标号为MAXCH、具有最低存活率的主机标号为MINCH;
控制量计算单元计算MAXCH=xifCHGLX=max{CHGLi|0<i≤n}和MINCH=xifCHGLX=min{CHGLi|0<i≤n}得到具有最高存活率的主机标号和具有最低存活率的主机标号;所述max和min分别为集合中求最大元素和最小元素的操作;控制量计算单元设定具有最高未来负载预测值的主机标号为MAXFZ、具有最低未来负载预测值的主机标号为MINFZ;计算
MAXFZ=xifWLZFX=max{WLFZi|0<i≤n}和MINFZ=xifWLFZX=min{WLFZi|0<i≤n}得到具有最高未来负载预测值的主机标号和具有最低未来负载预测值的主机标号;
设定移出主机编号为YC,控制量计算单元计算 YC = MINCHifCHGL MINCH < 0.1 and 0.8 &GreaterEqual; WLZF MINCH > 0.5 MAXFZif 0.1 &le; CHGL MAXFZ < 0.3 and WLZF MAXFZ > 0.8 0 else 得到移出主机编号;设定移入主机编号为YR,控制量计算单元计算 YR = MAXCHifCHGL MAXCH > 0.8 and 0.3 &GreaterEqual; WLZF MAXCH > 0.1 MINFZif 0.8 &GreaterEqual; CHGL MINFZ > 0.5 and WLZF MINFZ < 0.1 0 else 得到移入主机编号;控制量计算单元将YC和YR值发送给VM迁移实施模块;
所述控制时机决策单元接收WLFZi和CHGLi值,设定控制的等待时间为WT,所述控制时机决策单元计算 WT = wcif &Sigma; 0 < isn ( CHGL i - 0.8 ) > 0 and &Sigma; 0 < isn ( 0.1 - WLFZ i ) > 0 &gamma; &times; wcelse 得到控制等待时间;所述wc为系统初始给出的控制间隔时间,wc>0,0<γ<0.5;所述控制时机决策单元将控制的等待时间WT发给所述VM迁移实施模块。
所述VM迁移实施模块根据所述控制的等待时间WT、移出主机编号YC和移入主机编号YR,在长度为WT的时间段内对云系统主机上的VM进程进行迁移控制:
当YC和YR值中至少有一个为0时,则在长度为WT的时间段内,不做任何VM迁移操作;当YC和YR值都不为0时,则从第YC个主机上迁出一个VM并迁入第YR个主机。
本发明还要解决的一技术问题是提供一种能够实现云虚拟机在云系统的主机上迁移的云虚拟机迁移系统。
为实现上述目的,本发明提供了一种云虚拟机迁移系统,包括云系统主机;所述云系统主机内设置有云虚拟机迁移装置;所述云虚拟机迁移装置包括主机监测模块、控制决策模块和VM迁移实施模块;所述控制决策模块包括预测单元、控制量计算单元和控制时机决策单元;所述主机监测模块的输出端连接所述预测单元的输入端,所述预测单元的第一输出端连接所述控制量计算单元的输入端,所述预测单元的第二输出端连接所述控制时机决策单元的输入端,所述控制量计算单元的输出端连接所述VM迁移实施模块的第一输入端,所述控制时机决策单元的输出端连接所述VM迁移实施模块的第二输入端;
所述主机监测模块用于收集云系统中各PM状态信息;
所述预测单元用于预测各PM的未来负载预测值和未来存活概率;
所述控制量计算单元用于计算控制决策参考值;
所述控制时机决策单元用于计算控制等待时间;
所述VM迁移实施模块用于对云系统主机上的VM进程进行迁移控制;
所述主机监测模块收集云系统中各PM状态信息,所述PM状态信息包括:对于第i个PM,从最近一次系统恢复/重启之后累积的运行时间Ti;对于第i个PM,上一次失效到最近一次失效之间的间隔时间Di;对于第i个PM,最近k次测得的PM的任务负载率Ri,1、Ri,2、.....、Ri,k,所述任务负载率测量的间隔时间为δ,δ>0,i、k均为正整数;
所述预测单元根据Ri,1、Ri,2、.....、Ri,k序列数据计算负载率样本量,设定负载率样本量为SPi,j,所述预测单元计算 sp i , j = &delta; R i , j if R i , j > 0 jz j &times; &delta; ifR i , j = 0 得到负载率样本量,所述jzj为紧张系数, jz i = ( 1 - s i ) &times; e - &delta; mean { &delta; R i , j | R i , j > 0,0 < jsk } + s i &times; &delta; &delta; ; 所述mean为集合中元素求平均的操作;
Figure BDA0000444374240000131
所述num为求集合元素个数的操作;
所述预测单元针对每个spi,j值,设定其前后数据点对应斜率余弦值为xli,j,计算 xl i , j = sp i , j &times; ( sp i , j - sp i , j - 1 ) + sp i , j + 1 &times; ( sp i , j - 1 - sp i , j ) ( 1 + ( sp i , j - sp i , j - 1 ) 2 ) &times; ( 1 + ( sp i , j - sp i , j + 1 ) 2 ) 得到对应斜率余弦值;
设定PM各记录值的平均曲度为PJQi:所述预测单元计算PJQi=mean{xli,j|0<j≤k}得到PM各记录值的平均曲度;
为spi,j设一个标记变量PHi,j,用来记录此记录值是否为非平滑点, PH i , j = 1 if xl i , j < &beta; &times; PJQ i 0 else ; 所述β为给定的系数,0<β<0.5;所述预测单元设定PM对应的spi,j序列平滑点的平均增长率为ZZLi,计算 ZZL i = mean { sp i , x - sp i , 1 x - 1 | 0 < l < x &le; k , PH i , x &NotEqual; 0 , PH i , 1 &NotEqual; 0 } 得到PM对应的spi,j序列平滑点的平均增长率;设定各PM的非平滑点变化趋势对对未来预期故障间隔时间的平均影响值为INFi
Figure BDA0000444374240000135
所述α为距离减弱因子,0<α<1;所述 TP i , j = sp i , j - sp i , j - 1 if PH i , j = 0 , PH i , j - 1 = 1 0 else ;
设定第i个PM的未来负载预测值为WLFZi
所述预测单元计算WLFZi=INFi+ZZLi×spi,k得到第i个PM的未来负载预测值;
设定云系统的平均失效率为SSL,
Figure BDA0000444374240000141
设定PM的未来存活概率为CHGLi,所述预测单元计算
Figure BDA0000444374240000142
得到PM的未来存活概率;
所述预测单元将WLFZi和CHGLi值均发送给控制量计算单元和控制时机决策单元;控制量计算单元接收到WLFZi和CHGLi值,设定具有最高存活率的主机标号为MAXCH、具有最低存活率的主机标号为MINCH;
控制量计算单元计算MAXCH=xifCHGLX=max{CHGLi|0<i≤n}和MINCH=xifCHGLX=min{CHGLi|0<i≤n}得到具有最高存活率的主机标号和具有最低存活率的主机标号;所述max和min分别为集合中求最大元素和最小元素的操作;控制量计算单元设定具有最高未来负载预测值的主机标号为MAXFZ、具有最低未来负载预测值的主机标号为MINFZ;计算
MAXFZ=xifWLZFX=max[WLFZi|0<i≤n}和MINFZ=xifWLFZX=min{WLFZi|0<i≤n}得到具有最高未来负载预测值的主机标号和具有最低未来负载预测值的主机标号;
设定移出主机编号为YC,控制量计算单元计算 YC = MINCHifCHGL MINCH < 0.1 and 0.8 &GreaterEqual; WLZF MINCH > 0.5 MAXFZif 0.1 &le; CHGL MAXFZ < 0.3 and WLZF MAXFZ > 0.8 0 else 得到移出主机编号;设定移入主机编号为YR,控制量计算单元计算 YR = MAXCHifCHGL MAXCH > 0.8 and 0.3 &GreaterEqual; WLZF MAXCH > 0.1 MINFZif 0.8 &GreaterEqual; CHGL MINFZ > 0.5 and WLZF MINFZ < 0.1 0 else 得到移入主机编号;控制量计算单元将YC和YR值发送给VM迁移实施模块;
所述控制时机决策单元接收WLFZi和CHGLi值,设定控制的等待时间为WT,所述控制时机决策单元计算 WT = wcif &Sigma; 0 < isn ( CHGL i - 0.8 ) > 0 and &Sigma; 0 < isn ( 0.1 - WLFZ i ) > 0 &gamma; &times; wcelse 得到控制等待时间;所述wc为系统初始给出的控制间隔时间,wc>0,0<γ<0.5;所述控制时机决策单元将控制的等待时间WT发给所述VM迁移实施模块;
所述VM迁移实施模块根据所述控制的等待时间WT、移出主机编号YC和移入主机编号YR,在长度为WT的时间段内对云系统主机上的VM进程进行迁移控制:
当YC和YR值中至少有一个为0时,则在长度为WT的时间段内,不做任何VM迁移操作;当YC和YR值都不为0时,则从第YC个主机上迁出一个VM并迁入第YR个主机。
本发明的有益效果是:本发明充分考虑了云系统负载的动态波动性,通过跟踪其趋势预测系统未来的趋势变化,并提前进行VM迁移以改善负载平衡性,本发明将PM的失效可能性纳入负载平衡的考虑,使VM迁移策略能兼顾性能和任务可靠性,同时本发明根据系统状态动态的计算可变的控制间隔时间,避免了“控制过密”和“控制过疏”两个极端。
附图说明
图1是本发明中云虚拟机迁移方法的流程示意图。
图2是本发明中云虚拟机迁移装置的电路原理示意图。
图3是本发明中云虚拟机迁移系统的电路原理示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步说明:
如图1所示,一种云虚拟机迁移方法,其特征在于包括以下步骤:
步骤一、收集云系统中各PM状态信息:
所述PM状态信息包括:对于第i个PM,从最近一次系统恢复/重启之后累积的运行时间Ti;对于第i个PM,上一次失效到最近一次失效之间的间隔时间Di;对于第i个PM,最近k次,测得的PM的任务负载率即运行的VM数量与最大允许VM数量的比值Ri,1、Ri,2、.....、Ri,k,所述任务负载率测量的间隔时间为δ,δ>0,i、k均为正整数,本实施例中k取值为10,50毫秒>δ>10毫秒;
步骤二、预测各PM的未来负载预测值和未来存活概率;
根据Ri,1、Ri,2、.....、Ri,k序列数据计算负载率样本量,设定负载率样本量为SPi,j,计算 sp i , j = &delta; R i , j if R i , j > 0 jz j &times; &delta; ifR i , j = 0 得到负载率样本量,所述jzj为紧张系数, jz i = ( 1 - s i ) &times; e - &delta; mean { &delta; R i , j | R i , j > 0,0 < jsk } + s i &times; &delta; &delta; ; 所述mean为集合中元素求平均的操作;
Figure BDA0000444374240000173
所述num为求集合元素个数的操作;针对每个spi,j值,设定其前后数据点对应斜率余弦值为xli,j,计算 xl i , j = sp i , j &times; ( sp i , j - sp i , j - 1 ) + sp i , j + 1 &times; ( sp i , j - 1 - sp i , j ) ( 1 + ( sp i , j - sp i , j - 1 ) 2 ) &times; ( 1 + ( sp i , j - sp i , j + 1 ) 2 ) 得到对应斜率余弦值;
设定PM各记录值的平均曲度为PJQi:计算PJQi=mean{xli,j|0<j≤k}得到PM各记录值的平均曲度;
为spi,j设一个标记变量PHi,j,用来记录此记录值是否为非平滑点, PH i , j = 1 if xl i , j < &beta; &times; PJQ i 0 else ; 所述β为给定的系数,0<β<0.5,本实施例中β取值为0.1;设定PM对应的spi,j序列平滑点的平均增长率为ZZLi,计算 ZZL i = mean { sp i , x - sp i , 1 x - 1 | 0 < l < x &le; k , PH i , x &NotEqual; 0 , PH i , 1 &NotEqual; 0 } 得到PM对应的spi,j序列平滑点的平均增长率;设定各PM的非平滑点变化趋势对对未来预期故障间隔时间的平均影响值为INFi所述α为距离减弱因子,0<α<1;本实施例中α取为0.5,所述 TP i , j = sp i , j - sp i , j - 1 if PH i , j = 0 , PH i , j - 1 = 1 0 else ; 设定第i个PM的未来负载预测值为WLFZi,计算WLFZi=INFi+ZZLi×spi,k得到第i个PM的未来负载预测值;设定云系统的平均失效率为SSL,
设定PM的未来存活概率为CHGLi,计算
Figure BDA0000444374240000185
得到PM的未来存活概率;
步骤三、计算控制决策参考值和控制等待时间;
所述控制决策参考值按以下步骤进行:
所述控制决策参考值为移入主机编号和移出主机编号;设定具有最高存活率的主机标号为MAXCH、具有最低存活率的主机标号为MINCH;
计算MAXCH=xifCHGLX=max{CHGLi|0<i≤n}和MINCH=xifCHGLX=min{CHGLi|0<i≤n}得到具有最高存活率的主机标号和具有最低存活率的主机标号;所述max和min分别为集合中求最大元素和最小元素的操作;设定具有最高未来负载预测值的主机标号为MAXFZ、具有最低未来负载预测值的主机标号为MINFZ;计算
MAXFZ=xifWLZFX=max{WLFZi|0<i≤n}和MINFZ=xifWLFZX=min{WLFZi|0<i≤n}得到具有最高未来负载预测值的主机标号和具有最低未来负载预测值的主机标号;
设定移出主机编号为YC,计算 YC = MINCHifCHGL MINCH < 0.1 and 0.8 &GreaterEqual; WLZF MINCH > 0.5 MAXFZif 0.1 &le; CHGL MAXFZ < 0.3 and WLZF MAXFZ > 0.8 0 else 得到移出主机编号;设定移入主机编号为YR,计算 YR = MAXCHifCHGL MAXCH > 0.8 and 0.3 &GreaterEqual; WLZF MAXCH > 0.1 MINFZif 0.8 &GreaterEqual; CHGL MINFZ > 0.5 and WLZF MINFZ < 0.1 0 else 得到移入主机编号;所述计算控制等待时间按以下步骤进行:
设定控制的等待时间为WT,计算 WT = wcif &Sigma; 0 < isn ( CHGL i - 0.8 ) > 0 and &Sigma; 0 < isn ( 0.1 - WLFZ i ) > 0 &gamma; &times; wcelse 得到控制等待时间;所述wc为系统初始给出的控制间隔时间,wc>0,0<γ<0.5,本实施例中γ取值为0.3;
步骤四、进行VM迁移:
根据所述控制的等待时间WT、移出主机编号YC和移入主机编号YR,在长度为WT的时间段内对云系统主机上的VM进程进行迁移控制。
所述在长度为WT的时间段内对云系统主机上的VM进程进行迁移控制按以下步骤进行:当YC和YR值中至少有一个为0时,则在长度为WT的时间段内,不做任何VM迁移操作;当YC和YR值都不为0时,则从第YC个主机上迁出一个VM并迁入第YR个主机,然后在长度为WT时间段内不做其他任何操作。VM进程迁移控制完成后返回执行步骤一。
紧张系数表示了第i个PM的负载率近似经验分布期望值与δ的比值,而si则表示了第i个PM的历史记录中出现0负载的比例。由于实际的云系统的运行受到诸多系统因素(消息异常延迟、连接带宽变化、运算资源冲突等)的影响,上一步获得的spi,j序列中存在部分记录值明显脱离整体变化规律的情况,也就是所谓的异常点,这些点并不能真实的反映系统的靠性特性,而且导致记录值曲线非连续变化而不可求导数,因此要进行平滑化处理。xli,j表示了以相邻三个记录值进行三角函数匹配对应的凹凸度,其值显示了平滑程度。值越大,越平滑,反之则越体现突出性,所述衰减因子能够使离现在时间越远的非平滑点产生的影响力更小,使较近的突出点的影响力更大。
如图2所示,一种云虚拟机迁移装置,包括主机监测模块1、控制决策模块2和VM迁移实施模块3;所述控制决策模块2包括预测单元201、控制量计算单元202和控制时机决策单元203;所述主机监测模块1的输出端连接所述预测单元201的输入端,所述预测单元201的第一输出端连接所述控制量计算单元202的输入端,所述预测单元201的第二输出端连接所述控制时机决策单元203的输入端,所述控制量计算单元202的输出端连接所述VM迁移实施模块3的第一输入端,所述控制时机决策单元203的输出端连接所述VM迁移实施模块3的第二输入端;
所述主机监测模块1用于收集云系统中各PM状态信息;
所述预测单元201用于预测各PM的未来负载预测值和未来存活概率;
所述控制量计算单元202用于计算控制决策参考值;
所述控制时机决策单元203用于计算控制等待时间;
所述VM迁移实施模块3用于对云系统主机上的VM进程进行迁移控制。
所述主机监测模块1收集云系统中各PM状态信息,所述PM状态信息包括:对于第i个PM,从最近一次系统恢复/重启之后累积的运行时间Ti;对于第i个PM,上一次失效到最近一次失效之间的间隔时间Di;对于第i个PM,最近k次测得的PM的任务负载率Ri,1、Ri,2、.....、Ri,k,所述任务负载率测量的间隔时间为δ,δ>0,i、k均为正整数。
所述预测单元201根据Ri,1、Ri,2、.....、Ri,k序列数据计算负载率样本量,设定负载率样本量为SPi,j,所述预测单元201计算 sp i , j = &delta; R i , j if R i , j > 0 jz j &times; &delta; ifR i , j = 0 得到负载率样本量,所述jzj为紧张系数, jz i = ( 1 - s i ) &times; e - &delta; mean { &delta; R i , j | R i , j > 0,0 < jsk } + s i &times; &delta; &delta; ; 所述mean为集合中元素求平均的操作;
Figure BDA0000444374240000223
所述num为求集合元素个数的操作;
所述预测单元201针对每个spi,j值,设定其前后数据点对应斜率余弦值为xli,j,计算 xl i , j = sp i , j &times; ( sp i , j - sp i , j - 1 ) + sp i , j + 1 &times; ( sp i , j - 1 - sp i , j ) ( 1 + ( sp i , j - sp i , j - 1 ) 2 ) &times; ( 1 + ( sp i , j - sp i , j + 1 ) 2 ) 得到对应斜率余弦值;设定PM各记录值的平均曲度为PJQi:所述预测单元201计算PJQi=mean{xli,j|0<j≤k}得到PM各记录值的平均曲度;
为spi,j设一个标记变量PHi,j,用来记录此记录值是否为非平滑点, PH i , j = 1 if xl i , j < &beta; &times; PJQ i 0 else ; 所述β为给定的系数,0<β<0.5;所述预测单元201设定PM对应的spi,j序列平滑点的平均增长率为ZZLi,计算 ZZL i = mean { sp i , x - sp i , 1 x - 1 | 0 < l < x &le; k , PH i , x &NotEqual; 0 , PH i , 1 &NotEqual; 0 } 得到PM对应的spi,j序列平滑点的平均增长率;设定各PM的非平滑点变化趋势对对未来预期故障间隔时间的平均影响值为INFi所述α为距离减弱因子,0<α<1;所述 TP i , j = sp i , j - sp i , j - 1 if PH i , j = 0 , PH i , j - 1 = 1 0 else ; 设定第i个PM的未来负载预测值为WLFZi,所述预测单元201计算WLFZi=INFi+ZZLi×spi,k得到第i个PM的未来负载预测值;
设定云系统的平均失效率为SSL,
Figure BDA0000444374240000234
设定PM的未来存活概率为CHGLi,所述预测单元201计算
Figure BDA0000444374240000235
得到PM的未来存活概率;
所述预测单元201将WLFZi和CHGLi值均发送给控制量计算单元和控制时机决策单元;控制量计算单元202接收到WLFZi和CHGLi值,设定具有最高存活率的主机标号为MAXCH、具有最低存活率的主机标号为MINCH;
控制量计算单元202计算MAXCH=xifCHGLX=max{CHGLi|0<i≤n}和MINCH=xifCHGLX=min{CHGLi|0<i≤n}得到具有最高存活率的主机标号和具有最低存活率的主机标号;所述max和min分别为集合中求最大元素和最小元素的操作;控制量计算单元202设定具有最高未来负载预测值的主机标号为MAXFZ、具有最低未来负载预测值的主机标号为MINFZ;计算
MAXFZ=xifWLZFX=max{WLFZi|0<i≤n}和MINFZ=xifWLFZX=min{WLFZi|0<i≤n}得到具有最高未来负载预测值的主机标号和具有最低未来负载预测值的主机标号;
设定移出主机编号为YC,控制量计算单元202计算 YC = MINCHifCHGL MINCH < 0.1 and 0.8 &GreaterEqual; WLZF MINCH > 0.5 MAXFZif 0.1 &le; CHGL MAXFZ < 0.3 and WLZF MAXFZ > 0.8 0 else 得到移出主机编号;设定移入主机编号为YR,控制量计算单元202计算 YR = MAXCHifCHGL MAXCH > 0.8 and 0.3 &GreaterEqual; WLZF MAXCH > 0.1 MINFZif 0.8 &GreaterEqual; CHGL MINFZ > 0.5 and WLZF MINFZ < 0.1 0 else 得到移入主机编号;控制量计算单元202将YC和YR值发送给VM迁移实施模块3;
所述控制时机决策单元203接收WLFZi和CHGLi值,设定控制的等待时间为WT,所述控制时机决策单元203计算 WT = wcif &Sigma; 0 < isn ( CHGL i - 0.8 ) > 0 and &Sigma; 0 < isn ( 0.1 - WLFZ i ) > 0 &gamma; &times; wcelse 得到控制等待时间;所述wc为系统初始给出的控制间隔时间,wc>0,0<γ<0.5;本实施例中其取值为0.3。所述控制时机决策单元203将控制的等待时间WT发给所述VM迁移实施模块3。
所述VM迁移实施模块3根据所述控制的等待时间WT、移出主机编号YC和移入主机编号YR,在长度为WT的时间段内对云系统主机上的VM进程进行迁移控制:当YC和YR值中至少有一个为0时,则在长度为WT的时间段内,不做任何VM迁移操作;当YC和YR值都不为0时,则从第YC个主机上迁出一个VM并迁入第YR个主机。
如图3所示,一种云虚拟机迁移系统,包括云系统主机4;所述云系统主机4内设置有云虚拟机迁移装置5;所述云虚拟机迁移装置5包括主机监测模块1、控制决策模块2和VM迁移实施模块3;所述控制决策模块2包括预测单元201、控制量计算单元202和控制时机决策单元203;所述主机监测模块1的输出端连接所述预测单元201的输入端,所述预测单元201的第一输出端连接所述控制量计算单元202的输入端,所述预测单元201的第二输出端连接所述控制时机决策单元203的输入端,所述控制量计算单元202的输出端连接所述VM迁移实施模块3的第一输入端,所述控制时机决策单元203的输出端连接所述VM迁移实施模块3的第二输入端;
所述主机监测模块1用于收集云系统中各PM状态信息;
所述预测单元201用于预测各PM的未来负载预测值和未来存活概率;
所述控制量计算单元202用于计算控制决策参考值;
所述控制时机决策单元203用于计算控制等待时间;
所述VM迁移实施模块3用于对云系统主机上的VM进程进行迁移控制;
所述主机监测模块1收集云系统中各PM状态信息,所述PM状态信息包括:对于第i个PM,从最近一次系统恢复/重启之后累积的运行时间Ti;对于第i个PM,上一次失效到最近一次失效之间的间隔时间Di;对于第i个PM,最近k次测得的PM的任务负载率Ri,1、Ri,2、.....、Ri,k,所述任务负载率测量的间隔时间为δ,δ>0,i、k均为正整数;所述预测单元201根据Ri,1、Ri,2、.....、Ri,k序列数据计算负载率样本量,设定负载率样本量为SPi,j,所述预测单元201计算 sp i , j = &delta; R i , j if R i , j > 0 jz j &times; &delta; ifR i , j = 0 得到负载率样本量,所述jzj为紧张系数, jz i = ( 1 - s i ) &times; e - &delta; mean { &delta; R i , j | R i , j > 0,0 < jsk } + s i &times; &delta; &delta; ; 所述mean为集合中元素求平均的操作;
Figure BDA0000444374240000263
所述num为求集合元素个数的操作;所述预测单元201针对每个spi,j值,设定其前后数据点对应斜率余弦值为xli,j,计算 xl i , j = sp i , j &times; ( sp i , j - sp i , j - 1 ) + sp i , j + 1 &times; ( sp i , j - 1 - sp i , j ) ( 1 + ( sp i , j - sp i , j - 1 ) 2 ) &times; ( 1 + ( sp i , j - sp i , j + 1 ) 2 ) 得到对应斜率余弦值;设定PM各记录值的平均曲度为PJQi:所述预测单元201计算PJQi=mean{xli,j|0<j≤k}得到PM各记录值的平均曲度;
为spi,j设一个标记变量PHi,j,用来记录此记录值是否为非平滑点, PH i , j = 1 if xl i , j < &beta; &times; PJQ i 0 else ; 所述β为给定的系数,0<β<0.5;所述预测单元201设定PM对应的spi,j序列平滑点的平均增长率为ZZLi,计算 ZZL i = mean { sp i , x - sp i , 1 x - 1 | 0 < l < x &le; k , PH i , x &NotEqual; 0 , PH i , 1 &NotEqual; 0 } 得到PM对应的spi,j序列平滑点的平均增长率;设定各PM的非平滑点变化趋势对对未来预期故障间隔时间的平均影响值为INFi
Figure BDA0000444374240000273
所述α为距离减弱因子,0<α<1;所述 TP i , j = sp i , j - sp i , j - 1 if PH i , j = 0 , PH i , j - 1 = 1 0 else ; 设定第i个PM的未来负载预测值为WLFZi,所述预测单元201计算WLFZi=INFi+ZZLi×spi,k得到第i个PM的未来负载预测值;设定云系统的平均失效率为SSL,
Figure BDA0000444374240000275
设定PM的未来存活概率为CHGLi,所述预测单元201计算
Figure BDA0000444374240000276
得到PM的未来存活概率。
所述预测单元201将WLFZi和CHGLi值均发送给控制量计算单元和控制时机决策单元;控制量计算单元202接收到WLFZi和CHGLi值,设定具有最高存活率的主机标号为MAXCH、具有最低存活率的主机标号为MINCH;
控制量计算单元202计算MAXCH=xifCHGLX=max{CHGLi|0<i≤n}和MINCH=xifCHGLX=min{CHGLi|0<i≤n}得到具有最高存活率的主机标号和具有最低存活率的主机标号;所述max和min分别为集合中求最大元素和最小元素的操作;控制量计算单元202设定具有最高未来负载预测值的主机标号为MAXFZ、具有最低未来负载预测值的主机标号为MINFZ;计算
MAXFZ=xifWLZFX=max[WLFZi|0<i≤n}和MINFZ=xifWLFZX=min{WLFZi|0<i≤n}得到具有最高未来负载预测值的主机标号和具有最低未来负载预测值的主机标号;
设定移出主机编号为YC,控制量计算单元202计算 YC = MINCHifCHGL MINCH < 0.1 and 0.8 &GreaterEqual; WLZF MINCH > 0.5 MAXFZif 0.1 &le; CHGL MAXFZ < 0.3 and WLZF MAXFZ > 0.8 0 else 得到移出主机编号;设定移入主机编号为YR,控制量计算单元202计算 YR = MAXCHifCHGL MAXCH > 0.8 and 0.3 &GreaterEqual; WLZF MAXCH > 0.1 MINFZif 0.8 &GreaterEqual; CHGL MINFZ > 0.5 and WLZF MINFZ < 0.1 0 else 得到移入主机编号;控制量计算单元202将YC和YR值发送给VM迁移实施模块3。
所述控制时机决策单元203接收WLFZi和CHGLi值,设定控制的等待时间为WT,所述控制时机决策单元203计算 WT = wcif &Sigma; 0 < isn ( CHGL i - 0.8 ) > 0 and &Sigma; 0 < isn ( 0.1 - WLFZ i ) > 0 &gamma; &times; wcelse 得到控制等待时间;所述wc为系统初始给出的控制间隔时间,wc>0,0<γ<0.5;所述控制时机决策单元203将控制的等待时间WT发给所述VM迁移实施模块3。
所述VM迁移实施模块3根据所述控制的等待时间WT、移出主机编号YC和移入主机编号YR,在长度为WT的时间段内对云系统主机上的VM进程进行迁移控制:当YC和YR值中至少有一个为0时,则在长度为WT的时间段内,不做任何VM迁移操作;当YC和YR值都不为0时,则从第YC个主机上迁出一个VM并迁入第YR个主机。
以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。

Claims (7)

1.一种云虚拟机迁移方法,其特征在于包括以下步骤:
步骤一、收集云系统中各PM状态信息:
所述PM状态信息包括:对于第i个PM,从最近一次系统恢复/重启之后累积的运行时间Ti;对于第i个PM,上一次失效到最近一次失效之间的间隔时间D1;对于第i个PM,最近k次测得的PM的任务负载率Ri,1、Ri,2、.....、Ri,k,所述任务负载率测量的间隔时间为δ,δ>0,i、k均为正整数;
步骤二、预测各PM的未来负载预测值和未来存活概率;
根据Ri,1、Ri,2、.....、Ri,k序列数据计算负载率样本量,设定负载率样本量为SPi,j,计算 sp i , j = &delta; R i , j if R i , j > 0 jz j &times; &delta; ifR i , j = 0 得到负载率样本量,所述jzj为紧张系数, jz i = ( 1 - s i ) &times; e - &delta; mean { &delta; R i , j | R i , j > 0,0 < jsk } + s i &times; &delta; &delta; ; 所述mean为集合中元素求平均的操作;
Figure FDA0000444374230000014
所述num为求集合元素个数的操作;针对每个spi,j值,设定其前后数据点对应斜率余弦值为xli,j,计算 xl i , j = sp i , j &times; ( sp i , j - sp i , j - 1 ) + sp i , j + 1 &times; ( sp i , j - 1 - sp i , j ) ( 1 + ( sp i , j - sp i , j - 1 ) 2 ) &times; ( 1 + ( sp i , j - sp i , j + 1 ) 2 ) 得到对应斜率余弦值;设定PM各记录值的平均曲度为PJQi:计算PJQi=mean{xli,j|0<j≤k}得到PM各记录值的平均曲度;
为spi,j设一个标记变量PHi,j,用来记录此记录值是否为非平滑点, PH i , j = 1 if xl i , j < &beta; &times; PJQ i 0 else ; 所述β为给定的系数,0<β<0.5;设定PM对应的spi,j序列平滑点的平均增长率为ZZLi,计算 ZZL i = mean { sp i , x - sp i , 1 x - 1 | 0 < l < x &le; k , PH i , x &NotEqual; 0 , PH i , 1 &NotEqual; 0 } 得到PM对应的spi,j序列平滑点的平均增长率;设定各PM的非平滑点变化趋势对对未来预期故障间隔时间的平均影响值为INFi
Figure FDA0000444374230000024
所述α为距离减弱因子,0<α<1;所述 TP i , j = sp i , j - sp i , j - 1 if PH i , j = 0 , PH i , j - 1 = 1 0 else ;
设定第i个PM的未来负载预测值为WLFXi
计算WLFZi=INFi+ZZLi×spi,k得到第i个PM的未来负载预测值;
设定云系统的平均失效率为SSL,
Figure FDA0000444374230000027
设定PM的未来存活概率为CHGLi,计算
Figure FDA0000444374230000031
得到PM的未来存活概率;
步骤三、计算控制决策参考值和控制等待时间;
所述控制决策参考值按以下步骤进行:
所述控制决策参考值为移入主机编号和移出主机编号;设定具有最高存活率的主机标号为MAXCH、具有最低存活率的主机标号为MINCH;
计算MAXCH=xifCHGLX=max{CHGLi|0<i≤n}和MINCH=xifCHGLX=min{CHGLi|0<i≤n}得到具有最高存活率的主机标号和具有最低存活率的主机标号;所述max和min分别为集合中求最大元素和最小元素的操作;
设定具有最高未来负载预测值的主机标号为MAXFZ、具有最低未来负载预测值的主机标号为MINFZ;计算
MAXFZ=xifWLZFX=max{WLFZi|0<i≤n}和MINFZ=xifWLFZX=min{WLFZ1|0<i≤n}得到具有最高未来负载预测值的主机标号和具有最低未来负载预测值的主机标号;
设定移出主机编号为YC,计算 YC = MINCHifCHGL MINCH < 0.1 and 0.8 &GreaterEqual; WLZF MINCH > 0.5 MAXFZif 0.1 &le; CHGL MAXFZ < 0.3 and WLZF MAXFZ > 0.8 0 else 得到移出主机编号;设定移入主机编号为YR,计算 YR = MAXCHifCHGL MAXCH > 0.8 and 0.3 &GreaterEqual; WLZF MAXCH > 0.1 MINFZif 0.8 &GreaterEqual; CHGL MINFZ > 0.5 and WLZF MINFZ < 0.1 0 else 得到移入主机编号;
所述计算控制等待时间按以下步骤进行:
设定控制的等待时间为WT,计算 WT = wcif &Sigma; 0 < isn ( CHGL i - 0.8 ) > 0 and &Sigma; 0 < isn ( 0.1 - WLFZ i ) > 0 &gamma; &times; wcelse 得到控制等待时间;所述wc为系统初始给出的控制间隔时间,wc>0,0<γ<0.5;
步骤四、进行VM迁移:
根据所述控制的等待时间WT、移出主机编号YC和移入主机编号YR,在长度为WT的时间段内对云系统主机上的VM进程进行迁移控制。
2.如权利要求1所述的云虚拟机迁移方法,其特征是:所述在长度为WT的时间段内对云系统主机上的VM进程进行迁移控制按以下步骤进行:
当YC和YR值中至少有一个为0时,则在长度为WT的时间段内,不做任何VM迁移操作;当YC和YR值都不为0时,则从第YC个主机上迁出一个VM并迁入第YR个主机;
然后返回执行步骤一。
3.一种云虚拟机迁移装置,其特征在于:包括主机监测模块(1)、控制决策模块(2)和VM迁移实施模块(3);所述主机监测模块(1)的输出端连接所述控制决策模块(2)的输入端,所述控制决策模块(2)的输出端连接所述VM迁移实施模块(3)的输入端;
所述主机监测模块(1)用于收集云系统中各PM状态信息;
所述控制决策模块(2)用于预测各PM的未来负载预测值和未来存活概率,并计算控制决策参考值和控制等待时间;
所述VM迁移实施模块(3)用于对云系统主机上的VM进程进行迁移控制。
4.如权利要求3所述的云虚拟机迁移装置,其特征在于:所述主机监测模块(1)收集云系统中各PM状态信息,所述PM状态信息包括:对于第i个PM,从最近一次系统恢复/重启之后累积的运行时间Ti;对于第i个PM,上一次失效到最近一次失效之间的间隔时间Di;对于第i个PM,最近k次测得的PM的任务负载率Ri,1、Ri,2、.....、Ri,k,所述任务负载率测量的间隔时间为δ,δ>0,i、k均为正整数。
5.如权利要求3或4所述的云虚拟机迁移装置,其特征是:所述控制决策模块(2)包括预测单元(201)、控制量计算单元(202)和控制时机决策单元(203);所述主机监测模块(1)的输出端连接所述预测单元(201)的输入端,所述预测单元(201)的第一输出端连接所述控制量计算单元(202)的输入端,所述预测单元(201)的第二输出端连接所述控制时机决策单元(203)的输入端,所述控制量计算单元(202)的输出端连接所述VM迁移实施模块(3)的第一输入端,所述控制时机决策单元(203)的输出端连接所述VM迁移实施模块(3)的第二输入端;
所述预测单元(201)用于预测各PM的未来负载预测值和未来存活概率;
所述控制量计算单元(202)用于计算控制决策参考值;
所述控制时机决策单元(203)用于计算控制等待时间;
所述预测单元(201)根据Ri,1、Ri,2、.....、Ri,k序列数据计算负载率样本量,设定负载率样本量为SPi,j,所述预测单元(201)计算 sp i , j = &delta; R i , j if R i , j > 0 jz j &times; &delta; ifR i , j = 0 得到负载率样本量,所述jzj为紧张系数, jz i = ( 1 - s i ) &times; e - &delta; mean { &delta; R i , j | R i , j > 0,0 < jsk } + s i &times; &delta; &delta; ; 所述mean为集合中元素求平均的操作;
Figure FDA0000444374230000063
所述num为求集合元素个数的操作;所述预测单元(201)针对每个spi,j值,设定其前后数据点对应斜率余弦值为xli,j,计算 xl i , j = sp i , j &times; ( sp i , j - sp i , j - 1 ) + sp i , j + 1 &times; ( sp i , j - 1 - sp i , j ) ( 1 + ( sp i , j - sp i , j - 1 ) 2 ) &times; ( 1 + ( sp i , j - sp i , j + 1 ) 2 ) 得到对应斜率余弦值;
设定PM各记录值的平均曲度为PJQi:所述预测单元(201)计算PJQi=mean{xli,j|0<j≤k}得到PM各记录值的平均曲度;
为spi,j设一个标记变量PHi,j,用来记录此记录值是否为非平滑点, PH i , j = 1 if xl i , j < &beta; &times; PJQ i 0 else ; 所述β为给定的系数,0<β<0.5;所述预测单元(201)设定PM对应的spi,j序列平滑点的平均增长率为ZZLi,计算 ZZL i = mean { sp i , x - sp i , 1 x - 1 | 0 < l < x &le; k , PH i , x &NotEqual; 0 , PH i , 1 &NotEqual; 0 } 得到PM对应的spi,j序列平滑点的平均增长率;设定各PM的非平滑点变化趋势对对未来预期故障间隔时间的平均影响值为INFi
Figure FDA0000444374230000073
所述α为距离减弱因子,0<α<1;所述 TP i , j = sp i , j - sp i , j - 1 if PH i , j = 0 , PH i , j - 1 = 1 0 else ;
设定第i个PM的未来负载预测值为WLFZi
所述预测单元(201)计算WLFZi=INFi+ZZLi×spi,k得到第i个PM的未来负载预测值;
设定云系统的平均失效率为SSL,
设定PM的未来存活概率为CHGLi,所述预测单元(201)计算
Figure FDA0000444374230000076
得到PM的未来存活概率;
所述预测单元(201)将WLFZi和CHGLi值均发送给控制量计算单元和控制时机决策单元;控制量计算单元(202)接收到WLFZi和CHGLi值,设定具有最高存活率的主机标号为MAXCH、具有最低存活率的主机标号为MINCH;控制量计算单元(202)计算MAXCH=xifCHGLX=max{CHGLi|0<i≤n}和MINCH=xifCHGLX=min{CHGLi|0<i≤n}得到具有最高存活率的主机标号和具有最低存活率的主机标号;所述max和min分别为集合中求最大元素和最小元素的操作;控制量计算单元(202)设定具有最高未来负载预测值的主机标号为MAXFZ、具有最低未来负载预测值的主机标号为MINFZ;计算
MAXFZ=xifWLZFX=max{WLFZi|0<i≤n}和MINFZ=xifWLFZX=min{WLFZi|0<i≤n}得到具有最高未来负载预测值的主机标号和具有最低未来负载预测值的主机标号;
设定移出主机编号为YC,控制量计算单元(202)计算 YC = MINCHifCHGL MINCH < 0.1 and 0.8 &GreaterEqual; WLZF MINCH > 0.5 MAXFZif 0.1 &le; CHGL MAXFZ < 0.3 and WLZF MAXFZ > 0.8 0 else 得到移出主机编号;设定移入主机编号为YR,控制量计算单元(202)计算 YR = MAXCHifCHGL MAXCH > 0.8 and 0.3 &GreaterEqual; WLZF MAXCH > 0.1 MINFZif 0.8 &GreaterEqual; CHGL MINFZ > 0.5 and WLZF MINFZ < 0.1 0 else 得到移入主机编号;控制量计算单元(202)将YC和YR值发送给VM迁移实施模块(3);
所述控制时机决策单元(203)接收WLFZi和CHGLi值,设定控制的等待时间为WT,所述控制时机决策单元(203)计算 WT = wcif &Sigma; 0 < isn ( CHGL i - 0.8 ) > 0 and &Sigma; 0 < isn ( 0.1 - WLFZ i ) > 0 &gamma; &times; wcelse 得到控制等待时间;所述wc为系统初始给出的控制间隔时间,wc>0,0<γ<0.5;所述控制时机决策单元(203)将控制的等待时间WT发给所述VM迁移实施模块(3)。
6.如权利要求5所述的云虚拟机迁移装置,其特征是:所述VM迁移实施模块(3)根据所述控制的等待时间WT、移出主机编号YC和移入主机编号YR,在长度为WT的时间段内对云系统主机上的VM进程进行迁移控制:
当YC和YR值中至少有一个为0时,则在长度为WT的时间段内,不做任何VM迁移操作;当YC和YR值都不为0时,则从第YC个主机上迁出一个VM并迁入第YR个主机。
7.一种云虚拟机迁移系统,包括云系统主机(4);其特征在于:所述云系统主机(4)内设置有云虚拟机迁移装置(5);所述云虚拟机迁移装置(5)包括主机监测模块(1)、控制决策模块(2)和VM迁移实施模块(3);所述控制决策模块(2)包括预测单元(201)、控制量计算单元(202)和控制时机决策单元(203);所述主机监测模块(1)的输出端连接所述预测单元(201)的输入端,所述预测单元(201)的第一输出端连接所述控制量计算单元(202)的输入端,所述预测单元(201)的第二输出端连接所述控制时机决策单元(203)的输入端,所述控制量计算单元(202)的输出端连接所述VM迁移实施模块(3)的第一输入端,所述控制时机决策单元(203)的输出端连接所述VM迁移实施模块(3)的第二输入端;
所述主机监测模块(1)用于收集云系统中各PM状态信息;
所述预测单元(201)用于预测各PM的未来负载预测值和未来存活概率;
所述控制量计算单元(202)用于计算控制决策参考值;
所述控制时机决策单元(203)用于计算控制等待时间;
所述VM迁移实施模块(3)用于对云系统主机上的VM进程进行迁移控制;
所述主机监测模块(1)收集云系统中各PM状态信息,所述PM状态信息包括:对于第i个PM,从最近一次系统恢复/重启之后累积的运行时间Ti;对于第i个PM,上一次失效到最近一次失效之间的间隔时间Di;对于第i个PM,最近k次测得的PM的任务负载率Ri,1、Ri,2、.....、Ri,k,所述任务负载率测量的间隔时间为δ,δ>0,i、k均为正整数;
所述预测单元(201)根据Ri,1、Ri,2、.....、Ri,k序列数据计算负载率样本量,设定负载率样本量为SPi,j,所述预测单元(201)计算 sp i , j = &delta; R i , j if R i , j > 0 jz j &times; &delta; ifR i , j = 0 得到负载率样本量,所述jzj为紧张系数, jz i = ( 1 - s i ) &times; e - &delta; mean { &delta; R i , j | R i , j > 0,0 < jsk } + s i &times; &delta; &delta; ; 所述mean为集合中元素求平均的操作;
Figure FDA0000444374230000113
所述num为求集合元素个数的操作;所述预测单元(201)针对每个spi,j值,设定其前后数据点对应斜率余弦值为xli,j,计算 xl i , j = sp i , j &times; ( sp i , j - sp i , j - 1 ) + sp i , j + 1 &times; ( sp i , j - 1 - sp i , j ) ( 1 + ( sp i , j - sp i , j - 1 ) 2 ) &times; ( 1 + ( sp i , j - sp i , j + 1 ) 2 ) 得到对应斜率余弦值;
设定PM各记录值的平均曲度为PJQi:所述预测单元(201)计算PJQi=mean{xli,j|0<j≤k}得到PM各记录值的平均曲度;
为spi,j设一个标记变量PHi,j,用来记录此记录值是否为非平滑点, PH i , j = 1 if xl i , j < &beta; &times; PJQ i 0 else ; 所述β为给定的系数,0<β<0.5;所述预测单元(201)设定PM对应的spi,j序列平滑点的平均增长率为ZZLi,计算 ZZL i = mean { sp i , x - sp i , 1 x - 1 | 0 < l < x &le; k , PH i , x &NotEqual; 0 , PH i , 1 &NotEqual; 0 } 得到PM对应的spi,j序列平滑点的平均增长率;设定各PM的非平滑点变化趋势对对未来预期故障间隔时间的平均影响值为INFi所述α为距离减弱因子,0<α<1;所述 TP i , j = sp i , j - sp i , j - 1 if PH i , j = 0 , PH i , j - 1 = 1 0 else ;
设定第i个PM的未来负载预测值为WLFZi
所述预测单元(201)计算WLFZi=INFi+ZZLi×spi,k得到第i个PM的未来负载预测值;
设定云系统的平均失效率为SSL,
Figure FDA0000444374230000124
设定PM的未来存活概率为CHGLi,所述预测单元(201)计算
Figure FDA0000444374230000125
得到PM的未来存活概率;
所述预测单元(201)将WLFZi和CHGLi值均发送给控制量计算单元和控制时机决策单元;控制量计算单元(202)接收到WLFZi和CHGLi值,设定具有最高存活率的主机标号为MAXCH、具有最低存活率的主机标号为MINCH;控制量计算单元(202)计算MAXCH=xifCHGLX=max{CHGLi|0<i≤n}和MINCH=xifCHGLX=min{CHGLi|0<i≤n}得到具有最高存活率的主机标号和具有最低存活率的主机标号;所述max和min分别为集合中求最大元素和最小元素的操作;控制量计算单元(202)设定具有最高未来负载预测值的主机标号为MAXFZ、具有最低未来负载预测值的主机标号为MINFZ;计算
MAXFZ=xifWLZFX=max{WLFZi|0<i≤n}和MINFZ=xifWLFZX=min{WLFZi|0<i≤n}得到具有最高未来负载预测值的主机标号和具有最低未来负载预测值的主机标号;
设定移出主机编号为YC,控制量计算单元(202)计算 YC = MINCHifCHGL MINCH < 0.1 and 0.8 &GreaterEqual; WLZF MINCH > 0.5 MAXFZif 0.1 &le; CHGL MAXFZ < 0.3 and WLZF MAXFZ > 0.8 0 else 得到移出主机编号;设定移入主机编号为YR,控制量计算单元(202)计算 YR = MAXCHifCHGL MAXCH > 0.8 and 0.3 &GreaterEqual; WLZF MAXCH > 0.1 MINFZif 0.8 &GreaterEqual; CHGL MINFZ > 0.5 and WLZF MINFZ < 0.1 0 else 得到移入主机编号;控制量计算单元(202)将YC和YR值发送给VM迁移实施模块(3);
所述控制时机决策单元(203)接收WLFZi和CHGLi值,设定控制的等待时间为WT,所述控制时机决策单元(203)计算 WT = wcif &Sigma; 0 < isn ( CHGL i - 0.8 ) > 0 and &Sigma; 0 < isn ( 0.1 - WLFZ i ) > 0 &gamma; &times; wcelse 得到控制等待时间;所述wc为系统初始给出的控制间隔时间,wc>0,0<γ<0.5;所述控制时机决策单元(203)将控制的等待时间WT发给所述VM迁移实施模块(3);
所述VM迁移实施模块(3)根据所述控制的等待时间WT、移出主机编号YC和移入主机编号YR,在长度为WT的时间段内对云系统主机上的VM进程进行迁移控制:
当YC和YR值中至少有一个为0时,则在长度为WT的时间段内,不做任何VM迁移操作;当YC和YR值都不为0时,则从第YC个主机上迁出一个VM并迁入第YR个主机。
CN201310717195.7A 2013-12-23 2013-12-23 云虚拟机迁移方法、装置和系统 Expired - Fee Related CN103685542B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310717195.7A CN103685542B (zh) 2013-12-23 2013-12-23 云虚拟机迁移方法、装置和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310717195.7A CN103685542B (zh) 2013-12-23 2013-12-23 云虚拟机迁移方法、装置和系统

Publications (2)

Publication Number Publication Date
CN103685542A true CN103685542A (zh) 2014-03-26
CN103685542B CN103685542B (zh) 2016-06-29

Family

ID=50321816

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310717195.7A Expired - Fee Related CN103685542B (zh) 2013-12-23 2013-12-23 云虚拟机迁移方法、装置和系统

Country Status (1)

Country Link
CN (1) CN103685542B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103916438A (zh) * 2013-01-06 2014-07-09 上海计算机软件技术开发中心 基于负载预测的云测试环境调度方法及其系统
CN104104730A (zh) * 2014-07-25 2014-10-15 重庆广播电视大学 面向高可靠性的云系统虚拟机任务备份装置、系统及方法
CN104780075A (zh) * 2015-03-13 2015-07-15 浪潮电子信息产业股份有限公司 一种云计算系统可用性评估方法
CN106250251A (zh) * 2016-07-21 2016-12-21 北京航空航天大学 考虑共因和虚拟机故障迁移的云计算系统可靠性建模方法
CN106681797A (zh) * 2016-12-28 2017-05-17 深圳先进技术研究院 一种虚拟机应用迁移方法、装置及一种服务器
CN107404409A (zh) * 2017-09-01 2017-11-28 广西大学 面向突变负载的容器云弹性供给容器数量预测方法与系统
CN107491455A (zh) * 2016-06-13 2017-12-19 阿里巴巴集团控股有限公司 一种分布式系统中的读取方法及装置
CN110928636A (zh) * 2018-09-19 2020-03-27 阿里巴巴集团控股有限公司 虚拟机热迁移方法、装置和设备
CN111147604A (zh) * 2019-12-31 2020-05-12 重庆邮电大学 一种车联网边缘计算的负载均衡方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070006218A1 (en) * 2005-06-29 2007-01-04 Microsoft Corporation Model-based virtual system provisioning
CN102170474A (zh) * 2011-04-22 2011-08-31 广州杰赛科技股份有限公司 一种云计算网络中虚拟资源动态调度方法及系统
CN102307133A (zh) * 2011-03-25 2012-01-04 国云科技股份有限公司 一种公有云平台虚拟机调度方法
CN102999389A (zh) * 2012-11-14 2013-03-27 中国电子科技集团公司第十四研究所 一种基于心跳幅度的虚拟机动态迁移选择方法
CN103309723A (zh) * 2012-03-16 2013-09-18 鸿富锦精密工业(深圳)有限公司 虚拟机资源整合系统及方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070006218A1 (en) * 2005-06-29 2007-01-04 Microsoft Corporation Model-based virtual system provisioning
CN102307133A (zh) * 2011-03-25 2012-01-04 国云科技股份有限公司 一种公有云平台虚拟机调度方法
CN102170474A (zh) * 2011-04-22 2011-08-31 广州杰赛科技股份有限公司 一种云计算网络中虚拟资源动态调度方法及系统
CN103309723A (zh) * 2012-03-16 2013-09-18 鸿富锦精密工业(深圳)有限公司 虚拟机资源整合系统及方法
CN102999389A (zh) * 2012-11-14 2013-03-27 中国电子科技集团公司第十四研究所 一种基于心跳幅度的虚拟机动态迁移选择方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
周树语: "基于WEB的远程虚拟实验系统研究", 《重庆科技学院学报(自然科学版)》 *

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103916438A (zh) * 2013-01-06 2014-07-09 上海计算机软件技术开发中心 基于负载预测的云测试环境调度方法及其系统
CN103916438B (zh) * 2013-01-06 2017-04-12 上海计算机软件技术开发中心 基于负载预测的云测试环境调度方法及其系统
CN104104730A (zh) * 2014-07-25 2014-10-15 重庆广播电视大学 面向高可靠性的云系统虚拟机任务备份装置、系统及方法
CN104104730B (zh) * 2014-07-25 2017-03-29 重庆广播电视大学 面向高可靠性的云系统虚拟机任务备份装置、系统及方法
CN104780075A (zh) * 2015-03-13 2015-07-15 浪潮电子信息产业股份有限公司 一种云计算系统可用性评估方法
CN104780075B (zh) * 2015-03-13 2018-02-23 浪潮电子信息产业股份有限公司 一种云计算系统可用性评估方法
CN107491455A (zh) * 2016-06-13 2017-12-19 阿里巴巴集团控股有限公司 一种分布式系统中的读取方法及装置
CN107491455B (zh) * 2016-06-13 2020-11-20 阿里巴巴集团控股有限公司 一种分布式系统中的读取方法及装置
CN106250251A (zh) * 2016-07-21 2016-12-21 北京航空航天大学 考虑共因和虚拟机故障迁移的云计算系统可靠性建模方法
CN106250251B (zh) * 2016-07-21 2018-12-21 北京航空航天大学 考虑共因和虚拟机故障迁移的云计算系统可靠性建模方法
CN106681797A (zh) * 2016-12-28 2017-05-17 深圳先进技术研究院 一种虚拟机应用迁移方法、装置及一种服务器
CN106681797B (zh) * 2016-12-28 2019-11-29 深圳先进技术研究院 一种虚拟机应用迁移方法、装置及一种服务器
CN107404409A (zh) * 2017-09-01 2017-11-28 广西大学 面向突变负载的容器云弹性供给容器数量预测方法与系统
CN107404409B (zh) * 2017-09-01 2020-01-31 广西大学 面向突变负载的容器云弹性供给容器数量预测方法与系统
CN110928636A (zh) * 2018-09-19 2020-03-27 阿里巴巴集团控股有限公司 虚拟机热迁移方法、装置和设备
CN111147604A (zh) * 2019-12-31 2020-05-12 重庆邮电大学 一种车联网边缘计算的负载均衡方法
CN111147604B (zh) * 2019-12-31 2022-03-29 重庆邮电大学 一种车联网边缘计算的负载均衡方法

Also Published As

Publication number Publication date
CN103685542B (zh) 2016-06-29

Similar Documents

Publication Publication Date Title
CN103685542A (zh) 云虚拟机迁移方法、装置和系统
CN102111337B (zh) 任务调度方法和系统
US8880477B2 (en) Latency-aware live migration for multitenant database platforms
Zhang et al. Adaptive data migration in multi-tiered storage based cloud environment
CN105302630B (zh) 一种虚拟机的动态调整方法及其系统
US11281497B2 (en) Determining an allocation of stage and destage tasks by training a machine learning module
CN102521014B (zh) 虚拟机的部署方法及装置
CN103605567A (zh) 面向实时性需求变化的云计算任务调度方法
CN104102543A (zh) 一种云计算环境中负载调整的方法和装置
CN103631633A (zh) 虚拟机全系统在线迁移方法、装置与系统
CN109324875A (zh) 一种基于强化学习的数据中心服务器功耗管理与优化方法
Liao et al. Energy-efficient algorithms for distributed storage system based on block storage structure reconfiguration
US10678456B2 (en) Storage capacity usage management
CN105320559A (zh) 一种云计算系统的调度方法和装置
CN103593452A (zh) 一种基于MapReduce机制的数据密集型成本优化方法
US20180287955A1 (en) Predicting resource demand in computing environments
CN112799817A (zh) 一种微服务资源调度系统和方法
CN102413186A (zh) 基于私有云计算的资源调度方法、装置和云管理服务器
CN109271257A (zh) 一种虚拟机迁移部署的方法及设备
CN102339233A (zh) 云计算集中管理平台
CN104679444A (zh) 虚拟化存储资源的动态调整方法与装置
CN105045648A (zh) IaaS云环境下物理主机资源状态预测方法
CN103957229A (zh) IaaS云系统中物理机的主动更新方法、装置及服务器
CN101776946B (zh) 一种基于对象存储系统的功耗控制方法
CN113722072A (zh) 一种基于智能分流的存储系统文件合并方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20160629

Termination date: 20191223