CN108337179B - 链路流量控制方法及装置 - Google Patents
链路流量控制方法及装置 Download PDFInfo
- Publication number
- CN108337179B CN108337179B CN201710038744.6A CN201710038744A CN108337179B CN 108337179 B CN108337179 B CN 108337179B CN 201710038744 A CN201710038744 A CN 201710038744A CN 108337179 B CN108337179 B CN 108337179B
- Authority
- CN
- China
- Prior art keywords
- communication
- target
- link
- traffic
- communication links
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 42
- 238000004891 communication Methods 0.000 claims abstract description 676
- 238000012544 monitoring process Methods 0.000 claims abstract description 26
- 230000005012 migration Effects 0.000 claims description 28
- 238000013508 migration Methods 0.000 claims description 28
- 238000010586 diagram Methods 0.000 description 15
- 230000002776 aggregation Effects 0.000 description 12
- 238000004220 aggregation Methods 0.000 description 12
- 238000005516 engineering process Methods 0.000 description 10
- 230000006855 networking Effects 0.000 description 5
- 238000007726 management method Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000004931 aggregating effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 235000014510 cooky Nutrition 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
- H04L43/0882—Utilisation of link capacity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
- H04L41/0816—Configuration setting characterised by the conditions triggering a change of settings the condition being an adaptation, e.g. in response to network events
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0896—Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
- H04L41/0897—Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities by horizontal or vertical scaling of resources, or by migrating entities, e.g. virtual resources or entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
- H04L41/122—Discovery or management of network topologies of virtualised topologies, e.g. software-defined networks [SDN] or network function virtualisation [NFV]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/40—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/20—Arrangements for monitoring or testing data switching networks the monitoring system or the monitored elements being virtualised, abstracted or software-defined entities, e.g. SDN or NFV
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/122—Avoiding congestion; Recovering from congestion by diverting traffic away from congested entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2483—Traffic characterised by specific attributes, e.g. priority or QoS involving identification of individual flows
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种链路流量控制方法及装置,属于虚拟化技术领域。该方法包括:监控数据中心网络包括的多条通信链路中的每条通信链路的流量负载,流量负载是指每条通信链路的链路流量与链路带宽的比值;当基于目标通信链路的流量负载确定目标通信链路超载时,从产生该目标通信链路的链路流量的虚拟机中确定待迁移的目标虚拟机,该目标通信链路为该多条通信链路中的任一条;从目标集群包括的除该目标虚拟机所在主机之外的其他主机中确定目标主机,该目标集群为该目标虚拟机所在主机所处的主机集群;将该目标虚拟机迁移至该目标主机,以对该目标通信链路的链路流量进行控制。如此可以避免部分通信链路因负载过高而丢包,导致业务受损的问题。
Description
技术领域
本发明实施例涉及虚拟化技术领域,特别涉及一种链路流量控制方法及装置。
背景技术
随着计算机技术的发展,虚拟化技术在数据中心(Data Center,DC)网络中得到了越来越广泛的应用。DC网络通常包括多个主机和至少一个交换机,每个主机中部署有一个或多个虚拟机,不同虚拟机之间或者虚拟机与DC网络的外部通信设备之间可以进行通信,在通信过程中即会产生大量的通信流量。另外,在DC网络中,主机与交换机以及交换机与交换机之间按照拓扑结构将组成多条通信链路,而且每条通信链路上的链路流量与虚拟机的部署位置有关系,也即是虚拟机的部署位置决定了每条通信链路上产生的链路流量,如果在当前的虚拟机部署场景下某些通信链路的链路流量超出了对应通信链路配置的带宽资源,可能就会造成这些通信链路由于负载过高而丢包,导致业务受损。
现有技术中,为了避免部分通信链路由于负载过高而丢包,进而导致业务受损的问题,提供了一种按照最大的通信流量场景规划和配置通信链路带宽资源的链路流量控制方法,也即是,为DC网络中的每条通信链路都按照最大的流量场景规划和配置带宽资源,以提高每条通信链路允许通过的最大链路流量。图1A提供了一种DC网络示意图,该DC网络包括主机1、主机2和交换机1,主机1可以通过交换机1与主机2进行通信。由图1A可知,该DC网络包括两条通信链路,即主机1与交换机1之间的通信链路,以及主机2与交换机1之间的通信链路。假设该DC网络中共包括4个虚拟机,且各个虚拟机之间的最大通信流量都是1Gbit/s,则最大的流量场景即为图1B所示部署方式下的流量场景,即在主机1和主机2中各部署两个虚拟机。此种场景下,主机1与交换机1之间的通信链路的最大流量为4Gbit/s(包括虚拟机1与虚拟机3之间的流量、虚拟机1与虚拟机4之间的流量、虚拟机2与虚拟机3之间的流量、虚拟机2与虚拟机4之间的流量),主机2与交换机1之间的通信链路的最大流量也为4Gbit/s。为了避免部分通信链路会由于负载过高而丢包,即可按照每条通信链路均为4Gbit/s的流量场景为这两条通信链路配置带宽资源,如此每条通信链路的流量将都不会超出所配置的带宽资源,从而避免了负载过高的情况发生。
但是现有技术中,由于需要为每条通信链路都按照最大的通信流量场景规划和配置带宽资源,因此会导致对于带宽资源的需求量过大,而且在配置带宽资源之后,如果在DC网络中增加了新的虚拟机,这种情况下将仍然可能会出现部分通信链路的负载过高的情况,适应性不高。
发明内容
为了解决现有技术中存在的对带宽资源的需求量过大,适应性不高的问题,本发明实施例提供了一种链路流量控制方法及装置。所述技术方案如下:
第一方面,提供了一种链路流量控制方法,所述方法包括:
监控数据中心网络包括的多条通信链路中的每条通信链路的流量负载,每条通信链路的流量负载是指每条通信链路的链路流量与链路带宽的比值;
当基于目标通信链路的流量负载确定目标通信链路超载时,从产生所述目标通信链路的链路流量的虚拟机中确定待迁移的目标虚拟机,所述目标通信链路为所述多条通信链路中的任一条;
从目标集群包括的除所述目标虚拟机所在主机之外的其他主机中确定目标主机,所述目标集群为所述目标虚拟机所在主机所处的主机集群;
将所述目标虚拟机迁移至所述目标主机,以对所述目标通信链路的链路流量进行控制。
本发明实施例中,可以对数据中心网络包括的多条通信链路中的每条通信链路的流量负载进行监控,当监控到任一通信链路的流量负载超载时,即可从产生该通信链路的链路流量的虚拟机中确定待迁移的目标虚拟机,并将该目标虚拟机迁移到除该目标虚拟机所在主机之外的其他主机中。如此,即能够将负载过高的通信链路的链路流量分流到其他通信链路上,从而避免了部分通信链路因负载过高而丢包,导致的业务受损问题。
在另一实施例中,所述当基于目标通信链路的流量负载确定目标通信链路超载之前,还包括:
当所述目标通信链路的流量负载大于预设流量负载的时长大于第一预设时长时,确定所述目标通信链路超载;或者,
每隔第二预设时长确定所述目标通信链路在所述第二预设时长内的平均流量负载,当所述目标通信链路连续N个第二预设时长的平均流量负载均大于所述预设流量负载时,确定所述目标通信链路超载,所述N为正整数。
本发明实施例中,可以在目标通信链路的流量负载连续预设时长大于预设流量负载时,或者,在目标通信链路连续N个周期的平均流量负载均大于预设流量负载时,确定该目标通信链路超载,如此,可以提高判断通信链路是否超载的准确性。
在另一实施例中,所述监控数据中心网络包括的多条通信链路中每条通信链路的流量负载,包括:
获取所述多条通信链路的链路流量;
获取所述多条通信链路的链路带宽;
确定各条通信链路的链路流量与各条通信链路的链路带宽的比值,得到各条通信链路的流量负载。
在另一实施例中,所述获取所述多条通信链路的链路流量,包括:
从所述数据中心网络包括的多个主机中获取部署在所述多个主机内的多个虚拟机的通信流量,所述多个虚拟机的通信流量包括所述多个虚拟机之间的通信流量以及所述多个虚拟机与外部通信设备之间的通信流量,所述外部通信设备是指所述数据中心网络之外的通信设备;
获取所述多个虚拟机的部署位置信息,所述部署位置信息用于指示所述多个虚拟机中的每个虚拟机所在的主机;
确定所述多个主机进行通信经过的通信链路,所述多个主机进行通信经过的通信链路包括所述多个主机之间进行通信经过的通信链路以及所述多个主机与所述外部通信设备进行通信经过的通信链路;
基于所述多个虚拟机的通信流量、所述多个虚拟机的部署位置信息以及所述多个主机进行通信经过的通信链路,确定所述多条通信链路的链路流量。
本发明实施例中,可以收集数据网络中心内包括的多个虚拟机的通信流量、多个虚拟机的部署位置信息以及多个主机进行通信经过的通信链路这三种流量统计信息,并对这三种流量统计信息进行统计,得到该数据中心网络内多条通信链路的链路流量。如此,可以提高获取该多条通信链路的链路流量的准确度。
在另一实施例中,所述获取所述多条通信链路的链路流量,包括:
从所述数据中心网络包括的多个主机中获取部署在所述多个主机内的多个虚拟机的通信流量,所述多个虚拟机的通信流量包括所述多个虚拟机之间的通信流量以及所述多个虚拟机与外部通信设备之间的通信流量,所述外部通信设备是指所述数据中心网络之外的通信设备;
确定所述多个虚拟机进行通信经过的通信链路,所述多个虚拟机进行通信经过的通信链路包括所述多个虚拟机之间进行通信经过的通信链路以及所述多个虚拟机与所述外部通信设备进行通信经过的通信链路;
基于所述多个虚拟机的通信流量和所述多个虚拟机进行通信经过的通信链路,确定所述多条通信链路的链路流量。
在另一实施例中,所述确定所述多个虚拟机进行通信经过的通信链路,包括:
获取所述数据中心网络的网络拓扑信息,所述网络拓扑信息包括所述数据中心网络包括的多个主机和至少一个交换机之间的端口互连关系;
获取所述至少一个交换机的流表信息,所述流表信息用于指示对应交换机转发数据报文的端口;
基于所述网络拓扑信息和所述至少一个交换机的流表信息,确定所述多个虚拟机进行通信经过的通信链路。
本发明实施例中,还可以收集数据网络中心内包括的多个虚拟机的通信流量以及该多个虚拟机进行通信经过的通信链路这两种流量统计信息,而且该多个虚拟机进行通信经过的通信链路可以基于该数据中心网络的网络拓扑信息和该数据中心网络包括的至少一个交换机的流表信息确定得到,也即是,本公开实施例可以收集该数据网络中心内的多个虚拟机的通信流量、该数据中心网络的网络拓扑信息以及该数据中心网络包括的至少一个交换机的流表信息,通过对这三种流量统计信息进行统计,得到该数据中心网络内多条通信链路的链路流量,如此,可以提高获取该多条通信链路的链路流量的准确度和灵活性。
在另一实施例中,所述从产生所述目标通信链路的链路流量的虚拟机中确定待迁移的目标虚拟机,包括:
从产生所述目标通信链路的链路流量的虚拟机中选择产生流量最大的虚拟机;
将所述产生流量最大的虚拟机确定为所述目标虚拟机。
本发明实施例中,可以将在该目标通信链路中产生流量最大的虚拟机确定为待迁移的目标虚拟机,通过迁移产生流量最大的虚拟机,提高了控制该目标通信链路的链路流量的效率。
在另一实施例中,所述从目标集群包括的除所述目标虚拟机所在主机之外的其他主机中确定目标主机,包括:
从所述目标集群包括的除所述目标虚拟机所在主机之外的其他主机中确定满足预设虚拟机部署规则的主机,得到至少一个假定目标主机;
对于所述至少一个假定目标主机中的任一假定目标主机,确定假定将所述目标虚拟机迁移至所述假定目标主机之后所述多条通信链路的流量负载;
基于假定将所述目标虚拟机迁移至所述假定目标主机之后所述多条通信链路的流量负载,判断假定将所述目标虚拟机迁移至所述假定目标主机之后所述多条通信链路的负载状况是否得到改善;
当确定假定将所述目标虚拟机迁移至所述假定目标主机之后所述多条通信链路的负载状况得到改善时,基于所述假定目标主机确定所述目标主机。
本发明实施例中,可以先从除该目标虚拟机所在主机之外的其他主机中确定满足预设虚拟机部署规则的主机,得到至少一个假定目标主机,再判断假定将该目标虚拟机迁移至该至少一个假定目标主机之后该多条通信链路的负载状况是否得到改善,最后将迁移后该多条通信链路的负载状况能够得到改善的假定主机确定为目标主机,如此可以保证将目标虚拟机迁移至确定的目标主机之后,该多条通信链路的负载状况能够确定得到改善,从而提高了改善超载的通信链路的链路流量的准确度。
在另一实施例中,所述基于假定将所述目标虚拟机迁移至所述假定目标主机之后所述多条通信链路的流量负载,判断假定将所述目标虚拟机迁移至所述假定目标主机之后所述多条通信链路的负载状况是否得到改善之前,还包括:
基于所述数据中心网络包括的多条通信链路中的每条通信链路的流量负载,确定第一数量,所述第一数量为所述多条通信链路中流量负载大于预设流量负载的通信链路的数量;
相应地,所述基于假定将所述目标虚拟机迁移至所述假定目标主机之后所述多条通信链路的流量负载,判断假定将所述目标虚拟机迁移至所述假定目标主机之后所述多条通信链路的负载状况是否得到改善,包括:
基于假定将所述目标虚拟机迁移至所述假定目标主机之后所述多条通信链路的流量负载,确定第二数量,所述第二数量为假定将所述目标虚拟机迁移至所述假定目标主机之后所述多条通信链路中流量负载大于所述预设流量负载的通信链路的数量;
当所述第二数量小于所述第一数量时,确定假定将所述目标虚拟机迁移至所述假定目标主机之后所述多条通信链路的负载状况得到改善。
在另一实施例中,所述基于假定将所述目标虚拟机迁移至所述假定目标主机之后所述多条通信链路的流量负载,判断假定将所述目标虚拟机迁移至所述假定目标主机之后所述多条通信链路的负载状况是否得到改善之前,还包括:
基于所述数据中心网络包括的多条通信链路中的每条通信链路的流量负载,确定第一数量,所述第一数量为所述多条通信链路中流量负载大于预设流量负载的通信链路的数量;
确定所述多条通信链路的链路流量之和,得到第一总流量;
相应地,所述基于假定将所述目标虚拟机迁移至所述假定目标主机之后所述多条通信链路的流量负载,判断假定将所述目标虚拟机迁移至所述假定目标主机之后所述多条通信链路的负载状况是否得到改善,包括:
基于假定将所述目标虚拟机迁移至所述假定目标主机之后所述多条通信链路的流量负载,确定第二数量,所述第二数量为假定将所述目标虚拟机迁移至所述假定目标主机之后所述多条通信链路中流量负载大于所述预设流量负载的通信链路的数量;
确定假定将所述目标虚拟机迁移至所述假定目标主机之后所述多条通信链路的链路流量之和,得到第二总流量;
当所述第二数量小于所述第一数量且所述第二总量小于第三总流量时,确定假定将所述目标虚拟机迁移至所述假定目标主机之后所述多条通信链路的负载状况得到改善,所述第三总流量为所述第一总流量与预设比例相乘得到。
第二方面,提供了一种链路流量控制装置,所述装置包括:
监控模块,用于监控数据中心网络包括的多条通信链路中的每条通信链路的流量负载,每条通信链路的流量负载是指每条通信链路的链路流量与链路带宽的比值;
第一确定模块,用于当基于目标通信链路的流量负载确定目标通信链路超载时,从产生所述目标通信链路的链路流量的虚拟机中确定待迁移的目标虚拟机,所述目标通信链路为所述多条通信链路中的任一条;
第二确定模块,用于从目标集群包括的除所述目标虚拟机所在主机之外的其他主机中确定目标主机,所述目标集群为所述目标虚拟机所在主机所处的主机集群;
迁移模块,用于将所述目标虚拟机迁移至所述目标主机,以对所述目标通信链路的链路流量进行控制。
在另一实施例中,所述装置还包括:
第三确定模块,用于当所述目标通信链路的流量负载大于预设流量负载的时长大于第一预设时长时,确定所述目标通信链路超载;或者,
第四确定模块,用于每隔第二预设时长确定所述目标通信链路在所述第二预设时长内的平均流量负载,当所述目标通信链路连续N个第二预设时长的平均流量负载均大于所述预设流量负载时,确定所述目标通信链路超载,所述N为正整数。
在另一实施例中,所述监控模块包括:
第一获取单元,用于获取所述多条通信链路的链路流量;
第二获取单元,用于获取所述多条通信链路的链路带宽;
第一确定单元,用于确定各条通信链路的链路流量与各条通信链路的链路带宽的比值,得到各条通信链路的流量负载。
在另一实施例中,所述第一获取单元用于:
从所述数据中心网络包括的多个主机中获取部署在所述多个主机内的多个虚拟机的通信流量,所述多个虚拟机的通信流量包括所述多个虚拟机之间的通信流量以及所述多个虚拟机与外部通信设备之间的通信流量,所述外部通信设备是指所述数据中心网络之外的通信设备;
获取所述多个虚拟机的部署位置信息,所述部署位置信息用于指示所述多个虚拟机中的每个虚拟机所在的主机;
确定所述多个主机进行通信经过的通信链路,所述多个主机进行通信经过的通信链路包括所述多个主机之间进行通信经过的通信链路以及所述多个主机与所述外部通信设备进行通信经过的通信链路;
基于所述多个虚拟机的通信流量、所述多个虚拟机的部署位置信息以及所述多个主机进行通信经过的通信链路,确定所述多条通信链路的链路流量。
在另一实施例中,所述第一获取单元用于:
从所述数据中心网络包括的多个主机中获取部署在所述多个主机内的多个虚拟机的通信流量,所述多个虚拟机的通信流量包括所述多个虚拟机之间的通信流量以及所述多个虚拟机与外部通信设备之间的通信流量,所述外部通信设备是指所述数据中心网络之外的通信设备;
确定所述多个虚拟机进行通信经过的通信链路,所述多个虚拟机进行通信经过的通信链路包括所述多个虚拟机之间进行通信经过的通信链路以及所述多个虚拟机与所述外部通信设备进行通信经过的通信链路;
基于所述多个虚拟机的通信流量和所述多个虚拟机进行通信经过的通信链路,确定所述多条通信链路的链路流量。
在另一实施例中,所述第一获取单元用于:
获取所述数据中心网络的网络拓扑信息,所述网络拓扑信息包括所述数据中心网络包括的多个主机和至少一个交换机之间的端口互连关系;
获取所述至少一个交换机的流表信息,所述流表信息用于指示对应交换机转发数据报文的端口;
基于所述网络拓扑信息和所述至少一个交换机的流表信息,确定所述多个虚拟机进行通信经过的通信链路。
在另一实施例中,所述第二确定模块包括:
第三确定单元,用于从所述目标集群包括的除所述目标虚拟机所在主机之外的其他主机中确定满足预设虚拟机部署规则的主机,得到至少一个假定目标主机;
第四确定单元,用于对于所述至少一个假定目标主机中的任一假定目标主机,确定假定将所述目标虚拟机迁移至所述假定目标主机之后所述多条通信链路的流量负载;
判断单元,用于基于假定将所述目标虚拟机迁移至所述假定目标主机之后所述多条通信链路的流量负载,判断假定将所述目标虚拟机迁移至所述假定目标主机之后所述多条通信链路的负载状况是否得到改善;
第五确定单元,用于当确定假定将所述目标虚拟机迁移至所述假定目标主机之后所述多条通信链路的负载状况得到改善时,基于所述假定目标主机确定所述目标主机。
在另一实施例中,所述装置还包括:
第五确定模块,用于基于所述数据中心网络包括的多条通信链路中的每条通信链路的流量负载,确定第一数量,所述第一数量为所述多条通信链路中流量负载大于预设流量负载的通信链路的数量;
相应地,所述判断单元用于:
基于假定将所述目标虚拟机迁移至所述假定目标主机之后所述多条通信链路的流量负载,确定第二数量,所述第二数量为假定将所述目标虚拟机迁移至所述假定目标主机之后所述多条通信链路中流量负载大于所述预设流量负载的通信链路的数量;
当所述第二数量小于所述第一数量时,确定假定将所述目标虚拟机迁移至所述假定目标主机之后所述多条通信链路的负载状况得到改善。
在另一实施例中,所述装置还包括:
第五确定模块,用于基于所述数据中心网络包括的多条通信链路中的每条通信链路的流量负载,确定第一数量,所述第一数量为所述多条通信链路中流量负载大于预设流量负载的通信链路的数量;
第六确定模块,用于确定所述多条通信链路的链路流量之和,得到第一总流量;
相应地,所述判断单元用于:
基于假定将所述目标虚拟机迁移至所述假定目标主机之后所述多条通信链路的流量负载,确定第二数量,所述第二数量为假定将所述目标虚拟机迁移至所述假定目标主机之后所述多条通信链路中流量负载大于所述预设流量负载的通信链路的数量;
确定假定将所述目标虚拟机迁移至所述假定目标主机之后所述多条通信链路的链路流量之和,得到第二总流量;
当所述第二数量小于所述第一数量且所述第二总量小于第三总流量时,确定假定将所述目标虚拟机迁移至所述假定目标主机之后所述多条通信链路的负载状况得到改善,所述第三总流量为所述第一总流量与预设比例相乘得到。
第三方面,提供了一种链路流量控制装置,所述链路流量控制装置的结构中包括处理器和存储器。所述存储器用于存储支持所述链路流量控制装置执行上述所述链路流量控制方法的程序,以及存储用于实现该所述链路流量控制方法所涉及的数据。所述处理器被配置为用于执行所述存储器中存储的程序。所述链路流量控制装置还可以包括通信总线,该通信总线用于该处理器与存储器之间建立连接。
第四方面,提供了一种计算机存储介质,用于储存上述链路流量控制装置所用的计算机软件指令,或存储用于执行上述第二方面或第三方面的链路流量控制装置所涉及的程序。
本发明实施例提供的技术方案的有益效果是:本发明实施例中,可以监控数据中心网络内各条通信链路的流量负载,如果某一通信链路的流量负载过高,则对在该通信链路中产生流量的虚拟机的部署位置进行调整,即从产生该通信链路的链路流量的虚拟机中确定待迁移的目标虚拟机,将该目标虚拟机迁移至除所在主机之外的其他主机,如此即能够将负载过高的通信链路的链路流量分流到其他通信链路上,从而避免了通信链路负载过高而丢包,导致的业务受损的问题。由于可以通过分流对通信链路的链路流量进行控制,因此无需对每条通信链路都配置最大的带宽资源,降低了对带宽资源的需求量,而且在增加了新的虚拟机的情况下也能够实现链路流量的控制,适应性较高。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1A是一种DC网络示意图;
图1B是另一种DC网络示意图;
图1C是根据一示例性实施例示出的一种DC网络示意图;
图1D是图1C所示的DC网络对应的逻辑组网图;
图1E是根据一示例性实施例示出的一种链路流量控制装置的结构示意图;
图2A是根据一示例性实施例示出的一种链路流量控制方法流程图;
图2B是根据一示例性实施例示出的一种DC网络内设备端口互联关系结构示意图;
图3A是根据一示例性实施例示出的一种链路流量控制装置的结构示意图;
图3B是根据另一示例性实施例示出的一种链路流量控制装置的结构示意图;
图3C是根据又一示例性实施例示出的一种链路流量控制装置的结构示意图;
图3D是根据又一示例性实施例示出的一种链路流量控制装置的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
在介绍本发明实施例提供的链路流量控制方法之前,先对本发明实施例所涉及的实施环境进行介绍。本发明实施例应用于DC网络中,DC网络通常包括多个主机和至少一个交换机,每个主机中部署有一个或多个虚拟机,不同虚拟机之间或者虚拟机与DC网络的外部通信设备之间可以进行通信。而且,主机与交换机以及交换机与交换机之间按照拓扑结构可以组成多条通信链路,因此DC网络还包括多条通信链路。
需要说明的是,本发明实施例所述的通信链路可以为物理链路,也可以为逻辑链路。物理链路是指主机与交换机以及交换机与交换机之间的物理链路,逻辑链路是指主机与逻辑交换机以及逻辑交换机之间的逻辑链路,且每条逻辑链路是由多条物理链路通过链路聚合技术聚合得到,每个逻辑交换机是由多个物理交换机组合得到。
例如,参考图1B,图1B所示的数据中心网络包括2个主机和1个交换机,且按照网络拓扑结构,主机与交换机以及交换机之间组成的物理链路如图1B中的直线段所示,共包括2条物理链路。因此,当该通信链路为物理链路时,该数据中心网络也即包括2条通信链路,分别为主机1与交换机1之间的通信链路,以及主机2与交换机1之间的通信链路。
再例如,图1C是根据一示例性实施例示出的一种DC网络示意图,如图1C所示,该DC网络包括4个主机、多个接入交换机以及多个汇聚交换机。其中,各个主机可以配置负载分担的冗余网口,通过多条物理链路连接到不同的接入交换机,同理,各个接入交换机也可以通过多条物理链路连接到不同的汇聚交换机,从而组成复杂交错的物理链路,如图1C中的直线段所示。
实际应用中,为了保证通信可靠性以及增加通信带宽,DC网络内组网通常采用“链路聚合+交换机堆叠/集群”的组网方式。其中,链路聚合技术是指将多条物理链路聚合为一条逻辑链路的技术,且聚合组内的多条物理链路互为负载分担关系;交换机堆叠/集群技术是指将多台物理交换机组合为一台逻辑交换机的技术。因此,通过采用“链路聚合+交换机堆叠/集群”的组网方式,即可将主机与交换机之间的多条物理链路通过链路聚合技术集合成一条逻辑链路,将多台交换机通过堆叠或集群技术组合成一台逻辑交换机,并将交换机之间的多条物理链路也通过链路聚合技术聚合成一条逻辑链路。
请参考图1D,图1D是图1C所示的DC网络对应的逻辑组网图,且图1D中的直线段指示的链路均为逻辑链路,接入交换机1、接入交换机2和汇聚交换机3均为逻辑交换机。如图1D所示,主机与接入交换机、接入交换机与汇聚交换机之间通过6条逻辑链路互联,当通信链路为逻辑链路时,该数据中心网络也即包括6条通信链路。而且,每条逻辑链路的带宽等于其包含的多条物理链路的带宽之和。
本发明实施例中,可以对该DC网络中的各条通信链路的流量负载进行监控,以便根据各条通信链路的流量负载对虚拟机的部署位置进行调整,从而实现对通信链路的链路流量的控制。而且,本发明实施例提供的方法可以由链路流量控制装置执行,该链路流量控制装置可以为该DC网络内的任一主机,也可以为除主机之外的其他物理设备,该其他物理设备可以为该DC网络的控制器或者其他服务器等,本发明实施例对此不做限定。示例的,可以在该链路流量控制装置中部署通信链路负载监控模块,通过该通信链路负载监控模块实现本发明实施例提供的方法。
图1E是根据一示例性实施例示出的一种链路流量控制装置的结构示意图。该链路流量控制装置主要包括有发射器11、接收器12、存储器13、处理器14以及通信总线15。本领域技术人员可以理解,图1E中示出的链路流量控制装置的结构并不构成对该链路流量控制装置的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置,本申请实施例对此不做限定。
其中,该发射器11和接收器12用于与其他设备进行通信,比如可以通过接收器12获取该DC网络内的流量统计信息。该存储器13可以用于存储数据,比如可以用于存储获取的流量统计信息,并且,该存储器13也可以用于存储用于执行该链路流量控制方法的一个或多个运行程序和/或模块,比如用于存储该通信链路负载监控模块。
其中,该处理器14是该链路流量控制装置的控制中心,该处理器14可以是一个通用中央处理器(Central Processing Unit,以下简称CPU),微处理器,特定应用集成电路(Application-Specific Integrated Circuit,以下简称ASIC),或一个或多个用于控制本发明实施例方案程序执行的集成电路。该处理器14可以通过运行或执行存储在存储器13内的软件程序和/或模块,以及调用存储在存储器13内的数据,来实现下文图2实施例所提供的链路流量控制方法。
其中,该通信总线15可包括一通路,在上述处理器14和存储器13之间传送信息。
图2A是根据一示例性实施例示出的一种链路流量控制方法流程图,本发明实施例以该链路流量控制方法由部署在链路流量控制装置中的通信链路负载监控模块为例进行说明。如图2A所示,该方法包括如下几个步骤:
步骤201:监控数据中心网络包括的多条通信链路中的每条通信链路的流量负载,每条通信链路的流量负载是指每条通信链路的链路流量与链路带宽的比值。
本发明实施例中,为了避免该DC网络内的部分通信链路由于负载过高而丢包,进而导致业务受损的问题,该通信链路负载监控模块可以对该DC网络内的各条通信链路的流量负载实施监控,以便根据各条通信链路的流量负载判断各条通信链路是否超载,进而对超载的通信链路的链路流量进行控制。
具体地,监控数据中心网络包括的多条通信链路中每条通信链路的流量负载包括:获取该多条通信链路的链路流量;获取该多条通信链路的链路带宽;确定各条通信链路的链路流量与各条通信链路的链路带宽的比值,得到各条通信链路的流量负载。
其中,该通信链路负载监控模块可以收集该DC网络内的流量统计信息,通过对该流量统计信息进行统计,得到各条通信链路的流量负载。具体地,根据流量统计信息的不同,获取该多条通信链路的链路流量可以包括以下两种实现方式:
在第一种实现方式中,获取多条通信链路的链路流量可以包括如下步骤2011-2014:
步骤2011:从该数据中心网络包括的多个主机中获取部署在该多个主机内的多个虚拟机的通信流量,该多个虚拟机的通信流量包括该多个虚拟机之间的通信流量以及该多个虚拟机与外部通信设备之间的通信流量,该外部通信设备是指该数据中心网络之外的通信设备。
其中,每个主机可以对部署在本端的虚拟机的通信流量进行统计,并可以提供外部查询接口以供外部设备进行查询。而该通信链路负载监控模块即可通过调用各个主机的外部查询接口,获取各个主机内部署的虚拟机的通信流量,并对该各个主机内部署的虚拟机的通信流量进行统计,得到该多个虚拟机的通信流量。
其中,每个主机内部署的虚拟机的通信流量包括每个主机内部署的各虚拟机之间的通信流量、各虚拟机与其他主机内部署的虚拟机之间的通信流量以及各虚拟机与外部通信设备之间的通信流量。具体地,每个主机可以根据部署在本端的虚拟机发送或接收的通信报文的源IP地址和目标IP地址(或者源MAC地址和目标MAC地址),以及虚拟机和网络网关设备的IP地址(或MAC地址),来识别部署在本端的虚拟机的通信流量。
进一步地,为了提高精确度,还可以以预设时长为周期,每隔一个周期对该周期内多个虚拟机的通信流量进行统计,得到该多个虚拟机的通信流量在该周期内的平均值。
为了便于理解,接下来将以上述图1D所示的DC网络为例进行说明。由图1D可知,该DC网络包括4个主机、3个逻辑交换机以及6条通信链路。其中,4个主机分别为主机1-主机4,3个逻辑交换机分别为接入交换机1、接入交换机2和汇聚交换机3,6条通信链路分别为链路1-链路6,而且每条通信链路均为逻辑链路。另外,每个主机内均部署有2个虚拟机,即该DC网络包括虚拟机1-虚拟机8。
假设针对图1D进行流量统计得到下述表1,表1是根据一示例性实施例示出的一种多个虚拟机的通信流量统计信息表,且表1中各个虚拟机的流量值是指一个周期内的平均值,单位为Gbit/s。
表1
2012、获取该多个虚拟机的部署位置信息,该部署位置信息用于指示该多个虚拟机中的每个虚拟机所在的主机。
其中,该多个虚拟机的部署位置信息可以从该DC网络的虚拟化层的管理节点获取得到。实际应用中,为了实现虚拟机的迁移、重建等管理功能,该DC网络的虚拟化层的管理节点中记录有该DC网络内各虚拟机的部署位置信息。而该通信链路负载监控模块即可通过调用该虚拟化层的管理节点提供的查询接口获取该多个虚拟机的部署位置信息。
例如,针对图1D所示的DC网络,获取的多个虚拟机的部署位置信息可以如下表2所示。
表2
主机编号 | 虚拟机编号 |
主机1 | 虚拟机1、虚拟机2 |
主机2 | 虚拟机3、虚拟机4 |
主机3 | 虚拟机5、虚拟机6 |
主机4 | 虚拟机7、虚拟机8 |
2013、确定该多个主机进行通信经过的通信链路,该多个主机进行通信经过的通信链路包括该多个主机之间进行通信经过的通信链路以及该多个主机与该外部通信设备进行通信经过的通信链路。
实际应用中,该通信链路负载监控模块可以根据预先配置的该多个主机进行通信经过的通信链路信息,确定该多个主机进行通信经过的通信链路。该多个主机进行通信经过的通信链路信息可以预先由技术人员配置。
进一步地,还可以将该DC网络中的每条通信链路区分为上行通信链路和下行通信链路,并确定该多个主机进行通信分别经过的上行通信链路和下行通信链路。
例如,针对图1D所示的DC网络,配置的该多个主机进行通信经过的通信链路信息可以如下表3所示。
表3
2014、基于该多个虚拟机的通信流量、该多个虚拟机的部署位置信息以及该多个主机进行通信经过的通信链路,确定该多条通信链路的链路流量。
也即是,在第一种实现方式中,可以获取该多个虚拟机的通信流量、该多个虚拟机的部署位置信息以及该多个主机进行通信经过的通信链路这三种流量统计信息,并对这三种流量统计信息进行统计,即可得出该多条通信链路中每条通信链路的链路流量。
进一步地,还可以基于该多个虚拟机的通信流量、该多个虚拟机的部署位置信息以及该多个主机进行通信经过的通信链路,分别确定多条上行通信链路的链路流量以及多条下行通信链路的链路流量。
具体地,步骤2014可以包括如下几个步骤:
1)对该多个主机进行通信经过的通信链路进行分析,得到每条通信链路承载的主机通信,每条通信链路承载的主机通信包括该条通信链路所承载的主机之间的通信以及主机与外部通信设备之间的通信。
请参考下表4,表4是根据一示例性实施例示出的一种通信链路的流量负载统计信息表,且表4是通过对表1-表3的流量统计信息进行分析和计算得到。表4中的第二列示出了各条通信链路承载的主机通信,且任意两个设备之间的通信可以用符号“->”表示。由表4可知,链路1(下行)承载的主机通信包括:主机3->主机1、主机4->主机1、主机3->主机2、主机4->主机2、外部通信设备->主机1以及外部通信设备->主机2这6列主机通信。
表4
2)对于每条通信链路承载的主机通信,基于该多个虚拟机的部署位置信息和该多个虚拟机的通信流量,确定该通信链路承载的主机通信的通信流量。
具体地,对于该通信链路承载的每列主机通信,可以先基于该多个虚拟机的部署位置信息确定该列主机通信对应的主机中部署的虚拟机,再基于该多个虚拟机的通信流量确定所部署的虚拟机的通信流量,最后对所部署的虚拟机的所有通信流量进行求和,即可得到该列主机通信的通信流量。
比如,对于表4中链路1(下行)上承载的主机通信“主机3->主机1”,根据上述表2可知主机3中部署了虚拟机5和虚拟机6,主机1中部署了虚拟机1和虚拟机2;根据上述表1可知虚拟机5->虚拟机1的通信流量为0.1Gbit/s,虚拟机5->虚拟机2的通信流量为0.1Gbit/s,虚拟机6->虚拟机1的通信流量为0.1Gbit/s,虚拟机6->虚拟机2的通信流量为0.1Gbit/s,综上可知“主机3->主机1”的通信流量即为0.1+0.1+0.1+0.1=0.4Gbit/s。
3)将该通信链路承载的主机通信的通信流量进行求和,即可得到该通信链路的链路流量。
也即是,每条通信链路的链路流量为该条通信链路承载的所有主机通信的通信流量之和。比如,由表4可知,链路1(下行)上承载的主机通信“主机3->主机1”的通信流量为0.4Gbit/s,“主机4->主机1”的通信流量为0.4Gbit/s、主机3->主机2的通信流量为0.4Gbit/s、主机4->主机2的通信流量为0.4Gbit/s、外部通信设备->主机1的通信流量为1.0Gbit/s,外部通信设备->主机2的通信流量为0,则链路1(下行)的链路流量即为0.4+0.4+0.4+0.4+1.0+0=2.6Gbit/s。
需要说明的是,上述第一种实现方式需要在所监控的数据中心网络中主机与交换机之间以及交换机与交换机之间的通信链路固定的前提下实现,也即是,相邻的两个通信设备仅会通过一条固定的通信链路进行通信,而不会通过多条通信链路进行通信。
在第二种实现方式中,获取多条通信链路的链路流量的步骤包括2015-2017:
2015、从该数据中心网络包括的多个主机中获取部署在该多个主机内的多个虚拟机的通信流量。
其中,步骤2015与步骤2011相同,此处不再赘述。
2016、确定该多个虚拟机进行通信经过的通信链路,该多个虚拟机进行通信经过的通信链路包括该多个虚拟机之间进行通信经过的通信链路以及该多个虚拟机与该外部通信设备进行通信经过的通信链路。
具体地,确定该多个虚拟机进行通信经过的通信链路可以包括如下几个步骤:
1)获取该数据中心网络的网络拓扑信息,该网络拓扑信息包括该数据中心网络包括的多个主机和至少一个交换机之间的端口互连关系。
其中,该多个主机和至少一个交换机之间的端口互连关系包括主机与交换机之间的端口互连关系,以及交换机与交换机之间的端口互连关系。当然,当该DC网络仅包括一个交换机时,该多个主机和至少一个交换机之间的端口互连关系也即仅包括主机与交换机之间的端口互连关系。
实际应用中,可以从软件定义网络控制器(Software Defined NetworkController,SDN Controller)中获取该网络拓扑信息。
具体地,SDN Controller获取该网络拓扑信息的实现流程可以包括:SDNController向所有与之连接的交换机发送packet-out消息,该packet-out消息内携带链路层发现协议(Link Layer Discovery Protocol,LLDP)报文,该packet-out消息用于命令交换机将LLDP报文发送给该交换机的所有端口;交换机接收到该packet-out消息后,将LLDP报文通过其所有端口发送给与该交换机连接的设备;该交换机的邻居交换机接收到LLDP报文后,将LLDP报文通过packet-in消息发送给SDN Controller;而该DC网络中的主机会主动向其邻居交换机发送LLDP报文,再由邻居交换机将LLDP报文通过packet-in消息发送给该SDN Controller;SDN Controller即可根据这些packet-in消息里携带的LLDP报文,获取该DC网络的网络拓扑信息,也即是该DC网络内交换机之间,以及交换机与主机之间的端口互联关系。
例如,图2B是根据一示例性实施例示出的一种DC网络内设备端口互联关系结构示意图,且图2B的网络拓扑信息可以用下表5表示。其中,表5中的“对应的链路编号”用于标识两个指定端口之间的连接关系,且链路编号可以从1开始递增。
表5
互连端口1 | 互连端口2 | 对应的链路编号 |
主机1:端口A | 交换机1:端口B | 链路1 |
交换机1:端口C | 交换机2:端口D | 链路2 |
交换机2:端口E | 主机2:端口F | 链路3 |
由表5可知,主机1的端口A与交换机1的端口B互连,且对应于链路1;交互机1的端口C与交换机2的端口D互连,且对应于链路2;交互机2的端口E与主机2的端口F互连,且对应于链路3。
2)获取该至少一个交换机的流表信息,该流表信息用于指示对应交换机转发数据报文的端口。
也即是,该流表信息用于指示对应交换机接收到数据报文后,将接收到的数据报文从该交换机的那个端口转发出去。
实际应用中,可以从SDN Controller中该至少一个交换机的流表信息。具体地,SDN Controller可以根据Open Flow(开发流)协议定义的流表结构获取该至少一个交换机的流表信息,Open Flow协议是指SDN Controller与其控制的转发设备之间的通信协议。
例如,Open Flow协议定义的流表结构可以如下表6所示:
表6
Match Fields | Priority | Counters | Instructions | Timeouts | Cookie | Flags |
其中,Match Fields定义了流表的匹配规则,匹配的对象包括报文的MAC地址、IP地址、VLAN id等内容;Instructions定义了针对流的相关指令,包括将满足匹配规则的报文从某个端口转发出去等。
3)基于该网络拓扑信息和该至少一个交换机的流表信息,确定该多个虚拟机进行通信经过的通信链路。
也即是,基于该网络拓扑信息和该至少一个交换机的流表信息,即可确定出该DC网络内包括的各个虚拟机进行通信产生的通信流量分别经过了哪些通信链路。
比如,以图2B中的“虚拟机1->虚拟机2”的通信为例,通过如下流程即可得到虚拟机与虚拟机2之间的通信经过了哪些通信链路。具体地,虚拟机1通过主机端口A将报文发送出去,则根据步骤1)获取的端口互连关系,可知该报文将被发送到交换机1的端口B;通过匹配交换机1上的流表信息,可知该报文将从端口C发送出去;根据步骤1)获取的设备端口互连关系,可知该报文将被发送到交换机2的端口D;通过匹配交换机2上的流表信息,可知该报文将从端口E发送出去;根据步骤1)获取的设备端口互连关系,可知该报文将被发送到主机2的端口F;通过上述分析即可得出“虚拟机1->虚拟机”的通信流量经过了端口A与端口B、端口C与端口D、端口E与端口F之间的通信链路,也即是,“虚拟机1->虚拟机”进行通信经过的通信链路包括:链路1、链路2和链路3。
2017、基于该多个虚拟机的通信流量和该多个虚拟机进行通信经过的通信链路,确定该多条通信链路的链路流量。
也即是,在第二种实现方式中,可以获取该多个虚拟机的通信流量和该多个虚拟机进行通信经过的通信链路这两种流量统计信息,而且该多个虚拟机进行通信经过的通信链路可以由该DC网络的网络拓扑信息和包括的至少一个交换机的流表信息这两种流量统计信息分析得到,因此在第二种实现方式中,可以分别获取该多个虚拟机的通信流量、该DC网络的网络拓扑信息和包括的至少一个交换机的流表信息这三种流量统计信息,通过对这三种流量统计信息进行分析和计算,即可得出该多条通信链路中每条通信链路的链路流量。
具体地,步骤2017可以包括如下几个步骤:
1)对该多个虚拟机进行通信经过的通信链路进行分析,得到每条通信链路承载的虚拟机通信,每条通信链路承载的虚拟机通信包括该通信链路上所承载的虚拟机之间的通信、及虚拟机与外部通信设备之间的通信。
2)对于每条通信链路承载的虚拟机通信,基于该多个虚拟机的通信流量,确定该通信链路承载的虚拟机通信的通信流量之和,即可得到该条通信链路的链路流量。
另外,当采用上述第一种实现方式获取该多条通信链路的链路流量时,该多条通信链路的链路带宽可以基于预先配置的该多条通信链路的链路带宽信息获取得到,且该多条通信链路的链路带宽信息可以预先由技术人员配置;当采用上述第二种实现方式获取该多条通信链路的链路流量时,该多条通信链路的链路带宽可以预先由技术人员配置得到,也可以从交换机的端口中自动获取得到,本发明实施例对此不做限定。
例如,针对图1D所示的DC网络,该DC网络内的多条通信链路的链路带宽信息可以如下表7所示,由表7可知,该DC网络内每条通信链路的链路带宽均为3Gbit/s。
表7
链路编号 | 链路带宽(Gbit/s) |
链路1 | 3 |
链路2 | 3 |
链路3 | 3 |
链路4 | 3 |
链路5 | 3 |
链路6 | 3 |
之后,分别计算出各条通信链路的链路流量与各条通信链路的链路带宽的比值,即可得到各条通信链路的流量负载。例如,如上述表4所示,表4中的第4行为各条通信链路的链路流量,第5行为各条通信链路的链路带宽,计算出第4行的链路流量与第5行的链路带宽的比值,即可得到第6行中各条通信链路的流量负载。
步骤202:当基于目标通信链路的流量负载确定目标通信链路超载时,该链路流量控制装置从产生该目标通信链路的链路流量的虚拟机中确定待迁移的目标虚拟机,该目标通信链路为该多条通信链路中的任一条。
其中,目标通信链路超载是指目标通信链路的链路流量过高,从而可能会导致目标通信链路因负载过高而丢包,进而导致业务受损时的负载状况。
具体地,确定目标通信链路是否超载可以包括以下方式中的任一种:
第一种实现方式:当该目标通信链路的流量负载大于预设流量负载的时长大于第一预设时长时,确定该目标通信链路超载。
其中,该预设流量负载和该第一预设时长均可以预先由技术人员设置,且可以在后续过程中进行修改。比如,假设预设流量负载为80%,该第一预设时长为5分钟,则当目标通信链路的流量负载大于80%的时长超过5分钟时,即可确定该目标通信链路超载。
第二种实现方式:每隔第二预设时长确定该目标通信链路在该第二预设时长内的平均流量负载,当该目标通信链路连续N个第二预设时长的平均流量负载均大于该预设流量负载时,确定该目标通信链路超载,该N为正整数。
也即是,可以以第二预设时长为一个周期,每隔一个周期确定该目标通信链路在该周期内的平均流量负载,当目标通信链路连续N个周期内的平均流量负载均大于该预设流量负载时,即可确定该目标通信链路超载。
其中,该第二预设时长和该N值也可以预先由技术人员设置,而且也可以在后续过程中进行修改。比如,假设N为3、预设流量负载为80%、第二预设时长为5分钟,即以5分钟为一个周期,则当该目标通信链路连续3个周期内的平均流量负载均大于80%,即可确定该目标通信链路超载。
具体地,步骤202可以包括:从产生该目标通信链路的链路流量的虚拟机中选择产生流量最大的虚拟机;将该产生流量最大的虚拟机确定为该目标虚拟机。
比如,由表4可知,“链路1(下行)”的在一个周期内的平均流量负载为87%,其超过了预设流量负载80%,假设“链路1(下行)”连续N个周期内的平均流量负载均大于该预设流量负载80%,则即可确定“链路1(下行)”超载。而且,由上述各信息统计表可知,在“链路1(下行)”上产生流量最大的虚拟机是虚拟机1,且所产生的流量为1.0Gbit/s,如此即可将虚拟机1确定为该目标虚拟机。
步骤203:从目标集群包括的除该目标虚拟机所在主机之外的其他主机中确定目标主机,该目标集群为该目标虚拟机所在主机所处的主机集群。
具体地,步骤203可以包括如下步骤2031-2034:
2031、从该目标集群包括的除该目标虚拟机所在主机之外的其他主机中确定满足预设虚拟机部署规则的主机,得到至少一个假定目标主机。
实际应用中,在确定出目标虚拟机之后,可以对该目标集群包括的除该目标虚拟机所在主机之外的其他主机进行轮选,轮选出满足预设虚拟机部署规则的主机,并将轮选出的主机作为假定目标主机。
其中,该预设虚拟机部署规则包括但不限于:虚拟机资源要求和反亲和原则。虚拟机资源要求包括主机上的CPU、内存等资源要求,也即是主机上的CPU、内存等资源需要满足虚拟机要求;反亲和原则是指互为主备冗余关系的虚拟机不能部署在同一主机上,也即是假定目标主机中部署的虚拟机与该目标虚拟机不能互为主备冗余关系。
其中,互为主备冗余关系的虚拟机是为了增加该DC网络的可靠性所设置的,且互为主备冗余关系的多个虚拟机可以互为备份虚拟机,当其中一个虚拟机出现故障时,可以自动启动其他虚拟机作为该故障虚拟机的备份虚拟机,以提高可靠性。
例如,参见图1D,假设主机1-主机4处于同一主机集群,主机1中部署的虚拟机1为目标虚拟机,则按照步骤2031的方法,即可将主机2、主机3和主机4确定为假定目标主机。
2032、对于该至少一个假定目标主机中的任一假定目标主机,确定假定将该目标虚拟机迁移至该假定目标主机之后该多条通信链路的流量负载。
其中,确定假定将该目标虚拟机迁移至该假定目标主机之后该多条通信链路的流量负载的方式,与上述步骤201中在假定将该目标虚拟机迁移至该假定目标主机之前,监控该多条通信链路的流量负载的方式同理,具体实现过程可以参考步骤201的相关描述,此处不再赘述。
例如,参见图1D,假定将虚拟机1迁移至主机3之后,各条通信链路的流量负载信息可以如下表8所示:
表8
2033、基于假定将该目标虚拟机迁移至该假定目标主机之后该多条通信链路的流量负载,判断假定将该目标虚拟机迁移至该假定目标主机之后该多条通信链路的负载状况是否得到改善。
其中,判断假定将该目标虚拟机迁移至该假定目标主机之后该多条通信链路的负载状况是否得到改善,可以包括以下两种实现方式:
在第一种实现方式中,可以包括以下几个步骤:
1)在步骤2033之前基于该数据中心网络包括的多条通信链路中的每条通信链路的流量负载,确定第一数量,该第一数量为该多条通信链路中流量负载大于预设流量负载的通信链路的数量。
2)基于假定将该目标虚拟机迁移至该假定目标主机之后该多条通信链路的流量负载,确定第二数量,该第二数量为假定将该目标虚拟机迁移至该假定目标主机之后该多条通信链路中流量负载大于该预设流量负载的通信链路的数量。
3)当该第二数量小于该第一数量时,确定假定将该目标虚拟机迁移至该假定目标主机之后该多条通信链路的负载状况得到改善。
当该第二数量小于该第一数量时,说明该DC网络内流量负载大于该预设流量负载的通信链路的数量相对于假定迁移前出现了下降,从而即可确定假定迁移后该DC网络内的负载状况得到了改善。比如,若假定迁移前流量负载大于该预设流量负载的通信链路的数量为1条,假定迁移后变为0条,则即可确定假定迁移后该多条通信链路的负载状况得到改善。
需要说明的一点是,本发明实施例中调整虚拟机位置的目的就是避免部分通信链路负载过高导致业务受损,因此该第二数量小于该第一数量是判断迁移操作是否符合目标的主要条件。
需要说明的另一点是,当对流量负载进行监控的通信链路包括该多条通信链路的上行通信链路和该多条通信链路的下行通信链路时,该第一数量还可以为假定将该目标虚拟机迁移至该假定目标主机之前该DC网络中流量负载大于该预设流量负载的上行通信链路和流量负载大于该预设流量负载的下行通信链路的数目之和,该第二数量还可以为假定将该目标虚拟机迁移至该假定目标主机之后该DC网络中流量负载大于该预设流量负载的上行通信链路和流量负载大于该预设流量负载的下行通信链路的数目之和。
在第二种实现方式中,可以包括以下几个步骤:
1)在步骤2033之前基于该数据中心网络包括的多条通信链路中的每条通信链路的流量负载,确定第一数量,该第一数量为该多条通信链路中流量负载大于预设流量负载的通信链路的数量。
2)确定该多条通信链路的链路流量之和,得到第一总流量。
3)基于假定将该目标虚拟机迁移至该假定目标主机之后该多条通信链路的流量负载,确定第二数量,该第二数量为假定将该目标虚拟机迁移至该假定目标主机之后该多条通信链路中流量负载大于该预设流量负载的通信链路的数量。
4)确定假定将该目标虚拟机迁移至该假定目标主机之后该多条通信链路的链路流量之和,得到第二总流量。
5)当该第二数量小于该第一数量且该第二总量小于第三总流量时,确定假定将该目标虚拟机迁移至该假定目标主机之后该多条通信链路的负载状况得到改善,该第三总流量为该第一总流量与预设比例相乘得到。
需要说明的是,为了提高迁移的准确度,除了需要保证迁移后该DC网络内流量负载大于该预设流量负载的通信链路的数量相对于迁移前有所下降之外,还需要保证该迁移操作不会引起该DC网络内的通信流量之和出现大幅上升,因为若通信流量之和出现了大幅上升,则将会增加整个网络的资源消耗,加剧网络资源过载的风险。
因此,该第二总流量需要小于该第一总流量或者相对于该第一总流量出现少量增加,比如,该第二总流量相对于该第一总流量增加的比例不能超过5%,即该第三总流量为该第二总流量的105%。
2034、当确定假定将该目标虚拟机迁移至该假定目标主机之后该多条通信链路的负载状况得到改善时,基于该假定目标主机确定该目标主机。
例如,由上述表6可知,假定将虚拟机1迁移至主机3中之后,各条通信链路的流量负载均小于预设流量负载80%,并且该DC网络内所有通信链路的链路流量之和也出现了下降,(迁移前为19.2Gb,迁移后下降为18.4Gb),因此即可基于该主机3确定目标主机。
其中,基于该假定目标主机确定该目标主机还包括以下方式中的至少一种:
1)如果该目标集群内仅存在一个能够保证迁移后该多条通信链路的负载状况得到改善的假定目标主机,则将该假定目标主机确定为该目标主机。
2)如果该目标集群内存在多个能够保证迁移后该多条通信链路的负载状况得到改善的假定目标主机,则从该多个假定目标主机中选择迁移后第二数量最少的迁移方案对应的假定目标主机,并将选择的假定目标主机确定为该目标主机。
3)如果该目标集群内存在多个能够保证迁移后该多条通信链路的负载状况得到改善的假定目标主机,且迁移后的第二数量均相同时,则从该多个假定目标主机中选择迁移后第二总流量最小的迁移方案对应的假定目标主机,并将选择的假定目标主机确定为该目标主机。
4)如果该目标集群内不存在能够保证迁移后该多条通信链路的负载状况得到改善的假定目标主机,则表示没有找到适合当前目标虚拟机进行迁移的目标主机,则可以从产生该目标通信链路的链路流量的虚拟机中重新确定待迁移的目标虚拟机。
例如,如果当前选择的目标虚拟机为在该目标通信链路的链路流量中产生流量最大的虚拟机,则在重新选择目标虚拟机时,可以依次从产生该目标通信链路的链路流量的虚拟机中选择产生流量第二大的虚拟机作为目标虚拟机,并按照步骤203的方式重新选择符合条件的目标主机。
步骤204:将该目标虚拟机迁移至该目标主机,以对该目标通信链路的链路流量进行控制。
将该目标虚拟机迁移至该目标主机之后,该目标虚拟机也就不会再在该超载的目标通信链路上产生流量,从而对目标通信链路的链路流量进行了控制,减小了该目标通信链路上的流量负载,避免了该目标通信链路因负载过高而丢包,导致的业务受损的问题。
本发明实施例中,可以监控数据中心网络内各条通信链路的流量负载,如果某一通信链路的流量负载过高,则对在该通信链路中产生流量的虚拟机的部署位置进行调整,即从产生该通信链路的链路流量的虚拟机中确定待迁移的目标虚拟机,将该目标虚拟机迁移至除所在主机之外的其他主机,如此即能够将负载过高的通信链路的链路流量分流到其他通信链路上,从而避免了通信链路负载过高而丢包,导致的业务受损的问题。由于可以通过分流对通信链路的链路流量进行控制,因此无需对每条通信链路都配置最大的带宽资源,降低了对带宽资源的需求量,而且在增加了新的虚拟机的情况下也能够实现链路流量的控制,适应性较高。
图3A是根据一示例性实施例示出的一种链路流量控制装置的结构示意图,该链路流量控制装置可以由软件、硬件或者两者的结合实现。参见图3A,该链路流量控制装置包括:监控模块301、第一确定模块302、第二确定模块303和迁移模块304。
该监控模块301,用于执行上述步骤201;
该第一确定模块302,用于执行上述步骤202;
该第二确定模块303,用于执行上述步骤203;
该迁移模块304,用于执行上述步骤204。
可选地,参见图3B,该链路流量控制装置还包括第三确定模块305或者第四确定模块306,该第三确定模块305用于执行步骤202中确定目标通信链路是否超载的第一种实现方式,该第四确定模块306用于执行步骤202中确定目标通信链路是否超载的第二种实现方式。
可选地,参见图3C,该链路流量控制装置还包括第五确定模块307,该第五确定模块307用于执行步骤2033中的第一种实现方式。
可选地,参见图3D,该链路流量控制装置还包括第五确定模块308和第六确定模块309,该第五确定模块308和第六确定模块309用于执行步骤2033中的第二种实现方式。
本发明实施例中,可以监控数据中心网络内各条通信链路的流量负载,如果某一通信链路的流量负载过高,则对在该通信链路中产生流量的虚拟机的部署位置进行调整,即从产生该通信链路的链路流量的虚拟机中确定待迁移的目标虚拟机,将该目标虚拟机迁移至除所在主机之外的其他主机,如此即能够将负载过高的通信链路的链路流量分流到其他通信链路上,从而避免了通信链路负载过高而丢包,导致的业务受损的问题。由于可以通过分流对通信链路的链路流量进行控制,因此无需对每条通信链路都配置最大的带宽资源,降低了对带宽资源的需求量,而且在增加了新的虚拟机的情况下也能够实现链路流量的控制,适应性较高。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (14)
1.一种链路流量控制方法,其特征在于,所述方法包括:
监控数据中心网络包括的多条通信链路中的每条通信链路的流量负载,每条通信链路的流量负载是指每条通信链路的链路流量与链路带宽的比值;
当基于目标通信链路的流量负载确定目标通信链路超载时,从产生所述目标通信链路的链路流量的虚拟机中确定待迁移的目标虚拟机,所述目标通信链路为所述多条通信链路中的任一条;
从目标集群包括的除所述目标虚拟机所在主机之外的其他主机中确定满足预设虚拟机部署规则的主机,得到至少一个假定目标主机,所述目标集群为所述目标虚拟机所在主机所处的主机集群;
对于所述至少一个假定目标主机中的任一假定目标主机,确定假定将所述目标虚拟机迁移至所述假定目标主机之后所述多条通信链路的流量负载;
基于所述数据中心网络包括的多条通信链路中的每条通信链路的流量负载,确定第一数量,所述第一数量为所述多条通信链路中流量负载大于预设流量负载的通信链路的数量;
确定所述多条通信链路的链路流量之和,得到第一总流量;
基于假定将所述目标虚拟机迁移至所述假定目标主机之后所述多条通信链路的流量负载,确定第二数量,所述第二数量为假定将所述目标虚拟机迁移至所述假定目标主机之后所述多条通信链路中流量负载大于所述预设流量负载的通信链路的数量;
确定假定将所述目标虚拟机迁移至所述假定目标主机之后所述多条通信链路的链路流量之和,得到第二总流量;
当所述第二数量小于所述第一数量且所述第二总流量小于第三总流量时,确定假定将所述目标虚拟机迁移至所述假定目标主机之后所述多条通信链路的负载状况得到改善,所述第三总流量为所述第一总流量与预设比例相乘得到;
基于所述假定目标主机确定目标主机,将所述目标虚拟机迁移至所述目标主机,以对所述目标通信链路的链路流量进行控制。
2.如权利要求1所述的方法,其特征在于,所述当基于目标通信链路的流量负载确定目标通信链路超载之前,还包括:
当所述目标通信链路的流量负载大于预设流量负载的时长大于第一预设时长时,确定所述目标通信链路超载;或者,
每隔第二预设时长确定所述目标通信链路在所述第二预设时长内的平均流量负载,当所述目标通信链路连续N个第二预设时长的平均流量负载均大于所述预设流量负载时,确定所述目标通信链路超载,所述N为正整数。
3.如权利要求1或2所述的方法,其特征在于,所述监控数据中心网络包括的多条通信链路中每条通信链路的流量负载,包括:
获取所述多条通信链路的链路流量;
获取所述多条通信链路的链路带宽;
确定各条通信链路的链路流量与各条通信链路的链路带宽的比值,得到各条通信链路的流量负载。
4.如权利要求3所述的方法,其特征在于,所述获取所述多条通信链路的链路流量,包括:
从所述数据中心网络包括的多个主机中获取部署在所述多个主机内的多个虚拟机的通信流量,所述多个虚拟机的通信流量包括所述多个虚拟机之间的通信流量以及所述多个虚拟机与外部通信设备之间的通信流量,所述外部通信设备是指所述数据中心网络之外的通信设备;
获取所述多个虚拟机的部署位置信息,所述部署位置信息用于指示所述多个虚拟机中的每个虚拟机所在的主机;
确定所述多个主机进行通信经过的通信链路,所述多个主机进行通信经过的通信链路包括所述多个主机之间进行通信经过的通信链路以及所述多个主机与所述外部通信设备进行通信经过的通信链路;
基于所述多个虚拟机的通信流量、所述多个虚拟机的部署位置信息以及所述多个主机进行通信经过的通信链路,确定所述多条通信链路的链路流量。
5.如权利要求3所述的方法,其特征在于,所述获取所述多条通信链路的链路流量,包括:
从所述数据中心网络包括的多个主机中获取部署在所述多个主机内的多个虚拟机的通信流量,所述多个虚拟机的通信流量包括所述多个虚拟机之间的通信流量以及所述多个虚拟机与外部通信设备之间的通信流量,所述外部通信设备是指所述数据中心网络之外的通信设备;
确定所述多个虚拟机进行通信经过的通信链路,所述多个虚拟机进行通信经过的通信链路包括所述多个虚拟机之间进行通信经过的通信链路以及所述多个虚拟机与所述外部通信设备进行通信经过的通信链路;
基于所述多个虚拟机的通信流量和所述多个虚拟机进行通信经过的通信链路,确定所述多条通信链路的链路流量。
6.如权利要求5所述的方法,其特征在于,所述确定所述多个虚拟机进行通信经过的通信链路,包括:
获取所述数据中心网络的网络拓扑信息,所述网络拓扑信息包括所述数据中心网络包括的多个主机和至少一个交换机之间的端口互连关系;
获取所述至少一个交换机的流表信息,所述流表信息用于指示对应交换机转发数据报文的端口;
基于所述网络拓扑信息和所述至少一个交换机的流表信息,确定所述多个虚拟机进行通信经过的通信链路。
7.如权利要求1所述的方法,其特征在于,所述从产生所述目标通信链路的链路流量的虚拟机中确定待迁移的目标虚拟机,包括:
从产生所述目标通信链路的链路流量的虚拟机中选择产生流量最大的虚拟机;
将所述产生流量最大的虚拟机确定为所述目标虚拟机。
8.一种链路流量控制装置,其特征在于,所述装置包括:
监控模块,用于监控数据中心网络包括的多条通信链路中的每条通信链路的流量负载,每条通信链路的流量负载是指每条通信链路的链路流量与链路带宽的比值;
第一确定模块,用于当基于目标通信链路的流量负载确定目标通信链路超载时,从产生所述目标通信链路的链路流量的虚拟机中确定待迁移的目标虚拟机,所述目标通信链路为所述多条通信链路中的任一条;
第二确定模块,用于从目标集群包括的除所述目标虚拟机所在主机之外的其他主机中确定目标主机,所述目标集群为所述目标虚拟机所在主机所处的主机集群;
迁移模块,用于将所述目标虚拟机迁移至所述目标主机,以对所述目标通信链路的链路流量进行控制;
其中,所述第二确定模块包括:
第三确定单元,用于从所述目标集群包括的除所述目标虚拟机所在主机之外的其他主机中确定满足预设虚拟机部署规则的主机,得到至少一个假定目标主机;
第四确定单元,用于对于所述至少一个假定目标主机中的任一假定目标主机,确定假定将所述目标虚拟机迁移至所述假定目标主机之后所述多条通信链路的流量负载;
判断单元,用于基于假定将所述目标虚拟机迁移至所述假定目标主机之后所述多条通信链路的流量负载,判断假定将所述目标虚拟机迁移至所述假定目标主机之后所述多条通信链路的负载状况是否得到改善;
第五确定单元,用于当确定假定将所述目标虚拟机迁移至所述假定目标主机之后所述多条通信链路的负载状况得到改善时,基于所述假定目标主机确定所述目标主机;
所述装置还包括:
第五确定模块,用于基于所述数据中心网络包括的多条通信链路中的每条通信链路的流量负载,确定第一数量,所述第一数量为所述多条通信链路中流量负载大于预设流量负载的通信链路的数量;
第六确定模块,用于确定所述多条通信链路的链路流量之和,得到第一总流量;
相应地,所述判断单元用于:
基于假定将所述目标虚拟机迁移至所述假定目标主机之后所述多条通信链路的流量负载,确定第二数量,所述第二数量为假定将所述目标虚拟机迁移至所述假定目标主机之后所述多条通信链路中流量负载大于所述预设流量负载的通信链路的数量;
确定假定将所述目标虚拟机迁移至所述假定目标主机之后所述多条通信链路的链路流量之和,得到第二总流量;
当所述第二数量小于所述第一数量且所述第二总流量小于第三总流量时,确定假定将所述目标虚拟机迁移至所述假定目标主机之后所述多条通信链路的负载状况得到改善,所述第三总流量为所述第一总流量与预设比例相乘得到。
9.如权利要求8所述的装置,其特征在于,所述装置还包括:
第三确定模块,用于当所述目标通信链路的流量负载大于预设流量负载的时长大于第一预设时长时,确定所述目标通信链路超载;或者,
第四确定模块,用于每隔第二预设时长确定所述目标通信链路在所述第二预设时长内的平均流量负载,当所述目标通信链路连续N个第二预设时长的平均流量负载均大于所述预设流量负载时,确定所述目标通信链路超载,所述N为正整数。
10.如权利要求8或9所述的装置,其特征在于,所述监控模块包括:
第一获取单元,用于获取所述多条通信链路的链路流量;
第二获取单元,用于获取所述多条通信链路的链路带宽;
第一确定单元,用于确定各条通信链路的链路流量与各条通信链路的链路带宽的比值,得到各条通信链路的流量负载。
11.如权利要求10所述的装置,其特征在于,所述第一获取单元用于:
从所述数据中心网络包括的多个主机中获取部署在所述多个主机内的多个虚拟机的通信流量,所述多个虚拟机的通信流量包括所述多个虚拟机之间的通信流量以及所述多个虚拟机与外部通信设备之间的通信流量,所述外部通信设备是指所述数据中心网络之外的通信设备;
获取所述多个虚拟机的部署位置信息,所述部署位置信息用于指示所述多个虚拟机中的每个虚拟机所在的主机;
确定所述多个主机进行通信经过的通信链路,所述多个主机进行通信经过的通信链路包括所述多个主机之间进行通信经过的通信链路以及所述多个主机与所述外部通信设备进行通信经过的通信链路;
基于所述多个虚拟机的通信流量、所述多个虚拟机的部署位置信息以及所述多个主机进行通信经过的通信链路,确定所述多条通信链路的链路流量。
12.如权利要求10所述的装置,其特征在于,所述第一获取单元用于:
从所述数据中心网络包括的多个主机中获取部署在所述多个主机内的多个虚拟机的通信流量,所述多个虚拟机的通信流量包括所述多个虚拟机之间的通信流量以及所述多个虚拟机与外部通信设备之间的通信流量,所述外部通信设备是指所述数据中心网络之外的通信设备;
确定所述多个虚拟机进行通信经过的通信链路,所述多个虚拟机进行通信经过的通信链路包括所述多个虚拟机之间进行通信经过的通信链路以及所述多个虚拟机与所述外部通信设备进行通信经过的通信链路;
基于所述多个虚拟机的通信流量和所述多个虚拟机进行通信经过的通信链路,确定所述多条通信链路的链路流量。
13.如权利要求12所述的装置,其特征在于,所述第一获取单元用于:
获取所述数据中心网络的网络拓扑信息,所述网络拓扑信息包括所述数据中心网络包括的多个主机和至少一个交换机之间的端口互连关系;
获取所述至少一个交换机的流表信息,所述流表信息用于指示对应交换机转发数据报文的端口;
基于所述网络拓扑信息和所述至少一个交换机的流表信息,确定所述多个虚拟机进行通信经过的通信链路。
14.如权利要求8所述的装置,其特征在于,所述第一确定模块包括:
选择单元,用于从产生所述目标通信链路的链路流量的虚拟机中选择产生流量最大的虚拟机;
第二确定单元,用于将所述产生流量最大的虚拟机确定为所述目标虚拟机。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710038744.6A CN108337179B (zh) | 2017-01-19 | 2017-01-19 | 链路流量控制方法及装置 |
PCT/CN2018/072912 WO2018133783A1 (zh) | 2017-01-19 | 2018-01-16 | 链路流量控制方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710038744.6A CN108337179B (zh) | 2017-01-19 | 2017-01-19 | 链路流量控制方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108337179A CN108337179A (zh) | 2018-07-27 |
CN108337179B true CN108337179B (zh) | 2021-02-05 |
Family
ID=62907686
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710038744.6A Active CN108337179B (zh) | 2017-01-19 | 2017-01-19 | 链路流量控制方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN108337179B (zh) |
WO (1) | WO2018133783A1 (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110830525A (zh) * | 2018-08-07 | 2020-02-21 | 中兴通讯股份有限公司 | 一种虚机资源分担方法、装置、计算机设备及存储介质 |
CN109274736B (zh) * | 2018-09-12 | 2021-08-03 | 奇安信科技集团股份有限公司 | 数据流释放方法及装置 |
JP2021149129A (ja) * | 2020-03-16 | 2021-09-27 | 富士通株式会社 | 料金算出プログラム、及び料金算出方法 |
CN114268589B (zh) * | 2020-09-16 | 2024-05-03 | 北京华为数字技术有限公司 | 流量转发方法、装置及存储介质 |
CN112866131B (zh) * | 2020-12-30 | 2023-04-28 | 神州绿盟成都科技有限公司 | 一种流量负载均衡方法、装置、设备及介质 |
CN112838990B (zh) * | 2021-01-18 | 2023-05-23 | 北京工业大学 | 大规模软件定义网络的负载均衡方法 |
CN114827039A (zh) * | 2021-01-29 | 2022-07-29 | 中兴通讯股份有限公司 | 一种负载均衡方法、装置、通讯设备及存储介质 |
CN118540681A (zh) * | 2023-02-21 | 2024-08-23 | 华为技术有限公司 | 蓝牙资源管理方法、电子设备及计算机可读存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102664814A (zh) * | 2012-05-17 | 2012-09-12 | 西安交通大学 | 一种虚拟网络中基于灰色预测的自适应动态资源分配方法 |
CN105610715A (zh) * | 2016-03-14 | 2016-05-25 | 山东大学 | 一种基于sdn的云数据中心多虚拟机迁移调度计划方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8315374B2 (en) * | 2009-06-08 | 2012-11-20 | Genesys Telecommunications Laboratories, Inc. | Customer-controlled recording |
US8630173B2 (en) * | 2010-11-19 | 2014-01-14 | Cisco Technology, Inc. | Dynamic queuing and pinning to improve quality of service on uplinks in a virtualized environment |
CN102279771B (zh) * | 2011-09-02 | 2013-07-10 | 北京航空航天大学 | 一种虚拟化环境中自适应按需资源分配的方法及系统 |
CN103023799B (zh) * | 2011-09-27 | 2016-06-15 | 日电(中国)有限公司 | 用于虚拟机迁移的中央控制器和虚拟机迁移方法 |
JP5758358B2 (ja) * | 2012-08-09 | 2015-08-05 | 日本電信電話株式会社 | 仮想マシンシステム及びその高速ライブマイグレーション方法 |
CN103077082B (zh) * | 2013-01-08 | 2016-12-28 | 中国科学院深圳先进技术研究院 | 一种数据中心负载分配及虚拟机迁移节能方法及系统 |
CN104102523A (zh) * | 2013-04-03 | 2014-10-15 | 华为技术有限公司 | 迁移虚拟机的方法和资源调度平台 |
CN103324532B (zh) * | 2013-06-28 | 2016-05-04 | 东软集团股份有限公司 | 虚拟机的动态迁移方法及系统 |
CN104468212B (zh) * | 2014-12-03 | 2017-08-08 | 中国科学院计算技术研究所 | 一种云计算数据中心网络智能联动配置方法及系统 |
-
2017
- 2017-01-19 CN CN201710038744.6A patent/CN108337179B/zh active Active
-
2018
- 2018-01-16 WO PCT/CN2018/072912 patent/WO2018133783A1/zh active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102664814A (zh) * | 2012-05-17 | 2012-09-12 | 西安交通大学 | 一种虚拟网络中基于灰色预测的自适应动态资源分配方法 |
CN105610715A (zh) * | 2016-03-14 | 2016-05-25 | 山东大学 | 一种基于sdn的云数据中心多虚拟机迁移调度计划方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108337179A (zh) | 2018-07-27 |
WO2018133783A1 (zh) | 2018-07-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108337179B (zh) | 链路流量控制方法及装置 | |
CN114073052B (zh) | 用于基于切片的路由的系统、方法及计算机可读介质 | |
CN104753828B (zh) | 一种sdn控制器、数据中心系统和路由连接方法 | |
CN107409066B (zh) | 用于自动检测和配置服务器上行链路网络接口的系统和方法 | |
US8855116B2 (en) | Virtual local area network state processing in a layer 2 ethernet switch | |
CN107211036B (zh) | 一种数据中心网络组网的方法以及数据中心网络 | |
US20220086044A1 (en) | Analyzing and configuring workload distribution in slice-based networks to optimize network performance | |
JP7313480B2 (ja) | スライスベースネットワークにおける輻輳回避 | |
CN108306777B (zh) | 基于sdn控制器的虚拟网关主备切换方法及装置 | |
US20140280864A1 (en) | Methods of Representing Software Defined Networking-Based Multiple Layer Network Topology Views | |
CN104506408A (zh) | 基于sdn的数据传输的方法及装置 | |
CN103825834B (zh) | 一种evi中调整流量负载分担的方法及网络交换装置 | |
US9065678B2 (en) | System and method for pinning virtual machine adapters to physical adapters in a network environment | |
CN109088822B (zh) | 数据流量转发方法、装置、系统、计算机设备及存储介质 | |
WO2015067144A1 (zh) | 软件部署的方法和装置 | |
CN110830394A (zh) | 一种基于RapidIO网络的路由表生成方法 | |
KR20180122513A (ko) | Sdn 기반 네트워크 가상화 플랫폼의 네트워크 하이퍼바이저에서 트래픽 엔지니어링 방법 및 프레임워크 | |
CN108923961B (zh) | 一种多入口网络服务功能链优化方法 | |
CN107682265B (zh) | 支付系统的报文路由方法及装置 | |
EP4002779B1 (en) | Method and apparatus for sharing information in redundant network, and computer storage medium | |
CN113630319B (zh) | 一种数据分流方法、装置及相关设备 | |
CN117880184A (zh) | 云网络的组播转发方法、装置、计算机设备及存储介质 | |
CN118118397A (zh) | 处理数据报文的方法、装置、设备及存储介质 | |
CN114070793A (zh) | 流量限速方法、相关网络设备和存储介质 | |
CN113923165A (zh) | 发送、接收接口标识消息的方法、相关网络设备及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | 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 |