В надежде получить эксперта Совет по дизайну / логике .
Context
Итак, я начал создавать гибридное мобильное приложение, и одной из функций, которые я хочу реализовать, является двунаправленная синхронизация. Пользователь может использовать приложение в автономном режиме, а при наличии подключения к Интернету оно синхронизируется с моей удаленной базой данных. Существует также сценарий, согласно которому у пользователя может быть несколько мобильных устройств.
Что я сделал до сих пор
На сервере у меня PHP / MySQL
На мобильном устройстве я использую Lovefield (IndexedDB) для локального / автономного режима
Я уже знаком с отправкой обновлений локально-удаленно и наоборот
наоборот, через JSON / AJAX
Я уже знаком с использованием JS для определения качества интернета.
подключение
Issue
С точки зрения производительности / эффективности, каковы были бы лучшие рекомендации по дизайну / логике с точки зрения того, как обновления проверяются и выполняются локально-удаленно и удаленно-локально, чтобы приложение могло изящно выполнять двунаправленный синхронизировать?
Примечание
Я знаю, что один из способов сделать это - использовать GUID, флаг для типа upate и временную метку. Используя это, вы сравниваете каждую строку, на основе которой установлено последнее обновление (на основе отметки времени), а затем обновляете флаг.
Меня беспокоит этот подход, он заставляет сравнение строк за строкой, что может повлиять на производительность.
Существуют ли альтернативные методы?
Спасибо!