基本上我正在寻找在服务器上存储部分上传的最佳方法。文件将被chunk上传。块可以以任意顺序并行。我需要以某种形式临时存储它们,然后从上传的块中构建完整的文件。我有一些关于如何做到这一点的想法,但我想知道是否已经有一些最佳实践,或某种标准或RFC?
更新
上传将通过HTTP进行。
答案 0 :(得分:2)
这个问题以前已经解决过很多次了。使用BITS,Torrent,FTP等
基础知识是:
>会话初始化
>发送文件名,块大小,块数,每个块的散列
>发信号时发送块。每个块都以块索引号
开头<接收文件名等
<分配正确名称和大小的空文件
<分配完成文件(比如name.status)并且每个块有一个int。这些代表该块的完整百分比
<信号以在所需索引处启动块
<<在收到每个块时,将其保存到正确位置的已分配文件中
<<随着每个块完成确认哈希。如果错误标记为0%
<收到所有块后,删除name.status并解锁分配的文件
有些系统使用大块并将文件名,大小等放在所有块的前面,因此块是独立的,可以在没有会话启动的情况下接收