设备接入 IoTDA
设备接入 IoTDA
- 最新动态
- 功能总览
- 服务公告
- 计费说明
- 产品介绍
- 快速入门
- 用户指南
- 最佳实践
- 开发指南
-
API参考
- 应用侧API参考
- 设备侧MQTT/MQTTS接口参考
- 设备侧HTTPS接口参考
- 设备侧LwM2M接口参考
- 安全隧道WebSocket接口参考
- 模组AT指令参考
- 修订记录
- SDK参考
- 场景代码示例
-
常见问题
- 热门问题
-
方案咨询
- 连接IoT平台的业务场景有哪些?
- 设备管理服务和设备接入服务合一后的差异点是什么?
- IAM子用户或子项目是否可以开通物联网平台服务?
- 物联网平台支持在华为云的哪些区域开通?
- 华为是否提供模组/硬件终端/应用软件等?
- IAM用户访问API提示没有权限?(是否区分版本?)
- 创建规则或者设置资源文件存储时候提示赋予Security Administrator权限
- 物联网平台设置默认资源空间的规则是什么?
- 设备接入服务如何获取设备数据?
- 物联网平台的资源空间和设备可以无限创建吗?
- 物联网平台支持批量注册设备吗?
- 物联网平台对应用侧和设备侧在开发或使用时有限制吗?
- 物联网平台支持的DTLS加密算法有哪些?
- 物联网平台支持二进制大小端模式切换吗?
- 什么是NB-IoT?
- 物联网平台支持的硬件架构和使用的相关组件有哪些?
- 如何获取平台接入地址?
- 设备集成相关问题
- 设备侧SDK相关问题
- 设备发放相关问题
- LWM2M/CoAP接入相关问题
- MQTT接入相关问题
- 泛协议接入相关问题
- 物模型相关问题
- 消息通信相关问题
- 订阅推送相关问题
- 编解码插件相关问题
- OTA升级相关问题
- 应用集成相关问题
- 实例管理相关问题
- 视频帮助
- 文档下载
- 通用参考
链接复制成功!
车联网消息上下行保序
华为云IoTDA服务在满足高可靠、高并发的同时可按需开启设备维度的消息上下行保序功能。本文以MQTT协议为例介绍基于IoTDA的上、下行消息的保序方案。
场景说明
典型如车联网场景中:高速行驶中的车辆会实时上报自身的GPS位置数据(通常1~5秒/条数据),IoT平台接收该数据并转发给云端应用,应用侧根据上报的位置数据绘制实时轨迹地图,车辆端上报的轨迹点依次为:A点——>B点——>C点,在乱序情况下,应用侧接收到的轨迹点可能会为:B点——>A点——>C点,从而导致绘制的轨迹地图与真实轨迹不符。
上行消息保序
在需要上行消息保序的场景,可以参考如下图的方案进行设计:
-
设备-平台:设备侧上报消息时,Qos值设置为1,上报消息A后,等收到消息A的Qos响应后,再依次上报消息B和消息C,从而保证设备与平台侧的消息上行保序。
-
平台-应用:IoTDA配置数据流转规则为流转到Kafka,当开启IoTDA的消息保序功能后,IoTDA会将同一个设备的消息推送到Kafka的同一个partition,从而实现平台与应用端的转发保序。
下行消息保序
在需要下行消息保序的场景,可以参考如下图的方案进行设计:
-
应用平台调用同步命令接口下发命令A。
-
IoTDA收到同步命令A的请求后,会将命令转换为MQTT消息下发给设备,下发请求后平台会阻塞等待,等待设备返回命令A的执行结果。
- IoTDA收到命令A的响应后返回命令结果给应用侧。
- 应用平台收到命令A的响应后再下发命令B。
通过物联网平台实现消息保序会对整体性能略有影响, IoTDA默认关闭该功能,如有需求请提交工单咨询,当前仅企业版支持开启该功能。
父主题: 设备管理