AbilityCashList #5330 (подписчиков: 37)
Синхронизация
Я когда-то разбирался всерьез с алгоритмом работы activesync-а при синхронизации
баз appointment`ов, контактов, событий и пр.. Алгоритм там очень простой и как
ни странно, в 99% случаев дает результат, правильно воспринимаемый человеком.
Реализовано это примерно так
1. Смысл опреации очень сильно зависит от структуры классификаторов. Если структуры
классификаторов различны для одной и той же базы, то пользователю придется сначала
решить этот вопрос вручную. Разные базы сиинхронизировать вообще нельзя. Точнее,
это другой процесс, импорт-экспорт.
2. Перед началом синхронизации надо обязательно выяснить, кто имеет приоритет.
В основном это надо для корректного удаления "лишних" операций.
3. При синхронизации операций обычно возникают три варианта
- дополнение - операция есть в приоритетной, но отсутствует в синхзронизируемой
базе - просто дописываем
- замещение - операция есть в обоих базах - в зависимости от даты-времени опреации,
можно с запросом пользователю, можно жестко по времени, можно жестко по приоритету
баз
- удаление - операция есть в синхронизируемой, но отсутствует в приоритетной
базе - просто удаляем