[发明专利]令牌桶的刷新方法及装置有效
申请号: | 201110096479.X | 申请日: | 2011-04-18 |
公开(公告)号: | CN102164083A | 公开(公告)日: | 2011-08-24 |
发明(设计)人: | 翟勇 | 申请(专利权)人: | 中兴通讯股份有限公司 |
主分类号: | H04L12/56 | 分类号: | H04L12/56 |
代理公司: | 深圳市爱派知识产权事务所 44292 | 代理人: | 罗水江 |
地址: | 518057 广东省深圳市南山*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 令牌 刷新 方法 装置 | ||
1.一种令牌桶的刷新方法,其特征在于,所述方法包括以下步骤:
获取中央处理器CPU的当前利用率,
根据所述CPU的当前利用率计算所述令牌桶的当前深度和当前刷令牌速率;
根据所述当前刷令牌速率,计算本次刷新预增令牌数;
放入所述预增令牌数个令牌到所述令牌桶。
2.根据权利要求1所述的方法,其特征在于,所述方法在初始化时,执行以下步骤:
设置所述令牌桶深度的最大值与最小值,所述令牌桶刷令牌速率的最大值与最小值,所述令牌桶中令牌数的最低门限值,所述令牌桶深度增量以及刷令牌速率增量;
设置CPU利用率的最低门限值和最高门限值以及CPU利用率的步进值。
3.根据权利要求1所述的方法,其特征在于,所述放入所述预增令牌数个令牌到所述令牌桶步骤之后,还包括以下步骤:
获取所述令牌桶的当前状态;
判断所述令牌桶的当前状态的类型,若为可用,则本次刷新结束;若为不可用,
则判断所述令牌桶中的当前令牌数是否大于最低门限值,若是,则将令牌桶的状态设为可用;否则,本次刷新结束。
4.根据权利要求2所述的方法,其特征在于,所述根据CPU的当前利用率计算令牌桶的当前深度和当前刷令牌速率步骤具体包括以下步骤:
判断所述CPU的当前利用率是否小于所述CPU利用率的最低门限值,若是,则所述令牌桶的当前深度等于所述令牌桶深度的最大值,所述令牌桶的当前刷令牌速率等于所述令牌桶刷令牌速率的最大值;否则,
判断所述CPU的当前利用率是否大于所述CPU利用率的最高门限值,若是,则所述令牌桶的当前深度等于所述令牌桶深度的最小值,所述令牌桶的当前刷令牌速率等于所述令牌桶刷令牌速率的最小值;否则,
根据所述CPU的当前利用率,计算CPU的当前步进数;
根据所述CPU的当前步进数,计算所述令牌桶的当前深度以及当前刷令牌速率。
5.根据权利要求4所述的方法,其特征在于,所述CPU的当前步进数通过以下公式计算:
step_number=(rate-low_rate)/utility
其中,step_number表示CPU的当前步进数,rate表示CPU当前利用率,low_rate表示CPU利用率的最低门限值,utility表示CPU利用率的步进值。
6.根据权利要求4或5所述的方法,其特征在于,所述令牌桶的当前深度通过以下公式计算:
depth=min_depth+A*step_number
其中,depth表示令牌桶的当前深度,min_depth表示令牌桶深度的最小值,A表示令牌桶深度增量,step_number表示CPU的当前步进数。
7.根据权利要求4或5所述的方法,其特征在于,所述令牌桶的当前刷令牌速率通过以下公式计算:
speed=min_speed+B*step_number
其中,speed表示令牌桶的当前刷令牌速率,min_speed表示令牌桶刷令牌速率的最小值,B表示令牌桶刷令牌速率增量,step_number表示CPU的当前步进数。
8.根据权利要求1-4任一项所述的方法,其特征在于,所述根据当前刷令牌速率,计算本次刷新预增令牌数步骤具体包括以下步骤:
获取当前时间,作为所述令牌桶的本次刷新时间并保存;
计算本次刷新时间与上次刷新时间的时间差;
根据所述时间差和所述令牌桶的当前刷令牌速率计算本次刷新预增令牌数。
9.根据权利要求8所述的方法,其特征在于,所述预增令牌数通过以下公式计算:
new_number=time_difference*speed
其中,new_number表示预增令牌数,time_difference表示令牌桶本次刷新时间与上次刷新时间的时间差,speed表示令牌桶的当前刷令牌速率。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中兴通讯股份有限公司,未经中兴通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110096479.X/1.html,转载请声明来源钻瓜专利网。