时间:2021-05-02
物联网系统以及各类互联网分布式系统,消息队列是经常用到的中间件技术。在物联网系统中,消息队列一般和规则引擎结合使用,规则引擎决定消息会进入消息队列的哪个topic。
消息队列一般与规则引擎结合使用
为啥要用规则引擎
规则引擎起源于基于规则的专家系统,是专家系统的一个分支,而专家系统可划分为人工智能的范畴。当时人们提出专家系统,是为了让计算机来应用人类专家的经验,并像人类一样进行推理,最终解决特定领域的问题。
规则引擎是一种嵌入在其他应用程序中的程序组件,实现了将业务决策从应用程序代码中分离的作用。业务人员可以使用预定义的规则语义模块编写业务规则。规则引擎解析业务规则,接受数据输入,并根据业务规则做出业务决策。通过编写业务规则,就可以改变数据的处理逻辑,而不需要重新编写应用程序的代码。
当然如果不使用规则引擎,物联网系统只基于消息队列也可以工作,但这样的设计不够灵活,使用规则引擎可以带来很多好处。
与代码不同,规则以不复杂的语言编写,甚至可以通过图形化的工具配置; 业务人员也可以轻松阅读和验证一套规则。
在规则引擎的帮助下,应用程序的扩展性可以变得非常强。如果需要频繁更改需求,可以添加新规则,而无需修改现有规则。
在物联网系统中,当设备基于Topic进行消息通信时,可以使用规则引擎,编写类似SQL的语句对Topic中的数据进行处理,并配置转发规则将处理后的数据转发到其他服务,可以非常方便的对设备的数据进行保存和分析。
AWS IoT
很多公司的物联网云平台都使用了规则引擎组件。以亚马逊的IoT架构为例,IoT设备内嵌SDK 使用MQTT、HTTP 或 WebSockets协议将设备连接到 AWS IoT设备网关。规则引擎验证发布到 AWS IoT的消息,并根据预先定义的业务规则将这些消息分发到另一台设备或云服务。
AWS IoT架构
规则引擎可以将消息分发到AWS Lambda(Serverless托管计算服务)、Amazon Kinesis(大规模流式数据处理)、Amazon S3(可扩展云存储)、Amazon DynamoDB(托管NoSQL数据库)、Amazon SimpleNotification(推送通知服务)、Amazon SimpleQueue Service(消息队列服务)。
AWS IoT与AWS云服务对接
常用规则引擎
规则引擎不仅仅用于物联网,还可用于很多领域,比如保险、信贷、支付等金融风控中。
IFTTT的典型示例:当Uber到了,把灯亮起提醒我。
IFTTT是“if this then that”的缩写,主要是让用户的网络行为能够引发连锁反应。IFTTT旨在帮助人们利用各网站的开放API,将Facebook、Twitter等各个网站或应用衔接起来,完成特定的任务。已有很多人利用IFTTT服务搭建了属于自己的物联网应用。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
国家电网中国电力科学研究院关于“配电物联网云平台架构与关键技术”的分享,一起学习!
下面我们就来看看大数据分析的技术架构及关键技术吧。大数据安全分析之大数据分析的技术架构及关键技术一、大数据分析的技术架构大数据安全分析总体架构由数据采集、预处理
相比于互联网时代,物联网的通信协议更加多样,物的碎片化非常严重,网关的重要性也就由此凸显——物联网网关能够把不同的物收集到的信息整合起来,并且把它传输到下一层次
Android照相机的实例应用关键技术:SurfaceHolder.CallbackpublicclassMyCameraDemoextendsActivity
实例importjava.util.Date;/***使用printf输出*//**关键技术点*使用java.io.PrintStream的printf方法实现