宋奇+王棟+趙亞萌+臧文乾+杜佳恒



DOI:10.16644/j.cnki.cn33-1094/tp.2016.07.006
摘 要: 隨著中國衛星遙感技術的發展,遙感空間數據的數量與體積急劇增長,同時由于數據分發中心帶寬有限,造成了遙感空間數據共享效率低的問題。為此設計了一種基于P2P網絡結構的遙感空間數據共享方案。該方案結合集中式目錄服務與文件分塊傳輸思想,提出數據共享模型與任務隊列分配模型,實現同時從多個資源節點獲取數據的功能。實驗結果表明,該方案提高了數據共享效率,有效緩解了服務器網絡負載,在遙感數據共享領域具有借鑒意義。
關鍵詞: 遙感空間數據; 集中式目錄服務; 分塊傳輸; P2P; 任務隊列分配
中圖分類號:TP391 文獻標志碼:A 文章編號:1006-8228(2016)07-20-04
A remote sensing spatial data sharing scheme based on P2P network
Song Qi1,2, Wang Dong2, Zhao Yameng2, Zang Wenqian2, Du Jiaheng1,2
(1. Computer and Information Engineering College, Henan University, Kaifeng, Henan 475001, China;
2. Institute of Remote Sensing and Digital Earth Chinese Academy of Sciences)
Abstract: With the development of the satellite remote sensing technology in China, the amount and the size of remote sensing spatial data increase sharply. At the same time, due to the limited bandwidth of the data distribution center, the efficiency of remote sensing spatial data sharing is not high enough. In order to solve this problem, this paper designs a remote sensing spatial data sharing scheme based on P2P network. The scheme combines centralized directory service and the idea of block file transmission, and puts forward a data sharing model and a task queue assignment model which implements the ability of getting data from multiple source peer nodes. The experimental results show that this scheme not only improves the data sharing efficiency, but also alleviates network load of the servers, and has reference significance in the field of remote sensing data sharing.
Key words: remote sensing spatial data; P2P; centralized directory service; block file transmission; task queue distribution
0 引言
在過去30余年,衛星遙感在氣象、農業、資源、生態、水利、城市規劃等各個行業的應用上顯著提高[1],各行業用戶對遙感空間數據的需求也日趨增大。而目前,遙感空間數據的共享面臨以下問題:
⑴ 服務的科研單位多,數據需求量大;
⑵ 遙感空間數據文件數據量大,可達到GB級別,在數據的分發過程中,嚴重占用網絡資源;
⑶ 數據分發中心網絡帶寬有限;
⑷ 很多遙感空間數據存儲在不同數據中心,未能得到充分利用,形成數據孤島。
針對這些問題,文獻[2]中設計了一種主動隊列控制模式的遙感空間數據分發系統,該系統采用集中式數據分發方式,所有分發任務按用戶提交的順序依次排隊處理,隨著用戶提交數據量的增大,服務器積壓的任務量越來越多,任務等待處理的時間也越來越長。系統同時存在中央服務器網絡負載大以及帶寬資源浪費的問題。
P2P技術能夠充分利用分布在終端計算機上的資源,緩解服務器資源消耗,在計算機網絡各領域尤其是文件共享領域被廣泛應用[3-4]。
現階段,P2P文件共享已經有多種實現方案。在文獻[5]提出的方案中,節點間通過系統廣播創建TCP連接發送網絡文件共享目錄并進行文件的共享和傳輸,但同一時間段內服務用戶數量有限。文獻[6]中的方案將服務器節點作為一個索引服務器,同時負責文件分割任務,當用戶提交訂單量增大時,會給服務器帶來很大的運行壓力。文獻[7]中將所有的文件信息都放在相應的配置文件里,提高了資源搜索定位的效率。但隨著文件數量增多,系統消耗的資源必將增長,從而導致程序的響應非常遲緩的問題。
通過上述分析,結合遙感數據共享領域的特殊性我們發現,以上P2P文件共享方案都不適用。因此,在原有數據分發系統的基礎上,本文結合了經典P2P網絡架構中Napster查找性能良好、便于網絡管理的優點[8],以及BitTorrent傳輸效率高[9]的優點,采用集中式目錄服務與文件分塊傳輸的思想,設計并實現一種基于P2P網絡結構的遙感空間數據共享方案,在遙感數據分發效率方面進行改進。
1 總體網絡結構
本文數據共享方案總體網絡結構如圖1所示。
原有數據分發系統中的數據分發中心作為目錄服務器,用來保存所有遙感空間數據資源索引,提供資源的查找與管理服務。
各個對等節點在邏輯上完全等價,節點之間通過網絡可建立直接連接并進行數據傳輸,節點既作為服務器提供數據資源共享服務,又作為客戶端從其他節點獲取數據。
1.1 集中式目錄服務
目錄服務器中的數據資源索引存儲在數據庫中,主要包含遙感空間數據文件信息、各節點信息、數據-節點映射信息。
由于目錄服務器只提供資源的查詢與管理而不提供數據下載,網絡負載較低,因此能夠提供高效的資源查詢性能。
1.2 文件分塊傳輸
為了實現從多節點同時獲取數據的功能,需要將完整的數據文件傳輸轉換為數據文件塊傳輸。
需求節點根據完整的數據文件大小,生成N個連續的XML格式的文件塊請求。其中:每個請求包含文件塊編號、數據名、文件塊字節流起止位置等信息;N=數據文件大小/文件塊字節流長度+1;默認字節流長度為512KB。
資源節點收到文件塊請求后,讀取數據文件對應部分的字節流,將其封裝為XML格式文件塊信息,通過Web Service的方式將文件塊信息發送回需求節點。需求節點解析后生成文件塊,當所有文件塊獲取完畢后,將其合并為完整的數據文件。
2 P2P網絡數據共享
為了實現P2P數據共享,本文設計了數據共享模型與任務隊列分配模型。數據共享模型負責從用戶查詢下單到最終獲取數據的調度;任務隊列分配模型負責從資源節點獲取所有文件塊的調度。
2.1 數據共享模型
該方案的數據共享總體模型的流程如圖2所示,具體步驟如下。
步驟1 查詢下單:某一需求節點查詢到所需數據后直接向目錄服務器提交數據下載任務單。
步驟2 查詢資源索引:目錄服務器收到任務單后,查詢該任務單對應的數據文件信息與該數據所在節點。如果不存在可用資源節點,說明該資源只存在于數據分發中心,此時采用原有的集中式分發方式進行數據共享[2],數據共享成功后,直接執行步驟7;如果存在可用資源節點,執行步驟3。
步驟3 返回資源信息:將查詢到的數據文件信息與可用資源節點信息返回需求節點。
步驟4 生成文件塊請求隊列:根據本文1.2中的方法生成文件塊請求,并將其加入到請求隊列。
步驟5 獲取文件塊:進行任務分配調度,從所有可用資源節點獲取文件塊(詳見本文2.2)。
步驟6 合并數據:所有文件塊獲取完畢后,將其合并為完整的數據文件。
步驟7 同步資源索引:任務單完成后,進行資源索引更新,本節點將作為該數據的資源節點為其他節點提供服務。
2.2 任務隊列分配模型
數據需求節點生成文件塊請求隊列后,需要將請求發送給資源節點來獲取文件塊。把每個文件塊的傳輸看作一個任務,需要將所有的任務分配給可用資源節點。因此需要對任務的分配進行調度。具體調度流程如圖3所示。
步驟1 初始化任務隊列,將所有任務標狀態記為“待處理”。
步驟2 按順序一一分配待處理任務,按文件塊編號的順序將待處理任務發送給資源節點并將該任務狀態標記為“正在處理”,每個任務只發送給一個資源節點,同時每個資源節點也只接收一個任務。
步驟3 如果某一任務失敗,則將該任務標記為“待處理”并將其移至隊列末尾,返回步驟2繼續執行之后的未處理任務;如果任務執行成功,則將該任務標記為“已完成”,執行步驟4。
步驟4 判斷任務隊列是否全部完成,如果全部完成,結束該任務隊列的處理;否則返回步驟2繼續執行。
3 實驗與性能分析
與本文提出的數據共享方案進行對比的是原有數據分發系統中的方案,即采用主動隊列控制模式的數據分發方案。
遙感數據共享效率一般受到下載數據量、網絡帶寬的影響。為了驗證本文方案的效果,在下載數據量不同、帶寬不同的情況下,下載同樣的數據進行實驗。比較每景數據的平均下載時間,得出相應結論。
3.1 下載數據量不同實驗結果
在帶寬相同(同為100Mbps)的情況下,下載不同數據量的數據,實驗數據如圖4所示。
從實驗數據可以看出:在下載數據量相同時,使用P2P數據共享方案效率更高,且隨著下載數據量的增大,其優勢也越來越顯著。
3.2 帶寬不同實驗結果
在不同帶寬環境中下載同樣數據量(同為10景)的數據,實驗數據如圖5所示。
從實驗數據可以看出,在網絡帶寬相同時,使用P2P數據共享方案效率更高,且隨著網絡帶寬的降低,其優勢也越來越顯著。
4 結束語
針對遙感數據共享的特殊性,本文提出了數據共享模型與任務隊列分配模型,設計并實現一種基于P2P網絡的遙感空間數據共享方案。該方案采用集中式目錄服務,能夠提供良好的資源查詢與管理性能,降低服務器網絡負載;結合XML與Web Service技術進行文件分塊傳輸,實現同時從多個資源節點獲取數據的功能,達到了充分利用各數據中心資源的目的。實驗結果證明,本文設計的方案相比原有的數據分發方案在數據共享效率上有明顯的優勢。
本文提出的方案還有待完善,如任務隊列分配模型沒有對節點間可用帶寬做進一步研究。因此在后續的研究中,可以根據帶寬先驗值與數據實時傳輸狀態對任務隊列分配模型做進一步改進,從而達到各資源節點的自適應負載均衡。
參考文獻(References):
[1] 孟慶巖,顧行發,余濤,荊鳳.我國民用衛星遙感應用現狀、問
題與趨勢[A].中國地震學會空間對地觀測專業委員會.中國地震學會空間對地觀測專業委員會成立大會暨學術研討會論文集[C].中國地震學會空間對地觀測專業委員會,2008.
[2] 張振鵬.遙感數據分發系統主動隊列控制模式的研究與應用[D].
河南大學,2015.
[3] 周文莉,吳曉非.P2P技術綜述[J].計算機工程與設計,
2006.1:76-79
[4] 金海,廖小飛.P2P技術原理及應用[J].中興通訊技術,2007.6.
[5] 何帥.P2P文件共享系統的設計與實現[D].華中科技大學,
2012.
[6] 胡杰.基于P2P的數據共享平臺設計與實現[J].計算機時代,
2014.11:7-9,13
[7] 趙立明.基于P2P網絡的文件共享系統設計與實現[D].山東
大學,2012.
[8] 劉德剛,周剛,向金海.基于Napster架構的P2P空間數據共
享研究[J].微計算機信息,2007.27:219-220,82
[9] 唐紅,胡容,朱輝云.BitTorrent網絡行為研究綜述[J].小型微
型計算機系統,2012.9:2002-2007