В какой-то момент вам может потребоваться перенести кэш карты из одной папки в другую или с одного компьютера на другой. Это зависит от формата кэша, версий ArcGIS Server, в которую и из которой этот кэш копируется, а также от размера файла кэша или файлов.
Копирование компактного кэша
Компактный формат хранения кэша, доступный в ArcGIS Server, предназначен для облегчения копирования крупных наборов кэш. В таком типе кэша листы хранятся не в виде отдельных файлов, как в полистном кэше, а сгруппированы в файлы .bundle. Это позволяет получить гораздо меньшее число файлов для копирования, а также кэш меньшего размера на диске. Использование компактного формата хранения вместо альтернативного «развернутого» формата может значительно сократить время копирования кэша.
Более подробно о компактном формате хранения кэша
Существует два варианта формата компактного кэша: compact, который был представлен в версии 10.0, и compactv2, представленный в версии 10.3. Более ранняя версия включает отдельный файл .bundlx, который служит в качестве индекса; в более новой версии индекс включен в файл .bundle. Это способствует улучшению производительности, особенно если кэш находится в сети или в облачном хранилище. Но более новая версия компактного кэша может использоваться только сайтами ArcGIS Server, работающими в версии 10.3 и выше. Это является форматом по умолчанию для кэшей, созданных в этих версиях.
Если вы копируете и переносите кэш между двумя сайтами, оба которых используют версию 10.3 или выше, вы это можете без проблем делать со своего компьютера.
Если же вам надо перенести компактный кэш, созданный сайтом, который использует версию 10.3 или выше –то есть в формате compactv2 – на сайт, работающий в версии от 10.0 до 10.2.2 включительно, то в этом случае следует использовать инструмент Экспортировать кэш картографического сервиса в ArcGIS Pro. Этот инструмент создаст компактный кэш в более ранней версии (с отдельным файлом .bundlx). Затем вы сможете отправить экспортированный кэш на сайт сервера получателя. Этот инструмент можно использовать также для экспорта полистного кэша и использовать в версиях 10.0 и ниже.
Пакеты листов позволяют создавать полистный кэш на основе карты (обычно это часть экстента карты) для его использования в качестве базовой карты в приложениях ArcGIS онлайн или офлайн. В 10.7 новый формат пакета листов, .tpkx, использует более новую версию сжатого кэша. Этот формат доступен при создании пакетов листов в ArcGIS Pro.
Копирование большого кэша
Если вам не надо копировать большой компактный или полистный кэш, используйте командную строку, а не функцию копирования и вставки. Команда Robocopy может копировать директорию и все вложенные в нее папки. Далее представлен пример использования команды Robocopy для копирования набора кэша для США из сетевого диска Z в директорию кэша на локальном компьютере:
robocopy Z:\cache\USA C:\arcgisserver\arcgiscache\USA /s
Дополнительные сведения о синтаксисе и параметрах командной строки см. в документации по команде Robocopy от Microsoft.
Также доступны приложения сторонних производителей, позволяющие копировать большое число файлов. Копирование с их помощью может быть более стабильным, чем использование стандартных средств операционной системы. Некоторые из этих приложений позволяют планировать операции и ставить их в очередь для выполнения.
При использовании FTP для перемещения кэша в развернутом формате перенос данных может пройти быстрее, если предварительно запаковать файлы кэша в формате ZIP. Сжимать ZIP-файлы не нужно. Цель — избежать переноса большого числа небольших файлов. Некоторые сторонние приложения позволяют упростить архивацию и извлечение файлов.
Структура кэш и его папок
Вы можете копировать кэш на компьютер с существующим картографическим сервисом; этот кэш будет обнаружен после перезапуска сервиса. Имя папки кэша верхнего уровня должно совпадать с именем картографического сервиса. Единственным исключением является ситуация, когда картографический сервис размещен в папке на ГИС-сервере, и в этом случае синтаксис директории верхнего уровня будет <folder name>_<map service name>.