# 企业级目标业务架构文档 本文档定义的是本项目后续重构应对齐的**目标态企业级业务架构**。 如果当前实现与本文档不一致,以本文档作为未来架构和业务规则的基线。 本文档只讨论: - 业务目标 - 领域划分 - 核心业务对象 - 模块职责 - 核心流程 - 统一业务规则 - 状态定义与状态流转 - 权限模型 本文档不讨论: - 实施计划 - 任务排期 - 测试清单 - 当前实现细节的迁移步骤 ## 1. 文档目标与适用范围 ### 1.1 文档目标 这份文档用于建立一个可长期演进的企业级业务架构基线,使后续开发、重构、测试设计和 Code Review 都围绕同一套业务语义进行,而不是继续围绕局部实现细节做增量修补。 ### 1.2 适用范围 本文适用于以下业务域: - 身份与访问控制 - 用户工作空间 - 文件内容资产 - 分享与外部分发 - 快传 - 后台任务 - 存储治理 - 运营与管理 ## 2. 系统定位 系统定位为: **以个人和组织成员文件资产为中心的统一文件服务平台** 平台的核心价值不是“存文件”本身,而是: 1. 统一身份 2. 统一文件资产模型 3. 统一分享与传输能力 4. 统一治理、审计和存储策略 平台面向三类对象: - 最终用户 - 运营/支持人员 - 系统管理员 ## 3. 架构原则 ### 3.1 业务规则必须有唯一归属 每一条核心业务规则都必须有唯一归属域,不允许在多个 Service、多个控制器或多个前端页面中各自实现一套。 ### 3.2 逻辑文件与物理内容分离 用户看到的文件、目录、分享、回收站等都属于**逻辑资产层**。 对象存储中的字节内容、版本、缩略图、转码产物等属于**内容资产层**。 ### 3.3 权限模型独立于页面和接口 权限必须由统一授权模型决定,而不是由页面入口、控制器路径或配置白名单临时拼接。 ### 3.4 同类能力统一入口 分享、上传、后台任务、管理设置等同类能力必须有统一入口和统一语义,不允许长期双轨并存。 ### 3.5 业务状态优先于技术状态 系统对外表达的状态必须是业务状态,而不是底层实现状态的直接暴露。 ### 3.6 删除是业务动作,不是物理动作 删除、恢复、过期清理必须服从业务生命周期,不允许把物理对象操作直接等同于业务删除。 ## 4. 角色模型 目标态采用四层角色模型: - `VISITOR` - `MEMBER` - `OPERATOR` - `ADMIN` ### 4.1 `VISITOR` 定义: - 未登录访问者 可执行: - 访问公开分享 - 接收公开可接收的传输会话 不可执行: - 访问个人工作空间 - 创建需要归属主体的业务对象 - 执行管理操作 ### 4.2 `MEMBER` 定义: - 普通登录用户 可执行: - 管理自己的工作空间 - 上传、下载、删除、恢复、复制、移动、重命名自己的文件 - 创建和管理自己的分享 - 创建和管理自己的传输会话 - 导入外部文件到自己的工作空间 - 查看和管理自己的后台任务 ### 4.3 `OPERATOR` 定义: - 运营或支持角色 职责: - 处理支持型治理工作 - 查看全局业务对象 - 处理受控的运营动作 限制: - 不直接拥有系统级配置权限 - 不直接替代系统管理员 ### 4.4 `ADMIN` 定义: - 系统治理角色 职责: - 管理系统级策略、权限、存储、任务与全局设置 ### 4.5 角色模型规则 - 角色是授权模型的一部分,不是页面装饰字段 - 所有管理能力必须绑定 `OPERATOR` 或 `ADMIN` - 工作空间资源的所有权规则优先于角色扩权 - 高风险管理动作必须具备审计记录 ## 5. 领域划分 目标态系统划分为八个核心业务域。 ### 5.1 身份与访问控制域 职责: - 注册 - 登录 - 会话管理 - 令牌刷新 - 账号状态 - 角色授权 - 邀请码控制 产出对象: - 账号 - 会话 - 角色 - 授权上下文 ### 5.2 用户工作空间域 职责: - 管理用户视角下的目录树 - 管理逻辑文件节点 - 管理回收站生命周期 - 管理工作空间内的复制、移动、重命名、恢复 产出对象: - 工作空间 - 工作空间节点 - 回收站记录 ### 5.3 内容资产域 职责: - 管理物理内容对象 - 管理内容版本 - 管理内容引用关系 - 管理派生产物 产出对象: - 内容资产 - 内容版本 - 派生资产 ### 5.4 分享与外部分发域 职责: - 管理公开分享 - 管理分享口令、额度、有效期、权限范围 - 管理通过分享进入系统的导入动作 产出对象: - 分享链接 - 分享策略 - 分享访问记录 ### 5.5 快传域 职责: - 管理在线传输会话 - 管理离线传输会话 - 管理传输文件清单 - 管理传输接收、导入与过期 产出对象: - 传输会话 - 传输条目 - 取件码 ### 5.6 后台任务域 职责: - 管理异步任务生命周期 - 管理任务重试 - 管理租约、心跳、进度 - 承载需要异步执行的文件处理任务 产出对象: - 任务 - 任务执行记录 ### 5.7 存储治理域 职责: - 管理存储策略 - 管理对象落点规则 - 管理上传能力矩阵 - 管理存储策略迁移 产出对象: - 存储策略 - 存储能力 - 存储迁移批次 ### 5.8 运营与管理域 职责: - 提供全局治理能力 - 管理系统配置 - 提供运营视图与审计入口 产出对象: - 系统设置 - 审计记录 - 管理操作记录 ## 6. 核心业务对象 目标态采用以下统一业务对象模型。 ### 6.1 `Account` 表示平台主体账号。 关键属性: - `accountId` - `username` - `email` - `phoneNumber` - `status` - `role` - `quotaPolicy` ### 6.2 `Session` 表示一个被授权的登录会话。 关键属性: - `sessionId` - `accountId` - `clientType` - `status` - `issuedAt` - `expiresAt` ### 6.3 `Workspace` 表示用户的逻辑文件空间。 关键属性: - `workspaceId` - `ownerAccountId` - `status` ### 6.4 `WorkspaceNode` 表示工作空间中的逻辑节点。 节点类型: - `DIRECTORY` - `FILE` 关键属性: - `nodeId` - `workspaceId` - `parentNodeId` - `name` - `nodeType` - `lifecycleState` - `contentBinding` 说明: - 目录节点只承担层级结构 - 文件节点绑定内容资产引用 ### 6.5 `ContentAsset` 表示可被逻辑节点引用的内容资产。 关键属性: - `assetId` - `assetType` - `currentVersionId` - `ownerScope` - `retentionPolicy` ### 6.6 `ContentVersion` 表示一份具体内容版本。 关键属性: - `versionId` - `assetId` - `objectKey` - `storagePolicyId` - `size` - `contentType` - `checksum` - `versionState` 规则: - 内容版本一旦完成写入后应视为不可变 ### 6.7 `ShareGrant` 表示一条对外分享授权。 关键属性: - `shareId` - `ownerAccountId` - `targetNodeId` - `accessPolicy` - `status` - `expiresAt` ### 6.8 `TransferSession` 表示一条临时传输会话。 关键属性: - `transferId` - `mode` - `ownerAccountId` - `status` - `pickupCode` - `expiresAt` 模式: - `ONLINE` - `OFFLINE` ### 6.9 `TransferItem` 表示一条传输会话中的文件项。 关键属性: - `transferItemId` - `transferId` - `name` - `relativePath` - `size` - `contentType` - `state` ### 6.10 `AsyncJob` 表示系统异步任务。 关键属性: - `jobId` - `jobType` - `ownerAccountId` - `status` - `retryPolicy` - `lease` ### 6.11 `StoragePolicy` 表示一类存储落点规则。 关键属性: - `storagePolicyId` - `policyType` - `capabilitySet` - `maxObjectSize` - `status` - `isDefault` ### 6.12 `SystemSetting` 表示系统级业务配置。 关键属性: - `settingKey` - `settingScope` - `value` - `mutability` ## 7. 模块职责与协作边界 ### 7.1 身份模块 负责: - 账号生命周期 - 会话与令牌 - 角色与授权上下文 不得负责: - 文件配额判断 - 工作空间结构 - 存储策略选择 ### 7.2 工作空间模块 负责: - 目录树 - 文件节点生命周期 - 删除、恢复、移动、复制、重命名 不得负责: - 内容对象的物理写入 - 分享规则 - 传输协议 ### 7.3 内容资产模块 负责: - 内容对象写入完成后的登记 - 版本不可变规则 - 引用关系 - 内容级派生产物 不得负责: - 工作空间路径语义 - 分享口令和访问额度 ### 7.4 分享模块 负责: - 对外访问授权 - 过期、口令、额度和权限范围 不得负责: - 目录树变更 - 内容落库存储 ### 7.5 快传模块 负责: - 传输会话组织 - 在线传输的时效和接收关系 - 离线传输的文件接收与导入 不得负责: - 普通分享 - 工作空间目录治理 ### 7.6 后台任务模块 负责: - 长耗时业务处理 - 重试和失败分类 不得负责: - 同步主流程判断 ### 7.7 存储治理模块 负责: - 定义上传能力 - 定义内容落点 - 定义迁移规则 不得负责: - 页面或客户端自己决定上传模式 ### 7.8 管理模块 负责: - 全局治理入口 - 系统设置和审计入口 不得负责: - 绕开领域规则直接改写核心业务对象 ## 8. 核心业务流程 ### 8.1 账号注册流程 1. 用户提交注册信息 2. 系统校验唯一性与注册策略 3. 系统验证邀请码 4. 创建 `Account` 5. 初始化 `Workspace` 6. 签发首个 `Session` ### 8.2 登录流程 1. 用户提交凭证 2. 系统校验账号状态 3. 创建或替换对应客户端的 `Session` 4. 发放访问令牌与刷新令牌 ### 8.3 文件接入流程 1. 用户发起上传 2. 系统依据 `StoragePolicy` 返回可用上传策略 3. 内容写入完成后登记 `ContentVersion` 4. 创建或绑定 `ContentAsset` 5. 在 `Workspace` 中创建 `WorkspaceNode` ### 8.4 文件操作流程 1. 用户选择目标节点 2. 工作空间模块校验所有权和路径规则 3. 执行重命名、移动、复制或删除 4. 如为复制,仅复制逻辑节点,不复制内容版本 ### 8.5 删除与恢复流程 1. 删除动作只改变 `WorkspaceNode.lifecycleState` 2. 被删除节点进入回收区 3. 恢复时校验路径冲突和配额 4. 真正的物理清理由保留策略驱动 ### 8.6 分享流程 1. 用户选择一个文件节点创建 `ShareGrant` 2. 系统记录分享访问策略 3. 访客通过分享入口访问 4. 系统按口令、期限、额度和动作权限进行授权判断 5. 允许时执行下载或导入 ### 8.7 快传流程 #### 在线快传 1. 创建 `TransferSession(mode=ONLINE)` 2. 接收方加入 3. 完成信令交换 4. 传输完成或会话过期 #### 离线快传 1. 创建 `TransferSession(mode=OFFLINE)` 2. 写入 `TransferItem` 清单 3. 上传离线内容 4. 全部完成后进入可接收状态 5. 接收方下载或导入 ### 8.8 异步处理流程 1. 主流程触发 `AsyncJob` 2. Worker 认领任务 3. 执行中上报租约和进度 4. 成功、失败、重试或取消 ### 8.9 存储迁移流程 1. 创建迁移批次 2. 读取符合条件的 `ContentVersion` 3. 复制到目标存储策略 4. 切换引用 5. 清理旧内容对象 ## 9. 统一业务规则 ### 9.1 身份规则 - 账号必须有明确状态 - 被停用账号不得继续生成有效会话 - 一个客户端类型同一时刻只能有一个活跃会话 - 会话失效必须是统一规则,而不是接口局部处理 ### 9.2 工作空间规则 - 所有文件和目录都必须存在于某个 `Workspace` - `WorkspaceNode` 的路径语义由父子关系决定,不允许把完整路径字符串当作唯一真相 - 同一父节点下名称必须唯一 - 文件复制复制的是节点,不是内容版本 ### 9.3 内容规则 - 内容版本写入完成后不可变 - 逻辑节点与物理内容必须解耦 - 派生产物属于内容资产域,不属于工作空间域 - 物理对象删除必须晚于业务生命周期结束 ### 9.4 删除与保留规则 - 删除是进入回收区,不是直接物理删除 - 恢复必须回到原有工作空间语义下 - 物理清理只能由保留策略和引用关系共同决定 ### 9.5 分享规则 - 分享是对单一目标节点的授权对象 - 分享权限必须显式区分查看、下载、导入 - 分享过期、额度耗尽、被撤销后必须立即失效 - 公开访问规则必须只由分享模块负责 ### 9.6 传输规则 - 分享与快传是两个独立能力,不允许语义混用 - 在线快传是临时连接能力,不承担长期存储责任 - 离线快传是临时托管能力,不等于工作空间文件 - 导入动作必须显式把传输内容转化为工作空间资产 ### 9.7 上传规则 - 上传能力由服务器根据存储策略决定 - 客户端只能消费上传策略,不自行定义上传模式 - 上传完成之前不得产生正式工作空间节点 ### 9.8 任务规则 - 所有长耗时业务必须通过 `AsyncJob` 进入统一任务体系 - 相同语义的自动任务必须具备幂等键 - 任务状态机必须统一 ### 9.9 管理规则 - 所有管理写操作必须具备审计能力 - 管理能力应基于角色和权限模型,不基于用户名白名单硬编码 - 系统设置必须区分可变业务配置和只读运行快照 ## 10. 状态定义与状态流转 ## 10.1 `AccountStatus` 状态: - `PENDING` - `ACTIVE` - `SUSPENDED` - `CLOSED` 流转: - `PENDING -> ACTIVE` - `ACTIVE -> SUSPENDED` - `SUSPENDED -> ACTIVE` - `ACTIVE/SUSPENDED -> CLOSED` ## 10.2 `SessionStatus` 状态: - `ACTIVE` - `REVOKED` - `EXPIRED` 流转: - `ACTIVE -> REVOKED` - `ACTIVE -> EXPIRED` ## 10.3 `WorkspaceNodeLifecycleState` 状态: - `ACTIVE` - `RECYCLED` - `PURGED` 流转: - `ACTIVE -> RECYCLED` - `RECYCLED -> ACTIVE` - `RECYCLED -> PURGED` ## 10.4 `ContentVersionState` 状态: - `PENDING_UPLOAD` - `AVAILABLE` - `ARCHIVED` - `DELETED` 流转: - `PENDING_UPLOAD -> AVAILABLE` - `AVAILABLE -> ARCHIVED` - `ARCHIVED -> DELETED` ## 10.5 `ShareGrantStatus` 状态: - `ACTIVE` - `LOCKED` - `EXHAUSTED` - `EXPIRED` - `REVOKED` 流转: - `ACTIVE -> LOCKED` - `ACTIVE -> EXHAUSTED` - `ACTIVE -> EXPIRED` - `ACTIVE/LOCKED -> REVOKED` ## 10.6 `TransferSessionStatus` 状态: - `CREATED` - `AWAITING_UPLOAD` - `READY` - `IN_PROGRESS` - `COMPLETED` - `EXPIRED` - `CANCELLED` 流转: - 在线快传:`CREATED -> IN_PROGRESS -> COMPLETED/EXPIRED/CANCELLED` - 离线快传:`CREATED -> AWAITING_UPLOAD -> READY -> COMPLETED/EXPIRED/CANCELLED` ## 10.7 `AsyncJobStatus` 状态: - `QUEUED` - `RUNNING` - `RETRY_WAITING` - `SUCCEEDED` - `FAILED` - `CANCELLED` 流转: - `QUEUED -> RUNNING` - `RUNNING -> SUCCEEDED` - `RUNNING -> RETRY_WAITING` - `RETRY_WAITING -> RUNNING` - `RUNNING/RETRY_WAITING -> FAILED` - `QUEUED/RUNNING/RETRY_WAITING -> CANCELLED` ## 11. 权限模型 目标态采用三层授权模型: ### 11.1 第一层:身份层 回答: - 用户是谁 - 是否已登录 - 会话是否有效 ### 11.2 第二层:角色层 回答: - 用户具有什么系统级能力 例如: - `MEMBER` - `OPERATOR` - `ADMIN` ### 11.3 第三层:资源层 回答: - 用户是否可以对某个具体资源执行某个动作 资源授权判断必须同时考虑: - 资源所有权 - 资源状态 - 角色权限 - 动作策略 ### 11.4 授权规则 - 公开资源只允许暴露明确可公开的动作 - 所有者默认拥有自己资源的成员级权限 - 管理角色拥有治理权限,但不应破坏审计边界 - 导入、删除、恢复、迁移都属于高风险动作,必须有明确授权检查 ## 12. 企业级目标模块结构 目标态后端应围绕业务域而不是技术层进行组织,建议演进为以下模块边界: - `identity-access` - `workspace` - `content-asset` - `sharing` - `transfer` - `async-job` - `storage-governance` - `operations-admin` - `common-kernel` 每个模块内部再区分: - domain - application - infra - api 前端也应围绕业务域组织,而不是单纯围绕页面散落: - account - workspace - sharing - transfer - admin - common ## 13. 统一架构结论 目标态架构的核心不是“把当前代码整理得更漂亮”,而是把系统重构成以下稳定形态: 1. 账号、会话、角色、授权是独立的身份域 2. 工作空间节点与物理内容版本彻底分离 3. 分享与快传是两个独立分发域 4. 上传只是内容接入机制,不直接等同于业务文件创建 5. 后台任务是统一异步处理底座 6. 存储策略是系统级治理能力,不是控制器附属逻辑 7. 管理端是治理入口,不是绕过业务规则的特殊通道 后续所有重构都应围绕上述七条进行对齐。 ## 14. 规则判定矩阵 本矩阵用于明确“某类规则到底由哪个业务域负责判定”,避免后续继续把同一规则散落在多个模块中。 | 规则类别 | 判定主体 | 触发时机 | 输出结果 | 不应由谁判定 | | --- | --- | --- | --- | --- | | 是否允许注册 | `identity-access` | 用户提交注册请求时 | 允许注册 / 拒绝注册 | 页面层、管理台聚合层 | | 邀请码是否有效 | `identity-access` | 注册前 | 有效 / 无效 / 已消费 | Controller 私有分支 | | 会话是否有效 | `identity-access` | 每次受保护请求进入时 | 允许访问 / 拒绝访问 | 业务 Service 各自重复判断 | | 用户是否具备系统管理能力 | `identity-access` | 访问管理能力前 | `OPERATOR` / `ADMIN` 是否可执行 | 用户名白名单硬编码 | | 用户是否可操作某个工作空间节点 | `workspace` + 授权层 | 文件相关动作前 | 允许 / 拒绝 | Controller 层手写所有权判断 | | 路径是否合法 | `workspace` | 创建、移动、复制、恢复前 | 合法 / 非法 | 上传模块重复实现 | | 同目录是否允许重名 | `workspace` | 节点写入前 | 允许 / 拒绝 | 分享模块、传输模块各自决定 | | 是否允许创建正式文件节点 | `workspace` | 内容接入完成后 | 创建 / 拒绝 | 上传接入层直接决定 | | 内容版本是否可复用 | `content-asset` | 导入、复制、分享导入时 | 复用 / 新建版本 | 工作空间模块 | | 是否允许物理删除对象 | `content-asset` | 清理流程中 | 删除 / 保留 | 工作空间模块直接删除对象 | | 上传模式如何选择 | `storage-governance` | 创建上传会话时 | `PROXY` / `DIRECT_SINGLE` / `DIRECT_MULTIPART` | 前端、自定义工具类 | | 上传大小是否超限 | `storage-governance` + `identity-access` | 上传前 | 允许 / 拒绝 | `FileService` 和 `UploadSessionService` 各自重复算 | | 分享是否允许访问 | `sharing` | 访问分享链接时 | 允许查看 / 拒绝查看 | 工作空间模块 | | 分享是否允许下载 | `sharing` | 下载分享文件时 | 允许下载 / 拒绝下载 | Controller 查询参数分支 | | 分享是否允许导入 | `sharing` | 导入分享文件时 | 允许导入 / 拒绝导入 | 工作空间模块 | | 分享是否过期或额度耗尽 | `sharing` | 每次分享动作前 | 可用 / 不可用 | 前端缓存判断 | | 传输会话是否允许加入 | `transfer` | 加入在线快传时 | 允许加入 / 拒绝加入 | 信令基础设施 | | 离线传输是否可接收 | `transfer` | 下载/导入前 | 可接收 / 不可接收 | 文件接入层 | | 离线传输是否超出全局容量 | `transfer` + `storage-governance` | 离线上传前 | 允许上传 / 拒绝上传 | 管理指标聚合层 | | 是否需要进入异步任务 | `async-job` 的调用方域 | 长耗时动作提交时 | 直接处理 / 创建任务 | Controller 层直接排队 | | 任务是否允许重试 | `async-job` | 任务失败后 | 自动重试 / 人工重试 / 不可重试 | 具体任务 handler 自己决定 | | 任务是否重复 | `async-job` | 创建任务时 | 新建 / 幂等忽略 | broker 消费者临时判断 | | 设置是否允许修改 | `operations-admin` + 授权层 | 管理写操作时 | 可写 / 只读 | 聚合 DTO 提示字段单独决定 | ### 14.1 矩阵使用规则 - 所有新业务规则必须先映射到矩阵中的一个判定主体。 - 如果某条规则找不到唯一判定主体,说明领域边界还没有收敛。 - 同一规则只能有一个“最终判定主体”,其他模块只能消费判定结果,不能复制规则。 ## 15. 高风险测试场景清单 本清单不是为了堆测试数量,而是定义目标架构下必须被自动化约束的关键业务场景。 ### 15.1 身份与授权 1. 同一客户端类型再次登录后,旧会话失效 2. 桌面端与移动端会话可并存,但互不覆盖 3. 改密后所有活跃会话和 refresh token 失效 4. 账号被停用后无法继续访问受保护资源 5. `OPERATOR` 与 `ADMIN` 的授权边界按统一角色模型生效 ### 15.2 工作空间 1. 同一父节点下禁止重名文件或目录 2. 目录不能移动到自身或自身子树 3. 目录不能复制到自身或自身子树 4. 删除进入回收区而不是立即物理删除 5. 恢复时如果原位置冲突则整体拒绝恢复 6. 恢复时如果超出配额则整体拒绝恢复 ### 15.3 内容资产 1. 复制逻辑节点时不复制物理内容版本 2. 多个逻辑节点绑定同一内容版本时,删除其中一个不会删除物理对象 3. 最后一个逻辑引用消失后,物理对象才允许清理 4. 内容版本一旦 `AVAILABLE` 后不可变 ### 15.4 上传与存储治理 1. 上传模式严格由存储策略能力决定 2. 非法路径、非法名称、超大小、超配额都会被统一拒绝 3. 已完成、已取消、已失败、已过期的上传会话不能继续写入 4. 分片上传必须完整记录分片后才能完成 5. 上传完成前不创建正式工作空间节点 ### 15.5 分享 1. 有口令的分享必须先验密 2. 过期分享不可查看、不可下载、不可导入 3. `allowDownload` 与 `allowImport` 必须分别生效 4. 分享额度耗尽后所有授权动作失效 5. 分享被撤销后立即失效 ### 15.6 快传 1. 在线快传只允许有效接收方进入会话 2. 离线快传只有全部文件上传完成后才可接收 3. 匿名可接收,但不可导入到工作空间 4. 离线传输容量达到上限时拒绝继续上传 5. 过期传输会话不可继续接收或导入 ### 15.7 异步任务 1. 相同业务语义的自动任务不会重复创建 2. 任务租约过期后能够安全回收 3. retryable 失败会进入统一重试流程 4. non-retryable 失败进入终态 5. 只有允许人工重试的任务才能被人工重试 ### 15.8 管理与治理 1. 只读系统快照不可通过写接口修改 2. 可写业务设置必须经过统一管理授权 3. 高风险治理动作必须产生审计记录 4. 存储迁移只能在合法策略组合下执行 ## 16. 重构迁移与模块落地顺序 本顺序定义的是目标架构的落地路径,不是一次性重写方案。 ### 16.1 第一阶段:身份与授权先行 目标: - 统一角色模型 - 统一会话失效规则 - 统一管理权限事实源 优先原因: - 如果权限模型不先收敛,后续所有模块重构都会继续携带错误边界 落地模块: - `identity-access` - `operations-admin` 中与授权入口直接相关的部分 ### 16.2 第二阶段:工作空间与内容资产拆分 目标: - 把逻辑节点与物理内容彻底拆开 优先原因: - 这是后续分享、快传、上传、删除、恢复、迁移的共同基础 落地模块: - `workspace` - `content-asset` ### 16.3 第三阶段:上传与存储治理收口 目标: - 让上传成为内容接入能力 - 让存储策略成为系统级能力 优先原因: - 当前上传规则和文件业务耦合过深,不先切开,内容资产域无法稳定 落地模块: - `storage-governance` - `content-asset` 接入层 ### 16.4 第四阶段:分享域收口 目标: - 统一旧分享和新分享 - 让分享只围绕 `ShareGrant` 和逻辑节点授权 优先原因: - 分享对外暴露面大,必须建立在稳定工作空间与内容模型之上 落地模块: - `sharing` ### 16.5 第五阶段:快传域拆分 目标: - 分开在线快传与离线快传 - 明确临时传输与正式工作空间资产的边界 优先原因: - 快传与分享的边界只有在工作空间与分享域稳定后才容易落定 落地模块: - `transfer` ### 16.6 第六阶段:异步任务统一底座 目标: - 让 `AsyncJob` 成为跨域底座 优先原因: - 当工作空间、内容资产、分享、快传都稳定后,异步任务才可以真正服务多个领域,而不是继续附属在文件模块里 落地模块: - `async-job` ### 16.7 第七阶段:管理域治理化 目标: - 管理端只做治理编排 - 业务规则回归各自领域 优先原因: - 管理端必须建立在稳定的领域边界之上,否则只会继续膨胀为超级入口 落地模块: - `operations-admin` ### 16.8 第八阶段:前端按领域重组 目标: - 前端与后端围绕同一业务域组织 优先原因: - 前端结构必须跟随稳定后的后端领域,而不是反向牵引后端设计 落地模块: - `account` - `workspace` - `sharing` - `transfer` - `admin` - `common` ### 16.9 模块落地顺序总表 1. `identity-access` 2. `workspace` 3. `content-asset` 4. `storage-governance` 5. `sharing` 6. `transfer` 7. `async-job` 8. `operations-admin` 9. 前端领域化重组 ### 16.10 落地顺序约束 - 未统一身份与授权前,不进入大规模治理侧重构 - 未拆开工作空间与内容资产前,不收口分享和快传 - 未收口上传与存储治理前,不把内容资产域视为稳定 - 未稳定后端领域边界前,不开始前端大规模域化重组