基于P2P系统的分布式查询算法的研究

基于P2P系统的分布式查询算法的研究

论文摘要

对等网络(P2P,Peer to Peer)是一种资源(计算、存储、通信与信息等)分布利用与共享的网络体系架构,与目前网络中占据主导地位的客户机/服务器(Client/Server,C/S)体系架构相对应。基于Web应用,使C/S结构获得巨大成功。但在这种体系架构下,网络的能力和资源全部集中在中央Server,它们成为网络开放和能力扩展的瓶颈。与C/S网络架构相反,P2P的网络架构在进行媒体通信时不存在中心节点,节点之间(Peer)是对等的,即每一个节点可以进行对等的通信,各节点同时具有媒体内容(Content)的接收、存储、发送和集成及其对媒体元数据(Metadata)的搜索和被搜索功能等。这种网络架构所带来的优点使P2P网络各节点的能力和资源可以共享;理论上说,网络的能力和资源是P2P各节点的总和。在P2P体系架构中,内容不再集中在网络的中央Server,而是分布在靠近用户的网络边缘的各P2P节点上。P2P技术的应用使得业务系统从集中向分布演化,特别是服务器的分布化,克服了业务节点集中造成的瓶颈,大大降低系统的建设和使用成本,提高网络及系统设备的利用率。在典型的P2P网络中,数据资源分布在各个独立的节点上,如何高效地索引、查找、定位以及访问这些数据信息资源是一个重要问题。最新的成果都是基于DHT(Distributed Hash Table)的分布式查找和路由算法,DHT在应用层上把所有的P2P节点组织成一个结构化的重叠网络,文件索引分布其中,查询报文将通过这个重叠网络路由。DHT通过分布式哈希函数,将输入的关键字唯一映射到重叠网络中的某个节点上,然后通过某些路由算法同该节点建立连接。典型的这一类P2P网络拓扑结构模型有CAN、Chord、Pastry、Tapestry等。本文在第2章对DHT系统中的各种模型进行了详细叙述。目前DHT还面临许多问题,最大的问题之一就是DHT在初始设计时忽略了参与节点在物理网络上的邻近性,导致重叠网络和物理网络联系小,即DHT未能充分利用底层物理网络的拓扑信息。这种资源定位方法会影响数据的本地化,通过DHT可能把一个本地的数据映射到和本地节点在物理距离相差较远的节点上,从而造成实际的寻路效率低下,资源定位的代价比较大。因为路由算法是DHT的核心,所以提高DHT寻路效率是当前基于DHT的P2P研究的重点,具有很重要的意义。本文在参考了上述技术之后,结合P2P网络的新特点和资源定位的特点,围绕DHT寻路效率的改善,提出了优化的方案,并对该方案进行了性能分析。通过分析阐明了这些方案能有效地改善现有DHT寻路效率。本文的主要工作和贡献如下:1.提出双向路由结构的Chord环。在基于DHT的Chord的路由表中,只存在顺时针的路由信息,寻路只能沿顺时针进行,但当目的节点落在从当前节点开始的沿顺时针方向的后半环时,逆时针查找所经过的跳数可能会比顺时针查找的跳数少,寻路时延也会降低。为此提出在节点的路由表中增加逆时针路由,使查找可以在两个方向上选择一个相对好的路由跳转,即跳到离目的节点最近的节点,这样可以减少查找的逻辑跳数,缩短寻路时间,提高查询效率。2.提出基于B+树的分布式哈希表路由结构。B+树结构是一种有序的平衡的多叉树,可以通过B+树为P2P网络中的节点标识符建立树型索引,以实现范围查找。这种结构组织的节点标识符索引在进行关键字查找时,通过索引可以将查找范围缩小到很小的区域,使得查找更为快速有效,查询的跳数减少,并能够使查找长度控制在B+树的高度内。3.提出基于IPv6的层次化路由结构。由于IPv6地址的结构具有层次性和聚集性,可以利用IPv6的层次化地址分配来做到路由聚集,以解决基于DHT的P2P系统中重叠网络和物理网络脱节的问题。网络中的寻路时延主要是域间的时延,而域内的时延相对较小,因此若想减少查询时间,就必须减少域间的跳数。网络中的节点使用IPv6地址,通过对IP地址的不同部分分别进行哈希函数运算,构造分层次的节点标识符,使得处于相同子域内或互为近邻的节点在重叠网络中也能够彼此邻近,这样逻辑网络与物理网络更加匹配,域间跳数减少,查询效率提高。4.提出一种基于Chord的P2P数据库模型。通过以上对DHT的三点改进,在基于Chord的重叠网络上构建了一种P2P系统的数据库模型——本地关系数据库模型LRM,旨在解决客户机/服务器方式的分布式数据库系统存在的瓶颈节点,以及为保持节点间的数据一致性而增加的网络传输负荷问题。通过实例分析了模型中各对等节点之间通过域关系进行的数据传输,以及如何实现各节点之间的一致性规则。实例表明采用LRM的数据库系统降低了节点之间的数据通信量,使得各节点能够提供更灵活的数据和服务共享,提高了系统的可靠性。

