Синхронизация
Синхронизация бывает нескольких типов:
- Полная или ручная (Full) – передаются на сервер все не переданные данные, очищается хранилище и загружаются все данные с сервера
- Обновление с учетом даты последней синхронизации (Medium) – передаются на сервер все не переданные данные и загружаются новые данные
- Сохранение выполненного задания (Lite) – передаются на сервер все не переданные данные
- Передача геоданных (Geo) – передаются на сервер геоданные на сервер. Может выполнятся параллельно
- Сохранение информации о пользователе (User) – передается на сервер информация о пользователе и загружается новая. Может выполнятся параллельно
Тип
синхронизации |
Выполняется при старте |
Передача данных |
Загрузка данных |
Загрузка с учетом даты пред. синхронизации |
Параллельное выполнение |
Очистка данных после загрузки |
Возможность отменить |
Full |
+ |
+ |
+ |
— |
+ |
+ |
+ |
Meduim |
+ |
+ |
— |
+ |
— |
— |
— |
Lite |
— |
+ |
— |
— |
— |
— |
— |
Geo |
— |
+ |
— |
— |
+ |
— |
— |
User |
— |
+ |
+ |
— |
+ |
— |
— |
Особенности:
- При первом запуске всегда выполняется Full – синхронизация
- При каждом запуске, но не первом, выполняется Medium-синхронизация
- После каждого выполнения задания запускается Lite-синхронизация
- Каждую N-секунд (по умолчанию 60 сек) выполняется Geo-синхронизация
- После создания аватарки выполняется User-синхронизация
- Одновременное выполнение Full, Medium, Lite невозможно
- Full – синхронизация может запускаться вручную независимо от других типов
Процесс
Синхронизация выполняется только при наличии интернет соединения.
Выполняется выборка из
локального хранилища
тех записей, которые,
нуждаются в добавлении,
обновлении, удалении
Количество передаваемых байт
зависит от типа соединения:
- wifi,4g,3g – 1 Мбит
- 2g — 9,6 кбит
После удачной передачи данных,
переданный пакет обрабатывается
на сервере, клиент ожидает
результат
Не зависимо от результата
выполнения информация
передается на устройство
Если в результат обработки
данных обнаруживается,
ошибка, то локальные данные
которые были переданы на
сервер помечаются как
«требующие повторной
передачи»