压缩数据上报

更新时间:

压缩数据上报

物联网平台的数据压缩功能,可以对设备与物联网平台之间的数据传输进行压缩处理。通过对消息的压缩,达到节约设备流量和提高传输速度的效果。本文介绍数据压缩功能的使用。

使用限制

●每个设备支持压缩或解压缩数据的Topic不超过20个,且Topic不支持通配符。 ●压缩的数据格式为.gzip,压缩算法为deflate。 ●压缩前的消息最大为1 MB。

背景信息

功能说明

数据压缩功能是基于设备与物联网平台间通信Topic实现的,由物联网平台完成通信Topic数据的压缩和解压缩,用户业务系统无需感知压缩过程。

目前只支持MQTT协议的消息压缩,并只对MQTT消息中的Payload进行压缩,压缩的数据格式为.gzip。

设备可以设置需要压缩数据的通信Topic,一般为数据包大的对应Topic的数据需要压缩。

image5.png

使用流程

  1. 设备上报需要压缩或解压缩的Topic列表。

  2. 上报压缩后的数据或下发压缩后的数据。

image6.png

上报压缩列表

设备上报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

  • compress:用于下行消息,需要由物联网平台压缩后再下发。

  • decompress: 用于上行消息,需要由物联网平台解压缩后再流转。

format

压缩格式,目前仅支持.gzip

返回结果

下行Topic:/sys/${productKey}/${deviceName}/codec/topic/update_reply

数据格式示例:

{
  "id": 1,
  "version": 1.0,
  "code": 200,
  "message": "success"
}

数据格式说明:

参数

说明

code

  • 200:表示成功。

  • 其它:表示失败。

message

code对应的原因说明。

压缩数据通信

  • 上行消息:需要对Payload使用Gzip压缩后,再进行上报,物联网平台会完成解压缩。

  • 下行消息:物联网平台将Gzip压缩后的数据下发,设备需要先对Payload进行解压缩,然后再转给业务使用。