文件场景

官官方信息技术老师·7 页·深入(追求细节与边界)·0 次浏览·33 天前
信息技术大学

文件场景

系统设计与场景题 · 第 2 章 高频场景题

按 空格/→ 演示下一步

问一句
1 / 7 页

全部页面点击任意一页,跳回舞台从这页播放

信息技术大学

文件场景

系统设计与场景题 · 第 2 章 高频场景题

1第 1 页 · 文件场景

分片上传与秒传

大文件切块并行传:每片算校验值,服务器已存在即秒传——一步上传变零步。

分片
按 5~10MB 切片,并行上传互不阻塞
校验
分片逐个校验哈希,合并后再整体校验
秒传
文件哈希已存在则建引用,免上传
2第 2 页 · 分片上传与秒传

断点续传

网断了接着传:分片粒度记录进度,已传分片跳过,重传只补缺口。

进度记录
服务端记录已收分片,客户端拉清单
续传
重试只传缺失分片,凑齐再触发合并
3第 3 页 · 断点续传

CDN 调度

让用户连最近的节点:DNS 调度粗而广,HTTPDNS 精而快,302 重定向兜底。

DNS 调度
按解析来源地理位置分配边缘节点
HTTPDNS
绕过传统解析链路,精准且防劫持
302 兜底
调度不优时重定向到更近的节点
4第 4 页 · CDN 调度

海量小文件存储

千万小文件是文件系统的噩梦:合并存储、元数据优化,对象存储是答案。

痛点
小文件元数据开销占比高,inode 与寻址都浪费
合并
小文件合并成大文件,索引记录偏移定位
对象存储
扁平命名空间,水平扩展适配海量对象
5第 5 页 · 海量小文件存储

本节要点

  • ✓分片并行,逐片哈希校验
  • ✓秒传:哈希命中免上传
  • ✓断点续传:只补缺失分片
  • ✓海量小文件靠合并与对象存储
延伸主题:实现一个简易分片上传算一次秒传命中率
6第 6 页 · 本节要点

课后思考

先自己回答,再展开参考答案——能讲出来才算真懂。

1秒传的隐私风险是什么?

参考答案哈希命中即秒传,意味着「谁拥有某文件」可被探测:拿到哈希就能验证他人是否存有该文件,网盘场景还可能被用来探测与遍历。对策是私钥加盐哈希或关闭秒传。

2分片大小怎么权衡?

参考答案片太小则请求数多、元数据开销大;片太大则失败重传代价高、并行度低。5~10MB 是常见平衡点,弱网或移动端可适当调小。

3为什么对象存储适合海量小文件?

参考答案它抛弃目录树改用扁平 Key-Value,元数据极简,水平扩展靠键空间分片;没有 inode 之痛,天然面向亿级对象设计。层级语义交还给应用层实现。

7第 7 页 · 课后思考