一种虚拟机应用迁移方法、装置及一种服务器转让专利

申请号 : CN201611235583.1

文献号 : CN106681797B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 曾经纬喻之斌贝振东须成忠

申请人 : 深圳先进技术研究院

摘要 :

本发明实施例公开了一种虚拟机应用迁移方法,用于解决虚拟机应用何时迁移的问题。本发明实施例方法包括:获取目标服务器系统的当前宕机概率;确定安装在所述目标服务器系统上的各个虚拟机应用;获取所述各个虚拟机应用的应用价值;根据所述各个虚拟机应用的应用价值和所述当前宕机概率确定所述目标服务器系统的当前损耗值;若所述当前损耗值满足预设的损耗条件,则对所述各个虚拟机应用进行迁移处理。本发明实施例还提供一种虚拟机应用迁移装置及一种服务器。

权利要求 :

1.一种虚拟机应用迁移方法,其特征在于,包括:获取目标服务器系统的当前宕机概率;

确定安装在所述目标服务器系统上的各个虚拟机应用;

获取所述各个虚拟机应用的应用价值;

根据所述各个虚拟机应用的应用价值和所述当前宕机概率确定所述目标服务器系统的当前损耗值;

若所述当前损耗值满足预设的损耗条件,则对所述各个虚拟机应用进行迁移处理;

所述根据所述各个虚拟机应用的应用价值和所述当前宕机概率确定所述目标服务器系统的当前损耗值包括:计算所述各个虚拟机应用的应用价值之和,得到应用总价值;

将所述应用总价值和所述当前宕机概率代入预设的损耗值计算公式,得到所述目标服务器系统的当前损耗值;

所述预设的损耗值计算公式表示为:其中,S为所述当前损耗值,f(t)为所述当前宕机概率, 为所述应用总价值。

2.根据权利要求1所述的虚拟机应用迁移方法,其特征在于,对所述各个虚拟机应用进行迁移处理具体包括:对所述各个虚拟机应用进行全部迁移;

对满足预设的迁移条件的虚拟机应用进行迁移。

3.根据权利要求2所述的虚拟机应用迁移方法,其特征在于,对满足预设的迁移条件的虚拟机应用进行迁移具体包括:确定应用价值大于预设的价值阈值的所述虚拟机应用;

对确定的所述虚拟机应用进行迁移;

获取所述各个虚拟机应用的上一次迁移时间;

确定所述上一次迁移时间满足预设的时间条件的所述虚拟机应用;

对确定的所述虚拟机应用进行迁移。

4.根据权利要求1至3中任一项所述的虚拟机应用迁移方法,其特征在于,所述获取目标服务器系统的当前宕机概率具体包括:获取所述目标服务器系统的已运行时间;

根据所述已运行时间和预设的宕机概率函数得到所述目标服务器系统的当前宕机概率。

5.一种虚拟机应用迁移装置,其特征在于,包括:宕机概率获取模块,用于获取目标服务器系统的当前宕机概率;

应用确定模块,用于确定安装在所述目标服务器系统上的各个虚拟机应用;

应用价值获取模块,用于获取所述各个虚拟机应用的应用价值;

当前损耗值确定模块,用于根据所述各个虚拟机应用的应用价值和所述当前宕机概率确定所述目标服务器系统的当前损耗值;

迁移模块,用于若所述当前损耗值满足预设的损耗条件,则对所述各个虚拟机应用进行迁移处理;

所述当前损耗值确定模块包括:

总价值计算单元,用于计算所述各个虚拟机应用的应用价值之和,得到应用总价值;

损耗值计算单元,用于将所述应用总价值和所述当前宕机概率代入预设的损耗值计算公式,得到所述目标服务器系统的当前损耗值;

所述预设的损耗值计算公式表示为:其中,S为所述当前损耗值,f(t)为所述当前宕机概率, 为所述应用总价值。

6.根据权利要求5所述的虚拟机应用迁移装置,其特征在于,所述迁移模块包括:第一迁移单元,用于对所述各个虚拟机应用进行全部迁移;

