首页> 中国专利> 一种网络流量智能控制器及其实现方法

一种网络流量智能控制器及其实现方法

摘要

本发明公开了一种网络流量智能控制器,主要由路由器组成,其特征在于:在该路由器的网络层上还设置有与该路由器的程序调度点相连接的智能流控程序模块。本发明还公开一种网络流量智能控制器的实现方法,其特征在于,主要包括以下步骤:应用识别模块对路由器所产生的数据流进行识别,对不同应用程序的数据流分别打上其相应的应用程序识别码;分类模块将已经打上应用程序识别码的数据流进行分类存储等步骤。由于本发明在路由器的网络层上设置有与该路由器的程序调度点相连接的智能流控程序模块,因此本发明能根据当前网络带宽的实际使用情况自动地对带宽进行调节和分配,从而确保能有效地利用网络带宽,克服传统网络流量智能控制器不能自动调节网络带宽的缺陷。

著录项

  • 公开/公告号CN101977146A

    专利类型发明专利

  • 公开/公告日2011-02-16

    原文格式PDF

  • 申请/专利权人 成都飞鱼星科技开发有限公司;

    申请/专利号CN201010517184.0

  • 发明设计人 周龙;

    申请日2010-10-25

  • 分类号H04L12/56(20060101);

  • 代理机构

  • 代理人

  • 地址 610000 四川省成都市高新区世纪城南路216号天府软件园D区6号楼12-13层

  • 入库时间 2023-12-18 01:48:00

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-06-29

    著录事项变更 IPC(主分类):H04L12/861 变更前: 变更后: 申请日:20101025

    著录事项变更

  • 2014-06-18

    专利权人的姓名或者名称、地址的变更 IPC(主分类):H04L12/861 变更前: 变更后: 申请日:20101025

    专利权人的姓名或者名称、地址的变更

  • 2013-04-17

    授权

    授权

  • 2011-03-30

    实质审查的生效 IPC(主分类):H04L12/56 申请日:20101025

    实质审查的生效

  • 2011-02-16

    公开

    公开

说明书

技术领域

本发明涉及一种智能控制器,具体是指一种能根据实际使用情况自动调整网络带宽的网络流量智能控制器及其实现方法。

背景技术

目前,人们在上网时大多都会通过网络流量控制器来限制不同主机上网时的流量,以达到优化网络的目的。但是,目前人们所采用的这些网络流量控制器都是通过固定流控规则来分配不同主机的网络带宽,因此存在以下缺陷:首先,由于采用固定流控规则以后,每台主机所分配到的网络带宽均是固定不变的,即便在带宽较为空闲时这些网络流量控制器也不能根据实际的情况动态调整其网络带宽;反之,当带宽紧张时,这些网络流量控制器也不能自动调整减小拥塞压力,因此不能有效地、最大程度地合理利用带宽。其次,在采用固定流控规则来分配流量时,对配置人员的技术要求较高,带宽的分配在很大程度上会受到配置人员的情绪和技能水平的限制,因此主观因素较强。

发明内容

本发明的目的在于克服目前传统网络流量控制器采用固定流控规则所带来的不能有效、最大程度的合理利用带宽,以及带宽分配容易受到配置人员的主观因素影响的缺陷,提供一种不仅结构较为简单,而且能根据主机的实际运行情况自动分配带宽的网络流量智能控制器。

本发明的另一目的是提供该网络流量智能控制器的实现方法。

本发明的目的通过下述技术方案实现:一种网络流量智能控制器,主要由路由器组成,同时在该路由器的网络层上还设置有与该路由器的程序调度点相连接的智能流控程序模块。

为了更好的实现本发明,所述智能流控程序模块由集成在其内部的用于识别数据流的应用识别模块、将数据流进行分类的分类模块、根据优先原则将数据包进行转发的数据调度模块、计算各个数据流带宽使用量的带宽使用计算模块、以及对当前带宽进行调整的带宽使用监控模块构成。

一种网络流量智能控制器的实现方法,主要包括以下步骤:

(a)由应用识别模块对路由器所产生的数据流进行识别,对不同应用程序的数据流分别打上其相应的应用程序识别码;

(b)分类模块将已经打上应用程序识别码的数据流进行分类存储;

(c)数据调度模块对分类后的数据流进行打包、排队,并根据优先原则将最优先需要转发的数据包进行发送,同时由带宽使用计算模块对发送的各个数据包的带宽使用量进行计算,得出各个数据包的带宽使用量;

(d)带宽使用监控模块按照预先设定的时间值对特定服务器使用PING检测当前带宽的使用情况,并对当前带宽进行调整。

进一步地,步骤(c)中所述的数据调度模块对分类后的数据流进行排队,并根据优先原则将最优先需要转发的数据包进行发送具体包括以下步骤:

(c1)数据调度模块首先给每台主机分配一个队列;

