- 相关推荐
浅谈云计算技术_分布式
引言云计算(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、云计算技术发展面临的主要问题
尽管云计算具有广阔的发展前景、其计算模式具有许多优点,但是也存在一些问题,如数据隐私问题、安全问题、软件许可证问题、网络传输问题等。数据隐私问题:如何保证存放在云服务提供商的数据隐私,不被非法利用,不仅需要技术的改进,也需要法律的进一步完善。数据安全性:有些数据是企业的商业机密,数据的安全性关系到企业的生存和发展。云计算数据的安全性问题解决不了会影响云计算在企业中的应用。用户使用习惯:如何改变用户的使用习惯,使用户适应网络化的软硬件应用是长期而艰巨的挑战。网络传输问题:云计算服务依赖网络,目前网速低且不稳定,使云应用的性能不高。云计算的普及依赖网络技术的发展。另外,当前云计算系统的能耗过大,因此,减少能耗,提高能源的使用效率,建造高效的冷却系统是当前面临的一个主要问题。
【浅谈云计算技术_分布式】相关文章:
网络时代的远程教育—分布式学习08-24
浅谈读书08-23
浅谈人生作文02-24
浅谈中考作文04-12
浅谈备课与上课08-20
浅谈诗歌教学08-22
浅谈写教案08-24
浅谈生物教学08-24
浅谈语言产业08-25
浅谈理想作文10-07