端口流量管理方法及装置与流程

文档序号:11778315阅读:213来源:国知局
端口流量管理方法及装置与流程

本发明涉及数据通信技术,尤其涉及一种端口流量管理方法及装置。



背景技术:

在拥塞管理系统中,存在着两种结构,push和pull。pull结构里包括两个关键的模块,拥塞管理模块和队列管理模块,其中,拥塞管理模块用于给有请求的队列按照配置的规则分发令牌,队列管理模块用于生成队列的请求,并将有令牌的队列中的数据包调度出去。

在下行出端口处,报文需要加上报文头信息,额外的报文头信息会导致流量的膨胀。以10g的出端口为例,拥塞管理模块下发了10g令牌,在出端口处为每个报文添加报文头信息后,出端口处的流量会膨胀成10g+,因而,在令牌下发能力大于出端口的输出能力时,会导致队列管理模块累积过多的令牌,当高优先级队列的令牌数很多时,高优先级队列会停止申请令牌,令牌就会分配给低优先级队列,当高低优先级队列都有令牌时,拥塞管理系统中的优先级调度就失效了。

为了解决令牌下发能力和出端口流量不匹配的问题,现有技术中提出,在出端口处增加一个缓存,当缓存深度增加到反压门限时,通知拥塞管理模块停止下发令牌,当缓存深度降低到反压撤销门限时,通知拥塞管理模块开始下发令牌。

但是,上述现有技术的方案中存在以下两个问题:一是在反压门限没有生效时,会有少部分流量分配给低优先级队列,抢占部分高优先级队列的带宽,引起优先级调度失效;二是令牌下发时而停止时而开启,流量是突发式的,对缓存深度的要求很高,如果缓存深度不够大,会导致流量震荡,并且流量的时 有时无,也达不到端口线速。



技术实现要素:

有鉴于此,本发明实施例期望提供一种端口流量管理方法及装置,以在保证端口线速的前提下,减小流量的突发,减小出端口缓存大小,保证拥塞管理系统的优先级。

本发明实施例的技术方案是这样实现的:

一种端口流量管理方法,所述方法包括:

接收到拥塞管理模块发送的令牌后,判断所述令牌是否携带反压标记;

若所述令牌携带所述反压标记,判断添加字节数与所述令牌代表的字节数相同的报文至发送队列后,是否会导致所述发送队列停止申请令牌;

在判断会导致所述发送队列停止申请令牌时,丢弃所述令牌。

如上所述的方法,其中,所述判断添加字节数与所述令牌代表的字节数相同的报文至发送队列后,是否会导致所述发送队列停止申请令牌之后,所述方法还包括:

在判断不会导致所述发送队列停止申请令牌时,添加字节数与所述令牌代表的字节数相同的报文至发送队列。

如上所述的方法,其中,所述判断所述令牌是否携带反压标记之后,所述方法还包括:

若所述令牌不携带所述反压标记,添加字节数与所述令牌代表的字节数相同的报文至发送队列。

一种端口流量管理方法,所述方法包括:

接收到出端口缓存处理模块发送的反压指示后,判断令牌桶中是否有令牌;

在所述令牌桶中有令牌时,下发携带反压标记的令牌。

如上所述的方法,其中,所述方法还包括:

接收所述出端口缓存处理模块反馈的令牌,并添加至令牌桶中。

如上所述的方法,其中,所述方法还包括:

在接收到所述出端口缓存处理模块发送的撤销反压指示时,下发不携带所述反压标记的令牌。

一种端口流量管理方法,所述方法包括:

统计出端口发送的报文字节数的累加值;

当所述出端口发送的报文字节数的累加值大于等于一个令牌代表的字节数时,在统计的累加值中减去一个令牌代表的字节数,并反馈一个令牌给拥塞管理模块。

如上所述的方法,其中,所述方法还包括:

检测出端口的缓存深度;

当所述出端口的缓存深度大于等于反压门限时,生成反压指示,并发送给拥塞管理模块;

当所述出端口的缓存深度小于反压门限时,生成撤销反压指示,并发送给拥塞管理模块。

一种端口流量管理装置,所述装置包括:

第一判断单元,用于接收到拥塞管理模块发送的令牌后,判断所述令牌是否携带反压标记;若所述令牌携带所述反压标记,判断添加字节数与所述令牌代表的字节数相同的报文至发送队列后,是否会导致所述发送队列停止申请令牌;