第二迁移单元,用于对满足预设的迁移条件的虚拟机应用进行迁移。

7.根据权利要求5所述的虚拟机应用迁移装置,其特征在于,所述第二迁移单元具体包括:第一应用确定子单元,用于确定应用价值大于预设的价值阈值的所述虚拟机应用;

第一迁移子单元,用于对确定的所述虚拟机应用进行迁移;

迁移时间获取子单元,用于获取所述各个虚拟机应用的上一次迁移时间;

第二应用确定子单元,用于确定所述上一次迁移时间满足预设的时间条件的所述虚拟机应用;

第二迁移子单元,用于对确定的所述虚拟机应用进行迁移。

8.一种服务器,其特征在于,包括如权利要求5至7中任一项所述的虚拟机应用迁移装置。

说明书 :

一种虚拟机应用迁移方法、装置及一种服务器

技术领域

[0001] 本发明涉及虚拟机应用领域,尤其涉及一种虚拟机应用迁移方法、装置及一种服务器。

背景技术

[0002] 可靠性是国际大宗商品电子交易系统的重大需求。服务器系统在长期运行的情况下,出现宕机是无法避免的,但交易系统业务和数据也是无法容忍停止和丢失的。为了应对这个矛盾,云平台的虚拟机迁移技术提供了基本保证。
[0003] 目前,服务器系统上一般安装有一个或多个的虚拟机应用,这些虚拟机应用中承载着交易系统业务和数据等重要信息,并且每隔一个固定的时间就会对全部的虚拟机应用进行迁移,以避免当前的服务器系统因宕机而造成虚拟机应用的损失。
[0004] 然而,现有技术中关于虚拟机应用迁移的时间间隔,若该时间间隔过长,则在服务器系统发生宕机的情况下容易造成过多的数据丢失,带来较大的损失;而若该时间间隔过短,因虚拟机应用需要迁移的数据量往往巨大,则容易因频繁的数据迁移而降低服务器系统的性能。

发明内容

