提高网络GIS效率的途径及其技术原理

2011-11-27 06:56:32周京春
地理空间信息 2011年6期
关键词:空间数据客户端服务器

周京春,李 黎

(1.昆明市城市地下管线探测管理办公室,云南昆明650011;2.武汉市勘测设计研究院,湖北武汉430022)

提高网络GIS效率的途径及其技术原理

周京春1,李 黎2

(1.昆明市城市地下管线探测管理办公室,云南昆明650011;2.武汉市勘测设计研究院,湖北武汉430022)

阻碍网络GIS性能的因素分为两大方面:硬件环境和软件环境。聚焦于软件环境,从通用网络GIS的三层体系架构上入手,分别在数据层、逻辑层和层间数据传输上描述了的一些可实施的优化途径及其技术原理,以综合应用来提高网络GIS的效率。

网络GIS;效率;优化途径;技术原理

21世纪以来,随着计算机技术、通信技术、网络技术的迅猛发展,互联网深刻地改变了地理空间数据信息获取、传输、发布、共享、应用和可视化的过程和方式,地理信息系统与网络相结合而成的网络 GIS已成为GIS发展的主流。网络GIS是指在Internet/Intranet网络环境下,发布地理信息和服务,使用户可以随时随地地获得分布的空间数据和服务的一种技术,是Web技术与GIS技术相结合的产物。它基本包含了传统GIS所具有的功能,越来越多的GIS应用架构在Web上,但是网络GIS的性能效率问题却一直困扰着人们,成为了网络GIS快速发展的重要障碍。

阻碍网络GIS性能的因素可以分为2个方面:硬件环境和软件环境。众所周知,提高网络GIS系统的整体硬件配置和网络带宽是提高网络GIS效率的一个有效途径,所以在此不再赘述。本文主要聚焦在软件环境上,从通用网络GIS的三层体系架构(见图1)上入手,分别论述在不同层次上所能实施的一些优化途径和其技术原理,以综合应用提高网络GIS的执行效率。

图1 通用网络GIS的三层体系架构

1 数据层的优化途径

GIS应用与常规事务处理有很大不同,突出表现在处理对象以图形图像为主,具有海量的数据和复杂的数据处理方式,因此在网络GIS设计之初,就必须首先考虑数据层的优化,这主要包括数据库的性能优化和数据组织上的优化。

1.1 数据库性能优化

GIS技术的瓶颈之一就是如何解决海量空间数据管理的问题,充分利用支持空间数据的大型商业数据库中内置的对空间数据的操作和分析功能,是有效解决管理问题和提高网络GIS效率的一种基本途径。以Oracle数据库为例,可以在数据库中实施下面的优化手段:

1)根据未来的数据量预期及性能考虑,磁盘阵列可以考虑采用 Raid0+1方式,虽然浪费了一些存储空间,但同时实现了条带化和镜像的数据管理能力,具有良好的读写性能,同时能够保护数据;

2)建议使用 64位的操作系统和数据库,充分利用服务器的内存资源;配置好数据库的初始化参数,以减少I/O操作、减少SQL语句的重解析、加快统计分析的速度等;

3)将网络GIS系统所用的空间数据文件与其他文件(如归档文件、日志文件等)分别存储;将表按功能分别组织在不同表空间中,每个表空间应由多个大小相同的数据文件组成。这样可以分散数据访问的I/O竞争,提高性能;

4)区分大型表、频繁访问表,大型表可考虑分区管理,频繁访问表应与不频繁访问表分开存储;

5)使用空间索引加速空间数据的查询、统计、分析速度,可根据不同空间索引的特点、数据使用的特点混合应用,例如相对静态的数据对象用R-Tree索引、动态数据对象用Q-Tree索引等,并认真考虑空间索引需设置的层次数;

6)根据GIS功能的特点,分析考虑使用SQL存储过程代替前端应用程序,并有效地使用数据库自带的功能包(Package)和函数(Function),以降低网络上的数据传输压力和延迟,实现数据库的代码共享,减少硬解析。

1.2 数据组织的优化

所采用的网络GIS软件平台、行业应用、业务需求等对地理空间信息的要求不同,数据组织的方式和优化手段也将各不相同,这里仅介绍一些通用的提高网络GIS效率的优化途径及其技术原理。

1.2.1 分布式数据处理

分布式数据处理就是将系统数据根据数据对象模型、数据格式、精细程度、时相变化、区域范围等划分策略,分别部署在网络中的不同计算机上,以充分利用整个网络上的软硬件资源,提高系统的并行处理能力,分解网络数据传输负荷,从而达到提高系统效率的一种技术方法。这种方法有时也被称为数据集群存储,适用于具有大型GIS海量数据的情况。

采用这种优化途径的关键是建立基于空间元数据的分布式结构,实现元数据的共享管理,这对于分布式同质数据(即具有相同的数据模型和数据结构)的自动获取是非常有效的,但对于分布式异质数据,还需在上面的基础上进行异质数据库向同质数据库转化,或数据库一体化,实现联邦数据库(FDBS)管理[1],目前实现这些模式还存在一些技术问题。

