Читайте также:
|
|
Сутність методу полягає в тому, що при першому запиті від клієнта сервер відішле усі дані, які необхідні, а при нових запитах сервер відсилатиме лише оновлені дані, що були добавлені з моменту попередньої синхронізації.
Це досягається введенням додаткового поля до таблиці "updated" в порядку зростання. Пристрій зберігає значення "updated" з моменту останньої синхронізації і при наступному запиті відсилає його серверу в параметрі lastUpdated. Сервер в свою чергу відсилає відповідь за наступною умовою (updated> lastUpdated). На пристрій приходять тільки нові дані, трафік буде невеликим.
Приклад запиту: {lastUpdated: "2013-01-01 00:00:00"}
Рис. 3.6. Схема синхронізації даних за другим методом
Таблиця 3.8
Тестування роботи другого методу
Запит, № | Кількість переданого трафіку(байт) | Час виконання операції на сервері(мс) | Час виконання операції на пристрої(мс) | Загальний час виконання операції(мс) |
250 374 | ||||
25 473 | ||||
24 300 |
Продовження до табл. 3.8
25 310 | ||||
25 014 |
Рис. 3.7. Кількість переданих байт інформації при кожному запиті
Рис. 3.8. Часова діаграма початку і завершення синхронізації
Загальна кількість переданих байт за 5 запитів дорівнює 350 471.
На рис. 3.7. видно, що кількість переданого трафіку за кожен запит порівняно з першим методом(рис. 3.4.) значно менше. Однак на рис. 3.8. видно, що при першому запиті дані не встигатимуть передаватися до наступної синхронізації, що призведе до створення додаткового потоку і це в свою чергу збільшить навантаження на мобільний пристрій.
Переваги:
- логіка на сервері є відносно простою – сервер віддає лише оновлені дані
- логіка на пристрої є відносно простою – сервер віддає лише оновлені дані
Недоліки:
- якщо кількість даних при першому запиті буде значно великою, то виникають паралельні потоки, що значніше навантажують пристрій
- значне використання пам’яті та процесору мобільного пристрою
- сервер не знає яка інформація зберіглась(якщо додаток аварійно завершився, то можлива така ситуація коли частина інформації не зберіглась, і пристрій при наступних синхронізаціях не отримає її)
Область застосування:
- синхронізація звичайних лінійних списків
- передача дуже рідко мінливих даних (список міст, категорій)
Дата добавления: 2015-12-07; просмотров: 67 | Нарушение авторских прав