CN102035748B - 一种基于应用的流量控制方法及流量控制器 - Google Patents
一种基于应用的流量控制方法及流量控制器 Download PDFInfo
- Publication number
- CN102035748B CN102035748B CN201010618729.7A CN201010618729A CN102035748B CN 102035748 B CN102035748 B CN 102035748B CN 201010618729 A CN201010618729 A CN 201010618729A CN 102035748 B CN102035748 B CN 102035748B
- Authority
- CN
- China
- Prior art keywords
- packet
- application
- type
- queue
- specific
- 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
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例公开了一种基于应用的流量控制方法及流量控制器,该方法包括:识别接收到的数据包的类型;当数据包为交互型数据包时,根据预设的包括带宽控制和延时控制的第一流量控制规则,对所述数据包进行流量控制后存入高优先级存放队列中;当所述数据包为正常型数据包时,根据预设的第二流量控制规则,对所述数据包进行流量控制后存入低优先级存放队列中;按存放队列的优先权等级,依次输出数据包。本发明通过将流量控制规则细分为第一流量控制规则和第二流量控制规则,分别对识别出的交互型数据包和正常型数据进行流量控制,保证交互型数据包的带宽和时延的要求,同时也不会影响到非交互的正常型数据包的传输,提升了用户的应用访问体验。
Description
技术领域
本发明涉及计算机领域,尤其涉及一种基于应用的流量控制方法及流量控制器。
背景技术
通用的设备流量控制技术当中,仅仅对各类应用做保证带宽和最大带宽的限制,当没有其他应用流量时,最大利用剩余带宽,提高传输效率。对于大多数交互性比较少的应用来说,这种策略基本能达到客户需求,做到对带宽管控的目的。
对于交互型的应用,由于其对延时的要求较高,即使通过现有的流量控制技术对其进行保证带宽和最大带宽的限制,但由于其流量跑不起来,带宽还是被其他的非交互应用给抢了,导致延迟增加,交互变慢。因此,现有的技术在带宽管控方面做得比较好,但延迟保障是没有的,即使在流控里面可以保证包的一个最小时延例如200ms或500ms,但对于某些特定的应用还是显得过长,尤其是交互的时候。
在现实的用户应用场景当中,某些应用包括交互阶段和非交互阶段,比如ftp应用,当在ftp命令交互阶段,属于交互阶段,相信每个客户都希望ftp的命令交互能快一点,保证交互的延迟尽量的短,而在文件下载时,它又属于非交互阶段,希望对其做带宽管控;再比如http应用,打开页面时,浏览器和服务器之间需要交互获取网页对象,这时http应用处于交互阶段,但在下载文件时,又属于非交互阶段。因此,特定应用的交互数据包在进行流量处理时,若刚好处于其它应用流量需求比较大的情况下,则会得不到优先处理,导致延时较长,那么用户会误以为应用访问不了或在一定的程度上考验用户的耐心。
现有的流量控制技术并不能够基于具体的应用或者应用所处的阶段进行流量控制,而是要么对应用仅做带宽保证,要么对应用打上延迟敏感标记仅做延迟保证,都没有对普通应用,交互型的特定应用或者既存在交互也存在非交互的应用的流量控制做细化地控制处理,使得对于仅做了带宽保证的应用中的交互型数据包,即使做了带宽保证但由于流量小还是被抢占了带宽,导致交互型数据包被延迟处理或被丢弃掉,而对于打上延迟敏感标记仅做延迟保证的应用,其处于非交互阶段的正常型数据包会占用了交互型数据包的带宽,导致交互型数据包被延迟处理或被丢弃掉,严重影响了用户的应用访问体验。
发明内容
本发明实施例所要解决的技术问题在于,提供一种基于应用的流量控制方法及流量控制器,通过细分流量控制规则结合队列优先服务机制,既可保证交互型数据包的带宽又保证其能得到及时处理,并同时达到对非交互型数据包也做到带宽掌控的目的。
为了解决上述技术问题,本发明实施例提供了一种基于应用的流量控制方法,包括:
通过应用层向驱动层下发预设的流量控制应用表、特定应用交互型索引表以及包括第一流量控制规则、第二流量控制规则的细分类别流量控制规则,所述第一流量控制规则包括:交互型数据包对应的特定应用的应用类别流量控制规则和其他类别流量控制规则,所述第二流量控制规则包括:正常型数据包对应的应用的应用类别流量控制规则和其他类别流量控制规则;当接收到数据包时,识别所述数据包的类型,所述数据包的类型包括:交互型数据包和正常型数据包;
当识别出所述数据包为交互型数据包时,根据预设的第一流量控制规则,对所述交互型数据包进行流量控制处理,并将流量控制处理后的交互型数据包存入高优先级存放队列中;
当识别出所述数据包为正常型数据包时,根据预设的第二流量控制规则,对所述正常型数据包进行流量控制处理,并将流量控制处理后的正常型数据包存入低优先级存放队列中;
按存放队列的优先权等级,依次输出相应存放队列中的数据包。
相应地,本发明实施例还提供了一种基于应用的流量控制器,包括:
用户层控制模块,用于获取预设的流量控制应用表、特定应用交互型索引表以及包括特定应用的第一流量控制规则和第二流量控制规则的细分类别流量控制规则;
识别模块,用于当接收到数据包时,识别所述数据包的类型,所述数据包的类型包括:交互型数据包和正常型数据包;
控制模块,用于当所述识别模块识别出所述数据包为交互型数据包时,根据预设的第一流量控制规则,对所述交互型数据包进行流量控制处理,并将流量控制处理后的交互型数据包存入高优先级存放队列中;
当识别出所述数据包为正常型数据包时,根据预设的第二流量控制规则,对所述正常型数据包进行流量控制处理,并将流量控制处理后的正常型数据包存入低优先级存放队列中;
发送模块,用于按存放队列的优先权等级,依次输出相应存放队列中的数据包。
实施本发明实施例,具有如下有益效果:
通过将流量控制规则细分为第一流量控制规则和第二流量控制规则,分别对识别出的交互型数据包和正常型数据进行相应的流量控制,保证交互型数据包的带宽和时延的要求,同时也不会影响到非交互的正常型数据包的传输,提升了用户的应用访问体验。
附图说明
图1是本发明的基于应用的流量控制器的第一实施例结构组成示意图;
图2是本发明的基于应用的流量控制器的第二实施例结构组成示意图;
图3是本发明的基于应用的流量控制器的第三实施例结构组成示意图
图4是本发明的基于应用的流量控制方法的第一实施例流程示意图;
图5是本发明的基于应用的流量控制方法的第二实施例流程示意图;
图6是本发明的基于应用的流量控制方法的第三实施例流程示意图
图7是本发明的细分类别流量控制规则的规则树示意图;
图8是本发明的基于应用的流量控制方法中的存放队列示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1是本发明的基于应用的流量控制器的第一实施例结构组成示意图;该流量控制器设置于驱动设备中,其包括:
识别模块1,用于当接收到数据包时,识别所述数据包的类型,所述数据包的类型包括:交互型数据包和正常型数据包。
具体的,当驱动设备接收到数据包时,所述流量控制器首先可查看该数据包对应的连接跟踪信息中的类别标识来确定该数据包的类型,并确定是否为用户定义的特定应用的数据包,若所述连接跟踪信息中并未设置类别标识,则可根据该数据包中包括的五元组信息以及流量控制应用表,判断该数据包所对应的应用的类型,所述五元组信息包括源地址信息、源端口信息、目的地址信息、目的端口信息,协议类型,然后判断该类型的应用是否在特定应用交互型索引表中记录,从而判断该数据包是否为特定应用所对应的数据包,其中,所述流量控制应用表和所述特定应用交互型索引表可以是由用户在应用层定义的,所述流量控制应用表中包括五元组信息和与五元组信息呈一一对应关系的应用类型,所述特定应用索引表包括一个或者多个用户设置的特定应用的应用类型。
另外,也可以通过提取数据包中的特征码,根据一个或者多个数据包的特征码识别该数据包的类型,以及具体是否为特定应用的数据包。
当确定接收到的数据包并不是特定应用所对应的数据包时,确定该数据包为普通应用的数据包;
当确定接收到的数据包为特定应用所对应的数据包时,所述识别模块1可根据所述数据包的长度,或者通过判断所述数据包中是否包括交互命令标志的方式,识别所述数据包的类型,所述数据包的类型包括:交互型数据包和正常型数据包,当识别出所述数据包为交互型数据包时,确定该数据包对应的特定应用当前处于交互阶段,当识别出所述数据包为正常型数据包时,确定该数据包为特定应用处于一般阶段如数据下载阶段的数据包。
控制模块2,用于当所述识别模块1识别出所述数据包为交互型数据包时,根据预设的第一流量控制规则,对所述交互型数据包进行流量控制处理,并将流量控制处理后的交互型数据包存入高优先级存放队列中;
当识别出所述数据包为正常型数据包时,根据预设的第二流量控制规则,对所述正常型数据包进行流量控制处理,并将流量控制处理后的正常型数据包存入低优先级存放队列中;
发送模块3,用于按存放队列的优先权等级,依次输出相应存放队列中的数据包。所述高优先级存放队列的优先权等级高于所述低优先级存放队列。
具体的,所述第一流量控制规则和所述第二流量控制规则是由用户预先设置后,下发给驱动层中的所述控制模块2的,其中,所述第一流量控制规则包括对相应的一个或者多个特定应用的交互型数据包的带宽控制和延时控制的流量控制,以对交互型数据包进行带宽保证和延迟保证,例如,包括对ftp、http等特定应用的交互型数据包的带宽的大小,上行时的带宽,下行时的带宽等;所述第二流量控制规则包括带宽控制,用于对特定应用的正常型数据包以及普通应用的正常型数据包进行带宽控制,仅做带宽保证。
所述发送模块3优先处理输出高优先级存放队列中的交互型数据包,当高优先级存放队列中的交互型数据包为空时,所述发送模块3处理输出所述低优先级存放队列中的正常型数据包。由于交互型数据包中仅包括一些数据量较小的控制指令,所述发送模块3很快就会处理输出完,处理完后即释放相应的带宽供所述发送模块3处理输出低优先级存放队列中的普通应用的正常型数据包和/或特定应用中的非交互阶段的正常型数据包。
通过上述实施例的描述可知,本发明具有以下优点:
通过细分流量控制规则结合队列优先服务机制的方式即优先处理高优先权的存放队列,对识别出的交互型数据包和正常型数据分别设置第一流量控制规则和第二流量控制规则进行流量控制,并将数据包存储在相应优先权等级的存放队列中,保证交互型数据包的带宽和时延的要求,同时也不会影响到非交互的正常型数据包的传输,提升了用户的应用访问体验。
再请参见图2,是本发明的基于应用的流量控制器的第二实施例结构组成示意图,本实施例中的流量控制器包括上述实施例中的识别模块1、控制模块2、发送模块3,进一步的,如图2所示,该流量控制器还包括:用户层控制模块4,监测模块5以及删除模块6,其中,
所述用户层控制模块4,用于获取预设的流量控制应用表、特定应用交互型索引表以及包括特定应用的第一流量控制规则和第二流量控制规则的细分类别流量控制规则。
具体的,可通过向用户提供用户界面的方式,获取用户设置的流量控制应用表、特定应用交互型索引表,其中,所述流量控制应用表的每项为应用的源地址范围和端口范围,应用的目的地址范围和端口范围,协议类别+应用类型,并根据包括特定应用的第一流量控制规则、第二流量控制规则和其他一些类别流量控制规则的细分类别流量控制规则,构成控制规则树,所述第一流量控制规则包括:各类交互型数据包对应的特定应用的应用类别流量控制规则和其他类别流量控制规则,所述第二流量控制规则包括:各类正常型数据包对应的普通应用或者特定应用的应用类别流量控制规则和其他类别流量控制规则。
特定应用的交互型数据包根据所述第一流量控制规则中的特定应用的应用类别流量控制规则进行流量控制,其处理输出的优先级最高,存入高优先级存放队列中;对于在根据数据包中的特征码识别该数据包的应用类型的过程中,根据所述第一流量控制规则中的其他类别流量控制规则对该数据包进行流量控制,其处理输出的优先级低于特定应用的交互型数据包,存入第三优先级存放队列中;对于特定应用的正常型数据包和普通应用的正常型数据包,根据第二流量控制规则中的相应应用的应用类别流量控制规则进行流量控制,其处理输出的优先级低于未确定出是否为特定应用的交互型数据包的特定应用数据包,存入低优先级存放队列中;而对于未能识别出是何种应用类型的数据包,根据第二流量控制规则中的其他类别流量控制规则进行流量控制,其优先级最低,存入第四优先级存放队列中。
将获取到的用户设置的所述预设的流量控制应用表、特定应用交互型索引表以及控制规则树即细分类别流量控制规则下发给驱动层,以使所述识别模块1和所述控制模块2进行数据包的识别以及流量控制规则的设置与处理操作。
监测模块5,用于当采用根据所述数据包中包括的五元组信息以及流量控制应用表识别所述数据包所对应的应用的类型时,监测所述高优先级存放队列、所述低优先级存放队列以及所述第四优先级存放队列中的数据包的个数;
或者当采用从数据包中提取出的特征码的方式识别所述数据包所对应的应用的类型时,监测所述高优先级存放队列、所述低优先级存放队列、所述第三优先级存放队列以及所述第四优先级存放队列中的数据包的个数。
所述删除模块6,用于当所述监测模块5监测到相应存放队列的数据包的个数达到预设的数量阈值时,根据对相应存放队列中的数据包设置的丢包优先系数以及预设的系数阈值,删除相应存放队列中的数据包,并使所述控制模块2停止向相应的存放队列存入数据包。
具体的,可通过所述监测模块5对高优先级存放队列中的数据包的个数进行监测,用户可预先设置相应的数据包数量阈值,当所述监测模块5监测到所述高优先级存放队列中的数据包的个数达到用户预设的所述数量阈值时,则表明该队列即将发生拥塞,所述删除模块6根据当前识别出的交互型数据包的丢包优先级,结合高优先级数据包入队而低优先级数据包丢弃的方式,删除相应的低优先级数据包,并通知所述控制模块2停止向高优先级存放队列中存入数据包,保证队列中的数据进行稳定处理和发送。低优先级存放队列、第三优先级存放队列和第四优先级存放队列采用同样的执行策略。
例如,高优先级存放队列为无拥塞控制的流量包(如延迟敏感流量,交互型数据包),所述高优先级存放队列中包括P1、P2、、Pk、、PK1,即包含K1个丢包优先级,其中k是优先系数,k=1(例如P1)相对于最高的丢包优先级。当队列缓冲占有率超过了用户设置的个数阈值Pk(1<k<K1)时,则仅有丢包优先级是从1到k-1的数据包被允许输入到高优先级存放队列进行输出,而其他优先级的包则被丢弃,即在第Pk-1个交互型数据包之后识别出的交互型数据包被丢弃。同样的,对于低优先级存放队列、第三优先级存放队列和第四优先级存放队列执行同样的丢包策略。
当某一应用建立时,该应用对应的所有的数据包根据连接跟踪信息进行数据传递,在本实施例中,当接收到数据包时,所述识别模块1判断所述数据包对应的连接跟踪信息中是否包括类别标识,若存在,则可直接根据该类别标识,识别确定出该数据包所对应的应用的类型以及是否为特定应用,以便于能够最终识别出该数据包是交互型数据包还是正常型数据包;
若不存在,则所述识别模块1首先可对该数据包的应用类型进行判断识别,并在识别出所述数据包所对应的应用的类型后,判断在所述用户层控制模块下发的特定应用交互型索引表中是否记录有识别出的所述类型,若判断结果为记录有识别出的所述类型,则确定所述数据包所对应的应用为特定应用,否则,为普通应用,不论判断的结果是普通应用或是特定应用,所述识别模块1均会在该数据包所对应的连接跟踪信息中设置类别标识,所述类别标识的组合为:是否为特定应用+应用类型,设置所述类别标识的作用在于:一方面,对于后续的与该数据包为同一应用的数据包,所述识别模块1能够直接根据连接跟踪信息的类别标识,识别其所对应的应用的类型;另一方面可使得所述控制模块2能够根据所述类别标识,采用与所述类别标识所指示的应用所对应的应用类别流量控制规则,对所述数据包进行流量控制处理。
具体的,如图2所示,所述识别模块1可包括:
第一判断单元111,用于判断所述数据包所对应的应用是否为特定应用;具体的,所述第一判断单元111在执行判断过程中,可通过以下子单元对接收到的数据包是否为特定应用进行判断:
第一判断子单元,用于判断所述数据包所对应的连接跟踪信息中是否包括类别标识;
第一应用类型识别子单元,用于当所述第一判断子单元检测判断的结果为是时,根据所述类别标识,识别所述数据包所对应的应用的类型,并确定出所述数据包的应用是否为特定应用;或者,用于当所述第一判断子单元判断的结果为否时,根据所述数据包所包括的五元组信息和所述用户层控制模块下发的流量控制应用表,识别所述数据包的应用的类型,并在识别出类型后,判断在所述特定应用交互型索引表中是否记录有识别出的所述类型,若判断结果为记录有识别出的所述类型,则确定所述数据包所对应的应用为特定应用,否则,为普通应用,同时根据判断结果,在所述数据包的连接跟踪信息中设置与识别出的所述类型相对应的类别标识,其中,所述类别标识的格式为:是否为特定应用+应用类型。具体的,在传输过程中,各类应用的数据包中均包括一个五元组用于路由和过滤,所述五元组包括:应用的源地址和端口、应用的目的地址和端口、协议类型,所述流量控制应用表则包括至少一个五元组信息以及与每一个五元组信息一一对应的应用类型。
第一识别单元112,用于当所述第一判断单元111的判断结果为否时,确定所述数据包为普通应用的正常型数据包,当判断结果为是时,确定所述数据包为特定应用的数据包;长度判断单元113,用于当所述第一识别单元112确定所述数据包为特定应用的数据包,判断所述特定应用的数据包的长度是否小于预设的长度阈值;
第二识别单元114,用于当所述长度判断单元113判断结果为所述特定应用的数据包的长度小于预设的长度阈值时,则识别确定所述数据包为交互型数据包,在所述交互型数据包中设置延时敏感标志,否则,识别确定所述数据包为正常型数据包。
具体的,所述第一识别单元112与所述控制模块2和所述长度判断单元113相连接,当所述第一识别单元112确定出所述数据包为普通应用的正常型数据包时,与所述第一识别单元112相连接的所述控制模块2便可根据所述细分类别流量控制规则中的第二流量控制规则中的与所述正常型数据包的类别标志相对应的应用的应用类别流量控制规则,对所述正常型数据包进行流量控制处理,并将流量控制处理后的正常型数据包存入低优先级存放队列中;
当所述第一识别单元112确定出所述数据包为特定应用的数据包时,与所述第一识别单元112相连接的所述长度判断单元113判断所述特定应用的数据包的长度是否小于预设的长度阈值以便于所述第二识别单元114能够判断该数据包为特定应用对应的交互型数据包还是特定应用的正常型数据包,其判断依据为:交互型数据包的特点为长度较小,仅有几十个字节甚至仅几个字节,根据该特点,所述长度判断单元113通过判断所述特定应用的数据包的长度是否小于用户预设的长度阈值的方式进行判断,当所述长度判断单元113的判断结果为所述特定应用的数据包的长度小于预设的长度阈值时,例如小于用户预设的50个字节,所述第二识别单元114便可识别出所述数据包为交互型数据包,该数据包所对应的应用处于交互阶段,同时,在所述交互型数据包中设置延时敏感标志;否则,识别出为特定应用的正常型数据包,该数据包所对应的应用处于非交互阶段。
第二识别单元114也与所述控制模块2相连接,当所述第二识别单元114识别出所述数据包为交互型数据包时,所述控制模块2根据所述细分类别流量控制规则中第一流量控制规则的,与所述交互型数据包的类别标志相对应的特定应用的应用类别流量控制规则,以及所述延时敏感标志,对所述交互型数据包进行包括带宽控制和延时控制的流量控制处理,并将所述交互型数据包存入高优先级存放队列中;当第二识别单元114识别出所述数据包为正常型数据包时,所述控制模块2根据所述细分类别流量控制规则中的第二流量控制规则中的与所述正常型数据包的类别标志相对应的应用的相应类型应用类别流量控制规则,对所述正常型数据包进行流量控制处理,并将流量控制处理后的正常型数据包存入低优先级存放队列中。
所述第一流量控制规则中包括与多种特定应用相对应的流量控制规则,每一特定应用的交互型数据包的流量控制规则中均包括带宽保证和延迟保证。当所述第二识别单元114识别出接收到的所述数据包为交互型数据包,所述控制模块2采用第一流量控制规则中的,与所述交互型数据包对应的连接跟踪信息中的类别标识所指示的特定应用的应用类别流量控制规则中定义的带宽的大小,上行时的带宽,下行时的带宽等流量控制规则,分配给所述交互型数据包相应的带宽,并根据所述数据包中的延时敏感标志将所述交互型数据包存入高优先级存放队列中优先处理输出保证时延较小的要求。
当所述第一识别单元112识别出接收到的数据包为普通应用的正常型数据包时,或第二识别单元114识别出接收到的数据包为特定应用的正常型数据包时,所述控制模块2根据所述普通应用或者特定应用的正常型数据包对应的连接跟踪信息设置的类别标识以及预设的第二流量控制规则,仅对所述正常型数据包作带宽保证等流量控制,并将所述正常型数据包存入低优先级存放队列中,当高优先级存放队列中的数据包为空时,再行处理输出。对于所述第二流量控制规则中相应应用的应用类别流量控制规则,如CIFS应用类别流量控制规则,这些控制规则都是在非交互阶段生效的。
进一步的,所述控制模块2还用于当所述第一判断单元111的第一应用类型识别单元根据所述数据包中的五元组信息和所述用户层控制模块4下发的流量控制应用表未能识别出所述数据包所对应的应用类型时,根据所述细分类别流量控制规则中第二流量控制规则的其他类别流量控制规则,对所述数据包进行流量控制处理,并将所述数据包存入第四优先级存放队列中,所述第四优先级存放队列的优先权等级低于所述低优先级存放队列。
具体的,若所述第一应用类型识别子单元根据所述数据包所包括的五元组信息和所述用户层控制模块下发的流量控制应用表,无法识别出该数据包所属的应用类型,则该数据包可能为垃圾流量数据包,所述控制模块2根据所述细分类别流量控制规则中第二流量控制规则的其他类别流量控制规则,将所述数据包存入第四优先级存放队列中。所述第四优先级存放队列的优先权等级最低,即当所述高优先级存放队列的数据包处理并输出完后,处理所述低优先级存放队列中的数据包,最后处理所述第四优先级存放队列中的数据包。
再请参见图3,是本发明的基于应用的流量控制器的第三实施例结构组成示意图,本实施例中的所述基于应用的流量控制器与图2所示实施例的不同之处在于:
进行数据包的类型识别时,若数据包所对应的连接跟踪信息中不包括类别标识时,所述识别模块1通过:提取接收到的数据包中的特征码,并对提取的特征码进行分析,识别出所述数据包所对应的应用的类型,然后根据用户设置的特定应用交互型索引表判断该应用类型的应用是否为用户设定的特定应用,并根据判断结果(不论为特定应用还是非特定应用的普通应用),在该数据包所对应的连接跟踪信息中设置类别标识,所述类别标识的格式为:是否为特定应用+应用类型,以便对后续相同应用的数据包,能够根据连接跟踪信息直接判断数据包是否为特定应用及其应用类型,使得所述控制模块2能够直接进行相应的流量控制;
若是特定应用,则该数据包为特定应用所对应的数据包,否则,为普通应用对应的正常型数据包;当判断出该数据包为特定应用所对应的数据包时,通过判断该数据包中是否包括交互命令标志的方式,判断该数据包是否为特定应用的交互型数据包,当包括交互命令标志时,为交互型数据包,否则为特定应用的正常型数据包。
同时,在根据所述特征码识别所述数据包所对应的应用的类型的过程中,为了保证该数据包能够及时的进行处理,可直接根据第一流量控制规则中特定应用的其他应用类别流量控制规则对该数据包进行流量控制,并将其存入优先级低于高优先级存放队列,高于低优先级存放队列的第三优先级存放队列中,优先于已经识别出为正常型数据包输出。
具体的,如图3所示,本实施例的所述基于应用的流量控制器中的识别模块1包括:
第二判断单元121,用于判断所述数据包所对应的应用是否为特定应用;具体的,所述第二判断单元121在执行判断过程中,可通过以下子单元对接收到的数据包是否为特定应用进行判断:
第二判断子单元,用于判断所述数据包所对应的连接跟踪信息中是否包括类别标识;
第二应用类型识别子单元,用于当所述第二判断子单元判断结果为是时,根据所述类别标识,识别所述数据包所对应的应用的类型,并确定出所述数据包的应用是否为特定应用;
提取子单元,用于当所述第二判断子单元判断结果为否时,提取数据包中的特征码;
第三应用类型识别子单元,用于根据所述提取子单元提取的特征码识别所述数据包所对应的应用的类型,并在识别出所述数据包的应用的类型后,判断在所述特定应用交互型索引表中是否记录有识别出的所述类型,若判断结果为记录有识别出的所述类型,则确定所述数据包所对应的应用为特定应用,否则,为普通应用,同时根据判断结果,在所述数据包的连接跟踪信息中设置与识别出的所述类型相对应的类别标识,其中,所述类别标识的组合为:是否为特定应用+应用类型;
第三识别单元122,用于当所述第二判断单元121的判断结果为否时,确定所述数据包为普通应用的正常型数据包,当判断结果为是时,确定所述数据包为特定应用所对应的数据包;交互命令标志识别单元123,用于当所述第三识别单元122确定所述数据包为特定应用所对应的数据包,判断所述特定应用的数据包中是否包括交互命令标志;
第四识别单元124,用于当所述交互命令标志识别单元123的判断结果为所述特定应用的数据包中包括交互命令标志时,则识别确定所述数据包为交互型数据包,并在所述交互型数据包中设置延时敏感标志,否则,识别确定所述数据包为特定应用的正常型数据包。
具体的,所述第三识别单元122与所述控制模块2和所述交互命令标识识别单元123相连接,当所述第三识别单元122确定出所述数据包为普通应用的正常型数据包时,与所述第三识别单元122相连接的所述控制模块2便可根据所述细分类别流量控制规则中的第二流量控制规则中的与所述正常型数据包的类别标志相对应的应用的相应类型应用类别流量控制规则,对所述正常型数据包进行流量控制处理,并将流量控制处理后的正常型数据包存入低优先级存放队列中;
当所述第三识别单元122确定出所述数据包为特定应用的数据包时,与所述第三识别单元122相连接的所述交互命令标识识别单元123对所述数据包进行数据流解析判断,若所述数据包中存在交互命令标志,所述第四识别单元124即可确定所述数据包为相应的特定应用的交互型数据包,确定该特定应用处于交互阶段,并在所述交互型数据包中设置延时敏感标志,否则可确定所述数据包为相应的特定应用的正常型数据包,确定该特定应用处于非交互阶段;
所述第四识别单元124也与所述控制模块2相连接,当所述第四识别单元124识别出所述数据包为交互型数据包时,所述控制模块2根据所述细分类别流量控制规则中第一流量控制规则中的与所述交互型数据包的类别标志相对应的特定应用的应用类别流量控制规则,以及所述延时敏感标志,对所述交互型数据包进行包括带宽控制和延时控制的流量控制处理,并将所述交互型数据包存入高优先级存放队列中;当第四识别单元124识别出所述数据包为正常型数据包时,所述控制模块2根据所述细分类别流量控制规则中的第二流量控制规则中的与所述正常型数据包的类别标志相对应的应用的相应类型应用类别流量控制规则,对所述正常型数据包进行流量控制处理,并将流量控制处理后的正常型数据包存入低优先级存放队列中。
所述控制模块2还用于在所述第二判断单元121的第三应用类型识别子单元根据特征码识别所述数据包所对应的应用的类型过程中,根据所述细分类别流量控制规则中第一流量控制规则中的其他类别流量控制规则,对所述数据包进行流量控制处理,并将所述数据包存入第三优先级存放队列中,其中,所述第三优先级存放队列的优先权等级低于所述高优先级存放队列,高于所述低优先级存放队列。在所述提取子单元从抓取到的若干个数据包中提取特征码,并当所述第三应用类型识别单元还在识别数据包的应用是否为特定应用的过程中,由于抓取的这些数据包基本上都是长度较小的小包,为了保证这些小包也能够优先处理,根据特定应用的第一流量控制规则中的其它类别流量控制规则,对所述数据包进行流量控制处理,并将所述数据包存入第三优先级存放队列中。
所述控制模块2还用于当所述第二判断单元121的第三应用类型识别子单元未能根据提取的特征码识别出所述数据包所对应的应用的类型时,根据所述细分类别流量控制规则中第二流量控制规则的其他类别流量控制规则,对所述数据包进行流量控制处理,并将所述数据包存入第四优先级存放队列中,其中,所述第四优先级存放队列的优先权等级低于所述低先级存放队列,所述第四优先级存放队列的优先权等级最低,即当所述高优先级存放队列的数据包处理并输出完后,处理所述第三优先级存放队列中的数据包,再处理所述低优先级存放队列中的数据包,最后处理第四优先级存放队列中的数据包。
当接收到的所述数据包所对应的连接跟踪信息中并不包括类别标识时,所述识别模块1可以基于数据包的特征码来识别相应协议类型即识别是何种应用,这需要分析若干个数据包,通过所述第二判断单元121的提取子单元提取数据包若干特征码,并对特征码进行支持度和可行度等进行分析,例如对于Http应用,分析其建立连接后的前8个数据包,可以提取3组特征码,例如“0D0A5365727665723A20:Server”、“4B6565702D416C697665:Keep-Alive”、“20485454502F312E310D0A:HTTP/1.1”等。对三组特征码的支持度和可行度等进行分析,所述提取子单元可自动地将前两类字段排除,选择支持度和可行度较高的第三组特征码。
所述第二判断单元121的第三应用类型识别子单元根据所述提取子单元选择提取的特征码,到驱动设备中存储的应用特征码内容库中,查找并判断是否存在与所述特征码相同的应用类型,若没有查找到与所述提取子单元提取的特征码相对应的应用时,所述第三应用类型识别单元可确定所述数据包对应的应用类型未知,则该数据包可能为垃圾流量数据包,所述数据包由所述控制模块2根据所述细分类别流量控制规则中第二流量控制规则的其他类别流量控制规则,对所述数据包进行流量控制处理,并将所述数据包存入第四优先级存放队列中;
当所述第三应用类型识别子单元查找到与所述提取子单元提取的特征码相对应的应用时,确定接收到的所述数据包的应用类型,并在识别出所述数据包的应用的类型后,判断在所述特定应用交互型索引表中是否记录有识别出的所述类型,根据判断结果,在该数据包所对应的连接跟踪信息中设置类别标识,所述类别标识的格式为:是否为特定应用+应用类型,以便对后续相同应用的数据包,能够根据连接跟踪信息直接判断数据包是否为特定应用及其应用类型,使得所述控制模块2能够直接进行相应的流量控制。
其中,所述应用特征码内容库可由用户手动设定,也可由所述驱动设备通过统计大量的长度在几十个字节以内的小的数据包中的特征码的方式,得出所述应用特征码内容库,该库可智能学习和更新。
更进一步的,请参见图7,是本发明的细分类别流量控制规则的规则树示意图,应用层定义两种细分规则类别,第一流量控制规则类和第二流量控制规则类,并把它们的流控规则下发给驱动层供所述流量控制器进行识别和流量控制。
流控规则指的是流控的指标,如保障速率,最大速率,优先级,其中的速率涉及到上行数据流流控或下行数据流流控或双向数据流流控。类别标识是用于表明是哪种应用,当所述流量控制器识别出应用类型后就可以根据这个类别标识找到符合的规则进行控制。
第一流量控制规则类的特点是优先级最高并且权重大,打上该类别的数据包将入队于高优先级存放队列或第三优先级存放队列中。第二流量控制规则类的特点是适用于各个应用的带宽保证,打上该类别的数据包将入队于低优先级存放队列和第四优先级存放队列。如图所示,在线路根类下增加了第一流量控制规则根类,用于处理交互型数据包的规则类,其优先级在同Level下最高,权重大,确保优于同Level下的其它规则类。第一流量控制规则根类下增加了受其管理的各种应用类别规则类。这些规则类优先级小于等于根类优先级,大于第二流量控制规则类。这样双重保证了交互型数据包走第一流量控制规则,能优先于走第二流量控制规则的正常型数据包。
同时正常型数据包可以走第二流量控制规则,在第一流量控制规则根类下的其它命令类别规则主要是为提供给在采用自动识别方式(根据数据包自身的特征码进行应用类型识别的方式)由于需要分析若干包,而这些包基本都可以认为是交互包,这个规则就是给这些包用,并同时给出一个第三优先级存放队列,优先于第二流量控制规则的低优先级存放队列和第四优先级存放队列,但低于高优先级存放队列。在第二流量控制规则根类下提供的其它应用类别规则主要是为提供给在无论采用第一种用户定义识别(根据数据包的五元组信息和用户定义的特定应用交互型索引表进行类型识别以及是否为特定应用的判断的方式)还是第二种自动识别方式若数据包未能识别出来则走这个规则,对应的队列是第四优先级存放队列,优先级最低。
实施本发明实施例,具有以下优点:
通过细分流量控制规则结合队列优先服务机制的方式即优先处理高优先权等级的存放队列中的数据包,对识别出的交互型数据包和正常型数据分别设置第一流量控制规则和第二流量控制规则进行流量控制,并将数据包存储在相应优先级的存放队列中,保证交互型数据包的带宽和时延的要求,同时也不会影响到非交互的正常型数据包的传输,提升了用户的应用访问体验。同时在特定应用的其它命令类别规则对自动识别阶段内未识别出是否为交互型数据包的小包时,也能够保证优先处理特定应用的数据包,普通应用的其他命令类别规则也保证对未能识别出应用类型的垃圾应用做最低级别的处理,保证这些未知的应用不会占用带宽,进一步提高了用户的使用体验。
下面对本发明的基于应用的流量控制方法进行详细描述。
请参见图4,是本发明的基于应用的流量控制方法的第一实施例流程示意图,该方法包括:
S401:当接收到数据包时,识别所述数据包的类型,所述数据包的类型包括:交互型数据包和正常型数据包;
具体的,当驱动设备接收到数据包时,驱动设备中的流量控制器首先可通过查看该数据包对应的连接跟踪信息中的类别标识来确定该数据包的类型,并确定是否为用户定义的特定应用的数据包,若所述连接跟踪信息中并未设置类别标识,则可根据该数据包中包括的应用的源地址和端口、应用的目的地址和端口以及协议类型判断所属的应用类型,再通过判断该类型是否在预设的特定应用交互型索引表中的方式,判断该数据包是否为特定应用所对应的数据包。其中,所述特定应用交互型索引表是由用户在应用层定义的,包括一个或者多个应用。也可以通过提取数据包中的特征码的应用自动识别方式,识别该数据包的应用类型,并根据自动识别出来的应用类型同样去查找特定应用交互型索引表具体是否为特定应用的数据包。
当确定驱动设备接收到的数据包为特定应用所对应的数据包时,可根据所述数据包的长度,或者通过判断所述数据包中是否包括交互命令标志的方式,识别所述数据包的类型,其中,所述数据包的类型包括:交互型数据包和正常型数据包。其中,当所述数据包为交互型数据包时,表明对应的应用处于交互阶段,当为正常型数据包时,则表明对应的应用处于非交互阶段。
S402:当识别出所述数据包为交互型数据包时,根据预设的第一流量控制规则,对所述交互型数据包进行流量控制处理,并将流量控制处理后的交互型数据包存入高优先级存放队列中;
具体的,所述第一流量控制规则中包括与多种特定应用相对应的流量控制规则,每一特定应用相对应的流量控制规则均包括带宽保证和延迟保证。当所述S401识别出接收到的所述数据包为交互型数据包,所述S402根据设置的所述第一流量控制规则中包括的,与所述交互型数据包的相对应的特定应用的流量控制规则中设置的带宽的大小,上行时的带宽,下行时的带宽等流量控制规则,分配给所述交互型数据包相应的带宽,并根据延时敏感标志将所述交互型数据包存入高优先级存放队列中优先处理输出保证时延较小的要求。
S403:将所述交互型数据包存入高优先级存放队列中;
所述高优先级存放队列的优先级最高,将交互型数据包存入高优先级存放队列中可保证交互型数据包能够优先进行处理输出从而保证其处理输出的延迟较小。
S404:当识别出所述数据包为正常型数据包时,根据预设的第二流量控制规则,对所述正常型数据包进行流量控制处理;
S405:将流量控制处理后的正常型数据包存入低优先级存放队列中;
具体的,当所述S401识别出接收到的数据包为普通应用的正常型数据包时,所述S404根据预设的第二流量控制规则仅对所述正常型数据包作带宽保证等流量控制,S405将所述正常型数据包存入低优先级存放队列中,当高优先级存放队列中的数据包为空时,再行处理输出。
S406:按存放队列的优先权等级,依次输出相应存放队列中的数据包。
具体的,所述S406优先处理输出高优先级存放队列中的交互型数据包。对于存入低优先级存放队列中的正常型数据包,当高优先级存放队列中的交互型数据包为空时,所述S406处理输出所述低优先级存放队列中的正常型数据包。由于交互型数据包中仅包括一些数据量较小的控制指令仅有几十个字节甚至几个字节,所述S406很快就会处理输出完,处理完后即释放相应的带宽以处理输出低优先级存放队列中的特定应用中的非交互阶段的正常型数据包和/或普通应用的正常型数据包。
通过上述实施例的描述可知,本发明具有以下优点:
通过细分流量控制规则结合队列优先服务机制的方式,对识别出的交互型数据包和正常型数据分别设置第一流量控制规则和第二流量控制规则进行流量控制,并将数据包存储在相应优先级的存放队列中,保证交互型数据包的带宽和时延的要求,同时也不会影响到非交互的正常型数据包的传输,提升了用户的应用访问体验。
请参见图5,是本发明的基于应用的流量控制方法的第二实施例流程示意图,该方法包括:
S501:通过应用层向驱动层下发预设的流量控制应用表、特定应用交互型索引表以及包括特定应用的第一流量控制规则和其他类别流量控制规则、普通应用的第二流量控制规则和其他类别流量控制规则的细分类别流量控制规则;
具体的,可通过向用户提供用户界面的方式,获取用户设置的流量控制应用表、特定应用交互型索引表,并根据包括特定应用的第一流量控制规则、第二流量控制规则以及其他类别的流量控制规则的细分类别流量控制规则,构成控制规则树,所述第一流量控制规则包括:交互型数据包的特定应用的应用类别流量控制规则和其他类别流量控制规则,所述第二流量控制规则包括:正常型数据包所对应应用的应用类别流量控制规则和其他类别流量控制规则。将获取到的所述预设的流量控制应用表、特定应用交互型索引表以及控制规则树下发给驱动设备的驱动层,以进行后续的数据包识别和流量控制规则的设置。
S502:判断所述数据包所对应的应用是否为特定应用;
具体的,在相应的应用建立时,会产生一个连接跟踪信息以便于进行端到端的相应数据包的跟踪,因此在接收到数据包时,S502可判断所述数据包所对应的连接跟踪信息中是否包括类别标识;若所述连接跟踪信息中包括类别标识,则根据所述类别标识,识别所述数据包所对应的应用的类型;
若所述连接跟踪信息中不包括类别标识,则可根据数据包所包括的五元组信息和所述流量控制应用表,识别所述数据包所对应的应用的类型,并在识别出类型后,判断在所述特定应用交互型索引表中是否记录有识别出的所述类型,若判断结果为记录有识别出的所述类型,则确定所述数据包所对应的应用为特定应用,否则,为普通应用;
同时根据判断结果,在所述数据包的连接跟踪信息中设置与识别出的所述类型相对应的类别标识,其中,所述类别标识的格式为:是否为特定应用+应用类型,以便于S502再次接收到使用同一连接跟踪信息的数据包时,能够直接根据类别标识。判断出该数据包所对应的应用是否为特定应用及其应用类型。
根据数据包所包括的五元组信息中的源地址信息和源端口信息、目的地址信息和目的端口信息、协议类型以及所述流量控制应用表,识别出所述数据包所对应的应用的类型;即通过在流量控制应用表中查找与所述数据包中包括的应用的源地址信息和端口信息、应用的目的地址信息和端口信息以及协议类型对应的应用类型的方式来识别该数据包的应用的类型。
在传输过程中,各类应用的数据包中均包括一个五元组用于路由和过滤,所述五元组包括:应用的源地址和端口、应用的目的地址和端口、协议类型,用户访问应用还涉及到上行类别标识、下行类别标识、双向类别标识。应用层会下发流量控制应用表给驱动层,以供所述S502进行应用类型的查找识别。表的每项规则为:“应用的源地址范围和端口范围,应用的目的地址范围和端口范围,协议类别+应用类型”的组合。对于所述特定应用交互型索引表,用户可在应用层设定相应的应用为特定应用,并下发给驱动层,相应的驱动设备根据用户设定的所述特定应用,设置并维护所述特定应用交互型索引表以供S503进行数据包是否为特定应用的数据包的判断。表的每项组合为“应用类型+应用索引”。
S503:当判断结果为是时,确定所述数据包为特定应用的数据包,进一步判断所述特定应用的数据包的长度是否小于预设的长度阈值;
具体的,当所述S502判断的结果为在所述驱动设备维护的所述特定应用交互型索引表中,记录有应用类型以及应用索引,所述S503便可确定出该数据包为用户定义的特定应用的数据包,从而可进一步判断所述特定应用的数据包的长度是否小于预设的长度阈值。
S504:当所述特定应用的数据包的长度小于预设的长度阈值时,则识别确定所述数据包为交互型数据包,在所述交互型数据包中设置延时敏感标志;
具体的,交互型数据包的特点为:长度较小,仅有几十字节甚至仅几个字节,根据该特点,当所述S503确定该数据包所对应的应用为用户定义的特定应用的数据包时,进一步判断该数据包的长度大小,所述S504根据判断结果即可确定是否为交互型数据包。当所述S503的判断所述特定应用的数据包的长度小于预设的长度阈值时,所述S504便可识别出所述数据包为交互型数据包,该特定应用处于交互阶段。同时在所述数据包中设置延时敏感标识。
S505:根据所述细分类别流量控制规则的第一流量控制规则中与所述交互型数据包相对应的特定应用的应用类别流量控制规则,以及所述延时敏感标志,对所述交互型数据包进行包括带宽控制和延时控制的流量控制;
具体的,根据S502同时可确定该数据包的应用的类型,具体根据连接跟踪信息中的类别标识,或者根据五元组信息和流量控制应用表,均可识别出该数据包的类型。
S506:将所述交互型数据包存入高优先级存放队列中;
具体的,S506根据该数据包的延时敏感标识将所述交互型数据包存入高优先权的存放队列中优先处理输出以保证交互型数据包时延较小的要求。其中,所述第一流量控制规则中包括与多种特定应用相对应的流量控制规则,如CIFS应用类别流量控制规则、FTP应用类别流量控制规则等,每一特定应用相对应的流量控制规则中均包括带宽保证和延迟保证。
S511:当判断结果为否时,确定所述数据包为普通应用的正常型数据包;
具体的,当该数据包的连接跟踪信息中的类别标识所指示的内容为该数据包为非特定应用的数据包,或者设置的特定应用交互型索引表中并不包括根据所述数据包中的五元组信息识别的该数据包应用的类型时,表明该数据包为普通应用的正常型数据包。
S512:当所述特定应用的数据包的长度不小于预设的长度阈值时,识别出为特定应用的正常型数据包;
具体的,交互型数据包一般仅有几十字节甚至几个字节,其长度较小,当数据包的长度大于用户设置的长度阈值时,如数据包的长度为100字节,大于用户设置的50字节的长度阈值,则可判断该数据包为特定应用中的正常型数据包,该特定应用处于非交互阶段。
S513:根据所述细分类别流量控制规则的第二流量控制规则中与所述正常型数据包所对应的应用的应用类别流量控制规则,对所述正常型数据包进行包括带宽控制的流量控制;具体的,根据S502同时可确定该数据包的应用的类型,具体根据连接跟踪信息中的类别标识,或者根据五元组信息和流量控制应用表均可识别出该数据包的类型。对正常型数据包的流量控制,仅采用保证带宽的流量控制即可,如设置一个较大的带宽,设置较大的上行带宽、较大的下行带宽等。
S514:将流量控制处理后的正常型数据包存入低优先级存放队列中;
另外,在具体实施中,若S502中根据数据包所包括的五元组信息中的源地址信息和源端口信息、目的地址信息和目的端口信息,协议类型以及所述流量控制应用表,并未识别所述数据包所对应的应用的应用类型时,根据细分类别流量控制规则第二流量控制规则中的其他类别流量控制规则,对所述数据包进行流量控制处理,并将所述数据包存入第四优先级存放队列中;
其中,所述第四优先级存放队列的优先权等级低于低优先级存放队列;执行本步骤的目的在于,对于未能识别出应用类型的数据包时,可将该数据包视为垃圾流量数据包,直接将该数据包存放到优先权最低的第四优先级存放队列中,以便控制这些未在用户定义的应用范围内的垃圾应用流量不占用其它应用带宽。
S510:按存放队列的优先权等级,依次输出相应存放队列中的数据包。
具体的,当高优先级存放队列中的交互型数据包处理输出完后,再行处理低优先级存放队列中的正常型数据包,最后处理所述第四优先级存放队列中的数据包,可保证交互型数据包的延时较小的要求,同时由于交互型数据包长度较小,处理输出较快,处理完后即可释放带宽给低优先级存放队列中的正常型数据包,也不会影响到用户的数据下载等体验。
另外,在本实施例的流量控制处理过程中,还可根据需要执行以下步骤:
监测所述高优先级存放队列、所述低优先级存放队列以及所述第四优先级存放队列中的数据包的个数;
当监测到相应存放队列的数据包的个数达到预设的数量阈值时,根据对已识别出类型的数据包设置的丢包优先系数以及预设的系数阈值,删除相应存放队列中的数据包,并停止向相应的存放队列存入数据包。
执行上述步骤的目的在于当所述高优先级存放队列、所述低优先级存放队列发生拥塞时,能够及时地丢弃新识别出的交互型数据包和/或正常型数据包。
下面对丢包的步骤进行举例说明:
参见图8,是本发明的基于应用的流量控制方法中的存放队列示意图,按优先等级从高到低的包括高优先级存放队列、第三优先级存放队列、低优先级存放队列以及第四优先级存放队列。其中,高优先级存放队列为无拥塞控制的流量包(如延迟敏感流量,交互型数据包),所述高优先级存放队列中包括P1、P2、、Pk、、PK1,即包含K1个丢包优先级,其中k是丢包优先系数,k=1(例如P1)相对于最高的丢包优先级。当队列缓冲占有率超过了用户设置的个数阈值Pk(1<k<K1)时,此时的k即为系数阈值,仅有丢包优先级是从1到k-1的数据包被允许输入到高优先级存放队列进行输出,而系数阈值k之后的其他优先级的包则被丢弃,即在第Pk-1个交互型数据包之后识别出的交互型数据包被丢弃。同样的,对于低优先级存放队列、第三优先级存放队列和第四优先级存放队列执行同样的丢包策略。
请参见图6,是本发明的基于应用的流量控制方法的第三实施例流程示意图,该方法包括:
S601:通过应用层向驱动层下发预设的特定应用交互型索引表以及包括特定应用的第一流量控制规则和其他类别流量控制规则、普通应用的第二流量控制规则和其他类别流量控制规则的细分类别流量控制规则;在本实施例中,对数据包应用类别的识别是通过提取特征码进行自动识别的方式,因此并不需要流量控制应用表。
S602:判断所述数据包所对应的应用是否为特定应用;
具体的,在相应的应用建立时,会产生一个连接跟踪信息以便于进行端到端的相应数据包的传递,因此在接收到数据包时,S602判断所述数据包所对应连接跟踪信息中是否包括类别标识;若所述连接跟踪信息中包括类别标识,则根据所述类别标识,确定出所述数据包的应用是否为特定应用;
若所述连接跟踪信息中不包括类别标识,则提取数据包中的特征码;
根据所述特征码识别所述数据包所对应的应用的类型,并在识别出所述数据包的应用的类型后,判断在所述特定应用交互型索引表中是否记录有识别出的所述类型,若判断结果为记录有识别出的所述类型,则确定所述数据包所对应的应用为特定应用,否则,为普通应用,同时根据判断结果,在所述数据包的连接跟踪信息中设置与识别出的所述类型相对应的类别标识,其中,所述类别标识的组合为:是否为特定应用+应用类型;
其中,在根据所述特征码识别所述数据包所对应的应用的类型的识别过程中,根据所述细分类别流量控制规则中第一流量控制规则中的其他类别流量控制规则,对所述数据包进行流量控制处理,将所述数据包存入第三优先级存放队列中,所述第三优先级存放队列的优先权等级低于所述高优先级存放队列,高于所述低优先级存放队列。
下面对在连接跟踪信息中不包括类别标识时,S602进行判断的过程进行说明。
可提取若干个数据包的特征码,判断并选取至少一个为相应应用所对应的支持度和可信度较高的特征码。可以基于应用的特征码来识别相应协议类型即识别是何种应用,这需要分析若干个数据包,通过所述S602提取若干数据包中的特征码,并对特征码进行支持度和可行度等进行分析,例如对于Http应用,分析其建立连接后的前8个数据包,可以提取3组特征码,例如“0D0A5365727665723A20:Server”、“4B6565702D416C697665:Keep-Alive”、“20485454502F312E310D0A:HTTP/1.1”等。对三组特征码的支持度和可行度等进行分析,所述S602可自动地将前两类字段排除,选择支持度和可行度较高的第三组特征码。
所述S602根据选取的特征码,到驱动设备中存储的特定应用特征码内容库中,查找并判断是否存在与所述特征码相匹配的应用类型,当所述查找到与选取的特征码相匹配的应用时,所述S602即可判断出所述数据包所对应的应用的类型。其中,所述应用特征码内容库可由用户手动设定,也可由所述驱动设备通过统计大量的长度在几十字节以内的小的数据包中的特征码的方式,得出所述应用特征码内容库。判断出该数据包对应的应用的类型后,S602判断在所述特定应用交互型索引表中是否记录有识别出的所述类型;当在所述特定应用交互型索引表中记录有该数据包对应的应用时,则可确定所述数据包为特定应用所对应的数据包,否则为普通应用所对应的数据包;
S603:当判断结果为是时,确定所述数据包为特定应用所对应的数据包,则进一步判断所述特定应用的数据包中是否包括交互命令标志;
S604:当所述特定应用的数据包中包括交互命令标志时,则识别确定所述数据包为交互型数据包,并在所述交互型数据包中设置延时敏感标志;
具体的,当根据S602的判断确定出所述数据包为特定应用的数据包时,所述S604对所述数据包进行分析判断,若所述数据包中存在交互命令标志,所述S606即可确定识别出所述数据包为相应的特定应用的交互型数据包,该特定应用处于交互阶段。
S605:当识别出所述数据包为交互型数据包时,根据所述细分类别流量控制规则的第一流量控制规则中与所述交互型数据包的相对应的特定应用的应用类别流量控制规则,以及所述延时敏感标志,对所述交互型数据包进行包括带宽控制和延时控制的流量控制;
具体的,根据所述S602同时可确定该数据包的应用的类型,具体根据连接跟踪信息中的类别标识,或者根据特征码和应用特征码数据库均可识别出该数据包的类型。
S606:将所述交互型数据包存入高优先级存放队列中;
S611:当判断结果为否时,确定所述数据包为普通应用的正常型数据包;
具体的,当该数据包的连接跟踪信息中的类别标识所指示的内容为该数据包为非特定应用的数据包,或者设置的特定应用交互型索引表中并不包括根据所述数据包中的特征码识别的该数据包应用的类型时,表明该数据包为普通应用的正常型数据包。
S612:当所述特定应用的数据包中不包括交互命令标志时,识别出为特定应用的正常型数据包;
具体的,若S603的判断结果为所述数据包中并不存在交互命令标志,则S612可确定该数据包为特定应用的正常型数据包,该特定应用处于非交互阶段。
另外,由于需要对提取多个相应的数据包中的特征码进行识别、查找以及确认操作,在S602根据特征码识别方式识别该数据包对应的应用的应用类型的过程中,由于该识别需要对数据包中的特征码进行详细分析,在还未分析识别出该数据包的应用类型前,可直接根据细分类别流量控制规则第一流量控制规则中的其它命令类别规则,对所述数据包进行包括带宽保证和延迟保证的流量控制处理,并将所述数据包存入第三优先级存放队列中,其中,所述第三优先级存放队列的优先权等级低于所述高优先级存放队列,高于所述低优先级存放队列。这么处理的目的在于,在识别过程中的这些包也能得到优先处理,因为这些包基本上都是交互包,只是这些包还不知道其是否为交互型数据包,所以根据特定应用的第一流量控制规则中相对应的其他类别流量控制规则进行流量控制。
S613:根据所述细分类别流量控制规则的第二流量控制规则中与所述正常型数据包相对应的应用的应用类别流量控制规则,对所述正常型数据包进行包括带宽控制的流量控制;具体的,对正常型数据包的流量控制,仅采用保证带宽的流量控制即可,如设置一个较大的带宽,设置较大的上行带宽、较大的下行带宽等。
S614:将流量控制处理后的正常型数据包存入低优先级存放队列中;
另外,在具体实施中,若S602中根据提取的一个或者多个数据包中的特征码,并不能识别出所述数据包所对应的应用的应用类型时,根据细分类别流量控制规则第二流量控制规则中的其他类别流量控制规则,对所述数据包进行流量控制处理,并将所述数据包存入第四优先级存放队列中;其中,所述第四优先级存放队列的优先权等级低于低优先级存放队列;执行本步骤的目的在于,对于未能识别出应用类型的数据包时,可将该数据包视为垃圾流量数据包,直接将该数据包存放到优先权最低的第四优先级存放队列中,以便控制这些未在用户定义的应用范围内的垃圾应用流量不占用其它应用带宽。
S610:按存放队列的优先权等级,依次输出相应存放队列中的数据包。
具体的,当高优先级存放队列中的交互型数据包处理输出完后,再行处理低优先级存放队列中的正常型数据包,可保证交互型数据包的延时较小的要求,同时由于交互型数据包长度较小,处理输出较快,处理完后即可释放带宽给低优先级存放队列中的正常型数据包,也不会影响到用户的数据下载等体验。
另外,在本实施例的流量控制处理过程中,还可根据需要执行以下步骤:
监测所述高优先级存放队列、第三优先级存放队列、所述低优先级存放队列以及所述第四优先级存放队列中的数据包的个数;
当监测到相应存放队列的数据包的个数达到预设的数量阈值时,根据对已识别出类型的数据包设置的丢包优先系数以及预设的系数阈值,删除相应存放队列中的数据包,并停止向相应的存放队列存入数据包。
执行上述步骤的目的在于当所述高优先级存放队列、所述第三优先级存放队列、所述低优先级存放队列以及所述第四优先级存放队列发生拥塞时,能够及时地丢弃新识别出的交互型数据包和/或正常型数据包。
下面对丢包的步骤进行举例说明:
高优先级存放队列为无拥塞控制的流量包(如延迟敏感流量,交互型数据包),所述高优先级存放队列中包括P1、P2、、Pk、、PK1,即包含K1个丢包优先级,其中k是优先系数,k=1(例如P1)相对于最高的丢包优先级。当队列缓冲占有率超过了用户设置的个数阈值Pk(1<k<K1)时,则仅有丢包优先级是从1到k-1的数据包被允许输入到高优先级存放队列进行输出,而其他优先级的包则被丢弃,即在第Pk-1个交互型数据包之后识别出的交互型数据包被丢弃。同样的,对于低优先级存放队列、第三优先级存放队列和第四优先级存放队列执行同样的丢包策略。
通过上述实施例的描述可知,本发明具有以下优点:
通过细分流量控制规则结合队列优先服务机制的方式即优先处理高优先权等级的存放队列中的数据包,对识别出的交互型数据包和正常型数据分别设置第一流量控制规则和第二流量控制规则进行流量控制,并将数据包存储在相应优先级的存放队列中,保证交互型数据包的带宽和时延的要求,同时也不会影响到非交互的正常型数据包的传输,提升了用户的应用访问体验。同时普通应用的其他命令类别规则也保证对未能识别出应用类型的垃圾应用做最低级别的处理,保证这些未知的应用不会占用带宽,进一步提高了用户的使用体验。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
Claims (12)
1.一种基于应用的流量控制方法,其特征在于,包括:
通过应用层向驱动层下发预设的流量控制应用表、特定应用交互型索引表以及包括第一流量控制规则、第二流量控制规则的细分类别流量控制规则,所述第一流量控制规则包括:交互型数据包对应的特定应用的应用类别流量控制规则和其他类别流量控制规则,所述第二流量控制规则包括:正常型数据包对应的应用的应用类别流量控制规则和其他类别流量控制规则;
当接收到数据包时,识别所述数据包的类型,所述数据包的类型包括:交互型数据包和正常型数据包;
当识别出所述数据包为交互型数据包时,根据预设的第一流量控制规则,对所述交互型数据包进行流量控制处理,并将流量控制处理后的交互型数据包存入高优先级存放队列中;
当识别出所述数据包为正常型数据包时,根据预设的第二流量控制规则,对所述正常型数据包进行流量控制处理,并将流量控制处理后的正常型数据包存入低优先级存放队列中;
按存放队列的优先权等级,依次输出相应存放队列中的数据包;
其中,所述当接收到数据包时,识别所述数据包的类型的步骤,包括:
判断所述数据包所对应的应用是否为特定应用;
当判断结果为否时,确定所述数据包为普通应用的正常型数据包,当判断结果为是时,确定所述数据包为特定应用的数据包,进一步判断所述特定应用的数据包的长度是否小于预设的长度阈值;
当所述特定应用的数据包的长度小于预设的长度阈值时,则识别确定所述数据包为交互型数据包,在所述交互型数据包中设置延时敏感标志,否则,识别确定所述数据包为正常型数据包。
2.如权利要求1所述的方法,其特征在于,所述判断所述数据包所对应的应用是否为特定应用的步骤包括:
判断所述数据包所对应的连接跟踪信息中是否包括类别标识;
若所述连接跟踪信息中包括类别标识,则根据所述类别标识,识别所述数据包所对应的应用的类型,并确定出所述数据包的应用是否为特定应用;
若所述连接跟踪信息中不包括类别标识,根据数据包所包括的五元组信息和所述流量控制应用表,识别所述数据包所对应的应用的类型,并在识别出类型后,判断在所述特定应用交互型索引表中是否记录有识别出的所述类型,若判断结果为记录有识别出的所述类型,则确定所述数据包所对应的应用为特定应用,否则,为普通应用,同时根据判断结果,在所述数据包的连接跟踪信息中设置与识别出的所述类型相对应的类别标识;
其中,所述类别标识的格式为:是否为特定应用加应用类型。
3.如权利要求1所述的方法,其特征在于,所述当接收到数据包时,识别该数据包的类型的步骤,包括:
判断所述数据包所对应的应用是否为特定应用;
当判断结果为否时,确定所述数据包为普通应用的正常型数据包,当判断结果为是时,确定所述数据包为特定应用所对应的数据包,则进一步判断所述特定应用的数据包中是否包括交互命令标志;
当所述特定应用的数据包中包括交互命令标志时,则识别确定所述数据包为交互型数据包,并在所述交互型数据包中设置延时敏感标志,否则,识别确定所述数据包为特定应用的正常型数据包。
4.如权利要求3所述的方法,其特征在于,所述判断所述数据包所对应的应用是否为特定应用的步骤包括:
判断所述数据包所对应连接跟踪信息中是否包括类别标识;
若所述连接跟踪信息中包括类别标识,则根据所述类别标识,识别所述数据包所对应的应用的类型,并确定出所述数据包的应用是否为特定应用;
若所述连接跟踪信息中不包括类别标识,则提取数据包中的特征码;
根据所述特征码识别所述数据包所对应的应用的类型,并在识别出所述数据包的应用的类型后,判断在所述特定应用交互型索引表中是否记录有识别出的所述类型,若判断结果为记录有识别出的所述类型,则确定所述数据包所对应的应用为特定应用,否则,为普通应用,同时根据判断结果,在所述数据包的连接跟踪信息中设置与识别出的所述类型相对应的类别标识,其中,所述类别标识的组合为:是否为特定应用加应用类型;
其中,在根据所述特征码识别所述数据包所对应的应用的类型的识别过程中,根据所述细分类别流量控制规则中第一流量控制规则中的其他类别流量控制规则,对所述数据包进行流量控制处理,将所述数据包存入第三优先级存放队列中,所述第三优先级存放队列的优先权等级低于所述高优先级存放队列,高于所述低优先级存放队列。
5.如权利要求2或4所述的方法,其特征在于,还包括:
当根据所述数据包中包括的五元组信息或者根据提取的特征码未能识别出所述数据包所对应的应用的类型时,根据所述细分类别流量控制规则的第二流量控制规则中的其他类别流量控制规则,对所述数据包进行流量控制处理,并将所述数据包存入第四优先级存放队列中,其中,所述第四优先级存放队列的优先权等级低于所述低优先级存放队列。
6.如权利要求5所述的方法,其特征在于,还包括:
监测存放队列中的数据包的个数,其中当采用根据所述数据包中包括的五元组信息以及流量控制应用表识别所述数据包所对应的应用的类型时,所述存放队列包括所述高优先级存放队列、所述低优先级存放队列以及所述第四优先级存放队列,或者当采用从数据包中提取出的特征码的方式识别所述数据包所对应的应用的类型时,所述存放队列包括所述高优先级存放队列、所述低优先级存放队列、所述第三优先级存放队列以及所述第四优先级存放队列;
当监测到相应存放队列的数据包的个数达到预设的数量阈值时,根据对相应存放队列中的数据包设置的丢包优先系数以及预设的系数阈值,删除相应存放队列中的数据包,并停止向相应的存放队列存入数据包。
7.一种基于应用的流量控制器,其特征在于,包括:
用户层控制模块,用于获取预设的流量控制应用表、特定应用交互型索引表以及包括特定应用的第一流量控制规则和第二流量控制规则的细分类别流量控制规则;
识别模块,用于当接收到数据包时,识别所述数据包的类型,所述数据包的类型包括:交互型数据包和正常型数据包;
控制模块,用于当所述识别模块识别出所述数据包为交互型数据包时,根据预设的第一流量控制规则,对所述交互型数据包进行流量控制处理,并将流量控制处理后的交互型数据包存入高优先级存放队列中;
当识别出所述数据包为正常型数据包时,根据预设的第二流量控制规则,对所述正常型数据包进行流量控制处理,并将流量控制处理后的正常型数据包存入低优先级存放队列中;
发送模块,用于按存放队列的优先权等级,依次输出相应存放队列中的数据包;
其中,所述识别模块包括:
第一判断单元,用于判断所述数据包所对应的应用是否为特定应用;
第一识别单元,用于当所述第一判断单元的判断结果为否时,确定所述数据包为普通应用的正常型数据包,当判断结果为是时,确定所述数据包为特定应用的数据包;
长度判断单元,用于当所述第一识别单元确定所述数据包为特定应用的数据包,判断所述特定应用的数据包的长度是否小于预设的长度阈值;
第二识别单元,用于当所述长度判断单元判断结果为所述特定应用的数据包的长度小于预设的长度阈值时,则识别确定所述数据包为交互型数据包,在所述交互型数据包中设置延时敏感标志,否则,识别确定所述数据包为正常型数据包。
8.如权利要求7所述的流量控制器,其特征在于,所述第一判断单元具体包括:
第一判断子单元,用于判断所述数据包所对应的连接跟踪信息中是否包括类别标识;
第一应用类型识别子单元,用于当所述第一判断子单元检测判断的结果为是时,根据所述类别标识,识别所述数据包所对应的应用的类型,并确定出所述数据包的应用是否为特定应用;
或者,用于当所述第一判断子单元判断的结果为否时,根据所述数据包所包括的五元组信息和所述用户层控制模块下发的流量控制应用表,识别所述数据包的应用的类型,并在识别出类型后,判断在所述特定应用交互型索引表中是否记录有识别出的所述类型,若判断结果为记录有识别出的所述类型,则确定所述数据包所对应的应用为特定应用,否则,为普通应用,同时根据判断结果,在所述数据包的连接跟踪信息中设置与识别出的所述类型相对应的类别标识,其中,所述类别标识的格式为:是否为特定应用加应用类型。
9.如权利要求7所述的流量控制器,其特征在于,所述识别模块包括:
第二判断单元,用于判断所述数据包所对应的应用是否为特定应用;
第三识别单元,用于当所述第二判断单元的判断结果为否时,确定所述数据包为普通应用的正常型数据包,当判断结果为是时,确定所述数据包为特定应用所对应的数据包;
交互命令标志识别单元,用于当所述第三识别单元确定所述数据包为特定应用所对应的数据包,判断所述特定应用的数据包中是否包括交互命令标志;
第四识别单元,用于当所述交互命令标志识别单元的判断结果为所述特定应用的数据包中包括交互命令标志时,则识别确定所述数据包为交互型数据包,并在所述交互型数据包中设置延时敏感标志,否则,识别确定所述数据包为特定应用的正常型数据包。
10.如权利要求9所述的流量控制器,其特征在于,
所述第二判断单元具体包括:
第二判断子单元,用于判断所述数据包所对应的连接跟踪信息中是否包括类别标识;
第二应用类型识别子单元,用于当所述第二判断子单元判断结果为是时,根据所述类别标识,识别所述数据包所对应的应用的类型,并确定出所述数据包的应用是否为特定应用;
提取子单元,用于当所述第二判断子单元判断结果为否时,提取数据包中的特征码;
第三应用类型识别子单元,用于根据所述提取子单元提取的特征码识别所述数据包所对应的应用的类型,并在识别出所述数据包的应用的类型后,判断在所述特定应用交互型索引表中是否记录有识别出的所述类型,若判断结果为记录有识别出的所述类型,则确定所述数据包所对应的应用为特定应用,否则,为普通应用,同时根据判断结果,在所述数据包的连接跟踪信息中设置与识别出的所述类型相对应的类别标识,其中,所述类别标识的组合为:是否为特定应用加应用类型;
所述控制模块还用于在所述第三应用类型识别子单元根据特征码识别所述数据包所对应的应用的类型过程中,根据所述细分类别流量控制规则中第一流量控制规则中的其他类别流量控制规则,对所述数据包进行流量控制处理,并将所述数据包存入第三优先级存放队列中,其中,所述第三优先级存放队列的优先权等级低于所述高优先级存放队列,高于所述低优先级存放队列。
11.如权利要求8或10所述的流量控制器,其特征在于,
所述控制模块还用于当所述第一应用类型识别子单元或所述第三应用类型识别子单元未能识别出所述数据包所对应的应用类型时,根据所述细分类别流量控制规则中第二流量控制规则的其他类别流量控制规则,对所述数据包进行流量控制处理,并将所述数据包存入第四优先级存放队列中,其中,所述第四优先级存放队列的优先权等级低于所述低优先级存放队列。
12.如权利要求11所述的流量控制器,其特征在于,还包括:
监测模块,用于当采用根据所述数据包中包括的五元组信息以及流量控制应用表识别所述数据包所对应的应用的类型时,监测所述高优先级存放队列、所述低优先级存放队列以及所述第四优先级存放队列中的数据包的个数;
或者当采用从数据包中提取出的特征码的方式识别所述数据包所对应的应用的类型时,监测所述高优先级存放队列、所述低优先级存放队列、所述第三优先级存放队列以及所述第四优先级存放队列中的数据包的个数;
删除模块,用于当所述监测模块监测到相应存放队列的数据包的个数达到预设的数量阈值时,根据对相应存放队列中的数据包设置的丢包优先系数以及预设的系数阈值,删除相应存放队列中的数据包,并使所述控制模块停止向相应的存放队列存入数据包。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010618729.7A CN102035748B (zh) | 2010-12-31 | 2010-12-31 | 一种基于应用的流量控制方法及流量控制器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010618729.7A CN102035748B (zh) | 2010-12-31 | 2010-12-31 | 一种基于应用的流量控制方法及流量控制器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102035748A CN102035748A (zh) | 2011-04-27 |
CN102035748B true CN102035748B (zh) | 2014-07-30 |
Family
ID=43888103
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010618729.7A Active CN102035748B (zh) | 2010-12-31 | 2010-12-31 | 一种基于应用的流量控制方法及流量控制器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102035748B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10015105B2 (en) | 2014-07-24 | 2018-07-03 | Hisense Co., Ltd. | Traffic control method, device and storage medium |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101434375B1 (ko) * | 2011-02-17 | 2014-08-27 | 닛본 덴끼 가부시끼가이샤 | 플로우 통신 시스템 |
CN102223306B (zh) * | 2011-06-17 | 2018-10-16 | 南京中兴软件有限责任公司 | 一种报文传输方法及装置 |
CN102368769A (zh) * | 2011-10-17 | 2012-03-07 | 深圳市共进电子股份有限公司 | 一种Linux网络架构下的网络应用服务质量保障方法 |
CN103853500A (zh) * | 2012-12-07 | 2014-06-11 | 中国移动通信集团河南有限公司 | 一种基于海量数据的数据分配方法、装置及系统 |
CN103067474A (zh) * | 2012-12-21 | 2013-04-24 | 曙光信息产业(北京)有限公司 | 分布式文件系统中通信的处理方法和装置 |
WO2015100615A1 (zh) * | 2013-12-31 | 2015-07-09 | 华为技术有限公司 | 处理业务报文的方法、装置和网关设备 |
CN103905335B (zh) * | 2014-04-15 | 2017-03-08 | 华为技术有限公司 | 流量控制方法及装置 |
CN104244203B (zh) * | 2014-09-25 | 2018-10-19 | 小米科技有限责任公司 | 消息推送方法和装置 |
CN105847169B (zh) * | 2015-01-13 | 2019-07-05 | 阿里巴巴集团控股有限公司 | 一种用于流量控制的方法以及装置 |
CN106330663A (zh) * | 2015-06-30 | 2017-01-11 | 展讯通信(上海)有限公司 | 一种数据发送方法及系统以及移动终端 |
CN106506387B (zh) * | 2015-09-08 | 2019-11-08 | 北京国双科技有限公司 | 流量控制的方法和装置 |
CN105721347A (zh) * | 2016-02-18 | 2016-06-29 | 北京京东尚科信息技术有限公司 | 精确控制网络带宽的方法和系统 |
CN105721336A (zh) * | 2016-02-26 | 2016-06-29 | 联想(北京)有限公司 | 一种数据处理方法及电子设备 |
CN105743809B (zh) * | 2016-03-04 | 2019-04-05 | 广东顺德中山大学卡内基梅隆大学国际联合研究院 | 基于L7-filter的视频类应用的识别与控制方法和系统 |
CN107291524B (zh) * | 2016-03-31 | 2020-04-07 | 阿里巴巴集团控股有限公司 | 一种远程命令的处理方法和装置 |
CN106385386B (zh) * | 2016-08-31 | 2019-04-12 | 成都飞鱼星科技股份有限公司 | 应用随动智能流量控制方法 |
CN106453150B (zh) * | 2016-10-11 | 2019-10-18 | 东软集团股份有限公司 | 流控方法及装置 |
CN107689928A (zh) * | 2017-08-15 | 2018-02-13 | 中国联合网络通信集团有限公司 | 数据业务处理方法及装置 |
CN107634962B (zh) * | 2017-10-11 | 2019-06-18 | Oppo广东移动通信有限公司 | 网络带宽的管理方法及相关产品 |
CN107612846A (zh) * | 2017-11-01 | 2018-01-19 | 北京天创凯睿科技有限公司 | 一种业务数据自适应传输方法及装置 |
WO2020087523A1 (zh) * | 2018-11-02 | 2020-05-07 | 阿里巴巴集团控股有限公司 | 网络通信的方法、装置及电子设备 |
CN111698730B (zh) * | 2019-03-15 | 2023-11-21 | 斑马智行网络(香港)有限公司 | 流量控制方法、操作系统、端设备及分布式系统 |
CN111459690B (zh) * | 2020-04-10 | 2023-09-08 | Oppo广东移动通信有限公司 | 数据收发控制方法、装置、移动终端及存储介质 |
CN115086248A (zh) * | 2022-06-15 | 2022-09-20 | Oppo广东移动通信有限公司 | 数据包处理方法、通信芯片及计算机设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1527538A (zh) * | 2003-03-05 | 2004-09-08 | 北京全向科技有限公司 | 动态用户优先级管理的方法 |
CN1728680A (zh) * | 2004-07-31 | 2006-02-01 | 华为技术有限公司 | 移动通信网络中提高传输控制协议数据传输性能的方法 |
CN101257454A (zh) * | 2008-03-21 | 2008-09-03 | 北京星网锐捷网络技术有限公司 | 一种带宽管理方法及装置 |
CN101834790A (zh) * | 2010-04-22 | 2010-09-15 | 上海华为技术有限公司 | 一种基于多核处理器的流量控制方法和多核处理器 |
-
2010
- 2010-12-31 CN CN201010618729.7A patent/CN102035748B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1527538A (zh) * | 2003-03-05 | 2004-09-08 | 北京全向科技有限公司 | 动态用户优先级管理的方法 |
CN1728680A (zh) * | 2004-07-31 | 2006-02-01 | 华为技术有限公司 | 移动通信网络中提高传输控制协议数据传输性能的方法 |
CN101257454A (zh) * | 2008-03-21 | 2008-09-03 | 北京星网锐捷网络技术有限公司 | 一种带宽管理方法及装置 |
CN101834790A (zh) * | 2010-04-22 | 2010-09-15 | 上海华为技术有限公司 | 一种基于多核处理器的流量控制方法和多核处理器 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10015105B2 (en) | 2014-07-24 | 2018-07-03 | Hisense Co., Ltd. | Traffic control method, device and storage medium |
Also Published As
Publication number | Publication date |
---|---|
CN102035748A (zh) | 2011-04-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102035748B (zh) | 一种基于应用的流量控制方法及流量控制器 | |
EP2779542B1 (en) | System and method for determining a cause of network congestion | |
CN100562006C (zh) | 路由系统中差异排队的系统和方法 | |
CN106062726A (zh) | 用于数据中心交换机的流感知缓冲区管理 | |
CN101902395A (zh) | 管理主机上的资源的系统和方法 | |
CA2437818A1 (en) | Packet transfer rate monitoring control apparatus, method, and program | |
US20140269379A1 (en) | System And Method For Determining An Effect Of Network Congestion | |
CN102025623B (zh) | 智能化网络流控方法 | |
CA2940976A1 (en) | Dynamic allocation of network bandwidth | |
WO2006079783A1 (en) | Packet forwarding | |
JP5053445B2 (ja) | アプリケーションアウェアネスを用いて終端間サービス構成を検査するインバウンド機構 | |
CN104836743B (zh) | 一种拥塞控制方法及装置 | |
CN103229466A (zh) | 一种数据包传输的方法及装置 | |
CN109905329A (zh) | 一种虚拟化环境下任务类型感知的流队列自适应管理方法 | |
CN101741729A (zh) | 用于调度多个流的分组的方法和用于执行该方法的系统 | |
CN106656807A (zh) | 一种报文转发方法及sdn交换机 | |
CN105323116A (zh) | 互联网特征业务流量的采集方法与装置、系统 | |
US9584446B2 (en) | Memory buffer management method and system having multiple receive ring buffers | |
CN107147585B (zh) | 一种流量控制方法及装置 | |
CN105490827B (zh) | 一种获取网络状态的方法及装置 | |
CN103096386A (zh) | 一种基于信令分析的数据业务流量管控方法 | |
JP2014022761A (ja) | ネットワークシステム、情報中継装置、及びパケット配信方法 | |
CN101977154A (zh) | 一种智能的流量安全处理控制方法及装置 | |
EP2996293A1 (en) | A packet scheduling networking device for deadline aware data flows | |
US8005106B2 (en) | Apparatus and methods for hybrid fair bandwidth allocation and drop precedence |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: Nanshan District Xueyuan Road in Shenzhen city of Guangdong province 518000 No. 1001 Nanshan Chi Park building A1 layer Patentee after: SINFOR Polytron Technologies Inc Address before: 518000 Guangdong city of Shenzhen province Nanshan District high in the four Longtaili No. 30 building 6 floor Patentee before: Shenxinfu Electronics Science and Technology Co., Ltd., Shenzhen |