1.基于动态变速率令牌分配和空闲缓存的流量整形调度方法,其特征在于,包括如下步骤S1‑步骤S10:步骤S1:针对四类网络流量业务,包括文件传输、图像、视频和语音,分别建立相应业务队列,并进行参数初始化;
步骤S2:分别针对各业务队列,建立相应的令牌桶以进行网络流量整形,令牌桶包括C桶和E桶,针对业务队列i,计算业务队列i中C桶和E桶的令牌数Tci和Tei,判断其与承诺突发尺寸CBS、超额突发尺寸EBS的关系,并动态调整业务队列i的承诺信息速率CIRi;
步骤S3:当有新的分组到达业务队列i时,判断该业务队列的C桶的令牌数是否成立,其中 表示到达业务队列i的新的分组大小;
若成立,则更新C桶的令牌数 基于改进的单速率三色标记法,将
新的分组标记为绿色进行转发;若不成立,则进入步骤S4;
步骤S4:判断C桶的令牌数 是否成立,其中k表示借贷因子,若成立,则进入令牌借贷模式,更新C桶的令牌数 将新的分组标记
为绿色进行转发;若不成立,则进入步骤S5;
步骤S5:判断E桶的令牌数 是否成立,若成立,则更新E桶的令牌数将新的分组标记为黄色进行转发;若不成立,则进入步骤S6;
步骤S6:判断E桶的令牌数 是否成立,其中k表示借贷因子,若成立,则进入令牌借贷模式,更新E桶的令牌数 将新的分组标记
为黄色进行转发;若不成立,则进入步骤S7;
步骤S7:进 入超额令牌共享 模式,判断业务队 列j的E桶的令 牌数且i≠j是否成立,若成立,则业务队列j向业务队列i中借出一
定数量的超额令牌,将新的分组标记为黄色进行转发,更新业务队列i的E桶的令牌数Tlend表示超额令牌数量;若不成立,将新的分组被标记为红色;
步骤S8:计算各业务队列长度L,当有新的分组进入业务队列时,判断业务队列中的分组是否溢出,若溢出,执行步骤S9;
步骤S9:寻找空闲业务队列,若存在满足条件的空闲业务队列,将溢出分组暂存至该业务队列中,否则将该分组丢弃;
步骤S10:若本轮所有业务队列调度完毕,则查询各业务队列中是否存在暂存分组,若存在,判断此分组的原业务队列此时是否有足够的缓存接收该分组,若是,则将分组调度回原业务队列进行转发,否则将该分组丢弃。
2.根据权利要求1所述的基于动态变速率令牌分配和空闲缓存的流量整形调度方法,其特征在于,步骤S1中,初始化的参数包括业务队列的承诺信息速率CIR、承诺突发尺寸CBS、超额突发尺寸EBS;分别将文件传输、图像、视频和语音相应的业务队列的初始承诺信息速率CIR设定为:2Mbps、2Mbps、3Mbps和3Mbps,初始承诺突发尺寸CBS设定为0.2Mb、
0.2Mb、0.8Mb和0.3Mb,初始超额突发尺寸EBS设定为0.3Mb、0.3Mb、0.75Mb和0.4Mb。
3.根据权利要求1所述的基于动态变速率令牌分配和空闲缓存的流量整形调度方法,其特征在于,为针对不同网络流量业务提供不同Qos需求的区分服务,采用改进的单速率三色标记法为每个业务队列建立相应令牌桶:C桶和E桶,以进行流量整形,业务队列i中C桶和E桶的令牌数分别为Tci和Tei;根据分组的颜色标记确定处理优先级,处理优先级由高至低依次为绿色、黄色、红色。
4.根据权利要求1所述的基于动态变速率令牌分配和空闲缓存的流量整形调度方法,其特征在于,步骤S2中,采用CIR速率调控器来周期性地检测各业务队列的C桶和E桶中的令牌是否已满,若已满,CIR速率调控器将以一定的比例减小业务队列的承诺信息速率CIR,并将减小的承诺信息速率CIR平均分配给其它业务队列,具体模型如下:CIRj′=αCIRj
其中,α为调控参数,0<α<1,CIRi为调整前的业务队列i的承诺信息速率,CIRi′为调整后的业务队列i的承诺信息速率。
5.根据权利要求1所述的基于动态变速率令牌分配和空闲缓存的流量整形调度方法,其特征在于,步骤S4中假设某业务队列j发生流量突发,新到达的分组new_packetj首先和C桶令牌数比较,若分组大于令牌数,则触发令牌借贷模式:new_packetj=new_packetj_green
其中,k为借贷因子,0.9≤k<1,新到达的分组大小为 Tcj为当前业务队列j的C桶令牌数,Tej为当前业务队列j的E桶令牌数,Tcj′为更新后的业务队列j的C桶令牌数,new_packetj_green表示被标记为绿色的分组。
6.根据权利要求1所述的基于动态变速率令牌分配和空闲缓存的流量整形调度方法,其特征在于,步骤S6中将新的分组大小与E桶令牌数进行比较,若分组大于令牌数,则触发令牌借贷模式:new_packetj=new_packetj_yellow其中,Tej为当前业务队列j的E桶令牌数,Tej′为更新后业务队列j的E桶令牌数,new_packetj_yellow表示被标记为黄色的分组;此时,新的分组被标记为黄色,将被降低优先级处理。
7.根据权利要求1所述的基于动态变速率令牌分配和空闲缓存的流量整形调度方法,其特征在于,步骤S7中假设某业务队列j涌入突发流量,业务队列j当前C桶的令牌数量为Tcj,E桶的令牌数量为Tej,新到达的分组大小为 若 且则进入超额令牌共享模式,即向其它业务队列的E桶借用超额令牌,若其它业务队列的E桶剩余令牌数均小于 则新到达的分组new_packetj被标记为红色,该分组将进行丢包处理:
new_packetj=new_packetj_red
其中,new_packetj_red表示被标记为红色的分组;
若有其它业务队列的E桶剩余令牌数大于等于 和Tej的差值,则业务队列j和被借用业务队列的E桶令牌数将发生如下变化:
Tej′=Tej+Tlend
Tel′=Tel‑Tlend
其中,Tel表示被借用超额令牌的业务队列,Tlend表示借用的超额令牌数,Tel′表示更新后的被借用超额令牌的业务队列;此时,业务队列j中E桶的令牌数足够分组进行转发,则Tej′发生变化,分组被标记为黄色:new_packetj=new_packetj_yellow其中,Tej′为更新后业务队列j的E桶令牌数,Tej″为更新后的Tej′,new_packetj_yellow表示被标记为黄色的分组。
8.根据权利要求1所述的基于动态变速率令牌分配和空闲缓存的流量整形调度方法,其特征在于,步骤S8中,网络流量业务分为时延敏感、带宽敏感和尽力而为三种,采用加权轮询调度和优先级队列相结合的方法进行调度;其中,带宽敏感业务和尽力而为业务采用加权轮询调度算法,所得数据流与时延敏感业务采用优先级队列算法。
9.根据权利要求1所述的基于动态变速率令牌分配和空闲缓存的流量整形调度方法,其特征在于,步骤S9中,设定每个业务队列的最大缓存空间为Bmax,当前业务队列的分组总长度为Li,新到达的分组大小为 当 时,寻找空闲业务队列;若业务队列j的分组总长度Lj<βBmax,且业务队列j≠业务队列i,则业务队列j属于空闲队列,将分组暂存于该空闲队列进行协同调度,同时将该分组标记为暂存分组,此时业务队列j的变化为:new_packeti=tem_packeti
其中,tem_packeti表示来自业务队列i的暂存分组,若业务队列j的分组总长度Lj≥βBmax,且业务队列j≠业务队列i,则业务队列j不属于空闲队列,不接受其它业务队列的溢出分组,其中Lj为业务队列j的分组总长度,β为溢出系数,0.5<β<1。
10.根据权利要求1所述的基于动态变速率令牌分配和空闲缓存的流量整形调度方法,其特征在于,步骤S10中,当一轮调度结束后,检测业务队列当中是否含有暂存分组,若有暂存分组,则判断该分组的原业务队列是否有足够的缓存空间容纳该分组,若则原业务队列缓存空间足够,此时各业务队列长度变化为:至此各业务队列的暂存分组处理完毕,进入下一轮业务队列调度工作。