入门指引:多路数据归并处理¶
本教程能帮助你快速学习如何使用 多路归并模板 进行单设备多测点间的数据运算处理。
前提条件¶
已被授权流数据处理模块
OU已申请流数据处理资源
已接入设备并且设备已经在发送数据
教程目标及数据准备¶
教程目标
本教程要实现的场景是:将原始采集点 testA_raw 和 testB_raw 的数据求和,取值结果输出给新点testC。
数据准备
模型配置
本教程使用的模型 test_Model 的配置如下:
功能类型 |
名称 |
标识符 |
测点类型 |
数据类型 |
---|---|---|---|---|
测点 |
testA_raw |
testA_raw |
AI |
DOUBLE |
测点 |
testB_raw |
testB_raw |
AI |
DOUBLE |
测点 |
testC |
testC |
AI |
DOUBLE |
操作步骤¶
使用 多路归并模板 对单设备多测点数据进行处理的步骤如下:
创建并配置多路数据归并处理任务
保存并发布任务
启动任务
查看任务任务运行结果
第一步:创建并配置多路数据归并处理任务¶
进入控制台,点击 流数据处理 > 流开发 菜单可浏览当前组织所有已创建的流数据处理任务,双击某一任务,可进行详情查看并编辑
在任务列表上方,点击 + 添加新任务,并选择 多路归并模板。
触发方式设置:选择 按点触发 的数据处理触发方式;选择上一个值作为时序插补策略。
备注
按点触发是指当指定测点的数据达到时,按照编写的数据处理逻辑表达式开始一次计算。当计算开始时,如果该时间切片上某一路参与计算的测点的数据未到达,则使用该测点的上一时刻数据参与计算。
数据处理:点击 新增策略,完成以下数据处理策略配置:
输出点:选择测点 testC 作为承载计算结果的测点。
触发点:如果同一时刻,testA_raw 比 testB_raw 数据较晚上送,则选择 testA_raw 作为触发计算的测点。当系统检测到 testA_raw 的数据到来时,则触发输出逻辑。
输出逻辑:编写输出点的输出逻辑表达式,点击 校验语法,确保表达式语法正确。此教程中,输出逻辑为:
${test_Model::testA_raw}+${test_Model::testB_raw}
第二步:保存并发布流数据处理任务¶
流数据处理任务配置完成后,需要对配置进行保存,保存后可激活发布按钮。点击发布,将任务发布上线。下图为任务配置示例:
第三步:启动流数据处理任务¶
进入 流数据处理 > 流运维 页面,就能看到已发布的所有流数据处理任务了。找到已经发布的任务,点击启动按钮启动任务。
备注
启动任务之前,需确保组织已分配流数据处理资源。
如有运行中的流数据处理任务,启动新任务前,可暂停一个或多个运行中的任务,然后一并启动需要运行的任务。系统会为启动的任务重新分配计算资源。
第四步:查看任务运行结果¶
在 流运维 页面,在 名称 一栏中,点击已启动的流数据处理任务名称,可查看任务运行情况:
Summary: 查看任务运行情况总结,比如整体处理记录统计、各个时间段聚合情况。
Log: 点击页面右上角 View Logs 图标,可查看任务运行日志。
Results: 可通过接口 Get Asset Raw Data by Time Range 来获取输出点testC的数据。调用用Open API的代码示例,请前往 EnOS管理门户 > EnOS API,查看API文档。