使用IOT-Tree消息流InfluxDB模块节点实现标签数据的时序数据库存储

IOT-Tree Server是个开源物联网软件,可以作为组态软件成为自动化系统的上位软件。她提供了接入、数据组织管理、控制逻辑和人机交互多个方面的功能。IOT-Tree消息流功能是在规整接入各种设备数据之后,提供的功能块组合配置支持(直观快速),通过她你可以在大部分场合快速实现数据的处理------存储、转换、发送等。

如果你对IOT-Tree Server还不熟悉可以参考如下文档:

使用开源IOT-Tree Server进行工业现场自动化控制

https://gitcode.com/jasonzhu8888/iot-tree

https://github.com/bambooww/iot-tree

机房自动化监控手把手分享给你 - 2 温湿度传感器的对接

机房自动化监控手把手分享给你 - 3 漏水传感器的对接

机房自动化监控手把手分享给你 - 4 空调设备对接

机房自动化监控手把手分享给你 - 5 电流监测模块对接

机房自动化监控手把手分享给你 - 6 UPS设备对接

1 时序数据库InfluxDB及消息流对应模块节点

时序数据库(Time Series Database, TSDB)是专为处理时间序列数据优化的数据库系统,适用于监控、物联网、金融分析等场景。其核心特点是高效写入、压缩存储和快速查询时间范围数据。有如下特性

  • 时间索引优化:数据按时间戳自动排序,支持高效范围查询。
  • 高写入吞吐:针对高频写入(如传感器数据)设计,支持批量插入。
  • 数据压缩:采用列式存储和压缩算法(如Gorilla、Delta编码)减少存储空间。
  • 降采样与聚合:支持按时间窗口聚合(如每分钟平均值),加速分析查询。

IOT-Tree消息流目前增加了InfluxDB这个最主流的时序数据模块节点支持。关于InfluxDB这个时序数据库的一些基本概念和说明,请参考官网或网络上其他资料,本文章就不展开了。

2 详细配置过程

2.1 InfluxDB数据源配置

在IOT-Tree中,数据源的配置不在项目中,同一个数据源可以被所有项目使用。在IOT-Tree管理员登录之后的主管理界面中,你可以看到有个数据源管理区块:

数据源支持多种类型的数据库,本案例只需要选择InfluxDB类型。

编辑数据源的时候,你可以根据自己使用的InfluxDB地址、端口、Token、Org、Bucket等参数进行填写配置即可:

完成之后,可以在列表中点击对应数据源的测试按钮,如果提示成功说明此数据源配置正确。

2.2 关系数据库表配置

有了上面的数据源,我们接下来就可以在项目消息流中,配置标签数据定时存储到InfluxDB中了。

在你的IOT-Tree项目管理界面左下角,添加一个消息流,点击之后,可以看到消息流具体配置界面,你可以在配置界面左边列表选择存储分类下的"InfluxDB V2"节点,拖拽到配置区就完成了节点的添加。如下图:

2.2.1 配置数据源到此节点

双击添加的"InfluxDB V2 1"这个节点,弹出此节点的详细配置界面,你在里面选择之前配置好的数据源即可

2.2.2 配置Measurement(可以理解为关系数据库的表)

选中"InfluxDB V2 1"这个节点,可以看到在左边节点列表区域会显示出此模块节点的关联子节点,选择"Measurement"这个节点拖拽到编辑区,就完成了节点添加。如下图:

双击"Measurement 1"节点,弹出窗口中填写Measurement名称和标题即可,其他内容不需要修改填写。如下:

这样,我们就准备好了InfluxDB数据库和实时标签数据存放的Measurement。

2.3 同步数据节点配置

有了配置好的InfluxDB数据库和实时标签数据存放的Measurement,我们就可以配置写入标签数据了。在左边节点列表中,选择"接入与设备"分类下的"标签过滤存入时序数据库"这个节点,拖拽到编辑器,就完成了添加。此节点是IOT-Tree专门实现的项目标签实时数据写入时序数据库的支持节点。如下:

此节点左边只要有任意的消息传入,就会做一次标签实时数据到时序数据库Measurement的写入操作。但右边输出资源端子必须接Measurement节点。我们只需要把这个输出端子和之前配好的节点关联即可。

很明显,我们一般情况下不需要把项目中所有的标签数据都存入到InfluxDB中,这个存入节点支持选择过滤需要的标签。双击节点,在打开的窗口中,可以看到如下内容:

在Project Tags是当前选中的需要写入的标签,点击可以在弹出项目标签列表,进行选择修改。以上设置完成之后,基础配置就完成了(Measurement等内容,InfluxDB会自动创建)。

2.4 加入定时触发器------支持定时触发数据写入

上面讲到"标签过滤存入时序数据库"节点需要有输入消息进行写入操作触发,那么最简单的就是添加一个定时节点到当前流程中,你可以根据需要自己设定同步操作时间间隔,如下图:

这样就轻松完成了整个配置过程,如果顺利应该不会超过5分钟。

3 最终效果

启动这个项目,如果运行正常你就可以在你的InfluxDB管理界面中看到本项目的设定的Measurement自动生成,并且不断的根据配置的时间间隔自动写入新的记录。

相关推荐
沐欣工作室_lvyiyi3 小时前
基于物联网的智能衣柜系统的设计(论文+源码)
stm32·单片机·嵌入式硬件·物联网·毕业设计·智能衣柜
TDengine (老段)3 小时前
TDengine 聚合函数 ELAPSED 用户手册
java·大数据·数据库·sql·物联网·时序数据库·tdengine
TDengine (老段)3 小时前
TDengine 聚合函数 HYPERLOGLOG 用户手册
大数据·数据库·物联网·哈希算法·时序数据库·iot·tdengine
Elastic 中国社区官方博客3 小时前
使用 Elasticsearch 构建 AI Agentic 工作流
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
kobe_OKOK_3 小时前
django 使用绑定多个数据库实现数据的同步
数据库·python·django
麦兜*3 小时前
Spring Boot 项目 Docker 化:从零到一的完整实战指南
数据库·spring boot·redis·后端·spring·缓存·docker
zl9798993 小时前
MySQL-数据库日志
数据库·mysql·database
七夜zippoe4 小时前
微服务配置中心高可用设计:从踩坑到落地的实战指南(一)
java·数据库·微服务