ImageVerifierCode 换一换
格式:DOCX , 页数:47 ,大小:1.52MB ,
资源ID:12668280      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/12668280.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Google云计算平台的分析与测试.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

Google云计算平台的分析与测试.docx

1、Google云计算平台的分析与测试Google 云计算平台的分析与测试摘要当今,云计算作为一种成功的商业模式正在快速的发展,得到了商业界和学术界的大力支持。因为能够提供强大的计算和存储能力,云计算能够以较低的成本完成海量的任务,受到了许多IT公司的青睐,纷纷推出了云计算发展战略。云计算包含两个方面的含义:一方面是底层构建的云计算平台的基础设施,是构建上层应用程序的基础;另一方面是构建在这个基础平台之上的云计算应用程序。本课题正是是从这两个方面分析Google云计算平台的原理和使用的。在基础设施分析方面,首先根据现有的云计算平台,总结出通用的云计算平台体系结构,介绍云计算平台的层次划分以及各个层

2、次使用的技术,认识Google云计算平台的体系结构,对Google在云计算平台各个层次所使用的技术有一个总体的了解。之后把研究重点放在对Google核心技术GFS、MapReduce、BigTable的分析上,了解这些技术如何帮助Google云计算平台实现按需分配资源、充分利用资源、容易扩展和高可用性的特性。在云计算应用程序研究方面,基于Google App Engine提供的服务编写一个云计算应用程序来测试Google云计算平台的各项功能。在理论的基础上结合实践,更加全面了解Google云计算平台的原理和使用。关键字:云计算;GFS;MapReduce;BigTable;Google App

3、 EnginTHE ANALYSIS AND TESTING OF GOOGLE CLOUD COMPUTING PLATFORMABSTRACTToday, the cloud computing as a successful business model is developing rapidly,and has got the commercial and academic support.Because it can provide powerful computing and storage capacity, cloud computing can complete massiv

4、e task at low cost, many IT companies attache great importance to it , and launch their cloud computing strategy one after another. Cloud computing consists of two aspects: one is to build the underlying infrastructure for cloud computing platform that is used to build the basis for the upper applic

5、ation; the other hand, is cloud computing applications built on this foundation platform.The research of the Google cloud computing platform in this issuse is also from these two aspects to analysize the principles and use of this platform.On the hand of analysizing infrastucture ,this issuse summed

6、 up a common architecture for cloud computing describing the level of division and the technology used at all levels based on the existing cloud computing platform firstly,then have a look at the Google cloud computing platform architecture to have a general understanding of the technologies used at

7、 all levels in the platform. Then the issuse put the focus of the study on the understanding and analysis of these core technologies GFS、BigTable of Google, understanding the principle of how these technologies can help Googles cloud computing platform realize assigning resources based on needs,maki

8、ng full use of resources, easy expansion and high availability features of cloud computing.On the hand of studying cloud applications ,the work is to write a Google cloud computing platform based on the services provided by Google App Engine to test various functions of platform. On the basis of the

9、 theory with practice, I can have a more comprehensive understanding of the principles and user of Googles cloud computing platform.Keywords : Cloud Computing;GFS;MapReduce;BigTable;Google App Engine目录摘要 IABSTRACT II1 绪论 11.1 课题背景与意义 11.1.1 课题背景 11.1.2 课题意义 11.2 研究现状 21.3 本文主要工作 22 Google云计算平台概述 32.

10、1 Google云计算平台的体系结构 32.1.1 云计算体系结构 32.1.2 Google云计算体系结构 42.2 Google云计算平台的应用领域 53 Google云计算平台核心技术 73.1 Google 文件系统GFS 73.1.1 分布式文件系统概述 73.1.2 GFS的设计思想和目标 73.1.3 GFS的特点 83.2 并行数据处理MapReduce 93.2.1 MapReduce的产生背景 93.2.2 MapReduce的编程模型 93.3 分布式数据库BigTable 103.3.1 BigTable概述 103.3.2 BigTable体系结构 114 Googl

