管理和迁移ArcGIS Server服务之--切片服务(TileServer缓存服务)(二)

本篇主要介绍发布完缓存服务后,如何管理缓存服务和迁移缓存服务

对缓存或者切片做什么操作,适用于本教程:
1、我的机器的缓存服务删除了,但是在server manager删除后,计算机的资源占用仍然很多,那么本教程会教你如何清理残留的缓存

2、我之前在A机器的arcgis server已经完成了切片,那么我想把A机器的缓存服务,迁移到我新的机器B上的arcgis server服务器下;

3、我现在在一个arcgis server或者多台arcgis server下有两个缓存服务;我现在需要将这两个缓存服务,合并成一个缓存服务;

4、缓存发布后,有哪些工具可以供我们发布前和发布后使用?

大家常见的有:
地图服务:发布和使用ArcGIS Server 服务之–地图服务(Mapserver)
要素服务:发布和使用 ArcGIS Server 服务之–要素服务(feature server)
影像服务:发布和使用 ArcGIS Server 服务之–影像服务(image server)
OGC 服务:发布和使用 ArcGIS Server 服务之–OGC服务(WMS/WMTS/WFS/WCS/WPS)
缓存服务:发布和使用 ArcGIS Server 服务之–缓存服务(TileServer)(一)
缓存服务:管理和迁移ArcGIS Server服务和缓存服务(TileServer)(二)
地理处理服务、矢量切片服务、场景服务
、地理数据服务、以及几何服务、KML 服务、地理编码服务、定位器Maritime Server、路径服务、Schematics 服务、流服务、公共设施网络服务、Workflow Manager 服务等;

1、缓存服务的管理

1.1 缓存服务发布后,如果数据发生了更新,希望更新局部范围的切片

有以下两种方法:

方法一: 更新缓存服务引用的数据源内容,并对已发布的服务在待更新区域重新创建切片。步骤如下:
1)如果数据源所在的文件夹或者数据库已经被注册过,那么直接修改文件夹或者数据库中相关的源数据(例如添加、删除图层中的要素);
如果数据源所在的文件夹或者数据库没有被注册,那么之前在发布服务的时候,源数据会被备份到 GIS服务器的 arcgisinput 目录下,直接修改这个目录下的相关源数据(例如添加、删除图层中的要素);
如果想把地图文档中引用的图层直接替换成另外的同名图层,那么修改 GIS服务器的 arcgisinput 目录下相关的msd文件,具体修改方法为在 ArcMap 的 Catalog 窗口中连接 msd 文件所在的文件夹,右键 msd 文件,选择 Set Data Sources,更改图层的C onnection Properties;
2)右键单击已发布的缓存服务,manage cache -> manage tile -> 在Manage Map Server Cache Tiles窗口中基于要素类边界执行RECREATE_ALL_TILES操作。

方法二: 重新发布缓存服务,并将新生成的切片导入到之前的缓存服务中。步骤如下:
1)将更新后的数据组织为地图文档,并发布为缓存服务,切片方案和图像格式需要与之前服务的相同,可基于要素类边界只对变化区域进行切片;
2)在 Catalog 中的 server 节点下,右键单击待更新缓存的服务,选择 manage cache ->Import tile ,基于要素类边界导入上一步生成的切片,注意选中 Overwrite Tiles,这样会替换感兴趣区域中的所有像素,而不是与接收缓存中的图像合并或混合。

要创建一个小型测试缓存,请先使用 ArcMap 中的编辑工具创建一个包含待测试区域周围的小矩形的要素类。然后使用管理地图服务器缓存切片工具对话框底部的选项,基于要素类的边界创建切片。浏览至包含测试区域的要素类,然后创建切片。

1.2 我是否仍然可以访问基础数据?

尽管地图缓存代表的是数据图片,您仍然可以允许其他人在您的地图服务上执行识别、搜索和查询操作。这些工具可以从服务器获取要素的地理位置并返回相应的结果。

应用程序会在缓存图像之上以其本地图形图层格式绘制这些结果。

1.3 服务器目录清理

ArcGIS Server 定期从作业目录、输出目录和系统目录中删除(或清理)不需要的旧文件,以防止这些文件对磁盘空间进行不必要的占用。不会清理缓存目录,因为这些目录的内容应始终可用。

服务器如何清理目录:
ArcGIS Server 准备清理服务器目录中的文件时,会自动检查自文件上次修改以来所经过的时间是否超过了指定的文件最长保留期限。如果文件满足这个条件,就会将其删除,之后服务器将继续处理目录中的下一个文件。如果文件不满足这个条件,就会将其保留在目录中。

默认情况下,将使用下列条件指定要清理的服务器作业目录、输出目录和系统目录:

目录 清理模式 文件最长保留期限
作业 上次修改后到现在的时间 360 分钟(6 小时)
输出 上次修改后到现在的时间 10 分钟
系统 上次修改后到现在的时间 1,440 分钟(24 小时)

例如,如果输出目录中的某个文件在创建之后 10 分钟内都没有被修改,则清理机制就会删除该文件,因为它超过了允许的文件最长保留期限。您可以对清理模式和文件最长保留期限进行修正以满足您站点的需求。

除了清理模式和文件最长保留期限以外,作业目录、输出目录和系统目录都有它们自己的一套清理规则。例如:

  • 对于作业目录清理,只有在作业已完成、已取消或失败时,ArcGIS Server 才会将\其删除。
  • 对于输出目录清理,ArcGIS Server 只会删除名称以 _ags 开头的文件和文件夹。
  • 对于系统目录清理,仅当所上传项目已完全上传至服务器时,ArcGIS Server 才会将其删除。

