Лекція 8. Стиснення даних. Резервне копіювання

8.1. Принципи стиснення даних

Стиснення даних — це процедура перекодування даних, яка проводиться з метою зменшення їхнього обсягу, розміру, об'єму.

Стиснення базується на усуненні надлишку інформації, яка міститься у вихідних даних. Наприклад, повторення в тексті фрагментів (наприклад, слів природної або машинної мови). Подібний надлишок зазвичай усувається заміною повторюваних послідовностей коротшим значенням (кодом). Інший вид надлишковості пов'язаний з тим, що деякі значення в даних, що стискаються, трапляються частіше інших, при цьому можна замінювати дані, що часто трапляються, коротшими кодами, а ті, що рідко, довшими (ймовірнісне стиснення). Стиснення даних, які не мають властивості надлишку (наприклад випадковий сигнал чи шум), неможливе. Також, зазвичай, неможливо стиснути зашифровану інформацію.

Види стиснення:

  • Стиснення без втрат — можливо відновлення вихідних даних без спотворень.
  • Стиснення з втратами — відновлення можливе з незначними спотвореннями.

 

8.2. Характеристики алгоритмів стиснення даних

Стиснення без втрат — метод стиснення даних, при використанні якого закодована інформація може бути повністю відновлена зі стиснутих даних. Для кожного з типів цифрової інформації, як правило, існують свої оптимальні алгоритми стиснення без втрат.

Стиснення даних без втрат використовується в багатьох програмах. Наприклад, воно використовується в усіх файлових архіваторах. Воно також використовується як компонент в стисненні з втратами.

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

Приклади алгоритмів стиснення без втрат:

  • Сімейство алгоритмів Лемпеля-Зіва
  • RLE
  • Алгоритм Шеннона-Фано

Формати стиснення без втрат:

  • Zip
  • RAR
  • FLAC
  • WavPack
  • BMP,
  • PNG
  • TIFF
  • H.264/MPEG-4 AVC

Стиснення з втратами — метод стиснення даних, при якому запакований файл відрізняється від оригіналу, проте може бути шкідливим для використання. Стиснення із втратами найчастіше використовується для мультимедіа даних (аудіо, відео, зображення), особливо для потокової передачі даних та в телефонії. В цьому контексті такі методи часто називаються кодеками.

Перевага методів стиснення із втратами над методами стиску без втрат полягає в тому, що перші істотно перевершують по ступені стиснення, продовжуючи задовольняти поставленим вимогам. Розпакований файл може дуже сильно відрізнятися від оригіналу на рівні порівняння «біт у біт», але практично не відрізняється для людського вуха або ока в більшості практичних застосувань.

Формати стиснення з втратами:

  • DjVu
  • JPEG
  • GIF
  • AAC
  • MP3
  • WMA
  • AMR

В загальному випадку алгоритми стиснення без втрат універсальні в тому сенсі, що їх застосування безумовно можливо для даних будь-якого типу, в той час як можливість застосування стиснення з втратами потрібно обґрунтувати.

 

8.3. Архівація даних

Архів — файл, що містить в собі один або декілька файлів та метадані. Файли можуть бути як стиснені (без втрат), так і мати початковий розмір та структуру. Метадані можуть містити інформацію про початковий розмір файлів, інформацію про формат файлів, структуру директорій, коментарі до файлів, інформацію для відновлення архіву і т.д.

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

Маючи архів, можна отримати оригінальний файл за допомогою відповідної програми-архіватора (часто об'єднаної з програмою для створення архівів).

До архіву може бути приєднаний виконуваний код, який при виконанні сам розпаковує архів. Такий архів називається «саморозпаковувальним» (SFX).

 

8.4. Резервне копіювання

Резервне копіювання або бекап (backup) — процес створення копії даних з носія (жорсткого диска, дискети тощо), призначений для відновлення цих даних у разі їх пошкодження або видалення.

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

Рівні резервного копіювання:

  • Повне резервне копіювання — повна копія даних. Рівень, який забезпечує створення повної копії об'єкту резервного копіювання. Цей рівень дозволяє забезпечити максимальну відповідність оригіналу даних його копії.
  • Диференційне резервне копіювання — копіювання змін, що були зроблені після створення останньої повної копії. Створення такої копії потребує більше часу та займає більший об'єм, ніж додаткове копіювання, але дозволяє пришвидшити процес відновлення. Загалом є альтернативою між створенням повної або додаткової копії.
  • Додаткове резервне копіювання — копіювання змін, що відбулись з часу повного, диференційного або додаткового копіювання. Загалом на додаткове копіювання затрачається менше часу, бо копіюється менше файлів. Однак процес відновлення даних займає більше часу, оскільки повинні спочатку відновлюватися дані останньої повної копії і після цього — всі резервні копії, від яких залежить додаткова копія.

Цілісність резервної копій даних — це відповідність даних резервної копії та оригіналу на момент створення копії. Якщо було вибрано неправильний метод створення резервної копії, неможливо буде відновити дані у разі потреби.

Остання зміна: Saturday 30 May 2020 14:39 PM