一种交换机的数据调度方法和交换机技术

技术编号:38997240 阅读:11 留言:0更新日期:2023-10-07 10:28
本发明专利技术提供一种交换机的数据调度方法和交换机,涉及数据调度领域,包括:交换机根据各报文队列关联的队列权重形成待发包队列;交换机控制待发包队列中位于队首的报文队列发出一个报文包并将关联的报文包数减一,同时将报文包数不大于零的报文队列于待发包队列中移除,随后在待发包队列中存在至少两个报文队列时,交换机对于待发包队列中每一个报文队列,根据关联的报文包数和队列权重计算得到对应的调度值,随后根据各调度值调整各报文队列于待发包队列中的位置随后再次控制队首的报文队列发包,以及在待发包队列只存在一个报文队列时将该报文队列的报文包发送完毕。有益效果是可以同时具备硬件要求低,调度效果好两个优点。点。点。

【技术实现步骤摘要】
一种交换机的数据调度方法和交换机


[0001]本专利技术涉及数据调度领域,尤其涉及一种交换机的数据调度方法和交换机。

技术介绍

[0002]交换机在转发报文时需要队列中对待转发的报文进行排序。队列指的是在缓存中对报文进行排序的逻辑。当流量的速率超过接口带宽或超过为该流量设置的带宽时,报文就以队列的形式暂存在缓存中。报文离开队列的时间、顺序,以及各个队列之间报文离开的相互关系由队列调度算法决定。
[0003]DWRR(deficit weighted round robin)调度算法和WFQ(Weighted Fair Queuing,加权公平排队)调度算法是常见的调度算法,但是两个算法各有弊端,DWRR调度算法对数据包的调度效果不理想,WFQ调度算法对于硬件的要求较高。

技术实现思路

