车间网络与办公网出现短暂隔离时,如果网关只做转发,这段时间的生产数据就会形成永久缺口。更常见的情况是,数据丢失并非由单点故障造成,而是采集、缓存、传输三个环节各自留下缺口,叠加成无法追溯的空白。
数据丢失通常发生在哪三个环节
采集侧的缺口容易被忽略:协议驱动轮询超时、设备短暂无响应,如果驱动直接把这一轮结果丢弃,上层甚至不知道某个点位曾经缺过数据。缓存侧的问题集中在易失性上:内存队列遇到断电或进程重启即被清空;缓存写满后按新数据覆盖旧数据,旧数据便在无人察觉中消失。传输侧的隐患则是重传缺少幂等标识,网络恢复后重复写入或部分写入,造成数据错位而非丢失——后者往往更难排查。
先把数据可靠写入本地,再成批上传
边缘网关的首要职责是在本地形成一份可信的持久化记录,转发反而次要。采集到的数据先进入本地持久化队列,确认写入成功后再向上游应答,避免“发出去就算完成”。缓存落在非易失存储上,断电重启后队列仍可恢复。容量策略同样关键:接近上限时应触发告警或降级写入,而不是静默覆盖——覆盖意味着数据在无人知情的情况下消失。
网络恢复后按序续传,每条记录携带唯一标识与采集时刻的时间戳,上游据此去重和补齐。时间戳必须取自采集时刻,而不是上传时刻,否则断网期间的数据会被错误地排到恢复之后,时序分析随之失真。
完整送达不等于可信
数据一条不少地到达,并不代表可以直接使用。缺失点位、超时读数、异常跳变需要附带质量码,让下游区分真实值与补传值。否则一份看似完整的数据集,反而会误导设备效率统计和故障归因。
评估这类能力时,与其看参数表,不如直接问三个问题:断网期间数据存在哪里,断电后能否恢复,重传如何避免重复与乱序。这三个问题答不清楚,边缘缓存就只是内存里一段随时会消失的临时缓冲。
