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