论文摘要
传统的P2P应用开发过程复杂、编程压力大,不同的应用之间孤立存在不能充分利用系统的资源。P2P平台开发的目的在于整合底层异构资源,为上层开发不同应用提供便利的接口,并且有利于资源的共享,提高系统利用率。而高效、稳定的拓扑管理机制是对等覆盖网平台的核心部分。但当前已有的拓扑结构大都是针对某一具体应用而设计的,比如中心化结构、全分布式结构、混合结构等,虽然各有优点,但其固有弊端决定了不能适用于像P2P平台一样的通用结构。为了解决以上问题,对等覆盖网平台Ripple采用了一种新的拓扑管理机制,构建了一个适合大规模P2P环境的通用型结构。该拓扑管理机制主要包括以下几个部分:整个网络结构分为两层,上层由部分服务能力较强的结点所组成的网状结构,下层则由服务能力较弱的结点组成的结点簇;强结点之间采用了基于延迟梯度分布构成的环状结构,能够避免全分布式非结构化模型洪泛机制的影响;弱结点除了有一个直接父结点进行管理外,还会维护两个备份父结点,有利于减少上层结点退出对底层结点可能造成的影响;强结点和弱结点的划分标准使用了基于能力值的评判方法,使得服务能力较强的结点作为强结点,服务能力较弱的结点作为弱结点,同时又能根据网络规模的动态变化而调整;资源搜索方法使用了TTL受限的Random Walker转发机制,同时增加了对稀缺资源的DHT搜索,提高了搜索的效率和可靠性。基于Windows操作系统和Visual.NET平台,采用C++语言开发实现了Ripple中的拓扑管理机制,并通过分析应用日志数据评估了系统的性能。分析表明:这样的结构有利于结点的加入与退出,登陆延迟均控制在1.6s以内;强结点的邻居结点数目和弱结点的父结点数目均接近理想状态;95%的强结点能力值在整个网络中是最大的,很好的平衡了系统负载;资源的搜索延迟在2s以内,搜索成功率为93%。测试表明,该拓扑管理机制有效的提升了整个平台系统的性能。