分享好友 最新动态首页 最新动态分类 切换频道
规则引擎在IoT的重要性?
2024-12-27 09:48

物联网的强大功能主要来自于它使我们能够实时做出更准确的决策的能力,这些在通知、自动化和预测性维护上都有所体现。因此我们需要能对实时数据进行实时响应的工具,答案就是规则引擎。规则引擎可以通过摄取实时数据,对该数据进行推理并根据该推理过程的结果调用自动操作或者第三方API来履行职责。

这里有一个智能农业的场景:

您可以在应用程序中轻松实现上述的规则或逻辑。但是,如果您将接到了其他一些需求,例如:

为了在我们的应用程序中满足所有这些要求,但是在启动规则引擎之前,让我们先了解一下规则引擎是什么?

下面是来自的一篇文章

规则引擎是一种工具,可以更轻松地使用此计算模型进行编程。它可能是完整的开发环境,也可能是可与传统平台一起使用的框架。近年来,我所见的大多数工具都是设计为适合现有平台的工具。曾经有一种想法是使用这样的工具来构建整个系统,但是现在人们(明智地)倾向于仅将规则引擎用于系统的各个部分。生产规则计算模型最适合仅解决一部分计算问题,因此规则引擎可以更好地嵌入到较大的系统中。 您可以自己构建一个简单的规则引擎。您所需要做的就是创建一堆带有条件和动作的对象,将它们存储在一个集合中,然后遍历它们以评估条件并执行这些动作。但是大多数情况下,当人们提到“规则引擎”时,它们是指专门用来帮助您构建和运行规则引擎的产品。用于指定规则的技术可能有所不同,包括人们将API描述为Java对象的API,表达规则的DSL或允许人们输入规则的GUI。高效的执行引擎有助于使用专门的算法(例如Rete算法)快速评估数百条规则的条件。 规则引擎的一个重要属性是链接 -一条规则的操作部分以改变另一条规则的条件部分的值的方式更改系统状态。链接听起来很吸引人,因为它支持更复杂的行为,但很容易导致很难推理和调试。

这是一个运行在数据上的系统程序, 如果任何条件匹配,那么它就会执行相应的操作。

在上图中,显示了我们以规则(if-then)的形式收集知识并将其存储在任何地方。规则可以存储在文件或数据库之类的任何存储中。现在,规则引擎根据需求选择规则,并在输入数据或查询上运行它们。如果有任何模式/条件匹配,则它将执行相应的操作并返回结果或解决方案。

前向链接(Forward-Chaining)引擎

使用前向链接的推理引擎应用一组规则和事实来推导结论,搜索规则,直到发现IF子句为真为止。根据规则匹配新的或现有事实的过程称为模式匹配,它是由前向链接推理引擎通过各种算法执行的,如Linear、Rete、Treat、Leaps等。

当发现条件为真时,引擎将执行THEN子句,这将导致向其数据集添加新信息。换句话说,引擎从大量事实开始,并应用规则从这些事实中得出所有可能的结论。这就是“前向链接”这一名称的由来——即推理引擎从数据开始,通过推理向前得到答案,这与反向链接相反,后者的工作方式是相反的。

应用案例:目前市场上的大多数物联网平台实际上都有这种类型的规则引擎。下面是几个基于前向链接引擎的自动化工具的例子,这些工具在我们写这篇博客的时候已经在市场上出现了:Redhat Drools, Cumulocity, Eclipse Smart Home, AWS Rules, Thingsboard等等。

条件动作(Condition-Action)引擎

基于条件-动作(CA)规则引擎属于前向链接引擎,但存在一些相关的差异,特别是在物联网领域。与前向链接引擎相比,条件-动作规则引擎不允许多个条件,这使得它们一方面在逻辑表达能力上非常有限,另一方面——可伸缩性更强。条件操作规则引擎(如果-那么)有时使用ELSE语句进行扩展(如果-那么- 或者 - 那么)。

应用案例:物联网领域中这种规则引擎最流行的例子之一是ifttt.com服务。

流处理(flow processing)引擎

基于流的编程是一种将应用程序定义为“黑盒”流程网络的编程范式。这些进程,即函数,被表示为节点,通过消息传递在预定义的连接之间交换数据。节点可以被不断地重新连接,从而形成不同的应用程序,而不必更改它们相关联的功能。

基于流的编程(FBP)自然是“面向组件的”。FBP的好处包括:

应用案例:

Yahoo! PipesNode-RED是使用基于流的编程构建的规则引擎的两个例子。随着“serverless”计算的引入,基于流的编程变得更加流行,在“serverless”计算中,可以通过链接函数构建云应用程序。

IBM的OpenWhisk是一个基于流的编程示例,它通过链接云函数(IBM称之为动作)实现编程。另一种无服务器编排方法(如AWS step functions)基于有限状态机规则引擎。

决策树(decision trees)引擎

捕获条件规则复杂性的一种流行方法是使用决策树,决策树是使用分支方法来说明决策的每一个可能结果的图。

