跳到主内容
快讯直播
AI智模界
AI 词典

分片上传:大文件为什么不一口气传完

一句话定义:分片上传(Multipart Upload)是把一个大文件切成若干小块分别上传,再由服务端按编号拼回完整文件的传输方式。

打个搬家的比方:整面衣柜进不了电梯,就拆成抽屉一箱箱搬,箱子上贴编号,中途坏了只重搬那一箱。

技术上就三步:

1. 客户端把文件切成若干分片(Part);

2. 每片单独发一次请求,服务端返回一个标识(常见的是 ETag),客户端记下来;

3. 全部传完,客户端发「完成」请求并附上分片清单,服务端拼接成完整文件;中途也可「中止」,清掉碎片。

好处不只是断点续传

断点续传是效果,分片上传是常见手段。它同时带来:

  • 失败只重传那一片,不必从零开始;
  • 多个分片并发上传,单条连接往往吃不满带宽;
  • 每片可单独校验(MD5、CRC 之类),出错能精确定位;
  • 绕开单次请求的大小上限。

藏在请求数里的成本

一个文件切一万片,就是上万次请求,每次都带鉴权、日志、元数据和限流判断:

  • 分片太小:请求数暴涨,服务端每秒请求数(QPS)与元数据写入压力上升;
  • 分片太大:失败重传代价高、并行度上不去,客户端也要更多内存或磁盘缓冲;
  • 没传完的分片会一直占存储,通常要配一条过期清理规则;
  • 分片是覆盖式的,想改文件中间一个字节,一般得重传受影响的那几片。
维度整文件上传分片上传
请求数1分片数 + 2
失败重试整个文件重来只重传失败分片
并发通常单流多片并行
适合小文件、图片视频、模型权重、数据集

对从业者的意义

模型权重、数据集动辄几十 GB,在本地与对象存储之间搬运时,客户端 SDK 默认走的就是分片。真正要调的只有三个:分片大小、并发数、重试与超时。推荐区间各家不同,以官方文档为准。

对普通职场人,网盘上传视频时看到的「第 3/12 段」、关掉页面再回来还能接着传,背后都是它。

一句话记住:分片上传用「多花几次请求」换「少传很多字节」和「更快的并行」,划不划算取决于分片大小怎么选。

AI 生成本文由 AI 基于公开信息自动生成,仅供参考。