Рубрика «rhash»

Скачиваемый файл заполнен нулями

Нуль-блоками я называю блоки(части файла) заполненные нулевыми байтами. Можно заранее посчитать их хеши и не запрашивать эти блоки у источников а сразу помечать их уже загруженными.

Нуль-блоки не надо хранить на диске. Благодаря sparse флагу операционная система просто помечает этот участок файла как заполненный нулями и не хранит эти нули на диске.

Свойства файла заполненного нулями

Файл размером 16MB занимает на диске 4KB

Также показывая что участки скачиваемого файла заполнены нулями можно мотивировать пользователя отказаться от скачивания и распространения битого файла. В моей версии Shareaza эти участки помечаются красной полосой сверху на полосе прогресса загрузки файла.

Откуда берутся нуль-блоки в файле

  1. Раздающий не дождался полного скачивания и проверки файла и выложил неполный(partial) файл.
  2. Результат повреждения сектора диска раздающего.

Это те варианты которые пришли в голову.

Почему эти файлы продолжают распространяться

  1. Видео/аудио файл может иметь нуль-блок в середине и спокойно воспроизводится просто перескакивая то место где попался нуль-блок. Тем самым он может казаться целым.
  2. Образ диска также может иметь нуль-блоки в разных местах и это проявит себя только при попытке чтения файлов из этих блоков.Читать полностью »

https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js