令牌添加方法及装置与流程

文档序号:11279204阅读:231来源:国知局
令牌添加方法及装置与流程

本发明涉及通信技术领域的拥塞控制技术,尤其涉及一种令牌添加方法及装置。



背景技术:

随着网络应用的不断发展,新型业务的不断推出,例如交互式网络电视(iptv)、网络电话(voip,voiceoverinternetprotocol)、视频会议等非传统数据通信业务,对网络的服务质量(qos,qualityofservice)提出了更高的时延、丢包率和抖动控制要求;为了保证qos的实现,通常在网络处理器或路由器中设置专门的拥塞管理模块,拥塞管理模块用于控制帧、信元或分组如何离开一个设备。

拥塞管理模块的一个功能是限速,这个功能由整形控制组件完成,整形控制组件控制的对象是队列,队列内存储的是同一类型的数据包;整形控制组件以用户配置的整形速率添加令牌到队列的令牌桶内,令牌桶内有令牌的队列可以调度数据包离开设备,队列调度数据包离开设备时会消耗队列令牌桶内的令牌;现有的整块控制组件一般采用加权分配算法给队列分配服务机会,加权分配算法,例如加权公平队列(wfq,weightedfairqueuing),或者加权循环调度算法(wrr,weightedroundrobin),每次服务添加一定数目的令牌,令牌数可以转化为带宽,单次服务添加的令牌数等于所有队列的权重之和/基准权重,设备的基准权重对应设备的基准整形值,也就是将用户配置的整形速率转化为一个权重值分配给队列,每个队列根据自身的权重,获得令牌添加的机会,权重大的队列获得令牌添加的机会多,权重小的队列获得令牌添加的机会少。

然而,系统中权重较大的队列会拉高系统所有队列的权重之和,使得单次 服务添加的令牌数也较大,权重小的队列在一段时间内获得的令牌数是固定的,权重小的队列在这段时间内,只能获得很少的服务机会,每次服务获得比较多的令牌,使得权重小的队列突发式的获得令牌,然而,权重小的队列在系统内能占用的缓存是有限的,权重小的队列承受突发的能力比较差,在一段时间内,如果流量突发超过权重小的队列承受突发能力时,就会发生数据包丢弃,如此,会影响业务的服务质量。



技术实现要素:

有鉴于此,本发明实施例期望提供一种令牌添加方法及装置,能在保证队列的整形速率准确的前提下,减少权重小的队列的流量突发,提高业务的服务质量。

为达到上述目的,本发明的技术方案是这样实现的:

本发明实施例提供一种令牌添加方法,包括:

基于对应于目标端口的各个队列的整形权重,对各所述队列中满足预设条件的队列的整形权重进行压缩,确定各所述队列的压缩权重;

确定各所述队列中分配到服务机会的目标队列,基于基准权重、各所述队列的压缩权重及所述目标队列的整形权重,确定向所述目标队列对应的令牌桶中添加的令牌数并添加。

本发明实施例还提供一种令牌添加装置,包括:

确定模块,用于基于对应于目标端口的各个队列的整形权重,对各所述队列中满足预设条件的队列的整形权重进行压缩,确定各所述队列的压缩权重;

所述确定模块,还用于确定各所述队列中分配到服务机会的目标队列,基于基准权重、各所述队列的压缩权重及所述目标队列的整形权重,确定向所述目标队列对应的令牌桶中添加的令牌数;

分发模块,用于向所述目标队列对应的令牌桶中添加所述确定模块确定的添加的令牌数。

本发明实施例中,对满足预设条件的队列的整形权重进行压缩,同时保证 不满足预设条件的队列的整形权重,根据队列的压缩权重确定需要向目标队列(得到服务的队列)的令牌桶中添加的令牌数,如此,各队列的压缩权重之和小于各队列的整形权重之和,由于不满足预设条件的队列的整形权重未被压缩(整形权重等于压缩权重),因此,本实施例会增加不满足预设条件的队列的服务机会,并降低不满足预设条件的队列在得到服务时需要向对应的令牌桶中添加的令牌数,进而减少不满足预设条件的队列的流量突发,提高业务的服务质量。

