3

基本上我正在寻找一种在服务器上存储部分上传的最佳方法。文件将逐块上传。块可以以任意顺序并行出现。我需要以某种形式将它们临时存储在某个地方,然后从上传的块中构建完整的文件。我对如何做到这一点有一些想法,但我想知道是否已经有一些最佳实践、标准或某种 RFC ......?

更新:

上传将通过 HTTP 进行。

4

1 回答 1

2

这个问题之前已经解决过很多次了。使用 BITS、Torrent、FTP 等

基本情况是:

> 会话初始化

> 发送文件名、块大小、块数、每个块的哈希

> 发出信号时发送块。每个块都以块索引号开头

< 接收文件名等

<分配正确名称和大小的空文件

< 分配完成文件(比如 name.status)并且每个块有一个 int。这些代表该块的完成百分比

< 在所需索引处开始块的信号

<< 在接收到每个块时,将其保存到正确位置的分配文件中

<< 随着每个块完成确认哈希。如果错误再次标记为 0%

< 当收到所有块时,删除 name.status 并解锁分配的文件

一些系统使用大块并将文件名,大小等放在所有块的前面,因此块是独立的,可以在没有会话启动的情况下接收

于 2011-02-27T10:56:01.923 回答