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

一种动态自适应的云平台租户流量监管方法及系统

2022-06-01 14:31:17 来源:中国专利 TAG:


1.本发明涉及网络通信技术和流量控制领域,尤其涉及一种动态自适应的云平台租户流量监管方法及系统。


背景技术:

2.随着云计算的兴起,越来越多的客户通过向云运营商租赁虚拟机的方式,将其服务部署在虚拟云上。在虚拟云环境中,虚拟交换机用于同一服务器上多个虚拟机之间或者虚拟机与外部网络之间的流量转发。虚拟交换机与租户虚拟机一起运行在服务器上,消耗服务器的计算资源和内存资源。
3.随着虚拟云环境中,租户越来越多,网络流量也迅速增长。虚拟交换机转发与日俱增的网络流量需要消耗大量服务器的cpu资源,为了减少服务器cpu资源的消耗,同时提高网络转发性能,现有的解决方案中大多采用将虚拟交换机转发平面下放到网卡硬件,仅维持虚拟交换机控制平面运行在服务器上。更进一步地,有一些解决方案利用基于soc的智能网卡,将虚拟交换机转发平面下放到智能网卡的fpga或asic芯片中,而将虚拟交换机控制平面运行在soc上。
4.目前的网卡大多可以通过sr-iov技术,从物理功能中虚拟出多个虚拟功能,然后将虚拟功能作为网络设备分配给租户虚拟机使用。部分智能网卡则通过由fpga模拟出多个网络设备交由租户虚拟机使用。然而,无论是支持sr-iov功能的普通网卡,还是基于fpga模拟设备的智能网卡,它们的最大带宽都是有限的。使用同一网卡的所有租户之间需要共享该网卡的最大带宽,因此云运营商需要限制每个租户的最大网络带宽,防止租户之间互相影响。云平台租户在租赁服务器时选择所需的网络带宽后,云运营商会通过其流量监管的方法,监督通过租户网络设备的流量规格,把它限制在一个合理的范围之内,从而保护网络资源和运营商的利益。
5.由于云运营商已经普遍将用于网络流量转发的虚拟交换机转发平面下放到网卡硬件中,因此也同时出现了一些流量监管的硬件卸载方案,这些方案主要分为两类。第一类是基于网络端口的流量限速,如mellanox智能网卡基于asap2 direct框架的ovs硬件卸载方案中的vf metering功能,可以通过sysfs对分配给租户虚拟机的虚拟功能做流量监管,为虚拟功能设置流量的速率上限。第二类是基于网络流的流量限速,openflow1.3协议添加了计量表,计量表包含多个计量表项,计量表项可附着到流表项上使用。最新的mellanox ovs硬件卸载方案添加了基于openflow协议的计量表功能,可以以网络流为粒度做流量限速。
6.现有的基于网络端口的流量监管方案,其缺点在于对流量限速的粒度比较粗。在同一时间会有各种类型的网络流量通过网络端口,如视频流、音频流和普通数据流等,而这些流量的优先级不同。如果某一时刻租户带宽超过其购买的网络带宽,则云运营商会根据其流量监管方案对超过带宽部分的流量统一做丢弃处理,而不考虑不同流量之间的优先级,这会严重影响租户的网络体验。
7.现有的基于网络流的流量监管方案,可以根据网络流的优先级对不同的流量设置不同的计量表来实现更细粒度的限速,比如对视频流和音频流使用更高限速的计量表项,而对普通数据流使用更低限速的计量表项。但是网络端口的最大带宽是由租户购买的网络带宽决定的,因此这类基于网络流的流量监管方案缺点在于难以将带宽合理分配给不同优先级的网络流。假设云运营商提前为高优先级的网络流分配了高百分比的带宽,而某一时刻仅有大量低优先级的网络流通过网络端口,由于此时低优先级的网络流的带宽被限制,租户无法得到购买的承诺带宽。
8.因此,本领域的技术人员致力于开发一种基于网络流的流量监管方案为基础,通过监测租户网络端口的流量速率并根据网络流的优先级动态调整网络流的限制速率。


技术实现要素:

