缓存与补传的四个决策
断网续传要回答四个问题:缓存放在哪里、能放多久、恢复后按什么顺序补、补不完怎么办。缓存通常落在本地磁盘或嵌入式存储,按时间分区并设容量上限;恢复后一般按时间顺序补传,同时对补传速率限速,避免恢复瞬间把链路打满而挤掉实时数据。
基本信息
| 缓存介质 | 本地磁盘或嵌入式存储,频繁写入时注意介质寿命 |
|---|---|
| 容量上限 | 按最长断网时长与数据速率估算,超限后按策略丢弃或降采样 |
| 补传顺序 | 通常按时间顺序,告警类数据可提高优先级 |
| 限速策略 | 补传与实时数据共享带宽,需要设定上限或错峰执行 |
| 去重依据 | 每条数据带时间戳与序号,平台侧按主键判重 |
典型流程
典型流程
# 断网判定:连续若干次上报失败后进入缓存模式
# 缓存写入:按天分区,记录时间戳与序号,写满后按策略淘汰
# 恢复判定:链路可用后先做一次连通性确认,再开始补传
# 补传:按时间顺序批量发送,限制并发与速率,实时数据优先
# 完成校验:比对本地已发送标记,避免重复补传典型使用场景
- 移动网络抖动:短暂断链期间缓存,恢复后自动补齐
- 偏远站点回传:回传链路本身不稳定,需要长期缓存兜底
- 计费与结算数据:不能因断网丢失,必须可靠补传
- 故障复盘:断网时段的数据用于还原现场过程
补传数据必须能被平台识别为历史数据:否则按接收时间入库会把过去的状态当成当前状态,趋势与告警统计都会被污染。
缓存不设上限是常见隐患:长时间断网会写满存储并导致采集进程停止,恢复后既没有实时数据也没有历史数据。