一种调度报文的方法和装置制造方法及图纸

技术编号:15441619 阅读:60 留言:0更新日期:2017-05-26 06:43
本申请公开了一种调度报文的方法,包括:确定第一队列在上一轮次被调度出的报文中最大报文的长度,根据最大报文的长度设置第一队列的权重因子,权重因子大于或等于最大报文的长度且小于或等于预设门值,预设门值大于或等于最大报文的长度;根据权重因子以及权重比中第一队列对应的第一比项计算第一调度长度;根据第一调度长度从第一队列中调度出相应数目的报文。这样,在进行每轮调度之前,第一队列的权重因子均为动态设置,既保证了每轮调度均能从第一队列中调度出至少一个报文,又能避免在一轮调度过程中因为权重因子过大调度过多报文造成报文突发的问题,从而提高了报文传输的稳定性。

Method and device for dispatching message

The invention discloses a method, a scheduling message includes determining a maximum message message queue scheduling is first in a round in length, the maximum message length according to the weighting factor set the first queue, the weighting factor is greater than or equal to the maximum message length and small Yu Huo is equal to the preset value is greater than the preset value of the door, the door or equal to the maximum message length; according to the weight factor and weight ratio in the first queue corresponding to the first calculation than the first scheduling length; according to the first schedule length from the first queue scheduling corresponding message number. So, before each round of the first queue scheduling, weighting factors are dynamic settings, ensures that each round scheduling can dispatch at least one message from the first queue, and can avoid in a scheduling process because of the weight factor is too large too many problems caused by packet scheduling packet burst, so as to improve the the stability of message transmission.

