资源描述:
《云计算技术综述》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
云计算技术综述摘要:云计算是“以互联网为载体,利用虚拟化等手段整合大规模分布式可配置的计算资源。使其以服务的方式提供给用户,满足用户按需使用的计算模式”,然后从计算模式、科学研究、社会发展等多个维度阐明了云计算作为现代计算技术发展的必然产物所具备的发展意义,总结了国内外产业界、学术界、政府机构等在云计算方面的最新研究进展,深入分析了云计算研究过程中的重点和难点,最后指出了云计算未来的发展趋势。关键词:云计算;虚拟化;海量数据处理引言所谓云计算,简单地说就是以虚拟化技术为基础,以网络为载体,以用户为主体为其提供基础架构"平台"软件等服务为形式,整合大规模可扩展的计算"存储"数据"应用等分布式计算资源进行协同工作的超级计算服务模式虚拟化为云计算实现提供了很好技术支撑,而云计算可以看作是虚拟化技术应用的成果。在过去的几年里,已经出现了众多云计算研究开发小组,如谷歌、微软、亚马逊、华为、百度、阿里巴巴、中国电信等知名IT企业纷纷推出云计算解决方案,同时,国内外学术界也纷纷就云计算及其关键技术相关理论进行了深层次的研究。本文力图在对各种云计算定义综合分析的基础上,提出1个相对系统和综合的参考性定义,挖掘云计算的技术本质和发展意义,总结国内外最新研究进展,剖析研究过程中的重点和难点,指出未来的发展趋势。1、云计算的内涵和本质目前关于云计算的定义已有上百种而维基百科对云计算的定义也在不断更新,前后版本的差别非常大。据2011年给出的最新定义:云计算是一种能够将动态易扩展的虚拟化资源软件和数据通过互联网提供给用户的计算方式,如同电网用电一样,用户不需要知道云内部的细节,也不必具有管理那些支持云计算的基础设施。伯克利云计算白皮书的定义:云计算包括互联网上各种服务形式的应用以及数据中心中提供这些服务的软硬件设施。应用服务即 Saas,而数据中心的软硬件设施即所谓的云。通过量入为出的方式提供给公众的云称为公共云,而不对公众开放的组织内部数据中心的云称为私有云。美国标准化技术机构NIST定义云计算是一种资源利用模式,它能以方便、友好、按需访问的方式通过网络访问可配置的计算机资源池(例如网络、服务器"存储、应用程序和服务),在这种模式中,可以快速供应并以最小的管理代价提供服务。Sun公司认为,云的类型有很多,而且有很多不同的应用程序可以使用云来构建,由于云计算有助于提高应用程序部署速度,有助于加快创新步伐,因而云计算可能还会初心在我们现在无法想象到的形式。笔者认为:云计算是一种大规模资源共享模型,它是以虚拟技术为核心技术,以规模经济为驱动,以Internet为载体,以用户为主体,按照用户需求动态地提供虚拟化的、可伸缩性的商业计算模型。云计算是一种服务模式而不单纯是一种技术。在云计算模式下,不同种类的IT服务按照用户的需求规模和要求动态的构建、运营和维护,用户一般以即用即付的方式支付其利用资源的费用。网络中的应用服务通常被称作SaaS,二数据中心软硬件设施即资源池也就是所谓的云。“云”是一些可以自我维护和管理的虚拟计算资源,通常是一些大型服务器集群,包括计算服务器、存储服务和宽带资源等。总之,云计算是一种方便的使用方式和服务模式,通过互联网按需访问资源池模型(例如网络、服务器、存储、应用程序和服务),可以快速和最少的管理工作为用户提供服务.云计算是并行计算(parallelcomputing)、分布式计算(distributedcomputing)和网格计算(gridcomputing)等技术的发展.云计算又是虚拟化(virtualization)、效用计算(utilitycomputing)的商业计算模型,它由基础设施即服务、平台即服务和软件即服务3种服务模式,公共云、私有云、社区云、混合云4种部署模式。云计算的5个基本特点为:按需自助式服务、广泛的网络访问、资源池、快速弹性使用、可度量的服务。2、云计算的关键技术云计算作为一种新的超级计算方式和服务模式,以数据为中心,是一种数据密集型的超级计算.它运用了多种计算机技术,其中以编程模型、数据管理、数据存储、虚拟化和云计算平台管理等技术最为关键.下面分别介绍云计算的一些关键技术。2.1编程模型 MapReduce作为Google开发的Java、Python、C++编程模型,是一种简化的分布式编程和高效的任务调度模型,应用程序编写人员只需将精力放在应用程序本身,使云计算环境下的编程十分简单.而关于集群的处理问题,包括可靠性和可扩展性,则交由平台来处理MMapReduce模式的思想是通过“Map(映射)”和“Reduce(化简)”这样2个简单的概念来构成运算基本单元,先通过Map程序将数据切割成不相关的区块,分配(调度)给大量计算机处理,达到分布式运算的效果,再通过Reduce程序将结果汇整输出,即可并行处理海量数据。简单地说,云计算是一种更加灵活、高效、低成本、节能的信息运作的全新方式,通过其编程模型可以发现云计算技术是通过网络将庞大的计算处理程序自动分拆成无数个较小的子程序,再由多部服务器所组成的庞大系统搜索、计算分析之后将处理结果回传给用户.通过这项技术,远程的服务供应商可以在数秒之内,达成处理数以千万计甚至亿计的信息,达到和“超级电脑”同样强大性能的网络服务。2.2海量数据分布存储技术云计算系统采用分布式存储的方式存储数据,用冗余存储的方式保证数据的可靠性.云计算系统中广泛使用的数据存储系统是Google的GFS和Hadoop团队开发的GFS的开源实现HDFSGFS即Google文件系统(GoogleFileSystem),是个可扩展的分布式文件系统,用于大型的、分布式的、对大量数据进行访问的应用GFS的设计思想不同于传统的文件系统,是针对大规模数据处理和Google应用特性而设计的.它虽然运行于廉价的普通硬件上,但可以提供容错功能.它可以给大量的用户提供总体性能较高的服务.一个GFS集群由1个主服务器(master)和大量的块服务器(chunks-erver)构成,并被许多客户(client)访问111.主服务器存储文件系统所有的元数据,包括名字空间、访问控制信息、从文件到块的映射以及块的当前位置.它还控制系统活动范围,如块租约(lease)管理,孤立块的垃圾收集,块服务器间的块迁移.主服务器定期通过心跳(HeartBeat)消息与每一个块服务器通信,并收集它们的状态信息。2.3海量数据管理技术海量数据管理是指对大规模数据的计算、分析和处理,如各种搜索引擎.以互联网为计算平台的云计算能够对分布的、海量的数据进行有效可靠地处理和分析.因此,数据管理技术必需能够高效地管理大量的数据,通常数据规模达TB甚至PB级.云计算系统中的数据管理技术主要是Google的BT(BigTable)数据管理技术,以及Hadoop团队开发 的开源数据管理模块HBase和Hive,作为基于Ha-doop的开源数据工具(http:#appengine.google.com),主要用于存储和处理海量结构化数据.BT是建立在GFS,Scheduler,LockService和MapReduce的一个大型的分布式数据库,与传统的关系数据库不同,它把所有数据都作为对象来处理,形成一个巨大的表格,用来分布存储大规模结构化数据。Google的很多项目使用BT来存储数据,包括网页查询,GoogleEarth和Google金融.这些应用程序对BT的要求各不相同:数据大小(从URL到网页到卫星图像)不同,反应速度不同(从后端的大批处理到实时数据服务)。对于不同的要求,BT都成功地提供了灵活高效的服务。2.4虚拟化技术虚拟化(virtualization)技术是云计算系统的核心组成部分之是将各种计算及存储资源充分整合和高效利用的关键技术.云计算的特征主要体现在虚拟化、分布式和动态可扩展,而虚拟化作为云计算最主要的特点,为云计算环境搭建起着决定性作用.虚拟化技术是伴随着计算机技术的产生而出现的,作为云计算的核心技术,扮演着十分重要的角色,提供了全新的数据中心部署和管理方式,为数据中心管理员带来了高效和可靠的管理体验,还可以提高数据中心的资源利用率,低功能绿色环保。通过虚拟化技术,云计算中每一个应用部署的环境和物理平台是没有关系的,通过虚拟平台进行管理、扩展、迁移、备份,种种操作都通过虚拟化层次完成.虚拟化技术实质是实现软件应用与底层硬件相隔离,把物理资源转变为逻辑可管理资源E344.目前云计算中虚拟化技术主要包括将单个资源划分成多个虚拟资源的裂分模式,也包括将多个资源整合成一个虚拟资源的聚合模式.虚拟化技术根据对象可分成存储虚拟化、计算虚拟化、网络虚拟化等,计算虚拟化又分为系统级虚拟化、应用级虚拟化和桌面虚拟化。2.5云计算平台管理技术云计算资源规模庞大,一个系统服务器数量众多(可能高达10万台)、结构不同并且分布在不同物理地点的数据中心,同时还运行着成千上万种应用。如何有效地管理云环境中的这些服务器,保证整个系统提供不间断服务必然是一个巨大的挑战.云计算平台管理系统可以看作是云计算的“指挥中心”通过云计算系统的平台管理技术能够使大量的服务器协同工作,方便地进行业务部署和开通,快速发现和恢复系统故障,通过自动化、智能化的手段实现大规模系统的可靠运营和管理。 3云计算应用现状云计算平台是一个强大的“云”网络,连接了大量并发的网络计算和服务,可利用虚拟化技术扩展每一个服务器的能力,将各自的资源通过云计算平台结合起来,提供超级计算和存储能力.下面就当前云计算相关主要研究团队和组织的研究进展情况进行对比分析,为云计算相关研究提供参考.3.1国际上相关研究组织目前,国外已经有多个云计算的科学研究项目,非常有名是ScientificCloud16和OpenNebula项目.产业界也在投入巨资部署各自的云计算系统,参与者主要有Google、Ama-zon、IBM、Microsoft等.国内关于云计算的研究也已起步,并在计算机系统虚拟化基础理论与方法研究方面取得了阶段性成果.国际上云计算主要研究组织及研发方向如表1所示.团队组织商业项目技术特征核心技术适用范围GoogleAppEngine,包括Google搜索、储存及运算水平扩充能力平行分散技术,Google各种日常互联网应用及GoogleGoogleMaps、GoogleEarth、GoogleAd-MapReduce,开发者开发和发布各种应用sense、Gmail等BigTable,GFS程序‘‘蓝云”IBM云环境管理解决方案(企IBM业私有云),IBMLotusLive(会议服务、办公协作月艮务、电子邮件服务),IBMRC2(IBM8大研究机构共同创建的私有云)整合其所有软件和硬件服务网格技术,分布式存储,动态负载高性能计算(汽车和航天工业模拟计算、生命科学领域染色体组建模等)Amazon亚马逊网络服务(弹性计算云EC2、简单存储服务S3、简单数据库服务sim-pleDB、简单队歹IJ服务SQS、弹性MapRe-duce服务、内容推送服务、电子商务服务DevPay和FPS)弹性虚拟平台虚拟技术Xen各类企业在其平台上搭建应用环境提供云计算服务t如在线照片存储共享网站SmugMug、在线视频制作网站Animoto)应用程序开发者在云端开发程MicrosoftAzure平台提供Microsoft.NET服务、整合其所有软件及大型应用软件开发序,且运行在微软云端的应用MicrosoftSQL服务、Live服务数据服务技术程序还是运行在本地的应用程序都可以使用云计算服务平台EMC云存储基础架构EMCAtoms(PB级的信息管理解决方案),Mozy针对Mac用户的在线存储信息存储系统和虚拟化Vmware的虚拟化技术,一流的存储技术向各种规模的企业和机构提供自动化网络存储解决方案客户关系管理(CRM)包括SalesCloud、SalesforceServiceCloud、CustomCloud、CloudPlatformforCRM、CloudInfrastructure弹性可定制商务软件应用平台整合技术为企业提供客户关系管理(CRM)服务forCRM提供统一整合的界面来部署在OracleEC2上的Oracle数据库,软硬件弹性虚拟Oracle的数据存储云中任何操作系统上运行的应OracleVM,SunxVM平台技术,Sun开源技术用软件,操作系统包括OpenSolaris、Linux、Windows3.2国内相关研究组织中国移动大云平台包括数据挖掘、海量数据存 储和弹性计算等,主要用于中国移动的业务支撑、信息管理和互联网应用;阿里云提供的计算、存储和网络服务主要用于提供各种电子商务服务;世纪互联的弹性云计算已经对外提供服务,支持多个操作系统、数据库和编程环境;友友云开发的数流平台(Bitsflow),分布式虚拟存储系统(DataCell),网络计算平台GAP和系统监控管理平台(NetVM)主要针对大型企业;华为的云帆计划主要包括云数据中心和针对电信的IDC云。在平台的文件系统方面,中国移动,阿里巴巴和世纪互联都是基于Hadoop文件系统HDFS,根据自身需求进行一些改进,而友友提出的DataCellFS。4云计算存在的挑战与机遇目前,尽管云计算如火如荼的开展着,通过分析知道云计算具有许多优点,让人们看到了IT服务将成为公共服务的曙光,但是我们也要清醒地认识到云计算也不是万能的灵丹妙药,它仍存在着一些亟待解决的实际问题,如服务可用性、数据主权与数据隐私问题、安全问题、软件许可证问题、网络传输问题和可伸缩性存储等.甚至还有_些专家和学者对云计算持怀疑态度,认为是在炒作概念.为此,需要进一步加强宣传和应用好云计算产品,为科研生产服务.本文给出了云计算发展过程中主要存在的一些挑战问题与机遇。5总结与展望计算作为一项服务功能是人们长久以来的梦想.随着微软吸引人眼球的_句广告语“Weareallincloud!”标志着云计算时代的到来,人们长久以来的梦想终将变为现实.从云供应商的观点出发,整合服务器平台技术能更好地推进云计算基础设施架构的搭建以及大规模数据中心管理能力的提升,建立合作伙伴的生态链.利用商品化的计算、存储和网络低成本建立大型数据中心使得以低于许多中等规模的数据中心的价格“即用即付”的销售资源成为可能,并且可以利用资源在大量用户间的复用来获取利润.从云用户的观点出发,云计算可以令一个初创的软件公司像初创的芯片厂商拥有为之服务的代工厂_样拥有自己的数据中心.总之,国内外对云计算及其虚拟化关键技术方面的研究非常活跃,并开发了一些相关工具与产品,云计算作为新一代产业浪潮的重要驱动力,将对经济社会发展产生深远的影响。参考文献[1]MellP,GranceT.TheNISTdefinitionofcloudcomputingR].NationalInstituteofStadardandTechnology,USDepartmentofCommerce,2010 [2]SunCorporation.ThewhitepaperoncloudcomputingarchitectureR].2009[3]刘鹏.云计算技术基础[M].2版.北京:电子工业出版社,011LIUPeng.IntroductiontocloudcomputingM].2ndEd.Beijng!PublishingHouseofElectronicsIndustry,2011[4]DeanJ,GhemawatS.MapReduce:SimplifieddataprocessingonlargeclustersJ].CommunicationsoftheACM,2008,51(1):107413[5]王庆波,金滓,何乐,等.虚拟化与云计算[M].北京:电子工业出版社,010WANGQingbo,JINXing,HELe,etal.Virtualizationandcloudcomputing[M].Beijng:PublishingHouseofElectronicsIndustry,2010[6]VMwarevirtualizationtechnology[EB/OL][2011-0902].http:/www.vmware.cm/virtualization/what-s-vir-tualization.html10]GoyalA,DadizadehS.AsurveyoncloudcomputingR].TechnicalReportforCS508,2009[11]王鹏.云计算的关键技术与应用实例M.北京:人民邮电出版社,010WANGPeng.Keytechnologyandapplicationexamplesofcloudcomputing[M].Beijing:Posts&TelecomPress,2010[12]陈康,郑纬民.云计算:系统实例与研究现状J].软件学报,009,0(5):13374348CHENKang,ZHENGWeimin.Cloudcomputing!SysteminstancesandcurrentresearchJ].JournalofSoftware,2009,20(5):13374348[13]KamounF.VirtualizingthedatacenterwithoutcompromisingserverperformanceJ].ACMUbiquity2009/2009.[14]LeavittN.Iscloudcomputingreallyreadyforprimetime?J].Computer,2009,2(1)1540[15]VaqueroLM,Rodero-MerinoL,CaceresJ,etal.Abreakintheclouds:TowardaclouddefinitionJ].ACMSIG-COMMComputerCommunicationReview,2009,9(1):50-55[16]]Lagar-CavillaHA,WhitneyJA,ScannelA,etal.Snow-FlockIRapidvirtualmachinecloningforcloudcomputingC]/Proceedingsofthe4thACMEuropeanConferenceonComputerSystems,2009:1-12 [17]李亚琼,宋莹,黄永兵.一种面向虚拟化云计算平台的内存优化技术J.计算机学报,2011,34⑷:684卻3LIYaqiong,SONGYing,HUANGYongbing.AmemoryglobaloptimizationapproachinvirtualizedcloudcomputingenvironmentsJ].ChineseJournalofComputers,2011,34(4):684-693..