如果您希望将地图瓦片进行分布式存储,那么在创建分布式切图任务之前,需要先将分布式切片库注册到 iServer。目前支持的分布式切片库的类型有 FastDFS(已过时) 、MongoDBOTS(已过时)。

添加 FastDFS 存储(已过时)

FastDFS 是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。FastDFS 服务端有两个角色:跟踪器(Tracker)和存储节点(Storage)。FastDHT 是一个基于键值对(Key Value Pair)的高效的分布式 Hash 系统,用于保存切图结果文件名与存储文件名之间的映射关系。有关 FastDFS 的安装与配置,请参考: FastDFS 的安装与配置

您可以登录旧版 iServer 服务管理器(http://<server>:<port>/iserver/manager),依次点击“集群-数据注册”即可看到已注册的数据存储信息。如您需要添加 FastDFS 存储,则点击“注册数据存储”按钮,并配置以下参数:

  • 存储 ID:自定义存储 ID 名称,为数据库创建的唯一标识
  • 数据存储类型:选择“分布式切片库”
  • 切片存储类型:选择“FastDFS”
  • FDFS Trackers:填写跟踪器中服务器的地址,格式为:{ip}:{port}。
  • FDHT Groups:填写 Group 中服务器的地址,格式为:{ip}:{port}。

点击下方的“注册数据存储”按钮,完成数据注册。

表1 FastDFS 分布式存储参数说明

参数名称

 说明

FDFS Trackers

跟踪器(Tracker)起负载均衡的作用,负责调度服务器,跟踪器由一台或多台服务器组成,所有服务器都是对等的,可以根据服务器的压力情况增加或减少,其服务器可以随时增加或下线而不会影响在线服务。 添加跟踪器中服务器的格式为:<server>:<port>,例如:192.168.110.10:22122。 详情请参见:配置 FastDFS,即 tracker.conf 中 bind_addr 和 port 的配置。
FDHT Groups FastDHT 由一个或多个组(Group)组成,每个组由一台或多台服务器组成,同组服务器上存储相同的数据,组内各个服务器对等,数据同步只在同组的服务器之间进行。 添加 Group 中服务器的格式为:<server>:<port>,例如:192.168.110.10:11411。 详情请参见:配置 FastDHT,即 fdhtd.conf 中 bind_addr 和 port 的配置。

 

您也可以通过修改系统配置文件来添加 FastDFS 存储。具体操作时,在 iserver-system.xml 中添加如下配置信息:

<storages>
  <storage>
    <id>f12</id>
    <tileSourceInfo class="com.supermap.services.tilesource.FastDFSTileSourceInfo">
      <type>FastDFS</type>
      <fdfsTrackers>
        <string>192.168.112.12:22122</string>
      </fdfsTrackers>
      <fdhtGroups>
        <string-array>
          <string>192.168.112.12:11411</string>
        </string-array>
      </fdhtGroups>
    </tileSourceInfo>
  </storage>
</storages>

添加 MongoDB 存储

MongoDB 是一个基于分布式文件存储的数据库,旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。有关 MongoDB 的详细介绍和安装使用方式,请参考:MongoDB 的安装与配置

您可以登录 iServer 服务管理器,依次点击“数据-数据注册”,进入注册数据存储页面(http://{ip}:{port}/iserver/admin-ui/data/dataRegistration),该页面包含了已注册的数据存储信息。如您需要添加 MongoDB 存储,则点击“注册数据存储”按钮,并配置以下参数:

  • 存储 ID:自定义存储 ID 名称,为数据库创建的唯一标识
  • 数据存储类型:选择“分布式切片库”
  • 切片存储类型:选择“MongoDB”。点击“添加MongoDB服务地址”
  • 服务地址:即 MongoDB 服务的地址,格式为:{ip}:{port}
  • 添加复制集:如果勾选,则为分布式切片库中的数据创建副本。通过复制集机制可以实现 MongoDB 存储系统的自动故障转移,提升数据的可用性。
  • 数据库名称:用来存储地图瓦片的数据库。默认使用名为 smtiles 的数据库。
  • 用户名:具有访问该数据库权限的用户。即在输入前,您为将使用的数据库设置的用户名和密码。
  • 密码:已设置的密码。

点击下方的“注册数据存储”按钮,完成数据注册。

您也可以通过修改系统配置文件来添加 MongoDB 存储。具体操作时,在 iserver-system.xml 中添加如下配置信息:

<storage> 
      <id>m27</id>  
      <tileSourceInfo class="com.supermap.services.tilesource.MongoDBTilesourceInfo"> 
        <type>MongoDB</type>  
        <serverAdresses> 
          <string>localhost:27017</string> 
        </serverAdresses>  
        <database>smtiles</database>  
        <username>iserver</username>  
        <password>iserver</password> 
      </tileSourceInfo> 
    </storage> 
	

其中,<database>、<username>以及<password> 是可选参数。

添加 OTS 存储(已过时)

OTS 是构建在阿里云飞天分布式系统上的 NoSQL 存储服务,提供海量结构化数据的存储和实时访问。

您可以登录旧版 iServer 服务管理器,依次点击“数据-数据注册”,进入注册数据存储页面(http://{ip}:{port}/iserver/admin-ui/data/dataRegistration),该页面包含了已注册的数据存储信息。如您需要添加 OTS 存储,则点击“注册数据存储”按钮,并配置以下参数:

  • 存储 ID:自定义存储 ID 名称,为数据库创建的唯一标识
  • 数据存储类型:选择“分布式切片库”
  • 切片存储类型:选择“OTS”
  • 实例名称:输入在阿里云 Table Store 控制台管理页面创建的实例名称。实例是用户使用和管理OTS服务的实体,是 OTS 资源管理的基础单元,OTS 对应用程序的访问控制和资源计量都在实例级别完成。
  • 节点名称:阿里云服务节点,为创建实例时选择的地址。例如:cn-hangzhou
  • 是否公网访问:公网访问时,访问的OTS服务地址为:http://<instanceName>.<nodeName>.ots.aliyuncs.com。非公网访问时,访问的OTS服务地址为:http://<instanceName>.<nodeName>.ots-internal.aliyuncs.com。
  • accessKeyID:AccessKeyID 用于标识 AccessKey。OTS 根据 AccessKey 对请求进行身份认证和鉴权,每个合法的 OTS 请求都必须携带正确的 AccessKey 信息。您可在阿里云官网的“管理控制台”获取 AccessKey。AccessKey包括AccessKeyID 和 AccessKeySecret 两部分:
  • accessKeySecret:AccessKeySecret 用于加密OTS 请求。AccessKeySecret 是认证请求身份的重要凭证。

点击下方的“注册数据存储”按钮,完成数据注册。

您也可以通过修改系统配置文件来添加 MongoDB 存储。具体操作时,在 iserver-system.xml 中添加如下配置信息:

    <storage> 
      <id>OTS1</id>  
      <tileSourceInfo class="com.supermap.services.tilesource.OTSTileSourceInfo"> 
        <type>OTS</type>  
        <instanceName>tileStore</instanceName>  
        <nodeName>cn-hangzhou</nodeName>  
        <fromPublic>true</fromPublic>  
        <accessKeyId>accessKeyId</accessKeyId>  
        <accessKeySecret>accessKeySecret</accessKeySecret> 
      </tileSourceInfo>
    </storage> 

  注:请在<accessKeyId>、<accessKeySecret>中填入您实际获取的AccessKey信息。