Программы-архиваторы. Принципы архивирования

Хранение данных в удобном компактном виде. Рассмотрение особенностей процедуры упаковки информационных файлов. Современные методы сжатия архиваторов. Процесс создания самораспаковывающихся (SFX) архивов. Рассмотрение простейшего принципа архивации.

Рубрика Производство и технологии
Вид реферат
Язык русский
Дата добавления 23.05.2015
Размер файла 31,7 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

МИНОБРНАУКИ РОССИИ

Федеральное государственное автономное образовательное

учреждение высшего образования

«Южный федеральный университет»

Институт истории и международных отношений

Археология, история и культура северного причерноморья

Программы-архиваторы. Принципы архивирования

Выполнил: Студент 6 группы Магистратуры

Иванча Андрей

Ростов-на-Дону 2015

1. Что такое Архиваторы? Принцип работы архиваторов

Архиваторы - это программы для создания архивов. Архивы предназначены для хранения данных в удобном компактном виде. В качестве данных обычно выступают файлы и папки. Как правило, данные предварительно подвергаются процедуре сжатия или упаковки. Поэтому почти каждый архиватор одновременно является программой для сжатия данных. С другой стороны, любая программа для сжатия данных может рассматриваться как архиватор. Эффективность сжатия является важнейшей характеристикой архиваторов. От нее зависит размер создаваемых архивов. Чем меньше архив, тем меньше места требуется для его хранения. Для передачи нужна меньшая пропускная способность канала передачи или затрачивается меньшее время. Преимущества архивов очевидны, если учесть, что данные уменьшаются в размере и в 2 раза, и в 5 раз.

Сжатие данных используется очень широко. Можно сказать, почти везде. Например, документы PDF , как правило, содержат сжатую информацию. Довольно много исполняемых файлов EXE сжаты специальными упаковщиками. Всевозможные мультимедийные файлы ( GIF , JPG , MP 3, MPG ) являются своеобразными архивами.

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

В данный момент существует много архиваторов. Они имеют разную распространенность и эффективность. Некоторые интересные архиваторы не известны широкому кругу потенциальных пользователей. Особый интерес представляют оценка и сравнение эффективности сжатия популярных архиваторов.

2. Методы сжатия архиваторов

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

1. Кодирование длин серий (RLE - сокращение от run - length encoding - кодирование длин серий).

Очень простой метод. Последовательная серия одинаковых элементов данных заменяется на два символа: элемент и число его повторений. Широко используется как дополнительный, так и промежуточный метод. В качестве самостоятельного метода применяется, например, в графическом формате BMP.

2. Словарный метод (LZ - сокращение от Lempel Ziv - имена авторов).

Наиболее распространенный метод. Используется словарь, состоящий из последовательностей данных или слов. При сжатии эти слова заменяются на их коды из словаря. В наиболее распространенном варианте реализации в качестве словаря выступает сам исходный блок данных.

Основным параметром словарного метода является размер словаря. Чем больше словарь, тем больше эффективность. Однако для неоднородных данных чрезмерно большой размер может быть вреден, так как при резком изменении типа данных словарь будет заполнен неактуальными словами. Для эффективной работы данного метода при сжатии требуется дополнительная память. Приблизительно на порядок больше, чем нужно для исходных данных словаря. Существенным преимуществом словарного метода является простая и быстрая процедура распаковки. Дополнительная память при этом не требуется. Такая особенность особенно важна, если необходим оперативный доступ к данным.

3. Энтропийный метод ( Huffman - кодирование Хаффмена, Arithmetic coding - арифметическое кодирование)

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

Широко используется как дополнительный метод. В качестве самостоятельного метода применяется, например, в графическом формате JPG.

4. Метод контекстного моделирования ( CM - сокращение от context modeling - контекстное моделирование)

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

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

5. PPM ( PPM - Prediction by Partial Matching - предсказание по частичному совпадению).

Это особый подвид контекстного моделирования. Предсказание выполняется на основании определенного количества предыдущих элементов данных. Основным параметром является порядок модели, который задает это количество элементов. Чем больше порядок модели, тем выше степень сжатия, но требуется больше оперативной памяти для хранения данных модели. Если оперативной памяти недостаточно, то такая модель с большим порядком показывает низкие результаты. Метод PPM особенно эффективен для сжатия текстовых данных.

6. Предварительные преобразования или фильтрация.

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

Метод сортировки блока данных ( BWT - сокращение от Burrows Wheeler Transform - по имени авторов).

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

7. Непрерывные блоки или непрерывный режим ( Solid mode - непрерывный режим).

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

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

Сегментирование.

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

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

Особенности данных

Степень сжатия в основном зависит от исходных данных. Хорошо сжимаются почти все предварительно несжатые данные, например, исполняемые файлы (EXE), тексты (TXT , DOC), базы данных (DBF ), простые несжатые изображения ( BMP ). Ограниченно сжимаются несжатый звук ( WAV ), сложные несжатые изображения ( BMP ). Не сжимаются почти все уже сжатые данные, например, архивы ( ZIP , CAB ), сжатые документы ( PDF ), сжатая графика и видео ( JPG , GIF , AVI , MPG ), сжатый звук ( MP 3). Их сжатие находится в пределах пары процентов за счет служебных блоков и небольшой избыточности.

