全部產品
Search
文件中心

IoT Platform:配置逾時插值

更新時間:Jun 30, 2024

逾時插值節點的作用是在資料上報產生中斷時,通過固定的策略進行補值,防止資料出現中斷,可用在後續資料處理對資料連續性有強要求的情境中。

應用情境

某恒溫箱上的溫度感應器特點是資料上報不規律,只有檢測到溫度值出現波動時,才會將變化後的數值進行上報,如果沒有上報,預設是當前資料沒有發生變化。現在需要對該感應器資料進行分鐘級的資料監控,您可以使用逾時插值節點進行實現。

前提條件

已配置資料計算的運算式或資料過濾的篩選器,具體操作,請參見配置資料計算和資料過濾

背景資訊

操作步驟

  1. 進入資料解析工作台

  2. 在中間畫布單擊當前節點後的添加image表徵圖。

  3. 在彈出的節點列表中單擊逾時插值節點。

  4. 在畫布中單擊逾時插值節點,在右側配置面板,參照下表,配置逾時插值。

    配置項

    參數

    說明

    樣本

    基礎配置

    插補時間類型

    可設定為:

    • 相對時間:相對資料解析任務啟動時間的間隔,以該固定間隔時間長度進行補插,需設定相對時間補差周期,可選10s15s30s1min5min15min30min

    • 絕對時間:用Java(Quartz)標準的Crontab運算式表示絕對時間,在該時間點上進行補插,需設定絕對時間補差周期,設定方法,請參見附錄:Crontab運算式

    以“應用情境”的樣本為例:需要分鐘級的資料監控,可選擇兩種插補時間類型。

    • 相對時間:選擇相對時間補差周期1min

    • 絕對時間:配置Crontab運算式為0 */1 * * * ?

    插補資料類型

    可選:

    • 上一條真實資料:使用上一條真實資料進行逾時插補。

    • 預設資料:用固定的補插資料來進行逾時插補,訊息體內容為JSON格式資料。

    以“應用情境”的樣本為例:選擇上一條真實資料

    進階配置

    訊息分區鍵

    可選,定義逾時插值的維度,常用於區分不同裝置間的訊息。

    不設定時,物聯網平台系統會預設將ProductKeyDeviceName作為訊息分區鍵。

    以“應用情境”的樣本為例:使用恒溫箱的標識ID(boxId)欄位作為訊息分區鍵。

    延遲容忍

    單位為秒。等待一段後再插補訊息,避免真實訊息傳送延遲導致的多餘插值。

    使用預設值。

    存活時間長度

    單位為秒。如果一個Topic長期沒有上報訊息,需要停止插值,避免資源浪費,最小清除時間為1分鐘,最大清除時間為7天。預設為1天,當節點每次接收了訊息,更新存活時間長度。

    使用預設值。

    下面為以“應用情境”為例的一個具體配置:

    image

  5. 單擊資料解析工作台右上方的儲存,完成逾時插值節點的配置。

    重要

    該節點的輸出欄位為上一節點的輸出欄位。

後續操作

配置完相鄰訊息計算節點後,您可以繼續配置其他處理節點,也可以配置目標節點完成整個解析任務配置。

附錄:Crontab運算式

Java(Quartz)標準的Crontab運算式含義如下:

例子:
    # 每月的最後1天
    @Scheduled(cron = "0 0 18 * * ?")
    public void doAtLastDayOfMonth() {
        // do something here...
    }

    說明:
    Java(Quartz)
    *    *    *    *    *    *    *
    -    -    -    -    -    -    -
    |    |    |    |    |    |    |
    |    |    |    |    |    |    + year [optional]
    |    |    |    |    |    +----- day of week (1 - 7) SUN,MON,TUE,WED,THU,FRI,SAT
    |    |    |    |    +---------- month (1 - 12) OR JAN,FEB,MAR,APR ...
    |    |    |    +--------------- day of month (1 - 31)
    |    |    +-------------------- hour (0 - 23)
    |    +------------------------- min (0 - 59)
    +------------------------------ second (0 - 59)

欄位

是否必填

取值範圍(整型)

允許的特殊字元

second

0~59。

  • 星號(*):萬用字元,表示匹配條件的所有取值。

    例如在hour欄位上使用:

    • 0 0 * * * ?指所有,表示每小時的0分0秒。

    • 0 */5 * * * ?*/5指能被5整除的分鐘數,表示每5分鐘一次。

  • 英文逗號(,):用於分隔列表。

    例如在min欄位上使用0,5,100 0,10 * * * ?表示每個小時的第0分鐘、第5分鐘和第10分鐘。

  • 短劃線(-):用於定義範圍。

    例如在min欄位上使用1-30 1-3 * * * ?表示每小時的第1到3分鐘。

  • 正斜線(/):表示以固定頻率遞增時間。

    例如在min欄位上使用:

    • 0/15表示從0開始,每隔15分鐘一次。

    • 3/20表示從第3分鐘開始,每隔20分鐘一次。

    • 0 */1 * * * ?,表示每分鐘一次。

min

0~59。

hour

0~23。

day of month

1~31。

  • 星號(*)。

  • 半形問號(?):表示沒有指定值。適用於指定一個或者兩個欄位的值而不需要對其他欄位進行設定的情境。

month

1~12或者JAN~DEC(1月至12月的英語單詞簡寫,取前三個英文字母大寫)。

對應關係:1(JAN)、2(FEB)、3(MAR)、4(APR)、5(MAY)、6(JUN)、7(JUL)、8(AUG)、9(SEP)、10(OCT)、11(NOV)、12(DEC)。

星號(*)。

day of week

0~7或者SUN~SAT(星期一至星期天的英語單詞簡寫,取前三個英文字母大寫)。

對應關係:0(SUN)、1(MON)、2(TUE)、3(WED)、4(THU)、5(FRI)、6(SAT)、7(SUN)。

星號(*)、半形問號(?)。

year

1970~2099。

星號(*)。