
TDengine 与 Ignition 集成基于 JDBC WebSocket 连接器构建工业时序数据管道【免费下载链接】TDengineHigh-performance, scalable time-series database designed for Industrial IoT (IIoT) scenarios项目地址: https://gitcode.com/GitHub_Trending/tde/TDengine本文介绍如何在 IgnitionInductive Automation 出品的 SCADA/HMI/IIoT 平台中安装 TDengine 的 JDBC 连接器并完成数据源配置使 Ignition 采集的工厂现场数据通过 SQL Bridge 模块写入 TDengine进而在 TDengine IDMP 中完成资产建模、实时分析与 AI 驱动的可视化。读完本文你可以独立完成 Ignition 侧的 JDBC 驱动注册、连接 URL 配置与参数调优并理解各配置项在 TDengine 服务端的对应机制。TDengine–Ignition 集成架构PLC 数据经 Ignition SQL Bridge 通过 JDBC 写入 TDengine再由 TDengine IDMP 等应用消费集成架构与数据流从官方架构图iot-ignition-01.webp可以清晰看到四层结构Plant floor工厂现场多个 PLC 产生过程数据Digital transformation platform数字化转型平台Ignition 统一接入 PLC 数据并通过内置的SQL Bridge模块对外提供标准数据库访问能力Data storage processing数据存储与处理TDengine 时间序列数据库负责持久化与计算Industrial asset management工业资产管理TDengine IDMPTDengine IDMP 简介及第三方 BI/可视化组件消费数据。Ignition 通过其 SQL Bridge 模块支持多种 SQL 数据库集成链路的核心就是在 Ignition 部署中注册 TDengine 的 JDBC 驱动再建立一条指向 taosAdapter 的数据库连接。所有 SQL 读写都经由这条 JDBC 连接完成数据从 Ignition 流入 TDengine。前置条件开始配置前请确认满足以下条件已安装 TDengine 服务含 taosAdapterWebSocket 连接依赖它对外提供服务安装方式见 下载与安装已安装 Ignition建议 8.1 及以上版本配置路径与 8.1 文档一致了解 TDengine JDBC 驱动taos-jdbcdriver的能力边界详见 Java 连接器。需要注意 TDengine JDBC 驱动与关系型数据库驱动的两点固有差异见 02-java.mdxTDengine 目前不支持针对单条数据记录的删除操作也不支持事务操作。在 Ignition 中配置告警历史、数据库标签等依赖 SQL Bridge 的功能时应避免依赖事务回滚或按行删除的语义。第一步下载 TDengine JDBC 连接器从 Maven 中央仓库下载官方驱动com.taosdata.jdbc:taos-jdbcdriver打开该制品的 Maven 页面切换到Versions标签页点击最新版本旁的Browse在打开的页面下载taos-jdbcdriver-version-dist.jar文件到本地-dist后缀的 jar 为自包含分发包Ignition 这类只需“放一个 jar”的场景应使用它。驱动版本要求依据 Java 连接器文档JDBC4.2 及以上版本JRE8 及以上版本WebSocket 连接方式支持所有能运行 Java 的平台无需在 Ignition 服务器上安装 TDengine 客户端驱动库——这正是 Ignition 集成首选 WebSocket 连接的原因。第二步在 Ignition 中添加 JDBC 驱动按照 Ignition 官方文档“JDBC Drivers and Translators → Add a new JDBC driver”新建一个 JDBC 驱动选择上一步下载的 JAR 文件并按如下方式配置配置项取值说明Classnamecom.taosdata.jdbc.ws.WebSocketDriverWebSocket 连接驱动类通过 taosAdapter 的 6041 端口访问URL Formatjdbc:TAOS-WS://taosAdapter-address:port/database-nametaosAdapter-address为运行 taosAdapter 的主机名或 IPport默认 6041database-name为数据所在数据库其他选项保持默认无需配置数据库翻译器Translator——TDengine 的 SQL 语法可被 Ignition 直接透传执行。连接 URL 的参数说明jdbc:TAOS-WS://URL 在 TDengine 侧的完整规范见 Java 连接器 · URL 规范与 Ignition 集成最常用的参数如下均可写在 URL 的 query 部分例如jdbc:TAOS-WS://10.0.0.5:6041/power?userrootpasswordtaosdata参数含义默认值user登录用户名rootpassword登录密码taosdatahttpConnectTimeout连接超时时间ms60000messageWaitTimeout消息超时时间ms60000useSSL是否启用 SSL视部署而定varcharAsString将 VARCHAR/BINARY 映射为 Java StringfalseconmodeBI 模式置 1 后元数据信息不统计子表主要面向 BI 工具对接场景0adapterHA启用 taosAdapter 高可用端点发现连接成功后自动获取集群所有 adapter 端点做负载均衡需 TDengine ≥ v3.4.2.0falseenableAutoReconnect自动重连仅对建连时指定数据库的场景生效false两个对 Ignition 场景有实际价值的细节BI 模式conmode1Ignition 属于典型的 BI/SCADA 工具开启后DatabaseMetaData返回的元数据不逐表统计子表能加快工具端的元数据查询多端点与高可用仅 WebSocket 连接支持在 URL 中配置多个端点英文逗号分隔连接时随机选择以实现负载均衡。TDengine 客户端配置文件中也提供了对应的服务端侧配置——taos.cfg 中定义了serverPort默认 6041以及用于负载均衡和故障切换的adapterList格式host1:6041,host2:6041,...。对于多节点部署可直接在 Ignition 的 Connect URL 中列出多个 taosAdapter 地址或利用adapterHAtrue让驱动自动发现端点。第三步添加数据库连接按照 Ignition 官方文档“Database Connections → Add a Database Connection”新建数据库连接选择上一步创建的 TDengine JDBC 驱动在Connect URL字段输入jdbc:TAOS-WS://taosAdapter-address:port/database-name按需附加user、password等参数。保存后可在 Ignition 的 System Databases 中测试连接验证 JDBC 驱动加载与 taosAdapter 可达性均正常。第四步在 SQL Bridge 中使用 TDengine连接就绪后即可在 Ignition 的 SQL Bridge 模块中像使用任何关系型数据库一样操作 TDengine查询编写SELECT语句读取时序数据例如按时间窗口聚合查询某测点的数据用于画面显示与告警评估写入将 Ignition 标签Tag历史数据、告警事件等通过 SQL 批量写入 TDengine 的超级表下游消费数据流入 TDengine 后还可在 TDengine IDMP 中利用这些数据构建资产模型、进行实时分析并生成 AI 驱动的可视化也可对接第三方 BI/分析系统。注意事项连接方式选择com.taosdata.jdbc.ws.WebSocketDriverjdbc:TAOS-WS://是当前推荐且唯一面向未来的连接方式。原生连接com.taosdata.jdbc.TSDBDriver与 REST 连接com.taosdata.jdbc.rs.RestfulDriver已标记废弃并计划于 2027-01-01 下线见 Java 连接器 · 版本历史。若你的 Ignition 部署中已存在旧式 REST 连接迁移只需两步驱动类改为com.taosdata.jdbc.ws.WebSocketDriverURL 前缀由jdbc:TAOS-RS://改为jdbc:TAOS-WS://并移除batchfetchtrue参数。字符集WebSocket 连接仅支持 UTF-8URL 中的charset、locale参数在 WebSocket 方式下不生效Ignition 侧无需额外处理。时区timezone参数在 WebSocket 连接上按连接生效仅支持 IANA 时区格式如Asia/Shanghai官方推荐不设置、直接使用系统时区性能更好。批量写入性能TDengine JDBC 实现中通过addBatch()提交的 SQL 会按添加顺序逐条执行并不减少服务端交互次数。在 Ignition 中向 TDengine 写入大量标签历史时建议一条INSERT中拼接多个 values、或使用参数绑定写入参见 Java 连接器 · 常见问题。适用前提本方案依赖 TDengine 服务端 taosAdapter 正常监听 6041 端口默认值定义于 taos.cfg且 taos-jdbcdriver 3.x 版本要求 TDengine v3.0 及以上。小结Ignition 与 TDengine 的集成路径非常轻量下载taos-jdbcdriver的 dist 包 → 在 Ignition 注册com.taosdata.jdbc.ws.WebSocketDriver→ 用jdbc:TAOS-WS://host:6041/db建立连接全程不涉及数据库翻译器。这条基于标准 JDBC 的管道打通后工厂现场的 PLC 数据即可沉淀到 TDengine并在 IDMP 与各类 BI 工具中复用。如需扩展更多物联网平台如 Node-RED的接入方式可参考 与各种物联网平台集成 章节。【免费下载链接】TDengineHigh-performance, scalable time-series database designed for Industrial IoT (IIoT) scenarios项目地址: https://gitcode.com/GitHub_Trending/tde/TDengine创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考