理论教育 关键技术及海量数据管理、存储与虚拟化技术

关键技术及海量数据管理、存储与虚拟化技术

时间:2023-11-17 理论教育 版权反馈
【摘要】:图7.3 MapReduce的执行过程2.海量数据分布存储技术云计算系统由大量服务器组成,同时为大量用户服务,因此云计算系统采用分布式存储的方式存储数据,用冗余存储的方式保证数据的可靠性。图7.4 GFS的执行流程3.海量数据管理技术云计算系统对大数据集进行处理、分析,向用户提供高效的服务。图7.5 BigTable的存储方式4.虚拟化技术虚拟化是IaaS层的重要组成部分,也是云计算的最重要特点。

关键技术及海量数据管理、存储与虚拟化技术

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

云计算的目标是以低成本的方式提供高可靠、高可用、规模可伸缩的个性化服务。为了达到这个目标,需要数据中心管理、虚拟化、海量数据处理、资源管理与调度、QoS保证、安全与隐私保护等若干关键技术加以支持。

1.编程模型

为了高效地利用云计算的资源,使用户能更轻松地享受云计算带来的服务,云计算的编程模型必须保证后台复杂的并行执行和任务调度向用户和编程人员透明。云计算采用MapReduce编程模式,将任务自动分成多个子任务,通过映射(Map)和化简(Reduce)两步实现任务在大规模计算节点中的调度与分配。

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

978-7-111-56862-9-Chapter07-5.jpg

图7.3 MapReduce的执行过程

2.海量数据分布存储技术

云计算系统由大量服务器组成,同时为大量用户服务,因此云计算系统采用分布式存储的方式存储数据,用冗余存储的方式保证数据的可靠性。与传统的企业数据中心不同,云计算数据中心具有以下特点:

1)自治性。相较传统的数据中心需要人工维护,云计算数据中心的大规模性要求系统在发生异常时能自动重新配置,并从异常中恢复,而不影响服务的正常使用。

2)规模经济。通过对大规模集群的统一化标准化管理,使单位设备的管理成本大幅降低。

3)规模可扩展。考虑到建设成本及设备更新换代,云计算数据中心往往采用大规模高性价比的设备组成硬件资源,并提供扩展规模的空间。

云计算环境中的海量数据存储既要考虑存储系统的I/O性能,又要保证文件系统的可靠性与可用性。云计算的数据存储系统主要有GoogleGFS(GoogleFileSystem)和Hadoop开发团队的开源系统HDFS(HadoopDistributedFileSystem)。大部分IT厂商,包括雅虎英特尔的“云”计划采用的都是HDFS的数据存储技术。

云计算系统中广泛使用的Google文件系统(GoogleFileSystem),是一个可扩展的分布式文件系统,用于大型的、分布式的、对大量数据进行访问的应用。图7.4展示了GFS的执行流程。在GFS中,一个大文件被划分成若干固定大小(如64MB)的数据块,并分布在计算节点的本地硬盘,为了保证数据可靠性,每一个数据块都保存有多个副本,所有文件和数据块副本的元数据由元数据管理节点管理。GFS的优势在于:

①由于文件的分块粒度大,GFS可以存取PB级的超大文件。

②通过文件的分布式存储,GFS可并行读取文件,提供高I/O吞吐率。

③GFS可以简化数据块副本间的数据同步问题。

④文件块副本策略保证了文件可靠性。

978-7-111-56862-9-Chapter07-6.jpg

图7.4 GFS的执行流程

3.海量数据管理技术

云计算系统对大数据集进行处理、分析,向用户提供高效的服务。因此,数据管理技术必须能够高效地管理大数据集。另外,如何在规模巨大的数据中找到特定的数据,也是云计算数据管理技术所必须解决的问题。云系统的数据管理往往采用列存储的数据管理模式,保证海量数据存储和分析性能。云计算的数据管理技术最著名的是谷歌的BigTable数据管理技术,同时,Hadoop开发团队开发了类似BigTable的开源数据管理模块HBase。

Bigtable是基于GFS开发的分布式存储系统,它将提高系统的适用性、可扩展性、可用性和存储性能作为设计目标。Bigtable的功能与分布式数据库类似,用以存储结构化或半结构化数据,为谷歌应用(如索引擎、谷歌地图等)提供数据存储与查询服务。在数据管理方面,Bigtable将一整张数据表拆分成许多存储于GFS的子表,并由分布式锁服务Chubby负责数据一致性管理。在数据模型方面,Bigtable以行名、列名、时间戳建立索引,表中的数据项由无结构的字节数组表示。这种灵活的数据模型保证Bigtable适用于多种不同应用环境。图7.5展示了Bigtable的存储方式,其中t1t5为时间戮。(www.daowen.com)