附图说明

图1为本发明实施例中令牌添加方法的一个可选的流程示意图;

图2为本发明实施例中令牌添加方法的另一个可选的流程示意图;

图3为本发明实施例中令牌添加方法的又一个可选的流程示意图;

图4为本发明实施例中令牌添加方法的再一个可选的流程示意图;

图5为本发明实施例中令牌添加装置的一个可选的结构示意图;

图6为本发明实施例中令牌添加装置的另一个可选的结构示意图。

具体实施方式

下面将结合附图及实施例,对本发明的技术方案进行清楚、完整地描述。

下面首先对实施本发明实施例的装置(在以下各具体实施例中即为令牌添加装置)进行说明,令牌添加装置可以采用各种方式来实施,例如在网络处理器、路由器等网络设备中实施令牌添加装置的全部组件(比如,令牌添加装置可以集成于上述的网络设备中的拥塞管理模块的整形控制组件中),或者,在上述的网络设备侧以耦合的方式实施令牌添加装置中的组件。

基于上述记载的令牌添加装置,提出以下各具体实施例。

实施例一

本实施例记载一种令牌添加方法,可以应用于拥塞管理技术中以解决如下问题:希望能在保证队列的整形速率准确的前提下,减少权重小的队列的流量 突发,提高业务的服务质量;本实施例针对此情况的处理进行说明。

参见图1,本实施例记载的令牌添加方法包括以下步骤:

步骤101、基于对应于目标端口的各个队列的整形权重,对各队列中满足预设条件的队列的整形权重进行压缩,确定各队列的压缩权重。

在本实施例中,目标端口可以是指上述网络设备的一个或多个数据接口,对于需经数据接口发送的报文,网络设备的调度器基于该报文的特征信息进行分析,将该报文分配至对应于该报文的特征信息的队列中;用户为对应于目标端口的各个队列分别配置整形速率,整形速率可以为承诺信息速率(cir,committedinformationrate)或者超出信息速率(eir,excessinformationrate);基准整形速率是指网络设备所允许的最大数据速率,基准权重对应于基准整形速率;基于基准整形速率、基准权重及队列的整形速率,可以确定队列在网络设备中的整形权重;可选的,计算队列的整形速率与基准整形速率的比值,再计算该比值与基准权重的乘积,将得到的乘积值作为队列的整形权重。

本实施例将对应于目标端口的各个队列界定(划分)为至少两类,即整形权重较大的队列、整形权重较小的队列;具体地,本实施例通过预设条件界定一个队列是否属于整形权重较大的队列,将各队列中满足预设条件的队列界定为整形权重较大的队列,及将不满足预设条件的队列界定为整形权重较小的队列;这里,标记对应于目标端口的各个队列至少包括第一队列和第二队列,假设,第一队列由于满足预设条件被界定为属于整形权重较大的队列,第二队列由于不满足预设条件被界定为属于整形权重较小的队列。

本实施例针对上述界定的整形权重较大的队列和整形权重较小的队列分别采取不同的处理方法得到各队列的压缩权重:

1)针对上述界定的整形权重较大的队列,对该队列的整形权重进行压缩,将压缩得到的权重确定为该队列的压缩权重;例如,对第一队列的整形权重进行压缩,将压缩得到的权重确定为第一队列的压缩权重。

2)针对上述界定的整形权重较小的队列,将该队列的整形权重确定为压缩权重;例如,将第二队列的整形权重确定为第二队列的压缩权重。

