Skip to content

数据流转架构方案

文档编号: SYS-TR-AR-003
版本: 1.0
日期: 2026-03-10
编制: 系统架构师
审核: 审核通过 ✅


1. 方案背景

系统平台需要处理用户数据、权限数据、组织架构数据等多种数据类型。数据流转架构设计需要考虑:

  • 数据一致性
  • 读写性能
  • 数据安全
  • 与现有系统集成

2. 数据分层架构

┌─────────────────────────────────────────────────────────────┐
│                      数据接入层                              │
│              API请求 / 批量导入 / 外部系统同步                  │
└─────────────────────────────────────────────────────────────┘


┌─────────────────────────────────────────────────────────────┐
│                      业务逻辑层                              │
│              数据校验 / 业务处理 / 权限控制                    │
└─────────────────────────────────────────────────────────────┘

           ┌───────────────┼───────────────┐
           ▼               ▼               ▼
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│   主存储层       │ │   缓存层         │ │   外部数据层     │
│   MySQL 8.0     │ │   Redis 7.x     │ │   ERP/CRM/OA    │
│  (业务数据)      │ │  (热点数据)      │ │  (集成数据)      │
└─────────────────┘ └─────────────────┘ └─────────────────┘

3. 数据流转设计

3.1 用户登录数据流

┌─────────┐     ┌─────────────┐     ┌─────────────┐     ┌─────────────┐
│  用户   │────>│   前端      │────>│   后端      │────>│   认证中心   │
│         │     │  (Vue)      │     │(SpringBoot) │     │ (OAuth2.0)  │
└─────────┘     └─────────────┘     └──────┬──────┘     └──────┬──────┘
                                           │                   │
                                           │                   │
                                           ▼                   ▼
                                    ┌─────────────┐     ┌─────────────┐
                                    │   Redis     │     │   MySQL     │
                                    │  (会话缓存)  │     │  (用户数据)  │
                                    └─────────────┘     └─────────────┘

流程说明:

  1. 用户输入用户名密码
  2. 前端发送登录请求到后端
  3. 后端调用认证中心验证
  4. 认证中心查询MySQL验证用户
  5. 生成JWT Token,会话存入Redis
  6. 返回Token给前端

3.2 权限校验数据流

┌─────────┐     ┌─────────────┐     ┌─────────────┐     ┌─────────────┐
│  前端   │────>│   后端      │────>│  权限拦截器  │────>│   Redis     │
│ 请求API │     │  Gateway    │     │             │     │ (权限缓存)   │
└─────────┘     └─────────────┘     └──────┬──────┘     └──────┬──────┘
                                           │                   │
                                           │ 缓存未命中          │
                                           ▼                   ▼
                                    ┌─────────────┐     ┌─────────────┐
                                    │   业务处理   │<────│   MySQL     │
                                    │             │     │  (权限数据)  │
                                    └─────────────┘     └─────────────┘

流程说明:

  1. 前端请求携带JWT Token
  2. Gateway验证Token有效性
  3. 权限拦截器查询用户权限
  4. 优先从Redis缓存读取
  5. 缓存未命中查询MySQL
  6. 写入缓存并返回权限结果
  7. 有权限则执行业务逻辑

3.3 组织架构数据流

┌─────────────┐     ┌─────────────┐     ┌─────────────┐
│   管理员    │────>│   后端      │────>│   MySQL     │
│ 修改组织    │     │(SpringBoot) │     │ (主数据)    │
└─────────────┘     └──────┬──────┘     └──────┬──────┘
                           │                   │
                           │ 异步更新           │
                           ▼                   ▼
                    ┌─────────────┐     ┌─────────────┐
                    │   Redis     │     │   外部系统   │
                    │ (缓存刷新)   │     │ (ERP/OA同步) │
                    └─────────────┘     └─────────────┘

流程说明:

  1. 管理员修改组织架构
  2. 后端写入MySQL主数据
  3. 异步刷新Redis缓存
  4. 异步同步到外部系统(ERP/OA)

4. 数据存储策略

4.1 MySQL数据存储

数据类型存储方案说明
用户基础信息MySQL主表用户名、密码、状态等
组织架构MySQL树形表部门、岗位、关系
权限配置MySQL关系表角色、菜单、权限关系
操作日志MySQL分表按时间分表,定期归档
系统配置MySQL配置表参数、字典数据

4.2 Redis缓存策略

缓存类型Key设计过期时间说明
用户会话session:{token}30分钟JWT会话存储
用户权限permission:{userId}10分钟权限数据缓存
组织架构org:tree5分钟部门树缓存
字典数据dict:{type}1小时系统字典缓存
登录失败login:fail:{username}15分钟防暴力破解

4.3 缓存一致性

Cache-Aside模式:

读取数据:
  1. 先读缓存
  2. 缓存命中返回
  3. 缓存未命中读数据库
  4. 写入缓存

写入数据:
  1. 先写数据库
  2. 删除缓存(或更新缓存)

5. 数据同步方案

5.1 与ERP系统同步

同步方向数据类型同步方式频率
ERP → 本系统员工基础信息API接口实时
ERP → 本系统部门信息API接口实时
本系统 → ERP用户状态消息队列实时

5.2 与OA系统同步

同步方向数据类型同步方式频率
OA → 本系统审批流程API接口实时
本系统 → OA权限变更消息队列实时

6. 数据安全

6.1 敏感数据处理

数据类型处理方式说明
密码BCrypt加密单向哈希,带盐值
手机号脱敏存储中间4位掩码
身份证号加密存储AES加密
操作日志全量记录包含操作人、时间、IP

6.2 数据备份

备份类型频率保留周期存储位置
全量备份每日30天异地存储
增量备份每小时7天本地存储
Binlog实时7天本地存储

7. 下一步行动

  1. [ ] 设计数据库表结构(ER图)
  2. [ ] 配置Redis缓存策略
  3. [ ] 实现数据同步接口
  4. [ ] 制定数据安全规范
  5. [ ] 配置数据备份方案

文档版本历史

版本日期修改内容修改人
1.02026-03-10初始版本系统架构师

Released under the MIT License.