http://www.gissky.net- GIS空间站

我要投稿 投稿指南 RSS订阅 网站资讯通告:
搜索: 您现在的位置: GIS空间站 >> 技术专栏 >> 地理信息 >> 正文

服务式GIS实践与发展SuperMap iServer分布式层次集群

作者:服务式GI…    文章来源:SuperMap    点击数:    更新时间:2010-2-1
摘要:近年来,随着各单位业务的不断发展与开拓,基于各单位、各部门信息化独立建设的Web GIS应用逐渐凸显其信息孤岛的瓶颈,跨部门、跨区域、面向全球模型实现信息一体化共享的需求越来越强烈,如何构建能够整合跨区域、跨平台、跨部门的GIS服务器,实现多资源的应用整合,完成企业各类信息的互通互联成为集群技术发展的新课题。为此,SuperMap 服务器的新一代开发平台——SuperMap iServer 6R 在原有集群技术的基础上,再次进行了技术的革新与能力的扩展,实现了新一代分布式层次集群技术。

前言
      GIS服务器集群技术是SuperMap 服务器开发团队在多年的研发实践基础上,为企业级Service GIS应用提供的一套成熟的GIS服务平台解决方案,用于实现应用系统中GIS服务能力的高可伸缩性和高可靠性。
      在Web GIS发展初期,各行业致力于构建基于专有空间数据的Web GIS应用系统。这一阶段对GIS服务器的要求是充分利用已有的GIS服务器计算资源提高GIS响应效率,Web GIS应用要具有高可靠性、高并发响应能力。为此,早期的SuperMap 服务器开发平台研制出了第一版集群技术体系,即一个集群服务器可以将后台多个GIS服务器的计算资源进行整合、虚拟化,统一对客户端提供访问,使Web GIS应用提供的GIS服务能力具有负载均衡和容错的集群特征,并在后台进行空间分析计算的GIS服务器之间实现任务的均衡分配,多个GIS服务器可以动态的注入或者卸载出服务集群,从而避免GIS服务器的单点失效引起的Web GIS应用的不可用。
      近年来,随着各单位业务的不断发展与开拓,基于各单位、各部门信息化独立建设的Web GIS应用逐渐凸显其信息孤岛的瓶颈,跨部门、跨区域、面向全球模型实现信息一体化共享的需求越来越强烈,如何构建能够整合跨区域、跨平台、跨部门的GIS服务器,实现多资源的应用整合,完成企业各类信息的互通互联成为集群技术发展的新课题。为此,SuperMap 服务器的新一代开发平台——SuperMap iServer 6R 在原有集群技术的基础上,再次进行了技术的革新与能力的扩展,实现了新一代分布式层次集群技术。


集群结构
      SuperMap iServer 6R的GIS服务器集群是一个高度透明的、可伸缩的、GIS服务器群的计算机系统,对外作为一个整体为客户端提供GIS服务,而内部则是由逻辑上或者物理上分开的GIS服务器和集群服务器组成。
      Service GIS应用系统根据自身数据特点和系统性能要求对集群服务节点和GIS服务节点进行集群结构的部署设计,如设计单层集群结构应用、两层和多层集群结构应用等,从而适应不同规模和应用环境的需求。
      ◆ 单层集群结构
      如图1所示,单层集群结构由多个集群服务节点和多个GIS服务节点组成。集群服务节点主要负责3项工作,包括:
      (1)GIS服务节点信息的监听:监听下级GIS服务节点的节点信息,包括GIS服务节点地址信息、负载信息和当前状态信息;
      (2)集群服务节点信息更新:依据监听到的GIS服务节点信息更新集群服务节点的负载均衡信息,以便准确的根据负载均衡信息进行客户端任务的分派;
      (3)与客户端的信息反馈:接收客户端的服务请求,并根据集群负载均衡信息选择满足所述服务请求的GIS服务节点,并将该GIS服务节点的节点信息返回给客户端,使客户端自动连接到对其请求来说最佳的GIS服务节点。



图1  单层集群结构


      GIS服务节点主要负责两项工作,包括:
      ◇ GIS服务节点信息的报告:定期向集群服务节点报告当前工作状态,包括GIS服务节点地址信息、负载信息和当前状态信息;
      ◇ GIS服务响应:根据客户端提交的GIS服务请求进行GIS运算,将所需结果返回客户端。
      与上一代SuperMap服务器产品的集群服务系统相比,SuperMap iServer 6R的集群不但保留了GIS服务器的冗余设计,还增加了集群服务器的冗余设计,即SuperMap iServer 支持配置备份集群服务器,从而提供了更高的可靠性,部署也更加灵活。
      ◇ GIS服务器的冗余设计
      GIS服务器的冗余设计是指在一个集群系统中同时配置两个或两个以上GIS服务器,这些GIS服务器处理相同地图数据及其GIS功能。通过集群服务器的负载均衡能力,动态指定客户端请求由哪个GIS服务器负责处理。



