结论:采集数据的时间戳应优先使用"设备采样时间",网关接收时间只作辅助字段;网关本身必须做时间同步,并对偏移做记录和校正,否则多设备数据无法按时间对齐。
一、为什么时间会乱
PLC、仪表、网关、服务器各自带时钟,常见偏差来源:设备断电后时钟复位、没有对时源、网关重启后用默认时间、时区配置不一致(UTC与本地时间混用)。后果是同一事件在不同设备上先后顺序颠倒,趋势曲线和报警回放出错。
二、时间戳字段设计
建议每条数据保留三个时间:device_ts(设备采样时间,若设备不提供则为空)、gateway_ts(网关收到时间)、server_ts(平台入库时间)。再加一个 time_quality 标记:0=设备时间可信,1=网关时间代替,2=校正后时间,3=疑似异常。统一用UTC存储,展示层再转本地时区。
三、同步与校正方式对比(方式|适用场景|注意点)
四、落地检查清单
FAQ
问:设备不提供时间戳怎么办?答:用网关接收时间,并在轮询周期内按固定延迟估算,同时标记质量位。
问:校正后的数据能覆盖原始值吗?答:不要覆盖,原始时间保留,校正值另存字段,便于审计。
小结:时间是所有采集分析的坐标轴,先把坐标轴校准,再谈数据质量。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。