11、e App Engine 测试程序分析与设计 134.1 测试程序需求分析 134.2 测试程序运行环境分析 134.2.1 Google App Engine概述 134.2.2 Google 软件基础设施分析 144.2.3 App Engine应用程序环境和沙盒 174.3 App Engine 测试程序设计 184.3.1 测试程序概要设计 184.3.2 测试程序详细设计 195 Google App Engine 测试程序实现 225.1 开发环境 225.2 应用程序配置 225.3 博客的发布和浏览模块实现 225.3.1 实体健的配置 235.3.2 实体间关系 235.3.

12、3 事务 245.4 用户的登录和资料管理模块实现 245.4.1 用户验证 245.4.2 资料管理 255.4.3 头像处理 255.4.4 用户定位 255.5 电子邮件发送模块实现 265.6 App Engine 测试程序结果 265.7 App Engine 测试程序部署 285.7.1 测试程序上传 285.7.2 测试程序管理 285.7.3 GAE应用程序配额和限制 30结论 33参考文献 34致谢 361 绪论1.1 课题背景与意义1.1.1 课题背景云计算无疑是IT技术界当前最热点的关键词之一。在云计算提出后的短短几年间,Google、Amazon、Yahoo 等互联网服

13、务商,IBM 、Microsoft 等IT 厂商都纷纷提出了自己的云计算战略,各电信运行商也对云计算投入了极大的关注,这对云计算的商业价值给予了充分的肯定。同时学术界也对云计算进行深层次的研究,例如Google和IBM联合宣布推广“云计算”的学术合作计划,包括卡内基梅隆大学、斯坦福、伯克利、华盛顿大学、MIT、清华大学在内的许多高校都参加了这项计划1,2,推动云计算的普及,加紧对云计算的研究。云计算并不是一门新技术,而是融合了分布式计算,网格计算和并行计算,创造性的提出动态管理资源并按需分配的一种新商业模式。云计算利用规模化管理和按需分配的优势,大大提高了资源的利用率,降低了计算、存储、网络等

14、资源的使用成本。Google宣称,由于使用了云计算技术,其计算成本是竞争对手的1/100,而存储成本是竞争对手的1/303。正是由于云计算能够显著降低企业信息化成本,其蕴藏着巨大的潜力。Google、Amazon、Microsoft、IBM等IT厂商都推出了自己的云计算平台,提供了IAAS、PAAS、SAAS各个类别的不同服务。云计算很有可能改变当今IT界的格局,使得分散化应用向集中化演变,以桌面为核心使用各项应用转移到以Web为核心进行各种活动。Google可以说是云计算鼻祖,Google的发展就是依据云计算模式进行的。Google的各项应用如Google Search、Google Gma

15、il、Google Maps、Google Earth等都是建立在Google的上百万台廉价的X86服务器上的4,而能够利用这些廉价服务器资源的正是Google的云计算平台。Google以论文的形式展示了其云计算平台的核心技术原理,为云计算的研究提供了理论依据。Google App Engine这一平台的发布使用户通过编程的方式使用同Google Search、Google Map一样的基础设施,让用户能够结合理论,切实的参加到云计算的实践之中。1.1.2 课题意义云计算已经成为一种趋势,不论是对企业还是个人,各种应用系统将运行于云计算平台之上。与传统的虚拟空间只能提供固定的计算能力、存储空间

16、和网络带宽相比,Google云计算平台作为公有云能够为应用提供强大的按需的运算和存储能力,能够提高资源利用率并降低成本。本课题通过研究与分析Google云计算平台的原理、性能以及Google App Engine提供的编程接口,能够有利于应用系统在google云计算平台上的部署和管理。并且能够帮助企业借鉴google云计算平台先进的思想和原理搭建私有云。1.2 研究现状与建立在高性能UNIX 服务器集群的基础上的大型IT系统相比,Google的云计算平台建立在大量的X86廉价服务器集群之上,那么两者在技术架构上也存在着明显的差异。Google采用了许多独特的技术,如数据中心节能技术、节点互联技