图2  集群的容错机制——集群服务器和GIS服务器冗余设计


      首先,这种冗余设计可以避免GIS服务器的单点失效,保障GIS服务器的稳定可靠、不间断运营能力。如图 2,在集群系统中,配置了4个GIS服务器。集群服务器负责监听GIS服务器的状态,GIS服务器负责定期向集群服务器报告自己的状态,当某一GIS服务器,如GIS服务器2出现故障或者其他情况无法处理GIS请求时,集群服务器会监听到这一信息,将GIS服务器2从负载均衡信息表中清除,当客户端向集群服务器提交GIS请求时,集群服务器根据集群负载均衡信息选择其他具有相应服务能力的GIS服务器,并将该GIS服务器节点的节点信息返回给客户端。当GIS服务器2恢复能力,重新加入集群系统中,GIS服务器2会自动向集群服务器报告,同时集群服务器更新负载均衡列表,加入GIS服务器2的信息,继续为客户端的GIS请求服务。
      其次,GIS服务器的冗余设计可以提高GIS计算能力,从而为Service GIS系统带来高并发访问和高效率处理的性能。当多客户端并发访问集群系统时,集群系统可以由配置的多个具有相同服务能力的GIS服务器共同处理这些请求,如图2所示,如果100个客户端并发访问,且4个GIS服务器的配置相同(包括硬件服务器配置、处理的GIS数据和GIS功能),经过集群服务的分派,100个请求会平均分配给GIS服务器1至4均衡承担,每个GIS服务器负责处理25个请求。如果不使用集群,那么一个GIS服务器需要处理100个GIS请求。因此,对于高并发用户访问和复杂GIS空间处理的Service GIS系统采用集群机制可以提升系统的效能,保证系统的可靠性。
      集群服务除了可以为意外停机、软硬件损坏等提供可靠性保障之外,也可以通过控制部分服务器的运行状态,为检修、升级、测试等计划任务提供方便,实现应用服务的不间断运行。
      ◇ 集群服务器的冗余设计
      集群服务器的冗余设计原理与GIS服务器的冗余设计相同,可以避免集群服务器引起的单点失效。在仅有一台集群服务器的情况下,当这台集群服务器出现故障的时候,整个集群都将无法对外提供服务,造成集群的单点失效。为了避免这种情况,SuperMap iServer 支持配置备份集群服务器,以提供集群服务的容错机制,如图 2所示,集群系统配备了两个集群服务器同时对外提供GIS服务,当其中一个集群服务器a1故障失效时,客户端对集群服务器进行错误识别,并将GIS访问请求直接转由集群服务器a2分派。
      ◇ 客户端的集群访问设计
      冗余的集群系统可以同时提供对外服务的多个集群服务器,以便客户端访问。因此客户端在访问的时候,需要对集群服务器的可用性进行判断,以便获取一个有效的GIS服务。因此SuperMap iServer 的客户端开发包设计了集群访问的处理能力,支持在客户端设置集群系统提供的多个集群服务器地址,客户端按照地址列表中的地址与集群通讯判断集群服务器是否有效,并将请求发送给其中一个有效的集群服务器,与之建立客户端与集群系统的通讯与操作。
      在客户端访问列表中配置多个集群服务地址,即同时设置集群服务器地址和备份集群服务器地址,当某集群服务器失效的时候,客户端独有的集群访问设计机制会对集群服务器的错误进行识别和处理,并使用备份集群服务器进行平滑替换。
      ◆ 多层集群结构
      单层集群结构中集群服务节点具有三种事务的处理能力,包括监听GIS服务节点、更新负载均衡信息和与客户端反馈。SuperMap iServer 6R的集群服务相比上一代SuperMap 服务器产品的集群增加了另外两项事务处理能力,即监听集群服务节点信息和向上报告本集群服务节点信息,从而使SuperMap iServer 6R能够支持多层集群的结构。
      多层集群结构打破了传统技术中仅GIS服务节点能够加入集群服务的约束,支持任意集群服务节点、GIS服务节点动态加入到集群服务中,从而构建出有利用提高GIS服务能力和GIS计算效率的多层集群结构。如图3所示:



