У меня есть доступ к локальной сети с примерно 20 компьютерами, и я хочу скачать файл большого размера, который будет загружаться годами с моей текущей скоростью загрузки (50 килобайт / с). Итак, мне интересно, был ли способ или программное обеспечение, используемое для загрузки отдельных частей одного и того же файла с разных компьютеров, чтобы быстрее завершить работу. Любая помощь приветствуется.
4 ответа
Поскольку вы говорите, что для каждого компьютера установлено ограничение, вы можете загрузить файл, скажем, десятью порциями с десяти компьютеров.
На самом деле, я начинаю загрузку с одного компьютера, затем добавляю другой, и еще один ... пока не заметил, что фактическая скорость загрузки упала ниже теоретически допустимой максимальной скорости 50 Кбит / с. Это означало бы, что восходящий канал теперь насыщен, и нет никаких причин продолжать добавлять клиентов (на самом деле, это немного снизит эффективность передачи).
Для загрузки одного фрагмента файла вам понадобится утилита, например, curl
(curl.haxx.se)
curl -r 0-10000000 -o Block1.bin http://www.site.com/path/to/largefile.zip
это загрузит первые десять мегабайт в Block1.bin
.
Если вы заранее знаете, что можете использовать не более семи клиентов, то вы делите длину файла на семь и загружаете семь больших фрагментов. Это позволит оптимально использовать TCP-соединение. Если вы не знаете размер, 10M - это разумный размер чанка: просто продолжайте следить за клиентами и начните другую загрузку, как только она будет завершена.
Чтобы собрать куски, вы можете использовать cat
. Говорят, что COPY /B
также хорошо работает в Windows, но я никогда не решался. Если вам хочется приключений, попробуйте
copy /b Block1.bin+Block2.bin+Block3.bin+... mylargefilereconstructed.zip
Важно: что бы вы ни говорили, если есть политика 50К / с на ПК, это означает, что пропускная способность выше, и / или были проблемы с пропускной способностью пропускной способности. То, что вы делаете сейчас, воссоздаст эти проблемы, поэтому вам лучше сначала выяснить это с сетевыми администраторами и, возможно, договориться о каком-то временном интервале для загрузки с минимальным нарушением работы сети (ночью, во время обеденного перерыва, в выходные и скоро). Это может означать разницу между быстрой загрузкой и быстрым прекращением работы.
Вы можете сделать это в теории, да. Я действительно хотел бы знать, почему, хотя.
Каков ограничивающий фактор вашей пропускной способности? Интернет-провайдер или сетевая политика?
Если провайдер является ограничивающим фактором, независимо от того, сколько компьютеров вы используете, ваш канал не станет шире. Если для ограничения пропускной способности каждого компьютера используется политика локальной сети, у вас может быть веская причина ... но это, скорее всего, нарушит политику допустимого использования в вашей компании, не увольняйте!
Если вы сделаете это, вам все равно придется заново собрать файл. Я хотел бы дать вам лучшее решение, но я не совсем понимаю логику.
У вас есть контроль над исходным файлом, или это то, что вы загружаете публично. Если вы сохраните исходный код, многочастный архив, такой как .rar, будет очень полезен для вас.
Если у вас есть разные компьютеры в разных сетях (например, один дома, один в родительском доме, один компьютер в школе), вы можете использовать FTP для загрузки частей файла. (FTP обычно имеет опцию резюме, так что вы можете сказать ему , чтобы возобновить частично в файл , а затем мошенник кошку Enate файлов обратно в одну части. На Windows скопируйте /b файлы обратно в одну часть.
Если у вас есть доступ к источнику файла, вы можете улучшить это, разбив файл на источнике, избегая необходимости хитрых вещей. У большинства компьютеров, подобных unix, есть команда split
(1) файлы на разные части. В Windows вы можете попробовать Rar или Zip для создания нескольких файлов.
Однако, если ограничение в 50 КБ / с - это максимальная скорость на сайте, с которого вы хотите загрузить данные, это не ускорит процесс. Вы бы в конечном итоге так:
- Однократная загрузка со скоростью 50 КиБ / сек.
- Две загрузки по 25 КиБ / сек каждая (всего 50 КиБ / сек).
- Три загрузки по 16 КиБ / сек каждая (всего 50 КиБ / сек).
- ....
Если сайт ограничивает каждую загрузку до 50 КиБ / сек, но имеет гораздо большую пропускную способность, то могут произойти две вещи.
- Есть сотни загрузок, и кепка должна установить, чтобы дать справедливый доступ всем. Если вы начинаете загружать несколько частей со скоростью 50 КБ / с каждая, то вы обманываете. Если этот обман выйдет из-под контроля, источник примет меры (например, забанит ваш IP)
- Если лимит установлен на вашей работе или у вашего интернет-провайдера, то они будут иметь смутное представление о ваших действиях. Вы можете ожидать, что ИТ-специалист с работы подойдет к вашему рабочему столу и попросит объяснить, что вы делаете, почему вы это делаете. И это мягкий результат.
Многие из этих ответов предполагают разные вещи. Если вы хотите получить более четкий ответ, пожалуйста, добавьте больше информации в ваш пост. Прямо сейчас все, что мы можем сделать, это угадать многие вещи.
Просто используйте обычное программное обеспечение, такое как CuteFTP, FileZilla или что-то еще. Существует опция, например, несколько ссылок или несколько сеансов, если FTP-сервер поддерживает возобновление FTP. Несколько ссылок может ускорить загрузку. Эффективно умножает скорость на количество сессий.
Больше компьютеров бесполезно, так как ваши исходящие IP-адреса одинаковы, для большинства сайтов загрузки установлены ограничения на количество сеансов на один IP-адрес.
В качестве альтернативы можно использовать параметры FileZilla cloud или Torrent, которые на самом деле загружают файл не из первоисточника, а также из других источников, которые скачивают файл. Вы рискуете поразить троянов и вирусов. Будьте осторожны, если вы делаете это.
На самом деле я получил большинство своих пакетов для Windows и Unix, используя их, поскольку они являются подписанными пакетами и, следовательно, безопасны после загрузки. Проверка сертификата и хэшей MD5 должна помешать вам установить что-либо вредное, но около 6–8% - из плохих источников.