admin 管理员组

文章数量: 1086019


2024年3月20日发(作者:filez下载)

2011年8月 

中央民族大学学报(自然科学版) 

Aug.,2011 

第20卷第3期 

Journal of MUC(Natural Sciences Edition) 

V01.2O NO.3 

基于Web Service的WebGIS性能的优化 

韩双旺 

(天水师范学院物理学与信息科学技术学院,甘肃天水741001) 

摘要: 由于GIS中不但涉及属性数据,而且还涉及地理空间数据,因此数据量相对庞大,所以在设计和实 

现WebGIS时,必须考虑其性能问题.为了更高效地实现基于Web Service的WebGIS的相关功能,有必要对 

其性能进行优化,这可通过增大Web Service颗粒度,不使用XML作为WebGIS系统内部的接口,压缩SOAP, 

通过异步访问服务器端Web Service中的Web方法,优化数据库,使用客户端和服务器端缓存等一系列优化 

措施来加快数据的访问速度,减轻网络传输负载,提高基于Web Service的WebGIS性能. 

关键词:WebGIS;Web Service;性能;优化;SOAP 

中圈分类号:TP311 文献标识码:A 文章编号:1005—8036(2011)03-0032-04 

引 言 

Web Service是下一代可编程网络的核心,它实际上就是一个可命名的网络资源,可用来在Internet 

范围内方便的表现和使用对象,就像使用COM对象一样,不同的是使用和表现网络服务是通过SOAP 

(简单对象访问协议)甚至H1'rI'P来实现的¨ . 

WebGIS指万维网地理信息系统,它是基于Internet平台和客户端应用软件采用Www协议而运行 

在万维网上的地理信息系统,是利用互联网技术来扩展和完善地理信息系统的一项新技术,其核心是在 

地理信息系统中嵌入HTTP(超文本传输协议)和TCP/IP标准的应用体系,实现互联网环境下的空间信 

息管理等地理信息系统功能 .其基本思想就是在万维网上提供空间信息,让用户通过浏览器获得和 

浏览一个空间信息系统中的数据,从www的任意一个节点,Internet的用户都可以浏览到WebGIS站 

点上的地理数据,制作专题图件,进行空间查询、检索以及空间分析 . 

通过定义实现GIS相关功能的Web Service,并对其进行发布和注册,不但能够有效的集成现有系 

统的GIS数据,还可以实现异地数据的集成,实现整个互联网环境上的服务共享.由于GIS中不但涉及 

属性数据,而且还涉及地理空间数据,因此数据量庞大,所以在设计和实现WebGIS时,必须考虑其性能 

问题,为了更好地更高效地实现基于Web Service的WebGIS的相关功能,有必要对其性能进行一系列 

优化. 

1 Web Service体系结构 

Web Service体系结构是基于Web服务提供者(Web Service Provider)、Web服务请求者(Web 

Service Requestor)、Web服务注册代理(Web Service Registry)三种角色之间的交互构建的,其体系结构 

收稿日期:2011-04-22 

作者简介:韩双旺(1975一),男(汉族),甘肃庄浪人,天水师范学院物理学与信息科学技术学院,硕士,讲师,主要研 

究方向:GIS与数据库技术. 

第3期 韩双旺:基于Web Service的WebGIS性能的优化 

如图1所示¨ : ’ 

服务提供者实现了Web服务的定义,用Web服 

务描述语言(Web Service Description Language,简称 

WSDL)对其进行描述,并在服务注册代理中使用 

查找WSDL,UDDI 发布WSDL,UDDI 

UDDI(Universal Description,Discovery and Integration: 

描述、发现和集成,即Web服务注册规范)进行注册, 

服务绑定 

UDDI用于集中存放和查找WSDL描述文件,起着目 

录服务器的作用;服务的请求者利用服务注册代理查 

图1 web Service体系结构 

找所需的服务,当找到所需的服务时,服务注册代理 

Fig.1 Web Service Awhitecture 

向其提供服务描述(WSDL),然后使用服务描述与服务提供者进行绑定,并调用相应的Web服务,实现 

同服务提供者之间的交互. . 

由此可见,一个Web Service的生命周期为 :(1)实现一个Web Service,使其能够接受和响应 

SOAP消息.(2)撰写~个WSDL文件用于描述此Web Service.(3)将此WSDL发布到UDDI上.( )其 

他的应用程序(客户端)从UDDI上搜索到相应的WSDL.(5)根据搜索到的WSDL,客户端可以编写程 

