固定窗口和滑动窗口,你真的分得清吗?快来看看!

简介: 滑动窗口是一种用于实时数据统计和分析的技术,通过不断移动的时间窗口捕捉最新数据变化。它常用于限流、实时数据分析和TCP协议中的流量控制,能够提供持续更新的统计数据,有效控制请求流量,避免系统过载。与固定窗口相比,滑动窗口更加动态和灵活,适合实时监控和快速响应。

什么是滑动窗口?

滑动窗口是一种常用于实时数据统计和分析的技术,其原理在于不断移动的时间窗口,以捕捉最新的数据变化情况。滑动窗口能够提供持续更新的统计数据,而不是在固定时间间隔内进行一次性统计。

滑动窗口技术常用于统计特定时间段内的事件或数据点,在各种限流场景中尤为实用。滑动窗口通过将整个时间窗口分割成若干较小的时间片段来实现统计。这些时间片段各自独立记录在其间发生的请求数量。随着时间的推移,最早的时间片段会逐渐被新的时间片段取代,从而呈现出一种“滑动”的效果。这种设计既能实时更新统计数据,又能有效控制请求流量,避免系统过载。

如何理解滑动窗口原理?

原理大概能看明白,但又不是很明白的样子!!!

再来看看一张图,好像已经明白了


添加图片注释,不超过 140 字(可选)


可以想象一下,你有一块小窗口(比如一块浅色玻璃),你可以把它放在一大串数字上,然后透过这个窗口只能看到一部分数字。然后,你可以把这个窗口沿着数字串慢慢移动,每次看到新的数字,同时一些旧的数字就会移出窗口。  

假设你有一串数字:[1, 2, 3, 4, 5, 6, 7, 8, 9, 10],你有一个窗口,可以一次看到3个数字。你可以这样做:

  1. 初始位置:把窗口放在前面3个数字上,所以你看到的是[1,2,3,4,5,6]。
  2. 向前滑动一步:把窗口向前移动一个位置,现在你看到的是[2,3,4,5,6,7]。
  3. 继续滑动:再向前滑动一步,你看到的是[3,4,5,6,7,8]。

滑动窗口与固定窗口区别?


添加图片注释,不超过 140 字(可选)


固定窗口就像是在某个时间段内截取一段数据进行分析。它是静止的,不会移动。举个例子,你每天早上记录昨天24小时的气温,这就是一个固定窗口。

特点

  1. 固定时间段:窗口的时间段是固定的,比如从00:00到24:00。
  2. 一次性统计:在指定时间段结束后才进行统计和分析。
  3. 适合总结和报告:通常用于生成每日、每周或每月的报告。

比如

  • 你每天早上查看前一天的步数统计。
  • 每个月底统计当月的销售额。

滑动窗口

滑动窗口则是一个动态窗口,它会随着时间的推移不断前移。想象一下,你有一个移动的观察窗,它会每小时记录过去24小时内的气温。每小时更新一次,这样你总是有一个最新的24小时气温记录。

特点

  1. 动态更新:窗口会随着时间不断向前移动,实时更新数据。
  2. 连续监控:可以实时反映当前的数据变化情况,适合实时监控和快速响应。
  3. 更细致的分析:能捕捉到更短时间内的变化。

比如

  • 你每小时记录过去24小时的步数统计。
  • 实时监控网站的访问量,每分钟更新一次,记录过去1小时内的访问量。

滑动窗口使用场景?

限流和熔断:滑动窗口在流量控制中用于统计单位时间内的请求数、错误率等指标,以决定是否需要限流或熔断。例如,Sentinel 使用滑动窗口实时统计 QPS(每秒请求数)和错误率,帮助系统进行限流和熔断操作。  

实时数据分析:滑动窗口在流式数据处理系统(如 Apache Flink、Apache Storm)中,用于实时统计和分析数据流,计算移动平均值、计数等指标。  

TCP 滑动窗口:在TCP协议中,滑动窗口用于控制数据流的发送和接收速度,确保高效可靠的数据传输,避免网络拥塞。  


