13.2. 分布式地理信息系统

发布日期 : 2023-08-23 01:42:47 UTC      

访问量: 1131 次浏览

随着计算机网络的发展,基于客户机/服务器体系结构, 并在网络支持下的分布式系统结构已经成为地理信息系统的发展趋势。 由于GIS的固有的特点,使得运行于网络上的分布式系统特别适合于构造较大规模的GIS应用, 其应用表现在以下几个方面:

  1. 数据的分布:在地理信息系统中,主要数据是空间数据,由于数据生产和更新的要求,常常需要存放在空间上分离的计算机上。

  2. 应用功能的分布:GIS的功能组成了由空间数据录入到输出的一个工作流程,不同的人员由于其关注的信息不同,需要不同的GIS功能服务对数据进行处理,将应用分布在网络上就可以解决该问题。

  3. 外设共享:外设的分布是服务分布的一种,由于许多GIS外设较为昂贵,如高精度平板扫描仪,喷墨绘图仪,大幅面数字化仪等,而通过分布式系统,可以实现这些设备的共享。

  4. 并行计算:在地理信息系统中,许多模型具有较高的时间复杂性,利用分布系统可以实现并行计算,缩短计算时间。

下面将描述分布式系统以及一些网络地理信息系统的模式和实现。

13.2.1. 分布式系统和C/S模型 #

分布式系统(DistributedSystem)的定义是: 一组独立计算机的集合,但是从用户的角度来看,如同于一台计算机。 较之于集中式系统(CentralizedSystem)以及独立的微机系统, 分布式系统具有以下优点(表13-1,表13-2):

表13-1:分布式系统的优势--与集中式系统比较[A. S. Tanenbaum]

项目

描述

经济

多个微处理器提供了更好的性能/价格比

速度

一个分布式系统比大型机有更好的总体计算能力

固有的分布

一些应用系统需要运行于空间上分离的机器

可靠性

如果一台机器崩溃,整个系统还能够运行

增量发展

计算能力能够以很小的增量增长

表13-2:分布式系统的优势--与微机系统比较[A. S. Tanenbaum]

项目

描述

数据共享

允许多个用户访问同一数据库

设备共享

允许多个用户共享昂贵的外设

通讯

使人与人之间的通讯变得简单,如电子邮件

灵活性

以最有效的方式将工作量分布在所有可用的机器上

在具有上述优势的同时,由于分布式系统的复杂性,对软件硬件提出了更高的要求, 它也具有以下不足之处(表13-3):

表13-3:分布式系统的不足之处[A. S. Tanenbaum]

项目

描述

软件

当前支持分布式系统的软件较少

网络

网络可能充满了或者引发其它的错误

安全性

容易使得需要保密的数据被访问

客户机/服务器(C/S,Client/Server)模型是一种分布式系统结构,在该体系中, 客户端通常是同最终用户交互的应用软件系统,而服务器由一组协作的过程构成,为客户端提供服务。 客户机和服务器通常运行相同的微内核,一个客户机/服务器机制可以有多个客户端,或者多个服务器, 或者兼而有之。 客户机/服务器模式基于简单的请求/应答协议,即客户端向服务器提出信息处理的请求, 服务器端接收到请求并将请求解译后,根据请求的内容执行相应操作,并将操作结果传递回客户端(图13-3)。 客户机/服务器体系的优点在于简单和高效。 HTTP 、FTP等协议都是遵循客户机/服务器的模式。 在网络地理信息系统的实现中,客户机/服务器模型是经常采用的一种方案。 目前,将服务器分解形成数据服务器和应用服务器,形成三层结构,可以更好地区分数据访问操作和应用模型, 这是经常被采用的一种结构。

/media/sphinx_tuto/img/img_1_x2h.png

图 13.3 客户端-服务器模型 #

13.2.2. 网络地理信息系统的组合方式 #

在分布式的网络地理信息系统中,客户机和服务器分别由相应的软件、硬件以及数据库组成, 其组合可以按照数据和应用功能的分布分成五种(表13-4):

表13-4:网络信息系统的组合方式[李斌]

组合方式

数据

应用功能

全集中式

中央服务器

中央服务器

数据集中式

中央服务器

客户端

功能集中式

客户端

