首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >谁能给我解释一下令牌桶的概念?

谁能给我解释一下令牌桶的概念?
EN

Stack Overflow用户
提问于 2014-03-10 02:30:05
回答 2查看 1.8K关注 0票数 2

有人能给我解释一下令牌桶的概念吗?还需要帮助解决以下问题。

给定令牌桶大小b字节;令牌速率r字节/秒;以及最大输出速率M字节/秒,最大突发时间T是多少?

请详细说明如何处理此问题

EN

回答 2

Stack Overflow用户

发布于 2014-04-25 20:19:52

你读过这个吗?http://en.wikipedia.org/wiki/Token_bucket

基本上,当你想要限制某些东西的速率时,可以使用令牌桶来进行限制。这样想,有人每秒在你的桶里放一颗糖(R),那么你每秒只能吃一颗糖。如果你的桶可以容纳10(b)颗糖果,如果你有一段时间没有吃过它们,那么你的桶就会装满,那么你可以一次吃10颗糖(M)。

我想你关于最大突发时间T的问题的答案可以这样计算。重点是,当你以M速率吃糖果的时候,它也是以R速率重新装满的。

代码语言:javascript
复制
t = b/m;
while(1) {
    T = (b + (t * r)) / m
    if (T == t) return T;
    t = T;
}

所以如果b= 10,r=1/秒,M=2/秒,那么T= 9。

票数 9
EN

Stack Overflow用户

发布于 2019-03-16 03:38:40

这里有一个很好的解释:https://www.coursera.org/lecture/packet-switching-networks-algorithms/traffic-shaping-by-token-bucket-V07oV

对于你的问题,我们可以根据数据IO做一个等式:在时间T之后,数据输出应该等于数据输入。即: b+rT=MT T=b/(M-r)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22286273

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档