跳到主要内容

规则引擎

规则引擎用于通过可视化流程处理采集数据、内存变量和外部事件。用户可以把触发节点、判断节点、计算节点、推送节点等拖入画布,通过连线组织执行顺序,再保存并启用流程。

先看术语

术语现场理解
规则流程一套自动处理逻辑,例如“压力变化后判断是否报警,并把结果写入内存变量”。
节点流程中的一个处理步骤,类似电气图中的一个功能块。
触发节点决定流程什么时候开始执行,例如变量变化、定时触发或外部事件触发。
判断节点 / 计算节点 / 推送节点分别用于判断条件、计算结果、把结果发给下游系统或其它节点。
画布拖放节点、连线和调整布局的编辑区域。
连线节点之间的数据传递关系。方向通常从上游输出端口连到下游输入端口。
输入 / 输出 / 输入输出参数输入是节点接收的数据,输出是节点处理后的结果,输入输出参数可被节点修改后继续传递。
防抖合并短时间内重复触发,避免同一个值快速波动时流程频繁执行。
CSV单个流程画布的导入导出文件,适合备份节点、连线和布局。

功能入口

登录 GatewayRuntime Web 后,点击左侧菜单“开发配置 → 规则引擎”。

规则引擎页面

流程列表

规则引擎列表用于管理流程基本信息、启停状态和批量导入导出。

区域或列说明
搜索名称按流程名称查询列表。输入关键字后按回车或清空输入框会刷新结果。
新增规则创建新的规则流程。页面会先要求输入流程名称,创建成功后自动打开流程编辑器。
导出 Excel按当前搜索条件导出规则流程配置,适合备份、迁移和批量维护。
导入 Excel从 Excel 文件导入规则流程。导入完成后页面会提示成功数量或失败原因。
批量删除勾选流程后批量删除。删除前应先确认流程不再参与生产运行。
刷新重新加载流程列表和可用自定义节点。
流程名称规则流程名称。名称应能体现流程用途,便于日志排查。
描述流程用途说明。为空时列表显示 -
版本流程版本号。新建流程默认从 v1 开始。
状态显示“已启用”或“已禁用”。
操作“详情”进入流程编辑器;“更多”中可启用、禁用或删除流程。

新建流程

  1. 点击列表右上角“新增规则”。
  2. 在提示框中输入流程名称。
  3. 点击确认后,系统创建默认启用的 v1 流程并进入流程编辑器。
  4. 在编辑器中维护流程描述、触发方式、节点、连线和参数。
  5. 点击右上角“保存”,保存成功后规则引擎会重新加载该流程。

流程编辑器

点击流程行的“详情”进入流程编辑器。

流程编辑器页面

区域说明
顶部信息区显示流程名称、流程描述、版本号和触发方式。流程名称、描述可以直接编辑。
保存按钮保存当前流程名称、描述、触发方式、画布节点、连线和节点参数。
返回按钮返回规则流程列表。离开前应确认当前修改已经保存。
防抖 / 无限制触发“防抖”会合并短时间内的重复变化;“无限制触发”会在每次变化时直接触发下游节点。
导出 CSV导出当前编辑器画布中的节点、连线、位置和节点属性,适合单个流程结构备份。
导入 CSV从 CSV 文件恢复当前流程画布。导入后应检查节点类型、连线和参数再保存。
自动布局根据当前节点和连线重新排列画布。节点较多或连线交叉时使用。
删除选中删除当前选中的节点或连线。
左侧节点面板按分类展示可用节点,支持按节点名称搜索和按分类筛选。
中间画布拖拽节点、连接端口、调整布局、选择节点或连线。
右侧属性面板选中节点后显示,用于编辑节点名称、查看节点类型、填写输入参数和输入输出参数。
运行日志面板查看规则引擎运行日志,支持按级别、时间范围和关键字筛选,可导出当前页或全部日志。

节点面板

节点面板中的节点来自已加载的内置节点和自定义节点。常见分类包括保持、比较运算、边沿检测、变量 RPC、常量、触发器、定时器、计数器、类型转换、逻辑运算、数据统计、数据推送、数学运算、条件判断和字符串处理。

操作说明
搜索节点在“搜索节点”输入节点名称或标识关键字,快速定位节点。
分类筛选在“全部分类”下拉框选择分类,仅显示该分类下的节点。
展开/折叠分组点击分类标题展开或折叠节点组。
添加节点将节点从左侧面板拖入画布。拖入后应选中节点,在属性面板中检查参数。

如果节点没有出现在列表中,先确认对应脚本或自定义节点已经编译成功,再刷新规则引擎页面。

画布操作

