版主
数码信息狗
- 积分
- 487
- 获赠鲜花
- 467 朵
- 个人财富
- 1921 金币
- 注册时间
- 2010-11-28
|
楼主 |
发表于 2011-2-2 21:04
|
显示全部楼层
友情提示: 请千万不要登入陌生网站输入QQ号和密码,以防诈骗。
联系我时,请说明是从哪儿看到的,谢谢。
四、云计算的核心技术
, }- j% z+ p1 C1 g/ Z
$ @& Y4 L o* G1 m1 A: N; S 云计算系统运用了许多技术,其中以编程模型、数据管理技术、数据存储技术、虚拟化技术、云计算平台管理技术最为关键。
; t+ Z" i8 R; O! k! {# h" e) G1 l6 U5 L4 u
(1)编程模型- _' G7 W1 I& r- A- ?
MapReduce是Google开发的java、Python、C++编程模型,它是一种简化的分布式编程模型和高效的任务调度模型,用于大规模数据集(大于1TB)的并行运算。严格的编程模型使云计算环境下的编程十分简单。MapReduce模式的思想是将要执行的问题分解成Map(映射)和 Reduce(化简)的方式,先通过Map程序将数据切割成不相关的区块,分配(调度)给大量计算机处理,达到分布式运算的效果,再通过Reduce程序将结果汇整输出。1 q/ C% p! P8 [6 M2 L, F
1 `* I1 U$ ]2 f F' U (2) 海量数据分布存储技术
. W8 l) X' d( k* k6 R2 t( a% { 云计算系统由大量服务器组成,同时为大量用户服务,因此云计算系统采用分布式存储的方式存储数据,用冗余存储的方式保证数据的可靠性。云计算系统中广泛使用的数据存储系统是Google的GFS和Hadoop团队开发的GFS的开源实现HDFS。
' N1 Q6 W/ D. X" k$ E GFS即Google文件系统(Google File System),是一个可扩展的分布式文件系统,用于大型的、分布式的、对大量数据进行访问的应用。GFS的设计思想不同于传统的文件系统,是针对大规模数据处理和Google应用特性而设计的。它运行于廉价的普通硬件上,但可以提供容错功能。它可以给大量的用户提供总体性能较高的服务。
, |) l) d. H. J0 t& Y 客户与主服务器的交换只限于对元数据的操作,所有数据方面的通信都直接和块服务器联系,这大大提高了系统的效率,防止主服务器负载过重。
$ q8 j# v4 R; |3 U1 u2 l
0 Q, l4 h G" C (3) 海量数据管理技术, q! f3 G8 m) A# W9 N. e1 @- M
云计算需要对分布的、海量的数据进行处理、分析,因此,数据管理技术必需能够高效的管理大量的数据。云计算系统中的数据管理技术主要是Google的BT(BigTable)数据管理技术和Hadoop团队开发的开源数据管理模块HBase。
3 A8 \! s. G( ^4 O/ C7 z% ?: q; a Google的很多项目使用BT来存储数据,包括网页查询,Google earth和Google金融。这些应用程序对BT的要求各不相同:数据大小(从URL到网页到卫星图象)不同,反应速度不同(从后端的大批处理到实时数据服务)。对于不同的要求,BT都成功的提供了灵活高效的服务。
, ]0 C3 }- w1 y* G# k
: k, i% {- @- z (4)虚拟化技术# Y z; v3 D! o) O
通过虚拟化技术可实现软件应用与底层硬件相隔离,它包括将单个资源划分成多个虚拟资源的裂分模式,也包括将多个资源整合成一个虚拟资源的聚合模式。虚拟化技术根据对象可分成存储虚拟化、计算虚拟化、网络虚拟化等,计算虚拟化又分为系统级虚拟化、应用级虚拟化和桌面虚拟化。
7 A& w6 R+ v- y' r$ {! r
) P1 C |/ `, u7 O% } (5)云计算平台管理技术7 Z" z7 a2 L/ Y! {- M C
云计算资源规模庞大,服务器数量众多并分布在不同的地点,同时运行着数百种应用,如何有效的管理这些服务器,保证整个系统提供不间断的服务是巨大的挑战。
, D- L! q8 o& C6 F; d+ | 云计算系统的平台管理技术能够使大量的服务器协同工作,方便的进行业务部署和开通,快速发现和恢复系统故障,通过自动化、智能化的手段实现大规模系统的可靠运营。 |
|