Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 10 лет назад пользователемАлександра Свиридова
1 Использование синхронизации объектов Николай Соловьев «Школа Инноваций InterSystems 2007»
3 Синхронизация объектов Журналирование объектов Журналирование объектов Асинхронное согласование Асинхронное согласование Экспорт изменений Экспорт изменений Импорт изменений Импорт изменений
4 Основные концепции Глобальный уникальный идентификатор (GUID) Глобальный уникальный идентификатор (GUID) Журнал изменений Журнал изменений Журнал синхронизаций Журнал синхронизаций –Идентификация «клиента» Экспорт/импорт набора для синхронизации Экспорт/импорт набора для синхронизации –Обработка коллизий
5 Принципы функционирования СерверЖурналтранзакцийЖурналсинхронизаций Клиент XML
6 Globally Unique Identifier Глобальный уникальный идентификатор (GUID) автоматически присваивается всем новым объектам. Глобальный уникальный идентификатор (GUID) автоматически присваивается всем новым объектам. Каждый экземпляр может иметь разные ID на разных серверах и GUID позволяет идентифицировать экземпляр и сохранить связи между объектами Каждый экземпляр может иметь разные ID на разных серверах и GUID позволяет идентифицировать экземпляр и сохранить связи между объектами Можно создавать GUID с помощью ##class(%Library.GUID).AssignGUID() Можно создавать GUID с помощью ##class(%Library.GUID).AssignGUID()
7 Параметры хранимых классов У класса %Persistent есть параметр OBJJOURNAL со значениями 0, 1 и 2. Если 1, тогда информация о транзакциях записывается в локальную структуру(^OBJ.JournalT). Если 2, тогда дополнительно сохраняются данные объектов. У класса %Persistent есть параметр OBJJOURNAL со значениями 0, 1 и 2. Если 1, тогда информация о транзакциях записывается в локальную структуру(^OBJ.JournalT). Если 2, тогда дополнительно сохраняются данные объектов.OBJJOURNAL У класса %Persistent также есть параметр GUIDENABLED. Если он установлен в 1, тогда для каждого объекта автоматически создается GUID. У класса %Persistent также есть параметр GUIDENABLED. Если он установлен в 1, тогда для каждого объекта автоматически создается GUID. GUIDENABLED
8 Системные классы %SyncSet необходим для создания набора синхронизации на конкретную систему. %SyncSet необходим для создания набора синхронизации на конкретную систему. %SyncSet сохраняет информацию о событиях импорта и экспорта. %SyncSet сохраняет информацию о событиях импорта и экспорта. %SwizzleObject отвечает за обработку объектов и разрешение конфликтов. %SwizzleObject отвечает за обработку объектов и разрешение конфликтов.
9 Порядок работы Для синхронизируемых хранимых классов переопределить параметры GUIDENABLED и OBJJOURNAL Для синхронизируемых хранимых классов переопределить параметры GUIDENABLED и OBJJOURNAL Сделать ряд изменений в экземплярах классов Сделать ряд изменений в экземплярах классов Создать новый экземпляр SyncSet и поместить туда любые транзакции для синхронизации Создать новый экземпляр SyncSet и поместить туда любые транзакции для синхронизации Экпортировать набор и передать на другую систему Экпортировать набор и передать на другую систему Импортировать набор и обработать встреченные коллизии Импортировать набор и обработать встреченные коллизии
10 Обработка конфликтов Если GUID импортируемого объекта совпадает GUIDом уже существующего объекта, то возникает конфликт, обработкой которого занимается пользовательское приложение. Для этого существует ряд методов Если GUID импортируемого объекта совпадает GUIDом уже существующего объекта, то возникает конфликт, обработкой которого занимается пользовательское приложение. Для этого существует ряд методов –ResolveConcurrencyConflict в классе %SwizzleObject Обработка конфликтаОбработка конфликта –UnresolvedFirst в классе %SyncSet Получение первого объекта в списке конфликтовПолучение первого объекта в списке конфликтов –UnresolvedNext в классе %SyncSet Получение следующего объекта в списке конфликтовПолучение следующего объекта в списке конфликтов
11 Пример
12 Спасибо за внимание! Вопросы? Николай Соловьев «Школа Инноваций InterSystems 2007»
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.