操作步骤
添加节点从左侧节点面板拖拽节点到画布。
连接节点从一个节点端口拖到另一个节点端口,建立数据传递关系。连接方向应从上游输出端口指向下游输入端口。
配置节点选中节点,在右侧属性面板修改节点名称、输入参数和输入输出参数。
重命名节点双击画布中的节点,输入新的节点显示名称。
删除节点或连线选中节点或连线后点击“删除选中”。
自动布局点击“自动布局”,让系统按当前连线关系重新排列节点。
保存流程点击右上角“保存”,保存当前画布和参数。

节点参数

节点参数由节点类型决定。不同节点会显示不同的输入、输出和输入输出参数。

参数类型说明
输入参数从上游节点接收数据,也可以在属性面板中填写初始值。
输出参数节点处理后的输出值,可连接到下游节点。
输入输出参数既可接收上游数据,也可在节点处理后继续输出。
自定义初始输入参数部分节点支持在属性面板中填写初始输入值,用于无上游输入或默认值场景。
实时参数值流程启用并运行后,属性面板和节点端口可显示当前节点的输入、输出和输入输出值。

配置参数时,应确认数据类型、变量名称、设备名称和上下游节点匹配。连接失败或运行结果异常时,优先检查端口方向、参数名称、参数类型和流程启用状态。

触发方式

配置使用建议
防抖适合温度、压力、液位等高频变化数据,可减少短时间内的重复执行。
无限制触发适合计数、累加、事件记录等要求每次变化都处理的场景。
注意

启用“无限制触发”可能增加运行负载。生产环境使用前,应先评估变量变化频率、流程复杂度和下游系统承载能力。

导入导出

规则引擎有两类导入导出入口,作用范围不同。

入口位置用途
导出 Excel流程列表工具栏导出流程列表配置,适合批量备份和迁移多个流程。
导入 Excel流程列表工具栏从 Excel 批量导入流程。导入后应打开详情检查每个流程。
导出 CSV流程编辑器工具栏导出当前流程画布节点、连线、位置和节点属性。
导入 CSV流程编辑器工具栏恢复当前流程画布结构。导入后应检查节点、连线和参数。
导出日志运行日志面板导出当前页或全部规则运行日志,用于排查和归档。

导入前建议先导出现有流程作为备份。导入后不要立即启用到生产,应先打开流程编辑器检查节点类型、连线方向、参数值和运行日志。

运行日志

规则流程运行后,可在编辑器底部查看运行日志。

功能说明
日志级别按日志级别筛选,例如 Trace、Debug、Info、Warning、Error。
时间范围按开始时间和结束时间筛选日志。
关键字按日志内容关键字搜索。
导出导出当前页或全部匹配日志。
刷新立即重新加载日志。流程启用时,日志面板会按固定间隔自动刷新。
最大化 / 还原扩大日志面板,便于查看长日志。
折叠 / 展开临时收起日志面板,给画布留出更多空间。
详情打开日志详情抽屉,查看日志内容和异常信息。

常见流程设计

场景设计方式
单一路径处理触发节点或输入节点 → 处理节点 → 输出节点。
分支处理一个处理节点连接多个下游节点,同时执行报警判断、数据记录或消息推送。
多条件综合判断多个输入或处理节点连接到同一个判断节点,由判断节点输出结果。
周期任务使用定时器类节点触发周期计算或周期推送。
外部推送使用 Webhook、MQTT、邮件等数据推送节点,将处理结果发送到外部系统。
循环关系避免让节点形成闭环连接。需要状态记忆时,优先使用保持、计数器、内存变量或专门处理节点。

使用注意

场景建议
生产修改流程修改前先导出流程,保存后观察运行日志。
节点找不到确认自定义节点已编译成功,必要时刷新页面。
流程不执行检查流程是否启用、触发节点是否收到数据、连线方向是否正确。
节点参数为空选中节点后检查属性面板,确认输入参数、输入输出参数和默认值已配置。
结果不符合预期查看节点实时参数值,从上游到下游逐段定位。
日志为空确认流程已启用并实际触发;再检查日志级别和时间范围筛选条件。
系统负载升高检查高频触发流程、复杂计算节点、外部推送节点和“无限制触发”配置。

故障处理

现象处理建议
保存失败检查流程名称是否为空、节点参数是否有效,并查看页面错误提示。
导入 CSV 后节点异常检查导入文件是否来自同版本流程编辑器,确认自定义节点名称仍然存在。
端口无法连接确认连接方向和参数类型匹配,避免输出端口连接输出端口或输入端口连接输入端口。
实时参数值不显示确认流程已启用并触发运行;未运行的流程不会产生节点实时值。
日志持续报错打开日志详情查看异常信息,再回到对应节点检查参数、脚本和外部连接。

相关链接