Главная Обратная связь

Дисциплины:

Архитектура (936)
Биология (6393)
География (744)
История (25)
Компьютеры (1497)
Кулинария (2184)
Культура (3938)
Литература (5778)
Математика (5918)
Медицина (9278)
Механика (2776)
Образование (13883)
Политика (26404)
Правоведение (321)
Психология (56518)
Религия (1833)
Социология (23400)
Спорт (2350)
Строительство (17942)
Технология (5741)
Транспорт (14634)
Физика (1043)
Философия (440)
Финансы (17336)
Химия (4931)
Экология (6055)
Экономика (9200)
Электроника (7621)






Резервное копирование информации. Сжатие данных



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

Для человека избыточность данных часто связана с качеством информации, поскольку избыточность, как правило, улучшает понятность и восприятие информации. Однако, когда речь идет о хранении и передаче информации средствами компьютерной техники, то избыточность играет отрицательную роль, поскольку она приводит к возрастанию стоимости хранения и передачи информации. Особенно актуальной эта проблема стает в случае обработки огромных объемов информации при незначительных объемах носителей данных. В связи с этим, постоянно возникает проблема уменьшения избыточности или сжатия данных. Если методы сжатия данных применяются к готовым файлам, то часто вместо термина «сжатие данных» употребляют термин «архивация данных», сжатый вариант данных называют архивом, а программные средства, которые реализуют методы сжатия, называются архиваторами.[22]

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

Итак, цели архивирования могут быть следующими:

1. сжатие (архивация) файлов: используется для уменьшения размеров файлов при подготовке их к передаче каналами связи или к транспортированию на внешних носителях маленькой емкости;



2. сжатие (архивация) папок: используется как средство уменьшения объема папок перед долгим хранением, например, при резервном копировании;

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

Архиваторы можно классифицировать по следующим признакам:

1. По способу преобразования информации. Возможно сжатие данных без потерь (обратимое) или с потерями (необратимое).

2. По принципу активизации. Различают резидентные и нерезидентные архиваторы.

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

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

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



1. JPEG - для графических данных;

2. MPG - для видеоданных;

3. MP3 - для аудиоданных.

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

1. GIF, TIFF - для графических данных;

2. AVI - для видеоданных;

3. ZIP, ARJ, RAR, CAB, LH - для произвольных типов данных.

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

1. алгоритм RLE (Run Length Encoding) или кодирование повторов;

2. алгоритмы группы KWE (KeyWord Encoding) или методы словарей;

3. алгоритм Хаффмана.

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

1 1 1 1 2 2 3 4 4 4

При реализации алгоритма RLE указанная строка заменяется следующей

1 4 2 2 3 1 4 3,

где первое число каждой пары чисел - это код данных, а второе - коэффициент повторения. Если для хранения каждого элемента данных входной последовательности отводится 1 байт, то вся последовательность будет занимать 10 байт памяти, тогда как выходная последовательность (сжатый вариант) будет занимать 8 байт памяти. Коэффициент сжатия, характеризующий, степень сжатия, можно вычислить по формуле (9.1):

, (9.1)

где Vx- объем памяти, необходимый для хранения выходной (результирующей) последовательности данных, Vn- входной последовательности данных.

Чем меньше значение коэффициента сжатия, тем эффективней метод сжатия. Понятно, что алгоритм RLE будет давать лучший эффект сжатия при большей длине повторяющейся последовательности данных. В случае рассмотренного выше примера, если входная последовательность будет иметь такой вид: 1 1 1 1 1 1 3 4 4 4, то коэффициент сжатия будет равен 60%. В связи с этим большая эффективность алгоритма RLE достигается при сжатии графических данных (в особенности для однотонных изображений).

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

Существует довольно много реализаций этого алгоритма, среди которых наиболее распространенными являются алгоритм Лемпеля-Зива (алгоритм LZ) и его модификация алгоритм Лемпеля-Зива-Велча (алгоритм LZW). Словарем в данном алгоритме является потенциально бесконечный список фраз. Алгоритм начинает работу с почти пустым словарем, который содержит только одну закодированную строку, так называемая NULL-строка. При считывании очередного символа входной последовательности данных, он прибавляется к текущей строке. Процесс продолжается до тех пор, пока текущая строка соответствует какой-нибудь фразе из словаря. Но рано или поздно текущая строка перестает соответствовать какой-нибудь фразе словаря. В момент, когда текущая строка представляет собой последнее совпадение со словарем плюс только что прочитанный символ сообщения, кодер выдает код, который состоит из индекса совпадения и следующего за ним символа, который нарушил совпадение строк. Новая фраза, состоящая из индекса совпадения и следующего за ним символа, прибавляется в словарь. В следующий раз, если эта фраза появится в сообщении, она может быть использована для построения более длинной фразы, что повышает меру сжатия информации.

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

Алгоритмы сжатия этой группы наиболее эффективны для текстовых данных больших объемов и малоэффективны для файлов маленьких размеров (за счет необходимости сохранения словаря).

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

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

Пусть задан текст, в котором буква «А» входит 10 раз, буква «Б» - 8 раз, «В»- 6 раз, «Г» - 5 раз, «Д» и «Е» - по 4 раза. Тогда один из возможных вариантов кодирования по алгоритму Хаффмана приведен в таблице 9.1.

Таблица 9.1.

Алгоритм кодирования по Хаффману

Символ Частота вхождения Битовый код
A
Б
В
Г
Д
Е

