Предотвращение конфликтов

Доступно с лицензией Location Referencing.

Предотвращение конфликтов улучшает поддержку многопользовательского редактирования за счет координации редактирования маршрутов и событий в системе линейных координат (LRS) многопользовательская база геоданных. ArcGIS Location Referencing координирует редактирование, применяя набор условий и поведений, которые требуют от редакторов блокировки перед редактированием маршрута или события.

Основной принцип предотвращения конфликтов Location Referencing: если маршрут или событие заблокированы для редактирования редактором в версии базы данных, эти маршруты или события не могут быть отредактированы тем же человеком в другой версии базы данных или другими людьми в любой версии.

Включение предотвращения конфликтов

Предотвращение конфликтов поддерживается только для набора данных LRS сервис-ориентированной версии.

Традиционное управление версиями поддерживается в Location Referencing, но предотвращение конфликтов недоступно в наборах данных с традиционным управлением версиями.

После того, как ваш набор данных станет сервис-ориентированной версией, запустите инструмент Изменить LRS с опцией Предотвращение конфликтов, установленной на Включено.

Инструмент Изменить LRS, Предотвращение конфликтов включено
Включена опция Предотвращение конфликтов

Если предотвращение конфликтов включено, каждый инструмент редактирования автоматически получает блокировки, если они доступны, или предупреждает вас, когда блокировки не могут быть получены.

Изменение маршрута и создание блокировки для предотвращения конфликтов

Пример рабочего процесса предотвращения конфликтов показан с помощью Исключить маршрут. Маршрут RouteY будет исключен.

Предотвращение конфликтов и исключение маршрутов
  1. Щелкните кнопку Идентифицировать маршрут Идентифицировать маршруты и нажмите RouteY.

    Появится диалоговое окно Идентифицировать маршрут.

    Диалоговое окно Идентифицировать маршрут
    Идентификатор маршрутов показывает, что блокировок не существует.
  2. Убедитесь в отсутствии блокировок на выбранном маршруте.

    Поскольку результаты не показывают никаких блокировок, мы знаем, что для этого маршрута блокировок не существует.

  3. Убедившись, что на маршруте нет блокировок, щелкните Исключить Исключить на вкладке Location Referencing.

    Появляется панель Исключить маршрут.

  4. На панели Исключить блокировки щелкните Имя маршрута "От" и укажите маршрут, который вы желаете исключить.

    После выбора имени маршрута в верхней части панели появляется сообщение о получении блокировки.

    Панель Исключить маршрут, блокировка получена
    Полученные маршруты подтверждены на панели Исключить маршрут.

    Сообщение о блокировке содержит следующую информацию:

    • Блокировка на RouteY успешно установлена.
    • Блокировка получена пользователем портала, User11.
    • Блокировка маршрута для версии базы данных Version1 получена пользователем User11.
    Примечание:

    Вы автоматически перенесете существующий маршрут или блокировку линии от другого человека на себя, если выполняются следующие условия:

    • Версия, принадлежащая другому лицу, является общедоступной.
    • Вы делаете запрос в той же версии, в которой у другого человека есть блокировка.
    • Если версия блокировки является дочерней, то у владельца блокировки в настоящее время нет открытого сеанса редактирования в этой версии. Если версия блокировки является версией по умолчанию, то у владельца блокировки в настоящее время нет открытого сеанса чтения в версии по умолчанию.

  5. Вы также можете подтвердить наличие блокировки, нажав Идентифицировать маршрут и RouteY еще раз.
    Диалоговое окно Идентифицировать маршруты, раздел блокировки LRS
    Идентификатор маршрутов показывает, что данный маршрут заблокирован.

    Значок Заблокировано вами Заблокировано вами также подтверждает, что у вас есть блокировки для указанного маршрута и вы можете редактировать этот маршрут.

  6. Вы также можете определять существующие блокировки с помощью кнопки Блокировки LRS Таблица блокировок LRS на вкладке Location Referencing

    Появляется таблица Блокировки LRS.

    Таблица блокировок LRS
    Таблица блокировок показывает наличие недавно полученных блокировок.

Сообщения о предотвращении конфликтов

Как описывалось ранее, логика предотвращения конфликтов разрешает изменение маршрута и события одновременно только одним человеком в одной версии.

