全部產品
Search
文件中心

IoT Platform:資料壓縮

更新時間:Jun 30, 2024

物聯網平台的資料壓縮功能,可以對裝置與物聯網平台之間的資料轉送進行壓縮處理。通過對訊息的壓縮,達到節約裝置流量和提高傳輸速度的效果。本文介紹資料壓縮功能的使用。

使用限制

  • 僅尊享型企業版執行個體和標準型企業版執行個體支援資料壓縮。

  • 僅MQTT協議接入支援資料壓縮。

  • 每個裝置支援壓縮或解壓縮資料的Topic不超過20個,且Topic不支援萬用字元。

  • 壓縮的資料格式為.gzip,壓縮演算法為deflate

  • 壓縮前的訊息最大為1 MB。

背景資訊

功能說明

資料壓縮功能是基於裝置與物聯網平台間通訊Topic實現的,由物聯網平台完成通訊Topic資料的壓縮和解壓縮,使用者業務系統無需感知壓縮過程。

目前只支援MQTT協議的訊息壓縮,並只對MQTT訊息中的Payload進行壓縮,壓縮的資料格式為.gzip

裝置可以設定需要壓縮資料的通訊Topic,一般為資料包大的對應Topic的資料需要壓縮。

image

使用流程

  1. 裝置上報需要壓縮或解壓縮的Topic列表。

  2. 上報壓縮後的資料或下發壓縮後的資料。

image

上報壓縮列表

裝置上報Topic列表僅需上報一次,重啟後Topic列表會繼續有效。

  • 上報列表

    接入方式

    Topic

    標準MQTT方式接入

    /sys/${productKey}/${deviceName}/codec/topic/update

    雲網關MQTT方式接入

    $iot/things/codec/topic/update

    企業執行個體接入和雲網關方式接入的Topic對應Payload格式相同,如下所示。

    {
        "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

    標準MQTT方式接入

    /sys/${productKey}/${deviceName}/codec/topic/update_reply

    雲網關MQTT方式接入

    $iot/things/codec/topic/update_reply

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

    參數

    說明

    code

    • 200:表示成功。

    • 其它:表示失敗。

    message

    code對應的原因說明。

壓縮資料通訊

  • 上行訊息:需要對Payload使用Gzip壓縮後,再進行上報,物聯網平台會完成解壓縮。

  • 下行訊息:物聯網平台將Gzip壓縮後的資料下發,裝置需要先對Payload進行解壓縮,然後再轉給業務使用。

使用樣本請參見使用樣本