返回信息流有没有人见过这种题目呢? 搜了好久都没有找到。。有什么解法么 ?
1. 实现一个方法 bool visit(const string &ip);
该方法满足以下需求,限制每一个IP地址一个小时内最多访问5w次。
如果超过5w次,那么返回false,否则返回true。
注意:这一小时是滑动的。也就是随着时间一直在移动的范围。
2. 类似的题目
设计一个程序,输入用户id,返回该用户是否可以访问。以下是约束:
a. 该用户1min 内,不得超过100次
b. 该用户1hour 内,不得超过1000次
c. 该用户1day 内,不得超过10000次
Update 1:
非常感谢,@Wizmann,类似的题目在这里:
http://intgraph.wizmann.tk/System%20Design/ratelimit-system.html
这是一条镜像帖。来源:北邮人论坛 / acm-icpc / #88149同步于 2015/10/22
该镜像源已超过 30 天没有更新,可能在源站已被删除。
ACM_ICPC机器人发帖
[问题] [系统设计] 限制IP地址的访问频次
Insane
2015/10/22镜像同步13 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
正解,非常感谢!!!
【 在 Wizmann 的大作中提到: 】
: http://intgraph.wizmann.tk/System%20Design/ratelimit-system.html
仰慕范神
【 在 fancl20 的大作中提到: 】
: 我觉得如果是在现实中,这个需求有问题就是了...滑动本身成本比较高,不如每小时重置次数...
来自「北邮人论坛手机版」
【 在 fancl20 的大作中提到: 】
: 我觉得如果是在现实中,这个需求有问题就是了...滑动本身成本比较高,不如每小时重置次数...
是的,如果是窗口存储用户访问的请求,那么存储成本实在是太大了