


摘 要: 在分析了遙感影像數據及數據使用現狀的基礎上,綜合考慮了云計算技術在遙感應用領域使用的必要性和可行性,設計了基于云計算的多源遙感數據服務系統。闡述了基于云計算的多源遙感數據服務系統體系結構及關鍵業務流程,包括遙感數據云存儲、遙感數據云處理、遙感數據應用服務及遙感業務注冊組裝等。最后,通過原型系統的實現驗證了系統設計既能保護原始數據的安全,又能降低數據使用的成本,同時還能夠提高數據的共享率和用戶使用率。
關鍵詞: 遙感數據處理; 云計算; 遙感數據服務; 海量數據管理
中圖分類號: TN911?34; TP3 文獻標識碼: A 文章編號: 1004?373X(2015)03?0090?05
Research on multi?source remote sensing data service system based on cloud computing
ZHANG Shu?fan1, WU Xin?qiao2, CAO Yu3, WANG Ying?jie2, ZHANG Gui?feng2
(1. Space Star Technology Co., Ltd., Beijing 100086, China; 2. Electric Power Research Institute, Guangzhou 510080, China;
3. China Resources Satellite Data and Application Centre, Beijing 100094, China)
Abstract: Based on analysis of remote sensing image data and data usage status, a multi?source remote sensing data service system based on cloud computing was designed in consideration of the necessity and feasibility of cloud computing technology application in remote sensing field. The architecture and key business process of the multi?source remote sensing data service system are described, including remote sensing data cloud storage, remote sensing data cloud processing, remote sensing data application service and remote sensing business registration. The application of the prototype system proves that the system can protect the original data, reduce the cost of data application, and improve data sharing rate and usage rate.
Keywords: remote sensing data processing; cloud computing; remote sensing data service; massive data administration
0 引 言
遙感技術憑借其具有的全球性、高動態、連續性、全天候、全天時、多樣化數據獲取特點,已被廣泛應用于農業、林業、水利、測繪、交通、氣象、海洋等領域。經過多年的發展,我國遙感信息獲取、處理及應用技術取得了顯著的成績,逐步形成了氣象、資源、海洋、環境減災四大民用遙感衛星系列。在“863”計劃、高分專項、陸海規劃、“623”規劃等大型課題的推動下,我國遙感應用研究進入了大型化、快速化的發展階段。我國衛星遙感地面站接收的數據目前已經超過300 TB,很快將會達到PB級,并將以TB/天的速率增長。隨著各個專項建設進度的不斷推進,必將進一步產生大量的遙感影像資料,海量遙感數據和簡單的數據服務方式之間矛盾突出[1?2]。隨著互聯網技術的發展,IT資源的使用、應用和服務模式不斷地發生演變。云計算技術以其彈性服務、資源池化、按需服務、服務計費、泛在接入五大特點,成為近年來IT界的一個研究熱點。
云計算已經成為目前用來解決高性能計算、海量數據存儲、分布式應用、異構服務集成、按需提供服務等問題的主要途徑。云計算遙感應用方面,也有許多積極的探索,ESRI、Google、中國科學院遙感應用研究所、中國科學院計算技術研究所等都進行了探索性和基礎性的研究工作,證實了云計算技術應用于遙感領域的可行性。基于云計算技術,可將遙感數據、信息產品、處理技術與計算資源打包成類似公共設施(如自來水和電力等)的可計量的服務,提供給用戶通過網絡或移動終端隨時隨地按需使用,解決遙感應用中的數據、技術、設備、成本和人員的瓶頸,實現遙感信息技術在政府和公眾日常業務中的普及應用[3]。
本文充分利用了云計算技術所具有的按需計算能力及動態可擴容能力,設計了一種適合于遙感數據管理和分發部門的數據共享分發系統,并在HDFS,YARN,Xen Server等開源云計算軟件的基礎上實現了基于云計算的多源遙感數據服務系統原型系統。該系統為用戶提供原始數據、計算能力以及業務按需組裝調度能力,使得用戶在不直接接觸原始數據的前提下,以使用數據服務的方式分享數據的使用價值,降低數據使用成本,提高數據的使用共享率。
1 數據服務方式
云計算提供了一種按需計費、按使用量計費的服務方式,這種方式恰好適用于數據費用較高的衛星遙感數據的分發共享[4?5]。常規的遙感數據付費下載一般按照數據的長久使用權考量的數據費用,云計算基礎的上述特點可以提供一種按次使用,非長久持有的數據付費方式。這種數據付費使用方式下,原始數據的保有權一直留存在數據分發單位,不會喪失,同時可以降低數據使用的單價,有利于擴大數據的共享使用范圍。尤其,對于科研性質的原始數據使用,這種情況下項目資金有限,并且數據的使用時間有限,上述模式將是一種更佳的選擇,如圖1所示。
實現上述的遙感數據服務模式,需要提供數據分發服務和算法注冊服務,讓用戶能夠提交自己的算法在系統內部獲取原始數據完成計算,并下載計算后的結果,按照數據使用數量和業務執行次數進行計費。本文設計的基于云計算的多源遙感數據服務系統就是對這種遙感數據服務模式的一個探索。
2 系統總體功能
針對遙感技術發展帶來的海量數據存儲和處理需求,構建基于云服務的多源載荷數據處理與應用原型系統。系統建設內容包括海量數據歸檔與存儲、遙感數據處理任務分布式并行計算、基于云服務的多源載荷數據處理應用集成技術。
海量數據歸檔與存儲用于解決海量遙感數據條件下難以保證數據的海量吞吐量、難以動態無限擴容且造價高的問題。
遙感數據處理任務分布式并行計算解決海量數據條件下高性能快速計算需求。
基于云服務的多源載荷數據處理應用集成技術解決多源載荷數據處理應用多樣,快速集成困難的問題。
結合業務需要,綜合上述技術內容設計的基于云服務的原型系統應當具備以下功能:
(1) 實現數據處理算法和多源載荷應用示范產品等系統軟件模塊的集成框架,支持新算法注冊及遠程算法調度,為多源載荷數據綜合處理及管理、多源空間信息綜合互補應用提供系統集成服務;
(2) 實現基于分布式云存儲技術的國產遙感衛星數據的存儲管理。基于可靠性要求和訪問控制需要,提供虛擬文件系統組織與管理、數據副本管理、負載均衡、數據完整性檢測、數據遷移與恢復和存儲集群管理等分布式云存儲服務功能;
(3) 提供分布式并行計算服務,為多源載荷數據綜合處理及管理、多源空間信息綜合互補應用技術開發的模塊、軟件提供并行化計算服務;
(4) 提供符合工業標準的通信協議以及模塊集成接口,以便二次開發人員開發新的特定的通信協議,以及實現多源載荷應用示范軟件的集成;
(5) 提供門戶服務系統,對外提供產品分發定制、處理流程監視、產品數據展示、新算法注冊的入口及示例程序演示等功能。
3 系統體系結構
基于云服務的原型系統在云平臺的基礎上提供多源遙感數據間輻射校正、國產遙感影像正射校正、多源空間數據融合、高分辨率光學影像的無云產品生產、作物面積監測、森林火災綜合監測、土壤含水量協同反演、地理數據動態更新、海洋災害監測與應急、土地變化信息提取、應急安全監測功能,構建農業、林業、水利、測繪、海洋、安全等領域應用示范服務能力。上述服務以及對上述應用示范產品的數據分發服務直接面向云端用戶使用,對應于云計算的云端應用服務層(即SaaS)。
數據管理分系統、并行處理分系統向多源數據處理應用示范軟件提供數據歸檔、數據檢索、數據提取、并行任務調度、任務管理、算法注冊等服務,對應于云計算的基礎平臺服務層(即PaaS)。
集群管理服務由基礎設施層(即IaaS)提供,通過在操作系統層之下虛擬化的方式對集群主機硬件狀態進行監視和控制(包括計算能力分配、動態內存管理、在線遷移等),能夠進行服務部署,并對平臺上部署的服務進行監控。
基于云服務的原型系統架構方案如圖2所示。
4 系統組成
從基于云服務的原型系統應當具備的功能出發,將原型系統劃分為數據管理分系統、并行處理分系統、應用服務分系統3個分系統。基于云服務的原型系統組成方案如圖3所示。
圖3 系統組成圖
數據管理分系統提供分布式數據管理能力,提供對結構化數據、非結構化數據等海量數據的歸檔、檢索及提取服務,并對云服務原型系統中其他模塊屏蔽存儲方式等信息,降低了數據處理及各類典型應用模塊的開發難度,提高了原型系統的擴展性。數據管理分系統可存儲多個數據源提供的原始數據,提供TB級以上數據的存儲服務能力,在系統運行過程中,數據管理分系統需要統一管理所有應用示范的各類資源的編目信息、各類遙感數據產品、多源載荷應用示范產品等數據。
并行處理分系統實現對已集成多源載荷應用示范軟件的多任務并行處理功能。并行處理分系統根據各個節點資源情況動態分配處理節點,通過將生產任務指派到不同的數據處理節點實現任務的并行處理,同時實現分布式文件存儲位置感知功能,將生產任務盡可能的指派給數據所在節點,減少了計算節點之間數據的遷移,從而達到降低整體數據I/O量提高生產效率的目的。
應用服務分系統是基于云服務的原型系統各類產品的分發與訂制門戶。應用服務分系統主要任務是數據分發及產品生產任務定制。數據分發功能完成多源遙感數據產品以及農業、林業、水利、測繪、海洋、區域等綜合應用示范產品的分發,為用戶提供產品數據的查詢檢索、瀏覽等服務。產品生產任務定制提供對農業、林業、水利、測繪、海洋、區域等綜合應用示范產品的生產任務定制服務,同時應用服務分系統還提供算法注冊功能,實現多源載荷數據處理應用的集成功能。
5 系統集成方案
基于云服務的原型系統軟件提供集成框架,為多源載荷應用示范軟件提供生產任務的并行化調度服務。基于云服務的原型系統軟件并行化調度工作由并行處理分系統負責,通過感知數據存儲位置及計算節點任務負載信息實現任務并行化調度均衡。
多源載荷應用示范軟件在原型系統中直接集成于并行處理分系統,部署于分布式計算節點。多源載荷應用示范產品生產任務的定制通過應用服務分系統提交生產訂單的方式實現。生產任務首先由并行處理分系統接收,并行處理分系統再將生產任務調度給部署于某一個數據計算節點上的相應的多源載荷應用示范軟件進行生產。
多源載荷應用示范軟件生產開始時依據訂單內容從數據存儲節點提取所需數據,生產結束時將生成的產品歸檔到數據存儲節點形成閉環。多源載荷應用示范軟件歸檔后的產品數據通過應用服務分系統進行檢索和分發。
多源載荷應用示范軟件與各個分系統之間的接口考慮支持服務調用方式、文件訂單方式、數據自動觸發等形式綜合提供,以提高系統的可集成度。
多源載荷應用示范軟件與原型系統軟件的集成方案如圖4所示。
圖4 基于云服務的原型系統集成方案圖
6 關鍵業務流程
系統關鍵業務流程按其功能可分為四個功能上關聯而又相對獨立的子流程,下文將詳細介紹每個子流程的功能及具體過程。
(1) 遙感業務注冊組裝流程
系統用戶可以上傳業務算法,與系統內部算法組裝成特定的業務流程,并提交平臺進行生產。用戶算法由應用服務分系統直接推送到并行處理分系統,生成流程調度文件,在產品生產過程中自動實現業務流程在多個業務算法之間的流轉。算法推送采用數據感知技術,將業務算法推送到距離數據最近的生產節點,減小數據訪問過程中的帶寬占用和時間消耗。
(2) 遙感數據云存儲流程
遙感數據云存儲流程描述了遙感衛星數據或系統產品數據歸檔入庫的流程。首先,拷貝到生產工作空間的數據被數據管理分系統掃描到并提取元數據信息。數據管理分系統將數據元數據入庫到關系數據庫,將數據歸檔到分布式云存儲系統。最后將元數據信息推送至應用服務分系統,進行新產品或數據信息的發布。
(3) 遙感數據云處理流程
遙感數據云處理流程描述了應用示范軟件根據用戶訂單中對產品的需求,獲取相關數據進行加工,運行用戶指定業務流程生產用戶所指定產品的流程。首先,應用服務分系統依據用戶選擇的產品業務流程以及輸入的生產參數信息,生成產品生產訂單,并將產品生產訂單發送到并行處理分系統。并行處理分系統自動感知數據位置,分配適當的生產節點進行產品生產。產品生產完成后,首先等待后臺用戶對生產結果進行核查,防止原始數據被直接作為產品被用戶下載。最后,向應用服務分系統發送生產完成報告。
(4) 遙感數據應用服務流程
遙感數據應用服務流程描述了應用服務分系統獲取相應產品數據進行分發的流程。該流程開始時,首先用戶向應用服務分系統輸入數據需求,應用服務分系統返回符合條件的數據列表。然后,用戶在數據列表中選擇需要的數據,生成數據訂購單。應用服務分系統向數據管理分系統發出數據提取請求,數據管理分系統提取完數據后,發送數據提取任務單完成報告,應用服務分系統更新訂單完成狀態,用戶下載所需數據。
7 原型部署方案
基于云服務的多源遙感數據服務系統原型系統集成基礎遙感數據處理軟件及用戶注冊業務軟件,并向其提供數據歸檔、提取、并行任務調度以及產品展示、分發服務,同時提供云存儲和云計算基礎設施。應用服務分系統和并行處理分系統及數據管理分系統部署于同一臺計算機,GIS地圖服務器單獨部署于1臺計算機,用來存儲遙感數據元信息、應用示范產品元數據及空間信息。云存儲和云計算基礎設施使用5臺計算機,提供云存儲和云計算服務。主節點使用1臺計算機,從節點使用4臺計算機,從節點部署Xen Server提供計算虛擬化支持。為了減小分布式并行計算過程中算法移動帶來的額外時間開銷,各種示范應用軟件算法在每個云存儲節點上分別部署一套。
基于云服務的原型系統部署方案如圖5所示。
圖5 原型部署方案
8 系統原型實現
系統數據分發界面原型如圖6所示,業務運行流程監控界面原型如圖7所示。
圖6 系統數據分發界面原型
9 結 語
計算機技術的發展給遙感數據處理及服務帶來了更廣闊的想象空間。尤其是云計算技術快速發展的今天,人們也在不斷地探尋遙感與云計算技術的結合方式,探尋云計算技術可以給遙感技術帶來何種優勢[6?10]。
本文提出的基于云計算的多源遙感數據服務系統充分集成了云計算技術云存儲、云計算、云服務的特點,提供了一種遙感數據共享的新方式,即提供原始數據及計算能力的方式,降低數據使用的門檻,提高數據的共享廣度。然而,本文提出的設計仍然需要進一步的改進和探索,才能使這種方式更好地為遙感數據使用、共享領域帶來真正的效益。
圖7 業務運行流程監控界面原型
參考文獻
[1] 賴積保,羅曉麗,余濤,等.一種支持云計算的遙感影像數據組織模型研究[J].計算機科學,2013,40(7):80?83.
[2] 趙晉霞,李明輝,馬賽瀟.海量海洋遙感影像數據庫建設研究[J].海洋測繪,2012,32(3):44?46.
[3] 任伏虎,王晉年.遙感云平臺技術研究與實驗[J].遙感學報,2012,16(6):1331?1336.
[4] 劉異,咼維,江萬壽,等.一種基于云計算模型的遙感處理服務模式研究與實現[J].計算機應用研究,2009,26(9):3428?3431.
[5] 石永閣,邊馥苓.基于云平臺的遙感信息公共服務研究[J].地理信息世界,2011,9(3):26?29.
[6] 楊志和,胡虛懷,郭觀七.海量遙感數據處理架構與并行算法研究[J].計算機應用與軟件,2014,31(4):281?284.
[7] 趙穎輝,蔣從鋒.遙感影像的高性能并行處理技術研究[J].計算機技術與發展,2014,24(7):201?205.
[8] 付天新,劉正軍,閆浩文.基于MapReduce模型的生物量遙感并行反演方法研究[J].干旱區資源與環境,2013,27(1):130?136.
[9] 李先濤,曾志,張豐,等.基于集群的海洋遙感圖像融合并行計算策略[J].計算機應用與軟件,2012,29(1):84?87.
[10] 艾海濱,張劍清.基于中間件的高分辨率衛星影像正射糾正的分布式處理[J].測繪科學,2009,34(4):158?160.