当前位置:首页 >> 其它课程 >>

云存储技术毕业设计


学位论文原创性声明
本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成 果。除了文中特别加以标注引用的内容外,本论文不包括任何其他个人或集体已经发表或 撰写的成果作品。本人完全意识到本声明的法律后果由本人承担。

作者签名: 年 月 日

学位论文版权使用授权书
本学位论文作者完全了解学校有关保障、

使用学位论文的规定,同意学校保留并向有 关学位论文管理部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授 权省级优秀学士论文评选机构将本学位论文的全部或部分内容编入有关数据进行检索,可 以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 本学位论文属于 1、保密囗,在 2、不保密囗 。 年解密后适用本授权书

(请在以上相应方框内打“√”)

作者签名: 导师签名:

年 年

月 月

日 日

本科生毕业设计(论文)任务书
学生姓名: 指导教师: 设计(论文)题目: 许建霞 专业班级: 工作单位: 通信 0906 班 信息工程学院

云环境下存储技术的研究

设计(论文)主要内容:
云计算主要是利用现有的各种资源,使用虚拟化等多种技术,构建由大量计算机组成 的称之为“云”的资源池,它具有强大的资源控制和监督管理能力,能够根据用户的不同 需求来动态切割和分配计算资源,用户不需要去了解云的具体构成,只需要定制需求就可 以获得云计算交付的服务。云存储伴随云计算而产生,与传统的专用存储相比,云存储增 加了资源利用率,其独特的按使用付费和弹性扩展的方式提供计算资源具有显著的优势, 它将成为未来最值得期待推广和应用的技术之一。论文的主要内容包括了解云存储的发展 背景、特征、定义;对云存储的关键技术进行分析和研究;对比多家云存储厂商的架构技 术和标准接口,了解其架构的特点,最后用 CloudSim 软件对云计算系统进行仿真。

要求完成的主要任务:
1. 查阅不少于15篇相关资料,其中英文文献不少于2篇。 2. 完成开题报告。 3. 了解云存储的发展背景、特征、定义;对云存储的关键技术进行分析和研究; 4. 对比多家云存储厂商的架构技术和标准接口,了解其架构的特点。 5. 用CloudSim软件对云计算系统进行仿真。 6. 完成不少于20000字的论文的撰写并完成答辩的相关工作。 7. 在设计中完成不少于3张1~2#图纸的描绘。 8. 完成毕业设计周志。 9. 完成不低于5000汉字(20000英文印刷符)的教师指定的相关文献的英译汉翻译。

必读参考资料:
[1]晏强, 张晓锋, 丁蕊.云存储技术研究[J]. 上计算机与信息技术.2012. 第5期: 22-24. [2] 成静静. 基于Hadoop的分布式云计算/云存储方案的研究与设计[J]. 数据通信, 2012, 第5期: 14-18. [3] PENG Yong, ZHAO Wei, Secure cloud storage based on cryptographic techniques [J]. ScienceDirect 89(2009)174–180 October 2012, 19(Suppl. 2): 182–189. [4] Josef Spillner, Johannes M üller, Alexander Schill.Creating optimal cloud storage systems.Future Generation Computer Systems 29 (2013) 1062–1072.

指导教师签名 院长签名(章)

系主任签名

武汉理工大学 本科生毕业设计(论文)开题报告
1、目的及意义(含国内外的研究现状分析)
云存储是一个以数据存储和管理为核心的云计算系统, 可以认为是以数据处 理、数据运算为中心的系统,是指通过集群应用、网格技术或分布式文件系统等 功能,将网络中大量各种不同类型的存储设备通过应用软件集合起来协同工作, 共同对外提供数据存储和业务访问功能的一个系统。 当云计算系统运算和处理的 核心是大量数据的存储和管理时,云计算系统中就需要配置大量的存储设备,那 么云计算系统就转变成为一个云存储系统。 云计算系统不但能对数据进行处理和 运算,系统中还有大量的存储阵列设备,以实现对计算数据的保存和管理。在云 计算系统中配置相应的存储设备,该计算系统即拥有了云存储系统功能。 云存储不是存储,而是服务。就如同云状的广域网和互联网一样,云存储对 使用者来讲, 不是指某一个具体的设备,而是指一个由许许多多个存储设备和服 务器所构成的集合体。使用者使用云存储,并不是使用某一个存储设备,而是使 用整个云存储系统带来的一种数据访问服务。所以严格来讲,云存储不是存储, 而是一种服务。 云存储的核心是应用软件与存储设备相结合,通过应用软件来实 现存储设备向存储服务的转变。 相比于传统的存储,云存储更容易扩容(包括带宽),云存储采取的架构是并 行扩容,容量不够了,只要采购新的存储服务器即可,容量立即增加,几乎是没 有限制的。更易于管理,因为将大部分数据迁移到云存储上去后,所有的升级维 护任务都是由云存储服务提供商来完成, 云存储服务则可以很方便的在原有基础 上扩展服务空间,满足需求。成本更低廉,就目前来说,企业在数据存储上所付 出的成本是相当大的,而且这个成本还在随着数据的暴增而不断增加。 IDC研究表明,从2006年到2010年,全球信息总量将增长6倍以上,从161EB 增加到988EB(1EB=1024PB)。 一些新推出的磁盘阵列中已经普遍采用了750GB或 1TB的SATA(Serial Advanced Technology Attachment,串行高级技术附件,一种 基于行业标准的串行硬件驱动器接口)硬盘。目前已知存储密度最高的磁盘阵列 可以在4U空间(1U=4.45 cm)内提供高达42TB的存储容量,这在以前是根本无 法想象的。 最新一代LTO-4磁带的单盒磁带存储容量也达到了1.6TB(压缩比为2∶ 1)。技术的不断进步必将推动存储向更高容量发展,而重复数据删除、压缩等技 术的引入,可以进一步提升存储空间的利用率。从性能方面看,FC磁盘阵列已 经逐步过渡到4GB时代,而8GB FC又在向数据中心用户招手;万兆IP存储不再 是纸上谈兵;在InfiniBand领域,已经有厂商推出了40GB InfiniBand适配器产品。

2、基本内容和技术方案
与传统的存储设备相比,云存储不仅仅是一个硬件,而是一个网络设备、存 储设备、服务器、应用软件、公用访问接口、接入网、和客户端程序等多个部分 组成的复杂系统。 各部分以存储设备为核心,通过应用软件来对外提供数据存储 和业务访问服务。 云存储系统的结构模型由4层组成,如图1所示:

图1

(1)存储层 存储层是云存储最基础的部分。存储设备可以是FC光纤通道存储设备,可 以是NAS和iSCSI等IP存储设备,也可以是SCSI或SAS等DAS存储设备。云存储 中的存储设备往往数量庞大且分布多不同地域,彼此之间通过广域网、互联网或 者FC光纤通道网络连接在一起。 (2)基础管理层 是云存储最核心的部分, 也是云存储中最难以实现的部分。基础管理层通过 集群、 分布式文件系统和网格计算等技术,实现云存储中多个存储设备之间的协 同工作, 使多个的存储设备可以对外提供同一种服务,并提供更大更强更好的数 据访问性能。 CDN内容分发系统、P2P数据传输技术和数据压缩技术等可以保证 云存储中的数据可以更有效地存储,使用和占用更少的空间,占用更低的传输带 宽, 从而对外提供更高效的服务。数据加密技术保证云存储中的数据不会被未授 权的用户所访问, 同时, 通过各种数据备份和容灾技术和措施可以保证云存储中 的数据不会丢失,保证云存储自身的安全和稳定。 (3)应用接口层 应用接口层是云存储最灵活多变的部分。 不同的云存储运营单位可以根据实 际业务类型,开发不同的应用服务接口,提供不同的应用服务。比如数据远程容

灾和远程备份、视频监控应用平台、IPTV和视频点播应用平台、网络硬盘引用 平台,远程数据备份应用平台等。 (4)访问层 任何一个授权用户都可以通过标准的公用应用接口来登录云存储系统, 享受 云存储服务。云存储运营单位不同,云存储提供的访问类型和访问手段也不同。 云存储使用者采用的应用软件客户端不同,享受到的服务类型也不同。

3 进度安排
第1-3周: 第4周: 第5-8周: 第12周: 查阅相关文献资料,明确研究内容,了解研究相关方向 开题报告的编写 完成各种实验方案资料的整理 研究云存储在数据存储的一些应用并进行仿真

第9-11周: 完成原理和各种方案,并进行比较分析 第13-14周:毕业论文书写 第15-17周:完善毕业毕业设计论文,并答辩

4 指导教师意见

指导教师签名: 年 月 日

武汉理工大学毕业设计(论文)

目录
摘要 .................................................................................................................................................. I Abstract .......................................................................................................................................... II 1 绪论 .............................................................................................................................................. 1 1.1 云存储的兴起 ................................................................................................................... 1 1.2 云存储的发展 ................................................................................................................... 2 2 云存储的概念 .............................................................................................................................. 3 2.1 云存储的定义 ................................................................................................................... 3 2.2 云存储与传统存储 ........................................................................................................... 3 2.3 云存储与云计算 ............................................................................................................... 4 2.4 云存储架构模型 ............................................................................................................... 4 3 云存储的关键技术 ...................................................................................................................... 6 3.1 存储虚拟化技术 ............................................................................................................... 6 3.2 分布式存储技术 ............................................................................................................... 7 3.3 数据备份技术 .................................................................................................................. 8 3.3.1 传统的备份策略 .................................................................................................... 8 3.3.2 副本数据布局 ....................................................................................................... 8 3.3.3 连续数据保护 ....................................................................................................... 8 3.4 数据缩减技术 .................................................................................................................. 9 3.4.1 自动精简配置 ....................................................................................................... 9 3.4.2 自动存储分层 ....................................................................................................... 9 3.4.3 重复数据删除 ..................................................................................................... 10 3.4.4 数据压缩 ............................................................................................................. 10 3.5 存储安全技术 ................................................................................................................. 11 3.6 容错技术 ........................................................................................................................ 12 4 云存储的架构技术 .................................................................................................................... 13 4.1GFS 系统架构.................................................................................................................. 13 4.2GPFS 架构 ....................................................................................................................... 15 4.3HDFS 架构 ....................................................................................................................... 16 4.4Dynamo 架构 ................................................................................................................... 17 5 云计算仿真 CloudSim ............................................................................................................... 20 5.1CloudSim 环境配置 ......................................................................................................... 20 5.2 程序流程图 ..................................................................................................................... 21 5.3 程序编写步骤 ................................................................................................................. 22 5.4 仿真结果 ......................................................................................................................... 29 6 总结及展望 ............................................................................................................................... 30 6.1 本文工作总结 ................................................................................................................ 30 6.2 研究工作展望 ................................................................................................................. 30 参考文献 ....................................................................................................................................... 31 致谢 ............................................................................................................................................... 33

