Google云计算平台的分析与测试复习过程.doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《Google云计算平台的分析与测试复习过程.doc》由会员分享,可在线阅读,更多相关《Google云计算平台的分析与测试复习过程.doc(52页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、Good is good, but better carries it.精益求精,善益求善。Google云计算平台的分析与测试-Google云计算平台的分析与测试摘要当今,云计算作为一种成功的商业模式正在快速的发展,得到了商业界和学术界的大力支持。因为能够提供强大的计算和存储能力,云计算能够以较低的成本完成海量的任务,受到了许多IT公司的青睐,纷纷推出了云计算发展战略。云计算包含两个方面的含义:一方面是底层构建的云计算平台的基础设施,是构建上层应用程序的基础;另一方面是构建在这个基础平台之上的云计算应用程序。本课题正是是从这两个方面分析Google云计算平台的原理和使用的。在基础设施分析方面,
2、首先根据现有的云计算平台,总结出通用的云计算平台体系结构,介绍云计算平台的层次划分以及各个层次使用的技术,认识Google云计算平台的体系结构,对Google在云计算平台各个层次所使用的技术有一个总体的了解。之后把研究重点放在对Google核心技术GFS、MapReduce、BigTable的分析上,了解这些技术如何帮助Google云计算平台实现按需分配资源、充分利用资源、容易扩展和高可用性的特性。在云计算应用程序研究方面,基于GoogleAppEngine提供的服务编写一个云计算应用程序来测试Google云计算平台的各项功能。在理论的基础上结合实践,更加全面了解Google云计算平台的原理和
3、使用。关键字:云计算;GFS;MapReduce;BigTable;GoogleAppEngin-THEANALYSISANDTESTINGOFGOOGLECLOUDCOMPUTINGPLATFORMABSTRACTToday,thecloudcomputingasasuccessfulbusinessmodelisdevelopingrapidly,andhasgotthecommercialandacademicsupport.Becauseitcanprovidepowerfulcomputingandstoragecapacity,cloudcomputingcancompletema
4、ssivetaskatlowcost,manyITcompaniesattachegreatimportancetoit,andlaunchtheircloudcomputingstrategyoneafteranother.Cloudcomputingconsistsoftwoaspects:oneistobuildtheunderlyinginfrastructureforcloudcomputingplatformthatisusedtobuildthebasisfortheupperapplication;theotherhand,iscloudcomputingapplication
5、sbuiltonthisfoundationplatform.TheresearchoftheGooglecloudcomputingplatforminthisissuseisalsofromthesetwoaspectstoanalysizetheprinciplesanduseofthisplatform.Onthehandofanalysizinginfrastucture,thisissusesummedupacommonarchitectureforcloudcomputingdescribingthelevelofdivisionandthetechnologyusedatall
6、levelsbasedontheexistingcloudcomputingplatformfirstly,thenhavealookattheGooglecloudcomputingplatformarchitecturetohaveageneralunderstandingofthetechnologiesusedatalllevelsintheplatform.ThentheissuseputthefocusofthestudyontheunderstandingandanalysisofthesecoretechnologiesGFS、BigTableofGoogle,understa
7、ndingtheprincipleofhowthesetechnologiescanhelpGooglescloudcomputingplatformrealizeassigningresourcesbasedonneeds,makingfulluseofresources,easyexpansionandhighavailabilityfeaturesofcloudcomputing.Onthehandofstudyingcloudapplications,theworkistowriteaGooglecloudcomputingplatformbasedontheservicesprovi
8、dedbyGoogleAppEnginetotestvariousfunctionsofplatform.Onthebasisofthetheorywithpractice,IcanhaveamorecomprehensiveunderstandingoftheprinciplesanduserofGooglescloudcomputingplatform.Keywords:CloudComputing;GFS;MapReduce;BigTable;GoogleAppEngine目录摘要IABSTRACTII1绪论11.1课题背景与意义11.1.1课题背景11.1.2课题意义11.2研究现状2
9、1.3本文主要工作22Google云计算平台概述32.1Google云计算平台的体系结构32.1.1云计算体系结构32.1.2Google云计算体系结构42.2Google云计算平台的应用领域53Google云计算平台核心技术73.1Google文件系统GFS73.1.1分布式文件系统概述73.1.2GFS的设计思想和目标73.1.3GFS的特点83.2并行数据处理MapReduce93.2.1MapReduce的产生背景93.2.2MapReduce的编程模型93.3分布式数据库BigTable103.3.1BigTable概述103.3.2BigTable体系结构114GoogleAppE
10、ngine测试程序分析与设计134.1测试程序需求分析134.2测试程序运行环境分析134.2.1GoogleAppEngine概述134.2.2Google软件基础设施分析144.2.3AppEngine应用程序环境和沙盒174.3AppEngine测试程序设计184.3.1测试程序概要设计184.3.2测试程序详细设计195GoogleAppEngine测试程序实现225.1开发环境225.2应用程序配置225.3博客的发布和浏览模块实现225.3.1实体健的配置235.3.2实体间关系235.3.3事务245.4用户的登录和资料管理模块实现245.4.1用户验证245.4.2资料管理25
11、5.4.3头像处理255.4.4用户定位255.5电子邮件发送模块实现265.6AppEngine测试程序结果265.7AppEngine测试程序部署285.7.1测试程序上传285.7.2测试程序管理285.7.3GAE应用程序配额和限制30结论33参考文献34致谢361绪论1.1课题背景与意义1.1.1课题背景云计算无疑是IT技术界当前最热点的关键词之一。在云计算提出后的短短几年间,Google、Amazon、Yahoo等互联网服务商,IBM、Microsoft等IT厂商都纷纷提出了自己的云计算战略,各电信运行商也对云计算投入了极大的关注,这对云计算的商业价值给予了充分的肯定。同时学术界也
12、对云计算进行深层次的研究,例如Google和IBM联合宣布推广“云计算”的学术合作计划,包括卡内基梅隆大学、斯坦福、伯克利、华盛顿大学、MIT、清华大学在内的许多高校都参加了这项计划1,2,推动云计算的普及,加紧对云计算的研究。云计算并不是一门新技术,而是融合了分布式计算,网格计算和并行计算,创造性的提出动态管理资源并按需分配的一种新商业模式。云计算利用规模化管理和按需分配的优势,大大提高了资源的利用率,降低了计算、存储、网络等资源的使用成本。Google宣称,由于使用了云计算技术,其计算成本是竞争对手的1/100,而存储成本是竞争对手的1/303。正是由于云计算能够显著降低企业信息化成本,其
13、蕴藏着巨大的潜力。Google、Amazon、Microsoft、IBM等IT厂商都推出了自己的云计算平台,提供了IAAS、PAAS、SAAS各个类别的不同服务。云计算很有可能改变当今IT界的格局,使得分散化应用向集中化演变,以桌面为核心使用各项应用转移到以Web为核心进行各种活动。Google可以说是云计算鼻祖,Google的发展就是依据云计算模式进行的。Google的各项应用如GoogleSearch、GoogleGmail、GoogleMaps、GoogleEarth等都是建立在Google的上百万台廉价的X86服务器上的4,而能够利用这些廉价服务器资源的正是Google的云计算平台。G
14、oogle以论文的形式展示了其云计算平台的核心技术原理,为云计算的研究提供了理论依据。GoogleAppEngine这一平台的发布使用户通过编程的方式使用同GoogleSearch、GoogleMap一样的基础设施,让用户能够结合理论,切实的参加到云计算的实践之中。1.1.2课题意义云计算已经成为一种趋势,不论是对企业还是个人,各种应用系统将运行于云计算平台之上。与传统的虚拟空间只能提供固定的计算能力、存储空间和网络带宽相比,Google云计算平台作为公有云能够为应用提供强大的按需的运算和存储能力,能够提高资源利用率并降低成本。本课题通过研究与分析Google云计算平台的原理、性能以及Goog
15、leAppEngine提供的编程接口,能够有利于应用系统在google云计算平台上的部署和管理。并且能够帮助企业借鉴google云计算平台先进的思想和原理搭建私有云。1.2研究现状与建立在高性能UNIX服务器集群的基础上的大型IT系统相比,Google的云计算平台建立在大量的X86廉价服务器集群之上,那么两者在技术架构上也存在着明显的差异。Google采用了许多独特的技术,如数据中心节能技术、节点互联技术、可用性技术、容错性技术、数据存储技术、数据管理技术、数据切分技术、任务调度技术、编程模型、负载均衡技术、并行计算技术和系统监控技术等3。正是这些技术的互相协作,使得Google的云计算平台成
16、为一个能够自动管理资源、自动容错的一个有机整体,成为承载Google应用的强有力支撑。Google云计算平台中,Node是最基本的处理单元。在Google云计算平台的技术架构中,除了少量负责特定管理功能的节点如(GFSMaster、Chubby和Scheduler等),所有的节点都是同构的,即同时运行BigTableServer、GFSChunkServer和MapReduceJob等核心功能模块,与之相对应的则是数据存储、数据管理和编程模型等3项关键技术。Google相继发表了三大核心技术GFS5、MapReduce6、BigTable7的论文,详细的介绍了其实现原理。文献5是GFS的论文,
17、介绍了GFS这一分布式文件系统的设计思想,体系结构以及在数据完整性、一致性的问题上所采用的策略。文献6是MapReduce的论文,介绍了MapReduce这一并行计算的编程模型以及实现。文献7是BigTable的论文,介绍了BigTable这一分布式数据库的存储原理。此外,Google也发表了许多辅助技术的论文,例如Chubby8锁服务的论文。做为使用Google云计算平台接口的GoogleAppEngine服务目前已经可以支持Python、Java和Go三种语言,提供了存储、邮件、图像处理、Google账户、内存缓存等多项服务。但是还是存在着很多限制,例如不能使用Google的文件系统。随着
18、平台的不断发展,更多得服务将会提供,而编程限制也会逐渐减少。1.3本文主要工作Google云计算平台是一个由应用服务器群、Bigtable数据库及GFS数据存储服务组成的平台,GoogleAppEngine可以让开发者在Google的基础架构之上运行网络应用程序,能为开发者提供一体化的、可自动升级的在线应用服务。本文首先对Google云计算的GFS、MapReduce、Chubby以及Bigtable等核心技术进行深入的分析,然后分析GoogleAppEngine的应用程序环境、沙盒、数据库、AppEngine服务、开发流程、配额和限制等。最后以所分析的理论知识为基础,设计并实现一个简单的信息
19、系统来测试GoogleAppEngine的各项服务。2Google云计算平台概述2.1Google云计算平台的体系结构2.1.1云计算体系结构云计算充分利用网络和计算机技术实现资源的共享和服务,解决云进化、云控制、云推理和软计算等复杂问题,其基础架构可以用云计算体系结构来描述,而云计算的服务层次则从提供服务类型角度描述云计算对应提供的功能或服务,云计算技术层次从云计算软硬件结合角度说明云计算平台的构成。在云计算中,根据其服务集合所提供的服务类型,整个云计算服务集合被划分成4个层次:应用层、平台层、基础设施层和虚拟化层9-10。这4个层次每一层都对应着一个子服务集合。云计算的服务层次是根据服务类
20、型即服务集合来划分,层次是可以分割的,即某一层次可以单独完成一项用户的请求而不需要其他层次为其提供必要的服务和支持。应用层对应SaaS软件即服务如:GoogleAPPS;平台层对应PaaS平台即服务如:IBMITFactory、GoogleAPPEngine;基础设施层对应IaaS基础设施即服务如:AmazonEC2、IBMBlueCloud、SunGrid;虚拟化层对应硬件即服务结合Paas提供硬件服务,包括服务器集群及硬件检测等服务。云计算技术层次和云计算服务层次不是一个概念,后者从服务的角度来划分云的层次,主要突出了云服务能给我带来什么。而云计算的技术层次主要从系统属性和设计思想角度来说
21、明云,是对软硬件资源在云计算技术中所充当角色的说明。从云计算技术角度来分,云计算大约有4部分构成:物理资源层、资源池层、管理中间件层和SOA构建层,如图2-1所示11-12。其中资源池层和管理中间件层是云计算技术的最关键部分。SOA构建层:将云计算能力封装成标准的webservices服务,并纳入到SOA体系进行管理和使用,时用户端与云端交互操作的入口,可以完成用户或服务注册,对服务的定制和使用。管理中间件层:在云计算技术中,中间件位于服务和服务器集群之间,提供管理和服务即云计算体系结构中的管理系统。对标识、认证、授权、目录、安全性等服务进行标准化和操作,为应用提供统一的标准化程序接口和协议,
22、隐藏底层硬件、操作系统和网络的异构性,统一管理网络资源。其用户管理包括用户身份验证、用户许可、用户定制管理;资源管理包括负载均衡、资源监控、故障检测等;安全管理包括身份验证、访问授权、安全审计、综合防护等;映像管理包括映像创建、部署、管理等。图2-1云计算技术层次模型资源池层:将大量相同类型的资源构成同构或接近同构的资源池,如计算池,存储池和网络池、数据库资源等,构建资源池更多的是物理资源的集成和管理工作,通过软件技术来实现相关的虚拟化功能包括虚拟环境、虚拟系统、虚拟平台。物理资源层:主要指能支持计算机正常运行的一些硬件设备及技术,可以是价格低廉的PC,也可以是价格昂贵的服务器及磁盘阵列等设备
23、,可以通过现有网络技术和并行技术、分布式技术将分散的计算机组成一个能提供超强功能的集群用于计算和存储等云计算操作。在云计算时代,本地计算机可能不再像传统计算机那样需要空间足够的硬盘、大功率的处理器和大容量的内存,只需要一些必要的硬件设备如网络设备和基本的输入输出设备等。2.1.2Google云计算体系结构上一节从服务和技术的层次分别提出了云计算的通用体系结构,各大IT厂商的解决方案只实现了其中的部分功能,接下来介绍一下Google云计算平台的体系结构。Google最大的IT优势在于它能够建造出一套既富于性价比而又能承载极高负载的高性能系统。因此Google认为与竞争对手相比,具有更大的成本优势
24、,同时Google程序员的效率比其他web同行么高出50%100%,原因是Google应经开发出了一套专用于大规模并行系统的软件库。从整体看来,Google的云计算平台包含了如下结构层次13:网络系统:包括内部网络和外部网络。内部网络是用于连接Google自建的各个数据中心的网络系统,这一高速的网络系统使得Google的每一台服务器连接在一起成为一个负载平衡的集群。外部网络是指在Google数据中心之外,有Google自己搭建的用于不同国家/地区,不同应用之间的数据交换网络。硬件系统:从层次上来看,包括单个服务器、整合了多服务器的机架以及存放、连接各服务器机架的数据中心(IDC)。软件系统:包
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Google 计算 平台 分析 测试 复习 过程
![提示](https://www.deliwenku.com/images/bang_tan.gif)
限制150内