雷鳳君 柳保燕
摘 要:隨著移動互聯網和科學技術的發展,以及移動終端的普及和自身能力的增強,使得在移動環境下開展P2P技術成為一種必要,根據移動互聯網及移動P2P的特點,本文結合多目標規劃策略,針對在移動環境下如何有效地維護資源搜索表進行研究。
關鍵詞:移動P2P 資源索引表 多目標規劃
中圖分類號:TP393.03 文獻標識碼:A 文章編號:1672-3791(2013)03(a)-0012-02
移動環境下P2P網絡的主要特點就是節點的動態性[1~3],包括節點的移動、加入與退出。節點的這些動態性都將對資源的搜索及資源索引表的維護造成一定的影響。目前的研究主要是從數據層、路由層、節點層和查找層來應對節點動態性所造成的影響,在數據層采用數據冗余策略;在路由層采用路由維護策略;在節點層采用節點選擇策略;在查找層設定合適的查找超時以及采用并行查找算法[3~5]。
本文在分析移動網絡本身的特點及移動環境下P2P系統的特點的基礎上,通過網絡性能測量方法[6]獲得影響P2P系統性能的因素,如傳輸時延、數據傳輸率、丟包率等,綜合考慮這些因素,然后找到一種合理可行的方案維護有效的資源索引表。與此同時,還要考慮節點加入、移動、節點在線、離線、失效[7~8]這幾種情況下,如何調整算法維護資源索引表,使得索引表持續保持有效狀態。
1 移動P2P下資源索引表的維護
1.1 資源索引表的生成與維護
通過對移動終端、移動互聯網及移動環境下P2P網絡自身特性的研究[9~11],影響資源索引表有效性的因素主要有:節點暫時離線,節點退出網絡,節點上的資源因某些其它原因如帶寬減小等變得不如以前高效,節點的移動,新的節點的加入。在考慮這些因素的前提下提出一種有效的方法對資源索引表進行維護。
1.1.1 資源索引表的生成
首先建立資源索引表,主要通過以下步驟。
(1)利用有效的資源搜索算法搜索資源,記錄資源的邏輯位置。
(2)利用有效的網絡性能測量方法獲取影響P2P服務的因素,在此主要考慮傳輸時延、數據傳輸率、路由跳數、丟包率。每一個因素作為資源的一個屬性。
(3)將資源的每一個屬性作為參數,設計一種方案,在綜合考慮這幾個因素的前提下進行相關評估,資源因此獲取一個權重值,依據權重值對資源的進行劃分。用戶請求下載資源時,優先選擇權重相對大的節點作為下載源。
(4)通過以上方法節點可擁有一個資源索引表,接下來主要考慮當節點離線、失效、移動時如何維護此索引表,使得其繼續有效的前提下,能夠依然保持資源按權重進行排列。依上所述生成相對較優的資源索引表的步驟如圖1所示。
1.1.2 資源索引表的維護
節點移動或節點狀態發生變化時對索引表的維護:在索引表建立起來的基礎上,不斷發送探測報文獲取資源的有效性及資源相關屬性值。
(1)如果資源不可用,則從索引表中刪除。
(2)如果節點暫時離線導致資源不可用,則將其對應的權重值賦為0。
(3)如果依據探測到的屬性值發現一定時間內不再高效,則依據算法重新計算權重值。
(4)如果發生節點移動或者節點添加的情況,則重復1中的操作。
影響共享資源的效率的因素有很多種,在此僅考慮數據傳輸率、時延、跳數和丟包率。如何在保證數據傳輸率高、時延低、跳數少、丟包率低的前提下,選擇出相對較優的節點作為下載源涉及到多目標規劃問題。求解多目標規劃方法[15~16]大體上有三種方法:化多為少的方法;分層序列法;層次分析法。分別對這三種主要的方法進行分析,根據移動P2P的特點,可知對于高度動態性的移動P2P網絡,維護有效的資源索引表,采用層次分析法比較合適。
2 基于層次分析法優化資源索引表
針對數據傳輸率、時延、路數和丟包率這三個準則,采用層次分析法獲取資源索引表中,各資源對應節點的權重,更新資源索引表,使得每次共享資源時都優先選擇權重大的節點,從而提高共享效率。
Step1:分別用Rate、Delay、TTL、Lost表示數據傳輸率、時延、路數和丟包率;N表示結點;m取為自然數,作為節點下標,用于區分不同的節點;1<=k<=m。
Step2:建立層次結構模型,如圖2所示:
Step3:依據準則層不同因素的重要性,構造判斷矩陣,記為Matrix,維數記為Dim;
Step4:計算Matrix的最大特征值,記為,然后依據判斷Matrix的一致性,如果矩陣不滿足一致性,則返回step3,重新構造判斷矩陣;否則繼續;
Step5:記對應的最大特征向量為U=[Rate_v,TTL_v,Delay_v,Lost_v],將其標準化得到向量U=[Rate_v,TTL_v,Delay_v,Lost_v];
Step5:構造各個因素的成對比較矩陣,獲取其各自的重要度及其權向量,依次記為: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:依據U及Rate_U、TLL_U、Delay_U和Lost_U,計算方案層各個節點的權重值,如Ni的權重值記為Ni_value:
Ni_value=(Ni_r*Rate_v+Ni_t*TTL_v +Ni_d*Delay_v+Ni_l*Lost_v)/Dim;
Step7:最后依據節點的權重值進行排序,得到依此權重值排序的資源搜索表。
如此以來,每當用戶共享資源時,都會從資源索引表中取出權重值相對大的節點進行下載,保證了下載的可靠性和速度。
3 結論
本文給出了移動環境下P2P的特點及其面臨的問題,研究了在動態網絡環境下資源索引表的維護及多目標規劃技術,給出了應用層次分析法維護資源索引表的一種策略。如果不對資源索引表進行相關的維護,在用戶共享資源時勢必引發多個連接,消耗較多的網絡資源,同時要求移動終端擁有更強的處理能力;通過對資源索引表中的信息進行優化,用戶共享資源時,總是選擇相對較優的節點進行下載,這在一定程度上緩解了以上問題。
參考文獻
[1] 蔡康.P2P對等網絡原理與應用[M].北京:科技出版社,2011.
[2] 張春紅.P2P技術全面解析[M].北京:人民郵電出版社,2010.
[3] Frank H.P.Fitzek,Hassan Charaf.Mobile Peer to Peer(P2P)[M].美國:Wiley,2009.
[4] Daniel Brookshier.Jxta:Java P2P Programming[M].美國:Sams,2011.
[5] Gradecki.Mastering Jxta:Building Java Peer-to-Peer Applications[M].美國:John Wiley & Sons,2011.
[6] 許斌.JXTA-JavaP2P網絡編程技術[M].北京:清華大學出版社,2003.
[7] RobertFlenner.JavaP2P技術內幕[M].高嶺,譯.北京:人民郵電出版社,2003.
[8] 管磊.P2P技術揭密:P2P網絡技術原理與典型技術開發[M].北京:清華大學出版社,2011.
[9] 中國互聯網絡信息中心[EB/OL].中國互聯網絡發展狀況統計報告,2009.
[10] 崔勇.無線移動互聯網:原理、技術與應用[M].北京:機械工業出版社,2012.
[11] 鄭蘭,程鵬.移動互聯網[M].北京:清華大學出版社,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] 歐中洪,宋美娜.移動對等網絡關鍵技術.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] 劉淳安.動態多目標優化進化算法及其應用[M].北京:科學出版社,2011.