基于Google的云计算实例分析.doc_第1页
基于Google的云计算实例分析.doc_第2页
基于Google的云计算实例分析.doc_第3页
基于Google的云计算实例分析.doc_第4页
基于Google的云计算实例分析.doc_第5页
免费预览已结束,剩余10页可下载查看

下载本文档

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

文档简介

Computer Knowledge and Technology电脑知识与技术第5卷第25期(2009年9月基于Google的云计算实例分析蔡键1,王树梅2(1.徐州师范大学现代教育技术中心,江苏徐州221116;2.徐州师范大学计算机科学与技术学院,江苏徐州221116摘要:首先介绍了云计算产生的背景、概念、基本原理和体系结构,然后以Google系统为例详细阐述了云计算的实现机制。云计算是并行计算、分布式计算和网格计算等计算机科学概念的商业实现。Google拥有自己云计算平台,提供了云计算的实现机制和基础构架模式。该文阐述了Google云计算平台:GFS分布式文件、分布式数据库BigTable及Map/Reduce编程模式。最后分析了云计算发展所面临的挑战。关键词:云计算;集群;谷歌文件系统;大表;映射/化简中图分类号:TP311文献标识码:A文章编号:1009-3044(200925-7093-03Cloud Computing System Instances Based on GoogleCAI Jian1,WANG Shu-mei2(1.Xuzhou Normal University Modern Educational Technology Center,Xuzhou221116,China;2.Xuzhou Normal University,School of Computer Science&Technology,Xuzhou221116,ChinaAbstract:This paper introduces the backgrounds,concept,basic principle and infrastructure of cloud computing firstly.Then it surveys im-plementation mechanism of clouding computing based on the instances of Google.Cloud computing is the system in enterprises based on the concepts of computer science.These concepts include parallel computing,distributed computing and grid computing.Google has his own platform of cloud computing.It provides implementation mechanism and infrastructure of cloud computing.This paper surveys the platform of cloud computing:Google File System,Distributed database-BigTable and Map/Reduce.Finally the paper analyse the challenge of cloud computing.Key words:cloud computing;cluster;GFS;bigtable;map/reduce自2007年第4季度开始,“云计算”变成了IT领域新的热点。而2008年被称为云计算的元年,Google、Amazon、IBM、微软等IT 巨头们以前所未有的速度和规模推动云计算技术和产品的普及。本文介绍一些关于云计算的一些基本概念及Google提出的云计算模型及实现机制。1云计算综述云计算是并行计算(Parallel Computing、分布式计算(Distributed Computing和网格计算(Grid Computing的发展,或者说是这些计算机科学概念的商业实现。云计算是虚拟化(Virtualization、效用计算(Utility Computing、IaaS(基础设施即服务、PaaS(平台即服务、SaaS(软件即服务等概念混合演进并跃升的结果。1.1云计算的概念云计算现在还没有统一标准的定义,一些大公司在自己的技术文档里给出了自己的定义。例如云计算在IBM的文档中对云计算的定义是:云计算一词用来描述一个系统平台或者一种类型的应用程序。一个云计算的平台按需进行动态的部署、配置、重新配置以及撤销服务等。而对云计算更加通用的的定义是:云计算是一种商业计算模型。它将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算力、存储空间和各种软件服务。从这个定义上讲可把云计算看成是“存储云”与“计算云”的有机结合。存储云对第三方用户公开存储接口,用户通过这个接口可以把数据存储到“云”。计算云通过并行计算和虚拟化技术给用户提供计算力,它的商业模式是给用户提供计算力。1.2云计算实现机制图1简单的描述了云计算的实现机制。用户通过用户交互接口(User interaction interface来请求服务云。一个用户能够请求的所有服务目录存放在服务目录(Services catalog里。系统管理(System manage-ment是用户管理计算机资源是否可用。服务提供工具(Provisioningtool用来处理请求的服务,需要部署服务配置。监控统计(Monitoring 收稿日期:2009-05-07作者简介:蔡键,硕士,讲师,主研领域为图形图像处理,网格技术。图1云计算实现机制ISSN1009-3044Computer Knowledge and Technology电脑知识与技术Vol.5,No.25,September2009,pp.7093-7095,7107E-mail: Tel:+86-551-56909635690964 Computer Knowledge and Technology 电脑知识与技术第5卷第25期(2009年9月and metering 用于对用户服务进行跟踪测量,提交给中心服务器。通过以上的机制对计算/存储资源进行统一的管理,这些计算/存储资源可能是虚拟服务或者真 实的。1.3云计算体系结构一个云计算系统就是对一系列IT 资源的配置,是专门为了运行应用程序,而不是分配给其静态的应用作为客户端或服务器计算。图2给出了云计算的体系结构,在这个模型中云计算架构和服务都构建在面向服务的体系结构(SOA 框架之上。通过管理中间件的用户管理、映像管理和资源管理对虚拟化的资源池进行管理,从而最终满足用户的云服务。这个体系结构中的物理资源相对廉价的设备如x86服务器。1.4云计算几种形式7目前云计算主要的商用形式有SaaS (软件即服务、实用计算(Utility Computing 、网络服务、平台即服务、MSP (管理服务提供商、商业服务平台、互联网整合等。SaaS (软件即服务:SaaS 的云计算通过浏览器把程序传给所需服务的用户。在用户眼中看来,这样会省去在服务器和软件授权上的开支;从供应商角度来看,这样只需要维持一个程序就够了,这样能够减少成本,Google Apps 是类似这种服务。实用计算(Utility Computing :这种云计算是为IT 行业创造虚拟的数据中心使得其能够把内存、I/O 设备、存储和计算能力集中起来成为一个虚拟的资源池来为整个网络提供服务。网络服务:网络服务提供者们能够提供API 让开发者能够开发更多基于互联网的应用,而不是提供单机程序。平台即服务(PaaS :这种形式的云计算把开发环境作为一种服务来提供。你可以使用中间商的设备来开发自己的程序并通过互联网和其服务器传到用户手中。MSP (管理服务提供商:这种应用更多的是面向IT 行业而不是终端用户,常用于邮件病毒扫描、程序监控等等。商业服务平台:SAAS 和MSP 的混合应用,该类云计算为用户和提供商之间的互动提供了一个平台。比如用户个人开支管理系统,能够根据用户的设置来管理其开支并协调其订购的各种服务。互联网整合:将互联网上提供类似服务的公司整合起来,以便用户能够更方便的比较和选择自己的服务供应商。1.5云计算特点8超大规模:“云”具有相当的规模,Google 云计算已经拥有100多万台服务器。企业私有云一般拥有数百上千台服务器。“云”能赋予用户前所未有的计算能力。虚拟化:云计算支持用户在任意位置、使用各种终端获取应用服务。所请求的资源来自“云”,而不是固定的有形的实体。应用在“云”中某处运行,但实际上用户无需了解、也不用担心应用运行的具体位置。只需要一台笔记本或者一个手机,就可以通过网络服务来实现我们需要的一切,甚至包括超级计算这样的任务。高可靠性:“云”使用了数据多副本容错、计算节点同构可互换等措施来保障服务的高可靠性,使用云计算比使用本地计算机可靠。通用性:云计算不针对特定的应用,在“云”的支撑下可以构造出千变万化的应用,同一个“云”可以同时支撑不同的应用运行。高可扩展性:“云”的规模可以动态伸缩,满足应用和用户规模增长的需要。按需服务:“云”是一个庞大的资源池,你按需购买;云可以象自来水,电,煤气那样计费。极其廉价:由于“云”的特殊容错措施可以采用极其廉价的节点来构成云,“云”的自动化集中式管理使大量企业无需负担日益高昂的数据中心管理成本,“云”的通用性使资源的利用率较之传统系统大幅提升。2Google 云计算平台目前Google 是云计算的最大使用者,拥有自己的云计算平台。针对内部网络数据规模超大的特点,Google 提出了一整套基于分布式并行集群方式的基础架构。Google 使用的云计算基础架构模式主要包括3个相互独立又紧密结合在一起的系统也称之为云计算三大法宝包括:Google 建立在集群之上的文件系统Google File System ,针对Google 开发的模型简化的大规模分布式数据库BigTable 以及由Google 应用程序的特点提出的Map/Reduce 编程模式。2.1Google File System 文件系统Google 设计并实现的Google 文件系统(GFS ,Google File System 除了与过去的分布式文件系统拥有许多相同的目标如性能、可伸缩性、可靠性以及可用性还受到Google 应用负载和技术环境的影响。主要体现在以下四个方面:集群中的节点失效是一种常态,而不是一种异常;Google 系统中的文件大小与通常文件系统中的文件大小概念不一样,文件大小通常以G 字节计;Google 文件系统中的文件读写模式和传统的文件系统不同;文件系统的某些具体操作不再透明,而且需要应用程序的协助完成,应用程序和文件系统API 的协同设计提高了整个系统的灵活性。图3给出了Google File System 的系统架构,一个GFS 集群包含一个主服务器和多个块服务器,被多个客户端访问。文件被分割成固定尺寸的块。在每个块创建的时候,服务器分配给它一个不变的、全球惟一的64位块句柄对它进行标识。块服务器把块作为linux 文件保存在本地硬盘上,并根据指定的块句柄和字节范围来读写块数据。为了保证可靠性,每个块都会复制到多个块服务器上,缺省保存三个备份。主服务器管理文件系统所有的元数据,包括名字空间、访问控制信息和文件到块的映射信息,以及块当前所在的位置。GFS 客户端代码被嵌入到每个程序里,它实现了Google 文件系统API ,帮助应用程序与主服务器和块服务器通信,对数据进行读写。客户端跟主服务器交互进行元数据操作,但是所有的数据操作的通信都是直接和块服务器进行的。通过服务器端和客户端的联合设计,Google File System 能够针对它本身的应用获得最大的性能以及可用性效果。图2云计算体系结构2.2分布式数据库管理系统BigTable为了处理Google 内部大量的格式化以及半格式化数据,Google 构建了弱一致性要求的大规模数据库系统BigTable 。现在有很多Google 的应用程序建立在BigTable 之上,例如Search History 、Maps 、Orkut 和RSS 阅读器等。图4给出了BigTable 的数据模型。数据模型包括行列以及相应的时间戳,所有的数据都存放在表格中的单元里。BigTable 的内容按照行来划分,将多个行组成一个小表,保存到某一个服务器节点中。这一个小表就被称为Tablet 。BigTable 也是客户端和服务器端的联合设计,图5给出了BigTable 系统的体系结构。BigTable 系统依赖于集群系统的底层结构,一个分布式的集群任务调度器,一个GFS 文件系统服务器和一个分布式的锁服务。BigTable 使用锁服务保存根数据表格的指针从而获得表的位置,进而对数据进行访问。BigTable 使用一台服务器作为主服务器,用来保存和元数据。主服务器除了管理元数据之外,还负责对Tablet 服务器进行远程管理与负载调配,客户端通过编程接口于主服务器进行元 数据通信,与Table 服务器进行数据通信。12.3MapReduce (映射化简的编程环境Google 设计并实现了一套大规模数据处理的编程规范Map/Reduce 系统。这样,非分布式专业的程序编写人员也能够为大规模的集群编写应用程序而不用去顾虑集群的可靠性、可扩展性等问题。应用程序编写人员只需要将精力放在应用程序本身,而关于集群的处理问题则交由平台来处理。Map/Reduce 通过“Map (映射”和“Reduce (化简”这样两个简单的概念来参加运算,用户只需要提供自己的Map 以及Reduce 函数就可以在集群上进行大规模的分布式数据处理。Map/Reduce 的处理过程分为Map (映射”和“Reduce (化简两个过程,其过程 可表示如下:Map:(in_key,in_value(keyj,values|j =1kReduce:(key,value1,values(key,f_value图6给出了Map/Reduce 机制实现的过程。首先通过Map 函数将输入文件分成大小为64M 文件块,分到个块服务器进行处理。将有相同key的中间结果分配到同一个Reduce 函数进行进行处理,处理后将最终结果输出。3结论该文讨论了云计算概念、实现机制、体系结构及云计算的几种 形式和特点。并以Google 为实例介绍了云计算的基础体系结构:Google File System ,BigTable ,Map/Reduce 。当然云计算平台也面临着诸多挑战,主要包括以下几个方面:数据安全性与隐私保护:用户数据的安全问题被认为是计算平台安全问题,云计算的一个重要问题是计算平台的安全问题。云计算基础架构具有多租户的特性,厂商们通常无法保证两家不同的用户的数据实现物理分隔。另外,考虑到大规模扩展性方面的要求,数据物理位置可能得不到保证8。在云计算平台中,每个人都处在开放的环境中,在云计算平台中提供或者接受服务,这样很容易使得个人隐私缺乏必要的关注,在云计算中,隐私的保护也是一个挑战。用户把自己加密的数据连同应用程序都放在云计算运营公司仍感不安全。在使用云计算服务时,用户并不清楚自己的数据储存在哪里,用户甚至都不知道数据位于哪个国家。就算用户不知道数据存储的位置,云计算运营公司也应当告诉用户在发生灾难时,用户数据和服务将会面临什么样的情况。任何没有经过备份的数据和应用程序都将出现问题。用户需要了解云计算运营公司是否有能力恢复数据,以及需要多长时间。显然如何提供机制保证数据的安全性对于云计算至关重要6。数据访问和存储模型:由于现在的大厂商所提供的存储模型都需要适应许多不同的使用场景。因而,它们可能偏向采用基于二进制大对象的简单存储模型或简单的层次模型。虽然这带来了显著的灵活性,却给应用逻辑解释不同数据元素之间的关系增加了负担8。缺乏标准和厂商锁定:大多数厂商都定义了基于标准的机制(HTTP 、REST 和SOAP 等来访问及使用其服务。但在云计算环境开发服务方面的标准才刚刚兴起,而且现在缺乏一次编写、到处运行的功能。服务互操作性:当前云计算对于服务的互操作性支持不够,这对于用户进行跨平台的服务,同平台不同服务之间的服务存在障碍。这些都是云计算模式所面临的挑战。(下转第7107页图3Google File System 系统架构图4BigTable 的数据模型图5Bigtable 系统体系结构图6Map/Reduce 机制实现的过程(上接第7095页参考文献:1陈康,郑纬民.云计算:系统实例与研究现状J.软件学报,2009,5:1337-1348.2唐敏.基于自然云的云计算模型J.中国科技论文在线,2007.3张渝江,岳伟.云计算叩开学校大门J.中国信息技术教育,2008(12:93-94.4乐天.云计算还须迈过安全关N.计算机世界报,2008-7-28(28.5陈谷.BIM 云计算和政府云平台J.程序员,2008(11:56-576完全解读“IT 明日之星”云计算.eNet 硅谷动力,2008.收稿日期:2009-03-12.7中国云计算./show.aspx?id=515&cid=17.8中国云计算./show.aspx?id=5&cid=14.9Baidu./view/1316082.html?tp=0_11.10Barroso LA,Dean J,Holzle U.Web search for a planet:The Google cluster architecture.IEEE Micro,2003,23(2:22-28.11Ghemawat S,Gobioff H,Leung ST.The Google file system.In:Proc.of the 19th ACM Symp.on Operating Systems Principles.NewYork:ACM Press,2003.29-43.12Dean J,Ghemawat S.MapReduce:Simplified data processing on large clusters.In:Proc.of the 6th Symp.on Operating System13Dean J,Ghemawat S.Distributed programming with Mapreduce.In:Oram A,Wilson G,eds.Beautiful Code.Sebastopol:O Reilly14Chang F,Dean J,Ghemawat S,Hsieh WC,Wallach DA,Burrows M,Chandra T,Fikes A,Gruber RE.Bigtable:A distributed storage sys -tem for structured data.In:Proc.of the 7th USENIX Symp.on Operating Systems Design and Implementation.在预处理器和抓包引擎执行完之后调用Snort 报警和日志子系统时执行。Snort 输出插件的功能可以分为7个部分:版权和头信息;头文件、依赖关系和全局变量;关键字注册;参数分析和函数列表链;数据处理,格式化和存储;处理预处理器参数;清理和退出。下面详细描述插件的各功能。1版权和头信息现存的每一个输出插件都含有鲜明的版权信息,版权信息可以由插件开发者自主添加。插件的头详细描述了插件的用途,需要的参数、结果以及其他注释。2头文件,依赖关系和全局变量就绝大部分应用而言,文件以及它们之间的依赖关系对程序至关重要,而且要自释其意。全局变量在整个插件的任何部分都可以使用。3关键字注册输出插件通过配置文件和命令行引用和调用。用户必须为插件定义关键字并把该关键字连接到Snort ,以便分析该关键字时作相应的特殊处理。4参数分析和函数列表链大部分插件在声明时需要传递参数,因此有必要写一些代码来处理这些数据。例如,当使用日志功能时,可能需要指定一个用于存储日志的日志文件

温馨提示

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

评论

0/150

提交评论