---
source_url: https://docs.dolphindb.cn/zh/tutorials/kafka_mqtt.html
fetched_at: 2026-05-19T09:51:48Z
category: tutorials
title: DolphinDB 可视化数据采集平台
sha1: fa34b7b1ade48509f9260040373672ed81a9b32c
---

# DolphinDB 可视化数据采集平台

数据采集平台的核心在于实现自动化与高效化。它可整合来自网站、数据库、传感器和日志等多个数据源的数据，完成清洗、转换与集中存储。通过替代繁琐的人工操作，平台可有效降低错误率、节省人力成本，并为组织提供可靠的数据基础。需要特别指出的是，本文所述的数据采集平台，聚焦于从消息中间件到数据库的数据采集环节。这一点不同于一般意义上的工业数据采集平台从工业设备到消息中间件的数据采集过程，我们重点关注数据在消息队列之后的处理、传输与存储，以确保数据的完整性和高效入库。然而，传统方案的这一流程在配置过程中往往依赖大量代码的编写与维护，导致运维复杂度较高。

为解决这一问题，DolphinDB 推出了可视化数据采集平台，大幅提升了系统的易用性。该平台支持多种数据接入协议与消息中间件，提供了对 MQTT 和 Kafka
两种主流数据接入方式的可视化配置能力，使业务与技术人员无需编写代码即可快速创建与管理采集任务。平台还提供统一的配置入口，支持不同协议测点的灵活接入，显著降低了配置门槛，加快了数据采集与处理流程。