处理单元,用于在所述第一判断单元判断会导致所述发送队列停止申请令牌时,丢弃所述令牌。

如上所述的装置,其中,所述处理单元还用于:

在所述第一判断单元判断不会导致所述发送队列停止申请令牌时,添加字节数与所述令牌代表的字节数相同的报文至发送队列。

如上所述的装置,其中,所述处理单元还用于:

若所述令牌不携带所述反压标记,添加字节数与所述令牌代表的字节数相同的报文至发送队列。

一种端口流量管理装置,所述装置包括:

第二判断单元,用于接收到出端口缓存处理模块发送的反压指示后,判断令牌桶中是否有令牌;

令牌下发单元,用于在所述令牌桶中有令牌时,下发携带反压标记的令牌。

如上所述的装置,其中,所述装置还包括:

接收模块,用于接收所述出端口缓存处理模块反馈的令牌,并添加至令牌桶中。

如上所述的装置,其中,所述令牌下发单元还用于:

在接收到所述出端口缓存处理模块发送的撤销反压指示时,下发不携带所述反压标记的令牌。

一种端口流量管理装置,所述装置包括:

统计单元,用于统计出端口发送的报文字节数的累加值;

反馈单元,用于当所述出端口发送的报文字节数的累加值大于等于一个令牌代表的字节数时,在统计的累加值中减去一个令牌代表的字节数,并反馈一个令牌给拥塞管理模块。

如上所述的装置,其中,所述装置还包括:

检测单元,用于检测出端口的缓存深度;

发送单元,用于当所述出端口的缓存深度大于等于反压门限时,生成反压指示,并发送给拥塞管理模块;当所述出端口的缓存深度小于反压门限时,生成撤销反压指示,并发送给拥塞管理模块。

本发明实施例提供的端口流量管理方法及装置,在接收到拥塞管理模块发送的令牌后,判断所述令牌是否携带反压标记;若所述令牌携带所述反压标记,判断添加字节数与所述令牌代表的字节数相同的报文至发送队列后,是否会导致所述发送队列停止申请令牌;在判断会导致所述发送队列停止申请令牌时,丢弃所述令牌。从而在出端口的缓存深度达到反压门限后,平滑的降低令牌下发的速度,但不是完全停止令牌下发,减小了流量的突发,减小了对缓存的冲击,从而减小对缓存深度的要求,并且队列管理模块可以有选择的丢弃令牌,防止了拥塞管理中在有高优先级队列存在的情况下低优先级队列获得令牌,从 而避免优先级调度失效。

附图说明

图1为本发明实施例提供的端口流量管理方法中令牌分发与现有技术中令牌分发的对比示意图;

图2为本发明实施例一提供的端口流量管理方法的流程图;

图3为本发明实施例二提供的端口流量管理方法的流程图;

图4为本发明实施例三提供的端口流量管理方法的流程图;

图5为本发明实施例一提供的端口流量管理装置的结构示意图;

图6为本发明实施例二提供的端口流量管理装置的结构示意图;

图7为本发明实施例三提供的端口流量管理装置的结构示意图。

具体实施方式

在本发明的各实施例中,为了解决令牌下发和出端口流量不匹配的问题,在缓存深度增加到反压门限后,平滑的降低令牌下发的速度,但不停止令牌下发,减小流量的突发,减小对缓存的冲击,从而减小缓存深度要求;队列管理模块有选择的丢弃令牌,防止拥塞管理中在有高优先级队列存在的情况下低优先级队列获得令牌,从而避免优先级调度失效。

图1为本发明实施例提供的端口流量管理方法中令牌分发与现有技术中令牌分发的对比示意图。参照图1,现有技术中的令牌分发,在未收到反压指示时,全速下发令牌,在收到反压指示后,停止下发令牌。而在本发明实施例中的令牌分发,在未收到反压指示时,全速下发令牌,在收到反压指示后,按照出端口的令牌反馈速率下发令牌。

对比可以发现,现有技术中的令牌分发,是时而全速,时而停止,突发式的下发令牌,相应的流量也是突发式的;而本发明实施例中的令牌分发,在反压无效时,全速下发令牌,使出端口的缓存快速的达到反压门限;在反压生效后,按照出端口的令牌反馈平缓的下发令牌,实现平滑令牌下发速率,减小流 量突发的目的。

下面结合附图对本发明各实施例提供的端口流量管理分发进行详细说明。

