虚拟机的部署方法、装置与流程

文档序号:18831124发布日期:2019-10-09 03:27阅读:214来源:国知局
虚拟机的部署方法、装置与流程

本发明涉及数据服务领域,尤其涉及一种虚拟机的部署方法、装置。



背景技术:

如今,互联网应用变得越来越普及,人们也越来越依赖互联网所提供的便捷的服务。

块存储是大规模数据中心常用的数据存储方法,主要是使用“数据块”的形式进行数据存储,而数据块存储于虚拟机之中。在相应用户提出的任务需求,进行数据处理时,不同物理主机上部署的虚拟机中的数据块,由于数据交互的要求,就存在对通信资源的消耗。

现有技术中,虚拟机之间的数据交互十分频繁,对于通信资源的消耗十分巨大,对于对应的交换机产生极大的工作压力,进而降低用户提出的任务的完成效率。



技术实现要素:

发明目的:针对现有技术缺陷,本发明旨在提供一种虚拟机的部署方法、装置,以减少通信资源的消耗,降低交换机的工作压力,提升用户任务的完成效率。

技术方案:本发明实施例中提供一种虚拟机的部署方法,包括:查询得到与选定交换机连接的第一物理主机上部署的虚拟机,与所述选定交换机连接的第二物理主机上部署的虚拟机;获取所述第一物理主机上部署的虚拟机的工作强度,作为第一工作强度,获取所述第二物理主机上部署的虚拟机的工作强度,作为第二工作强度;在第一工作强度与第二工作强度的集合中,将工作强度高于或等于第一标准强度的虚拟机部署于所述第一物理主机,将工作强度低于或等于所述第一标准强度的虚拟机部署于所述第二物理主机。

具体的,所述工作强度为单位时间内虚拟机进行数据通信的次数。

具体的,所述第一物理主机上用于部署虚拟机的容量,大于等于所述第二物理主机上用于部署虚拟机的容量。

具体的,确定所述第一物理主机的容量对应部署虚拟机的第一数量,确定所述第二物理主机的容量对应部署虚拟机的第二数量;将查询得到的虚拟机按照工作强度由高至低排序,依照排序将第一数量的虚拟机部署于所述第一物理主机,将剩余的第二数量的虚拟机部署于所述第二物理主机。

具体的,查询与所述选定交换机连接的第三物理主机上部署的虚拟机;获取所述第三物理主机上部署的虚拟机的工作强度,作为第三工作强度;在第一工作强度、第二工作强度和第三工作强度的集合中,将工作强度高于或等于第一标准强度的虚拟机部署于所述第一物理主机;将工作强度低于或等于所述第一标准强度,且高于或等于第二标准强度的虚拟机部署于所述第二物理主机;将工作强度低于或等于所述第二标准强度的虚拟机部署于所述第三物理主机。具体的,所述第二物理主机上用于部署虚拟机的容量,大于等于所述第三物理主机上用于部署虚拟机的容量。

本发明实施例中提供一种虚拟机的部署装置,包括:查询单元、计算单元和部署单元,其中:

所述查询单元,用于查询得到与选定交换机连接的第一物理主机上部署的虚拟机,与所述选定交换机连接的第二物理主机上部署的虚拟机;

所述计算单元,用于获取所述第一物理主机上部署的虚拟机的工作强度,作为第一工作强度,获取所述第二物理主机上部署的虚拟机的工作强度,作为第二工作强度;

所述部署单元,用于在第一工作强度与第二工作强度的集合中,将工作强度高于或等于第一标准强度的虚拟机部署于所述第一物理主机,将工作强度低于或等于所述第一标准强度的虚拟机部署于所述第二物理主机。

具体的,所述第一物理主机上用于部署虚拟机的容量,大于等于所述第二物理主机上用于部署虚拟机的容量。

具体的,所述部署单元,还用于确定所述第一物理主机的容量对应部署虚拟机的第一数量,确定所述第二物理主机的容量对应部署虚拟机的第二数量;将查询得到的虚拟机按照工作强度由高至低排序,依照排序将第一数量的虚拟机部署于所述第一物理主机,将剩余的第二数量的虚拟机部署于所述第二物理主机。

具体的,所述查询单元,还用于查询得到与所述选定交换机连接的第三物理主机上部署的虚拟机;所述计算单元,还用于获取所述第三物理主机上部署的虚拟机的工作强度,作为第三工作强度;所述部署单元,还用于在第一工作强度、第二工作强度和第三工作强度的集合中,将工作强度高于或等于第一标准强度的虚拟机部署于所述第一物理主机;将工作强度低于或等于所述第一标准强度,且高于或等于第二标准强度的虚拟机部署于所述第二物理主机;将工作强度低于或等于所述第二标准强度的虚拟机部署于所述第三物理主机。有益效果:与现有技术相比,本发明具有如下显著优点:可以减少通信资源的消耗,降低交换机的工作压力,提升用户任务的完成效率。

