Skip to content

Latest commit

 

History

History
460 lines (349 loc) · 14.5 KB

File metadata and controls

460 lines (349 loc) · 14.5 KB

项目实施路线图

1. 整体规划

1.1 项目阶段

┌─────────────────────────────────────────────────────────────────────────────┐
│                           DataJump 项目实施路线图                            │
├───────────┬───────────┬───────────┬───────────┬───────────┬────────────────┤
│  Phase 1  │  Phase 2  │  Phase 3  │  Phase 4  │  Phase 5  │    Phase 6     │
│  基础框架  │  调度引擎  │  数据集成  │  数据开发  │  元数据   │   运维监控     │
├───────────┼───────────┼───────────┼───────────┼───────────┼────────────────┤
│   MVP     │    核心    │   扩展    │    扩展    │   扩展    │     完善       │
└───────────┴───────────┴───────────┴───────────┴───────────┴────────────────┘

1.2 人员配置建议

角色 人数 职责
技术负责人 1 架构设计、技术决策、代码审查
后端开发 3-4 服务端开发、API 设计
前端开发 2 Web 端开发、组件封装
测试工程师 1-2 功能测试、自动化测试
DevOps 1 CI/CD、部署运维

2. Phase 1: 基础框架搭建

2.1 目标

搭建项目基础框架,完成技术选型验证,建立开发规范。

2.2 任务清单

后端

任务 优先级 交付物
Spring Boot 项目脚手架 P0 多模块 Maven 项目
统一异常处理 P0 GlobalExceptionHandler
统一响应封装 P0 Response 类
数据库连接配置 P0 MySQL + MyBatis-Plus
Redis 集成 P0 缓存配置
用户认证模块 P0 JWT 认证
权限管理模块 P1 RBAC 模型
日志配置 P1 Logback + ELK
Swagger 文档 P1 API 文档

前端

任务 优先级 交付物
Vite + React 项目初始化 P0 前端项目框架
Ant Design Pro 集成 P0 企业级脚手架
路由配置 P0 React Router
状态管理 P0 Zustand 配置
HTTP 请求封装 P0 Axios 拦截器
主题配置 P1 深色主题
布局组件 P1 Header/Sidebar/Content
登录页面 P0 登录/注册

DevOps

任务 优先级 交付物
Git 仓库初始化 P0 分支策略
CI 流水线 P0 GitLab CI
开发环境部署 P0 Docker Compose
代码规范检查 P1 ESLint/Checkstyle

2.3 里程碑

  • 后端服务可启动,健康检查通过
  • 前端页面可访问,路由正常
  • 用户可登录/登出(JWT 认证)
  • CI 流水线运行正常

3. Phase 2: 调度引擎核心

3.1 目标

完成分布式调度引擎核心功能,支持 DAG 任务编排和调度执行。

3.2 任务清单

后端

任务 优先级 交付物
DAG 数据模型设计 P0 数据库表结构
DAG CRUD API P0 RESTful API
DAG 解析器(拓扑排序) P0 DAGParser 类
Quartz 集成 P0 定时调度
Master 服务 P0 调度核心
Worker 服务 P0 任务执行
Kafka 消息队列集成 P0 任务分发
任务状态机 P0 状态流转
重试机制 P1 RetryExecutor
超时处理 P1 TimeoutHandler
Master 高可用(ZK 选主) P2 HA 方案

前端

任务 优先级 交付物
DAG 列表页面 P0 任务列表
DAG 编辑器 - 画布 P0 ReactFlow 集成
DAG 编辑器 - 节点面板 P0 拖拽添加
DAG 编辑器 - 属性面板 P0 节点配置
DAG 校验 P1 循环检测
任务实例列表 P1 执行记录
任务日志查看 P1 日志面板

3.3 里程碑

  • 可创建、编辑、删除 DAG
  • 可手动触发 DAG 执行
  • 可查看任务执行状态
  • 可查看任务日志
  • 支持 Cron 定时调度

4. Phase 3: 数据集成模块

4.1 目标

实现数据源管理和数据同步功能,支持批量同步和实时同步。

4.2 任务清单

后端

任务 优先级 交付物
数据源管理 API P0 CRUD + 测试连接
MySQL 连接器 P0 Reader/Writer
PostgreSQL 连接器 P1 Reader/Writer
Hive 连接器 P1 Reader/Writer
Kafka 连接器 P1 Reader/Writer
DataX 集成 P0 Job 生成器
批量同步任务管理 P0 CRUD API
批量同步执行 P0 DataX 执行
增量同步机制 P1 Checkpoint
Schema 校验服务 P1 表结构兼容性验证
Flink CDC 集成 P2 实时同步
实时同步任务管理 P2 CRUD API

