8招带你玩转规则引擎 | 个人物联网成长记

【摘要】 华为云物联网平台提供的规则引擎包括数据转发和设备联动等多种能力,这些能力都要怎么使用?本文教您8招最经常使用的用法,带您玩转规则引擎。

规则引擎是华为云物联网平台提供的一种能力,用户对接入平台的设备设定相应的规则,在条件知足所设定的规则后,平台会触发相应的动做来知足用户需求。规则引擎包含数据转发和设备联动两种类型。html

  • 数据转发规则:物联网平台支持将设备上报的数据(和设备信息)转发至其余云服务,包括数据接入服务DIS、对象存储服务OBS、企业集成平台ROMA等,并支持对转发的数据进行过滤。安全

  • 设备联动规则:设备联动规则是指当设备行为(即设备上报的数据中的某个值)或者系统时间知足了规则设定的条件时,就会触发规则设定的动做,如触发告警、发送消息和下发命令给设备。服务器

面对规则引擎的这么多能力,咱们该如何使用它们?接下来就让本文教你8招,带你玩转规则引擎。微信

第一招 数据转发至OBS长期存储

对于设备上报的数据,设备接入服务只保存最新的数据,设备管理服务(建立应用时开启了存储数据能力)保存7天的历史数据。若是用户但愿长期保存设备历史数据,就须要将设备上报的数据及时转发至其余地方保存。函数

此时,就轮到规则引擎出场了。数据转发规则支持将设备上报的数据转发至对象存储服务OBS,实现设备数据持久存储。OBS是一个基于对象的海量存储服务,为客户提供海量、安全、高可靠、低成本的数据存储能力,适用于对设备上报数据进行归档和备份存储。工具

1574730857864646.png

在OBS中,基本的概念是桶和对象:桶是OBS中存储对象的容器,每一个桶都有本身的存储类别、访问权限、所属区域等属性,用户在互联网上经过桶的访问域名来定位桶。对象是OBS中数据存储的基本单位,一个对象实际是一个文件的数据与其相关属性信息的集合体,包括Key(文件名称)、Metadata(元数据,由OBS自动生成)、Data(文件数据)三部分。spacer.gifoop

1574730895876403.png

规则引擎转发设备上报数据到OBS时,每条数据都会做为一个对象被保存到用户建立的桶中。若须要用桶中读取数据,OBS也提供了控制台、SDK、API、客户端工具等多种方法,是否是很方便?性能

第二招 数据经由DIS转发至第三方应用

不少物联网企业都会本身开发物联网应用管理设备,那么,物联网应用如何从物联网平台实时获取设备上报的数据?华为物联网平台提供了两种方案。学习

方案一是使用设备管理服务的订阅推送功能。这个方案是由第三方应用调用物联网平台的接口进行订阅,而后设备上报数据后物联网平台主动推送至第三方应用。这个方案方便快捷,且支持推送的数据不止设备上报的数据,还包括设备注册通知、设备状态变化通知等;但这个方案也有一些局限性:第三方应用所在服务器必须绑定一个公网IP用于接收推送,物联网平台默认只提供较弱(10TPS)的推送能力,且不支持过滤数据。大数据

方案二则是使用规则引擎,将设备上报数据转发到数据接入服务DIS,再由第三方应用从DIS获取数据。DIS为处理或分析流数据的第三方应用构建数据流管道,实现数据高效采集、传输、分发。

1574730906462047.png

在DIS中,数据流管道被称为通道,是用户建立的逻辑单位,用以区分不一样用户实时数据的集合。和使用OBS服务时一样,咱们须要先建立一个通道,而后在物联网平台建立数据转发规则时指定该通道,设备上报的数据就会被物联网平台转发至该通道内。而后,第三方应用经过集成DIS的SDK或直接调用DIS的API,主动获取数据。建立规则时,咱们还能够指定过滤条件,例如指定某个属性的值必须大于0才转发该条数据,提早过滤无效数据。

1574730952561784.png

该方案虽然仅支持转发设备上报的数据(和设备信息),但无需公网IP,支持数据过滤,并能够根据数据流速建立不一样规格的数据通道,总体灵活性更高。

第三招 数据实时分析后转发至第三方应用

有些时候,第三方应用由于性能或业务逻辑等问题,指望获取的是已经分析处理过的设备上报数据,而不是原始数据。对于这种诉求,咱们仅需在第二招上稍微作些改动便可实现。

1574730985511311.png

实时流计算服务CS,是运行在公有云上的实时流式大数据分析服务,全托管的方式用户无需感知计算集群,只需聚焦于Stream SQL业务,即时执行做业。CS支持DIS流式数据做为数据源和数据输出,因此咱们须要创建两个DIS通道,一个通道做为CS的数据源,物联网平台将数据转发至该通道后就会被CS取出并处理;另外一个通道做为CS的输出通道,CS会把分析处理完的数据输出到这个通道中,第三方应用再从该通道中获取分析后的数据便可。

第四招 数据转发至大数据平台分析

物联网解决方案中,做为数据主体的“物”可能数量会很是大,产生的数据已经没法经过传统的数据处理服务进行处理,如何分析与利用这庞大的物联网设备数据对物联网企业来讲又是一个新的挑战。为此,华为云提供了大数据分析服务(MapReduce服务 MRS)。MRS是一个在华为云上部署和管理Hadoop系统的服务,一键便可部署Hadoop集群。MRS提供租户彻底可控的企业级大数据集群云服务,轻松运行Hadoop、Spark、HBase、Kafka、Storm等大数据组件,并具有在后续根据业务须要进行定制开发的能力。所以,咱们仅需将数据转发至MRS,而后就能够看MRS大展身手了。因而,又轮到规则引擎出场了。数据转发规则虽然不支持将数据直接转发至MRS,但支持将数据转发至DIS,DIS再将数据转发至MRS。spacer.gif

