单队列带宽分配方法

文档序号:7897341阅读:289来源:国知局
专利名称:单队列带宽分配方法
技术领域
本发明涉及网络传输技术领域,特别涉及一种单队列带宽分配方法。
背景技术
在网络拥塞情况下,对带宽进行动态分配,现阶段主要有以下几种技术1、单队列技术先进先出的单一队列。也有简单的拥塞避免算法(丢包算 法),效率很高。2、多队列技术将数据包分类,进入不同的队列,然后根据各个队列的优先级 和权值出队。3、与上下游网络设备通讯,以减少网络拥塞。以上几种技术在现有网络设备中,如交换机、路由器、防火墙等,都有大量的 应用。但还有以下缺陷现有技术1,传统的单队列,不会用来处理复杂的在线动态因素(如依据在线 用户加权分配带宽、当前流过设备的协议种类等)。因为在这种情况下,一般算法复杂, 实现起来较为困难。现有技术2,通过多队列技术,可以在理论上用来处理复杂的在线动态因素,但 在有些情况下会因为队列过多,引起设备资源的开销过大,从而影响整个的网络的吞吐量。现有技术3,通过与上下游网络设备通讯,以减少本地设备的网络拥塞,本质上 是将网络拥塞情况下的带宽管理,让上下游设备处理,需要额外的设备,增加成本。

发明内容
(一)要解决的技术问题本发明要解决的技术问题是网络拥塞情况下,如何在本地设备以复杂的在线 动态因素为依据,实现带宽的动态分配。(二)技术方案为解决上述技术问题,本发明提供了一种单队列带宽分配方法,所述方法采用 统计表来记录队列中数据包总长度、总的在线因素实体的权值、单个因素实体权值及该 因素实体在数据包队列中的数据包长度,所述方法包括以下步骤Si:数据包入队列时判断流通道是否拥塞,若不拥塞,则执行步骤S2;若拥 塞,则判断所述数据包所属的在线因素实体在队列中的所有数据包的长度和是否小于该 在线因素实体的权值对应的动态长度,若小于,则执行步骤S2,否则,丢弃该数据包, 所述动态长度为队列中数据包总长度+总的在线因素实体的权值X在线单个因素实体 的权值;S2修改所述统计表,所述数据包总长度加上入队数据包长度;若有新增的在 线因素实体,则所述总的在线因素实体的权值加上新增的在线因素实体权值;在线实体对应的数据包总长度加上入队数据包长度;S3所述数据包出队列,修改统计表,在线实体对应的数据包总长度减去出队 数据包长度,所述数据包总长度减去出队数据包长度,若在线实体对应的数据包总长度 小于等于0,则删除该在线实体对应的表项,总的在线因素实体的权值减去删除的在线实 体的权值。其中,所述判断流通道是否拥塞的方式为所述队列中的数据包长度大于预定 长度,则拥塞。其中,预定长度与数据通道总带宽成正比。其中,所述实体因素是否在线是根据统计表中是否有该实体因素的表项来确 定,实体因素不在线则不参与带宽分配。(三)有益效果本发明通过统计表来统计单队列中数据包长度,因素实体的权值,以控制单队 列中的数据包长度,实现了网络拥塞情况下,在本地设备以复杂的在线动态因素为依据 的动态分配带宽,提高了带宽管理设备的运行效率。


