在某些时候,您可能需要在文件夹或机器之间转移地图缓存。该过程取决于缓存的格式、您希望向其中和从其中复制缓存的 ArcGIS Server 版本以及缓存文件的大小。
复制紧凑型缓存
ArcGIS Server 10.0 及更高版本中提供的紧凑型缓存存储格式旨在使大型缓存的复制变得更加容易。在此缓存类型中,切片不会像松散缓存中那样以单个文件形式存储;相反,它们将被分组到 .bundle 文件中。这使得需要复制的文件减少了许多,缓存也会变得更小。使用紧凑型缓存存储格式替代松散型存储格式可显著缩短缓存复制时间。
紧凑型缓存格式有两个版本:10.0 引入的 compact 以及 10.3 引入的 compactv2。早期版本包括用作索引的单独 .bundlx 文件;更新版本将索引整合到了 .bundle 文件。此举可使性能得到改善,当缓存位于网络共享或云存储时尤其如此。但是,更新版本的紧凑型缓存只能用于运行 10.3 及更高版本的 ArcGIS Server 站点。此为这些版本中所创建缓存的默认格式。
如果要在两个位于 10.3 或更高版本的站点之间复制和传输缓存,您可以从计算机上无缝执行此操作。
如果要将运行 10.3 或更高版本的站点所生成的紧凑型缓存(采用 compactv2 格式)传输到运行 10.0 至 10.2.2 版本的站点,请使用 ArcMap 或 ArcGIS Pro 中的导出地图服务器缓存工具。此工具在早期版本中生成紧凑型缓存(带有单独的 .bundlx 文件)。然后,您可以将导出的缓存发送到收件人服务器站点。您还可以使用此工具导出松散缓存,以供 10.0 及更早版本使用。
如果要将 compact 缓存传输到运行 ArcGIS Server 10.3 或更高版本的站点,您应该将其更新为改进的 compactv2 格式。为此,请使用 ArcMap(或 ArcPy 等效软件)中的升级地图服务器缓存存储格式工具。
切片包允许您根据地图(通常为地图范围的子集)创建切片缓存,以便在线和离线环境下均可将其用作 ArcGIS 应用程序的底图。10.7 版本中的新切片包格式 .tpkx 将使用较新版本的紧凑型缓存。该格式在 ArcGIS Desktop 和 ArcGIS Pro 中创建切片包时可用。
复制大型缓存
复制大量缓存数据时可以借助多种命令。除了 cp -r 和 tar -cf,复制缓存数据时还可以使用以下命令:
- 可使用以下命令复制 tarball 存档缓存:
dd if=<source tar file> of=<destination tar file> bs =2046k
注:
可以增加或减少块大小的值 (bs) 以适应实际的带宽。
- 要在将大型缓存复制到远程计算机时追踪其进度,使用以下命令:
rsync -avx -progress /arcgiscache/mapservice user@remotemachine:/destination/directory
可专门复制大批量文件的第三方应用程序有许多种。与使用操作系统自带的工具进行复制相比,运用这些应用程序进行复制的稳定性会更高。其中部分应用程序可对任务进行计划及排队。
使用 FTP 移动松散缓存时,如果事先对文件进行打包压缩,则传输将可能进行地更加平稳。您不必对已压缩的文件再次进行压缩;压缩的目的仅是为了避免对无数的小文件进行传输。可利用多种第三方应用程序来简化压缩和解压过程。
缓存及文件夹结构
您可以使用现有的地图服务将缓存复制到计算机上,而该缓存将在服务重新启动时被删除。顶级缓存文件夹名称必须与地图服务名称相同。一个例外情况是,在 GIS 服务器中以文件夹的形式组织地图服务时,顶级目录语法为 <folder name>_<map service name>。