灵活数据流处理:NeuronEX 支持 JavaScript 自定义函数

news2024/11/18 14:01:06

随着数据要素逐渐成为帮助工业企业提升智能化水平的重要助力,如何灵活采集和处理工业数据,并满足用户定制化的数据需求,成为企业数字化建设的焦点之一。

NeuronEX 是一款专为工业场景设计的边缘网关软件,具备工业设备数据采集、工业各系统数据集成、边端数据过滤分析、AI 算法集成以及数据转发和平台对接等功能,能够为工业场景提供低延迟的数据接入管理及智能分析服务,帮助用户快速洞悉业务趋势,提升运营效率和业务可持续性。

此外,NeuronEX 还支持通过插件、HTTP、gRPC 等多种方式实现自定义函数扩展与 AI 算法集成功能,通过强大的流式计算和分析能力,该功能可以灵活地适应不同的应用场景和用户需求,为智能化的数据分析和处理提供支持。

本文将重点介绍 NeuronEX 的自定义函数功能,旨在帮助用户更灵活地处理数据流,便于进行模块化的软件协作和维护。

准备工作

在开始自定义函数之前,需要创建一个数据源,作为输入流入。以 MQTT 类型的数据源作为示例,操作步骤如下:

  1. 登录到 NeuronEX 系统,进入“数据处理” - “源管理”页面。在“流管理”区域,点击“创建流”按钮。

    “源管理”页面

  2. 选择 MQTT 类型,然后点击“下一步”按钮,进入到流配置页面。

    创建流

  3. 在流配置页面里,填入流名称和数据源。其它配置信息可保留默认值。数据源应填入计划订阅的 MQTT 主题,以便区分不同的数据流。例如,可以填入 neuronex/func_test,点击“添加配置组”按钮以创建新的配置组。

    流配置页面

  4. 在源配置组里,填入配置组名称和 MQTT 消息服务器地址。此次演示中,服务器地址使用由 EMQX 提供的免费公共 MQTT 服务器「https://www.emqx.com/zh/mqtt/public-mqtt5-broker 」,该服务器是由 EMQX 的 MQTT 接入平台提供,然后点击“提交”按钮,完成配置组的添加。

    源配置组

  5. 配置组添加完成后,可看到配置组中已选中刚才添加的 mqtt_conf 配置组,接着点击“提交”按钮即可完成数据源的创建。

    点击提交

创建自定义函数

用户通过创建自定义函数,可以灵活实现复杂的数据处理,这里我们举一个简单的例子,通过自定义函数去计算长方形的面积

  1. 进入“数据处理” - “算法集成”页面。在“自定义函数”区域,点击“创建自定义函数”按钮。

    “算法集成”页面

  2. 在创建自定义函数页面,填入函数名称和 JavaScript 脚本内容,然后点击“提交”按钮,完成自定义函数的添加。

    创建自定义函数页面

在规则中使用自定义函数

创建好的自定义函数,可以很方便地在规则中进行使用,下面我们通过规则调试来验证刚才创建的自定义函数是否生效

  1. 进入“数据处理” - “规则”页面,点击“新建规则”按钮。

    点击“新建规则”按钮

  2. 在规则新建页面,SQL 编辑器中输入如下内容,然后点击调试规则中的运行测试按钮。需要注意的是 SQL 语句中的 x 和 y,为数据流消息内容中长、宽对应的字段名。

    在规则新建页面

  3. 下面打开 MQTTX 客户端,并连接到之前创建的 mqtt_conf 配置组中使用的免费公共 MQTT 服务器。建立连接后,向 neuronex/func_test 主题定时发送以下格式的消息,其中 x、y 的值是随机生成的,代表长方形的长和宽。

    MQTTX 客户端

  4. 回到 NeuronEX 的规则新建页面,检查调试规则中的打印结果,可看到计算后的面积值 calArea

    NeuronEX 的规则新建页面

总结

至此,我们已经完整介绍了 NeuronEX 的自定义函数功能。通过实践,用户能更深入地理解自定义函数功能的便捷和强大,并将其应用于实际工作中,以满足不同用户的差异化数据需求,提高数据流处理的灵活性和适应性。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1955561.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

@JSONField(format = “yyyyMMddHH“)的作用和使用

JySellerItqrdDataDO对象中的字段为: private Date crdat; 2.数据库中的相应字段为: crdat datetime DEFAULT NULL COMMENT 创建时间,2. 打印出的结果为: “crdat”:“2024072718” 年月日时分秒 3. 可以调整format的格式 4. 这样就把Date类…

信息搜集——小米

小米 主域名:www.miui.com 备案网站:27个 备案APP:21个 备案小程序:13个 备案公众号:23个 备案微博:43个 IP 域名 端口 状态码 Ping 网址 多地ping 网站名称 网址 域名 网站备案/许可证号 公 司名…

手撕数据结构---------顺序表和链表

1.线性表 线性表(linear list)是n个具有相同特性的数据元素的有限序列。 线性表是⼀种在实际中⼴泛使 ⽤的数据结构,常⻅的线性表:顺序表、链表、栈、队列、字符串… 线性表在逻辑上是线性结构,也就说是连续的⼀条直…

java实战项目--拼图小游戏(附带全套源代码)

个人主页VON 所属专栏java实战项目游戏参考黑马程序员 一、效果展示 二、功能介绍 游戏中所有的图片以及代码均已打包,玩家直接安装游戏即可,不用idea也可以畅玩。 游戏功能比较单一,只有简单的拼图功能。 a:展示原图重新游戏&a…

初涉JVM