图1是本发明实施例的一种单队列带宽分配方法数据包入队列流程图;图2是本发明实施例的一种单队列带宽分配方法数据包出队列流程图。
具体实施例方式下面结合附图和实施例,对本发明的具体实施方式
作进一步详细描述。以下实 施例用于说明本发明,但不用来限制本发明的范围。本方法采用统计表来记录单队列中数据包总长度、总的在线因素实体的权值、 单个因素实体权值及该因素实体在数据包队列中的数据包长度。其中因素实体权值就是 该因素实体的带宽权值,某因素实体所占的带宽比例为因素实体权值+总的在线实体 权值。一个数据包只属于一个因素实体。实体因素是否在线(是否有数据正在通讯), 是根据统计表中是否有该实体因素的表项来确定。若实体因素不在线,则不参与带宽分 配。在线因素实体包括但不止于以下内容1、在线用户当前有数据包通讯的用户。2、在线IP:当前有数据通讯的IP地址等。3、在线协议当前数据流属于那些协议。本发明的方法通过数据包总长度、总的在线因素实体的权值、单个因素实体权 值及该因素实体在数据包队列中的数据包长度来控制单队列中各个因素实体的数据包长 度,从而实现带宽的动态分配,如图1所示,为本发明方法中数据包入队列流程图,包 括步骤S101,数据包入队列时判断流通道是否拥塞,若不拥塞,则执行步骤 S104;若拥塞,则执行步骤S102。其中,队列中的数据包长度大于预定长度时则拥塞, 预定长度可根据数据 通道总的带宽来确定,与其成正比。具体情况可配制,例如可根 据公式预定长度=流通道总带宽值X时间值,其中时间值根据具体情况配置为0.1秒,0.2秒等。步骤S102,判断是否丢弃该数据包,即则判断所述数据包所属的在线因素实体 的所有数据包的长度和是否小于该在线因素实体的权值对应的动态长度,若小于,则执 行步骤S105,否则,执行步骤S103。动态长度为队列中数据包总长度+总的在线因 素实体的权值X在线单个因素实体的权值。步骤S103,丢弃该数据包,不入队列。上述的动态长度是控制带宽的基础,丢 弃的数据包,就是超出带宽的部分。步骤S104,修改统计表,具体修改包括以下几个方面根据数据包因素实体查询统计表,查找因素实体对应的表项,如找不到表项, 则创建新的表项,总的在线因素实体的权值加上新增的在线因素实体权值;在线实因数 体对应的数据包长度加上入队数据包长度;所述数据包的总长度加上入队数据包长度。步骤S105,数据包入队列。如图2所示,为本发明方法中数据包出队列流程图,包括步骤S201,数据包出队列。步骤S202,出队列后,修改统计表,具体修改包括以下几个方面数据包总长度和减去出队列的数据包长度。根据数据包的因素实体查询统计 表,找到表项。表项对应的数据包总长度和减去出队列数据包长度。如表项对应的数据 包长度和小于等于零,删除表项,在线因素实体的权值和减去删除表项的权值。以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普 通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因 此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限 定。
权利要求
1.一种单队列带宽分配方法,其特征在于,所述方法采用统计表来记录队列中数据 包总长度、总的在线因素实体的权值、单个因素实体权值及该因素实体在数据包队列中 的数据包长度,所述方法包括以下步骤Si:数据包入队列时判断流通道是否拥塞,若不拥塞,则执行步骤S2;若拥塞,则 判断所述数据包所属的在线因素实体在队列中的所有数据包的长度和是否小于该在线因 素实体的权值对应的动态长度,若小于,则执行步骤S2,否则,丢弃该数据包,所述动 态长度为队列中数据包总长度+总的在线因素实体的权值X在线单个因素实体的权 值;S2修改所述统计表,所述数据包总长度加上入队数据包长度;若有新增的在线因 素实体,则所述总的在线因素实体的权值加上新增的在线因素实体权值;在线实体对应 的数据包总长度加上入队数据包长度;S3所述数据包出队列,修改统计表,在线实体对应的数据包总长度减去出队数据 包长度,所述数据包总长度减去出队数据包长度,若在线实体对应的数据包总长度小于 等于0,则删除该在线实体对应的表项,总的在线因素实体的权值减去删除的在线实体的 权值。
2.如权利要求1所述的单队列带宽分配方法,其特征在于,所述判断流通道是否拥塞 的方式为所述队列中的数据包长度大于预定长度,则拥塞。
3.如权利要求2所述的单队列带宽分配方法,其特征在于,预定长度与数据通道总带 宽成正比。
4.如权利要求1 3中任一项所述的单队列带宽分配方法,其特征在于,所述实体因 素是否在线是根据统计表中是否有该实体因素的表项来确定,实体因素不在线则不参与 带宽分配。
全文摘要
本发明公开了一种单队列带宽分配方法,所述方法采用统计表来记录队列中数据包总长度、总的在线因素实体的权值、单个因素实体权值及该因素实体在数据包队列中的数据包长度,通过上述参数来控制单队列中各个因素实体的数据包长度,从而实现带宽的动态分配。本发明实现了网络拥塞情况下,在本地设备以复杂的在线动态因素为依据的动态分配带宽,提高了带宽管理设备的运行效率。
文档编号H04L12/56GK102014074SQ20101060895
公开日2011年4月13日 申请日期2010年12月28日 优先权日2010年12月28日
发明者孟翔峰, 董健, 靳龙 申请人:汉柏科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1