序调用相应的Web Service. 

2 基于Web Service的WebGIS实现原理 

采用B/S三层结构,基于Web Service的WebGIS实现原理如图2所示: 

I j曩曩 嚣露曩曩 嚣譬 曩熏黑露露夏 i i j客户端谢览器 。 i羹iI客户层 

-∽ 一 .¨l 飘 薯 稳 。00 一囊i 仃, 百 

含Web Services调H{ H1TP响成f禽育web Se ̄ices 

 。f_ 臻疆薯 Is墨 麓。 蠹I 

● 

t 

应用逻辑埕 

i { j实现(l¨  功 躺 西器 葡 ii I 

薯薯毒譬麓 S磋埘服务器 

— .一一一一 墨 塑墅 一~一一一一一 —J

 

 

数据层 

图2基于Web Service的WebGI¥实现原理 

Fig.2 The imptementaiton principle 0f WebGIS based On Web Service 

当用户在客户端浏览器指定地址之后,HrI-I’P请求经由IIs被传送蓟GIS应用服务器,GIS服务器通 

过对请求分析,调用GIS应用服务器上实现GIS功能的Web Service对数据库服务器上请求的数据进行 

SQL查询,并生成相应的页面发送到客户端测览器,由客户端浏览器对其解释显示.如果对已定义的 

Web Service进行发布和注册还可以实现本系统GIS数据库服务器上数据资源的共享,也可以通过搜索 

Internet上已发布和注册的相关Web Service,通过对其引用而实现异地数据的集成. 

34 中央民族大学学报(自然科学版) 第2O卷 

3 基于Web Service的WebGIS性能的优化 

3.1 选择Web Service的颗粒度 

选择Web Service的颗粒度是提高基于Web Service的WebGIS应用性能的主要手段.因为Web 

Service使用的传输协议为HTTP等,这些协议都是面向无状态的连接协议,每一个请求都要建立一个新 

的连接.因此Web Service的调用不能像数据库JDBC(ODBC)接口一样可以进行精细而复杂的方法调 

用,例如先获得Connection,再获得结果集,然后一行一行获取结果.Web Service比较适用于大颗粒度 

的应用,在一个调用中便获得所有的信息 . 

3.2 谨慎使用XML接口 

系统之间的接口可以使用XML,这样可以增加WebGIS系统的灵活性;但不要使用XML作为 

WebGIS系统内部的接口,因为这不会带来任何好处,所以应尽量使用二进制作为系统内部的接口,以 

避免不必要的XML文档的解析和校验;在处理XML的时候,尽快将XML转换成内部对象,XML的传递 

只会增加系统的开销 . 

3.3 压缩SOAP提高基于web Service的WebGIS的性能 

Web Service使用和表现网络服务是通过SOAP(简单对象访问协议)甚至HTTP来实现的 ’ , 

SOAP又是基于XML编码的,而XML文件是文本文件,因此SOAP消息也可以看作一个文本流.当网 

络传输的内容是文本流的时候,通过压缩,它的尺寸可以减少80%….这就意味着在客户端和服务器 

之间带宽的需求也可以减少类似的百分比,也意味着在网络上传输内容需要更少的时间,所以采用压缩 

SOAP的方法将会大大提高网络传输的效率,这对于使用SOAP通信的基于Web Service的WebGIS应 

用程序来说,将会表现出更高的效率. . 

3.4通过异步访问服务器端Web Service中的Web方法 

异步访问主要是针对Web Service客户端所采用的.异步与同步的最主要的区别就是异步没有马 

上返回结果,而同步则是马上返回结果.但是实际上异步访问是大多客户端访问服务器的方法.异步 

访问在.NET中必须定义一个代理函数,通过代理函数来访问Web Service的Web方法.从操作系统的 

角度上说,实际上就是开辟一个线程来访问服务器端的Web方法.所以这样可以提高Web Service客户 

端访问服务器端的Web方法的性能…,从而提高基于Web Service的WebGIS系统的性能. 

3.5 通过类型化数据集提高访问数据库性能 

类型化数据集是DataSet类的派生类,既然是派生类,那么也就继承了DataSet的所有方法、事件和 

属性.类型化数据集提供了强类型方法、事件和属性.这意味着可以按名称而不是使用基于集合的方 

法来访问表和列.这里指的强类型是指给出的一个XSD文件,使用.NET附带的XSD.EXE工其生段 

类型DataSet.由于强类型DataSet中已经存有表的架构信息,所以将大大提高访问数据库的速度.如朱 

在Web Service访问数据库的表时采用类型化数据集也将大大提高Web Service访问数据库的性能 , 

由此改善和提高基于Web Service的WebGIS系统的性能. 

3.6数据库优化 

由于GIS中,除了属性数据,还有地历空间数据,所以数据库的访问速度也在很大程度上决定着基 

于Web Service的WebGIS的性能,对数据库的优化应该持续地测量和改进.通过添加索引、分表、缓存 

等优化措施都有可以对性能有一个大的提升. 

3.7使用缓存 

缓存是一种很容易访问的数据存储区,是计算机快速地再次取得数据的方式.其原理是将经常被 

访问的数据存储到计算机可以更快、更容易读取得位置 .缓存是一个信息容器,使得信息更容易被存 

取.有些信息是只读的,或者在一段时间内保持不变,就可以使用缓存.对WebGIS来说,缓存技术极其 

第3期 韩双旺:基于Web Service的WebOlS性能的优化 

重要,因为通过Intemet传输数据的速度可能非常缓慢.通过缓存数据,基于Web Service的矢量 

WebGIS的性能会得到极大提高.缓存位置有两种 :客户端和服务器端.浏览器缓存是在客户端进行 

的,所有数据都被存储在用户的计算机中,并由浏览器发起和管理.服务器端缓存由服务器使用服务器 

资源进行管理,缓存在服务器端,浏览器无法控制服务器端缓存.无论是客户端的缓存还是服务器端的 

缓存,都能大大提高WebGIS系统的性能. 

3.8引用GIS功能成熟的Web Service产品 

可以通过引用别人GIS功能成熟的Web Service在实现异地数据的集成的同时来提高自己基于 

Web Service的WebGIS的性能. 

4 结束语 

基于Web Service实现的WebGIS,可以通过增大Web Service颗粒度,不使用XML作为WebGIS系 

统内部的接口,压缩SOAP,通过异步访问服务器端Web Service中的Web方法,优化数据库,使用客户 

端和服务器端缓存等一系列优化措施来加快数据的访问速度,减轻网络传输负载,提高基于Web 

Service的WebGIS 的性能. 

参考文献: 

[1] [美]JOE MARTIN,BRETT TOMSON.万松明,张滨义,译.循序渐进ASP.NET教程[M].北京:人民邮电出版 

社,2002. 

[2] CHRIS PAYNE.赵斌,张滨义,董清波,译.ASP.NET从入门到精通[M].北京:人民邮电出版社,2002. 

[3]刘南,刘仁义.WebGIS原理及其应用——主要WebGIS平台开发实例[M].北京:科学出版社,2002. 

[4]方子岩.GIS与WebGIS[J].铁路航测,2001,(4):2. 

[5]张竞,吴健平.GIS Web Services构建与应用[J].地理信息世界,2005,3(2):47—51. 

[6]李强,魏峥,李素朵,等.ASP.NET动态网页设计教程与上机实训[M].北京:中国铁道出版社,2008. 

[7] 林少丹.基于DOTNET的XML WEB SERVICE安全与性能优化[EB/OL].http://www.been.net/Article/kfyy/ve/ 

jszl/200708/5910.html,2007,8. 

[8] 熊小华,王帅,宁爱兵.基于web服务的大数据访问性能优化研究[J].上海第二工业大学学报,2OO7,24(4):271—275. 

The Optimization on the Performance of WebGIS Based on Web Service 

HAN Shuang-wang 

(College ofPhysics and Information Science Technology of Tianshui Normal University,Tianshui Gansu 741001 China) 

Abstract:It not only includes attribute data in the GIS,hut also includes the geo-spatial data,a 

relatively large amount of data,SO we must consider the performance issues in the design and 

implementation of WebGIS.In order to more efficiently‘implement the relative functions of a WebGIS 

based on Web Service,it is necessary to optimize the performance,which Call increase the particle size 

of Web Service,do not use XML as the WebGIS interface within the system l compressed SOAP,an 

asynchronous Access Web method in Web Service of server—side,optimizing the database

using the 

client and server side caching and a series of optimization measures to speed up data access speed and 

reduce network trafifc loads and improve the performance of WebGIS based on Web Service. 

Key words:WebGIS;Web Service;performance;optimization;SOAP 

[责任编辑:关紫烽] 


本文标签: 数据 使用 服务 客户端 缓存