第2章 交互流程总览:端到端业务流程、参与角色、主交互阶段划分
适用场景
本章定义的端到端交互流程适用于以下典型场景:
- 设备首次激活与注册——新设备上电后需完成身份注册方可接入云端。
- 周期性数据采集与上报——传感器/工业设备按固定周期向云端推送遥测数据。
- 远程控制与指令下发——云端向设备下发参数调整、开关动作或固件升级指令。
- 长连接保活与状态同步——设备与云端通过心跳维持连接,实时更新在线状态。
前置条件
在进入交互流程之前,必须满足以下前置条件:
- 设备已完成硬件初始化并支持 TCP/MQTT/CoAP 等网络协议栈。
- 设备已获得唯一的设备标识(如设备序列号或 MAC 地址)。
- 网络链路可达:设备能够访问云端网关的公网端点或专线接入点。
- 云端设备管理服务已部署并开放注册接口。
- 设备端与云端已预置相同的根证书或预共享密钥(PSK),用于双向认证。
参与角色与责任边界
| 角色 | 职责描述 | 责任边界 |
|---|---|---|
| 设备终端 | 数据采集、协议封装、本地策略执行、指令响应 | 负责物理信号到数字数据的转换,确保数据真实性和本地缓存可靠性 |
| 网关层(边缘/云网关) | 协议转换、数据转发、安全过滤、连接管理 | 承担南北向流量桥接,不解析业务负载,保障转发延迟在 SLA 范围内 |
| 云平台(设备管理平台) | 设备注册、身份认证、数据存储、指令调度、状态监控 | 维护设备影子状态,确保数据持久化与指令可达性,触发告警与联动规则 |
责任边界要点: 网关层只做协议转换和透传,不修改数据载荷;业务逻辑与决策全部在云平台完成,设备端仅执行最终指令。
主交互阶段划分
整个端到端交互过程按时间顺序划分为 5 个核心阶段:
| 阶段序号 | 阶段名称 | 触发条件 | 预期结果 |
|---|---|---|---|
| 1 | 设备注册 | 设备首次上电 / 出厂重置 | 云平台生成唯一设备 ID,建立设备档案 |
| 2 | 身份认证 | 注册成功或连接断开后重连 | 双向 TLS 握手完成,签发会话 Token |
| 3 | 数据上报 | 采集周期到达 / 事件触发 | 数据写入云端时序数据库,更新设备影子 |
| 4 | 指令下发 | 用户操作 / 自动化规则触发 | 设备端接收并执行指令,回执执行结果 |
| 5 | 心跳维持 | 按固定间隔(如 60 s) | 云端更新设备在线时间戳,重置超时计时器 |
操作步骤(端到端业务流程)
- 设备发起注册:设备组装注册请求(设备序列号、硬件版本、固件版本),通过网关转发至云平台注册接口。
- 云平台分配身份:验证设备合法性后,生成全局唯一设备 ID 并返回注册确认消息,设备本地持久化该 ID。
- 双向 TLS 认证:设备使用预置证书与云平台网关建立 TLS 连接,协商会话密钥,云平台下发临时 Token。
- 周期性数据上报:设备按采集周期打包传感器数据(JSON/Protobuf 格式),经网关上报至云平台数据接入层。
- 云端存储与转发:云平台解析数据载荷,写入时序数据库,同时更新设备影子状态,触发业务规则引擎。
- 控制指令下达:业务应用或规则引擎生成指令消息,云平台通过设备影子下发至网关,网关转发给目标设备。
- 设备执行与回执:设备解析指令并执行本地动作(如开关、调参),生成执行回执消息沿原路径返回云平台。
- 心跳保活:设备每隔固定时间发送心跳请求,网关透传,云平台更新设备在线状态并回复心跳响应。
流程关键点: 步骤 1‑2 仅在设备首次接入或重置后执行;步骤 3 在每次连接建立时执行;步骤 4‑8 为运行时循环,持续至设备离线。
输入输出物
| 阶段 | 输入物 | 输出物 |
|---|---|---|
| 设备注册 | 设备序列号、硬件版本、固件版本 | 设备 ID、注册确认消息 |
| 身份认证 | 设备证书 / PSK、随机数 | 会话 Token、加密参数 |
| 数据上报 | 传感器原始值、时间戳、设备 ID | 存储确认 ACK、影子状态增量 |
| 指令下发 | 指令名称、参数列表、目标设备 ID | 执行结果码、设备回复数据 |
| 心跳维持 | 设备 ID、当前时间戳 | 服务器时间、session 保持标志 |
记录材料
每个交互阶段产生的关键记录材料应持久化存储,用于审计与故障定位:
- 设备注册记录:设备 ID、注册时间、网关节点 IP、固件版本。
- 认证日志:TLS 握手日志、Token 颁发记录、证书序列号。
- 数据上报明细:消息 ID、Topic、载荷大小、上报时间、QoS 等级。
- 指令下发轨迹:指令 ID、下发时间、设备回执时间、执行结果。
- 心跳流水:设备 ID、心跳到达时间、超时次数、当前在线状态。
异常处理
- 注册冲突:设备序列号已注册时,云平台返回冲突码,设备需进入等待人工干预状态。
- 认证失败:证书过期或 PSK 不匹配时,网关断开连接并记录认证失败原因,设备端实施退避重连。
- 数据上报超时:云平台未在期望时间内收到数据,触发设备离线告警,并缓存最后已知状态。
- 指令下发无回执:超时未收到设备回执时,云平台将指令标记为“投递失败”并最多重试 3 次,仍失败则进入死信队列。
- 心跳中断:连续 3 个心跳周期未收到设备请求,云平台将该设备标记为离线,停止指令下发。
注意: 异常处理必须包含指数退避逻辑,避免设备在异常恢复时对云端形成流量冲击;同时所有异常事件应写入独立的事件日志,保留至少 30 天。
验收标准
交互流程设计需通过以下验收检查项:
- 设备从上电到完成注册的总耗时 ≤ 5 s(有线环境)/ ≤ 15 s(无线环境)。
- 认证阶段 TLS 握手成功率 ≥ 99.5%。
- 数据上报端到端延迟(设备采集到云端入库)≤ 2 s(99 分位)。
- 指令下发到设备执行的端到端延迟 ≤ 1 s(局域网)/ ≤ 3 s(广域网)。
- 心跳保活成功率 ≥ 99.9%,误判离线率 ≤ 0.1%。
- 所有异常场景均有对应的处理策略并经过 Chaos Engineering 验证。
交互流程总览图
下图以泳道图形式呈现设备终端、网关层、云平台之间的 5 个核心交互阶段,箭头方向表示数据或指令的流动方向: