一种报文出队调度的方法和设备技术

技术编号:10395901 阅读:143 留言:0更新日期:2014-09-07 16:01
本发明专利技术提供了一种报文出队调度的方法和设备,能够解决流量突发现象所带来的丢包问题。该方法包括:将输出队列对应的输出队列缓存的输出速率设置为第一速率;判断所述输出队列缓存中的数据量是否大于预设值;如果大于所述预设值,将所述输出队列缓存的输出速率设置为第二速率,所述第二速率大于所述第一速率;在第一预设时间后,将所述输出队列缓存的输出速率设置为所述第一速率。该方法适用于通信技术领域。

【技术实现步骤摘要】
一种报文出队调度的方法和设备
本专利技术涉及通信领域,尤其涉及一种报文出队调度的方法和设备
技术介绍
L2二层交换系统在交换模块部分通常会实现按流分队列,每个队列代表一个流,每个流队列配置缓存和带宽,内部实现一个基于流队列的调度。由于按流进行调度时,服务质量(英文:QualityofService,简称:Qos)的特性好,可以解决输入端口头阻塞的问题。在L2交换系统中,任何一个输入端口的报文经过L2交换系统,都有可能被交换到任何一个输出端口。如图1所示,此L2交换系统有4个输入端口,端口A,端口B,端口C,端口D,有4个输出端口,端口E,端口F,端口G,端口H。碰巧在同一时间,来自输入端口ABCD的报文都被交换到输出端口E。这种来自多个输入端口的数据被交换到同一个输出端口的现象,称为多打一。当出现多打一现象时,由于总的输入量大于输出量,而输出端口的缓存队列深度是有限的,可能会导致缓存耗尽而丢包的现象。在现有技术中,通常通过以下两种方案来缓解交换系统中由于多打一导致突发流量溢出而丢包的问题:1)加大输出队列的缓存深度。然而由于交换网中内部的缓存容量是有限的,加大每个输出队列的缓存深度代价比较大,输出队列缓存深度过大,会造成资源的浪费以及成本的增加。然而,若所述输出队列的缓存深度不够大,还是有可能会发生缓存耗尽而丢包的现象。2)设置共享缓存。如果共享缓存设置太大,没有发生多打一时,就不会发生输出队列缓存满的情况,也就不会使用共享缓存;如果共享缓存设置太小,发生多打一时,又可能出现共享缓存不够的情况。所以如何设置共享缓存的大小也是现有技术存在的问题。
技术实现思路
本专利技术的实施例提供一种报文出队调度的方法,通过反馈输出队列缓存的数据量来调整输出速率,使得队列中的报文能够快速流出,从而解决流量突发导致的丢包问题。为达到上述目的,本专利技术的实施例采用如下技术方案:第一方面,本专利技术提供了一种报文出队调度的方法,该方法包括:将输出队列对应的输出队列缓存的输出速率设置为第一速率;判断所述输出队列缓存中的数据量是否大于预设值;如果大于所述预设值,将所述输出队列缓存的输出速率设置为第二速率,所述第二速率大于所述第一速率;在第一预设时间后,将所述输出队列缓存的输出速率设置为所述第一速率。在第一种可能的实施方式中,结合第一方面,所述将输出队列对应的输出队列缓存的输出速率设置为第一速率包括:将所述输出队列缓存的带宽设置为第一带宽以及将所述输出队列缓存的调度优先级设置为第一优先级这两种方式中的任意一种或多种;相应地,所述将所述输出队列缓存的输出速率设置为第二速率,所述第二速率大于所述第一速率包括:将所述输出队列缓存的带宽设置为第二带宽以及将所述输出队列缓存的调度优先级设置为第二优先级这两种方式中的任意一种或多种;其中,所述第二带宽大于所述第一带宽,所述第二优先级高于所述第一优先级。在第二种可能的实施方式中,结合第一方面或第一种可能的实施方式,所述预设值大于等于两个最长报文的和值,小于等于所述输出队列所对应的缓存空间的值与一个最长报文的差值。在第三种可能的实施方式中,结合第一方面,第一种可能的实施方式或第二种可能的实施方式中的任一种,所述如果大于所述预设值,将所述输出队列缓存的输出速率设置为第二速率,所述第二速率大于所述第一速率之后,该方法还包括:若将所述输出队列缓存的输出速率设置为第二速率的时刻为T0,所述输出队列缓存中的数据量由大于所述预设值变为小于等于所述预设值的时刻为T1,所述T1与T0的差值大于等于第二预设时间且小于所述第一预设时间,将所述输出队列缓存的输出速率设置为所述第一速率,其中,所述第二预设时间小于所述第一预设时间;所述在第一预设时间后,将所述输出队列缓存的输出速率设置为所述第一速率具体包括:判断所述输出队列缓存的输出速率在到达所述第一预设时间时的输出速率是否为第一速率;若不是,将所述输出队列缓存的输出速率设置为所述第一速率。在第四种可能的实施方式中,结合第一方面,第一种可能的实施方式至第三种可能的实施方式中的任一种,该方法还包括:若将所述输出队列缓存的输出速率由所述第二速率设置为所述第一速率的时刻为T2,所述输出队列缓存中的数据量由小于等于所述预设值变为大于所述预设值的时刻为T3,若所述T3与所述T2的差值大于等于第三预设时间,将所述输出队列缓存的输出速率设置为所述第二速率;若所述T3与所述T2的差值小于所述第三预设时间,在所述T2的第三预设时间后,将所述输出队列缓存的输出速率设置为所述第二速率,其中,所述T3在所述T2之后。第二方面,本专利技术实施例提供了一种报文出队调度的设备,该设备包括:设置单元和判断单元;所述设置单元,用于将输出队列对应的输出队列缓存的输出速率设置为第一速率;所述判断单元,用于判断所述输出队列缓存中的数据量是否大于预设值;若所述判断单元判断所述输出队列缓存中的数据量大于所述预设值,所述设置单元还用于:将所述输出队列缓存的输出速率设置为第二速率,所述第二速率大于所述第一速率;在第一预设时间后,将所述输出队列缓存的输出速率设置为所述第一速率。在第一种可能的实施方式中,结合第二方面,所述设置单元具体用于:将所述输出队列缓存的带宽设置为第一带宽以及将所述输出队列缓存的调度优先级设置为第一优先级这两种方式中的任意一种或多种;将所述输出队列缓存的带宽设置为第二带宽以及将所述输出队列缓存的调度优先级设置为第二优先级这两种方式中的任意一种或多种;其中,所述第二带宽大于所述第一带宽,所述第二优先级高于所述第一优先级。在第二种可能的实施方式中,结合第二方面或第一种可能的实施方式,所述预设值大于等于两个最长报文的和值,小于等于所述输出队列所对应的缓存空间的值与一个最长报文的差值。在第三种可能的实施方式中,结合第二方面,第一种可能的实施方式或第二种可能的实施方式中的任一种,所述设置单元将所述输出队列缓存的输出速率设置为第二速率后,所述设置单元还用于:若将所述输出队列缓存的输出速率设置为第二速率的时刻为T0,所述输出队列缓存中的数据量由大于所述预设值变为小于等于所述预设值的时刻为T1,所述T1与T0的差值大于等于第二预设时间且小于所述第一预设时间,将所述输出队列缓存的输出速率设置为所述第一速率,其中,所述第二预设时间小于所述第一预设时间;所述判断单元还用于:判断所述输出队列缓存的输出速率在到达所述第一预设时间时的输出速率是否为第一速率;所述设置单元还用于:若不是,将所述输出队列缓存的输出速率设置为所述第一速率。在第四种可能的实施方式中,结合第二方面,第一种可能的实施方式至第三种可能的实施方式中的任一种,所述设置单元还用于:若将所述输出队列缓存的输出速率由所述第二速率设置为所述第一速率的时刻为T2,所述输出队列缓存中的数据量由小于等于所述预设值变为大于所述预设值的时刻为T3,若所述T3与所述T2的差值大于等于第三预设时间,将所述输出队列缓存的输出速率设置为所述第二速率;若所述T3与所述T2的差值小于所述第三预设时间,在所述T2的第三预设时间后,将所述输出队列缓存的输出速率设置为所述第二速率,其中,所述T3在所述T2之后。第三方面,本专利技术实施例提供了一种报文出队调度的设备,该设备包括:处理器、总线和存储器,其中,所述本文档来自技高网...
一种报文出队调度的方法和设备

