掌桥专利:专业的专利平台
掌桥专利
首页

一种网卡限速方法、系统、设备以及存储介质

文献发布时间:2024-04-18 19:58:53


一种网卡限速方法、系统、设备以及存储介质

技术领域

本发明涉及数据处理领域,具体涉及一种网卡限速方法、系统、设备以及存储介质。

背景技术

云计算场景中在有限的网络带宽资源下,如何按需为业务分配带宽资源以及应对突发流量对网络稳定性的影响是云计算应用场景中迫切需求。例如,在业务和管理流量共享网络带宽的场景中,业务流量占用带宽较大的情况下会导致管理网络的高延迟甚至瘫痪问题。如何实现流量分类、突发流量的快速识别以及流量的带宽限制是解决这个问题的关键,在现有的技术中Linux内核提供了分层令牌桶( Hierarchy Token Bucket,HTB)等限速方案,可以实现对流量的分类以及流量的限速功能,可以从一定程度上减少大带宽流量对网络的冲击。

但是,上述方案需要依靠用户提前判定流量类型并配置限速策略,不能实现流量的自动分类与突发流量的快速识别。然而,在实际应用中流量类型是多元的且随时都会出现突发流量对网络的冲击,但是现有技术无法实现流量的自动分类以及对突发流量的快速识别。

发明内容

有鉴于此,为了克服上述问题的至少一个方面,本发明实施例提出一种网卡限速方法,包括以下步骤:

对网卡接收到的至少一类数据流的参数进行采集以确定采集到的每一类所述数据流的带宽占用比;

筛选并记录所述带宽占用比大于第一阈值的所述数据流;

从所述带宽占用比大于第一阈值的所述数据流中筛选出所述带宽占用比小于第二阈值的若干类第一数据流以及所述带宽占用比不小于所述第二阈值的若干类第二数据流,并计算用于补偿所述第一数据流的带宽占用比的第一参考带宽比以及用于抑制所述第二数据流的带宽占用比的第二参考带宽比;

获取限速策略并根据所述限速策略、所述第一参考带宽比、所述第二参考带宽比对网卡进行限速。

在一些实施例中,所述获取限速策略并根据所述限速策略、所述第一参考带宽比、所述第二参考带宽比对网卡进行限速的步骤,进一步包括:

根据所述限速策略、所述第一参考带宽比、所述第二参考带宽比确定每一类所述第一数据流的实际带宽比、每一类所述第二数据流的实际带宽比;

根据每一类所述第一数据流的实际带宽比确定每一类所述第一数据流的带宽限速值以及根据每一类所述第二数据流的实际带宽比确定每一类所述第二数据流的带宽限速值;

根据每一类所述第一数据流的带宽限速值对相应的所述第一数据流进行流量限速处理,并根据每一类所述第二数据流的带宽限速值对相应的所述第二数据流进行流量限速处理。

在一些实施例中,所述对网卡接收到的至少一类数据流的参数进行采集以确定采集到的每一类所述数据流的带宽占用比的步骤,进一步包括:

获取预先配置的采样周期和采样间隔;

响应于达到所述采样间隔,对待限速的网卡在所述采样周期内接收到的数据流的参数进行采集并根据源IP、目的IP、源端口、目的端口以及协议对所述数据流进行分类,并基于所述分类的结果确定采集到的每一类所述数据流的带宽占用比。

在一些实施例中,所述基于所述分类的结果确定采集到的每一类所述数据流的带宽占用比的步骤,进一步包括:

在所述采样周期内统计每一类数据流的数据包长度;

根据所述数据包长度确定每一类所述数据流的带宽占用比。

在一些实施例中,所述根据所述数据包长度确定采集到的每一类所述数据流的带宽占用比的步骤,进一步包括:

利用所述数据包长度除以所述采样周期得到的值再除以所述网卡的带宽,得到所述带宽占用比。

在一些实施例中,所述筛选并记录所述带宽占用比大于第一阈值的所述数据流的步骤,进一步包括:

获取预先配置的流分类策略;

响应于所述流分类策略为精确分类,以所述数据流的源IP、目的IP、源端口、目的端口以及协议为key值,所述带宽占用比为value值,记录所述带宽占用比大于第一阈值的所述数据流。

