Как лучше передать файл >100Гб клиент-сервер?

Периодически требуется получить от коллег большой файл(>100Гб) для дальнейшей обработки.

1) Нужна докачка файлов при обрыве связи
2) Open-source software.
3) Высокая скорость загрузки.

На сервере можно развернуть всё, что угодно, склоняюсь к Freebsd.
P.S: есть белый внешний IP. Скорость пока 100 Мбит/с но со временем увеличим скорость канала.
  • Вопрос задан
  • 1366 просмотров
Пригласить эксперта
Ответы на вопрос 4
@rPman
100+ гигабайт это выглядит как созданные на пустом месте проблемы (потому как даже с идеальным провайдером долго такие выкрутасы не по делаешь), небось еще в виде архива одним файлом? А там небось внутри 99% файлов уже переданных ранее.

Правильное решение - не упаковывать файлы в архив а держать максимально распакованными, часто в виде источника (т.е. то откуда у вас данные появляются), а там - rsync (установить на стороне-источнике rsync сервер) сам сравнит файлы (по хешам) сам скопирует нужные, удалит старые и это максимально эффективно.

p.s. в случае, если у вас большие файлы меняются хоть и не значительно но с точки зрения rsync это будет новый файл, то можно хранить две копии файлов на источнике - с последней передачи и текущую, затем воспользоваться diff (есть разные утилиты, исторически diff был только для текстов но теперь универсальный, и существуют специализированные версии binary diff) для формирования патча, который позволит из старой версии и небольшого файла-патча восстановить новый, тогда можно будет передавать этот патч.

--------------
подскажите, что у вас за файлы? что в них? постоянные 100гб выглядят как что то необычное? у вас мини коллайдер стоит?
Ответ написан
twix007
@twix007
rsync решение №1
Ответ написан
VoidVolker
@VoidVolker
Dark side eye. А у нас печеньки! А у вас?
  • Развернуть FreeNAS на сервере, а там использовать любой файловый сервис (от самбы и WebDav до облачных решений типа seafile).
  • Торрент. Локально создается раздача, где указывается веб-сид ip:port сервера. Клиенту кидается торрент файл и клиент качает его.
Ответ написан
@ghostiam
На Go писатель, серверов пинатель.
Сам лично несколько дней назад передавал >100Gb данных на сервер через rsync.
Для поддержки докачки при обрыва связи у rsync есть флаги "--partial --append-verify"
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы