取消
  • 技术文章
  • 云计算核心技术

    云计算核心技术

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

    云技术
    声明:部分内容及图片来源于网络,如有侵权请联系删除。

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

    (2)海量数据分布存储技术。云计算系统由大量服务器组成,为大量用户提供所需的服务,因此云计算系统采用分布式存储方式存储数据,并采用冗余存储方式保证数据的可靠性。云计算系统中广泛使用的数据存储系统是由Google的GFS和Hadoop团队开发的HDFS。一个GFS集群由一个主服务器(Master)和大量的块服务器(Chunk Server)构成,可被许多客户访问。主服务器存储文件系统所有的元数据,包括名字空间、访问控制信息、从文件到块的映射以及块的当前位置。主服务器控制涉及系统范围的活动,如块租约(Lease) 管理、孤儿块的垃圾收集以及块服务器间的块迁移。主服务器定期通过HeartBeat 消息与每一个块服务 器通信,向块服务器传递指令并收集它的状态。GFS中的文件被切分为64 MB的块并以冗余方式存储,每份数据在系统中保存3个以上备份。用户与主服务器的交流只限于对元数据的操作,所有涉及数据的通信都直接通过块服务器联系,这大大提高了系统的效率,并可防止主服务器负载过重。

    (3)海量数据管理技术。云计算需要对分布式的海量数据进行处理和分析,因此数据管理技术必须能够用来高效地管理大量的数据。云计算系统中的数据管理技术主要是Google的BT(BigTable)数据管理技术和Hadoop团队开发的开源数据管理模块HBase。BT是建立在GFS、Scheduler、Lock Service 和MapReduce之上的一种大型的分布式数据库,与传统的关系数据库不同,它把所有的数据都作为对象来处理,以形成一个巨大表格用来分布存储大规模结构化数据。

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

    (5)云计算平台管理技术。云计算资源规模庞大,服务器数量众多且分布在不同的地点,而且运行着数百种应用程序,因此如何有效地管理这些服务器,保证整个系统可提供不间断的服务是一项巨大的挑战。云计算系统平台管理技术能够使大量的服务器协同工作,方便地进行业务部署和开通,快速发现和恢复系统故障,通过自动化、智能化手段实现大规模系统的可靠运营。



    返回