武汉理工大学毕业设计(论文)

摘要
云计算是当前研究与应用的热点问题。至今为止,Google、Microsoft、IBM、亚马逊 等IT商业巨头都推出了自己的云计算平台, 并把云计算作为其未来发展的最主要战略之一。 云存储作为云计算的底层服务,对上层服务提供重要的支持;同时,云存储可以有效的存 储和管理海量数据,所以更是成为专家学者们关注的焦点。因此,云存储的研究不但紧跟 发展的趋势,同时还具有较高的应用价值。 云存储是一种架构复杂的分布式文件系统,一是其建立在云计算系统的基础设施之 上,这样的基础实施是基于廉价的或虚拟化了的不可信物理硬件;二是其必须支持超大节 点规模和海量数据的高效存储,这对于系统架构和模块设计的关键技术提出了巨大的挑 战。 本文讨论了云存储的发展背景,给出了云存储的定义,描述了云存储的特点,提出了 云存储的架构模型, 系统地阐述了云存储的关键技术, 对比了GFS、 GPFS、 HDFS、 Dynamo 架构的特点,并用CloudSim对云计算系统进行了仿真。 关键词:云存储,关键技术,架构模型,HDFS,CloudSim

I

武汉理工大学毕业设计(论文)

Abstract
Cloud computing is a hot topic in recent research and applications.Up to now, Google、 Microsoft、IBM、Amazon and some other famous cooperations have proposed their cloud computing application, and take cloud computing as one of the most important strategy in the future. Cloud storage is the lower layer of cloud computing system which supports the service of the other layers above it.Meanwhile,it is an effective way to store and manage heavy data.So it focused even more attentions from some researchers.Therefore, the research of cloud storage will not only keep up on trends, but also has a high application value. Cloud storage is a distributed file system with complicated architecture.Firstly,it is implemented on top of the cloud computing infrastructure which is based on cheap,virtualized and unreliable physical hardware. Secondly, should supports huge server scale, it efficient heavy data storage.All of these challenge the key technologies of the system architecture and modules design. This article discusses the background of the development of cloud storage, definition of cloud storage,describes the characteristics of cloud storage, gives the proposes the mode of

cloud storage architecture,exposed the key technologies of cloud storage systematically, compared the features of GFS, GPFS, HDFS, Dynamo architecture , and simulated the cloud computing system with CloudSim. Key Words:cloud storage,the key technologies,the mode of cloud storage architecture,HDFS,CloudSim

II

武汉理工大学毕业设计(论文)

1 绪论
近年来,随着云计算[1-2]和软件即时服务[3-5]的兴起,云存储成为信息存储领域的一个 研究热点。与传统的存储设备相比,云存储不仅仅是一个硬件,而是一个网络设备、存储 设备、服务器、应用软件、公用访问接口、接入网和客户端程序等多个部分组成的系统[6]。 这是一种具有很大诱惑性的存储技术,云存储可以实现存储完全虚拟化,大大简化应用环 节,节省客户建设成本,同时提供更强的存储和共享功能。云状存储中所有设备对使用者 完全透明,任何地方任何被授权用户都可以通过一根接入线与云存储连接,进行空间与数 据访问。用户无需关心存储设备型号、数量、网络结构、存储协议、应用接口等,应用简 单透明。因此,云存储的研究不但紧跟发展的趋势,同时还具有较高的应用价值。

1.1 云存储的兴起
迄今为止,人类对于计算机发展的需求所关心的共同问题都集中在如何进行高效的存 储和存储如何促进计算的协作上。存储与之相关计算的发展历经了以下四个的阶段[7]: (1)集中式的应用和存储——客户机/服务器计算 在计算的初期,所有的应用软件、所有的数据和控制器都位于大型的电脑主机之上。 用户必须连接到主机,获得适当的权限后才能访问数据。 (2)存储资源共享——对等计算 无须经由服务器,将一台计算机连接到另一台计算机,导致了P2P对等计算的发展。 在P2P网络中没有主机,所有的通信不再经由主服务器,计算机平等运行,所有的数据分 散存储到对等的节点上,提高了通信效率,易于进行数据的共享。 (3)存储与计算的分布式化 个人电脑能的计算和存储的资源很大一部分没有得到较好的利用,分布式计算能很好 的利用这些资源。当一台计算用于某个分布式项目时,需要在机器上安装软件,它会利用 空闲的时间进行数据的存储与运算并定期传送到分布式计算网络中与该项目中的其它计 算合并结果。只要有足够的计算机参与,这种做法足以比拟更大的主机和超级计算机的处 理能力,用户可以共享文件并同时在相同的文件上工作。 (4)云计算——瘦客户端下的计算与存储 随着手持设备的发展,云计算的产生使得在瘦客户端——没有多少计算力和存储空间 的接入设备上,也能够进行海量数据的处理[8]。 更深入的来看存储技术的发展。由于单机存储方案无法满足数据拓展和协作性,而产 生了分布式存储系统[10]。分布式存储系统是基于硬件的存储技术,由于其较大的成本和较 差的灵活性而逐渐被大型企业放弃[9]。云存储是一种新的分布式存储模式,具有廉价、高 可靠性和安全性的优点[7,9,11,12],成为未来最值得期待推广和应用的技术之一。
1

武汉理工大学毕业设计(论文)

1.2 云存储的发展
云存储这个概念一经提出,就得到了众多厂商的支持和关注 [13]。Amazon公司推出弹 性块存储技术支持数据持久性存储;Google推出在线存储服务GDrive;内容分发网络服务 提供商CDNetworks和云存储平台服务商Nirvanix结成战略伙伴关系,提供云存储和内容传 送服务集成平台;EMC公司收购Berkeley Data Systems,取得该公司的Mozy在线服务软件, 并开展SaaS业务;Microsoft公司推出Windows Azure,并在美国各地建立庞大的数据中心; IBM也将云计算标准作为全球备份中心扩展方案的一部分。 目前有近百种云存储系统。一些系统有明确的关注点,如存储网络电子邮件信息或者 数字图片。其它一些用来存储所有形式的数字文件。一些云存储系统是小规模操作的,其 它一些是超大集群的以至于物理设备能填满整个仓库。 尽管对于云存储来说有很多优势值得我们选择和研究,然而云存储仍面临着许多技术 的难题, 特别是安全性。 图1.1是因特网数据中心关于云存储所做的调研[13], 可以看出安全、 控制和性能等问题是关注的焦点。有效的控制和性能反映出用户对于云存储可用性的期 待。目前云存储研究的热点仍集中在安全性、可用性、可靠性三个方面。云存储安全特别 是用户数据的隐私问题,即服务商也不能得到用户的数据,至今没有较好的解决方案。

图1.1 云存储的关注调查

2

武汉理工大学毕业设计(论文)

2 云存储的概念
2.1 云存储的定义
云存储是指通过集群应用、网格技术或分布式文件系统等功能, 将网络中大量各种不 同类型的存储设备通过应用软件集合起来协同工作, 共同对外提供数据存储和业务访问功 能的一个系统。云存储系统以传统的分布式存储技术为基础,利用高吞吐率网络技术为依 托,一方面高效地整合管理网络存储资源,另一方面对外提供友好的接口,发布便捷的网 络数据存储服务。与传统的存储设备相比,云存储不仅仅是一个硬件,而是一个网络设备、 存储设备、服务器、应用软件、公用访问接口、接入网和客户端程序等多个部分组成的系 统[12]。 云存储不是存储, 而是服务。使用者使用云存储,并不是使用某一个存储设备,而是 使用整个云存储系统带来的一种数据访问服务。云存储的核心是应用软件与存储设备相结 合,通过应用软件来实现存储设备向存储服务的转变[13]。

2.2 云存储与传统存储
相比于传统的集中存储方式,云存储系统具有以下几点优势: (1)更容易扩容(包括带宽) 云存储的扩容过程将变得简单:新设备仅需安装操作系统及云存储软件后,打开电源 接上网络,云存储系统便能自动识别,自动把容量加入存储池中完成扩展。相比传统的存 储扩容,云存储架构采用的是并行扩容方式,即当容量不够时,采购新的存储服务器即可, 扩容环节无任何限制。 (2)更易于管理 在传统存储系统管理中,管理人员需要面对不同的存储设备不同的管理界面,要了解 每个存储的使用状况,工作复杂而繁重,当传硬盘或是存储服务器损坏时,读写效率会降 低,数据很可能丢失;而云存储没有这个困扰,硬盘坏掉,数据会自动迁移到别的硬盘, 不需要立即更换硬盘,大大减轻了管理人员的工作负担。对云存储来说,管理人员只要在 整体硬盘容量快用完时,按需采购服务器即可,通过一个统一管理界面监控每台存储服务 器的使用状况,使得维护变得简单和易操作。 (3)成本更低廉 传统的存储系统对硬盘的要求近乎苛刻,必须同厂家、同容量、同型号,否则系统很 容易出问题。 面对升级换代较快的IT产业, 硬盘在使用2~3年后很难找到同型号产品更换。 而云存储没有这个问题,云存储系统中不同的硬盘可以一起工作,既可以实现原有硬件的 利旧保护投入,又可以实现新技术、新设备的快速更新,合理搭配、可持续发展。且云存
3

武汉理工大学毕业设计(论文)

储系统中所采用的存储及服务器设备均是性价比较高的设备。可实现长久合作关系下,设 备商采购的稳定渠道,便于实现对成本及服务质量的控制。 (4)数据更安全,服务不中断 传统存储系统会因为硬件损坏而导致服务停止,虽然可以设计全冗余的环境,但成本 相对太高且工作复杂。 云存储系统则不同, 它可通过将文件和数据保存在不同的存储节点, 避免了单一硬件损坏带来的数据不可用。云存储系统知道文件存放的位置,在硬件发生损 坏时,云存储系统会自动将读写指令导向存放在另一台存储服务器上的文件,保持服务的 继续。另外,传统存储系统在升级时,往往需要把旧的存储设备文件备份出来后,停机换 上新的存储设备,这通常会导致服务的短暂停止。云存储并不单独依赖一台存储服务器, 因此存储服务器硬件的更新、升级并不会影响存储服务的提供,系统会将旧存储服务器上 的文件迁移到别的存储服务器,等新的存储服务器上线后,文件会再迁移回来。

