现在的位置: 首页 > 综合 > 正文

P2P存储在云计算时代的新的机遇

2013年09月11日 ⁄ 综合 ⁄ 共 3084字 ⁄ 字号 评论关闭

轉載自:http://www.ccf.org.cn/web/resource/cccf/200906/200609-9.pdf  有刪節.

 

按照目前的普遍认识,云计算的背后是提供商所拥有的大型数据中心,少则上千台服务器,随着需求的增加,规模还在不断扩大。有消息报道[2],谷歌的数据中心拥有数十万台服务器,并在不断增长中。这很容易使人联想到下列问题:

云计算中的存储服务是否将由拥有巨大资源的互联网巨头唱主角?

如果未来的趋势是都依赖云存储,云提供商要无限扩大资源,即使是付费提供服务使得他们有财力扩充硬件设施,这种扩充在技术上有没有边界,会不会导致有一天达到一种管理上的极限?

当我们越来越依赖云的时候,云存储能保证数据永不丢失吗?

如何应对云计算所遇到的特有挑战?

 

除了云存储,有没有其它的存储形式也能胜任日益增加的对巨大存储容量的需求,或者是对云存储的一种补充? 

我们的回答是P2P存储系统。

P2P存储系统,广义上是指存储节点以一种功能对等方式组成的存储网络,既可以完全由统一管辖的服务器节点以对等方式组成的封闭式P2P系统,又可以是完全由用户桌面机组成的开放式P2P系统,还可以是服务器与桌面机共同以对等的方式组成的混合存储系统。因此说,P2P技术既可用来组织专业的大型存储服务,又可以用来组织闲散的桌面机资源形成互助存储网络[5]。在这里我们需要指出,本文所说的P2P存储,专指基于普通用户机器的开放式的P2P存储系统。

 

P2P系统的研究是从20世纪90年代末开始的,短短几年,P2P文件共享和P2P流媒体就取得了巨大的成功,确定了P2P应用作为互联网的主流应用的地位。但是从P2P存储的角度来看,虽然很早就出现了以Oceanstore[6]为代表的P2P存储系统构架,但是并没有成熟的P2P存储系统得到广泛的、实际的应用。

 

笔者认为至少有三个原因:

第一是组织形式。如果存储系统是建立在用户的桌面机的基础上,系统中的用户从哪里来?如果加入系统的用户除了提供空间而本身没有收益,他们为什么要加入P2P存储系统?

第二是核心技术没有解决。存储应用所要求的可靠性和持久性与P2P本身的动态性是一对矛盾,如果没有一种有效解决节点动态性的方法,P2P存储就无法真正得到广泛应用。

第三就是安全性和私有信息保护的问题。
这三点在以往的P2P存储系统的研究中都没有得到全面的回答。

现在,让我们来尝试回答这三个问题。

首先,我们提出在P2P共享系统上构建P2P存储系统。利用现有用户资源,由用户提供一定的空闲存储空间,来为用户提供一个可靠的存储服务,同时,在系统中存储需要长期保存的公共资源。这就是P2P“共享存储”系统。
北京大学网络实验室曾经在2003年开发了P2P文件共享系统Maze。

 

北京大学网络实验室实现了这样一个“云”,在原来的共享系统Maze中,增加了存储(Store)的功能,就是
AmazingStore[7]。

AmazingStore向P2P共享系统的用户借用少量的存储空间,统一管理起来,构成虚拟存储池,共享用户越多,虚拟存储池的容量就越大。虚拟存储空间可以为用户提供网络硬盘功能,实现异地存取,还可以用来存储
冷门文件。有一种说法,P2P文件共享系统,是把注意力用到了占所有资源的20%的热门资源,而对那剩余的80%的资源却无所作为。AmazingStore试图改变这种现象,希望利用用户的空间,加上有效的检索机制,把剩余的80%的资源保存起来,提供资源查找服务。

 

当然,在P2P共享系统上搭建P2P存储系统,在技术上同样面临很大的挑战。P2P共享系统中每个节点都可能随时、暂时或永久地离开系统,而数据存储在用户的机器上,一旦某节点暂时离开,存在其上的数据就将暂时不可访问,而节点的永久离开更会造成数据的丢失。

 

冗余是保证可靠性和可用性的基本手段。

在P2P存储系统中采用冗余技术需要解决的两个最关键问题是:

第一,P2P存储系统软件必须能够保证系统中有一定量的副本数被保存在在线用户的节点上,以保证可用性;

第二,必须能够及时判断用户是否永久离开系统,以便修复出新的副本到其它节点上,以保证可靠性,对P2P存储来说,这是更严峻的问题。目前AmzingStore已经做到了这一点。

 

 

系统的三个重要的特点是:
1. 采用簇结构,实现可扩展性,利用稳定节点作为簇管理器,保证稳定性。
2. 判断用户节点的永久离开,及时恢复下线的节点上的数据。
3. 采用高效的修复策略,合理的控制副本数,最大程度减少用户负担,达到可用性和存储空间的平衡。

 

接下来,展望一下P2P存储的未来发展。
在文献[1]中提到“私有云”的概念,专指那些商业企业或其他组织的不对公众开放的内部数据中心。这样的应用形式可以有很多种。除了北京大学网络实验室实现的P2P共享存储系统,P2P存储技术可以帮助社会网络实现“私有云”。

社会网络有大量的用户群,一般都在数百万甚至上千万,每时每刻都在产生新的数据、日志和图片等等,如果这些数据都要由经营社会网络的企业自行提供机器来保存的话,开销无疑是巨大的。如果借助于P2P存储技
术,把数据保存在P2P云中,取之于民,用之于民,至少可以在以下方面期待效果:
● 减少硬件的投入和容错,节省大量的资源。
● 在数据分发上,把好友关系考虑在内(因为好友之间的数据是公开的),数据保存在好友之间,这样可以简化数据做安全和隐私保护的措施,大大降低管理成本。
● 利用好友的区域特点进行数据的分发和调度,得到更好的下载性能。
● 还可以进一步设想,P2P存储的集中灾害的隐患小,不存在散热问题。

我们的结论是,社会网络与P2P存储相结合,或许对双方都是一个新的契机

 

 

[1] Michael Armbrust, Armando Fox, Rean Griffith,Anthony D. Joseph, Randy Katz, Andy Konwinski,Gunho Lee, David Patterson, Ariel Rabkin, Ion Stoica, and Matei Zaharia, Above the Clouds: A Berkeley View of Cloud Computing , http://radlab.cs.berkeley.edu

[2] http://www.3gahz.com/html/wap/wap/2009/0228/728.html

[3] Harry Archer ,Predictions 2009: BT on Security and the Cloud, posted by http://searchsecurity.techtarget.com.au/articles/28121

[4] http://server.51cto.com/IDC-85465.htm

[5] 田敬,代亚非,P2P持久存储研究综述 软件学报,Vol. 18,No.6, 2007

[6] Kubiatowicz, J, C Wells, B Zhao, D Bindel, Y Chen, S Czerwinski, P Eaton, D Geels, R
Gummadi, and S Rhe a, Oc e anStor e: an architecture for global-scale persistent storage.
Proceedings of the ninth international conference on Archi tectural suppor t for programming languages and operating systems, 2000: p. 190~201

[7] http://amazingstore.grids.cn

抱歉!评论已关闭.