附图说明

图1为本发明实施例中虚拟机的部署方法的流程示意图;

图2为本发明实施例中虚拟机的原始分布示意图;

图3为本发明实施例中虚拟机的部署分布示意图;

图4为本发明实施例中虚拟机的部署装置的结构示意图。

具体实施方式

下面结合附图对本发明的技术方案作进一步说明。

参阅图1,其为本发明实施例中虚拟机的部署方法的流程示意图,包括具体步骤,以下结合具体步骤,进行详细说明。

步骤s101,查询得到与选定交换机连接的第一物理主机上部署的虚拟机,与所述选定交换机连接的第二物理主机上部署的虚拟机。

在具体实施中,互联网环境、云环境下为用户提供数据应用等服务的服务器包括多个物理主机以及交换机,其中,多个物理主机可以与一个交换机连接,分布式服务任务于物理主机上完成,并可以通过交换机进行数据的交换。

在具体实施中,可以在交换机之中选定一个交换机作为选定交换机,查询与所述选定交换机连接的物理主机,对查询得到的物理主机上部署的虚拟机进行部署。

步骤s102,获取所述第一物理主机上部署的虚拟机的工作强度,作为第一工作强度,获取所述第二物理主机上部署的虚拟机的工作强度,作为第二工作强度。

在具体实施中,工作强度表征了该虚拟机对于交换机的通信资源的消耗程度,工作强度越大,说明该虚拟机对于交换机的通信资源的消耗程度越高。

本发明实施例中,所述工作强度为单位时间内虚拟机进行数据通信的次数。

在具体实施中,虚拟机每次进行数据通信时,即会产生对交换机的通信资源的消耗,因此,工作强度也即虚拟机的活跃度,在单位时间内虚拟机进行数据通信的次数越多,表明工作强度越大,也即该虚拟机对于交换机的通信资源的消耗程度越高。

参阅图2,其为本发明实施例中虚拟机的原始分布示意图。

如图,交换机上连接了多个物理主机,每个主机记录为hi,根据cpu、内存、存储空间的大小,每个主机能够部署的虚拟机数量记为ni。根据每个虚拟机进行数据存储与处理的需要,定义hi中每个虚拟机vmik处理的数据的活跃度为单位时间内该虚拟机发生数据通信的次数,记为nik。根据应用要求,每次通信交互的数据量相同,可以得到交换机上的总通信开销为:∑i∑j>i∑k∈hi∑m∈hjnik×njm。本发明实施例的目标是找到一种优化的资源部署方法,使得通信消耗最低。

步骤s103,在第一工作强度与第二工作强度的集合中,将工作强度高于或等于第一标准强度的虚拟机部署于所述第一物理主机,将工作强度低于或等于所述第一标准强度的虚拟机部署于所述第二物理主机。

在具体实施中,以第一标准强度作为部署标准,工作强度高于或等于第一标准强度的虚拟机可以部署于第一物理主机上,工作强度低于或等于第一标准强度的虚拟机可以部署于第二物理主机上,也即第一物理主机上部署的工作强度最小的虚拟机的工作强度,大于或等于第二物理主机上部署的工作强度最大的虚拟机的工作强度。以此可以减少交换机的通信资源的消耗,降低交换机的工作压力,提升用户任务的完成效率。

在具体实施中,标准强度,用于确定虚拟机的部署,可以根据实际应用场景进行相应的确定。

本发明实施例中,所述第一物理主机上用于部署虚拟机的容量,大于等于所述第二物理主机上用于部署虚拟机的容量。

在具体实施中,容量较大或相等,表明第一物理主机可以部署的虚拟机的数量,多于第二物理主机可以部署的虚拟机的数量。由于第一物理主机上部署的为工作强度较大的虚拟机,而第二物理主机上部署的为工作强度较小的虚拟机,因此,最终在交换机上产生的数据通信和通信资源的消耗会进行一步的减少和降低。

本发明实施例中,具体部署过程包括:确定所述第一物理主机的容量对应部署虚拟机的第一数量,确定所述第二物理主机的容量对应部署虚拟机的第二数量;

将查询得到的虚拟机按照工作强度由高至低排序,依照排序将第一数量的虚拟机部署于所述第一物理主机,将剩余的第二数量的虚拟机部署于所述第二物理主机。

在具体实施中,部署可以实现第一物理主机上部署的虚拟机的工作强度整体上大于第二物理机上部署的虚拟机的工作强度,即第一物理主机上部署的工作强度最小的虚拟机的工作强度,大于或等于第二物理主机上部署的工作强度最大的虚拟机的工作强度。

参阅图3,其为本发明实施例中虚拟机的部署分布示意图。