17、术、可用性技术、容错性技术、数据存储技术、数据管理技术、数据切分技术、任务调度技术、编程模型、负载均衡技术、并行计算技术和系统监控技术等3。正是这些技术的互相协作,使得Google的云计算平台成为一个能够自动管理资源、自动容错的一个有机整体,成为承载Google应用的强有力支撑。Google云计算平台中,Node是最基本的处理单元。在 Google 云计算平台的技术架构中,除了少量负责特定管理功能的节点如(GFS Master、Chubby和 Scheduler等),所有的节点都是同构的,即同时运行BigTable Server、GFS Chunk Server和MapReduce Job 等

18、核心功能模块,与之相对应的则是数据存储、数据管理和编程模型等3项关键技术。Google相继发表了三大核心技术GFS5、MapReduce6、BigTable7的论文,详细的介绍了其实现原理。文献5是GFS的论文,介绍了GFS这一分布式文件系统的设计思想,体系结构以及在数据完整性、一致性的问题上所采用的策略。文献6是MapReduce的论文,介绍了MapReduce这一并行计算的编程模型以及实现。文献7是BigTable的论文,介绍了BigTable这一分布式数据库的存储原理。此外,Google也发表了许多辅助技术的论文,例如Chubby8锁服务的论文。做为使用Google云计算平台接口的Goo

19、gle App Engine服务目前已经可以支持Python、Java和Go三种语言,提供了存储、邮件、图像处理、Google账户、内存缓存等多项服务。但是还是存在着很多限制,例如不能使用Google的文件系统。随着平台的不断发展,更多得服务将会提供,而编程限制也会逐渐减少。1.3 本文主要工作Google云计算平台是一个由应用服务器群、Bigtable数据库及GFS数据存储服务组成的平台,Google App Engine可以让开发者在Google的基础架构之上运行网络应用程序,能为开发者提供一体化的、可自动升级的在线应用服务。本文首先对Google云计算的GFS、MapReduce、Chu

20、bby以及Bigtable等核心技术进行深入的分析,然后分析Google App Engine的应用程序环境、沙盒、数据库、App Engine服务、开发流程、配额和限制等。最后以所分析的理论知识为基础,设计并实现一个简单的信息系统来测试Google App Engine的各项服务。2 Google云计算平台概述2.1 Google云计算平台的体系结构2.1.1 云计算体系结构云计算充分利用网络和计算机技术实现资源的共享和服务,解决云进化、云控制、云推理和软计算等复杂问题,其基础架构可以用云计算体系结构来描述,而云计算的服务层次则从提供服务类型角度描述云计算对应提供的功能或服务,云计算技术层次

21、从云计算软硬件结合角度说明云计算平台的构成。 在云计算中,根据其服务集合所提供的服务类型,整个云计算服务集合被划分成4个层次:应用层、平台层、基础设施层和虚拟化层9-10。这4个层次每一层都对应着一个子服务集合。云计算的服务层次是根据服务类型即服务集合来划分,层次是可以分割的,即某一层次可以单独完成一项用户的请求而不需要其他层次为其提供必要的服务和支持。应用层对应SaaS软件即服务如:Google APPS;平台层对应PaaS平台即服务如:IBM IT Factory、Google APP Engine;基础设施层对应IaaS基础设施即服务如:Amazon EC2、IBM Blue Cloud

