Maxthings Rule-ECA 物联网规则引擎 原理与完整使用文档
一、组件概述
1.1 组件定位
Maxthings Rule-ECA 是面向物联网场景的事件驱动型ECA(Event-Condition-Action)规则引擎,为Maxthings AIoT平台原生核心组件。区别于通用Java编排框架(LiteFlow、Activiti)、通用业务规则引擎(Drools),本引擎专为物联网设备消息流、弱网/断网场景、云边协同自控设计。
引擎核心能力:事件触发、条件过滤、智能判断、设备控制、数据流转、云边双端热执行、离线自愈,实现业务逻辑配置化、零代码/低代码落地,无需开发改代码即可实现设备自动化联动。
1.2 核心特性总览
-
标准ECA模型:统一 事件(Trigger)-条件(Condition)-动作(Action) 闭环执行模型
-
云边一体化:云端配置、一键下发边缘、断网本地独立执行、联网日志回传
-
热更新无停机:规则新增/修改/删除实时生效,无需重启平台、无需重启网关
-
IoT专属算子:原生支持防抖、滞回、时间窗口、延时执行、状态锁存
-
全链路可追溯:每条设备事件绑定唯一TraceID,执行节点、结果、耗时、异常全记录
-
脚本安全隔离:内置JS沙箱,超时熔断、权限隔离,杜绝脚本阻塞服务
-
高并发低延迟:基于MQTT事件驱动,非轮询,毫秒级响应,支持海量设备消息吞吐
1.3 适用业务场景
-
PAYGO设备:欠费自动锁机、缴费自动解锁、到期告警、分期风控
-
光储充EMS:电池超温/过压保护、光伏富余充电、负载联动切除
-
工业传感:温度/湿度/压力阈值告警、信号防抖、异常持续判定
-
设备生命周期:上下线通知、离线超时告警、设备状态同步
-
AI视觉联动:AI识别事件触发设备开关、告警、录像
二、核心工作原理
2.1 核心执行模型(ECA标准模型)
引擎采用业界IoT标准 ECA三元闭环模型,所有规则统一遵循:事件触发 → 条件校验 → 动作执行,无事件不执行、条件不满足不动作。
-
Event事件(入口):规则的触发源,只有事件到达才会启动规则链路,彻底摆脱轮询开销
-
Condition条件(逻辑层):对事件数据、设备状态、时间窗口进行组合判断,过滤无效触发
-
Action动作(结果层):条件匹配成功后执行的设备控制、数据处理、告警、转发行为
2.2 底层调度架构(DAG有向无环图)
Rule-ECA 内部将每一条可视化规则编译为 DAG有向无环图 执行链路,而非线性脚本:
-
支持串行、并行、分支判断、延时等待、循环统计、子规则嵌套
-
节点独立可插拔,每一个条件/动作都是独立算子
-
单节点异常熔断,不影响整条规则、不影响全局引擎
执行优先级:事件接收 → 上下文封装 → DAG拓扑排序 → 逐节点执行 → 结果归档
2.3 完整消息流转链路
设备上报/MQTT事件 → 平台消息总线 → 事件过滤器 → 规则匹配器 → 构建事件上下文 → DAG节点依次执行 → 条件通过执行动作 → 日志入库/边缘缓存 → 结束
2.4 云边协同核心原理(引擎最大差异化优势)
Maxthings Rule-ECA 原生支持一套规则、双端运行,是适配野外弱网、断网自控的核心能力:
-
云端角色:规则可视化编排、版本管理、启停控制、全局日志汇总、规则下发推送
-
边缘网关角色:内置轻量化ECA解析执行器,本地消费设备MQTT消息、本地DAG调度、本地设备控制
-
断网自愈:网关缓存完整规则与设备状态,断网后完全脱离云端独立运行,锁机、保护逻辑不中断
-
联网同步:网络恢复后,边缘批量回传离线执行日志、异常记录、设备状态,保证云端数据一致性
-
热更新同步:云端修改规则后,自动推送边缘网关,动态加载新DAG链路,零重启、零停机
三、关键技术点详解
3.1 事件驱动调度技术(区别于通用编排引擎)
不同于LiteFlow等通用框架需要业务层手动触发执行,Rule-ECA内置原生IoT事件总线:
-
原生监听MQTT设备遥测、设备上下线、Cron定时、Webhook、AI事件
-
事件主题精准匹配、设备ID过滤、事件类型过滤,减少无效规则调度
-
单事件独立上下文,多设备事件完全隔离,无并发串扰
3.2 IoT专用智能算子技术
针对物联网传感器抖动、临界值跳变、瞬时异常等痛点,内置行业专属算子,无需开发者手写逻辑:
-
防抖滤波:过滤短时间瞬时抖动信号,避免频繁重复触发规则
-
滞回控制:上下双阈值判定,解决临界值反复启停问题(电池电压、温度保护核心依赖)
-
时间窗口统计:支持5s/10s/30s窗口内最大、最小、平均、持续异常判定
-
延时执行/取消:条件满足后延时执行,延时期间条件失效自动取消动作
-
状态锁存:异常状态锁定,人工复位前保持锁定状态
3.3 脚本沙箱隔离技术
支持JS自定义复杂逻辑计算,同时保障引擎稳定性:
-
独立沙箱运行,禁止文件读写、非法网络请求、阻塞死循环
-
脚本执行超时自动熔断(默认500ms),防止拖垮整条规则
-
脚本异常单独捕获记录,不影响其他节点执行
3.4 规则热更新与版本管理技术
-
规则JSON持久化存储,修改后自动重新编译DAG拓扑
-
云端/边缘双端缓存刷新,毫秒级生效
-
支持版本回滚、规则启停、灰度下发
3.5 全链路追踪技术
每一条设备上报事件生成全局唯一TraceID,完整记录:
-
事件触发时间、设备信息、原始点位数据
-
每一个条件节点的判断结果(成功/失败)
-
动作执行结果、耗时、异常堆栈
-
云端/边缘执行标识,可区分运行环境
四、完整使用手册
4.1 规则结构总览
一条完整的Maxthings ECA规则由三部分组成:触发器(Trigger) + 条件组(Condition) + 动作组(Action)
4.2 触发器配置(规则入口)
4.2.1 支持的触发器类型
-
设备遥测上报:指定产品/设备的指定点位上报数据时触发(最常用)
-
设备生命周期:设备上线、离线、注册、注销触发
-
定时触发:支持Cron表达式、固定间隔时间,用于周期性巡检、统计
-
Webhook外部触发:接收第三方HTTP回调触发规则
-
子规则触发:依赖其他规则执行结果联动触发
4.2.2 触发过滤条件
可配置设备白名单、点位过滤、时间范围过滤,精准控制规则触发范围。
4.3 条件节点配置(逻辑判断)
4.3.1 基础条件
-
数值比较:大于、小于、等于、不等于、区间范围内/外
-
状态判断:设备在线/离线、点位空值/非空
-
逻辑组合:AND/OR/NOT 自由组合多条件
4.3.2 IoT高级条件(核心特色)
-
防抖判定:持续N秒满足条件才触发,过滤瞬时异常
-
滞回判定:设置上下阈值,防临界震荡
-
时间窗口:固定时长内统计判定
-
JS表达式:自定义复杂计算公式、多点位联动判断
4.4 动作节点配置(执行结果)
4.4.1 设备控制动作
-
RPC指令下发:远程锁机、解锁、启停设备、参数配置
-
设备属性修改:更新设备云端状态、标签
4.4.2 数据处理动作
-
点位数据清洗、换算、偏移修正
-
写入时序数据库、历史数据归档
-
MQTT消息转发、消息广播
4.4.3 业务联动动作
-
生成设备告警记录、分级告警
-
HTTP回调业务后端,联动订单/计费/用户系统
-
执行子规则、触发二次联动
4.5 云边部署配置
4.5.1 执行模式选择
-
仅云端执行:适合联网稳定设备、纯云端统计、告警场景
-
云边双端执行:默认推荐,云端管控、边缘离线兜底,适配野外PAYGO、光储充
4.5.2 规则下发操作
规则保存启用后,点击【下发边缘】,平台自动将规则DAG推送至指定网关,网关实时加载生效,无需重启。
4.6 规则启停与版本管理
-
支持手动启用/禁用规则,禁用后不触发、不执行
-
自动记录规则修改版本,支持一键回滚
-
支持规则复制、批量导入导出、分组管理
4.7 日志与调试
-
规则执行日志:可按设备、时间、执行结果筛选
-
Trace追踪:输入事件ID,可视化查看每一个节点执行详情
-
实时调试模式:开启后可实时打印规则触发、条件判定、动作执行详情,快速排错
五、典型业务配置示例
5.1 示例1:PAYGO欠费自动锁机(云边离线可用)
触发器:设备上报欠费状态点位
条件:设备欠费=true AND 设备在线 AND 持续5s稳定
动作:下发RPC锁机指令、生成欠费告警、记录锁机日志
云边能力:断网后网关本地检测状态,自动执行锁机,杜绝欠费设备离线逃逸
5.2 示例2:电池超温保护(滞回防震荡)
触发器:电池温度点位上报
条件:温度≥55℃(触发阈值),滞回5℃,回落至50℃以下解除
动作:停止充电、推送高温告警、记录异常数据
六、性能与稳定性指标
-
单规则调度耗时:<1ms
-
单网关并发处理能力:1000+设备消息/秒
-
规则热更新生效延迟:<1s
-
异常隔离率:100%,单节点故障不影响全局
-
断网执行可靠性:100%,弱网/离线场景逻辑零中断
七、常见问题FAQ
Q1:规则修改后是否需要重启服务?
不需要,引擎支持全自动热加载,云端、边缘均无需重启,实时生效。
Q2:边缘断网后规则会不会失效?
不会。边缘网关本地缓存完整规则与执行状态,断网后独立闭环执行,联网后自动同步日志。
Q3:传感器数据抖动导致规则频繁触发怎么解决?
使用引擎原生防抖、滞回、时间窗口算子,无需开发代码,一键配置即可解决。
Q4:和LiteFlow、JetLinks的区别?
LiteFlow是通用业务编排框架,无IoT事件、无云边、无设备能力;JetLinks是重型完整IoT平台,无法轻量化嵌入;Maxthings Rule-ECA是专为物联网设备自动化、云边离线自控设计的原生ECA引擎,轻量化、场景专属、开箱即用。
Q5:JS脚本执行卡死怎么办?
引擎内置沙箱超时熔断机制,脚本超时自动终止并记录异常,不会阻塞规则引擎。
八、总结
Maxthings Rule-ECA 是一套轻量化、高可靠、云边一体、面向IoT专属场景的成熟规则引擎。基于标准ECA+DAG调度模型,补齐了通用Java编排框架的物联网短板,同时规避了开源IoT引擎过重、耦合度高、无法私有化轻量化部署的问题。
引擎可完全支撑PAYGO风控、光储充EMS、工业设备自动化、AI联动等核心业务,实现配置化开发、零代码自动化、弱网高可靠的物联网智能化能力。
更多推荐



所有评论(0)