例如,图2中物理主机a和物理主机b可以部署的虚拟机数量分别为5个与4个,现在9台虚拟机的工作强度为{1,2,3,4,5,6,7,8,9,}。按照上述实施例中的部署方案进行部署,可以部署5个虚拟机的物理主机上,部署的工作强度最小的虚拟机的工作强度,大于或等于可以部署4个虚拟机的物理主机上,部署的工作强度最大的虚拟机的工作强度。部署后的两个物理主机上的虚拟机对应的工作强度为,物理主机a(5,6,7,8,9)和物理主机b(1,2,3,4)。计算此时交换机上的通信资源的总消耗为(5+6+7+8+9)*(1+2+3+4)=350,任意对换两个物理主机上的两个虚拟机进行对比,交换机上的通信资源的总消耗为(4+6+7+8+9)*(1+2+3+5)=374。因此,按照本发明实施例中提供的部署方案,可以最大程度上减少通信资源的消耗,降低交换机的工作压力,提升用户任务的完成效率。

本发明实施例中,还包括:查询与所述选定交换机连接的第三物理主机上部署的虚拟机;获取所述第三物理主机上部署的虚拟机的工作强度,作为第三工作强度;在第一工作强度、第二工作强度和第三工作强度的集合中,将工作强度高于或等于第一标准强度的虚拟机部署于所述第一物理主机;将工作强度低于或等于所述第一标准强度,且高于或等于第二标准强度的虚拟机部署于所述第二物理主机;将工作强度低于或等于所述第二标准强度的虚拟机部署于所述第三物理主机。本发明实施例中,所述第二物理主机上用于部署虚拟机的容量,大于等于所述第三物理主机上用于部署虚拟机的容量。

在具体实施中,容量较大或相等,表明第二物理主机可以部署的虚拟机的数量,多于第三物理主机可以部署的虚拟机的数量。

在具体实施中,在与所述选定交换机连接的物理主机有多个时,可以按照部署方案进行虚拟机的部署,也即第一物理主机上部署的工作强度最小的虚拟机的工作强度,大于或等于第二物理主机上部署的工作强度最大的虚拟机的工作强度,第二物理主机上部署的工作强度最小的虚拟机的工作强度,大于或等于第三物理主机上部署的工作强度最大的虚拟机的工作强度;第一物理主机上可以部署的虚拟机的数量,大于第二物理主机上可以部署的虚拟机的数量,第二物理主机上可以部署的虚拟机的数量,大于第三物理主机上可以部署的虚拟机的数量;当还存在其他物理主机时,参考上述,与上述同理。可以最大程度上减少通信资源的消耗,降低交换机的工作压力,提升用户任务的完成效率。

参阅图4,其为本发明实施例中虚拟机的部署装置40的结构示意图,具体包括:查询单元401、计算单元402和部署单元403,其中:

所述查询单元401,用于查询得到与选定交换机连接的第一物理主机上部署的虚拟机,与所述选定交换机连接的第二物理主机上部署的虚拟机;

所述计算单元402,用于获取所述第一物理主机上部署的虚拟机的工作强度,作为第一工作强度,获取所述第二物理主机上部署的虚拟机的工作强度,作为第二工作强度;

所述部署单元403,用于在第一工作强度与第二工作强度的集合中,将工作强度高于或等于第一标准强度的虚拟机部署于所述第一物理主机,将工作强度低于或等于所述第一标准强度的虚拟机部署于所述第二物理主机。

本发明实施例中,所述部署单元403,还可以用于确定所述第一物理主机的容量对应部署虚拟机的第一数量,确定所述第二物理主机的容量对应部署虚拟机的第二数量;

将查询得到的虚拟机按照工作强度由高至低排序,依照排序将第一数量的虚拟机部署于所述第一物理主机,将剩余的第二数量的虚拟机部署于所述第二物理主机。

本发明实施例中,所述第一物理主机上用于部署虚拟机的容量,大于等于所述第二物理主机上用于部署虚拟机的容量。

本发明实施例中,所述部署单元403,还可以用于确定所述第一物理主机的容量对应部署虚拟机的第一数量,确定所述第二物理主机的容量对应部署虚拟机的第二数量;将查询得到的虚拟机按照工作强度由高至低排序,依照排序将第一数量的虚拟机部署于所述第一物理主机,将剩余的第二数量的虚拟机部署于所述第二物理主机。

本发明实施例中,所述查询单元301,还可以用于查询得到与所述选定交换机连接的第三物理主机上部署的虚拟机;所述计算单元302,还可以用于获取所述第三物理主机上部署的虚拟机的工作强度,作为第三工作强度;所述部署单元303,还可以用于在第一工作强度、第二工作强度和第三工作强度的集合中,将工作强度高于或等于第一标准强度的虚拟机部署于所述第一物理主机;将工作强度低于或等于所述第一标准强度,且高于或等于第二标准强度的虚拟机部署于所述第二物理主机;将工作强度低于或等于所述第二标准强度的虚拟机部署于所述第三物理主机。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1