首页 理论教育P2P系统简介|分布式数据库技术

P2P系统简介|分布式数据库技术

【摘要】:在P2P系统里,端点既扮演客户端也扮演服务器端。图中的左边是常见的C/S系统,右边是典型的P2P系统,中间则是兼顾两者的混合系统。图16.1P2P系统和其他系统的简单分类大多数P2P系统具备如下公共特征。不存在专用服务器的P2P系统称为纯P2P系统。这里,DHT显示了比非结构化的P2P系统更优的性能。

Peer-to-Peer(简称P2P)近年来大受追捧,特别是在文件分享领域。P2P体系结构的显著特点是分散的自组织(decentralized self-organizing),因此在其他领域也越来越受欢迎。随着技术的发展,P2P系统被赋予了更多的特征,例如,构筑可伸缩性和弹性的分布式系统、快速部署新服务等。

Ralf Steinmetz等在参考文献[1]中提及:

[a Peer-to-Peer system is]a self-organizing system of equal,autonomous entities(peers)[which]aims for the shared usage of distributed resources in a networked environment avoiding central services.

即P2P系统是一个由平等、自主实体(peers)构成的自组织系统,可以在联网环境里无需集中服务就能帮助分布式资源的共享。简言之,这是一个完全去中心化的自组织和资源应用系统。

P2P系统具备如下特征。

●去中心化的资源共享(decentralized resource sharing)。

✧感兴趣的资源(带宽、存储、处理能力)以一种尽可能平等的方式被使用,它们分布在网络的边际,靠近实体。

✧在一组实体里,每个实体会使用其他实体提供的资源。

✧实体通过网络互联,大多数情况下全局分布。

✧实体的IP地址是可变的,换言之,该实体不是始终按固定的IP地址访问的,这称为瞬时链接(transient connectivity)。这类实体很可能长时间断接(disconnected)或关机。数据不再是按其所处位置编址(即服务器地址),而是按其本身的内容编址。

●分散的自组织:

✧为了使用共享资源,实体直接与其他实体交互。一般来说,这种交互无需借助任何集中控制或协调。不同于客户端/服务器(C/S)系统结构,P2P系统以平等伙伴形式建立协作。

✧实体直接访问和交换共享资源,无需使用中心服务,是一个去中心的基础控制结构。出于性能考虑,也会引入某些中心成分,例如有效的定位资源。这样的系统称为混合式P2P系统。

✧在P2P系统里,端点既扮演客户端也扮演服务器端

✧端点间是平等的伙伴关系,功能对称。每个端点就其自己的资源而言是独立的。

✧理想情况下,资源处于自己的位置,没有中心实体或服务。整个系统控制在自组织或ad hoc(临时)形态下。然而,基于一些原因,很难达到这个目标,所以常呈现介于C/S结构和纯P2P结构之间的混合结构。(www.chuimin.cn)

P2P系统和其他系统的简单分类如图16.1所示。图中的左边是常见的C/S系统,右边是典型的P2P系统,中间则是兼顾两者的混合系统。

图16.1 P2P系统和其他系统的简单分类

大多数P2P系统具备如下公共特征。

●端点既可以是服务器,也可以是客户端的计算机。

●P2P系统至少有两个及两个以上的端点。

●端点间可以直接交换资源,如文件、存储、信息、CPU计算能力和知识等。

●在P2P系统中虽然可以出现专用服务器,但其角色局限于让端点互相发现。不存在专用服务器的P2P系统称为纯P2P系统。

●端点可以自由地加入和/或退出系统。

●端点可以属于不同的所有者,一般一个P2P系统中会有几百万个所有者。

更进一步,可以把P2P系统分成非结构化的P2P系统(unstructured peer-to-peer system)和结构化的P2P系统(structured peer-to-peer system)两类。

1.非结构化的P2P系统

第一代P2P系统是基于文件共享应用的,称为非结构化的P2P系统。典型样例如音乐分享系统,各终端借助访问中央服务器来定位终端需要的数据项的位置,然后将该位置上的终端文件分享给请求终端。这就是图16.1中的混合形态。也有纯P2P的文件共享系统,如Gnutella,使用泛洪技术(flooding technique),即查找请求并发送给系统中的所有参与端,直到有人响应为止。

2.结构化的P2P系统

近年来,分散的自组织系统(decentralized self-organizing system)受到了广泛关注,研究人员开始研究分布式的、内容可编址的数据存储结构(即分布式索引结构)。分布式索引结构、分布式哈希表(distributed Hash table,DHT)被开发出来,它们提供了可扩展性、可靠性和容错性。这里,DHT显示了比非结构化的P2P系统更优的性能。