我是栈江湖,如果你喜欢此文章,不要忘记关注+点赞哦!你的支持是我创作的动力。如果你有任何意见或建议,欢迎在下方留言。若转载,请注明文章来源。

目录
相关文章
|
2天前
|
调度 云计算 芯片
云超算技术跃进,阿里云牵头制定我国首个云超算国家标准
近日,由阿里云联合中国电子技术标准化研究院主导制定的首个云超算国家标准已完成报批,不久后将正式批准发布。标准规定了云超算服务涉及的云计算基础资源、资源管理、运行和调度等方面的技术要求,为云超算服务产品的设计、实现、应用和选型提供指导,为云超算在HPC应用和用户的大范围采用奠定了基础。
|
9天前
|
存储 运维 安全
云上金融量化策略回测方案与最佳实践
2024年11月29日,阿里云在上海举办金融量化策略回测Workshop,汇聚多位行业专家,围绕量化投资的最佳实践、数据隐私安全、量化策略回测方案等议题进行深入探讨。活动特别设计了动手实践环节,帮助参会者亲身体验阿里云产品功能,涵盖EHPC量化回测和Argo Workflows量化回测两大主题,旨在提升量化投研效率与安全性。
云上金融量化策略回测方案与最佳实践
|
11天前
|
人工智能 自然语言处理 前端开发
从0开始打造一款APP:前端+搭建本机服务,定制暖冬卫衣先到先得
通义灵码携手科技博主@玺哥超carry 打造全网第一个完整的、面向普通人的自然语言编程教程。完全使用 AI,再配合简单易懂的方法,只要你会打字,就能真正做出一个完整的应用。
8883 20
|
15天前
|
Cloud Native Apache 流计算
资料合集|Flink Forward Asia 2024 上海站
Apache Flink 年度技术盛会聚焦“回顾过去,展望未来”,涵盖流式湖仓、流批一体、Data+AI 等八大核心议题,近百家厂商参与,深入探讨前沿技术发展。小松鼠为大家整理了 FFA 2024 演讲 PPT ,可在线阅读和下载。
4769 12
资料合集|Flink Forward Asia 2024 上海站
|
15天前
|
自然语言处理 数据可视化 API
Qwen系列模型+GraphRAG/LightRAG/Kotaemon从0开始构建中医方剂大模型知识图谱问答
本文详细记录了作者在短时间内尝试构建中医药知识图谱的过程,涵盖了GraphRAG、LightRAG和Kotaemon三种图RAG架构的对比与应用。通过实际操作,作者不仅展示了如何利用这些工具构建知识图谱,还指出了每种工具的优势和局限性。尽管初步构建的知识图谱在数据处理、实体识别和关系抽取等方面存在不足,但为后续的优化和改进提供了宝贵的经验和方向。此外,文章强调了知识图谱构建不仅仅是技术问题,还需要深入整合领域知识和满足用户需求,体现了跨学科合作的重要性。
|
23天前
|
人工智能 自动驾驶 大数据
预告 | 阿里云邀您参加2024中国生成式AI大会上海站,马上报名
大会以“智能跃进 创造无限”为主题,设置主会场峰会、分会场研讨会及展览区,聚焦大模型、AI Infra等热点议题。阿里云智算集群产品解决方案负责人丛培岩将出席并发表《高性能智算集群设计思考与实践》主题演讲。观众报名现已开放。
|
11天前
|
人工智能 容器
三句话开发一个刮刮乐小游戏!暖ta一整个冬天!
本文介绍了如何利用千问开发一款情侣刮刮乐小游戏,通过三步简单指令实现从单个功能到整体框架,再到多端优化的过程,旨在为生活增添乐趣,促进情感交流。在线体验地址已提供,鼓励读者动手尝试,探索编程与AI结合的无限可能。
三句话开发一个刮刮乐小游戏!暖ta一整个冬天!
|
10天前
|
消息中间件 人工智能 运维
12月更文特别场——寻找用云高手,分享云&AI实践
我们寻找你,用云高手,欢迎分享你的真知灼见!
878 58