雷凤君 柳保燕
摘 要:随着移动互联网和科学技术的发展,以及移动终端的普及和自身能力的增强,使得在移动环境下开展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.