一种基于网格优化的空间数据访问与存储研究

2014-01-01 03:10
无线电通信技术 2014年6期
关键词:空间数据远程服务器

杨 毅

(四川护理职业学院网络中心,四川成都610100)

0 引言

过去10年间,地理信息科学在数据存档和发布方面取得了多项进展。最近的研究焦点是基于互联网、万维网和专用因特网开发GIS系统功能,又称为WebGIS(基于网络的地理信息系统)。有了Web-GIS,世界范围内的用户均可以访问分布式地理信息。互联网用户利用浏览器,不需购买专用GIS软件就可以访问GIS应用[1]。

开放地理空间联盟(OGC)经深思熟虑后采用了 Web 处理服务(WPS)[2]。Google Earth[3]和 Py-WPS[3]均是前面提到的 WebGIS和 WPS系统的应用示例。在广域网环境(WAN)下通过传统的超文本传输协议、网络文件系统协议和文件传输协议共享或访问地理空间数据,往往会遇到等待时间较长、效果不佳等问题。本文主要对地理空间数据存储和发布时存在的网络延时问题展开研究,重点是针对大量Earth远程遥感数据,基于网格技术开发的系统。提出了高性能远程批量数据发布/存储,并与当前网格验证授权工具集成的安全数据管理[3]。GridJet新技术对当前互联网架构和协议进行拓展,满足了前述迫切需求,同时通过对当前协议进行版本控制,可以适应WWW/网格的未来需求。

1 相关工作

无论是技术缺陷还是架构设计,现有的GIS系统均产生了一些根本性的性能问题。为了提供访问进程,服务器需要对大量的空间数据进行组合。这些数据不止存储在服务器上,还由于地理空间数据的分布式特性而经常在网络上传播[4]。大部分情况下,所需数据规模达到千兆字节甚至更高。存储或者传输如此大量的数据,难度非常大。当然,同样问题也存在于通过WWW浏览地图时简单的Web-GIS服务上。目前,从远程资源获取数据主要通过HTTP或者 FTP协议,效率低,安全性差。Friis-Christensen等人[5]对基于空间数据基础设施面向分布式服务的地理信息处理的可行性进行了研究[5]。该文证明了使用分布式地理信息处理环境具有多项优势(比如数据无需复制、可重用性)。Jagery等人[6]提出一种完整的Web服务注册、发掘、开发和执行框架,以便为在线服务提供支持,该技术将地理信息处理看成一个流程,并使用流程工具通过网络获取分布式地理空间数据。

一般情况下,WebGIS和WPS使用HTTP协议传输数据和请求。与HTTP/FTP/NFS/GridFTP协议不同,本文GridJet协议支持数据流并行传输和单系统映象(SSI)。它可作为独立的工具运行,或者与WebGIS/WPS技术集成。下面将对本文协议的技术细节进行详细阐述[7]。

2 GridJet协议:底层WAN/网格优化协议

2.1 总体设计

本文将展示PyWPS和Google Earth如何与所开发的GridJet协议通过界面连接,GridJet当前支持Linux,下步工作将把它拓展到Windows和MacOS X系统。

2.2 GridJet的实现

GridJet通过使用并行流,只以很小的内存消耗代价,就可取得非常高的传输速度。GridJet为应用程序在发送方和接收方间开启了多个socket流。然后应用数据被分成多个段,段的数量等于流的数量。数据段通过不同的线程在socket流中并发传输,然后在接收方组装[8]。最终数据传递给应用程序,似乎这些数据是通过一个socket传输的。下面同时显示了为什么分段数据通过多个socket流传输可以获得近似最优的带宽性能。在该图中,阴影部分表示socket的缓存大小,面积较大的空白矩形表示TCP管道容量(带宽*时延)。通过一个socket流进行传输的应用程序无法充分利用TCP管道的容量。若缓存大小取其默认值64 KB,则容量利用率只有1%左右。如果应用程序使用一个socket流时的缓存大小最优,或者使用多个socket流,则可以填满TCP管道。

2.3 GridJet安全机制