图3  分布式层次集群结构图


      分布式层次集群由多个根集群服务节点、多个子集群服务节点和多个GIS服务节点构成。在每一个层次上,都支持GIS服务节点和集群服务节点的冗余设计,以保证集群系统的整体容错能力。
      在多层集群结构中,根集群服务节点可以包括一个或者多个子集群服务节点,和(或)一个或者多个GIS服务节点。如图3所示,根集群服务节点包括四个子集群服务节点A1、A2、B1、B2和一个GIS服务节点n。子集群服务节点可以包括一个或者多个第二子集群服务节点,和(或)一个或者多个GIS服务节点。子集群服务节点A2包括两个第二子集群服务节点a1、a2和一个GIS服务节点m。依次类推,多层集群结构通过层次式的组合形成一个大型的GIS服务系统。
      在SuperMap iServer 6R的集群系统中,所有子集群服务节点和GIS服务节点都是动态注册到集群系统中的,也可以动态卸载出集群系统。多层集群结构中,根集群服务节点负责监控下一级GIS服务节点的节点信息,和(或)下一级子集群服务器的负载均衡器信息;负责根据监控的GIS服务节点信息和(或)子集群服务节点信息更新根集群服务节点的负载均衡器信息;负责接收客户端的服务请求,并根据根集群服务节点的负载均衡信息选择满足所述服务请求的GIS服务节点,并将该GIS服务节点的节点信息返回给所述客户端,使客户端自动连接到对其请求来说最佳的GIS服务节点。子集群服务节点包括上一节介绍的单层集群服务结构中的集群服务节点具有的能力,除此之外还包括:监控下一级子集群服务节点信息,将本集群服务节点的负载均衡信息上报给上一级子(根)集群服务节点。
      GIS服务节点处理内容与单层集群服务结构的GIS服务节点相同,负责响应客户端的GIS请求并返回GIS服务并向上级集群服务节点报告状态信息。


集群的特点
      SuperMap iServer 6R的集群在原有SuperMap服务器产品的集群技术基础上得到了进一步的增强和扩充,主要表现在支持集群的冗余设计、支持异构系统集群、支持层次集群结构、集群上下级访问可控制以及支持可信任计算。



图4  SuperMap iServer 6R集群特点


      ◇ 集群冗余设计
      SuperMap iServer 6R 不仅支持对GIS服务器的冗余容错,还支持对集群服务器的冗余设计,如上文中单层集群结构中介绍,GIS服务器可以同时向多个集群服务器注册,这样形成集群服务器的冗余,可以避免集群服务器的单点失效,从而保证集群化的应用系统能够不间断地提供GIS服务。
      ◇ 异构系统集群
      SuperMap iServer 6R集群系统中根集群服务节点对子集群服务节点、根集群服务节点与GIS服务节点以及子集群服务节点与GIS服务节点间的监控、报告、管理关系都是基于网络间的通讯协议,与GIS服务器和集群服务器所属的操作系统无关,因此,来自不同系统的GIS服务器和集群服务器都可以顺利的动态注册到根集群服务中,实现异构系统的GIS服务和集群服务的集成。
      ◇ 层次集群结构
      如上文,SuperMap iServer 6R提供了灵活地集群组合模式,无论是单层集群模式还是多层集群模式,甚至可以根据客户端访问情况或者系统应用需求,动态的对集群组合模式进行更新,注入新的子集群服务器或者卸载冗余的集群服务器和GIS服务器。
      ◇ 集群上下级访问可控制
      在安全方面,SuperMap iServer 6R 提供对上下级集群访问的可控制和对集群服务访问的可信任计算。尤其是对于跨区域、跨部门组合的层次集群,安全是系统建设必须关注的问题之一,SuperMap iServer 6R支持上下级集群间通讯可控制,通过安全验证为集群系统防攻击和泄密提供了保障。客户端访问集群系统必须通过信任机制的确认,也进一步对集群系统提供了保护。
      ◇ 灵活的GIS服务部署
      SuperMap iServer 的GIS服务器提供的服务能力,一方面表现在GIS数据,如发布地图;另一方面表现在GIS功能的处理,如空间分析、地图编辑等等。集群服务器监测GIS服务器的服务能力的信息,结合客户端的请求内容,为最佳的GIS服务器与客户端建立连接。SuperMap iServer 集群系统不限制GIS服务器的服务能力,而是根据GIS服务器的不同的服务能力与客户端的请求内容进行最佳的调配,因此集群结构的自由组合及分布式层次集群技术为Service GIS 应用系统提供了灵活的GIS服务部署机制。在集群系统中,多个GIS服务器可以同时发布同一个GIS数据库的空间信息,也可以分别发布不同GIS数据库的空间信息,还可设置这些GIS服务器具有相同或者不同的GIS功能处理能力,如图5所示。在部署GIS服务时值得注意的是,当多个GIS服务器发布同一个GIS数据库的地图数据并提供在线编辑能力时,任意GIS服务器所作的地图编辑与更新的结果都会同步被其他GIS服务器所读取。当互为备份的GIS数据库分别对应不同的GIS服务器,并提供地图编辑与更新的服务能力时,例如,图 5中GIS数据库1和GIS数据库2分别对应GIS服务器a1/a2和a3,a1/a2对GIS数据库1所作的地图编辑结果并不会自动被GIS数据库2所更新,因为a1和a2只负责GIS数据库1的地图数据。此时,要实现备份数据库GIS数据库2的同步更新,需要系统开发相应的同步更新程序。



