docs: 添加DataPointer产品白皮书与功能架构图
- 编写完整功能介绍白皮书(含产品概述、功能详解、技术架构、部署方案) - 绘制总体功能架构图、数据流向图、安全闭环图、部署架构图、核心业务流程图
This commit is contained in:
@@ -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 项目组编制*
|
||||
Reference in New Issue
Block a user