网格应用程序不仅要求大量数据在广域网上高效传输,还要求相应的安全和验证服务,以提高数据的完整性和数据访问控制效果。GridJet及以其为基础的其他协议使用GIS公共密钥基础设施,以验证WAN/网格成员的身份,提高为这些成员分配资源的安全性[9]。GridJet服务器请求从证书认证机构接收大量主机证书。GridJet(服务)也需在虚拟组织注册轻量级目录访问协议(VO-LDAP)。另外,VO-LDAP根据LDAP数据库生成GridJet服务器网格地图,以便进行验证和制图。除了负责认证注册外,VO-LDAP还为虚拟组织履行其他重要职责,比如服务搜索引擎和用户授权[10]。

3 地理空间真实数据的存储和分布

本节研究的目的是考察和测试基于GridJet的WebGIS/WPS原型系统,对其与标准的单流HTTP传输协议性能进行比较评估。选用PyWPS来实现一种基于GridJet的WPS系统,典型的地理数据处理操作包括:数据传输、发布/存储和叠加分析。GridJet的应用不仅限于WPS系统,还可用于常见的GIS系统。于是,使用Google Earth做了一些试验,一个客户端通过GridJet协议将带有directory/earth/map.tiff的远程地图服务器加载到本地tree/mnt/GridJet/,然后Google Earth客户端可以实现“本地化”在线浏览。

3.1 欧亚网格配置

以下真实测试可以证明基于GridJet的Web-GIS/WPS在欧亚网格网络资源上的通信性能。欧亚网格项目由欧共体资助,涉及10多个欧洲和亚洲研究机构。

有5个欧亚网格城市加入测试:剑桥、伦敦、朴次茅斯、穆尔西亚和北京。每座城市使用安装了GridJet客户端网关的Linux/Globus设备作为客户端来访问,剑桥安装了GridJet服务器网关的专用WPS或Web地图服务器:Cranfield高性能计算设备(CCHPCF),CCHPCF设备通过剑桥EastNet结点,使用5-Gb/s SuperJANET中枢,以155-Mb/s速度与互联网稳定连接,穆尔西亚、伦敦、北京和朴次茅斯的连接速度分别为 10 Mb/s、2 Mb/s、100 Mb/s、100 Mb/s。

3.2 测试方法

为了给PyWPS和其他系统提供支持,GridJet设立于Globus库的顶端,于是,引入附加层来抽象表示通信基础设施[11]。为了定量描述各种开销,使用不同的传输工具:(地理信息处理期间用于远程数据传输和存储的HTTP和GridJet协议),对CCHPCF WPS服务器和北京远程数据中心间的在线地理信息处理服务数据传输时间(s)进行比较。在实验时选择地理空间数据传输、重叠分析和地图发布/存储,因为这3种操作在WPS危机和紧急情况处理中经常使用[12]。同时,用同样方式,对使用 Google Earth/PyWPS远程在线浏览地图时的传输时间(s)进行了测试,地图服务器在CCHPCF,客户端在北京。在实验中对每种协议运行3次。

3.3 欧亚网格空间数据存储和发布

我们做了大量性能测试来衡量基于GridJet的WebGIS/WPS在用户响应时间提升方面的性能。选择HTTP作为标准的传输协议。加速效果定义为HTTP协议的传输时间与基于GridJet协议的Google Earth/PyWPS传输时间之比。GridJet安全性已经经过验证。

①基于GridJet的Google Earth:衡量了客户端在有线广域网环境下通过100 Mb/s链路在线浏览41.8 MB地图的访问时间。使用HTTP协议时,地图传输和显示时间是400 s,广域网延时是539 s。当将GridJet服务器/客户端网关(在浏览器地址栏选择GridJet而不是HTTP或其他协议)添加到#tcp=16链路上时,同样的41.8 MB地图在线显示只需73s,速度提升了 5.5 倍。当#tcp=64 时,41.8 MB地图的浏览(传输)时间是52 s,响应时间提升了7.7倍(如表1所示)。