应用案例:

Drools主要以其基于前向链接的规则引擎而闻名,它有一个可与决策表集成的扩展,可以将excel表与嵌入代码片段结合使用,以容纳任何额外的逻辑或所需的阈值。

有限状态机(finite state machines)引擎

状态机可用于根据系统经历的一组状态来描述系统。状态是对等待执行转换的系统状态的描述。过渡是在满足条件或接收到事件时要执行的一组动作。

FSM的概念易于由不同类型的用户掌握。BRE(业务规则引擎)的主要销售论点是BRE软件允许非程序员在业务流程管理(BPM)系统中实现业务逻辑。

FSM经常忽略的一件事是状态暗含着过渡,也就是说,将某种事物建模为状态的唯一目的是导航特定的决策流程。

这样做的直接结果是,FSM缺乏可读性,因为规则变得更加复杂,或者需要将特定的极端情况建模为状态。由于FSM一次只能执行一个转换,因此当用户尝试引入在某些条件下可能发生的事件时,她需要添加一个新状态。当状态数过多时,状态机的可读性会大大下降。

最新文章
互联网未来的发展趋势如何?
未来互联网发展肯定是越来越快,越来越与各行业紧密融合,因此我们必须跟上趋势,顺着风向前行,互联网大佬马云曾说过,“在互联网上失败一定是自己造成的,要不是脑子发热,要不就是脑子不热了,太冷了”。专家分析互联网未来30年发展的10
长期吃蜂王浆有什么好处?蜂王浆十大品牌排行榜揭晓!
二、蜂王浆十大品牌排行榜(以下排名不分先后)1. 蜜丰香蜂王浆:专业制作且深受消费者喜爱的知名品牌。2.祥蜂垣蜂王浆:主打绿色无污染、自然萃取的产品特点。3. 百花蜂王浆:通过先进的技术处理和精制工艺生产的高品质产品。4. 汪氏蜂王
蜘蛛池优化百度推广,提升网站流量与品牌曝光,百度蜘蛛池 关键词排名
蜘蛛池是一种优化百度推广的工具,通过模拟搜索引擎爬虫行为,增加网站访问量,提升关键词排名,从而增加品牌曝光和网站流量。使用蜘蛛池可以模拟大量用户访问,提高网站权重,使网站在搜索引擎中的排名更靠前。蜘蛛池还可以模拟用户点击行
玩家对战游戏哪个好 下载量高的玩家对战游戏排行
本文将带你探索玩家间备受追捧的对战游戏排行榜,以下载量作为重要指标,揭示现今最热门、最具竞争力的游戏。无论是策略大师还是动作爱好者,这里都将为你揭晓当下最受欢迎的玩家对战游戏名单,一饱你的好奇心和竞技欲望。快来了解这些炙手
爱动漫(漫画观看)
爱动漫-高清精品漫画神器,趣味次元娱乐平台。海量动画、漫画、视频内容,正版资源高清无广告,社区活动、Q币福利快来体验! 《妖神记》、《前夫大人请滚开》、《盛夏之约》、《探索之骨》、《室友的女友由我来消灭》、《逆天仙帝》等正版
人脸识别 -API 是否戴口罩识别
参数是否必填参数类型说明示例下级对象Content-Type是Stringjson格式application/jsonappkey是String平台应用appkey562b89493b1a40e1b97ea05e50dd8170ctyun-eop-request-id是String用户请求 id,由用户构造,用户可以通过 uuid
让 AI 写代码,能做出什么样的项目?
如今,大量程序员已经习惯在 AI 辅助下进行编程。据调研,AI 编码工具将程序员工作效率提升 50% 以上。通义灵码是目前国内最受开发者喜爱的 AI 编码助手,可以完成补全续写代码、写单元测试、debug,根据注释生成
饥荒手机版热度机制深度解析与攻略指南
饥荒手机版作为款生存冒险游戏,以其独特的游戏玩法和丰富的游戏内容吸引了大量的玩家。本文将深度解析饥荒手机版的热度机制,并为大家提供份实用的攻略指南,帮助大家在游戏中更好地生存和探险。饥荒手机版热度机制解析2. 热度机制运作饥
百度怎么开珠宝直播权限?怎么在百度直播卖珠宝?
自建平台 少走弯路 直播平台也分很多种,一种是庞大用户平台衍生的直播平台,例如淘宝直播、一直播、爱奇艺直播等等.另外一种是自建直播平台,自建平台完全对自己的品牌 进行宣传推广,对于本就在这些平台拥有账号的珠宝玉石品牌,直播的形式,无
学校协会/社会团体/政府网站主题 POPUnion
POPUnion 主题是来自国内开发团队WPYOU的作品,该主题比较适合搭建国内学校协会/社会团体/政府网站。WordPress协会/社会团体网站主题完美支持自适应各种常用智能终端设备(包括PC端、手机、平板电脑等); 根据用户行为以及设备环境(
相关文章
推荐文章
发表评论
0评