2.3 云存储与云计算
从整体来看,云计算系统可以认为是以数据处理、数据运算为中心的系统。云计算的 设计方向是将在不同地域的各种计算资源,通过虚拟化方式统一到庞大的计算资源“云” 系统中来。云系统统一调配、协调、处理来自不同客户的运算需求,通过云系统计算后对 外输出运算结果。云计算的一个核心理念就是通过不断提高“云”的处理能力,进而减少 用户终端的处理负担,最终使用户终端简化成一个单纯的输入输出设备,并能按需享受 “云”的强大计算处理能力。通过云计算技术,网络服务提供者可以在数秒之内,处理数 以千万计甚至亿计的信息,达到和“超级计算机”同样强大的网络服务功能。 云计算系统不但能对数据进行处理和运算,系统中还有大量的存储阵列设备,以实现 对计算数据的保存和管理。在云计算系统中配置相应的存储设备,该计算系统即拥有了云 存储系统功能。由此可以理解,云存储是云计算系统的延伸,是配置了大容量存储空间的 云计算系统,可以说云存储是云计算服务的一种,即SaaS[13](storage as a service,存储即服 务),甚至可以说,利用云计算系统来建立存储系统,此时的云存储概念相当于一个云计算 服务,它往往称之为“存储云” 。如亚马逊的S3服务,我们可以利用它来建立另外一个存 储系统,S3服务本身就是云服务,所以这样的系统可以称为云存储。

2.4 云存储架构模型
云存储系统的结构模型由4层组成,如图2.1所示。 (1)存储层 存储层是云存储最基础的部分。数量庞大的云存储设备分布在不同地域,彼此之间通 过广域网、互联网或者FC光纤通道网络连接。各存储设备上都安装有统一的存储设备管理 系统,可以实现存储设备的逻辑虚拟化管理、集中管理、多链路冗余管理以及硬件设备的
4

武汉理工大学毕业设计(论文)

状态监控和维护升级等。 (2)基础管理层 基础管理层是云存储最核心的部分,也是云存储中最难以实现的部分。应用接口层通 过集群系统、分布式文件系统和网格计算等技术,实现云存储中多个存储设备之间的协同 工作,使多个的存储设备可以对外提供同一种服务,并提供更大、更强、更好的数据访问 性能。云存储系统通过集群文件操作系统实现后端存储设备的集群工作,并通过系统的控 制单元和管理单元实现整个系统的管理, 数据的分发、 处理, 处理结果的反馈。 可利用CDN 内容分发系统、P2P数据传输技术和数据压缩技术等保证云存储中的数据可以更有效地存 储,使用和占用更少的空间以及更低的传输带宽,从而对外提供更高效的服务。数据加密 技术实现了数据存储和传输过程中的安全性。数据备份和容灾技术可保证云存储中的数据 多份保存不会丢失,保证云存储数据自身的安全和稳定。 (3)应用接口层 应用接口层是云存储最灵活多变的部分。不同的云存储运营单位可以根据实际业务类 型,开发不同的应用服务接口,提供不同的应用服务。任何一个授权用户通过网络接入、 用户认证和权限管理接口的方式来登入云存储系统,都可以享受云存储服务。 (4)访问层 云存储运营单位不同,提供的访问类型和访问手段也不同。云存储使用者采用的应用 软件客户端不同,享受到的服务类型也不同,比如个人空间租赁服务、运营商空间租赁服 务、数据远程容灾和远程备份、视频监控应用平台、IPTV和视频点播应用平台、网络硬盘 引用平台,远程数据备份应用平台等。

图2.1云存储架构模型

5

武汉理工大学毕业设计(论文)

3 云存储的关键技术
3.1 存储虚拟化技术
通过存储虚拟化方法,把不同厂商、不同型号、不同通信技术、不同类型的存储设备 互联起来,将系统中各种异构的存储设备映射为一个统一的存储资源池。存储虚拟化技术 能够对存储资源进行统一分配管理,又可以屏蔽存储实体间的物理位置以及异构特性,实 现了资源对用户的透明性,降低了构建、管理和维护资源的成本,从而提升云存储系统的 资源利用率。总体来说,存储虚拟化技术可概括为基于主机虚拟化、基于存储设备虚拟化 和基于存储网络虚拟化三种技术。 用表格的方式对三种存储虚拟化技术的技术优点与缺点、适应场景等进行了分析对 比,结果如下: 表 3.1 存储虚拟化技术对比
实现层面 主机 网络 设备 架构合理,不占用主机资 支持异构的存储系统;不需要额外 优点 的硬件支持,便于部署。 度高,容易实施。 术成熟度高。 消耗存储控制器资源;存储 占用主机资源,降低应用性能;存 设备兼容性需要严格验证; 缺点 在越权访问的数据安全隐患;主机 原有的磁盘阵列的高级存储 数量越多,管理成本越高。 功能将不能使用。 使服务器的存储空间可以跨越多个 异构存储系统整合和统一数 主要用途 异构磁盘阵列,常用于在不同磁盘 据管理(灾备) 阵列之间做镜像保护。 主机采用 SF 卷管理, 需要新接多台 存储设备;存储系统中包含异构阵 适用场景 列设备;业务持续能力与数据吞吐 要求较高。 主机数量大, 采用 SF 会涉及高昂的 需要新购机头时,费用较 不适用场 景 费用;待迁入系统数据量过大,如 果只能采用存储级迁移方式,数据 格式转换将耗费大量时间和人力。 对业务持续性能力和稳定性 高;存在更高端的存储设 要求苛刻。 备。 系统包括不同品牌和型号的 系统中包括自带虚拟化功 主机和存储设备;对数据无 能的高端存储设备与若干 缝迁移及数据格式转换有较 需要利旧的中低端存储。 高时间性保证。 数据管理(灾备) 异构存储系统整合和统一 功能将不能使用。 厂家存储设备的高级存储 源, 虚拟化能力较弱; 异构 受制于存储控制器接口资 不占用主机资源;技术成熟 源;数据管理功能丰富,技

6

武汉理工大学毕业设计(论文)

(1)基于主机的虚拟化 其核心技术是通过增加一个运行在操作系统下的逻辑卷管理软件将磁盘上的物理块 号映射成逻辑卷号,并以此实现把多个物理磁盘阵列映射成一个统一的虚拟的逻辑存储空 间(逻辑块)实现存储虚拟化的控制和管理。 (2)基于存储设备虚拟化 该技术依赖于提供相关功能的存储设备的阵列控制器模块,常见于高端存储设备,其 主要应用针对异构的SAN存储构架。 (3)基于存储网络虚拟化 该的技术的核心是在存储区域网中增加虚拟化引擎实现存储资源的集中管理,其具体 实施一般是通过具有虚拟化支持能力的路由器或交换机实现。存储网络虚拟化又可以分为 带内虚拟化与带外虚拟化两类,二者主要的区别在于:带内虚拟化使用同一数据通道传送 存储数据和控制信号,而带外虚拟化使用不同的通道传送数据和命令信息。

3.2 分布式存储技术
分布式存储是通过网络使用服务商提供的各个存储设备上的存储空间,并将这些分散 的存储资源构成一个虚拟的存储设备,数据分散的存储在各个存储设备上。先进的分布式 存储系统必须具备以下特性:高性能、高可靠性、高可扩展性、透明性以及自治性。目前 比较流行的分布式存储技术为:分布式块存储、分布式文件系统存储、分布式对象存储和 分布式表存储。 (1)分布式块存储 块存储就是服务器直接通过读写存储空间中的一个或一段地址来存取数据。由于采用 直接读写磁盘空间来访问数据,相对于其他数据读取方式,块存储的读取效率最高,一些 大型数据库应用只能运行在块存储设备上。分布式块存储系统目前以标准的Intel/Linux硬 件组件作为基本存储单元,组件之间通过千兆以太网采用任意点对点拓扑技术相互连接, 共同工作,构成大型网格存储,网格内采用分布式算法管理存储资源。 (2)分布式文件系统存储 文件存储系统可提供通用的文件访问接口,如POSIX等,实现文件与目录操作、文件 访问、文件访问控制等功能。目前的分布式文件系统存储的实现有软硬件一体和软硬件分 离两种方式。 (3)分布式对象存储 对象存储引入对象元数据来描述对象特征,对象元数据具有丰富的语义,支持数据的 并发读写,一般不支持数据的随机写操作。对象存储技术相对成熟,对底层硬件要求不高, 存储系统可靠性和容错通过软件实现,同时其访问接口简单,适合处理海量、小数据的非 结构化数据,如:邮箱、网盘、相册、音频视频存储等。 (4)分布式表存储
7

武汉理工大学毕业设计(论文)

表结构存储是一种结构化数据存储,与传统数据库相比,它提供的表空间访问功能受 限,但更强调系统的可扩展性。提供表存储的云存储系统的特征就是同时提供高并发的数 据访问性能和可伸缩的存储和计算架构。提供表存储的云存储系统有两类接口访问方式: 一类是标准的SQL数据库接口,一类是Map-reduce的数据库应用处理接口。前者目前以开 源技术为主,尚未有成熟的商业软件,后者已有商业软件和成功的商业应用案例。

3.3 数据备份技术
3.3.1 传统的备份策略
典型的用户备份流程是这样的:每天都要在凌晨进行一次增量备份,然后每周末凌晨 进行全备份。采用这种方法,一旦出现了数据灾难,用户可以恢复到某天(注意是以天为 单位的)的数据,因此在最坏的情况下,可能丢失整整一天的数据。 该备份策略在备份的数据量很大的情况下,备份时间窗口很大,需要繁忙的业务系统 停机很长时间才能做到。因此,为了确保数据的更高安全性,用户必须对在线系统实行在 线实时复制,尽可能多地采用快照等磁盘管理技术维持数据的高可用性,这样势必需要增 加很大一部分投资。