在一些实施例中,方法还包括:

响应于所述流分类策略为聚合分类,获取预先配置的聚合要素,其中所述聚合要素包括源IP、目的IP、源端口、目的端口和协议中的至少一种;

将符合所述聚合要素的若干个所述数据流对应的所述带宽占用比相加得到每一个聚合数据流对应的带宽占用比并与所述第一阈值相比对;

响应于所述聚合数据流对应的所述带宽占用比大于第一阈值,以所述聚合要素为key值,对应的所述带宽占用比为value值,记录所述带宽占用比大于第一阈值的所述聚合数据流。

在一些实施例中,所述从所述带宽占用比大于第一阈值的所述数据流中筛选出所述带宽占用比小于第二阈值的若干类第一数据流以及所述带宽占用比不小于所述第二阈值的若干类第二数据流的步骤,进一步包括:

判断记录的每一个所述聚合数据流和/或所述数据流的带宽占用比是否均小于所述第二阈值;

响应于存在所述带宽占用比不小于所述第二阈值的所述聚合数据流和/或所述数据流,将所述带宽占用比大于所述第一阈值小于第二阈值的所述数据流作为所述第一数据流,并将所述带宽占用比不小于所述第二阈值的所述聚合数据流和/或所述数据流作为所述第二数据流,以开启带宽补偿和带宽抑制。

在一些实施例中,方法还包括:

响应于记录的每一个所述聚合数据流和/或所述数据流的带宽占用比均小于所述第二阈值,不开启带宽补偿和带宽抑制。

在一些实施例中,所述计算用于补偿所述第一数据流的带宽占用比的第一参考带宽比以及对用于抑制所述第二数据流的带宽占用比的第二参考带宽比的步骤,进一步包括:

根据每一类所述第二数据流的带宽占用比以及所述第二数据流的数量计算补偿带宽比并将每一类所述第一数据流的带宽占用比加上所述补偿带宽比作为所述第一数据流的第一参考带宽比;

将所述第二阈值作为每一类所述第二数据流的第二参考带宽比。

在一些实施例中,所述根据每一类所述第二数据流的带宽占用比以及所述第二数据流的数量计算补偿带宽比并将每一类所述第一数据流的带宽占用比加上所述补偿带宽比作为所述第一数据流的第一参考带宽比的步骤,进一步包括:

根据下式计算所述补偿带宽比∆:

其中,

在一些实施例中,方法还包括:

获取预先设置的兴趣数据流的关键元素和所述兴趣数据流对应的带宽占用比,其中所述关键元素包括源IP、目的IP、源端口、目的端口和协议中的至少一种;

根据所述关键元素匹配每一类所述第一数据流和每一类所述第二数据流;

响应于有所述第一数据流或所述第二数据流匹配成功,将匹配成功的所述第一数据流或第二数据流设置为所述兴趣数据流,并将所述带宽占用比设置为所述兴趣数据流对应的带宽占用比,并基于所述兴趣数据流对应的带宽占用比对所述兴趣数据流进行流量限速处理。

在一些实施例中,所述根据所述限速策略、所述第一参考带宽比、所述第二参考带宽比确定每一类所述第一数据流的实际带宽比、每一类所述第二数据流的实际带宽比的步骤,进一步包括:

响应于所述限速策略为公平分配策略,根据下式确定每一类所述第一数据流和每一类所述第二数据流的实际带宽比:

其中,

在一些实施例中,方法还包括:

响应于所述限速策略为比例分配策略,根据下式确定每一类所述第一数据流和每一类所述第二数据流的实际带宽比:

其中,

在一些实施例中,所述基于所述兴趣数据流对应的带宽占用比对所述兴趣数据流进行流量限速处理的步骤,进一步包括:

根据所述兴趣数据流对应的带宽占用比和所述网卡的带宽确定所述兴趣数据流的带宽限速值;

根据所述兴趣数据流的带宽限速值对所述兴趣数据流进行流量限速处理。

在一些实施例中,方法还包括:

响应于接收到第一预设命令,显示每一类所述数据流的匹配条件;

