Твердое сжатие
В вычислительной технике сплошное сжатие — это метод сжатия данных нескольких файлов, при котором все несжатые файлы объединяются и обрабатываются как один блок данных. Такой архив называется твердым архивом. Он изначально используется в 7z. [1] и РАР [2] форматах, а также косвенно в берет -форматы, такие как .берёт. гз и .берёт. бз2 . Напротив, формат ZIP не является надежным, поскольку в нем хранятся отдельно сжатые файлы (хотя для небольших архивов можно эмулировать твердое сжатие, объединяя файлы в несжатый архивный файл и затем сжимая этот архивный файл во второй сжатый ZIP-файл). [3] [4]
Объяснение
[ редактировать ]Сжатые форматы файлов часто сочетают в себе как сжатие (хранение данных в небольшом пространстве), так и архивирование (хранение нескольких файлов и метаданных в одном файле). Их можно объединить двумя естественными способами:
- сжать отдельные файлы, а затем заархивировать их в один файл;
- архивировать в один блок данных, а затем сжимать.
Порядок имеет значение (эти операции не коммутируют ), а последнее — сплошное сжатие.
В Unix сжатие и архивирование традиционно являются отдельными операциями, что позволяет понять это различие:
- Сжатие отдельных файлов и последующее архивирование было бы берет из gzip -сжатые файлы – это большая редкость.
- Архивирование различных несжатых файлов с помощью берет а затем сжатие дает сжатый архив: .tar.gz файл – это твердое сжатие.
- Грубое графическое представление
В этом примере три файла имеют общую часть с одинаковой информацией, уникальную часть с информацией, которой нет в других файлах, и «воздушную» часть с малоэнтропийной и соответственно хорошо сжимаемой информацией.
исходный файл А
общий | уникальный | воздух |
исходный файл Б
общий | уникальный | воздух |
исходный файл С
общий | уникальный | воздух |
не солидный архив:
общий | А | общий | Б | общий | С |
солидный архив:
общий | А | Б | С |
Обоснование
[ редактировать ]Преимущества
[ редактировать ]Твердое сжатие обеспечивает гораздо лучшую степень сжатия, когда все файлы одинаковы, что часто бывает, если они имеют один и тот же формат . Это также может быть эффективно при архивировании большого количества небольших файлов.
Затраты
[ редактировать ]С другой стороны, получение одного файла из твердого архива требует обработки всех файлов перед ним, поэтому изменение твердых архивов может быть медленным и неудобным. В более новых форматах, таких как 7-zip, существует параметр размера сплошного блока , который позволяет разделить объединенный блок данных на индивидуально сжатые более мелкие блоки, так что для обработки необходимо обработать только ограниченный объем данных в блоке. извлечь один файл. Параметры управляют максимальным размером окна сплошного блока, количеством файлов в блоке и тем, разделены ли блоки расширением файла. [5]
Кроме того, при даже незначительном повреждении архива часть данных (иногда даже все данные) после поврежденной части в блоке могут оказаться непригодными (в зависимости от формата сжатия и архивирования), тогда как в нетвердом формате архива обычно только один файл непригоден для использования, а последующие файлы обычно еще можно извлечь.
Ссылки
[ редактировать ]- ^ «Справочная страница 7za» . Архивировано из оригинала 10 января 2010 г. Проверено 24 января 2010 г.
-ms=on[:] твердый архив включен
- ^ «Часто задаваемые вопросы по RAR» . 15 августа 1994 г. Архивировано из оригинала 15 мая 2011 г. Проверено 24 января 2010 г.
- ^ «CAFxXcrossway — эмуляция надежного архивирования с помощью ZIP» . cafxx.strayorange.com .
- ^ «ZIP и солидные архивы» . Обзор ПК . 15 марта 2006 г.
- ^ «ИСТОРИЯ 7-Zip» . www.7-zip.org . Проверено 9 сентября 2019 г.