1、边缘网关架构图

2、边缘网关时序图
sequenceDiagram
autonumber
participant Subsystem as 子系统
participant Driver as 驱动实例
participant Gateway as 边缘网关
participant Platform as IoT平台
%% ========= 驱动实例接入与运维 =========
rect rgba(180,180,180,0.25)
Driver ->> Gateway: 驱动实例注册
Gateway -->> Driver: 注册确认
Driver ->> Gateway: 运行状态 / 心跳
Driver ->> Gateway: 驱动日志上报
Gateway ->> Driver: 驱动配置下发
end
%% ========= 子系统设备接入(边缘自治) =========
rect rgba(200,200,200,0.25)
Subsystem ->> Driver: 子系统注册
Driver ->> Gateway: 子系统注册上报
Gateway -->> Driver: 注册确认
Subsystem ->> Driver: 子系统上线
Driver ->> Gateway: 子系统上线通知
Gateway ->> Platform: 子系统在线状态上报
Subsystem ->> Driver: 子系统离线
Driver ->> Gateway: 子系统离线通知
Gateway ->> Platform: 子系统离线状态上报
end
%% ========= 属性 / 事件上报 =========
rect rgba(135,206,235,0.3)
Subsystem ->> Driver: 属性数据上报
Driver ->> Gateway: 数据聚合 / 去重 / 缓存
Subsystem ->> Driver: 事件上报
Driver ->> Gateway: 事件转发
end
%% ========= 边缘轻量规则引擎(本地实时处理) =========
rect rgba(173,216,230,0.35)
Gateway ->> Gateway: 轻量规则判断(阈值 / 即时规则)
alt 命中边缘规则
Gateway ->> Driver: 本地联动控制指令
Driver ->> Subsystem: 本地控制执行
end
end
%% ========= 边缘告警生成与上云 =========
rect rgba(255,215,0,0.35)
Gateway ->> Gateway: 生成边缘告警事件
Gateway ->> Platform: 告警事件上报
end
%% ========= 本地设备控制(人工 / 本地应用) =========
rect rgba(176,224,230,0.4)
Gateway ->> Driver: 本地主动控制指令
Driver ->> Subsystem: 执行设备控制
Subsystem -->> Driver: 控制结果反馈
Driver -->> Gateway: 控制执行结果
end
%% ========= 数据与事件上云 =========
rect rgba(135,206,235,0.3)
Gateway ->> Platform: 属性数据上报
Gateway ->> Platform: 事件数据上报
end
%% ========= 云端规则引擎(复杂规则) =========
rect rgba(255,182,193,0.35)
Platform ->> Platform: 规则引擎(多设备 / 时间窗口 / 编排)
Platform ->> Platform: 告警汇总 / 升级 / 联动决策
alt 云端联动控制
Platform ->> Gateway: 下发联动控制指令
Gateway ->> Driver: 控制指令
Driver ->> Subsystem: 执行设备控制
end
end
%% ========= OTA 升级(边缘自治:仅网关 ↔ 驱动) =========
rect rgba(255,228,181,0.35)
Gateway ->> Driver: 下发驱动 OTA 升级指令
Driver -->> Gateway: 升级确认
Driver ->> Gateway: 升级进度上报
Driver ->> Gateway: 升级完成结果(成功 / 失败)
alt 升级失败
Gateway ->> Driver: 触发回滚 / 重试
end
end
%% ========= 边缘网关在线 / 离线状态上云 =========
rect rgba(144,238,144,0.35)
Gateway ->> Platform: 网关在线状态 / 心跳
Gateway ->> Platform: 网关离线状态
Gateway ->> Platform: 网关运行状态
Gateway ->> Platform: 网关日志
end
2、驱动数据标准化SDK
标准化 SDK
| SDK 类型 | 内容范围 | 示例字段 | 说明 |
|---|
| 属性类 SDK(Properties) | 在线状态、开关门状态、运行状态、实时状态数据 | onlineStatus / doorStatus / runStatus | 用于描述设备当前状态类信息 |
| 事件类 SDK(Events) | 异常告警事件、人员通行(以及可扩展业务事件) | alarmEvent | 用于上报一次性行为或异常事件 |
3、核心功能职责
运维管理模块
| 功能项 | 职责说明 |
|---|
| 配置管理 | 设备点位映射配置、厂商SDK配置 |
| 日志查看 | 驱动运行日志、边缘网关运行日志查看下载 |
| 调试功能 | 设备控制与调试 |
| OTA 升级 | 驱动远程升级、版本管理、升级计划、失败回滚 |
| 驱动管理 | 驱动安装、启停、卸载、升级、运行状态监控 |
| 运行状态监控 | CPU/内存/网络等资源监控与健康状态 |
| 子设备监控 | 在线状态、采集频率 |
数据处理与规则引擎模块
| 功能项 | 职责说明 |
|---|
| 数据转发 | 上行/下行数据转发,支持多通道路由、安全认证 |
| 断点续传 | 网络异常期间数据缓存、链路恢复后顺序补传 |
| 本地数据缓存 | 临时缓冲防止丢包,适配弱网/离线场景 |
| 数据聚合 | 时间窗口聚合、区间统计、累计/平均计算 |
| 数据清洗 | 去重、纠错、空值处理、单位换算 |
| 规则引擎 | 告警判断、联动控制 |
设备管理
| 功能项 | 职责说明 |
|---|
| 设备注册 | 生成 deviceId |
| 产品绑定 | 绑定产品模型 |
| 驱动关联 | 指定采集驱动 |
| 设备状态 | 在线 / 离线 |
| 设备控制 | 接收下行指令 |
产品管理
| 功能职责 | 简要说明 |
|---|
| 产品创建 | 定义一类设备模板 |
| 物模型定义 | 定义属性 / 事件 / 服务 |
| 模板策略 | 数据处理策略 |
4、MQTT Topic 规范
Topic 参数说明表
| 占位符 | 含义 | 层级归属 |
|---|
| gatewayId | 边缘网关唯一标识 | 网关级 |
| driverId | 驱动实例唯一标识()能力驱动) | 驱动级 |
| subsystemId | 驱动下的子系统标识(业务或设备子系统) | 子系统级 |
| eventId | 事件标识 | 子系统级 |
Topic 与功能映射表
子系统设备 Topic
| 层级 | 对象 | 功能 | 方向 | Topic |
|---|
| 子系统级 | Subsystem | 子系统设备注册 | 上行 | /gateway/{gatewayId}/driver/{driverId}/subsystem/{subsystemId}/register |
| 子系统级 | Subsystem | 子系统设备注销 | 上行 | /gateway/{gatewayId}/driver/{driverId}/subsystem/{subsystemId}/unregister |
| 子系统级 | Subsystem | 子系统设备上线 | 上行 | /gateway/{gatewayId}/driver/{driverId}/subsystem/{subsystemId}/online |
| 子系统级 | Subsystem | 子系统设备离线 | 上行 | /gateway/{gatewayId}/driver/{driverId}/subsystem/{subsystemId}/offline |
| 子系统级 | Subsystem | 属性数据上报 | 上行 | /gateway/{gatewayId}/driver/{driverId}/subsystem/{subsystemId}/properties/report |
| 子系统级 | Subsystem | 事件上报 | 上行 | /gateway/{gatewayId}/driver/{driverId}/subsystem/{subsystemId}/event/{eventId} |
| 子系统级 | Subsystem | 功能调用 | 下行 | /gateway/{gatewayId}/driver/{driverId}/subsystem/{subsystemId}/function/invoke |
| 子系统级 | Subsystem | 功能调用回复 | 上行 | /gateway/{gatewayId}/driver/{driverId}/subsystem/{subsystemId}/function/invoke/reply |
网关级 Topic
| 层级 | 对象 | 功能 | 方向 | Topic |
|---|
| 网关级 | Gateway | 网关运行状态上报 | 上行 | /gateway/{gatewayId}/status |
| 网关级 | Gateway | 网关心跳 | 上行 | /gateway/{gatewayId}/heartbeat |
| 网关级 | Gateway | 网关日志上报 | 上行 | /gateway/{gatewayId}/log |
| OTA | Driver | 下发驱动升级命令 | 下行 | /gateway/{gatewayId}/driver/{driverId}/upgrade |
| OTA | Driver | 升级命令确认回复 | 上行 | /gateway/{gatewayId}/driver/{driverId}/upgrade/reply |
| OTA | Driver | 上报升级进度 | 上行 | /gateway/{gatewayId}/driver/{driverId}/upgrade/progress |
| OTA | Driver | 上报驱动版本 | 上行 | /gateway/{gatewayId}/driver/{driverId}/report |
| 驱动级 | Driver | 驱动运行状态上报 | 上行 | /gateway/{gatewayId}/driver/{driverId}/status |
| 驱动级 | Driver | 驱动心跳 | 上行 | /gateway/{gatewayId}/driver/{driverId}/heartbeat |
| 驱动级 | Driver | 驱动日志上报 | 上行 | /gateway/{gatewayId}/driver/{driverId}/log |
| 驱动级 | Driver | 驱动注册 | 上行 | /gateway/{gatewayId}/driver/{driverId}/register |