CN103581036B - 一种虚拟机网络流量的控制方法、装置和系统 - Google Patents

一种虚拟机网络流量的控制方法、装置和系统 Download PDF

Info

Publication number
CN103581036B
CN103581036B CN201310531027.9A CN201310531027A CN103581036B CN 103581036 B CN103581036 B CN 103581036B CN 201310531027 A CN201310531027 A CN 201310531027A CN 103581036 B CN103581036 B CN 103581036B
Authority
CN
China
Prior art keywords
peak value
network
user
physical
physical server
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.)
Expired - Fee Related
Application number
CN201310531027.9A
Other languages
English (en)
Other versions
CN103581036A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201310531027.9A priority Critical patent/CN103581036B/zh
Publication of CN103581036A publication Critical patent/CN103581036A/zh
Application granted granted Critical
Publication of CN103581036B publication Critical patent/CN103581036B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种虚拟机网络流量的控制方法、装置和系统,涉及通信技术领域,用以在用户的虚拟机分布在至少两个物理服务器上的情况下,使得为该用户实际提供的网络速率与为该用户预配置的峰值网络速率相接近。所述方法包括:在当前时间周期,将用户的一个或多个虚拟机所在的各物理服务器到物理网络的峰值网络速率分别下发给相对应的各物理服务器,以及采集所述用户的一个或多个虚拟机所在的各物理服务器在所述时间周期内发出的网络流量之和,以调整当前时间周期的峰值突发量,并确定下一时间周期内所述用户的一个或多个虚拟机所在的各物理服务器到所述物理网络的峰值网络速率。

Description

