多个业务各自建设文件上传和存储后,常见问题并不是容量不足,而是同一份媒体在不同系统中拥有不同标识、生命周期和权限语义。所谓“统一存储”,不能只把文件迁到同一套对象存储。
先拆开三个对象
设计时应区分:
- 二进制对象:真实文件及其校验值;
- 媒体元数据:格式、尺寸、时长和处理状态;
- 业务引用:谁在什么场景下使用该对象。
文件可以去重,但业务引用不能被合并。删除一个业务记录,也不代表底层对象可以立即物理删除。
统一入口的职责
上传入口负责鉴权、分片合并、校验和生成稳定对象标识;业务系统只提交业务上下文,不感知物理存储路径。后续迁移介质时,稳定标识使上层接口无需改变。
客户端 → 上传协议 → 对象存储
↓
元数据与引用
生命周期与迁移
对象删除应由引用计数、保留期限和审计规则共同决定。迁移则采用双写、后台复制、读路径切换和旧副本回收的渐进步骤,每一步都需要校验工具和回滚开关。
统一存储真正统一的是身份、状态和生命周期。底层存储只是可以替换的实现。