边缘网关设计

21 阅读3分钟

1、边缘网关架构图

image

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
OTADriver下发驱动升级命令下行/gateway/{gatewayId}/driver/{driverId}/upgrade
OTADriver升级命令确认回复上行/gateway/{gatewayId}/driver/{driverId}/upgrade/reply
OTADriver上报升级进度上行/gateway/{gatewayId}/driver/{driverId}/upgrade/progress
OTADriver上报驱动版本上行/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