标准答案
- 服务端创建上传会话,返回上传 ID、分片大小、过期时间和已上传分片查询能力;客户端按分片序号或字节范围上传。
- 每个分片应记录大小、序号、摘要和存储位置,重复上传同一分片时按摘要校验并保持幂等。
- 完成请求必须验证所有必需分片存在、顺序和总大小正确,再合并或通知对象存储完成 multipart;最终还应校验全文件摘要。
- 断点续传通过查询上传会话中的已完成分片恢复,不应只依赖客户端本地记录。
- 秒传只能在文件摘要命中、对象完整、当前用户有权引用该对象且隐私边界允许去重时启用,不能让用户借摘要探测他人文件。
题目解析
分片协议是一个状态机:初始化、上传中、完成、失败、过期和清理都需要明确。否则重试和并发完成会留下孤儿分片。
内容摘要只说明字节相同,不说明文件安全或授权正确;扫描、访问控制和业务元数据仍不可省略。
常见误区
- 只在客户端记录已上传分片,换设备或刷新后无法恢复。
- 合并时不校验缺失分片和最终摘要。
- 把秒传做成任何人知道 hash 就能引用私有文件。