Лучший способ сохранить файл на сервере, который загружается кусками? - PullRequest
3 голосов
/ 27 февраля 2011

В основном я ищу лучший способ сохранить частичные загрузки на сервере.Файлы будут загружаться по частям.Куски могут приходить параллельно и в произвольном порядке.Мне нужно будет временно сохранить их где-то в некоторой форме, а затем создать полный файл из загруженных кусков.У меня есть некоторые идеи, как это сделать, но мне интересно, есть ли уже какая-то передовая практика, или стандарт, или какой-то RFC?1005 *

Загрузка будет происходить через HTTP.

1 Ответ

2 голосов
/ 27 февраля 2011

Эта проблема уже была решена много раз.Использовать биты, торренты, FTP и т. Д.

Основные сведения:

> инициализация сеанса

> отправка имени файла, размера фрагмента, количества фрагментов, хэша каждого фрагмента

> отправить чанк (ы) при получении сигнала.Каждый блок начинается с номера индекса фрагмента

<получить имя файла и т. Д. </p>

<выделить пустой файл с правильным именем и размером </p>

<выделить файл завершения (скажем, name.status) иесть один int на кусок.Они представляют процент завершения этого чанка </p>

<сигнал для запуска чанков с требуемыми индексами </p>

<< По мере получения каждого чанка сохраняйте его в выделенном файле в правильном месте </p>

<<После завершения каждого фрагмента подтвердите хеш.Если ошибочно пометить как 0% снова </p>

<после получения всех чанков, удалите name.status и разблокируйте выделенный файл </p>

Некоторые системы используют большие чанки и помещают имя файла, размер и т. Д. Перед всеми чанкамиТаким образом, чанки независимы и могут быть получены без инициации сеанса

...