[发明专利]MQTT消息中心引入规则引擎的方法有效
申请号: | 202011104396.6 | 申请日: | 2020-10-15 |
公开(公告)号: | CN112261101B | 公开(公告)日: | 2021-09-28 |
发明(设计)人: | 余龙海;张帅;杨震泉 | 申请(专利权)人: | 四川长虹电器股份有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08;H04L29/06 |
代理公司: | 四川省成都市天策商标专利事务所 51213 | 代理人: | 张秀敏 |
地址: | 621000 四*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | mqtt 消息 中心 引入 规则 引擎 方法 | ||
本发明公开了一种MQTT消息中心引入规则引擎的方法,包括以下步骤:定义数据结构描述规则;将数据结构定义完成后,通过图形化界面添加和修改规则;设计规则加载方式;所有MQTT消息中心接收且转发的数据和event事件数据都会回调不同的插件hook,判断数据是否满足相应的规则条件并响应动作,如果有处理结果输出,规则将执行相应的动作。本发明使得系统的开发,维护和升级变得更容易。
技术领域
本发明涉及MQTT传输协议技术领域,特别是一种MQTT消息中心引入规则引擎的方法。
背景技术
MQTT协议作为物联网的基本传输协议以来,经历了不同版本的演化,包括有(3.0/5.0)等。为了支持最新的MQTT传输协议,为了方便不同协议版本的设备连接,消息中心的功能和服务都需要扩展。
MQTT服务功能需要在原来的代码基础上进行必要的扩展和更新、重新设计框架、保持向下兼容。这将导致程序开发的成本的增加,也为整个系统的独立性和稳定性提出了挑战。每次添加了新的功能和服务,需进行完整的单元,集成,性能测试。且每次新功能的发布都必须导致关停服务,重启服务。对于有大量设备连接的消息服务系统而言,这种重启会导致客户使用体验下降,以及集群软硬件资源的巨大消耗。现今存在的消息中心规则引擎的方案很少,即使有也是JAVA+DROOLS的方式,这种方式仅支持XML、DRL文件格式,且加载需要大量的系统资源,这对于消息平台的实时性和大并发交互有困难。
发明内容
为解决现有技术中存在的问题,本发明的目的是提供一种MQTT消息中心引入规则引擎的方法,本发明使得系统的开发,维护和升级变得更容易。
为实现上述目的,本发明采用的技术方案是:一种MQTT消息中心引入规则引擎的方法,包括以下步骤:
S1、定义数据结构描述规则;
S2、将数据结构定义完成后,通过图形化界面添加和修改规则;
S3、设计规则加载方式;
S4、所有MQTT消息中心接收且转发的数据和event事件数据都会回调不同的插件hook,判断数据是否满足相应的规则条件并响应动作,如果有处理结果输出,规则将执行相应的动作。
作为本发明的进一步改进,在步骤S1中,定义四种数据类型构建SQL+JSON数据结构描述规则,四种数据类型包括:
①规则:包括采用SQL描述规则和采用JSON描述规则;
所述SQL描述规则由SQL语句和动作列表组成,所述动作列表包含一个或多个动作及其参数,所述SQL语句用于筛选或转换消息中的数据,SQL描述规则的格式为:SELECT字段名FROM主题[WHERE条件],其中:FROM子句将规则挂载到某个主题上;SELECT子句用于对数据进行变换,并选择出感兴趣的字段;WHERE子句用于对SELECT选择出来的某个字段施加条件过滤;
所述JSON描述规则的格式为:规则:{SQL语句,动作列表:[{动作1,动作参数,绑定资源:{资源配置}},{动作2,动作参数,绑定资源:{资源配置}}]};
②动作:SQL语句匹配通过之后,所执行的任务,动作定义了针对数据的操作;
③资源:通过资源类型为模板实例化出来的对象,保存了与资源相关的配置和系统资源;
④资源类型:资源类型是资源的静态定义,描述了此类型资源需要的配置项。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于四川长虹电器股份有限公司,未经四川长虹电器股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011104396.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种宠物鲜粮及其制备方法
- 下一篇:一种风机动叶控制方法和装置