Синхронизация
Синхронизация бывает нескольких типов:
- Полная или ручная (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 кбит
После удачной передачи данных,
переданный пакет обрабатывается
на сервере, клиент ожидает
результат
Не зависимо от результата
выполнения информация
передается на устройство
Если в результат обработки
данных обнаруживается,
ошибка, то локальные данные
которые были переданы на
сервер помечаются как
«требующие повторной
передачи»