P2P存储是基于P2P(Peer-to-Peer)技术实现的一种网络存储,将很多机器用对等的方式组织起来共同为用户提供超大容量的数据存储服务1。
P2P介绍P2P 的全称是 Peer-To-Peer,其字面的意思是:对等、点到点的意思。P2P 是一种网络模型:一种架构。
在互联网上的网络技术。它是计算机网络和分布式系统结合的产物,核心思想是去掉了中央服务器的概念,将互联网建立在对等互联的基础上,实现最大程度的资源共享。
除了字面理解 P2P 的意思,还可以给出更严格的定义:
① P2P 网络以互联网为基础,并具有互联网的所有基本性质。
② P2P 网络中有两种基本的行为:一种提供资源;另一种是消费资源(接受
资源)。
③ 组成 P2P 网络的所有结点之间的关系都是对等的,且同时都具备(2)中
的两种行为。
④ P2P 网络依赖于节点的存在,且节点可以自由地加入或退出。
⑤ 当有 Peer 加入或退出时,P2P 网络仍保持上面 4 种性质。
一个完整的 P2P网络模型如下图1 所示。
P2P 的分类根据拓扑结构的不同。可以将 P2P 网络分为集中式 P2P 网络、全分布式 P2P 网络和混合式 P2P 网络。
① 集中式 P2P 网络
集中式 P2P 网络不是完全意义上的 P2P 网络,它有一个中央服务器,掌握着整个网络的节点信息和文件信息。当某个节点 A 想要加入到网络中来时,它会向中央服务器发送一个注册信息,包括了节点本身的信息和节点上的文件信息。如果另外一个节点 D 想要访问 A 上的某个文件时,D 就向服务器发送请求信息,中央服务器就给 D 返回 A 注册时的信息 M。然后 D 就根据信息 M 与 A 通话。这种结构的 P2P 网络有一个明显的缺点,就是如果服务器的性能不够好,那面对大量的访问,一旦服务器出现故障,整个系统也就陷入瘫痪。典型的集中式 P2P
网络是 Napster。
② 全分布式 P2P 网络
全分布式 P2P 网络中的每个节点都既充当服务器又充当客户端。根据节点的组成结构不同,可以分为结构化 P2P 网络和非结构化 P2P 网络两种。
1) 全分布式结构化 P2P 网络全分布式结构化 P2P 网络是一种基于分布式散列表(Distributed Hash Table,
简称 DHT)技术来组建的网络,可将大量的结点信息组织起来,形成一个巨大的散列表。网络中的所有结点共同维护这个表,每个结点维护表的一小片区域。DHT把文件的信息和存储文件节点的信息形成一个键值对,在全分布式结构化 P2P 网络中可以很方便地寻找出自己想要的资源。缺点是在网络中节点高频率地加入和退出的时候,系统需要花费很大的开销来维护 DHT。
2) 全分布式非结构化 P2P 网络在非结构化 P2P 网络中,信息定位不严格,文件自由地存储在节点上。这种结构的网络构建也比较简单,是基于完全随机图。与结构化 P2P 网络相比,非结构化 P2P 网络的优点就是能够适应网络中的动态变化。非结构化 P2P 网络采用的是洪泛机制搜索文件[13,14],缺点就是当网络中的结点不断增加,将造成网络流量增加,造成网络性能急剧下降。
③ 混合式 P2P 网络混合式 P2P 网络中,按节点能力不同区分为超级节点和普通节点。超级节点具有更高性能,把它周围的普通节点聚集形成一个小区域,可看成是一个小型的集中式 P2P 网络。另外,可根据超级节点的性能的不同。,选择超级节点中性能更优的节点超级节点的“超级节点”。混合式 P2P 网络结构如图3 所示。KaZaa 就是一种混合式 P2P 网络。
P2P存储对于传统的分布式系统,无非是在不同的区域搭建一些服务器,然后再在这些服务器上存储数据。它解决了一些集中式存储的问题,但是也存在着比如服务器成为瓶颈、由于带宽而带来的访问不便等问题。因此,p2p分布式存储应运而生!
p2p分布式存储,他的总体思想就是让客户也成为服务器,当你在存储数据的同时,也提供空间让别人来存储。这就很好的解决了由于服务器很少而产生的瓶颈,也能在速度上加以改进。但是同样它也带来了很多的问题:(1)数据稳定性、(2)数据的一致性、(3)数据的安全性和隐私性、(4)数据的防攻击性。当然还有技术上的难题,比如覆盖网络和节点信息收集算法,数据的放置与组织,复制管理,负载平衡,数据迁移,数据索引,公平性维护。
现有的p2p分布式存储主要分为两种类型:p2p存储服务系统,主要是采用许多服务器用对等的方式整合起来,来提供服务的一类存储系统,比如现有的OceanStore,PAST,CFS,Tangler,Granary。还有一类便是p2p存储交换系统,主要构架是纯p2p的模式,用以实现数据的备份,当然用户得付出一些代价。现有的系统如Freenet, Nations, Pastiche, FARSITE.
p2p存储系统体系结构.无论是p2p存储服务系统还是p2p存储交换系统,他们的基本体系结构都是相同的,主要是一下的5个层次:覆盖网和信息收集,基本数据放置和组织,数据放置和组织优化,基本的系统映像和系统映像的转换与上层应用。
优点对等结构(P2P)从用户的使用方式来看,系统中每个用户既向其他用户提供资源,也从其他用户那里获取资源。从体系结构来看,无中心结构,结点之间对等,通过互相合作来完成用户任务。P2P结构的优点表现在:没有中心结点,不易形成系统瓶颈、不易受攻击,可扩展性好,自组织性好。
P2P存储系统介绍现有的许多p2p分布式存储系统比较。首先是最早的分布式存储系统OceanStore,它利用Tapestry路由机制,支持对大量复制的移动数据的串行化更行策略,提供了专门的存储,在架构上采取了自己的专用服务器,来保证数据的稳定性,一致性与安全性,在很多策略上都值得我们借鉴,但是是需要客户付费,而且设计很复杂。然后我们介绍另外一种分布式存储系统PAST,它也是基于存储服务的,它与OceanStore最大的不同就是设计是一切从简的。它采用Pastry提供的路由机制,试图利用网络中限制的存储节点建立一个更为完善的存储语义。主要是向用户提供了一组key-value对的数据存储,在解决负载均衡方面也有其独道之处。最重要的是它不支持并发访问,即它只提供个人存储,不提供共享。最后我们讨论一下基于p2p存储交换系统——Pastiche,它主要用来进行备份操作系统。由于该系统不提供服务器存储,所以用户提供了一定的空间但不一定他能享受同样大小的空间,比如一个用户提供了1G空间,但最后他可能只能享受500M或者更小,因为其余的空间需要进行复制策略。但是由于操作系统的文件重复率很高,所以在复制时可以减少一定的冗余量。
本词条内容贡献者为:
李嘉骞 - 博士 - 同济大学