本实施例在对满足预设条件的队列的整形权重进行压缩后,一方面,满足预设条件的队列的压缩权重小于整形权重,不满足预设条件的队列的压缩权重等于整形权重,由此可以知晓,上述各队列的压缩权重之和小于上述各队列的整形权重之和;另一方面,在本发明中令牌添加装置基于上述各队列的压缩权重确定各队列的服务机会,具体地,令牌添加装置计算各队列的压缩权重之和,再计算队列与求和值的比值,将计算得到的比值确定为队列的服务机会,各队列以各自对应的服务机会(几率)获得服务;相比于现有技术使用各队列的整形权重为各队列分配服务机会,本发明中使用各队列的压缩权重为各队列分配服务机会,由于各队列的压缩权重之和小于各队列的整形权重之和,且整形权重较小的队列的压缩权重等于整形权重,可以提高整形权重较小的队列的服务机会。

步骤102、确定各队列中分配到服务的目标队列,基于基准权重、各队列的压缩权重及目标队列的整形权重,确定向目标队列对应的令牌桶中添加的令牌数并添加。

令牌添加装置确定各队列中分配到服务的目标队列后,基于基准权重、各队列的压缩权重及目标队列的整形权重,对目标队列的压缩权重进行解压缩,根据目标队列的整形权重的压缩情况,确定单次服务时向目标队列对应的令牌桶中添加的令牌数,上述确定的单次服务时向目标队列对应的令牌桶中添加的令牌数可以保证目标队列的整形速率准确。

本实施例中,基于整形权重的大小区别对待目标端口的各个队列,对满足预设条件的队列的整形权重进行压缩,同时保证不满足预设条件的队列的整形权重,根据队列的压缩权重确定需要向目标队列(得到服务的队列)的令牌桶中添加的令牌数,如此,各队列的压缩权重之和小于各队列的整形权重之和,由于不满足预设条件的队列的整形权重未被压缩(整形权重等于压缩权重),因此,本实施例可以增加不满足预设条件的队列的服务机会,并降低不满足预设条件的队列在得到服务时需要向对应的令牌桶中添加的令牌数,进而减少不满足预设条件的队列的流量突发,提高业务的服务质量。

实施例二

本实施例基于实施例一,针对具体如何对队列的整形权重进行压缩的情况进行说明,本实施例以上述各队列中的任一队列为例进行说明。

参见图2,本实施例记载的令牌添加方法包括以下步骤:

步骤201、获取对应于目标端口的队列的整形权重。

步骤202、判断队列的整形权重是否大于权重保留值,若是,则转到步骤203,否则,转到步骤207。

权重保留值可以根据实际需要预先设置。

步骤203、根据权重压缩系数对队列的整形权重进行压缩。

权重压缩系数可以根据实际需要预先设置。

步骤204、判断压缩结果是否大于权重保留值,若是,则转到步骤205,否则,转到步骤206。

步骤205、将压缩结果作为队列的压缩权重;跳转到步骤208。

步骤206、将权重保留值作为队列的压缩权重;跳转到步骤208。

步骤207、将队列的整形权重作为队列的压缩权重。

步骤208、判断是否为对应于目标端口的所有队列均已确定压缩权重,若是,则转到步骤209,否则转到步骤201。

步骤209、确定各队列中分配到服务机会的目标队列,基于基准权重、各队列的压缩权重及目标队列的整形权重,确定向目标队列对应的令牌桶中添加的令牌数并添加。

本实施例中,上述预设条件为:队列的整形权重大于权重保留值;本领域技术人员可以理解,上述预设条件并不限于此处记载的示例,只要是能够将各队列的整形权重进行分类的条件或方法都在本发明的保护范围之内。

本实施例区别对待整形权重大的队列和整形权重小的队列,压缩整形权重大的队列的整形权重,少压缩或者不压缩整形权重小的队列的整形权重。

实施例三

本实施例基于实施例一,针对具体如何确定向获得服务的队列对应的令牌桶中添加的令牌数的情况进行说明,本实施例以上述各队列中的任一队列为例进行说明。

参见图3,本实施例记载的令牌添加方法包括以下步骤:

步骤301、获取对应于目标端口的队列的整形权重。