【技术保护点】
一种报文出队调度的方法,其特征在于,该方法包括:将输出队列对应的输出队列缓存的输出速率设置为第一速率;判断所述输出队列缓存中的数据量是否大于预设值;如果大于所述预设值,将所述输出队列缓存的输出速率设置为第二速率,所述第二速率大于所述第一速率;在第一预设时间后,将所述输出队列缓存的输出速率设置为所述第一速率。

【技术特征摘要】
1.一种报文出队调度的方法,其特征在于,该方法包括:将输出队列对应的输出队列缓存的输出速率设置为第一速率;判断所述输出队列缓存中的数据量是否大于预设值;如果大于所述预设值,将所述输出队列缓存的输出速率设置为第二速率,所述第二速率大于所述第一速率;在第一预设时间后,将所述输出队列缓存的输出速率设置为所述第一速率;所述如果大于所述预设值,将所述输出队列缓存的输出速率设置为第二速率,所述第二速率大于所述第一速率之后,该方法还包括:若将所述输出队列缓存的输出速率设置为第二速率的时刻为T0,所述输出队列缓存中的数据量由大于所述预设值变为小于等于所述预设值的时刻为T1,所述T1与T0的差值大于等于第二预设时间且小于所述第一预设时间,将所述输出队列缓存的输出速率设置为所述第一速率,其中,所述第二预设时间小于所述第一预设时间;所述在第一预设时间后,将所述输出队列缓存的输出速率设置为所述第一速率具体包括:判断所述输出队列缓存的输出速率在到达所述第一预设时间时的输出速率是否为第一速率;若不是,将所述输出队列缓存的输出速率设置为所述第一速率。2.根据权利要求1所述的方法,其特征在于,所述将输出队列对应的输出队列缓存的输出速率设置为第一速率包括:将所述输出队列缓存的带宽设置为第一带宽以及将所述输出队列缓存的调度优先级设置为第一优先级这两种方式中的任意一种或多种;相应地,所述将所述输出队列缓存的输出速率设置为第二速率,所述第二速率大于所述第一速率包括:将所述输出队列缓存的带宽设置为第二带宽以及将所述输出队列缓存的调度优先级设置为第二优先级这两种方式中的任意一种或多种;其中,所述第二带宽大于所述第一带宽,所述第二优先级高于所述第一优先级。3.根据权利要求1或2所述的方法,其特征在于,所述预设值大于等于两个最长报文的和值,小于等于所述输出队列所对应的缓存空间的值与一个最长报文的差值。4.根据权利要求1或2所述的方法,其特征在于,该方法还包括:若将所述输出队列缓存的输出速率由所述第二速率设置为所述第一速率的时刻为T2,所述输出队列缓存中的数据量由小于等于所述预设值变为大于所述预设值的时刻为T3,若所述T3与所述T2的差值大于等于第三预设时间,将所述输出队列缓存的输出速率设置为所述第二速率;若所述T3与所述T2的差值小于所述第三预设时间,在所述T2的第三预设时间后,将所述输出队列缓存的输出速率设置为所述第二速率,其中,所述T3在所述T2之后。5.一种报文出队调度的设备,其特征在于,该设备包括:设置单元和判断单元;所述设置单元,用于将输出队列对应的输出队列缓存的输出速率设置为第一速率;所述判断单元,用于判断所述输出队列缓存中的数据量是否大于预设值;若所述判断单元判断所述输出队列缓存中的数据量大于所述预设值,所述设置单元还用于:将所述输出队列缓存的输出速率设置为第二速率,所述第二速率大于所述第一速率;在第一预设时间后,将所述输出队列缓存的输出速率设置为所述第一速率;所述设置单元将所述输出队列缓存的输出速率设置为第二速率后,所述设置单元还用于:若将所述输出队列缓存的输出速率设置为第二速率的时刻为T0,所述输出队列缓存中的数据量由大于所述预设值变为小于等于所述预设值的时刻为T1,所述T1与T0的差值大于等于第二预设时间且小于所述第一预设时间,将所述输出队列缓存的输出速率设置为所述第一速率,其中,所述第二预设时间小于所述第一预设时间;所述判断单元还用于:判断所述输出队列缓存的输出速率在到达所述第一预设时...

【专利技术属性】
技术研发人员:雷春杨华黄雪峰
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1