(c2)再将已经分类并具有不同应用程序识别码的数据流分配到相应的队列中;

(c3)当主机的网卡能发送数据时,该数据调度模块依次从每台主机的队列中找出一个优先级最高的数据包交给网卡发送,并根据该发送的数据包长度消耗该队列的TOKEN,同时计算出每台主机队列每次的TOKEN差值;

(c4)判断该TOKEN差值是否小于零?是,则数据调度模块将该主机队列置为不可发送队列;否,则数据调度模块将该主机队列置为可发送队列,进行下一次数据发送;

(c5)数据调度模块每隔Δt秒便对不可发送队列的TOKEN差值进行重新计算,并判定该TOKEN差值是否小于零?是,则将该不可发送队列置为可发送队列;否,则重复该步骤。

步骤(d)中所述的对当前带宽进行调整具体包括以下步骤:

(d1)在系统初始化时,带宽使用计算模块为所连接的每台主机分配100KB/S的带宽;

(d2)判断当前带宽使用是否紧张?是,则由带宽使用监控模块将每一台主机的分配带宽压缩为原来的2/3;否,则将每一台主机的分配带宽增长1/4。5、根据权利要求4所述的一种网络流量智能控制器的实现方法,其特征在于:步骤(c5)中所述的Δt的取值为2~10秒。

为了确保本发明的使用效果,步骤(c4)和步骤(c5)中所述的TOKEN差值是指该主机队列上一次发送数据包所需时间与当前发送数据包所需时间的差值。

而步骤(d)中所述的预先设定的时间值为2秒。

步骤(d2)中所述的判断当前带宽使用是否紧张是指带宽使用监控模块根据对特定服务器采用PING检测的结果进行判断,如果该特定服务器的响应时间t≥0.1秒,则判定该当前带宽使用紧张;否则,则判定该当前带宽使用空闲。

所述的特定服务器则是指用户根据环境自主设置的网站、网管或DNS(Domain Name Server,域名服务器)。

本发明较现有技术相比,具有以下优点及有益效果:

(1)本发明的整体结构较为简单、制作成本较为低廉,因此能有效的减少网络维护人员因带宽调整所带来的维护量,降低维护难度。

(2)由于本发明在路由器的网络层上设置有与该路由器的程序调度点相连接的智能流控程序模块,因此本发明能根据当前网络带宽的实际使用情况自动地对带宽进行调节和分配,从而确保能有效地利用网络带宽,克服传统网络流量智能控制器不能自动调节网络带宽的缺陷。

(3)本发明在带宽紧张时,能自动调整,特别是高带宽使用主机的对带宽的使用,保证优先数据不受拥塞影响,提高用户体验。

附图说明

图1为本发明的整体流程示意图。

图2为本发明根据优先级别发送数据包的流程示意图。

具体实施方式

下面结合实施例对本发明作进一步地详细说明,但本发明的实施方式不限于此。

实施例

本发明的网络流量智能控制器主要是在路由器的网络层上设置了一个与路由器所提供的程序调度点相连接的用于函数调用的智能流控程序模块。由于数据流在经过路由器的操作系统特定区域时会由操作系统提供一个程序调度点,而该程序调度点的全部注册程序将被依次执行,因此本发明的实质是在该程序调度点上额外注册(即设置)了一个智能流控程序模块,以确保数据流在经过该智能流控程序模块以后能实现自动调整网络带宽的目的。

所述的智能流控程序模块内集成有用于将数据流进行识别的应用识别模块,将数据流进行分类的分类模块,根据优先原则将数据包进行转发的数据调度模块,用于计算各个数据流带宽使用量的带宽使用计算模块,以及用于对当前带宽进行调整的带宽使用监控模块共同构成。

如图1所示,本发明经智能流控程序模块自动调节带宽的步骤如下:

(a)首先由应用识别模块对路由器所产生的数据流进行识别,对不同应用程序的数据流分别打上其相应的应用程序识别码。本发明的应用识别模块能对主流的游戏、关键应用(如WEB访问、POP3、SMTP、QQ等)、P2P视频在线观看及P2P下载等应用类别进行识别,因此,只要当路由器产生的数据流经过该智能流控程序模块时,该应用识别模块便会自动对各种应用的协议、端口、特征字、流量特征、包大小等特征进行分析和处理,从而获取每一个数据包所属的应用类别,并分别对这些应用类别打上不同标识的应用程序识别码。例如,对游戏类应用程序打上游戏类应用程序识别码,对关键应用类程序打上关键应用类程序识别码等等,而不同应用程序识别码种类和数量的选取则是由用户根据自身环境和需要来进行确定的。