Как видно из таблицы 9.1, размер входного текста до сжатия равен 37 байт (10+8+6+5+4+4=37), тогда как после сжатия - 93 бит, то есть около 12 байт (без учета длины словаря). Коэффициент сжатия равен 32%. Алгоритм Хаффмана универсальный, его можно применять для сжатия данных любых типов, но он малоэффективен для файлов маленьких размеров (за счет необходимости сохранение словаря).

Алгоритм Хаффмана можно также проиллюстрировать на примере «строительства» (рис. 9.1) дерева. Сгруппируем символы с наименьшими частотами в пары и поместим их на самый высокий уровень. Сумма частот появления символов А и Б равна 18, В и Г – 11, Д и Е – 8. Далее, присваивая ветвям нули и единицы, получаем такие коды: А – 00, Б – 01, В – 100, Г – 101, Д – 110, Е – 111.

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

Рис.9.1. Иллюстрация сжатия по алгоритму Хаффмана

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

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

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

Таблица 9.2.

Форматы сжатия программ архиваторов

Формат сжатия Операционная система MS DOS Операционная система Windows
Программа архивации Программа разархивации Программа архивации Программа разархивации
ARJ Arj.exe Arj.exe WinArj.exe WinArj.exe
RAR Rar.exe Unrar.exe WinRar.exe WinRar.exe
ZIP Pkzip.exe Pkunzip.exe WinZip.exe WinZip.exe

Следует отметить, что различные архиваторы отличаются друг от друга по рассмотренным характеристикам незначительно. Коэффициент сжатия в большей степени зависит от типа архивируемого файла. Например, программные файлы сжимаются в среднем в 1,5-2 раза, текстовые файлы в 3-4 раза, базы данных в 7-8 раз, а некоторые графические файлы могут быть сжаты в десятки раз.

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

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

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

Компрессоры ОЗУ сжимают информацию в оперативной памяти компьютера, увеличивая тем самым ее эффективный объем. Наиболее известные из них MagnaRAM фирмы Quarterdeck, RAM Doubler и Agent 95 компании Connectix, SoftRAM фирмы Syncronys Software.

Упаковщики программных файлов. Позволяют архивировать файлы с расширениями com и exe таким образом, что при запуске они самораспаковываются и выполняются далее обычным образом. Эти архиваторы могут уменьшать размер программных файлов в среднем до 45%. Их представителями являются pklite, ехераск, lzexe, diеt, convert.

Программы динамического сжатия данных. Размещаются в оперативной памяти резидентно и осуществляют сжатие любой информации, записываемой на жесткий диск, и распаковку ее при считывании с диска. В результате информация на диске хранится в сжатом виде и эффективный объем диска увеличивается. Фоновое сжатие в реальном времени очень удобно, поскольку незаметно для пользователя. Одна из наиболее распространенных программ такого типа называется DoubleSpace. Она позволяет увеличить объем доступного на диске пространства в 1,5-2 раза.

Архиваторы общего назначения. В настоящее время создано большое количество таких программ как для DOS (RAR, PkZIP, ACE, ARJ, LHA, ARC), так и для Windows (WinRAR, WinZIP, WinAce, WinARJ, ZipFolders). Большой популярностью пользуется, например, архиватор RAR. В нем реализованы оригинальные алгоритмы, обеспечивающие высокую степень сжатия исполняемых файлов, больших текстовых файлов и мультимедиа данных. Традиционно широкое распространение в Internet получили файлы-архивы zip-формата. На работу с ними ориентированы программы WinZip и PkZip для Windows.

Несмотря на то, что в наше время цена мегабайта дискового пространства уменьшается с каждым годом, а качество носителей информации растет, потребность в архивации и резервном копировании остается, а проблема все также актуальна, как и десять лет назад. Это определяется тем, что архивация и сжатие данных необходимы не только для экономии места на локальном дисковом носителе, но и для переноса информации, резервирования, резервного копирования и т.п. Поэтому, выбирая архиватор, необходимо руководствоваться его универсальностью и надежностью, но не забывать конечно и о главных параметрах - качество и скорость сжатия. Среди имеющихся в настоящий момент архиваторов многие являются специфичными к определенным форматам файлов, что несомненно следует использовать, но по назначению. Общий оценочный анализ показывает, что среди архиваторов с коэффициентом сжатия <0,4 большинство имеет значительно более длительное время паковки, которое может быть настолько велико (отличаться в сотни раз) по сравнению с выигрышем в сжатии (на 7-10%), что целесообразность использования данных программ сомнительна даже на очень мощных персональных компьютерах.

Из стандартных и наиболее полезных на текущий момент свойств программ архиваторов можно отметить следующие:

· создание многотомных архивов с возможностью задания произвольного размера тома;

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

· создание многотомных SFX-архивов;

· автоматическое удаление файлов после архивации;

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

· помещение в архив авторских комментариев;

· паролирование доступа к архиву;

· поддержка защищенного режима (DPMI, VCPI), расширенной и расширяемой памяти;

· внедрение в архив циклических кодов ошибок, позволяющих восстанавливать поврежденные архивы;

· выдача подробной информации по окончанию процесса архивации и по требованию (коэффициент сжатия, приблизительное время сжатия/распаковки, размеры файлов и т.п.);

· наличие справочной системы;

· относительно малый размер модуля программы-архиватора.

Почти всем из перечисленных требований удовлетворяет архиватор WinRar. Кроме него для повседневной работы можно рекомендовать архиватор WinZip.

Как часто производить резервное копирование

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

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

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

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


Эта страница нарушает авторские права

allrefrs.ru - 2019 год. Все права принадлежат их авторам!