[0005] 本发明实施例提供了一种虚拟机应用迁移方法、装置及一种服务器,能够降低在服务器系统发生宕机情况下造成数据丢失的概率,同时兼顾服务器系统的性能。
[0006] 本发明实施例提供的一种虚拟机应用迁移方法,包括:
[0007] 获取目标服务器系统的当前宕机概率;
[0008] 确定安装在所述目标服务器系统上的各个虚拟机应用;
[0009] 获取所述各个虚拟机应用的应用价值;
[0010] 根据所述各个虚拟机应用的应用价值和所述当前宕机概率确定所述目标服务器系统的当前损耗值;
[0011] 若所述当前损耗值满足预设的损耗条件,则对所述各个虚拟机应用进行迁移处理。
[0012] 可选地,所述根据所述各个虚拟机应用的应用价值和所述当前宕机概率确定所述目标服务器系统的当前损耗值包括:
[0013] 计算所述各个虚拟机应用的应用价值之和,得到应用总价值;
[0014] 将所述应用总价值和所述当前宕机概率代入预设的损耗值计算公式,得到所述目标服务器系统的当前损耗值。
[0015] 可选地,对所述各个虚拟机应用进行迁移处理具体包括:
[0016] 对所述各个虚拟机应用进行全部迁移;
[0017] 或
[0018] 对满足预设的迁移条件的虚拟机应用进行迁移。
[0019] 可选地,对满足预设的迁移条件的虚拟机应用进行迁移具体包括:
[0020] 确定应用价值大于预设的价值阈值的所述虚拟机应用;
[0021] 对确定的所述虚拟机应用进行迁移;
[0022] 或
[0023] 获取所述各个虚拟机应用的上一次迁移时间;
[0024] 确定所述上一次迁移时间满足预设的时间条件的所述虚拟机应用;
[0025] 对确定的所述虚拟机应用进行迁移。
[0026] 可选地,所述获取目标服务器系统的当前宕机概率具体包括:
[0027] 获取所述目标服务器系统的已运行时间;
[0028] 根据所述已运行时间和预设的宕机概率函数得到所述目标服务器系统的当前宕机概率。
[0029] 本发明实施例提供的一种虚拟机应用迁移装置,包括:
[0030] 宕机概率获取模块,用于获取目标服务器系统的当前宕机概率;
[0031] 应用确定模块,用于确定安装在所述目标服务器系统上的各个虚拟机应用;
[0032] 应用价值获取模块,用于获取所述各个虚拟机应用的应用价值;
[0033] 当前损耗值确定模块,用于根据所述各个虚拟机应用的应用价值和所述当前宕机概率确定所述目标服务器系统的当前损耗值;
[0034] 迁移模块,用于若所述当前损耗值满足预设的损耗条件,则对所述各个虚拟机应用进行迁移处理。
[0035] 可选地,所述当前损耗值确定模块包括:
[0036] 总价值计算单元,用于计算所述各个虚拟机应用的应用价值之和,得到应用总价值;
[0037] 损耗值计算单元,用于将所述应用总价值和所述当前宕机概率代入预设的损耗值计算公式,得到所述目标服务器系统的当前损耗值。
[0038] 可选地,所述迁移模块包括:
[0039] 第一迁移单元,用于对所述各个虚拟机应用进行全部迁移;
[0040] 或
[0041] 第二迁移单元,用于对满足预设的迁移条件的虚拟机应用进行迁移。
[0042] 可选地,所述第二迁移单元具体包括:
[0043] 第一应用确定子单元,用于确定应用价值大于预设的价值阈值的所述虚拟机应用;
[0044] 第一迁移子单元,用于对确定的所述虚拟机应用进行迁移;
[0045] 或
[0046] 迁移时间获取子单元,用于获取所述各个虚拟机应用的上一次迁移时间;
[0047] 第二应用确定子单元,用于确定所述上一次迁移时间满足预设的时间条件的所述虚拟机应用;
[0048] 第二迁移子单元,用于对确定的所述虚拟机应用进行迁移。
[0049] 本发明实施例提供的一种服务器,包括上述的虚拟机应用迁移装置。
[0050] 从以上技术方案可以看出,本发明实施例具有以下优点:
[0051] 本发明实施例中,首先,获取目标服务器系统的当前宕机概率;确定安装在所述目标服务器系统上的各个虚拟机应用;获取所述各个虚拟机应用的应用价值;然后,根据所述各个虚拟机应用的应用价值和所述当前宕机概率确定所述目标服务器系统的当前损耗值;若所述当前损耗值满足预设的损耗条件,则对所述各个虚拟机应用进行迁移处理。在本发明实施例中,当目标服务器系统的当前损耗值满足预设的损耗条件时,则对其上的虚拟机应用进行迁移处理,无需设置固定的迁移时间间隔,解决了虚拟机应用何时迁移的问题,降低了在服务器系统发生宕机情况下造成数据丢失的概率,同时兼顾了服务器系统的性能。

附图说明

[0052] 图1为本发明实施例中一种虚拟机应用迁移方法一个实施例流程图;
[0053] 图2为服务器系统在一个应用场景下宕机概率与运行时间的关系示意图;
[0054] 图3为本发明实施例中一种虚拟机应用迁移装置一个实施例结构图。

具体实施方式

