描述
升级地图或影像服务的紧凑型缓存存储格式(由 10.2.2 及更早版本创建)以利用版本 10.3 及更高版本中可用的性能改进。
自版本 10.3 起,已对紧凑型缓存存储格式进行改进,以提高缓存地图和影像服务的使用性能。改进还将切片索引信息(.bundlx 文件)包括在 .bundlx 文件内,从而减少了在缓存目录中创建的文件数。通过 ArcGIS 10.3 for Server(和更高版本)创建的新紧凑型缓存将自动利用性能改进。
升级到 10.3 及更高版本后,包含在较早版本中生成的紧凑型缓存的服务将继续正常运行。您可继续使用服务器缓存工具来维护这些缓存。
如果希望现有缓存利用性能改进,请升级到版本 10.3(或更高版本),然后使用此工具升级缓存。升级缓存不会创建新切片;而是对文件进行重组,使其与改进的格式相符。
改进的紧凑型缓存存储格式并不向后与较早版本的 ArcGIS 兼容。例如,使用版本 10.3(或更高版本)创建或升级的紧凑型缓存无法在此软件的 10.2.2 版本(或更早版本)中传输和使用。改进的紧凑型缓存存储格式应始终与某项服务相关联。
使用方法
要使用此工具,可指定要升级的地图或影像服务缓存。此工具可检测服务的当前存储格式并使用此信息来确定是否可升级缓存。
您可以通过在缓存服务实例数(Python 中的 num_of_caching_service_instances)参数中指定一个值的方式,选择专用于升级缓存的服务实例数。
此工具不会创建新切片;而是将现有切片在同一文件夹中进行重组,使其符合改进的格式。作为升级的一部分,将删除旧格式。建议您在运行此工具之前备份您的现有缓存。
如果工具在操作期间出现故障或被取消,重新运行工具将从发生故障或取消之处再次启动任务。
要升级具有松散格式的缓存服务,请使用转换地图服务器缓存存储格式工具。
语法
arcpy.server.UpgradeMapServerCacheStorageFormat(input_service, {num_of_caching_service_instances})
参数 | 说明 | 数据类型 |
input_service | 要升级的地图或影像服务缓存。 此字符串包含服务器和服务信息。要查看构建此字符串的方法,请打开 ArcCatalog,选择“目录”树中的服务,并注意位置工具条中的文本。然后将反斜线改为正斜线,例如,MYSERVER (admin)/USA.MapServer 上的 GIS Servers/arcgis。 | String |
num_of_caching_service_instances (可选) | 专用于运行该工具的系统/缓存工具服务实例的总数。您可以通过与 ArcGIS Server 的管理连接,使用服务编辑器窗口,增加系统/缓存工具服务的每台计算机的最大实例数。确保您的服务器计算机可以支持所选数量的实例。 | Long |
代码示例
升级地图缓存存储格式示例(独立脚本)
以下独立脚本将演示如何升级紧凑型缓存存储格式。
# Name: UpgradeMapServerCacheStorageFormat.py
# Description: The following stand-alone script demonstrates how to upgrade map
# server cache storage format to the latest compact storage format
# Requirements: os, sys, time, traceback modules
# Any line that begins with a pound sign is a comment and will not be executed
# Empty quotes take the default value.
# To accept arguments from the command line replace values of variables to
# "sys.argv[]"
# Import system modules
import arcpy
from arcpy import env
import os, sys, time, string, datetime, traceback
# Set environment settings
env.workspace = "C:/data"
# Set local variables for mapservice properties
connectionFile = r"C:\Users\<username>\AppData\Roaming\ESRI\Desktop10.3\ArcCatalog"
server = "arcgis on MyServer_6080 (publisher)"
serviceName = "Rainfall.MapServer"
inputService = connectionFile + "\\" + server + "\\" + serviceName
numOfCachingServiceInstances = "2"
currentTime = datetime.datetime.now()
arg1 = currentTime.strftime("%H-%M")
arg2 = currentTime.strftime("%Y-%m-%d %H:%M")
file = "C:/data/report_%s.txt" % arg1
# print results of the script to a report
report = open(file,'w')
# Execute UpgradeMapServerCacheFormat
try:
starttime = time.clock()
result = arcpy.UpgradeMapServerCacheStorageFormat_server(inputService,
numOfCachingServiceInstances)
finishtime = time.clock()
elapsedtime = finishtime - starttime
#print messages to a file
while result.status < 4:
time.sleep(0.2)
resultValue = result.getMessages()
report.write ("completed " + str(resultValue))
print "Upgraded Map Server Cache Storage format for " + serviceName + " in " +\
str(elapsedtime) + " sec \n on" + arg2
except Exception, e:
# If an error occurred, print line number and error message
tb = sys.exc_info()[2]
report.write("Failed at step 1 \n" "Line %i" % tb.tb_lineno)
report.write(e.message)
report.close()
print "Upgraded Map Server Cache Storage format "
环境
此工具不使用任何地理处理环境。
许可信息
- Basic: 是
- Standard: 是
- Advanced: 是