3.3.2 副本数据布局
该方法通过集中式的存储目录来定位数据对象的存储位置。这种方法可以利用存储目 录中存放的存储节点信息,将数据对象的多个副本放置在不同机架上,这样可大大提高系 统的数据可靠性。然而,它存在以下两个缺陷: (1)随着存储目录的增长,查找数据对象所需的开销也会越来越大; (2)为提高数据对象的定位速度,一般情况下都会将存储目录存放在服务器内存中, 对于PB级的云存储系统来说,文件的数量可能达到上亿级,这导致存储目录将会占用上百 GB的内存。因此,当数据对象数量达到上亿级别时,基于集中式存储目录的数据放置方法 在存储开销和数据定位的时间开销上都是难以接受的, 此外, 还会大大限制系统的扩展性。

3.3.3 连续数据保护
连续数据保护是一种连续捕获和保存数据变化,并将变化后的数据独立于初始数据进 行保存的方法, 可以实现过去任意一个时间点的数据恢复。 连续数据保护系统可能基于块、 文件或应用,并且为数量无限的可变恢复点提供精细的可恢复对象。连续数据保护可以提 供更快的数据检索、更强的数据保护和更高的业务连续性能力,而与传统的备份解决方案 相比,连续数据保护的总体成本和复杂性都要低。
8

武汉理工大学毕业设计(论文)

连续数据保护解决方案应当具备以下几个基本特性:数据的改变受到连续的捕获和跟 踪; 所有的数据改变都存储在一个与主存储地点不同的独立地点中; 恢复点目标是任意的, 而且不需要在实际恢复之前事先定义。 尽管一些厂商推出了连续数据保护产品,然而从它们的功能上分析,还做不到真正连 续的数据保护,比如有的产品备份时间间隔为一小时,那么在这一小时内仍然存在数据丢 失的风险,因此,严格地讲,它们还不是完全意义上的连续数据保护产品,目前我们只能 称之为类似连续数据保护产品。

3.4 数据缩减技术
数据量的急剧增长为存储技术提出了新的问题和要——怎样低成本高效快速地解决 无限增长的信息的存储和计算。通过云存储技术不仅解决了存储中的高安全性、可靠性、 可扩展、易管理等存储的基本要求,同时也利用云存储中的数据缩减技术,满足海量信息 爆炸式增长趋势,一定程度上节约企业存储成本,提高效率。

3.4.1 自动精简配置
该技术是利用虚拟化方法减少物理存储空间的分配,通过“欺骗”操作系统,造成的 好像存储空间有足够大,而实际物理存储空间并没有那么大,会减少已分配但未使用的存 储容量的浪费,在分配存储空间时,按需分配,最大限度提升存储空间利用率,利用率超 90%。利用自动精简配置技术,用户不需要了解存储空间分配的细节,能帮助用户在不降 低性能的情况下,大幅度提高存储空间利用效率;需求变化时,无需更改存储容量设置, 通过虚拟化技术集成存储,减少超量配置,降低总功耗。这项技术已经成为选择存储系统 的关键标准之一。 随着自动精简配置的存储越来越多,物理存储的耗尽成为自动精简配置环境中经常出 现的风险,因此,告警、通知和存储分析成为必要的功能。

3.4.2 自动存储分层
在过去,数据移动主要依靠手工操作,由管理员来判断数据访问压力,迁移的时候只 能一个整卷一起迁移。自动存储分层技术的特点则是其分层的自动化和智能化。一个磁盘 阵列能够把活动数据保留在快速、 昂贵的存储上, 把不活跃的数据迁移到廉价的低速层上, 以限制存储的花费总量。数据从一层迁移到另一层的粒度越精细,使用的昂贵存储的效率 就越高。自动存储分层的重要性随着固态存储在当前磁盘阵列中的采用而提升,并随着云 存储的来临而补充内部部署的存储。自动存储分层使用户数据保留在合适的存储层级,而 不需要用户定义的策略,因此减少了存储需求的总量并实质上减少了成本,提升了性能。
9

武汉理工大学毕业设计(论文)

3.4.3 重复数据删除
该技术通过删除集中重复的数据,只保留其中一份,从而消除冗余数据,可以将数据 缩减到原来的2%~5%。按照消重的粒度重复数据删除技术可以分为文件级和数据块级。该 技术计算数据指纹,具有相同指纹的数据块即可认为是相同的数据块,存储系统中仅需要 保留一份。这样,一个物理文件在存储系统中就只对应一个逻辑表示。由于大幅度减少了 物理存储空间的信息量,进而减少传输过程中的网络带宽、节约设备成本、降低能耗。

3.4.4 数据压缩
数据压缩就是将收到的数据通过存储算法存储到更小的空间中去。随着目前CPU处理 能力的大幅提高,应用实时压缩技术来节省数据占用空间成为现实,这项新技术就是最新 研发出的在线压缩,它与传统压缩技术不同,当数据在首次写入时即被压缩,以帮助系统 控制大量数据在主存中杂乱无章地存储的情形,特别是多任务工作时更加明显。该技术还 可以在数据写入到存储系统前压缩数据,进一步提高了存储系统中的磁盘和缓存的性能和 效率。压缩算法分为无损压缩和有损压缩。相对于有损压缩来说,无损压缩的占用空间大, 压缩比不高,但是它有效地保存了原始信息,没有任何信号丢失。但是随着限制无损格式 的种种因素逐渐被消除,使得无损压缩格式具有广阔的应用前景。 数据压缩中使用的LZ77算法,主要由2部分构成,滑窗(Sliding Window)和自适应编 码(Adaptive Coding) 。压缩处理时,在滑窗中查找与待处理数据相同的块,并用该块在滑 窗中的偏移值及块长度替代待处理数据,从而实现压缩编码。如果滑窗中没有与待处理数 据块相同的字段,或偏移值及长度数据超过被替代数据块的长度,则不进行替代处理。该 算法的实现非常简洁,处理比较简单,能够适应各种高速应用。数据压缩的应用可以显著 降低待处理和存储的数据量,一般情况下可实现2:1~3:1的压缩比。

图 3.1 LZ77 算法示意图 压缩和去重是互补性的技术, 提供去重的厂商通常也提供压缩。 而对于虚拟服务器卷、 电子邮件附件、文件和备份环境来说,去重通常更加有效,压缩对于随机数据效果更好, 像数据库。换句话说,在数据重复性比较高的地方,去重比压缩有效。

10

武汉理工大学毕业设计(论文)

3.5 存储安全技术
可扩展和高性能的存储安全技术,是推动云存储最根本的保证,已经成为当前网络存 储领域的研究热点。云存储应用中的存储安全包括认证服务、数据加密存储、安全管理、 安全日志和审计。 (1)认证服务:访问控制服务实现用户身份认证、授权,防止非法访问和越权访问。 主要功能包括:用户只能对经管理员或文件所有者授权的许可文件进行被许可的操作;管 理员只能进行必要的管理操作,如用户管理、数据备份、热点对象迁移,而不能访问用户 加密了的私有数据。 (2)加密存储:是对指定的目录和文件进行加密后保存,实现敏感数据存储和传送 过程中的机密性保护。 (3)安全管理:主要功能是用户信息和权限的维护,如用户帐户注册和注销等,授 权用户、紧急情况下对用户权限回收等。 (4)安全日志和审计:是记录用户和系统与安全相关的主要活动事件,为系统管理 员监控系统和活动用户提供必要的审计信息。 随着存储系统和存储设备越来越网络化,存储系统在保证敏感数据机密性的同时,必 须提供相应的加密数据共享技术。必须研究适用于网络存储系统的加密存储技术,提供端 到端加密存储技术及密钥长期存储和共享机制,以确保用户数据的机密性和隐私性,提高 密钥存储的安全性、分发的高效性及加密策略的灵活性。在海量的加密信息存储中,加密 检索是实现信息共享的主要手段,是加密存储中必须解决的问题之一。加密检索技术有线 性搜索算法、基于关键词的公钥加密搜索、安全索引、引入相关排序的加密搜索算法。 (1)线性搜索算法 首先用对称加密算法对明文信息加密,对于每个关键词对应的密文信息,生成一串长 度小于密文信息长度的伪随机序列,并生成一由伪随机序列及密文信息确定的校验序列, 伪随机序列的长度与检验序列长度之和等于密文信息的长度,伪随机序列及检验序列对密 文信息再次加密。在搜索过程中,用户提交明文信息对应的密文信息序列。在服务器端, 密文信息序列被线性的同每一段序列模2加。如果得到的结果满足校验关系,那么说明密 文信息序列出现,否则,说明密文信息不存在。 线性搜索方法是一次一密的加密信息检索算法,因此有极强的抵抗统计分析的能力。 但其有一个致命的缺点,即逐次匹配密文信息,这使得这种检索方法在大数据集的情况下 难以应用。 (2)基于关键词的公钥加密搜索算法[14] 由Boneh等人提出的,其目的是可以在用户端存储、计算资源不足的情况下,通过访 问远端数据库获取数据信息。此算法首先生成公钥、私钥,然后对存储的明文关键词用公 钥进行加密,生成可搜索的密文信息。此算法可以解决两方面的问题:第一,存储、计算 资源分布的不对称性,即用户的计算存储能力不能实时满足其需求;第二,用户在移动情
11

武汉理工大学毕业设计(论文)

况下对存储、检索数据的需求,比如Email服务等。 (3)安全索引[15] 由Park等人提出,其机制是每次加密所用的密钥是事先生成的一组逆Hash序列,加密 后的索引被放入布隆过滤器中。当检索的时候,首先用逆Hash序列密钥生成多个陷门,然 后进行布隆检测。对返回的密文文档解密即可得到所需检索的文档。针对有新用户加入、 旧用户退出的多用户加密信息检索,这是一种解决方法。但其存在的缺陷是需要生成大量 的密钥序列,随着检索次数的增加,每多进行一次检索,其计算复杂度均线性增加。这在 实际应用中很难被接受。 (4)引入相关排序的加密搜索算法[16] Swaminathan等人提出了保护隐私的排序搜索算法。 在这一算法中, 每一文档中关键词 的词频都被保序加密算法加密。提交查询给服务器端后,首先计算检索出含有关键词密文 的加密文档;然后对用保序算法加密的词频对应的密文信息进行排序处理;最后把评价值 高的加密文档返回给用户,由用户对其进行解密。 这一种方法可以在给定多个可能相关文档的情况下对加密文档进行排序,进而把最可 能相关的文档返回给用户。但这一种算法首先不适用于一个查询包含多个查询词的情况, 其次算法只利用了文档中的词频信息,无法利用词的逆文档频率,进而向量空间模型无法 直接应用。

