雷鳳君 柳保燕
摘 要:隨著移動(dòng)互聯(lián)網(wǎng)和科學(xué)技術(shù)的發(fā)展,以及移動(dòng)終端的普及和自身能力的增強(qiáng),使得在移動(dòng)環(huán)境下開展P2P技術(shù)成為一種必要,根據(jù)移動(dòng)互聯(lián)網(wǎng)及移動(dòng)P2P的特點(diǎn),本文結(jié)合多目標(biāo)規(guī)劃策略,針對(duì)在移動(dòng)環(huán)境下如何有效地維護(hù)資源搜索表進(jìn)行研究。
關(guān)鍵詞:移動(dòng)P2P 資源索引表 多目標(biāo)規(guī)劃
中圖分類號(hào):TP393.03 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1672-3791(2013)03(a)-0012-02
移動(dòng)環(huán)境下P2P網(wǎng)絡(luò)的主要特點(diǎn)就是節(jié)點(diǎn)的動(dòng)態(tài)性[1~3],包括節(jié)點(diǎn)的移動(dòng)、加入與退出。節(jié)點(diǎn)的這些動(dòng)態(tài)性都將對(duì)資源的搜索及資源索引表的維護(hù)造成一定的影響。目前的研究主要是從數(shù)據(jù)層、路由層、節(jié)點(diǎn)層和查找層來應(yīng)對(duì)節(jié)點(diǎn)動(dòng)態(tài)性所造成的影響,在數(shù)據(jù)層采用數(shù)據(jù)冗余策略;在路由層采用路由維護(hù)策略;在節(jié)點(diǎn)層采用節(jié)點(diǎn)選擇策略;在查找層設(shè)定合適的查找超時(shí)以及采用并行查找算法[3~5]。
本文在分析移動(dòng)網(wǎng)絡(luò)本身的特點(diǎn)及移動(dòng)環(huán)境下P2P系統(tǒng)的特點(diǎn)的基礎(chǔ)上,通過網(wǎng)絡(luò)性能測(cè)量方法[6]獲得影響P2P系統(tǒng)性能的因素,如傳輸時(shí)延、數(shù)據(jù)傳輸率、丟包率等,綜合考慮這些因素,然后找到一種合理可行的方案維護(hù)有效的資源索引表。與此同時(shí),還要考慮節(jié)點(diǎn)加入、移動(dòng)、節(jié)點(diǎn)在線、離線、失效[7~8]這幾種情況下,如何調(diào)整算法維護(hù)資源索引表,使得索引表持續(xù)保持有效狀態(tài)。
1 移動(dòng)P2P下資源索引表的維護(hù)
1.1 資源索引表的生成與維護(hù)
通過對(duì)移動(dòng)終端、移動(dòng)互聯(lián)網(wǎng)及移動(dòng)環(huán)境下P2P網(wǎng)絡(luò)自身特性的研究[9~11],影響資源索引表有效性的因素主要有:節(jié)點(diǎn)暫時(shí)離線,節(jié)點(diǎn)退出網(wǎng)絡(luò),節(jié)點(diǎn)上的資源因某些其它原因如帶寬減小等變得不如以前高效,節(jié)點(diǎn)的移動(dòng),新的節(jié)點(diǎn)的加入。在考慮這些因素的前提下提出一種有效的方法對(duì)資源索引表進(jìn)行維護(hù)。
1.1.1 資源索引表的生成
首先建立資源索引表,主要通過以下步驟。
(1)利用有效的資源搜索算法搜索資源,記錄資源的邏輯位置。
(2)利用有效的網(wǎng)絡(luò)性能測(cè)量方法獲取影響P2P服務(wù)的因素,在此主要考慮傳輸時(shí)延、數(shù)據(jù)傳輸率、路由跳數(shù)、丟包率。每一個(gè)因素作為資源的一個(gè)屬性。
(3)將資源的每一個(gè)屬性作為參數(shù),設(shè)計(jì)一種方案,在綜合考慮這幾個(gè)因素的前提下進(jìn)行相關(guān)評(píng)估,資源因此獲取一個(gè)權(quán)重值,依據(jù)權(quán)重值對(duì)資源的進(jìn)行劃分。用戶請(qǐng)求下載資源時(shí),優(yōu)先選擇權(quán)重相對(duì)大的節(jié)點(diǎn)作為下載源。
(4)通過以上方法節(jié)點(diǎn)可擁有一個(gè)資源索引表,接下來主要考慮當(dāng)節(jié)點(diǎn)離線、失效、移動(dòng)時(shí)如何維護(hù)此索引表,使得其繼續(xù)有效的前提下,能夠依然保持資源按權(quán)重進(jìn)行排列。依上所述生成相對(duì)較優(yōu)的資源索引表的步驟如圖1所示。
1.1.2 資源索引表的維護(hù)
節(jié)點(diǎn)移動(dòng)或節(jié)點(diǎn)狀態(tài)發(fā)生變化時(shí)對(duì)索引表的維護(hù):在索引表建立起來的基礎(chǔ)上,不斷發(fā)送探測(cè)報(bào)文獲取資源的有效性及資源相關(guān)屬性值。
(1)如果資源不可用,則從索引表中刪除。
(2)如果節(jié)點(diǎn)暫時(shí)離線導(dǎo)致資源不可用,則將其對(duì)應(yīng)的權(quán)重值賦為0。
(3)如果依據(jù)探測(cè)到的屬性值發(fā)現(xiàn)一定時(shí)間內(nèi)不再高效,則依據(jù)算法重新計(jì)算權(quán)重值。
(4)如果發(fā)生節(jié)點(diǎn)移動(dòng)或者節(jié)點(diǎn)添加的情況,則重復(fù)1中的操作。
影響共享資源的效率的因素有很多種,在此僅考慮數(shù)據(jù)傳輸率、時(shí)延、跳數(shù)和丟包率。如何在保證數(shù)據(jù)傳輸率高、時(shí)延低、跳數(shù)少、丟包率低的前提下,選擇出相對(duì)較優(yōu)的節(jié)點(diǎn)作為下載源涉及到多目標(biāo)規(guī)劃問題。求解多目標(biāo)規(guī)劃方法[15~16]大體上有三種方法:化多為少的方法;分層序列法;層次分析法。分別對(duì)這三種主要的方法進(jìn)行分析,根據(jù)移動(dòng)P2P的特點(diǎn),可知對(duì)于高度動(dòng)態(tài)性的移動(dòng)P2P網(wǎng)絡(luò),維護(hù)有效的資源索引表,采用層次分析法比較合適。
2 基于層次分析法優(yōu)化資源索引表
針對(duì)數(shù)據(jù)傳輸率、時(shí)延、路數(shù)和丟包率這三個(gè)準(zhǔn)則,采用層次分析法獲取資源索引表中,各資源對(duì)應(yīng)節(jié)點(diǎn)的權(quán)重,更新資源索引表,使得每次共享資源時(shí)都優(yōu)先選擇權(quán)重大的節(jié)點(diǎn),從而提高共享效率。
Step1:分別用Rate、Delay、TTL、Lost表示數(shù)據(jù)傳輸率、時(shí)延、路數(shù)和丟包率;N表示結(jié)點(diǎn);m取為自然數(shù),作為節(jié)點(diǎn)下標(biāo),用于區(qū)分不同的節(jié)點(diǎn);1<=k<=m。
Step2:建立層次結(jié)構(gòu)模型,如圖2所示:
Step3:依據(jù)準(zhǔn)則層不同因素的重要性,構(gòu)造判斷矩陣,記為Matrix,維數(shù)記為Dim;
Step4:計(jì)算Matrix的最大特征值,記為,然后依據(jù)判斷Matrix的一致性,如果矩陣不滿足一致性,則返回step3,重新構(gòu)造判斷矩陣;否則繼續(xù);
Step5:記對(duì)應(yīng)的最大特征向量為U=[Rate_v,TTL_v,Delay_v,Lost_v],將其標(biāo)準(zhǔn)化得到向量U=[Rate_v,TTL_v,Delay_v,Lost_v];
Step5:構(gòu)造各個(gè)因素的成對(duì)比較矩陣,獲取其各自的重要度及其權(quán)向量,依次記為:Rate_U=[Ni_r,Nj_r,Nk_r,…,Nm_r],TTL_U=[Ni_t,Nj_t,Nk_t,…,Nm_t],
Delay_U=[Ni_d,Nj_d,Nk_d,…,Nm_d],Lost_U=[Ni_l,Nj_l,Nk_l,…,Nm_l];
Step6:依據(jù)U及Rate_U、TLL_U、Delay_U和Lost_U,計(jì)算方案層各個(gè)節(jié)點(diǎn)的權(quán)重值,如Ni的權(quán)重值記為Ni_value:
Ni_value=(Ni_r*Rate_v+Ni_t*TTL_v +Ni_d*Delay_v+Ni_l*Lost_v)/Dim;
Step7:最后依據(jù)節(jié)點(diǎn)的權(quán)重值進(jìn)行排序,得到依此權(quán)重值排序的資源搜索表。
如此以來,每當(dāng)用戶共享資源時(shí),都會(huì)從資源索引表中取出權(quán)重值相對(duì)大的節(jié)點(diǎn)進(jìn)行下載,保證了下載的可靠性和速度。
3 結(jié)論
本文給出了移動(dòng)環(huán)境下P2P的特點(diǎn)及其面臨的問題,研究了在動(dòng)態(tài)網(wǎng)絡(luò)環(huán)境下資源索引表的維護(hù)及多目標(biāo)規(guī)劃技術(shù),給出了應(yīng)用層次分析法維護(hù)資源索引表的一種策略。如果不對(duì)資源索引表進(jìn)行相關(guān)的維護(hù),在用戶共享資源時(shí)勢(shì)必引發(fā)多個(gè)連接,消耗較多的網(wǎng)絡(luò)資源,同時(shí)要求移動(dòng)終端擁有更強(qiáng)的處理能力;通過對(duì)資源索引表中的信息進(jìn)行優(yōu)化,用戶共享資源時(shí),總是選擇相對(duì)較優(yōu)的節(jié)點(diǎn)進(jìn)行下載,這在一定程度上緩解了以上問題。
參考文獻(xiàn)
[1] 蔡康.P2P對(duì)等網(wǎng)絡(luò)原理與應(yīng)用[M].北京:科技出版社,2011.
[2] 張春紅.P2P技術(shù)全面解析[M].北京:人民郵電出版社,2010.
[3] Frank H.P.Fitzek,Hassan Charaf.Mobile Peer to Peer(P2P)[M].美國(guó):Wiley,2009.
[4] Daniel Brookshier.Jxta:Java P2P Programming[M].美國(guó):Sams,2011.
[5] Gradecki.Mastering Jxta:Building Java Peer-to-Peer Applications[M].美國(guó):John Wiley & Sons,2011.
[6] 許斌.JXTA-JavaP2P網(wǎng)絡(luò)編程技術(shù)[M].北京:清華大學(xué)出版社,2003.
[7] RobertFlenner.JavaP2P技術(shù)內(nèi)幕[M].高嶺,譯.北京:人民郵電出版社,2003.
[8] 管磊.P2P技術(shù)揭密:P2P網(wǎng)絡(luò)技術(shù)原理與典型技術(shù)開發(fā)[M].北京:清華大學(xué)出版社,2011.
[9] 中國(guó)互聯(lián)網(wǎng)絡(luò)信息中心[EB/OL].中國(guó)互聯(lián)網(wǎng)絡(luò)發(fā)展?fàn)顩r統(tǒng)計(jì)報(bào)告,2009.
[10] 崔勇.無線移動(dòng)互聯(lián)網(wǎng):原理、技術(shù)與應(yīng)用[M].北京:機(jī)械工業(yè)出版社,2012.
[11] 鄭蘭,程鵬.移動(dòng)互聯(lián)網(wǎng)[M].北京:清華大學(xué)出版社,2011.
[12] J Fu,H xiong.Perform trust:Trust integrated past and current performance in P2P file sharing systems[A].Proceedings of the IEEE/ACS International Conference on Computer Systems and Applications[C].Piscalaway:IEEE Press,2008:718-725.
[13] Chen K,Hwang K.Heuristic discovery of role-based trust chains in peer-to-peer networks[J].IEEE Transactions on Parallel and Distributed Systems,2009.
[14] 歐中洪,宋美娜.移動(dòng)對(duì)等網(wǎng)絡(luò)關(guān)鍵技術(shù).Journal of Software,2008.
[15] Tahsin T,Choudhury L.F.,Rahman L.Peer-to-Peer mobile applications using JXTA/JXME.Computer and Information Technology,2008.
[16] 劉淳安.動(dòng)態(tài)多目標(biāo)優(yōu)化進(jìn)化算法及其應(yīng)用[M].北京:科學(xué)出版社,2011.