表1 剑桥-北京测试中的Google Earth性能

我们发现,当#tcp=1时GridJet的初始传输时间(448 s)大于HTTP(400 s)(没有添加加速),当#tcp增加时传输时间差距将会下降。当#tcp大于4时,GridJet超越HTTP;当#tcp=128时,速度提升了7.8倍。GridJet功能的额外开销是因为 GridJet在Globus库之上的附加抽象层。

响应时间相对TCP流数量(#tcp)的提升情况。41.8 MB地图通过往返时间(RTT)为539 ms的链接传输。从图中可以看出,#tcp数量上升时,响应时间提升倍数也在上升。当有128个并行流时,最大提升倍数达到7.8倍。然而。当进一步提高#tcp数量时,GridJet将要花费大量的时间管理大量的TCP流,因此提升步伐放缓。

②基于GridJet的PyWPS:为了考察PyWPS通过GridJet在地理空间数据存储和发布方面取得多大的性能提升,在剑桥和北京间展开测试。网络主要参数与Google Earth测试相同,但是数据集做了变更,以进行更加复杂的地理数据处理。选择3幅地图:5.2 MB的shapefile文件,5.4 MB 的光斑图像文件,5.6 MB的另一幅光斑图像文件。

实验内容包括3种操作:远程地理空间数据变换、在线叠加分析和地图发布/存储。为了进行远程地理空间数据转换,通过GridJet来访问和转换远程数据。对在线叠加分析,通过互联网/网格向分析服务器发出请求,分析数据集来自远程数据源。通过GridJet读取远程数据结点的分布式地理空间数据,本地运行叠加分析服务来对数据进行分析。人们经常需要将他们处理过的地理空间数据存储在远程设备上。可能原因包括:有限的使用权限,有限的本地存储空间,或者是需要把数据传输给第3方。在测试中,叠加分析生成的一幅新地图通过GridJet存储到远程数据服务器上。

表2 RTT变化时的PyWPS性能提升情况(S=提升倍数)/s

GridJet的设计目的就是为了处理远程、跨域、单像数据访问和传输任务。在数据变换测试中,选择在有线广域网环境下通过100 Mb/s链路在线转换5.4 MB的地理空间数据(从向量变换为光栅格式)。当RTT=80 ms且#tcp=16时,性能相比于HTTP协议提升1.63倍。在叠加分析测试中,读取远程服务器上的3份异构空间数据文件,然后叠加到本地显示器上。这3份数据文件分别是一份shapefile文件(失量格式),2份光斑图像(光栅格式),每份文件均大于5 MB。当 RTT=320ms且#tcp=16时,性能提升2.3倍。在分发/存储测试中,先前叠加分析生成的一幅新的叠加地图存储到原先相同的存储了前面提到的3份异构空间数据文件的远程数据器上。对4组数据进行了测试,RTT时间在40~320 ms范围内,GridJet相对HTTP的性能提升了1.5~2.3倍。表2显示了执行前述地理数据处理操作时,响应时间方面的性能提升。当有16路并行TCP流时,平均提升效果为2倍。

4 结果分析

我们发现,基于 GridJet的 PyWPS和 Google Earth表现出不同的性能特点。Google Earth的性能提升了7.8倍,而PyWPS提升了2.3倍。这主要是因为:底层GridJet架构必须要高效地提高传输带宽,以加快WebGIS/WPS I/O速率。这也是Web-GIS/WPS服务器比较青睐经过WAN/网格优化的架构的原因。直观来讲,当请求规模足以允许Grid-Jet通过多个TCP流高效传输时,开发的基于Grid-Jet的WebGIS/WPS,性能将更优。我们还对Web-GIS/WPS收集空间数据请求的能力进行了验证。WebGIS/WPS用同步(阻碍请求的物理读写)和异步(无阻塞的预取预冲)两种方式发出请求。其结果就是如下折衷:WebGIS/WPS应该提交尽可能多的异步请求以提升吞吐量,同时需确保每当提交请求时文件系统已经准备好处理同步请求。当前,GRASS为数据文件和缓冲区使用4 KB硬页面大小(一个数据块)。GridJet提供的传输带宽更高,可以为规模较大的这些请求带来许多益处。不幸的是,据通过Strace所做的观察,它们所占比例不高。

5 结束语

提出了一种面向地理空间数据的访问和存储方案,该方案可提高GIS服务支持的结构性、连接性、移动性和质量。测试结果表明,与使用单流HTTP协议相比,使用底层 GridJet引擎可以显著提高WebGIS/WPS的传输速率。基于GridJet的 Web-GIS/WPS创新性地将高速通信与异构有线/无线网络结合在一起,提升了WPS和WebGIS的功能和可用性,可轻松访问网格技术。基于GridJet的端到端服务支持技术解决了广域网文件在WAN/网格上的“局域网化”共享难题,对GIS领域带来了极大的便利。下一步研究工作的重点是在现有系统的基础上,进一步考虑地理空间数据的传输可靠性和安全性问题。

[1] CROMLEY E K,MCLAFFERTY S.GIS and Public Health[J].Guilford Press,2012 ,3(24):35-39.

[2] HERRING J.OpenGIS Implementation Standard for Geographic Information-Simple Feature Access-Part 1:Common Architecture[J].OGC Document,2011,4(21):122-127.

[3] BODZIN A,ANASTASIO D,KULO V.Designing Google Earth Activities for Learning Earth and Environmental Science[J].Teaching Science and Investigating Environmental Issueswith GeospatialTechnology:Designing Effective Professional Development for Teachers.Dordrecht:Springer,2012,10(37):105-110.

[4] CEPICKY J,BECCHI L.Geospatial Processing Via Internet on Remote Servers-PyWPS[J].OSGeo Journal,2007,1(5):11-17.

[5] FRIIS-CHRISTENSEN A,BEMARD L,KANELLOPOULOS I,et al.Building Service Oriented Applications on Top of a Spatial Data Infrastructure–A Forest Fire Assessment Example[J].AGILE-Shaping the Future of Geographic Information Science in Europe,Visegrád,Hungary,2006,33(24):27-34.

[6] JAEGER E,ALTINTAS I,ZHANG J,et al.A Scientific Workflow Approach to Distributed Geospatial Data Processing using Web Services[C]∥SSDBM,2005,3(42):87-90.

[7] GADGIL H,CHOI J Y,ENGEL B,et al.Management of Data Streams for a Real Time Flood Simulation[J].Community Grids Lab Technical Report,2004,44(32):237-240.

[8] MILLINA G R,EKINA P,KITMITTO K.Proving Spatial Data Support and Access to Freely Available Satellite Imagery for the UK Academic Community:A Review of Data Acquisition and Data Delivery Infrastructure[J].In Proc.RSPsoc Annu,2007,22(20):1-5.

[9] LIU W,KETTIMUTHU R,TIEMAN B,et al.GridFTP GUI:an Easy and Efficient Way to Transfer Data in Grid[J].Networks for Grid Applications.Springer Berlin Heidelberg,2010,2(23):57-66.

[10] CHEN J,AKERS W,CHEN Y,et al.Java parallel secure stream for Grid computing[C]∥Computing in High Energy and Nuclear Physics,CHEP,2005,12(28):103-108.

[11] Globus WORLD,2007.[Online][DB/OL].Available:www.globusworld.com/program/program.php 2007,22(24):111-114.

[12] WANG F Z,WU S,HELIAN N,et al.DIANA:Data Interface All-iN-A-place[J].Presented at the Cranfield Multistrand Conf,2008,12(46):224-229.

猜你喜欢
空间数据远程服务器
让人胆寒的“远程杀手”:弹道导弹
远程工作狂综合征
通信控制服务器(CCS)维护终端的设计与实现
GIS空间数据与地图制图融合技术
远程诈骗
中国服务器市场份额出炉
得形忘意的服务器标准
计算机网络安全服务器入侵与防御
网格化存储的几项关键技术分析
一次神奇的远程渗透破袭战