前端

任务 优先级 交付物
数据源列表页面 P0 列表 + 新建
数据源配置表单 P0 连接配置
Schema 浏览器 P1 表/列浏览
数据预览 P1 数据预览
批量同步配置向导 P0 步骤表单
字段映射配置 P0 字段对应
同步任务列表 P0 任务管理
同步监控 P1 进度/指标

4.3 里程碑

  • 支持 MySQL 数据源
  • 可配置批量同步任务
  • 可执行批量同步(DataX + Docker 容器化)
  • 可查看同步进度和结果(实时监控面板)
  • 支持增量同步(时间戳/自增ID 位点管理)
  • Schema 校验服务(源/目标表结构兼容性验证 + 智能字段推荐)

5. Phase 4: 数据开发模块

5.1 目标

完成 SQL IDE 和发布流程,提供完整的数据开发体验。

5.2 任务清单

后端

任务 优先级 交付物
SQL 执行服务 P0 多引擎执行
Hive 执行器 P0 HiveServer2
Spark 执行器 P1 SparkSQL
Presto 执行器 P2 Presto 连接
执行计划获取 P1 Explain
查询结果存储 P0 MinIO/OSS
SQL 任务管理 P0 CRUD API
版本管理 P1 版本快照
发布流程 P1 多环境发布
审批流程 P2 审批记录

前端

任务 优先级 交付物
Monaco Editor 集成 P0 SQL 编辑器
SQL 语法高亮 P0 语言配置
智能补全 P1 表名/列名
执行结果表格 P0 数据展示
结果导出 P1 CSV/Excel
执行计划可视化 P2 树形图
查询历史 P1 历史记录
文件树 P1 任务管理
发布页面 P1 发布向导
审批页面 P2 审批流程

5.3 里程碑

  • SQL IDE 基本可用(Monaco Editor + 格式化 + 保存查询)
  • 可执行 SQL 查询
  • 可查看执行结果
  • 可保存和管理 SQL 任务
  • 版本管理(JSON 快照 + Diff + 回滚)
  • 发布上线(单人审批 + 部署 + 线上版本追踪)

6. Phase 5: 元数据服务

6.1 目标

建立元数据管理体系,实现数据血缘追踪和数据资产管理。

6.2 任务清单

后端

任务 优先级 交付物 状态
数据源元数据同步 P0 JDBC 元数据采集
表/列资产管理 P0 CRUD API
数据资产搜索 P0 MySQL LIKE 搜索
SQL 血缘解析 P1 JSqlParser
血缘存储(Neo4j) P1 图数据库
血缘查询 API P1 上下游查询
血缘自动发现 P1 解析时自动创建表资产
Elasticsearch 索引 P2 全文检索
业务术语管理 P2 术语 CRUD
数据标签 P2 标签管理
数据质量规则 P2 规则配置
质量检测执行 P2 定时检测

前端

任务 优先级 交付物 状态
数据资产搜索页面 P0 搜索 + 结果
表详情页面 P0 表信息 + 列
血缘图可视化 P1 G6 图表
影响分析 P1 上下游展示
业务术语页面 P2 术语管理
数据标签页面 P2 标签管理
质量规则配置 P2 规则表单
质量报告 P2 报告展示

6.3 里程碑

  • 可同步数据源元数据(MySQL/PostgreSQL via JDBC)
  • 可搜索数据资产(支持表名、数据库名、描述搜索)
  • 可查看表/列详情(含主键、类型、注释)
  • 可查看数据血缘(JSqlParser 解析 + Neo4j 存储 + G6 可视化)
  • 可配置质量规则(5 种规则类型 + Dashboard + 检查报告)
  • Elasticsearch 全文搜索(支持 MySQL 降级)

7. Phase 6: 运维监控中心

7.1 目标

建立运维监控体系,实现任务监控、告警通知、日志查询等功能。

7.2 任务清单

后端

任务 优先级 交付物 状态
监控指标采集 P0 Prometheus + Micrometer
监控大盘 API P0 统计数据 + 同比变化
告警规则管理 P1 CRUD API
告警检测引擎 P1 定时检测(30秒)
告警通知服务 P1 多渠道
飞书通知 P1 Webhook 卡片消息
日志采集(ELK) P1 Logstash Encoder
日志查询 API P1 ES 查询
SLA 配置 P2 CRUD API 待开发
SLA 监控 P2 违约检测 待开发

