0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何利用ZWS云平台的自定义统计算法对数据进行统计?

AGk5_ZLG_zhiyua 来源:ZLG致远电子 2023-05-23 15:09 次阅读

设备数据上云,解析后的设备数据一般是时序存储,但纯粹的设备时序数据无法给用户带来更大的业务价值,需要根据业务需求进行额外的数据统计分析。本文将介绍如何利用ZWS云平台的自定义统计算法对数据进行统计。

fc1e0bfa-f937-11ed-90ce-dac502259ad0.jpg  应用场景

为什么需要自定义统计算法?由于业务需求各式各样,有的需要求平均值,有的需要求累加值,不同维度需要不同统计算法,开发者可以通过自定义统计算法来满足对应的项目需求。

fc2b5670-f937-11ed-90ce-dac502259ad0.jpg  统计数据准备

首先,需要在ZWS云平台中创建设备并上报设备数据:

fc371d70-f937-11ed-90ce-dac502259ad0.png

fc2b5670-f937-11ed-90ce-dac502259ad0.jpg  统计算法

ZWS云平台的统计算法有两种,分别是内置统计算法自定义统计算法

内置算法为云平台定义好的算法,可以直接关联设备进行统计,无需关心统计算法内容和过程。

自定义算法可以自己拟定数据统计的方式(例如取某段时间的最大最小值、总和等等)来统计设备数据。

fc2b5670-f937-11ed-90ce-dac502259ad0.jpg  创建自定义统计算法

不同于内置算法,自定义算法从请求参数、统计过程、统计结果均由用户自定义,需要开发者编写脚本。目前自定义统计中支持了Groovy和JavaScript两种脚本语言解析。

fc5e5afc-f937-11ed-90ce-dac502259ad0.png

1. 请求参数

类别:云平台提供给自定义算法的参数;

参数名:参数的别名。

在云平台中,提供了6种参数给自定义算法的开发者使用:

devType:设备类型;

devId:创建设备定义的ID,可以用于选取一个设备进行统计;

dataSource:设备类型功能块中的某一个字段;

dataCompareOperation:字段的比较条件,有大于、小于和等于;

dataValue:需要比较的数据值;

group:软件分组,可以对一整个软件分组进行统计。

2.算法代码

统计数据的过程代码,可以使用Groovy或者JavaScript语言编写。

3.返回参数

定义统计后结果显示的字段。

这里以统计一小时内设备的某个数据的总和为例,编写一个JavaScript脚本:

// 载入需要实现的接口
var DataStatisticScriptMethod = Java.type("com.zlgcloud.iotplatform.iotdata.service.data.statistics.DataStatisticScriptMethod");
// 创建继承实现接口的类
var JsDataStatisticScriptMethod = Java.extend(DataStatisticScriptMethod);


// 创建func对象
var func = new JsDataStatisticScriptMethod() {
    execute: function(param) {


        //获取创建算法页面的请求参数,参数值会由云平台根据算法实例的选择项,进行自动填充
        var thirdThingsId = param.get("devId");
        var infoModelId = param.get("devType");
        var property = param.get("property");


        //可以自定义统计时间范围,如果查询条件没有range,则会根据算法实例的数据开始时间和数据结束时间范围进行统计
        var currentTime = new Date().valueOf();
        var anHourAgo = currentTime - 3600000;


        // 拼装elasticseach 查询的dsl
        // 这里根据业务需要设置数据范围. 查询时会限制租户和用户管理的设备.
        var esParam = {
            "aggregations": {
                "result_in_hour": {
                    "sum": {
                        "field": "data." + property
                    }
                }
            },
            "query": {
                "bool":{
                    "must": [
                        {
                            "term": {
                                    "third_things_id.keyword": thirdThingsId
                            }
                        },
                        {
                           "range": {
                             "timestamp": {
                               "gte": anHourAgo,
                               "lt": currentTime
                             }
                           }
                        }
                    ]
                }
            }
        };
        //获取统计结果
        var result = Java.super(func).queryEs(infoModelId, esParam);
        var rtn = {"result_in_hour":result['aggregations']['result_in_hour']['value']};
        return rtn;
    }
}

将脚本复制到自定义算法中。

fc6df69c-f937-11ed-90ce-dac502259ad0.png

同时创建实例,给设备的数据进行统计。

fc7f4c6c-f937-11ed-90ce-dac502259ad0.png

执行算法过后,可以看到自定义统计结果。

fc8b8c0c-f937-11ed-90ce-dac502259ad0.png




审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

原文标题:【产品应用】如何利用IoT云平台统计设备数据?— 进阶篇

