logo
logo
Синхронизация [Rost Poleshko 16/05/2007 12:23]
Я когда-то разбирался всерьез с алгоритмом работы activesync-апри синхронизации баз appointment`ов, контактов, событий и пр.. Алгоритм там очень простой и как ни странно, в 99% случаев дает результат, правильно воспринимаемый человеком. Реализовано это примерно так
 
1. Смысл опреации очень сильно зависит от структуры классификаторов. Если структуры классификаторов различны для одной и той же базы, то пользователю придется сначала решить этот вопрос вручную. Разные базы сиинхронизировать вообще нельзя. Точнее, это другой процесс, импорт-экспорт.
 
2. Перед началом синхронизации надо обязательно выяснить, кто имеет приоритет. В основном это надо для корректного удаления "лишних" операций.
 
3. При синхронизации операций обычно возникают три варианта
- дополнение - операция есть в приоритетной, но отсутствует в синхзронизируемой базе - просто дописываем
- замещение - операция есть в обоих базах - в зависимости от даты-времени опреации, можно с запросом пользователю, можно жестко по времени, можно жестко по приоритету баз
- удаление - операция есть в синхронизируемой, но отсутствует в приоритетной базе - просто удаляем