云计算――计算机技术发展的新方向

时间:2022-09-15 01:36:53

云计算――计算机技术发展的新方向

摘 要:本文介绍了云计算技术的源起、概念、原理、应用和前景。

关键词:云计算 虚拟化技术 编程模型

中图分类号:F307.3 文献标识码:A 文章编号:1672-3791(2011)09(a)-0017-01

1 云计算思想的产生

我们每天都要用电,但我们不是每家自备发电机,它由电厂集中提供;我们每天都要用自来水,但我们不是每家都有井,它由自来水厂集中提供。这种模式极大得节约了资源,方便了我们的生活。面对计算机给我们带来的困扰,我们可不可以像使用水和电一样使用计算机资源?这些想法最终导致了云计算的产生。

云计算的最终目标是将计算、服务和应用作为一种公共设施提供给公众,使人们能够像使用水、电、煤气和电话那样使用计算机资源。

2 云计算的概念

狭义的云计算指的是厂商通过分布式计算和虚拟化技术搭建数据中心或超级计算机,以免费或按需租用方式向技术开发者或者企业客户提供数据存储、分析以及科学计算等服务,比如亚马逊数据仓库出租生意。

广义的云计算指厂商通过建立网络服务器集群,向各种不同类型客户提供在线软件服务、硬件租借、数据存储、计算分析等不同类型的服务。广义的云计算包括了更多的厂商和服务类型,例如国内用友、金蝶等管理软件厂商推出的在线财务软件,谷歌的Google应用程序套装等。

通俗的理解是,云计算的“云“就是存在于互联网上的服务器集群上的资源,它包括硬件资源(服务器、存储器、CPU等)和软件资源(如应用软件、集成开发环境等),本地计算机只需要通过互联网发送一个需求信息,远端就会有成千上万的计算机为你提供需要的资源并将结果返回到本地计算机,这样,本地计算机几乎不需要做什么,所有的处理都在云计算提供商所提供的计算机群来完成。

3 云计算的核心技术

云计算系统运用了许多技术,其中以编程模型、数据管理技术、数据存储技术、虚拟化技术、云计算平台管理技术最为关键。

3.1 编程模型

MapReduce是Google开发的java、Python、C++编程模型,它是一种简化的分布式编程模型和高效的任务调度模型,用于大规模数据集(大于1TB)的并行运算。严格的编程模型使云计算环境下的编程十分简单。MapReduce模式的思想是将要执行的问题分解成Map(映射)和Reduce(化简)的方式,先通过Map程序将数据切割成不相关的区块,分配(调度)给大量计算机处理,达到分布式运算的效果,再通过Reduce程序将结果汇整输出。

3.2 海量数据分布存储技术

云计算系统由大量服务器组成,同时为大量用户服务,因此云计算系统采用分布式存储的方式存储数据,用冗余存储的方式保证数据的可靠性。云计算系统中广泛使用的数据存储系统是Google的GFS和Hadoop团队开发的GFS的开源实现HDFS。

GFS即Google文件系统(Google File System),是一个可扩展的分布式文件系统,用于大型的、分布式的、对大量数据进行访问的应用。GFS的设计思想不同于传统的文件系统,是针对大规模数据处理和Google应用特性而设计的。它运行于廉价的普通硬件上,但可以提供容错功能。它可以给大量的用户提供总体性能较高的服务。

一个GFS集群由一个主服务器(master)和大量的块服务器(chunkserver)构成,并被许多客户(Client)访问。主服务器存储文件系统所以的元数据,包括名字空间、访问控制信息、从文件到块的映射以及块的当前位置。它也控制系统范围的活动,如块租约(lease)管理,孤儿块的垃圾收集,块服务器间的块迁移。主服务器定期通过HeartBeat消息与每一个块服务器通信,给块服务器传递指令并收集它的状态。GFS中的文件被切分为64MB的块并以冗余存储,每份数据在系统中保存3个以上备份。

客户与主服务器的交换只限于对元数据的操作,所有数据方面的通信都直接和块服务器联系,这大大提高了系统的效率,防止主服务器负载过重。

3.3 海量数据管理技术

云计算需要对分布的、海量的数据进行处理、分析,因此,数据管理技术必需能够高效的管理大量的数据。云计算系统中的数据管理技术主要是Google的BT(BigTable)数据管理技术和Hadoop团队开发的开源数据管理模块HBase。

BT是建立在GFS,Scheduler,Lock Service和MapReduce之上的一个大型的分布式数据库,与传统的关系数据库不同,它把所有数据都作为对象来处理,形成一个巨大的表格,用来分布存储大规模结构化数据。

Google的很多项目使用BT来存储数据,包括网页查询,Google earth和Google金融。这些应用程序对BT的要求各不相同:数据大小(从URL到网页到卫星图象)不同,反应速度不同(从后端的大批处理到实时数据服务)。对于不同的要求,BT都成功的提供了灵活高效的服务。

3.4 虚拟化技术

通过虚拟化技术可实现软件应用与底层硬件相隔离,它包括将单个资源划分成多个虚拟资源的裂分模式,也包括将多个资源整合成一个虚拟资源的聚合模式。虚拟化技术根据对象可分成存储虚拟化、计算虚拟化、网络虚拟化等,计算虚拟化又分为系统级虚拟化、应用级虚拟化和桌面虚拟化。

3.5 云计算平台管理技术

云计算资源规模庞大,服务器数量众多并分布在不同的地点,同时运行着数百种应用,如何有效的管理这些服务器,保证整个系统提供不间断的服务是巨大的挑战。

云计算系统的平台管理技术能够使大量的服务器协同工作,方便的进行业务部署和开通,快速发现和恢复系统故障,通过自动化、智能化的手段实现大规模系统的可靠运营。

4 云计算技术发展面临的主要问题

尽管云计算模式具有许多优点,但是也存在的一些问题,如数据隐私问题、安全问题、软件许可证问题、网络传输问题等。

数据隐私问题:如何保证存放在云服务提供商的数据隐私,不被非法利用,不仅需要技术的改进,也需要法律的进一步完善。

数据安全性:有些数据是企业的商业机密,数据的安全性关系到企业的生存和发展。云计算数据的安全性问题解决不了会影响云计算在企业中的应用。

用户使用习惯:如何改变用户的使用习惯,使用户适应网络化的软硬件应用是长期而艰巨的挑战。

网络传输问题:云计算服务依赖网络,目前网速低且不稳定,使云应用的性能不高。云计算的普及依赖网络技术的发展。

参考文献

[1] 中国云计算网[EB/OL].www.省略/.

[2] (美)海吉(Bhai Ji,Y.).网络安全技术与解决方案[M].人民邮电出版社,2010,1.

[3] 刘天华,孙阳,朱宏峰.网络安全(教材)[M].科学出版社,2010,4.

[4] 王昭,袁春.信息安全原理与应用[M].电子工业出版社,2010,1.

上一篇:浅析IMS组网技术 下一篇:基于RBF网络的几种学习算法