Для сжатия некоторых специфических данных (текст, несжатые изображения, несжатый звук) существуют специальные методы и архиваторы. Такие архиваторы обеспечивают высокую степень сжатия и высокую скорость. Однако так называемые универсальные архиваторы постепенно дополняются подобными методами. В данный момент только для несжатого звука существуют высокоэффективные специальные архиваторы, такие, как OptimFROG , Monkey Audio. Для текстов и изображений лучшие универсальные архиваторы показывают лучшую степень сжатия. Например, архив изображений получится меньше, если использовать формат BMP и архиватор WinRK вместо специализированных графических форматов, таких как JPEG 2000 ( LossLess - сжатие без потерь). Большое количество типов данных уже являются сжатыми. Использование архиваторов дает мизерное уменьшение размера. Тем не менее даже в таких случаях эффективное сжатие теоретически возможно. Это обусловлено тем, что в большинстве распространенных форматов файлов, использующих сжатие, применены не самые эффективные методы. Например, в основе формата JPG лежит энтропийное сжатие, которое используется после преобразований Фурье. Данные кодируются неоптимальными блоками, что обусловлено желанием сделать формат JPG устойчивым к повреждениям и возможности частичного извлечения информации. Перекодировав файлы JPG при помощи высокоэффективных методов, можно добиться сжатия порядка 75% от исходного файла (архиватор StuffIt ). Собственно сам исходный файл JPG сжимается обычными архиваторами только до 96%. Однако подобные манипуляции с файлами JPG стали возможны только недавно и еще не получили распространения. В большинстве случаев сжимать уже сжатые данные бесполезно.

3. Какие существуют архиваторы и чем они отличаются?

Следует различать собственно программу-архиватор, формат архивов и методы сжатия. Даже один и тот же метод сжатия может иметь варианты реализации. Например, существует более десятка программ-архиваторов, которые могут создавать архивы в формате ZIP. В свою очередь данные в формате ZIP могут быть сжаты различными методами: Deflate, Deflate64, BZip2. Метод Deflate имеет несколько реализаций с разной скоростью и степенью сжатия (разница порядка 5%). С помощью этого метода архиватор 7-zip позволяет создавать архивы в формате ZIP и 7Z.

Обычно архиваторы могут создавать архивы в собственном эксклюзивном формате с использованием своих оригинальных методов. Например, архиватор RAR позволяет создавать архивы RAR. В формате архива и методах сжатия заключаются основные преимущества того или иного архиватора.

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

сжатие некоторых файлов и целых директорий;

создание самораспаковывающихся (SFX) архивов. То есть для распаковки архива программа-архиватор не требуется;

изменение содержимого архива;

шифрование содержимого архива;

информация для восстановления архива при частичном повреждении и возможность восстановления поврежденных архивов;

разбивка архива на несколько частей или томов;

консольная версия программы для работы из командной строки;

графическая (GUI) версия программы.

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

Кроме различий в функциональности, можно разбить архиваторы на две группы: асимметричные и симметричные. Асимметричные архиваторы требуют для операции распаковки значительно меньше времени и оперативной памяти, чем для операции упаковки. Это позволяет быстро получать содержимое архива на маломощных компьютерах. Симметричные архиваторы требуют для операций упаковки и распаковки одинаковое время и объем оперативной памяти. Использование таких архиваторов на широком парке компьютеров или для оперативного доступа к содержимому архива ограничено. Известный архиватор RAR в качестве основного использует асимметричный словарный метод сжатия, а для текстов может использовать симметричный PPM-метод. Таким образом, распаковка архивов RAR, сжатых с максимальной степенью сжатия, может быть невозможна на компьютерах с ограниченным объемом оперативной памяти. Все или почти все передовые архиваторы с высокой степенью сжатия являются симметричными.

Точной статистики по распространенности архиваторов у меня нет. Я выскажу свою субъективную точку зрения на основе личного опыта. Безусловно, самым распространенным архиватором являются ZIP и его модификации. По своей распространенности он значительно превосходит ближайших конкурентов. Следом идут RAR и ACE. В последние годы встречается архиватор 7-zip. Других архиваторов и архивов лично мы не встречали. Исключение составляют некогда популярные ARJ и LHA. В данный момент они не актуальны из-за очень низкой степени сжатия.

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

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

Рассмотрим простейший принцип архивации:

Он состоит в том, что в файле выявляются повторяющиеся символы или группы символов, после чего несколько повторяющихся экземпляров заменяются одним с коэффициентом повтора, например:

хранение сжатие архиватор

ААААВВВ = 4АЗВ (коэффициент уплотнения 4:7).

Более сложный метод архивации:

