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