云计算研究现状综述云计算把网络上的服务资源虚拟化,整个服务资源的调度、管理、维护等工作由专门的人员负责。其目标是用户通过网络能够在任何时间、任何地点最大限度地使用虚拟资源池,处理大规模计算问题。各大云计算厂商如Amazon,IBM,Google,Microsoft,Sun等公司都推出自己研发的云计算服务平台。而学术界也源于云计算的现实背景纷纷对模型、应用、成本、仿真、性能优化、测试等诸多问题进行了深入研究,提出了各自的理论方法和技术成果,极大地推动了云计算继续向前发展。1.云计算的商业交付模式(1)云基础设施作为服务(IaaS)IaaS是将硬件设备等基础资源封装后对消费者提供处理、存储、网络及基础计算资源的一种服务能力。IaaS的基础设施主要指IT设施,包括计算机、存储、网络,以及其他相关的设施。IaaS应用的核心目的是降低设施成本、用户使用成本。消费者可以通过连接的CPU时长、每秒指令数、存储占用空间量来支付费用,而不必管理和控制使用的基础设施。IaaS最大的优势在于它允许用户动态申请和释放节点,按使用计量,因为IaaS服务器的规模巨大,可以认为提供给用户的服务资源几乎是无限的。同时IaaS提供者通过网络向企业用户和个人用户提供计算能力、存储能力等基础资源服务,这些服务是可以由云计算合理分配执行的物力资源,因而它具有更高的资源使用效率。(2)云平台作为服务(PaaS)PaaS面向广大互联网应用开发者,把端到端的分布式软件开发、测试、部署、运行环境以及复杂的应用程序托管当作服务,通过互联网提供给用户,从而简化应用程序开发。PaaS通过开放的架构,为互联网应用开发者提供了一个共享云计算、超大规模计算能力的平台。PaaS采用屏蔽底层软硬件设施的复杂性,为用户提供简易安全的使用接口,便于自身负责资源的动态扩展和容错管理,让软件外包程序开发人员快速定制、开发满足特定需求的互联网应用,从而大大提高工作效率和执行力。(3)云软件作为服务(SaaS)SaaS以互联网为载体,以浏览器为交互方式,把在云基础设施上的服务器端的程序软件提供给用户应用。SaaS提供商为用户搭建物理设施和软件设施,并负责后期维护。用户只需根据需要选择供应商,租赁应用服务,无需购买软硬件产品等。SaaS的核心目的是通过多用户租赁实现企业用户或个人用户全在线、全互联、多维度数据管理及分析,帮助对有效资源的管理和利用。彻底改变传统交付应用程序高成本、低效率的状况,用可控、可分解、可管理、可共享的服务交付模式,最快的实现用户的需求。随着云计算技术的深入发展,不同的云计算技术商业交付模式之间在相互渗透融合,一种云产品可能横跨两种以上的交付模式,但正是这样融合的发展才真正使云计算产品的应用性增强,更能满足用户多样化的需求。2云计算的部署模式云计算的部署模式由私有云、社区云、公共云、混合云四个部分组成:私有云依托企业内部的局域网,单独构建一个计算模式,保护企业内部数据资源的安全性,又可以有效整合企业内部计算资源,是拥有较强资金、技术实力的企业或政府部门所采用的主流模式。社区云是几个相关组织联合组建,一起分享,并由通过社区组织或第三方制定的共享包括社区云的策略、安全、反馈、管理。公共云通常可应用于公共场所满足很多个客户使用的计算模式,依靠公共云的强大物理资源方便快捷的为用户提供无限的计算存储能力和网络服务能力。公共云以高性价比和技术优势率抢占中小企业的云服务。混合云把其基础设施由两个或更多云组合,每个云独立存在,又通过标准的或私有的技术绑定在一起,这些技术保证了数据和应用的可移植性。基于混合云计算的模式,一方面可以把企业的核心数据和绝对机密存储在私有云服务器端,保障数据安全;另一方面把无关乎企业安全的数据在私有云计算能力不够的情况下购买公用云计算服务,保障企业数据的正常处理。采用这种混合模式一方面兼有私有云计算的数据安全,另一方也避免在互联网中断的情况下企业不能正常运行的事故发生。3云计算的最新研究进展引自云计算研究现状综述.pdf5.相关工作作者:李乔2011年针对云计算各个方面的研究工作分类讨论并分析各个方向研究问题的相互关联,论述相关研究工作是关于哪种云计算服务类型以及涉及到框架中的哪些内容。表4做了分类概括。(1)性能优化这个子领域的文献研究重点是优化Iaas层次的云计算服务的性能,文献[21]围绕资源、用户数量、服务质量水平(QoS)之间的相互关系展开,建立各个因素之间关系的云计算性能模型,为预测和优化云计算的性能问题提供了依据。文献[22]从效用计算的视角分析不同负载的任务使用,提出了优化云计算性能的方法。文献[23]另辟角度,讨论了云计算节点在异构环境下的MapReduce执行性能问题及优化。以上可以看出,这些研究是希望完善云计算底层基础服务设施的性能,从而确保更高层次上云计算应用服务的质量。(2)测试云计算测试包括两个层次的含义:第一种层次的含义指可以运用现有的云计算环境提供的服务资源,较为真实地产生模拟用户负载,进行快速、高效的负载、压力测试。这种测试是一种新型的软件测试方式,是一种云计算技术的新应用,这种方式称为云测试[24]。第二种层次的含义指对构建云计算基础设施服务以及上层云计算应用程序的测试。前者工业界PushToTest推出云测试的工具TestMaker[25],它可以支持本地和云端或者是两者皆可的测试方式,并且提供丰富的网络应用(RichInternetApplication,RIA),极大地简化了测试流程,提高了测试效率。有些组织[26]要求用户在本地用Selenium编写好自动化测试脚本,然后上传到网站的平台上运行Selenium脚本,实现了快速按需测试的目的。学术界从不同的侧面对云测试做了相关研究,文献[27]利用云计算服务资源构建了网络管理系统的测试环境,有效地解决了大规模测试环境构建困难的问题,准确地测试了大规模网络管理系统的性能。后者的云计算测试,目前主要集中在对分布式基础设施服务(Iaas)问题的性能测试研究[28-31],对于上层云计算应用程序测试有待进一步研究。文献[28]使用白盒度量的方法,分析从节点DataNode的日志文件,自动侦测Hadoop的执行失效问题。文献[29]在此基础上,从黑盒和白盒两个方面,更加完整地侦测Hadoop的执行问题。文献[30]引入了一种Moschi方法,即分解MapReduce执行过程,通过日志文件从时间、容量、空间角度刻画云计算基础设施Hadoop状态机模型的行为,反映出Hadoop执行的控制流和数据流,推理Hadoop执行过程中可能的性能问题。文献[31]则是在上述研究的基础上,通过模拟常见错误(如CPU瓶颈、网络连接不稳定、任务意外终止等),注入Hadoop中观察其执行,来判定提出的Ganesha方法在确定Hadoop相关执行错误时的准确性,实验证明了Ganesha方法的可行性。(3)仿真云计算交付的是以网络为基础的可靠、可扩展的服务,同时各种应用在不同的负载、规模、位置有不同的配置、部署和组合方式,并且对服务资源池有不同的调度和使用策略,要保证高质量的服务,就要对不同基础设施和服务进行度量、测试、评估,以确保满足一定服务等级协议(SLA)的要求。在云计算基础设施服务搭建之前,有必要对其复杂的运行机制和管理进行仿真验证,以确保可行性。而在之后云计算基础设施服务使用的过程中,追踪和分析复杂的分布式云计算基础设施运行,是一件非常具有挑战性的问题,前面有些研究者[28-31]对此进行了深入的研究,但是这些研究的前提是需要已经部署了相关的云计算的基础设施。而文献[32]开发的云计算仿真软件CloudSim,从仿真角度模拟云计算基础设施的运行调度机制。在构建云计算基础设施服务之前,需要事先了解数据中心的可扩展性。文献[33]中提出SPECI仿真工具,用以分析云计算数据中心的可扩展性和性能,以确保数据中心的可用性。文献[34]针对开源的云计算服务框架Hadoop的MapReduce过程进行仿真,分析了Hadoop的MapReduce过程中可能会出现的性能瓶颈问题,通过实验证明了该工具MRPerf能够较为精确地仿真MapReduce计算过程。这些相关文献为后续云计算的研究提供了有力的工具支持。仿真的方法虽然在一定程度上模拟了云计算基础设施即服务中的执行过程,但是面对众多的云计算平台实现,仍然有一定的局限性和适用范围。(4)网络和安全用户在使用云计算服务的时候,需要上传数据并存储在数据中心,安全性是用户关注的问题,这关系到云计算是否能够得到广泛运用,因此云计算服务的安全是研究的一个重要方向内容。目前,云计算的发展处于初级阶段,安全性的问题使得云计算服务和用户之间存在技术上的鸿沟。针对这样的问题,文献[35]提出了基于客户端的隐私数据管理,通过减少敏感数据传输,防止在不同的场景下泄露和丢失敏感数据,降低了云计算使用的风险。由此看出,在云计算设计[36]的早期应该考虑安全性策略,同时网络间的用户和服务提供商之间都需要进行消息的传递、信息的交互和数据的共享,而云计算服务的分布式体系结构使得安全性问题更加复杂。为此文献[37-39]从网络拓扑结构、安全的协议格式和传输数据拥塞控制的角度确保云计算模式使用的安全性。随着云计算服务使用的日益广泛,对于不同的用户和服务提供商,数据的可见性不同,需要灵活的存取控制机制[40-42],传统的存取控制方法已经不能完全适应新的环境。文献[42]在云计算环境下,提出了语义控制策略语言(SemanticAccessControlPolicyLanguage,SACPL)来描述存取策略,面向本体系统访问(AccessControlOrientedOntologySystem,ACOOS)以此语言为基础进行设计,在增强互操作性的同时保证数据的安全性,这也是云计算和语义Web技术相结合的应用。有些情况除了安全性要考虑以外,还要考虑到数据中心所在的地理位置存取的数据是否符合本地的法律。(5)技术应用云计算技术的发展极大地推动了传统领域技术在云计算平台下新的应用。有的研究者[15]利用云计算强大的计算能力和低廉的成本,为诸如地球科学、生物信息科学、粒子物理学等电子科学(E-Science)提供科学计算能力,注重研究新的计算模式对原有领域学科产生的深远影响和改变。此外,有的学者[43]利用云计算的应用特性把海量的数据存储在云计算端,通过高速宽带传输,进行分布式数据处理计算挖掘。通过提出的基准点,比较了Sphere云计算平台[44]相对于Hadoop的计算速度优势。另外,上述云计算测试中第一层的含义,以及存取控制和语义Web的结合,本质上也属于云计算技术的新应用。当然,云计算技术还有其他方面的应用,限于篇幅,在此不一一赘述。(6)成本用户使用云计算模式进行新的应用时,必然需要把原有的软件程序移植到新的云计算模式,这就要考虑云计算模式和原有的计算模式的成本比较,因此制定何种精确的成本计算模型尤为关键。文献[45]分别考虑服务器、软件、网络元素、人力等众多因素,给出了完整的计算模型,开发了相应的工具,在这方面进行了积极的探索和研究。云计算的服务资源是虚拟化的资源池,面对用户在不同的负载、响应时间同时调用云计算虚拟化的服务资源,需要有一套新的、完善的计费机制来加强云计算成本的管理[46],同时调用云计算基础设施服务(Iaas)资源来扩展本地业务处理能力,不同的调度策略会产生不同云计算成本。文献[47]对此问题做了深入的分析研究,总结了服务成本和性能之间的相互关系。云计算关键技术:引自云计算研究与应用现状综述.pdf4.1-4.4作者:邹复民2013年1数据存储与管理技术2数据分析与处理技术3虚拟化技术4云安全技术