(b)分类模块将已经打上应用程序识别码的数据流进行分类存储。即,该分类模块将诸如带游戏类应用程序识别码的应用程序、带关键应用类应用程序识别码的应用程序、带P2P视频在线观看类应用程序识别码的应用程序及带P2P下载应用类应用程序识别码的应用程序分别进行分类,从而将原本杂乱无序的数据流按照要求分类排序出来,形成一个有序的数据队列。同时,该分类模块还将根据该数据流是从哪一台主机发出来的数据或将发送到哪一台主机的数据流打上标记。

(c)数据调度模块对分类后的数据流进行打包、排队,并根据优先原则将最优先需要转发的数据包进行发送,同时由带宽使用计算模块对发送的各个数据包的带宽使用量进行计算,得出各个数据包的带宽使用量。其具体流程如图2所示,即包括以下步骤:

第一,由数据调度模块给每台主机分配一个队列。即由数据调度模块控制路由器给连接在该路由器上的每台主机预先分配一个用于数据存储的队列。

第二,数据调度模块将已经分类并具有不同应用程序识别码的数据流分配到相应的主机队列中。由于数据调度模块在给连接的每台主机分配队列时,就随机预先确定了相应队列用于存储数据的类型,如预先设定了其中一台主机的队列专用于储存带游戏类应用程序识别码的数据流,一台主机的队列专用于储存带关键应用类应用程序识别码的数据流等等。因此,该数据调度模块便会将带游戏类应用程序识别码的数据流、带关键应用类应用程序识别码的数据流、带P2P视频在线观看类应用程序识别码的数据流及带P2P下载应用类应用程序识别码的数据流分别分配到相应的主机队列中。

第三,当主机的网卡能发送数据时,该数据调度模块则依次从每台主机队列中找出一个优先级最高的数据包交给网卡发送,并根据该发送的数据包长度消耗该队列的TOKEN,同时由带宽使用计算模块计算出TOKEN差值。

队列中数据的优先级别是由用户根据具体使用环境来定义的。所述的优先级别主要是用于判定在网卡能发送数据时,哪些数据需要进行优先转发,哪些数据可以稍后转发。比如在中小企业里,用户使用POP3/SMTP来进行收发邮件的数据即可以标记需要最优先发送的数据,而HTTP协议的数据则次之等等。

所述TOKEN差值是指该主机队列上一次发送数据包所需时间与当前发送数据包所需时间的差值。

第四,数据调度模块判断所得到的TOKEN差值是否小于零?是,则数据调度模块将该主机队列置为不可发送队列;否,则数据调度模块将该主机队列置为可发送队列,进行下一次数据发送。

第五,数据调度模块每隔Δt秒便对不可发送队列的TOKEN差值进行重新计算,并判定该TOKEN差值是否小于零,是,则将该不可发送队列置为可发送队列;否,则重复该步骤,直到所有的数据包发送完毕。在该步骤中,由于TOKEN在接近零时,数据调度模块仍会发送数据,并且会根据发送的数据长度将TOKEN减小到零,此时才会停止发送,因此此时的TOKEN基数小于零,在以后重新发送数据的过程中,则该TOKEN差值便会小于零,以确保该不可发送队列会列置成可发送队列。

由于Δt时间的长短对数据传输有着较大的影响,因此该Δt的时间范围一般在2~10秒之间,如数据调度模块每隔2秒、5秒或10秒便对不可发送队列的TOKEN差值重新进行一个判定。

(d)带宽使用监控模块按照预先设定的时间值对特定服务器使用PING检测当前带宽的使用情况,并对当前带宽进行调整,其具体步骤为:首先在系统初始化时,带宽使用计算模块为所连接的每台主机分配100KB/S的带宽;然后再由带宽使用监控模块判断当前带宽使用是否紧张?是,则由带宽使用监控模块将每一台主机的分配带宽压缩为原来的2/3;否,则将每一台主机的分配带宽增长1/4。

在运行中,如果带宽使用监控模块频繁的对特定服务器(诸如典型的网站www.edu.cn、网关、DNS等)使用PING检测,那么势必会浪费系统资源,占用一定带宽,进而影响整个带宽的使用。因此,本发明的带宽使用监控模块在按照预先设定的时间值对特定服务器使用PING检测时,其时间间隔优先为2秒钟,即宽带使用监控模块所按照预先设定的时间值为2秒。

其中,由带宽使用监控模块判断当前带宽使用是否紧张是指带宽使用监控模块对特定服务器采用PING检测的结果进行判断,如果该特定服务器的响应时间t≥0.1秒,则判定该当前带宽使用紧张;否则,则判定该当前带宽使用空闲

相应的,所述的特定服务器可以由用户根据实际环境来指定,如指定上述的典型网站www.edu.cn、网关、DNS等,也可以指定其余用户需要指定的硬件。通过以上步骤,该网络流量智能控制器便能根据实际带宽的使用情况来自动的调整网络带宽的使用,从而确保各种应用程序能很好的完成。

如上所述,便可以很好的实现本发明。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号