WikiDer > Твердое сжатие

Solid compression
Tar.gz создается путем объединения файлов в tar и последующего сжатия с помощью gzip.

В вычисление, твердое сжатие это метод для Сжатие данных из нескольких файлов, при этом все несжатые файлы объединяются и обрабатываются как один блок данных. Такой архив называется сплошным архивом. Он изначально используется в 7z[1] и RAR[2] форматы, а также косвенно в деготьна основе форматов, таких как .tar.gz и .tar.bz2. Напротив, Формат ZIP не является твердым, потому что он хранит отдельно сжатые файлы (хотя твердое сжатие можно эмулировать для небольших архивов, объединяя файлы в несжатый архивный файл и затем сжимая этот архивный файл во втором сжатом ZIP-файле).[3][4]

Объяснение

Сжатые форматы файлов часто имеют как сжатие (хранение данных в небольшом пространстве), так и архивирование (хранение нескольких файлов и метаданных в одном файле). Их можно объединить двумя естественными способами:

  • сжать отдельные файлы, а затем архивировать в один файл;
  • архивировать в единый блок данных, а затем сжимать.

Порядок имеет значение (эти операции не ездить), а последнее - твердое сжатие.

В Unix сжатие и архивирование традиционно являются отдельными операциями, что позволяет понять это различие:

  • Сжатие отдельных файлов и последующее архивирование было бы деготь из gzip-сжатые файлы - это очень редко.
  • Архивирование различных несжатых файлов через деготь и тогда сжатие дает сжатый архив: .tar.gz файл - это сплошное сжатие.

Обоснование

Преимущества

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

Расходы

С другой стороны, получение одного файла из сплошного архива требует обработки всех файлов перед ним, поэтому изменение сплошных архивов может быть медленным и неудобным. В более новых форматах, таких как 7-zip, есть размер твердого блока опция, которая позволяет разделить объединенный блок данных на индивидуально сжатые блоки меньшего размера, так что только ограниченный объем данных в блоке должен быть обработан для извлечения одного файла. Параметры управляют максимальным размером окна сплошного блока, количеством файлов в блоке и разделением блоков по расширению файла.[5]

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

Рекомендации

  1. ^ "Страница руководства 7za". Архивировано из оригинал на 2010-01-10. Получено 2010-01-24. -ms = on [:] сплошной архив включен
  2. ^ «Часто задаваемые вопросы по RAR (FAQ)». Получено 2010-01-24.
  3. ^ "CAFxXcrossway - Эмуляция надежного архивирования с помощью ZIP". cafxx.strayorange.com.
  4. ^ «ZIP и сплошные архивы». Обзор ПК.
  5. ^ "ИСТОРИЯ 7-Zip". www.7-zip.org. Получено 2019-09-09.