步骤302、基于对应于目标端口的各个队列的整形权重,对各队列中满足预设条件的队列的整形权重进行压缩,确定各队列的压缩权重。

步骤303、确定各队列中分配到服务机会的目标队列。

步骤304、基于基准权重及各队列的压缩权重确定单次服务添加的最少令牌数。

确定单次服务添加的最少令牌数的实现方式可以包括:计算各队列的压缩权重之和;再计算求和值与基准权重的比值;将计算得到的比值确定为单次服务添加的最少令牌数。

步骤305、判断目标队列的整形权重是否小于等于权重保留值;若是,则转到步骤306,否则转到步骤307。

权重保留值可以根据实际需要预先设置。

步骤306、将单次服务添加的最少令牌数确定为需要向目标队列对应的令牌桶中添加的令牌数;跳转到步骤311。

步骤307、根据权重压缩系数对目标队列的整形权重进行压缩。

步骤308、判断压缩结果是否小于等于权重保留值,若是,则转到步骤309,否则转到步骤310。

步骤309、计算目标队列的整形权重与权重保留值的比值,再计算比值与单次服务添加的最少令牌数的乘积,将计算得到的乘积值确定为需要向目标队列对应的令牌桶中添加的令牌数;跳转到步骤311。

步骤310、计算权重压缩系数与单次服务添加的最少令牌数的乘积,将计算得到的乘积值确定为需要向目标队列对应的令牌桶中添加的令牌数。

步骤311、基于所确定的令牌数,向目标队列对应的令牌桶中添加相应的令牌。

权重压缩系数可以根据实际需要预先设置。

本实施例中由于各队列的压缩权重之和小于各队列的整形权重之和,基于各队列的压缩权重及基准权重确定的单次服务添加的最少令牌数与现有技术相比有所减小,一方面,令牌添加装置向分配到服务机会的整形权重小的队列对应的令牌桶中添加的令牌数为单次服务添加的最少令牌数,即与现有技术相比有所减小,进而可减少整形权重小的队列的流量突发;另一方面,令牌添加装置结合权重压缩系数及权重值对压缩权重进行解压缩,将单次服务添加的最少令牌数乘以权重压缩系数或整形权重与权重保留值的比值,确定为分配到服务机会的整形权重大的队列对应的令牌桶中添加的令牌数,使得整形权重大的队列对应的令牌桶中添加的令牌数与现有技术中的数目接近,如此可以保证队列的整形速率准确。

实施例四

基于上述各实施例,本实施例记载一种令牌添加方法,可以应用于以下场景中:在拥塞管理过程中,希望能在保证队列的整形速率准确的前提下,减少权重小的队列的流量突发,提高业务的服务质量;本实施例针对此情况的处理进行说明。

现有技术中,系统(如目标端口)中存在一些权重较大的队列,存在一些权重较小的队列,权重较大的队列拉高了系统所有队列的权重之和,使得单次服务添加的令牌数较大,权重小的队列在一段时间内获得的令牌数是固定的,当单次服务添加的令牌数较大时,权重小的队列在这段时间内,只能获得很少的服务机会,每次服务获得比较多的令牌,这样会导致权重小的队列突发式的获得令牌,权重小的队列在系统内能占用的缓存是有限的,这就导致权重小的队列承受突发的能力比较差,在一段时间内,如果流量突发超过权重小的队列缓存的承受能力的话,就会发生数据包丢弃。

本实施例为了解决该问题,区别对待权重大的队列和权重小的队列,压缩权重大的队列的权重值,同时保证权重小的队列的权重值,减小了所有队列的权重之和,减小了单次服务令牌添加数;根据压缩后的权重进行带宽分配;为了保证用户配置的整形速率准确,当队列被服务时,需要对压缩权重进行解压缩,计算得到压缩倍数k(k为正整数,是2的幂次方,用于表示队列的整形权重被压缩的倍数),向队列对应的令牌桶中添加的令牌数等于单次服务添加的最少令牌数乘以压缩倍数k。