一种虚拟机网络流量的控制方法、装置和系统
技术领域
本发明涉及通信技术领域,尤其涉及一种虚拟机网络流量的控制方法、装置和系统。
背景技术
服务器虚拟化技术为通过对物理服务器(Host,也可称为主机)进行虚拟化,实现在单台物理服务器上部署多台虚拟机(VM,Virtual Machine)。虚拟化集群就是将这样的多台物理服务器在中心管理服务器上进行统一管理。其中,中心管理服务器中的一个重要组成部分是分布式虚拟交换机(DVS,Distributed Virtual Switch),该分布式虚拟交换机包含有分布式端口组,分布式端口组是将多个端口分组到一个公共配置下,并为连接到带标记网络的虚拟机提供稳定的定位点。
在中心管理服务器上,一个用户可以同时运行多个虚拟机,这些虚拟机可能分布在不同的物理服务器上,虚拟机在提供服务时需要使用物理网络进行对外通信。由于虚拟机的虚网卡(NIC,Network Interface Card)与分布式虚拟交换机中的端口一一对应连接,所以可以通过分布式端口组(port group)来标示用户的虚拟机所使用的网络,那么通过分布式端口组的端口流量即为用户的网络流量。
目前,对于按用户进行网络流量控制的技术,其主要机制是:在中心管理服务器上定义用户,把用户和分布式端口组关联;然后,中心管理服务器把为用户预配置的峰值网络速率下发给各物理服务器上的虚拟交换机,由各虚拟交换机对出本物理服务器(虚拟交换机所在的物理服务器)的网络流量进行控制,从而在单个物理服务器上达到按用户进行网络流量控制的目的。
但是,该方案只能在单个物理服务器内实现对虚拟机出物理服务器的流量控制,当用户的虚拟机分布在不同的物理服务器上时,每个物理服务器都要为该用户提供峰值网络速率的能力,这样即使在中心管理服务器上为不同用户配置的峰值网络速率是一致的,但若是不同用户所使用的虚拟机在物理服务器上分布的情况不同,则导致不同用户可使用的网络速率差别较大。
例如:用户A、B均同时运行10台虚拟机,且需要1G的出物理服务器网络速率(为该用户预配置的峰值网络速率),若该用户A的虚拟机集中在一个物理服务器上,则所有的虚拟机加起来最多只能产生1G的网络速率;若用户B的虚拟机分布在10个物理服务器上,则按照上述网络流量的控制技术每个物理服务器都为该用户提供1G的网络速率,此时为该用户B提供的网络速率最大能达到10G。
显然,一旦用户的虚拟机分布在多个物理服务器上,就会导致为该用户实际提供的网络速率与为该用户预配置的峰值网络速率严重不相符。
发明内容
本发明的实施例提供一种虚拟机网络流量的控制方法、装置和系统,用以在用户的虚拟机分布在至少两个物理服务器上的情况下,使得为该用户实际提供的网络速率与为该用户预配置的峰值网络速率相关,即能够根据为该用户预配置的峰值网络速率调整为该用户实际提供的网络速率,使得更符合实际的需求。
本发明的实施例采用如下技术方案:
第一方面,本发明提供了一种虚拟机网络流量的控制方法,包括:
在当前时间周期时,将用户的一个或多个虚拟机所在的各物理服务器到物理网络的峰值网络速率分别下发给相对应的各物理服务器,以使得所述各物理服务器在其接收到的峰值网络速率的限制下,向所述物理网络发送数据;
采集所述用户的一个或多个虚拟机所在的各物理服务器在所述时间周期内发出的网络流量之和;
利用所述峰值网络速率、所述时间周期的时长、所述网络流量之和调整当前时间周期的峰值突发量,得到调整后的峰值突发量;
根据所述调整后的峰值突发量,确定下一时间周期内所述用户的一个或多个虚拟机所在的各物理服务器到所述物理网络的峰值网络速率。
在第一种可能的实现方式中,根据第一方面,所述利用所述峰值网络速率、所述时间周期的时长、所述网络流量之和调整当前时间周期的峰值突发量,得到调整后的峰值突发量包括:
根据第一公式得到调整后的峰值突发量;所述第一公式为:
B'=B-(M-X×T);
其中,B'表示调整后的峰值突发量,B表示当前时间周期的峰值突发量,T表示所述时间周期的时长,M表示所述网络流量之和,X表示为所述峰值网络速率,在第一个时间周期时,X为用户预配置的峰值网络速率。
在第二种可能的实现方式中,根据第一方面或第一方面的第一种可能的实现方式,当所述当前时间周期为第一个时间周期时,所述当前时间周期的峰值突发量是根据第二公式得到的;其中,所述第二公式为:
N=X×T×Y;
其中,N表示第一个时间周期的峰值突发量,X表示在第一个时间周期时为用户预配置的峰值网络速率,T表示所述时间周期的时长,Y表示所述用户的一个或多个虚拟机所在的物理服务器的个数。
在第三种可能的实现方式中,根据第一方面或第一方面的前两种任一可能的实现方式,所述根据所述调整后的峰值突发量,确定下一时间周期内所述用户的一个或多个虚拟机所在的各物理服务器到所述物理网络的峰值网络速率包括:
若所述调整后的峰值突发量大于等于0且小于突发恢复值时,将为所述用户预配置的峰值网络速率除以所述用户的一个或多个虚拟机所在的物理服务器的个数得到算术平均值,该算术平均值作为下一时间周期内所述用户的一个或多个虚拟机所在的各物理服务器到所述物理网络的峰值网络速率;
或者,若所述调整后的峰值突发量大于等于0且小于突发恢复值时,获取上一时间周期内所述用户的一个或多个虚拟机所在的任一物理服务器对应的加权值,将为该用户预配置的峰值网络速率乘以所述加权值得到该物理服务器的加权平均值,该加权平均值下一时间周期内该物理服务器到所述物理网络的峰值网络速率;其中,所述用户的一个或多个虚拟机所在的各物理服务器对应的加权值之和为1;
或者,若所述调整后的峰值突发量大于等于突发恢复值且小于等于为该用户预配置的峰值网络速率时,将所述为该用户预配置的峰值网络速率确定为下一时间周期内所述用户的一个或多个虚拟机所在的各物理服务器到所述物理网络的峰值网络速率;
其中,所述突发恢复值大于0且小于为该用户预配置的峰值突发量。
在第四种可能的实现方式中,根据第三种可能的实现方式,所述获取上一时间周期内所述用户的一个或多个虚拟机所在的任一物理服务器对应的加权值包括:
计算上一时间周期内所述用户的一个或多个虚拟机所在的任一物理服务器在所述时间周期内发出的网络流量占所述用户的所有虚拟机所在的各物理服务器在所述时间周期内发出的网络流量之和的百分比,该百分比作为该物理服务器对应的加权值。
第二方面,本发明提供了一种虚拟机网络流量的控制方法,包括:
在当前时间周期时,接收中心管理服务器下发的物理服务器到物理网络的峰值网络速率;
在所述峰值网络速率的限制下,向所述物理网络发送数据;
向中心管理服务器上报在所述当前时间周期内发出的网络流量,以使得中心管理服务器利用所述峰值网络速率、所述时间周期的时长以及在所述当前时间周期内上报的多个网络流量的总和调整当前时间周期的峰值突发量,得到调整后的峰值突发量,并根据所述调整后的峰值突发量,确定下一时间周期内所述用户的一个或多个虚拟机所在的各物理服务器到所述物理网络的网络峰值网络速率。
第三方面,本发明提供了一种中心管理服务器,包括:
发送单元,用于在当前时间周期时,将用户的一个或多个虚拟机所在的各物理服务器到物理网络的峰值网络速率分别下发给相对应的各物理服务器,以使得所述各物理服务器在其接收到的峰值网络速率的限制下,向所述物理网络发送数据;
采集单元,用于采集所述用户的一个或多个虚拟机所在的各物理服务器在所述时间周期内发出的网络流量之和;
调整单元,用于利用所述峰值网络速率、所述时间周期的时长、所述采集单元得到的网络流量之和调整当前时间周期的峰值突发量,得到调整后的峰值突发量;
确定单元,用于根据所述调整单元调整后的峰值突发量,确定下一时间周期内所述用户的一个或多个虚拟机所在的各物理服务器到所述物理网络的峰值网络速率。
在第一种可能的实现方式中,根据第三方面,在所述利用所述峰值网络速率、所述时间周期的时长、所述网络流量之和调整当前时间周期的峰值突发量,得到调整后的峰值突发量的操作上,所述调整单元具体用于根据第一公式得到调整后的峰值突发量,其中,所述第一公式为:
B'=B-(M-X×T);
其中,B'表示调整后的峰值突发量,B表示当前时间周期的峰值突发量,T表示所述时间周期的时长,M表示所述网络流量之和,X表示所述峰值网络速率,X为用户预配置的峰值网络速率。
在第二种可能的实现方式中,根据第三方面或第三方面的第一种可能的实现方式,当所述当前时间周期为第一个时间周期时,所述当前时间周期的峰值突发量是根据第二公式得到的,其中,所述第二公式为:
N=X×T×Y;
其中,N表示第一个时间周期的峰值突发量,X表示在第一个时间周期时为用户预配置的峰值网络速率,T表示所述时间周期的时长,Y表示所述用户的一个或多个虚拟机所在的物理服务器的个数。
在第三种可能的实现方式中,根据第三方面或第三方面的前两种任一可能的实现方式,所述确定单元包括:计算子单元和确定子单元;
若所述调整后的峰值突发量大于等于0且小于突发恢复值时,所述计算子单元,用于将为所述用户预配置的峰值网络速率除以所述用户的一个或多个虚拟机所在的物理服务器的个数得到算术平均值;
所述确定子单元,用于将该算术平均值作为下一时间周期内所述用户的一个或多个虚拟机所在的各物理服务器到所述物理网络的峰值网络速率;或者,
若所述调整后的峰值突发量大于等于0且小于突发恢复值时,所述计算子单元,用于获取上一时间周期内所述用户的一个或多个虚拟机所在的任一物理服务器对应的加权值,将为该用户预配置的峰值网络速率乘以所述加权值得到该物理服务器的加权平均值;
所述确定子单元,用于将该加权平均值下作为一时间周期内该物理服务器到所述物理网络的峰值网络速率;其中,所述用户的一个或多个虚拟机所在的各物理服务器对应的加权值之和为1;或者,
若所述调整后的峰值突发量大于等于突发恢复值且小于等于为该用户预配置的峰值网络速率时,
所述确定单元,具体用于将所述为该用户预配置的峰值网络速率确定为下一时间周期内所述用户的一个或多个虚拟机所在的各物理服务器到所述物理网络的峰值网络速率;
其中,所述突发恢复值大于0且小于为该用户预配置的峰值突发量。
在第四种可能的实现方式中,根据第三种可能的实现方式,若所述调整后的峰值突发量大于等于0且小于突发恢复值时,在所述获取上一时间周期内所述用户的一个或多个虚拟机所在的任一物理服务器对应的加权值的操作上,
所述计算子单元具体用于计算上一时间周期内所述用户的一个或多个虚拟机所在的任一物理服务器在所述时间周期内发出的网络流量占所述用户的所有虚拟机所在的各物理服务器在所述时间周期内发出的网络流量之和的百分比,该百分比作为该物理服务器对应的加权值。
第四方面,本发明提供了一种虚拟交换机,所述虚拟交换机位于物理服务器,所述虚拟交换机包括:
接收单元,用于在当前时间周期时,接收中心管理服务器下发的所述物理服务器到物理网络的峰值网络速率;
发送单元,用于在所述接收单元接收到的峰值网络速率的限制下,向所述物理网络发送数据;
上报单元,用于向中心管理服务器上报在所述当前时间周期内发出的网络流量,以使得中心管理服务器利用所述峰值网络速率、所述时间周期的时长以及在所述当前时间周期内上报的多个网络流量的总和调整当前的峰值突发量,得到调整后的峰值突发量,并根据所述调整后的峰值突发量,确定下一时间周期内所述用户的一个或多个虚拟机所在的各物理服务器到物理网络的峰值网络速率。
第五方面,本发明实施例提供了一种物理服务器,其特征在于,包括,硬件层、运行在所述硬件层之上的虚拟交换机、以及运行在所述虚拟交换机之上的一个或多个虚拟机VM,所述硬件层包括网卡,其中,
所述虚拟交换机用于在当前时间周期时,接收中心管理服务器下发的所述物理服务器到物理网络的峰值网络速率;在所述峰值网络速率的限制下,向所述物理网络发送数据;向中心管理服务器上报在所述当前时间周期内发出的网络流量,以使得中心管理服务器利用所述峰值网络速率、所述时间周期的时长以及在所述当前时间周期内上报的多个网络流量的总和调整当前时间周期的峰值突发量,得到调整后的峰值突发量,并根据所述调整后的峰值突发量,确定下一时间周期内所述用户的一个或多个虚拟机所在的各物理服务器到所述物理网络的峰值网络速率。
第六方面,本发明提供了一种虚拟机网络流量的控制系统,包括:上述第三方面或第三方面中任一可能的实现方式中的中心管理服务器,以及上述的第五方面中的物理服务器。
本发明实施例提供的一种虚拟机网络流量的控制方法、装置和系统,通过中心管理服务器将用户的一个或多个虚拟机所在的各物理服务器到物理网络的峰值网络速率下发给相对应的各物理服务器,以及采集用户的一个或多个虚拟机所在的各物理服务器在所述时间周期内发出的网络流量之和,以调整当前时间周期内的峰值突发量,并确定下一时间周期内所述用户到物理网络的峰值网络速率;中心管理服务器在每个时间周期都可以按照上述过程,结合各个物理服务器实际发出的网络流量之和调整用户的一个或多个虚拟机所在的各物理服务器到物理网络的峰值网络速率,这样即使是用户的虚拟机分布在至少两个物理服务器上,通过上述方案也能够使得为该用户实际提供的网络速率与为该用户预配置的峰值网络速率相接近。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种物理服务器虚拟化的结构示意图;
图2为本发明实施例提供的一种虚拟机网络流量的控制方法的示意图;
图3为本发明实施例提供的一种中心管理服务器下发用户的所有虚拟机所在的各物理服务器到物理网络的峰值网络速率的示意图;
图4为本发明实施例提供的一种用户的所有虚拟机所在的各物理服务器上报在时间周期内发出的网络流量的示意图;
图5为本发明实施例提供的另一种虚拟机网络流量的控制方法示意图;
图6为本发明实施例提供的另一种虚拟机网络流量的控制方法的示意图;
图7为本发明实施例提供的一种中心管理服务器的装置示意图;
图8为本发明实施例提供的另一种中心管理服务器的装置示意图
图9为本发明实施例提供的一种虚拟交换机的装置示意图;
图10为本发明实施例提供的一种中心管理服务器的实体装置示意图;
图11为本发明实施例提供的一种物理服务器的实体装置示意图;
图12为本发明实施例提供的另一种物理服务器的实体装置示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了方便理解本发明实施例,参考图1所示,首先在此介绍本发明实施例描述中会引入的几个要素;
虚拟机VM:
通过虚拟机软件可以在一台物理计算机上模拟出一台或者多台虚拟的计算机,而这些虚拟机就像真正的计算机那样进行工作,虚拟机上可以安装操作系统和应用程序,虚拟机还可访问网络资源。对于在虚拟机中运行的应用程序而言,虚拟机就像是在真正的计算机中进行工作。
硬件层:
虚拟化环境运行的硬件平台。其中,硬件层可包括多种硬件,例如某计算节点的硬件层可包括CPU和内存,还可以包括网卡、存储器等等高速/低速输入/输出(I/O,Input/Output)设备,及具有特定处理功能的其它设备。
物理服务器(Host):
作为管理层,用以完成硬件资源的管理、分配;为虚拟机呈现虚拟硬件平台;实现虚拟机的调度和隔离。其中,Host(也可称为宿主机或物理服务器)可能是虚拟机监控器(VMM);此外,有时VMM和1个特权虚拟机配合,两者结合组成Host。其中,虚拟硬件平台对其上运行的各个虚拟机提供各种硬件资源,如提供虚拟CPU、虚拟内存、虚拟磁盘、虚拟网卡等等。其中,该虚拟磁盘可对应Host的一个文件或者一个逻辑块设备。虚拟机则运行在Host为其准备的虚拟硬件平台上,Host上运行一个或多个虚拟机。
虚拟交换机(Virtual Switch):
构成虚拟平台网络的关键角色,允许在同一台宿主机上执行多种交换功能,或在网络中的多台物理设备上执行单功能交换;内置大量的虚拟网络端口,以及提供速度更快的连接接口;在虚拟交换机之上运行一个或者多个虚拟机,
虚拟化集群:
将多台虚拟机的物理服务器进行统一管理,通过虚拟化技术将物理资源抽象为存储、计算、网络等各种资源组成的资源池,虚拟机按需申请,被部署到集群中;其中,分布式虚拟交换机是虚拟化集群的一项重要特性,能够使用户设置跨所有物理服务器的网络配置,使得虚拟机可在跨多个物理服务器进行迁移时保持其网络配置的一致,而分布式端口组时分布式虚拟交换机中的重要概念,分布式端口组将多个端口分组到一个公共配置下,并为连接到带标记网络的虚拟机提供稳定的定位点。
如图2所示,本发明提供了一种虚拟机网络流量的控制方法,包括:
步骤201、在当前时间周期时,将用户的一个或多个虚拟机所在的各物理服务器到物理网络的峰值网络速率分别下发给相对应的各物理服务器,以使得所述各物理服务器在其接收到的峰值网络速率的限制下,向所述物理网络发送数据。
其中,中心管理服务器将用户的一个或多个虚拟机所在的各物理服务器(所述各物理服务)到物理网络的峰值网络速率分别下发给相对应的各物理服务器,相应的,用户的一个或多个虚拟机所在的各物理服务器接收中心管理服务器下发的峰值网络速率,如图3中301所示,以使得所述各物理服务器在其接收到的峰值网络速率的限制下,用户的一个或多个虚拟机所在的各物理服务器向所述物理网络发送数据,如图3中302所示。
所述时间周期为根据用户的业务模型进行设定,可以是1秒,也可以是1微秒,当然不限于此。
示例的,假设用户A的虚拟机分布在Y台物理服务器上,每台物理服务器上包括一个或多个虚拟机,如图3所示,中心管理服务器可以将用户A的一个或多个虚拟机所在的各物理服务器到物理网络的峰值网络速率分别下发给相对应的Y台物理服务器;相应的,用户A所在的Y台服务器接收中心管理服务器下发的峰值网络速率,并且用户A的一个或多个虚拟机所在的各物理服务器在接收到的峰值网络速率的限制下,向物理网络发送数据,也就是说,用户A的虚拟机所在的各物理服务器发送的数据速率最大可以达到接收到的峰值网络速率。
步骤202、采集所述用户的一个或多个虚拟机所在的各物理服务器在所述时间周期内发出的网络流量之和。
如图4中401所示,中心管理服务器采集所述用户的一个或多个虚拟机所在的各物理服务器在所述时间周期内发出的网络流量之和。
可选的,若用户的所有虚拟机都全力发送数据出物理服务器,则所述用户的所有虚拟机所在的Y台物理服务器在时间T内发出的网络流量之和达到最大值,那么,中心管理服务器采集到所述用户的所有虚拟机所在的各物理服务器在所述时间周期内发出的网络流量之和为最大值;
或者可选的,若所述用户的虚拟机中至少有一个没有全力发送数据出物理服务器,则所述用户的虚拟机所在的Y台物理服务器在时间T内发出的网络流量之和小于用户A的所有虚拟机都全力发送数据出物理服务器的网络流量之和。
步骤203、利用所述峰值网络速率、所述时间周期的时长、所述网络流量之和调整当前时间周期的峰值突发量,得到调整后的峰值突发量。
具体的,所述利用所述峰值网络速率、所述时间周期的时长、所述网络流量之和调整当前时间周期的峰值突发量,得到调整后的峰值突发量包括:
根据第一公式得到调整后的峰值突发量;所述第一公式为:
B'=B-(M-X×T);
其中,B'表示调整后的峰值突发量,B表示当前时间周期的峰值突发量,T表示所述时间周期的时长,M表示所述网络流量之和,X表示所述峰值网络速率,X为用户预配置的峰值网络速率。
可选的,当所述当前时间周期为第一个时间周期时,所述当前时间周期的峰值突发量是根据第二公式得到的,其中,所述第二公式为:
N=X×T×Y;
其中,N表示第一个时间周期的峰值突发量,X表示在第一个时间周期时为用户预配置的峰值网络速率,T表示所述时间周期的时长,Y表示所述用户的一个或多个虚拟机所在的物理服务器的个数。当然,对于为用户预配置的峰值突发量的方式不限于此。
步骤204、根据所述调整后的峰值突发量,确定下一时间周期内所述用户的一个或多个虚拟机所在的各物理服务器到物理网络的峰值网络速率。
可选的,若所述调整后的峰值突发量大于等于0且小于突发恢复值时,将所述为该用户预配置的峰值网络速率除以所述用户的虚拟机所在的物理服务器的个数得到的平均值,确定为下一时间周期内所述用户到物理网络的峰值网络速率。
在这种情况下,所述用户的一个或多个虚拟机所在的各物理服务器发出的网络流量最大能达到为该用户预配置的峰值网络速率除以所述用户的虚拟机所在的物理服务器的个数所得到的平均值,这样保证了所述用户的虚拟机所在的物理服务器发出的网络流量不超过为该用户预配置的峰值网络速率。
若调整后的峰值突发量等于0,表示在下一时间周期内所述用户没有可以使用的突发量,且调整后的峰值突发量最小只能等于0;若调整后的峰值突发量大于0且小于突发恢复值,表示在下一时间周期内所述用户有可以使用的突发量。
或者可选的,若所述调整后的峰值突发量大于等于0且小于突发恢复值时,获取上一时间周期内所述用户的一个或多个虚拟机所在的任一物理服务器对应的加权值,将为该用户预配置的峰值网络速率乘以所述加权值得到该物理服务器的加权平均值,该加权平均值下一时间周期内该物理服务器到所述物理网络的峰值网络速率;其中,所述用户的一个或多个虚拟机所在的各物理服务器对应的加权值之和为1。
其中,所述获取上一时间周期内所述用户的一个或多个虚拟机所在的任一物理服务器对应的加权值包括:
计算上一时间周期内所述用户的一个或多个虚拟机所在的任一物理服务器在所述时间周期内发出的网络流量占所述用户的所有虚拟机所在的各物理服务器在所述时间周期内发出的网络流量之和的百分比,该百分比作为该物理服务器对应的加权值。
在这种情况下,中心管理服务器根据上一时间周期内所述用户的一个或多个虚拟机所在的各物理服务器在所述时间周期内实际发出的网络流量,确定下一时间周期内各物理服务器到物理网络的峰值网络速率。这种采用加权平均值的方法可以有效的根据各服务器实际发出的网络流量进行设置,以更加符合实际的应用场景。
示例的,假设用户A的所有虚拟机分布在3台物理服务器上,分别记作物理服务器1、物理服务器2、物理服务器3。在上一时间周期内,用户A的虚拟机所在的物理服务器1发出的网络流量占用户A的所有虚拟机所在的物理服务器发出的网络流量之和的30%,物理服务器2发出的网络流量占用户A的所有虚拟机所在的物理服务器发出的网络流量之和的50%,物理服务器1发出的网络流量占用户A的所有虚拟机所在的物理服务器发出的网络流量之和的20%,则将该百分比30%、50%、20%分别作为物理服务器1、物理服务器2和物理服务器3的加权值,那么将该加权值0.3、0.5和0.2分别乘以为用户预配置的峰值网络速率得到物理服务器1、物理服务器2和物理服务器3相对应的加权平均值,将该三个加权平均值作为下一时间周期内物理服务器1、物理服务器2和物理服务器3到物理网络的峰值速率。
或者可选的,若所述调整后的峰值突发量大于或等于突发恢复值且小于或等于为该用户预配置的峰值网络速率时,将所述为该用户预配置的峰值网络速率确定为下一时间周期内所述用户的一个或多个虚拟机所在的各物理服务器到所述物理网络的峰值网络速率;
在这种情况下,所述用户的虚拟机所在的各物理服务器发出的网络流量最大能达到为该用户预配置的峰值网络速率。
若所述调整后的峰值突发量大于或等于突发恢复值且小于或等于为该用户预配置的峰值网络速率,表示在下一时间周期内所述用户有可以使用的突发量,且调整后的峰值突发量最大只能等于为该用户预配置的峰值网络速率。
其中,对于上述的突发恢复值是大于0且小于为该用户预配置的峰值突发量。
一般而言,所述突发恢复值为根据用户的业务模型进行设定,其经验值是为该用户在第一个时间周期时的峰值突发量的一半,但不限于此。
本发明实施例提供的一种虚拟机网络流量的控制方法,通过中心管理服务器将用户的一个或多个虚拟机所在的各物理服务器到物理网络的峰值网络速率下发给相对应的各物理服务器,以及采集用户的一个或多个虚拟机所在的各物理服务器在所述时间周期内发出的网络流量之和,以调整当前时间周期内的峰值突发量,并确定下一时间周期内所述用户到物理网络的峰值网络速率;中心管理服务器在每个时间周期都可以按照上述过程,结合各个物理服务器实际发出的网络流量之和调整用户的一个或多个虚拟机所在的各物理服务器到物理网络的峰值网络速率,这样即使是用户的虚拟机分布在至少两个物理服务器上,通过上述方案也能够使得为该用户实际提供的网络速率与为该用户预配置的峰值网络速率相接近。
如图5所示,本发明提供了一种虚拟机网络流量的控制方法,包括:
步骤501、在当前时间周期时,接收中心管理服务器下发的物理服务器到物理网络的峰值网络速率。
具体的,在当前时间周期时,中心管理服务器将用户的一个或多个虚拟机所在的各物理服务器到物理网络的峰值网络速率分别下发给相对应的各物理服务器,相应的,各物理服务器接收中心管理服务器下发的所述物理服务器到物理网络的峰值网络速率。
步骤502、在所述峰值网络速率的限制下,向所述物理网络发送数据。
其中,所述物理服务器在接收到的峰值网络速率的限制下,向所述物理网络发送数据,也就是说,所述物理服务器向所述物理网络发送数据的速率最大值为峰值网络速率。
步骤503、向中心管理服务器上报在所述当前时间周期内发出的网络流量,以使得中心管理服务器利用所述峰值网络速率、所述时间周期的时长以及在所述当前时间周期内上报的多个网络流量的总和调整当前时间周期的峰值突发量,得到调整后的峰值突发量,并根据所述调整后的峰值突发量,确定下一时间周期内所述用户的一个或多个虚拟机所在的各物理服务器到所述物理网络的峰值网络速率。
其中,所述向中心管理服务器上报在所述时间周期内发出的网络流量可以为周期性的上报,也可以为实时性的上报;所述周期性的上报可以为在当前时间周期结束时,将所述当前时间周期内发出的网络流量上报给中心管理服务器,所述实时性的可以为在发出网络流量的同时将该发出的网络流量上报给中心管理服务器,对于具体的采用何种上报方式可以根据实际业务的需求进行合理的设置,这些均属于本专利所要保护的范围。
可选的,若向所述物理网络发送数据的速率均达到所述峰值网络速率,则向中心管理服务器上报在所述时间周期内发出的网络流量为所述峰值网络速率。
或者可选的,若向所述物理网络发送数据的速率未达到所述峰值网络速率,则向中心管理服务器上报在所述时间周期内发出的网络流量小于所述峰值网络速率。
相应的,中心管理服务器利用所述峰值网络速率、所述时间周期的时长以及在所述当前时间周期内上报的多个网络流量的总和调整当前时间周期的峰值突发量,得到调整后的峰值突发量,并根据所述调整后的峰值突发量,确定下一时间周期内所述用户的一个或多个虚拟机所在的各物理服务器到所述物理网络的峰值网络速率。
本发明实施例提供的一种虚拟机网络流量的控制方法,通过在当前时间周期时,接收中心管理服务器下发的物理服务器到物理网络的峰值网络速率,并在该峰值网络速率的限制下,向所述物理网络发送数据,同时向中心管理服务器上报在所述当前时间周期内发出的网络流量,以使得中心管理服务器利用所述峰值网络速率、所述时间周期的时长以及在所述时间周期内上报的多个网络流量的总和调整当前时间周期的峰值突发量,得到调整后的峰值突发量,并根据所述调整后的峰值突发量,确定下一时间周期内所述用户的一个或多个虚拟机所在的各物理服务器到所述物理网络的峰值网络速率;通过在每个时间周期都可以按照上述过程,结合各个物理服务器实际发出的网络流量之和调整用户的所有虚拟机所在的各物理服务器到物理网络的峰值网络速率,这样即使是用户的虚拟机分布在至少两个物理服务器上,通过上述方案也能够使得为该用户实际提供的网络速率与为该用户预配置的峰值网络速率相接近。
针对上述虚拟机网络流量的控制方法,本发明还提供了具体实例,如图6中所示的场景,用户1使用2个虚拟机,这2个虚拟机分布在物理服务器1上,用户2使用3个虚拟机,这3个虚拟机分布在两个物理服务器上,其中,1个虚拟机分布在物理服务器1上,剩余的两个虚拟机分布在物理服务器2上。本实施例以用户2进行说明,根据用户2的业务模型,中心管理服务器为用户2预配置的峰值网络速率为50字节/秒,突发恢复值为50字节/秒,时间周期时长为1秒,对于下面每个时间周期中的五个步骤均可以参照图6中601、602、603、604和605所示。本发明实施例以前四个时间周期为例一一进行详述。
第一个时间周期
具体阐述了在第一个时间周期内,如何结合预配置的峰值网络速率、以及第一个时间周期所采集到的实际的出主机的网络流量之和,确定第二个时间周期的峰值突发量和峰值网络速率,包括以下步骤:
步骤601、中心管理服务器将为用户2预配置的峰值网络速率50字节/秒下发给用户2的虚拟机所在的主机1和主机2;相应的,用户2的虚拟机所在的主机1和主机2接收中心管理服务器下发的为用户2预配置的峰值网络速率50字节/秒。
步骤602、根据接收到的峰值网络速率,用户2的虚拟机所在的主机1和主机2向物理网络发送数据。
具体的,用户2的虚拟机都全力发送数据出主机1和主机2,则用户2的虚拟机出主机1和主机2在1秒内发出的网络流量均为50字节/秒。
步骤603、中心管理服务器采集用户2的虚拟机所在的主机1和主机2上报的网络流量之和,相应的,用户2的虚拟机所在的主机1和主机2每1秒上报各自的向物理网络发送数据的网络流量给中心管理服务器。
具体的,中心管理服务器采集到用户2所在主机1和主机2的网络流量,用户2将其虚拟机出主机1和主机2的网络流量50字节/秒分别上报给中心管理服务器,中心管理服务器将采集到的网络流量进行求和,得到总的网络流量为100字节/秒。
步骤604、中心管理服务器根据网络流量之和、时间周期时长、为用户2预配置的峰值突发量(即当前的峰值突发量)利用第一公式得到调整后的峰值突发量。
具体的,在第一个时间周期内,当前时间周期的峰值突发量根据第二公式,即50字节/秒*2*1=100字节/秒,得到第一个时间周期的峰值突发量为100字节/秒,根据步骤403可以得到网络流量之和为100字节/秒,根据第一公式,即100字节/秒-(100字节/秒-50字节/秒*1)=50字节/秒,得到调整后的峰值突发量为50字节/秒,即第二个周期内的峰值突发量为50字节/秒;
步骤605、中心管理服务器根据调整后的峰值突发量,确定第二个时间周期内用户2的所有虚拟机所在的各物理服务器到物理网络的峰值网络速率。
具体的,根据步骤604可以得到调整后的峰值突发量为50字节/秒,该峰值突发量等于突发恢复值,所以将为该用户预配置的峰值网络速率50字节/秒确定为第二个时间周期内用户2到物理网络的峰值网络速率。
第二个时间周期
具体阐述了在第二个时间周期内,如何结合在第一个时间周期内得到的用户2在第二个时间周期内的所有虚拟机所在的各物理服务器到物理网络的峰值网络速率和峰值突发量、以及第二个时间周期所采集到的实际的用户2的虚拟机出主机的总网络速率,确定第三个时间周期的峰值突发量和峰值网络速率,包括以下步骤:
步骤601、中心管理服务器将用户2到物理网络的峰值网络速率50字节/秒下发给用户2的虚拟机所在的主机1和主机2;相应的,用户2的虚拟机所在的主机1和主机2接收中心管理服务器下发的用户2到物理网络的峰值网络速率50字节/秒。
步骤602、根据接收到的峰值网络速率,用户2的虚拟机所在的主机1和主机2向物理网络发送数据。
具体的,用户2的虚拟机都全力发送数据出主机1和主机2,则用户2的虚拟机出主机1和主机2在1秒内的网络流量均为50字节/秒。
步骤603、中心管理服务器采集用户2的虚拟机所在的主机1和主机2上报的网络流量之和;相应的,用户2的虚拟机所在的主机1和主机2每1秒上报其向物理网络发送数据的网络流量给中心管理服务器。
具体的,中心管理服务器采集到用户2所在主机1和主机2的网络流量,用户2将其虚拟机出主机1和主机2的网络流量50字节/秒分别上报给中心管理服务器,中心管理服务器将采集到的网络流量进行求和,得到总的网络流量为100字节/秒。
步骤604、中心管理服务器根据网络流量之和、时间周期时长以及从第一时间周期得到的第二时间周期内的峰值突发量,利用第一公式得到调整后的峰值突发量。
具体的,在第二个时间周期内,当前的峰值突发量为50字节/秒,根据步骤603可以得到网络流量之和为100字节/秒,根据第一公式,即50字节/秒-(100字节/秒-50字节/秒*1),得到调整后的峰值突发量为0字节/秒,即第三个周期内的峰值突发量为0字节/秒;
步骤605、中心管理服务器根据调整后的峰值突发量,确定第三个时间周期内用户2的所有虚拟机所在的各物理服务器到物理网络的峰值网络速率。
具体的,根据步骤604可以得到调整后的峰值突发量为0字节/秒,则将为该用户预配置的峰值网络速率除以用户2的虚拟机所在的物理服务器的个数得到的平均值,即(50/2=25)字节/秒,确定为第三个时间周期内用户2到物理网络的峰值速率。
第三个时间周期
具体阐述了在第三个时间周期内,如何结合在第二个时间周期内得到的用户2在第三个时间周期内的所有虚拟机所在的各物理服务器到物理网络的峰值网络速率和峰值突发量、以及第三个时间周期所采集到的实际的用户2的虚拟机出主机的总网络速率,确定第四个时间周期的峰值突发量和峰值网络速率,包括以下步骤:
步骤601、中心管理服务器将用户2到物理网络的峰值网络速率25字节/秒下发给用户2的虚拟机所在的主机1和主机2;相应的,用户2的虚拟机所在的主机1和主机2接收中心管理服务器下发的用户2到物理网络的峰值网络速率25字节/秒。
步骤602、根据接收到的峰值网络速率,用户2的虚拟机所在的主机1和主机2向物理网络发送数据。
具体的,用户2的虚拟机所在的主机1和主机2接收中心管理服务器下发的用户2到物理网络的峰值网络速率25字节/秒,也就是说用户2的虚拟机出主机1和主机2的网络流量均小于25字节/秒;若用户2的虚拟机出主机1和主机2的网络流量均为20字节/秒。
步骤603、中心管理服务器采集用户2的虚拟机所在的主机1和主机2上报的网络流量之和;相应的,用户2的虚拟机所在的主机1和主机2每1秒上报其向物理网络发送数据的网络流量给中心管理服务器。
具体的,中心管理服务器采集到用户2所在主机1和主机2的网络流量,用户2将其虚拟机出主机1和主机2的网络流量20字节/秒分别上报给中心管理服务器,中心管理服务器将采集到的网络流量进行求和,得到总的网络流量为40字节/秒。
步骤604、中心管理服务器根据网络流量之和、时间周期时长、以及从第二时间周期得到的第三时间周期内的峰值突发量,利用第一公式得到调整后的峰值突发量。
具体的,在第三个时间周期内,当前的峰值突发量为0字节/秒,根据步骤603可以得到网络流量之和为40字节/秒,根据第一公式,得到调整后的峰值突发量为10字节/秒,即第四个周期内的峰值突发量为10字节/秒。
步骤605、中心管理服务器根据调整后的峰值突发量,确定第三个时间周期内用户2的所有虚拟机所在的各物理服务器到物理网络的峰值网络速率。
具体的,根据步骤604可以得到调整后的峰值突发量为10字节/秒,则将为该用户预配置的峰值网络速率除以用户2的虚拟机所在的物理服务器的个数得到的平均值,即(50/2=25)字节/秒,确定为第四个时间周期内用户2到物理网络的峰值速率。
第四个时间周期
具体阐述了在第四个时间周期内,如何结合在第三个时间周期内得到的用户2在第四个时间周期内的所有虚拟机所在的各物理服务器到物理网络的峰值网络速率和峰值突发量、以及第四个时间周期所采集到的实际的用户2的虚拟机出主机的总网络速率,确定第五个时间周期的峰值突发量和峰值网络速率,包括以下步骤:
步骤601、中心管理服务器将用户2到物理网络的峰值网络速率25字节/秒下发给用户2的虚拟机所在的主机1和主机2;相应的,用户2的虚拟机所在的主机1和主机2接收中心管理服务器下发的用户2到物理网络的峰值网络速率25字节/秒。
步骤602、根据接收到的峰值网络速率,用户2的虚拟机所在的主机1和主机2向物理网络发送数据。
具体的,用户2的虚拟机所在的主机1和主机2接收中心管理服务器下发的用户2到物理网络的峰值网络速率25字节/秒,也就是说用户2的虚拟机出主机1和主机2的网络流量均小于25字节/秒;若用户2的虚拟机出主机1和主机2的网络流量均为10字节/秒。
步骤603、中心管理服务器采集用户2的虚拟机所在的主机1和主机2上报的网络流量之和,相应的,用户2的虚拟机所在的主机1和主机2每1秒上报各自的向物理网络发送数据的网络流量给中心管理服务器。
具体的,中心管理服务器采集到用户2所在主机1和主机2的网络流量,用户2将其虚拟机出主机1和主机2的网络流量10字节/秒分别上报给中心管理服务器,中心管理服务器将采集到的网络流量进行求和,得到总的网络流量为20字节/秒。
步骤604、中心管理服务器根据网络流量之和、时间周期时长、以及从第三时间周期得到的第四时间周期内的峰值突发量,利用第一公式得到调整后的峰值突发量。
具体的,在第四个时间周期内,当前的峰值突发量为10字节/秒,根据步骤603可以得到网络流量之和为20字节/秒,根据第一公式,得到调整后的峰值突发量为40字节/秒,即第五个周期内的峰值突发量为40字节/秒;
步骤605、中心管理服务器根据调整后的峰值突发量,确定第五个时间周期内用户2的所有虚拟机所在的各物理服务器到物理网络的峰值网络速率。
具体的,根据步骤604可以得到调整后的峰值突发量为40字节/秒,则将为该用户预配置的峰值网络速率50字节/秒确定为第五个时间周期内用户2到物理网络的峰值速率。
对于后续时间周期内对用户2的网络流量控制,与上述第一时间周期至第四时间周期内任一周期的网络流量控制方法步骤类似,在此不再赘述。
本发明实施例提供的一种虚拟机网络流量的控制方法,通过中心管理服务器将用户的一个或多个虚拟机所在的各物理服务器到物理网络的峰值网络速率下发给相对应的各物理服务器,以及采集用户的一个或多个虚拟机所在的各物理服务器在所述时间周期内发出的网络流量之和,以调整当前时间周期内的峰值突发量,并确定下一时间周期内所述用户到物理网络的峰值网络速率;中心管理服务器在每个时间周期都可以按照上述过程,结合各个物理服务器实际发出的网络流量之和调整用户的一个或多个虚拟机所在的各物理服务器到物理网络的峰值网络速率,这样即使是用户的虚拟机分布在至少两个物理服务器上,通过上述方案也能够使得为该用户实际提供的网络速率与为该用户预配置的峰值网络速率相接近。
本发明实施例提供了一种中心管理服务器,该中心管理服务器中的各个功能模块与上述以中心管理服务器为执行主体的方法步骤相对应,在此不进行详细描述。
如图7所示,所述中心管理服务器70包括:
发送单元701,用于在当前时间周期时,将用户的一个或多个虚拟机所在的各物理服务器到物理网络的峰值网络速率分别下发给相对应的各物理服务器,以使得所述各物理服务器在其接收到的峰值网络速率的限制下,向所述物理网络发送数据;
采集单元702,用于采集所述用户的一个或多个虚拟机所在的各物理服务器在所述时间周期内发出的网络流量之和;
调整单元703,用于利用所述峰值网络速率、所述时间周期的时长、所述采集单元702得到的网络流量之和调整当前的峰值突发量,得到调整后的峰值突发量;
确定单元704,用于根据所述调整单元703调整后的峰值突发量,确定下一时间周期内所述用户的一个或多个虚拟机所在的各物理服务器到物理网络的峰值网络速率。
可选的,在所述利用所述峰值网络速率、所述时间周期的时长、所述网络流量之和调整当前时间周期的峰值突发量,得到调整后的峰值突发量的操作上,所述调整单元703具体用于根据第一公式得到调整后的峰值突发量,其中,所述第一公式为:
B'=B-(M-X×T);
其中,B'表示调整后的峰值突发量,B表示当前时间周期的峰值突发量,T表示所述时间周期的时长,M表示所述网络流量之和,X表示所述峰值网络速率,X为用户预配置的峰值网络速率。
可选的,当所述当前时间周期为第一个时间周期时,所述当前时间周期的峰值突发量是根据第二公式得到的,其中,所述第二公式为:
N=X×T×Y;
其中,N表示第一个时间周期的峰值突发量,X表示在第一个时间周期内为用户预配置的峰值网络速率,T表示所述时间周期的时长,Y表示所述用户的一个或多个虚拟机所在的物理服务器的个数。
可选的,如图8所示,所述确定单元704包括:计算子单元705和确定子单元706;
若所述调整后的峰值突发量大于等于0且小于突发恢复值时,
所述计算子单元705,用于将为所述用户预配置的峰值网络速率除以所述用户的一个或多个虚拟机所在的物理服务器的个数得到算术平均值;
所述确定子单元706,用于将该算术平均值作为下一时间周期内所述用户的一个或多个虚拟机所在的各物理服务器到所述物理网络的峰值网络速率;
或者,若所述调整后的峰值突发量大于等于0且小于突发恢复值时,所述计算子单元705,用于获取上一时间周期内所述用户的一个或多个虚拟机所在的任一物理服务器对应的加权值,将为该用户预配置的峰值网络速率乘以所述加权值得到该物理服务器的加权平均值;
所述确定子单元706,用于将该加权平均值作为下一时间周期内该物理服务器到所述物理网络的峰值网络速率;其中,所述用户的一个或多个虚拟机所在的各物理服务器对应的加权值之和为1;
或者,若所述调整后的峰值突发量大于等于突发恢复值且小于等于为该用户预配置的峰值网络速率时,
所述确定单元704,具体用于将所述为该用户预配置的峰值网络速率确定为下一时间周期内所述用户的一个或多个虚拟机所在的各物理服务器到所述物理网络的峰值网络速率;
其中,所述突发恢复值大于0且小于为该用户预配置的峰值突发量。
可选的,若所述调整后的峰值突发量大于等于0且小于突发恢复值时,在所述获取上一时间周期内所述用户的一个或多个虚拟机所在的任一物理服务器对应的加权值的操作上,所述计算子单元705具体用于计算上一时间周期内所述用户的一个或多个虚拟机所在的任一物理服务器在所述时间周期内发出的网络流量占所述用户的所有虚拟机所在的各物理服务器在所述时间周期内发出的网络流量之和的百分比,该百分比作为该物理服务器对应的加权值。
本发明实施例提供的一种虚拟机网络流量的中心管理服务器,通过中心管理服务器将用户的一个或多个虚拟机所在的各物理服务器到物理网络的峰值网络速率下发给相对应的各物理服务器,以及采集用户的一个或多个虚拟机所在的各物理服务器在所述时间周期内发出的网络流量之和,以调整当前时间周期内的峰值突发量,并确定下一时间周期内所述用户到物理网络的峰值网络速率;中心管理服务器在每个时间周期都可以按照上述过程,结合各个物理服务器实际发出的网络流量之和调整用户的一个或多个虚拟机所在的各物理服务器到物理网络的峰值网络速率,这样即使是用户的虚拟机分布在至少两个物理服务器上,通过上述方案也能够使得为该用户实际提供的网络速率与为该用户预配置的峰值网络速率相接近。
本发明实施例提供了一种虚拟交换机,所述虚拟交换机位于物理服务器,该虚拟交换机中的各个功能模块与上述以虚拟交换机为执行主体的方法步骤相对应,在此不进行详细描述。
如图9所示,所述虚拟交换机90包括:
接收单元901,用于在当前时间周期时,接收中心管理服务器下发的所述物理服务器到物理网络的峰值网络速率;
发送单元902,用于在所述接收单元901接收到的峰值网络速率的限制下,向所述物理网络发送数据;
上报单元903,用于向中心管理服务器上报所述发送单元902在所述当前时间周期内发出的网络流量,以使得中心管理服务器利用所述峰值网络速率、所述时间周期的时长以及在所述当前时间周期内上报的多个网络流量的总和调整当前的峰值突发量,得到调整后的峰值突发量,并根据所述调整后的峰值突发量,确定下一时间周期内所述用户的一个或多个虚拟机所在的各物理服务器到所述物理网络的峰值网络速率。
本发明实施例提供的一种虚拟机网络流量的虚拟交换机,通过在当前时间周期时,虚拟交换机接收中心管理服务器下发的物理服务器到物理网络的峰值网络速率,并在该峰值网络速率的限制下,向所述物理网络发送数据,同时向中心管理服务器上报在所述当前时间周期内发出的网络流量,以使得中心管理服务器利用所述峰值网络速率、所述时间周期的时长以及在所述当前时间周期内上报的多个网络流量的总和调整当前时间周期的峰值突发量,得到调整后的峰值突发量,并根据所述调整后的峰值突发量,确定下一时间周期内所述用户的一个或多个虚拟机所在的各物理服务器到所述物理网络的峰值网络速率;通过在每个时间周期都可以按照上述过程,结合各个物理服务器实际发出的网络流量之和调整用户的所有虚拟机所在的各物理服务器到物理网络的峰值网络速率,这样即使是用户的虚拟机分布在至少两个物理服务器上,通过上述方案也能够使得为该用户实际提供的网络速率与为该用户预配置的峰值网络速率相接近。
本发明实施例提供了一种物理服务器,包括:硬件层、运行在所述硬件层之上的虚拟交换机、以及运行在所述虚拟交换机之上的一个或多个虚拟机VM,所述硬件层包括网卡,其中,所述虚拟机交换机为上述所述的虚拟交换机90;
所述虚拟交换机90具体用于在当前时间周期时,接收中心管理服务器下发的物理服务器到物理网络的峰值网络速率;在所述峰值网络速率的限制下,向所述物理网络发送数据;向中心管理服务器上报在所述当前时间周期内发出的网络流量,以使得中心管理服务器利用所述峰值网络速率、所述时间周期的时长以及在所述当前时间周期内上报的多个网络流量的总和调整当前时间周期的峰值突发量,得到调整后的峰值突发量,并根据所述调整后的峰值突发量,确定下一时间周期内所述用户的一个或多个虚拟机所在的各物理服务器到所述物理网络的峰值网络速率。
本发明实施例提供的一种虚拟机网络流量的物理服务器,通过在当前时间周期时,物理服务器接收中心管理服务器下发的物理服务器到物理网络的峰值网络速率,并在该峰值网络速率的限制下,向所述物理网络发送数据,同时向中心管理服务器上报在所述当前时间周期内发出的网络流量,以使得中心管理服务器利用所述峰值网络速率、所述时间周期的时长以及在所述当前时间周期内上报的多个网络流量的总和调整当前时间周期的峰值突发量,得到调整后的峰值突发量,并根据所述调整后的峰值突发量,确定下一时间周期内所述用户的一个或多个虚拟机所在的各物理服务器到所述物理网络的峰值网络速率;通过在每个时间周期都可以按照上述过程,结合各个物理服务器实际发出的网络流量之和调整用户的所有虚拟机所在的各物理服务器到物理网络的峰值网络速率,这样即使是用户的虚拟机分布在至少两个物理服务器上,通过上述方案也能够使得为该用户实际提供的网络速率与为该用户预配置的峰值网络速率相接近。
本发明提供了一种网络流量的控制系统,包括:上述的中心管理服务器70,以及上述至少一个物理服务器90。
本发明实施例的系统中的中心管理服务器,以及物理服务器的功能与结构参见前述实施例的介绍,这里不再赘述。
综上,本发明实施例提供的一种虚拟机网络流量的控制系统,通过中心管理服务器将用户的一个或多个虚拟机所在的各物理服务器到物理网络的峰值网络速率下发给相对应的各物理服务器,以及采集用户的所有一个或多个虚拟机所在的各物理服务器在所述时间周期内发出的网络流量之和,以调整当前时间周期内的峰值突发量,并确定下一时间周期内所述用户到物理网络的峰值网络速率;中心管理服务器在每个时间周期都可以按照上述过程,结合各个物理服务器实际发出的网络流量之和调整用户的一个或多个虚拟机所在的各物理服务器到物理网络的峰值网络速率,这样即使是用户的虚拟机分布在至少两个物理服务器上,通过上述方案也能够使得为该用户实际提供的网络速率与为该用户预配置的峰值网络速率相接近。
如图10所示,本发明实施例提供了一种中心管理服务器100,该中心管理服务器100可包括:网络接口1001、存储器1002和处理器1003。
其中,所述存储器1002可以包括只读存储器和所涉及存取存储器,并向处理器1003提供指令和数据。存储器1002的一部分还可以包括非易失性随机存取存储器(NVRAM)。
存储器1002存储了如下的元素,可执行模块或者数据结构,或者它们的自己,或者它们的扩展集;
操行指令:包括各种操作指令,用于实现各种操作。
操作系统:包括各种系统程序,用于实现各种基础业务以及处理基于硬件的任务。
在本发明实施例中,处理器1003通过调用存储器1002存储的操作指令,执行如下操作:
通过所述网络接口1001在当前时间周期时,将用户的一个或多个虚拟机所在的各物理服务器到物理网络的峰值网络速率分别下发给相对应的各物理服务器,以使得所述各物理服务器在其接收到的峰值网络速率的限制下,向所述物理网络发送数据;采集所述用户的一个或多个虚拟机所在的各物理服务器在所述时间周期内发出的网络流量之和;利用所述峰值网络速率、所述时间周期的时长、所述网络流量之和调整当前的峰值突发量,得到调整后的峰值突发量;根据所述调整后的峰值突发量,确定下一时间周期内所述用户的一个或多个虚拟机所在的各物理服务器到所述物理网络的峰值网络速率。
在本发明实施例中,中心管理服务器100通过将用户的一个或多个虚拟机所在的各物理服务器到物理网络的峰值网络速率分别下发给相对应的各物理服务器,并采集所述用户的一个或多个虚拟机所在的各物理服务器在所述时间周期内发出的网络流量之和;利用所述峰值网络速率、所述时间周期的时长、所述网络流量之和调整当前的峰值突发量,得到调整后的峰值突发量;根据所述调整后的峰值突发量,确定下一时间周期内所述用户的一个或多个虚拟机所在的各物理服务器到所述物理网络的峰值网络速率,以在用户的虚拟机分布在至少两个物理服务器上的情况下,能够使得为该用户实际提供的网络速率与为该用户预配置的峰值网络速率相接近。
处理器1003控制中心管理服务器100的操作,处理器1003,例如可以是CPU(Central Processing Unit,中央处理单元)。存储器1002可以包括只读存储器和随机存取存储器,并向处理器1003提供指令和数据。存储器1002的一部分还可以包括非易失性随机存取存储器(NVRAM)。具体的应用中,中心管理服务器100的各个组件通过总线系统1004耦合在一起,其中总线系统1004除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线系统1004。
上述本发明实施例揭示的方法可以应用于处理器1003中,或者由处理器1003实现。处理器1003可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器1003中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器1003可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1002,处理器1003读取存储器1002中的信息,结合其硬件完成上述方法的步骤。
可选的,在所述利用所述峰值网络速率、所述时间周期的时长、所述网络流量之和调整当前时间周期的峰值突发量,得到调整后的峰值突发量的操作上,所述处理器1003具体用于根据第一公式得到调整后的峰值突发量,其中,所述第一公式为:
B‘=B-(M-X×T);
其中,B'表示调整后的峰值突发量,B表示当前时间周期的峰值突发量,T表示所述时间周期的时长,M表示所述网络流量之和,X表示所述峰值网络速率,X为用户预配置的峰值网络速率。
可选的,当所述当前时间周期为第一个时间周期时,所述处理器1003具体用于根据第二公式得到所述当前时间周期的峰值突发量,其中,所述第二公式为:
N=X×T×Y;
其中,N表示第一个时间周期的峰值突发量,X表示在第一个时间周期时为用户预配置的峰值网络速率,T表示所述时间周期的时长,Y表示所述用户的一个或多个虚拟机所在的物理服务器的个数。
可选的,在所述根据所述调整后的峰值突发量,确定下一时间周期内所述用户的一个或多个虚拟机所在的各物理服务器到所述物理网络的峰值网络速率的操作上,所述处理器1003具体用于:若所述调整后的峰值突发量大于等于0且小于突发恢复值时,将为所述用户预配置的峰值网络速率除以所述用户的一个或多个虚拟机所在的物理服务器的个数得到算术平均值,该算术平均值作为下一时间周期内所述用户的一个或多个虚拟机所在的各物理服务器到所述物理网络的峰值网络速率;或者,获取上一时间周期内所述用户的一个或多个虚拟机所在的任一物理服务器对应的加权值,将为该用户预配置的峰值网络速率乘以所述加权值得到该物理服务器的加权平均值,该加权平均值作为下一时间周期内该物理服务器到所述物理网络的峰值网络速率;其中,所述用户的所有虚拟机所在的各物理服务器对应的加权值之和为1;
或者,若所述调整后的峰值突发量大于等于突发恢复值且小于等于为该用户预配置的峰值网络速率时,将所述为该用户预配置的峰值网络速率确定为下一时间周期内所述用户的一个或多个虚拟机所在的各物理服务器到所述物理网络的峰值网络速率;
其中,所述突发恢复值大于0且小于为该用户预配置的峰值突发量。
可选的,若所述调整后的峰值突发量大于等于0且小于突发恢复值时,在所述获取上一时间周期内所述用户的一个或多个虚拟机所在的任一物理服务器对应的加权值的操作上,所述处理器1003具体用于:计算上一时间周期内所述用户的一个或多个虚拟机所在的任一物理服务器在所述时间周期内发出的网络流量占所述用户的所有虚拟机所在的各物理服务器在所述时间周期内发出的网络流量之和的百分比,该百分比作为该物理服务器对应的加权值。
如图11所示,本发明实施例提供了一种物理服务器110,该物理服务器110包括:网络接口1101、用户接口1102(可选的)、存储器1103和处理器1104。
其中,所述存储器1103可以包括只读存储器和所涉及存取存储器,并向处理器1104提供指令和数据。存储器1103的一部分还可以包括非易失性随机存取存储器(NVRAM)。
存储器1103存储了如下的元素,可执行模块或者数据结构,或者它们的自己,或者它们的扩展集;
操行指令:包括各种操作指令,用于实现各种操作。
操作系统:包括各种系统程序,用于实现各种基础业务以及处理基于硬件的任务。
在本发明实施例中,处理器1104通过调用存储器1103存储的操作指令,执行如下操作:
通过所述网络接口1101在当前时间周期时,接收中心管理服务器下发的所述物理服务器到物理网络的峰值网络速率;在所述网络接口1101接收到的峰值网络速率的限制下,通过所述网络接口1101向所述物理网络发送数据;以及调用存储器1103中存储的操作指令,以向中心管理服务器上报在所述当前时间周期内发出的网络流量,以使得中心管理服务器利用所述峰值网络速率、所述时间周期的时长以及在所述当前时间周期内上报的多个网络流量的总和调整当前的峰值突发量,得到调整后的峰值突发量,并根据所述调整后的峰值突发量,确定下一时间周期内所述用户的一个或多个虚拟机所在的各物理服务器到所述物理网络的峰值网络速率。
处理器1104控制中心管理服务器110的操作,处理器1104还可以称为CPU(CentralProcessing Unit,中央处理单元)。存储器1103可以包括只读存储器和随机存取存储器,并向处理器1104提供指令和数据。存储器1103的一部分还可以包括非易失性随机存取存储器(NVRAM)。具体的应用中,中心管理服务器110的各个组件通过总线系统1105耦合在一起,其中总线系统1105除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线系统1105。
上述本发明实施例揭示的方法可以应用于处理器1104中,或者由处理器1104实现。处理器1104可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器1104中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器1104可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1104,处理器1104读取存储器1103中的信息,结合其硬件完成上述方法的步骤。
本发明实施例提供的一种虚拟机网络流量的虚拟交换机,通过在当前时间周期时,虚拟交换机接收中心管理服务器下发的物理服务器到物理网络的峰值网络速率,并在该峰值网络速率的限制下,向所述物理网络发送数据,同时向中心管理服务器上报在所述当前时间周期内发出的网络流量,以使得中心管理服务器利用所述峰值网络速率、所述时间周期的时长以及在所述当前时间周期内上报的多个网络流量的总和调整当前时间周期的峰值突发量,得到调整后的峰值突发量,并根据所述调整后的峰值突发量,确定下一时间周期内所述用户的一个或多个虚拟机所在的各物理服务器到所述物理网络的峰值网络速率;通过在每个时间周期都可以按照上述过程,结合各个物理服务器实际发出的网络流量之和调整用户的所有虚拟机所在的各物理服务器到物理网络的峰值网络速率,这样即使是用户的虚拟机分布在至少两个物理服务器上,通过上述方案也能够使得为该用户实际提供的网络速率与为该用户预配置的峰值网络速率相接近。
如图12所示,本发明提供了一种物理服务器120,其特征在于,包括,硬件层1201、运行在所述硬件层之上的虚拟交换机1202、以及运行在所述虚拟交换机之上的一个或多个虚拟机VM1203(例如1203a,1203b),所述硬件层包括网卡12011,其中,
所述虚拟交换机1202用于在当前时间周期时,接收中心管理服务器下发的本物理服务器到物理网络的峰值网络速率;在所述峰值网络速率的限制下,向所述物理网络发送数据;向中心管理服务器上报在所述当前时间周期内发出的网络流量,以使得中心管理服务器利用所述峰值网络速率、所述时间周期的时长以及在所述当前时间周期内上报的多个网络流量的总和调整当前时间周期的峰值突发量,得到调整后的峰值突发量,并根据所述调整后的峰值突发量,确定下一时间周期内所述用户的一个或多个虚拟机所在的各物理服务器到所述物理网络的峰值网络速率。
本发明实施例的物理服务器的功能和结构可以参见前述实施例的描述,这里不再赘述。
本发明实施例提供的一种虚拟机网络流量的物理服务器,通过在当前时间周期时,物理服务器接收中心管理服务器下发的物理服务器到物理网络的峰值网络速率,并在该峰值网络速率的限制下,向所述物理网络发送数据,同时向中心管理服务器上报在所述当前时间周期内发出的网络流量,以使得中心管理服务器利用所述峰值网络速率、所述时间周期的时长以及在所述当前时间周期内上报的多个网络流量的总和调整当前时间周期的峰值突发量,得到调整后的峰值突发量,并根据所述调整后的峰值突发量,确定下一时间周期内所述用户的一个或多个虚拟机所在的各物理服务器到所述物理网络的峰值网络速率;通过在每个时间周期都可以按照上述过程,结合各个物理服务器实际发出的网络流量之和调整用户的一个或多个虚拟机所在的各物理服务器到物理网络的峰值网络速率,这样即使是用户的虚拟机分布在至少两个物理服务器上,通过上述方案也能够使得为该用户实际提供的网络速率与为该用户预配置的峰值网络速率相接近。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理包括,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种虚拟机网络流量的控制方法,其特征在于,包括:
在当前时间周期,将用户的一个或多个虚拟机所在的各物理服务器到物理网络的峰值网络速率分别下发给相对应的各物理服务器,以使得所述各物理服务器在其接收到的峰值网络速率的限制下,向所述物理网络发送数据;
采集所述用户的一个或多个虚拟机所在的各物理服务器在所述时间周期内发出的网络流量之和;
利用所述峰值网络速率、所述时间周期的时长、所述网络流量之和调整当前时间周期的峰值突发量,得到调整后的峰值突发量;
根据第一公式得到调整后的峰值突发量;所述第一公式为:
B'=B-(M-X×T);
其中,B'表示调整后的峰值突发量,B表示当前时间周期的峰值突发量,T表示所述时间周期的时长,M表示所述网络流量之和,X表示用户预配置的峰值网络速率;
当所述当前时间周期为第一个时间周期时,所述当前时间周期的峰值突发量是根据第二公式得到的;其中,所述第二公式为:
N=X×T×Y;
其中,N表示第一个时间周期的峰值突发量,X表示在第一个时间周期时为用户预配置的峰值网络速率,T表示所述时间周期的时长,Y表示所述用户的一个或多个虚拟机所在的物理服务器的个数;
根据所述调整后的峰值突发量,确定下一时间周期内所述用户的一个或多个虚拟机所在的各物理服务器到所述物理网络的峰值网络速率,其中包括:
若所述调整后的峰值突发量大于等于0且小于突发恢复值时,将为所述用户预配置的峰值网络速率除以所述用户的一个或多个虚拟机所在的物理服务器的个数得到算术平均值,该算术平均值作为下一时间周期内所述用户的一个或多个虚拟机所在的各物理服务器到所述物理网络的峰值网络速率;
或者,若所述调整后的峰值突发量大于等于0且小于突发恢复值时,获取上一时间周期内所述用户的一个或多个虚拟机所在的任一物理服务器对应的加权值,将为该用户预配置的峰值网络速率乘以所述加权值得到该物理服务器的加权平均值,该加权平均值作为下一时间周期内该物理服务器到所述物理网络的峰值网络速率;其中,所述用户的一个或多个虚拟机所在的各物理服务器对应的加权值之和为1。
2.根据权利要求1所述的控制方法,其特征在于,
所述根据所述调整后的峰值突发量,确定下一时间周期内所述用户的一个或多个虚拟机所在的各物理服务器到所述物理网络的峰值网络速率还包括:
若所述调整后的峰值突发量大于等于突发恢复值且小于等于为该用户预配置的峰值网络速率时,将所述为该用户预配置的峰值网络速率确定为下一时间周期内所述用户的一个或多个虚拟机所在的各物理服务器到所述物理网络的峰值网络速率;
其中,所述突发恢复值大于0且小于为该用户预配置的峰值突发量。
3.根据权利要求1所述的控制方法,其特征在于,所述获取上一时间周期内所述用户的一个或多个虚拟机所在的任一物理服务器对应的加权值包括:
计算上一时间周期内所述用户的一个或多个虚拟机所在的任一物理服务器在所述时间周期内发出的网络流量占所述用户的所有虚拟机所在的各物理服务器在所述时间周期内发出的网络流量之和的百分比,该百分比作为该物理服务器对应的加权值。
4.一种虚拟机网络流量的控制方法,其特征在于,包括:
在当前时间周期时,接收中心管理服务器下发的物理服务器到物理网络的峰值网络速率;
在所述峰值网络速率的限制下,向所述物理网络发送数据;
向中心管理服务器上报在所述当前时间周期内发出的网络流量,以使得中心管理服务器利用所述峰值网络速率、所述时间周期的时长以及在所述当前时间周期内上报的多个网络流量的总和调整当前时间周期的峰值突发量,得到调整后的峰值突发量,根据第一公式得到调整后的峰值突发量;所述第一公式为:
B'=B-(M-X×T);
其中,B'表示调整后的峰值突发量,B表示当前时间周期的峰值突发量,T表示所述时间周期的时长,M表示所述网络流量之和,X表示用户预配置的峰值网络速率;
当所述当前时间周期为第一个时间周期时,所述当前时间周期的峰值突发量是根据第二公式得到的;其中,所述第二公式为:
N=X×T×Y;
其中,N表示第一个时间周期的峰值突发量,X表示在第一个时间周期时为用户预配置的峰值网络速率,T表示所述时间周期的时长,Y表示所述用户的一个或多个虚拟机所在的物理服务器的个数;
并根据所述调整后的峰值突发量,确定下一时间周期内所述用户的一个或多个虚拟机所在的各物理服务器到所述物理网络的峰值网络速率,其中包括:
若所述调整后的峰值突发量大于等于0且小于突发恢复值时,将为所述用户预配置的峰值网络速率除以所述用户的一个或多个虚拟机所在的物理服务器的个数得到算术平均值,该算术平均值作为下一时间周期内所述用户的一个或多个虚拟机所在的各物理服务器到所述物理网络的峰值网络速率;
或者,若所述调整后的峰值突发量大于等于0且小于突发恢复值时,获取上一时间周期内所述用户的一个或多个虚拟机所在的任一物理服务器对应的加权值,将为该用户预配置的峰值网络速率乘以所述加权值得到该物理服务器的加权平均值,该加权平均值作为下一时间周期内该物理服务器到所述物理网络的峰值网络速率;其中,所述用户的一个或多个虚拟机所在的各物理服务器对应的加权值之和为1。
5.一种中心管理服务器,其特征在于,包括:
发送单元,用于在当前时间周期时,将用户的一个或多个虚拟机所在的各物理服务器到物理网络的峰值网络速率分别下发给相对应的各物理服务器,以使得所述各物理服务器在其接收到的峰值网络速率的限制下,向所述物理网络发送数据;
采集单元,用于采集所述用户的一个或多个虚拟机所在的各物理服务器在所述时间周期内发出的网络流量之和;
调整单元,用于利用所述峰值网络速率、所述时间周期的时长、所述采集单元得到的网络流量之和调整当前时间周期的峰值突发量,得到调整后的峰值突发量;
所述调整单元具体用于根据第一公式得到调整后的峰值突发量,其中,所述第一公式为:
B'=B-(M-X×T);
其中,B'表示调整后的峰值突发量,B表示当前时间周期的峰值突发量,T表示所述时间周期的时长,M表示所述网络流量之和,X表示用户预配置的峰值网络速率;
当所述当前时间周期为第一个时间周期时,所述当前时间周期的峰值突发量是根据第二公式得到的,其中,所述第二公式为:
N=X×T×Y;
其中,N表示第一个时间周期的峰值突发量,X表示在第一个时间周期时为用户预配置的峰值网络速率,T表示所述时间周期的时长,Y表示所述用户的一个或多个虚拟机所在的物理服务器的个数;
确定单元,用于根据所述调整单元调整后的峰值突发量,确定下一时间周期内所述用户的一个或多个虚拟机所在的各物理服务器到所述物理网络的峰值网络速率;
所述确定单元包括:计算子单元和确定子单元;
若所述调整后的峰值突发量大于等于0且小于突发恢复值时,所述计算子单元,用于将为所述用户预配置的峰值网络速率除以所述用户的一个或多个虚拟机所在的物理服务器的个数得到算术平均值;
所述确定子单元,用于将该算术平均值作为下一时间周期内所述用户的一个或多个虚拟机所在的各物理服务器到所述物理网络的峰值网络速率;
或者,若所述调整后的峰值突发量大于等于0且小于突发恢复值时,所述计算子单元,用于获取上一时间周期内所述用户的一个或多个虚拟机所在的任一物理服务器对应的加权值,将为该用户预配置的峰值网络速率乘以所述加权值得到该物理服务器的加权平均值;
所述确定子单元,用于将该加权平均值作为下一时间周期内该物理服务器到所述物理网络的峰值网络速率;其中,所述用户的一个或多个虚拟机所在的各物理服务器对应的加权值之和为1。
6.根据权利要求5所述的中心管理服务器,其特征在于,所述确定单元包括:计算子单元和确定子单元;
若所述调整后的峰值突发量大于等于突发恢复值且小于等于为该用户预配置的峰值网络速率时,
所述确定单元具体用于,将所述为该用户预配置的峰值网络速率确定为下一时间周期内所述用户的一个或多个虚拟机所在的各物理服务器到所述物理网络的峰值网络速率;
其中,所述突发恢复值大于0且小于为该用户预配置的峰值突发量。
7.根据权利要求5所述的中心管理服务器,其特征在于,若所述调整后的峰值突发量大于等于0且小于突发恢复值时,在所述获取上一时间周期内所述用户的一个或多个虚拟机所在的任一物理服务器对应的加权值的操作上,
所述计算子单元具体用于计算上一时间周期内所述用户的一个或多个虚拟机所在的任一物理服务器在所述时间周期内发出的网络流量占所述用户的所有虚拟机所在的各物理服务器在所述时间周期内发出的网络流量之和的百分比,该百分比作为该物理服务器对应的加权值。
8.一种虚拟交换机,其特征在于,所述虚拟交换机位于物理服务器,所述虚拟交换机包括:
接收单元,用于在当前时间周期内时,接收中心管理服务器下发的所述物理服务器到物理网络的峰值网络速率;
发送单元,用于在所述接收单元接收到的峰值网络速率的限制下,向所述物理网络发送数据;
上报单元,用于向中心管理服务器上报在所述当前时间周期内发出的网络流量,以使得中心管理服务器利用所述峰值网络速率、所述时间周期的时长以及在所述当前时间周期内上报的多个网络流量的总和调整当前的峰值突发量,得到调整后的峰值突发量,根据第一公式得到调整后的峰值突发量;所述第一公式为:
B'=B-(M-X×T);
其中,B'表示调整后的峰值突发量,B表示当前时间周期的峰值突发量,T表示所述时间周期的时长,M表示所述网络流量之和,X表示用户预配置的峰值网络速率;
当所述当前时间周期为第一个时间周期时,所述当前时间周期的峰值突发量是根据第二公式得到的;其中,所述第二公式为:
N=X×T×Y;
其中,N表示第一个时间周期的峰值突发量,X表示在第一个时间周期时为用户预配置的峰值网络速率,T表示所述时间周期的时长,Y表示所述用户的一个或多个虚拟机所在的物理服务器的个数;
并根据所述调整后的峰值突发量,确定下一时间周期内所述用户的一个或多个虚拟机所在的各物理服务器到所述物理网络的峰值网络速率,其中包括:
若所述调整后的峰值突发量大于等于0且小于突发恢复值时,将为所述用户预配置的峰值网络速率除以所述用户的一个或多个虚拟机所在的物理服务器的个数得到算术平均值,该算术平均值作为下一时间周期内所述用户的一个或多个虚拟机所在的各物理服务器到所述物理网络的峰值网络速率;
或者,若所述调整后的峰值突发量大于等于0且小于突发恢复值时,获取上一时间周期内所述用户的一个或多个虚拟机所在的任一物理服务器对应的加权值,将为该用户预配置的峰值网络速率乘以所述加权值得到该物理服务器的加权平均值,该加权平均值作为下一时间周期内该物理服务器到所述物理网络的峰值网络速率;其中,所述用户的一个或多个虚拟机所在的各物理服务器对应的加权值之和为1。
9.一种物理服务器,其特征在于,包括,硬件层、运行在所述硬件层之上的虚拟交换机、以及运行在所述虚拟交换机之上的一个或多个虚拟机VM,所述硬件层包括网卡,其中,
所述虚拟交换机用于在当前时间周期时,接收中心管理服务器下发的所述物理服务器到物理网络的峰值网络速率;在所述峰值网络速率的限制下,向所述物理网络发送数据;向中心管理服务器上报在所述当前时间周期内发出的网络流量,以使得中心管理服务器利用所述峰值网络速率、所述时间周期的时长以及在所述当前时间周期内上报的多个网络流量的总和调整当前时间周期的峰值突发量,得到调整后的峰值突发量,根据第一公式得到调整后的峰值突发量;所述第一公式为:
B'=B-(M-X×T);
其中,B'表示调整后的峰值突发量,B表示当前时间周期的峰值突发量,T表示所述时间周期的时长,M表示所述网络流量之和,X表示用户预配置的峰值网络速率;
当所述当前时间周期为第一个时间周期时,所述当前时间周期的峰值突发量是根据第二公式得到的;其中,所述第二公式为:
N=X×T×Y;
其中,N表示第一个时间周期的峰值突发量,X表示在第一个时间周期时为用户预配置的峰值网络速率,T表示所述时间周期的时长,Y表示所述用户的一个或多个虚拟机所在的物理服务器的个数;
并根据所述调整后的峰值突发量,确定下一时间周期内用户的一个或多个虚拟机所在的各物理服务器到所述物理网络的峰值网络速率,其中包括:
若所述调整后的峰值突发量大于等于0且小于突发恢复值时,将为所述用户预配置的峰值网络速率除以所述用户的一个或多个虚拟机所在的物理服务器的个数得到算术平均值,该算术平均值作为下一时间周期内所述用户的一个或多个虚拟机所在的各物理服务器到所述物理网络的峰值网络速率;
或者,若所述调整后的峰值突发量大于等于0且小于突发恢复值时,获取上一时间周期内所述用户的一个或多个虚拟机所在的任一物理服务器对应的加权值,将为该用户预配置的峰值网络速率乘以所述加权值得到该物理服务器的加权平均值,该加权平均值作为下一时间周期内该物理服务器到所述物理网络的峰值网络速率;其中,所述用户的一个或多个虚拟机所在的各物理服务器对应的加权值之和为1。
10.一种虚拟机网络流量的控制系统,其特征在于,包括:权利要求5-7任一项所述的中心管理服务器,以及至少一个权利要求9所述的物理服务器。
CN201310531027.9A 2013-10-31 2013-10-31 一种虚拟机网络流量的控制方法、装置和系统 Expired - Fee Related CN103581036B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310531027.9A CN103581036B (zh) 2013-10-31 2013-10-31 一种虚拟机网络流量的控制方法、装置和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310531027.9A CN103581036B (zh) 2013-10-31 2013-10-31 一种虚拟机网络流量的控制方法、装置和系统

