使用IOT-Tree消息流实现实时数据同步:标签实时数据--关系数据库表
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 功能支持需求背景
你使用IOT-Tree接入现场设备、配置通道(设备驱动)和标签数据组织之后,除了现场自动化监控基本功能之外,你可能还有这样的需求:
你有一个IT系统或模型程序,主要算法基于关系数据库数据分析实现。为了改进IT系统或算法,并且保持统一使用数据库作为开发基础——希望能够通过关系数据库表的方式获取IOT-Tree配置接入的工业现场实时数据。
此时,你就可以使用IOT-Tree消息流中的几个节点配合,就可以轻松完成这个需求。
2 详细配置过程
2.1 关系数据库数据源配置
在IOT-Tree中,数据源的配置不在项目中,同一个数据源可以被所有项目使用。在IOT-Tree管理员登录之后的主管理界面中,你可以看到有个数据源管理区块:
数据源支持多种类型的数据库,本案例只需要选择JDBC类型——对应传统的关系型数据库。
编辑数据源的时候,你可以根据自己使用的数据库类型、地址、端口、用户密码等参数进行填写配置即可:
完成之后,可以在列表中点击对应数据源的测试按钮,如果提示成功说明此数据源配置正确。
2.2 关系数据库表配置
有了上面的数据源,我们接下来就可以在项目消息流中,配置标签到关系数据库表的同步了。
在你的IOT-Tree项目管理界面左下角,添加一个消息流,点击之后,可以看到消息流具体配置界面,你可以在配置界面左边列表选择存储分类下的“关系数据库”节点,拖拽到配置区就完成了节点的添加。如下图:
2.2.1 配置数据源到此节点
双击添加的“关系数据库1”这个节点,弹出此节点的详细配置界面,你在里面选择之前配置好的数据源即可
2.2.2 配置数据表
选中“关系数据库1”这个节点,可以看到在左边节点列表区域会显示出此模块节点的关联子节点,选择“DB Table”这个节点拖拽到编辑区,就完成了节点添加。如下图:
双击“DB Table1”节点,弹出窗口中填写数据库表名称即可,其他内容不需要修改填写。如下:
这样,我们就准备好了数据库和实时标签数据存放的表。
2.3 同步数据节点配置
有了配置好的数据库和对应的数据库表名称,我们就可以配置同步数据了。在左边节点列表中,选择“接入与设备”分类下的“实时数据表同步”这个节点,拖拽到编辑器,就完成了添加。此节点是IOT-Tree专门实现的项目标签实时数据到数据库表的同步支持节点。如下:
此节点左边只要有任意的消息传入,就会做一次标签实时数据到关系数据库表的同步操作,并且本身不需要什么参数设置。但右边输出第三个端子必须接关系数据库表节点。我们只需要把这个输出端子和之前配好的"DB Table 1"节点关联即可。
同时,这个节点支持数据库表结构的创建,关联数据库表之后,选择此节点面板展开按钮,点击里面“Create Table”按钮,就可以看到数据库表创建成功提示。此时,你可以在你的关系数据库管理中,查看这个数据库表是否成功创建。
2.4 加入定时触发器——支持定时触发数据同步
上面讲到“实时数据表同步”需要有输入消息进行同步操作触发,那么最简单的就是添加一个定时节点到当前流程中,你可以根据需要自己设定同步操作时间间隔,如下图:
这样就轻松完成了整个配置过程,如果顺利应该不会超过5分钟。
3 最终效果
启动这个项目,如果运行正常你就可以在你的关系数据库中看到本项目的所有标签数据都在这个数据库表中生成,并且不断的根据配置的时间间隔进行自动更新:
请注意:这个表结构是固定的,请注意TagPath这个列代表了项目中的唯一标签路径。