参见图4,本实施例记载的令牌添加方法包括以下步骤:

步骤401、获取对应于目标端口的各队列的整形速率,获取权重压缩系数a及权重保留值b,其中,a为正整数,a是2的幂次方,b为正整数,b是2的幂次方。

下面分别计算各队列的压缩权重d,其中d为正整数,在令牌分配时使用。

步骤402、对于任意一个队列,根据队列的整形速率,确定队列的整形权重c;计算公式如下:

c=(队列的整形速率/基准整形速率)*基准权重。

步骤403、判断队列的整形权重c是否小于等于权重保留值b:若是,则转到步骤406,否则转到步骤404。

步骤404、将整形权重c除以权重压缩系数a,判断比值是否小于等于权重保留值b,若是,则转到步骤405,否则转到步骤407。

步骤405、队列的压缩权重d等于权重保留值b;转到步骤408。

步骤406、队列的压缩权重d等于整形权重值c;转到步骤408。

步骤407、队列的压缩权重d等于计算结果,即整形权重c除以权重压缩系数a得到的比值。

步骤408、判断是否为对应于目标端口的所有队列均已确定压缩权重,若是,则转到步骤409,否则转到步骤402。

步骤409、基于加权算法及各队列的压缩权重确定各队列的服务机会。

加权算法,例如wfq或dwrr等;针对任意队列a,首先计算各队列的 压缩权重之和,再计算队列a与求和值的比值,将计算得到的比值确定为队列a的服务机会;各队列以各自对应的服务机会(几率)获得令牌分发机会。

步骤410、基于基准权重及各队列的压缩权重确定单次服务添加的最少令牌数n1。

单次服务添加的最少令牌数n1等于所有队列的压缩权重之和除以基准权重。

步骤411、针对分配到服务机会的目标队列,判断目标队列的整形权重c是否小于等于权重保留值b;若是,则转到步骤412,否则转到步骤413。

步骤412、该步骤中,压缩倍数k=1,即需要向目标队列对应的令牌桶中添加的令牌数n=单次服务添加的最少令牌数n1;跳转到步骤416;

步骤413、计算目标队列的整形权重c与权重压缩系数a的比值c/a,判断比值c/a是否小于等于权重保留值b,若是则转到步骤414,否则转到步骤415;

步骤414、计算目标队列的整形权重c与权重保留值b的比值c/b,再计算比值c/b与单次服务添加的最少令牌数n1的乘积(c/b*n1),该步骤中,压缩倍数k=c/b,即需要向目标队列对应的令牌桶中添加的令牌数n=c/b*n1;跳转到步骤416。

步骤415、计算权重压缩系数a与单次服务添加的最少令牌数n1的乘积(a*n1),该步骤中,压缩倍数k=a,即需要向目标队列对应的令牌桶中添加的令牌数n=a*n1。

步骤416、基于所确定的令牌数n,向目标队列对应的令牌桶中添加相应的令牌。

本实施例在保证用户配置整形速率准确前提下,增加一段时间内整形速率较小的队列服务的机会,减小整形速率较小的队列的突发,在不增加整形速率小的队列系统内存占用量的前提下,增加了整形速率小的队列承受突发的能力,减小了整形速率小的队列丢包的可能性。提供更好的整形效果,提高系统的qos性能。

实施例五

与实施例四对应,本实施例记载一种令牌添加装置,可以用于执行实施例四的方案,令牌添加装置可以是为实施本发明实施例而专门设置的设备,也可以内置于网络设备内部,网络设备可以包括网络处理器、路由器,参见图5,本实施例记载的令牌添加装置包括:

配置模块501、整形压缩计算模块502、整形解压缩计算模块503、令牌分发模块504、令牌消耗模块505、存储模块506,其中:

配置模块501,用于配置(获取)权重压缩系数、权重保留值及队列的整形权重,配置其它的必要信息;

