TDengine 边云协同数据同步实战:边缘推送/云端拉取 × 数据订阅/数据查询 四种方案的选择与配置指南 📅 发布时间:2026/9/20 23:52:44 👁 浏览次数: TDengine 边云协同数据同步实战边缘推送/云端拉取 × 数据订阅/数据查询 四种方案的选择与配置指南【免费下载链接】tdengineTDengine is an open source, high-performance, cloud native time-series database optimized for Internet of Things (IoT), Connected Cars, Industrial IoT and DevOps.项目地址: https://gitcode.com/taosdata/tdengineTDengine 提供从边缘节点到云端节点的自动化数据同步能力支持边缘推送、云端拉取两种数据流向每种流向又都可以通过数据订阅或数据查询两条技术路线实现。本文以 TDengine 的边云协同Edge–Cloud Synchronization为主题完整介绍四种同步方案的适用场景、基于 taosExplorer 的零代码配置步骤与基于 taosx 命令行的推拉实现并结合仓库源码与组件文档解析 DSN 格式、订阅选项等底层细节帮助你为实际生产环境选择并落地正确的同步架构。为什么需要边云协同在工业互联网场景中边缘设备只用于处理局部数据决策者无法仅凭边缘设备采集的信息形成对整个系统的全局认知。因此边缘设备需要把数据上报给云计算平台公有云或私有云在云端完成数据的汇聚与信息融合从而获得全局洞察。这种边云协同架构已成为支撑工业互联网发展的重要支柱。具体到 TDengine 的应用场景边缘侧主要对生产线上的某几项数据例如某个车间的实时生产数据进行监控和告警对实时性要求较高但数据量不一定大——一个生产车间的监测点数量通常从几千到几万个不等。中心侧计算资源充足有能力把边缘侧数据汇聚起来进行分析计算。数据库层面的要求数据必须能够逐级上报并且支持有选择地上报。在整体数据量非常大的场景下必须有选择地同步——例如边缘侧每秒采集一次的原始记录上报到中心侧时降采样为每分钟一次既大幅减少数据量又保留用于长期分析与预测的关键信息。在传统工业数据采集流程中数据从工业逻辑控制器PLC采集后进入 Historian 工业实时库再支撑业务应用这类系统多采用主备架构、不易水平扩展、严重依赖 Windows 生态相对封闭。TDengine 的边云协同方案用统一的数据模型和实时订阅能力取代了这类传统链路。TDengine 边云协同解决方案TDengine 企业版提供完整的边云协同能力关键特性包括高效数据同步支持高吞吐的数据同步保证数据在边缘侧和云端之间快速、稳定地传输。多数据源对接兼容 AVEVA PI System、OPC-UA、OPC-DA、MQTT 等多种外部数据源实现广泛接入与整合见 零代码数据接入。灵活配置同步规则提供可配置的同步规则按实际需求自定义数据同步的策略和方式。断线续传与重新订阅确保网络不稳定或中断时数据同步的连续性和完整性。历史数据迁移支持历史数据迁移便于升级或更换系统时无缝迁移。其中数据订阅功能为订阅方提供了极大的灵活性可以订阅一个数据库、一张超级表甚至是一个带筛选条件的查询语句从而实现选择性的数据同步将真正关心的数据包括离线数据和乱序数据从一个集群同步到另一个集群。注边云协同的数据同步组件 taosX 是 TDengine 企业版的核心组件详见 taosX 参考文档使用前需要安装 TDengine 企业版软件包。如何选择同步方式TDengine 支持边缘节点主动向云端推送数据也支持云端从边缘节点拉取数据两种方向均可使用数据订阅或数据查询。启用边云同步前应根据环境特征确定合适的组合环境特征推荐方案边缘节点较少且云端可以直接访问边缘节点云端拉取Cloud Pull边缘节点较多或不允许从外部访问边缘节点边缘推送Edge Push要求近实时同步数据订阅Subscription要求定期或按需同步数据查询Querying由此得到四种组合边缘推送 数据订阅、边缘推送 数据查询、云端拉取 数据订阅、云端拉取 数据查询。下文逐一给出操作步骤。方案一边缘推送 数据订阅该方案通过边缘节点 taosExplorer 的数据复制功能把指定数据库实时推送到云端全程零代码、无需在边缘节点开放入站端口适合边缘节点数量多的场景。操作步骤如下在云端节点创建用于接收边缘数据的数据库。在浏览器中打开边缘节点的 taosExplorer。在左侧主菜单中选择管理Management。打开数据复制Data Replication标签页点击新增数据复制Add New Replication。选择要同步到云端的数据库。在目标 DSNTarget DSN字段中输入云端节点的 DSN。点击确认Confirm。完成配置后边缘节点会把指定数据库的数据推送到指定云端节点。可以重复该流程以同步更多数据库或将数据同步到多个云端节点。目标 DSN 使用标准 DSN 格式典型写法形如taosws://root:taosdatacloud-ip:6041/cloud-db其中ws表示通过 REST/WebSocket 方式访问详见后文 DSN 格式详解。方案二边缘推送 数据查询该方案在边缘节点上以命令行方式运行 taosx把数据从边缘节点查询后写入云端适合定期或按需同步、且需要在边缘侧脚本化执行的场景。操作步骤在云端节点创建用于接收边缘数据的数据库。在边缘节点打开终端。执行以下命令将数据推送到云端taosx run -f taos://edge-user:edge-passwordedge-ip:edge-port/edge-db -t taos://cloud-user:cloud-passwordcloud-ip:cloud-port/cloud-db -v其中-f指定数据源Source DSN-t指定写入目标Sink DSN-v开启 info 级别日志-vv对应 debug-vvv对应 trace。例如以下命令使用默认用户名和密码把192.0.2.1:6030上边缘节点的sync_test数据库同步到198.51.100.1:6030上云端节点的edge_data数据库taosx run -f taos://root:taosdata192.0.2.1:6030/sync_test -t taos://root:taosdata198.51.100.1:6030/edge_data -v更多 taosx 数据迁移用法历史数据、实时数据、指定表与时间范围等见 taosx 参考文档中的Migrating Data from Older Versions一节。延伸用 taosx 细化同步范围在边缘推送 数据查询方案中可以通过 Source DSN 的参数精细控制同步对象# 仅同步指定超级表 taosx run \ -f taos://root:taosdatalocalhost:6030/db1?stablesmeters \ -t taos:///db2 -v # 仅同步指定子表或普通表支持 {stable}.{table} 与直接表名 taosx run \ -f taos://root:taosdatalocalhost:6030/db1?tablesmeters.d0,d1,table1 \ -t taos:///db2 -v # 同步指定时间范围RFC3339 时间格式注意时区 taosx run -f taos:///db1?start2022-10-10T00:00:00Z -t taos:///db2 -v # 实时模式同步最近 5 分钟数据并持续同步新数据interval1s 为轮询间隔excursion500ms 允许的乱序延迟 taosx run \ -f taos:///db1?moderealtimerestro5minterval1sexcursion500ms \ -t taos:///db2 -v # 历史数据 实时数据 taosx run -f taos:///db1?modeall -t taos:///db2 -v上述示例均来自 taosx 参考文档。方案三云端拉取 数据订阅该方案在云端 taosExplorer 中创建TDengine 数据订阅任务由云端主动订阅边缘节点的数据库适合边缘节点数量少、云端可以直连边缘节点的近实时同步场景。操作步骤在浏览器中打开边缘节点的 taosExplorer。在左侧主菜单中选择主题Topics。在列表中找到要同步到云端的数据库在获取 DSNGet DSN列点击复制Copy保存该 DSN 备用。打开云端节点的 taosExplorer。在左侧主菜单中选择数据写入Data In。打开数据写入任务Data In Task标签页点击新增数据源Add Source。输入任务名称。在类型Type下拉列表中选择TDengine 数据订阅TDengine Data Subscription。在目标Target下拉列表中选择接收边缘数据的数据库如果没有合适的数据库点击创建数据库Create Database。在连接配置Connection Configuration中把之前复制的 DSN 粘贴到Topic DSN字段。点击检查连通性Check Connection确认云端可以访问边缘节点。在订阅选项Subscribe Options的Client ID字段中输入唯一标识并按需配置其他选项可保留默认值。点击提交Submit。任务提交后云端会订阅边缘节点的指定数据库并把数据写入云端目标数据库。可以重复该流程从更多边缘数据库或节点同步数据。延伸订阅任务的配置细节结合 TDengine 数据订阅数据源文档订阅任务的关键选项含义如下订阅起始位置可选择从最早earliest或最新latest数据开始订阅默认从最早开始。超时时间支持ms毫秒、s秒、m分钟、h小时、d天、M月、y年等单位。订阅组 IDgroup.id任意字符串用于标识订阅组最大长度 192不指定时使用随机生成的组 ID。Client ID任意字符串用于标识客户端最大长度 192。同步已落盘数据启用后可以同步已写入 TSDB 时间序列数据存储文件的数据即不在 WAL 中的数据禁用则只同步尚未落盘保存在 WAL 中的数据。同步表删除操作/同步数据删除操作启用后会把对应的删除操作同步到目标数据库。压缩启用 WebSocket 压缩以降低网络带宽占用。从 DSN 角度Topic DSN 还支持以下高级用法多 Topic多个 Topic 名称用逗号分隔例如tmqws://root:taosdatalocalhost:6041/topic1,topic2,topic3。直接用库名/超级表名/子表名代替 Topic 名例如tmqws://root:taosdatalocalhost:6041/db1,db2,db3此时无需提前创建 TopictaosX 会自动识别并在源集群创建订阅 Topic。显式指定 group.id在 FROM DSN 中通过group.id参数显式指定订阅组 ID。方案四云端拉取 数据查询该方案在云端 taosExplorer 中创建TDengine 查询任务由云端通过查询方式拉取边缘节点数据库的数据适合定期或按需同步的场景。操作步骤打开云端节点的 taosExplorer。在左侧主菜单中选择数据写入Data In。打开数据写入任务Data In Task标签页点击新增数据源Add Source。输入任务名称。在类型Type下拉列表中选择TDengine 查询TDengine Query。在目标Target下拉列表中选择接收边缘数据的数据库如果没有合适的数据库点击创建数据库Create Database。在连接配置Connection Configuration中填写协议Protocol选择WS。主机Host边缘节点 taosAdapter 实例的 IP 地址或主机名。端口Port边缘节点 taosAdapter 实例的端口号。数据库Database边缘节点上要同步的数据库。在认证Authentication中填写用户名Username边缘节点上有权访问目标数据库的用户名。密码Password该用户在边缘节点的密码。点击检查连通性Check Connection确认云端可以访问边缘节点。按需配置其他选项可保留默认值点击提交Submit。任务提交后云端会查询边缘节点的指定数据库并把数据写入云端目标数据库。可以重复该流程以从更多边缘数据库或节点同步数据。延伸查询任务的工作方式结合 TDengine 查询数据源文档taosX 通过查询源集群并把结果写入目标数据库来完成迁移它以子表在某时间段内的数据为基本查询单元分批把待迁移数据写入目标数据库。查询任务支持三种迁移模式history历史模式迁移指定时间范围内的数据未指定时间范围时迁移截至任务创建时的全部数据任务完成后停止。realtime实时模式从任务创建时刻开始持续同步新数据任务持续运行直到手动停止。both两者模式先按 history 模式执行再转入 realtime 模式。每种模式下都可以指定是否迁移表结构选择always会在迁移数据前把表结构同步到目标数据库子表数量多时耗时较长如果确认目标数据库已有与源库相同的表结构建议选择none以节省时间。任务运行期间会把进度信息保存到磁盘因此暂停后重启或异常自动恢复时不会从头开始。DSN 格式详解两种边缘推送 数据查询/订阅方案都依赖 DSN 描述数据源。taosx 的 DSN 采用 URL 风格格式见 taosx 参考文档driver[protocol]://[[username:password]host:port][/object][?p1v1[p2v2]]各部分含义如下部分说明driver数据源驱动如taos查询接口取数、tmq数据订阅取数、local、pi、opc、mqtt、kafka、influxdb、csv、parquet等protocol协议修饰符如wstaos/tmq 驱动经 REST/WebSocket 取数不加ws则使用原生连接此时 taosx 需安装在服务器上、ua/daopc 驱动的 OPC-UA/OPC-DAusername:password数据源的用户名和密码host:port数据源地址与端口object具体数据对象TDengine 的数据库、超级表、表本地备份文件路径或其他数据源服务器中的数据库paramsDSN 查询参数?之后以分隔示例tmqws://root:taosdatalocalhost:6030/db1?timeoutnever表示通过 WebSocket 订阅本地 6030 端口上db1数据库的 Topic。由此可以理解前文四种方案中 DSN 的语义边缘推送 数据订阅云端目标 DSN 使用taos或taosws驱动表示云端作为写入目标。边缘推送 数据查询-f指向边缘节点源-t指向云端节点目标均使用taos驱动。云端拉取 数据订阅Topic DSN 使用tmqws驱动表示从边缘节点通过数据订阅取数。云端拉取 数据查询通过 WS 协议连接边缘节点 taosAdapter由查询任务驱动。另外在不同版本之间使用原生连接迁移时需要在 DSN 中指定libraryPath例如taos:///db1?libraryPath./libtaos.so。边云协同架构实例与优势下图展示了一个具体的生产车间实例中如何在 TDengine 企业版中落地边云协同架构生产车间的设备产生实时数据存储在部署于边缘侧的 TDengine分厂级 TDengine 订阅车间 TDengine 的数据可由数据分析师设置订阅规则例如降采样、只同步超过阈值的数据集团侧 TDengine 再订阅各分厂数据完成集团维度的数据汇聚后即可进行下一步分析和处理。该实现思路的优势包括零代码不需要编写一行代码只在边缘侧和云端做简单配置即可。自动化程度高数据跨区同步自动化程度大幅提高错误率降低。无需数据缓存减少批量发送避免流量高峰阻塞带宽。规则可配置通过订阅方式同步数据简单、灵活、实时性高。数据模型统一边云均采用 TDengine数据模型完全一致降低数据治理难度。对制造业企业而言传统离线数据同步方式往往造成资源浪费和带宽阻塞风险TDengine 企业版的数据实时同步配合可配置规则避免了定期传输大数据量带来的这些问题。当所有数据汇聚到一个系统后还能利用第三方 AI 分析工具进行异常监测、实时告警并为产能、成本、设备维护等提供更精准的预测助力传统产业数字化转型。小结流向选择边缘节点多或不允许入站访问时用边缘推送云端可直连边缘时用云端拉取。技术路线选择近实时同步用数据订阅taosExplorer 的数据复制/数据订阅任务或tmq驱动 DSN定期或按需同步用数据查询taosxrun命令或 taosExplorer 的TDengine 查询任务。四种方案全部支持零代码配置且 taosx 命令行模式提供stables、tables、start、mode、restro、interval、excursion等参数可进一步精细化控制同步范围与行为。更深入的信息可继续阅读taosx 参考文档、TDengine 数据订阅数据源、TDengine 查询数据源。【免费下载链接】tdengineTDengine is an open source, high-performance, cloud native time-series database optimized for Internet of Things (IoT), Connected Cars, Industrial IoT and DevOps.项目地址: https://gitcode.com/taosdata/tdengine创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考