[发明专利]一种可扩展的全流优先级调度方法有效
申请号: | 200910236816.3 | 申请日: | 2009-10-30 |
公开(公告)号: | CN101714947A | 公开(公告)日: | 2010-05-26 |
发明(设计)人: | 李国栋;陈震;薛一波;李军 | 申请(专利权)人: | 清华大学 |
主分类号: | H04L12/56 | 分类号: | H04L12/56 |
代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 胡小永 |
地址: | 100084 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 扩展 优先级 调度 方法 | ||
技术领域
本发明涉及网络管理和网络监控技术领域,特别涉及一种可扩展的全流优先级调度方法及系统。
背景技术
急速增长的用户数量和流量,严重影响关键业务正常使用。如何保障关键业务,进行流量管理是关键。增长带宽,可能暂时解决网络速度变慢的现象,关键业务的网络质量有所改善。然而增长的带宽很快被无休止的增长的非关键业务流量所占据。因此合理分配网络资源,保障关键业务的关键在于:(1)如何能够将带宽合理的分配到每个流;(2)如何实施监控和直接控制各种应用流量,根据不同应用程序设置不同的优先级别,以保证对关键业务应用提供快捷、准确的网络服务。为每个流分配一个专有的队列,加上适当的调度出队算法,能够提供带宽分配和服务保障。然而其面临着多个难题:高速网络设备中同时存在的流的数目在百万量级,随着网络带宽的进一步增长,流的数目也随之增长。而在高速网络中相邻两个包的时间间隔只有几十纳秒。如果将百万量级的流存储在慢速的DRAM中,不能达到线速处理;而如果将百万的流存储在快速存储器,如SRAM中,成本将很高。
流一般定义为网络数据包头具有特定相同域的网络数据包集合(如TCP/IP协议的五元组)。同一个流的网络数据包要求相同的服务等级。当前学术界和工业界广泛采用的方法是以秒或者分钟做为处理时间粒度(即认为在秒或分钟内的存在的流),在此粒度下,系统内流的数目在百万量级。集成服务(IntServ)做为调度结构的先驱,它为每个同时存在的流保留资源,由于其处理的流数目在百万量级。所以其处理复杂度高,限制了其广泛应用。另外的一种思路是采用ASIC硬件加速队列组织和调度,然而该种方法开发周期长,成本高,在通用硬件中应用并不广泛。另外一种在Linux系统中广泛使用的调度算法CBQ(Class-Based Queueing)【Main page of CBQ.www.icir.org/floyd/cbq.html】采用树的组织结构,根节点表示真个带宽资源,其下每个子节点代表一种资源分配单位,不同的分支根据策略可以采用不同的调度算法。然而该算法仅适合处理高度聚类的流,如果要处理细粒度的流,如一个具有相同五元组(源IP,源端口,目的IP,目的端口,协议)的流,该树结构的高度将变得很大,从而处理复杂度高。
发明内容
(一)发明目的
本发明的目的是提供一种可扩展的全流优先级调度方法,该方法实现了全流的服务区分和带宽保证。
(二)发明内容
一种可扩展的全流优先级调度方法,该方法将相同优先级的流分为一组,组间按优先级调度,组内按差额轮询方式调度,包括以下步骤:
S1:接收网络数据包,解析所述网络数据包流标签;
S2:根据流标签计算网络数据包组内出队列顺序,并将网络数据包插入到所属流队列;
S3:网络数据包组间按优先级、组内按出队列顺序出队列;
S4:将网络数据包发送出去。
其中,所述步骤S2包括步骤:
根据流标签检查网络数据包所属流是否存在于活跃流表中;
计算网络数据包组内出队列顺序,若所属流存在于活跃流表中,将所属流的网络数据包数加1,否则,获取流的优先级,申请一个该流的空队列,并初始化该流的调度信息;
将所述网络数据包插入所属的流队列;
流队列所在优先级组的网络数据包数加1;
判断所述优先级组的网络数据包数是否为1,若是,则将比特向量中所述优先级组对应的比特向量位设为1。
其中,所述步骤S2还包括步骤:
当所属流不存在于活跃流表时,将该所属流插入到活跃流表尾部,并建立流和流队列动态映射关系。
其中,所述步骤S3包括步骤:
找到一个具有最高优先级的非空优先级组;
取得所述优先级组上的一轮链表头的网络数据包,并更新网络数据包所在流的剩余配额;
判断所属流的剩余配额是否大于所述网络数据包的长度,若是,所述网络数据包出队列,并更新所属流的剩余配额、所属流的网络数据包数以及所述优先级组的网络数据包数,否则更新所述优先级组出队轮;
判断所属流的网络数据包数是否为0,若是,在活跃流表中删除所属流并更新所述优先级组出队轮,否则,直接更新所述优先级组出队轮;
所述优先级组的网络数据包数减1;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910236816.3/2.html,转载请声明来源钻瓜专利网。