浅谈云计算技术_分布式
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
浅谈云计算技术_分布式
浅谈云计算技术_分布式
引言云计算(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)的并行运算。
严格的编程模型使云计算环境下的编程非常简洁。
MapReduce模式的思想是将要执行的问题分解成Map(映射)和Reduce(化简)的方式,先通过Map程序将数据切割成不相关的区块,安排(调度)给大量计算机处理,达到分布式运算的效果,再通过Reduce程序将结果汇总输出。
2.4虚拟化技术
虚拟化(Virtualization)技术是云计算系统的核心技术部分之一,是将各种计算及存储资源充分整合和高效利用的关键技术。
通过虚拟化技术可实现软件应用与底层硬件相隔离,它包括将单个资源划分成多个虚拟资源的裂分模式,也包括将多个资源整合成一个虚拟资源的聚合模式。
虚拟化技术依据对象可分成:服务器虚拟化、存储虚拟化、计算虚拟化、网络虚拟化等,计算虚拟化又分为系统级虚拟化、应用级虚拟化和桌面虚拟化。
利用虚拟化技术,在一个物理服务器上可以运行多个虚拟服务
器。
把物理CPU抽象成虚拟CPU,无论任何时间一个物理CPU只能运行一个虚拟CPU的指令,而多个虚拟机同时供应服务将会大大提高物理CPU的利用率;同样,利用虚拟技术,统一管理物理内存,将其包装成多个虚拟的物理内存分别供应若干个虚拟机使用,使得每个虚拟机拥有各自独立的内存空间,互不干扰。
2.5云计算平台管理技术
云计算资源规模浩大,服务器数量众多并分布在不同的地点,同时运行着数百种应用,如何有效的管理这些服务器,保证整个系统供应不间断的服务是巨大的挑战。
云计算系统的平台管理技术能够使大量的服务器协同工作,便利的进行业务部署和开通,快速发觉和恢复系统故障,通过自动化、智能化的手段实现大规模系统的牢靠运营。
3、云计算技术进展面临的主要问题
尽管云计算具有宽阔的进展前景、其计算模式具有很多优点,但是也存在一些问题,如数据隐私问题、平安问题、软件许可证问题、网络传输问题等。
数据隐私问题:如何保证存放在云服务供应商的数据隐私,不被非法利用,不仅需要技术的改进,也需要法律的进一步完善。
数据平安性:有些数据是企业的商业机密,数据的平安性关系到企业的生存和进展。
云计算数据的平安性问题解决不了会影响云计算在企业中的应用。
用户使用习惯:如何转变用户的使用习惯,使用户适应网络化的软硬件应用是长期而艰难的挑战。
网络传输问题:云计算服务依靠网络,目前网速低且不稳定,使云应用的性能不高。
云计算的普及依靠网络技术的进展。
另外,当前云计算系统的能耗过大,
因此,削减能耗,提高能源的使用效率,建筑高效的冷却系统是当前面临的一个主要问题。