AI 年度盘点与2025发展趋势展望,50+案例解析亮相AICon 了解详情
写点什么

8 招带你玩转规则引擎(一)

  • 2019-12-24
  • 本文字数:1812 字

    阅读完需:约 6 分钟

8招带你玩转规则引擎(一)

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


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


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

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


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

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

对于设备上报的数据,设备接入服务只保存最新的数据,设备管理服务(创建应用时开启了存储数据能力)保存 7 天的历史数据。如果用户希望长期保存设备历史数据,就需要将设备上报的数据及时转发至其他地方保存。


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


1574730857864646.png


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



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 会把分析处理完的数据输出到这个通道中,第三方应用再从该通道中获取分析后的数据即可。


本文转载自华为云社区博客。


原文链接:https://bbs.huaweicloud.com/blogs/134889


2019-12-24 13:281934

评论

发布
暂无评论
发现更多内容

CPU虚拟化,磁盘虚拟化,内存虚拟化,io虚拟化

hanaper

定时任务 Crontab 中的特殊字符

耳东@Erdong

crontab 9月日更

数字化的田亩里,华为正写一首陶渊明的诗

脑极体

数据仓库和数据湖比较

奔向架构师

数据湖 9月日更

linux之systemctl命令

入门小站

Linux

2022前端react面试题汇总

buchila11

React

20+互联网公司Java面试考点大全,全网首发,应有尽有

Java 程序员 编程语言 java面试

按键编码ASCII对照表

入门小站

工具

Go 中更好的定时调度

baiyutang

golang 9月日更

java 虚拟机 GC 学习笔记二

风翱

JVM 9月日更

腾讯圆梦,我整理收集了这份“2021常见Java面试真题汇总”

Java 架构 编程语言 java面试

基于线性预测的语音编码原理解析

拍乐云Pano

RTC 音频技术 python 数字信号

一分钟了解MACH架构

俞凡

架构

芯慌遇上造车热,国产芯片的机会到了?

脑极体

【经验分享】RTC 技术系列之视频编解码

声网

音视频

Linux用户所属组变更

在即

9月日更

将进一步提高数字人民币的可得性 构建分布式数字身份认证体系

CECBC

python之深浅拷贝

秦时明月

WAF绕过总结+工具介绍

网络安全学海

网络安全 信息安全 渗透测试 WEB安全 漏洞挖掘

流程控制之for循环

秦时明月

Mp3文件结构全解析(二)

轻口味

android 音视频 9月日更

iOS 优雅的处理网络数据,你真的会吗?不如看看这篇.

HelloWorld杰少

大前端 引航计划

24. AI只是人类的工具

Databri_AI

人工智能

进程和处理机管理中的进程控制

Regan Yue

操作系统 进程 9月日更 进程控制

网络攻防学习笔记 Day146

穿过生命散发芬芳

9月日更 招投标

前端性能优化实战(一)

Augus

JavaScript 9月日更

Nebula Graph 源码解读系列 | Vol.02 详解 Validator

NebulaGraph

图数据库 源码学习 分布式图数据库

【SpringCloud 技术专题】「Eureka 源码分析」从源码层面让你认识 Eureka 工作流程和运作机制(下)

洛神灬殇

微服务 SpringCloud Eureka 注册中心 9月日更

深入探讨区块链价值及其对世界的影响

CECBC

java虚拟机GC学习笔记一

风翱

GC 9月日更

记一下日志引起的bug

卢卡多多

日志 9月日更

8招带你玩转规则引擎(一)_行业深度_我是卤蛋_InfoQ精选文章