stringtranslate.com

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

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

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

Объяснение

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

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

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

Грубое графическое представление

В этом примере три файла имеют общую часть с одинаковой информацией, уникальную часть с информацией, которой нет в других файлах, и «воздушную» часть с низкоэнтропийной и, соответственно, хорошо сжимаемой информацией.

исходный файл А

исходный файл B

исходный файл C

не сплошной архив:

сплошной архив:

Обоснование

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

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

Расходы

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

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

Ссылки

  1. ^ "7za man page". Архивировано из оригинала 2010-01-10 . Получено 2010-01-24 . -ms=on[:] solid archive on
  2. ^ "RAR Frequently Asked Questions (FAQ)". 1994-08-15. Архивировано из оригинала 2011-05-15 . Получено 2010-01-24 .
  3. ^ "CAFxXcrossway - Эмуляция сплошного архивирования с помощью ZIP". cafxx.strayorange.com .
  4. ^ "ZIP и сплошные архивы". PC Review . 2006-03-15.
  5. ^ "ИСТОРИЯ 7-Zip". www.7-zip.org . Получено 09.09.2019 .