Skip to the content.

边缘计算逻辑图

核心工作流程

┌─────────────────┐     ┌─────────────────┐     ┌─────────────────┐
│   数据输入层    │────>│   规则匹配层    │────>│   规则执行层    │
└─────────────────┘     └─────────────────┘     └─────────────────┘
        ↑                       ↑                       │
        │                       │                       ↓
┌─────────────────┐     ┌─────────────────┐     ┌─────────────────┐
│   数据缓存层    │<────│   状态管理层    │<────│   动作执行层    │
└─────────────────┘     └─────────────────┘     └─────────────────┘
        ↑                       ↑                       │
        │                       │                       ↓
┌─────────────────┐     ┌─────────────────┐     ┌─────────────────┐
│   错误处理层    │────>│   日志记录层    │<────│   工作流层      │
└─────────────────┘     └─────────────────┘     └─────────────────┘

详细流程说明

1. 数据输入流程

┌─────────────┐     ┌─────────────┐     ┌─────────────┐
│  设备数据   │────>│  数据管道   │────>│  数据处理   │
└─────────────┘     └─────────────┘     └─────────────┘
                                                │
                                                ↓
┌─────────────┐     ┌─────────────┐     ┌─────────────┐
│  数据缓存   │<────│  缓存更新   │<────│  数据分发   │
└─────────────┘     └─────────────┘     └─────────────┘

2. 规则匹配流程

┌─────────────┐     ┌─────────────┐     ┌─────────────┐
│  数据源索引 │────>│  规则查找   │────>│  规则过滤   │
└─────────────┘     └─────────────┘     └─────────────┘
                                                │
                                                ↓
┌─────────────┐     ┌─────────────┐     ┌─────────────┐
│  优先级排序 │<────│  规则验证   │<────│  时间间隔检查│
└─────────────┘     └─────────────┘     └─────────────┘

3. 规则执行流程

┌─────────────┐     ┌─────────────┐     ┌─────────────┐
│  环境准备   │────>│  规则类型判断│────>│  表达式计算 │
└─────────────┘     └─────────────┘     └─────────────┘
                                                │
                                                ↓
┌─────────────┐     ┌─────────────┐     ┌─────────────┐
│  状态检查   │<────│  条件评估   │<────│  窗口计算   │
└─────────────┘     └─────────────┘     └─────────────┘

4. 动作执行流程

┌─────────────┐     ┌─────────────┐     ┌─────────────┐
│  动作类型判断│────>│  频率限制检查│────>│  动作执行   │
└─────────────┘     └─────────────┘     └─────────────┘
                                                │
                                                ↓
┌─────────────┐     ┌─────────────┐     ┌─────────────┐
│  错误处理   │<────│  结果记录   │<────│  动作参数处理│
└─────────────┘     └─────────────┘     └─────────────┘

5. 工作流执行流程

┌─────────────┐     ┌─────────────┐     ┌─────────────┐
│  序列执行   │────>│  延迟执行   │────>│  条件检查   │
└─────────────┘     └─────────────┘     └─────────────┘
                                                │
                                                ↓
┌─────────────┐     ┌─────────────┐     ┌─────────────┐
│  回退处理   │<────│  状态更新   │<────│  结果验证   │
└─────────────┘     └─────────────┘     └─────────────┘

规则类型处理流程

1. 阈值规则 (threshold)

┌─────────────┐     ┌─────────────┐     ┌─────────────┐
│  条件评估   │────>│  状态检查   │────>│  动作触发   │
└─────────────┘     └─────────────┘     └─────────────┘

2. 计算规则 (calculation)

┌─────────────┐     ┌─────────────┐     ┌─────────────┐
│  表达式计算 │────>│  结果生成   │────>│  动作触发   │
└─────────────┘     └─────────────┘     └─────────────┘

3. 窗口规则 (window)

┌─────────────┐     ┌─────────────┐     ┌─────────────┐
│  数据收集   │────>│  聚合计算   │────>│  条件评估   │
└─────────────┘     └─────────────┘     └─────────────┘
                                                │
                                                ↓
┌─────────────┐     ┌─────────────┐     ┌─────────────┐
│  动作触发   │<────│  结果生成   │<────│  窗口管理   │
└─────────────┘     └─────────────┘     └─────────────┘

4. 状态规则 (state)

┌─────────────┐     ┌─────────────┐     ┌─────────────┐
│  条件评估   │────>│  状态计时   │────>│  计数检查   │
└─────────────┘     └─────────────┘     └─────────────┘
                                                │
                                                ↓
┌─────────────┐     ┌─────────────┐     ┌─────────────┐
│  动作触发   │<────│  状态更新   │<────│  持续时间检查│
└─────────────┘     └─────────────┘     └─────────────┘

动作类型执行流程

1. 设备控制 (device_control)

┌─────────────┐     ┌─────────────┐     ┌─────────────┐
│  目标解析   │────>│  表达式计算 │────>│  位操作处理 │
└─────────────┘     └─────────────┘     └─────────────┘
                                                │
                                                ↓
┌─────────────┐     ┌─────────────┐     ┌─────────────┐
│  设备写入   │<────│  值计算     │<────│  模板解析   │
└─────────────┘     └─────────────┘     └─────────────┘

2. MQTT 发布 (mqtt)

┌─────────────┐     ┌─────────────┐     ┌─────────────┐
│  配置解析   │────>│  消息生成   │────>│  策略选择   │
└─────────────┘     └─────────────┘     └─────────────┘
                                                │
                                                ↓
┌─────────────┐     ┌─────────────┐     ┌─────────────┐
│  MQTT发布   │<────│  主题解析   │<────│  模板解析   │
└─────────────┘     └─────────────┘     └─────────────┘

3. HTTP 请求 (http)

┌─────────────┐     ┌─────────────┐     ┌─────────────┐
│  配置解析   │────>│  请求生成   │────>│  策略选择   │
└─────────────┘     └─────────────┘     └─────────────┘
                                                │
                                                ↓
┌─────────────┐     ┌─────────────┐     ┌─────────────┐
│  HTTP请求   │<────│  URL解析    │<────│  模板解析   │
└─────────────┘     └─────────────┘     └─────────────┘

4. 数据库存储 (database)

┌─────────────┐     ┌─────────────┐     ┌─────────────┐
│  配置解析   │────>│  数据准备   │────>│  存储执行   │
└─────────────┘     └─────────────┘     └─────────────┘

5. 工作流动作 (sequence, delay, check)

┌─────────────┐     ┌─────────────┐     ┌─────────────┐
│  序列执行   │────>│  延迟执行   │────>│  条件检查   │
└─────────────┘     └─────────────┘     └─────────────┘
                                                │
                                                ↓
┌─────────────┐     ┌─────────────┐     ┌─────────────┐
│  回退处理   │<────│  结果验证   │<────│  状态更新   │
└─────────────┘     └─────────────┘     └─────────────┘