论文部分内容阅读
随着互联网社交网络应用的流行,基于社交网络的P2P应用也渐渐涌现。社交网络的最大特点是网络中的节点是建立在真实的社交关系之上。朋友节点之间通常会有共同的兴趣爱好,并且网络中的节点更倾向于帮助自己的朋友节点。社交网络的这些特点可以降低P2P网络中节点“搭便车”的几率以及提高P2P网络中的资源搜索效率。另一方面,通常拥有较多朋友节点的网络节点会有更倾向于长时间停留在系统中,因此基于社交网络的P2P应用可以降低高动态性给网络性能带来的影响。因此利用社交网络的特性解决P2P技术固有的问题也为P2P的研究开辟了一个新的方向。BitTorrent作为P2P文件共享的典型应用,为了限制和惩罚系统中节点的“搭便车”行为,引入了一种Tit-for-Tat的阻塞机制,该机制有效的限制了系统中节点的“搭便车”行为。但与此同时,TFT阻塞机制也限制系统整体性能的提高。TFT阻塞机制会导致如下问题:(1)新加入节点得到“第一块”资源文件的问题。新加入系统的节点由于没有为所有的其他节点提供上传,因此根据TFT阻塞机制将无法得到其他节点的上传服务。(2)系统中节点对“僵持”的问题。系统中彼此发送资源请求的节点对,如果这对节点对彼此之前均没有为对方提供上传服务,那么根据TFT阻塞机制节点对将出现“僵持”,彼此都不会主动向对方先提供上传服务。因此在算法设计时,在考虑限制“搭便车”现象的同时,需要尽可能的降低系统中节点的启动延迟时间和下载完成时间。本文提出了一种基于社交网络的自适应阻塞算法来解决上述问题。该算法的主要创新点包括:(1)利用社交节点能重复“碰头”的特性引入服务历史贡献值,从而激励节点积极提供上传服务;(2)利用基于社交网络真实关系的节点之间具有的高信任度,节点不考虑朋友节点在最近短时间内是否有为自己提供上传服务,而主动选择社交亲密度最高的三个朋友节点和历史贡献值最高的一个其他节点;(3)自适应的阻塞算法。当节点的朋友节点列表中的节点数量不充足时,将解除阻塞的相应数量“名额”自适应分配给其他节点,从而充分利用系统中每个节点的上传带宽。最后利用仿真实验证实改进后的算法比传统的基于TFT的阻塞算法能有效的降低平均启动延迟时间和下载完成时间。