第2章 交互流程总览:端到端业务流程、参与角色、主交互阶段划分

适用场景

本章定义的端到端交互流程适用于以下典型场景:

  • 设备首次激活与注册——新设备上电后需完成身份注册方可接入云端。
  • 周期性数据采集与上报——传感器/工业设备按固定周期向云端推送遥测数据。
  • 远程控制与指令下发——云端向设备下发参数调整、开关动作或固件升级指令。
  • 长连接保活与状态同步——设备与云端通过心跳维持连接,实时更新在线状态。

前置条件

在进入交互流程之前,必须满足以下前置条件:

  • 设备已完成硬件初始化并支持 TCP/MQTT/CoAP 等网络协议栈。
  • 设备已获得唯一的设备标识(如设备序列号或 MAC 地址)。
  • 网络链路可达:设备能够访问云端网关的公网端点或专线接入点。
  • 云端设备管理服务已部署并开放注册接口。
  • 设备端与云端已预置相同的根证书或预共享密钥(PSK),用于双向认证。

参与角色与责任边界

角色 职责描述 责任边界
设备终端 数据采集、协议封装、本地策略执行、指令响应 负责物理信号到数字数据的转换,确保数据真实性和本地缓存可靠性
网关层(边缘/云网关) 协议转换、数据转发、安全过滤、连接管理 承担南北向流量桥接,不解析业务负载,保障转发延迟在 SLA 范围内
云平台(设备管理平台) 设备注册、身份认证、数据存储、指令调度、状态监控 维护设备影子状态,确保数据持久化与指令可达性,触发告警与联动规则
责任边界要点: 网关层只做协议转换和透传,不修改数据载荷;业务逻辑与决策全部在云平台完成,设备端仅执行最终指令。

主交互阶段划分

整个端到端交互过程按时间顺序划分为 5 个核心阶段:

阶段序号 阶段名称 触发条件 预期结果
1 设备注册 设备首次上电 / 出厂重置 云平台生成唯一设备 ID,建立设备档案
2 身份认证 注册成功或连接断开后重连 双向 TLS 握手完成,签发会话 Token
3 数据上报 采集周期到达 / 事件触发 数据写入云端时序数据库,更新设备影子
4 指令下发 用户操作 / 自动化规则触发 设备端接收并执行指令,回执执行结果
5 心跳维持 按固定间隔(如 60 s) 云端更新设备在线时间戳,重置超时计时器

操作步骤(端到端业务流程)

  1. 设备发起注册:设备组装注册请求(设备序列号、硬件版本、固件版本),通过网关转发至云平台注册接口。
  2. 云平台分配身份:验证设备合法性后,生成全局唯一设备 ID 并返回注册确认消息,设备本地持久化该 ID。
  3. 双向 TLS 认证:设备使用预置证书与云平台网关建立 TLS 连接,协商会话密钥,云平台下发临时 Token。
  4. 周期性数据上报:设备按采集周期打包传感器数据(JSON/Protobuf 格式),经网关上报至云平台数据接入层。
  5. 云端存储与转发:云平台解析数据载荷,写入时序数据库,同时更新设备影子状态,触发业务规则引擎。
  6. 控制指令下达:业务应用或规则引擎生成指令消息,云平台通过设备影子下发至网关,网关转发给目标设备。
  7. 设备执行与回执:设备解析指令并执行本地动作(如开关、调参),生成执行回执消息沿原路径返回云平台。
  8. 心跳保活:设备每隔固定时间发送心跳请求,网关透传,云平台更新设备在线状态并回复心跳响应。
流程关键点: 步骤 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 个核心交互阶段,箭头方向表示数据或指令的流动方向:

设备与云端端到端交互流程泳道图 设备终端 网关层 云平台 设备注册 发起注册 序列号+固件版本 转发请求 透传+加签 分配ID 持久化设备档案 身份认证 提交凭证 证书+随机数 转发凭证 校验网关身份 验证签发 返回Token 数据上报 采集上报 JSON/Protobuf 协议转换 MQTT→HTTP 存储更新 时序库+影子 指令下发 执行指令 回执结果码 转发指令 路由到设备 下发指令 规则触发 心跳维持 发送心跳 ← 上一章 📖 返回目录 下一章 →