王樹東
【摘要】根據海量遙感數據的特點,對移動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、李飛鵬,楊志高,秦前清等。《高分辨率遙感影像的實時壓縮算法》武漢大學學報,信息科學版。