【技术实现步骤摘要】
一种调度报文的方法和装置
本申请涉及通信领域,尤其涉及一种调度报文的方法和装置。
技术介绍
拥塞管理的中心内容是当拥塞发生时如何制定一个策略,用于决定报文转发的处理次序和丢弃原则,一般采用队列技术。队列指的是在缓存中对报文进行排序的逻辑。当流量的速率超过接口带宽或超过为该流量设置的带宽时,报文就以队列的形式暂存在缓存中。报文离开队列的时间、顺序以及各个队列之间报文离开的相互关系由队列调度算法决定。加权差分轮询(英文全称:WeightedDeficitRoundRobin,英文缩写:WDRR)调度算法的队列调度原理如下:一轮调度,为待调度的每个队列按权重分配一个可配置的服务额度,作为每个队列的可用带宽,并按照分配的服务额度发送各个队列的报文,每轮所分配的服务额度均以队列的权重因子为基数,服务额度与权重因子以及每个队列的权重的比项正相关;如果一个队列在本轮调度中的报文长度大于分配给该队列的服务额度,那么本轮调度中该报文将不被发送,并将本轮调度的服务额度加到该队列下一轮调度的服务额度中,作为队列下一轮调度的可用带宽。而在一些改进的WDRR算法中,如果一个队列在本轮调度中的报文长度大于分配给该队列的服务额度,且服务额度大于或等于零时,那么本轮调度中该报文仍会被发送出去,而超支的额度将在下一轮调度中扣除。在进一步改进的WDRR算法中,为了保证队列每次被选择时都能发出至少1个报文,要求服务额度大小至少为该队列中最大报文长度的大小,否则,若配置的服务额度较小,当上一轮调度中调度出两个较大的报文后,超支的服务额度大于本轮调度中分配的服务额度,那么扣除上一轮超支服务额度后服务额度将小于零,从而导致本轮调度无法调度出报文。由于每个队列的服务额度至少为该队列的最大报文长度的大小,保证每次被调度选择时都能发出至少1个报文,而对于队列中最大报文的长度与其他短报文相差较大的情况下,则有可能在一轮调度中发出较多的短报文,导致报文突发严重,并且该队列有可能经过几轮调度之后所有报文都被调度出,后续的调度过程中只会调度出其他队列的报文,这对于整个调度过程,会导致流量抖动过大,而影响了传输报文的稳定性。
技术实现思路
本申请提供了一种调度报文的方法和装置,可实现提高报文传输的稳定性。第一方面,提供一种调度报文的方法,包括:确定第一队列在上一轮被调度出的报文中最大报文的长度;根据所述最大报文的长度设置所述第一队列的权重因子,所述权重因子大于或等于所述最大报文的长度且小于或等于预设门值,所述预设门值大于或等于所述最大报文的长度;根据所述权重因子以及权重比中所述第一队列对应的第一比项计算所述第一队列对应的第一调度长度,所述权重比包括所述第一比项和第二比项;根据所述第一调度长度从所述第一队列中调度出相应数目的报文。本申请所提供的调度报文的方法中,确定第一队列在上一轮次被调度出的报文中最大报文的长度,根据所述最大报文的长度设置所述第一队列的权重因子,这样,便能保证本轮调度中为所述第一队列分配权重因子后,扣除上一轮超支的额度后,第一队列的权重因子值大于零,即,使得所述第一队列在本轮调度中至少能调度出一个报文;所述权重因子大于或等于所述最大报文的长度且小于或等于预设门值,所述预设门值大于或等于所述最大报文的长度;根据所述权重因子以及权重比中所述第一队列对应的第一比项计算所述第一队列对应的第一调度长度,所述权重比包括第二比项和所述第一队列对应的所述第一比项;根据所述第一调度长度从所述第一队列中调度出相应数目的报文。这样,在进行每轮调度之前,第一队列的权重因子均为动态设置,既保证了每轮调度均能从所述第一队列中调度出至少一个报文,又能避免在一轮调度过程中因为权重因子过大调度过多报文造成的报文突发的问题,从而提高了报文传输的稳定性。一种可能的实现方式中,当所述权重比的最大公约数不为1时,所述方法还包括:用所述最大公约数分别整除所述第一比项与所述第二比项。本申请的调度报文的方法,若第一队列与第二队列的权重比较大,那么在一轮调度中,基于分配的权重因子与权重比的比项所得到的调度长度较大,所能调度出的报文数目也较多,会导致报文突发严重。本申请的报文调度方法中,当第一队列与第二队列的权重比的最大公约数不为1时,则用所述最大公约数分别整除所述第一比项与所述第二比项,这样,使得第一比项与第二比项都较小,从而在一轮调度中,所得到的调度长度较小,从而所调度出的报文较少,减轻了报文突发状况。例如,第一队列与第二队列发送报文按定长包100字节,配置权重因子为100字节,两个队列的权重比为10:20,那么,所述第一队列对应的第一比项为10,所述第二队列对应的第二比项为20,在一轮调度中,第一队列的调度长度为100*10=1000字节,因此,第一队列将被调度出10个报文,第二队列的调度长度为100*20=2000字节,因此,第二队列将被调度出20个报文。而所述第一队列与所述第二队列的权重比的最大公约数为10,那么,本申请的报文调度方法中,还可以用所述最大公约数10分别整除所述第一比项10与所述第二比项20,得到所述第一队列与所述第二队列的权重比为1:2,所以,通过本申请的调度报文的方法中,在一轮调度中,第一队列的调度长度为100*1=100字节,第一队列将被调度出一个报文,第二队列的调度长度为100*2=200字节,第二队列将被调度出两个报文。一种可能的实现方式中,所述根据所述第一调度长度从所述第一队列中调度出相应数目的报文包括:根据所述第一调度长度的加权值从所述第一队列中调度出相应数目的报文;所述第一调度长度的加权值为:所述第一调度长度除以权重系数,所述权重系数为2N;所述N满足:所述第一比项与所述第二比项中最小的比项大于或等于2N,且小于2N+1。本申请的调度报文的方法,当配置第一队列与第二队列的权重比为7:11这类最小的比项不为1,且无法进行最大公约数相约为较小的权重比时,若以此权重比进行报文调度,那么在一轮调度中,所计算得到的调度长度较大,被调度出的报文会比较多,同样会引起报文突发的问题。所以在本申请报文调度方法中,计算出调度长度后,再将调度长度除以权重系数得到一个服务额度,并以此服务额度作为调度队列中报文数目的长度。由于在物理实现中,报文一般取值2的整数次幂,所以权重系数为2N,所述N满足:所述第一比项与第二比项中最小的比项大于或等于2N,且小于2N+1,这样,使得计算得到较大的调度长度后,除以合适的权重系数,得到合理的服务额度,使得报文调度确保每次调度的最小权重队列出队1~2个报文,以减少因最小权重配置值非1引入的报文突发。第二方面,提供了一种调度报文的装置,所述调度报文的装置具有实现上述方法的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。一种可能的实现方式中,本申请所提供的调度报文的装置包括发送器和处理器;其中,所述处理器,用于确定第一队列在上一轮次被调度出的报文中最大报文的长度;所述处理器还用于,根据所述最大报文的长度设置所述第一队列的权重因子,所述权重因子大于或等于所述最大报文的长度且小于或等于预设门值,所述预设门值大于或等于所述最大报文的长度;所述处理器还用于,本文档来自技高网
...
一种调度报文的方法和装置

