(计算机系统结构专业论文)基于p2p的分布式存储系统的研究与实现.pdf_第1页
(计算机系统结构专业论文)基于p2p的分布式存储系统的研究与实现.pdf_第2页
(计算机系统结构专业论文)基于p2p的分布式存储系统的研究与实现.pdf_第3页
(计算机系统结构专业论文)基于p2p的分布式存储系统的研究与实现.pdf_第4页
(计算机系统结构专业论文)基于p2p的分布式存储系统的研究与实现.pdf_第5页
已阅读5页,还剩92页未读 继续免费阅读

(计算机系统结构专业论文)基于p2p的分布式存储系统的研究与实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

i 毛l 王c 王 :w。,- 芒 独创性声明 i 呲y 1 帆8 叭0 眦2 吣叭5 叭6 眦7 腿 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地 方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含 为获得电子科技大学或其它教育机构的学位或证书而使用过的材料。 与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明 确的说明并表示谢意。 签名:筮盈 日期:”i 。年6 月6 日 论文使用授权 本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁 盘,允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文 :、 的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或 f l i 扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) 签名朱碗导师签名: 日期: l , 摘要 摘要 随着互联网服务爆发式增长,用户对海量数据的需求加大,如何在动态网络 环境中设计具有高可用性和高可靠性的分布式存储系统,已经成为热点问题。p 2 p 技术的成熟推动了网络存储技术的发展。如今,国际互联网公司又提出“云存储 的概念,整合系统资源,用户付出较少费用,就可以得到稳定可靠的存储服务。 现有的分布式系统,没有充分考虑利用服务器和端系统相结合的机制,提供 高效的存储服务。本文首先对分布式存储和p 2 p 技术进行分析,结合当前国内外 研究现状和发展态势,再根据项目的实际需求,设计出高效的分布式海量存储系 统p p d s s ( p 2 pd i s t r i b u t e ds t o r a g es y s t e m ) ,即基于p 2 p 的分布式存储系统,由端系 统以及服务器系统构成覆盖网络,并且向终端存储演进。 本文的主要工作有以下几点: 第一,p p d s s 系统设计,引入了分布式架构,去掉中心节点,将元数据索引 和数据存储的负载分发到每一台服务器上。实现存储系统的基本功能,包括发布、 下载、更新和删除文件。设计多种定时器,处理系统各种超时事件。 第二,负载均衡模块的设计与实现,在副本变化的过程中,充分利用服务器 的空闲资源,使得系统的服务性能得到最大的发挥,避免系统瓶颈和抖动的出现。 第三,实现高效的p 2 p 内容分发策略,在单线程模型下进行高效的网络交互 和磁盘访问。针对p 2 p 网络的特性,提出超级节点选择算法,定期选择上传速率 高的节点作为邻居节点,优先向其分发数据,同时淘汰放大能力低的节点,有效 利用服务器网络带宽,提高内容分发效率。 、 第四,设计并实现l a z y 机制,保证p p d s s 的数据一致性。 利用客户端对p p d s s 进行测试,结果表明文件基本操作能够正常进行,客户 随时都能下载到正确的数据。选择低负载服务器进行副本扩散能够达到负载均衡, 并且降低了对客户下载速率的影响。与多进程服务器的性能对比,基于非阻塞网 络读写和磁盘异步i o 的单线程服务器c p u 使用率降低了6 0 。通过将超级节点 选择策略和普通选择策略的内容分发效率进行对比,证明引入超级节点以后,客 户平均下载完成时间缩短,性能提升1 7 以上。 关键词:分布式,负载均衡,超级结点,p 2 p a b s t r a c t a bs t r a c t w i t he x p l o s i v eg r o w t ho fi n t e r a c ts e r v i c e ,u s e r s r e q u i r e m e n t so fm a s sd a t aa r e i n c r e a s i n g h o wt od e s i g nh i g ha v a i l a b l ea n dh i g hr e l i a b l ed i s t r i b u t e ds t o r a g es y s t e m h a sb e c o m eah o ti s s u e t h em a t u r eo fp 2 pt e c h n o l o g yp u s h e sn e t w o r ks t o r a g ea h e a d f u r t h e r n o w a d a y s ,i n t e r n a t i o n a l i n t e m e tc o r p o r a t i o n sh a v er a i s e d “c l o u ds t o r a g e c o n c e p tf o ro r g a n i z i n gs y s t e mr e s o u r c e st h a tu s e r so n l yn e e d t op a yas m a l la m o u n to f m o n e yt og e ts t a b l ea n dr e l i a b l es t o r a g es e r v i c e c u r r e n ta v a i l a b l ed i s t r i b u t e ds y s t e m sh a v e n tc o n s i d e r e df o rp r o v i d i n gh i g h e f f i c i e n ts t o r a g es e r v i c eb yt a k i n ga d v a n t a g eo fc o o r d i n a t i o no fs e r v e ra n df r o n t - e n d t h i st h e s i sf i r s ti n t r o d u c e sd i s t r i b u t e ds t o r a g ea n dp 2 pt e c h n o l o g y , t h e nd e v e l o p m e n t s t a t u si ss t u d i e db o t hh o m ea n da b r o a d a f t e rt h a t ,h i g hp e r f o r m a n c ep 2 pd i s t r i b u t e d s t o r a g es y s t e mi sd e s i g n e df o r e v o l u t i o no fe n ds t o r a g eb yc o n s t r u c t i n gn e t w o r k o v e r l a yw i t hs e r v e ra n df r o n t - e n da c c o r d i n gt op r o j e c t sr e a ld e m a n d t h em a j o rw o r ko ft h i st h e s i si ss h o w e db e l o w : f i r s t ,p p d s s sa r c h i t e c t u r ei sd e s i g n e d m e t a d a t ai n d e x e sa n dd a t al o a d sa r e d i s t r i b u t e da m o n ga l ls e r v e r st og e tr i do fc e n t r a ln o d e b a s i cf i l eo p e r a t i o n sa r e i m p l e m e n t e d ,s u c ha sp u b l i s h ,d o w n l o a d ,u p d a t ea n dd e l e t e v a r i o u sk i n d so ft i m e ra r e d e s i g n e df o rd e a l i n g 、析t ht i m e o u te v e n t s s e c o n d ,l o a db a l a n c em o d u l ei sd e s i g n e da n di m p l e m e n t e dt om a k eg o o du s eo f s e r v e r sr e s o u r c e sa n da v o i db o t t l e n e c ko rs h a k ep r o b l e mi ns y s t e m 。t h i r d ,p 2 pc o n t e n td i s t r i b u t i o ns t r a t e g yi si m p l e m e n t e d s i n g l et h r e a dm o d el e a d s t 0l l i g hn e t w o r kt h r o u g h p u ta n de f f i c i e n td i s ka c c e s s b a s e do nt h ep r o p e r t i e so fp 2 p n e t w o r k ,s u p e rn o d es e l e c t i o na l g o r i t h mi si m p l e m e n t e dt op u r s u eh i g hp e r f o r m a n c e o fc o n t e n td i s t r i b u t i o nb ys e n d i n gd a t at on e i g h b o rn o d e sp r e f e r e n t i a l l yd u et ot h e i r h i g h e ru p l o a ds p e e d f o u r t h , l a z ym e c h a n i s mi sd e s i g n e d a n di m p l e m e n t e dt og u a r a n t e ed a t a c o n s i s t e n c y c l i e n t sa r eu s e dt or u nt e s t sa g a i n s tp p d s s t e s t ss h o wt h a tb a s i cf i l eo p e r a t i o n s a r er u n n i n gc o r r e c t l yt op r o v i d er i g h td a t af o rc l i e n t s s e l e c t i n gl o wl o a ds e r v e rt o s p r e a dr e p l i c ad o e sb a l a n c es y s t e ml o a da n dr e d u c ee f f e c tt oc l i e n t s c o m p a r e dt o m u l t i p r o c e s ss e r v e r , c p uo c c u p a t i o no fs i n g l et h r e a ds e r v e rb a s e do nn o n - b l o c k i n g n e t w o r kp r o c e s sa n da s y n c h r o n o u sd i s ka c c e s si sb r o u g h td o w n6 0 c l i e n t s a v e r a g e d o w n l o a d i n gt i m ei sc u td o w nb yu s i n gs u p e rn o d es e l e c t i o na l g o r i t h m t e s t sp r o v e 17 d o w n a l o a d i n gt i m ei ss a v e dc o m p a r e dt on o r m a ls e l e c t i o ns t r a t e g y k e y w o r d :d i s t r i b u t e ds y s t e m ,l o a db a l a n c e ,s u p e rn o d e ,p 2 p i i i 目录 第一章引言 目录 1 1研究动机1 1 2 国内外研究现状2 1 3本文工作3 1 4 论文组织4 1 5本章小结4 第二章基础理论与相关技术5 2 1传统存储模型5 2 2 分布式存储模型6 2 2 1g f s 6 2 2 2 d y n a m o : ; 2 2 3p n u t s 8 2 3 p 2 p 技术9 2 3 1非结构化系统9 2 3 2结构化系统1 0 2 4负载均衡技术11 2 4 1负载均衡技术简介l l 2 4 2负载均衡技术分类1 2 2 4 3现有技术的分析1 2 2 5 本章小结1 3 第三章 系统设计1 4 3 1系统需求分析1 4 3 2系统总体设计1 5 3 3系统模块设计。1 7 3 3 1 i r o o t 控制模块1 8 3 3 2 d h t 模块2 3 3 3 3存储模块2 4 3 3 4网络通信模块2 5 i v 目录 3 4系统基本功能2 7 3 4 1文件发布2 8 3 4 2 文件下载2 9 3 4 3文件更新3 0 3 4 4文件删除3 0 3 5本章小结31 第四章 负载均衡模块的设计与实现3 2 4 1负载均衡的设计目标。3 2 4 2基于多副本的分块存储模块3 3 4 2 1 多副本文件块的设计3 3 4 2 2功能实现3 4 4 3副本的扩散和迁移模块3 6 4 3 1 设计思想3 6 4 3 2服务器的选择策略3 6 4 3 3副本扩散和迁移策略3 9 4 4新节点上线的负载均衡模块4 2 4 4 1 设计思想。4 2 4 4 2数据类型的划分策略4 3 4 4 3新节点的负载均衡策略4 5 4 5本章小结4 7 第五章p 2 p 内容分发模块的设计与实现4 8 5 1p 2 p 内容分发的设计目标4 8 5 2 单线程i o 框架4 9 5 3底层p 2 p 实现5 2 5 3 1 内存池5 2 5 3 2p 2 p 内容发布。5 3 5 3 3客户端p 2 p 会话5 6 5 4超级节点选择算法5 7 5 4 1设计思想5 7 5 4 2超级节点选择算法5 9 5 4 3 t r a c k e r 淘汰流程6 1 5 5p 2 p 数据一致性6 4 v 目录 5 5 1一致性问题6 4 5 5 2 l a z y 机制6 5 5 6本章小结6 8 第六章系统测试。6 9 6 1测试环境6 9 6 2 功能测试7 0 6 2 1基本功能7 0 6 2 2副本扩散7 2 6 2 3新节点上线的数据迁移7 3 6 3性能对比测试。7 5 6 3 1单台服务器性能对比7 5 6 3 2超级节点与普通选择策略对比7 7 6 4本章小结7 9 第七章结论与展望8 0 致谢8 l 参考文献8 2 攻硕期间取得的研究成果8 5 v i - 第一章引言 第一章引言 本章介绍了研究动机和相关背景,描述了论文的组织架构。 1 1 研究动机 早期的计算机的使用方法,将数据都存放在固定的主机上,主机通过文件系 统对数据进行管理。随着互联网络技术的更新,我们对服务器进行了深入的研究, 客户端技术也有了增长,于是客户从服务器下载数据的模式得到了快速地发展, 并很快的获得了大家的认同,同时,服务器之间也有了一些相互合作的关系,提 供了一些服务器集群的技术。在这种模式下,数据集中在服务器集群上,客户直 接从服务器集群下载所需的数据【l j 。 如今,网络规模的进一步扩大,又有许多新的需求出现在网络上,应用软件 也越来越丰富,传统的存储技术需要有所改变,这是因为: 1 客户要求更好的网络服务质量。互联网客户数量的快速增长带给i n t e r n e t 了高密度的数据请求。客户连接速度也相应的有所提高,使得用户期望更 快的获取服务,不能接受过长的服务响应延迟。这些因素对网络服务器的 质量,提出了较高的要求。但是由于服务器和客户机在数量上的不均衡, 不能只依靠提高服务器端的配置,或者增加网络带宽来满足海量用户的服 务请求。假如在某些突发事件出现时瞬间提升服务访问量,则会造成用户 访问延迟,甚至服务器宕机。 2 客户相互联系的方式更加丰富。由于计算机性能越来越好,网络速度也越 来越快,网络用户以前只是从服务器索取数据,现在变化为在一定程度上 为他人提供数据。特别是p 2 p ( p e e r - t o - p e e r ) 技术的出现,使用户之间的交 流非常的频繁,比如利用p 2 p 进行视频传播,在短时间内发展了很大数量 的用户群【2 】。这说明在客户一端的网络带宽已经极大地改善,保障了用户 间的实时交互。 3 数据类型变化,大小增加,使得服务器储存容量不断提高。互联网发展很 快,数据类型越来越多。在早期的互联网服务中,内容比较单一,主要是 网页、邮件等,需要的网络流量不大。而现在共享的数据类型越来越丰富, 电子科技大学硕士学位论文 文件也越来越大,如软件、音乐、视频文件有时可能到达几十g 的大小。 由于数据的平均大小增加,在包含同样容量大小的服务器中,可以存储的 信息数量减少,导致网络服务器存储容量的增加跟不上数据文件大小增长 速度,因此网络服务器很快就会成为短板。 随着互联网的普及,利用电脑网络工作和生活的人不断增多,逐渐形成了一 个以互联网为主要交往形式的新的社会群体,这就是我们通常所说的网络虚拟社 会【3 】,用户之间迫切的要求对数据进行大量的交互。在p 2 p 系统中所有节点是对等 的,这些节点既是客户机同时又是服务器,节点间的信任是节点间协作的首要条 件,通过建立信任模型,提高下载成功掣4 1 。除了从服务器和客户端硬件上面下功 夫以外,还必须对分布式的技术做深入的研究,充分发挥现有机器的性能,为海 量的客户提供可靠的,高性能的服务。 1 2 国内外研究现状 在应用需求的推动下,国内外分布式存储技术得到了快速发展,分布式存储 技术的典型代表为网络文件系统。从功能上讲,已经基本满足了构建大规模存储 系统的需要,但是文件访问性能、系统可靠性、系统易维护性等诸多方面,距离 面向i n t e m e t 的分布式存储服务的实用要求还存在相当差距。 于是国际上提出了一种新的存储机制,即对等网络。在p 2 p 网络环境中,成 千上万台彼此连接的计算机都处于对等的地位,整个网络不依赖于专用的集中服 务器。网络中的每一台计算机既能充当网络服务的请求者,又能对其它计算机的 请求做出响应,提供资源与服务。通常这些资源和服务包括:信息的共享与交换、 计算资源( 如c p u 的共享) 、存储资源( 如缓存和磁盘空间的使用) 等。 其中,g o o g l e 公司充分利用云计算来处理海量数据,极大地提高了工作效率, 谷歌文件系统已经成为分布式存储系统的必修课程。 g o o g l e 的重新均衡很有代表意义,其特点如下: 1 在发布文件的时候,优先存储在磁盘空间利用率低的存储服务器。 2 限制每一个服务器上的“最近 创建文件的数量。 3 慢慢的使用一个新节点。主节点决定哪个副本需要移动,一般而言,会倾 向于移动磁盘空间利用率高于平均水平的服务器上的文件块,这样会均衡 磁盘空间使用,但是论文没有谈到主节点会对什么样的文件进行移动。 4 没有专门进行负载均衡,而是定期对副本进行检查,将副本转移到磁盘空 2 第一章引言 间更加充裕的服务器。 如果长期按照这种方式,新存储服务器上存储的新文件的数目,会比旧的存 储服务器多。新的文件一般可能会更多的被客户访问,使得新服务器被访问的概 率更大,新文件成为系统中的热点内容,这样就会造成新存储服务器的负载过重, 同时系统服务质量也会降低。 新加入的节点,要较长的时间才能均摊系统的负载。如果系统负载过重,在 系统均衡前的这段时间,系统的服务质量是不可忍受的。 同时,国内各大r r 公司对“云存储”有了较深入的研究,比如百度的“凤巢、 腾讯的t f s 和雅虎的存储系统。包括各网络设备提供商也对海量数据的分布式存 储,提出了相关的专利和研究方法,但还没有较为公开的研究成果。 在内容分发网络中,各节点构成一个虚拟树。新节点加入时,发送一遍新节 点加入通知信息给整个内容分发网络;各节点根据新节点的b i t m a p ,比较本地存 储的内容有哪些新节点也应该存储,返回应答消息时包含内容信息和自身性能; 新节点从收到的各应答消息中,分析出自己应该存储哪些内容,并且得到相关内 容存储在哪些节点上,从不拥塞的节点下载自己应该存储的内容。新加入节点存 储的内容由规则确定,而且新节点存储了某个内容不会导致其他节点对该内容副 本的删除。 采用这种按规则的负载均衡方式,不符合分布式海量存储的应用,其副本数 目一直增加,迁移后原来节点的数据并不减少。 在分布式存储系统的现有实现中,没有充分考虑服务器和客户端互相配合, 采用高效的p 2 p 方式提高内容分发的效率。特别是在服务器带宽受限的情况下, 如何尽快的向客户网络传输数据,已经成为热点研究方向。其中,基于信誉感知 的p 2 p 存储系统对不同性能的客户节点进行了分类,起到了稳定客户网络服务的 作用。但其没有服务器节点的加入,无法保证提供持久的存储服务。同时由于采 用中心控制节点,因此存在单点失效的隐患。 1 3 本文工作 根据项目的实际需求,设计高效的分布式海量存储系统p p d s s ( p 2 pd i s t r i b u t e d s t o r a g es y s t e m ) ,即基于p 2 p 的分布式存储系统。 在p p d s s 系统中,c h u n k s e r v e r ,即存储服务器,是系统的核心模块,它必须 提供可靠的存储和高效的数据传输能力。特别是在网络异构性的情况下,服务器 3 电子科技大学硕士学位论文 之间必须相互配合,才能发挥系统的最优的服务能力,为海量的用户提供数据存 取服务。为了满足这些需求,本文将主要研究如下内容: 1 提供基本的文件存储功能,包括文件的发布、下载、更新和删除等。 2 支持高性能的多用户并发请求,需要设计出具有良好的网络i o 和磁盘i o 的系统架构。 3 实现基于多副本的负载均衡模块,统筹服务器的资源,使得系统的服务性 能得到最大的发挥,避免系统瓶颈的出现。同时对每个文件块提供多副本 机制,保证了数据的可靠性。 4 引入p 2 p 技术,充分利用每个节点的服务器能力,放大系统的服务能力, 为客户网络提供稳定的下载体验。 通过对上述功能的研究,设计并实现出适合海量数据的存储系统,并对结果 进行了详细的测试,以证明p p d s s 具有完善的功能和良好的性能。 1 4 论文组织 本论文其余部分组织如下: 第二章讨论分布式系统的理论基础和相关技术,介绍了传统的存储模型和典 型分布式存储模型,描述了相关技术背景。 第三章讨论系统总体设计,对系统框架做出详细分析,对系统功能模块的设 计与实现进行了详细的阐述,介绍了系统基本功能的实现。 第四章详细讨论了负载均衡模块的设计与实现。 第五章详细讨论了p 2 p 内容分发模块的设计与实现。 第六章对系统功能和性能进行了测试,给出了详细的测试步骤和结果分析。 第七章描述全文总结与展望。 1 5 本章小结 本章简要描述了撰写本文的动机,分析了国内外的研究现状,介绍了本文的 主要工作内容,最后对论文的总体组织结构加以了说明。 4 f t p ( f i l et r a n s f e rp r o t o c o l ,文件传输协议) ,是最简单的文件传输方式,是典 型的客户服务器模式,专门用于控制文件的双向传输的协议。用户可以用自己的 电脑,连到运行该协议的服务器,访问服务器上的资源【5 1 。它的协议包括主动模式 和被动模式两种,已经有了许多成熟的实现方法。 h t t p ( h y p e r t e x tt r a n s f e rp r o t o c o l ,超文本传输协议) ,是一个客户端和服务器 端交互的标准【6 】。客户端向服务器请求资源,服务器通常是一个网站。客户端都安 装了一个叫做浏览器的软件,比如i e 浏览器,通过在浏览器上面指定要访问的网 页地址,客户端便发起一个到服务器上指定端口的请求。服务器上存储了许多资 源,包括文本文件、图片和视频等等。收到请求以后,服务器便将数据按照相关 格式返回给客户端,然后客户便可以在浏览器上面看到网页。 c d n ( c o n t e n td i s t r i b u t i o n n e t w o r k ,内容分发网络) ,在服务器和客户端之间新 增加了一个缓存的机制,把缓存机器放在网络区域的离用户最近的地方,用户就 近获取所需数据,不用同远程的服务器交互,提高了用户访问的响应速度【7 j 。这样 即使客户很多,我们也能通过部署服务器来满足其需求。这个技术发展很快,已 经成为一种解决互联网性能问题的有效手段。构建服务器的基本思路,是尽量避 免访问代价高的数据,因为它可能影响数据传输速度,通过把数据放到离客户很 近的位置,使数据传输的更快、更稳。在网络节点处放置的缓存服务器,还可以 侦查网络的状态,比如可以根据实时的网络流量、各节点的连接、负载状况,再 加上到用户的距离信息,计算出什么时间能够为用户提供服务,或者把用户的请 求进行重定向,到达离用户最近的服务节点上。 总体来说上述三种内容传播方式都是基于传统客户服务器模型的,即众多客 户端从有固定资源的服务器下载数据,其缺点在于客户之间没有共享资源,当有 海量客户的时候,服务器无法提供正常的服务,需要不断的通过增加服务器的数 5 电子科技大学硕士学位论文 量来提高服务质量。虽然提供了一定程度的缓存,但也有限制,不能无限制的增 大容量。 2 2 分布式存储模型 分布式存储系统是指包含多个网络节点,数据存储在不同的节点上面,同时 所有客户也可以参与到存储系统中,为网络提供存储服务的存储系统。 分布式存储系统通过将地理分布的节点相联,在不可靠和动态的底层网络环 境中提供稳定、低代价、高性能的存储服务。为了提高数据可靠性,常用而有效 的办法就是在不同的节点中放置副本。多个副本保存在多个独立的节点中,将有 效提高获得至少一个数据拷贝的机会。副本数越多,数据的可靠性越高【8 】。 分布式存储系统面向用户是透明的,用户访问系统中的文件就像访问自己的 文件系统一样,用户不知道到底是访问的远程的数据还是本地的数据。由于将数 据存储在多台服务器上面,用户可以从不同服务器同时下载文件,提高了内容分 发的速度。下面将介绍一些典型的存储模型。 n f s ( n e t w o r kf i l es y s t e m ,网络文件系统) 是最早的分布式技术,其组成服务 器都是无状态的,有一定的容错能力【9 1 。但是n f s 只是一个网络文件系统,没有 提出多副本的概念,可扩展性很差,由于基于单服务器模型,就算网络中有多台 n f s 的服务器,它们之间也是独立运行的,没有任何联系,具有c s 模式的典型特 征。随着系统客户规模的增长,n f s 单服务器将成为系统瓶颈,这个时候只有不 断更换性能更高的服务器。如今,更加高效的分布式系统已经在大规模的应用到 现实生活中。 2 2 1g f s g f s ( g o o g l ef i l es y s t e m ,谷歌文件系统) 的文件是用块存储,每块大小为 6 4 m b 。单个的主m a s t e r 进行协调访问,保存元数据,并对元数据做备份。g f s 不缓存数据,但是有三个c s 的备份,因此流的读取对系统来说没有好处i l u j 。块服 务器负责具体文件数据的存储,受m a s t e r 的控制,g f s 设计了一些方便的接口。 稳定性是g f s 的核心目标,由于其为上层的应用提供底层的存储,必须提供准确 的数据,g f s 在一致性这方面做了很多的工作,包括容错,快速回复等,保证数 据持久存储。g f s 架构如图2 1 所示。 6 第二章基础理论与相关技术 图2 - 1g f s 系统框架【l u j g f s 特点如下: 1 系统由许多便宜的可能会宕机的普通硬件组成,所以很有可能机器会失 效。利用普通机器可以减少成本,但无法保证稳定,因此必须利用多个副 本来确保系统中一直有正确的数据来提供服务,经过详细的论证,g f s 为 每份数据都保留3 个副本。 2 单个m a s t e r 会引发单点失效和扩展瓶颈,所以g f s 相应的解决方法是对 m a s t e r 做备份,且m a s t e r 尽量不参与存储的流程,绝对不参与数据传输, 只是在初期起到一个查询的作用。m a s t e r 有一个租约的概念,当客户获得 了租约以后,在一段时间内不用再查询m a s t e r ,让客户与m a s t e r 的交互 减少,在这个时间段内,如果有数据进行更新,由主副本来控制副本的更 新操作,直到所有的副本都更新成功。 3 文件非常大,因此所有文件都进行了分块的存储,即可以将文件分发到不 同的机器来进行负载均衡,更重要的是这种架构完全适合g o o g l e 的 m a p r e d u c e 的应用,通过分布式的计算来提高响应速度【l l 】,特别适合搜 索业务。 4 在g o o g l e 大部分文件的修改,不是覆盖原有数据,而是在文件尾追加新 数据。b i g t a b l e 提供底层存储,几乎所有的文件都是存储k e y - v a l u e 记录, 提供高效的查询效率【1 2 】。 5 高度可用的带宽比低延迟更加重要。m a s t e r 的中心控制极大的减轻了设计 复杂度,只提供元数据管理,不存储数据。m a s t e r 同c h u n k s e r v e r 之间保 持心跳连接,获取c h u n k s e r v e r 的性能及存储信息。 6 c s 可以任意的扩展,具有良好的伸缩性,可以动态的增加和减少节点, 7 电子科技大学硕士学位论文 也符合g o o g l e 大量海量数据存储的应用。 2 2 2d y n a m o d y n a m o 是亚马逊的高可用键值云存储系统,是完全去中心化的系统。它将数 据分成许多段,使用一致性哈希的方式对数据位置进行编号,通过对数据进行版 本的管理来保证多个数据之间版本的正确性。它的主要特点是提供k e y - v a l u e 模式 以及基于对象的读写操作,在多个客户同时对文件访问的情况下,可能会有多种 不同的修改,因此系统把版本的冲突和错误都尽量交给r e a d 操作,直到最后利用 人工的方式确定数据的模型,因此牺牲了一些一致性的要求【l 引。 每个节点拥有一个i d ,所有节点组成一个闭合环,根据数据的k e y 生成一一 对应的d ,这个i d 映射到所有节点所组成的r i n g 上,数据存储在沿环顺时针方 向上的第一个节点上面。d y n a m o 是一种设计思想,一种框架,它还采用了虚拟节 点的思想。物理节点组成r i n g ,并再此基础上为每个物理节点在圆上分配若干个 虚拟节点,这样就能抑制分布不均匀。 2 2 3p n u t s p n u t s 是y a h o o ! 云计算平台的重要组成部分。它不追求强一致性,追求的是 更高的可用性,容错,以及更快速的响应客户请求【1 4 】。它由四部分构成:存储单 元,路由器,表控制器和消息代理组成。存储单元即服务器,存储了许多表,这 些表是系统中的基本存储单元,大小大概是几百m ,通常一个服务器中存了几百 个表。路由器的作用是为用户提供查询,客户从其获得表所在的服务器的地址。 表控制器中存了详细的映射关系,决定了表存放在那个s e r v e r 上,和r o u t e r 的区 别是,表控制器相当于中心控制节点,拥有所有表的地址信息,而r o u t e r 只是它 的一个映射。消息代理模块在整个系统中起到枢纽作用,同其他的数据中心保持 联系。 每当用户要读数据时,它首先连接r o u t e r ,从路由器得到存储服务器的地址, 随即向存有数据的存储单元发起下载请求。问题在于,路由器仍然从中心节点来 获取副本,有单点失效问题,同时路由器之间没有联系,所有r o u t e r 都必须同 c o n t r o l l e r 随时保持联系,获取新的存储信息,加大了网络流量。p n u t s 的系统框架 如图2 2 所示: 8 第二章基础理论与相关技术 2 3p 2 p 技术 图2 2 p n u t s 系统框架【1 4 】 p 2 p 系统每个节点之间都是平等的关系,在各节点运行的相同功能的软件。p 2 p 的网络一般都不依赖于中心服务器,每一台计算机既能请求服务,又能响应其它 节点的请求,为它们提供资源与服务。一般来说,包括如下的内容:数据交换、 c p u 资源、缓存资源、磁盘空间等。由于对等网络( p 2 pn e t w o r k ) 具有高可扩展性、 容错性,以及能充分利用网络边缘端系统节点资源等特点,在新的一轮i n t e m e t 应 用热潮中获得了更多人的关注【 】。由于没有集中服务器,每一个普通个体可以参 与到网络中,互相协作,不会产生单节点的瓶颈问题。最后,由于这种系统的分 布式特点,某一个节点下线并不会影响整体的服务,在持久存储,长时间的分布 式计算中有良好的容错性。 2 3 1 非结构化系统 p 2 p 非架构化系统是一种开放系统,这种方式比较灵活,节点可以任意加入, 目前还没有很优秀的系统在现实生活中得到广泛的使用。其分为集中式和非集中 式两种。 1 非集中式系统 g n u t e l l a 文件存放的位置没有规律,与拓扑结构没有一点关系。节点上线的时 候,它就去查询系统中哪些节点在线,然后向他们发起连接,试图下载文件,每 当节点要存取一个文件时,就只能通过洪泛查找的形式【1 6 1 。有些节点可能是坏的, 这个时候就抛弃这些节点,重新去连接新的节点。这种系统的好处在于,节点的 上线下线自由,数量也无限制。但是当系统规模非常大的时,由于要查询很多节 点,不断散播查询信息,导致丌销急剧增加。所以这种系统可扩展性很差。g n u t e l l a 9 电子科技大学硕士学位论文 中没有明确的复本策略,不支持主动复本( p r o a e t i v er e p l i c a t i o n ) ,仅当用户请求共享 数据的时候,才将共享数据的复本放置在本地,且不在查询命中返回的路径上放 置复本【17 1 。 k a z a a 是一种分层次的架构。节点分为两种,把性能较好节点作为服务器的角 色,这种节点相当于一个小范围的类似n a p s t e t 的中心节点,这个类服务器节点对 该范围内的数据提供路由信息。这些性能好的节点构成持久的存储网络,作为稳 定的源为其他客户提供服务。当一个普通的节点上线的时候,它就去向服务器节 点发起连接,成功后就从这个节点获取文件消息,否则重新再选择节点来发起连 接。因为这个性能好的节点作为中心节点,控制一个范围内的其他节点,该方法 不能适应动态环境的变化,假如节点失效,可能会导致系统永久崩溃。节点之间 还是没有本质的联系,不能保证副本的持久存储,也没有提供相关的负载均衡的 机制【1 8 】。 2 集中式系统 b i t t o r r e n t 是部分集中式的结构。不同之处在于,节点在下载数据的同时,也 在为其他若干节点提供上传服务。因此节点之间彼此协作,极大的减轻了存储节 点的压力。由于客户之间相互感应,并同时下载不同的文件块,下载速度也加快 了,并且b t 协议采用了多种策略来保证数据的持久存储,如t r a c k e r 负载均衡, 最少片优先算法等【1 9 】。b t 是互联网上最为流行的文件共享协议。 n a p s t e r 是一个文件共享的系统,最开始提供的是音乐的目查询服务。有一个 集中服务器来存储文件在网络中的位置,其他的所有节点,都同服务器保持心跳 连接,每当客户要查找某个文件,它就向集中服务器发出查询请求,服务器根据 自己存储的位置信息,查找到对应文件所在的节点,把地址返回给客户,然后客 户向保存了那个文件的节点发送数据请求请求来获取数据。该系统虽然是从其他 客户下载,但是域名管理却存在单个节点失效的问题,而且如果客户的频繁的加 入和退出,便无法保证数据的稳定性,正因为节点之间没有合作,很难保证系统 中文件的一直存在f 2 0 j 。 2 3 2 结构化系统 d h t ( d i s t r i b u t e dh a s ht a b l e ,分布式哈希表) 是纯粹的分布式系统,没有集中 的管理机制。它提供了类似名字查找的表,存储关键字和值的配对内容,任何加 入到系统的节点能够高效的获取其中的值f 2 1 1 。d h t 在分布式系统中维护从k e y 到 1 0 第二章基础理论与相关技术 v a l u e 的映射关系,每个节点都参与其中,因此能够降低系统中动态的改变带来的 冲击。同时允许大量节点随意的加入和离开。d h t 通常用在提供大规模服务的框 架中,比如分布式文件系统,内容分发网络,也可以和w e b 服务,域名查询等整 合,用处很大。c h o r d ,p a s t r y 和c a n 是典型的实现。 c h o

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论