超时插值节点的作用是在数据上报产生中断时,通过固定的策略进行补值,防止数据出现中断,可用在后续数据处理对数据连续性有强要求的场景中。
应用场景
某恒温箱上的温度传感器特点是数据上报不规律,只有检测到温度值出现波动时,才会将变化后的数值进行上报,如果没有上报,默认是当前数据没有发生变化。现在需要对该传感器数据进行分钟级的数据监控,您可以使用超时插值节点进行实现。
前提条件
已配置数据计算的表达式或数据过滤的筛选器,具体操作,请参见配置数据计算和数据过滤。
背景信息
操作步骤
在中间画布单击当前节点后的添加图标。
在弹出的节点列表中单击超时插值节点。
在画布中单击超时插值节点,在右侧配置面板,参照下表,配置超时插值。
配置项
参数
说明
示例
基础配置
插补时间类型
可设置为:
相对时间:相对数据解析任务启动时间的间隔,以该固定间隔时长进行补插,需设置相对时间补差周期,可选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。 | 星号(*)。 |