我的缓存目录是:
在这里插入图片描述

如果我在server manager中已经删除某个服务了,但是想要彻底删除某个服务的缓存,那么我们去arcgiscache下,找到对应的缓存删除即可;

如何查询缓存目录,打开server manager界面:
在这里插入图片描述

2、ArcGIS Server服务迁移和恢复

2.1 迁移服务

如果服务可以迁移,那么备份迁移所需文件,即可恢复原服务,所以“服务的迁移与恢复”、“服务的备份”问题可以汇总为一个问题“怎样迁移服务、缓存?”
服务迁移:

问题描述: 两台Server服务器,怎样将服务从一台迁移至另外一台。

注:
①以下解决方案,同样适用于“将A机器Server转移到B机器Server上(B中已有发布服务)” ,无需保证B为新站点。

②方案适用于10.1~10.8个版本之间迁移,10.0到10.1版本,Server产品架构做了重大调整,因此服务只能重新发布。

③10.0的缓存可以在之后版本的服务中复用,具体“2.2 缓存迁移”内容见下文。

首先:两台arcgis for server的arcgis for server账户、config-store和direcotires物理位置、数据源物理位置,都保持一致。我的server目录如下:
在这里插入图片描述

直接将原来config-store下的services(默认路径在C:\arcgisserver 里,我的是在D:\arcgisserver下:但是有的客户是自己设定的路径,那么在上图中查询自己的路径即可)和directories目录拷贝过来即可;
在这里插入图片描述

注:因为config-store中记录了机器信息,所以不能完全拷贝过来,只需要拷贝 services即可;

同时注意将缓存停止,然后将注册的数据迁移过来后,将arcgis for server账户的读写权限赋予给其文件夹,确保Arcgis for server有读取数据的权限。
在这里插入图片描述

另:关于数据源已注册的问题,在arcgis for server中记录的只是数据的文件夹地址,如果将数据源拷贝到同样的物理路径,arcgis for server正常情况下是可以读取到数据的。

2.2 迁移缓存

切片文件类型在server的缓存文件为:
在这里插入图片描述

缓存迁移具体缓存迁移过程:

1、将文件拷贝到新服务器上备用;
在这里插入图片描述
其中_alllayers中为各等级的切片文件,xml文件为切片信息(级别)。

2、将gdb和xml文件拷贝出来,放到新服务器上;
在这里插入图片描述
其中这个Layers在arcmap的catalog下可以识别为 栅格数据的格式,可以直接加载到arcmap中;所以需要提前拷贝gdb和xml文件;
在这里插入图片描述

3、发布服务的步骤如下:

1)打开ArcMap,添加gdb中的JobStatus图层;当然也可以自己新一个缓存的外边界框;
2)在ArcMap中使用File>share As> Service向导创建和现有缓存服务同名的地图服务
3)在service Editor窗口中,缓存选项卡下,Tiling Scheme配置:切片方案文件选择旧版本缓存地图切片的conf.xml文件(可以在下文提供的目录中找到)导入来设置新服务的缓存比例尺;修改最小和最大缓存比例尺滚动条,以便包含现有切片的所有比例级别。选择手动创建缓存,然后发布服务。
4) 先停止刚发布的服务;将旧版本的缓存切片**_alllayers**文件夹以下的缓存,拷贝到对应的现有server缓存目录下。

例如现有缓存服务名为:MyMapService001
server目录为:D:\arcgisserver\directories\arcgiscache\MyMapService001
\Layers

注:
1)对于使用镶嵌数据集发布缓存服务,建议发布的新服务除了设置手动创建缓存外,其他设置如注册数据源路径等都与原服务保持一致

2)只创建服务,注意选择手动创建缓存,这一步是构建了缓存服务的文件夹结构,发布同名服务 MyMapService001。

3)将server目录_alllayers文件夹以下的缓存,拷贝到对应的现有名为MyMapService001的服务server目录_alllayers文件夹下,使用原服务的切片文件。

具体过程如下:

在这里插入图片描述

查看新更换的缓存服务的状态,在更新完成后,需要多等待几分钟,慢慢缓存状态即可更新完成; 下面是查询方法,我的还没完全更新过来;
在这里插入图片描述

2.3 缓存服务叠加:合并两个相邻的缓存服务

注:如果需要对两个缓存服务进行叠加或者合并成一个缓存服务的话,需要注意
切片方案一致;
切片高度和切片宽度一致:
切片的默认宽度和高度为 256 像素。建议使用 256 或 512。如果要构建的缓存与另一缓存相叠加,则应确保对两个缓存均使用相同的切片宽度和高度。

问答:
问1:如果缓存的切片方案和切片大小不一样,那么能不能实现合并呢?
答:不能;
问2:哪还有没有办法进行合并?
答:把数据加载到arcmap中,重新进行发布,然后进行切片即可;
问3:空间参考不一致,但是是同一个椭球体能否实现合并?
答:不能;切片有起始原点,那么应该以经纬度还是行列号的投影坐标系呢?所以是不能的;

空间参考的理解,参考:EPSG和WKID空间参考之–坐标系简单理解
切片缓存的相关参数介绍,参考发布和使用 ArcGIS Server 服务之–缓存服务(TileServer)(一)

两个切片服务先把两个服务保存成tpk, 然后发布服务,发布的数据是两个数据的全部范围,选择手动切片; 然后发不完服务后,再导入缓存tpk;

必须确保切片的大小和切片的级别保持一致,然后才可以合并两个缓存服务。

3、缓存(切片)相关工具介绍

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_40625478/article/details/110917301
今日推荐