Как скачать отдельный файл из большой раздачи?

Ответить
Аватара пользователя
torrex
Пользователь megaseed.kz
Сообщения: 9

Как скачать отдельный файл из большой раздачи?

Сообщение torrex »

Доброго времени суток. Столкнулся с такой проблемой: когда нужно скачать один файл из раздачи, то невозможно это сделать, если сама раздача превосходит размер дискового пространства. Недавно мне нужно было скачать одну серию из сериала и когда я загрузил торрент-файл и выбрал одну серию, запретив закачку остальных серий. Но торрент-клиент выдал инфу, что дисковое пространство заполнено более чем на 100% и не стал закачивать файл, сведя скорость на минимум. Хотя до закачки файла свободного пространства было более, чем размер выбранного мною для закачки файла. У меня вопрос: как возможно закачать один или несколько файлов из закачки, не выделяя дискового пространства для всего объёма включённых в торрент-файл контента? И если у меня будет желание скачать несколько файлов из раздачи, общий объём которой превышает мой объём дискового пространства, то я не смогу этого сделать? Как решить эту проблему?

Аватара пользователя
Beelze
Администратор
Сообщения: 96

Re: Как скачать отдельный файл из большой раздачи?

Сообщение Beelze »

А теперь немного о том, как все происходит на самом деле:

1. Разумеется, торрент-клиент производит предварительное резервирование места под файл — это делается с целью недопущения фрагментации, и, как следствие, катастрофической потери производительности и необходимости производить регулярную дефрагментацию. На десктопном клиенте эта проблема может и никак не ощущаться, но на сервере подобная ситуация недопустима. Есть и некоторые другие причины, но достаточно и этой.
2. Торрент-клиент производит резервирование только тех файлов, которые были отмечены как предназначенные к скачиванию на момент начала скачивания. То есть запрещать скачивание необходимо до »старта» торрента. В общем-то, это достаточно очевидно. По крайней мере, мне так всегда думалось.
3. Еще один (возможно менее очевидный) момент — данные торрента хэшируются и разбиваются на сегменты как единая непрерывная последовательность данных. Вследствие этого — скачать всего один файл можно только в случае совпадения его границ с границами сегмента, что крайне маловероятно. Стало быть, в общем случае будут скачаны полностью выбранные для закачки файлы плюс еще некоторое к-во «соседних» — частично, в размере менее одного сегмента. Но, поскольку частичного резервирования нет — будет использовано место в размере суммы «объема» всех задействованных файлов.
4. Следует учитывать, что протокол BitTorrent создавался с одной главной целью — реализации эффективного обмена данными (это не совсем то же самое что и «удобное скачивание»). Так что удивляться тому, что это происходит не совсем так, как может быть кому-то хотелось — не стоит.
[hr]
Вот результаты произведенного теста по частичному скачиванию:

(Был взят торрент с 20+ файлами и выбран для скачивания только один из них — …S01E13.mkv)

непосредственно после старта (видно, что скачивание первого сегмента файла задействовало предыдущий файл)

Код: Выделить всё

ls -lh Star.Trek.Enterprise.S01.HDTV.720p-HDNet/
total 1.6G
    0 Nov 27 20:27 Star.Trek.Enterprise.-.S01E01.mkv
    0 Nov 27 20:27 Star.Trek.Enterprise.-.S01E02.mkv
    0 Nov 27 20:27 Star.Trek.Enterprise.-.S01E03.mkv
    0 Nov 27 20:27 Star.Trek.Enterprise.-.S01E04.mkv
    0 Nov 27 20:27 Star.Trek.Enterprise.-.S01E05.mkv
    0 Nov 27 20:27 Star.Trek.Enterprise.-.S01E06.mkv
    0 Nov 27 20:27 Star.Trek.Enterprise.-.S01E07.mkv
    0 Nov 27 20:27 Star.Trek.Enterprise.-.S01E08.mkv
    0 Nov 27 20:27 Star.Trek.Enterprise.-.S01E09.mkv
    0 Nov 27 20:27 Star.Trek.Enterprise.-.S01E10.mkv
    0 Nov 27 20:27 Star.Trek.Enterprise.-.S01E11.mkv
 798M Nov 27 20:27 Star.Trek.Enterprise.-.S01E12.mkv
 798M Nov 27 20:28 Star.Trek.Enterprise.-.S01E13.mkv
    0 Nov 27 20:27 Star.Trek.Enterprise.-.S01E14.mkv
    0 Nov 27 20:27 Star.Trek.Enterprise.-.S01E15.mkv
    0 Nov 27 20:27 Star.Trek.Enterprise.-.S01E16.mkv
    0 Nov 27 20:27 Star.Trek.Enterprise.-.S01E17.mkv
    0 Nov 27 20:27 Star.Trek.Enterprise.-.S01E18.mkv
    0 Nov 27 20:27 Star.Trek.Enterprise.-.S01E19.mkv
    0 Nov 27 20:27 Star.Trek.Enterprise.-.S01E20.mkv
    0 Nov 27 20:27 Star.Trek.Enterprise.-.S01E21.mkv
    0 Nov 27 20:27 Star.Trek.Enterprise.-.S01E22.mkv
    0 Nov 27 20:27 Star.Trek.Enterprise.-.S01E23.mkv
    0 Nov 27 20:27 Star.Trek.Enterprise.-.S01E24.mkv
    0 Nov 27 20:27 Star.Trek.Enterprise.-.S01E25.mkv
    0 Nov 27 20:27 Star.Trek.Enterprise.-.S01E26.mkv