1.2.2 数据分层分级管理

一种简单的数据分层分级管理机制是通常所说的图层或特征对象(Features)管理,即根据GIS系统的应用场景,将GIS数据按照业务需求划分为多个不同的图层或特征对象,并根据人的视觉特点赋予不同的显示界限,然后利用客户端的屏幕视野大小按需加载数据,控制网络上传输的数据量,降低网络负荷,提高网络GIS效率。

另一种高级的数据分层分级管理称之为细节层次模型(LevelsofDetail,简称LoD),LoD技术是一种有效的图形生成加速方法,是指在不影响画面视觉效果的条件下,通过逐次简化景物的表面细节来减少场景的几何复杂性,从而提高绘制算法的速度。此技术通常对每一原始几何物体建立几个不同逼近精度的几何模型,与原模型相比,每个模型均保留了一定层次的细节,在绘制时,根据不同的标准选择适当的层次模型来表示物体。通过这种技术,为同一地区或地物构建不同详细程度的矢量存储模型,势必会大大提高网络GIS的效率。

1.2.3 建立栅格数据金字塔

在网络GIS中,栅格数据如遥感影像、图片、视频图像等,其加载速度往往是最令人不可忍受的。为了提高效率,就必须要建立栅格数据的金字塔。金字塔是指在同一空间参照下,根据用户需要建立分辨率由粗到精、数据量由小到大的多层数据结构,用来存储和显示栅格数据。由于金字塔的建立本质上是采用低通滤波,是一种有损压缩方式,所以虽然栅格数据在网络上传输的速度取决于金字塔的层数,但并不是层数越多越好。层数越多,视觉效果越差,所占用的存储空间也越大,今后的更新速度也越慢。

2 逻辑层的优化途径

网络GIS的逻辑层包含了Web服务器和应用服务器,本节将分别从这2个层次入手介绍一些提高网络GIS效率的主要优化途径及其技术原理。

2.1 Web服务器优化

Web服务器负责接收客户端的GIS服务请求,传递给应用服务器,并把结果返回给客户端。因此,对Web服务器的优化必须要考虑其框架,例如J2EE、.Net框架等内置的优化特性、所采用的程序语言中的一些性能优化技巧,降低Web服务器的负载,使得设计和实现的网络GIS系统性能更优、效率更高。

这里以ASP.Net为例简要地说明一下上述的优化方法:

1)要合理地使用ASP.Net服务器端的控件。ASP. Net服务器端控件在特性和提高编程效率方面,要优于HTML控件,但是以牺牲服务器端的资源为代价的,并且运行速度没有客户端HTML快,不能为了全面转换到ASP.Net,而使用ASP.Net代替全部的HTML控件,要尽量选择HTML控件,能在客户端实现的功能就在客户端实现,减少服务器的压力;

2)如果页面相对比较简单,并且不需要在多个页面之间保留状态,则应关闭页面的会话状态,减少占用服务器资源;

3)编程时应当总是指定变量的类型,采用早期联编,以缩短内务操作时间和减少占用的资源;

4)优化程序中使用的SQL查询,尽量使用绑定变量和文中1.1所提及的SQL存储过程;

5)充分利用ASP.Net内置的缓存机制,缓存ASP. Net页面,降低Web服务器的负载,并通过更高效地提供被缓存的文件而改善ASP.Net的性能,从而优化Web服务器的性能。

2.2 应用服务器优化

应用服务器端的性能优化对于提高网络GIS效率来说,是相对比较重要的,常用的优化途径及其技术原理描述如下。

2.2.1 应用服务器集群

应用服务器集群(见图2)是使用一个或多个集群服务器将后台多个GIS应用服务器的计算资源进行整合、虚拟化,统一对客户端提供访问,使网络GIS应用提供的GIS服务能力具有负载均衡和容错的集群特征,并在后台承担空间分析计算的GIS应用服务器之间实现任务的均衡分配。

图2 应用服务器集群(图片来自SuperMap公司)

应用服务器集群式服务可以大大提高空间数据的存取速率。一个或多个GIS应用服务器可以动态注入或卸载出服务集群,以适应网络的发展和海量空间数据存储的动态增长,也可避免GIS应用服务器的单点失效而引起的网络GIS应用的不可用。

2.2.2 负载均衡技术

负载均衡是采用先进的多层交换技术,通过对服务器的性能和运行状况的实时监测,根据不同服务器的状况,将来访的数据流量以最经济、最高效的方式分配到合适的服务器上,达到最佳的服务器负载平衡效果。

负载均衡包含两方面的含义:首先,针对Web站点访问而言,它把大量的并发访问或数据流量分担到多台节点设备上分别处理,减少用户等待响应的时间;其次,针对科学计算或高性能计算的分布式系统而言,它把单个重负载的运算分担到多台节点设备上做并行处理,每个节点设备处理结束后,将结果汇总,再返回给用户,使得信息系统处理能力可以得到大幅提升[2]。负载均衡在现有的网络结构上,可以解决网络拥塞问题,就近提供服务,实现地理位置无关性;为用户提供更好的访问质量;提高服务器响应速度;提高服务器及其他资源的利用效率;避免网络关键部位出现单点失效。负载均衡可以通过多种软、硬件结构实现,是提高网络GIS效率的一种廉价而有效的途径。上面所述的应用服务器集群就也实现负载均衡的一个例子。

