6d70520e79
- 新增后端模块:Alert、APIAsset、Compliance、Lineage、Masking、Risk、SchemaChange、Unstructured、Watermark - 新增前端模块页面与API接口 - 新增Alembic迁移脚本(002-014)覆盖全量业务表 - 新增测试数据生成脚本与集成测试脚本 - 修复metadata模型JSON类型导入缺失导致启动失败的问题 - 修复前端Alert/APIAsset页面request模块路径错误 - 更新docker-compose与开发计划文档
163 lines
7.8 KiB
Markdown
163 lines
7.8 KiB
Markdown
# DataPointer 开发计划书
|
||
|
||
> 版本:v1.0 | 日期:2026-04-23
|
||
|
||
---
|
||
|
||
## 一、现状评估
|
||
|
||
| 模块 | 当前状态 | 关键债务/缺口 |
|
||
|------|---------|-------------|
|
||
| 数据源管理 | MySQL/PG/Oracle/SQLServer + 达梦(mock) | 达梦未真实支持;密码加密密钥运行时随机生成,重启后无法解密 |
|
||
| 元数据采集 | 库/表/字段基础采集 | 全量扫描,缺少增量与 Schema 变更追踪 |
|
||
| 分类引擎 | 正则/关键词/枚举规则 | scikit-learn 已引入但未使用;Celery 任务为 placeholder |
|
||
| 项目管理 | 创建/分配/打标/发布 | 无 ML 辅助推荐 |
|
||
| 报告 | Word 导出 | 无 Excel/PDF;无风险摘要 |
|
||
| 安全能力 | 无 | 无脱敏、无水印 |
|
||
| 风险管理 | 无 | 无量化评分、无合规对标 |
|
||
| 非结构化 | 模型已建(UnstructuredFile) | 功能未实现 |
|
||
|
||
---
|
||
|
||
## 二、整体里程碑
|
||
|
||
```
|
||
第一阶段(核心引擎加固 + 智能化) 4 周
|
||
第二阶段(安全能力补齐 + 体验升级) 5 周
|
||
第三阶段(风险管理 + 合规 + 血缘) 6 周
|
||
------------------------------------------------------------------------
|
||
合计 15 周 约 3.5 个月
|
||
```
|
||
|
||
---
|
||
|
||
## 三、第一阶段:核心引擎加固与智能化(4 周)
|
||
|
||
### T1.1 修复数据源密码加密(P0)
|
||
- **方案**:config.py 新增 DB_ENCRYPTION_KEY,读取环境变量;datasource_service.py 改用该密钥;提供 Alembic 迁移脚本处理历史数据。
|
||
- **验收**:重启后历史数据源仍可正常连接;密钥外部注入。
|
||
- **工时**:2d
|
||
|
||
### T1.2 Celery 异步分类落地(P0)
|
||
- **方案**:将 run_auto_classification 逻辑迁入 Celery Task;Project 增加 scan_progress 字段;后端提供 progress 轮询接口;前端增加进度条与后台执行开关。
|
||
- **验收**:万级字段分类 HTTP 不阻塞;前端实时显示进度。
|
||
- **工时**:4d
|
||
|
||
### T1.3 ML 辅助分类原型(P1)
|
||
- **方案**:新增 MLModelVersion 模型;对字段 name/comment/sample_data 做 TF-IDF;用 LogisticRegression/RandomForest 训练;提供 ml-suggest 接口与前端一键采纳;训练任务封装为 Celery Task。
|
||
- **验收**:测试集 Top-1 准确率 >= 70%;前端展示推荐标签与置信度。
|
||
- **工时**:8d
|
||
|
||
### T1.4 语义相似度规则(P1)
|
||
- **方案**:新增 similarity 规则类型;用 TfidfVectorizer + cosine_similarity 计算字段名/注释与基准词相似度;阈值默认 0.75。
|
||
- **验收**:mobile_no / cell_phone / contact_tel 可被同一条规则命中。
|
||
- **工时**:3d
|
||
|
||
### T1.5 增量元数据采集(P1)
|
||
- **方案**:meta 表增加 last_scanned_at 与 checksum;采集时对比 information_schema 仅同步变更;删除对象做软删除保留历史。
|
||
- **验收**:重复采集未变更表不写库;源库新增表仅增量写入。
|
||
- **工时**:4d
|
||
|
||
---
|
||
|
||
## 四、第二阶段:安全能力补齐与体验升级(5 周)
|
||
|
||
### T2.1 数据静态脱敏(P1)
|
||
- **方案**:新增 MaskingRule 模型,支持 mask/truncate/hash/generalize/replace;脱敏预览与导出 API;前端策略配置与左右对比预览页。
|
||
- **验收**:身份证号/手机号按规则掩码导出;支持批量策略应用。
|
||
- **工时**:8d
|
||
|
||
### T2.2 数据水印溯源(P2)
|
||
- **方案**:文本水印采用零宽空格嵌入用户 ID;WatermarkLog 记录导出信息;溯源 API 提取水印追溯到用户。
|
||
- **验收**:导出 CSV 可复制后成功溯源到用户;不影响可读性。
|
||
- **工时**:5d
|
||
|
||
### T2.3 Excel + PDF 报告(P1)
|
||
- **方案**:Excel 用 openpyxl 带条件格式与图表;PDF 采用前端 html2canvas + jspdf 方案,减少后端依赖。
|
||
- **验收**:支持 Word/Excel/PDF 三种导出;PDF 含统计图与 Top20 敏感清单。
|
||
- **工时**:4d
|
||
|
||
### T2.4 达梦真实驱动(P2)
|
||
- **方案**:优先 dmPython,fallback 用 jaydebeapi + JDBC;更新元数据采集适配达梦系统表。
|
||
- **验收**:可连接达梦并采集库表字段元数据。
|
||
- **工时**:4d
|
||
|
||
### T2.5 非结构化文件识别(P2)
|
||
- **方案**:激活 UnstructuredFile;文件存 MinIO;用 python-docx/openpyxl/pdfplumber 解析文本;送入规则引擎识别敏感信息。
|
||
- **验收**:Word/Excel 中的身份证号/手机号可被识别并建议 L4。
|
||
- **工时**:6d
|
||
|
||
### T2.6 Schema 变更追踪(P2)
|
||
- **方案**:新增 SchemaChangeLog 模型;增量采集时自动比对生成变更记录;前端数据源详情页展示变更历史。
|
||
- **验收**:源库新增敏感字段后平台生成变更记录并标红告警。
|
||
- **工时**:4d
|
||
|
||
---
|
||
|
||
## 五、第三阶段:风险管理与合规(6 周)
|
||
|
||
### T3.1 风险评分模型(P1)
|
||
- **方案**:RiskScore = sum(Li * exposure * (1 - protection_rate));新增 RiskAssessment 模型四级聚合;Celery Beat 每日重算;Dashboard 增加风险趋势与排行。
|
||
- **验收**:项目生成 0-100 风险分;未脱敏敏感字段增加时分数上升。
|
||
- **工时**:7d
|
||
|
||
### T3.2 合规检查引擎(P1)
|
||
- **方案**:内置等保/PIPL/GDPR 检查规则;ComplianceChecker 可插拔基类;新增 ComplianceScan/ComplianceIssue;前端规则库与问题清单。
|
||
- **验收**:自动扫描出 L5 未脱敏等不合规项;可导出合规差距分析。
|
||
- **工时**:7d
|
||
|
||
### T3.3 数据血缘分析(P2)
|
||
- **方案**:引入 sqlparse 解析 SQL;新增 DataLineage 模型;前端 ECharts 关系图展示表级血缘,支持 3 层展开。
|
||
- **验收**:典型 ETL SQL 可正确构建血缘链。
|
||
- **工时**:8d
|
||
|
||
### T3.4 风险告警与工单(P1)
|
||
- **方案**:AlertRule 模型配置触发条件;AlertRecord 记录告警;WorkOrder 简易工单流转(open -> in_progress -> resolved);站内消息中心。
|
||
- **验收**:新增 5 个 L5 字段自动生成告警并转工单指派。
|
||
- **工时**:6d
|
||
|
||
### T3.5 API 资产扫描(P2)
|
||
- **方案**:新增 ApiAsset 模型;上传 Swagger/OpenAPI 解析参数与响应 schema;规则引擎标记敏感接口。
|
||
- **验收**:上传含 phone/idCard 的 Swagger 后标记为暴露 L4 数据。
|
||
- **工时**:5d
|
||
|
||
### T3.6 暗黑模式与性能优化(P2)
|
||
- **方案**:Element Plus 动态主题 + Pinia 持久化;大表格虚拟滚动;路由懒加载。
|
||
- **验收**:一键切换暗黑/明亮无闪烁;5 万字段页面滚动 >= 30fps。
|
||
- **工时**:4d
|
||
|
||
---
|
||
|
||
## 六、任务总览
|
||
|
||
| 编号 | 任务 | 阶段 | 优先级 | 工时 | 依赖 |
|
||
|------|------|------|--------|------|------|
|
||
| T1.1 | 修复密码加密密钥管理 | P1 | P0 | 2d | 无 |
|
||
| T1.2 | Celery 异步分类落地 | P1 | P0 | 4d | T1.1 |
|
||
| T1.3 | ML 辅助分类原型 | P1 | P1 | 8d | T1.2 |
|
||
| T1.4 | 语义相似度规则 | P1 | P1 | 3d | 无 |
|
||
| T1.5 | 增量元数据采集 | P1 | P1 | 4d | 无 |
|
||
| T2.1 | 数据静态脱敏 | P2 | P1 | 8d | T1.5 |
|
||
| T2.2 | 数据水印溯源 | P2 | P2 | 5d | T2.1 |
|
||
| T2.3 | Excel + PDF 报告 | P2 | P1 | 4d | 无 |
|
||
| T2.4 | 达梦真实驱动 | P2 | P2 | 4d | 无 |
|
||
| T2.5 | 非结构化文件识别 | P2 | P2 | 6d | T1.2 |
|
||
| T2.6 | Schema 变更追踪 | P2 | P2 | 4d | T1.5 |
|
||
| T3.1 | 风险评分模型 | P3 | P1 | 7d | T2.1, T2.6 |
|
||
| T3.2 | 合规检查引擎 | P3 | P1 | 7d | T3.1 |
|
||
| T3.3 | 数据血缘分析 | P3 | P2 | 8d | 无 |
|
||
| T3.4 | 风险告警与工单 | P3 | P1 | 6d | T3.1, T3.2 |
|
||
| T3.5 | API 资产扫描 | P3 | P2 | 5d | T1.4 |
|
||
| T3.6 | 暗黑模式与性能优化 | P3 | P2 | 4d | 无 |
|
||
|
||
**总计约 89 人天(单人约 3.5 个月;双人并行可压缩至 2 个月)**
|
||
|
||
---
|
||
|
||
## 七、确认事项
|
||
|
||
1. 三阶段范围:是否全部 17 项任务均需开发?有无可削减项?
|
||
2. 达梦环境:是否有真实达梦环境联调?若无,是否接受 jaydebeapi 桥接方案?
|
||
3. ML 训练数据:当前人工标注字段大约多少?若不足,是否构造模拟数据?
|
||
4. 启动顺序:是否从 T1.1 开始依次执行,还是允许阶段间少量并行?
|