整形压缩计算模块502,用于执行步骤401至步骤408的权重压缩运算,计算得到队列的最终权重值(队列的压缩权重);

整形解压缩计算模块503,用于执行步骤411至步骤415的权重解压缩运算,计算得到令牌添加数;

令牌分发模块504,根据加权算法和队列的最终权重值(队列的压缩权重),分配令牌服务机会给各个队列,并根据整形解压缩计算模块503中计算得到的令牌添加个数,向队列的令牌桶中添加相应的令牌。

令牌消耗模块505,当队列调度数据包离开设备时,消耗相应的令牌个数。

存储模块506,存储权重压缩系数、权重保留值及队列的整形权重值等信息和其它的必要信息。

本实施例在保证用户配置整形速率准确前提下,增加一段时间内整形速率较小的队列服务的机会,减小整形速率较小的队列的突发,在不增加整形速率小的队列系统内存占用量的前提下,增加了整形速率小的队列承受突发的能力,减小了整形速率小的队列丢包的可能性。提供更好的整形效果,提高系统的qos性能。

实施例六

与前述实施例对应,本实施例针对前述的令牌添加装置进行说明,令牌添 加装置可以用于执行本发明实施例的令牌添加方法,令牌添加装置可以是为实施本发明实施例而专门设置的设备,也可以内置于网络设备内部,网络设备可以包括网络处理器、路由器,参见图6,本实施例记载的令牌添加装置包括:

确定模块601,用于基于对应于目标端口的各个队列的整形权重,对各队列中满足预设条件的队列的整形权重进行压缩,确定各队列的压缩权重;

确定模块601,还用于确定各队列中分配到服务机会的目标队列,基于基准权重、各队列的压缩权重及目标队列的整形权重,确定向目标队列对应的令牌桶中添加的令牌数;

分发模块602,用于向目标队列对应的令牌桶中添加确定模块确定的添加的令牌数。

本实施例中,基于整形权重的大小区别对待目标端口的各个队列,对满足预设条件的队列的整形权重进行压缩,同时保证不满足预设条件的队列的整形权重,根据队列的压缩权重确定需要向目标队列(得到服务的队列)的令牌桶中添加的令牌数,如此,各队列的压缩权重之和小于各队列的整形权重之和,由于不满足预设条件的队列的整形权重未被压缩(整形权重等于压缩权重),因此,本实施例可以增加不满足预设条件的队列的服务机会,并降低不满足预设条件的队列在得到服务时需要向对应的令牌桶中添加的令牌数,进而减少不满足预设条件的队列的流量突发,提高业务的服务质量。

可选的,确定模块601,具体用于判断队列的整形权重是否大于权重保留值;若是,则根据权重压缩系数对队列的整形权重进行压缩,当确定压缩结果大于权重保留值时将压缩结果作为队列的压缩权重,当确定压缩结果不大于权重保留值时将权重保留值作为队列的压缩权重;

否则,将队列的整形权重作为队列的压缩权重。

可选的,确定模块601,还用于在确定各队列中分配到服务机会的目标队列之前,根据各队列的压缩权重,确定各队列的服务机会。

可选的,确定模块601,具体用于计算各队列的压缩权重之和;再计算队列与求和值的比值;将计算得到的比值确定为队列的服务机会。

可选的,确定模块601,具体用于:基于基准权重及各队列的压缩权重确定单次服务添加的最少令牌数;判断目标队列的整形权重是否不大于权重保留值;

若是,则将单次服务添加的最少令牌数确定为需要向目标队列对应的令牌桶中添加的令牌数;

否则,根据权重压缩系数对目标队列的整形权重进行压缩,当确定压缩结果不大于权重保留值时,计算目标队列的整形权重与权重保留值的比值,再计算比值与单次服务添加的最少令牌数的乘积,将计算得到的乘积值确定为需要向目标队列对应的令牌桶中添加的令牌数;当确定压缩结果大于权重保留值时,计算权重压缩系数与单次服务添加的最少令牌数的乘积,将计算得到的乘积值确定为需要向目标队列对应的令牌桶中添加的令牌数。

