滑动时间窗口算法

admin
2022-03-08 / 5 评论 / 868 阅读 / 正在检测是否收录...
温馨提示:
本文最后更新于2022年03月08日,已超过1113天没有更新,若内容或图片失效,请留言反馈。

滑动时间窗口算法是什么?

为了解决计数器算法的临界值的问题,发明了滑动窗口算法。在TCP网络通信协议中,就采用滑动时间窗口算法来解决网络拥堵问题。I滑动时间窗口是将计数器算法中的实际周期切分成多个小的时间窗口,分别在每个小的时间窗口中记录访问次数,然后根据时间将窗口往前滑动并删除过期的小时间窗口。最终只需要统计滑动窗口范围内的小时间窗口的总的请求数即可。

在上图中,假设我们设置一分钟的请求闽值是100,我们将一分中拆分成4个小时间窗口,这样,每个小的时间窗口只能处理25个请求,我们用虚线方框表示滑动时间窗口,当前窗口的大小是2,也就是在窗口内最多能处理50个请求。随着时间的推移,滑动窗口也随着时间往前移动,比如上图开始时,窗口是0:00到0:30的这个范围,过了15秒后,窗口是0:15到0:45的这个范围,窗口中的请求重新清零,这样就很好的解决了计数器算法的临界值问题。
在滑动时间窗口算法中,我们的小窗口划分的越多,滑动窗口的滚动就越平滑,限流的统计就会越精确。

3

评论 (5)

取消
  1. 头像
    sqfxkxbpds
    Windows 10 · Google Chrome

    真好呢

    回复
  2. 头像
    hsvvqdgfuv
    Windows 10 · Google Chrome

    选材新颖独特,通过细节描写赋予主题鲜活生命力。

    回复
  3. 头像
    eouzamopjv
    Windows 10 · Google Chrome

    这是一篇佳作,无论是从内容、语言还是结构上,都堪称完美。

    回复
  4. 头像
    ummhfbzgfq
    Windows 10 · Google Chrome

    案例丰富,数据详实,论证扎实可信。

    回复
  5. 头像
    puulhtrjfn
    Windows 10 · Google Chrome

    这篇文章提供了宝贵的经验和见解,对读者有很大的启发和帮助。

    回复