Publications (2)

Publication Number Publication Date
CN103581036A CN103581036A (zh) 2014-02-12
CN103581036B true CN103581036B (zh) 2017-05-24

Family

ID=50051997

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310531027.9A Expired - Fee Related CN103581036B (zh) 2013-10-31 2013-10-31 一种虚拟机网络流量的控制方法、装置和系统

Country Status (1)

Country Link
CN (1) CN103581036B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105471755B (zh) * 2014-09-03 2019-11-05 中兴通讯股份有限公司 网络流量均衡的方法及超级控制器
CN107231269B (zh) * 2016-03-25 2020-04-07 阿里巴巴集团控股有限公司 一种集群精确限速方法和装置
CN110011926B (zh) * 2019-03-07 2022-08-23 新华三技术有限公司 一种调整报文发送时间的方法、装置、设备及存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8477610B2 (en) * 2010-05-31 2013-07-02 Microsoft Corporation Applying policies to schedule network bandwidth among virtual machines
CN102088404B (zh) * 2010-12-10 2012-12-05 北京世纪互联宽带数据中心有限公司 一种Xen虚拟机网卡限速的方法
CN102270104B (zh) * 2011-07-14 2013-07-24 华中科技大学 虚拟化环境中动态磁盘带宽分配方法
CN103152200B (zh) * 2013-03-07 2016-08-03 华为技术有限公司 虚拟机迁移方法、交换机、网络管理设备和网络系统