文章出处:【微信号:ZLG_zhiyuan,微信公众号:ZLG致远电子】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    ADI公司的人数统计算法确保高效空间利用与工作人员安全

    ADI今天推出ADI EagleEye™ ADSW4000人数统计算法,用于检测和统计会议室或办公室等室内空间中的人数。
    发表于 11-30 10:00 808次阅读
    ADI公司的人数<b class='flag-5'>统计算法</b>确保高效空间<b class='flag-5'>利用</b>与工作人员安全

    基于音频统计特性的数字水印嵌入算法

    结合数字音频时频域统计特性及同步码技术,提出了一种可有效抵抗去同步攻击的混合域数字音频水印嵌入算法.该算法首先结合数字水印与同步码(大小),对原始音频载体进行分段处理,并将每个音频
    发表于 03-03 22:38

    基于FPGA的HDTV视频图像灰度直方图统计算法设计

    亮度分布特性有力的工具,根据它的结果可以进行诸如灰度拉伸、自动对比度、动态伽马调整等操作。图1 Lena 图像的灰度直方图统计FPGA算法统计计算机或者DSP 上实现直方图
    发表于 05-14 12:37

    Tisan平台自定义产品组件数据类型没有bool?

    本帖最后由 寒江雪20 于 2016-3-1 13:20 编辑 Tisan平台自定义产品组件数据类型没有bool类型,但是有两个char*,是不是搞错了?而且即使有char*,
    发表于 03-01 13:16

    基于计算的监控与统计

    计算统监控与 复杂事件处理 是一个基于 Linux 平台统计分析 框架 。它 是一 个集数据采,传输和
    发表于 10-09 09:54 10次下载
    基于<b class='flag-5'>云</b><b class='flag-5'>计算</b>的监控与<b class='flag-5'>统计</b>

    【产品应用】如何利用IoT平台统计设备数据?— 基础篇

    上报到 ZWS平台数据经过解析后可以直观地看到某一时刻设备的数据状态,而想观察设备数据整体
    的头像 发表于 05-18 13:05 442次阅读
    【产品应用】如何<b class='flag-5'>利用</b>IoT<b class='flag-5'>云</b><b class='flag-5'>平台</b><b class='flag-5'>统计</b>设备<b class='flag-5'>数据</b>?— 基础篇

    【产品应用】如何利用IoT平台统计设备数据?— 进阶篇

    设备数据,解析后的设备数据一般是时序存储,但纯粹的设备时序数据无法给用户带来更大的业务价值,需要根据业务需求进行额外的
    的头像 发表于 05-23 15:10 469次阅读
    【产品应用】如何<b class='flag-5'>利用</b>IoT<b class='flag-5'>云</b><b class='flag-5'>平台</b><b class='flag-5'>统计</b>设备<b class='flag-5'>数据</b>?— 进阶篇

    如何利用IoT平台统计设备数据

    平台统计完设备数据后,有时需要下载统计数据。以往是把统计数据全部打包下载,这不仅
    发表于 05-30 11:42 368次阅读
    如何<b class='flag-5'>利用</b>IoT<b class='flag-5'>云</b><b class='flag-5'>平台</b><b class='flag-5'>统计</b>设备<b class='flag-5'>数据</b>?

    【解决方案】如何通过IoT对设备数据进行自定义统计

    从设备→网关→服务器,可以实现将数据采集到物联网平台,但业务需求各式各样,有时需要不同的统计数据,那么,如何做好物联网
    的头像 发表于 03-06 13:50 616次阅读
    【解决方案】如何通过IoT<b class='flag-5'>云</b>对设备<b class='flag-5'>数据</b><b class='flag-5'>进行</b><b class='flag-5'>自定义</b><b class='flag-5'>统计</b>?

    【产品应用】如何利用IoT平台统计设备数据?— 基础篇

    ZWS平台数据经过解析后可以直观地看到某一时刻设备的数据状态,而想观察设备数据整体的特征或
    的头像 发表于 05-19 10:40 474次阅读
    【产品应用】如何<b class='flag-5'>利用</b>IoT<b class='flag-5'>云</b><b class='flag-5'>平台</b><b class='flag-5'>统计</b>设备<b class='flag-5'>数据</b>?— 基础篇

    【产品应用】如何利用IoT平台统计设备数据?— 进阶篇

    设备数据,解析后的设备数据一般是时序存储,但纯粹的设备时序数据无法给用户带来更大的业务价值,需要根据业务需求进行额外的
    的头像 发表于 05-30 17:18 434次阅读
    【产品应用】如何<b class='flag-5'>利用</b>IoT<b class='flag-5'>云</b><b class='flag-5'>平台</b><b class='flag-5'>统计</b>设备<b class='flag-5'>数据</b>?— 进阶篇

    【产品应用】如何利用IoT平台统计设备数据?— 下载篇

    。应用场景上一篇的《如何利用IoT平台统计设备数据?—进阶篇》介绍了如何在ZWS
    的头像 发表于 06-07 10:28 523次阅读
    【产品应用】如何<b class='flag-5'>利用</b>IoT<b class='flag-5'>云</b><b class='flag-5'>平台</b><b class='flag-5'>统计</b>设备<b class='flag-5'>数据</b>?— 下载篇

    【解决方案】如何通过IoT对设备数据进行自定义统计

    从设备→网关 → 服务器,可以实现将数据采集到物联网平台,但业务需求各式各样,有时需要不同的统计数据,那么,如何做好物联网
    的头像 发表于 07-17 14:45 333次阅读
    【解决方案】如何通过IoT<b class='flag-5'>云</b>对设备<b class='flag-5'>数据</b><b class='flag-5'>进行</b><b class='flag-5'>自定义</b><b class='flag-5'>统计</b>?

    基于DTU&amp;amp;ZWS的智慧环境监控系统之数据统计

    智慧环境监控系统,如何统计分析环境数据?如何统计每个小时PM2.5的平均值?本文将介绍基于DTU&ZWS的智慧环境监控系统的
    的头像 发表于 08-23 15:17 496次阅读
    基于DTU&amp;amp;<b class='flag-5'>ZWS</b><b class='flag-5'>云</b>的智慧环境监控系统之<b class='flag-5'>数据统计</b>篇

    基于ZWS平台对ZigBee网关的通信统计

    在ZigBee物联网应用中,ZigBee网关是终端设备与云端通信联接的重要一环。本文将介绍ZWS物联网平台支持从哪些方面对ZigBee网关进行通信
    的头像 发表于 10-10 10:04 547次阅读
    基于<b class='flag-5'>ZWS</b><b class='flag-5'>云</b><b class='flag-5'>平台</b>对ZigBee网关的通信<b class='flag-5'>统计</b>