[0055] 本发明实施例提供了一种虚拟机应用迁移方法、装置及一种服务器,用于解决虚拟机应用何时迁移的问题。
[0056] 为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
[0057] 请参阅图1,本发明实施例中一种虚拟机应用迁移方法一个实施例包括:
[0058] 101、获取目标服务器系统的当前宕机概率;
[0059] 本实施例中,首先,可以获取目标服务器系统的当前宕机概率。上述的当前宕机概率可以通过对目标服务器系统进行往期宕机情况进行统计分析预测得到。
[0060] 可以理解的是,目标服务器系统的宕机概率与其运行的时间有关,一般来说,目标服务器系统已运行的时间越长,则宕机概率越大。图2示出了服务器系统在一个应用场景下宕机概率与运行时间的关系示意图。图2中,横轴代表天数,纵轴代表宕机概率,图中曲线可以表示为宕机概率y=f(t),从曲线可知,随着时间的增加,服务器系统的宕机概率越大。
[0061] 因此,进一步地,上述步骤101具体可以包括:获取所述目标服务器系统的已运行时间,然后根据所述已运行时间和预设的宕机概率函数得到所述目标服务器系统的当前宕机概率。
[0062] 需要说明的是,步骤101可以在步骤102和步骤103之前执行,也可以在步骤102和步骤103之后执行,本实施例对此不作限定。
[0063] 102、确定安装在所述目标服务器系统上的各个虚拟机应用;
[0064] 本实施例中,为了确定目标服务器系统的迁移时间,还可以先确定安装在所述目标服务器系统上的各个虚拟机应用。该目标服务器系统上可以安装有一个、两个或多个虚拟机应用。
[0065] 103、获取所述各个虚拟机应用的应用价值;
[0066] 在确定安装在所述目标服务器系统上的各个虚拟机应用之后,可以获取所述各个虚拟机应用的应用价值。可以理解的是,这些虚拟机应用的应用价值可以进行预先评估和设置,若一个虚拟机应用的重要程度越高,则其对应的应用价值的值越大;反之,若一个虚拟机应用的重要程度越低,则其对应的应用价值的值越小。
[0067] 104、根据所述各个虚拟机应用的应用价值和所述当前宕机概率确定所述目标服务器系统的当前损耗值;
[0068] 在获取到所述各个虚拟机应用的应用价值以及所述目标服务器系统的当前宕机概率之后,可以根据所述各个虚拟机应用的应用价值和所述当前宕机概率确定所述目标服务器系统的当前损耗值。
[0069] 进一步地,步骤104可以具体包括:先计算所述各个虚拟机应用的应用价值之和,得到应用总价值;然后将所述应用总价值和所述当前宕机概率代入预设的损耗值计算公式,得到所述目标服务器系统的当前损耗值。
[0070] 可以理解的是,假设某个虚拟机应用的应用价值为M,则所述目标服务器系统上各个虚拟机应用的应用总价值为 当该目标服务器系统出现宕机时,该目标服务器系统上的虚拟机应用将会损失掉,其损耗值可以用S表示,则该目标服务器系统的当前损耗值可以损耗值计算公式表示:
[0071]
[0072] 因此,当得到所述应用总价值 和所述当前宕机概率f(t)之后,可以代入上述损耗值计算公式计算得到当前损耗值S。
[0073] 105、若所述当前损耗值满足预设的损耗条件,则对所述各个虚拟机应用进行迁移处理。
[0074] 在确定所述目标服务器系统的当前损耗值之后,若所述当前损耗值满足预设的损耗条件,则对所述各个虚拟机应用进行迁移处理。
[0075] 可以理解的是,具体地,为了减少宕机损失,可以预先设定最大损耗值Smax,控制该目标服务器系统的当前损耗值S满足S
[0076] 进一步地,对所述各个虚拟机应用进行迁移处理具体可以包括:对所述各个虚拟机应用进行全部迁移;或,对满足预设的迁移条件的虚拟机应用进行迁移。可以理解的是,在需要对虚拟机应用进行迁移处理时,可以迁移所有的虚拟机应用,也可以迁移部分的虚拟机应用,使得当前损耗值S降低。
[0077] 更进一步地,对满足预设的迁移条件的虚拟机应用进行迁移具体可以包括以下两种迁移方式中的一种。
[0078] 第一种迁移方式为:确定应用价值大于预设的价值阈值的所述虚拟机应用;对确定的所述虚拟机应用进行迁移,即优先将应用价值较高的虚拟机应用进行迁移。
[0079] 第二种迁移方式为:获取所述各个虚拟机应用的上一次迁移时间;确定所述上一次迁移时间满足预设的时间条件的所述虚拟机应用;对确定的所述虚拟机应用进行迁移。可以理解的是,第二种迁移方式倾向于优先将上一次迁移时间距离当前系统时间较久的虚拟应用进行迁移。由于对于一个虚拟机应用来说,往往进行过多次迁移,也即可以在多个服务器系统上保留有相应的数据。因此,当虚拟机应用的前后两次迁移时间间隔越长,则代表该虚拟机应用的数据损失概率越大。为了控制器前后两次迁移时间间隔不要过长,从而可以选取第二种迁移方式,优先对上一次迁移时间较早的虚拟机应用进行迁移。
[0080] 可以理解的是,上述的两种迁移方式可以根据实际使用情况进行选择性使用,也可以结合在一起进行使用。
[0081] 本实施例中,首先,获取目标服务器系统的当前宕机概率;确定安装在所述目标服务器系统上的各个虚拟机应用;获取所述各个虚拟机应用的应用价值;然后,根据所述各个虚拟机应用的应用价值和所述当前宕机概率确定所述目标服务器系统的当前损耗值;若所述当前损耗值满足预设的损耗条件,则对所述各个虚拟机应用进行迁移处理。在本实施例中,当目标服务器系统的当前损耗值满足预设的损耗条件时,则对其上的虚拟机应用进行迁移处理,无需设置固定的迁移时间间隔,解决了虚拟机应用何时迁移的问题,降低了在服务器系统发生宕机情况下造成数据丢失的概率,同时兼顾了服务器系统的性能。
[0082] 另外,本发明通过提出一种虚拟机应用迁移方法,通过对宕机概率函数以及虚拟机应用的价值进行量化,可以更精确合理的把握迁移的时间和迁移的数量,并且能有效的控制宕机带来的损耗。
[0083] 上面主要描述了一种虚拟机应用迁移方法,下面将对一种虚拟机应用迁移装置进行详细描述。
[0084] 图3示出了本发明实施例中一种虚拟机应用迁移装置一个实施例结构图。
[0085] 本实施例中,一种虚拟机应用迁移装置包括:
[0086] 宕机概率获取模块301,用于获取目标服务器系统的当前宕机概率;
[0087] 应用确定模块302,用于确定安装在所述目标服务器系统上的各个虚拟机应用;
[0088] 应用价值获取模块303,用于获取所述各个虚拟机应用的应用价值;
[0089] 当前损耗值确定模块304,用于根据所述各个虚拟机应用的应用价值和所述当前宕机概率确定所述目标服务器系统的当前损耗值;
[0090] 迁移模块305,用于若所述当前损耗值满足预设的损耗条件,则对所述各个虚拟机应用进行迁移处理。
[0091] 进一步地,所述当前损耗值确定模块可以包括:
[0092] 总价值计算单元,用于计算所述各个虚拟机应用的应用价值之和,得到应用总价值;
[0093] 损耗值计算单元,用于将所述应用总价值和所述当前宕机概率代入预设的损耗值计算公式,得到所述目标服务器系统的当前损耗值。
[0094] 进一步地,所述迁移模块可以包括:
[0095] 第一迁移单元,用于对所述各个虚拟机应用进行全部迁移;
[0096] 或
[0097] 第二迁移单元,用于对满足预设的迁移条件的虚拟机应用进行迁移。
[0098] 进一步地,所述第二迁移单元具体可以包括:
[0099] 第一应用确定子单元,用于确定应用价值大于预设的价值阈值的所述虚拟机应用;
[0100] 第一迁移子单元,用于对确定的所述虚拟机应用进行迁移;
[0101] 或
[0102] 迁移时间获取子单元,用于获取所述各个虚拟机应用的上一次迁移时间;
[0103] 第二应用确定子单元,用于确定所述上一次迁移时间满足预设的时间条件的所述虚拟机应用;
[0104] 第二迁移子单元,用于对确定的所述虚拟机应用进行迁移。
[0105] 进一步地,所述宕机概率获取模块具体可以包括:
[0106] 运行时间获取单元,用于获取所述目标服务器系统的已运行时间;
[0107] 宕机概率计算单元,用于根据所述已运行时间和预设的宕机概率函数得到所述目标服务器系统的当前宕机概率。
[0108] 本发明实施例还公开了一种服务器,其包括图3对应实施例中描述的任意一种虚拟机应用迁移装置。
[0109] 所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0110] 在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0111] 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0112] 另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0113] 所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0114] 以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。