Синхронизация и работа с версиями
Эта тема относится только к ArcGIS for Desktop Standard и ArcGIS for Desktop Advanced.
Репликация базы геоданных использует версии в процессе синхронизации для реплик в базах геоданных ArcSDE. Исключение - это если вы используете архивирование при отслеживании изменений в односторонней репликации.
Работа с версиями используется для определения изменений, которые необходимо отправить, а также при получении данных. Ниже описывается, как версии используются в каждом из указанных процессов:
Отправка изменений
Когда реплика отправляет изменения, ArcSDE определяет, какие изменения необходимо отправить путем анализа версии реплики (определяется в течение создания реплики), а также некоторые системные версии. При выполнении данного анализа могут быть отобраны изменения, которые уже были отосланы ранее в ходе синхронизаций. При работе с открепленными репликами в файловой или персональной базах геоданных анализируется внутренняя таблица, содержащая все изменения. Для односторонней репликации с использованием архивирования, архивный класс анализируется для определения, какие изменения отправлять.
Получение изменений
Когда реплика получает изменения, происходит следующее:
Сперва изменения вносятся в версию синхронизации. Версия синхронизации является потомком версии реплики. Она создана для временного хранения этих изменений, пока они не будут согласованы и закреплены в версии реплики. При работе с двухсторонними и односторонними репликами эта версия не может быть создана до момента запуска синхронизации, а при работе с открепленными репликами версия создается во время создания реплики. На рисунке ниже версия реплики может быть либо DEFAULT, либо с именем.
Затем версия синхронизации согласуется с версией реплики. Модель поведения на данном этапе определяется в зависимости от типа реплики:
- Двухсторонние реплики — При работе с двухсторонними репликами в ходе согласования могут возникнуть конфликты. При возникновении конфликтов для определения управления конфликтами будет использоваться определенная политика согласования. Вы можете выбирать между политиками автоматического и ручного согласования в процессе синхронизации. Если конфликтов не возникнет или все они будут разрешены средствами политики автоматического согласования, то в версии реплики будет закреплена версия синхронизации.
- Открепленные реплики — При работе с открепленными репликами согласование и закрепление является необязательным, и эти операции не выполняются по умолчанию. Если вы выберете не производить согласование и закрепление, то изменения останутся в версии синхронизации. Вы сможете произвести согласование и закрепление вручную позднее. Если вы решите произвести согласование и закрепление, то модель поведения будет такой же, как и для двухсторонних реплик.
- Односторонние реплики — При работе с односторонними репликами изменения в версии реплики всегда перезаписываются, и в ней никогда не бывает неразрешенных конфликтов. При использовании модели простого типа данные дочерней реплики не могут быть версионными. В этом случае изменения вносятся в основные таблицы напрямую, и при получении изменений работа с версиями не используется. Изменения также часто переписываются напрямую в случаях, когда дочерняя реплика содержится в персональной или файловой базе геоданных.
Как только изменения будут закреплены в версии реплики, версия синхронизации будет удалена. Если вы выберете политику ручного согласования, и возникнут конфликты, то вы сможете выполнить согласование и закрепление позднее самостоятельно. При работе с двухсторонними репликами, пока будет существовать версия синхронизации, будет считаться, что в реплике имеются конфликты. Имея конфликты, реплика сможет получать, но не сможет отправлять изменения.