可视化采集详细使用教程可通过 [数据采集平台](https://docs.dolphindb.cn/zh/db_distr_comp/db_man/web/kafka_mqtt.html) 查看。

## 1. 背景介绍

在工业互联网、物联网、IT运维监控等对数据高度依赖的行业中，数据采集平台具有关键意义。例如，在新能源场景下，实时监控电流、电压、功率和温度等关键指标，是保障设备安全运行和优化能源利用效率的核心。这些指标通常需要以秒级甚至毫秒级的频率进行采样，产生海量时序数据。

通过高精度传感器和智能终端实时捕获设备运行状态（如电池工况、电机负载、环境参数等），为故障预警、能效分析和策略优化提供不可替代的数据基础。若缺乏实时、完整且准确的数据采集，后续的监控与分析将失去决策依据，导致安全隐患难以预判，能效瓶颈难以定位。

不同设备的初始运行状态存在显著差异，其监控阈值需基于初始工况进行个性化配置。随着设备持续运行，工况会动态变化（如负载波动、环境温度骤变、设备老化等），这就要求监控阈值同步动态调整，否则将带来漏判和误判的风险。这种动态调整需求，依赖一个完善的实时监控系统来支撑。

数据采集的价值不仅体现在初始监控阈值的设定上，更体现在动态调参能力上。例如，系统可通过分析电池温度与充放电数据的关联，自动修正报警阈值，实现阈值自适应。此外，若采集过程存在延迟或技术复杂度过高，也将直接影响整个监控链条的可靠性与响应效率。因此，合理使用和配置数据采集平台，对提升生产效率和保障生产安全具有至关重要的作用。

## 2. 数据采集平台方案

当前主流的非可视化数据采集平台搭建方案的核心思路是基于代码和开源技术栈进行组合开发。这类平台并非开箱即用的可视化产品，而是需要技术团队自行设计、开发和运维的一整套（或多套）系统。在处理海量时序数据时，平台往往集成
Kafka、MQTT 等消息队列组件，对采集到的数据进行中转与缓冲。数据通过消息队列传输后，由消费者程序读取，并写入传统关系型数据库（如
MySQL、Oracle）。此后，第三方计算工具再从数据库中提取数据，进行分析与处理。整个数据链路涵盖生产、消费、存储、计算等多个环节，强烈依赖开发者对生产流程及各类技术工具的深入理解。由于技术栈交叉复杂、代码量大，系统建设难以轻量化，也难以实现高效稳定的数据采集与处理。

在此背景下，DolphinDB
作为一款高性能分布式时序数据库，通过深度融合存储、计算与分析能力，构建了一个从数据管理、存储到模型训练与实时计算的一体化平台。同时，DolphinDB
还推出了可视化数据采集平台，为海量时序数据的采集与处理提供了更高效、灵活且具备良好扩展性的解决方案。

### 2.1 现有方案的痛点

综上，现有数据采集方案的痛点和难点主要体现在以下几个方面：

- ​​**​技术栈复杂，集成与开发成本高：**需要组合使用 Kafka/MQTT（消息队列）、MySQL/Oracle（数据库）、第三方计算工具（如
  Spark/Flink）、缓存等多项开源技术。各组件间需要大量自定义代码来实现数据流转、格式转换、状态管理、错误处理、监控对接等，系统集成本高。
- ​**​低效的数据搬运管道：**​数据需要在消息队列、关系数据库、计算引擎之间多次搬运，并进行格式转换。这会引入延迟和资源消耗（序列化/反序列化开销）。此外，由于数据存储（RDBMS）和计算（第三方工具）分离，计算时需要从远程数据库拉取大量数据，网络
  IO 成为瓶颈，尤其对需要低延迟的时序分析不利。
- ​**​难以实现一体化的流式处理与实时计算：**由于核心存储采用的是响应较慢的关系型数据库（RDBMS），即使使用了 Kafka/MQTT
  做缓冲，仍需等到数据写入数据库后才能进行计算（Pull 模式）。​第三方工具从 RDBMS
  拉取数据进行计算，增加了数据传输和处理延迟，难以实现毫秒级的实时响应和分析洞察。为实现接近实时的计算，可能需要在 Kafka 后引入额外的流处理引擎（如
  Flink），进一步增加技术栈复杂度。
- ​**​代码开发成本高：**方案本质是“拼装”各种工具，需要从零开始设计和开发整个系统，包括监控、告警、管理等平台功能。​需要分别管理和监控消息队列、数据库、计算引擎等多个独立系统的资源、性能、告警，维护成本高。​整个流程严重依赖技术团队对各个环节的深入理解和熟练程度，对开发人员要求高。
- ​**​时序场景适配性差：​**​RDBMS
  的存储模型（行存储为主）和索引机制对时间序列数据压缩比不高，占用空间大，查询效率低于专门的时序数据库。对时间分区、降采样、滑动窗口计算、时间维度的聚合/插值等时序分析常用的原生操作支持有限或缺失，需要大量应用层代码实现，效率低。

### 2.2 DolphinDB可视化数据采集平台

DolphinDB
可视化数据采集平台是一款专为高效构建和管理多样化数据源接入而设计的核心工具。它以​直观、统一的可视化界面​​为核心优势，极大地简化了采集数据到数据入库的复杂流程。该平台是构建物联网
(IoT)
平台、实时数据分析系统、大型工业监控项目数据接入层的理想选择。它将原本复杂的数据接入工作流程转变为可视觉化操作，显著​​提升数据团队的效率​​，​​降低运维成本​​，并​​加速实时数据驱动决策​​的上线速度。无论是整合海量数据还是消费高速业务事件流，DolphinDB
可视化数据采集平台都能提供一个强大而友好的中枢入口。

#### 2.2.1 开箱即用

平台默认预加载 MQTT 和 Kafka 插件，提供开箱即用的数据采集与接入能力。在 DolphinDB ​集群环境​​中，通过集群配置文件
cluster.cfg 中的 *preloadModules*
参数进行指定，即可在需要数据采集的节点上预加载这两个插件，确保集群中各采集节点的稳定运行和集中化管理。

平台内置对主流采集​​协议的原生支持。无论是连接物联网设备接收海量遥测数据，还是从分布式系统中消费高速流数据，都能立即对接，无需繁琐的底层开发。

#### 2.2.2 一站式存储与计算

DolphinDB 可视化数据采集平台不仅简化了数据的接入过程，更实现了采集、存储与计算的​​一站式连接​​。其核心优势在于，通过平台接入的
MQTT、Kafka 等协议的数据流，​​将直接、高效地存储于 DolphinDB
流表中并且能够转存进入高性能分布式数据库中。​这带来以下优点：

- ​**​零数据搬运，极低延迟：​**​ 从设备传感器或业务系统采集到的原始数据，无需经过中间文件、临时存储或其他数据库的周转，一步到位写入
  DolphinDB。这​​最大程度地减少了数据入库的延迟​​，为实时分析和决策提供至关重要的速度保障。
- ​**​数据落地即立即可计算：​**​ 数据一旦存入 DolphinDB
  数据库，强大的​​内置计算引擎即刻可用​。用户无需进行繁琐的数据导出或转换，即可直接对刚刚入库的甚至持续流入的实时数据进行：
  - ​​即时指标计算​​（如实时平均值、最大最小值、设备状态判断）。
  - ​​高效流式处理​​（如滑动窗口聚合、复杂事件检测）。
  - ​​毫秒级历史数据查询​​与实时数据关联分析。
  - ​​批处理与机器学习模型训练​​。
- ​**​原生优势最大化：​**​ DolphinDB
  作为领先的高性能时序数据库和分析引擎，特别擅长处理时序、量化金融、物联网等海量数据。将采集数据直接存入
  DolphinDB，能够充分利用其强大的存储能力、高性能索引、向量化计算引擎和并行处理能力​​，从数据源头就发挥出数据库的全部潜力。

#### 2.2.3 低代码对接数据流

平台通过直观的用户界面（UI），实现对各协议来源测点配置的简便管理。用户可通过点选、拖拽及表单填写，快速完成连接参数、主题订阅和消费组设置等关键步骤，免去繁琐的代码和配置文本操作。

数据源订阅流程中的代码部分可通过解析模板填写，适合非技术人员（产品、运营、业务分析师等）快速上手。让​​非技术背景的用户​​也能独立完成数据采集任务，释放技术和业务的协作潜力。缩短​从需求产生到获取数据的周期并显著降低规则配置错误，所见即所得。​
对数据变化的适应性更强，可视化工具提供的监控、报警功能降低维护负担并减少重复开发。

### 2.3 DolphinDB数据采集平台核心功能与能力

下面将通过使用案例介绍可视化数据采集平台的核心功能与能力。

#### 2.3.1 数据源支持

DolphinDB 支持 Kafka、MQTT、ZMQ、RabbitMQ、RocketMQ、OPC/UA、Redis、HBase
等多种通信协议与数据源接入，适用于多样化的实时数据采集需求。当前可视化数据采集平台支持低代码对接的消息队列数据源包括最常使用的 Kafka 与 MQTT
协议，并且在不断扩充完善协议类。

#### 2.3.2 内置脚本实现数据清洗

支持嵌入 DolphinDB
脚本进行复杂预处理逻辑，能够在数据接收阶段就对数据进行初步处理，简化后续处理流程。在定义解析模板时可以通过内置的脚本函数对消息队列中发布的数据进行处理解析并接收进入流数据表。

DolphinDB
中的内置脚本包含强大的数据清洗能力，能够在数据写入流表前完成复杂计算、过滤、清洗、转换和初步聚合等操作。这避免了将不必要或无效的数据灌入下游计算引擎（如流计算引擎、历史数据库），极大减少了网络传输和后续计算压力，显著降低整体处理延迟。内置脚本环境提供了比一般消息队列中间件（如
Kafka Streams, KSQL）更丰富、计算能力更强的函数库，包括时间日期处理（`date`,
`datetime`,
`month`等）、字符串处理（`split`,
`substr`, `regexReplace`,
`trim`等）、数学统计函数（`round`,
`min`, `max`,
`avg`等）、类型转换（`int`,
`float`,
`string`等）、高阶函数（`each`,
`loop`等）、复杂逻辑控制（`if...else`,
`case...when`）等。使用 DolphinDB
内置脚本实现数据清洗可以快速完成包括过滤无效值，统一时间格式（`date`,`datetime`），填充空值（`nullfill`等），范围检测，异常值处理等操作。

![](images/kafka_mqtt/2-1.png)

图 1. 图 2-1 使用内置脚本

#### 2.3.3 灵活的数据解析与转换

DolphinDB 内置的数据解析与转换函数十分丰富，可以通过统一的处理框架实现对各类数据格式的高效解析。支持嵌套格式处理：JSON 数组到
DolphinDB 向量，JSON 对象到表。内置的解析器与数据类型转换能力覆盖全场景：

- ​结构化数据​​：`parseJsonTable` 深度解析嵌套 JSON（对象→表、数组→向量）
- 时间数据​：内置多种时间处理函数，并且能够将时间数据处理为常见格式（`temporalParse,datetimeParse`）
- ​类型转换：支持多种数据类型之间相互转换，包括字符串转换为整数类型（`parseInteger`），转换为字符串类型（`string`），转换为布尔类型（`bool`）等。

![](images/kafka_mqtt/2-2.png)

图 2. 图 2-2 数据解析与格式转换

#### 2.3.4 实时流数据处理

采集数据可无缝注入​​ DolphinDB
流计算引擎​​，实时触发异常检测、指标计算、复杂事件处理（CEP）。平台支持动态流表注入，自动创建内存流表，将数据直接载入流计算引擎，避免传统方案中的序列化与反序列化开销。支持​分区流表​​，单节点吞吐量高，保障高并发数据持续注入。

预置 60+ 种流处理算子（滑动窗口聚合、状态跟踪、会话窗口等），内置了超过 10
个流计算引擎，提供了灵活的计算方式和丰富的功能，适用于多样化的实时数据处理需求并支持通过 SQL 或 API 实时计算。引擎支持类 SQL
的复杂事件模式检测，流引擎输出结果可​​实时写入数据库分区表​​持久化，同时​​触发下游动作​​，进行级联分析。系统采用原生内存流表结构共享，实现零拷贝数据传输。支持动态注册和注销流计算任务，以及规则热更新。引擎自动保存流状态快照，故障重启后可从断点续算，保证任务连续性。非常适合吞吐量大、时延要求高、复杂实时分析等业务场景。

#### 2.3.5 无缝对接库内分析

采集完成的数据立即可用于：

- 即时 SQL 查询
- 分布式计算
- 机器学习
- 时序分析

数据采集后，DolphinDB 全栈计算能力，消除传统架构中的数据搬迁与转换开销，实现毫秒级实时交互式 SQL
查询。分布式并行计算实现将复杂任务拆解为分布式子任务调度至集群节点并行执行。库内机器学习能够直接对数据进行初步预测分析了解数据分布结构以及运行趋势。时序深度分析能够了解数据在时间段内的分布情况以及异常数据时序关系，帮助分析数据特征。

#### 2.3.6 高性能与可扩展性

DolphinDB
提供行业领先的高吞吐、低延迟接入能力。单节点支持百万级数据点/秒的持续写入，端到端处理延迟高效稳定。通过列式内存计算、协议层零拷贝优化及混合存储模型，显著突破传统方案性能瓶颈，实现工业物联网毫秒级采集和金融实时交易场景下数十倍的效率提升，同时将硬件资源利用率提升远超行业平均水平。

平台采用无状态接入层与存储计算分离架构，支持分钟级动态水平扩展。跨数据中心部署保障数据局部性，结合智能负载均衡与故障自愈机制，在新能源车联网、全球交易平台等超大规模场景中，以大幅度的成本降幅取代传统复杂架构，真正实现“接入即分析”的实时数据基础设施。

#### 2.3.7 采集数据实时可视化展示

采集的数据可以通过内置的 DashBoard 面板，进行可视化展示，便于用户理解和观察数据。平台支持创建多种图表类型，包括柱状图、折线图、饼图、表格、K
线图、混合图、订单图、富文本、描述表、编辑器、仪表盘等共 15 种图表。用户可指定数据源流表或通过 SQL
查询导入数据，实现灵活多样的数据可视化。

![](images/kafka_mqtt/2-3.png)

图 3. 图 2 -3 可视化采集平台 DashBoard 展示案例

### 2.4 平台架构与技术特点

- ​**​前后端分离架构：**提供友好的 Web UI，后端基于 DolphinDB 的强大处理能力，实现数据处理与实时计算。
- ​**​分布式设计：​**​支持多节点部署，提高吞吐量和可靠性。
- ​**​基于任务/连接器的管理模型：​**​每个数据源定义为一个可独立配置、启停、监控的连接任务。
- ​**​与DolphinDB数据库的深度集成：​**数据可直接高效写入 DolphinDB 分区表，充分发挥其存储和计算能力。

## 3. 新能源场景下的数据采集平台

下面将以新能源场景为例介绍 DolphinDB 可视化数据采集平台的流程以及功能。

### 3.1 数据采集平台采集流程

生产设备在运行过程中产生的实时设备信息通过监测传感器将数据上传到 Kafka 消息队列。通过可视化平台连接 Kafka
消费数据，并将数据写入流表进行实时监控计算以及将计算结果存储到分布式数据库。

![](images/kafka_mqtt/3-1.svg)

图 4. 图 3-1 数据采集平台全流程

步骤可分为：

1. 创建 Kafka 协议连接，输入 Kafka 连接的名称、Kafka 服务器的 IP 地址以及 Kafka 服务器监听的端口号。
2. 创建 Kafka 解析模板。
3. 创建订阅并配置参数：输入 Kafka 连接的名称，Kafka 服务器上的主题。Kafka
   会根据用户配置订阅的主题进行过滤并分发消息给相应的订阅者，指定处理订阅消息的节点，选择解析模板，Kafka 消费策略设置 earliest。
4. 开启 Kafka 订阅。

### 3.2 可视化平台数据采集

打开 web 界面并使用管理员账号登录，点击数据采集以及连接信息。配置 Kafka 协议连接信息，输入连接名称用于管理连接，输入Kafka 所在的 IP
地址以及端口号信息建立连接。

点击解析模板，并点击新建按钮可以创建数据的解析模板，用于从 Kafka 中拉取数据并解析。可以设定模板名称以及模板协议，这里选择的是 Kafka 协议。

![](images/kafka_mqtt/3-2.png)

图 5. 图 3-2 定义解析模板

在模板中可以选择使用多个内置脚本包括 `temporalParse` 对接收到的时间格式进行转换。

```dolphindb
if(timeColumn==NULL or tempdict[timeColumn]==NULL){ 
      ts = now()
  }else{
      ts = temporalParse(tempdict[timeColumn],"yyyy.MM.ddTHH:mm:ss.SSS")
}
```

`take` 函数实现数据个数的扩展。

```dolphindb
//将数据转换为窄表，存入流表中
for(i in keys){
    if(!(i in [timeColumn,idColumn] )){
        tmp[`metric] =  take(i,rowNum) 
        tmp[`value] =   tempdict[i]
    }
 }
```

通过在解析模板中的函数操作，可以对消息队列采集到的数据进行进一步过滤或者格式转换，可以进一步获得需要的数据。最终采集数据结果如下：

![](images/kafka_mqtt/3-3.png)

图 6. 图 3-3 可视化采集平台原始数据采集结果

可直接对数据进行查询、分析、计算，实现采集到计算的无缝连接。通过对实时采集数据进行规则引擎流式计算，最终计算结果如下所示：

![](images/kafka_mqtt/3-4.png)

图 7. 图 3-4 可视化采集平台数据处理结果

将数据分析过程以及告警规则数据处理流程进行实时可视化展示，展示效果如下：

![](images/kafka_mqtt/3-5.png)

图 8. 图 3-5 数据采集与处理动态可视化结果展示

## 4.总结

DolphinDB
可视化数据采集平台是一款​​可用性极高的工具​​，旨在​​简化​​企业构建和管理多样化数据源接入的复杂性。它以​​直观、统一的可视化界面​​为核心，将原本需要大量编码和复杂配置的数据接入流程，转变为​​可视觉化操作​​的任务。​​​通过拖拽式配置、向导式操作和丰富的预置连接器/模板，​​大幅降低​​数据接入的技术门槛和开发时间，让数据团队能​​快速响应​​业务需求。作为强大的“​​中枢入口​​”，平台​​无缝整合​​来自工业设备（MQTT）、消息队列（Kafka）​​的数据源。能够将数据接入​​统一的监控、告警和运维界面​​，实时掌握数据流状态（速率、延迟、错误），​​简化​​日常维护，​​提高​​系统稳定性和可靠性。平台支持​​低延迟流式接入​​与灵活批量调度，确保高速业务事件和实时数据能够​​快速、可靠​​地送达分析引擎（如
DolphinDB 流计算引擎），为​​实时监控、风控、预警和决策​​提供坚实的数据基础​。DolphinDB
数据采集平台是构建​​物联网平台、实时分析系统、工业监控、智能制造、金融科技​​等数据密集型应用的​​理想数据接入层​​，为上层应用提供​​高质量、高时效性​​的数据供给。

​​总而言之，DolphinDB
可视化数据采集平台通过其强大的连接能力、直观的管理体验和卓越的性能，为企业扫清了数据接入的障碍，是构建现代数据驱动系统的坚实“数据基石”，助力企业高效利用数据价值，实现降本增效与智能决策。