Например, если пользователь User22 попытается изменить маршрут, в то время как тот же маршрут заблокирован пользователем User11, появится следующее сообщение:

Панель Исключить маршрут, блокировка не получена
Маршрут не может быть изменен Пользователем22, если у Пользователя11 есть блокировки.

В сообщении содержится следующая информация:

  • Маршрут RouteY изменить нельзя, поскольку он принадлежит другому человеку.
  • Блокировка уже получена пользователем портала User11.
  • Блокировка маршрута RouteY для версии базы данных Version1 уже была получена пользователем User11.

Идентификатор маршрута Идентифицировать маршруты показывает следующий результат:

Диалоговое окно Идентифицировать маршрут, существующие блокировки
Идентификатор маршрутов показывает, что данный маршрут недоступен для редактирования из-за существующих блокировок.

Появляется таблица Блокировки LRS со списком блокировок.

Таблица блокировок LRS
Таблица блокировок показывает наличие блокировки на маршруте.

Убедитесь, что редактируется самая последняя версия набора данных

Отредактируйте самую последнюю версию базы данных, чтобы все последние изменения данных присутствовали в редактируемой версии. Чтобы подтвердить самую последнюю версию, Location Referencing перед получением блокировки проверяет, требуется ли согласование с версией по умолчанию. Когда версию необходимо согласовать с версией по умолчанию, появляется следующее сообщение:

Диалоговое окно Получить блокировки
Согласование с версией по умолчанию.

При щелчке по кнопке Да при появлении сообщения Получить блокировки версия редактора согласуется с версией по умолчанию.

Примечание:

Прежде чем редактировать маршруты или события, убедитесь, что все конфликты с версией по умолчанию устранены.

Узнайте больше о согласовании и публикации изменений в версии ветви, разрешении конфликтов и публикации изменений.

Вы можете выбрать автоматическое согласование перед получением блокировок. Если включено автоматическое согласование, вы можете получить блокировку без согласования, за исключением случаев, когда во время согласования будут обнаружены конфликты.

Общая логика предотвращения конфликтов при редактировании маршрута показана на следующей схеме:

Блок-схема предотвращения конфликтов
Блок-схема предотвращения конфликтов показывает обычный рабочий процесс согласования версий.

Типы блокировок

Предотвращение конфликтов в Location Referencing имеет два типа блокировок:

  • Блокировки маршрутов
  • Блокировки события

Блокировки маршрутов

Блокировки маршрутов не позволяют другим пользователям редактировать маршрут и события на этом маршруте, пока этот маршрут редактируется. Блокировки маршрутов имеют следующие свойства:

  • Блокировка называется блокировкой маршрута, когда маршрут в сети редактируется.
  • Когда маршрут заблокирован, редактировать этот маршрут и события на этом маршруте в той версии, в которой была получена блокировка, может только тот, кто его заблокировал.

Блокировки событий

Блокировки событий не позволяют другим людям редактировать слой событий для определенного маршрута. Блокировка события устанавливается для слоя событий для маршрута.

Если User1 заблокировал Слой событий1 для Route1 в Version1, применяется следующее:

  • Никто другой не может редактировать Слой событий1 для Route1 ни в каких версиях.
  • User1 не может редактировать Слой событий1 для Route1 ни в каких других версиях, кроме Version1.
  • Другие люди могут получить блокировки на других слоях событий (кроме Слоя событий1) для Route1 или для любого другого маршрута, если для этого маршрута не существует блокировки маршрута.
  • Никто не может получить блокировку маршрута, если несколько человек имеют блокировки событий для этого маршрута.
  • Другие люди могут получить блокировки на Слое событий1 для любых других маршрутов, для которых могут быть получены блокировки.
  • Блокировка события устанавливается, если она необходима для редактирования какого-либо события на маршруте.
Примечание:
  • Если существует несколько временных интервалов маршрута или события, полученная блокировка действительна для всех временных интервалов.
  • Блокировки получаются инструментами геообработки по мере необходимости.

Логика предотвращения конфликтов, когда для маршрута существуют события, показана на следующей схеме:

Предотвращение конфликтов для событий на маршруте
Рабочий процесс предотвращения конфликтов, когда на маршруте существуют события.

Предотвращение конфликтов при редактировании центральной линии

