Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Синхронізація зі знанням того, що є на пристрої

Читайте также:
  1. VI. РОЗПОДІЛЬНІ ПРИСТРОЇ ТА ТРАНСФОРМАТОРНІ ПІДСТАНЦІЇ
  2. Аргумент второй: знание как припоминание того, что было до рождения человека
  3. Арматури й натяжні пристрої тросових проводок
  4. Блажен муж, который делает это, и сын человеческий, который крепко держится этого, который хранит субботу от осквернения и оберегает руку свою, чтобы не сделать никакого зла.
  5. В даний час в базовій конфігурації розглядають чотири основні пристрої: системний блок; монітор; клавіатура; миша.
  6. В чем смысл того, что тысячи людей заболевают или умирают во время эпидемии? Неужели все они должны усвоить один и тот же урок?
  7. Відшкодування шкоди не залежить від їхньої вини, а також від того, чи перебував потерпілий з ними у договірних відносинах.

 

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

Ідея підходу наступна. Сервер зберігає у себе (в окремій таблиці " stored_item_list ") інформацію про те, які записи є на пристрої. Це список пар "device_id – lot_id - updated". У цій таблиці зберігаються всі списки пар "id - updated" інформації для кожного device_id.

Інформацію про наявні на пристрої записи (список пар "id - updated") пристрій відсилає сервера разом із запитом на синхронізацію. При запиті сервер перевіряє те, які страви мають бути на пристрої і які є зараз. Після цього на пристрій відсилається різниця.

Для того щоб сервер визначав які записи повинні бути на пристрої сервер робить запит, який поверне йому список пар "id - updated" всіх записів. На схемі це робить "WhatMustBeOnDeviceMethod ()" метод.

Для того щоб сервер визначив які вже записи є на пристрої він робить запит в таблицю "stored_item_list" по цьому пристрою і отримує список пар "id - updated".

Аналізуючи ці два списки, сервер вирішує, що слід послати на пристрій, а що - видалити. На схемі це "delta_item_list".

Для того щоб сервер визначив які вже записи є на пристрої при синхронізації у запиті до сервера додається новий параметр "items", який містить список id записів, які були надіслані на пристрій у минулій синхронізації ("device_last_stored_item_list").

При відсиланні у запиту до серверу параметру items, що містить список id записів необхідно надсилати лише ті id, що були в момент останньої синхронізації оскільки витрати трафіку будуть дуже великі. У переважній кількості синхронізацій параметр "items" буде порожньою. Сервер повинен постійно оновлювати у себе "stored_item_list" даними, які прийшли з пристрою в параметрі "items".

Слід реалізувати механізм очищення серверних даних в stored_item_list. Оскільки, після переустановлення додатку на пристрої сервер буде вважати, що на пристрої все ще актуальні дані. Тому необхідно при встановленні додатку на пристрій він повинен проінформувати сервер щоб він очистив stored_item_list по цьому пристрою. Для реалізації цього використовується додатковий параметр “clearCache” = 1.

Рис. 3.12. Схема синхронізації даних за четвертим методом

 

Таблиця 3.9

Тестування роботи четвертого методу

Запит, № Кількість переданого трафіку(байт) Час виконання операції на сервері(мс) Час виконання операції на пристрої(мс) Загальний час виконання операції(мс)
  277 611      
  30 220      
  28 930      
  30 041      
  29 715      

 

Рис. 3.13. Кількість переданих байт інформації при кожному запиті

 

Рис. 3.14. Часова діаграма початку і завершення синхронізації

Загальна кількість переданих байт за 5 запитів дорівнює 396517.

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

Переваги:

- дані синхронізуються максимально швидко, не залежно від характеристик пристрою

- можливість введення додаткових умов для обмеження інформації, що повинна бути на пристрої

- можливість видалення даних на пристрої за необхідності

Недоліки:

- високе навантаження на пристрій при першій синхронізації

- збільшення об’єму БД за рахунок введення додаткових таблиць

- при побудові складних мобільних додатків значно збільшується складність побудови серверного додатку для коректної роботи

Область застосування:

- при синхронізації даних, які повинні бути передані з максимальною швидкістю

- при необхідності видалення застарілих, або даних, які не повинні бути на пристрої

- при необхідності введення додаткових обмежень синхронізації конкретних даних для конкретного пристрою

 


Дата добавления: 2015-12-07; просмотров: 81 | Нарушение авторских прав



mybiblioteka.su - 2015-2024 год. (0.007 сек.)