写点什么

IoT 平台业务通信 Topic 设计最佳实践 (共享场景为例)——实践类

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

    阅读完需:约 2 分钟

1.背景

当我们的设备和 IoT 物联网平台建立 mqtt 连接通道后,会根据业务需求传输不同的数据。本次实战以共享充电宝业务场景讲解 topic 和 payload 的设计。

在共享充电宝场景中,我们会涉及到 C 端用户操作:

  • 在 App 端扫码下单,借出充电宝,触发后台下发指令到当前机柜,弹出充电宝。

  • 充电完毕,直接归还充电宝到机柜,触发订单结算

商家后台交互操作:

  • 下行指令

  • 弹出充电宝

  • 广告的添加/删除

  • 设备数据处理

  • 用户取走充电宝的消息的处理,订单生效

  • 用户归还充电宝的消息的处理,订单结算

  • 广告播放的记录存储


2.设计方案

总体思路如下:

  • 根据业务不同划分不同 topic,每个 topic 对应 payload 结构体。

  • 当数据发送到 IoT 平台,我们通过规则引擎把数据分流到多个 mq 队列或 DB。

  • 不同优先级队列,DB 分配不同计算资源,配置降级策略


2.1 上行数据逻辑

下图展示了设备数据上行场景的划分和后台系统不同处理方式

image.png


2.2 下行控制指令

下图展示了云端下行控制指令的来源和完整链路

image.png


3.通信 Topic 和 Payload 定义

按照以上分析,整理出在这个场景中的 Topic 和 Payload 细节参考表格,如下:




具体实现过程中,业务 payload 还会 id 用于实现消息去重逻辑。

至此,我们完成了 IoT 场景的需求梳理和业务协议设计。


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


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

用户头像

阿里云AIoT

关注

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

还未添加个人简介

评论

发布
暂无评论
IoT平台业务通信Topic设计最佳实践(共享场景为例)——实践类_物联网_阿里云AIoT_InfoQ写作社区