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磋埘服务器
L
— .一一一一 墨 塑墅 一~一一一一一 —J
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
[责任编辑:关紫烽]
版权声明:本文标题:基于WebService的WebGIS性能的优化 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://roclinux.cn/p/1710868796a577129.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论