[0004]针对现有技术中存在的问题,本专利技术提供一种交换机的数据调度方法,所述交换机内缓存有若干待转发的报文队列,每个所述报文队列均包含多个报文包,每个报文队列均关联有对应的队列权重和报文包数,则所述调度方法包括:
[0005]步骤S1,所述交换机根据各所述报文队列关联的所述队列权重形成待发包队列;
[0006]步骤S2,所述交换机控制所述待发包队列中位于队首的所述报文队列发出一个报文包并将关联的所述报文包数减一,同时将所述报文包数不大于零的所述报文队列于所述待发包队列中移除,随后判断所述待发包队列中是否存在至少两个所述报文队列:
[0007]若是,则转向步骤S3;
[0008]若否,则转向步骤S4;
[0009]步骤S3,所述交换机对于所述待发包队列中每一个所述报文队列,根据关联的所述报文包数和所述队列权重计算得到对应的调度值;随后根据各所述调度值调整各所述报文队列于所述待发包队列中的位置,随后返回所述步骤S2;
[0010]步骤S4,所述交换机判断所述报文队列中是否包含至少一个所述报文队列:
[0011]若是,则返回所述步骤S2;
[0012]若否,则退出。
[0013]优选的,所述调度值的计算公式为:
[0014]T=credit/weight
[0015]其中,T为所述调度值,credit为所述报文包数,weight为所述队列权重。
[0016]优选的,所述步骤S3包括:
[0017]步骤S31,所述交换机对于所述待发包队列中每一个所述报文队列,根据关联的所述报文包数和所述队列权重计算得到对应的调度值;
[0018]步骤S32,所述交换机根据所述待发包队列中位于队首的所述报文队列、位于第二位的所述报文队列和位于队尾的所述报文队列分别对应的所述调度值调整各所述报文队
列于所述待发包队列中的位置,随后返回所述步骤S2。
[0019]优选的,所述步骤S32包括:
[0020]步骤S321,所述交换机判断所述待发包队列中位于队首的所述报文队列对应的所述调度值是否大于位于第二位的所述报文队列对应的所述调度值:
[0021]若是,则转向所述步骤S2;
[0022]若否,则转向步骤S322;
[0023]步骤S322,所述交换机判断所述待发包队列中位于队首的所述报文队列对应的所述调度值是否大于位于队尾的所述报文队列对应的所述调度值:
[0024]若是,则将位于队首的所述报文队列调整至位于队尾的所述报文队列之前,随后转向所述步骤S2;
[0025]若否,则将位于队首的所述报文队列调整至位于队尾的所述报文队列之后,随后转向所述步骤S2。
[0026]本专利技术还提供一种交换机,应用上述的数据调度方法,所述交换机包括:
[0027]缓存模块,用于缓存若干待转发的报文队列,每个所述报文队列均包含多个报文包,每个报文队列均关联有对应的队列权重和报文包数;
[0028]初始模块,连接所述缓存模块,用于根据各所述报文队列关联的所述队列权重形成待发包队列;
[0029]发包模块,连接所述初始模块,用于在判断所述报文队列中包含至少一个所述报文队列时控制所述待发包队列中位于队首的所述报文队列发出一个报文包并将关联的所述报文包数减一,同时将所述报文包数不大于零的所述报文队列于所述待发包队列中移除,随后在判断所述待发包队列中存在至少两个所述报文队列时生成调整信号:
[0030]调整模块,连接所述发包模块,用于根据所述调整信号,对于所述待发包队列中每一个所述报文队列,根据关联的所述报文包数和所述队列权重计算得到对应的调度值;随后根据各所述调度值调整各所述报文队列于所述待发包队列中的位置。
[0031]优选的,所述调度值的计算公式为:
[0032]T=credit/weight
[0033]其中,T为所述调度值,credit为所述报文包数,weight为所述队列权重。
[0034]优选的,所述调整模块包括:
[0035]计算单元,用于对于所述待发包队列中每一个所述报文队列,根据关联的所述报文包数和所述队列权重计算得到对应的调度值;
[0036]调整单元,连接所述计算单元,用于根据所述待发包队列中位于队首的所述报文队列、位于第二位的所述报文队列和位于队尾的所述报文队列分别对应的所述调度值调整各所述报文队列于所述待发包队列中的位置。
[0037]优选的,所述调整单元包括:
[0038]第一调整单元,用于在判断所述待发包队列中位于队首的所述报文队列对应的所述调度值不大于位于第二位的所述报文队列对应的所述调度值时生成判断信号:
[0039]第二调整单元,连接所述第一调整单元,用于根据所述判断信号在判断所述待发包队列中位于队首的所述报文队列对应的所述调度值大于位于队尾的所述报文队列对应的所述调度值时将位于队首的所述报文队列调整至位于队尾的所述报文队列之前;
[0040]第三调整单元,连接所述第一调整单元,用于根据所述判断信号在判断所述待发包队列中位于队首的所述报文队列对应的所述调度值大于位于队尾的所述报文队列对应的所述调度值时将位于队首的所述报文队列调整至位于队尾的所述报文队列之后。
[0041]上述技术方案具有如下优点或有益效果:根据各报文队列的报文包数和队列权重计算对应的调度值,并且在每次发包后判断待发包队列中队首的报文队列的调度值和第二位的报文的调度值和队尾的报文队列的调度值的大小关系以调整队首的报文队列的移动位置,可以同时具备硬件要求低,调度效果好两个优点。
附图说明
[0042]图1为本专利技术的较佳的实施例中,一种交换机的数据调度方法的流程示意图;
[0043]图2为本专利技术的较佳的实施例中,步骤S3的子流程示意图;
[0044]图3为本专利技术的较佳的实施例中,步骤S32的子流程示意图;
[0045]图4为本专利技术的较佳的实施例中,一种交换机的结构示意图。
具体实施方式
[0046]下面结合附图和具体实施例对本专利技术进行详细说明。本专利技术并不限本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种交换机的数据调度方法,其特征在于,所述交换机内缓存有若干待转发的报文队列,每个所述报文队列均包含多个报文包,每个报文队列均关联有对应的队列权重和报文包数,则所述调度方法包括:步骤S1,所述交换机根据各所述报文队列关联的所述队列权重形成待发包队列;步骤S2,所述交换机控制所述待发包队列中位于队首的所述报文队列发出一个报文包并将关联的所述报文包数减一,同时将所述报文包数不大于零的所述报文队列于所述待发包队列中移除,随后判断所述待发包队列中是否存在至少两个所述报文队列:若是,则转向步骤S3;若否,则转向步骤S4;步骤S3,所述交换机对于所述待发包队列中每一个所述报文队列,根据关联的所述报文包数和所述队列权重计算得到对应的调度值,随后根据各所述调度值调整各所述报文队列于所述待发包队列中的位置,随后返回所述步骤S2;步骤S4,所述交换机判断所述报文队列中是否包含至少一个所述报文队列:若是,则返回所述步骤S2;若否,则退出。2.根据权利要求1所述的数据调度方法,其特征在于,所述调度值的计算公式为:T=credit/weight其中,T为所述调度值,credit为所述报文包数,weight为所述队列权重。3.根据权利要求1所述的数据调度方法,其特征在于,所述步骤S3包括:步骤S31,所述交换机对于所述待发包队列中每一个所述报文队列,根据关联的所述报文包数和所述队列权重计算得到对应的调度值;步骤S32,所述交换机根据所述待发包队列中位于队首的所述报文队列、位于第二位的所述报文队列和位于队尾的所述报文队列分别对应的所述调度值调整各所述报文队列于所述待发包队列中的位置,随后返回所述步骤S2。4.根据权利要求3所述的数据调度方法,其特征在于,所述步骤S32包括:步骤S321,所述交换机判断所述待发包队列中位于队首的所述报文队列对应的所述调度值是否大于位于第二位的所述报文队列对应的所述调度值:若是,则转向所述步骤S2;若否,则转向步骤S322;步骤S322,所述交换机判断所述待发包队列中位于队首的所述报文队列对应的所述调度值是否大于位于队尾的所述报文队列对应的所述调度值:若是,则将位于队首的所述报文队列调整至位于队尾的所述报文队列之前,随后转向所述步骤S2;若否,则将位于队首的所述报文队列调整至位于队尾的所述报文队列之后,随后转向所述步骤S2。5.一种交换机,其特征在于,应用如权...

【专利技术属性】
技术研发人员:汪科锦
申请(专利权)人:裕太微上海电子有限公司
类型:发明
国别省市:

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

1