после окончания скачивания (задействован еще один файл из последнего сегмента):

Код: Выделить всё

ls -lh Star.Trek.Enterprise.S01.HDTV.720p-HDNet/
total 2.4G
    0 Nov 27 20:27 Star.Trek.Enterprise.-.S01E01.mkv
    0 Nov 27 20:27 Star.Trek.Enterprise.-.S01E02.mkv
    0 Nov 27 20:27 Star.Trek.Enterprise.-.S01E03.mkv
    0 Nov 27 20:27 Star.Trek.Enterprise.-.S01E04.mkv
    0 Nov 27 20:27 Star.Trek.Enterprise.-.S01E05.mkv
    0 Nov 27 20:27 Star.Trek.Enterprise.-.S01E06.mkv
    0 Nov 27 20:27 Star.Trek.Enterprise.-.S01E07.mkv
    0 Nov 27 20:27 Star.Trek.Enterprise.-.S01E08.mkv
    0 Nov 27 20:27 Star.Trek.Enterprise.-.S01E09.mkv
    0 Nov 27 20:27 Star.Trek.Enterprise.-.S01E10.mkv
    0 Nov 27 20:27 Star.Trek.Enterprise.-.S01E11.mkv
 798M Nov 27 20:27 Star.Trek.Enterprise.-.S01E12.mkv
 798M Nov 27 20:31 Star.Trek.Enterprise.-.S01E13.mkv
 801M Nov 27 20:31 Star.Trek.Enterprise.-.S01E14.mkv
    0 Nov 27 20:27 Star.Trek.Enterprise.-.S01E15.mkv
    0 Nov 27 20:27 Star.Trek.Enterprise.-.S01E16.mkv
    0 Nov 27 20:27 Star.Trek.Enterprise.-.S01E17.mkv
    0 Nov 27 20:27 Star.Trek.Enterprise.-.S01E18.mkv
    0 Nov 27 20:27 Star.Trek.Enterprise.-.S01E19.mkv
    0 Nov 27 20:27 Star.Trek.Enterprise.-.S01E20.mkv
    0 Nov 27 20:27 Star.Trek.Enterprise.-.S01E21.mkv
    0 Nov 27 20:27 Star.Trek.Enterprise.-.S01E22.mkv
    0 Nov 27 20:27 Star.Trek.Enterprise.-.S01E23.mkv
    0 Nov 27 20:27 Star.Trek.Enterprise.-.S01E24.mkv
    0 Nov 27 20:27 Star.Trek.Enterprise.-.S01E25.mkv
    0 Nov 27 20:27 Star.Trek.Enterprise.-.S01E26.mkv
Как видите, практика полностью соответствует теории. И ответ на вопрос «могу ли я скачать только те файлы, которые я хочу» прост — нет, не можете; будет скачано в общем случае от n+2 до n*3 файлов, где n — к-во файлов, выбранных для скачивания (для случая, когда выбранный файл не является первым/последним/единственным).
Изображение

Хочешь юзербар с индикацией аплоада? Спроси меня - как!

Аватара пользователя
Beelze
Администратор
Сообщения: 96

Re: Как скачать отдельный файл из большой раздачи?

Сообщение Beelze »

В дополнение — если кто-то не обратил внимание: при добавлении торрента в диалоге имеется галочка «Не начинать закачку автоматически«. Если Вы предполагаете качать торрент частично — необходимо ее поставить, отменить закачку для «ненужных» файлов и потом только стартовать торрент.
Изображение

Хочешь юзербар с индикацией аплоада? Спроси меня - как!

Аватара пользователя
torrex
Пользователь megaseed.kz
Сообщения: 9

Re: Как скачать отдельный файл из большой раздачи?

Сообщение torrex »

(это не совсем то же самое что и «удобное скачивание»). Так что удивляться тому, что это происходит не совсем так, как может быть кому-то хотелось — не стоит.
Не об удобстве или личном хотении идёт речь. Иной раз просто в необходимости. Существуют раздачи, размером около 50-80 гигов. А нужно взять 2-3 файла из неё. Не арендовать же 100 гигов у вас ради 2-3 гигов. Вот поэтому и спросил про методы решения этой проблемы у вас. Но нет, так нет. Буду выкручиваться самостоятельно.

Аватара пользователя
Guron
Администратор
Сообщения: 44

Re: Как скачать отдельный файл из большой раздачи?

Сообщение Guron »

torrex Перечитайте ещё раз. Ничего не мешает удалить файлы, которые зарезервировали место, но которые не требуются для скачивания.
ИзображениеИзображение

Аватара пользователя
Beelze
Администратор
Сообщения: 96

Re: Как скачать отдельный файл из большой раздачи?

Сообщение Beelze »

Думаю, я все разъяснил вполне понятно — скачиваться один файл не может и это свойство выбранного Вами протокола BitTorrent. Про предварительное резервирование я тоже разъяснил достаточно подробно, не так ли? Так что проблемы тут как таковой и нет — все работает именно так, как положено. Вы можете «поиграться» с файлами и так далее, но при нарушении согласованности сессии нормальная работа клиента, разумеется, не гарантируется.
Изображение

Хочешь юзербар с индикацией аплоада? Спроси меня - как!

Ответить