Алгоритм синхронизации данных

Материал из Wiki
Перейти к: навигация, поиск


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