Skip to the content.

边缘计算插件方案 PRD / 产品设计说明书

(基础规则引擎 + 时间窗口 + 状态管理 一体化版本)


一、文档信息

项目 内容
产品名称 边缘计算插件系统(Edge Plugin Framework)
文档类型 PRD / 系统设计说明
适用阶段 第一 + 第二阶段合并版
目标用户 边缘网关运维人员、系统集成工程师、平台运维人员
文档版本 V1.0
编写日期 2026-03-27

二、产品背景与目标

2.1 背景

在边缘侧设备数量快速增长、协议多样化、业务规则不断变化的背景下,传统“采集-上报”模式已无法满足:

因此需要构建一个插件化、规则驱动、可扩展、可观测的边缘计算能力平台,使边缘节点具备独立决策与分析能力。


2.2 产品目标

本系统目标是构建一个:

  1. 结构清晰、稳定可靠的边缘规则执行框架
  2. 支持:

    • 实时事件处理
    • 时间窗口计算
    • 规则状态管理
    • 位操作与表达式计算
  3. 实现完整数据闭环:

    南向采集 / 北向订阅 → 输入适配 → 调度引擎 → 规则执行 → 结果处理 → 北向输出 / 本地控制

  4. 提供:

    • 可配置规则
    • 可视化运维界面
    • 可观测运行状态
    • 可扩展插件架构

三、总体架构与数据流

3.1 数据流向

系统数据流标准路径如下:

南向采集模块(映射内部影子设备 ) / 北向订阅 → 输入适配器 → 数据管道 → 边缘计算管理器 → 规则执行单元 → 结果处理器 → 北向输出 / 本地动作(南向控制设备)


3.2 系统分层架构

系统采用事件驱动型数据流处理模型,整体架构划分为五个核心层次:

  1. 数据输入层(Input Layer)
  2. 数据调度层(Dispatch Layer)- 包含数据管道(DataPipeline)
  3. 规则执行层(Rule Execution Layer)- 包含边缘计算管理器(EdgeComputeManager)
  4. 结果处理层(Result Handling Layer)
  5. 运维监控层(Observability Layer)

各层职责清晰、解耦明确、支持插件化扩展。


四、核心功能模块设计


4.1 数据输入层(Input Layer)

职责

功能要求

  1. 支持多协议接入:

    • Modbus、BACnet、OPC UA、MQTT、HTTP、S7 等;
  2. 统一数据结构抽象:

    • SourceID(数据源ID)
    • Metric(指标名称)
    • Value(数据值)
    • Timestamp(时间戳)
    • Quality(质量标识,可选)
  3. 数据校验能力:

    • 时间戳合理性检查;
    • 数据类型校验;
    • 异常质量标识过滤(通信异常、CRC错误等)。

设计约束


4.2 数据调度层(Dispatch Layer)

职责

功能要求

  1. 规则注册与注销;
  2. 支持规则启用 / 停用(不删除配置);
  3. 支持运行时规则热更新(不中断系统运行);
  4. 支持规则执行优先级控制;
  5. 数据管道缓冲与并发处理。

调度模型


4.3 规则执行层(Rule Execution Layer)

职责


支持规则类型(合并版)

(一)基础规则
  1. 条件判断规则:

    • 阈值告警(>、<、≥、≤)
    • 状态切换(OFF → ON,0 → 1)
    • 变化幅度判断(Δ值超限)
  2. 简单计算规则:

    • 单位换算、线性变换
    • 枚举值映射
    • 固定公式计算
  3. 状态判断规则:

    • 去抖处理(防抖动)
    • 状态保持时间判断

(二)窗口统计规则
  1. 滑动窗口统计:

    • 滑动平均、最大值、最小值、变化率
  2. 跳跃窗口统计:

    • 定期聚合统计、批量报表
  3. 跨窗口对比规则:

    • 当前窗口 vs 上一窗口对比

(三)状态驱动规则
  1. 持续状态规则:

    • 持续超限 N 秒后告警;
    • 连续异常 K 次后告警;
  2. 状态变化规则:

    • 状态从异常恢复到正常时触发;
    • 状态变化才触发动作(防止重复告警);
  3. 有限状态机规则:

    • 支持 NORMAL → WARNING → ALARM → RECOVER 转移模型。

规则生命周期

执行约束


4.4 结果处理层(Result Handling Layer)

职责


支持的输出动作类型

1. 北向上报
2. 本地动作
3. 控制指令
4. 告警通知
5. 工作流动作

设计原则


4.5 运维与监控层(Observability Layer)

职责


基础监控指标


运维功能


五、时间窗口与状态管理设计(合并能力)


5.1 窗口管理子系统

支持窗口类型

窗口参数模型


窗口生命周期管理

支持窗口配置变更时平滑过渡与资源释放。


5.2 规则状态管理子系统

规则状态模型

每条规则维护独立状态对象,包括:


状态持久化策略


状态驱动规则逻辑支持


六、配置模型设计


6.1 数据源配置模型


6.2 规则配置模型


6.3 输出动作配置模型


七、表达式与位操作支持

7.1 表达式语法

7.2 位操作功能

7.3 表达式预处理


八、批量控制功能

8.1 功能描述

8.2 配置示例

{
  "type": "device_control",
  "config": {
    "targets": [
      {
        "channel_id": "ch1",
        "device_id": "DeviceA",
        "point_id": "p1",
        "expression": "v.1"
      },
      {
        "channel_id": "ch1",
        "device_id": "DeviceB",
        "point_id": "p1",
        "expression": "v.4"
      }
    ]
  }
}

九、异常处理与健壮性设计

系统必须具备以下能力:

  1. 窗口异常处理:

    • 缓存溢出保护;
    • 数据格式错误过滤;
    • 时间戳异常修正或丢弃;
  2. 状态异常处理:

    • 状态对象损坏恢复机制;
    • 状态持久化失败重试;
    • 状态与规则配置不一致修复;
  3. 规则执行异常处理:

    • 单规则异常不得影响其他规则;
    • 异常必须记录并可追溯;
    • 支持规则自动降级或自动禁用(可配置)。
  4. 表达式异常处理:

    • 表达式语法错误降级到静态值;
    • 运行时错误捕获与记录;

十、前端页面功能设计(管理控制台)

本系统需提供完整的可视化管理界面,支持配置、监控、调试与运维。 需要增加的页面如下:


10.1 系统总览页(Dashboard)

功能


10.2 数据源管理页面

功能


10.3 规则管理页面

功能


10.4 规则运行状态与调试页面

功能


10.5 窗口管理页面

功能


10.6 状态管理页面

功能


10.7 输出动作与通道管理页面

功能


10.8 告警中心页面

功能


10.9 日志与审计页面

功能


10.10 系统设置页面

功能


十一、非功能性需求

11.1 性能要求


11.2 可扩展性要求


11.3 可靠性要求


十二、交付成果标准

系统达到以下条件即视为合格交付:

  1. 支持标准数据流闭环(采集 → 规则 → 输出 / 控制);
  2. 支持基础规则、窗口规则、状态规则三大类;
  3. 支持规则热启停与动态更新;
  4. 支持窗口与状态可视化管理;
  5. 支持至少两种输出通道与一种控制动作;
  6. 支持系统运行监控与规则执行可观测;
  7. 支持位操作与表达式计算;
  8. 支持批量控制功能;
  9. 支持工作流动作(序列、延迟、条件检查);
  10. 系统稳定运行无明显性能退化。