在服务器上存储文件的最佳方式是由块上传?

时间:2011-02-27 09:50:01

标签: asyncfileupload file-upload chunking

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

更新

上传将通过HTTP进行。

1 个答案:

答案 0 :(得分:2)

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

基础知识是:

>会话初始化

>发送文件名,块大小,块数,每个块的散列

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

开头

<接收文件名等

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

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

<信号以在所需索引处启动块

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

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

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

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