978-7-111-56862-9-Chapter07-7.jpg

图7.5 BigTable的存储方式

4.虚拟化技术

虚拟化是IaaS层的重要组成部分,也是云计算的最重要特点。虚拟化技术可以提供以下特点:

1)资源分享。通过虚拟机封装用户各自的运行环境,有效实现多用户分享数据中心资源。

2)资源定制。用户利用虚拟化技术,配置私有的服务器,指定所需的CPU数目、内存容量、磁盘空间,实现资源的按需分配

3)细粒度资源管理。将物理服务器拆分成若干虚拟机,可以提高服务器的资源利用率,减少浪费,而且有助于服务器的负载均衡和节能。

基于以上特点,虚拟化技术成为实现云计算资源池化和按需服务的基础。

(1)虚拟机快速部署技术

传统的虚拟机部署分为四个阶段:创建虚拟机、安装操作系统与应用程序、配置主机属性(如网络、主机名等)、启动虚拟机。该方法部署时间较长,达不到云计算弹性服务的要求。尽管可以通过修改虚拟机配置(如增减CPU数目、磁盘空间、内存容量)改变单台虚拟机性能,但是更多情况下云计算需要快速扩张虚拟机集群的规模。为了简化虚拟机的部署过程,虚拟机模板技术被应用于大多数云计算平台。虚拟机模板预装了操作系统与应用软件,并对虚拟设备进行了预配置,可以有效减少虚拟机的部署时间。然而虚拟机模板技术仍不能满足快速部署的需求。

(2)虚拟机在线迁移技术

虚拟机在线迁移是指虚拟机在运行状态下从一台物理机移动到另一台物理机。在线迁移技术于2005年由Clark等人提出,通过迭代的预复制(pre-copy)策略同步迁移前后的虚拟机的状态。虚拟机在线迁移技术对云计算平台有效管理具有以下重要意义:

1)提高系统可靠性。一方面,当物理机需要维护时,可以将运行于该物理机的虚拟机转移到其他物理机。另一方面,可利用在线迁移技术完成虚拟机运行时备份,当主虚拟机发生异常时,可将服务无缝切换至备份虚拟机。

2)有利于负载均衡。当物理机负载过重时,可以通过虚拟机迁移达到负载均衡,优化数据中心性能。

3)有利于设计节能方案。通过集中零散的虚拟机,可使部分物理机完全空闲,以便关闭这些物理机(或使物理机休眠),达到节能目的。

此外,虚拟机的在线迁移对用户透明,云计算平台可以在不影响服务质量的情况下优化和管理数据中心。当原始虚拟机发生错误时,系统可以立即切换到备份虚拟机,而不会影响到关键任务的执行,提高了系统可靠性。

5.云计算平台管理技术

云计算资源规模庞大,一个系统的服务器数量可能会高达十万台并跨越几个坐落于不同物理地点的数据中心,同时还运行成百上千种应用。如何有效地管理这些服务器,保证这些服务器组成的系统能提供7×24h不间断服务是一个巨大的挑战。云计算系统管理技术是云计算的“神经网络”,通过这些技术能够是大量的服务器协同工作,方便地进行业务部署和开通,快速发现和恢复系统故障,通过自动化、智能化的手段实现大型系统的可运营、可管理。谷歌通过其卓越的云计算管理系统维持着全球上百万台PC服务器协同、高效地运行。

6.云安全技术

云安全技术是P2P技术、网格技术、云计算技术等计算技术混合发展、自然演化的结果。云安全技术,可以针对互联网环境中类型多样的信息安全威胁,在强大的后台技术分析能力和在线透明交互模式的支持下,在用户“知情并同意”的情况下在线收集、分析用户计算机中可疑的病毒和木马等恶意程序样本,并且定时通过反病毒数据库进行用户分发,从而实现病毒及木马等恶意程序的在线收集、即时分析及解决方案

云安全技术通过扁平化的服务体系实现用户与技术后台的对接,所有用户都是互联网安全的主动参与者和安全技术个新的即时受惠者,这也体现了云计算的理念。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