【技术保护点】
一种调度报文的方法,其特征在于,所述方法包括:确定第一队列在上一轮被调度出的报文中最大报文的长度;根据所述最大报文的长度设置所述第一队列的权重因子,所述权重因子大于或等于所述最大报文的长度且小于或等于预设门值,所述预设门值大于或等于所述最大报文的长度;根据所述权重因子以及权重比中所述第一队列对应的第一比项计算所述第一队列对应的第一调度长度,所述权重比包括所述第一比项和第二比项;根据所述第一调度长度从所述第一队列中调度出相应数目的报文。

【技术特征摘要】
1.一种调度报文的方法,其特征在于,所述方法包括:确定第一队列在上一轮被调度出的报文中最大报文的长度;根据所述最大报文的长度设置所述第一队列的权重因子,所述权重因子大于或等于所述最大报文的长度且小于或等于预设门值,所述预设门值大于或等于所述最大报文的长度;根据所述权重因子以及权重比中所述第一队列对应的第一比项计算所述第一队列对应的第一调度长度,所述权重比包括所述第一比项和第二比项;根据所述第一调度长度从所述第一队列中调度出相应数目的报文。2.根据权利要求1所述的方法,其特征在于,当所述权重比的最大公约数不为1时,所述方法还包括:用所述最大公约数分别整除所述第一比项与所述第二比项。3.根据权利要求1或2所述的方法,其特征在于,所述根据所述第一调度长度从所述第一队列中调度出相应数目的报文包括:根据所述第一调度长度的加权值从所述第一队列中调度出相应数目的报文;所述第一调度长度的加权值为:所述第一调度长度除以权重系数,所述权重系数为2N;所述N满足:所述第一比项与所述第二比项中最小的比项大于或等于2N,且小于2N+1。4.根据权利要求1至3其中任意一项所述的方法,其特征在于,所述权重因子取值2的整数次幂。5.根据权利要求1至4其中任意一项所述的方法,其特征在于,所述预设门值取值2M,所述M满足:所述最大报文的长度大于2M-1,且小于或等于2M。6.一种调度报文的装置,其特征在于,所述装置包括:处理器,用于确定第一队列在上一轮次被调度出的报文中最大报文的长度;所述处理器还用于,根据所述最大报文的长度设置所述第一队列的权重因子,所述权重因子大于或等于所述最大报文的长度且小于或等于预设门值,所述预设门值大于或等于所述最大报文的长度;所述处理器还用于,根据所述权重因子以及权重比中所述第一队列对应的第一比项计算所述第一队列对应的...

【专利技术属性】
技术研发人员:熊卫波曹翔明刘轶
申请(专利权)人:华为数字技术苏州有限公司
类型:发明
国别省市:江苏,32

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

1