1574731010100350.png

在上一招中,咱们将数据转发到DIS后,由第三方应用直接取出。而在这一招中,咱们利用了DIS的另外一个能力,转储任务。DIS支持将通道内的数据经过定时任务的方式转储至其余服务,其中就包括MRS。经过规则引擎和DIS,咱们就能够将设备上报的数据全自动转发至MRS,由MRS进行大数据分析。

1574731046611134.png

第五招 数据转发至ROMA进行集成

对一些企业来讲,物联网设备上报的数据仅仅是他们业务数据的一部分,单纯的设备上报数据没有意义,他们须要将多种数据集成起来,才能发挥数据的真正价值。为了这样的企业,华为云提供了应用与数据集成平台 ROMA。ROMA是一个全栈式的应用与数据集成平台,源自华为数字化转型集成实践,聚焦应用和数据链接,适配多种企业常见的使用场景。ROMA提供轻量化消息、数据、API、设备等集成能力,简化企业上云,支持云上云下、跨区域集成,帮助企业实现数字化转型。物联网平台规则引擎支持将数据转发至ROMA的消息集成(Message Queue Service,简称MQS)组件,为企业提供安全、标准化的消息通道。spacer.gif

1574731068523565.png

ROMA的MQS组件是基于kafka的消息中间件,因此物联网平台转发数据至ROMA,本质上来讲也是讲数据转发到一个数据通道中,但ROMA做为集成平台,提供了多种应用和数据集成组件,完成数据的统一化和标准化,方便用户统一获取后进一步利用。

第六招 根据上报数据自动控制设备行为

如今的不少设备都能作到自动化管理,例如照明灯根据环境光强自动开关,高发热量的设备根据自身温度自动关机等。这些自动化逻辑能够直接烧录到设备中,也能够经过云端设置和执行。若将逻辑直接烧录到设备中,优势是设备反应快,但缺点是须要每一个设备单独烧录,并且若是逻辑有变化必须一个个设备从新烧录,很是难以管理。若将逻辑设置到云端,虽然设备的反应速度会有所下降,但逻辑只需云端维护,修改起来也很是方便,所以,咱们建议对反应速度要求不是特别高的自动化逻辑都设置到云端。规则引擎中的设备联动服务提供图形化的操做界面,经过简单的操做便可实现设备的自动化逻辑,厂商无需再自行开发第三方应用。

以上文中的照明灯根据环境光强自动开关为例,咱们能够设置两条规则,一条是当设备上报数据中的环境光强小于一个阈值(如50)时,物联网平台自动给设备下发开灯命令。另外一条则是当设备上报数据中的环境光强大于一个阈值(如500)时,物联网平台自动给设备下发关灯命令。

1574731098292351.png

经过这两条规则,咱们能够实现当设备检测到的环境光强小于50时自动开灯,环境光强大于500时自动关灯,达到智能照明的目的。

第七招 根据上报数据触发告警

物联网平台支持告警能力,设备触发告警条件后会在物联网平台上显示一条告警,用户查看告警能够得知告警级别,告警来源(指是哪一个设备产生的告警),告警内容等,方便用户更快定位问题设备,及时解决问题。

1574731192868014.png

而这个告警,也是经过设备联动规则产生的。设备联动规则支持设备上报的数据知足条件时,在物联网平台上显示一条告警,告警的信息(类型、级别、名称、内容)都可自定义。

1574731250497524.png

经过这种方式,用户能够自定义业务所需的告警,实现设备异常及时定位,业务管理更高效。

第八招 根据上报数据发送短信和邮件

不少物联网设备24小时运行,设备管理者并不须要知道设备每一刻的状态,只须要设备在上报某些特定状态时能通知到管理者。例如,当设备电量低时,自动发送邮件和短信通知管理员。这个功能咱们一样可使用设备联动规则实现,由于华为云物联网平台规则引擎对接了消息通知服务SMN。

消息通知服务SMN是可靠的、可扩展的、海量的消息处理服务。它能够依据用户的需求主动推送通知消息,最终用户能够经过短信、电子邮件、应用等方式接收。SMN的主题订阅模型,旨在提供一对多的消息订阅以及通知功能,可以实现一站式集成多种推送通知方式。在SMN中有两种类型的客户端,即发布者和订阅者。发布者经过主题发布消息,由SMN将消息推送给主题订阅者,订阅者能够为邮件地址、手机号码、消息队列、函数、函数工做流及URL地址。

1574731285489019.png

所以经过咱们仅需先在SMN上建立好主题,并使用手机号和邮箱订阅这个主题,物联网平台规则被触发后就会自动发布消息至主题,经过SMN服务给订阅的邮箱和手机发送邮件和短信了,实现无需值守,特殊状况直接通知到人。

学会以上8招,您就掌握了物联网平台规则引擎的使用方法。若您但愿进一步了解规则引擎,请访问华为云设备管理帮助中心,咱们提供了详尽的操做指导文档。

关于华为物联网可参加学习免费课程视>>>>>《IoT七天开发训练营》或联系华为IoT小助手(微信号:huawei-iot)获取更多课程。

 

原文出处:https://www.cnblogs.com/hwiot/p/11978388.html

相关文章
相关标签/搜索