docs: 添加DataPointer产品白皮书与功能架构图

- 编写完整功能介绍白皮书(含产品概述、功能详解、技术架构、部署方案)
- 绘制总体功能架构图、数据流向图、安全闭环图、部署架构图、核心业务流程图
This commit is contained in:
hiderfong
2026-04-25 09:34:41 +08:00
parent ddb8cb8471
commit 474e7aa543
2 changed files with 716 additions and 0 deletions
+354
View File
@@ -0,0 +1,354 @@
# DataPointer 功能架构图
## 一、总体功能架构图
```mermaid
flowchart TB
%% 样式定义
classDef userLayer fill:#e1f5fe,stroke:#01579b,stroke-width:2px,color:#000
classDef appLayer fill:#e8f5e9,stroke:#2e7d32,stroke-width:2px,color:#000
classDef securityLayer fill:#fff3e0,stroke:#ef6c00,stroke-width:2px,color:#000
classDef engineLayer fill:#f3e5f5,stroke:#6a1b9a,stroke-width:2px,color:#000
classDef dataLayer fill:#eceff1,stroke:#455a64,stroke-width:2px,color:#000
classDef infraLayer fill:#fce4ec,stroke:#c2185b,stroke-width:2px,color:#000
%% 用户层
subgraph L5["👤 用户层"]
U1[数据安全管理员]
U2[合规审计员]
U3[分类打标员]
U4[系统管理员]
U5[业务分析师]
end
%% 展示层
subgraph L4["🖥️ 展示层"]
V1[数据资产仪表盘]
V2[分类分级工作台]
V3[安全风险驾驶舱]
V4[合规报告中心]
V5[任务与工单看板]
end
%% 业务应用层
subgraph L3["📦 业务应用层"]
direction TB
subgraph M1["资产管理"]
A1[数据源管理]
A2[元数据目录]
A3[Schema变更追踪]
end
subgraph M2["分类分级"]
A4[分类项目管理]
A5[标注任务中心]
A6[规则模板管理]
end
subgraph M3["安全运营"]
A7[告警规则]
A8[工单流转]
A9[API资产管理]
end
subgraph M4["报表中心"]
A10[统计报表]
A11[报告导出]
A12[操作审计]
end
end
%% 安全能力层
subgraph L2["🔒 安全能力层"]
direction TB
subgraph S1["数据保护"]
B1[静态脱敏引擎]
B2[数字水印溯源]
end
subgraph S2["风险合规"]
B3[风险评分模型]
B4[合规检查引擎]
end
subgraph S3["血缘追溯"]
B5[SQL血缘解析]
B6[血缘关系图谱]
end
end
%% 核心引擎层
subgraph L1["⚙️ 核心引擎层"]
direction TB
subgraph E1["采集与识别"]
C1[元数据采集引擎]
C2[增量扫描引擎]
C3[Schema比对引擎]
end
subgraph E2["智能分类"]
C4[规则匹配引擎]
C5[语义相似度引擎]
C6[ML分类模型]
end
subgraph E3["文件解析"]
C7[Word/Excel解析]
C8[PDF文本提取]
C9[非结构化识别]
end
end
%% 数据源层
subgraph L0["🗄️ 数据源层"]
D1[(PostgreSQL)]
D2[(MySQL)]
D3[(Oracle)]
D4[(SQLServer)]
D5[(达梦DM)]
D6[MinIO对象存储]
D7[Swagger/OpenAPI]
end
%% 基础设施层
subgraph INF["☁️ 基础设施层"]
I1[(PostgreSQL 16)]
I2[(Redis 7)]
I3[MinIO]
I4[Celery Worker]
I5[Celery Beat]
end
%% 连接关系
U1 --> V1 & V3
U2 --> V4
U3 --> V2 & V5
U4 --> V1 & V4 & V5
U5 --> V1 & V2
V1 --> A1 & A2 & A10
V2 --> A4 & A5 & A6
V3 --> A7 & A8 & A10
V4 --> A11 & A12
V5 --> A5 & A8
A1 --> C1
A2 --> C1 & C2
A3 --> C3
A4 --> C4 & C5 & C6
A5 --> C4
A6 --> C4 & C5
A7 --> B3 & B4
A8 --> B3
A9 --> C9
A10 --> B3 & B4
A11 --> B1 & B2
B1 --> C1
B2 --> C7 & C8
B3 --> C4 & C6
B4 --> C4 & C6
B5 --> C1
B6 --> B5
C1 --> D1 & D2 & D3 & D4 & D5
C7 --> D6
C8 --> D6
C9 --> D6 & D7
C1 --> I1
C2 --> I2
C4 --> I4
C6 --> I4
B3 --> I5
B4 --> I5
%% 样式应用
class U1,U2,U3,U4,U5 userLayer
class V1,V2,V3,V4,V5 userLayer
class A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12 appLayer
class B1,B2,B3,B4,B5,B6 securityLayer
class C1,C2,C3,C4,C5,C6,C7,C8,C9 engineLayer
class D1,D2,D3,D4,D5,D6,D7 dataLayer
class I1,I2,I3,I4,I5 infraLayer
```
---
## 二、数据流向架构图
```mermaid
flowchart LR
subgraph 输入["📥 数据输入"]
IN1[关系型数据库]
IN2[非结构化文件]
IN3[API文档]
IN4[SQL脚本]
end
subgraph 处理["🔧 核心处理"]
P1[元数据采集]
P2[规则/ML分类]
P3[风险评分]
P4[合规扫描]
end
subgraph 存储["💾 数据存储"]
S1[(PostgreSQL<br/>业务数据)]
S2[(Redis<br/>缓存/队列)]
S3[MinIO<br/>文件存储]
end
subgraph 输出["📤 数据输出"]
OUT1[分类结果库]
OUT2[风险评分报告]
OUT3[合规差距分析]
OUT4[血缘关系图]
OUT5[脱敏/水印数据]
end
IN1 --> P1 --> S1
IN2 --> P2 --> S3
IN3 --> P2 --> S1
IN4 --> P4 --> S1
S1 --> P2 --> OUT1
S1 --> P3 --> OUT2
S1 --> P4 --> OUT3
S1 --> P4 --> OUT4
S3 --> P4 --> OUT5
S2 -.-> P1 & P2 & P3 & P4
```
---
## 三、安全能力闭环图
```mermaid
flowchart TD
A[数据发现] --> B[自动分类分级]
B --> C[风险量化评估]
C --> D{风险等级?}
D -->|高风险| E[触发告警]
D -->|中风险| F[生成工单]
D -->|低风险| G[持续监控]
E --> H[数据脱敏]
F --> H
H --> I[数字水印]
I --> J[合规检查]
J --> K{合规通过?}
K -->|否| L[整改优化]
L --> B
K -->|是| M[报告导出]
G --> N[Schema变更追踪]
N --> C
```
---
## 四、系统部署架构图
```mermaid
flowchart TB
subgraph 外部用户["外部用户"]
USER[浏览器/客户端]
end
subgraph 接入层["接入层"]
NGINX[Nginx<br/>反向代理/负载均衡]
end
subgraph 应用层["应用层"]
FE[Vue3 前端<br/>静态资源]
BE1[FastAPI 实例1]
BE2[FastAPI 实例2]
WORKER1[Celery Worker 1]
WORKER2[Celery Worker 2]
BEAT[Celery Beat]
FLOWER[Flower 监控]
end
subgraph 数据层["数据层"]
PG[(PostgreSQL<br/>主从集群)]
REDIS[(Redis<br/>Sentinel)]
MINIO[MinIO<br/>分布式对象存储]
end
USER --> NGINX
NGINX --> FE
NGINX --> BE1 & BE2
BE1 & BE2 --> PG & REDIS & MINIO
BEAT --> REDIS
WORKER1 & WORKER2 --> REDIS & PG & MINIO
FLOWER --> REDIS
```
---
## 五、核心业务流程图
### 5.1 数据分类分级流程
```mermaid
sequenceDiagram
actor 管理员
participant 前端
participant 后端API
participant Celery
participant 数据库
管理员->>前端: 创建分类项目
前端->>后端API: POST /projects
后端API->>数据库: 保存项目配置
数据库-->>后端API: 返回项目ID
后端API-->>前端: 创建成功
管理员->>前端: 启动自动分类
前端->>后端API: POST /auto-classify/{id}
后端API->>Celery: 投递异步任务
Celery-->>后端API: 任务ID
后端API-->>前端: 已开始
loop 进度轮询
前端->>后端API: GET /auto-classify-status
后端API-->>前端: 当前进度
end
Celery->>数据库: 写入分类结果
Celery-->>后端API: 任务完成
管理员->>前端: 查看结果并人工复核
前端->>后端API: PUT /results/{id}/label
后端API->>数据库: 更新结果状态
```
### 5.2 风险告警与工单流程
```mermaid
sequenceDiagram
participant 定时器
participant CeleryBeat
participant 告警引擎
participant 数据库
actor 安全管理员
participant 工单系统
定时器->>CeleryBeat: 触发每日扫描
CeleryBeat->>告警引擎: 执行风险重算
告警引擎->>数据库: 查询敏感数据分布
告警引擎->>告警引擎: 比对阈值规则
alt 触发告警条件
告警引擎->>数据库: 写入告警记录
告警引擎-->>安全管理员: 站内消息通知
安全管理员->>工单系统: 一键转工单
工单系统->>数据库: 创建工单记录
工单系统-->>安全管理员: 指派处理人
else 未触发
告警引擎->>数据库: 更新风险评分
end
安全管理员->>工单系统: 处理完成
工单系统->>数据库: 更新工单状态
```
---
*DataPointer 功能架构图 v1.0 | 由 DataPointer 项目组编制*
+362
View File
@@ -0,0 +1,362 @@
# DataPointer 数据安全分级及风险管理平台
## 产品白皮书
> **版本**v1.0
> **日期**2026-04-25
> **定位**:财产保险行业数据分级分类管理与数据安全治理平台
---
## 一、产品概述
DataPointer 是一款面向财产保险行业的数据安全分级分类及风险管理平台。平台以《数据安全法》《个人信息保护法》及保险行业监管要求为合规基线,通过自动化的元数据采集、智能分类分级引擎、多维风险量化模型与全链路数据安全能力,帮助保险企业实现数据资产的"可见、可管、可控"。
### 1.1 核心价值
| 价值维度 | 具体收益 |
|---------|---------|
| **合规达标** | 对标等保 2.0、PIPL、GDPR 及银保监会数据监管要求,自动生成合规差距报告 |
| **资产可视化** | 多数据源统一纳管,库/表/字段层级血缘与敏感分布一目了然 |
| **智能分类** | 规则引擎 + ML 模型双引擎驱动,万级字段分钟级自动定级,准确率 ≥ 70% |
| **风险量化** | 基于暴露面与保护措施的动态风险评分,敏感数据变动实时感知 |
| **安全闭环** | 脱敏、水印、告警、工单四位一体,实现数据安全治理闭环 |
### 1.2 适用场景
- **数据分类分级治理**:核心业务系统、客户信息系统、财务系统的敏感数据梳理与定级
- **监管合规检查**:等保测评、个人信息保护审计、监管报送前的数据合规自检
- **数据出境评估**:识别出境数据中的敏感与核心数据,评估保护强度
- **API 敏感接口治理**:扫描 Swagger/OpenAPI,识别暴露敏感字段的接口
- **非结构化文件管控**Word、Excel、PDF 合同与保单中的敏感信息识别
---
## 二、功能架构总览
DataPointer 采用"四层两域"的功能架构:
- **四层**:数据采集层 → 核心引擎层 → 安全能力层 → 业务应用层
- **两域**:管理域(配置、审批、审计)+ 运营域(分类、脱敏、风控)
```mermaid
flowchart TB
subgraph 展示层["展示层"]
A1[数据资产大屏]
A2[分类分级工作台]
A3[安全风险驾驶舱]
A4[合规报告中心]
end
subgraph 业务应用层["业务应用层"]
B1[数据源管理]
B2[分类项目管理]
B3[标注任务中心]
B4[报表与报告]
B5[告警工单]
B6[API资产]
end
subgraph 安全能力层["安全能力层"]
C1[数据脱敏]
C2[数字水印]
C3[合规检查]
C4[风险评分]
C5[血缘分析]
end
subgraph 核心引擎层["核心引擎层"]
D1[元数据采集引擎]
D2[规则分类引擎]
D3[ML辅助分类]
D4[Schema变更感知]
D5[非结构化识别]
end
subgraph 数据采集层["数据采集层"]
E1[(PostgreSQL)]
E2[(MySQL)]
E3[(Oracle)]
E4[(SQLServer)]
E5[(达梦DM)]
E6[MinIO文件存储]
E7[Swagger/OpenAPI]
end
展示层 --> 业务应用层
业务应用层 --> 安全能力层
安全能力层 --> 核心引擎层
核心引擎层 --> 数据采集层
```
---
## 三、功能模块详解
### 3.1 数据资产管理
**数据源管理**
- 支持 PostgreSQL、MySQL、Oracle、SQLServer、达梦(DM)等多类型数据源注册
- 数据源连接密码采用 Fernet 加密存储,密钥外部注入,重启后可解密
- 连接可用性一键测试,数据源状态实时监控(活跃/异常)
**元数据采集**
- 自动采集库、表、字段三级元数据,包含数据类型、长度、注释、样本数据
- 支持增量采集:基于 `checksum``last_scanned_at` 仅同步变更,减少数据库压力
- 支持全量手动同步与定时自动同步两种模式
**Schema 变更追踪**
- 增量采集时自动比对历史元数据,识别新增/删除/修改字段
- 生成 Schema 变更日志,敏感字段新增时自动标红告警
- 支持按数据源、变更类型(ADD/MODIFY/DROP)筛选查询
### 3.2 数据分类分级
**分类标准管理**
- 内置财产保险行业分类模板:客户信息、保单信息、理赔信息、财务信息、渠道信息、监管报送、内部系统
- 五级安全等级:公开级(L1)、内部级(L2)、秘密级(L3)、机密级(L4)、核心级(L5)
- 支持自定义分类目录与颜色标识
**识别规则引擎**
- 规则类型:正则匹配、关键词包含、枚举值、语义相似度(cosine similarity ≥ 0.75
- 规则绑定分类 + 等级,支持多规则组合命中
- 规则热更新,无需重启即可生效
**自动分类引擎**
- 基于规则的自动打标:字段名、注释、样本数据多维度匹配
- Celery 异步执行,万级字段分类不阻塞 HTTP 接口
- 实时进度反馈:前端进度条 + 后端 `scan_progress` 轮询
**ML 辅助分类**
- 基于字段 name / comment / sample_data 的 TF-IDF 特征工程
- 支持 LogisticRegression / RandomForest 模型训练
- 提供 `ml-suggest` 接口,前端一键采纳推荐标签与置信度
- 模型版本化管理(MLModelVersion),支持回滚与 A/B 对比
**人工标注与审核**
- 项目化任务分配:创建任务 → 指派打标员 → 提交结果 → 审核员复核
- 支持单人标注、多人交叉标注两种模式
- 标注结果状态流转:auto → manual → reviewed → published
### 3.3 数据安全保护
**数据静态脱敏**
- 脱敏策略:掩码(mask)、截断(truncate)、哈希(hash)、泛化(generalize)、替换(replace)
- 策略绑定敏感等级与分类,支持批量策略应用
- 脱敏预览:左右对比原文与脱敏后效果,确认后导出
**数字水印溯源**
- 文本水印:采用零宽空格(Zero-Width Spaces)嵌入用户 ID
- 水印不可见、不影响可读性,复制粘贴后仍可提取
- 溯源 API 提取水印信息,精准定位数据泄露源头
- WatermarkLog 记录每次导出行为,形成审计链条
### 3.4 风险管理与合规
**风险评分模型**
- 评分公式:`RiskScore = Σ(Li × exposure × (1 - protection_rate))`
- 四级聚合:全局风险 → 数据源风险 → 数据库风险 → 表级风险
- 风险 TOP N 排行,Dashboard 实时展示风险趋势
- Celery Beat 每日自动重算,敏感字段未脱敏时分数自动上升
**合规检查引擎**
- 内置规则库:等保 2.0、PIPL(个人信息保护法)、GDPR
- 可插拔检查器基类,支持自定义合规规则
- 自动扫描生成问题清单:L5 未脱敏、缺少分类、Schema 变更未审批等
- 支持问题导出为合规差距分析报告
**智能告警与工单**
- 告警规则配置:敏感字段新增数、风险分阈值、Schema 变更类型
- 告警记录管理:未读/已读/已处理状态流转
- 一键转工单:告警 → 工单 → 指派 → 处理 → 关闭
- 工单状态:open → in_progress → resolved,支持处理结论备注
### 3.5 数据血缘分析
- 基于 `sqlparse` 解析 SQL 脚本(ETL、存储过程),提取表级血缘关系
- 支持 INSERT/CREATE TABLE AS / MERGE 等常见语法
- 前端 ECharts 关系图展示,支持上下游 3 层展开
- 血缘记录持久化存储,支持按表名查询全链路影响
### 3.6 API 资产安全管理
- API 资产注册:名称、基础 URL、Swagger 地址、认证方式
- 自动扫描 Swagger/OpenAPI 文档,解析端点、参数、响应 Schema
- 规则引擎标记敏感接口:暴露 phone、idCard、bankCard 等字段的接口自动标红
- 端点级风险等级评估与清单导出
### 3.7 非结构化数据识别
- 支持 Word、Excel、PDF、TXT 文件上传
- 文件存储至 MinIO,解析文本后送入规则引擎
- 识别结果:匹配规则名、敏感分类、安全等级、文本片段定位
- 支持重新处理与结果查看
### 3.8 数据资产仪表盘
**核心指标卡**
- 数据源总数、数据表总数、字段总数
- 已分类字段数、敏感字段数、项目总数
**可视化图表**
- 等级分布饼图:L1~L5 字段占比
- 分类 TOP8 横向柱状图
- 数据源 × 等级热力矩阵
- 项目进度甘特图
- 风险趋势折线图
**报告导出**
- 支持 Word、Excel、PDF 三种格式
- 报告包含:项目概况、等级分布、Top20 敏感清单、合规摘要
---
## 四、技术架构
### 4.1 总体技术栈
```mermaid
flowchart LR
subgraph 前端["前端层"]
F1[Vue 3]
F2[Vite]
F3[Element Plus]
F4[ECharts]
F5[Pinia]
end
subgraph 后端["后端层"]
B1[FastAPI]
B2[SQLAlchemy 2.0]
B3[Pydantic v2]
B4[Celery]
end
subgraph 数据层["数据层"]
D1[(PostgreSQL 16)]
D2[(Redis 7)]
D3[MinIO]
end
subgraph 算法层["算法层"]
A1[scikit-learn]
A2[sqlparse]
A3[TfidfVectorizer]
end
前端 -->|HTTP /api/v1| 后端
后端 -->|SQL| 数据层
后端 -->|Task Queue| D2
后端 -->|Object Storage| D3
后端 -->|ML / Parsing| 算法层
```
### 4.2 后端服务架构
| 服务 | 技术 | 职责 |
|------|------|------|
| Web API | FastAPI + Uvicorn | RESTful API 服务,JWT 认证 |
| Celery Worker | Celery + Redis | 异步分类、ML 训练、风险重算 |
| Celery Beat | Celery + Redis | 定时任务调度(风险重算、合规扫描)|
| Flower | Celery Monitor | 任务监控与可视化 |
### 4.3 数据模型设计
平台共涉及 **31 张业务表**,核心实体关系如下:
```mermaid
erDiagram
DATA_SOURCE ||--o{ META_DATABASE : contains
META_DATABASE ||--o{ META_TABLE : contains
META_TABLE ||--o{ META_COLUMN : contains
CLASSIFICATION_PROJECT ||--o{ CLASSIFICATION_TASK : has
CLASSIFICATION_PROJECT ||--o{ CLASSIFICATION_RESULT : produces
META_COLUMN ||--o{ CLASSIFICATION_RESULT : classified_as
CATEGORY ||--o{ CLASSIFICATION_RESULT : belongs_to
DATA_LEVEL ||--o{ CLASSIFICATION_RESULT : rated_as
SYS_USER ||--o{ CLASSIFICATION_TASK : assigned_to
DATA_SOURCE ||--o{ RISK_ASSESSMENT : assessed
CLASSIFICATION_RESULT ||--o{ COMPLIANCE_ISSUE : generates
ALERT_RECORD ||--o{ WORK_ORDER : converts_to
API_ASSET ||--o{ API_ENDPOINT : has
```
---
## 五、部署方案
### 5.1 Docker Compose 单机部署(推荐试用)
```yaml
# 一键启动 7 个服务
services:
db: postgres:16-alpine
redis: redis:7-alpine
minio: minio/minio
backend: FastAPI + Alembic 自动迁移
frontend: Vue3 Vite DevServer
celery_worker: Celery Worker (concurrency=2)
celery_beat: Celery Beat 定时调度
flower: Celery 监控面板
```
### 5.2 生产环境最低配置
| 资源 | 最低规格 | 推荐规格 |
|------|---------|---------|
| CPU | 4 核 | 8 核 |
| 内存 | 8 GB | 16 GB |
| 磁盘 | 100 GB SSD | 500 GB SSD |
| 网络 | 5 Mbps | 10 Mbps |
### 5.3 高可用扩展建议
- **数据库**PostgreSQL 主从 + 连接池(PgBouncer
- **缓存/队列**Redis Sentinel 或 Redis Cluster
- **对象存储**:MinIO 分布式集群
- **应用层**FastAPI 多实例 + Nginx 负载均衡
- **前端**:静态资源托管至 CDN
---
## 六、安全设计
### 6.1 认证与授权
- JWT Access Token + Refresh Token 双令牌机制
- RBAC 角色权限控制:超级管理员 / 管理员 / 项目负责人 / 打标员 / 审核员 / 访客
- 数据隔离:非管理员仅可查看自己创建/参与的项目与任务
### 6.2 数据安全
- 数据源密码 Fernet 加密存储,密钥外部注入(`DB_ENCRYPTION_KEY`
- 数据库连接 SSL 支持
- 操作审计日志:记录用户、模块、动作、IP、耗时
### 6.3 部署安全
- `.env` 环境变量隔离敏感配置,不进入代码仓库
- Docker 镜像最小化(python:3.12-slim、node:20-alpine
- CORS 白名单限制前端域
---
## 七、项目里程碑与规划
| 阶段 | 周期 | 核心目标 | 关键交付 |
|------|------|---------|---------|
| 第一阶段 | 4 周 | 核心引擎加固 + 智能化 | 密码加密修复、Celery 异步分类、ML 辅助原型、语义相似度、增量采集 |
| 第二阶段 | 5 周 | 安全能力补齐 + 体验升级 | 静态脱敏、数字水印、Excel/PDF 报告、达梦驱动、非结构化识别、Schema 变更 |
| 第三阶段 | 6 周 | 风险管理 + 合规 + 血缘 | 风险评分、合规引擎、血缘分析、告警工单、API 资产扫描、暗黑模式 |
**总计约 89 人天**,双人并行可压缩至 2 个月。
---
## 八、总结
DataPointer 以"数据分级分类"为核心切入点,构建了覆盖**数据采集 → 智能分类 → 安全保护 → 风险合规 → 血缘追溯**的全链路数据安全治理平台。平台采用现代化的前后端技术栈,支持容器化一键部署,具备高度的可扩展性与可定制性,能够满足财产保险企业在数字化转型过程中的数据安全合规需求。
---
*DataPointer 产品白皮书 v1.0 | 由 DataPointer 项目组编制*