3.6 容错技术
数据容错技术一般都是通过增加数据冗余来实现的。冗余提高了容错性,但是也增加 了存储资源的消耗。因此,在保证系统容错性的同时,要尽可能地提高存储资源的利用率, 以降低成本。目前,常用的容错技术主要有基于复制(replication)的容错技术和基于纠删码 (erasure code)的容错技术两种。 (1)基于复制的容错技术 该技术对一个数据对象创建多个相同的数据副本,并把得到的多个副本散布到不同的 存储节点上。当若干数据对象失效以后,可以通过访问其他有效的副本获取数据。基于复 制的容错技术简单直观,易于实现和部署,但是存储空间开销很大;当数据失效以后,只 需要从其他副本下载同样大小的数据即可进行修复。 (2)基于纠删码的容错技术 该技术源于信道传输的编码技术,因为能够容忍多个数据帧的丢失,被引入到分布存 储领域,使得基于纠删码的容错技术成为能够容忍多个数据块同时失效的、最常用的基于 编码的容错技术。基于编码的容错技术通过对多个数据对象进行编码产生编码数据对象, 能够把多个数据块的信息融合到较少的冗余信息中,因此能够有效地节省存储空间,但是 对数据的读写操作要分别进行编码和解码操作,需要一些计算开销;当数据失效以后,需 要下载的数据量一般远大于失效数据大小,修复成本较高。
12

武汉理工大学毕业设计(论文)

4 云存储的架构技术
4.1GFS 系统架构
GFS(Google File System),是Google公司为了存储海量搜索数据而设计的专用文件系 统。GFS是一个可扩展的分布式文件系统,用于大型的、分布式的、对大量数据进行访问 的应用。它运行于廉价的普通硬件上,但可以提供容错功能,可以给大量的用户提供总体 性能较高的服务。 GFS提供了一个类似传统文件系统的接口,虽然它没有向POSIX(Portable Operating System Interface,可移植操作系统接口) 那样实现标准的API(Application Programming , Interface,应用程序编程接口) 。文件在目录中按照层次组织,用路径名来标识,可应用在 Linux和Windows等各种平台。 GFS系统架构[17]如图4.1所示:

图 4.1 GFS 系统架构 客户端在访问GFS时,首先访问Master节点,获取将要与之进行交互的Chunk Server信 息,然后直接访问这些Chunk Server完成数据存取。GFS的这种设计方法实现了控制流和数 据流的分离。Client与Master之间只有控制流,而无数据流,这样就极大地降低了Master的 负载,使之不成为系统性能的一个瓶颈。Client与Chunk Server之间直接传输数据流,同时 由于文件被分成多个Chunk进行分布式存储,Client可以同时访问多个Chunk Server,从而 使得整个系统的I/O高度并行, 系统整体性能得到提高。 具体来说, GFS具有以下几个特点。 (1)采用中心服务器模式 GFS采用中心服务器模式来管理整个文件系统,可以大大简化设计,从而降低实现难 度。 Master管理了分布式文件系统中的所有元数据。 文件划分为Chunk进行存储, 对于Master 来说,每个Chunk Server只是一个存储空间。Client发起的所有操作都需要先通过Master才 能执行。这样做有许多好处,增加新的Chunk Server是一件十分容易的事情,Chunk Server
13

武汉理工大学毕业设计(论文)

只需要注册到Master上即可,Chunk Server之间无任何关系。Master维护了一个统一的命名 空间,同时掌握整个系统内Chunk Server的情况,据此可以实现整个系统范围内数据存储 的负载均衡。由于只有一个中心服务器,元数据的一致性问题自然解决。当然,中心服务 器模式也带来一些固有的缺点,比如极易成为整个系统的瓶颈等。GFS采用多种机制来避 免Master成为系统性能和可靠性上的瓶颈,如尽量控制元数据的规模、对Master进行远程 备份、控制信息和数据分流等。 (2)不缓存数据 缓存(Cache)机制是提升文件系统性能的一个重要手段,通用文件系统为了提高性 能,一般需要实现复杂的缓存机制。GFS文件系统根据应用的特点,没有实现缓存,这是 从必要性和可行性两方面考虑的。从必要性上讲,客户端大部分是流式顺序读写,并不存 在大量的重复读写,缓存这部分数据对系统整体性能的提高作用不大;而对于 Chunk Server,由于GFS的数据在Chunk Server上以文件的形式存储,如果对某块数据读取频繁, 本地的文件系统自然会将其缓存。从可行性上讲,如何维护缓存与实际数据之间的一致性 是一个极其复杂的问题,在GFS中各个Chunk Server的稳定性都无法确保,加之网络等多种 不确定因素,一致性问题尤为复杂。此外由于读取的数据量巨大,以当前的内存容量无法 完全缓存。对于存储在Master中的元数据,GFS采取了缓存策略,GFS中Client发起的所有 操作都需要先经过Master。Master需要对其元数据进行频繁操作,为了提高操作的效率, Master的元数据都是直接保存在内存中进行操作。同时采用相应的压缩机制降低元数据占 用空间的大小,提高内存的利用率。 (3)在用户态下实现 文件系统作为操作系统的重要组成部分, 其实现通常位于操作系统底层。 以Linux为例, 无论是本地文件系统,还是分布式文件系统,都是在内核态实现的。在内核态实现文件系 统,可以更好地和操作系统本身结合,向上提供兼容的POSIX接口。然而,GFS却选择在 用户态下实现。 (4)只提供专用接口 通常的分布式文件系统一般都会提供一组与POSIX规范兼容的接口。其优点是应用程 序可以通过操作系统的统一接口来透明地访问文件系统,而不需要重新编译程序。GFS在 设计之初,是完全面向Google的应用的,采用了专用的文件系统访问接口。接口以库文件 的形式提供,应用程序与库文件一起编译,Google应用程序在代码中通过调用这些库文件 的API,完成对GFS文件系统的访问。 由以上分析可以看出,GFS并不是一个通用的云存储系统,它更适合于大型的搜索业 务以至于GFS的设计考虑了许多具体业务特性,如文件的大小、读写频率等,这些将限制 GFS的业务应用。同时,主从式结构的单点失效和性能瓶颈问题也是业内关注的中心。当 然,GFS本身也在优化和改进之中。

14

武汉理工大学毕业设计(论文)

4.2GPFS 架构
GPFS(General Parallel File System, GPFS)是IBM公司第一个共享文件系统, 起源于IBM SP系统上使用的虚拟共享磁盘技术( VSD )。作为这项技术的核心,GPFS是一个并行的磁 盘文件系统,它保证在资源组内的所有节点可以并行访问整个文件系统;而且针对此文件 系统的服务操作, 可以同时安全地在使用此文件系统的多个节点上实现。 GPFS允许客户共 享文件,而这些文件可能分布在不同节点的不同硬盘上。 GPFS提供了许多标准的UNIX文件系统接口,允许应用不需修改或者重新编辑就可以 在其上运行。GPFS也支持UNIX文件系统的工具,即:用户可以像使用普通文件系统一样 使用基于GPFS的文件系统,唯一不同的在于管理GPFS文件系统的命令。GPFS提供的文件 系统操作服务可以支持并行应用和串行应用,它允许任何节点(这些节点属于同一个节点 组)上的并行应用同时访问同一个文件或者不同的文件[18]。 GPFS的架构如图4.2所示。

图4.2 GPFS架构 GPFS文件系统由三层架构组成:GPFS文件设备、网络共享磁盘(NSD)和磁盘。 (1)GPFS文件设备(GPFS File System Device) :由NSD创建,是可以被多个节点并 行同时挂载的文件设备 (2)网络共享磁盘(NSD) :是由物理磁盘映射出来的虚拟设备,与磁盘之间是一一 对应的关系。并且,NSD将虚拟设备按照不同的属性划分了不同的用途。NSD虚拟设备具 有4种不同的磁盘属性: a、Desc Only:表示该磁盘存储GPFS文件系统的描述信息; b、Data Only:表示该磁盘只存储GPFS文件系统的数据信息;
15

武汉理工大学毕业设计(论文)

c、Meta Data Only:表示该磁盘只存储GPFS文件系统的目录结构信息; d、Meta And Data:表示该磁盘存储GPFS文件系统中的所有信息(默认情况) 。 (3)磁盘(Disk):用来存储数据的物理磁盘。 GPFS文件系统具有以下特点: (1)高性能 由于GPFS文件系统允许在同一个节点内的多个进程使用标准的UNIX文件系统接口, 并行的访问相同文件。并且,可以将节点的读写操作分布到不同的物理磁盘上,因此避免 了对某个磁盘过多读写操作,增加了整个系统的吞吐量,提高了系统的整体性能。 (2)跨平台 GPFS文件系统本身可以看成与具体系统无关的一个单独系统, 通过集群方式可以支持 多种操作系统,比如AIX、Linux等。 (3)保证数据一致性 GPFS文件系统采用信令管理机制保证数据的一致性。 信令机制允许各个节点通过独自 的路径到达同一个文件。因此,当某个节点的某条路径无法正常工作,依旧可以通过链路 冗余达到GPFS文件系统。并且GPFS本身设计成为一种日志文件系统,为不同的节点建立 了各自独立的日志(保存了Meta Data的分布信息) 。因此,一但节点发生故障后,可以通 过日志记录的Meta Data的分布信息,快速的找到相应的Meta Data然后恢复。 (4)可扩展性 GPFS可以动态调整系统资源,支持在文件系统挂载的情况下动态的添加和删除硬盘, 而无须重启。 (5)方便管理 GPFS文件系统, 可以自动的同步各个节点的配置文件和文件系统信息, 因此可以在任 意一个节点上管理GPFS。

4.3HDFS 架构
Hadoop [19]分布式文件系统(HDFS)被设计成适合运行在通用硬件(commodity hardware) 上的分布式文件系统,即HDFS(Hadoop Distributed File System)。Hadoop是Apache基金会支 持的一个开源的分布式计算平台项目, 是GFS的开源实现。 HDFS是一个高度容错性的系统, 适合部署在廉价的机器上, 能提供高吞吐量的数据访问, 非常适合大规模数据集上的应用。 HDFS放宽了一部分POSIX约束, 来实现流式读取文件系统数据的目的。 它给应用提供 了多种访问方式,可以通过Java API调用,也可以通过C语言的封装API访问,并且提供了 浏览器访问的方式。正在开发通过Web Dav(Web分布式创作和版本控制)协议访问的方 式[20]。 HDFS采用master/slave架构,如图4.3所示。

