车间断网是常态,不是意外。厂区 Wi-Fi 抖动、外网中断、线路割接,都会发生。采集端能不能在断网期间继续写、恢复后自动补传,直接决定了这套系统可不可靠。
一、断网丢数据的两种典型
- 只认云端:采集端直连云,网络一断,数据直接丢弃——中断期间的数据永久缺失。
- 假补传:号称会补传,实际上缓冲写不进去、或恢复后不重发,数据仍然丢了。
判断标准很简单:把外网拔掉两小时,再插回来,这段时间的数据在不在。
二、本地缓冲怎么做
核心思路是”先写本地,再谈同步“:
- 采集端本地落盘:数据先写进本机或本地存储,网络状况不影响写入。
- 标记待传:写成功的数据打一个”未同步”标记,不因网络失败而回滚。
- 恢复后补传:网络恢复后,按顺序把未同步的数据推出去,成功后清除标记。
三、补传设计要注意的点
幂等:同一条数据重复传不会造成重复记录,避免补传出乱。
只重传最新:只补最后一条,中间的数据就永久缺失了。
- 顺序:按时间顺序补传,保证云端/远端的数据是连续的。
- 缓存上限:本地缓冲要有容量上限和策略(如满了覆盖最旧),避免无限增长把盘写满。
- 可观测:能查到”现在有多少条待补传”,而不是等出问题才知道。
四、本地存储在这里的角色
断网续传这件事,落点就在本地存储上。它需要一直在、写得进、空间可控——这正好对应了本地存储设备的三个基本要求。换句话说,把断网补传做好的前提,是先有一套可靠的本地落点。
如果你现在的采集系统一断网就丢数,建议先把本地缓冲和补传补上——这是可靠性最划算的一次投入。