网络流量限速方法和装置制造方法

文档序号:7799845阅读:112来源:国知局
网络流量限速方法和装置制造方法
【专利摘要】本发明实施例提供一种网络流量限速方法和装置。该方法包括:对进程中至少一个连接的数据包进行流量统计,以监测连接的实时流速;如果进程的总流速达到限速阈值,基于预设策略以连接为单位进行限流。本发明实施例提供的网络流量限速方法和装置,通过统计进程中每个连接的实时流速,能够监测进程和各连接的流速,并且当进程的总流速达到限速阈值时,以连接为单位进行限流,对于有些程序可停止或减缓其处理过程,而有些程序则可以正常运行,不必由于随机性丢包而对所有程序都构成影响,因此能够减小对程序的影响,也使得传输后数据包有效利用率提高,从而提高了网络传输效率。
【专利说明】网络流量限速方法和装置
【技术领域】
[0001]本发明实施例涉及网络通信技术,尤其涉及一种网络流量限速方法和装置。
【背景技术】
[0002]随着互联网技术的发展,用户通过网络处理的数据量增加,计算机技术的进步,也是的多个应用程序并行处理,共享网络带宽资源。在带宽资源有限的情况下,对网络流量进行限速的技术也应运而生。
[0003]现有的网络流量限速技术,一般是当单位时间(例如Is)内,进程中下行数据包或上行数据包的流量到达阈值,则开始丢弃接收的下行数据包或待发送的上行数据包,从而达到限速的目的。
[0004]上述流量限速技术存在以下缺陷:丢弃的数据包也会影响其他正常收发数据包的处理,导致程序运行的不稳定,且网络传输效率较低。

【发明内容】

[0005]本发明实施例提供一种网络流量限速方法和装置,以优化网络流量的限速方案,减小对程序的影响,提闻网络传输效率。
[0006]第一方面,本发明实施例提供了一种网络流量限速方法,包括:
[0007]对进程中至少一个连接的数据包进行流量统计,以监测连接的实时流速;
[0008]如果进程的总流速达到限速阈值,基于预设策略以连接为单位进行限流。
[0009]第二方面,本发明实施例还提供了一种网络流量限速装置,其特征在于,包括:
[0010]流速监测模块,用于对进程中至少一个连接的数据包进行流量统计,以监测连接的实时流速;
[0011]连接限速模块,用于如果进程的总流速达到限速阈值,基于预设策略以连接为单位进行限流。
[0012]本发明实施例提供的网络流量限速方法和装置,通过统计进程中每个连接的实时流速,能够监测进程和各连接的流速,并且当进程的总流速达到限速阈值时,以连接为单位进行限流,对于有些程序可停止或减缓其处理过程,而有些程序则可以正常运行,不必由于随机性丢包而对所有程序都构成影响,因此能够减小对程序的影响,也使得传输后数据包有效利用率提闻,从而提闻了网络传输效率。
【专利附图】