2.2.3 缓存技术

根据硬件的性能和负荷情况,缓存技术可以实施在服务器端,也可以实施在客户端,也可以根据需要实施在服务器加客户端。缓存技术的原理就是将经常访问的数据瓦片化分割(Tiling),存储在服务器端或客户端,当数据被再次请求时,可以直接调出使用,而无需再次计算或传输,减少了数据I/O的次数和计算生成的时间,从而提高了效率。

图3 展示了Intergraph公司的动态显示缓存技术(Dynamic Display Cache,简称DDC)灵活配置缓存的3种方式。

图3 3种DDC部署方式,左为部署在服务器端,中为服务器与客户端双方部署,右为客户端集中部署(图片来自Intergraph公司)

3 逻辑层到表现层的数据传输优化途径

优化逻辑层到表现层数据传输的本质是尽量减少网络上传输的数据量,以缩短传输时间达到提高效率的目的。主要采取下列优化途径:

1)空间数据压缩技术:数据压缩,通俗地说,就是用最少的数码来表示信号[2]。它是解决传输效率的一种主要技术手段,分为无损压缩和有损压缩两大类。对空间数据而言,空间矢量数据的压缩、DEM数据需要采用无损压缩,如WinZip、java.util.zip等打包压缩;多媒体数据、栅格影像数据、三维模型、纹理数据等需要在一定参数控制下采用有损压缩,如预测编码、变换编码、统计编码、分形压缩、小波变换等压缩方法。

2)流式渐进传输技术:流式渐进传输的原理是发送端对原始模型进行编码处理,建立模型的基础模型结构和流文件结构。在网络传输时,首先传输简单的基础模型,接收端根据基础模型进行显示,紧接着依次传输流文件中的节点数据,接收端根据接收节点数据进行解码处理,并加入到基础模型中,使基础模型逐步完善,最终达到原始模型效果,其过程如图4所示。常用的空间数据流式化编码方法有:最小QoS编码、自适应编码、多分辨率编码、可伸缩性编码等。

图4 流式渐进传输技术

4 结 语

上面从数据层、逻辑层和数据传输 3个大的层次上介绍了一些通用的提高网络GIS效率的途径及其技术原理。设计和实施一个网络GIS系统时,可以综合地或有选择地使用上述的全部或某些优化技术,但是无论在使用哪一种优化技术之前,认真地评估分析系统的应用场景、数据状况、功能需求、规模大小、选择的GIS平台软件、投资成本等才是最重要的,这是优于技术的前提条件。

[1] 马荣华,黄杏元.大型GIS海量数据分布式组织与管理[J].南京大学学报:自然科学版,2003(6):836-842

[2] 龚健雅,杜道生,李清泉,等.当代地理信息技术[M].北京:科学出版社,2004

[3] 王小霞,张奇.地形模型压缩与流式渐进传输[J].测绘与空间地理信息,2006(2):87-89

[4] 曾麦脉,王乘.基于ArcServer的WebGIS性能分析[J].计算机工程,2008,34(17):279-280

[5] 韩双旺,王心源,李德录.基于ASP.NET的WebGIS性能的优化[J].测绘工程,2006(3):26-29

[6] 韩双旺,王心源,李德录.利用缓存优化基于ASP.NET的WebGIS性能[J].微计算机信息:测控自动化版,2006,22(22):152-155

[7] 耿则勋,李勤爽.影像匹配中金字塔数据结构比较与快速算法[J].信息工程大学测绘学院学报,2000,17(1):25-27

Approaches and Principles to Improve the Efficiency of WebGIS

by ZHOU Jingchun

Obstacles to efficiency of WebGIS are classified as hardware environment and software environment.The article focused on the software environment and based on the three layers of GIS construction,point out some available optimizing approaches applied on the data layer,logical layer and transport layer and described respectively technical principles of these approaches.These approaches can be used assembly to improve the efficiency of WebGIS applications.

WebGIS,efficiency,optimizing approaches,technical principles

2011-05-06

P208

B

1672-4623(2011)06-0021-03

周京春,博士,高级工程师,研究方向为空间信息服务与地下管线探测。

猜你喜欢
空间数据客户端服务器
通信控制服务器(CCS)维护终端的设计与实现
县级台在突发事件报道中如何应用手机客户端
传媒评论(2018年4期)2018-06-27 08:20:24
孵化垂直频道:新闻客户端新策略
传媒评论(2018年4期)2018-06-27 08:20:16
基于Vanconnect的智能家居瘦客户端的设计与实现
电子测试(2018年10期)2018-06-26 05:53:34
得形忘意的服务器标准
知识产权(2016年8期)2016-12-01 07:01:13
计算机网络安全服务器入侵与防御
元数据驱动的多中心空间数据同步方法研究
基于文件系统的分布式海量空间数据高效存储与组织研究
客户端空间数据缓存策略
多源空间数据同名实体几何匹配方法研究