- •Кафедра Комп’ютерних систем та мереж
- •Дипломна робота
- •Національний авіаційний університет
- •Завдання на виконання дипломної роботи (проекту)
- •6. Календарний план-графік
- •7. Консультанти з окремих розділів
- •Реферат
- •Перелік скорочень
- •1.1 Поняття інформаційної структури підприємства
- •Розділ 1 інформаційна структура підприємства на базі архітектури клієнт-сервер
- •1.2 Технологія клієнт-сервер
- •1.3 Моделі реалізації технології клієнт-сервер
- •1.3.1 Модель файлового серверу
- •1.3.2 Модель доступу до віддалених даних
- •1.3.3 Модель серверу баз даних
- •1.3.4 Модель серверу додатків
- •1.4 Методи передачі даних між клієнтом і сервером
- •1.5 Засоби побудови клієнт-серверних додатків
- •Висновки до розділу 1
- •2.1.2 Основні частини програми
- •2.1.3 Архітектурні стилі і шаблони
- •2.2 Методи оптимізації Android-додатку
- •2.3 Засоби розробки Android-додатків
- •Висновок до розділу 2
- •Розділ 3 розробка технології створення оптимальних клієнт-сервер додатків на базі мобільних клієнтів
- •3.1 Проблеми побудови клієнт-серверних додатків на базі мобільних клієнтів
- •3.2 Стиснення даних
- •3.2.1 Порівняння алгоритмів стиснення
- •3.2.2 Аналіз отриманих даних
- •3.3 Шифрування даних
- •3.4 Методи синхронізації даних між клієнтом і сервером
- •3.4.1 Синхронізація усіх даних
- •3.4.2 Синхронізація оновлених даних
- •3.4.3 Синхронізація порціями
- •3.4.4 Синхронізація зі знанням того, що є на пристрої
- •Висновки до розділу 3
- •Розділ 4 розробка інформаційної структури підприємства на розробленій технології
- •4.1 Інформаційна структура підприємства
- •4.2 Структура розроблюваної системи
- •4.2.1 Структура серверної бд
- •4.2.2 Структура бд на Android-пристрої
- •4.2.3 Ахрітектура Android-додатку
- •4.2.4 Архітектура серверного додатку
- •4.3 Тестування розробленої системи
- •Висновки
- •Список використаних джерел
3.2.2 Аналіз отриманих даних
Для аналізу отриманих результатів необхідно побудувати таблиці середнього значення ступеня компресії та часу стиснення і розпакування для файлів різних розмірів, значення яких визначаються за формулами:
(3.1)
де
–
середнє значення ступеня компресії
для i-того
алгоритму
та
(3.2)
де
- середнє значення часу стиснення та
розпакування для i-того алгоритму,
– середній час стиснення, tRzp
– середній час розпакування.
Таблиця 3.4
Середнє значення ступеня компресії для файлів різних розмірів у відсотках
Тип алгоритму |
|||||||||||
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
49,8325 |
46,86 |
44,7825 |
48,9275 |
49,335 |
46,5125 |
46,64 |
47,4375 |
62,95 |
62,49 |
46,86 |
63,5125 |
Таблиця 3.5
Середнє значення часу стиснення і розпакування для файлів різних розмірів у відсотках
Тип алгоритму |
|||||||||||
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
134 |
51,25 |
54,375 |
17,875 |
17,875 |
401 |
46,75 |
522,875 |
8,25 |
475,5 |
8,625 |
10,125 |
Згідно з отриманих результатів найшвидшим (середній час стиснення та розпакування) є алгоритм 9 (com.ning.LZF (block)), а найбільш ефективним (ступінь компресії) є алгоритм 3 (java.util.zip.Deflater.BEST_COMPRESSION (block)).
3.3 Шифрування даних
Шифрування - оборотне перетворення інформації з метою приховування від неавторизованих осіб, з наданням, в цей же час, авторизованим користувачам доступу до неї. Головним чином, шифрування служить завданням дотримання конфіденційності переданої інформації. Важливою особливістю будь-якого алгоритму шифрування є використання ключа, який стверджує вибір конкретного перетворення із сукупності можливих для даного алгоритму.
Шифрування складається з двох складових - шифрування і розшифрування. За допомогою шифрування забезпечуються:
Конфіденційність. Шифрування використовується для приховування інформації від неавторизованих користувачів при передачі або при зберіганні.
Цілісність. Шифрування використовується для запобігання зміни інформації при передачі або зберіганні.
Платформа Java включає такі бібліотеки для реалізації алгоритмів шифрування:
AES
3DES
DES
RC6
Blowfish
RC2
Порівняння алгоритмів шифрування
Для перевірки та порівняння алгоритмів шифрування був розроблений код, що шифрує та розшифровує файли, та вираховує кількість затраченого часу на шифрування та розшифрування.
Для дослідження роботи різних алгоритмів використовувались txt файли різного розміру.
Код виконувався на Android-пристрої моделі Asus Padfone T008.
Таблиця 3.6
Час шифрування у мілісекундах
Розмір даних (байт) |
Тип алгоритму |
|||||
AES |
3DES |
DES |
RC6 |
Blowfish |
RC2 |
|
1000 |
1 |
2 |
1 |
1 |
1 |
1 |
50000 |
56 |
54 |
29 |
41 |
36 |
57 |
100000 |
90 |
81 |
49 |
60 |
37 |
91 |
1000000 |
208 |
283 |
250 |
125 |
66 |
295 |
Середній час |
88,75 |
105 |
82,25 |
56,75 |
35 |
111 |
Пропускна здатність(мб/с) |
3,09 |
2,6 |
3,33 |
4,82 |
7,82 |
2,47 |
Таблиця 3.7
Час розшифрування у мілісекундах
Розмір даних (байт) |
Тип алгоритму |
|||||
AES |
3DES |
DES |
RC6 |
Blowfish |
RC2 |
|
1000 |
1 |
2 |
1 |
1 |
1 |
1 |
50000 |
63 |
53 |
50 |
35 |
38 |
65 |
100000 |
60 |
57 |
57 |
58 |
52 |
90 |
Продовження до табл 3.7
1000000 |
164 |
177 |
157 |
116 |
80 |
194 |
Середній час |
72 |
72,25 |
66,25 |
52,5 |
42,75 |
87,5 |
Пропускна здатність(мб/с) |
3,8 |
3,79 |
4,14 |
5,22 |
6,41 |
3,13 |
Рис. 3.1. Пропускна здатність ШД для різних алгоритмів
Рис. 3.2. Пропускна здатність розшифрування даних для різних алгоритмів
На рис. 3.1 та рис. 3.2 видно, що алгоритм Blowfish є найбільш ефективним при порівнянні швидкості шифрування та розшифрування.