Там, где существуют параллельные маршруты, маршруты блокируются на основе общих центральных линий. Следующий рисунок демонстрирует эту концепцию:

Предотвращение конфликтов и редактирование центральной линии
Показана блокировка параллельных маршрутов.

  • Если Route X редактируется, блокировка устанавливается на Route X, и никто другой не может получить блокировку на Route Y, поскольку они имеют общую центральную линию C2.
  • Если Route Y редактируется, блокировка устанавливается на Route Y, и никто другой не может получить блокировку на Route X, поскольку они имеют общую центральную линию C2.
  • Если редактируется центральная линия C1 (картографическое выравнивание или разбиение центральной линии), блокируется только Route X.
  • Если редактируется центральная линия C3, блокируется только Route Y.
  • Если редактируется центральная линия C2, оба Route X и Route Y блокируются, поскольку C2 является общей центральной линией между этими двумя маршрутами.

Снять блокировки:

Блокировки снимаются автоматически в следующих случаях:

  • Версия, содержащая блокировки, публикуется в версии по умолчанию.
  • Версия, содержащая блокировки, удалена.
  • Блокировки, полученные в версии по умолчанию в результате использования редактирования маршрута, центральной линии или инструментов геообработки, снимаются после завершения выполнения.

Блокировки можно снять вручную в зависимости от их статуса.

Если значение статуса возможности снятия равно Да, вы можете снять блокировку, выполнив следующие действия:

Если значением статуса возможности снятия является Нет, блокировка не может быть снята.

Если значением статуса возможности снятия является При публикации, блокировка может быть снята только после публикации в версии по умолчанию.

Примечание:

Вы автоматически перенесете существующий маршрут или блокировку линии от другого человека на себя, если выполняются следующие условия:

  • Версия, принадлежащая другому лицу, является общедоступной.
  • Вы делаете запрос в той же версии, в которой у другого человека есть блокировка.
  • Если версия блокировки является дочерней, то у владельца блокировки в настоящее время нет открытого сеанса редактирования в этой версии. Если версия блокировки является версией по умолчанию, то у владельца блокировки в настоящее время нет открытого сеанса чтения в версии по умолчанию.

Краткое изложение правил предотвращения конфликтов

Когда предотвращение конфликтов включено, вы можете редактировать маршрут после получения блокировки на этом маршруте при следующих условиях:

  • Ни у кого нет блокировки на этом маршруте ни в одной из версий базы данных.
  • У того же человека уже есть блокировка маршрута на этом маршруте в той же версии базы данных, с которой он работает в данный момент.

Когда включено предотвращение конфликтов и не выполняются условия передачи блокировки, вы не можете редактировать маршрут при следующих условиях:

  • Необходима сверка с версией по умолчанию.
  • Конфликты базы геоданных существуют в текущей версии.
  • Маршрут уже заблокирован другим человеком.
  • У того же человека уже есть блокировка маршрута на этом маршруте в другой версии базы данных, в которой он сейчас работает.
  • Другой человек имеет блокировки событий на этом маршруте (при условии, что условия передачи блокировки не выполняются).
  • У того же человека есть блокировки событий на этом маршруте в другой версии базы данных.

Когда предотвращение конфликтов включено, вы можете редактировать событие после получения блокировки на этом слое событий при следующих условиях:

  • Ни у кого нет блокировки на этом слое событий для маршрута, на котором находится событие в любой версии базы данных (при условии, что условия передачи блокировки не выполняются).
  • У этого же человека уже есть блокировка события в той же версии базы данных, в которой он сейчас работает (для маршрута, на котором находится событие).
  • У того же человека уже есть блокировка маршрута (для маршрута, на котором расположено событие) в той же версии.

Когда предотвращение конфликтов включено, вы не можете редактировать событие при следующих условиях:

  • Необходима сверка с версией по умолчанию.
  • Конфликты базы геоданных существуют в текущей версии.
  • Слой события уже заблокирован другим человеком для маршрута, на котором находится событие (при условии, что условия передачи блокировки не выполняются).
  • Слой события уже заблокирован тем же человеком для маршрута, на котором находится событие, но в другой версии.
  • Маршрут, на котором находится событие, уже заблокирован другим человеком (при условии, что условия передачи блокировки не выполняются).
  • Маршрут, на котором находится событие, уже заблокирован тем же человеком, но в другой версии.