响应于接收到第二预设命令,显示每一类数据流的带宽限速值。

在一些实施例中,方法还包括:

放弃对所述带宽占用比不大于第一阈值的所述数据流进行限速处理。

基于同一发明构思,根据本发明的另一个方面,本发明的实施例还提供了一种网卡限速系统,包括:

采集模块,配置为对网卡接收到的至少一类数据流的参数进行采集以确定每一类所述数据流的带宽占用比;

筛选模块,配置为筛选并记录所述带宽占用比大于第一阈值的所述数据流;

计算模块,配置为从所述带宽占用比大于第一阈值的所述数据流中筛选出所述带宽占用比小于第二阈值的若干类第一数据流以及所述带宽占用比不小于所述第二阈值的若干类第二数据流,并计算用于补偿所述第一数据流的带宽占用比的第一参考带宽比以及用于抑制所述第二数据流的带宽占用比的第二参考带宽比;

限速模块,配置为获取限速策略并根据所述限速策略、所述第一参考带宽比、所述第二参考带宽比对网卡进行限速。

基于同一发明构思,根据本发明的另一个方面,本发明的实施例还提供了一种计算机设备,包括:

至少一个处理器;以及

存储器,所述存储器存储有可在所述处理器上运行的计算机程序,所述处理器执行所述程序时执行如上所述的任一种网卡限速方法的步骤。

基于同一发明构思,根据本发明的另一个方面,本发明的实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时执行如上所述的任一种网卡限速方法的步骤。

本发明具有以下有益技术效果之一:本发明提出的方案通过实现网卡的流量采集并完成对流量特性分析,以实现大流量的快速识别、带宽抑制和自适应网卡限速功能,提高网络稳定性。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。

图1为本发明的一实施例提供的网卡限速方法的流程示意图;

图2为本发明的一实施例提供的数据流参数采集流程图;

图3为本发明的一实施例提供的数据流存储结构示意图;

图4为本发明的一实施例提供的数据流筛选流程图;

图5为本发明的一实施例提供的筛选后的数据流分类存储示意图;

图6为本发明的一实施例提供的带宽分配流程图;

图7为本发明的一实施例提供的网卡限速系统的结构示意图;

图8为本发明的一实施例提供的计算机设备的结构示意图;

图9为本发明的一实施例提供的计算机可读存储介质的结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。

需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。

根据本发明的一个方面,本发明的实施例提出一种网卡限速方法,如图1所示,其可以包括步骤:

S1,对网卡接收到的至少一类数据流的参数进行采集以确定采集到的每一类所述数据流的带宽占用比;

S2,筛选并记录所述带宽占用比大于第一阈值的所述数据流;

S3,从所述带宽占用比大于第一阈值的所述数据流中筛选出所述带宽占用比小于第二阈值的若干类第一数据流以及所述带宽占用比不小于所述第二阈值的若干类第二数据流,并计算用于补偿所述第一数据流的带宽占用比的第一参考带宽比以及用于抑制所述第二数据流的带宽占用比的第二参考带宽比;

S4,获取限速策略并根据所述限速策略、所述第一参考带宽比、所述第二参考带宽比对网卡进行限速。

本发明提出的方案通过实现网卡的流量采集并完成对流量特性分析,以实现大流量的快速识别、带宽抑制和自适应网卡限速功能,提高网络稳定性。

在一些实施例中,所述获取限速策略并根据所述限速策略、所述第一参考带宽比、所述第二参考带宽比对网卡进行限速的步骤,进一步包括:

根据所述限速策略、所述第一参考带宽比、所述第二参考带宽比确定每一类所述第一数据流的实际带宽比、每一类所述第二数据流的实际带宽比;

根据每一类所述第一数据流的实际带宽比确定每一类所述第一数据流的带宽限速值以及根据每一类所述第二数据流的实际带宽比确定每一类所述第二数据流的带宽限速值;

根据每一类所述第一数据流的带宽限速值对相应的所述第一数据流进行流量限速处理,并根据每一类所述第二数据流的带宽限速值对相应的所述第二数据流进行流量限速处理。