16

武汉理工大学毕业设计(论文)

图 4.3 HDFS 系统架构 一个HDFS集群是由一个Namenode和一定数目的Datanodes组成。 Namenode是一个中心 服务器,负责管理文件系统的名字空间以及客户端对文件的访问[21]。集群中的Datanode一 般是一个节点一个,负责管理它所在节点上的存储。HDFS暴露了文件系统的名字空间, 用户能够以文件的形式在上面存储数据。从内部看,一个文件其实被分成一个或多个数据 块,这些块存储在一组Datanode上。Namenode执行文件系统的名字空间操作,比如打开、 关闭、重命名文件或目录,它也负责确定数据块到具体Datanode节点的映射。Datanode负 责处理文件系统客户端的读写请求。在Namenode的统一调度下进行数据块的创建、删除和 复制。Namenode和Datanode被设计成可以在普通的商用机器上运行。这些机器一般运行着 GNU/Linux操作系统。 图4.3反映了Hadoop平台的分布式文件系统主要架构模式[22],它具有可拓展、经济可 靠等优势。然而,Hadoop目前最新的版本为0.2,显然处于发展初期,其平台的运行还不够 稳定,服务的可靠性是其不能被大规模商用的主要顾虑之一。在Hadoop的集群架构中,主 节点NameNode只有一个,它进程负责数据存储与调用的统筹。这使得将Hadoop分布式计 算平台应用于云计算系统时,存在以下不可靠的因素: (1)单一的主控节点制使得系统的负载不均; (2)尽管监控进程保证了计算向存储的转移,但是没有实现任务处理中的计算和存 储的同时转移。否则可能会造成任务的重启——对于巨型任务来说,损失巨大。

4.4Dynamo 架构
Dynamo是一个完全分布式的、无中心节点、松散耦合,由数百个服务组成的面向服务 架构。相比传统的集中式存储系统,Dynamo在设计之初就被定位为一个高可靠、高可用且 具有良好容错性的系统。尽管这是一个很有争议的系统,然而,实践表明Dynamo作为亚马 逊的key-value模式的存储平台,可用性和扩展性较高:读写访问中99.9%的响应时间都在
17

武汉理工大学毕业设计(论文)

300ms内[23]。 Dynamo提供几个简单接口:get(key)操作在存储系统中定位与key关联的对象副本,并 返回一个对象或一个包含冲突的版本和对应的上下文对象列表。 put(key,context,object)操作 基于关联的key决定将对象的副本放在哪,并将副本写入到磁盘。该context包含对象的系统 元数据并对于调用者是不透明的(opaque)。上下文信息是与对象一起存储,以便系统可以 验证请求中提供的上下文的有效性。 Dynamo的架构如图4.4所示。

图 4.4 Dynamo 架构 Dynamo采用了一些技术,解决了其对等式架构下的一致性问题。如表4.1所示。 表 4.1 Dynamo 使用的技术概要和其优势 问题 数据划分 写的高可用性 临时故障处理 永久故障回复 成员资格和错 误检测 采取的相关技术 改进的一致性哈希算法 矢量时钟与读取过程中的协调 可调的弱 quorum 机制 Merkle 哈希树 基于 Gossip 的错误检查 优势 增量可伸缩性 版本大小与更新操作速率脱钩 使一些副本不可用时 在后台同步不同的副本 保持对称性并且避免了一个用于存 储会员和节点活性信息的集中注册 服务节点。

Hinted handoff 数据回传机制, 提供高可用性和耐用性的保证,即

18

武汉理工大学毕业设计(论文)

Dynamo架构具有如下特点: (1)按分布式系统常用的哈希算法切分数据,分放在不同的节点上。之所以采用该 算法的原因是环上每个节点只需要处理落在它和它的前驱节点之间的数据,这样当有新的 节点加入或者撤出时系统的震荡较小。 (2)一致性哈希是一种随机函数,在节点量较少的情况下很有可能造成节点数据分 布的不均匀,而且基本的一致性哈希算法在选择节点位置时并没有考虑环上不同节点的性 能差异。为了解决这个问题,亚马逊在Dynamo中引入了节点虚拟化的概念。每个虚拟节点 都属于一个实际的物理节点。一个物理节点可能有多个虚拟节点。分布在一致性环上的虚 拟节点有效的解决了性能不均问题。也可以理解为,它放在环上作为一个节点的是一组机 器,这一组机器是通过同步机制保证数据一致的。 (3) Dynamo的一个节点中的同步是由客户端来 “解决” 的, 使用所谓的(N,R,W)模型, 其中,N表示节点中机器的总数,R表示一个读请求需要的机器参与总数,W代表一个写请 求需要的机器参与总数,这些值由client端配置。

19

武汉理工大学毕业设计(论文)

5 云计算仿真 CloudSim
云计算侧重于提供可靠、安全、容错、可持续、可扩展的基础设施,并且要能够容纳 基于互联网的应用服务。这些应用有不同的组成、配置和部署要求。一个云基础设施上的 应用和服务模型的负载、能量耗费(电力耗费和热力耗费)和系统规模都在不断地发生变 化,如何对这些动态变化中的应用及服务模型的调度及分配策略的性能进行量化是极富挑 战性的问题。为了简化这个过程,墨尔本大学的研究小组提出了云计算仿真器CloudSim, 一个新的通用、可扩展的模拟框架。它支持无缝建模、模拟并能进行新兴的云计算基础设 施和管理服务的实验。这个模拟框架有如下特性[24]: (1)支持建模和大规模云计算基础设施的实例化,包括在单一物理计算节点和JAVA 虚拟机上的数据中心。 (2)提供一个平台,可供数据中心、服务代理、调度和分配策略进行建模。 (3)提供虚拟引擎,有助于在一个数据中心节点上创建和管理多个独立、协同的虚 拟服务。 (4)可以灵活地在共享空间和共享时间的处理核心之间切换。 使用云计算模拟工具,方便了用户在软件开发之前进行评估和模拟,尤其是在云计算 环境下,对基础设施的访问会产生真实的资金耗费。使用户无需付费便可在一个可控的环 境内反复测试他们的服务,并能够在部署之前调节性能瓶颈。

5.1CloudSim 环境配置
1、JDK的安装及配置 从网上下载jdk1.6以上程序,CloudSim需运行在jdk1.6版本以上,本文为1.6.0_10版。 安装jdk1.6.0_10,默认目录为C:\Program Files\Java\jdk1.6.0_10。 (1)在“计算机”图标上单击右键,单击“属性”选项卡,再单击“高级系统设置” 、 “环境变量” 。 (2)系统变量->新建->变量名:JAVA_HOME 变量值:在路径中加入 C:\Program Files\Java\jdk1.6.0_10 (3)系统变量->编辑->变量名:Path 变量值:在路径中加入 %JAVA_HOME%\bin; (4)系统变量->编辑->变量名:CLASSPATH 变量值:在路径中加入 %JAVA_HOME%\lib\dt.jar; %JAVA_HOME%\lib\tools.jar; (5)测试配置是否正确。单击开始->搜索“cmd” ,在弹出的dos窗口中输入 “java -version” 如果屏幕上显示了Java语言的版本号, 如图5.1, 说明JKD配置成功, 可以关闭dos窗口。
20

武汉理工大学毕业设计(论文)

图 5.1 JDK 配置结果 2、CloudSim安装及配置 从网上下载cloudsim-2.1.1,将其解压到C:\ cloudsim-2.1.1。 设置环境变量:系统变量->编辑->变量名:Path 变量值:在路径中加入 C:\cloudsim-2.1.1\jars\cloudsim-2.1.1.jars; C:\cloudsim-2.1.1\jars\cloudsim-examples-2.1.1.jar; 3、MyEclipse安装及配置 从网上下载并安装MyEclipse6.5。由于java和My Eclipse版本问题,可能会引起如下问 题: (1)导入的包中出现好多小叉叉,我们可以做如下处理: MyEclipse界面下->Window->Preferences->Compiler,将“Compiler compliance level:” 5.0改为6.0即可如图5.2所示。

图5.2 版本问题解决 (2)运行样例老显示“Could not find the main class.programm will exit” ,我们可以做 如下处理: MyEclipse界面下 ->Window->Preferences->Installed JREs->选中myEclipse6.5 ->单 击 Edit-> 在 JRE home direction 浏 览 到 java 自 带 的 JRE 的 路 径 ( 本 文 的 路 径 是 C:\Program Files\Java\jdk1.6.0_10)->确定。

5.2 程序流程图

21

武汉理工大学毕业设计(论文)

图 流程图图 据中心流程图 5.4

5.3



创建数

5.3 程序编写步骤
用户使用CloudSim模拟云计算环境,可以根据自己的需求,完成对主机相关参数配置 (机器数量及特点)、云计算应用(任务、数量、资源需求)、VM、用户和应用类型的数量, 以及代理调度策略,健壮性方面进行模拟测试[24]。本文创建两个数据中心,每个数据中心 有一台主机,并在其上运行两个云任务。 CloudSim仿真一般包括以下步骤。 (1)初始化CloudSim包 每次进行仿真实验时, 都必须先进行初始化工作。 这个过程主要是对GridSim库进行初 始化,主要参数包含用户数量、日期、追踪标志、文件列表、进程列表、输出报告,如下: GridSim.init(num_user,calendar,trace_flag,exclude_from_file,exclude_from_processing, report_name); 代码清单1: int num_user = 1; Calendar calendar = Calendar.getInstance();
22

//用户数量 //日期

武汉理工大学毕业设计(论文)

boolean trace_flag = false; CloudSim.init(num_user, calendar, trace_flag); (2)创建数据中心

//追踪标志 // 初始化CloudSim包

