Шаблон / алгоритм синхронизации клиент-сервер?

У меня есть ощущение, что там должны быть шаблоны синхронизации клиент-сервер. Но я совершенно не смог погуглить.

Ситуация довольно проста - сервер является центральным узлом, к которому несколько клиентов подключаются и манипулируют одними и теми же данными. Данные могут быть разделены на атомы, в случае конфликта, что бы ни находилось на сервере, имеет приоритет (чтобы избежать вовлечения пользователя в решение конфликта). Частичная синхронизация предпочтительна из-за потенциально больших объемов данных.

Существуют ли какие-либо модели / передовые практики для такой ситуации, или если вы не знаете о них - каков будет ваш подход?

Ниже я расскажу, как решить эту проблему: параллельно с данными будет вестись журнал изменений с отметкой времени всех транзакций. Когда клиент подключается, он получает все изменения со времени последней проверки в консолидированной форме (сервер просматривает списки и удаляет добавления, за которыми следуют удаления, объединяет обновления для каждого атома и т. Д.). И вуаля, мы в курсе.

Альтернативой будет сохранение даты изменения для каждой записи, и вместо того, чтобы выполнять удаление данных, просто пометьте их как удаленные.

Какие-нибудь мысли?

Ответы на вопрос(6)

Ваш ответ на вопрос