[发明专利]一种可扩展的全流优先级调度方法有效
申请号: | 200910236816.3 | 申请日: | 2009-10-30 |
公开(公告)号: | CN101714947A | 公开(公告)日: | 2010-05-26 |
发明(设计)人: | 李国栋;陈震;薛一波;李军 | 申请(专利权)人: | 清华大学 |
主分类号: | H04L12/56 | 分类号: | H04L12/56 |
代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 胡小永 |
地址: | 100084 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 扩展 优先级 调度 方法 | ||
1.一种可扩展的全流优先级调度方法,其特征在于,将相同优 先级的流分为一组,组间按优先级调度,组内按差额轮询方式调度, 包括以下步骤:
S1:接收网络数据包,解析所述网络数据包流标签;
S2:根据流标签计算网络数据包组内出队列顺序,并将网络数据 包插入到所属流队列,具体包括步骤:
根据流标签检查网络数据包所属流是否存在于活跃流表中;
计算网络数据包组内出队列顺序,若所属流存在于活跃流表中, 将所属流的网络数据包数加1,否则,获取流的优先级,申请一个该 流的空队列,并初始化该流的调度信息;
将所述网络数据包插入所属的流队列;
流队列所在优先级组的网络数据包数加1;
判断所述优先级组的网络数据包数是否为1,若是,则将比特向 量中所述优先级组对应的比特向量位设为1;
S3:网络数据包组间按优先级、组内按出队列顺序出队列;
S4:将网络数据包发送出去。
2.如权利要求1所述的可扩展的全流优先级调度方法,其特征 在于,所述步骤S2还包括步骤:
当所属流不存在于活跃流表时,将该所属流插入到活跃流表尾 部,并建立流和流队列动态映射关系。
3.如权利要求1所述的可扩展的全流优先级调度方法,其特征 在于,所述步骤S3包括步骤:
找到一个具有最高优先级的非空优先级组;
取得所述优先级组上的一轮链表头的网络数据包,并更新网络数 据包所在流的剩余配额;
判断所属流的剩余配额是否大于所述网络数据包的长度,若是, 所述网络数据包出队列,并更新所属流的剩余配额、所属流的网络数 据包数以及所述优先级组的网络数据包数,否则更新所述优先级组出 队轮;
判断所属流的网络数据包数是否为0,若是,在活跃流表中删除 所属流并更新所述优先级组出队轮,否则,直接更新所述优先级组出 队轮;
所述优先级组的网络数据包数减1;
判断所述优先级组中网络数据包数是否为0,若是,将比特向量 中所述优先级组对应的比特向量位设为0,否则结束。
4.如权利要求1所述的可扩展的全流优先级调度方法,其特征 在于,所述初始化流的调度信息包括初始化流中的网络数据包数、流 的配额和流的当前剩余配额。
5.一种可扩展的全流优先级调度系统,其特征在于,包括:
网络数据包接收模块,用于接收网络数据包,并解析所述网络数 据包流标签;
网络数据包入队列模块,用于根据流标签计算网络数据包组内出 队列顺序,并将网络数据包插入到所属流队列,具体包括:
活跃流表中流查询模块,用于根据流标签查询网络数据包所 属流是否存在于活跃流表中;
流队列准备模块,用于计算网络数据包组内出队列顺序,若 所属流存在于活跃流表中,将所属流的网络数据包数加1,否则, 获取流的优先级,申请一个该流的空队列,并初始化该流的调度 信息;
流队列插入模块,用于将网络数据包插入所属的流队列;
优先级组更新模块,用于将流队列所在优先级组的网络数据 包数加1;
比特向量设置模块,用于判断所述优先级组的网络数据包数 是否为1,若是,则将比特向量中所述优先级组对应的比特向量 位设为1;
网络数据包出队列模块,用于网络数据包组间按优先级、组内按 出队列顺序出队列;
网络数据包发送模块,用于将网络数据包发送出去。
6.如权利要求5所述的可扩展的全流优先级调度系统,其特征 在于,所述网络数据包出队列模块包括:
最高非空优先级组查找模块,用于找到一个具有最高优先级的非 空优先级组;
调度轮链表头的网络数据包获取模块,用于取得所述优先级组上 的一轮链表头的网络数据包,并更新网络数据包所在流的剩余配额;
出队列判断模块,用于判断所属流的剩余配额是否大于所述网络 数据包的长度,若是,所述网络数据包出队列,并更新所属流的剩余 配额、所属流的网络数据包数以及所述优先级组的网络数据包数,否 则更新所述优先级组出队轮;
流的网络数据包数判断模块,用于判断所属流的网络数据包数是 否为0,若是,则在活跃流表中删除所属流并更新所述优先级组出队 轮,否则,直接更新所述优先级组出队轮;
优先级组更新模块,用于将所述优先级组的网络数据包数减1;
比特向量设置模块,用于判断所述优先级组中网络数据包数是否 为0,若是,将比特向量中所述优先级组对应的比特向量位设为0, 否则结束。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910236816.3/1.html,转载请声明来源钻瓜专利网。