分享好友 最新动态首页 最新动态分类 切换频道
# 规则引擎使用配置介绍
2024-12-27 03:42

本篇提供两个示例,通过 Dashboard 可视化界面演示规则引擎的创建于使用。

# 规则引擎使用配置介绍

场景描述

该场景中拟设车联网卡车车载传感器通过 主题上报如下 JSON 消息(device_id 为车辆连接客户端的 client_id,同车辆 ID)

 

规则引擎需要将车速大于 60 km/h 的数据发送到 Web Server 进行持久化处理,以便后期结合地理位置进行是否超速判定。

使用 Web Server 持久化设备消息从吞吐性能与消息一致性上考量都略显不足,此处仅为规则引擎体验示例,如有相关场景请尝试数据桥接、直接持久化到数据库等方案。

准备

编写 HTTP 接口,准备接收并处理规则引擎的消息

该部分示例代码如下

 
本地启动服务

使用 Node.js 快速在本地启动服务器

 

此处使用依赖极简代码示例,实际开发中应当有完备的权限校验、数据校验操作。

在资源中创建持久化 API 接口

Dashboard --> 规则引擎 --> 资源 页面点击右上角,点击 新建 按钮,选择 WebHook 资源类型,填入接入地址与认证信息

创建规则

资源创建完毕后我们可以进行规则创建规则引擎 --> 规则 页面中点击 新建 按钮进入规则创建页面。

触发事件选择

选择 消息发布 事件,处理卡车消息上报(发布)时的数据。本示例中我们需要存储的消息如下

 

根据 可用字段 提示, 字段相当于 client_id 可以从上下文中选取, 等信息则从 中选取,规则 SQL 如下

 

该条规则默认处理全部的消息,实际上业务仅需处理 主题下的消息(使用了主题通配符),且 的值应当大于 60,我们给规则加上限定条件

 

使用 SQL 测试功能,输入原始上报数据与相关变量,设置 之后,得到如下输出结果

 
  • 将消息发送到 Web Server

    新建响应动作并选取 发送数据到 Web 服务,选择准备工作中创建的资源,保存该条规则。

    示例测试

    我们成功创建了一条规则,一共包含一个处理动作,动作期望效果如下

    • 向 主题发布消息时,当消息体是符合预期的 JSON 格式且 数值大于 60,规则将命中并向 Web Server 处理后的消息,Web Server 根目录下 文件将新增新增写入该条数据。
使用 Dashboard 中的 Websocket 工具测试

连接成功后向 主题发送如下消息

 

由于 小于预设的 60,查看持久化文件 该条消息并未命中规则。

调整 值为 90,单击发送按钮三次,查看文件 中持久化的消息内容如下

 

至此,我们实现了通过 Web Server 持久化消息到磁盘的业务开发。

场景描述

该场景中需要标记接入 EMQ X 的设备在线状态,在 MySQL 中记录设备上下线日志,同时设备下线时通过 HTTP API 通知告警系统。

MySQL 部分功能仅限企业版

准备

初始化 MySQL 设备表 与 连接记录表

 
在资源中创建 MySQL 连接

Dashboard --> 规则引擎 --> 资源 页面点击右上角,点击 新建 按钮,选择 MySQL 资源类型,填入相关参数创建 MySQL 连接资源,保存配置前可点击 测试连接 进行可用性测试

在资源中创建告警 API 接口

重复资源创建操作,创建 WehHook 类型的资源用于设备下线通知。此处用户可根据业务逻辑自行开发告警服务

创建规则

资源创建完毕后我们可以进行规则创建规则引擎 --> 规则 页面中点击 新建 按钮进入规则创建页面。

触发事件选择

设备上下、线对应的事件分别是 连接完成连接断开,首先选择 连接完成 事件进行上线记录

创建上线处理规则

SQL 测试与动作创建

通过界面上的 可用字段 提示,编写规则 SQL 语句选取 与 如下

 

点击 SQL 测试进行 SQL 输出测试,该条 SQL 执行输出为

 

即响应动作中将拿到上述数据。

新建响应动作并选取 保存数据到 MySQL,选择准备工作中创建的 MySQL 资源,输入 SQL 模板 配置该条数据写入规则,使用类似 的魔法变量可以将规则筛选出来的数据替换进 SQL 语句。

根据 更新设备的 为 1,表示设备在线

 
 
 

点击 新建 完成规则的创建,该条规则包含两个动作。

创建离线处理规则

上一步中我们已经通过 连接完成 触发事件完成了设备上线规则的创建,接下来我们完成设备下线规则创建

触发事件选择 连接断开 ,同样将 与 选择出来,规则 SQL 如下

 

点击 SQL 测试进行 SQL 输出测试,该条 SQL 执行输出为

 

将设备状态置为离线并清空上线时间

新增一个响应动作,选择 保存数据到 MySQL 并编写如下 SQL 模板

 

设备连接表 中插入一条记录,记录设备下线历史

继续新增一个响应动作,这里复用 字段,标记下线原因

 