前端

任务 优先级 交付物 状态
监控大盘页面 P0 统计卡片 + 图表
任务状态分布 P0 耗时分布柱状图
成功率趋势 P0 折线图 + 均值线
实时任务列表 P1 任务表格
告警规则配置 P1 配置表单
告警记录列表 P1 告警列表
日志查询页面 P1 搜索 + 列表
实时日志流 P2 SSE 推送
SLA 报表 P2 报表展示 待开发

运维

任务 优先级 交付物 状态
Docker Compose 配置 P0 Prometheus + Grafana + Kibana
Grafana Dashboard P1 预配置监控面板

7.3 里程碑

  • 监控大盘可用(统计卡片 + 成功率趋势 + 耗时分布 + 同比变化)
  • 可配置告警规则(TASK_FAILED/SUCCESS_RATE_LOW/TASK_TIMEOUT)
  • 可接收告警通知(飞书 Webhook 卡片消息)
  • 可查询任务日志(ES 集成 + 关键词/级别/时间范围过滤)
  • SLA 监控可用(可选)

8. 质量保障

8.1 代码质量

措施 工具 标准
代码规范 ESLint/Checkstyle 0 Error
单元测试 JUnit/Vitest 覆盖率 > 60%
代码审查 GitLab MR 必须审查
静态分析 SonarQube A 级

8.2 测试策略

测试类型 覆盖范围 执行时机
单元测试 核心逻辑 每次提交
集成测试 API 接口 每次合并
E2E 测试 核心流程 发布前
性能测试 关键接口 发布前

9. 风险管理

9.1 技术风险

风险 概率 影响 应对措施
调度引擎性能瓶颈 提前进行压测,预留扩展方案
大数据组件兼容性 明确版本要求,提前验证
前端性能问题 虚拟列表、懒加载优化

9.2 进度风险

风险 概率 影响 应对措施
需求变更 迭代开发,及时沟通
人员变动 文档完善,知识共享
依赖延迟 提前识别,并行开发

10. 交付计划

10.1 版本规划

版本 包含阶段 主要功能 状态
v0.1.0 Phase 1 基础框架、登录认证 已完成
v0.5.0 Phase 1-2 调度引擎、DAG 编排 已完成
v1.0.0 Phase 1-4 数据集成、SQL IDE、发布流程 已完成
v1.5.0 Phase 1-5 元数据、血缘 已完成
v2.0.0 Phase 1-6 全功能版本(运维监控) 已完成

10.2 迭代节奏

  • 迭代周期:2 周
  • 每迭代末进行 Demo 演示
  • 每月进行一次版本发布

11. 后续演进

11.1 功能增强

  • 支持更多数据源(ClickHouse、MongoDB、Elasticsearch)
  • 实时计算任务支持(Flink SQL)
  • 数据 API 服务(数据服务化)
  • AI 辅助(智能补全、异常检测)
  • 多租户支持
  • 新功能单元测试(120 个测试用例)

11.2 技术优化

  • 微服务拆分
  • 服务网格(Istio)
  • 边缘部署支持
  • 混合云部署

12. 代码统计

更新时间:2026-01-25

12.1 总览

类别 文件数 代码行数
源代码总计 242 35,504
文档 (Markdown) 16 13,975
Docker 配置 18 1,243

12.2 后端 (Java)

分类 文件数 代码行数
主代码 149 13,939
测试代码 30 7,639
合计 179 21,578

按模块分布:

模块 代码行数 功能
development 3,208 数据开发 (SQL IDE, Flink, Data API)
scheduler 2,655 调度引擎 (DAG, 执行器)
integration 2,121 数据集成 (DataX, 数据源)
metadata 1,920 元数据服务 (血缘, 资产)
monitor 1,785 运维监控 (告警, 异常检测)
common 1,229 公共模块 (实体, 多租户)
quality 536 数据质量
api 485 API 网关 (认证, 拦截器)

12.3 前端 (TypeScript/React)

分类 文件数 代码行数
页面 (pages) 22 10,231
服务/工具 (services/utils) 6 1,256
组件 (components) 1 252
其他 (router等) 6 314
合计 35 12,053

12.4 测试统计

指标 数值
测试文件数 30
测试代码行数 7,639
测试用例数 349
测试代码占比 35.4%