侯磊的专栏

关于Java的一些知识

改进QoS的技术-调度算法:加权公平队列(WeightedFairQueueing)算法

今天从论坛上看到一个要求实现网络通信当中,路由器实现QoS的调度算法--加权公平队列(WeightedFairQueuing)算法。

翻了翻以前的教科书,感觉理解起来还是比较容易的,于是,编程实现了一下。

 

算法介绍:

    改进QoS的技术,一般从四个方面来改进,分别是:调度、通信量整形、许可证控制和资源预留。

    调度方面,主要有三种,分别是:先进先出(first-in,first-out,FIFO)、优先权队列(priority queuing)和 加权公平队列(weighted fair queuing)。

    FIFO会将数据分组放入队列(缓冲区)当中等待,直到节点(路由或交换器)处理它们为止。如果分组的到达速率超过处理速率,队列将被填满,新分组将被丢弃。

    PQ将数据分组先分配到不同优先权的队列中,较高优先权的队列会优先处理,直到处理为空,再处理较低优先权的队列。到达的分组通过分类器将不同的分组分往不同优先权的队列。若高优先权队列始终有数据,低优先权的队列将得不到处理。

    WFQ仍然会将数据分组分往不同的队列,但是,每个队列都有各自的权重,系统以轮换的方式来处理每个队列中的分组,并且所处理的分组数量等于相应队列的权重。

 

代码展示:

阅读更多
个人分类: Java SE
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