3、规则链基础概念:节点、连接、消息流、规则链编辑器界面介绍

在 ThingsBoard 中,规则链(Rule Chain) 是处理设备数据、执行业务逻辑的核心引擎。理解规则链的四大基础概念——节点、连接、消息流和编辑器界面,是构建复杂 IoT 应用的前提。本章将逐一拆解这些概念,并配合可视化图示帮助建立直观认知。

3.1 节点(Node)——规则链的“积木块”

节点是规则链中最小的执行单元,每个节点封装了特定的处理逻辑。根据功能,节点可分为以下几类:

节点类别 典型节点 功能描述
消息处理 Script Filter、Transform、Generator 过滤、转换或生成消息负载
外部集成 REST API Call、Kafka、MQTT 与外部系统进行数据交互
数据持久化 Save Timeseries、Save Attributes 将数据写入数据库
动作执行 Log、Push to Edge、RPC Call 触发特定动作或远程控制
路由控制 Check Relation、Switch、Delay 根据条件或时间控制消息流向
💡 提示: 本课程重点关注的 REST API Call 节点属于“外部集成”类别,它允许规则链通过 HTTP 协议调用任意外部 RESTful 服务,是实现“规则链调用外部 HTTP 服务”的核心节点。

3.2 连接(Connection)——消息的“管道”

连接定义了节点之间的数据传递关系。每个连接都带有一个 连接标签(Link Label),用于标识消息传递的条件或结果状态。常见的连接标签包括:

  • Success:节点处理成功后的默认出口。
  • Failure:节点处理失败时的出口。
  • True / False:条件判断节点(如 Script Filter)根据表达式结果选择出口。
  • Other:当消息不匹配任何已定义标签时的兜底出口。

连接的设计使得规则链能够实现复杂的条件分支和异常处理逻辑,而无需编写大量代码。

3.3 消息流(Message Flow)——数据的“旅行路线”

消息流描述了消息从进入规则链到最终被处理完成的完整路径。一个典型的消息流包含以下阶段:

  1. 消息入站:设备遥测、属性更新或事件通过 Root Rule Chain 的入口节点进入。
  2. 节点处理:消息依次经过各个节点,每个节点执行其特定逻辑(过滤、转换、调用外部服务等)。
  3. 条件路由:根据节点输出结果,通过连接标签将消息路由到不同的下游节点。
  4. 消息终结:消息到达链尾节点(如 Log、Save Timeseries)或被丢弃。
📐 架构视角: 消息流本质是一个 有向无环图(DAG)。ThingsBoard 引擎会按拓扑顺序依次执行节点,确保消息不会陷入死循环。
规则链消息流与节点连接示意 规则链消息流与节点连接示意 消息入口 Script Filter True False Transform REST API Call Log (丢弃) 图例说明 🔵 入口/出口节点 🔴 过滤/判断节点 🟢 转换节点 🟣 外部集成节点

3.4 规则链编辑器界面介绍

ThingsBoard 的规则链编辑器是一个基于 Web 的拖拽式可视化设计工具。熟悉其界面布局是高效开发规则链的第一步。编辑器主要分为以下几个区域:

区域名称 位置 功能说明
节点面板 左侧 列出所有可用节点,按类别分组(Filter、Transform、Action、External 等),支持搜索
画布区域 中央 拖拽节点、绘制连接、编排消息流的主工作区,支持缩放和平移
节点配置面板 右侧(点击节点后弹出) 配置选中节点的具体参数(如 REST API URL、脚本内容、超时时间等)
工具栏 顶部 包含保存、测试、调试、导入/导出、版本历史等操作按钮
调试控制台 底部(可折叠) 实时显示消息流经各节点的日志、错误信息和事件跟踪
⚠️ 避坑提醒: 在编辑器中修改规则链后,务必点击 “保存” 按钮。未保存的修改在刷新页面或切换浏览器标签页后会丢失。建议在开发过程中频繁保存,并利用“版本历史”功能记录关键变更点。
规则链编辑器界面布局示意 规则链编辑器界面布局示意 工具栏:保存 | 测试 | 调试 | 导入/导出 | 版本历史 节点面板 🔍 搜索节点... 📁 Filter 📁 Transform 📁 Action 📁 External 📁 Enrichment 📁 Rule Chain 📁 Flow 📁 Utility 画布区域(拖拽编排) 入口 过滤器 转换 REST API 配置面板 节点类型: REST API Call URL: https://... Method: POST Headers: ... Timeout: 5000ms 调试控制台:消息 ID: 12345 | 节点: REST API Call | 状态: Success | 耗时: 120ms

3.5 核心概念关系总结

节点、连接、消息流和编辑器界面四者之间的关系可以概括为:

  • 节点 是功能单元,连接 是路由规则,二者共同定义了 消息流 的拓扑结构。
  • 编辑器界面 是可视化编排上述三者的工具,提供了从设计、配置到调试的一站式体验。
  • 理解消息在节点间如何根据连接标签流动,是调试规则链和定位问题的关键。