论文目录

  • 中文摘要
  • ABSTRACT
  • 第一章 绪论
  • 1.1 研究背景及现状
  • 1.2 P2P系统网络模型
  • 1.2.1 P2P概述
  • 1.2.2 P2P系统拓扑结构
  • 1.2.3 国内的P2P研究现状
  • 1.3 研究内容和创新点
  • 1.4 论文结构
  • 第二章 分布式哈希表算法
  • 2.1 分布式哈希表概述
  • 2.2 Pastry
  • 2.2.1 Pastry的设计
  • 2.2.2 Pastry的路由过程
  • 2.2.3 节点加入和退出
  • 2.3 CAN
  • 2.3.1 CAN的设计
  • 2.3.2 CAN的路由
  • 2.3.3 节点加入和退出
  • 2.4 Tapestry
  • 2.4.1 Tapestry的设计
  • 2.4.2 Tapestry的路由
  • 2.4.3 节点加入和退出
  • 2.5 Chord
  • 2.5.1 一致性哈希
  • 2.5.2 Chord的路由
  • 2.5.3 节点加入和退出
  • 2.6 结构化P2P资源定位方法小结
  • 第三章 基于双向路由结构的Chord环
  • 3.1 Chord扩展路由分析
  • 3.2 双向路由
  • 3.3 删除冗余路由项
  • 3.4 性能分析
  • 第四章 基于B+树的分布式路由结构
  • 4.1 一致性哈希模型
  • 4.2 树型路由
  • 4.2.1 B+树结构
  • 4.2.2 基于B+树的路由结构
  • 4.3 节点的查找、加入和退出
  • 4.4 性能分析
  • 第五章 基于IPv6 地址的层次化路由结构
  • 5.1 IPv6 地址聚类性
  • 5.1.1 IPv6 地址分类
  • 5.1.2 IPv6 单播地址
  • 5.1.3 IPv6 单播地址格式
  • 5.2 基于 IPv6 地址的 Chord 环
  • 5.2.1 节点标识符结构
  • 5.2.2 IPv6 Chord环的层次性
  • 5.2.3 IPv6 Chord环的路由结构
  • 5.3 性能分析
  • 第六章 基于Chord的P2P数据库模型
  • 6.1 模型的提出
  • 6.2 LRM语义模型
  • 6.2.1 关系空间
  • 6.2.2 关系空间上的一致性
  • 6.3 LRM的结构
  • 6.4 LRM的实例
  • 6.4.1 实例中的数据节点
  • 6.4.2 实例中的数据传输
  • 6.4.3 基于Chord的覆盖网络的建立
  • 6.5 性能分析
  • 第七章 总结与展望
  • 7.1 结论
  • 7.2 进一步的工作
  • 参考文献
  • 发表论文和科研情况说明
  • 致谢
  • 相关论文文献

    标签:;  ;  ;  ;  ;  

    基于P2P系统的分布式查询算法的研究
    下载Doc文档

    猜你喜欢