JVM 字节码、类的生命周期、内存区域、垃圾回收 JVM主要功能: 解释运行(翻译字节码)内存管理(GC)即使编译(Just - In - Time, JIT) 将短时间内常使用到的字节码翻译成机器码存储在内…

whaler_通过镜像导出dockerfile

1、Whaler简介 Whaler:从镜像导出Dockerfile,whaler英文释义捕鲸船。 2、下载安装 # wget -cO /usr/local/bin/whaler https://github.com/P3GLEG/Whaler/releases/download/1.0/Whaler_linux_amd64 3、赋予可执行权限 [rootlocalhost ~]# chmod x /usr/local/…

Android OTA刷机包制作学习笔记

前言 OTA是一个再常见不过的需求,Android提供了recovery用于完成相关操作。 常规OTA包制作有两种: 有项目的完整AOSP源码,可以在成构建产物zip包后利用官方脚本制作。具体参阅:Office OTA假设你没有1的条件那么可以利用官方非A/…

exo-tinggrad 架构解析

目录 exo-tinggrad 架构解析 8B 模型配置 70B 模型配置 exo-tinggrad 架构解析 这个项目目录包含了一系列与Python相关的文件和文件夹,它们共同构成了一个可能的项目或库。这些文件和文件夹按照特定的命名和组织方式被放置在了一起,以便于管理、开发和维护。 tinygrad: 这…

24.7.28(tarjan 割点,割边,多重背包单调队列优化)

星期一: cf round 960 div2 B 简单构造 cf传送门 题意有点绕 思路:开始容易想到 y前和 x后全-1,y到x填1的构造,但对于 5 2 1,1 1 -1 -1 -1有问题,1和5的后缀值都为 -1…

【MySQL进阶之路 | 高级篇】简述Bin Log日志

1. 日志类型 MySQL有不同类型的日志文件,用来存储不同类型的日志,分为二进制日志、错误日志、通用查询日志和慢查询日志,这也是常用的4种。MySQL 8又新增两种支持的日志:中继日志和数据定义语句日志。使用这些日志文件,可以查看M…

树与二叉树【数据结构】

前言 之前我们已经学习过了各种线性的数据结构,顺序表、链表、栈、队列,现在我们一起来了解一下一种非线性的结构----树 1.树的结构和概念 1.1树的概念 树是一种非线性的数据结构,它是由n(n>0)个有限结点组成一…

LLM大模型在融合通信产品中的应用实践

前言 LLM 问题 幻觉:在没有答案的情况下提供虚假信息。 过时:当用户需要特定的当前响应时,提供过时或通用的信息。 来源:从非权威来源创建响应。由于术语混淆,不同的培训来源使用相同的术语来谈论不同的事情&#…

【Gin】智慧架构的巧妙砌筑:Gin框架中控制反转与依赖注入模式的精华解析与应用实战(下)

【Gin】智慧架构的巧妙砌筑:Gin框架中控制反转与依赖注入模式的精华解析与应用实战(下) 大家好 我是寸铁👊 【Gin】智慧架构的巧妙砌筑:Gin框架中控制反转与依赖注入模式的精华解析与应用实战(下)✨ 喜欢的小伙伴可以点点关注 💝 …

Meta 发布 Llama3.1,一站教你如何推理、微调、部署大模型

最近这一两周看到不少互联网公司都已经开始秋招提前批了。不同以往的是,当前职场环境已不再是那个双向奔赴时代了。求职者在变多,HC 在变少,岗位要求还更高了。 最近,我们又陆续整理了很多大厂的面试题,帮助一些球友解…

古文:诸葛亮《前出师表》

前出师表 师:军队。 表:就是“奏表”,又称“表文”,是臣属给君王的上书。古代给君王的上书,有各种名称,不同的名称与上书内容有关。刘勰《文心雕龙章表》云:“章以谢恩,奏以按劾&a…

高速板开源项目学习(二)

一定要找一个高速板写的详细的等长规范: 看的出来,这位小哥也是卡着嘉立创最小免费钻孔大小来打孔的: 这里的天线,他做了禁止铺铜和走线处理,模拟信号在这里容易遇到干扰,这样是正确的,值得去学…

解决使用selenium-wire访问链接地址不安全的问题

pip安装selenium-wire 描述:这里用的是python3.12.2 selenium-wire5.1.0 pip3.12 install selenium-wire pip3.12 install blinker1.7 pip3.12 install setuptools 运行以下命令来获取证书 python -m seleniumwire extractcert 安装浏览器ssl证书 Windows上给…

【JavaScript】延迟加载 js 脚本

defer 属性:在 HTML 中通过设置 script 标签的 defer 属性来实现脚本的延迟加载,即脚本的下载与 HTML 的解析不会阻塞彼此,脚本会在 HTML 解析完成后才执⾏。async 属性:在 HTML 中通过设置 script 标签的 async 属性来实现脚本的…

深入理解 Java NIO:ByteBuffer和MappedByteBuffer的特性与使用

目录 前言 ByteBuffer是什么 重要特点 分配缓冲区 读写模式切换 操作文本数据 操作基本数据类型 案例解析-循环输出数据 MappedByteBuffer是什么 MappedByteBuffer 的工作机制 刷盘时机 总结 前言 在深入学习 RocketMQ 这款高性能消息队列框架的源码时&#xff0c…

免费【2024】springboot 畅游游戏销售平台

博主介绍:✌CSDN新星计划导师、Java领域优质创作者、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行前辈交流✌ 技术范围:SpringBoot、Vue、SSM、HTML、Jsp、PHP、Nodejs、Python、爬虫、数据可视化…