宋奇+王棟+趙亞萌+臧文乾+杜佳恒
DOI:10.16644/j.cnki.cn33-1094/tp.2016.07.006
摘 要: 隨著中國衛(wèi)星遙感技術(shù)的發(fā)展,遙感空間數(shù)據(jù)的數(shù)量與體積急劇增長,同時(shí)由于數(shù)據(jù)分發(fā)中心帶寬有限,造成了遙感空間數(shù)據(jù)共享效率低的問題。為此設(shè)計(jì)了一種基于P2P網(wǎng)絡(luò)結(jié)構(gòu)的遙感空間數(shù)據(jù)共享方案。該方案結(jié)合集中式目錄服務(wù)與文件分塊傳輸思想,提出數(shù)據(jù)共享模型與任務(wù)隊(duì)列分配模型,實(shí)現(xiàn)同時(shí)從多個(gè)資源節(jié)點(diǎn)獲取數(shù)據(jù)的功能。實(shí)驗(yàn)結(jié)果表明,該方案提高了數(shù)據(jù)共享效率,有效緩解了服務(wù)器網(wǎng)絡(luò)負(fù)載,在遙感數(shù)據(jù)共享領(lǐng)域具有借鑒意義。
關(guān)鍵詞: 遙感空間數(shù)據(jù); 集中式目錄服務(wù); 分塊傳輸; P2P; 任務(wù)隊(duì)列分配
中圖分類號:TP391 文獻(xiàn)標(biāo)志碼: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余年,衛(wèi)星遙感在氣象、農(nóng)業(yè)、資源、生態(tài)、水利、城市規(guī)劃等各個(gè)行業(yè)的應(yīng)用上顯著提高[1],各行業(yè)用戶對遙感空間數(shù)據(jù)的需求也日趨增大。而目前,遙感空間數(shù)據(jù)的共享面臨以下問題:
⑴ 服務(wù)的科研單位多,數(shù)據(jù)需求量大;
⑵ 遙感空間數(shù)據(jù)文件數(shù)據(jù)量大,可達(dá)到GB級別,在數(shù)據(jù)的分發(fā)過程中,嚴(yán)重占用網(wǎng)絡(luò)資源;
⑶ 數(shù)據(jù)分發(fā)中心網(wǎng)絡(luò)帶寬有限;
⑷ 很多遙感空間數(shù)據(jù)存儲在不同數(shù)據(jù)中心,未能得到充分利用,形成數(shù)據(jù)孤島。
針對這些問題,文獻(xiàn)[2]中設(shè)計(jì)了一種主動(dòng)隊(duì)列控制模式的遙感空間數(shù)據(jù)分發(fā)系統(tǒng),該系統(tǒng)采用集中式數(shù)據(jù)分發(fā)方式,所有分發(fā)任務(wù)按用戶提交的順序依次排隊(duì)處理,隨著用戶提交數(shù)據(jù)量的增大,服務(wù)器積壓的任務(wù)量越來越多,任務(wù)等待處理的時(shí)間也越來越長。系統(tǒng)同時(shí)存在中央服務(wù)器網(wǎng)絡(luò)負(fù)載大以及帶寬資源浪費(fèi)的問題。
P2P技術(shù)能夠充分利用分布在終端計(jì)算機(jī)上的資源,緩解服務(wù)器資源消耗,在計(jì)算機(jī)網(wǎng)絡(luò)各領(lǐng)域尤其是文件共享領(lǐng)域被廣泛應(yīng)用[3-4]。
現(xiàn)階段,P2P文件共享已經(jīng)有多種實(shí)現(xiàn)方案。在文獻(xiàn)[5]提出的方案中,節(jié)點(diǎn)間通過系統(tǒng)廣播創(chuàng)建TCP連接發(fā)送網(wǎng)絡(luò)文件共享目錄并進(jìn)行文件的共享和傳輸,但同一時(shí)間段內(nèi)服務(wù)用戶數(shù)量有限。文獻(xiàn)[6]中的方案將服務(wù)器節(jié)點(diǎn)作為一個(gè)索引服務(wù)器,同時(shí)負(fù)責(zé)文件分割任務(wù),當(dāng)用戶提交訂單量增大時(shí),會(huì)給服務(wù)器帶來很大的運(yùn)行壓力。文獻(xiàn)[7]中將所有的文件信息都放在相應(yīng)的配置文件里,提高了資源搜索定位的效率。但隨著文件數(shù)量增多,系統(tǒng)消耗的資源必將增長,從而導(dǎo)致程序的響應(yīng)非常遲緩的問題。
通過上述分析,結(jié)合遙感數(shù)據(jù)共享領(lǐng)域的特殊性我們發(fā)現(xiàn),以上P2P文件共享方案都不適用。因此,在原有數(shù)據(jù)分發(fā)系統(tǒng)的基礎(chǔ)上,本文結(jié)合了經(jīng)典P2P網(wǎng)絡(luò)架構(gòu)中Napster查找性能良好、便于網(wǎng)絡(luò)管理的優(yōu)點(diǎn)[8],以及BitTorrent傳輸效率高[9]的優(yōu)點(diǎn),采用集中式目錄服務(wù)與文件分塊傳輸?shù)乃枷?,設(shè)計(jì)并實(shí)現(xiàn)一種基于P2P網(wǎng)絡(luò)結(jié)構(gòu)的遙感空間數(shù)據(jù)共享方案,在遙感數(shù)據(jù)分發(fā)效率方面進(jìn)行改進(jìn)。
1 總體網(wǎng)絡(luò)結(jié)構(gòu)
本文數(shù)據(jù)共享方案總體網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。
原有數(shù)據(jù)分發(fā)系統(tǒng)中的數(shù)據(jù)分發(fā)中心作為目錄服務(wù)器,用來保存所有遙感空間數(shù)據(jù)資源索引,提供資源的查找與管理服務(wù)。
各個(gè)對等節(jié)點(diǎn)在邏輯上完全等價(jià),節(jié)點(diǎn)之間通過網(wǎng)絡(luò)可建立直接連接并進(jìn)行數(shù)據(jù)傳輸,節(jié)點(diǎn)既作為服務(wù)器提供數(shù)據(jù)資源共享服務(wù),又作為客戶端從其他節(jié)點(diǎn)獲取數(shù)據(jù)。
1.1 集中式目錄服務(wù)
目錄服務(wù)器中的數(shù)據(jù)資源索引存儲在數(shù)據(jù)庫中,主要包含遙感空間數(shù)據(jù)文件信息、各節(jié)點(diǎn)信息、數(shù)據(jù)-節(jié)點(diǎn)映射信息。
由于目錄服務(wù)器只提供資源的查詢與管理而不提供數(shù)據(jù)下載,網(wǎng)絡(luò)負(fù)載較低,因此能夠提供高效的資源查詢性能。
1.2 文件分塊傳輸
為了實(shí)現(xiàn)從多節(jié)點(diǎn)同時(shí)獲取數(shù)據(jù)的功能,需要將完整的數(shù)據(jù)文件傳輸轉(zhuǎn)換為數(shù)據(jù)文件塊傳輸。
需求節(jié)點(diǎn)根據(jù)完整的數(shù)據(jù)文件大小,生成N個(gè)連續(xù)的XML格式的文件塊請求。其中:每個(gè)請求包含文件塊編號、數(shù)據(jù)名、文件塊字節(jié)流起止位置等信息;N=數(shù)據(jù)文件大小/文件塊字節(jié)流長度+1;默認(rèn)字節(jié)流長度為512KB。
資源節(jié)點(diǎn)收到文件塊請求后,讀取數(shù)據(jù)文件對應(yīng)部分的字節(jié)流,將其封裝為XML格式文件塊信息,通過Web Service的方式將文件塊信息發(fā)送回需求節(jié)點(diǎn)。需求節(jié)點(diǎn)解析后生成文件塊,當(dāng)所有文件塊獲取完畢后,將其合并為完整的數(shù)據(jù)文件。
2 P2P網(wǎng)絡(luò)數(shù)據(jù)共享
為了實(shí)現(xiàn)P2P數(shù)據(jù)共享,本文設(shè)計(jì)了數(shù)據(jù)共享模型與任務(wù)隊(duì)列分配模型。數(shù)據(jù)共享模型負(fù)責(zé)從用戶查詢下單到最終獲取數(shù)據(jù)的調(diào)度;任務(wù)隊(duì)列分配模型負(fù)責(zé)從資源節(jié)點(diǎn)獲取所有文件塊的調(diào)度。
2.1 數(shù)據(jù)共享模型
該方案的數(shù)據(jù)共享總體模型的流程如圖2所示,具體步驟如下。
步驟1 查詢下單:某一需求節(jié)點(diǎn)查詢到所需數(shù)據(jù)后直接向目錄服務(wù)器提交數(shù)據(jù)下載任務(wù)單。
步驟2 查詢資源索引:目錄服務(wù)器收到任務(wù)單后,查詢該任務(wù)單對應(yīng)的數(shù)據(jù)文件信息與該數(shù)據(jù)所在節(jié)點(diǎn)。如果不存在可用資源節(jié)點(diǎn),說明該資源只存在于數(shù)據(jù)分發(fā)中心,此時(shí)采用原有的集中式分發(fā)方式進(jìn)行數(shù)據(jù)共享[2],數(shù)據(jù)共享成功后,直接執(zhí)行步驟7;如果存在可用資源節(jié)點(diǎn),執(zhí)行步驟3。
步驟3 返回資源信息:將查詢到的數(shù)據(jù)文件信息與可用資源節(jié)點(diǎn)信息返回需求節(jié)點(diǎn)。
步驟4 生成文件塊請求隊(duì)列:根據(jù)本文1.2中的方法生成文件塊請求,并將其加入到請求隊(duì)列。
步驟5 獲取文件塊:進(jìn)行任務(wù)分配調(diào)度,從所有可用資源節(jié)點(diǎn)獲取文件塊(詳見本文2.2)。
步驟6 合并數(shù)據(jù):所有文件塊獲取完畢后,將其合并為完整的數(shù)據(jù)文件。
步驟7 同步資源索引:任務(wù)單完成后,進(jìn)行資源索引更新,本節(jié)點(diǎn)將作為該數(shù)據(jù)的資源節(jié)點(diǎn)為其他節(jié)點(diǎn)提供服務(wù)。
2.2 任務(wù)隊(duì)列分配模型
數(shù)據(jù)需求節(jié)點(diǎn)生成文件塊請求隊(duì)列后,需要將請求發(fā)送給資源節(jié)點(diǎn)來獲取文件塊。把每個(gè)文件塊的傳輸看作一個(gè)任務(wù),需要將所有的任務(wù)分配給可用資源節(jié)點(diǎn)。因此需要對任務(wù)的分配進(jìn)行調(diào)度。具體調(diào)度流程如圖3所示。
步驟1 初始化任務(wù)隊(duì)列,將所有任務(wù)標(biāo)狀態(tài)記為“待處理”。
步驟2 按順序一一分配待處理任務(wù),按文件塊編號的順序?qū)⒋幚砣蝿?wù)發(fā)送給資源節(jié)點(diǎn)并將該任務(wù)狀態(tài)標(biāo)記為“正在處理”,每個(gè)任務(wù)只發(fā)送給一個(gè)資源節(jié)點(diǎn),同時(shí)每個(gè)資源節(jié)點(diǎn)也只接收一個(gè)任務(wù)。
步驟3 如果某一任務(wù)失敗,則將該任務(wù)標(biāo)記為“待處理”并將其移至隊(duì)列末尾,返回步驟2繼續(xù)執(zhí)行之后的未處理任務(wù);如果任務(wù)執(zhí)行成功,則將該任務(wù)標(biāo)記為“已完成”,執(zhí)行步驟4。
步驟4 判斷任務(wù)隊(duì)列是否全部完成,如果全部完成,結(jié)束該任務(wù)隊(duì)列的處理;否則返回步驟2繼續(xù)執(zhí)行。
3 實(shí)驗(yàn)與性能分析
與本文提出的數(shù)據(jù)共享方案進(jìn)行對比的是原有數(shù)據(jù)分發(fā)系統(tǒng)中的方案,即采用主動(dòng)隊(duì)列控制模式的數(shù)據(jù)分發(fā)方案。
遙感數(shù)據(jù)共享效率一般受到下載數(shù)據(jù)量、網(wǎng)絡(luò)帶寬的影響。為了驗(yàn)證本文方案的效果,在下載數(shù)據(jù)量不同、帶寬不同的情況下,下載同樣的數(shù)據(jù)進(jìn)行實(shí)驗(yàn)。比較每景數(shù)據(jù)的平均下載時(shí)間,得出相應(yīng)結(jié)論。
3.1 下載數(shù)據(jù)量不同實(shí)驗(yàn)結(jié)果
在帶寬相同(同為100Mbps)的情況下,下載不同數(shù)據(jù)量的數(shù)據(jù),實(shí)驗(yàn)數(shù)據(jù)如圖4所示。
從實(shí)驗(yàn)數(shù)據(jù)可以看出:在下載數(shù)據(jù)量相同時(shí),使用P2P數(shù)據(jù)共享方案效率更高,且隨著下載數(shù)據(jù)量的增大,其優(yōu)勢也越來越顯著。
3.2 帶寬不同實(shí)驗(yàn)結(jié)果
在不同帶寬環(huán)境中下載同樣數(shù)據(jù)量(同為10景)的數(shù)據(jù),實(shí)驗(yàn)數(shù)據(jù)如圖5所示。
從實(shí)驗(yàn)數(shù)據(jù)可以看出,在網(wǎng)絡(luò)帶寬相同時(shí),使用P2P數(shù)據(jù)共享方案效率更高,且隨著網(wǎng)絡(luò)帶寬的降低,其優(yōu)勢也越來越顯著。
4 結(jié)束語
針對遙感數(shù)據(jù)共享的特殊性,本文提出了數(shù)據(jù)共享模型與任務(wù)隊(duì)列分配模型,設(shè)計(jì)并實(shí)現(xiàn)一種基于P2P網(wǎng)絡(luò)的遙感空間數(shù)據(jù)共享方案。該方案采用集中式目錄服務(wù),能夠提供良好的資源查詢與管理性能,降低服務(wù)器網(wǎng)絡(luò)負(fù)載;結(jié)合XML與Web Service技術(shù)進(jìn)行文件分塊傳輸,實(shí)現(xiàn)同時(shí)從多個(gè)資源節(jié)點(diǎn)獲取數(shù)據(jù)的功能,達(dá)到了充分利用各數(shù)據(jù)中心資源的目的。實(shí)驗(yàn)結(jié)果證明,本文設(shè)計(jì)的方案相比原有的數(shù)據(jù)分發(fā)方案在數(shù)據(jù)共享效率上有明顯的優(yōu)勢。
本文提出的方案還有待完善,如任務(wù)隊(duì)列分配模型沒有對節(jié)點(diǎn)間可用帶寬做進(jìn)一步研究。因此在后續(xù)的研究中,可以根據(jù)帶寬先驗(yàn)值與數(shù)據(jù)實(shí)時(shí)傳輸狀態(tài)對任務(wù)隊(duì)列分配模型做進(jìn)一步改進(jìn),從而達(dá)到各資源節(jié)點(diǎn)的自適應(yīng)負(fù)載均衡。
參考文獻(xiàn)(References):
[1] 孟慶巖,顧行發(fā),余濤,荊鳳.我國民用衛(wèi)星遙感應(yīng)用現(xiàn)狀、問
題與趨勢[A].中國地震學(xué)會(huì)空間對地觀測專業(yè)委員會(huì).中國地震學(xué)會(huì)空間對地觀測專業(yè)委員會(huì)成立大會(huì)暨學(xué)術(shù)研討會(huì)論文集[C].中國地震學(xué)會(huì)空間對地觀測專業(yè)委員會(huì),2008.
[2] 張振鵬.遙感數(shù)據(jù)分發(fā)系統(tǒng)主動(dòng)隊(duì)列控制模式的研究與應(yīng)用[D].
河南大學(xué),2015.
[3] 周文莉,吳曉非.P2P技術(shù)綜述[J].計(jì)算機(jī)工程與設(shè)計(jì),
2006.1:76-79
[4] 金海,廖小飛.P2P技術(shù)原理及應(yīng)用[J].中興通訊技術(shù),2007.6.
[5] 何帥.P2P文件共享系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].華中科技大學(xué),
2012.
[6] 胡杰.基于P2P的數(shù)據(jù)共享平臺設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)時(shí)代,
2014.11:7-9,13
[7] 趙立明.基于P2P網(wǎng)絡(luò)的文件共享系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D].山東
大學(xué),2012.
[8] 劉德剛,周剛,向金海.基于Napster架構(gòu)的P2P空間數(shù)據(jù)共
享研究[J].微計(jì)算機(jī)信息,2007.27:219-220,82
[9] 唐紅,胡容,朱輝云.BitTorrent網(wǎng)絡(luò)行為研究綜述[J].小型微
型計(jì)算機(jī)系統(tǒng),2012.9:2002-2007