论文部分内容阅读
互联网和个人计算机的发展使得P2P网络作为一种新的计算模式正在被越来越多的个人、公司、政府和组织所使用。P2P网络允许计算参与者通过互联网直接共享他们的资源。由于P2P网络固有的不确定性、分布性和开放性特点,P2P网络在规模增大和应用普及的同时也面临着严峻的挑战。由于P2P网络中资源分散地存储在每个节点上,因此高效管理这些规模巨大的资源也变得越来越困难。资源定位是P2P网络研究的重要课题,一直以来受到研究者们的广泛关注。资源定位旨在通过建立资源索引向服务使用者提供快速访问目标资源的服务。本文系统回顾了P2P网络中资源定位研究的发展历程,分析了相关研究领域取得的成果,总结了非结构化P2P网络中资源定位的关键技术和所面临的难点。文中以互联网为背景,从优化覆盖网络拓扑结构、提升模型容错能力和提高资源定位算法效率三个方面入手,针对大规模非结构化P2P网络资源定位所面临的几个关键问题进行了深入研究并取得了如下成果:(1)针对非结构化P2P网络拓扑结构的不匹配问题,提出一种定位感知的分布式生成树模型LAST。模型选用通信延迟作为底层网络节点间距离;通过定义度量空间和节点间距离给出模型中邻近节点判定依据及邻近组选取规则;通过(a, b)编码树给出LAST覆盖网络的逻辑定义。LAST覆盖网络中,节点通过组织管理算法加入和离开覆盖网络。数学分析和仿真实验表明,LAST模型具有小世界性质;相比分布式生成树模型,对数时间复杂度的节点组织管理算法使得LAST模型具有较好的自适应性和负载均衡性,定位感知能力使得LAST模型可降低60%的平均距离和40%的平均延迟。(2)针对非结构化P2P网络鲁棒性差的问题,提出了一种容错增强的FT-LAST模型。在LAST覆盖网络研究工作的基础上,首先给出了节点关系向量相似的定义,然后基于节点关于关系向量相似性给出了代表元选取规则RBRS。在未增加冗余连接和副本数量的前提下,采用主动方式以较小的开销增强了模型的容错性。仿真实验表明,FT-LAST模型显著减少了关键节点出现的概率,且在随机错误概率低于65%时模型依然保持连通;给出了FT-LAST模型对特定错误容错的数学分析结果,当N个网络节点中有f个失效时,最多造成O(f / (log N ? log f ))个节点丢失,其性能优于同类其它模型。(3)针对非结构化P2P网络采用泛洪方式搜索资源开销大、效率低的问题,提出了搜索半径限制的资源定位算法SRL。在FT-LAST模型中,首先给出了搜索半径的定义,并通过限制SRL算法的搜索半径减少泛洪方式的网络开销;然后给出了SRL算法的四种搜索策略,系统可根据任务紧急程度和用户级别灵活地配置使用不同搜索策略;进一步给出了在确保搜索结果满意度的前提下确定搜索半径的依据,通过限制消息传播提高了SRL算法的效率。数学分析证明了SRL算法具有常数阶的时间复杂度;仿真实验表明SRL算法的性能优于同类其它算法。(4)设计实现了一种基于FT-LAST模型的应用服务平台FlasWire。FlasWire以最为流行的Gnutella开源客户端软件LimeWire为基础,通过扩展Gnutella协议模块,使得FlasWire节点可组建具有定位感知能力和较强容错性的FT-LAST覆盖网络;通过增加基于SRL算法的资源定位模块,可提高泛洪方式资源定位的效率并降低网络开销。由于FlasWire平台设计和实现基于开放框架和协议,方便第三方进行平台扩展和快速二次开发。