将传感器数据送入云端,需要决定记录模型、断线处理、访问和保留策略。定期向接口提交数据可以是起点,但可靠流程还应解释丢失、重复、迟到观测和运维责任。
定义记录约定
保留稳定设备标识、源时间戳、单位、数值和质量状态。结构版本帮助接收端理解未来变化。设备改名不应割裂历史。测量消息与设备健康消息可以是不同记录类型,采用不同处理规则。
只存到达时间,会错误放置断线后补传的历史观测。源时间与服务器接受时间应分开。源时间不可靠时,保留其不确定性,不要展示证据无法支持的精确顺序。
数据量与保留
记录数量取决于设备数量、频率和封装。10台设备每分钟各产生一条记录,每天是14,400条。这个示例并不说明字节大小。估算存储前,应测量载荷、索引、运维日志和备份。
| 层次 | 目的 |
|---|---|
| 本地缓冲 | 应对有时长边界的上游断线 |
| 原始记录 | 详细分析与追溯 |
| 时段汇总 | 较长期比较 |
| 运维元数据 | 诊断故障与补传 |
无限保留不是实用默认值。根据实际需要,为原始和聚合数据设定策略。删除也应考虑关联副本和导出。摘要可能比每条原始观测更值得长期保留,但其含义和计算仍需记录。
存储转发示例
互联网不可用时,采集器在本地记录观测。连接恢复后发送稳定事件标识,收到合适确认后标记本地条目完成。响应丢失时以同一标识重试,使接收方能够拒绝重复记录。
这不是无限制的端到端恰好一次保证。事务边界、磁盘丢失、外部服务商行为和超时各有限制。目标是定义并测试不确定性,而不是用完美交付的说法掩盖它。
限制访问
分开设备身份,只允许必要数据流。一个凭据受损,不应自动获得全部站点访问。证书续期、密钥轮换和设备退役需要实用运维流程。
出站数据流不应形成进入控制网络的通用入口。网络分区、获准连接和更新策略应符合设施OT条件。仅选择云基础设施,不保证安全,也不保证特定数据位置。
验收证据
测试断线、慢接收端、格式错误载荷、补传和存储已满。历史补传是否延迟新观测?迟到记录是否落在正确时间?操作人员能否看到丢失或被拒数据?显示值能否追到源头?
图表不断出现数据点,不是充分证据。用户需要知道哪些信息当前有效、哪个时段不完整,以及哪些历史后来恢复。扩展到更多设备前,先将这些区别纳入数据模型和界面。
让确认与补传可观察
示例测试可以发送带稳定标识和源时间戳的记录,在接收方保存后中断返回路径。发送方不能从缺少响应推断写入是否发生。重试应携带同一标识,让接收应用按约定解决重复。生成新标识,会把不确定交付变成表面上的新观测。
也要测试边界另一侧:接收方在完成持久化前确认收到,随后重启。如果发送方已删除本地副本,观测可能丢失。这说明精确的确认含义为何重要。选择符合约定丢失容忍度的实现,并记录剩余限制。不能因为每个组件都有重试设置,就描述整条链路绝对可靠。
运维视图区分已接受、已拒绝和待处理观测。结构错误可能需要修正配置,暂时服务故障则可能适合有界重试。反复提交不变的无效记录,并不会改善质量。提供拒绝类别与数量,但不要向所有日志位置复制不受限的测量载荷。
用代表性负载控制扩展
增加大量设备前,测量预期记录组合的行为,包括普通观测、重连后的突发以及无效记录。观察对当前数据年龄、缓冲占用和报告完整性的影响。简单平均请求速率,可能隐藏比正常运行更严苛的恢复突发。
按用途记录保留策略。调查所需细节、长期聚合和短期投递诊断,不一定需要相同生命周期。主副本删除后,导出或备份仍可能留有数据,运维政策也应识别这些副本。这是与实际项目相关的系统设计判断,不是声称某一保留期限普遍正确。
使用刻意限制的设备身份检查访问边界。不能仅因网络连接有效,就允许它提交无关设备记录或读取另一站点历史。将撤销和更换当作常规操作测试。初次讨论时带上代表性载荷、所需恢复窗口和记录使用者,让云连接围绕可信证据设计,而不只是一个能够收数据的接口。