Last Changed Record Appender*¶
自动缓存每个测点最新一条数据,并在每条记录上打上这条最新数据的信息,具体功能如下:
对于同一个设备的同一个测点:
- 若该点 record 首次到达:
- 将当前测点更新至缓存
- 将当前缓存值附加至 record 的
/attr/lastChangedRecordAppender
字段中
- 若该测点 record 非首次到达:
- 将当前缓存附加至 record 的
/attr/lastChangedRecordAppender
字段中 - 与缓存比较,测点
value
改变则将当前测点更新至缓存中,否则不更新
- 将当前缓存附加至 record 的
- 因任何原因导致的失败重试,比如集群节点异常,不能保证计算结果幂等。
- 与旧数据格式不兼容,即无法按
ModelId::PointId
进行数据过滤
配置详情¶
该算子的配置包括 General,Basic,Input/Output,和 CacheConfig 的详细信息,各字段的配置如下:
General¶
名称 | 是否必须 | 描述 |
---|---|---|
Name | Yes | 算子名称 |
Description | No | 算子描述 |
Stage Library | Yes | 算子所属的库 |
Required Fields | No | 数据必须包含的字段,如果未包含指定字段,则 record 将被过滤掉 |
Preconditions | No | 数据必须满足的前提条件,如果不满足指定条件,则 record 将被过滤掉。例如:${record:value('/value') > 0} 。有关 EL 语句的使用方法,参考 Expression Language。 |
On Record Error | Yes | 对错误数据的处理方式,可选:
|
Basic¶
名称 | 是否必须 | 描述 |
---|---|---|
Quality Filter | No | 根据数据质量过滤处理数据,只有符合质量条件的 record 才会进行此次处理 |
Input/Output¶
名称 | 是否必须 | 描述 |
---|---|---|
Input/Output | Yes | 查找规则,由于上一条更新数据信息是打在每一条 record 上的,所以每一条规则需设置要附加上一条更新数据属性信息的测点,最终结果需要用输出点进行承载 |
Input Measurement | Yes | 单条规则的输入点,即需要附加测点上一条更新数据信息的测点 |
Output Measurement | Yes | 单条规则的输出点,即承载输出结果的测点 |
CacheConfig¶
名称 | 是否必须 | 描述 |
---|---|---|
Cache Type | Yes | 选择缓存数据的类型,可选 Redis 存储或 Local 存储。
|