浅析云计算环境下的大规模图数据处理技术

2014-03-31 20:02李渊
中国高新技术企业 2014年6期
关键词:处理技术云计算

摘要:文章从云计算简介入手,对基于云计算的图数据存储方式、图数据分割、图数据计算模型以及图数据查询处理进行了研究。期望通过本文的研究能够对促进大规模图数据处理技术的完善有所帮助。

关键词:云计算;大规模图数据;处理技术

中图分类号:TP274 文献标识码:A 文章编号:1009-2374(2014)09-0053-02

1 云计算简介

1.1 云计算的涵义

云计算是在互联网技术高速发展的背景下提出的一种全新的计算方法,它的核心是互联网。云计算在2007年底由美国IBM公司提出,这是云计算首次出现在世人面前。IBM定义云计算如下:云计算一词用于同时描述一个系统平台或是一种类型的应用程序。

1.2 云计算的特性

云计算的技术特性可归纳为以下几个方面:

(1)虚拟化。用户可以在连通网络的任何位置用计算机、笔记本、手机等工具连接到云计算的服务器上实现各种计算任务。这些云计算服务器通常是集群,并且不具备有形的实体。

(2)通用性与可扩展性。在规模庞大的集群的支撑下,云计算平台能够支持和构造出各种各样的应用,而不仅仅针对特定的应用,并且同一个云计算平台可以同时支持不同的应用同时运行;云计算集群的规模具有动态伸缩性,能够满足用户以及应用规模增长的需要,这使其具备了良好的可扩展性。

(3)经济性高。由于要同时支持很多的计算任务,云计算集群的规模非常庞大,如云计算服务提供商Google的云计算平台的集群数量超过200万台,其他提供商如IBM、微软、雅虎的云计算集群也拥有几十万台,用户可以从云计算集群当中获取到丰富的计算资源。几乎所有的云计算集群服务器都是廉价设备,这是因为云计算本身具有超强的容错能力,它可以利用廉价的设备构成云集群,这一点不但充分体现出了云计算的低成本优势,而且也为其大范围推广应用奠定了基础。

1.3 云计算的相关技术

(1)海量分布式存储技术。分布式存储是云计算存储数据的主要方式,这在一定程度上确保了数据的高可靠性、可用性和经济性。其中数据存储的高可靠性主要是凭借冗余存储方式来实现的,通过可靠的软件工具能够有效弥补硬件方面存在的各种不足。因为云计算系统需要满足大量的用户使用需求,这就需要数据存储技术应该具有更高的传输速率和吞吐量,这样才能为所有用户并行地提供服务,而分布式的存储方式恰恰可以满足这一要求。

(2)数据管理技术。由于云计算需要经常性的处理分析较大的数据集以完成用户提交的计算任务,为此云计算数据管理技术必须具备对大数据集的高效管理能力,同时还要能够从巨大的数据集当中找出特定的数据,以此来满足用户的应用需求。BigTable和Hbase是目前云计算数据管理技术中最知名,也是最常用的技术。

(3)虚拟化技术。目前,全球的IT界都在逐步迈入云计算的时代,虽然单个虚拟化技术也为IT方面带来了诸多的利益,但不得不承认的是,人们更看重是其全面的虚拟化战略。在云计算的环境下,虚拟化的解决方法是系统整合方案,其集服务器、软件、相关服务、存储系统以及网络设备等于一体,它带给人们的是真正意义上的虚拟化服务。

(4)并行编程模式。由于数量众多的用户同时提供规模庞大的任务,云计算的编程模型必须确保后台复杂的并行执行和任务调度,这是有效利用云计算资源的前提也是基础。目前,云计算一般都是采用Map Reduce作为编程模式,该模式为并行系统的数据处理提供了简单、有效、实用的解决方案,其优势在于归并成本、高产出、性能更佳、效果更好、部署更容易。

2 云计算环境下大规模图数据处理技术的研究

图属于一种非线性数据结构,其具有十分鲜明的多对多结构关系,图数据当中每个元素都可以有零个或是多个直接前趋以及直接后继。与其它数据结构形式相比,图数据可以表达更加丰富的语义,其被广泛应用于科研、工程等领域当中。由于可用的图数据量非常之大,所以对大规模图数据处理技术的研究一直是业界的重要课题。在专家学者的不断研究中,图的处理技术获得了长足进步,与之相关的理论也日渐成熟,这为图数据的应用提供了条件。然而,在信息时代到来的今天,各种各样信息飞速增长,这在一定程度上造成了图的规模越来越大,为此,应当对大规模图数据的处理加大研究力度。云计算的提出为大规模图数据处理提供了一个有效的平台,下面本文就此展开详细论述。

2.1 基于云计算的图数据存储方式

