分享好友 最新动态首页 最新动态分类 切换频道
# 规则引擎使用配置介绍
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 接口应当收到了设备离线数据,此处不再赘述。

最新文章
淘宝已处理评价7个有什么影响
一、淘宝已处理评价7个有什么影响?在淘宝中,如果一个商家的评价数量达到7个并且已被处理,通常会有以下影响:1.信誉提升:评价数量的增加可以增加商家的信誉度。当商家的评价数量超过一定的阈值,并且这些评价已被处理,可能会对其他买家
百度词典搜索怎么用
  百度词典搜索的使用很简单,无论您是要查询英文的汉语解释,还是要查汉语的英文解释,或是查询汉语单字、词语、成语解释,均只需在一个搜索框内直接输入,按回车键或点百度一下按钮,即可得到您想要查询的内容。  百度词典搜索支持全
阿里巴巴seo排名优化(SEO文章排名优化)
阿里巴巴SEO排名优化 随着电子商务的快速发展,搜索引擎优化(SEO)已经成为提高网站流量和转化率的关键手段之一。作为国内知名的电商平台,阿里巴巴也十分重视SEO排名优化。本文将介绍阿里巴巴SEO排名优化的基本
不吹不黑!年均PUE 1.1的百度首个自建超大型数据中心是什么水平?
PUE 1.1如何炼成? 出北京沿京昆高速一直走,经过保定、石家庄即到山西阳泉,从地理位置、气候条件、网络设施和电价等因素上考量,阳泉不是传统意义上受青睐的数据中心选址地,百度第一个自建超大型数据中心
鲁大师手机在线观看视频教程:轻松学会手机优化
这些视频教程内容丰富,涵盖了手机优化的各个方面。比如,它会教我们如何清理手机内存,释放更多的存储空间;如何关闭不必要的后台程序,提高手机的运行速度;如何优化手机的电池管理,延长电池的使用寿命;如何设置手机的网络连接,提高网
漫画台app免费下载2025最新版
漫画台2025安卓最新版,是一款专为漫画追番打造的漫画资源整合软件,平台每日同步更新海量正版漫画,国漫、日漫,热血、武侠、玄幻、霸道、搞笑各种类别应有尽有,满足用户的多样化看漫画需求,高清漫画还支持离线下载没网也能看。漫画台20
百度指数的基本功能是什么
在当今数字化的时代,数据的价值愈发凸显,而百度指数作为百度公司推出的一款专业的互联网数据分析工具,其基本功能在帮助用户洞察网络舆情、把握市场动态、优化营销策略等方面发挥着重要的作用。百度指数的基本功能之一是关键词搜索热度监
落地香港,威盛AI助力工程机械安全升级!
  日前,威盛携威盛Mobile360 AI工程机械解决方案受邀参加由德利机械有限公司及德利机械控股有限公司(德利机械)举办的“新型智能机械安全简介会”,会场演示多元化的安全智慧工地系统(4S)产品,助力业界提升建筑业安全标准。  此次大会
苹果手机AI智能写作助手:一键生成学术论文、报告及创意文案软件解决方案
在数字化时代,智能写作助手的出现极大地提升了写作效率其对学术研究者、报告撰写者和创意文案工作者而言一款强大的智能写作软件更是如虎添翼。苹果手机以其特别的操作系统和强大的硬件性能,成为了众多写作爱好者的首选设备。本文将为您详
股票怎么打开?如何开始进行股票投资?
股票投资入门指南接下来,您需要开通一个证券账户。这就像是您进入股票市场的“通行证”。您可以选择传统的证券公司,也可以考虑在线券商平台。在选择时,要综合考虑手续费、服务质量、交易工具等因素。以下是一个简单的对比表格,帮助您了
相关文章
推荐文章
发表评论
0评