Алгоритм синхронизации данных — различия между версиями

Материал из Wiki
Перейти к: навигация, поиск
(Новая страница: «* Шаг 1. Клиент (мобильный официант) запрашивает сервер о наличии изменений на сервере, ср…»)
 
 
(не показаны 3 промежуточные версии 2 участников)
Строка 1: Строка 1:
 +
[[Category:API для "Мобильного официанта"]]
 +
 +
[[API для "Мобильного официанта"]]
 +
 
* Шаг 1. Клиент (мобильный официант) запрашивает сервер о наличии изменений  на сервере, сравнивая версию локальных данных с данными сервера (wt_db_version). Если версии не совпадают переходим к шагу 2. Если версии совпадают делается пауза, по истечению которого шаг 1 повторяется.
 
* Шаг 1. Клиент (мобильный официант) запрашивает сервер о наличии изменений  на сервере, сравнивая версию локальных данных с данными сервера (wt_db_version). Если версии не совпадают переходим к шагу 2. Если версии совпадают делается пауза, по истечению которого шаг 1 повторяется.
 
* Шаг 2. Клиент запрашивает список версий справочников (wt_list_versions). По-элементно сравниваются локальные и серверные версии справочников. В случае различий версий соответствующих справочников, делается переход к шагу 3. При успешном обходе всех элементов, версия данных локальной базы устанавливается равной серверной версии.
 
* Шаг 2. Клиент запрашивает список версий справочников (wt_list_versions). По-элементно сравниваются локальные и серверные версии справочников. В случае различий версий соответствующих справочников, делается переход к шагу 3. При успешном обходе всех элементов, версия данных локальной базы устанавливается равной серверной версии.
 
* Шаг 3. Клиент запрашивает список версий элементов справочника, поэлементно сравнивая локальные и серверные версии. Если версии не совпадают, то делается запрос на получение данных элемента - шаг 4. Если в локальном справочнике отсутствует элемент из серверного справочника, то переходим к шагу 5. В случае наличия элементов, которых нет в серверном списке, они удаляются.
 
* Шаг 3. Клиент запрашивает список версий элементов справочника, поэлементно сравнивая локальные и серверные версии. Если версии не совпадают, то делается запрос на получение данных элемента - шаг 4. Если в локальном справочнике отсутствует элемент из серверного справочника, то переходим к шагу 5. В случае наличия элементов, которых нет в серверном списке, они удаляются.
* Шаг 4. Клиент запрашивает данные об элементе с соответствующим идентификатором и редактирует его. Переход на ша
+
* Шаг 4. Клиент запрашивает данные об элементе с соответствующим идентификатором и редактирует его. Переход на шаг3.
 
* Шаг 5. Клиент запрашивает данные эквивалентные шагу 4, и добавляет данные в локальную базу данных.
 
* Шаг 5. Клиент запрашивает данные эквивалентные шагу 4, и добавляет данные в локальную базу данных.

Текущая версия на 08:45, 2 сентября 2014

API для "Мобильного официанта"

  • Шаг 1. Клиент (мобильный официант) запрашивает сервер о наличии изменений на сервере, сравнивая версию локальных данных с данными сервера (wt_db_version). Если версии не совпадают переходим к шагу 2. Если версии совпадают делается пауза, по истечению которого шаг 1 повторяется.
  • Шаг 2. Клиент запрашивает список версий справочников (wt_list_versions). По-элементно сравниваются локальные и серверные версии справочников. В случае различий версий соответствующих справочников, делается переход к шагу 3. При успешном обходе всех элементов, версия данных локальной базы устанавливается равной серверной версии.
  • Шаг 3. Клиент запрашивает список версий элементов справочника, поэлементно сравнивая локальные и серверные версии. Если версии не совпадают, то делается запрос на получение данных элемента - шаг 4. Если в локальном справочнике отсутствует элемент из серверного справочника, то переходим к шагу 5. В случае наличия элементов, которых нет в серверном списке, они удаляются.
  • Шаг 4. Клиент запрашивает данные об элементе с соответствующим идентификатором и редактирует его. Переход на шаг3.
  • Шаг 5. Клиент запрашивает данные эквивалентные шагу 4, и добавляет данные в локальную базу данных.