写点什么

阿里云物联网平台业务 Topic 规划最佳实践——实践类

作者:阿里云AIoT
  • 2023-02-28
    浙江
  • 本文字数:1294 字

    阅读完需:约 4 分钟

阿里云物联网平台业务 Topic 规划最佳实践

当我们基于阿里云物联网平台做业务开发时,最关键的一个问题就是:如何合理的规划业务通信的 Topic 和 Payload?


基本原则:

  • Topic 具有明确的操作权限:发布/订阅,避免使用 发布和订阅。

  • Topic 和 Payload 格式一一对应,避免一个 Topic 对应多个 Payload 格式。

  • Topic 携带明确的上行,下行标识符,比如 up,down

  • 同类型业务 Topic 携带相同标识符,以便分类整理

接下来,我们以共享充电宝业务场景为例,给大家展示 Topic 规划的最佳实战。

1.业务 Topic 规划

充电宝场景下业务涉及到充电宝机柜的状态,消费者借还充电宝,广告播放业务等场景,Topic 规划如下:

1.1 设备上报场景

  • 设备当前属性状态定时上报,包含电压,电流,卡槽状态,温度

  • 广告播放信息上报,包含当前广告资源 id,

  • 异常事件上报,包含充电宝弹出,归还,电压过载,卡槽为空


1.2 云端下行指令场景

  • 弹出充电宝

  • 更新广告信息


1.3 机柜在线状态变化

  • 机柜在线/离线时,IoT 平台会触发状态变化 Topic


image.png


2.规则引擎配置

通过规则引擎配置,我们实现不同类型业务消息的流转:


2.1 异常事件流转

异常事件流转到函数计算做实时业务处理。业务处理 SQL:

SELECT*,  --Payload完整内容deviceName() as deviceName, --设备idattribute('bizId') as bizId, --商务渠道idtimestamp('yyyy-MM-dd HH:mm:ss') as time --当前时间topic() as topic --当前TopicFROM "/a1WHdPQzUUn/+/user/up/event/#"  --全部上行事件
复制代码

数据流转:

image.png


2.2 广告播放统计

广告播放记录存储到表格存储中,供后续离线业务分析业务处理 SQL:

SELECT*,  --Payload完整内容deviceName() as deviceName, --设备idattribute('bizId') as bizId, --商务渠道idtimestamp('yyyy-MM-dd HH:mm:ss') as time --当前时间FROM "/a1WHdPQzUUn/+/user/up/ad/play"  --广告播放消息
复制代码

数据流转:

image.png


2.3 设备状态流转

广告播放记录存储到表格存储中,供后业务查询业务处理 SQL:

SELECT*,  --Payload完整内容deviceName() as deviceName, --设备idattribute('bizId') as bizId, --商务渠道idtimestamp('yyyy-MM-dd HH:mm:ss') as time --当前时间FROM "/a1WHdPQzUUn/+/user/up/property/post"  --状态属性上报
复制代码

数据流转:

image.png


2.4 机柜在线状态流转

设备的在线/离线状态流转的 Topic 格式:

/as/mqtt/status/{productKey}/{deviceName}
复制代码

payload 数据格式:

{    "status":"online|offline",    "productKey":"pk13543",    "deviceName":"dn1234",    "time":"2018-08-31 15:32:28.205",    "utcTime":"2018-08-31T07:32:28.205Z",    "lastTime":"2018-08-31 15:32:28.195",    "utcLastTime":"2018-08-31T07:32:28.195Z",    "clientIp":"123.123.123.123"}
复制代码


image.png

规则引擎 SQL:

SELECT productKey,deviceName,timestamp() as timestamp ,status,time as currentTime ,lastTime,clientIpFROM "/as/mqtt/status/a1WHdPQzUUn/+"
复制代码

数据流转:

image.png


【往期回顾】

1.自建MQTT集群迁移阿里云IoT平台

2.IoT时代:WiFi配网技术剖析

3.微信小程序和IoT智能家居实践

4.IoT云端通用数据解析脚本实践


物联网平台产品介绍详情:https://www.aliyun.com/product/iot/iot_instc_public_cn


阿里云物联网平台客户交流群

用户头像

阿里云AIoT

关注

物联网内容搬运者 2022-04-22 加入

还未添加个人简介

评论

发布
暂无评论
阿里云物联网平台业务Topic规划最佳实践——实践类_小程序_阿里云AIoT_InfoQ写作社区