22、、Sun Grid;虚拟化层对应硬件即服务结合Paas提供硬件服务,包括服务器集群及硬件检测等服务。云计算技术层次和云计算服务层次不是一个概念,后者从服务的角度来划分云的层次,主要突出了云服务能给我带来什么。而云计算的技术层次主要从系统属性和设计思想角度来说明云,是对软硬件资源在云计算技术中所充当角色的说明。从云计算技术角度来分,云计算大约有4部分构成:物理资源层、资源池层、管理中间件层和SOA构建层,如图2-1所示11-12。 其中资源池层和管理中间件层是云计算技术的最关键部分。SOA构建层:将云计算能力封装成标准的web services服务,并纳入到SOA体系进行管理和使用,时用户端与云

23、端交互操作的入口,可以完成用户或服务注册,对服务的定制和使用。管理中间件层:在云计算技术中,中间件位于服务和服务器集群之间,提供管理和服务即云计算体系结构中的管理系统。对标识、认证、授权、目录、安全性等服务进行标准化和操作,为应用提供统一的标准化程序接口和协议,隐藏底层硬件、操作系统和网络的异构性,统一管理网络资源。其用户管理包括用户身份验证、用户许可、用户定制管理;资源管理包括负载均衡、资源监控、故障检测等;安全管理包括身份验证、访问授权、安全审计、综合防护等;映像管理包括映像创建、部署、管理等。图2-1 云计算技术层次模型资源池层:将大量相同类型的资源构成同构或接近同构的资源池,如计算池,

24、存储池和网络池、数据库资源等,构建资源池更多的是物理资源的集成和管理工作,通过软件技术来实现相关的虚拟化功能包括虚拟环境、虚拟系统、虚拟平台。物理资源层:主要指能支持计算机正常运行的一些硬件设备及技术,可以是价格低廉的PC,也可以是价格昂贵的服务器及磁盘阵列等设备,可以通过现有网络技术和并行技术、分布式技术将分散的计算机组成一个能提供超强功能的集群用于计算和存储等云计算操作。在云计算时代,本地计算机可能不再像传统计算机那样需要空间足够的硬盘、大功率的处理器和大容量的内存,只需要一些必要的硬件设备如网络设备和基本的输入输出设备等。2.1.2 Google云计算体系结构上一节从服务和技术的层次分别

25、提出了云计算的通用体系结构,各大IT厂商的解决方案只实现了其中的部分功能,接下来介绍一下Google云计算平台的体系结构。Google最大的IT优势在于它能够建造出一套既富于性价比而又能承载极高负载的高性能系统。因此Google认为与竞争对手相比,具有更大的成本优势,同时Google程序员的效率比其他web同行么高出50%100%,原因是Google应经开发出了一套专用于大规模并行系统的软件库。从整体看来,Google的云计算平台包含了如下结构层次13:网络系统:包括内部网络和外部网络。内部网络是用于连接Google自建的各个数据中心的网络系统,这一高速的网络系统使得Google的每一台服务器

26、连接在一起成为一个负载平衡的集群。外部网络是指在Google数据中心之外,有Google自己搭建的用于不同国家/地区,不同应用之间的数据交换网络。硬件系统:从层次上来看,包括单个服务器、整合了多服务器的机架以及存放、连接各服务器机架的数据中心(IDC)。软件系统:包括每个服务器上安装的单机操作系统和Google云计算底层软件系统(文件系统GFS、并行计算处理算法MapReduce、并行数据库BigTable、并行所服务Chubby和云计算消息队列GWQ)。Google内部使用的软件开发工具,包括C+、Java、Python等。Google发布的可以使用Python、Java等编程语言调用云计算

27、底层软件系统的PAAS平台Google App Engine。Google自己开发的SAAS类型的各项服务,例如Google Search、Google Gmail、Google Map、Google Earth等。 图2-2 Google 云计算平台体系结构2.2 Google云计算平台的应用领域Google提出了应用向互联网迁移、数据向互联网迁移、计算能力向互联网迁移、存储空间向互联网迁移这一云计算构想,甚至在未来浏览器可能代替操作系统的作用,直接使用来自互联网的各种软件。从Google提供的基于浏览器使用的各项服务,到推出Chrome OS网络操作系统,可以看到其在云计算战略中坚定的步伐