中央服务器

全分布式

客户端

客户端

函数库分布式

客户端或者服务器

中央服务器存储,客户端动态连接执行

全集中式 #

全集中式的地理信息系统把软件、数据库管理系统和数据库全部集中在中央服务器上,客户系统只负责用户界面功能, 即获得用户指令并传递给服务器,显示查询结果,提供系统的辅助功能(图13-4)。 常用的客户设置有三种,第一种是以X-server为代表的,只负责表现逻辑的客户系统, 所有的数据处理和运算均在服务器上执行, 客户端由专门的X终端或者X模拟器通过X协议实现用户与服务器之间的通讯;第二种是以ArcView为代表的客户软件系统, 这类系统除了提供一般的用户界面以外,还具有相当强的分析和处理功能。 ArcView可以与ESRI的ARC/INFO、与作为服务器的 SDE 、Arcstorm,通过网络软件系统NFS或者网络API构成网络地理信息系统;第三种是目前在WebGIS上广泛采用的客户系统,用户界面功能由浏览器执行,WebGIS在后面还将进一步的描述。

/media/sphinx_tuto/img/img_2_xvj.png

图 13.4 全集中式网络信息系统[李斌] #

数据集中式 #

网络系统专门设置集中的数据存储和管理服务,网络的其它部分成为数据客户, 它们一般都是带有一定功能的地理信息系统软件(图13-5)。 简单的数据服务可以由网络软件系统(如NFS)提供,大型的管理系统则需要功能完备和高性能的数据服务器, 如Arcstorm和Oracle。 由于目前许多数据库管理系统开始支持面向对象的数据模型,更加方便于空间数据的管理, 以建立数据集中式的网络地理信息系统。

/media/sphinx_tuto/img/img_3_x6m.png

图 13.5 数据集中式地理信息系统组合模式[李斌](a)采用网络文件系统,(b)采用数据库服务器 #

功能集中式 #

与数据集中式相反,功能集中式的网络信息系统把绝大部分的功能集中在一个或者几个容量大、性能高的服务器上, 由它们负责所有的分析和处理,数据则分散到客户端存储和管理(图13-6)。 由于在大多数GIS应用中,数据量一般比较庞大,采用这种方式,会增加网络的传输量, 从而降低整个系统的性能。

/media/sphinx_tuto/img/img_4_xvf.png

图 13.6 功能集中式的地理信息系统[李斌] #

全分布式 #

全分布系统是原有的非网络化的信息系统自然进化的结果。 在全分布系统中,各个子系统具有完备的数据库及地理信息系统软件和其它应用软件, 在网络中同时扮演客户和服务器的角色。 各个子系统的软硬件环境和特性及拥有的数据都很可能不一样,但同时又有很密切的联系和互补性。 系统的集成,通过网络操作系统及各子系统提供的API实现。 实现全分布式的网络地理信息系统,往往需要基于已有的系统平台进行二次开发,使它们能够相互协作。

函数库服务器 #

传统的软件系统一般是静态的,为了提供更多的功能,系统变得越来越大,而实际上,对于每一个用户而言, 通常只是需要有限的几个功能,这样就造成了系统资源的浪费。 对于集中式系统而言,系统的扩大将加大中央服务器的负担,造成系统性能下降,而全分布系统实现又较为复杂。 函数服务器把优化的功能函数存储在服务器上,通过网络按用户要求动态合成应用软件,并使其在客户机上运行。 从而从根本上改变了传统的资源分配和软件运行及维护方式。 基于分布构件模型(CORBA或DCOM)构造的软件系统可以在一定程度上实现函数库服务器。

《地理信息系统原理、技术与方法》  97

最近几年来,地理信息系统无论是在理论上还是应用上都处在一个飞速发展的阶段。 GIS被应用于多个领域的建模和决策支持,如城市管理、区划、环境整治等等,地理信息成为信息时代重要的组成部分之一; “数字地球”概念的提出,更进一步推动了作为其技术支撑的GIS的发展。 与此同时,一些学者致力于相关的理论研究,如空间感知、空间数据误差、空间关系的形式化等等。 这恰好说明了地理信息系统作为应用技术和学科的两个方面,并且这两个方面构成了相互促进的发展过程。