您当前的位置:首页 > 计算机论文

浅谈云计算技术_分布式

2015-03-07 17:54 来源:学术参考网 作者:未知

  0、引言

  云计算(CloudComputing)是一种基于互联网的超级计算模式。它是分布式计算、并行计算和网格计算的发展。其基本原理为:利用非本地或远程服务器(集群)的分布式计算机为互联网用户提供服务(计算、存储、软硬件等服务)。云是一种思想,一种大规模资源整合的思想,是IT界发展的必然趋势。云计算是一种新型的超级计算方式,以数据为中心,是一种数据密集型的超级运算,在数据存储、数据管理、云计算平台管理等多方面具有自身独特的技术。

  1、云计算的定义

  云计算是从分布式处理(DistributedComputing)、并行处理(ParallelComputing)和网格计算(GridComputing)发展而来的。到目前为止,对于云计算的定义还没有一个确定的说法,可谓仁者见仁、智者见智。狭义的云计算:指厂商通过分布式计算和虚拟化技术搭建数据中心或超级计算机,以免费或按需租用方式向技术开发者或者企业客户提供数据存储、分析以及科学计算等服务,比如亚马逊数据仓库出租生意;广义的云计算:指厂商通过建立网络服务器集群,向各种不同类型客户提供在线软件服务、硬件租借、数据存储、计算分析等不同类型的服务,广义的云计算包括了更多的厂商和服务类型,例如国内用友、金蝶等管理软件厂商推出的在线财务软件,谷歌发布的Google应用程序套装等。

  2、云计算的核心技术

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

  2.1数据存储技术

  云计算的数据存储技术主要有谷歌的非开源的(GoogleFileSystem)云计算系统由大量服务器组成,同时为大量用户服务,因此云计算系统采用分布式存储的方式存储数据,用冗余存储的方式保证数据的可靠性。云计算系统中广泛使用的数据存储系统是Google的GFS和Hadoop团队开发的GFS的开源实现,GFS即Google文件系统(GoogleFileSystem),是一个可扩展的分布式文件系统,用于大型的、分布式的、对大量数据进行访问的应用。GFS系统由一个Master和多个块服务器构成。Master存储着文件系统的所有元数据,包括名字空间、存取控制、文件分块信息、文件块的位置信息等。

  GFS是针对大规模数据处理和Google应用特性而设计的。它运行于廉价的普通硬件上,但可以提供容错功能,它可以给大量的用户提供总体性能较高的服务,一个GFS集群由一个主服务器(master)和大量的块服务器(chunkserver)构成,并被许多客户(Client)访问。主服务器存储文件系统所以的元数据,包括名字空间、访问控制信息、从文件到块的映射以及块的当前位置。它也控制系统范围的活动,如块租约(lease)管理,孤儿块的垃圾收集,块服务器间的块迁移。主服务器定期通过HeartBeat消息与每一个块服务器通信,给块服务器传递指令并收集它的状态。GFS中的文件被切分为64MB的块并以冗余存储,每份数据在系统中保存3个以上备份。

  客户与主服务器的交换只限于对元数据的操作,所有数据方面的通信都直接和块服务器联系,这大大提高了系统的效率,防止主服务器负载过重。云计算的数据存储技术未来的发展将集中在超大规模的数据存储、数据加密和安全性保证以及继续提高I/O速率等方面。

  2.2数据管理技术(BigTable)

  海量的数据处理是指对大规模数据的计算和分析,通常数据的规模可以达到TB甚至PB级别。基于互联网时代的数据统计和分析很多是海量数据级别的,其典型的例子如搜索引擎、数字图书馆。由于数据量非常大,一台计算机不可能满足海量数据处理的性能和可靠性等方面的要求。

  云计算需要对分布的、海量的数据进行处理、分析并向用户提供高效的服务,因此,数据管理技术必需能够高效的管理大数据集。云计算的特点是对海量的数据存储、读取后进行大量的分析,数据的读操作频率远大于数据的更新频率,如何在规模巨大的数据中找到特定的数据,也是云计算数据管理技术所必须解决的问题。云中的数据管理是一种读优化的数据管理,因此云系统的数据管理往往采用数据库领域中列存储的数据管理模式,将表按列划分后存储。

  2.3编程模型

  为了给广大用户提供更轻松地享受云计算服务的机会,能轻松的利用编程模型编写简单的程序来实现特定的目的,云上的编程模型要十分简单,另外,需要后台复杂的并行执行和任务调度向用户和编程人员透明。

  云计算大部分采用Map2Reduce的编程模式,Map2Reduce不仅仅是一种编程模型,同时也是一种高效的任务调度模型。Map2Reduce是Google开发的java、Python、C++编程模型,它是一种简化的分布式编程模型和高效的任务调度模型,用于大规模数据集(大于1TB)的并行运算。严格的编程模型使云计算环境下的编程十分简单。

相关文章
学术参考网 · 手机版
https://m.lw881.com/
首页