Подготовка данных для автономного режима работы
В этом разделе
- Подготовка данных
- Подготовка сервиса объектов
- Результат загрузки локальных копий данных или синхронизации данных с сервисом
- Синхронный и асинхронный режимы
- Системная информация для процессов синхронизации
Для работы с картой в автономном режиме можно включить в сервисах объектов, используемых в карте, функцию синхронизации. Функция синхронизации позволяет клиентам работать с локальной копией данных. Активируя эту функцию, издатель позволяет клиентам редактировать локальную копию данных и синхронизировать ее с сервисом пространственных объектов при восстановлении подключения к сети.
Примечание:
Функция синхронизации данных в сервисах объектов, которая появилась в ArcGIS 10.2.1 for Server, будет постепенно внедряться в клиенты ArcGIS и комплекты средств разработчика (SDK). Первыми клиентами, поддерживающими автономную работу с картами, будут Collector for ArcGIS и комплекты ArcGIS Runtime SDK версии 10.2.2. Вы не можете активировать синхронизацию на размещенных сервисах объектов, опубликованных до версии ArcGIS 10.2.1 for Server.
Другие клиенты получают доступ к функции синхронизации через интерфейс ArcGIS REST API.
Подготовка данных
Чтобы активировать синхронизацию, все данные сервиса объектов должны поставляться из многопользовательской базы геоданных. Кроме того, необходимо подготовить данные так, чтобы с ними можно было работать в автономном режиме и, если нужно, синхронизировать их с сервисом объектов при восстановлении подключения.
Данные, используемые в сервисе объектов с синхронизацией, могут быть как неверсионные с включенным архивированием, если это необходимо для вашей организации, так и версионными.
Помните, что синхронизация возможна, только если все данные на карте имеют одинаковые настройки; смесь версионных и неверсионных данных недопустима.
Неверсионные данные с архивированием
Вы можете использовать архивируемые неверсионные данные в сервисе объектов, который подготовлен для синхронизации. Если данные неверсионные, клиенты всегда работают с текущим представлением данных. Для клиентов, работающих автономно, не требуются служебные процессы, предназначенные для получения последних изменений, поскольку они снова будут подключены к сервису объектов.
Подготовьте неверсионные данные для синхронизации так:
- Включите архивирование наборов данных.
- Введите Global ID в наборы данных.
- Для классов отношений и вложений должен использоваться первичный ключ Global ID. Более подробно см. в разделе Вложения и классы отношений этой главы.
Подробное описание этого сценария см. в разделе Руководство пользователя. Настройка данных сервиса объектов для автономной работы.
Вы можете публиковать сервисы объектов, которые используют неверсионные данные из многопользовательской базы геоданных версии 10.2 или более новой, переводить данные в автономный режим для редактирования, затем синхронизировать изменения с многопользовательской базой через сервис объектов.
Версионные данные
Используйте версионные данные, если в вашей организации требуется следующее:
- Данные используются в функциях базы геоданных, которые для редактирования должны быть версионными. Например, если класс объектов участвует в геометрической сети, набор классов объектов должен быть версионным.
- В организации есть рабочие процессы, для которых требуются версионные данные, например, версия данных для оценки качества.
Если необходимо использовать версионные данные, подготовьте их так:
- Введите Global ID в наборы данных.
- Зарегистрируйте наборы данных как версионные.
- Для классов отношений и вложений должен использоваться первичный ключ Global ID. Более подробно см. в разделе Вложения и классы отношений этой главы.
Вы можете публиковать сервисы объектов, которые используют версионные данные многопользовательской базы геоданных версии 10.1 или более новой, переводить данные в автономный режим для редактирования и синхронизировать изменения с многопользовательской базой через сервис объектов.
Дополнительные сведения см. в разделе Автономные карты и версионные данные.
глобальные идентификаторы
Global ID, добавляемый в наборы данных для автономного режима, не может быть основан на пользовательском поле, необходимо использовать исключительно поле Global ID, создаваемое ArcGIS. Глобальные идентификаторы можно добавить к данным с помощью инструмента геообработки Добавить глобальные идентификаторы или команды Добавить глобальный идентификатор, имеющейся в контекстном меню класса объектов, набора классов объектов и таблицы в дереве Каталога.
Вложения и классы отношений
Если данные, которые вы хотите использовать в автономном режиме, содержат вложения или участвуют в классе отношений, первичным ключом отношения между таблицами или таблицей и вложением должен быть столбец Global ID, либо пользовательское поле. Если первичным ключом является столбец ObjectID, то при загрузке данных для автономного режима работы возвращается сообщение об ошибке. Вы можете использовать инструмент геообработки Перенести класс отношений для преобразования базирующихся на ObjectID классов отношений и вложений для использования полей Global ID в качестве первичного ключа.
Использование базы данных, управляемой ArcGIS for Server
Если вы включаете функцию синхронизации при публикации данных в базе данных, управляемой ArcGIS Server, подготовка данных не требуется. В процессе публикации данные будут автоматически настроены для поддержки синхронизации. Если вы не публикуете данные в базе данных, управляемой ArcGIS Server, или включаете функцию синхронизации после публикации данных в управляемой базе данных, данные базы геоданных необходимо подготовить, как описано в предыдущих разделах.
Отслеживание редактирования
В автономном режиме работы с данными возможно отслеживание редактирования. При загрузке данных в клиентское приложение для автономного использования существующие значения в полях отслеживания редактирования копируются вместе с остальными данными. При работе с данными в автономном режиме дата и время создания или редактирования пространственных объектов записываются, соответственно, в поля создания и редактирования объекта. При синхронизации данных с сервисом эти значения сохраняются.
Примечание:
Все даты должны указываться в формате UTC.
Автономные данные включают имя пользователя, который использовал карту в автономном режиме. Это используется с отслеживанием редактирования следующим образом:
- Именем автора пространственных объектов, созданных в автономном режиме, является имя пользователя, который переключил карту в автономный режим.
- Имеющимся объектам, которые редактировались в автономном режиме, присваивается имя редактора, соответствующее пользователю, который переключил карту в автономный режим. Значение в поле имени автора этих пространственных объектов не меняется.
Пользователь, переключивший карту в автономный режим, и администратор ArcGIS Server могут подключиться к серверу и синхронизировать данные.
Сетевые сервисы пространственных объектов
Если вы публикуете сервисы пространственных объектов, размещенные на ArcGIS Online (векторные слои), данные всегда являются неверсионными и автоматически настраиваются на синхронизацию при ее включении. Это связано с тем, что издатели не имеют доступа к серверу, на котором находится ArcGIS Online, и поэтому не могут вручную подготовить данные для использования функциональности синхронизации.
Когда вы публикуете размещенные сервисы пространственных объектов на Portal for ArcGIS, данные копируются в управляемую базу данных хост-сервера портала. Эти данные также всегда являются неверсионными. Если ваш портал использует хранилище данных ArcGIS для управляемой базы данных хост-сервера, то эти данные автоматически подготовлены к выполнению синхронизации при включении возможностей синхронизации. Если вы не используете хранилище данных ArcGIS для управляемой базы данных хост-сервера, то вам, возможно, потребуется изменить данные вручную для выполнения синхронизации. Более подробно см. в разделе Активация автономного редактирования размещенного сервиса объектов в справке к Portal for ArcGIS.
Подготовка сервиса объектов
При создании сервиса объектов издатель выбирает опции, определяющие возможные операции редактирования сервиса. В разделах ниже описано использование опций при работе с картами в автономном режиме.
Допустимые операции (функции)
Функции сервиса объектов определяют допустимые операции при работе с сервисом объектов. Для сервисов объектов, участвующих в автономном использовании карты, поддерживается две конфигурации:
- Данные только для чтения: если клиенты будут выполнять только запросы к данным, которые они загружают с сервиса объектов для автономного использования, включите в сервисе объектов функции Запрос и Синхронизация. При такой конфигурации данные не могут быть изменены в автономном режиме и синхронизированы обратно в сервис.
- Доступные для редактирования данные: если клиенты будут редактировать данные в автономном режиме и синхронизировать изменения с сервисом объектов при восстановлении подключения, включите в сервисе объектов следующие функции:
- Запрос
- Синхронизация
- Любые комбинации Создания, Удаления и Обновления
После создания сервиса объектов издатели и администраторы могут отключить функцию синхронизации. Например, издатель или администратор может отключить функцию синхронизации сервиса, чтобы запретить клиентам синхронизировать данные с сервисом во время выполнения таких задач обслуживания данных, как перестройка индексов.
Короткие транзакции
Если вы используете неверсионные данные, при редактировании сервиса объектов с включенной функцией синхронизации не оставляйте транзакции редактирования открытыми в течение долгого времени. Например, если вы планируете редактировать неверсионные данные в приложении ArcMap, которое используется также сервисом объектов для синхронизации данных, периодически сохраняйте изменения и прекращайте редактирование по завершении сеанса редактирования.
Обновления геометрии и истинные кривые
В сервисе объектов можно разрешить обновления геометрии и редактирование данных с истинными кривыми. Эти настройки применяются принудительно при синхронизации изменений в данных клиента с сервисом. Если изменения, внесенные клиентом, не соответствуют настройкам обновлений геометрии и истинных кривых сервиса объектов, они не будут синхронизированы с сервисом.
Управление доступом на основе владения
Вы можете управлять доступом к объектам на основе владения. Если изменения, внесенные клиентом, нарушают правила доступа на основе владения, они не будут синхронизированы с сервисом. Редактором в данном случае считается учетная запись, используемая для синхронизации правок.
Пользователь, переключивший карту в автономный режим, и администратор ArcGIS Server могут подключиться к серверу и синхронизировать данные. Когда администратор синхронизирует исправления, внесенные в автономном режиме, управление доступом на уровне владельца происходит по пользователю, который перевел карту в автономный режим, не по администратору.
Невидимые поля и поля только для чтения
При создании сервиса объектов некоторые поля можно сделать доступными только для чтения или невидимыми для сервиса объектов. Поля, невидимые для сервиса объектов, не загружаются в клиентское приложение для работы в автономном режиме. Поля только для чтения в загруженных данных будут доступны только для чтения.
Примечание:
При включенной синхронизации, подтипы должны быть видимыми, иначе с вашей картой нельзя будет работать автономно.
Слои карты
Сервис объектов, опубликованный на ArcGIS for Server или Portal for ArcGIS, который содержит два слоя, основанных на одном и том же классе объектов, не может быть переключен в автономный режим, отредактирован и синхронизирован.
Например, если вы добавляете на карту класс объектов-дорог для отображения всех дорог, затем добавляете тот же класс и задаете определяющий запрос, чтобы показать дороги в состоянии ремонта, публикуете карту в виде сервиса объектов, вы не можете переключить этот сервис в автономный режим для редактирования и синхронизировать изменения после подключения.
Опции синхронизации
Ели редактируемый сервис объектов содержит версионные данные, то при переключении в автономный режим для отдельных клиентов создаются версии. Когда клиент синхронизирует изменения с сервисом объектов, изменения вносятся в эту версию. Администратор базы геоданных должен выполнить прикрепление и согласование, чтобы изменения стали доступны для всех.
Если сервис объектов, доступный только для чтения (включены только возможности Запроса и Синхронизации), содержит версионные данные, то никаких версий не создаётся. Когда клиент синхронизирует данные с опубликованной версией, то изменения в опубликованном сервисе объектов становятся автоматически доступными на клиенте.
По умолчанию, версия создается при каждом переключении карты в автономный режим. Тем не менее, администратор ArcGIS Server или владелец сервиса объектов может настроить сервис объектов так, чтобы версия создавалась для каждой учетной записи.
Например, если пять полевых сотрудников переключили карту в автономный режим, будет создано пять версий. Каждая версия предназначения для своей учетной записи, имя версии зависит от имени учетной записи и имени сервиса (например, Joe_ValveFS). Если Joe несколько раз переключал карту в автономный режим (например, с нескольких устройств), при синхронизации изменений с каждого устройства будет использована своя версия. То есть, каждое устройство имеет доступ к исправлениям, сделанным на другом устройстве. Однако новые автономные карты будут соответствовать времени последнего закрепления версии Joe в базе. Версия будет существовать все время, пока пользователь работает с автономной картой.
Примечание:
Названия версий, созданные для синхронизации, ограничены 30 байтами.
Чтобы задать опции синхронизации в сервисе ArcGIS for Server, выполните следующие шаги:
- Войдите в ArcGIS Server Manager в качестве владельца сервиса или администратора ArcGIS Server.
- Убедитесь, что вверху ArcGIS Server Manager выбрано Сервисы.
- Выберите сервис объектов и щелкните его имя, чтобы открыть страницу сведений.
- Нажмите Функции.
- Выберите Доступ к объекту.
- В разделе Свойства щелкните Дополнительные параметры.
Откроется диалоговое окно Расширенные параметры сервиса объектов.
- В разделе Синхронизация выберите Создать версию для каждой Загруженной карты или Пользователя.
- Щелкните OK, чтобы закрыть диалоговое окно Расширенные параметры сервиса объектов.
- Щелкните Сохранить и перезапустить, чтобы применить изменения к сервису объектов.
Во время перезапуска сервис будет недоступен.
Результат загрузки локальных копий данных или синхронизации данных с сервисом
Если вам нужно загрузить данные в локальное клиентское приложение, в выходной директории ArcGIS Server создается файл с данными, и ваш клиент загружает этот файл. По умолчанию файлы, не запрашиваемые ни одним процессом в течение более 10 минут, удаляются из выходной директории. Если вы полагаете, что перед началом загрузки файла клиентом пройдет более 10 минут, вы можете создать для ваших сервисов объектов другую выходную директорию с более длительным периодом очистки. Либо можно увеличить период очистки выходной директории по умолчанию; это, однако, коснется всех сервисов, использующих выходную директорию по умолчанию.
Синхронный и асинхронный режимы
Операции синхронизации, которые загружают локальные копии данных или синхронизируют изменения в данных с сервисом, могут выполняться в синхронном или асинхронном режиме. При использовании синхронного режима обработка осуществляется сервисом; поэтому в данном режиме применяются настройки сервиса, такие как минимальное и максимальное число используемых экземпляров, интервалы ожидания и интервалы повторения цикла. При использовании асинхронного режима обработка осуществляется сервисом геообработки SyncTools, который поставляется уже настроенным вместе с ArcGIS Server; поэтому в данном режиме применяются настройки сервиса геообработки SyncTools.
Системная информация для процессов синхронизации
При загрузке данных для работы с картой в автономном режиме или обратной синхронизации изменений в данных с сервисом, информация об этих процессах сохраняется в системных таблицах многопользовательской базы геоданных, из которой сервис объектов берет исходные данные. В ресурсе реплик сервиса объектов отображаются метаданные сервиса объектов. Если сервис защищен, отображаются только метаданные, относящиеся к пользователю, вошедшему в систему, или анонимному пользователю. Сервисы геоданных содержат также ресурс реплик, в котором отображаются метаданные для всех сервисов объектов, использующих базу геоданных. Администраторы могут использовать сервисы геоданных для таких задач, как отображение метаданных по отдельным сервисам или удаление метаданных сервисов объектов, которые были удалены.