Обновление кэша картографического сервиса
В этом разделе
При создании кэша карты необходимо зафиксировать состояние вашей карты на момент создания кэша. При изменении или обновлении данных нужно сделать две вещи, прежде, чем другие смогут увидеть эти изменения:
- Нужно обновить кэш.
- Тем, кто использовал кэш, нужно будет удалить устаревшие листы, которые, возможно, хранятся на их компьютерах. Это очистка кэша.
Обновление кэша
Обновление кэша приводит к повторному созданию некоторых или всех листов кэша. Кэш можно обновлять, используя инструмент Управление листами кэша сервера карт (Manage Map Server Cache Tiles). В диалоговом окне этого инструмента установите для параметра Режим обновления (Update Mode) значение Повторно создать все листы (Recreate All Tiles).
Если требуется обновить листы определенного прямоугольного участка карты, можно изменить значение для Update Extent (Обновить экстент). По умолчанию это экстент всего картографического сервиса.
Если известно, что объекты расположены только в одном наборе данных или одной географической области, можно задать в качестве значения для свойства Область интереса (Area of interest) путь к классу пространственных объектов или графическому объекту, который рисуется в ArcMap. С такой опцией инструмент пересоздает только те листы, которые покрывают область интереса. Это хорошо подходит при редактировании полигональных данных. Например, если кэш покрывает всю территорию США, и нужно изменить только границы национального парка, можно задать в качестве области интереса класс пространственных объектов национального парка. Повторно создаются только листы национального парка.
Заполнение пустых листов
Если нужно завершить частично созданный кэш или выполнить проверку его качества, следует запустить Управление листами кэша картографического сервера (Manage Map Server Cache Tiles) с параметром Режим обновления (Update Mode), установленным в состояние Заново создать пустые листы (Recreate Empty Tiles). Эта установка проверяет папки кэша и строит листы, которых не хватало. Как и в случае других режимов обновления, можно установить прямоугольный экстент или класс пространственных объектов в качестве границы, внутри которой создаются пустые листы.
На рисунке ниже все листы, обведенные синим, будут созданы в режиме Заново создать пустые листы (Recreate Empty Tiles).
Помните о том, что режим Заново создать пустые листы (Recreate Empty Tiles) может потребовать много времени для выполнения, поскольку каждый лист должен быть проверен.
Удаление листов
В некоторых ситуациях может возникнуть необходимость удалить определенную часть листов или даже весь кэш.
- Чтобы удалить определенную часть листов, запустите инструмент Управление листами кэша сервера карт (Manage Map Server Cache Tiles) с параметром Режим обновления (Update Mode) установленным в состояние Удаление листов (Delete Tiles). Перед запуском этого инструмента настройте параметр Экстент обновления (Update Extent) на область, которую необходимо удалить. Либо можно указать класс пространственных объектов, чтобы выборочно указать, какие листы нужно ужалить из кэша.
- Чтобы удалить весь кэш, запустите инструмент Управление листами кэша сервера карт (Manage Map Server Cache Tiles), который удалит все листы и папки, связанные с кэшем. Перед запуском этого инструмента убедитесь, что установлено максимальное количество экземпляров сервиса геообработки CacheTools не менее 3.
Подсказка:
Чтобы удалить все листы, но сохранить структуру каталога, запустите инструмент Управление листами кэша сервера карт (Manage Map Server Cache Tiles) с параметром Режим обновления (Update Mode) установленным в состояние Удаление листов (Delete Tiles). Перед запуском этого инструмента убедитесь, что параметр Экстент обновления (Update Extent) настроен на полный экстент карты.
Изменение масштабов в кэше
Если требуется добавить или удалить из схемы листов кэша масштабы, нужно использовать инструмент Управление масштабами кэша картографического сервера (Manage Map Server Cache Scales). Этот инструмент позволяет выбрать картографический сервис и переопределить установки его масштабов, при необходимости добавляя или удаляя масштабы. При задании в этом инструменте уровней масштаба убедитесь, что включили полный список необходимых масштабов. Любые масштабы, не вошедшие в список, будут удалены.
Инструменты обновления скриптов
Инструмент Управление листами кэша картографического сервера (Manage Map Server Cache Tiles) можно регулярно запускать автоматически, используя скрипты. Это полезно, если работают редакторы, которые регулярно обновляют данные. Более подробную информацию и примеры автоматизации обновлений кэша см. в Автоматизация создания и обновления кэша в геообработке (Automating cache creation and updates with geoprocessing).
Очистка локального кэша на стороне клиента
При отображении кэшированных картографических сервисов клиенты ArcGIS локально запоминают листы, чтобы при обращении пользователей вновь к тем же областям не приходилось заново запрашивать данные. Даже если вы обновили свой кэш, другие люди, которые использовали ваш кэш раньше, могли сохранить некоторые листы локально на своих компьютерах. Им необходимо очистить свой кэш, чтобы увидеть изменения.
Если кэш часто обновляется, то рекомендуется отключить клиентскую опцию сохранения листов локально. Таким образом, гарантируется, что клиенты, использующие ваш кэш всегда будут видеть самые свежие обновления листов, а не более ранние версии, которые могли храниться на их компьютерах.
Если создание локального кэша на стороне клиента не запрещено, пользователи могут сами выбирать создавать локальный кэш или нет. Они могут выбрать либо непрерывное построение локального кэша, либо построение нового локального кэша в течение каждого сеанса приложения, либо совсем отказаться от локального кэша.
Выделение ресурсов сервера для обновления
Обновление кэша расходует ресурсы сервера, т.к. серверу при обновлении необходимо постоянно отрисовывать листы карт. Неразумно было бы позволить рабочему серверу заниматься только созданием листов карт, когда клиенты ждут от него выполнения их запросов. Наиболее масштабируемое решение здесь – выполнять обновления на промежуточном сервере, а затем уже копировать обновленные листы на рабочий сервер.
Если применение промежуточного сервера невозможно, следующая доступная опция – выполнять обновления во время периодов с низким трафиком, например, по ночам или в выходные. Если все же расходование всех процессорных ресурсов на обновления нежелательно, можно уменьшить разрешенное количество экземпляров сервиса геообработки CachingTools либо на уровне сервиса (задается в Service Editor), либо на уровне заданий (задается при запуске инструментов). Последняя опция – предписать сервису геообработки CachingTools работать в собственном кластере, отдельном от картографического сервиса. Таким образом гарантируется, что CachingTools не будет использовать ресурсов машины, на которой работает картографический сервис.
Чтобы убедиться, что процессор совершенно не задействован при работе экземпляра сервиса во время обновления кэша, следует использовать утилиты операционной системы для мониторинга производительности, такие как Диспетчер задач Windows (Windows Task Manager) или Монитор производительности Windows (Windows Performance Monitor).
Обратите внимание, что уменьшение разрешенного для задач обновления количества экземпляров приводит к увеличению времени работы обновления. Если у вас недостаточно аппаратных средств, возможно, придется пожертвовать доступностью кэша ради скорости его обновления, или наоборот.