具体的,得到每一类第一数据流的实际带宽比和每一类第二数据流的实际带宽比后,分别乘以网卡的带宽速率即可得到每一类第一数据流和每一类第二数据流的带宽限速值,将生成的带宽限速值下发到内核的限速模块,当内核接收到网卡传输的数据流后,根据带宽限速值完成最终的流量限速处理。

在一些实施例中,所述对网卡接收到的至少一类数据流的参数进行采集以确定采集到的每一类所述数据流的带宽占用比的步骤,进一步包括:

获取预先配置的采样周期和采样间隔;

响应于达到所述采样间隔,对待限速的网卡在所述采样周期内接收到的数据流的参数进行采集并根据源IP、目的IP、源端口、目的端口以及协议对所述数据流进行分类,并基于所述分类的结果确定采集到的每一类所述数据流的带宽占用比。

在一些实施例中,所述基于所述分类的结果确定采集到的每一类所述数据流的带宽占用比的步骤,进一步包括:

在所述采样周期内统计每一类数据流的数据包长度;

根据所述数据包长度确定每一类所述数据流的带宽占用比。

具体的,如图2所示,可以利用流量采集模块实现数据流参数的采集。流量采集模块实现的核心是将流量采集程序挂载到TC(流量控制器)挂载点上,然后根据采集参数的配置信息进行数据流的采集,并将数据流采集结果存储在bpf_map中传递给用户态程序去处理。

采集参数可以预先配置,例如配置采集网卡名称、采样周期、采样间隔等,在对采集网卡、采样周期、采样间隔等参数完成合法校验后,将配置参数存入到bpf_map中,以传递给内核的采样程序;根据采集参数的采集网卡名称,完成采集程序(例如ebpf程序,Extended Berkeley Packet Filte)的编译和挂载。其中采集程序主要获取流量的五元组信息(源IP、目的IP、源端口、目的端口、协议)以及数据包长度,根据五元组信息确定每一类数据流,然后以五元组信息为key值,数据包长度为value值存入到bpf_map中,以传递给用户态的程序,bpf_map的数据存储结构可以如图3所示。当采样间隔时间到达后,清空之前的采集信息并在采样周期内重新统计每一类数据流的数据包长度。然后根据数据包长度确定每一类数据流的带宽占用比。

在一些实施例中,所述根据所述数据包长度确定每一类所述数据流的带宽占用比的步骤,进一步包括:

利用所述数据包长度除以所述采样周期得到的值再除以所述网卡的带宽,得到所述带宽占用比。

具体的,如图4所示,可以利用流量预处理模块完成数据流的预处理。根据配置的采集信息,可以获取采集网卡的带宽速率,记为

需要说明的是,由于带宽速率是以bit计,若数据包长度是以Byte为单位进行统计,则需要在公式中乘以8。

在一些实施例中,方法还包括:

放弃对所述带宽占用比不大于第一阈值的所述数据流进行限速处理。

具体的,在得到每一类数据流的带宽占用比后,即能完成流量数据的清洗。其核心实现是判断每一类数据流的带宽占用比是否小于第一阈值

在一些实施例中,所述筛选并记录所述带宽占用比大于第一阈值的所述数据流的步骤,进一步包括:

获取预先配置的流分类策略;

响应于所述流分类策略为精确分类,以所述数据流的源IP、目的IP、源端口、目的端口以及协议为key值,所述带宽占用比为value值,记录所述带宽占用比大于第一阈值的所述数据流。

具体的,若存在带宽占用比大于第一阈值的所述数据流,则可以利用数据流分类模块筛选所述带宽占用比大于第一阈值的所述数据流,并根据流分类策略进行数据存储。

在配置采集参数时,还可以配置流分类策略,可以利用数据流分类模块提供丰富的流分类策略,从分类策略层面可以分为聚合分类和精确分类两种。其中精确分类是默认的流分类策略,其分类数据为筛选出的带宽占用比大于第一阈值的数据流,同样采用map的存储结构,key值为数据流的五元组信息,value值为带宽占用比。这样可以明确知道每类流量的五元组信息与带宽占用比,能够实现更加精确的流量限速控制。

在一些实施例中,方法还包括:

响应于所述流分类策略为聚合分类,获取预先配置的聚合要素,其中所述聚合要素包括源IP、目的IP、源端口、目的端口和协议中的至少一种;

将符合所述聚合要素的若干个所述数据流对应的所述带宽占用比相加得到每一个聚合数据流对应的带宽占用比并与所述第一阈值相比对;

响应于所述聚合数据流对应的所述带宽占用比大于第一阈值,以所述聚合要素为key值,对应的所述带宽占用比为value值,记录所述带宽占用比大于第一阈值的所述聚合数据流。

具体的,聚合分类是一种高级的流分类策略,可以基于用户指定的聚合要素将多类符合聚合要素的数据流聚合为一类。其中聚合要素包括源IP、目的IP、协议、源端口、目的端口中的至少一种。例如当聚合要素是源IP时,只要数据流中包括了该聚合要素对应的源IP,则进行聚合,并将每一个参与聚合的数据流的带宽占用比相加得到聚合数据流对应的宽占用比。

采用聚合分类策略后数据流存储数据会发生变化,符合聚合要素的多类数据流会聚合为一个,其key值为聚合要素,value值为多类符合聚合要素流的带宽占用比之和。采用聚合分类策略可以实现对某些特异性流量的全面限速控制。这样存储的数据结构可以如图5所示。

在一些实施例中,所述从所述带宽占用比大于第一阈值的所述数据流中筛选出所述带宽占用比小于第二阈值的若干类第一数据流以及所述带宽占用比不小于所述第二阈值的若干类第二数据流的步骤,进一步包括:

判断记录的每一个所述聚合数据流和/或所述数据流的带宽占用比是否均小于所述第二阈值;

响应于存在所述带宽占用比不小于所述第二阈值的所述聚合数据流和/或所述数据流,将所述带宽占用比大于所述第一阈值小于第二阈值的所述数据流作为所述第一数据流,并将所述带宽占用比不小于所述第二阈值的所述聚合数据流和/或所述数据流作为所述第二数据流,以开启带宽补偿和带宽抑制。

在一些实施例中,方法还包括:

响应于记录的每一个所述聚合数据流和/或所述数据流的带宽占用比均小于所述第二阈值,不开启带宽补偿和带宽抑制。

