一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于服务器机柜的虚拟机管理方法及装置与流程

2022-03-26 02:36:13 来源:中国专利 TAG:


1.本技术涉及云计算领域,特别涉及一种基于服务器机柜的虚拟机管理方法及装置。


背景技术:

2.云计算(cloud computing)属于分布式计算,可以通过设置多个服务器,且服务器可以作为宿主机(host)运行多个虚拟机(virtual machine,vm),来同时处理多种业务,或者分发处理处理较大型数据处理程序。其中,服务器可以设置在机柜中,一个机柜可以设置有一个或多个服务器。
3.云计算具有弹性伸缩、灵活部署、高可靠、高安全和高性价比等特点,获得了越来越多用户青睐。云计算平台(也可以称为云数据中)上的用户和众多丰富,使得资源(计算资源、存储资源、通信资源等)的需求随时间动态变化。由此,可能出现某一个或多个虚拟机的负载过高,从而引起某个机柜的功率过高。另外,为了降低部署成本,云计算平台通常高密机柜。由此,给机柜的电源功率带来了挑战。当机柜中每个服务器都高负载运行时,整个机柜的功率可能会超过机柜的最大载荷,从而导致掉电。
4.因此,亟需一种避免机柜掉电的方案。


技术实现要素:

5.本技术实施例提供了一种基于服务器机柜的虚拟机管理方法及装置,可以在保证业务连续性的情况下,对虚拟机进行快速迁移,从而降低机柜的功率,尽可能降低机柜因功率过载而导致的掉电风险。
6.第一方面,本技术提供了一种基于服务器机柜的虚拟机管理方法,应用于服务器机柜的机柜管理器,该方法包括:获取服务器机柜的第一机柜功率;在第一机柜功率位于预设功率范围的情况下,发送第一请求至虚拟机迁移装置,第一请求用于指示虚拟机迁移装置禁止在服务器机柜中创建虚拟机。其中,在一个例子中,虚拟机可以为租户虚拟机(或者说用户虚拟机)。在另一个例子中,服务器机柜为数据中心中的一个机柜,虚拟机可以包括租户虚拟机和该数据中心的管理虚拟机(设置有云管理组件的虚拟机,用于管理租户虚拟机)。
7.也就是说,在服务器机柜的机柜功率比较高时,可以不再向该服务器机柜中创建新的虚拟机,由此,可以在保证业务连续性的同时,可以防止该服务器机柜的功率进一步升高。
8.在一种可能的实现方式中,第一请求包括设置在服务器机柜中的每个服务器的服务器标识,第一请求用于指示虚拟机迁移装置禁止在服务器机柜的任何服务器中创建虚拟机。
9.在一种可能的实现方式中,该方法还包括:在第一机柜功率大于预设功率范围的情况下,发送第二请求至虚拟机迁移装置,第二请求用于指示虚拟机迁移装置确认服务器
机柜中的待迁移虚拟机并将待迁移虚拟机迁移出服务器机柜。
10.也就是说,在该实现方式中,在服务器机柜的功率进一步升高时,可以将该服务器机柜中的一个或多个虚拟机迁移出,从而可以降低该服务器机柜的功率,在保证业务连续性的同时,避免或降低了掉电宕机的风险,提高了数据中心的可靠性,保障了用户服务等级协议。
11.在一种可能的实现方式中,第二请求包括所述第一机柜功率、服务器机柜中的每个服务器中已经创建的每个虚拟机的虚拟机标识和虚拟机负载。
12.也就是说,在该实现方式中,机柜管理器可以将服务器机柜中的服务器中已经创建的虚拟机的虚拟机标识和虚拟机负载、以及第一机柜功率发送给虚拟机迁移装置,以便虚拟机迁移装置可以确定待迁移虚拟机。
13.在一种可能的实现方式中,在发送第二请求至虚拟机迁移装置之前,该方法还包括:向服务器机柜中的每个服务器查询已经创建的每个虚拟机的虚拟机标识和虚拟机负载。
14.也就是说,在该实现方式中,机柜管理器可以向服务器机柜中的每一个服务器查询该服务器的相关信息,以获取所需信息。
15.在一种可能的实现方式中,该方法还包括:在第一机柜功率大于预设功率范围的情况下,确定服务器机柜中待迁移虚拟机;发送虚拟机迁移请求至虚拟机迁移装置,虚拟机迁移请求用于指示虚拟机迁移装置将待迁移虚拟机迁移出服务器机柜。
16.也就是说,在该实现方式中,在服务器机柜的功率进一步升高的情况下,机柜管理器可以确定该服务器机柜的待迁移虚拟机,并且可以请求虚拟机迁移装置将待迁移虚拟机从该服务器机柜中迁移出,从而可以降低该服务器机柜的功率,在保证业务连续性的同时,避免或降低了掉电宕机的风险,提高了数据中心的可靠性,保障了用户服务等级协议。
17.在一种可能的实现方式中,该方法还包括:预先记录目标功率;则,确定服务器机柜中待迁移虚拟机包括:根据服务器机柜中每个服务器上已经创建的每个虚拟机的负载,确定每个服务器上已经创建的每个虚拟机的功率;根据目标功率、第一机柜功率、以及服务器机柜中每个虚拟机的功率,从服务器机柜已创建的虚拟机中选择待迁移虚拟机。
18.也就是说,在该实现方式中,可以根据服务器功率和虚拟机的负载,确定虚拟机的功率;进而可以根据机柜功率和虚拟机的功率,确定待迁移虚拟机。
19.在一种可能的实现方式中,根据目标功率、第一机柜功率、以及服务器机柜中每个虚拟机的功率,从服务器机柜已创建的虚拟机中选择所述待迁移虚拟机,包括:获取第一机柜功率与目标功率的差值;选择功率之和最接近且不少于差值的至少两个虚拟机作为待迁移虚拟机;或选择功率最接近且不少于差值的一个虚拟机作为待迁移虚拟机。
20.在一种可能的实现方式中,根据服务器机柜中每个服务器上已经创建的每个虚拟机的负载,确定每个服务器上已经创建的每个虚拟机的功率,包括:
[0021][0022][0023][0024]
[0025]
其中,表示虚拟机i在时刻t的功率;表示虚拟机i的cpu在时刻t的功率;表示虚拟机i在时刻t的cpu利用率;α1、β1分别表示cpu利用率-功率转换的权重和偏斜;表示的虚拟机i的内存在时刻t的功率;表示虚拟机i在时刻t的内存开销;α2、β2分别表示内存开销-功率转换的权重和偏斜;表示的虚拟机i的硬盘在时刻t的功率开销;表示虚拟机i在时刻t的硬盘读写总字节数,其中,表示虚拟机i在时刻t的硬盘写字节数,表示虚拟机i在时刻t的硬盘读字节数;α3、β3分别表示硬盘读写总字节数-功率转换的权重和偏斜。
[0026]
在一种可能的实现方式中,在获取服务器机柜的第一机柜功率之后,该方法还包括:获取服务器机柜的第二机柜功率;在第二机柜功率小于预设功率范围的情况下,发送包括设置在服务器机柜中的服务器的服务器标识的第三请求至虚拟机迁移装置,第三请求用于指示虚拟机迁移装置允许在服务器机柜中创建虚拟机。
[0027]
也就是说,在该实现方式中,在服务器机柜的功率较低时,可以指示虚拟机迁移装置可以在该服务器机柜中创建虚拟机,从而提高了该服务器机柜的资源利用率。
[0028]
在一种可能的实现方式中,第一机柜功率为实测功率或者预测功率。
[0029]
在一种可能的实现方式中,虚拟机负载包括以下至少一项:
[0030]
cpu利用率,内存开销、硬盘读写总字节数。
[0031]
第二方面,本技术实施例提供了一种基于服务器机柜的虚拟机管理方法,应用于服务器机柜的机柜管理器,该方法包括:获取所述服务器机柜的第一机柜功率;在所述第一机柜功率大于预设功率范围的情况下,发送第二请求至虚拟机迁移装置,所述第二请求用于指示所述虚拟机迁移装置确认所述服务器机柜中的待迁移虚拟机并将所述待迁移虚拟机迁移出所述服务器机柜。
[0032]
也就是说,在服务器机柜的功率足够升高时,可以将该服务器机柜中的一个或多个虚拟机迁移出,从而可以降低该服务器机柜的功率,在保证业务连续性的同时,避免或降低了掉电宕机的风险,提高了数据中心的可靠性,保障了用户服务等级协议。
[0033]
在一种可能的实现方式中,第二请求包括第一机柜功率、服务器机柜中的每个服务器中已经创建的每个虚拟机的虚拟机标识和虚拟机负载。
[0034]
在一种可能的实现方式中,在发送第二请求至虚拟机迁移装置之前,该方法还包括:向所述服务器机柜中的每个服务器查询已经创建的每个虚拟机的虚拟机标识和虚拟机负载。
[0035]
在一种可能的实现方式中,在获取服务器机柜的第一机柜功率之后,该方法还包括:获取服务器机柜的第二机柜功率;在第二机柜功率小于预设功率范围的情况下,发送包括设置在服务器机柜中的服务器的服务器标识的第三请求至虚拟机迁移装置,第三请求用于指示虚拟机迁移装置允许在服务器机柜中创建虚拟机。
[0036]
也就是说,在该实现方式中,在服务器机柜的功率较低时,可以指示虚拟机迁移装置可以在该服务器机柜中创建虚拟机,从而提高了该服务器机柜的资源利用率。
[0037]
第三方面,本技术实施例提供了一种基于服务器机柜的虚拟机管理方法,应用于服务器机柜的机柜管理器,该方法包括:获取服务器机柜的第一机柜功率;在所述第一机柜
功率大于预设功率范围的情况下,确定服务器机柜中待迁移虚拟机;向虚拟机迁移装置发送虚拟机迁移请求,该虚拟机迁移请求用于指示虚拟机迁移装置将待迁移虚拟机迁移出服务器机柜。
[0038]
也就是说,在服务器机柜的功率进一步升高的情况下,机柜管理器可以确定该服务器机柜的待迁移虚拟机,并且可以请求虚拟机迁移装置将待迁移虚拟机从该服务器机柜中迁移出,从而可以降低该服务器机柜的功率,在保证业务连续性的同时,避免或降低了掉电宕机的风险,提高了数据中心的可靠性,保障了用户服务等级协议。
[0039]
在一种可能的实现方式中,确定服务器机柜中待迁移虚拟机包括:根据服务机柜中至少两个服务器的服务器功率和至少两个服务器上各个虚拟机的负载,确定至少两个服务器中第一服务器上的第一虚拟机的功率;根据第一机柜功率和服务机柜中各虚拟机的功率,确定待迁移虚拟机。
[0040]
也就是说,在该实现方式中,可以根据服务器功率和虚拟机的负载,确定虚拟机的功率;进而可以根据机柜功率和虚拟机的功率,确定待迁移虚拟机。
[0041]
在一种可能的实现方式中,虚拟机负载包括以下至少一项:
[0042]
cpu利用率,内存开销、硬盘读写总字节数。
[0043]
第四方面,本技术实施例提供了一种基于服务器机柜的虚拟机管理方法,应用于虚拟机迁移装置,该方法包括:获取机柜管理器发送的第一请求,第一请求包括设置在机柜管理器所在的服务器机柜中的每个服务器的服务器标识;根据第一请求禁止在服务器机柜的任意服务器中创建虚拟机。
[0044]
第五方面,本技术实施例提供了一种基于服务器机柜的虚拟机管理方法,应用于虚拟机迁移装置,该方法包括:获取机柜管理器发送的第二请求,第二请求包括机柜管理器服务器机柜中的每个服务器中已经创建的虚拟机的每个虚拟机标识和虚拟机负载、以及服务器机柜的第一机柜功率;根据第二请求携带的服务器机柜中的每个服务器中已经创建的每个虚拟机的虚拟机标识和虚拟机负载、以及服务器机柜的第一机柜功率确定服务器机柜中的待迁移虚拟机;将待迁移虚拟机迁移出服务器机柜。
[0045]
在一种可能的实现方式中,该方法还包括:预先记录服务器功率的目标功率;则,根据所述第二请求携带的服务器机柜中的每个服务器中已经创建的每个虚拟机的虚拟机标识和虚拟机负载、以及服务器机柜的第一机柜功率确定服务器机柜中的待迁移虚拟机根据第二请求确定服务器机柜中的服务器中的待迁移虚拟机,包括:根据服务器机柜中每个服务器上已经创建的每个虚拟机的负载,确定每个服务器上已经创建的每个虚拟机的功率;根据目标功率、第一机柜功率、以及服务器机柜中每个虚拟机的功率,从服务器机柜已创建的虚拟机中选择待迁移虚拟机。
[0046]
在一种可能的实现方式中,根据目标功率、第一机柜功率、以及服务器机柜中每个虚拟机的功率,从服务器机柜已创建的虚拟机中选择待迁移虚拟机,包括:获取第一机柜功率与目标功率的差值;选择功率之和最接近且不少于该差值的至少两个虚拟机作为待迁移虚拟机;或选择功率最接近且不少于该差值的一个虚拟机作为待迁移虚拟机。
[0047]
在一种可能的实现方式中,根据服务器机柜中每个服务器上已经创建的每个虚拟机的负载,确定每个服务器上已经创建的每个虚拟机的功率,包括:
[0048]
[0049][0050][0051][0052]
其中,表示虚拟机i在时刻t的功率;表示虚拟机i的cpu在时刻t的功率;表示虚拟机i在时刻t的cpu利用率;α1、β1分别表示cpu利用率-功率转换的权重和偏斜;表示的虚拟机i的内存在时刻t的功率;表示虚拟机i在时刻t的内存开销;α2、β2分别表示内存开销-功率转换的权重和偏斜;表示的虚拟机i的硬盘在时刻t的功率开销;表示虚拟机i在时刻t的硬盘读写总字节数,其中,表示虚拟机i在时刻t的硬盘写字节数,表示虚拟机i在时刻t的硬盘读字节数;α3、β3分别表示硬盘读写总字节数-功率转换的权重和偏斜。
[0053]
第六方面,本技术实施例提供了一种虚拟机管理方法,应用于虚拟机迁移装置,该方法包括:获取机柜管理器发送的虚拟机迁移请求,虚拟机迁移请求包括设置在机柜管理器所在的服务器机柜中的待迁移虚拟机的虚拟机标识;根据虚拟机迁移请求,将待迁移虚拟机迁移出服务器机柜。
[0054]
第七方面,本技术实施例提供了一种机柜管理器,配置于服务器机柜,机柜管理器包括:获取单元,用于获取服务器机柜的第一机柜功率;发送单元,用于在第一机柜功率位于预设功率范围的情况下,发送第一请求至虚拟机迁移装置,第一请求用于指示虚拟机迁移装置禁止在服务器机柜中创建虚拟机。
[0055]
在一种可能的实现方式中,第一请求包括设置在服务器机柜中的每个服务器的服务器标识,第一请求用于指示虚拟机迁移装置禁止在服务器机柜的任何服务器中创建虚拟机。
[0056]
在一种可能的实现方式中,发送单元还用于:在第一机柜功率大于预设功率范围的情况下,发送第二请求至虚拟机迁移装置,第二请求用于指示虚拟机迁移装置确认服务器机柜中的待迁移虚拟机并将待迁移虚拟机迁移出服务器机柜。
[0057]
在一种可能的实现方式中,第二请求包括第一机柜功率、服务器机柜中的每个服务器中已经创建的每个虚拟机的虚拟机标识和虚拟机负载。
[0058]
在一种可能的实现方式中,机柜管理器还包括查询单元;查询单元还用于:向服务器机柜中的每个服务器查询已经创建的每个虚拟机的虚拟机标识和虚拟机负载。
[0059]
在一种可能的实现方式中,机柜管理器还包括确定单元;确定单元,用于在第一机柜功率大于预设功率范围的情况下,确定服务器机柜中待迁移虚拟机;发送单元,还用于发送虚拟机迁移请求至虚拟机迁移装置,虚拟机迁移请求用于指示虚拟机迁移装置将待迁移虚拟机迁移出服务器机柜。
[0060]
在一种可能的实现方式中,机柜管理器还包括记录单元和选择单元;记录单元用于预先记录目标功率;确定单元还用于根据服务器机柜中每个服务器上已经创建的每个虚拟机的负载,确定每个服务器上已经创建的每个虚拟机的功率;选择单元用于根据目标功率、第一机柜功率、以及服务器机柜中每个虚拟机的功率,从服务器机柜已创建的虚拟机中
选择待迁移虚拟机。
[0061]
在一种可能的实现方式中,选择单元还用于:获取第一机柜功率与目标功率的差值;选择功率之和最接近且不少于差值的至少两个虚拟机作为待迁移虚拟机;或选择功率最接近且不少于差值的一个虚拟机作为待迁移虚拟机。
[0062]
在一种可能的实现方式中,确定单元用于利用如下公式,确定每个服务器上已经创建的每个虚拟机的功率:
[0063][0064][0065][0066][0067]
其中,表示虚拟机i在时刻t的功率;表示虚拟机i的cpu在时刻t的功率;表示虚拟机i在时刻t的cpu利用率;α1、β1分别表示cpu利用率-功率转换的权重和偏斜;表示的虚拟机i的内存在时刻t的功率;表示虚拟机i在时刻t的内存开销;α2、β2分别表示内存开销-功率转换的权重和偏斜;表示的虚拟机i的硬盘在时刻t的功率开销;表示虚拟机i在时刻t的硬盘读写总字节数,其中,表示虚拟机i在时刻t的硬盘写字节数,表示虚拟机i在时刻t的硬盘读字节数;α3、β3分别表示硬盘读写总字节数-功率转换的权重和偏斜。
[0068]
在一种可能的实现方式中,获取单元,还用于获取服务器机柜的第二机柜功率;发送单元,还用于在第二机柜功率小于预设功率范围的情况下,发送包括设置在服务器机柜中的服务器的服务器标识的第三请求至虚拟机迁移装置,第三请求用于指示虚拟机迁移装置允许在服务器机柜中创建虚拟机。
[0069]
在一种可能的实现方式中,第一机柜功率为实测功率或者预测功率。
[0070]
第八方面,本技术实施例提供了一种机柜管理器,配置于服务器机柜,机柜管理器包括:获取单元,用于获取服务器机柜的第一机柜功率;发送单元,用于在第一机柜功率大于预设功率范围的情况下,发送第二请求至虚拟机迁移装置,第二请求用于指示虚拟机迁移装置确认服务器机柜中的待迁移虚拟机并将待迁移虚拟机迁移出服务器机柜。
[0071]
在一种可能的实现方式中,第二请求包括第一机柜功率、服务器机柜中的每个服务器中已经创建的虚拟机的虚拟机标识和虚拟机负载。
[0072]
在一种可能的实现方式中,机柜管理器还包括:查询单元,用于向服务器机柜中的每个服务器查询已经创建的每个虚拟机的虚拟机标识和虚拟机负载。
[0073]
在一种可能的实现方式中,获取单元,还用于获取服务器机柜的第二机柜功率;发送单元,还用于在第二机柜功率小于预设功率范围的情况下,发送包括设置在服务器机柜中的服务器的服务器标识的第三请求至虚拟机迁移装置,第三请求用于指示虚拟机迁移装置允许在服务器机柜中创建虚拟机。
[0074]
第九方面,本技术实施例提供了一种机柜管理器,配置于服务器机柜,机柜管理器包括:获取单元,用于获取服务器机柜的第一机柜功率;确定单元,用于在第一机柜功率大
于预设功率范围的情况下,确定服务器机柜中待迁移虚拟机;发送单元,用于向虚拟机迁移装置发送虚拟机迁移请求,该虚拟机迁移请求用于指示虚拟机迁移装置将待迁移虚拟机迁移出服务器机柜。
[0075]
第十方面,本技术实施例提供了一种虚拟机迁移装置,包括:获取单元,用于获取机柜管理器发送的第一请求,第一请求包括设置在机柜管理器所在的服务器机柜中的每个服务器的服务器标识;禁止单元,用于根据第一请求禁止在服务器机柜的任意服务器中创建虚拟机。
[0076]
第十一方面,本技术实施例提供了一种虚拟机迁移装置,包括:获取单元,用于获取机柜管理器发送的第二请求,第二请求包括服务器机柜中的每个服务器中已经创建的虚拟机的每个虚拟机标识和虚拟机负载、以及服务器机柜的第一机柜功率;确定单元,用于根据第二请求携带的所述服务器机柜中的每个服务器中已经创建的每个虚拟机的虚拟机标识和虚拟机负载、以及所述服务器机柜的第一机柜功率确定服务器机柜中的待迁移虚拟机;迁移单元,用于将待迁移虚拟机迁移出服务器机柜。
[0077]
在一种可能的实现方式中,虚拟机迁移装置还包括:记录单元和选择单元;记录单元用于预先记录服务器功率的目标功率;确定单元用于根据服务器机柜中每个服务器上已经创建的每个虚拟机的负载,确定每个服务器上已经创建的每个虚拟机的功率;选择单元用于根据目标功率、第一机柜功率、以及服务器机柜中每个虚拟机的功率,从服务器机柜已创建的虚拟机中选择待迁移虚拟机。
[0078]
在一种可能的实现方式中,选择单元用于:获取第一机柜功率与目标功率的差值;选择功率之和最接近且不少于差值的至少两个虚拟机作为待迁移虚拟机;或选择功率最接近且不少于差值的一个虚拟机作为待迁移虚拟机。
[0079]
在一种可能的实现方式中,确定单元用于利用如下公式,确定每个服务器上已经创建的每个虚拟机的功率:
[0080][0081][0082][0083][0084]
其中,表示虚拟机i在时刻t的功率;表示虚拟机i的cpu在时刻t的功率;表示虚拟机i在时刻t的cpu利用率;α1、β1分别表示cpu利用率-功率转换的权重和偏斜;表示的虚拟机i的内存在时刻t的功率;表示虚拟机i在时刻t的内存开销;α2、β2分别表示内存开销-功率转换的权重和偏斜;表示的虚拟机i的硬盘在时刻t的功率开销;表示虚拟机i在时刻t的硬盘读写总字节数,其中,表示虚拟机i在时刻t的硬盘写字节数,表示虚拟机i在时刻t的硬盘读字节数;α3、β3分别表示硬盘读写总字节数-功率转换的权重和偏斜。
[0085]
第十二方面,本技术实施例提供了一种虚拟机迁移装置,包括:获取单元,用于获
取机柜管理器发送的虚拟机迁移请求,虚拟机迁移请求包括设置在机柜管理器所在的服务器机柜中的待迁移虚拟机的虚拟机标识;迁移单元,用于根据虚拟机迁移请求,将待迁移虚拟机迁移出服务器机柜。
[0086]
第十三方面,本技术实施例提供了一种机柜管理器,包括处理器、存储器、收发器;存储器用于存储计算机指令;当机柜管理器运行时,处理器执行计算机指令,使得机柜管理器执行第一方面所提供的方法。
[0087]
第十四方面,本技术实施例提供了一种机柜管理器,包括处理器、存储器、收发器;存储器用于存储计算机指令;当机柜管理器运行时,处理器执行计算机指令,使得机柜管理器执行第二方面所提供的方法。
[0088]
第十五方面,本技术实施例提供了一种机柜管理器,包括处理器、存储器、收发器;存储器用于存储计算机指令;当机柜管理器运行时,处理器执行计算机指令,使得机柜管理器执行第三方面所提供的方法。
[0089]
第十六方面,本技术实施例提供了一种虚拟机迁移装置,包括处理器、存储器、收发器;存储器用于存储计算机指令;当虚拟机迁移装置运行时,处理器执行计算机指令,使得虚拟机迁移装置执行第四方面所提供的方法。
[0090]
第十七方面,本技术实施例提供了一种虚拟机迁移装置,其特征在于,包括处理器、存储器、收发器;存储器用于存储计算机指令;当虚拟机迁移装置运行时,处理器执行计算机指令,使得虚拟机迁移装置执行第五方面所提供的方法。
[0091]
第十八方面,本技术实施例提供了一种虚拟机迁移装置,其特征在于,包括处理器、存储器、收发器;存储器用于存储计算机指令;当虚拟机迁移装置运行时,处理器执行计算机指令,使得虚拟机迁移装置执行第六方面所提供的方法。
[0092]
第十九方面,本技术实施例提供了一种计算机存储介质,计算机存储介质包括计算机指令,当计算机指令在电子设备上运行时,使得电子设备执行第一方面所提供的方法或第二方面所提供的方法或第三方面所提供的方法或第四方面所提供的方法或第五方法所提供的方法或第六方法所提供的方法。
[0093]
第二十方面,本技术实施例提供了一种计算机程序产品,计算机程序产品包含的程序代码被用于电子设备中的处理器执行时,实现第一方面所提供的方法或第二方面所提供的方法或第三方面所提供的方法或第四方面所提供的方法或第五方法所提供的方法或第六方法所提供的方法。
[0094]
第二十一方面,本技术实施例提供了一种虚拟机管理系统,包括以上介绍的机柜管理器和虚拟机迁移装置。
[0095]
本技术实施例提供的基于服务机柜的虚拟机管理方法及装置,可以在服务器机柜的功率较高时,不再在服务器机柜中创建虚拟机,以使服务器机柜的功率尽量不再增加;并且可以在服务器机柜的功率足够高时,可以将服务器机柜中的一个或多个虚拟机迁移出,以降低机柜的功率;由此,可以避免或降低服务器机柜因过载而掉电宕机的风险。
附图说明
[0096]
图1是本技术实施例可应用的一种数据中心的结构示意图;
[0097]
图2是本技术实施例提供的一种虚拟机管理方法的流程图;
[0098]
图3是本技术实施例提供的一种虚拟机管理方法的流程图;
[0099]
图4是本技术实施例提供的一种虚拟机管理方法的流程图;
[0100]
图5是本技术实施例提供的一种机柜管理器的结构示意图;
[0101]
图6是本技术实施例提供的一种虚拟机迁移装置的结构示意图;
[0102]
图7是本技术实施例提供的一种虚拟机迁移装置的结构示意图;
[0103]
图8是本技术实施例提供的一种机柜管理器的示意性框图;
[0104]
图9是本技术实施例提供的一种虚拟机迁移装置的示意性框图。
具体实施方式
[0105]
下面将结合附图,对本发明实施例中的技术方案进行描述。显然,所描述的实施例仅是本说明书一部分实施例,而不是全部的实施例。
[0106]
在本说明书的描述中“一个实施例”或“一些实施例”等意味着在本说明书的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。
[0107]
其中,在本说明书的描述中,除非另有说明,“/”表示或的意思,例如,a/b可以表示a或b;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,在本说明书实施例的描述中,“多个”是指两个或多于两个。
[0108]
在本说明书的描述中,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
[0109]
随着云计算系统规模的扩大,出于部署成本的考虑,多采用高密机柜(例如,每个机柜的功率负载在10kw或以上)来建立云数据中心。如此,为整个机柜的电源功率以及散热带了压力,使机柜具有较高掉电风险。
[0110]
在一种方案中,采用机柜功率封顶策略控制机柜的功率。具体而言,当机柜的功率达到一特定值后,直接限制该机柜中一个或多个服务器的功率,以防止机柜功率过高而导致的掉电风险。该策略在机柜功率较高时,严重影响用户体验,无法满足用户服务等级协议(service level aggrement,sla)。
[0111]
在另一个方案中,监控云数据中心中各服务器的中央处理器(central processing unit,cpu)的负载,通过迁移或扩容,来动态调整虚拟机所获得的cpu资源的大小,以满足单个虚拟机的服务质量(quality of service,qos)。该方案未考虑机柜功率问题,在大规模的数据中心下,对于业务密集场景,可能出现不同机柜之间功率不均衡。比如,有的机柜可能会达到功率封顶值甚至掉电宕机;而有的机柜功率较低,浪费资源。
[0112]
在又一种方案中,数据中心中的中心控制节点收集数据中心中各机柜的功率、各服务器功率以及各虚拟机的负载,然后,综合考虑各机柜的功率、各服务器的功率以及各虚拟机的负载,决定虚拟机负载的迁移策略。该方案需要集中考虑数据中心中各机柜、各服务
器、各虚拟机的功率开销,数据计算量较大,且计算复杂,使得机柜负载均衡的计算开销大,并且时延也较大,当某个机柜的功率过高时,难以及时降低该机柜的功率。
[0113]
本技术实施例提供了一种虚拟机管理方法,为一种分布式动态负载均衡方案。该方法可以基于单个机柜的功率以及机柜中服务器上运行的虚拟机的负载,确定该单个机柜中服务器上虚拟机的迁移策略,从而防止机柜功率过载,降低机柜掉电风险,以及保证了云计算的可靠性和业务连续性,使得用户的sla得到了保障。并且,该方法基于单个机柜的相关功率参数决策虚拟机的迁移策略,无需对数据中心中所有或多个机柜的功率参数进行集中收集、存储和分析,由此进行动态负载均衡的开销较少,且时延较低。
[0114]
接下来,在不同实施例中,对本技术实施例提供的虚拟机管理方法进行说明。
[0115]
图1示出了本技术实施例提供的一种数据中心100的网络架构。数据中心100可以包括机柜110、机柜120、机柜130等多个机柜。该数据中心100中的机柜也可以称为服务器机柜,其中,一个服务器机柜中可部署有一个或多个服务器。服务器可以作为宿主机(host),上面创建有或运行有一个或多个虚拟机。
[0116]
示例性的,如图1所示,可以设定机柜110中可以部署有服务器a1、服务器a2等。其中,服务器a1可以创建有或运行有虚拟机a11、虚拟机a12等。服务器a2上可以创建有或运行有虚拟机a21、虚拟机a22等。可以设定机柜120中可以部署有服务器b1、服务器b2等。其中,服务器b1可以创建有或运行有虚拟机b11、虚拟机b12等。服务器b2上可以运创建有或行有虚拟机b21、虚拟机b22等。可以设定机柜130中可以部署有服务器c1、服务器c2等。其中,服务器c1可以创建有或运行有虚拟机c11、虚拟机c12等。服务器c2上可以创建有或运行有虚拟机c21、虚拟机c22等。数据中心100的其他机柜也可以设置有一个或多个服务器,并且每个服务器上可以运行有一个或多个虚拟机,此处不再一一说明。
[0117]
数据中心100中各机柜各自对应有机柜管理器。也就是说,数据中心100可以部署有多个机柜管理器,该多个机柜管理器和数据中心110中的多个机柜具有一一对应关系。例如,机柜管理器111对应机柜110,机柜管理器121对应机柜120,机柜管理器131对应机柜130。示例性的,如图1所示,机柜管理器可以部署在对应的机柜中。例如,机柜管理器111可以部署在机柜110中,机柜管理器121可以部署在机柜120中,机柜管理器131部署在机柜130中,等等。机柜管理器可以用于采集其所对应或所在机柜中的服务器上虚拟机的相关信息,判断该机柜的机柜功率是否满足相关条件,以及和数据中心100的虚拟机迁移装置进行信息交互。机柜管理器的功能具体将在下文方法实施例中进行介绍,在此不再赘述。
[0118]
示例性的,如图1所示,数据中心100的虚拟机迁移装置可以包括初始调度组件和二次调度组件。其中,初始调度组件可以用于创建新的虚拟机;二次调度组件可以用于将一服务器(例如服务器a1)上已创建的虚拟机迁移至另一服务器(例如服务器b1)上。
[0119]
虚拟机迁移装置的功能具体将在下文方法实施例中进行介绍,在此不再赘述。
[0120]
可以理解,虚拟机可以为分为租户虚拟机和管理虚拟机。其中,租户虚拟机可以称为用户虚拟机或业务虚拟机,其可用于处理租户或用户所提交或布置的业务。管理虚拟机是指用于管理租户虚拟机以及其他相关设备或装置的虚拟机。
[0121]
在一些实施例中,虚拟机迁移装置可以为部署在数据中心100中一个或多个服务器上的管理虚拟机。该一个或多个服务器可以设置在一个机柜中,也可以分布在多个机柜中,虚拟机迁移装置可设置在特定机柜中,位置相对固定,无需进行虚拟机迁移。
[0122]
在一些实施例中,在本技术实施例提供的虚拟机管理方法中,可以对租户虚拟机进行管理。
[0123]
在一些实施例中,在本技术实施例提供的虚拟管理方法中,可以对租户虚拟机和管理虚拟机同时进行管理。
[0124]
接下来,以机柜管理器111协同虚拟机迁移装置对机柜110中的虚拟机进行管理为例,对本技术实施例提供的虚拟机管理方法进行示例说明。
[0125]
参阅图2,本技术实施例提供了一种基于服务器机柜的虚拟机管理方法,该方法具体如下。
[0126]
机柜管理器111可以执行步骤201,获取机柜110的机柜功率w1。
[0127]
示例性的,可以理解,机柜110的机柜功率主要由部署在机柜100中的设备(例如服务器、网络设备(例如网络交换机)和冷却设备等)产生。机柜通常设置有基板管理控制器(baseboard management controller,bmc),其记录和存储了机柜内各设备的功率,由此,机柜管理器111可以从机柜110的基板管理控制器获取机柜110中各设备的功率,然后进行加和,以便获取机柜功率w1。
[0128]
示例性的,机柜110可以设置有功率传感器,用于监控机柜110的功率,并将监控到的功率传递给机柜管理器111。由此,机柜管理器111可以直接获取到机柜110的机柜功率w1。
[0129]
机柜管理器111在获取到机柜110的机柜功率w1时或之后,可以执行步骤202,判断机柜110的机柜功率w1是否位于预设功率范围内。
[0130]
预设功率范围是根据机柜110的封顶功率而预先设置的一个功率范围。示例性的,该功率范围可以包括上限和下限,也就是说,该功率范围的上限和下限可以认为是位于该功率范围内的。示例性的,该功率范围可以不包括上限或下限,也就是说,该功率范围的上限和下限可以认为不位于该功率范围内。其中,机柜的封顶功率可以理解为机柜(机柜的散热系统、电源系统等)最大可承受功率。通常,在机柜生产或设计时,可以规定机柜的封顶功率。
[0131]
示例性的,该功率范围的上限和下限可以为封顶功率的相对值。例如,功率范围的上限可以为封顶功率的百分之七十,下限可以为封顶功率的百分之五十。也就是说,在该例子中,该预设的功率范围可以为功率区间[封顶功率的百分之五十,封顶功率的百分之七十]或功率区间(封顶功率的百分之五十,封顶功率的百分之七十)。
[0132]
示例性的,该功率范围的上限可以由封顶功率减去功率w2得到,下限可以由封顶功率减去功率w3得到。功率w2、功率w3可以为预设的功率。例如,功率w2可以为700瓦,功率w3可以为1000瓦。也就是说,该预设的功率范围可以为功率区间[封顶功率减去1000瓦得到的差值,封顶功率减去700瓦得到的差值]或功率区间(封顶功率减去1000瓦得到的差值,封顶功率减去700瓦得到的差值)。
[0133]
需要说明的是,上文仅对预设功率范围进行示例说明,并不构成限定。在其他实施例中,预设功率范围还可以是其他形式或其他值。
[0134]
在机柜110的机柜功率w1位于预设功率范围内的情况下,机柜管理器111可以执行步骤203,向虚拟机迁移装置发送请求r1。示例性的,请求r1可以包括机柜110中每一个服务器的服务器标识。示例性的,一个服务器的服务器标识为用于在数据中心100中唯一标识该
服务器的信息。数据中心110中,不同服务器具有不同的服务器标识,或者说,不同的服务器标识对应的服务器不同。在一个例子中,服务器标识可以为服务器名称。在一个例子中,服务器标识可以为服务器编号。等等,此处不再一一例举。示例性的,机柜管理器111可以在机柜110中每一个服务器的基板管理器查询该服务器的服务器标识,以得到该服务器的服务器标识。
[0135]
在一些实施例中,机柜功率w1具体为机柜110的多个实测功率,该多个实测功率可以为机柜100在预设时长中多个时刻的实际产生的或者说被实际测量到的功率,其中,多个功率和多个时刻一一对应。其中,该预设时长可以为10分钟,也可以为20分钟等等。也就是说,机柜管理111在多次监控到机柜110的机柜功率位于预设功率范围内的情况下,机柜管理器111才执行步骤203,从而可以避免瞬时功率峰值抖动触发的热点误判。
[0136]
在一些实施例中,机柜功率w1可以为预测功率。可以理解,机柜的功率具有较强的自相似性和长相关性,因此,机柜111可以采用预测模型,例如差分整合移动平均自回归模型(autoregressive integrated moving average model,arima模型),根据最近获取的多个实测功率,预测机柜110在未来时刻的预测功率。当该预测功率位于预设功率范围内时,机柜管理器111可以执行步骤203,从而可以提前禁止在机柜110中创建虚拟机,避免机柜110的功率进一步升高。
[0137]
在一些实施例中,机柜功率w1可以为未来n个时刻的n个预测功率(n个时刻和n个预测功率一一对应)。n为大于1的整数。每个预测功率可以由预测模型预测得到,具体可以参考上文介绍。机柜功率w1位于预设功率范围内具体可以是指该多个预测功率中k个预测功率均位于预设功率范围内,k为大于1,且小于n的整数。也就是说,在该实施例中,当预测到多个预测功率位于预设功率范围内时,机柜管理器111可以执行步骤203,从而可以提前禁止在机柜110中创建虚拟机,并且避免瞬时峰值抖动触发的热点误判。
[0138]
步骤203发送的请求r1可以用于指示虚拟机迁移装置,禁止在请求r1所包括的服务器标识对应的服务器上创建虚拟机。示例性的,由上所述,请求r1包括了机柜110中每一个服务器的服务器标识。禁止在请求r1所包括的服务器标识对应的服务器上创建虚拟机,就是说,禁止在机柜110中每一个服务器上创建虚拟机,即禁止在机柜110中所有服务器上创建虚拟机。或者说,禁止在机柜110中创建虚拟机。
[0139]
如此,虚拟机迁移装置当接收到请求r1时,可以执行步骤204,根据请求r1,禁止在机柜110的任意服务器中创建虚拟机。也就是说,当虚拟机迁移装置接收到机柜管理器111发送的请求r1时,就不再向机柜110中的任一个服务器派发新的虚拟机。由此,可以在机柜110的机柜功率比较高(位于预设功率范围内)时,不再在机柜110中增加新的虚拟机,以避免机柜110的功率进一步升高。
[0140]
示例性的,在步骤204中,可以为机柜110中的每一个服务器添加禁止创建虚拟机标签,或者添加热点标记,以将机柜110中的每一个服务器标记为热点,从而禁止后续向机柜110中每一个服务器中派发或者创建虚拟机。
[0141]
示例性的,步骤204具体可以由虚拟机迁移装置中的初始调度组件执行。
[0142]
示例性的,在步骤204,可以根据请求r1,禁止在机柜110中创建租户虚拟机。
[0143]
示例性的,在步骤204,可以根据请求r1,禁止在机柜110中创建租户虚拟机,也禁止在机柜110中创建管理虚拟机。
[0144]
在一些实施例中,继续参阅图2,在机柜110的机柜功率w1不位于预设功率范围内的情况下,机柜管理器111还可以执行步骤205,判断机柜110的机柜功率w1是否大于预设功率范围。其中,大于预设功率范围具体可以是指大于该预设功率范围的上限。预设功率范围具体可以参考上文对步骤202的介绍,在此不再赘述。
[0145]
在机柜110的机柜功率w1大于预设功率范围的情况下,机柜管理器111可以执行步骤206a,向虚拟机迁移装置发送请求r2。
[0146]
在一些实施例中,机柜功率w1具体为多个实测功率,该多个实测功率可以为机柜100在预设时长中多个时刻的实际产生的或者说被实际测量到的功率,其中,多个功率和多个时刻一一对应。其中,该预设时长可以为10分钟,也可以为20分钟等等。也就是说,机柜管理111在多次监控到机柜110的机柜功率大于预设功率范围的情况下,机柜管理器111才执行步骤206a,从而可以避免瞬时功率峰值抖动触发的热点误判。
[0147]
在一些实施例中,机柜功率w1可以为预测功率。预测功率可由预测模型预测得到,具体可以参考上文介绍。当该预测功率大于预设功率范围时,机柜管理器111可以执行步骤206a,从而可以提前从机柜110中迁移出虚拟机,避免机柜110的功率过高。
[0148]
在一些实施例中,机柜功率w1可以为未来n个时刻的n个预测功率(n个时刻和n个预测功率一一对应)。n为大于1的整数。每个预测功率可以由预测模型预测得到,具体可以参考上文介绍。机柜功率w1大于预设功率范围具体可以是指该多个预测功率中k个预测功率均大于预设功率范围,k为大于1,且小于n的整数。也就是说,在该实施例中,当预测到多个预测功率大于预设功率范围时,机柜管理器111可以执行步骤206a,从而可以提前从机柜110中迁移出虚拟机,避免机柜110的功率过高;并且避免瞬时峰值抖动触发的热点误判。
[0149]
请求r2可以用于指示虚拟机迁移装置确认机柜110中的待迁移虚拟机并将确认的待迁移虚拟机迁移出机柜110。如此,虚拟机迁移装置当接收到请求r2时,可以执行步骤207a,根据请求r2,确认机柜110中的待迁移虚拟机并将确认的待迁移虚拟机迁移出机柜110。示例性的,步骤207a具体可以由虚拟机迁移装置中的二次调度组件执行。
[0150]
在一些实施例中,请求r2可以包括机柜110中每个服务器的服务器标识和服务器功率,以及包括机柜110中每个服务器中已经创建的虚拟机的虚拟机标识和虚拟机负载,还包括机柜110的机柜功率w1。也就是说,在该示例中,请求r2可以包括机柜110中所有服务器的服务器标识和服务器功率,机柜110中所有已创建的虚拟机的虚拟机标识和虚拟机负载,以及机柜110的机柜功率w1。其中,服务器中已创建的虚拟机也可以称为服务器上的虚拟机或者说服务器上已存在的虚拟机,其是指宿主机为该服务器的虚拟机。
[0151]
接下来,先示例介绍r2所包括的各信息的含义。
[0152]
服务器的服务器标识以及机柜功率w1可以参考上文所述,在此不再赘述。
[0153]
示例性的,可以理解,对于服务器功率而言,其可以由静态功率和动态功率组成。其中,静态功率是指服务器在其上没有虚拟机运行的情况下所产生的功率或开销。也就是说,静态功率是指服务器在不运行虚拟机的情况下维持服务器自身运转的功率或开销。换言之,静态功率是服务器运转不可省却的开销,即使不运行虚拟机,也要保持的开销。通常而言,静态功率是固定的,或者说浮动较小。动态功率是指服务器在运行虚拟机的情况下,在静态功率基础上所增加的功率。也就是说,动态功率主要是服务器上虚拟机运行所产生的功率或开销。换言之,服务器的动态功率可以是该服务器上多个虚拟机中每个虚拟机运
行所产生功率的总和。其中,每个虚拟机运行所产生功率可以由该虚拟机的负载转换得到,具体将在下文介绍。
[0154]
示例性的,一个虚拟机的虚拟机标识可以是在数据中心100中唯一标识该虚拟机的信息。在数据中心110中,不同虚拟机具有不同的虚拟机标识,或者说,不同的虚拟机标识对应的虚拟机不同。在一个例子中,虚拟机标识可以为虚拟机名称。在一个例子中,虚拟机标识可以为虚拟机编号。等等,此处不再一一例举。
[0155]
示例性的,可以理解,虚拟机运行时,其功率开销主要来自虚拟cpu、虚拟内存、虚拟硬盘(或磁盘)等部件负载的开销。可以将虚拟机的cpu利用率、内存开销、硬盘(或磁盘)读写总字节数等统称为该虚拟机的虚拟机负载。也就是说,虚拟机负载可以包括cpu利用率、内存开销、硬盘(或磁盘)读写总字节数等中的一种或多种。在一个例子中,内存开销具体可以是指虚拟机因上下文切换造成的最后一层cache(last level cache,llc)的缺失次数。在一个例子中,硬盘(或磁盘)读写总字节数可以是指虚拟机的网卡的出入流量。
[0156]
上文介绍了r2所包括的各信息的含义。接下来,介绍各信息的获取方式。
[0157]
在一些实施例中,机柜管理器111在执行步骤206a之前,机柜管理器111还可以执行:向机柜110中的每一个服务器查询服务器标识和服务器功率,以及查询机柜110中每一个服务器中已经创建的虚拟机的虚拟机标识和虚拟机负载。
[0158]
示例性的,机柜管理器111可以在机柜110中每一个服务器的基板管理器中查询该服务器的服务器标识。
[0159]
示例性的,机柜管理器111可以在机柜110中每一个服务器的基板管理控制器中查询该服务器的服务器功率,以得到该服务器的服务器功率。示例性的,每一个服务器可以设置由功率传感器。该功率传感器可以监控该服务器的服务器功率,并将监控的服务器功率传递给机柜管理器111。由此,机柜管理器111可以获得机柜110中每一个服务器的服务器功率。
[0160]
示例性的,请求r2包括的服务器功率由静态功率和动态功率组成。
[0161]
示例性的,请求r2包括的服务器功率具体可以为服务器的动态功率。可以理解,服务器静态功率比较固定,可以在机柜管理器111中预置机柜110中每一个服务器的静态功率。机柜管理器111可以在查询到一个服务器的服务器功率时,可以将该服务器的服务器功率减去该服务器的静态功率,得到该服务器的动态功率。
[0162]
示例性的,机柜管理器111可以从每一个服务器上的每一个虚拟机所产生的日志文件中,查询该虚拟机的负载(cpu利用率、内存开销、硬盘(或磁盘)读写总字节数等)以及虚拟机标识。
[0163]
示例性的,每一个服务器可以设置有虚拟机信息采集器,可以用于采集该服务器上各虚拟机的动态信息(例如cpu利用率、内存开销、硬盘(或磁盘)读写总字节数等负载信息),并将采集的动态信息存储在该服务器的本地数据库(data base,db),以供机柜管理器111查询。由此,机柜管理器111可以从该服务器的本地数据库中查询该服务器上各虚拟机的负载以及虚拟机标识。
[0164]
通过以上方案,机柜管理器111可以查询得到机柜110中每一个服务器标识和服务器功率,以及查询得到机柜110中每一个服务器中已经创建的虚拟机的虚拟机标识和虚拟机负载,并将这些信息携带在请求r2中,发送给虚拟机迁移装置。
[0165]
继续参阅图2,虚拟机迁移装置可以执行步骤207a,根据请求r2,确认机柜110中的待迁移虚拟机并将待迁移虚拟机迁移出机柜110。
[0166]
具体而言,在步骤207a中,可以根据请求r2所包括的机柜110中每一个服务器的服务器标识和服务器功率,以及每一个服务器中已创建的虚拟机的虚拟机标识和虚拟机负载,还有机柜110的机柜功率w1,确定待迁移虚拟机。
[0167]
示例性,在步骤207a中,可以将机柜110中每一个服务器中已创建的虚拟机的虚拟机负载转换为虚拟机功率。示例性的,可以根据机柜110中至少两个服务器的服务器功率和该指令两个服务器中每个服务器上的各个虚拟机的虚拟机负载,确定该至少两个服务器中每个服务器上的每一个虚拟机的虚拟机功率。具体而言,可以根据机柜110中至少两个服务器的服务器功率和该指令两个服务器中每个服务器上的各个虚拟机的虚拟机负载,确定虚拟机负载和虚拟机功率之间的转换系数,然后根据该转换系统和任一虚拟机的虚拟机负载,确定该虚拟机的虚拟机功率。虚拟机的虚拟机功率可以简称为虚拟机的功率。
[0168]
在一个例子中,可以构建负载功率转换模型,该模型可以由以下公式(1)、(2)组成。
[0169][0170][0171]
其中,p
static
表示服务器的静态功率;表示服务器在时刻t的动态功率;m表示服务器上的虚拟机集合;i表示m中的一个元素,即i表示服务器上的一个虚拟机。表示虚拟机i在时刻t所产生的功率;f
it
表示虚拟机i在时刻t的负载;α、β分别表示负载-功率转换的权重和偏斜。其中,负载-功率转换的权重和偏斜可以统称为虚拟机负载和虚拟机功率之间的转换系数。
[0172]
请求r2中包括了机柜110中每一个服务器的服务器功率(当该服务器功率为静态功率和动态功率组成时,虚拟机迁移装置可以通过公式(1)得到动态功率,其中,静态功率可以预置在虚拟机迁移装置中;当该服务器功率为动态功率时,虚拟机迁移装置可以直接获得动态功率)和每一个服务器上每一个虚拟机的虚拟机负载。可以利用机柜110中的至少两个服务器的服务器功率和该至少两个服务器上虚拟机的虚拟机负载,利用公式(1)、(2),计算出α、β的值。由此,可以利用已知的α、β的值和每一个虚拟机的虚拟机负载,计算出该虚拟机的虚拟机功率,以实现负载到功率的转换。
[0173]
在一个具体例子中,可以设定虚拟机负载由cpu利用率、内存开销、硬盘(或磁盘)读写总字节数表征,则负载功率转换模型可由如下公式组成。
[0174][0175][0176][0177]
[0178][0179]
其中,表示虚拟机i在时刻t的功率;表示的虚拟机i的cpu在时刻t的功率;表示虚拟机i在时刻t的cpu利用率;α1、β1分别表示cpu利用率-功率转换的权重和偏斜;表示的虚拟机i的内存在时刻t的功率;表示虚拟机i在时刻t的内存开销(具体可以为llc的缺失次数);α2、β2分别表示内存开销-功率转换的权重和偏斜;表示的虚拟机i的硬盘(或磁盘)在时刻t功率;表示虚拟机i在时刻t的硬盘(或磁盘)读写总字节数,其中,表示虚拟机i在时刻t的硬盘(或磁盘)写字节数(具体可以为网卡的入流量),表示虚拟机i在时刻t的硬盘(或磁盘)读字节数(具体可以为网卡的出流量);α3、β3分别表示硬盘(或磁盘)读写总字节数-功率转换的权重和偏斜。
[0180]
可以利用机柜110中的至少三个服务器的服务器功率和该至少三个服务器上虚拟机的虚拟机负载,利用公式(1)、(2a)、(2b)、(2c)、(2d),计算出α1、β1、α2、β2、α3、β3的值。由此,可以利用已知的α1、β1、α2、β2、α3、β3的值和每一个虚拟机的虚拟机负载,计算出该虚拟机的虚拟机功率,以实现负载到功率的转换。
[0181]
在一些实施例中,可以预先根据机柜功率的实验值、服务器功率的实验值、虚拟机负载的实验值,按照上述公式(1)、(2a)、(2b)、(2c)、(2d),确定α1、β1、α2、β2、α3、β3的值。步骤206a发送的请求r2可以包括机柜功率w1、机柜110中每个服务器中已经创建的每个虚拟机的虚拟机标识和虚拟机负载。在步骤207a中,可以根据每个虚拟机负载,利用上述公式(1)、(2a)、(2b)、(2c)、(2d),确定该虚拟机的功率。示例性的,机柜管理器111在执行步骤206a之前,机柜管理器111还可以执行:向查询机柜110中每一个服务器查询已经创建的虚拟机的虚拟机标识和虚拟机负载。具体可以参考上文介绍,在此不再赘述。
[0182]
通过上述方式,可以将虚拟机负载转换为虚拟机功率,由此,可以根据机柜110中的每一个虚拟机的虚拟机功率和机柜110的机柜功率w1,确定需要从机柜110中迁移出的虚拟机,以便通过减少机柜110中虚拟机的数量,降低机柜110的机柜功率。其中,需要从机柜110中迁移出的虚拟机也可以称为机柜110的待迁移虚拟机。
[0183]
接下来,示例介绍确定待迁移虚拟机的方案。
[0184]
在一些实施例中,虚拟机迁移装置可以预先记录机柜110的目标功率。该目标功率为机柜功率调整的目标功率。在本技术实施例中,确定机柜110的待迁移虚拟机以及在后续步骤中将待迁移虚拟机从机柜110中迁移出的目的是将机柜110的机柜功率降低至目标功率之下。示例性的,目标功率可以为预设值,其小于或等于上文所述的预设功率范围的下限。
[0185]
在步骤207a中,虚拟机迁移装置可以将机柜功率w1减去目标功率,得到功率差值e1;进而根据功率差值e1确定机柜110中所有服务器上的虚拟机中确定待迁移虚拟机。具体而言,可以从机柜110中的虚拟机中确定出虚拟机功率不小于该功率差值e1的虚拟机,或者确定出虚拟机功率加和不小于该功率差值e1的多个虚拟机,并将虚拟机功率不小于该功率差值e1的虚拟机或该多个虚拟机确定为待迁移虚拟机。在一个例子中,可以选择功率之和最接近且不少于功率差值e1的至少两个虚拟机作为待迁移虚拟机;或选择功率最接近且不
少于功率差值e1的一个虚拟机作为待迁移虚拟机。
[0186]
接下来,进行具体说明。
[0187]
在一些实施例中,当机柜110中的虚拟机中存在虚拟机功率不小于功率差值e1的单个虚拟机时,也就是说,当机柜110中的一个虚拟机的虚拟机功率不小于功率差值e1时,可以将该虚拟机确定为待迁移虚拟机。
[0188]
在一些实施例中,当机柜110中的多个虚拟机中每一个虚拟机的虚拟机功率均不小于功率差值e1时,可以将该多个虚拟机中内存开销最小的虚拟机确定为待迁移虚拟机。由此,可以节省迁移能耗。
[0189]
在一些实施例中,当机柜110中不存在虚拟机功率不小于功率差值e1的单个虚拟机时,也就是说,当机柜110中的每一个虚拟机的虚拟机功率都小于功率差值e1时,可以从机柜110中的虚拟机中确定虚拟机功率加和不小于该功率差值e1的多个虚拟机为待迁移虚拟机。
[0190]
可以理解,机柜110中可以存在虚拟机功率加和不小于功率差值e1的多个虚拟机组合。也就是说,机柜110可以存在多个虚拟机组合,其中,每一个虚拟机组合中的虚拟机的虚拟机功率加和不小于功率差值e1。在一个例子中,可以从该多个虚拟机组合中,确定包含虚拟机个数最少的组合为待迁移虚拟机。在一个例子中,可以从该多个虚拟机组合中,确定内存开销加和最小的组合为待迁移虚拟机。
[0191]
在一些实施例中,可以通过待迁移虚拟机确定模型,确定待迁移虚拟机。待迁移虚拟机确定模型可以由公式(3)、(4)、(5)组成。
[0192]
sum(p
vm1
,p
vm2
,...,p
vmn
)≥功率差值e1
ꢀꢀ
(3)
[0193]
min(sum(mem(vm1),mem(vm2),...,mem(vmn)))
ꢀꢀ
(4)
[0194]
其中,p
cabinet
表示机柜110的机柜功率;p
vm1
,p
vm2
,...,p
vmn
分别表示机柜110中虚拟机1的虚拟机功率、虚拟机2的虚拟机功率、