28、。然而,以桌面操作系统为中心向以服务器为中心的过渡必然会增加服务器端的计算和存储压力,服务器端必须有处理海量计算和存储的能力才能够支撑。而Google的云计算平台就具有这种能力,它最直接的应用领域便作为基础设施来承载Google提供的搜索、邮件、文档、地图等各项互联网应用。随着Google App Engine的发布,不论是简单的个人应用还是企业级应用,都可以构建在Google的云计算平台之上。这不仅能让广大用户体验到云计算带来的低成本优势,而且有利于基于互联网的应用的繁荣。总的来说,Google提供了SAAS和PAAS两种类型的服务,不仅可以提供给用户与桌面软件相同体验的互联网应用,而且提供

29、了一个用来创建互联网应用的平台。在Google云计算平台的强有力支持下,Google的服务具有广阔的应用空间。3 Google云计算平台核心技术Google拥有全球最强大的搜索引擎。除了搜索业务以外,Google还有Google Maps、Google Earth、Gmail、YouTube等各种业务,包括刚诞生的Google Wave14。这些应用的共性在于数据量巨大,而且要面向全球用户提供实时服务,因此Google必须解决海量数据存储和快速处理问题。Google的诀窍在于它发展出简单而又高效的技术,让多达百万台的廉价计算机协同工作,共同完成这些前所未有的任务,这些技术是在诞生几年之后才被命

30、名为Google云计算技术。Google云计算技术具体包括:Google文件系统GFS、分布式计算编程模型MapReduce、分布式锁服务Chubby和分布式结构化数据存储系统Bigtable等。其中,GFS提供了海量数据的存储和访问的能力,MapReduce使得海量信息的并行处理变得简单易行,Chubby保证了分布式环境下并发操作的同步问题,Bigtable使得海量数据的管理和组织十分方便。本章将对这四种核心技术进行详细介绍。3.1 Google 文件系统GFSGoogle文件系统是一个大型的分布式文件系统,它为Google云计算提供海量存储,并且与Chubby、MapReduce以及Big

31、table等技术结合十分紧密,处于所有核心技术的底层。下面先介绍一下分布式文件系统的概念以及GFS与其他已有分布式文件系统的区别。3.1.1 分布式文件系统概述文件系统是操作系统的一个重要组成部分,通过对操作系统所管理的存储空间的抽象,向用户提供统一的、对象化的访问接口,屏蔽对物理设备的直接操作和资源管理。根据计算环境和所提供功能的不同,文件系统可划分为四个层次,从低到高依次是:单处理器单用户的本地文件系统,如DOS的文件系统;多处理器单用户的本地文件系统,如OS/2的文件系统;多处理器多用户的文件系统,如Unix的本地文件系统;多处理器多用户的分布式文件系统。本地文件系统(Local Fil

32、e System)是指文件系统管理的物理存储资源直接连接在本地节点上,处理器通过系统总线可以直接访问。分布式文件系统(Distributed File System)是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连。分布式文件系统是目前最高级的文件系统,它将由网络连接的各个存储节点抽象成为一个统一的存储系统,内部各个存储节点的管理和协作等复杂问题均由系统实现,提供了与最基本的本地文件系统几乎相同的访问接口和对象模型,大大简化了分布式文件系统的使用。正是由于对用户透明地改变了结构,满足用户的需求,以掩盖分布式文件操作的复杂性,才大大增加了分布式文件系统的实现难度。3.1.2 GFS的设计思想和目标GFS与过去的分布式文件系统有很多相同的目标,但GFS的设计受到了当前及预期的应用方面的工作量及技术环境的驱动,这反映了它与早期的文件系统明显不同的设想5: 1) 硬件出错是正常而非异常。因为文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1