图2为本发明实施例一提供的端口流量管理方法的流程图。如图2所示,本实施例提供的端口流量管理方法具体可由队列管理模块执行,具体的,本实施例提供的方法包括:

步骤101、接收到拥塞管理模块发送的令牌后,判断所述令牌是否携带反压标记。

步骤102、若所述令牌携带所述反压标记,判断添加字节数与所述令牌代表的字节数相同的报文至发送队列后,是否会导致所述发送队列停止申请令牌。

需要说明的是,若所述令牌不携带所述反压标记,则添加字节数与所述令牌代表的字节数相同的报文至发送队列,不需要执行步骤102和步骤103。

步骤103、在判断会导致所述发送队列停止申请令牌时,丢弃所述令牌。

实际应用中,在步骤102之后,在判断不会导致所述发送队列停止申请令牌时,添加字节数与所述令牌代表的字节数相同的报文至发送队列。

在应用本实施例提供的端口流量管理方法时,队列管理模块在接收到拥塞管理模块发送的令牌后,首先判断令牌是否携带反压标记,如果接收到的令牌不携带反压标记,则添加字节数与令牌代表的字节数相同的报文至发送队列;如果接收到的令牌携带反压标记,则判断添加字节数与令牌代表的字节数相同的报文至发送队列后是否会导致队列停止申请令牌,如果会导致,则丢弃该令牌,如果不会导致,添加字节数与令牌代表的字节数相同的报文至发送队列。

由于队列管理模块可以有选择的丢弃令牌,防止拥塞管理中在有高优先级队列存在的情况下低优先级队列获得令牌,从而避免优先级调度失效。

本实施例提供的端口流量管理方法,可以在保证端口线速的前提下,减小流量的突发,减小出端口缓存大小,保证拥塞管理系统的优先级。

图3为本发明实施例二提供的端口流量管理方法的流程图。如图3所示,本实施例提供的端口流量管理方法具体可由拥塞管理模块执行,具体的,本实施例提供的方法包括:

步骤201、接收到出端口缓存处理模块发送的反压指示后,判断令牌桶中是否有令牌;

步骤202、在所述令牌桶中有令牌时,下发携带反压标记的令牌。

进一步地,本实施例提供的方法还包括:接收所述出端口缓存处理模块反馈的令牌,并添加至令牌桶中。

进一步地,本实施例提供的方法还包括:在接收到所述出端口缓存处理模块发送的撤销反压指示时,下发不携带所述反压标记的令牌。

在应用本实施例提供的端口流量管理方法的过程中,拥塞管理模块首先判断是否到令牌下发时刻,如果当前时刻不是令牌下发时刻,则继续等待;如果当前时刻是令牌下发时刻,则判断是否接收到出端口缓存处理模块发送的反压指示;若接收到反压指示,则判断令牌桶中是否有令牌,如果令牌桶中没有令牌,则不下发令牌,继续等待;如果令牌桶中有令牌,则下发携带反压表标记的令牌;若接收到撤销反压指示,判断令牌桶中是否有令牌,如果令牌桶中没有令牌,则不下发令牌,继续等待;如果令牌桶中有令牌,则下发不携带反压表标记的令牌。同时,拥塞管理模块还会接收出端口缓存处理模块反馈的令牌,并将接收到的令牌添加至令牌桶中。

可以看出,在本实施例中,在出端口的缓存深度达到反压门限后,可以平滑的降低令牌下发的速度,但不是完全停止令牌下发,减小了流量的突发,减小了对缓存的冲击,从而减小对缓存深度的要求。

本实施例提供的端口流量管理方法,可以在保证端口线速的前提下,减小流量的突发,减小出端口缓存大小,保证拥塞管理系统的优先级。

图4为本发明实施例三提供的端口流量管理方法的流程图。如图4所示,本实施例提供的端口流量管理方法具体可由出端口缓存处理模块执行,具体的,本实施例提供的方法包括:

步骤301、统计出端口发送的报文字节数的累加值;

步骤302、当所述出端口发送的报文字节数的累加值大于等于一个令牌代表的字节数时,在统计的累加值中减去一个令牌代表的字节数,并反馈一个令 牌给拥塞管理模块。

步骤303、检测出端口的缓存深度;

步骤304、当所述出端口的缓存深度大于等于反压门限时,生成反压指示,并发送给拥塞管理模块;