、虚拟机n的虚拟机功率;mem(vm1),mem(vm2),...,mem(vmn)分别表示机柜110中虚拟机1的内存开销、虚拟机2的内存开销、

、虚拟机n的内存开销。
[0195]
公式(3)表示待迁移虚拟机的虚拟机功率要不小于功率差值e1。公式(3)可能有多个解,每个解表示一个或多个虚拟机,该一个或多个虚拟机的虚拟功率加和不小于功率差值e1。公式(4)表示从公式(3)的多个解中确定内存开销加和最小的解为待迁移虚拟机。由此,可以使得在进行虚拟机迁移时需要拷贝的虚拟机内存尽量少。
[0196]
在步骤207a中,在确定出待迁移虚拟机时或之后,虚拟机迁移装置可以将待迁移虚拟机从机柜110中迁移出,例如可以迁移到其他机柜中。在一个例子中,回到图1,可以设定机柜110中的虚拟机a11和虚拟机a21为待迁移虚拟机,机柜120没有被标记为热点。虚拟机迁移装置可以将虚拟机a11和虚拟机a21迁移到机柜120中的服务器上。
[0197]
在一些实施例中,在机柜110的机柜功率w1大于预设功率范围的情况下,机柜管理器111可以确定机柜110中的待迁移虚拟机。示例性的,可以根据机柜110中每一个服务器的服务器功率和服务器标识、每个服务器中已经创建的每个虚拟机的虚拟机标识和虚拟机负载,利用上述公式(1)、(2a)、(2b)、(2c)、(2d),确定机柜110中每个虚拟机的功率。示例性的,可以根据每个虚拟机的虚拟机标识和虚拟机负载,利用上述公式(1)、(2a)、(2b)、(2c)、(2d)以及预先确定的α1、β1、α2、β2、α3、β3的值,确定机柜110中每个虚拟机的功率。具体可以
参考上文对步骤206a和207a的介绍,在此不再赘述。
[0198]
机柜管理器111在确定出待迁移虚拟机时或之后,可以执行步骤206b,向虚拟机迁移装置发送虚拟机迁移请求。该虚拟机迁移请求可以包括待迁移虚拟机的虚拟机标识。虚拟机迁移装置可以执行步骤207b,根据虚拟机迁移请求,将待迁移虚拟机迁移出机柜110。具体可以参考上文对步骤207a的介绍,在此不再赘述。
[0199]
在一些实施例中,在机柜110的机柜功率w1大于预设功率范围的情况下,机柜管理器110也可以执行步骤203,进而虚拟机迁移装置可以执行步骤204。
[0200]
在一些实施例中,机柜管理器111在获取机柜的机柜功率w1之后,机柜管理器111还可以执行步骤208,获取机柜110的机柜功率w2。获取机柜功率w2的方式可以参考上文对机柜功率w1的获取方式的介绍。
[0201]
在获取了机柜功率w2之后,机柜管理器111还可以执行步骤209,判断机柜功率w2是否小于预设功率范围。机柜功率w2是小于预设功率范围具体是指,机柜功率w2是小于预设功率范围的下限。预设功率范围可以参考上文对步骤202的介绍,在此不再赘述。
[0202]
可以理解,通过步骤206a、207a,或者步骤206b、207b,机柜110中的一个或多个虚拟机被迁移出。由此,机柜110的功率开销会降低。并且,随着机柜110中虚拟机的运行状态的变化,例如有的虚拟机不再处理业务数据或者处理的业务数据减少,机柜110的功率开销可能会进一步降低。因此,可能发生机柜功率w2小于预设功率范围的情况。
[0203]
在机柜功率w2小于预设功率范围的情况下,机柜管理器111可以执行步骤210,向虚拟机迁移装置发送请求r3。请求r3可以包括机柜110中每一个服务器的服务器标识。请求r3用于指示虚拟机迁移装置允许在机柜110中任一服务器中创建虚拟机。
[0204]
在接收到请求r3时,虚拟机迁移装置可以在执行步骤211,根据请求r3,允许在机柜110中创建虚拟机。也就是说,在接收到请求r3时或之后,虚拟机迁移装置(具体可以是初始调度组件和/或二次调度组件)可以在机柜110中的服务器中创建虚拟机。
[0205]
示例性的,由上所述,在步骤204中,虚拟机迁移装置将机柜110中的每一个服务器标签为热点。请求r3可以理解为热点清除消息,可以使得虚拟机机迁移装置清除机柜110中服务器的热点标记或禁止创建虚拟机标签。
[0206]
由此,通过本技术实施例提供的虚拟机管理方法,可以在机柜的功率较高时,不再在机柜中创建虚拟机,以使机柜的功率尽量不再增加;并且可以在机柜的功率足够高时,将机柜中的一个或多个虚拟机迁移出,以降低机柜的功率;还可以在机柜的功率较低时,指示虚拟机迁移机装置可向其派发虚拟机,以提高机柜中资源利用率。从而可以实现在不降低机柜资源利用率的同时,避免或降低机柜因过载而掉电宕机的风险。
[0207]
参阅图3,本技术实施例提供了一种虚拟机管理方法,该方法具体如下。
[0208]
机柜管理器111可以执行步骤301,获取机柜110的机柜功率w1。具体可以参考上文对图2中步骤201的介绍实现,在此不再赘述。
[0209]
机柜管理器111可以执行步骤302,机柜功率w1是否大于预设功率范围。具体可以参考上文对图2中步骤205的介绍实现,在此不再赘述。
[0210]
机柜管理器111在机柜功率w1大于预设范围功率的情况下,可以执行步骤303,向虚拟机迁移装置发送请求r2。请求r2用于指示虚拟机迁移装置确认机柜110中的待迁移虚拟机并将待迁移虚拟机迁移出机柜110。具体可以参考上文对图2中步骤206a的介绍实现。
[0211]
在一些实施例中,请求r2可包括机柜110中每一个服务器的服务器标识和服务器功率、机柜110中每一个服务器中已经创建的虚拟机的虚拟机标识和虚拟机负载、以及机柜功率w1。具体可以参考上文对图2中步骤206a的介绍实现。
[0212]
在一些实施例中,机柜管理器111在执行步骤303之前,可以向机柜110中的每一个服务器查询已创建的虚拟机标识和虚拟机负载。具体可以参考上文对图2中步骤206a的介绍实现。
[0213]
虚拟机迁移装置在接收到请求r2时或之后,可以执行步骤304,根据请求r2,确认机柜110中的待迁移虚拟机并将待迁移虚拟机迁移出机柜110。具体可以参考上文对图2中步骤207a的介绍,在此不再赘述。
[0214]
在一些实施例中,如图3所示,在机柜功率w1不大于预设范围功率的情况下,机柜管理器111还可以执行305,判断机柜功率w1是否位于预设功率范围内。具体可以参考上文对图2中步骤202的介绍,在此不再赘述。
[0215]
在机柜功率w1位于预设功率范围内的情况下,机柜管理器111可以执行步骤306,向虚拟机迁移装置发送请求r1。示例性的,请求r1可以包括机柜110中每一个服务器的服务器标识。具体可以参考上文对图2中步骤203的介绍。
[0216]
虚拟机迁移装置在接收到请求r1时或之后,可以执行步骤307,根据请求r1,禁止在机柜110的任意服务器中创建虚拟机。具体可以参考上文对图2中步骤204的介绍,在此不再赘述。
[0217]
在一些实施例中,如图3所示,机柜管理器111在执行步骤301之后,还可以执行步骤308,获取机柜110的机柜功率w2;以及执行步骤309,判断机柜功率w2是否小于预设功率范围。具体可以参考上文对图2中步骤208和步骤209的介绍。
[0218]
机柜管理器111在机柜功率w2小于预设功率范围的情况下,可以执行步骤310,向虚拟机迁移装置发送请求r3,请求r3可以包括机柜110中每一个服务器的服务器标识。请求r3用于指示虚拟机迁移装置允许在机柜110中创建虚拟机。具体可以参考上文对图2中步骤210的介绍。
[0219]
虚拟机迁移装置在接收到请求r3时或之后,可以执行步骤311,根据请求r3,允许在机柜110中创建虚拟机。具体可以参考上文对图2中步骤211的介绍,在此不再赘述。
[0220]
由此,通过本技术实施例提供的虚拟机管理方法,可以在机柜的功率足够高时,将机柜中的一个或多个虚拟机迁移出,以降低机柜的功率;可以在机柜的功率较高时,不再在机柜中创建虚拟机,以使机柜的功率尽量不再增加;并且还可以在机柜的功率较低时,指示虚拟机迁移机装置可向其派发虚拟机,以提高机柜中资源利用率。从而可以实现在不降低机柜资源利用率的同时,避免或降低机柜因过载而掉电宕机的风险。
[0221]
参阅图4,本技术实施例提供了一种虚拟机管理方法,该方法具体如下。
[0222]
机柜管理器111可以执行步骤401,获取机柜110的机柜功率w1。具体可以参考上文对图2中步骤201的介绍实现,在此不再赘述。
[0223]
机柜管理器111可以执行步骤402,判断机柜功率w1是否大于预设功率范围。具体可以参考上文对图2中步骤205的介绍实现,在此不再赘述。
[0224]
机柜管理器111在机柜功率w1大于预设范围功率的情况下,可以执行步骤403,确定机柜110中的待迁移虚拟机。示例性的,机柜管理器111可以根据机柜110中至少两个服务
器的服务器功率和该至少两个服务器上各个虚拟机的负载,确定该至少两个服务器中第一服务器上的第一虚拟机的功率。参考第一虚拟机的功率的确定方式,可以确定机柜110中其他虚拟机的功率。然后根据机柜功率w1和机柜110中各虚拟机的功率,确定机柜110中的待迁移虚拟机。具体可以参考上文对图2中步骤207a的介绍,在此不再赘述。
[0225]
机柜管理器111在确定出待迁移虚拟机时或之后,可以执行步骤404,向虚拟机迁移装置发送虚拟机迁移请求,虚拟机迁移请求包括待迁移虚拟机的虚拟机标识。具体可以参考上文对图2中步骤206b的介绍,在此不再赘述。
[0226]
虚拟机迁移装置在接收到虚拟机迁移请求时或之后,可以执行步骤405,可以根据虚拟机迁移请求,将待迁移虚拟机迁移出机柜110。具体可以参考上文对图2中步骤207b的介绍,在此不再赘述。
[0227]
在一些实施例中,如图4所示,在机柜功率w1不大于预设范围功率的情况下,机柜管理器111还可以执行406,判断机柜功率w1是否位于预设功率范围内。具体可以参考上文对图2中步骤202的介绍,在此不再赘述。
[0228]
在机柜功率w1位于预设功率范围内的情况下,机柜管理器111可以执行步骤407,向虚拟机迁移装置发送请求r1。示例性的,请求r1可以包括机柜110中每一个服务器的服务器标识。具体可以参考上文对图2中步骤203的介绍。
[0229]
虚拟机迁移装置在接收到请求r1时或之后,可以执行步骤408,根据请求r1,禁止在机柜110的任意服务器中创建虚拟机。具体可以参考上文对图2中步骤204的介绍,在此不再赘述。
[0230]
在一些实施例中,如图4所示,机柜管理器111在执行步骤401之后,还可以执行步骤409,获取机柜110的机柜功率w2;以及执行步骤410,判断机柜功率w2是否小于预设功率范围。具体可以参考上文对图2中步骤208和步骤209的介绍。
[0231]
机柜管理器111在机柜功率w2小于预设功率范围的情况下,可以执行步骤411,向虚拟机迁移装置发送请求r3,请求r3可以包括机柜110中每一个服务器的服务器标识。请求r3用于指示虚拟机迁移装置允许在机柜110中创建虚拟机。具体可以参考上文对图2中步骤210的介绍。
[0232]
虚拟机迁移装置在接收到请求r3时或之后,可以执行步骤412,根据请求r3,允许在机柜110中创建虚拟机。具体可以参考上文对图2中步骤211的介绍,在此不再赘述。
[0233]
由此,通过本技术实施例提供的虚拟机管理方法,可以在机柜的功率足够高时,将机柜中的一个或多个虚拟机迁移出,以降低机柜的功率;可以在机柜的功率较高时,不再在机柜中创建虚拟机,以使机柜的功率尽量不再增加;并且还可以在机柜的功率较低时,指示虚拟机迁移机装置可向其派发虚拟机,以提高机柜中资源利用率。从而可以实现在不降低机柜资源利用率的同时,避免或降低机柜因过载而掉电宕机的风险。
[0234]
需要说明的是,上文以机柜110中的虚拟机管理为例,对本技术实施例提供的虚拟机管理方法进行了示例说明。数据中心100中的其他机柜可以参考机柜110的虚拟机管理方式,进行虚拟机管理。本说明书不再一一赘述。
[0235]
参阅图5,本技术实施例提供了一种机柜管理器,该机柜管理器可以配置于服务器机柜,例如图1所示的机柜110。如图5所示,该机柜管理器可以包括:
[0236]
获取单元510,用于获取所述服务器机柜的第一机柜功率;
[0237]
发送单元520,用于在所述第一机柜功率位于预设功率范围的情况下,发送第一请求至虚拟机迁移装置,所述第一请求用于指示所述虚拟机迁移装置禁止在所述服务器机柜的任意服务器中创建虚拟机。
[0238]
本技术实施例提供的机柜管理器的各功能单元的功能可以参照上文如图2所示的各方法实施例实现,在此不再赘述。
[0239]
通过本技术实施例提供的机柜管理器,可以在机柜的功率较高时,不再在机柜中创建虚拟机,以使机柜的功率尽量不再增加。
[0240]
继续参阅图5,本技术实施例提供了一种机柜管理器,该机柜管理器可以配置于服务器机柜,例如图1所示的机柜110。如图5所示,该机柜管理器可以包括:
[0241]
获取单元510,用于获取所述服务器机柜的第一机柜功率;
[0242]
发送单元520,用于在所述第一机柜功率大于预设功率范围的情况下,发送第二请求至虚拟机迁移装置,所述第二请求用于指示所述虚拟机迁移装置确认所述服务器机柜中的待迁移虚拟机并将所述待迁移虚拟机迁移出所述服务器机柜。
[0243]
本技术实施例提供的机柜管理器的各功能单元的功能可以参照上文如图3所示的各方法实施例实现,在此不再赘述。
[0244]
通过本技术实施例提供的机柜管理器,可以在机柜的功率足够高时,将机柜中的一个或多个虚拟机迁移出,以降低机柜的功率。
[0245]
本技术实施例提供了一种机柜管理器(未示出),该机柜管理器可以配置于服务器机柜,例如图1所示的机柜110。机柜管理器包括:
[0246]
获取单元,用于获取服务器机柜的第一机柜功率;
[0247]
确定单元,用于在第一机柜功率大于预设功率范围的情况下,确定服务器机柜中待迁移虚拟机;
[0248]
发送单元,用于向虚拟机迁移装置发送虚拟机迁移请求,该虚拟机迁移请求用于指示虚拟机迁移装置将待迁移虚拟机迁移出服务器机柜。
[0249]
本技术实施例提供的机柜管理器的各功能单元的功能可以参照上文如图4所示的各方法实施例实现,在此不再赘述。
[0250]
通过本技术实施例提供的机柜管理器,可以在机柜的功率足够高时,将机柜中的一个或多个虚拟机迁移出,以降低机柜的功率。
[0251]
参阅图6,本技术实施例提供了一种虚拟机迁移装置,包括:
[0252]
获取单元610,用于获取机柜管理器发送的第一请求,所述第一请求包括设置在所述机柜管理器所在的服务器机柜中的每个服务器的服务器标识;
[0253]
禁止单元620,用于根据所述第一请求禁止在所述服务器机柜的任意服务器中创建虚拟机。
[0254]
本技术实施例提供的虚拟机迁移装置的各功能单元的功能可以参照上文如图2所示的各方法实施例实现,在此不再赘述。
[0255]
通过本技术实施例提供的虚拟机迁移装置,可以在机柜的功率较高时,不再在机柜中创建虚拟机,以使机柜的功率尽量不再增加。
[0256]
参阅图7,本技术实施例提供了一种虚拟机迁移装置,包括:
[0257]
获取单元710,用于获取机柜管理器发送的第二请求,所述第二请求服务器机柜中
processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field programmablegate array,fpga)或者其他可编程逻辑器件、晶体管逻辑器件,硬件部件或者其任意组合。通用处理器可以是微处理器,也可以是任何常规的处理器。
[0274]
本技术实施例中的方法步骤可以通过硬件的方式来实现,也可以由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存取存储器(random access memory,ram)、闪存、只读存储器(read-only memory,rom)、可编程只读存储器(programmable rom,prom)、可擦除可编程只读存储器(erasable prom,eprom)、电可擦除可编程只读存储器(electrically eprom,eeprom)、寄存器、硬盘、移动硬盘、cd-rom或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于asic中。
[0275]
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者通过所述计算机可读存储介质进行传输。所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘(solid state disk,ssd))等。
[0276]
可以理解的是,在本技术的实施例中涉及的各种数字编号仅为描述方便进行的区分,并不用来限制本技术的实施例的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献