基于中间件的遥感数据分发技术与实现
2014-10-21王树东
王树东
【摘要】根据海量遥感数据的特点,对移动GIS的遥感数据分发进行探讨,利用网格计算技术和移动空间信息网格技术, 对海量空间数据分发服务体系结构进行研究,应用中间件的分布式海量遥感空间数据平台下向用户动态分发实时、准确的空间数据,实现移动GIS下的遥感数据分发。
【关键词】移动GIS;遥感数据;中间件
0.引言
移动GIS与无线网络的迅速发展,遥感数据的无线检索与分发成为可能,移动终端可以在随时、随地获取地理空间数据和属性数据。网格的核心就是突破以往强加在计算资源之上的种种限制,使人们可以以一种全新的、更自由和更方便的方式使用计算资源,解决复杂的问题。在基于网格技术的网络环境下的互联网应用更加强调网上各种资源的共享与互操作性。中间件(Middleware)技术作为存在于系统软件与上层应用之间的一个特殊层次是未来网格计算的核心。随着遥感数据的大量增加,如何快速准确的传输,已经成为迫切需要解决的问题。遥感数据作为国家空间数据基础框架中的重要基础数据,在“国家空间数据基础设施”(National Spatial Data Infrastructure,NSDI)建设中起着越来越重要的作用[1][2],实现遥感数据的无线实时分发具有十分重要的现实意义。对于遥感数据分布的研究主要集中在基于Internet的遥感影像发布,以及开放式地理信息系统、地理信息移动服务框架[3][4][5],系统的结构多采用B/S结构的Java Applet或基于COM的ActiveX技术[6]。如何快速、准确、时实的分发遥感数据已成为迫切需要解决的问题,本文在采用中间件的分布式遥感数据服务架构平台的基础上,讨论了多级格网的遥感数据的索引、遥感数据快速访问的分布式多进程服务等技术。实现向移动终端动态分发实时、准确的空间数据,并可实时监测终端的数据订单而实现遥感数据动态分发服务。
1. 中间件技术
中间件技术一般是运行在客户机或服务器系统上的独立系统软件或服务程序,是一种新型的软件设计模式。在实际应用中它可以实现多种功能,比如提供远程进程管理、空间信息资源分配、信息存储与访问、系统安全登录和认证、系统安全或服务质量监测等等。中间件应被理解为是一类软件,中间件的引入主要是为了解决网络通信方面的功能问题。基于分布式的网络环境中,中间件被分为四种类型:基于通讯的中间件、面向消息的中间件、基于对象请求代理的中间件、数据库中间件。客户端上的应用程序要从网格中某个节点处获取一定的数据或服务,而且这些数据和服务可能处于一个运行着和客户端不同的操作系统服务器上,在这样的情况下,各种应用程序只需要访问中间件系统,中间件系统会自动完成到网络中查找目标数据源或者服务任务,向目标提交客户请求,并将结果重组为答复信息,送给应用程序。
2. 中间件的遥感数据分发服务架构体系
建立海量空间数据分发服务体系的主要目的是在空间信息网格技术系统的支持下,才用空间件技术来构建空间信息网格计算环境和空间信息服务体系。随着信息技术和分布式技术
的发展,空间信息系统软件架构由最初的基于客户端/服务器(Client/Server)结构的二层模式,后来发展到三层或多层的浏览器/服务器结构。目前,最主流的分布式应用是集成分布式对象计算技术与网络技术、嵌入式移动计算技术[7],此外,与中间件技术(例如,消息中间件、通讯中间件)。海量空间数据分发服务面向的是面向多用户、面向终端的空间数据服务。因而本文使用基于中间件的分布式海量空间数据分发服务模型。此模型主要包括:消息中间件、多进程的动态服务、分布式服务等技术。基于中间件的分布式海量空间数据分发服务具有以下优点:在进程管理方面,用尽量少的服务进程处理尽量多的请求,减少进程的启动/终止次数;在安全性方面,将客户端与数据库和接口隔离起来,客户端无权直接访问数据库和接口适配器,有利于安全管理,可有效地防止恶意攻击;可利用中间件的特点来选择路由、平衡负载,提高整个系统的性能;利用中间件实现应用远程服务和本地进程间的通讯,以实现多进程的服务模型。海量空间数据分发服务体系结构,其主要包括终端服务、Web服务器、应用服务器、数据服务器。
3. 中间件的遥感数据分发的技术
基于中间件的分布式遥感数据分发服务平台分发空间数据,其主要的处理和计算集成在应用服务层。应用服务层要处理终端的多用户的不同范围、不同分辩率、不同时效的空间数据申请订单,经过数据格式转换、压缩和加密等处理后传输到终端进行浏览和分析。由于在遥感数据分发服务系统中存在海量的矢量和空间数据,如何在海量的矢量和空间数据中实现空间信息的快速检索是本研究的一个重要组成部分,本文将利用元数据接口与空间网格的索引技术实现遥感数据的快速检索与访问。
3.1基于中间件的多进程分布式服务
在遥感数据分发服务系統中,处理的数据量是海量的、同时其数据格式是多源的,有的空间数据存储在空间数据库中、有的以文件的形式存储;同时数据库和文件可能分布在不同的机器上。对此,应用基于中间件的多进程、分布式服务技术实现多用户的海量空间信息分发服务。首先应用服务器在处理多用户的并发请求时,海量空间分发服务控制台根据当前各应用服务器的状态动态选择服务器分配应用进程。多台应用服务器之间的进程间基于消息中间件进行通讯和参数传递。同时通过数据库表记录的事务性实现记录集的并发操作控制以保持多服务器的数据一致性。各应用服务器调用元数据访问接口进行遥感数据的检索,同时调用数据库访问接口进行数据库访问。
3.2移动信息传输
利用移动网络技术的数据接口,按照移动通信无线信道的配置、调整原则及系统实现方案;利用Client/Server的开放结构、基于TCP/IP协议的软件编程实现无线信道的配置管理,实现高效率的无线信道调配,提高无线设备资源的利用率,使网络设备资源获得最佳效益。使遥感数据的无线传输在最短时间内进行审核和发送。
3.3. 系统实现
实现了面向移动GIS的遥感数据分发服务的应用。移动终端首先预装一个GIS可执行程序,实现影像、矢量数据的浏览、信息查询、数据申请、导航等功能。系统采用应用终端/应用服务器/数据库服务器的多层结构,其中应用服务器包括影像分发Web服务器和影像分发应用服务器。移动终端用户在地图窗口设定数据范围后,同时设置影像数据的分辩率和尺度以及数据类型等参数,向影像分发WEB服务器发送一个数据订单,影像分发服务的动态数据处理引擎根据解析的订单向数据库提取原始数据并经动态影像分割、格式转换、压缩等步骤后,通过即时通讯服务通知移动终端进行数据下载,移动终端收到通知后自动下载数据到本地进行浏览和应用。
应用基于J2EE的模式实现的遥感数据分发服务系统的实例。实现了遥感数据向移动终端的动态分发。移动终端用户可以在地图上指定影像数据的范围,同时指定影像的分辩率和尺度以及数据类型等条件,然后向服务端提交数据订单,影像分发服务端动态监视到数据订单后自动启动动态数据服务引擎并生成移动终端所需的数据。系统采用BEA公司的WebLogic8.1作为分布式遥感分发服务的J2EE平台,使用数据事务技术保证数据读写的安全性,采用Web服务技术实现基于Internet的空间信息服务、共享与互操作。服务端系统使用Jbuilder2005和VC++6.0进行开发,移动终端系统采用Evc4.0+SP4进行开发,大型关系数据库采用Oracle9i。
4.结论
移动GIS是研究的热点和重点,中间件是分布式计算环境应用需求的产物,而并行控制是分布式系统必须解决的关键技术。通过研究和分析遥感数据分发服务体系结构以及多级格网的遥感数据索引、多进程的分布式服务等关键技术。中间件的分布式海量空间分发服务模型能实现向终端实时、动态分发海量空间数据;多级格网的空间数据索引不仅可以提高分发服务系统内部海量空间访问速度,另一方面提高面向终端的分发效率;并可实现与其它GIS软件的集成;多进程的分布式服务在处理多用户的并发访问时可实现负载平衡和并发操作。网格技术与中间件的应用,可以实现快速、时实、准确的空间数据分发。
参考文献:
1、龔健雅,杜道生。《当代地理信息技术》。北京科学出版社
2、李飞鹏,杨志高,秦前清等。《高分辨率遥感影像的实时压缩算法》武汉大学学报,信息科学版。