基于超级节点的P2P模型副本管理策略
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于超级节点的P2P模型副本管理策略
赵英;李侠
【摘要】随着计算机和网络技术的迅猛发展,对大容量分布式存储系统的研究已经成为当前热点.在分布式存储系统中,副本技术是一种最为常用的分布式数据管理机制.通过为系统中的文件增加副本,保存冗余的文件数据,可以十分有效地提高文件的可用性和可靠性.提出一种含超级节点的P2P模型,将大量分散的存储节点组织成一个逻辑存储网络.超级节点不仅用于存储"热点"文件的副本,而且还采用RAID技术进行数据备份,以进一步提高系统存储资源利用率和系统可靠性;针对一般节点的惰性,依据文件被查询到的概率,采用方根复制策略进行数据备份,在保证资源下载成功率的同时,进一步提高系统空间利用率.
【期刊名称】《现代电子技术》
【年(卷),期】2009(032)013
【总页数】4页(P100-102,112)
【关键词】分布式存储;P2P;备份;RAID
【作者】赵英;李侠
【作者单位】北京化工大学网络中心,北京,100029;北京化工大学网络中心,北京,100029
【正文语种】中文
【中图分类】TP393
0 引言
近年来,P2P技术在即时通信、文件共享及流媒体传输等应用领域均显示出了极大的优势,成为构建新型大规模互联网应用的主要结构和技术之一。
然而,要确保对这些海量分布数据的有效读取,是摆在P2P网络设计者面前的一个严峻挑战。
本文对分布式存储中文件副本备份策略进行了深入研究和分析,并结合对等计算的优势,提出了一种基于混合P2P结构的网络存储系统模型。
该系统为充分利用计算机的空闲计算资源、存储资源和带宽资源构建的分布式存储系统。
本文的创新点在于利用“热点文件”被访问频率高的特点,以及超级节点所具有的服务器性质,将RAID技术和方根复制策略组合应用于分布式存储系统,有效地保证了数据文件的可用性、安全性和可靠性。
1 相关工作
对等计算(Peer-to-Peer,P2P)系统是一种Internet应用,可以充分共享和利用大量自治的、参与者的资源。
它所关注的资源共享还包含大量低带宽和家庭桌面系统的环境。
因此,容错技术和扩展技术在P2P模型的应用中起着重要的作用[1]。
1.1 P2P拓扑结构
P2P拓扑结构如表1所示。
表1 P2P拓扑分类典型代表主要技术中心化拓扑Napster中心服务器非结构化拓扑Gnutella泛洪算法结构化拓扑PastryDHT
表1中三种结构均为适应P2P不同发展阶段具体问题而提出的P2P拓扑结构。
其中,中心化拓扑由于依赖服务器,容易造成单点故障;非结构化拓扑随着规模的扩大,性能会随之下降;结构化拓扑的维护机制较为复杂;半分布式拓扑将服务器任务分配到了超级节点,在安全性和服务质量上做出平衡。
本研究就是在半分布式拓扑的基础上保留了服务器节点,进而实现混合型P2P结构[2-4]。
1.2 副本技术
副本技术研究的主要问题是副本数量以及副本存放位置。
目前,最常用的副本管理策略有如下两种。
静态副本管理策略在文件创建时就确定了文件副本的数量和存放位置。
由于该策
略没有考虑文件“流行程度”,因此对于一些热门文件来说,系统中存储的副本数
量可能并不能满足查询的需求,容易造成瓶颈问题[5]。
动态副本管理策略在文件创建之后的整个生命周期之中,系统会根据当前状态的
变化不断地修改副本管理策略。
但是为了获得存储流行度的相关信息,每个节点的
负担就被大大加重了。
该管理策略也是本文研究的重点内容[6]。
2 系统的总体设计
系统的基本结构模型如图1所示。
图1 系统的基本结构模型
该模型中的节点由三部分节点构成:服务器节点、超级节点和一般节点。
所有节点之间均采用P2P通信方式进行连接。
服务器节点这些节点具有计算能力强,网络带宽高的特点。
它主要负责存储系统
中其他部分结点的用户相关信息,如用户注册的信息、在线用户的信息等,并负责维护和更新这些信息。
超级节点这些节点是按照一定的规则从一般节点中选择出来的。
在一般的情况下,纯粹的P2P系统中有0.77%的用户表现出在线时间长,上传、下载都很多的服务
器性质,这类用户通常被称为系统中的活跃型用户[3]。
在构建P2P系统的过程中,可以充分利用活跃型用户具有服务器性质的特点,将其构造成超级节点。
根据不同的网络情况,可以将同一域内的不同超级节点进行分组,每组最少2个节点,最
多则包含本域内的全部超级节点。
一般节点通常占总用户数的89.46%,其对系统的参与,无论是上传还是下载都极少,
表现出极强的惰性[7]。
3 副本管理策略
3.1 系统可用性
P2P系统的可用性通常是指P2P网络中的一个数据对象能被获取到的概率[8,9]。
其数学表示为:
在时间段[t1,t2]内,对象s的可用性为该对象或其副本在线时间长度T0与该段时间间隔ΔT的比值:
pΔT(s)=T0/(t2-t1)
(1)
本系统的主要应用是在有一定安全保证的情况下,尽可能提供给用户最大的存储资源空间,此时文件的副本管理策略就显得尤为重要。
本系统用于保证传输的副本放置策略主要分为以下两个部分:热点文件和方根复制策略。
3.2 热点文件
假设网络中有n个节点,m个数据对象,qi表示对第i个数据对象的查询概率,显然:
(2)
假设将数据对象被访问到的概率从高到低排序,那么这里第i个数据对象被访问到的概率正比于i-a。
一般情况下绝大多数对象被访问到的概率都比较低,只有少数对象非常高,这里设阈值为qk,即凡大于该阈值的数据即为热点数据(文件)。
对于Napster,Gnutella等网络的测量都表明:网络中的数据对象查询遵循Zipf-like分布。
即:qi∝1/ia
(3)
3.3 采用方根复制策略进行数据备份
对于一般节点,由于单点失效概率比较大,所以应该在不同的节点上放置更多的文件副本。
具体来说,假设要求某个数据对象的可用性为a,单个副本的可用性为p,那么副本数r应该满足:
r=log(1-a)/log(1-p)
(4)
所以:当p=0.5且要求的可用性为a=0.999时,副本数量应该为10份。
但是由于一般节点的可用性相当低,造成若想达到目标可用性,需要的副本数量将相当多,这将消耗大量的存储空间资源。
所以本研究将文件的副本按照其查询概率来分类,文件被查询的次数越多,则在网络中的副本数也越多。
其数学模型描述如下:
在一般节点中保存的文件副本数量与查询概率依然符合Zipf-like分布。
假设对象i 被复制到ri个节点,网络中所有一般节点所含对象副本总数为R,即:
(5)
典型数据的复制方法有三种,分别是均匀复制、比例复制和方根复制。
本文采用方根复制的方法。
其含义为数据对象复制的份数正比于它被查询到概率的平方根[8],即:
(6)
具体的来说是:
)
(7)
由此方法可以得知,随查询概率的不同而产生文件副本的具体数量不同。
只要在系统中备份对应概率的文件,就可以保证系统的可用性。
由于副本数量正比于查询概率,所以在系统中很少被查询的文件所占用的系统空间也是相对很少的(对比之前的理想目标,即便很少被查询到的对象也会占用完全相同的系统空间)。
3.4 采用RAID技术进行数据备份
如果超级节点采用普通的文件备份策略,即靠增加副本数量来提高获得文件的可用性,则大大浪费了超级节点本身所具有的服务器特性。
于是,为了提高系统性能和存储利用率,为超级节点设计了RAID的方式,以进行文件备份。
需要指出的是,RAID的可用容量一般来说要小于成员容量的总和。
通常,RAID 的可用容量是成员磁盘容量的50%~90%[10]。
为减小容量开销额,通常采用的办法是校验冗余。
与镜像冗余不同,校验冗余是把一个或多个磁盘驱动器上的数据校验值(而不是数据本身)备份到另一个驱动器上。
在3个磁盘组成的RAID系统中,数据磁盘为d1和d2,校验磁盘为d0,其算法为:
d0=d1XORd2
(8)
此时磁盘的利用率为66.67%。
当d2磁盘内容失效时,可依然采用异或算法由d0和校验磁盘d1恢复其数据,如式(9)所示。
d2=d1XORd0
(9)
把此概念应用到网络上,如果节点本身能够保证连续在线时间,那么从整个系统的角度来看,长期在线的超级节点就是分布在不同地理位置的稳定的磁盘驱动器,而其保存的主要内容为系统中热点文件。
当然,减少冗余额外开销是需要代价的。
当同一组内有2个超级节点同时失效的
时候,这组所损失的数据就不可挽回,这当然是系统不愿意的,所以增加组内的超级节点数,实际上是在牺牲性能和可靠性来降低额外的开销。
解决的方法是增加分组,而不是在组内增加节点。
应用于超级节点的RAID技术还有一点与本地RAID技术不同。
在超级节点应用的RAID技术中,当磁盘数据丢失的时候,采用异或算法在丢失数据的节点进行数据恢复。
但在P2P环境中,超级节点也是有可能失效的。
此时,数据就不能恢复在原来的节点上了。
具体情况如下:
(1) 当校验节点d0失效时,由于在同一组内数据磁盘都没有受任何影响,进而不会影响到系统的稳定性,此时可以寻找新的超级节点作为校验盘,或者等待本组校验盘恢复。
(2) 当数据节点d2失效时,本组的校验盘d0即把丢失的数据恢复到本地,保证系统的可用性。
即:
d0=d0XORd1
(10)
当d2恢复时,再由d2作为新的校验磁盘。
4 结语
本文结合混合型P2P结构上的优势,在引入热点文件的基础上,提出在超级节点和一般节点上分别应用RAID技术和方根复制策略来备份副本,避免了有限存储资源的浪费,平衡了系统效率和可靠性。
该文的研究工作对分布式存储的应用和建设具有一定的实用价值。
参考文献
[1] Ian Foster,Carl Kesselman.网格计算[M].金海,译.北京:电子工业出版社,2004.
[2] Pouwelse J P,Garbacki P,Epema D H J,et al.The Bittorrent P2P File-sharing System:Measurements and Analysis[A].Peer-to-Peer Systems IV,4th
Int′l Workshop,IPTPS 2005[C].Ithaca:Springer-Verlag,2005:205-216.
[3] Chu J,Labonte K,Levine B.Availability and Locality Measurements of Peer-to-Peer File Systems[A].Proc.of the SPIE,Scalability and Traffic Control in IP Networks Ⅱ[C].Boston:2002:310-321.
[4] Bhagwan R,Savage S,Voelker G M.Understanding Availability[A].Peer-to-Peer Systems II,the 2Int′l Workshop,IPTPS 2003[C].Berkeley:Springer-Verlag,2003:256- 267.
[5] 李玉芝.P2P系统中的副本管理概述[J].商业文化,2007(11):261,247.
[6] 钱晔蕾,董健全.基于非结构化P2P的副本技术的研究和应用[J].计算机工程与应用,2007,43(10):148-153.
[7] 刘翰宇,肖明忠,代亚非,等.活跃型用户对P2P文件共享系统可用性的影响[J].软件学报,2006,17(10):2 087-2 095.
[8] 陈贵海,李振华.对等网络:结构、应用与设计 [M].北京:清华大学出版社,2007.
[9] Indrajit,Bhattacharya,Srinivas R Kashyap,et al.Similarity Searching in Peer-to-Peer Databases[A].Proc.of the 25th IEEE International Conference on Distributed Computing Systems[C].2005.
[10] 赵文辉,徐俊,周家林,等.网络存储技术[M].北京:清华大学出版社,2005.。