配置时间窗口数据聚合任务


创建流数据处理任务时,选择 时间窗口聚合模板,即可配置对单设备单测点数值类型数据的聚合处理任务。

设置窗口策略

EnOS流数据处理引擎基于时间窗口对AI数据进行聚合处理。

  1. 窗口类型 下拉菜单中,选择时间窗口的类型(目前仅支持滚动窗口)。
  2. 延迟设置 下拉菜单中,选择允许数据延迟到达的时间(0 second表示不支持处理延迟到达的数据)。

配置数据处理策略

数据处理 一栏中,点击 新增策略,增加一条数据处理策略。对同一模型的资产数据采用相同的处理策略。每条策略都包含输入点、输出点、阈值限定、插补策略、窗口大小、聚合算法。

  1. 点击 输入点 下的输入框,选择需要处理的模型和对应的测点。输入点数据类型必须为数值型。

  2. 点击 阈值限定 下的输入框,选择对输入点数据有效性进行限定的方式和阈值上下限。超出阈值的数据可使用插补策略进行订正。

    注解

    当输入点为非原始数据点(计算输出点),且插补策略为 “Ignore” 时,阈值范围将不起作用。

  3. 点击 插补策略 下的输入框,选择对超出阈值范围的数据的处理方法。目前插补策略仅支持丢弃(Ignore),超出阈值范围的数据不参与计算。

  4. 点击 聚合算法 下的输入框,选择处理数据的算法函数,该函数将包含要应用于窗口数据的计算。目前EnOS流数据处理系统支持的聚合函数包括:max、min、avg、sum、cnt。

    • max: 比较同一个时间窗口内的所有有效记录的值,将最大值作为输出记录的值
    • min: 比较同一个时间窗口内的所有有效记录的值,将最小值作为输出记录的值
    • avg: 对同一个时间窗口内的所有有效记录的值求平均,将平均值作为输出记录的值
    • sum: 对同一个时间窗口内的所有有效记录的值求和,将求和结果作为输出记录的值
    • cnt: 对同一个时间窗口内的所有有效记录求计数,将计数结果作为输出记录的值
  5. 点击 窗口大小 下的输入框,选择时间窗口的持续时间。窗口大小确定了一次窗口分析中需要处理的数据量。

    当出现 a -> b -> c 这种连续聚合处理时,由于有窗口延时时,a -> b 会输出中间结果(当下个时间窗口产生时,上一个时间窗口会输出一个中间值),b -> c 的窗口大小应尽量与 a -> b 保持一致。

  6. 点击 输出点 下的输入框,选择将处理结果输出至某一个输出点上,并产生一条输出记录。输出记录的时间戳是每个时间窗口的起始时间,输出记录的值对应输入点的值的聚合结果。

  7. 点击 操作 列中的 保存 图标,保存数据处理策略。

注解

  • 输出点数据类型必须为数值型
  • 为保证任务的正确运行,确保输入点和输出点属于同一个模型
  • 要避免在整个流数据处理系统中出现环状设计,比如 a -> b -> c -> a

示例

典型的时间窗口数据聚合任务配置,如下图所示:

_images/ai_stream_sample.png

管理数据处理策略

一条数据处理策略配置完成后,可继续进行以下常规操作:

  • 添加处理策略:点击 新增策略,可在策略列表上新增一条记录,当所有数据处理策略都保存之后,可保存整个流数据处理任务。
  • 复制:当新纪录与某条记录的配置项出现类似时,点击处理策略后的 复制 图标,可复制记录并修改不同项来进行快速配置。
  • 编辑:点击处理策略后的 编辑 图标,可随时编辑数据处理策略。
  • 删除:点击处理策略后的 删除 图标,可删除数据处理策略。