在 CloudSim 仿真平台中, 数据中心是在 VM 的生命周期内负责管理 VM 的一组主机。 一个数据中心由一个或多个主机组成, 一个主机是由一个或多个 PE (预安装环境) CPU 或 组成。通过调用 createDatacenter 函数,用户可以创建多个数据中心,函数表示如下: DataCenter datacenter0=createDatacenter("Datacenter_0"); 数据中心的创建通常分为以几个步骤来完成对用户各项需求的设定,通过调用提供的 API 函数,可以轻易地完成这项工作。 1)首先创建一个机器列表对象,其中可包含一个或多个机器对象。 MachineList mList( )= new MachineList( ); 2)创始 PE 列表。 PEList peList1 = new PEListt( ); 3)创建 PE 并将其添加到上一步创建的 PE 列表中,可对其 ID 和 MIPS 进行设置,如 下: peListl.add(new PE(PE id,MIPS Rating)); 4)创建主机,并将其添加到机器列表中,主机的配置参数有 ID、内存、带宽、资源分 配策略(时间或空间共享)。 mList.add(new Host(hostID,memory,storage,bw,peListl,new SimpleMemoryProvisioner(), new SimpleBWProvisioner(),new TimeSharedAllocationPolicy (peList1))); 5)创建数据中心特征对象,用来存储 Grid 资源属性,包含:体系结构、操作系统、机 器列表、 分配策略 (时间、 空间共享) 时区 、 (用户设置所在时区, 应为 GMT-12?GMT+13) 以及各项费用(内存、外存、带宽以及处理器资源的费用) 。 DatacenterCharacteristics resConfig=new DatacenterCharacteristics(arch,os,vmm, mList ResourceCharacteristics.TIME-SHARED,time_zone,cost,costPerMe costPerStorage,costPerBw); 6)最后,创建一个数据中心对象,它的主要参数有波特率、峰值负载、非峰值负载、 节假日负载。可以根据实际情况,对周末和节假日时期的处理策略进行设定。 datacenter=newDataCenter(name,baud_rate,seed,resConfig,peakLoad,offPeakLoad, holidayLoad,Weekends,Holidays,new SimpleVMProvisioner( ), storageList); 代码清单2: Datacenter datacenter0 = createDatacenter("Datacenter_0"); Datacenter datacenter1 = createDatacenter("Datacenter_1"); private static Datacenter createDatacenter(String name){ // 1. 创建机器列表,其中包含一个机器对象 List<Host> hostList = new ArrayList<Host>(); // 2. 创建PE列表
23

武汉理工大学毕业设计(论文)

List<Pe> peList = new ArrayList<Pe>(); // 3. 创建PE并将其添加到PE列表中. int mips = 1000; //每秒处理的百万级的机器语言指令数

peList.add(new Pe(0, new PeProvisionerSimple(mips))); //ID和MIPS // 4. 创建主机并将其添加到机器列表中. int hostId=0; int ram = 2048; long storage = 1000000; int bw = 10000; hostList.add( new Host( hostId, new RamProvisionerSimple(ram), new BwProvisionerSimple(bw), storage, peList, new VmSchedulerSpaceShared(peList)//虚拟机空间共享 ) ); // 5. 创建数据中心特征对象 String arch = "x86"; String os = "Linux"; String vmm = "Xen"; double time_zone = 10.0; double cost = 3.0; double costPerMem = 0.05; double costPerStorage = 0.001; double costPerBw = 0.0; // 时区 // 处理器资源费用 // 内存费用 // 外存费用 // 带宽费用 // 体系结构 // 操作系统 //带宽 //ID //内存

LinkedList<Storage> storageList = new LinkedList<Storage>(); DatacenterCharacteristics characteristics = new DatacenterCharacteristics( arch, os, vmm, hostList, time_zone, cost, costPerMem, costPerStorage, costPerBw); // 6. 创建数据中心对象. Datacenter datacenter = null; try { datacenter=new Datacenter(name, characteristics, new VmAllocationPolicySimple (hostList), storageList, 0);
24

武汉理工大学毕业设计(论文)

} catch (Exception e) { e.printStackTrace(); } return datacenter; } (3 )创建数据中心代理 数据中心代理负责在云计算中根据用户的 QoS 要求协调用户及服务供应商和部署服 务任务。数据中心代理函数,隐藏了虚拟机的管理,如创建、任务提交、虚拟机的销毁等, 用于实现一定的数据中心代理策略,按照特定的规则提交虚拟机和云计算请求,结果返回 数据中心代理数据类型。用户可以对其进行扩展,实现自己的任务调度算法。 DatacenterBroker broker = createBroker(); int brokerid =broker.get_id(); CloudSim 提供了很好的云计算调度算法仿真平台,用户可以根据自身的要求调用适 当的 API,例如,bindCloudletToVM(int cloudletld, int vmId),可以将云任务指定给虚拟机运 行。或者对 DatacenterBroker 这个类进行扩展,以进行符合自己要求的试验,实现自己的调 度策略。 代码清单3: DatacenterBroker broker = createBroker(); int brokerId = broker.getId(); private static DatacenterBroker createBroker(){ DatacenterBroker broker = null; try { broker = new DatacenterBroker("Broker"); } catch (Exception e) { e.printStackTrace(); return null; } return broker; } (4)创建虚拟机 vmlist = new VirtualMachine List(); 对虚拟机的参数进行设置,主要包括 ID、镜像大小(MB) 、分配内存大小(MB) 、带 宽、CPU 数量、优先级、虚拟机名、调度策略。 VirtulMachine vm*=new VirtualMachine(new VMCharacteristics(vmid , brokerId,size, memory,bw,Vcpus,pnonty,vmm,new TimeSharedVMScheduler0)); //将虚拟机加入虚拟机列表
25

//打印异常发生处的堆栈轨迹

//打印异常发生处的堆栈轨迹

武汉理工大学毕业设计(论文)

vmList.add(vm*); //向相应代理提交虚拟机列表 broker.submitVMList(vmlist); 这是虚拟机实例的建模。在这一步可以设置需要创建的虚拟机的数量以及虚拟机的内 存、处理器、外存和虚拟机的内部调度策略。 代码清单4: vmlist = new ArrayList<Vm>(); //虚拟机参数 int vmid = 0; int mips = 250; long size = 10000; int ram = 512; long bw = 1000; int pesNumber = 1; String vmm = "Xen"; //创建2个虚拟机 Vm vm1 = new Vm(vmid, brokerId, mips, pesNumber, ram, bw, size, vmm, new CloudletSchedulerTimeShared()); vmid++; Vm vm2 = new Vm(vmid, brokerId, mips, pesNumber, ram, bw, size, vmm, new CloudletSchedulerTimeShared()); //加入虚拟机列表 vmlist.add(vm1); vmlist.add(vm2); //虚拟机列表提交给代理 broker.submitVmList(vmlist); (5)创建云任务 //创建云任务列表 cloudletList=new CloudletList(); //创建时指定任务的用户 ID,BrokerID Cloudlet cloudlet*=newCloudlet(id,length,file_size,output_size); Cloudlet*.setUserID (brokerId); //将任务加入任务列表 cloudletList.add(cloudlet1); //向代理 Broker 提交任务列表 broker.submitCloudletList(cloudletList);
26

//ID //镜像大小(MB) //内存(MB) //CPU数量 //虚拟机名

武汉理工大学毕业设计(论文)

在这一步可以设置需要创建的云任务数量以及任务长度等信息。 代码清单5: cloudletList = new ArrayList<Cloudlet>(); //云任务参数 int id = 0; long length = 40000; long fileSize = 300; long outputSize = 300; UtilizationModel utilizationModel = new UtilizationModelFull(); Cloudlet cloudlet1 = new Cloudlet(id, length, pesNumber, fileSize, outputSize, utilizationModel, utilizationModel, utilizationModel); cloudlet1.setUserId(brokerId); id++; Cloudlet cloudlet2 = new Cloudlet(id, length, pesNumber, fileSize, outputSize, utilizationModel, utilizationModel, utilizationModel); cloudlet2.setUserId(brokerId); //云任务加入列表 cloudletList.add(cloudlet1); cloudletList.add(cloudlet2); //提交云任务列表给代理 broker.submitCloudletList(cloudletList); //绑定云任务到虚拟机. broker.bindCloudletToVm(cloudlet1.getCloudletId(),vm1.getId()); broker.bindCloudletToVm(cloudlet2.getCloudletId(),vm2.getId()); (6)启动仿真 GridSim.startGridSimulation(); 代码清单6: CloudSim.startSimulation(); (7)在仿真结束后统计结果 CloudletList newList = broker.getCloudletList(); GridSim.stopGridSimulation(); printCloudletList(newList); Datacenter0.printDebts(); 运行完成的 CloudSim 实例程序即可实现云计算程序的模拟。 代码清单7: List<Cloudlet> newList = broker.getCloudletReceivedList();
27

武汉理工大学毕业设计(论文)

CloudSim.stopSimulation(); printCloudletList(newList); //打印账单 datacenter0.printDebts(); datacenter1.printDebts(); Log.printLine("CloudSimhuye finished!"); } catch (Exception e) { e.printStackTrace(); Log.printLine("Unwanted errors happen"); } } (8)输出结果 代码清单8: private static void printCloudletList(List<Cloudlet> list) { int size = list.size(); Cloudlet cloudlet; String indent = " Log.printLine(); Log.printLine("========== OUTPUT =========="); Log.printLine("Cloudlet ID"+indent+"STATUS"+indent+"Data center ID"+indent +"VM ID"+indent+"Time"+indent+"Start Time"+indent+"Finish Time"); DecimalFormat dft = new DecimalFormat("###.##");// for (int i = 0; i < size; i++) { cloudlet = list.get(i); Log.print(indent + cloudlet.getCloudletId() + indent + indent); if (cloudlet.getCloudletStatus() == Cloudlet.SUCCESS){ Log.print("SUCCESS"); Log.printLine( indent + indent + cloudlet.getResourceId() + indent+indent +indent+cloudlet.getVmId()+indent+indent+dft.format(cloudlet.getActualCPUTime()) + indent + indent + dft.format(cloudlet.getExecStartTime())+indent } } } }
28

//异常处理机制

";

格式化十进制数字

+

indent

+

dft.format

(cloudlet.getFinishTime()));

武汉理工大学毕业设计(论文)

5.4 仿真结果

图5.5仿真结果

29

武汉理工大学毕业设计(论文)

