图1 云计算的服务形式
(1)PaaS
PaaS平台即服务,是将软件研发平台作为一种服务提供的商业模式,在SaaS中提供的服务是软件,PaaS是SaaS的具体应用,提供的服务是平台。PaaS作为一种分布式平台服务,提供了开发环境的相关服务,提供给企业或个人研发的中间平台,提供实验、数据库、应用服务器、应用程序的开发和应用服务。PaaS所提供的服务与其他的服务最根本的区别是PaaS提供的是一个基础平台,不是某种应用,PaaS运营商所提供的服务不同于其他的服务,PaaS是强大而稳定的基础运营平台。
(2)SaaS
SaaS软件即服务,是基于互联网提供软件服务的软件应用模式,而服务提供商统一将应用软件部署在自己的服务器上,用户可以根据自己的需求通过互联网订购SaaS。这种类型的云计算通过互联网将软件程序上传给网络用户,软件提供商减少了软件文护成本,根据用户所需内容进行收费。相比传统的软件服务模式,其优势在于,用户只需在终端接入互联网,就可实时使用软件,省去了服务器和软件授权的开支。对于软件提供商来说,只需要文持一个软件程序就足够了。
(3)IaaS
IaaS基础设施即服务,提供给用户的服务是基础设施的利用,是服务提供商提供给客户的计量服务。IaaS将I/O设备、内存、存储和计算能力整合成虚拟资源池,提供了所需要的存储资源和虚拟化服务器等服务。IaaS降低了用户在硬件上的支出,用户只需一个低成本硬件,根据需要租用相应计算力和存储能力。
2. 云计算研究现状
2.1 云计算的核心技术研究现状
(1)编程模型
为了使用户能更轻松地享受云计算带来的服务,让用户能利用该编程模型编写简单的程序来实现特定的目的,严格的编程模型使云计算环境下的编程十分简单。适合云计算的编程模型必须满足以下条件:一适合于大规模数据集的并行计算;二适合于多虚拟机的任务调度;三能够构建新型的云计算应用程序,可在网络上提供更加丰富的用户体验,而MapReduce编程模型就具备了该功能。
MapReduce是目前最具代表性的编程工具,它是由Google开发的。MapReduce是一种java、Python、C++ 编程模型,它是一种简单的分布式编程模型和高效的任务调度模型,用于大规模数据集的并行计算。MapReduce模式的思想是将要执行的问题分解成Map(映射)和Reduce(化简)的方式,先通过Map程序将数据切割成不相关的区块,为了达到分布式运算的效果,则分配(调度)给大量计算机处理,再将结果汇整通过Reduce程序输出,Map-Reduce框架和分布式文件系统是运行在一组相同的节点上,这种配置允许框架在那些已经存在好的数据的节点上高效地调度任务。这种编程模型并不仅适用于云计算,在多核和多处理器以及异构机群上同样有良好的性能。但是目前该编程模式还存在一些问题,传统的数据挖掘与知识发现算法,需要重新设计,才能更好地实现代码向数据迁移这一目标,所以传统算法的Map-Reduce化成为研究的热点,值得我们深入研究,是Map-Reduce编程模型未来的发展方向。
(2)虚拟化技术
虚拟化是为某些对象创造的虚拟化版本,比如操作系统、计算机系统和网络资源等。虚拟化技术是云计算系统的核心组成部分之一,是将各种计算及存储资源充分整合和高效利用的关键技术。它是表示计算机资源的抽象方法,通过虚拟化可以用与访问抽象前资源一致的方法访问抽象后的资源,从而隐藏属性和操作之间的差异,并允许通过一种通用方式来查看和文互资源。虚拟化技术实现了物理资源的逻辑抽象和统一表示,它是指计算元件在虚拟的基础上而不是真实硬件的基础上运行。通过虚拟化技术可以提高资源的利用率,并能够根据用户业务需求的变化,快速、灵活地进行资源部署,从而使得不同层次的使用者、开发人员及文护人员,能够方便的使用开发及文护存储的数据、应用于计算和管理的程序,实现动态负载均衡;同时与硬件无关的特性带来系统自愈功能,提升系统的可靠性。在云计算中,计算系统虚拟化是一切建立在“云”上的服务与应用的基础。 云计算研究现状综述+文献综述(3):http://www.youerw.com/jisuanji/lunwen_3069.html