刍议云计算技术及其应用

时间:2022-07-22 08:29:26

刍议云计算技术及其应用

摘要:该文介绍了云计算的概念和云计算系统的组成结构,并阐述了作为云计算技术核心的虚拟化技术、高速存储技术和分布式计算技术的实现和发展现状。

关键词:云计算、虚拟化技术、分布式计算

中图分类号:TP393文献标识码:A文章编号:1009-3044(2012)18-4360-03

云计算是近年来出现的一个热门概念,也是未来互联网发展的方向。从狭义上看,云计算是一种动态的、易扩展的且通常是通过互联网提供虚拟化资源的计算方式。从广义上看,云计算是一种以互联网为中心的面向应用的服务,用户不需要了解云内部的细节.也不必具有云内部的专业知识或直接控制基础设施,便能使用的相关资源。云计算包括基础设施即服务(Infrastructure as a Service,简称IaaS),平台即服务(Platform as a Service,简称PaaS)和软件即服务(Software as a Service,简称SaaS)以及其他依赖于互联网满足客户计算需求的服务类型。云计算服务通常提供通用的通过浏览器访问的在线商业应用,软件和数据则存储在服务器上。

图1云计算的组成

2.1基础设施

云基础设施,即IaaS。是计算机基础设施,通常是虚拟化的平台环境。作为一项服务,具体应用例如:Sun公司的Sun网格、亚马逊的弹性计算云。它通过将服务器端强大的计算能力单位化,来为个人用户提供PC机无法实现的海量数据计算服务。

2.2存储

云存储涉及提供数据存储作为一项服务,包括类似数据库的服务,通常以使用的存储量为结算基础。它既可以交付作为云计算服务,又可以交付给单独的数据存储服务,具体应用包括亚马逊简单存储服务和Google的BigTable服务。通过云存储,由云端为用户提供数据的备份和安全性保障,用户可以在任何地点任何时刻进行数据的存储和读取操作。

2.3平台

云平台,即PaaS,直接提供计算平台和解决方案作为服务.以方便应用程序部署和开发,从而节省购买和管理底层硬件和软件的成本。比如Google的应用程序引擎(Google AppEngine)可以让开发人员编译基于Python的应用程序,并免费使用谷歌的基础设施来进行托管。这种在云端的开发平台为编程人员提供了快速开发网络应用程序的途径,同时免去了繁琐的服务器搭建、维护等工作。

图3GFS架构

3.3分布式计算

由于云计算系统中的计算单元分布在不同的地理区域,为了有效的利用这巨大的运算能力,传统的编程方式已不适用,而要采用分布式计算模型。当前Map/Reduce模型在云计算系统中的使用最为广泛。

Map/Reduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算。概念“Map(映射)”和“Reduce(化简)”,以及它们的主要思想,都源自函数式编程语言和矢量编程语言。Map/Reduce为编程人员进行分布式并行编程提供了一个框架,使得自己的程序可以方便的运行在分布式系统上。

Map/Reduce编程的实现是指定一个Map(映射)函数,用来把一组键值对映射成一组新的键值对,指定并发的Reduce(化简)函数,用来保证所有映射的键值对中的每一个共享相同的键组。

简单说来,一个映射函数就是对一些独立元素组成的概念上的列表(例如,一个测试成绩的列表的每一个元素)进行指定的操作(例如,如果发现所有学生的成绩都被高估了一分,就可以定义一个“减一”的映射函数,用来修正这个错误)。事实上,每个元素都是被独立操作的,而原始列表没有被更改,因为这里创建了一个新的列表来保存新的答案。这就是说,Map操作是可以高度并行的,这对高性能要求的应用以及并行计算领域的需求非常有用。

而化简操作指的是对一个列表的元素进行适当的合并。例如,如果需要知道班级的平均分,就可以先定义一个化简函数,通过让列表中的元素跟自己的相邻的元素相加的方式把列表减半,如此递归运算直到列表只剩下一个元素,然后用这个元素除以人数,就得到了平均分。虽然化简不如映射函数那么并行,但是因为化简总是有一个简单的答案,大规模的运算相对独立,所以化简函数在高度并行环境下也很有用。

MapReduce通过把对数据集的大规模操作分发给网络上的每个节点实现可靠性;每个节点会周期性的把完成的工作和状态的更新报告回来。如果一个节点保持沉默超过一个预设的时间间隔,主节点记录下这个节点状态为死亡,并把分配给这个节点的数据发到别的节点。每个操作使用命名文件的原子操作以确保不会发生并行线程间的冲突;当文件被改名的时候,系统可能会把他们复制到任务名以外的另一个名字上去。化简操作工作方式很类似,但是由于化简操作在并行能力较差,主节点会尽量把化简操作调度在一个节点上,或者离需要操作的数据尽可能进的节点上了。

目前,Google、亚马逊等公司已经开始推出云端存储、高性能计算、在线文档编辑系统等云计算相关的应用,云计算的蓝图已经呼之欲出:在未来,只需要一台笔记本或者一个iPhone,就可以通过网络服务来实现我们需要的一切,甚至包括超级计算这样的任务。可以说,未来是一个以网络为中心、网络就是计算机的时代。然而,云计算的发展仍存在着不少障碍。首先,云计算系统的安全性还未得到广泛认可,如何确保用户数据的安全尤其是私密性,是云计算急待解决的问题;其次,现在的云计算体系缺少标准化,只有整合出一个通用的系统架构和编程接口才能推动全球范围内的云互联;最后,云计算面向的数据和用户的数目巨大,如何有效地管理数据和计算资源也需要人们提出新的可伸缩性的体系架构。

上一篇:周怀民年表 下一篇:数字化管理平台在安防项目上的运用