超時插值節點的作用是在數據上報產生中斷時,通過固定的策略進行補值,防止數據出現中斷,可用在后續數據處理對數據連續性有強要求的場景中。
應用場景
某恒溫箱上的溫度傳感器特點是數據上報不規律,只有檢測到溫度值出現波動時,才會將變化后的數值進行上報,如果沒有上報,默認是當前數據沒有發生變化。現在需要對該傳感器數據進行分鐘級的數據監控,您可以使用超時插值節點進行實現。
前提條件
已配置數據計算的表達式或數據過濾的篩選器,具體操作,請參見配置數據計算和數據過濾。
背景信息
操作步驟
在中間畫布單擊當前節點后的添加圖標。
在彈出的節點列表中單擊超時插值節點。
在畫布中單擊超時插值節點,在右側配置面板,參照下表,配置超時插值。
配置項
參數
說明
示例
基礎配置
插補時間類型
可設置為:
相對時間:相對數據解析任務啟動時間的間隔,以該固定間隔時長進行補插,需設置相對時間補差周期,可選10s、15s、30s、1min、5min、15min、30min。
絕對時間:用Java(Quartz)標準的Crontab表達式表示絕對時間,在該時間點上進行補插,需設置絕對時間補差周期,設置方法,請參見附錄:Crontab表達式。
以“應用場景”的示例為例:需要分鐘級的數據監控,可選擇兩種插補時間類型。
相對時間:選擇相對時間補差周期為1min。
絕對時間:配置Crontab表達式為
0 */1 * * * ?
。
插補數據類型
可選:
上一條真實數據:使用上一條真實數據進行超時插補。
預設數據:用固定的補插數據來進行超時插補,消息體內容為JSON格式數據。
以“應用場景”的示例為例:選擇上一條真實數據。
高級配置
消息分區鍵
可選,定義超時插值的維度,常用于區分不同設備間的消息。
不設置時,物聯網平臺系統會默認將ProductKey和DeviceName作為消息分區鍵。
以“應用場景”的示例為例:使用恒溫箱的標識ID(boxId)字段作為消息分區鍵。
延遲容忍
單位為秒。等待一段后再插補消息,避免真實消息傳送延遲導致的多余插值。
使用默認值。
存活時長
單位為秒。如果一個Topic長期沒有上報消息,需要停止插值,避免資源浪費,最小清除時間為1分鐘,最大清除時間為7天。默認為1天,當節點每次接收了消息,更新存活時長。
使用默認值。
下面為以“應用場景”為例的一個具體配置:
單擊數據解析工作臺右上角的保存,完成超時插值節點的配置。
重要該節點的輸出字段為上一節點的輸出字段。
后續操作
配置完相鄰消息計算節點后,您可以繼續配置其他處理節點,也可以配置目標節點完成整個解析任務配置。
附錄: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。 |
|
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。 | 星號(*)。 |