压缩数据上报
压缩数据上报
物联网平台的数据压缩功能,可以对设备与物联网平台之间的数据传输进行压缩处理。通过对消息的压缩,达到节约设备流量和提高传输速度的效果。本文介绍数据压缩功能的使用。
使用限制
●每个设备支持压缩或解压缩数据的Topic不超过20个,且Topic不支持通配符。 ●压缩的数据格式为.gzip,压缩算法为deflate。 ●压缩前的消息最大为1 MB。
背景信息
功能说明
数据压缩功能是基于设备与物联网平台间通信Topic实现的,由物联网平台完成通信Topic数据的压缩和解压缩,用户业务系统无需感知压缩过程。
目前只支持MQTT协议的消息压缩,并只对MQTT消息中的Payload进行压缩,压缩的数据格式为.gzip。
设备可以设置需要压缩数据的通信Topic,一般为数据包大的对应Topic的数据需要压缩。
使用流程
设备上报需要压缩或解压缩的Topic列表。
上报压缩后的数据或下发压缩后的数据。
上报压缩列表
设备上报Topic列表仅需上报一次,重启后Topic列表会继续有效。
上报列表
上行Topic:/sys/${productKey}/${deviceName}/codec/topic/update
数据格式如下所示:
{
"id":1,
"version": 1.0,
"params": [
{
"topic": "/productKey/deviceName/user/update",
"operation": "compress",
"format": "gzip"
},
{
"topic": "/productKey/deviceName/user/test",
"operation": "decompress",
"format": "gzip"
}
]
}
参数 | 说明 |
topic | 表示消息的Topic,该Topic需要为完整的Topic,不支持通配符。 |
operation |
|
format | 压缩格式,目前仅支持 |
返回结果
下行Topic:/sys/${productKey}/${deviceName}/codec/topic/update_reply
数据格式示例:
{
"id": 1,
"version": 1.0,
"code": 200,
"message": "success"
}
数据格式说明:
参数 | 说明 |
code |
|
message | code对应的原因说明。 |
压缩数据通信
上行消息:需要对Payload使用Gzip压缩后,再进行上报,物联网平台会完成解压缩。
下行消息:物联网平台将Gzip压缩后的数据下发,设备需要先对Payload进行解压缩,然后再转给业务使用。