# bigprime-datasync
**Repository Path**: bjxamo_admin/bigprime-datasync
## Basic Information
- **Project Name**: bigprime-datasync
- **Description**: BigPrime-DataSync是一款面向企业级数据集成的一站式开源平台,致力于解决异构数据源之间的数据同步、编排与治理问题。平台以 DAG 可视化编排为核心调度范式,内置 Apache Flink与 Apache SeaTunnel双引擎,覆盖实时 CDC 与批量 ETL 全场景;
- **Primary Language**: Java
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: http://www.bigprime.cn
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 4
- **Created**: 2026-09-03
- **Last Updated**: 2026-09-03
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
BigPrime DataSync
开源数据同步与编排平台 — 连接万物,流动数据
功能特性 •
架构概览 •
快速开始 •
部署指南 •
模块说明 •
技术栈
## 📖 项目介绍
**BigPrime DataSync** 是一款面向企业级数据集成的一站式开源平台,致力于解决异构数据源之间的数据同步、编排与治理问题。平台以 **DAG 可视化编排** 为核心调度范式,内置 **Apache Flink** 与 **Apache SeaTunnel** 双引擎,覆盖实时 CDC 与批量 ETL 全场景;同时融合 **AI 智能增强**、**数据血缘追踪**、**集群治理**与**可观测运维**能力,为企业提供从数据接入到数据消费的完整闭环。
> 🏢 企业官网:[www.bigprime.cn](http://www.bigprime.cn)
### 平台定位
| 维度 | 说明 |
|------|------|
| **数据同步** | 50+ 数据源连接器,Flink 实时 CDC + SeaTunnel 批量同步,SPI 插件化架构支持零侵入扩展 |
| **DAG 编排** | 拖拽式可视化流程设计,HTTP 同步 / MQ 异步双执行模式,条件路由与并行分支 |
| **AI 增强** | 多模型统一接入(OpenAI / DeepSeek / Ollama),MCP Server 让 AI Agent 直接操作平台,RAG 知识库精准问答 |
| **数据血缘** | 自动追踪数据流向,血缘图谱可视化,端到端数据链路可审计 |
| **集群治理** | Worker 节点动态注册、心跳监控、多策略负载均衡,水平按需扩展 |
| **可观测** | 统一日志采集(Loki)、多通道告警(邮件/Webhook/钉钉)、运行指标实时监控 |
---

## ✨ 功能特性
### 🔌 连接器生态
- **50+ 数据源连接器**:MySQL、PostgreSQL、Oracle、SQL Server、Kafka、Elasticsearch、Redis、MongoDB、Hive、HDFS 等
- **双引擎支持**:Apache Flink 1.16 + Apache SeaTunnel 2.3.x,覆盖实时与批量场景
- **SPI 插件化架构**:连接器热插拔,自定义扩展零侵入
- **健康检查**:自动检测连接器状态,异常告警
### 🔄 数据同步编排
- **可视化 DAG 编排**:拖拽式流程设计,所见即所得
- **多执行模式**:HTTP 同步直连 / MQ 异步解耦,按需切换
- **实时 CDC**:基于 Flink CDC 的实时数据变更捕获
- **SQL 模板引擎**:内置 Flink SQL 模板,变量化配置,一键生成
### 🤖 AI 智能增强
- **多模型接入**:OpenAI / Anthropic / DeepSeek / Ollama,统一管理
- **MCP Server**:内置 Model Context Protocol,AI Agent 可直接操作平台数据
- **AI 对话助手**:智能 SQL 生成、数据解读、运维建议
- **RAG 知识库**:文档检索增强,精准回答业务问题
### 🐍 Python 工作台
- **嵌入式 Python 运行时**:无需预装 Python,开箱即用
- **Jupyter Kernel Gateway**:在线 Notebook 交互式开发
- **LSP 智能补全**:集成 Python Language Server,IDE 级编辑体验
### 📊 可观测运维
- **集群管理**:Worker 节点动态注册、心跳监控、负载均衡
- **数据血缘**:自动追踪数据流向,血缘图谱可视化
- **日志中心**:统一日志采集与检索(Loki + Logback)
- **告警中心**:多通道告警(邮件/Webhook/钉钉),阈值可配
---
## 🏗 架构概览
```mermaid
graph TB
subgraph Frontend["前端 Vue 3"]
UI_Connector["连接器管理"]
UI_DAG["DAG 编排"]
UI_AI["AI 中心"]
UI_Python["Python 工作台"]
UI_Ops["运维监控"]
end
subgraph Backend["Backend Spring Boot 3.2"]
B_Connector["连接器管理服务"]
B_DAG["DAG 引擎"]
B_AI["AI 中心"]
B_Python["Python 运行时"]
B_Core["核心框架"]
end
subgraph Worker["Action Worker 分布式执行节点"]
W_Flink["Flink Job 提交执行"]
W_ST["SeaTunnel 任务执行"]
W_Action["自定义 Action 算子"]
end
subgraph Infra["基础设施"]
MySQL[("MySQL 8.0")]
Nacos["Nacos 2.2+"]
Redis[("Redis")]
end
Frontend -->|HTTP / WebSocket / SSE| Backend
Backend -->|HTTP / Nacos| Worker
Backend --> MySQL
Backend --> Nacos
Nacos -.->|共享配置 bigprime.yaml| Backend
Nacos -.->|共享配置 bigprime.yaml| Worker
Redis -.->|缓存 / 会话| Backend
Worker --> MySQL
```
---
## 🚀 快速开始
### 环境要求
| 依赖 | 版本要求 | 说明 |
|------|---------|------|
| JDK | 17+ | 推荐 Eclipse Temurin |
| Maven | 3.8+ | 构建工具 |
| MySQL | 8.0+ | 元数据存储 |
| Nacos | 2.2+ | 配置中心 & 服务注册 |
| Node.js | 22+ | 前端构建(可由 Maven 自动下载) |
### 1. 初始化数据库
```sql
CREATE DATABASE bigprime_datasync DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
USE bigprime_datasync;
SOURCE init.sql;
```
> `init.sql` 位于发布包的 `script/` 目录,包含全部建表语句与初始数据。
### 2. 启动 Nacos
```bash
cd nacos/bin
sh startup.sh -m standalone
```
在 Nacos 控制台创建命名空间 `bigprime-datasync`,并添加共享配置:
- **Data ID**: `bigprime.yaml`
- **Group**: `DEFAULT_GROUP`
- **格式**: `YAML`
配置内容包括数据源、Redis 等共享信息(参考下方 Nacos 配置模板)。
### 3. 构建项目
```bash
mvn clean package -Pall -DskipTests -T 1C
```
构建产物位于 `bigprime-datasync-distribution/target/`。
### 4. 构建 Python 运行时(可选)
如需使用在线 Python IDE 功能:
```bash
# Windows
build-python-runtime.bat
# Linux
chmod +x build-python-runtime.sh
./build-python-runtime.sh
```
构建产物自动放置于 `plugins/python-runtime/`。
> 也可使用 `-with-python` Profile 一步完成:`mvn clean package -Pall-with-python -DskipTests -T 1C`
### 5. 启动服务
解压发布包后:
**Windows:**
```cmd
cd bin
start-all.bat
```
**Linux:**
```bash
cd bin
chmod +x *.sh
./start-all.sh
```
访问 http://localhost:6506 即可打开平台。
---
## 📦 部署指南
### 发布包结构
```
bigprime-datasync-distribution/
├── bin/
│ ├── start-all.bat/sh # 一键启动(Backend + Worker)
│ └── stop-all.bat/sh # 一键停止
├── sql/
│ └── init.sql # 数据库初始化脚本
├── backend/
│ ├── bin/
│ │ ├── start.bat/sh # Backend 启动脚本
│ │ ├── stop.bat/sh # Backend 停止脚本
│ │ └── pylib_install.sh # Python 依赖安装脚本
│ ├── conf/
│ │ ├── bootstrap.yml # 核心启动配置(端口、Nacos地址等)
│ │ ├── application-local.yml # 本地环境覆盖
│ │ └── application-prod.yml # 生产环境覆盖
│ ├── lib/ # JAR 依赖(thin jar + 外部 lib)
│ ├── static/ # 前端静态资源
│ ├── logs/ # 日志目录
│ └── data/ # 数据目录
├── worker/
│ ├── bin/
│ │ ├── start-worker.bat/sh
│ │ └── stop-worker.bat/sh
│ ├── conf/
│ │ ├── bootstrap.yml # Worker 启动配置
│ │ └── application.yml # Worker 应用配置
│ ├── lib/
│ └── logs/
└── plugins/
├── python-runtime/ # 嵌入式 Python 运行时(可选)
└── skywalking-agent/ # SkyWalking 探针(可选)
```
### 部署步骤
```mermaid
graph LR
A[1. 初始化 MySQL] --> B[2. 启动 Nacos]
B --> C[3. 配置 Nacos bigprime.yaml]
C --> D[4. 构建项目 mvn package]
D --> E["5. 构建 Python 运行时
build-python-runtime(可选)"]
E --> F[6. 启动服务 start-all]
F --> G["7. 访问 http://localhost:6506"]
```
### 打包 Profile 说明
| Profile | 包含内容 | 适用场景 |
|---------|---------|---------|
| `all` | Backend + Worker + Frontend | 完整部署(默认) |
| `web` | Backend + Frontend | 仅 Web 服务,Worker 独立部署 |
| `worker` | Worker only | Worker 节点水平扩展 |
| `web-with-python` | Backend + Frontend + Python 运行时 | 含 Python IDE 的 Web 部署 |
| `all-with-python` | 全部 + Python 运行时 | 完整部署(含 Python IDE) |
### 生产环境配置
#### 环境变量
| 变量 | 默认值 | 说明 |
|------|-------|------|
| `SERVER_PORT` | 6506 | Backend 服务端口 |
| `DATASOURCE_URL` | - | MySQL JDBC URL |
| `DATASOURCE_USERNAME` | - | 数据库用户名 |
| `DATASOURCE_PASSWORD` | - | 数据库密码 |
| `NACOS_HOST` | 127.0.0.1 | Nacos 地址 |
| `NACOS_PORT` | 8848 | Nacos 端口 |
| `NACOS_NAMESPACE` | bigprime-datasync | Nacos 命名空间 |
| `WORKER_COUNT` | 1 | Worker 实例数量 |
| `WORKER_MAX_TASKS` | 10 | Worker 最大并发任务数 |
| `SKYWALKING_COLLECTOR` | - | SkyWalking OAP 地址 |
#### Nacos 共享配置(bigprime.yaml)
所有环境相关配置统一在 Nacos 中管理,包括数据源、Redis 等:
```yaml
# bigprime.yaml - Nacos 共享配置
spring:
data:
redis:
database: 8
host: 47.97.255.119
port: 6379
password: '******'
timeout: 10000
rabbitmq:
host: www.bigprime.cn
port: 5672
username: rabbitmq
password: '******'
virtual-host: /
publisher-confirms: true
publisher-returns: true
template:
mandatory: true
listener:
simple:
acknowledge-mode: auto
concurrency: 3
max-concurrency: 10
prefetch: 10
datasource:
dgp:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://47.97.255.119:3316/bigprime?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&nullCatalogMeansCurrent=true
username: root
password: '******'
hikari:
maximum-pool-size: 60
connection-timeout: 60000
idle-timeout: 60000
validation-timeout: 3000
max-lifetime: 180000
login-timeout: 5
minimum-idle: 10
easy-query:
enable: true
database: mysql
name-conversion: underlined
delete-throw: true
print-sql: true
keep-native-style: true
```
#### 配置文件说明
| 文件 | 位置 | 说明 |
|------|------|------|
| `bootstrap.yml` | `backend/conf/` | 核心启动配置(端口、Nacos、Python 运行时等) |
| `application-local.yml` | `backend/conf/` | 本地环境覆盖配置 |
| `application-prod.yml` | `backend/conf/` | 生产环境覆盖配置(通过环境变量注入敏感信息) |
| `bootstrap.yml` | `worker/conf/` | Worker 启动配置 |
| `application.yml` | `worker/conf/` | Worker 应用配置 |
#### 激活生产环境 Profile
修改 `backend/conf/bootstrap.yml`:
```yaml
spring:
profiles:
active: prod
```
### 可选组件
#### Python 运行时
平台内置嵌入式 Python 运行时,支持在线 Python IDE:
```bash
# Windows
build-python-runtime.bat
# Linux
chmod +x build-python-runtime.sh
./build-python-runtime.sh
```
构建产物放置于 `plugins/python-runtime/`。也可使用 `-with-python` Profile 一步打包。
#### SkyWalking APM
将 Skywalking Agent 放置于 `plugins/skywalking-agent/`,启动脚本会自动检测并加载。
---
## 📁 模块说明
### 🔌 连接器管理
统一的连接器生命周期管理:注册、测试、健康检查、参数配置。支持 50+ 数据源,SPI 插件化架构支持自定义扩展。


### 🔄 DAG 编排
可视化拖拽式流程设计,支持节点间的依赖编排、并行分支、条件路由。支持 HTTP 同步和 MQ 异步两种执行模式。

### 🤖 AI 中心
统一管理 AI 提供商与模型,内置 MCP Server 让 AI Agent 直接操作平台。支持对话助手、RAG 知识库、流式输出。





### 🐍 Python 工作台
嵌入式 Python 运行时,无需预装 Python。集成 Jupyter Kernel Gateway 和 LSP 智能补全,提供 IDE 级在线开发体验。


### 📊 集群管理
Worker 节点动态注册、心跳监控、资源感知负载均衡。支持多种调度策略:随机、轮询、最少活跃、资源智能调度。

### 🔔 告警中心
多通道告警通知(邮件/Webhook/钉钉),连接器健康异常、任务执行失败等事件自动触发,阈值可配。


### 📈 数据血缘
自动追踪数据流向,构建血缘图谱,可视化展示数据从源到目标的完整链路。



### 🔍 SQL 开发
内置 SQL 查询工作台,支持多数据源切换、SQL 编辑与执行、结果预览与导出。集成 Flink SQL 模板引擎,变量化配置一键生成作业脚本。


### 🌐 协议网关
统一 API 网关,支持 HTTP/CoAP/MQTT 等多协议接入,提供路由转发、协议转换、鉴权拦截能力。设备与第三方系统通过网关统一访问平台服务。


### 📋 日志管理
统一日志采集、存储与检索,支持按服务/级别/时间范围快速过滤。集成 Loki 日志后端,实时推送日志流,运维排障一目了然。



### 项目模块结构
```
bigprime-datasync/
├── bigprime-datasync-core/ # 核心框架(安全、通用工具、基础实体)
├── bigprime-datasync-backend/ # 后端主服务(REST API、WebSocket、AI、Python)
├── bigprime-datasync-ui/ # 前端工程(Vue 3 + Vite)
├── bigprime-datasync-dag/ # DAG 编排引擎
│ ├── bigprime-datasync-dag-common/
│ ├── bigprime-datasync-dag-config/
│ └── bigprime-datasync-dag-core/
├── bigprime-datasync-query/ # SQL 查询模块
├── bigprime-datasync-distribution/ # 打包分发(Assembly Plugin)
├── bigprime-connector/ # 连接器框架 & 50+ 连接器实现
├── bigprime-connector-flink/ # Flink 连接器适配层
│ ├── flink-api/
│ ├── flink-common/
│ └── flink-1.16/
├── bigprime-connector-seatunnel/ # SeaTunnel 连接器适配层
│ ├── seatunnel-api/
│ ├── seatunnel-2.3.11/
│ └── seatunnel-2.3.12/
├── bigprime-action/ # Action 算子引擎
│ ├── bigprime-action-interface/
│ ├── bigprime-action-core/
│ ├── bigprime-action-impl/
│ └── bigprime-action-worker/
├── bigprime-ai/ # AI 模块
│ ├── bigprime-ai-api/
│ ├── bigprime-ai-core/
│ ├── bigprime-ai-knowledge/
│ ├── bigprime-ai-memory/
│ ├── bigprime-ai-search/
│ ├── bigprime-ai-skill/
│ └── bigprime-ai-usage/
├── bigprime-cluster-management/ # 集群管理
├── bigprime-alert-center/ # 告警中心
│ ├── alert-center-api/
│ ├── alert-center-core/
│ └── alert-center-storage/
├── bigprime-lineage/ # 数据血缘
├── bigprime-log-management/ # 日志管理
├── bigprime-gateway/ # API 网关
│ ├── gateway-api/
│ ├── gateway-core/
│ └── gateway-service/
└── assembly/ # Assembly 描述符 & 启停脚本
```
---
## 💻 技术栈
### 后端
| 技术 | 版本 | 说明 |
|------|------|------|
| Java | 17 | JDK 17+ |
| Spring Boot | 3.2.0 | 核心框架 |
| Spring Cloud | 2023.0.0 | 微服务框架 |
| Spring Cloud Alibaba | 2022.0.0.0 | Nacos 配置中心 & 服务发现 |
| Spring AI | 1.1.4 | AI 模型接入 & MCP Server |
| Apache Flink | 1.16 | 实时计算引擎 |
| Apache SeaTunnel | 2.3.x | 批量数据同步引擎 |
| MyBatis-Plus | 3.5.x | ORM 框架 |
| Hutool | 5.8.23 | Java 工具库 |
| Nacos | 2.2+ | 配置中心 & 服务注册 |
### 前端
| 技术 | 版本 | 说明 |
|------|------|------|
| Vue | 3.5 | 前端框架 |
| OpenTiny Vue | 3.23 | UI 组件库 |
| Vite | 5.4 | 构建工具 |
| TypeScript | 5.4 | 类型安全 |
| AntV X6 | 2.18 | DAG 可视化编排 |
| ECharts | 5.5 | 数据可视化 |
| Monaco Editor | 0.48 | 代码编辑器 |
| Pinia | 2.2 | 状态管理 |
---
## 📜 License
本项目基于 [Apache License 2.0](LICENSE) 开源。
---
## 🙏 致谢
- [Apache Flink](https://flink.apache.org/) — 实时计算引擎
- [Apache SeaTunnel](https://seatunnel.apache.org/) — 数据同步引擎
- [Spring Boot](https://spring.io/projects/spring-boot) — 应用框架
- [Spring AI](https://spring.io/projects/spring-ai) — AI 集成框架
- [OpenTiny](https://opentiny.design/) — Vue 3 UI 组件库
- [AntV X6](https://x6.antv.antgroup.com/) — 图编辑引擎
- [EasyQuery](https://www.easyquery.com/) — 数据查询与过滤组件
## 欢迎交流
- **欢迎您加入社区交流分享**