6 总结及展望
6.1 本文工作总结
云存储是一种架构复杂的系统,与传统的存储系统相比,其建立在云计算系统的基础 设施之上,而这样的基础实施是基于廉价的、或虚拟化了的不可信物理硬件,同时其必须 支持超大节点规模和海量数据存储,并具有高并发、低延迟的服务能力。为了满足面向云 存储的这些高可用、高可靠、高性能的需求,我们研究了其实现的关键技术。总体来说, 本文的贡献主要在以下三个方面: (1)调研了云存储的发展背景及现状,云存储的定义及其特点,给出了其架构模型, 研究了云存储与传统存储技术、云存储与云计算的的关系。 (2)调研了云存储的关键技术,对比了多家云存储厂商的架构技术(GFS、GPFS、 HDFS、Dynamo)和标准接口,以及其架构的特点等相关背景知识。 (3)调研了云计算仿真工具CloudSim,及其程序的编写步骤,安装了仿真需要的软 件jdk1.6.0_10、cloudsim-2.1.1及MyEclipse6.5,对云计算系统进行了仿真,分析了CloudSim 平台源码,更加形象的了解云计算系统的工作方式。 从最初调研云环境下的存储技术到论文方案的提出,我阅读了众多文献,与老师讨论 多次,完成了仿真工具的安装,代码编写,实验总结等一系列工作,收获颇丰。

6.2 研究工作展望
本文的现阶段的工作为云存储的可用性及可靠性增强提供了一个较好的系统的解决 方案。然而,本文的工作还存在一些不足需要更进一步完善。 (1)尽管本文的一系列解决方案之间是互为补充的,但我们目前只在小规模的环境 进行了实验与测试,尚未在真实的大规模的云计算平台上进行测试。因此,我们将在下一 步工作中探索本文的关键技术在真实云计算平台中的应用。 (2)研究存储的安全性和用户的隐私性问题所涉及的关键技术,如PXI应用,基于虚 拟化的隔离技术等。 (3)本文研究了云存储中的关键技术,但没有结合实际,了解这些关键技术在不同 厂商的云存储产品中的应用。所以,我要在下一步的工作中,调研实际的云存储产品中的 关键技术的运用,使我更形象的理解这些关键技术。 总之,云存储的研究和应用还有一片广阔的前景,今后需要研究地问题还很多,我们 应该不断地学习,利用自己所学的知识,为该领域的相关研究做出自己应有地贡献。

30

武汉理工大学毕业设计(论文)

参考文献
[1]Hayes B. Cloud Computing[J]. Communications of the ACM, 2008, 51(7): 9-11. [2]LING, DASMALCHIG, ZHU J. Cloud Computing and IT as a Service Opportunities and Challenges [C]//Proceedings of the IEEE 6th International Conference on Web Services (ICWS’ 08), Sep 23-26. 2008. Beijing, China. Los Alamitos, CA, USA: IEEE Computer Society, 2008.5. [3]NAMJOSHI I GUPTE A . Service Oriented Architecture for Cloud Based Travel Reservation Software as a Service [C] //Proceedings of the 2009 IEEE International Conference on Cloud Computing(CLOUD’ 09). Sep 21-25, 2009, Bangalore, India Los Alamitos, CA, USA: IEEE Computer Society, 2009. 147-150. [4]LAPLANTE PA, ZHANG J, VOAS J. What’S in a Name? Distinguishing Between SaaS and SOA[J|. T Professional, 2008, 10(3): 46-50. [5]CAMPBELL-KELLY M HistoricaI Reflections on the Rise, Fall, and Resurrection of Software as a Service[J]. Communications of the ACM.2009. 52(5): 28-30. [6]王庆波, 金漳, 何乐, 等. 虚拟化与云计算[M]. 北京: 电子工业出版社. 2009. [7]Michael Miller. Cloud Computing: web based applications that change the way you word and collaborate online. USA; QUE, 2009. 2-322. [8]Benjamin Blau. Cloud Computing-A Classification, Business Models, and Research Directions. Business&Information Systems Engineering, Business&Information Systems Engineering. 2009, 10, l(5). 391-399. [9]Wenying Zeng, Yuelong Zhao.Research on cloud storage architecture and key technologies. ICIS ACM.2009, 10, 3(4). 1044-1048. [10]Gregory Chockler, Rachid Guerraoui, Idit Keidar, etc. Reliable Distributed Storage. Computer. 2009, 4, 42(4). 60-67. [11]Milad Pastaki Rad, Ali Sajedi Badashian, Gelare Meydanipour. A Survey of Cloud Platforms and Their Future.Lecture Notes in Computer Science. Springer Berlin. Heidelberg. 2009, 10, 2(5). 788-796. [12]Balachandra Reddy, Ramakrishna Paturi.Atanu Rakshit. Research and application of cloud storage. Intelligent Systems and Applications(ISA), 2010 2nd International Workshop on. 2010, 3, 1-5. [13]王鹏. 云计算的关键技术及应用实例. 第一版. 中国: 人民邮电出版社, 2010. 3. 287. [14]BONEH D, CRESCENZOG, OSTROVSKY R, et al. Public Key Encryption With Keyword Search [C]//Advances in Cryptology. Proceedings of the 23rd Annual International Conference on the Theory and Applications of Cryptographic Techniques (EUROCRYPT’04), May 2-6, 2004, Interlaken, Switzerland. LNCS 3027. Berlin, Germany: Springer-Verlag, 2004: 506-522.
31

武汉理工大学毕业设计(论文)

[15]PARK D, KIMK, LEEP. Public Key Encryption With Conjunctive Field Keyword Search [C]//Proceedings of the 2004 Workshop on Information Security Applications (WISA’04), Oct 29-31, 2004, Wuhan, China. LNCS3325. Berlin, Germany: Springer-Verlag, 2004:73-86. [16]SWAMINATHANA, MAO Y, SUG M, et al.Confidentiality-Preserving Rank-Ordered Search [C] //Proceedings of the 2007 ACM Workshop on Storage Security and Survivability (StorageSS’07), Oct29, 2007, Alexandria, VA, USA. New York, NY, USA:ACM, 2007:7-12. [17]百度百科 GFS http://baike.baidu.com/view/805525.htm. [18]百度百科 GPFS http://baike.baidu.com/view/1301755.htm. [19]Michael G.Noll Running Hadoop On Ubuntu Linux (Single-Node Cluster) http: //www. michael-noll. com/ August 5, 2007. [20]百度百科 HDFS http://baike.baidu.com/view/3061630.htm. [21]Hadoop Org.’Hadoop Documents’.hnp://hadoop.apache.org/. [22]Andrew S.Tanenbaum,Maarten Van Steen.Distributed Systems principles and Paradigms. Cllina:Tsinghua,2007.5-234. [23]Giuseppe DeCandia Gunavardhan Kakulapati.Dynamo:anlazon’s highly available key-value store.Proceedings of twenty-first ACM SIGOPS ymposium on Operating systems principles. 2007, 10. 14-l7. [24]刘鹏. 云计算. 北京. 电子工业出版社. 2011.

32

武汉理工大学毕业设计(论文)

致谢
毕业论文即将完成,我的学生生涯也要告一段落了。借此机会,我要对四年来帮助过 我的人表示深深的感谢。 本论文的工作是在我的导师许建霞老师的悉心指导下完成的,许建霞老师严谨的治学 态度和科学的工作方法给了我极大的帮助和影响。在此衷心感谢毕业设计以来许建霞老师 对我的督促指导和热情鼓励。 感谢通信0906班的王一鸣同学、王红琛同学,及我的舍友谢璐琼同学、彭欢同学,在 我学习和撰写论文期间给予的热情帮助,经常与我探讨相关问题,与他们交流使我增长了 不少见识,扩大了视野。 感谢百忙中为我的论文审稿的各位老师。 感谢父母的养育之恩和人生路上给予我始终如一的关心和温暖,他们无尽的支持与关 爱是鼓励我不断进取的动力。 2013年5月24日

33


相关文章:
云存储系统的实现毕业设计(论文)
云存储系统的实现毕业设计(论文)_工学_高等教育_教育专区 暂无评价|0人阅读|0次下载云存储系统的实现毕业设计(论文)_工学_高等教育_教育专区。毕业设计(论文) ...
云存储技术毕业设计
指导教师签名 院长签名(章) 系主任签名 武汉理工大学 本科生毕业设计(论文)开题报告 1、目的及意义(含国内外的研究现状分析)云存储是一个以数据存储和管理为核心...
云存储技术毕业论文
云存储技术毕业论文_工学_高等教育_教育专区。引言 传统模式下,企业建立一套 IT...因此云存储产 品设计的好坏会产生很大的差异,有些十几个节点便达到饱和,这样 ...
基于云存储的网络硬盘管理软件的设计与实现
毕业设计(论文) 课题名 称基于云存储的网络硬盘管理软件的设计与实现 学生姓名...云存储最大优势 在于将单一的存储产品转换为数据存储与服务, 在这个技术下, ...
云存储技术剖析
云存储 是一大类特殊的共享存储。作为提供存储资源的服务,云存储需要保证用户...云存储技术毕业设计 41页 5下载券 云存储技术探讨 4页 5下载券 NetApp统一...
浅谈云存储及其安全技术
浅谈云存储及其安全技术_计算机软件及应用_IT/计算机_专业资料。浅谈云存储及其安全...云存储技术毕业设计 41页 5下载券 移动智能终端安全问题及... 4页 免费 云...
云存储及架构
1 云存储技术 云存储系统与传统存储系统相比,具有如下不同:第一,从功能 需求...通过设计统一的用户管理、安全管理、副本管理及策 略管理等公共数据管理功能,将...
云存储方案
1.1.2 系统架构 1.1.2.1 技术路线在视频云存储系统的设计中,采用的核心技术如下: 1) 采用存储全域虚拟化技术对具有海量存储需求的用户提供透明存储构 架,可...
云存储技术的介绍与发展
云存储技术的介绍与发展_信息与通信_工程科技_专业资料。云计算方面的云存储技术...传统的系统利用紧耦合对称架构,这种架构的设计旨在解决 HPC(高性能计算、超级运算...
云存储架构详解
云存储的概念与云计算类似,它是指通过集群应用、网格技术或分布式文件系统 等...高速成长的数据量与带宽而产生的 新形态存储系统,因此云存储设计时通常会考虑...
更多相关标签:
建筑工程技术毕业设计 | 数字媒体技术毕业设计 | 软件技术毕业设计 | 软件技术毕业设计题目 | 毕业设计技术路线 | 数控技术毕业设计 | 毕业设计技术规范 | 应用电子技术毕业设计 |