将下线消息发送到 Web Server,触发业务系统的设备下线通知:**

将下线消息发送到 Web Server,触发业务系统的设备下线通知

新增一个 发送数据到 Web 服务 动作,选择 准备 步骤中创建的 Web 接入点,消息将以 HTTP 请求发送到该接入点。

示例测试

  1. 我们成功创建了两条规则,一共包含五个处理动作,动作期望效果如下
    1. 设备上线时,更改数据库 的 字段 为 ,标记设备在线
    2. 设备上线时,在 插入一条上线记录,包含 与 字段,同时设置 为 标记这是一条上线记录
    3. 设备下线时,更改数据库 的 字段 为 ,标记设备离线
    4. 设备下线时,在 插入一条下线记录,包含 与 字段(标记下线原因,同时设置 为 标记这是一条下线记录
    5. 设备下线时,发送一条请求到 服务网关,网关获取到下线设备的 client_id 与下线原因,做出相应逻辑通知到业务系统。
使用 Dashboard 中的 Websocket 工具测试

切换到 工具 --> Websocket 页面,客户端 ID,用户名,密码均填写 模拟设备接入

连接成功后,分别查看 设备表 与 连接记录表 得到以下数据

设备状态已被更新,连接记录表新增一条离线数据,告警 API 接口应当收到了设备离线数据,此处不再赘述。

最新文章
高德地图搜不到地址怎么办-商家新开门店地图定位
高德地图搜不到地址,可能有以下几种原因,解决办法如下:1. 地址输入有误:确认输入的地址是否正确,可以对照地图软件的其他信息,或者询问当地居民获得更准确的信息。2. 地址数据不全:某些偏僻或者新兴地区的地址数据可能尚未完全录入,
能源矿产检测 矿产成分检测 矿石元素检测
能源矿产检测 矿产成分检测 矿石元素检测 矿石能源一般属于不可再生能源,属于现代工业的基础原料。矿石检测主要是指利用分析检测仪器对矿石材料进行分析检测,确定矿石材料成分和品位,为企业进行矿石开采研究提供分析技术支持。能源属于
百度小说排行榜2021前十名完结
现如今,小说越来越多,但似乎找到一本心仪的小说却变得越来越难,面对浩如烟海的小说,从哪里知道什么更适合自己呢?小编为你提前排雷,帮你找到自己心中的最爱,大家有什么意见与建议可以在评论区中一起交流,一起建立起一个小书虫们的交
外勤365产品培训FAQ课件
外勤365产品培训常见问题外勤人员精细化管理工具出现网络请求失败原因:1.网络不稳定或者比较差2.是否限制外勤365软件3.后台很多其它软件在使用网络问题一、网络请求失败、界面转圈处理方法:1.换接入点在Android手机上,点击“设置”——
谷歌为成为苹果默认搜索引擎支付数十亿美元
据国外媒体报道,谷歌向苹果支付了数十亿美元,以便让其成为iPhone和Mac电脑中的Safari浏览器的默认搜索引擎。据之前消息,谷歌与苹果谈判,希望能够成为他们的默认搜索引擎。就在最近的一次采访中,苹果前法律总顾问布鲁斯·休厄尔透露了
网站分析与SEO效果的评估,互联网营销
网站分析与SEO效果的评估,互联网营销网站分析网站分析与SEO效果的评估,互联网营销  让我在能动笔的岁月中继续动笔吧!我一直想要写关于网站分析如何帮助评估SEO的效果,但是,因为自己并不是SEO的专家,而且目前仍在学习的过程中,因此
百度快照是什么功能
百度快照,是百度搜索引擎推出的一项服务,它的主要功能是在网页无法正常访问时,通过保存的网页备份,为用户提供一个可以查看的网页版本,这种服务对于网站管理员和普通用户来说都有很大的帮助。百度快照的工作原理其实很简单,当用户在百
大脑开始萎缩,不是看忘不忘事!医生告诫:若有这2异常或已萎缩
“哎呀,完了完了,这次出门又没带钥匙。”老李头看着空空如也的衣服兜,忍不住感叹道,“最近老忘事,看来年纪大了大脑开始萎缩了。”一旁的妻子忍不住批评道:“一大早上出来散步你就给我整这出损色,没带钥匙说自己大脑萎缩,睡觉厨房灯
网信办新规管理搜索服务 百度:每页不超4条推广
  昨日,国家互联网信息办公室发布《互联网信息搜索服务管理规定》(以下简称《规定》)。《规定》要求,提供付费搜索信息服务应当依法查验客户有关资质,明确付费搜索信息页面比例上限,醒目区分自然搜索结果与付费搜索信息。  国家互
笔记本电脑如何复制粘贴网址
要复制和粘贴网址,您可以按照以下步骤进行操作:1. 打开您的网页浏览器并进入要复制的网页。2. 在地址栏上方,将鼠标光标定位到网址文本框中。3. 单击右键,在弹出菜单中选择“复制”选项。或者,您也可以使用Ctrl+C组合键来完成复制操作
相关文章
推荐文章
发表评论
0评