Основан на изменении технологии кодирования символов. Мы знаем, что обычно каждый символ кодируется одним байтом (более подробно можно ознакомиться в статье - что такое бит и байт), то есть восемью битами, независимо от того, какой это символ. В телеграфной азбуке, например, это не так. Здесь часто встречающаяся буква Е (частота появления в словах) кодируется всего лишь одним элементом (*), а редко встречающаяся буква Ц -- четырьмя (-- * -- *) и так далее. Архиватор, действующий по такому принципу, сначала проверит, насколько часто те или иные коды встречаются в файле, а потом перекодирует их так, чтобы наиболее частые кодировались одним битом, другие -- двумя битами и т. д. В общем, чем чаще символ (а может быть и группа символов) встречается в файле, тем меньшим числом битов он кодируется. При этом неминуемо возникает ситуация, когда редкие символы кодируются числом битов, большим, чем восемь, например двенадцатью, но в среднем все равно получается ощутимый выигрыш.

Существуют комбинированные технологии, основанные сразу на нескольких принципах.

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

Эти технологии несложны и достаточно понятны. Их называют симметричными по какому алгоритму упаковывающая программа сжимает файл, по такому же алгоритму работает и разуплотняющая программа. В итоге после разуплотнения получается точная копия исходного файла. Еще такие методы сжатия называют -сжатием без потери информации.

Кроме симметричных, существуют и несимметричные алгоритмы. Они могут приводить к определенной потере информации, когда распакованный файл не тождественен исходному. Такие алгоритмы нельзя применять к текстам, документам и программам, но их нередко используют для сжатия графики, музыки и видео. Наиболее известные алгоритмы: JPEG (. JPG -- графика) и MPEG (.MPG и. MP4 -- видео;.MP3 -- музыка).

Работа алгоритмов сжатия - JPEG и MPEG достаточно сложна и основывается на изощренной математике. В двух словах об алгоритме JPEG можно сказать так: сначала строка изображения раскладывается по трем основным цветам, потом для каждого цвета строится график его изменения по строке, затем в этом графике выявляются периодические зависимости, эти зависимости записываются тригонометрическими формулами, после чего запоминаются не точки и их цвета, а коэффициенты формул.

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

Кстати, эффект от применения технологии JPEG очень сильно проявляется на цветных фотографиях, а на черно-белых иллюстрациях он намного меньше.

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

Если вы приобретали фильмы в формате.MP4 и просматривали их, то могли заметить, что качество изображения в фильмах значительно различается. Здесь роль играет не только качество исходной записи, для которой применяли сжатие, но и настройки алгоритма сжатия.

Размещено на Allbest.ru


Подобные документы

  • Рассмотрение способов определения минимального воздействия картонной упаковки на окружающую среду в течение полного жизненного цикла. Общая характеристика упаковки TetraPak. Знакомство с видами деятельности ОАО "Савушкин продукт", анализ продукции.

    дипломная работа [580,9 K], добавлен 13.02.2014

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

    реферат [26,9 K], добавлен 15.02.2011

  • Назначение и свойства упаковываемой продукции. Разработка и описание технологической схемы изготовления тары и упаковки. Расчет технологических параметров изготовления тары и упаковки. Причины появления дефектов тары и упаковки и методы их устранения.

    дипломная работа [234,3 K], добавлен 05.06.2016

  • Направления производства ООО "Растр-технология": плоские и ротационные штанцформы, изготовление упаковки на плоттере. Технологический процесс плоттерной резки. Классификация картона. Программы для конструктивного дизайна упаковки и работы с плоттерами.

    дипломная работа [791,0 K], добавлен 22.11.2010

  • Основные этапы проектирования упаковки. Классификация тары и упаковки. Обзор рынка аналогов, анализ прототипов упаковки для новогодних подарков. Влияние позиционирования товара в магазине на конструкцию упаковки. Основные этапы разработки технологии.

    дипломная работа [4,4 M], добавлен 22.11.2010

  • Обзор возможных материалов для упаковки молока. Характеристика и подбор оборудования для производства упаковки и розлива молока, для дополнительного оформления упаковки. Принципиальная схема картонной упаковки, её дизайн и расчет расходного материала.

    курсовая работа [4,6 M], добавлен 19.11.2013

  • Состав и виды кондитерских изделий. Обзор возможных материалов для упаковки конфет. Критерии ее выбора. Подбор технического оборудования для производства упаковки, маркировки и контроля качества. Процесс производства парафинированной упаковочной бумаги.

    курсовая работа [3,7 M], добавлен 17.03.2011

  • Рассмотрение ассортимента, особенностей производственного процесса и структурно-механических свойств картона. Описание принципа работы отдельных частей картоноделательной машины. Изучение технологических характеристик приборов для исследования бумаги.

    курсовая работа [3,1 M], добавлен 09.02.2010

  • Характеристика технологии работы линии упаковки ГКЛ. Описание структуры, устройства и принципа работы системы управления упаковкой. Особенности электроснабжения и техники безопасности. Расчёт капитальных затрат для микропроцессорной системы управления.

    дипломная работа [1,9 M], добавлен 23.06.2010

  • Редуктор как механизм, состоящий из зубчатых или червячных передач, выполненный в виде отдельного агрегата, основное назначение. Рассмотрение особенностей проектирования привода ленточного транспортера. Этапы расчета цилиндрической зубчатой передачи.

    курсовая работа [511,7 K], добавлен 06.01.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.