Skip to content

在转发前处理数据

采集到的数据可以原样上报,也可以先经规则引擎加工再上报。本页说明这一步在配置流程中怎么接,完整的规则引擎能力见数据处理

是否需要这一步

情形处理方式
云端或上位系统需要完整的原始数据跳过本步,直接进入创建北向应用
采集频率远高于业务需要用时间窗口聚合后上报,数据量可降两个数量级
稳态下数值长时间不变条件过滤,仅在变化超过阈值时上报
告警需要秒级响应判断逻辑放在边缘,不必等待云端往返,断网时仍然有效
上报前需统一单位或字段名在边缘完成一次,胜过在每个下游系统各做一次

两条路径可同时存在:一部分采集组直接上报,另一部分先进规则引擎。

TIP

只是做线性换算(乘系数、偏移量)或控制小数位数,不需要规则引擎——在点位上配置即可,见组与点位 · 数据加工

三步接入

1. 让采集数据进入规则引擎

规则引擎以一个北向应用的形式接收南向数据。在 数据采集 → 北向应用 页找到默认已存在的规则引擎应用(节点名 DataProcessing),点击 添加订阅,选择要处理的南向驱动和采集组。

订阅之后,该组的点位进入规则引擎的 neuronStream 数据流。详见规则引擎应用

2. 新建规则

数据处理 → 规则 页新建规则,用 SQL 描述要做的加工。例如只保留变化超过阈值的数据:

sql
SELECT * FROM neuronStream WHERE abs(pressure - lag(pressure)) > 0.5

SQL 能力见 SQL 参考,时间窗口聚合见窗口

3. 指定结果去向

为规则添加动作 (Sink),决定处理结果发往何处:

去向用什么
直接写入外部系统MQTT、Kafka、MySQL、InfluxDB、Redis、AWS S3 等,见动作 (Sink)
写回设备Neuron 动作,构成「采集 → 判断 → 控制」的边缘闭环
交给下一条规则内存 Sink,构成规则流水线

WARNING

规则的动作与北向应用是两条独立的出口。经规则处理的数据由动作发出,不会再经过北向应用;若两者都配置了,同一份采集数据会被上报两次。

验证

创建规则时开启规则调试,可实时查看 SQL 的输出是否符合预期,不必等到数据落到下游再排查。

完整的动手演练见第一条规则

下一步

  • 不经规则直接上报,或规则结果仍需经北向应用发出 —— 创建北向应用
  • 规则引擎的数据源、SQL、窗口、动作与算法集成 —— 数据处理