步骤305、当所述出端口的缓存深度小于反压门限时,生成撤销反压指示,并发送给拥塞管理模块。

需要说明的是,上述步骤301和步骤303之间没有先后顺序。

在本实施例提供的端口流量管理方法中,出端口缓存处理模块完成反压指示生成、撤销反压指示生成以及令牌反馈功能,检测出端口缓存深度,当缓存深度大于等于反压门限时,生成反压指示;当缓存深度小于反压门限时,生成撤销反压指示;将反压指示或撤销反压指示传递给拥塞管理模块;同时对出端口送出的报文字节数做累加,当报文字节数之和大于等于一个令牌代表的字节数时,报文字节数减去一个令牌代表的字节数,并反馈一个令牌给拥塞管理模块。

可以看出,在本实施例中,在出端口的缓存深度达到反压门限后,生成反压指示发送给拥塞管理模块,控制拥塞管理模块下发的令牌,从而使队列管理模块根据令牌是否携带反压标记来决定是否平滑的降低令牌下发的速度,从而减小了流量的突发,减小了对缓存的冲击,从而减小对缓存深度的要求。

本实施例提供的端口流量管理方法,可以在保证端口线速的前提下,减小流量的突发,减小出端口缓存大小,保证拥塞管理系统的优先级。

图5为本发明实施例一提供的端口流量管理装置的结构示意图。如图5所示,本实施例提供的端口流量管理装置10包括:第一判断单元11和处理单元12。

第一判断单元11,用于接收到拥塞管理模块发送的令牌后,判断所述令牌是否携带反压标记;若所述令牌携带所述反压标记,判断添加字节数与所述令牌代表的字节数相同的报文至发送队列后,是否会导致所述发送队列停止申请令牌;

处理单元12,用于在所述第一判断单元判断会导致所述发送队列停止申请令牌时,丢弃所述令牌。

进一步地,所述处理单元12还用于:在所述第一判断单元11判断不会导致所述发送队列停止申请令牌时,添加字节数与所述令牌代表的字节数相同的报文至发送队列。

进一步地,所述处理单元12还用于:若所述令牌不携带所述反压标记,添加字节数与所述令牌代表的字节数相同的报文至发送队列。

本实施例提供的端口流量管理装置,可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。

在实际应用中,该第一判断单元11和处理单元12可由位于端口流量管理装置上的中央处理器(cpu)、微处理器(mpu)、数字信号处理器(dsp)或现场可编程门阵列(fpga)等器件实现。

图6为本发明实施例二提供的端口流量管理装置的结构示意图。如图6所示,本实施例提供的端口流量管理装置20可以包括第二判断单元21和令牌下发单元22。

第二判断单元21,用于接收到出端口缓存处理模块发送的反压指示后,判断令牌桶中是否有令牌;

令牌下发单元22,用于在所述令牌桶中有令牌时,下发携带反压标记的令牌。

进一步地,所述端口流量管理装置20还包括:接收模块,用于接收所述出端口缓存处理模块反馈的令牌,并添加至令牌桶中。

进一步地,所述令牌下发单元22还用于:在接收到所述出端口缓存处理模块发送的撤销反压指示时,下发不携带所述反压标记的令牌。

本实施例提供的端口流量管理装置,可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。

在实际应用中,该第二判断单元21和令牌下发单元22可由位于端口流量管理装置上的cpu、mpu、dsp或fpga等器件实现。

图7为本发明实施例三提供的端口流量管理装置的结构示意图,如图7所示,本实施例提供的端口流量管理装置30可以包括统计单元31和反馈单元32。

统计单元31,用于统计出端口发送的报文字节数的累加值;

反馈单元32,用于当所述出端口发送的报文字节数的累加值大于等于一个令牌代表的字节数时,在统计的累加值中减去一个令牌代表的字节数,并反馈一个令牌给拥塞管理模块。

进一步地,所述端口流量管理装置30还包括:检测单元33,用于检测出端口的缓存深度;发送单元34,用于当所述出端口的缓存深度大于等于反压门限时,生成反压指示,并发送给拥塞管理模块;当所述出端口的缓存深度小于反压门限时,生成撤销反压指示,并发送给拥塞管理模块。

本实施例提供的端口流量管理装置,可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。

在实际应用中,该统计单元31、反馈单元32、检测单元33和发送单元34可由位于端口流量管理装置上的cpu、mpu、dsp或fpga等器件实现。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备 以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1