节点编程任务是通过拖拽节点的方式,建立设备数据输入与输出的关系,通过设置属性过滤数据,也可分流数据。下文介绍如何创建一个节点编程任务。

操作步骤

  1. 登录数据分析控制台,在顶部导航栏上选择任务开发
  2. 流数据任务开发页面,单击新建流数据任务,配置参数,并单击确认
    组件编排
    表 1. 参数说明
    参数 描述
    开发类型 此处选择节点编程
    任务名称 设置节点编程任务名称。支持中文、英文大小写、数字、下划线(_)、中划线(-)、英文括号、空格,长度不超过40个字符。
    任务描述 填写任务描述,不可为空。支持中文、英文大小写、数字、下划线(_)、中划线(-)、英文括号、空格,长度不超过40个字符。
    用途 选择在云端边缘端执行任务
    创建节点编程任务后,自动跳转到流数据任务开发工作台,您可以采用拖拽的方式将节点拖入到右侧空白处进行编排。
    说明 您也可以在流数据任务开发页面单击对应任务列表中的任务卡片,进入节点编程的页面。

    节点编程目前有设备输入输出两个必选节点,数据过滤聚合计算两个基础运算节点,还有异常检测业务表关联两个高级节点。

    您可以通过画布底部、顶部的工具栏,对画布及节点进行放大、缩小、整理节点位置、保存等操作。

    说明 本文图片所示为默认主题(亮色)。物联网数据分析支持设置工作台主题样式功能,您可单击工作台右上角的设置按钮设置,修改主题为暗色主题
    组件编排界面
  3. 每个节点编程任务默认有一个输入节点和输出节点,选中输入节点图标,在页面右侧设置输入节点参数。
    说明 每个节点编程任务仅支持添加一个设备输入节点。

    选择输入节点来自于哪个产品、设备,需要哪些属性。输出节点里会相应显示选中的属性。

    如果需要删除节点或关联线,则先选中节点或关联线,再单击右键选择删除或按Delete键即可删除。

    设置输入组件参数
  4. 拖拽一个数据过滤节点,过滤掉不想要的数据。
    将输入节点的出口和数据过滤节点的入口用线连接起来,然后单击数据过滤节点图标进行参数设置。

    下图添加了2个数据过滤条件,电池电量大于等于65和电池电量大于等于85。

    数据过滤

    还可以再添加一个数据过滤节点,条件是第一个过滤节点的反向条件,例如电池电量小于65和电池电量小于85。

    通过数据过滤节点,即可实现数据过滤,丢弃掉不想要的数据,也可以实现数据分流。

    数据过滤
  5. 为两个流分别接上聚合计算节点。
    聚合计算
    表 2. 参数说明
    参数 说明
    节点名称 为聚合计算节点设置名称。
    统计粒度 分为如下两种。
    • 单个设备:以设备为粒度,分别聚合计算每个已选择的设备属性。
    • 所有设备:以产品为粒度,聚合计算产品下所有已选择的设备属性。
    统计维度 用于分类统计,代表SQL语法中的GoupBy,只会列出非数值类型的属性。
    说明统计粒度选择了单个设备,则统计维度默认选择设备名称
    计算度量 选择数值类型的属性用于聚合计算。
    统计函数 统计函数支持最大,最小,平均值和求和。
    时间窗口类型 取某个时间段的数据,进行统计。有如下两种类型。
    • 滚动窗口:根据窗口时长参数中设置的周期(例如5分钟),每过5分钟,聚合计算一次该5分钟内的数据,即不会重叠计算数据。
    • 滑动窗口:根据窗口时长滑动步长参数中设置的周期(例如窗口时长5分钟,滑动步长2分钟),每2分钟聚合计算一次最近5分钟内的数据,即可能会重叠计算数据。
    窗口时长 指在多长的时间范围内按照窗口类型进行聚合统计操作。
    滑动步长 时间窗口类型选择滑动窗口时,需要设置该参数,指窗口在多久时间间隔后滑动一次。
  6. 为每个流再添加一个数据源输出节点,将数据输出至数据库中。
    单击数据源输出节点,进行设置。

    选择输出数据源和数据表,将输出节点与数据表中相关字段一一映射。

    例如,将聚合计算中产生的节点“工作电压_最大值”与表中“max_double”字段进行映射,那么数据导出后,可以在数据表中max_double字段找到工作电压最大值的数据。
    说明 数据表中字段数据类型需要与节点数据类型匹配。表中字段不要重复使用,每个字段对应唯一一个节点。
    数据输出
  7. 单击画布上方的保存图标,保存建立的任务。
  8. 任务设置完毕后,单击上方的发布图标即可进行任务发布。
    发布之后,后台会开启实时数据分析任务进行实时计算,将计算结果不断的输出到设置的数据源的数据表中。
    说明 若任务在边缘端执行,您还需根据边缘端流数据分析内容,完成边缘任务部署。
  9. (可选)发布状态的任务可以执行撤回操作。
    撤回之后,后台会停止实时数据分析任务,数据源输出节点也就不会再有数据输出到数据表了。但是数据表里已有的数据还会保留。

异常检测

以下内容将指导您如何新建一个使用异常节点的任务。

  1. 拖拽设备输入节点和异常检测节点。异常检测
    • 检测规则目前支持2种,连续N个点小于阈值A和连续N个点超出阈值B,这两个规则之间是“或”的关系,只要其中一个规则满足就会输出异常。
    • 检测属性此处先选择工作电压(只能选择一个数值型属性)。

      假设,a设备上报数据的时间间隔是10秒,b检测规则是连续3个样本数据小于阈值9,这样如果要有3个样本则需要30秒的时间。

      如果希望样本数足够大,例如是3个样本的6倍,则时间窗口至少=30秒*6倍=3分钟(这样能保证至少有18个样本数据);时间窗口选择3分钟意味着会每三分钟为一个窗口去检测异常(18个样本里是否有连续3个样本数据小于阈值9),关闭后再开启下一个三分钟的窗口接着检测。

    • 输出节点为时间、检测规则、异常数据。
  2. 再添加一个数据源输出节点。
    这样可以将检测到的异常数据输出到设定的数据源里的数据表。
  3. 单击保存图标按钮,保存建立的任务。

业务表关联

以下内容将指导您如何使用维表连接节点。

使用维表连接节点,您可以将其他数据源引入节点编程一起使用,丰富数据类型。

  1. 拖拽设备输入节点。
  2. 拖拽业务表关联节点,并设置参数。业务表关联
    • 指定希望引入的数据源(指定数据源和维表)
    • 设置连接方式,确定两个表的关联方式与最终的数据集合范围,即下图阴影部分。
      目前支持两种连接方式,左图为内连接,右图为左连接。业务表关联方式
    • 新增连接条件。只有相同数据类型的主键才能连接两个表。支持添加多个连接条件。
    • 在列表中勾选希望输出的字段。其中,“主键”必须勾选。
  3. 再添加一个数据源输出节点。
    这样数据就可以输出到设定的数据源里的数据表中。
  4. 单击保存图标按钮,保存建立的任务。