9.有鉴于现有技术的上述缺陷,本发明所要解决的技术问题是首先区分网络流的优先级,要针对不同优先级的网络流设置不同的计量表来实现流量限速;其次是监测网络端口的流量。只有在网络流量超过租户购买带宽时才需要进行流量监管来处理超过部分的带宽,所以要实时监测网络端口的流量来决定是否需要进行流量监管;最后是设计一种有效的动态自适应流量监管算法,动态调整不同优先级网络流的限速,在保证租户购买带宽的同时改善租户网络体验。
10.为实现上述目的,本发明提供了一种动态自适应的云平台租户流量监管系统,涉及网络通信技术和流量控制领域,包括虚拟交换机控制平面模块、虚拟交换机转发平面模块、网络端口流量监测模块和动态自适应限流算法模块,所述虚拟交换机控制平面模块和所述虚拟交换机转发平面模块构成云平台网络功能的基础;所述网络端口流量监测模块实时监测通过网络端口进入和流出租户虚拟机的网络流量;所述动态自适应限流算法模块接收所述网络端口流量监测模块的统计数据作为输入,通过所述动态自适应限流算法模块内的动态自适应限流算法重新规划各个所述网络端口上所有网络流的带宽分配。
11.进一步地,通过ovs-ofctl工具的add-meter命令,在所述虚拟交换机控制平面模块中,创建了一个默认计量表项,所述默认计量表项的最大限速为网卡带宽上限。
12.进一步地,在所述虚拟交换机控制平面模块中,通过所述ovs-ofctl工具的add-flow命令,为每个网络端口的出入方向分别添加64条openflow流,所述openflow流匹配字段中都具有“ip_dscp”字段,其匹配的值分别为0至63,用以区分、匹配不同优先级的网络流。
13.进一步地,所述openflow流都添加了关联所述默认计量表项的计量动作。
14.进一步地,在所述网络端口流量监测模块中,通过所述ovs-ofctl工具的dump-ports命令监测并统计通过网络端口进入和流出租户虚拟机的整体流量;通过所述ovs-ofctl工具的dump-flows命令细粒度地监测并统计通过网络端口的各网络流的流量。
15.进一步地,所述网络端口流量监测模块以一秒钟一次的频率通过所述ovs-ofctl工具获得各所述网络端口、网络流的累计流量,并将前后两次数据的差值视作实时流量并将其作为输出传递给所述动态自适应限流算法模块。
16.一种动态自适应的云平台租户流量监管方法,其特征在于,该动态自适应限流算法如下:循环处理所有网络端口的统计数据,对于某一端口,以该所述端口租户购买的带宽
为最大带宽;如果该所述端口的实时带宽超过了所述最大带宽,则将所述最大带宽按照该所述端口的所有网络流的优先级顺序分配,优先满足高优先级流量的带宽需求,低优先级的网络流再继续按照优先级顺序分享剩余带宽;在确定所有优先级的网络流的应得带宽之后,再通过修改各个计量表项来应用该流量监管方案;如果该端口的实时带宽未超过所述最大带宽,则统一将所有优先级的网络流的带宽限制都设置为所述最大带宽。
17.进一步地,所述动态自适应限流算法模块负责维护网络端口、网络流与计量表项之间的映射关系表,在应用动态产生的流量监管方案时,通过所述映射关系表找到并修改相关的所述计量表项。
18.进一步地,所述流量监管系统基于openflow协议1.3以上版本引入的计量表,对网络流进行流量监管;
19.进一步地,所述流量监管系统基于open vswitch的硬件卸载方案,将其计量功能也卸载至硬件实现。
20.本发明与前文所述的流量监管方案相比具有如下优点:
21.1、与基于网络端口的流量监管方案相比,本发明对于不同优先级的网络流会设置不同的速率限制,而不是统一将超过最大带宽的流量全部丢弃。因此可以尽可能保证视频流、音频流等要求低延迟、低抖动的高优先级流量的带宽需求。
22.2、与基于网络流的流量监管方案相比,本发明不再需要人为设置不同网络流难以确定的速率限制,而是通过动态自适应限流算法动态地调整网络流的速率限制。在保证租户最大带宽的同时,优先保证高优先级流量的带宽需求,从而改善租户的网络体验。
23.以下将结合附图对本发明的构思、具体结构及产生的技术效果作进一步说明,以充分地了解本发明的目的、特征和效果。
附图说明
24.图1为本发明的一个较佳实施例的整体设计示意图;
25.图2为本发明的一个较佳实施例的动态自适应限流算法示意图;
26.图3为本发明的一个较佳实施例的整体流程示意图。
具体实施方式
27.以下参考说明书附图介绍本发明的多个优选实施例,使其技术内容更加清楚和便于理解。本发明可以通过许多不同形式的实施例来得以体现,本发明的保护范围并非仅限于文中提到的实施例。
28.在附图中,结构相同的部件以相同数字标号表示,各处结构或功能相似的组件以相似数字标号表示。附图所示的每一组件的尺寸和厚度是任意示出的,本发明并没有限定每个组件的尺寸和厚度。为了使图示更清晰,附图中有些地方适当夸大了部件的厚度。
29.本发明分为四个部分:虚拟交换机控制平面模块、虚拟交换机转发平面模块、网络端口流量监测模块和动态自适应限流算法模块。
30.第一、二部分是虚拟交换机控制平面模块和虚拟交换机转发平面模块。这两个模块构成云平台网络功能的基础,负责网络流量的转发。其中转发平面模块由fpga或者asic芯片实现,负责匹配流表和执行动作,其中就包括流量监管的计量动作。而控制平面模块则
运行在智能网卡的soc上,负责向转发平面下发流表和计量表指导流量转发和流量监管。在虚拟交换机控制平面模块中,我们通过ovs-ofctl工具的add-meter命令,创建一个计量表项作为默认计量表项,该计量表项的最大限速为网卡带宽上限。此外,我们通过ovs-ofctl工具的add-flow命令,为每个网络端口的出入方向分别添加64条openflow流,这些流都具有“ip_dscp”的匹配字段,其匹配的值从0开始到63为止,用以区分、匹配不同优先级的网络流。同时,这些流都在动作字段中添加了关联默认计量表项的计量动作。虚拟交换机转发平面模块中的计量模块会根据流表和计量表对网络流进行流量监管。命令示例如下:
31.#ovs-ofctl add-meter br0 meter=1,kbps,band=type=drop,rate=200000-o openflow13
32.#ovs-ofctl add-flow br0 ip,in_port=eth0,ip_dscp=46,actions=meter:1,output=port1-o openflow13
33.第三部分是网络端口流量监测模块。该模块实时监测通过网络端口进入和流出租户虚拟机的网络流量。通过ovs-ofctl工具的dump-ports命令可以监测并统计通过网络端口的整体流量,通过ovs-ofctl工具的dump-flows命令可以更细粒度地监测并统计通过网络端口的各网络流的流量。该模块以一秒钟一次的频率通过ovs-ofctl工具获得各网络端口、网络流的累计流量,并将前后两次数据的差值视作实时流量并将其作为输出传递给动态自适应限流算法模块。命令示例如下:
34.#ovs-ofctl dump-ports br0 port1
35.#ovs-ofctl dump-flows br0 in_port=port1
36.第四部分是动态自适应限流算法模块。该模块接收网络端口流量监测模块的统计数据作为输入,通过该模块内的动态自适应限流算法重新规划各个网络端口上所有网络流的带宽分配。由图2可知,该动态自适应限流算法如下:循环处理所有网络端口的统计数据,对于某一端口,以该端口租户购买的带宽为最大带宽。如果该端口的实时带宽超过了最大带宽,则将最大带宽按照该端口的所有网络流的优先级顺序分配,优先满足高优先级流量的带宽需求,低优先级的网络流再继续按照优先级顺序分享剩余带宽。在确定所有优先级的网络流的应得带宽之后,再通过设置计量表项来应用该流量监管方案。如果该端口的实时带宽未超过最大带宽,则统一将所有优先级的网络流的带宽限制都设置为最大带宽。该模块还维护了一张网络端口-计量表项的映射表(如表1所示)。
[0037][0038]
表1网络端口-计量表项映射表
[0039]
在应用新的流量监管方案时,先通过网络端口和网络流的优先级,找到对应的计量表项,若当前计量表项的最大限速与分配带宽相等,则无需多余操作。若不同,则需通过ovs-ofctl工具的set-meter命令修改计量表项并更新该映射表。命令示例如下:
[0040]
#ovs-ofctl set-meter br0 meter=1,kbps,band=type=drop,rate=300000-o openflow13
[0041]
本发明的整体流程图如图3所示。
[0042]
以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。
再多了解一些

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

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

相关文献