1. 课程导入
在工业物联网项目中,网关往往部署在车间现场、配电房、井下、码头或偏远站点,网络条件远不如办公环境稳定。4G/5G 信号抖动、光纤被施工挖断、运营商基站切换、云端平台升级维护,都会让“数据上传”这条链路随时中断。如果网关只是把采集到的数据直接转发到云端,一旦网络断开,这段时间的产量、能耗、温度、振动等关键数据就会永久丢失,事后既无法追溯,也无法用于分析和结算。本课程要解决的核心问题就是:当上行链路不可用时,工业网关如何把数据先可靠地存在本地,等网络恢复后再完整、有序、不重复地补传到云端。
一、学习目标
完成本课程后,学习者应能达成以下目标:
- 理解本地缓存与断点续传在工业数据链路中的位置,能说清“采集—缓存—传输—确认—清理”的完整闭环。
- 掌握缓存介质选型(RAM、eMMC、SD 卡、SSD)与容量估算方法,能根据采集频率、点位数量、断网时长估算所需空间。
- 掌握断点续传的关键机制:序号/时间戳标记、确认应答(ACK)、重传队列、幂等去重、断点位置持久化。
- 能够配置常见工业网关(如边缘计算网关、DTU、协议转换网关)的缓存策略、续传策略与告警阈值。
- 能够通过日志、队列长度、磁盘占用、补传速率等指标定位缓存溢出、重复上报、补传缓慢等典型故障。
二、核心价值:为什么必须做本地缓存与断点续传
很多初学者会认为“网络断了就等恢复再传”是理所当然的,但真实系统里,数据源不会因为网络中断而暂停。PLC 仍在扫描,仪表仍在采样,如果网关没有本地缓存,数据在转发失败的那一刻就被丢弃。其代价体现在三个层面:
- 业务连续性:断网期间的生产计数、报警记录、批次追溯数据不能丢,否则 MES/ERP 的报表会出现缺口。
- 数据完整性:时序数据库要求时间线连续,缺失点会导致趋势误判、模型训练偏差,甚至影响安全联锁判断。
- 成本与合规:部分行业(如能源计量、环保监测)要求数据可审计、可回溯,丢失数据可能带来合规风险。
三、整体知识框架
本课程的知识框架可以概括为“一条链路、两类策略、三层保障”。一条链路指数据从现场设备到云平台的完整路径;两类策略指缓存策略(存什么、存多久、存哪里)与续传策略(何时传、传多少、如何确认);三层保障指存储可靠性、传输可靠性与业务幂等性。下图展示了这一整体结构:
四、典型应用场景
本地缓存与断点续传并非只服务于“网络差”的场景,它在多种工业现场都有直接价值:
| 场景 | 网络特征 | 缓存与续传要点 |
|---|---|---|
| 偏远泵站/井场 | 4G 信号弱,频繁掉线 | 大容量 eMMC,按时间窗口缓存 7~30 天,恢复后限速补传 |
| 移动设备(AGV、工程机械) | 跨基站切换,短时中断 | RAM+SD 双级缓存,序号去重,优先补传报警数据 |
| 厂区网络割接/升级 | 计划性断网数小时 | 提前扩容队列,暂停清理策略,恢复后批量续传 |
| 环保/能耗监测 | 要求数据可审计 | 本地留存原始报文,补传后核对总数与时间戳连续性 |
五、常见误区与复盘提示
误区一:只做缓存不做确认。网关把数据写入本地队列就认为“已保存”,但云端是否收到并不清楚。没有 ACK 机制,补传时无法判断从哪一条开始,容易重复或漏传。
误区二:缓存容量拍脑袋。按“点位×频率×断网时长”估算,往往忽略报文头、时间戳、协议封装和索引开销,实际占用可能是估算值的 1.5~2 倍。
误区三:恢复后全速补传。断网数小时后队列积压巨大,若立即全速上传,可能压垮现场上行带宽,影响实时数据,甚至触发运营商限速。应设置补传速率上限和优先级。
一个可复用的排查思路是:先看“数据有没有进队列”,再看“队列有没有落盘”,然后看“补传有没有确认”,最后看“云端有没有去重”。这四步分别对应采集、存储、传输、业务四个环节,能快速缩小故障范围。
# 典型网关缓存状态查看(示例)
$ gateway-cli cache status
queue_depth : 128430 # 当前积压条数
disk_usage : 62% # 缓存分区占用
oldest_record : 2024-06-11T08:12:03
resume_offset : 2024-06-11T08:12:03
last_ack_seq : 8842103
upload_rate : 200 msg/s # 当前补传速率
本课程后续将围绕这条链路逐层展开:先讲缓存介质与队列设计,再讲断点续传的协议与确认机制,然后进入配置实操、性能调优与故障排查。学习时建议始终带着三个问题:数据存在哪里、断点记在哪里、重复如何避免。把这三个问题回答清楚,工业网关的本地缓存与断点续传就真正掌握了。