具体的,如图6所示,可以利用限速策略模块读取数据流分类模块存储的分类数据后,依次判断每一类数据流的带宽占用比(

若所有流量的带宽占用比都小于第二阈值

这样限速策略模块结合当前的数据流以及带宽占用比的情况能够实现突发流量的快速识别、大流量的带宽抑制以及带宽资源的合理分配等功能。

在一些实施例中,所述计算用于补偿所述第一数据流的带宽占用比的第一参考带宽比以及对用于抑制所述第二数据流的带宽占用比的第二参考带宽比的步骤,进一步包括:

根据每一类所述第二数据流的带宽占用比以及所述第二数据流的数量计算补偿带宽比并将每一类所述第一数据流的带宽占用比加上所述补偿带宽比作为所述第一数据流的第一参考带宽比;

将所述第二阈值作为每一类所述第二数据流的第二参考带宽比。

在一些实施例中,所述根据每一类所述第二数据流的带宽占用比以及所述第二数据流的数量计算补偿带宽比并将每一类所述第一数据流的带宽占用比加上所述补偿带宽比作为所述第一数据流的第一参考带宽比的步骤,进一步包括:

根据下式计算所述补偿带宽比∆:

其中,

具体的,启用带宽抑制和带宽补偿后,将第二数据流的带宽占用比调整为

其中,

在一些实施例中,方法还包括:

获取预先设置的兴趣数据流的关键元素和所述兴趣数据流对应的带宽占用比,其中所述关键元素包括源IP、目的IP、源端口、目的端口和协议中的至少一种;

根据所述关键元素匹配每一类所述第一数据流和每一类所述第二数据流;

响应于有所述第一数据流或所述第二数据流匹配成功,将匹配成功的所述第一数据流或第二数据流设置为所述兴趣数据流,并将所述带宽占用比设置为所述兴趣数据流对应的带宽占用比,并基于所述兴趣数据流对应的带宽占用比对所述兴趣数据流进行流量限速处理。

具体的,在采集参数中还可以配置用户设置的兴趣数据流的关键元素和兴趣数据流对应的带宽占用比,关键元素包括源IP、目的IP、源端口、目的端口和协议中的至少一种。

根据关键元素匹配每一类第一数据流和第二数据流,若匹配,则将此数据流设置为兴趣数据流,并设置带宽占用比为用户设定值。

在一些实施例中,所述根据所述限速策略、所述第一参考带宽比、所述第二参考带宽比确定每一类所述第一数据流的实际带宽比、每一类所述第二数据流的实际带宽比的步骤,进一步包括:

响应于所述限速策略为公平分配策略,根据下式确定每一类所述第一数据流和每一类所述第二数据流的实际带宽比:

其中,

在一些实施例中,方法还包括:

响应于所述限速策略为比例分配策略,根据下式确定每一类所述第一数据流和每一类所述第二数据流的实际带宽比:

其中,

具体的,在完成带宽抑制、带宽补偿和用户感兴趣流量的自定义设置后,得到了全新的数据流分类数据。将以此数据流分类数据为基础,执行带宽占用比的分配策略。

其中,带宽占用比的分配策略可分为公平分配策略和按比例分配策略两种。当然为不影响在采样间隔期间其他类别流量的正常访问,会预留总带宽的

公平分配策略是指不同的数据流平均分配可用的网络带宽资源,平均分配的计算方法如下:

其中,

其中,

在一些实施例中,所述基于所述兴趣数据流对应的带宽占用比对所述兴趣数据流进行流量限速处理的步骤,进一步包括:

根据所述兴趣数据流对应的带宽占用比和所述网卡的带宽确定所述兴趣数据流的带宽限速值;

根据所述兴趣数据流的带宽限速值对所述兴趣数据流进行流量限速处理。

具体的,在完成各类数据流的网络带宽资源分配后,将生成HTB(Hierarchy TokenBucket,分层令牌桶)的配置数据。其中,将每类数据流的五元组信息或者聚合要素生成HTB的流分类器,将各类数据流的网络带宽占用比按照

在一些实施例中,还可以利用日志收集模块主要将网卡自适应限速处理流程中的关键步骤和数据写入日志文件中,方便对流程分析与排错处理。

在一些实施例中,方法还包括:

响应于接收到第一预设命令,显示每一类所述数据流的匹配条件;

响应于接收到第二预设命令,显示每一类数据流的带宽限速值。

具体的,可以从HUB上拉取网卡自适应限速的工作镜像;编写configMap资源,设置网卡自适应限速的配置参数,如网卡名称、采样周期、采样间隔等关键参数;在需要自适应限速功能的节点上部署自适应限速的工作镜像,并查看此工作负载的运行状态是否为Running状态;在工作负载运行状态为Running后,通过tc filter命令查看设定的网卡上是否挂载了流量采样的ebpf程序;查看日志文件,查看ebpf程序是否已经开启流采样和自适应网卡限速的处理流程;通过ip link 命令查看设定网卡上是否存在HTB的qdisc,通过tcfilter show dev命令查看各类数据流的匹配条件;通过tc class show dev命令查看各类数据流的限速值。用iperf模拟大流量压测,查看网卡自适应限速的处理结果。

本发明提出的方案通过实现网卡的流量采集并完成对流量特性分析,以实现大流量的快速识别、带宽抑制和自适应网卡限速功能,提高网络稳定性。

基于同一发明构思,根据本发明的另一个方面,本发明的实施例还提供了一种网卡限速系统700,如图7所示,包括:

采集模块701,配置为对网卡接收到的至少一类数据流的参数进行采集以确定采集到的每一类所述数据流的带宽占用比;

筛选模块702,配置为筛选并记录所述带宽占用比大于第一阈值的所述数据流;

计算模块703,配置为从所述带宽占用比大于第一阈值的所述数据流中筛选出所述带宽占用比小于第二阈值的若干类第一数据流以及所述带宽占用比不小于所述第二阈值的若干类第二数据流,并计算用于补偿所述第一数据流的带宽占用比的第一参考带宽比以及用于抑制所述第二数据流的带宽占用比的第二参考带宽比;

限速模块704,配置为获取限速策略并根据所述限速策略、所述第一参考带宽比、所述第二参考带宽比对网卡进行限速。

在一些实施例中,所述获取限速策略并根据所述限速策略、所述第一参考带宽比、所述第二参考带宽比对网卡进行限速的步骤,进一步包括:

根据所述限速策略、所述第一参考带宽比、所述第二参考带宽比确定每一类所述第一数据流的实际带宽比、每一类所述第二数据流的实际带宽比;

根据每一类所述第一数据流的实际带宽比确定每一类所述第一数据流的带宽限速值以及根据每一类所述第二数据流的实际带宽比确定每一类所述第二数据流的带宽限速值;

根据每一类所述第一数据流的带宽限速值对相应的所述第一数据流进行流量限速处理,并根据每一类所述第二数据流的带宽限速值对相应的所述第二数据流进行流量限速处理。

在一些实施例中,所述对网卡接收到的至少一类数据流的参数进行采集以确定采集到的每一类所述数据流的带宽占用比的步骤,进一步包括:

获取预先配置的采样周期和采样间隔;

响应于达到所述采样间隔,对待限速的网卡在采样周期内接收到的数据流的参数进行采集并根据源IP、目的IP、源端口、目的端口以及协议对所述数据流进行分类,并基于所述分类的结果确定每一类所述数据流的带宽占用比。

在一些实施例中,所述基于所述分类的结果确定采集到的每一类所述数据流的带宽占用比的步骤,进一步包括:

在所述采样周期内统计每一类数据流的数据包长度;

根据所述数据包长度确定每一类所述数据流的带宽占用比。

在一些实施例中,所述根据所述数据包长度确定采集到的每一类所述数据流的带宽占用比的步骤,进一步包括:

利用所述数据包长度除以所述采样周期得到的值再除以所述网卡的带宽,得到所述带宽占用比。

在一些实施例中,所述筛选并记录所述带宽占用比大于第一阈值的所述数据流的步骤,进一步包括:

获取预先配置的流分类策略;

响应于所述流分类策略为精确分类,以所述数据流的源IP、目的IP、源端口、目的端口以及协议为key值,所述带宽占用比为value值,记录所述带宽占用比大于第一阈值的所述数据流。

在一些实施例中,还包括:

响应于所述流分类策略为聚合分类,获取预先配置的聚合要素,其中所述聚合要素包括源IP、目的IP、源端口、目的端口和协议中的至少一种;

将符合所述聚合要素的若干个所述数据流对应的所述带宽占用比相加得到每一个聚合数据流对应的带宽占用比并与所述第一阈值相比对;

响应于所述聚合数据流对应的所述带宽占用比大于第一阈值,以所述聚合要素为key值,对应的所述带宽占用比为value值,记录所述带宽占用比大于第一阈值的所述聚合数据流。

在一些实施例中,所述从所述带宽占用比大于第一阈值的所述数据流中筛选出所述带宽占用比小于第二阈值的若干类第一数据流以及所述带宽占用比不小于所述第二阈值的若干类第二数据流的步骤,进一步包括:

判断记录的每一个所述聚合数据流和/或所述数据流的带宽占用比是否均小于所述第二阈值;

响应于存在所述带宽占用比不小于所述第二阈值的所述聚合数据流和/或所述数据流,将所述带宽占用比大于所述第一阈值小于第二阈值的所述数据流作为所述第一数据流,并将所述带宽占用比不小于所述第二阈值的所述聚合数据流和/或所述数据流作为所述第二数据流,以开启带宽补偿和带宽抑制。

在一些实施例中,还包括:

响应于记录的每一个所述聚合数据流和/或所述数据流的带宽占用比均小于所述第二阈值,不开启带宽补偿和带宽抑制。

在一些实施例中,所述计算用于补偿所述第一数据流的带宽占用比的第一参考带宽比以及对用于抑制所述第二数据流的带宽占用比的第二参考带宽比的步骤,进一步包括:

根据每一类所述第二数据流的带宽占用比以及所述第二数据流的数量计算补偿带宽比并将每一类所述第一数据流的带宽占用比加上所述补偿带宽比作为所述第一数据流的第一参考带宽比;

将所述第二阈值作为每一类所述第二数据流的第二参考带宽比。

在一些实施例中,所述根据每一类所述第二数据流的带宽占用比以及所述第二数据流的数量计算补偿带宽比并将每一类所述第一数据流的带宽占用比加上所述补偿带宽比作为所述第一数据流的第一参考带宽比的步骤,进一步包括:

根据下式计算所述补偿带宽比∆:

其中,

在一些实施例中,还包括:

获取预先设置的兴趣数据流的关键元素和所述兴趣数据流对应的带宽占用比,其中所述关键元素包括源IP、目的IP、源端口、目的端口和协议中的至少一种;

根据所述关键元素匹配每一类所述第一数据流和每一类所述第二数据流;

响应于有所述第一数据流或所述第二数据流匹配成功,将匹配成功的所述第一数据流或第二数据流设置为所述兴趣数据流,并将所述带宽占用比设置为所述兴趣数据流对应的带宽占用比,并基于所述兴趣数据流对应的带宽占用比对所述兴趣数据流进行流量限速处理。

在一些实施例中,所述根据所述限速策略、所述第一参考带宽比、所述第二参考带宽比确定每一类所述第一数据流的实际带宽比、每一类所述第二数据流的实际带宽比的步骤,进一步包括:

响应于所述限速策略为公平分配策略,根据下式确定每一类所述第一数据流和每一类所述第二数据流的实际带宽比:

其中,

在一些实施例中,还包括:

响应于所述限速策略为比例分配策略,根据下式确定每一类所述第一数据流和每一类所述第二数据流的实际带宽比:

其中,

在一些实施例中,所述基于所述兴趣数据流对应的带宽占用比对所述兴趣数据流进行流量限速处理的步骤,进一步包括:

根据所述兴趣数据流对应的带宽占用比和所述网卡的带宽确定所述兴趣数据流的带宽限速值;

根据所述兴趣数据流的带宽限速值对所述兴趣数据流进行流量限速处理。

在一些实施例中,还包括参考模块,配置为:

响应于接收到第一预设命令,显示每一类所述数据流的匹配条件;

响应于接收到第二预设命令,显示每一类数据流的带宽限速值。

基于同一发明构思,根据本发明的另一个方面,如图8所示,本发明的实施例还提供了一种计算机设备801,包括:

至少一个处理器820;以及

存储器810,存储器810存储有可在处理器上运行的计算机程序811,处理器820执行程序时执行如上的任一种网卡限速方法的步骤。

基于同一发明构思,根据本发明的另一个方面,如图9所示,本发明的实施例还提供了一种计算机可读存储介质901,计算机可读存储介质901存储有计算机程序910,计算机程序910被处理器执行时执行如上的任一种网卡限速方法的步骤。

最后需要说明的是,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关硬件来完成,程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。

此外,应该明白的是,本文的计算机可读存储介质(例如,存储器)可以是易失性存储器或非易失性存储器,或者可以包括易失性存储器和非易失性存储器两者。

本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件和软件的这种可互换性,已经就各种示意性组件、方块、模块、电路和步骤的功能对其进行了一般性的描述。这种功能是被实现为软件还是被实现为硬件取决于具体应用以及施加给整个系统的设计约束。本领域技术人员可以针对每种具体应用以各种方式来实现的功能,但是这种实现决定不应被解释为导致脱离本发明实施例公开的范围。

以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。

应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。

上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。

相关技术
  • 一种数据存储方法、调度装置、系统、设备及存储介质
  • 一种存储系统的状态检测方法、装置、设备及存储介质
  • 一种数据存储方法、系统、智能可穿戴设备及存储介质
  • 一种存储系统的构建方法、装置、设备及存储介质
  • 一种镀膜设备的控制方法及系统,镀膜设备及存储介质
  • 一种基于物联网卡月流量套餐的限速方法、系统及设备
  • 基于网卡的存储优化方法、系统、电子设备及存储介质
技术分类

06120116506191