通过对大量的文献进行研究分析后发现,现阶段,在大规模图数据的管理应用中,最为常用的数据模型有两种,即单图数据模型和超图数据模型,这两种模型全都能够对有向图和无向图进行处理,唯一的区别是两者的存储格式不同。云计算的分布式存储系统是大规模图数据存储的基础,大体上可将云计算的存储系统分为以下两种,分布式文件系统和分布式数据库。分布式文件系统以GFS和HDFS为代表,能够对邻接表和邻接矩阵等结构进行直接存放;分布式数据库,即NoSQL,以Big Table和Hbase为代表。该数据库所采用的数据模型可分为以下几大类:DS模型(文档存储)、CFS模型(列族存储)以及KV存储模型等等。其中DS模型在存储格式上具有灵活、方便的特点,适用于非结构化数据的存储,该模型不太适合存储图数据。大量的研究表明,KV存储模型最为适合大规模图数据的存储。该模型具有存储模式简单、高并发查询、支持海量存储等优点。对Page Rank等图数据处理而言,几乎不涉及较为复杂的查询操作,这样KV模型基本可以满足要求,如果图数据以邻接表的形式出现,可以图的源顶点作为Key,以点的值和出边信息为Value,这样便可以进行数据合并和迁移,有利于提高空间的局部性,并使查询处理过程中数据读取的次数大幅度减少,有助于数据读取效率的提高。

2.2 基于云计算的图数据分割

通常情况下,基于云计算的大规模图数据处理,需要进行分布式并行处理,由于图数据的连通性特点以及图计算的强耦合性特点,为了进一步提高对图数据的并行处理效率,需要对各子图之间的耦合度进行降低,而图分割则是实现这一目标的有效途径之一。具体过程如下:首先分割一个逻辑结构相对比较完整的大图,然后将分割的部分分别放到分布式存储系统的各个工作节点中,再进行处理,即针对每个子图启动一个与之相对应的计算任务,当所有子图全部处理完毕后,就完成了一个大图的处理。在这一过程中,对大图进行分割,并获得较好的分割效果是关键之所在,在分割时要考虑图内部的连通性以及子图规模的均衡性两方面的因素。要尽可能的提高图内部的连通性,并降低各个子图之间的连通性,这有利于云计算分布式并行处理机制的应用;另外尽量考虑子图规模的均衡性,尽量不要出现过大的偏斜,以免造成任务执行时间差距过大,影响同步性。

2.3 基于云计算的图数据计算模型

目前,在云计算环境中应用最为广泛的模型有两种,一种是Map Reduce模型,另一种是BSP模型。

(1)Map Reduce模型。是指一个并行处理作业由多个map与reduce任务共同构成,作业的执行也分为两个阶段,一个是Map阶段,在该阶段每一个map任务对分配给它的数据进行相应的计算,然后输出key值,再将结果数据映射到与之相对应的reduce任务中。另一个是Reduce阶段,在该阶段,每一个reduce任务会对接收到的数据进行聚集处理,以此来获取输出结果,并将数据保存在分布式文件系统中。

(2)BSP模型。具体是指基于消息通信的并行执行模式,它的特点是能够避免死锁以及数据竞争问题。

目前基于云计算的大规模图数据处理主要应用的也是这两种模型,在迭代处理方面BSP模型的执行效率要比Map Reduce模型高一些。

2.4 基于云计算的图数据查询处理

在云计算环境下,支持大规模图数据查询处理的驱动模式主要有以下两种:主动遍历模式和被动遍历模式。这两种模式的共同点是操作对象都是图顶点,具体而言,处理操作的核心都是图顶点。

(1)主动遍历模式。该模式具有适用性强的优点,但在某些特定的应用当中,有可能导致资源浪费的情况发生。

(2)被动遍历模式。模式的优点是无需调用处理函数,从而减少不必要的顶点调用处理开销,节省资源。

3 结语

综上所述,本文以云计算环境为依托,对大规模图数据处理的相关技术进行了研究。结论表明,云计算的相关技术可用于大规模图数据处理当中,这充分体现出了云计算在数据处理中的广泛适用性。

参考文献

[1] 陈艳金.Map Reduce模型在Hadoop平台下实现作

业调度算法的研究和改进[D].华南理工大学,

2011.

[2] 杜清运,虞昌彬,任福.利用嵌套金字塔模型进

行瓦片地图数据组织[J].武汉大学学报(信息科

学版),2011,(5).

[3] 方雷.基于云计算的土地资源服务高效处理理论框

架及其平台关键技术研究[D].浙江大学,2011.

作者简介:李渊(1985—),男,河南延津人,苏州大学助理实验师,硕士。

猜你喜欢
处理技术云计算
浅议大数据的产生与发展现状
浅析城市生活污水处理技术现状及发展趋势
实验云:理论教学与实验教学深度融合的助推器