基于动态加权循环法的队列调度方法及装置的制造方法_3

文档序号:8546138阅读:来源:国知局
[0057]在步骤S170中,利用数据包读取模块150选择相应的队列读取队列的一个数据包,本实施方式中,若分组比较模块140判断出存在调度权值大于或等于调度门限值的优先队列时,则数据包读取模块150先优先队列中选择一个队列读取数据包,即数据包读取模块150根据队列d的权值指示信号I来选择读取队列d的数据包。
[0058]可以理解的是,若分组比较模块140比较不存在调度权值大于或等于调度门限值的优先队列时,即各非空队列的调度权值小于调度门限值,则数据包读取模块150从调度权值小于调度门限值的队列中随机选择一个队列读取数据包。
[0059]在步骤S180中,利用更新计算模块160将所选队列的调度权值减去对应读取的数据包的长度后得到所选队列更新后的调度权值。例如,所选队列的调度权值为2K,所选队列读取的数据包的包长为1536B,则所选队列的调度权值将更新为2KB-1536B =2X1024B-1536B = 512B,调度权值以字节(Byte)为单位。
[0060]在步骤S190中,利用判断模块130判断所有队列是否均为空队列或各队列调度权值是否均小于或等于0,若所有队列均为空队列或者各队列的调度权值小于等于0( < O)时,则本轮调度结束,返回步骤S120,即填充模块120重新为各队列根据配置比例填充调度权值后进行下一轮调度。若判断模块130判断所有队列不为空队列时,返回步骤S130继续判断端口发送速率是否正常后继续本轮调度,若判断模块130判断各队列的调度权值大于O时,返回步骤S130继续判断各队列中是否存在非空队列及端口的发送速率是否正常后以继续本轮调度。
[0061]本发明提供的基于动态加权循环法的队列调度装置100及方法中,利用配置模块110预先设置一个调度门限值,分组比较模块140比较各队列的调度权值与调度门限值的大小后优先对调度权值大于调度门限值或者调度权值大于等于调度门限值的优先队列进行调度,避免高配置比例的队列分配的流量带宽小于配置比例,防止高配置比例的队列调度权值溢出,保证了 DWRR队列的调度比例的准确性,以使队列的带宽达到预期效果。
[0062]可以理解的是,对于本领域的普通技术人员来说,可以根据本发明的技术构思做出其他各种相应的改变与变形,而所有这些改变与变形都应属于本发明权利要求的保护范围。
【主权项】
1.一种基于动态加权循环法的队列调度方法,其用于在调度装置端口进行队列的调度,所述基于动态加权循环法的队列调度方法包括以下步骤: 设置各队列的调度比例及一个调度门限值并存储; 根据配置的调度比例依需要为各个队列填充对应的调度权值; 在存在非空队列时获取非空队列的各个调度权值来比较各队列的调度权值与所述调度门限值的大小并根据比较结果选择相应队列读取数据包; 根据所选队列的调度权值与对应读取的数据包的长度计算以更新所选队列的调度权值; 判断所有队列是否均为空或各队列调度权值是否均小于或等于O并根据判断结果来确定是否重新填充各队列的调度权值以进行调度。
2.如权利要求1所述的基于动态加权循环法的队列调度方法,其特征在于,在为各队列填充调度权值的步骤中包括以下步骤: 依需要确定一个填充基数值; 依照各队列配置的调度比例分别乘以所确定的填充基数值以得到各个队列的调度权值。
3.如权利要求1所述的基于动态加权循环法的队列调度方法,其特征在于,在更新所选队列的调度权值的步骤中包括以下步骤: 将所选队列的调度权值减去对应读取的数据包的长度后得到所选队列更新后的调度权值。
4.如权利要求1所述的基于动态加权循环法的队列调度方法,其特征在于,在比较各队列的调度权值与调度门限值的大小步骤中包括以下步骤: 比较是否存在调度权值大于或等于所述调度门限值的优先队列,若是,则先从优先队列中选择一个队列读取数据包,若否,则从非空队列中选择一个队列读取数据包。
5.如权利要求1所述的基于动态加权循环法的队列调度方法,其特征在于,在比较各队列的调度权值与调度门限值的大小步骤中包括以下步骤: 比较是否存在调度权值大于所述调度门限值的优先队列,若是,则先从优先队列中选择一个队列读取数据包,若否,则从调度权值小于或等于所述调度门限值的队列中选择一个队列读取数据包。
6.如权利要求1所述的基于动态加权循环法的队列调度方法,其特征在于,在填充调度权值与比较调度权值的步骤之间还包括以下步骤: 判断端口发送速率是否正常且判断是否存在非空队列。
7.—种基于动态加权循环法的队列调度装置,其用于在调度装置端口进行队列的调度,所述基于动态加权循环法的队列调度装置包括: 一个配置模块,用于设置各队列的调度比例及一个调度门限值并存储; 一个填充模块,用于根据配置的调度比例依需要为各个队列填充对应的调度权值; 一个判断模块,用于判断各队列中是否存在非空队列; 一个分组比较模块,用于在存在非空队列时获取非空队列的各个调度权值来比较各队列的调度权值与所述调度门限值的大小; 一个数据包读取模块,用于根据比较结果来选择相应的队列读取数据包; 一个更新计算模块,用于根据所选队列的调度权值与对应读取的数据包的长度计算以更新所选队列的调度权值; 在更新所选队列的调度权值后所述判断模块判断所有队列是否均为空或各队列调度权值是否均小于或等于O并根据判断结果来确定是否重新填充各队列的调度权值以进行调度。
8.如权利要求7所述的基于动态加权循环法的队列调度装置,其特征在于,所述填充模块包括一个基数设置单元及一个填充计算单元,所述基数设置单元用于依需要确定一个填充基数值,所述填充计算单元用于依照各队列配置的调度比例分别乘以所确定的填充基数值以得到各个队列的调度权值。
9.如权利要求7所述的基于动态加权循环法的队列调度装置,其特征在于,所述分组比较模块比较是否存在调度权值大于或等于所述调度门限值的优先队列,若是,则所述数据包读取模块先从优先队列中选择一个队列读取数据包,若否,则所述数据包读取模块从非空队列中选择一个队列读取数据包。
10.如权利要求7所述的基于动态加权循环法的队列调度装置,其特征在于,所述分组比较模块比较是否存在调度权值大于所述调度门限值的优先队列,若是,则所述数据包读取模块先从优先队列中选择一个队列读取数据包,若否,则所述数据包读取模块从调度权值小于或等于所述调度门限值的队列中选择一个队列读取数据包。
【专利摘要】本发明提供一种基于动态加权循环法的队列调度方法,其包括以下步骤:设置各队列的调度比例及调度门限值并存储;根据调度比例为各个队列填充对应调度权值;获取各非空队列的调度权值来比较各调度权值与调度门限值的大小并根据比较结果选择队列读取数据包;根据所选队列的调度权值与读取数据包的长度计算以更新所选队列调度权值;判断所有队列是否为空或各队列调度权值是否小于等于0以确定是否重新填充各队列的调度权值进行调度。该方法预设调度门限值并比较各队列的调度权值与调度门限值的大小以优先对调度权值大于调度门限值的队列进行调度,避免高比例队列分配的流量带宽小于配置比例,保证了调度比例的准确性。本发明还提供了一种调度装置。
【IPC分类】H04L12-865
【公开号】CN104869079
【申请号】CN201510318925
【发明人】董志兵
【申请人】烽火通信科技股份有限公司
【公开日】2015年8月26日
【申请日】2015年6月11日
当前第3页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1