图5  灵活的GIS服务部署


      通过上述特性,SuperMap iServer 6R的集群能够有效的提高整个Service GIS应用系统的可靠性、可用性和伸缩性。


集群的应用模式
      SuperMap iServer 6R的集群的强伸缩性特征,为构建各种结构的集群系统提供了技术保障,下面是几种常见的集群应用模式。
      ◇ 面向公众电子地图服务的集群应用
      面向公众的电子地图服务的特点是用户访问量大、地图数据量大,要具有不间断的运营服务能力。用户访问量大和地图数据量大对GIS服务器的计算能力提出了很高的要求,为了提升GIS服务器计算效率,将若干具有相同服务能力的GIS服务器进行集群,以整合这些GIS服务器的计算能力为客户端提供高响应能力的服务。如果电子地图服务提供多个区域的地图信息服务,例如提供全国各个城市的电子地图服务,可以将每个区域(即一个城市地图)配置为一个集群服务,再将每个城市的地理信息集群服务注册到上一级全国电子地图集群服务中,通过层次集群发布全国各城市的电子地图服务系统。在提升系统可用性方面,通过设计GIS服务器和集群服务器的备份,解决了GIS服务器或者集群服务器由于维护、故障引起的单点失效问题。



图6  面向公众电子地图服务的集群应用


      ◇ 跨平台、跨部门的地理信息集群应用



图7  跨平台、跨部门的地理信息集群应用


      集群系统的优点之一,就是不受GIS服务器和集群服务器所在的软硬件平台所限,无论集群服务器和GIS服务器部署在Windows、Linux或其他任何操作平台,部署在任何类型的硬件服务器上,都可以将他们根据系统需要进行集群系统的组织。同样,集群系统可以将不同部门提供的、具有专属数据服务能力的GIS服务或者集群服务进行集群发布,提高系统的地理数据服务能力。比如,统计局可以将不同部门发布的统计数据GIS服务,像人口普查GIS服务、经济统计GIS服务等,通过集群进行组织发布社会统计GIS系统。 
      ◇ 跨区域的层次化地理信息集群应用
      在信息一体化的时代,企事业单位都希望在已有资源的基础上花费最小的代价实现业务的扩展与变更。SuperMap iServer 6R的层次集群技术在服务器资源整合方面可以为实现这一目标提供最佳解决方案。层次集群系统中任意级别的集群服务器或GIS服务器都可以部署在不同的区域,通过网络实现互联互通。跨区域的集群应用可以整合不同区域的子集群服务器提供的GIS服务能力,子集群服务器的空间数据的维护由每个区域独立负责,根集群服务担负着系统整体负载均衡的责任。当某区域的GIS数据变更或者GIS服务能力扩展,根集群服务会监测并更新负载均衡信息,以便为客户端提供准确的、实时的GIS服务。



图8  跨区域的层次地理信息集群应用


结语
      总的来说,SuperMap iServer 6R的分布式层次集群在继承了原有集群技术优异的特性基础上,还在冗余设计、结构组织方面作了进一步的革新和发展。集群服务器和GIS服务器的冗余设计保障应用系统能够不间断地提供GIS服务;可伸缩的层次集群结构满足各种应用类型的需求,也能够动态地在访问高峰或低谷时期进行GIS服务结构的调整;SuperMap iServer 6R的集群技术隔离了软硬件平台的关联,用户可以实现跨区域、跨部门的集群系统设计。SuperMap iServer 6R的分布式层次集群能够为构建企业级高可用、高可靠、高伸缩性的GIS应用系统提供灵活的解决方案。

Tags:三维GIS,李德仁  
责任编辑:gissky
关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 中国地图