Структура компактного формата хранилища кэша
В этом разделе
- Как работает компактный кэш
- Как обновляется компактный кэш
- Извлечение листов из пакета
- Обновление компактного кэша для повышения производительности
С помощью компактного формата хранилища кэша можно группировать листы, объединяя их в большие файлы, а не хранить их в виде отдельных файлов. Существуют следующие преимущества хранения листов группами:
- Данные кэша легко копируются, так как число файлов становиться меньшим.
- Уменьшается общий объем кэша на диске.
- Листы, как правило, создаются быстрее, так как во время создания листов производится меньше дисковых операций ввода/вывод.
- Улучшается масштабируемость при создании листов с размещением на нескольких машинах, поскольку уменьшается сетевой трафик.
Как работает компактный кэш
В компактном кэше большое количество листов сгруппировано в одном большом файле, который называется пакетом. Пакет может содержать до 16 384 листов. В результате кэш содержит десятки и сотни файлов вместо тысяч и миллионов. Если просмотреть компактный кэш на диске, то мы увидим набор пакетных файлов с расширением .bundle. Мы также найдем соответствующие файлы индекса с расширением .bundlx.
Во время построения кэша также генерируются файлы .lock и .done в папках кэша. Файлы .lock помогают серверу следить за тем, какие пакеты находятся в обработке в данный момент времени; наличие этого файла не означает, что эти пакеты недоступны клиентским приложениям. Соответственно, файл .done дает понять серверу, какие пакеты уже прошли обработку. После завершения процесса кэширования все файлы .lock и .done должны исчезнуть.
Существует возможность организовать небольшой кэш с одним пакетом на каждом уровне. Чаще встречается ситуация, когда граница пакета проходит по некоторому географическому объекту, и поэтому на одном уровне хранится несколько пакетов (хотя в пакетах может и не содержаться максимального количества в 16 000 листов при небольшом размере географического объекта).Крупные кэши объединяют множество пакетов.
Границы пакета определяются точкой отсчета схемы листов и не поддаются корректировке. Для сравнения, при масштабе отображения района/города, равном 1:4 096, полный пакет покрывает территорию округа средних размеров в восточном регионе Соединенных Штатов.
Прежние версии:
В ArcGIS 10.0 и более ранних версиях если вы использовали пространственный объект меньше, чем пакет для определения границы вашего кэша, вы могли наблюдать недозагрузку CPU. В версии 10.1 и более поздних версиях программное обеспечение предусматривает более разумное распределение ресурсов процессора для задач кэширования, и географический размер объекта, определяющий задачу кэширования, не влияет на использование процессора.
Как обновляется компактный кэш
При обновлении листов компактного кэша не происходит повторного создания всего пакета. Вместо этого, обновляется область размером в 4096 x 4096 пикселей (без сглаживания) или 2048 x 2048 пикселей (со сглаживанием). В документации ArcGIS такой фрагмент территории иногда называется суперлистом.
Извлечение листов из пакета
Клиенты ArcGIS, в том числе программные веб-интерфейсы приложений, знают, как читать пакетные файлы, созданные в формате компактного кэша. В случае работы по Интернету, клиент отправляет на сервер запрос, соответствующий определенному уровню, строке и столбцу листа. Сервер получает запрос и возвращает соответствующий лист из пакета.
Внутренняя архитектура пакета не публикуется компанией Esri. Если вы создали свой программный код для извлечения листов из виртуальной директории, необходимо использовать все тот же полистный формат, в котором каждый лист сохраняется как отдельный файл, и который был единственной возможностью в версии ArcGIS Server 9.3.1 и более ранних версиях.
Обновление компактного кэша для повышения производительности
Начиная с версии 10.3 формат компактного хранения кэша изменен, что позволило повысить производительность при использовании кэшированных картографических сервисов и сервисов изображений. Изменения также позволили сократить число файлов, создаваемых в директории кэша. Это было достигнуто включением индексов листов (файлов .bundlx) в состав файлов .bundle.
Новый компактный кэш, создаваемый с помощью ArcGIS 10.3 for Server (и более новых версий), будет автоматически использовать новый формат. После обновления до версии 10.3 или более новых, сервисы с компактным кэшем, созданные в ранних версиях, продолжат работать. Вы можете продолжить работу с этим кэшем, используя соответствующие серверные инструменты.
Если вы хотите, чтобы существующий работал с повышенной производительностью, необходимо обновить кэш с помощью инструмента Обновить формат хранения кэша картографического сервера. Обновление кэша не приводит к созданию новых листов; старые файлы преобразуются в соответствии с новой версией. Чтобы узнать, как использовать этот инструмент, откройте справку инструмента из набора инструментов Сервер в ArcGIS for Desktop.
Примечание:
Инструмент Обновить формат хранения кэша картографического сервера не доступен в ArcGIS Pro. Вместо этого, используйте ArcGIS for Desktop.
Улучшенный формат компактного хранения кэша не является обратно совместимым с ранними версиями ArcGIS. Например, компактный кэш, созданный или обновленный в версии 10.3 или более новой, не может быть использован в предыдущих версиях ПО. Улучшенная версия формата компактного хранения кэша всегда будет связана с сервисом.
Примечание:
При экспорте кэша с помощью инструмента Экспортировать кэш картографического сервиса сохраняется старый формат компактного хранения кэша, который не использует методы повышенной производительности.