【附图说明】
[0013]图1为本发明实施例一提供的一种网络流量限速方法的流程图;
[0014]图2为本发明实施例二提供的一种网络流量限速方法的流程图;
[0015]图3为本发明实施例二中适用的网络流量限速方法实例的示意图;
[0016]图4为本发明实施例六提供的一种网络流量限速方法的流程图;
[0017]图5为本发明实施例九提供的一种网络流量限速装置的结构示意图;[0018]图6为本发明实施例十提供的一种网络流量限速装置的结构示意图。
【具体实施方式】
[0019]下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
[0020]实施例一
[0021]请参阅图1,为本发明实施例一提供的一种网络流量限速方法的流程图。本发明实施例的技术方案适用于各种接入网络,需对网络流量上行或下行速度进行限制的网元中,典型的如台式PC和笔记本电脑等。可在网元中配置以硬件和/或软件实现的网络流量限速装置来实现此方法。
[0022]如图1所示,所述方法包括:
[0023]110、对进程中至少一个连接的数据包进行流量统计,以监测连接的实时流速。
[0024]其中,进程是一个程序及其数据在处理机上顺序执行时所发生的活动,是系统进行资源分配和调度的一个独立单位。在网元中,可同时运行一个或多个进程,每个进程具有独立的进程标识,网元通过网卡等硬件进行收发的数据包均归属于某个进程,可通过进程标识进行区分。
[0025]每个进程可包括一个或多个连接,每个连接为两个网元之间的一条数据传输通道,可称为源端和目的端之间的连接,源端和目的端的网元可以用户终端,也可以为服务器等任意可通过网络收发数据包的设备。每个数据传输通道可以由源端的源IP (InternetProtocol,网络之间互连的协议)和源端口以及目的端的目的IP和目的端口,四个属性特征唯一确定。其中,IP地址是IP协议提供的一种统一的地址格式,用于标识互联网上一台终端的坐标;目的端为数据包接收者的网元,相应地,目的IP为数据包接收者的网元的IP地址;源端为数据包发送者的网元,相应地,源IP为数据包发送者的网元的IP地址。端口号是传输控制协议/用户数据报协议(Transmission Control Protocol/User DatagramProtocol, TCP/UDP)中端口的标识,用于结合IP地址来定位数据包的处理模块;目的端口为数据包接收者的网元的端口号,而源端口为数据包发送者的网元的端口号。
[0026]在操作110中,针对进程中的连接分别进行流量统计,从而能够以连接为单位获取实时流速。作为该操作的一个可选的实施方式,可以具体包括:
[0027]111、对归属于所述进程的数据包,根据所述数据包的属性特征确定数据包所属连接,其中,所述属性特征包括源IP、源端口、目的IP和目的端口中的至少一个;
[0028]其中,数据包为在封包交换网络中的最小传输资料单元,可以通过进程标识、属性特征等因素对数据包进行划分,确定每个连接的数据包。典型是,以源IP、源端口、目的IP和目的端口共同确定该数据包所对应的连接。
[0029]112、根据所述数据包的负载大小,以连接为单位进行流量统计,以监测连接的实时流速。
[0030]其中,所述数据包可以包括上行数据包和下行数据包,数据包的属性特征也包括负载,可以分别针对上行和下行,统计连接的数据包在单位时间内的流量,从而监测连接的实时流速。[0031]也就是说,在本操作中,对于各连接,通过统计该连接的数据包的负载大小,从而监测该连接的实时流速,进而可以得到进程的总流速。示例性地,对于各连接,通过统计该连接的上行数据包的负载大小,从而监测该连接的上行实时流速,进而可以得到进程的总上行流速。下行流速的获取与此类似。
[0032]120、如果进程的总流速达到限速阈值,基于预设策略以连接为单位进行限流。
[0033]其中,进程的总流速对应于进程中的所有连接的实时流速之和。进程的总流速可以包括进程的总上行流速和进程的总下行流速。
[0034]限速阈值为用户或运行模块针对进程设置的允许网卡通过的最大流速值。限速阈值可以包括上行限速阈值和下行限速阈值。所述上行限速阈值与所述下行限速阈值可以相同,也可以不同。
[0035]基于预设策略以连接为单位进行限流是以进程中的每个连接为限流操作对象,而非以整个进程为限流操作对象进行丢包处理。例如,可基于各种预设策略,依次停止部分连接的数据包传输,直至进程的总流速达到限速阈值。后续将通过具体实施例对此策略进行详细介绍。
[0036]可以通过预设策略确定各连接的限速目标,使各连接的实时流速满足连接所对应的限速目标进行限流,其中所述连接的限速目标可以包括连接的限速目标值或连接的流速预警值,其中连接的流速预警值低于连接限速目标值,所述流速预警值用于触发流速限制操作,预警值的多少需根据时机情况而设。例如,如果连接A的限阈目标值确定为30KB/S,连接A的流速预警值可以设为25KB/S,则当连接A的实时流速大于等于所述连接A的流速预警值时,触发连接A进行流速限制操作。
[0037]本实施例的技术方案,通过统计进程中每个连接的实时流速,能够监测进程和各连接的流速,并且当进程的总流速达到限速阈值时,以连接为单位进行限流,对于有些程序可停止或减缓其处理过程,而有些程序则可以正常运行,不必由于随机性丢包而对所有程序都构成影响,因此能够减小对程序的影响,也使得传输后数据包有效利用率提高,从而提高了网络传输效率
[0038]实施例二
[0039]请参阅图2,为本发明实施例二提供的一种网络流量限速方法的流程图。本实施例在上述实施例的基础上,提供了如果进程的总流速达到限速阈值,基于预设策略以连接为单位进行限流这一操作的优选方案。如图2所示,所述基于预设策略以连接为单位进行限流方法可以包括:
[0040]210、如果进程的总流速达到限速阈值,在所述进程的至少一个连接中,基于预设仲裁策略确定待限速连接;
[0041]示例性地,通过一个具体的实例进行说明。请参阅图3,进程Z为当前需限速控制的进程,包括4个连接,分别为连接A、连接B、连接C和连接D,各连接以源IP、目的IP、源端口和目的端口进行标志,则连接A、连接B、连接C和连接D分别连接到服务器端A、服务器端B、服务器端C和服务器端D。当进程Z运行一段时间后,例如运行单位时间后,当前时刻进程Z中各连接的实时流速的数值如图3所示。图3和表I分别示出了 4个连接的实时流速,包括上行流速和下行流速,通过统计各连接的上行流速和下行流速,得到进程Z的总流速,即进程Z的总上行流速为51KB/S,总下行流速为285KB/S。[0042]表1进程Z的限速前流速信息表
[0043]
【权利要求】
1.一种网络流量限速方法,其特征在于,包括: 对进程中至少一个连接的数据包进行流量统计,以监测连接的实时流速; 如果进程的总流速达到限速阈值,基于预设策略以连接为单位进行限流。
2.根据权利要求1所述的方法,其特征在于,对进程中至少一个连接的数据包进行流量统计,以监测连接的实时流速包括: 对归属于所述进程的数据包,根据所述数据包的属性特征确定数据包所属连接,其中,所述属性特征包括源IP、源端口、目的IP和目的端口中的至少一个; 根据所述数据包的负载大小,以连接为单位进行流量统计,以监测连接的实时流速。
3.根据权利要求1所述的方法,其特征在于,如果进程的总流速达到限速阈值,基于预设策略以连接为单位进行限流包括: 如果进程的总流速达到限速阈值,在所述进程的至少一个连接中,基于预设仲裁策略确定待限速连接; 根据所述进程的限速目标对所述待限速连接进行限流。
4.根据权利要求3所述的方法,其特征在于,如果进程的总流速达到限速阈值,在所述进程的至少一个连接中,基于预设仲裁策略确定待限速连接包括: 如果进程的总流速达到限速阈值,确定实时流速最大的连接,作为所述待限速连接;或者 如果进程的 总流速达到限速阈值,确定实时流速之和满足所述限速目标的至少一个连接作为所述待限速连接;或者 如果进程的总流速达到限速阈值,根据所述连接的属性特征确定所述待限速连接。
5.根据权利要求3所述的方法,其特征在于,根据所述进程的限速目标对所述待限速连接进行限流包括: 根据所述限速目标对待限速连接对应流向的逆向数据包进行延迟或丢弃,以进行限流。
6.根据权利要求3所述的方法,其特征在于,根据所述进程的限速目标对所述待限速连接进行限流包括: 根据所述限速目标通知待限速连接的对端网元减少下行数据包,以限制本端的下行流量。
7.根据权利要求6所述的方法,其特征在于,根据所述限速目标通知待限速连接的对端网元减少下行数据包,以限制本端的下行流量包括: 如果所述待限速连接为TCP连接,根据所述限速目标调整本端收发数据包的TCP窗口值,并将调整后的TCP窗口值通知对端网元来减少下行数据包,以限制本端的下行流量。
8.根据权利要求1所述的方法,其特征在于,如果进程的总流速达到限速阈值,基于预设策略以连接为单位进行限流包括: 判断进程的总流速是否达到限速阈值,若是,计算所述进程的总流速与所述限速阈值之间的差值; 根据预设仲裁策略确定一个连接作为待限速连接; 根据所述差值对所述待限速连接进行限流; 更新所述进程的总流速,并返回所述判断进程的总流速是否达到限速阈值的操作。
9.一种网络流量限速装置,其特征在于,包括: 流速监测模块,用于对进程中至少一个连接的数据包进行流量统计,以监测连接的实时流速; 连接限速模块,用于如果进程的总流速达到限速阈值,基于预设策略以连接为单位进行限流。
10.根据权利要求9所述的装置,其特征在于,流速监测模块包括: 连接确定单元,用于对归属于所述进程的数据包,根据所述数据包的属性特征确定数据包所属连接,其中,所述属性特征包括源IP、源端口、目的IP和目的端口中的至少一个;流速监测单元,用于根据所述数据包的负载大小,以连接为单位进行流量统计,以监测连接的实时流速。
11.根据权利要求9所述的装置,其特征在于,连接限速模块包括: 待限速连接确定单元,用于如果进程的总流速达到限速阈值,在所述进程的至少一个连接中,基于预设仲裁策略确定待限速连接; 待限速连接限速单元,用于根据所述进程的限速目标对所述待限速连接进行限流。
12.根据权利要求11所述的装置,其特征在于,待限速连接确定单元包括: 最大流速确定子单元,用于如果进程的总流速达到限速阈值,确定实时流速最大的连接,作为所述待限速连接 ;或者 流速之和确定子单元,用于如果进程的总流速达到限速阈值,确定实时流速之和满足所述限速目标的至少一个连接作为所述待限速连接;或者 属性特征确定子单元,用于如果进程的总流速达到限速阈值,根据所述连接的属性特征确定所述待限速连接。
13.根据权利要求11所述的装置,其特征在于,待限速连接限速单元包括: 逆向数据包处理子单元,用于根据所述限速目标对待限速连接对应流向的逆向数据包进行延迟或丢弃,以进行限流。
14.根据权利要求11所述的装置,其特征在于,待限速连接限速单元包括: 对端网元通知子单元,用于根据所述限速目标通知待限速连接的对端网元减少下行数据包,以限制本端的下行流量。
15.根据权利要求14所述的装置,其特征在于,对端网元通知子单元具体用于如果所述待限速连接为TCP连接,根据所述限速目标调整本端收发数据包的TCP窗口值,并将调整后的TCP窗口值通知对端网元来减少下行数据包,以限制本端的下行流量。
16.根据权利要求9所述的装置,其特征在于,连接限速模块包括: 差值计算单元,用于判断进程的总流速是否达到限速阈值,若是,计算所述进程的总流速与所述限速阈值之间的差值; 一个连接确定单元,用于根据预设仲裁策略确定一个连接作为待限速连接; 差值确定单元,用于根据所述差值对所述待限速连接进行限流; 流速更新单元,用于更新所述进程的总流速,并返回所述判断进程的总流速是否达到限速阈值的操作。
【文档编号】H04L12/26GK103873381SQ201410114182
【公开日】2014年6月18日 申请日期:2014年3月25日 优先权日:2014年3月25日
【发明者】林道正, 叶爱平, 桂敬文 申请人:安一恒通(北京)科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1