Files
prop-data-guard/DEVELOPMENT_PLAN.md
hiderfong 6d70520e79 feat: 全量功能模块开发与集成测试修复
- 新增后端模块:Alert、APIAsset、Compliance、Lineage、Masking、Risk、SchemaChange、Unstructured、Watermark
- 新增前端模块页面与API接口
- 新增Alembic迁移脚本(002-014)覆盖全量业务表
- 新增测试数据生成脚本与集成测试脚本
- 修复metadata模型JSON类型导入缺失导致启动失败的问题
- 修复前端Alert/APIAsset页面request模块路径错误
- 更新docker-compose与开发计划文档
2026-04-25 08:51:38 +08:00

163 lines
7.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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 TaskProject 增加 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
- **方案**:优先 dmPythonfallback 用 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 开始依次执行,还是允许阶段间少量并行?