可选的,确定模块601,具体用于计算各队列的压缩权重之和;再计算求和值与基准权重的比值;将计算得到的比值确定为单次服务添加的最少令牌数。

在实际应用中,确定模块601、分发模块602,均可由位于网络设备的中央处理器(cpu)、微处理器(mpu)、数字信号处理器(dsp)、或现场可编程门阵列(fpga)等实现。

实施例七

实体实施例

本实施例记载一种计算机可读介质,可以为rom(例如,只读存储器、flash存储器、转移装置等)、磁存储介质(例如,磁带、磁盘驱动器等)、光学存储介质(例如,cd-rom、dvd-rom、纸卡、纸带等)以及其他熟知类型的程序存储器;计算机可读介质中存储有计算机可执行指令,当执行指令时,引起至少一个处理器执行包括以下的操作:

基于对应于目标端口的各个队列的整形权重,对各队列中满足预设条件的队列的整形权重进行压缩,确定各队列的压缩权重;

确定各队列中分配到服务机会的目标队列,基于基准权重、各队列的压缩 权重及目标队列的整形权重,确定向目标队列对应的令牌桶中添加的令牌数并添加。

可选的,基于对应于目标端口的各个队列的整形权重,对各队列中满足预设条件的队列的整形权重进行压缩,确定各队列的压缩权重,包括:判断队列的整形权重是否大于权重保留值;若是,则根据权重压缩系数对队列的整形权重进行压缩,当确定压缩结果大于权重保留值时将压缩结果作为队列的压缩权重,当确定压缩结果不大于权重保留值时将权重保留值作为队列的压缩权重;

否则,将队列的整形权重作为队列的压缩权重。

可选的,确定各队列中分配到服务机会的目标队列之前,方法还包括:根据各队列的压缩权重,确定各队列的服务机会。

可选的,根据各队列的压缩权重,确定各队列的服务机会,包括:计算各队列的压缩权重之和;再计算队列与求和值的比值;将计算得到的比值确定为队列的服务机会。

可选的,基于基准权重、各队列的压缩权重及目标队列的整形权重,确定向目标队列对应的令牌桶中添加的令牌数,包括:基于基准权重及各队列的压缩权重确定单次服务添加的最少令牌数;判断目标队列的整形权重是否不大于权重保留值;若是,则将单次服务添加的最少令牌数确定为需要向目标队列对应的令牌桶中添加的令牌数;否则,根据权重压缩系数对目标队列的整形权重进行压缩,当确定压缩结果不大于权重保留值时,计算目标队列的整形权重与权重保留值的比值,再计算比值与单次服务添加的最少令牌数的乘积,将计算得到的乘积值确定为需要向目标队列对应的令牌桶中添加的令牌数;当确定压缩结果大于权重保留值时,计算权重压缩系数与单次服务添加的最少令牌数的乘积,将计算得到的乘积值确定为需要向目标队列对应的令牌桶中添加的令牌数。

可选的,基于基准权重及各队列的压缩权重确定单次服务添加的最少令牌数,包括:计算各队列的压缩权重之和;再计算求和值与基准权重的比值;将计算得到的比值确定为单次服务添加的最少令牌数。

综上,本发明实施例中通过对满足预设条件的队列的整形权重进行压缩,同时保证不满足预设条件的队列的整形权重,根据队列的压缩权重确定需要向目标队列(得到服务的队列)的令牌桶中添加的令牌数,如此,各队列的压缩权重之和小于各队列的整形权重之和,由于不满足预设条件的队列的整形权重未被压缩(整形权重等于压缩权重),因此,本实施例会增加不满足预设条件的队列的服务机会,并降低不满足预设条件的队列在得到服务时需要向对应的令牌桶中添加的令牌数,进而减少不满足预设条件的队列的流量突发,提高业务的服务质量。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程 或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1