Используйте таблицу сопоставления в вашей базе данных на стороне сервера.
В основном:
DeviceID | DeviceItemID | ServerItemID
Dev1 100 8912831
Dev1 101 8819111
Dev1 108 7717719
Dev2 971 12091231
.... ... ........
- DeviceID - это столбец, который уникально идентифицирует клиента, то есть конкретный телефон Android.
- DeviceItemID - это идентификатор элемента в базе данных клиента .
- ServerItemID - это идентификатор элемента в базе данных сервера .
Объединение этой таблицы с элементами сервера позволяет вам отфильтровывать и точно определять, какие идентификаторы существуют на устройстве.
Этот подход используется в устаревшем протоколе синхронизации OMA DS (вы можете найти это вТелефоны Nokia и т. Д.).
Это было бы предпочтительным, если вы собираетесь использовать синхронизацию с несколькими клиентами, то есть один конкретный набор данных на сервере распределяется между несколькими клиентами - например, вы можете добавить столбцы втаблица сопоставления (например, счетчики изменений / последние изменения), чтобы ваш сервер мог находить обновленные / удаленные и добавленные элементы и только отправлять их.