Программные средства сжатия данных

Алгоритм Хаффмана

Алгоритм RLE

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

Например, для последовательности: 0; 0; 0; 127; 127; 0; 255; 255; 255; 255 (всего 10 байтов) образуется следующий вектор:

 

Значение Коэффициент повтора

При записи в строку он имеет вид:

0; 3; 127; 2; 0; 1; 255; 4 (всего 8 байтов).

В данном примере коэффициент сжатия равен 8/10=0,8 (экономия объема составляет 20%).

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

При упаковке по методу Хаффмана часто встречающиеся символы кодируются короткими последовательностями битов, а более редкие символы – длинными последовательностями. К каждому сжатому архиву прикладывается таблица соответствия имеющихся символов и кодов, заменяющих эти символы.

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

«Классическими» форматами сжатия данных являются форматы .ZIP, .RAR и .ARJ. Среди наиболее распространенных программ-архиваторов можно назвать ARJ, KZIP, LHA, PKPAK, PAK, ZIP, RAR, WinZIP и WinRAR.

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

К базовым функциям диспетче­ров архивов относятся:

· извлечение файлов из архивов;

· создание новых архивов;

· добавление файлов в имеющийся архив;

· создание самораспаковывающихся архивов;

· создание распределенных архивов на носителях малой емкости;

· тестирование целостности структуры архивов;

· полное или частичное восстановление поврежденных архивов;

· защита архивов от просмотра и несанкционированной модификации.

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

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

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

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

Дополнительные требования к диспетчерам архивов

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

- просмотр файлов различных форматов без извлечения их из архива;

- поиск файлов и данных внутри архивов;

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

- проверку отсутствия компьютерных вирусов в архиве до его распаковки;

- криптографическую защиту архивной информации;

- декодирование сообщений электронной почты;

- “прозрачное” уплотнение исполнимых файлов .ЕХЕ и .DLL;

- создание самораспаковывающихся многотомных архивов;

- выбор или настройку коэффициента сжатия информации.

 

Компьютерные сети

 

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