Also Published As

Publication number Publication date
CN103581036A (zh) 2014-02-12

Similar Documents

Publication Publication Date Title
CN104184813B (zh) 虚拟机的负载均衡方法和相关设备及集群系统
CN103139039B (zh) 一种实现流量隔离控制的虚拟网络及构建方法
CN103414535B (zh) 数据发送方法和数据接收方法及相关装置
CN103281252B (zh) 一种基于多路径传输的报文流量控制方法和装置
CN105103506B (zh) 用于为云计算网络中的非均匀带宽请求分配带宽的方法和系统
CN103609077B (zh) 用于数据传输的方法、装置和系统以及物理网卡
CN104270421B (zh) 一种支持带宽保证的多租户云平台任务调度方法
CN108614726A (zh) 虚拟机创建方法及装置
CN103763130B (zh) 大规模集群的管理方法、装置和系统
CN103856337B (zh) 资源占用率获取方法、提供方法、系统及服务器
CN103581042B (zh) 一种数据包发送的方法和设备
CN108829515A (zh) 一种云端平台计算系统及其应用方法
CN105335211B (zh) 一种基于Xen虚拟化集群的FPGA加速器调度系统及方法
CN107431666A (zh) 用于在数据中心网络环境中实现低时延的技术
CN110532076A (zh) 一种云资源创建的方法、系统、设备及可读存储介质
CN108667777A (zh) 一种服务链生成方法及网络功能编排器nfvo
CN103560967A (zh) 一种业务需求感知的虚拟数据中心映射方法
CN106874116A (zh) 一种放置新建虚拟机的服务器选择方法及装置
CN103581036B (zh) 一种虚拟机网络流量的控制方法、装置和系统
CN105847237A (zh) 一种基于nfv的安全管理方法和装置
CN107222324A (zh) 网络服务的业务配置方法和装置
CN103336708B (zh) 聚合网卡资源的方法和相关设备及计算机系统
CN108848038A (zh) 基于令牌桶的流量管理方法和令牌桶节点
CN103455363B (zh) 一种虚拟机的指令处理方法、装置及物理主机
Teixeira et al. Datacenter in a box: Test your SDN cloud-datacenter controller at home

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
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: 20170524

Termination date: 20181031