写点什么

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:282034

评论

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

LED显示屏为何能在各领域应用这么广泛

Dylan

LED显示屏 全彩LED显示屏 led显示屏厂家

Parallels Desktop 虚拟机提示“由于临界误差,不能启动虚拟机”怎么办

南屿

软件测试学习笔记丨APP自动化测试Desired Capabilities与应用控制

测试人

软件测试

国内首个!OurBMC 社区启动联合筹建

OurBMC

ourBMC 首个 筹建

苹果电脑 MacBooster 8 Pro Mac软件 删除Mac恶意软件和病毒

南屿

颠覆传统API集成:幂简集成的“集采分离”革新理念

幂简集成

API API Hub

Paste for Mac破解版(剪切板管理神器) 绿色安全无广告

南屿

予力八六三软件应用现代化,提升DevSecOps效能,探索交付之路

华为云开发者联盟

云计算 后端 华为云 华为云开发者联盟 华为云DTSE

2024-01-31:用go语言,机器人正在玩一个古老的基于DOS的游戏, 游戏中有N+1座建筑,从0到N编号,从左到右排列, 编号为0的建筑高度为0个单位,编号为i的建筑的高度为H(i)个单位, 起

福大大架构师每日一题

福大大架构师每日一题

OurBMC 社区角色说明

OurBMC

ourBMC 角色说明 职责和权力

API接口的艺术:如何巧妙获取商品数据

Noah

电影级特效:SideFX Houdini mac破解安装教程 附注册机 支持M1/M2

南屿

macos图标素材 macos big sur 软件icons图标大全(新增至2719枚大苏尔风格图标)

南屿

使用 Paimon + StarRocks 极速批流一体湖仓分析

Apache Flink

大数据 实时计算 flink 实战

LLM 推理优化探微 (1) :Transformer 解码器的推理过程详解

Baihai IDP

程序员 AI LLM 白海科技 LLM推理

OurBMC 社区介绍

OurBMC

组织架构 ourBMC 社区介绍

NFTScan 与 Merlin Protocol 共同推出 BRC20 Indexer Oracle,于今日正式上线!

NFT Research

NFT NFT\ NFTScan

Gas Hero Common Heroes NFT 概览与数据分析

Footprint Analytics

区块链游戏 NFT

OurBMC社区官网正式上线,邀您一起共建社区

OurBMC

ourBMC 官网上线 共建社区

轻量级低代码应用开发平台

互联网工科生

软件开发 低代码 JNPF

API接口与商品数据:开启电商成功的新篇章

Noah

荣耀时刻,「第5届天池全球数据库大赛」圆满收官

科技热闻

免费好用的电子阅读神器MarginNote 3 for Mac

南屿

多平台Java安装程序构建器 install4j for Mac v10.0.7中文激活版

南屿

揭开空白网页背景色的神秘面纱

不在线第一只蜗牛

前端 前端开发 框架

OurBMC开源社区正式成立!

OurBMC

开源社区 ourBMC 成立

活动回顾 | 矩阵起源 CEO 王龙:与大数据结合,是大模型成熟的必经之路

MatrixOrigin

云原生 分布式, 数据库、

软件测试学习笔记丨APP自动化测试-Appium环境安装

测试人

软件测试 测试 自动化测试 测试开发 appium

掌握 Robot Wramework:高效进行接口自动化

Liam

Jmeter 自动化测试 接口测试 测试工具 Robot Wramework

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