第40卷第11期2015年11月
测绘科学
Science of Surveying and Mapping
Vol.40No.11
Nov
.
作者简介:何涛(1978—),男,陕西
咸阳人,工程硕士,高级工程师,现
从事测绘GIS工作。
E-mail:visual1234@sina.com
收稿日期:2015-07-29
何 涛,孙忠芳,葛 亮
(天津市测绘院,天津 300381)
摘 要:针对云计算系统中文件数据存储效率较低的问题,文章以Hadoop云计算系统为研究对象,改进了Ha-doop-pvfs分布式系统,以提高Hadoop底层文件系统的存储效率,同时使得数据的更新可以在文件的任何位置; 并提出一种多层次、位置相关的瓦片数据组织方法。实验结果表明,上述方法相对于Hadoop瓦片服务器系统吞吐效率有较大提高,可以为建设高性能、海量存储的GIS数据库服务系统提供参考。
关键词:瓦片存储;Hadoop;pvfs;云计算;数据组织
【中图分类号】P208 【文献标识码】A 【文章编号】1009-2307(2015)011-0164-04
DOI:10.16251/j.cnki.1009-2307.2015.11.034
0 引言
Hadoop开源云计算系统有强大的数据存储能
力和容错能力,同时利用MapReduce分布式并行
前云计算研究的热门领域。但Hadoop云计算系统
也有着自己的弱点,Hadoop底层分布式文件系统
HDFS对数据读写采取的是一次写多次读策略,当
对文件进行写时,数据的一致性及安全性很难得
到保障,而在对文件数据进行更新时仅限于在文
件末尾进行数据的添加,此外,MapReduce分布
式计算模型将计算任务分布于集中每一个存储
相关数据的节点,适用于进行全局性的处理任务,
对分散于集中部分节点的任务处理显得较不
适应。
而在数据存储方面,Hadoop设计之初有意将
它定位于大块数据(大文件)存储,对如瓦片形式
的小文件没有采取相应的手段进行有效的优化,
在小文件数目非常大时,存储在HDFS(Hadoo
PDistributed File System,分布式文件系统)元数
据服务节点中的小文件属性数据总量将超出元数
据服务节点的存储能力,从而成为系统瓶颈。
活动看台针对HDFS系统以上两个不足,本文研究了
结合HDFS文件系统特点和并行文件系统pvfs特
点的Hadoop-pvfs系统,此系统有效弥补了HDFS
系统在数据更新方面的不足;针对HDFS在小文
件存储方面的不足,结合瓦片数据位置属性,研
究了一种多层次的瓦片数据组织方法。
1 Hadoop系统的优缺点
Hadoop是一个由Apache基金会所开发的分布
式系统基础架构,它是一个完全开源的云计算系统
“生态圈”,Hadoop主要依靠其底层分布式文件系统
HDFS进行数据的存储,另外其MapReduce计算模
型可用于大规模数据集(大于1TB)的并行运算,适
于进行GIS海量搜索或计算,如图1所示
。
图1 HDFS系统架构图
Fig.1 HDFS Architecture
HDFS文件系统的核心部分是主节点Name-
Node(备份Secondary NameNode)和数据节点Da-
taNode,完整的HDFS采用Master/Slave主从架
第11期
引用格式:何涛,孙忠芳,葛亮.一种云计算系统的瓦片数据组织方法[J].测绘科学,2015,
40(11):164-
167.构对文件系统进行管理,只由一个NameNode和
若干个DataNode组成。NameNode是整个系统的核心部分,负责管理文件系统的名字空间及客户端对文件的访问、负责MapReduce任务的调度及监控;DataNode是系统的数据存储模块及任务执行节点。单一的NameNode内存空间很容易成为系统的瓶颈,为了增加HDFS的利用效率,Nam-eNode中存储的文件信息记录的都是比较大的块文件信息,而对于小文件存储显得不是很适应,另外在对大文件进行更新时,随机的进行写需要进行大量的文件移动操作,因此HDFS规定只能将新的文件内容添加到块的末尾。
2 Hadoop-pvfs对Hadoop系统的
改进
为了解决Hadoop不适于存储小文件及无法进
行随机读写等问题,本文延伸应用了将Hadoop和并行文件系统pvfs结合到一起的Hadoop-pfs系统。Hadoop-pvfs系统的数据存储于底层pvfs并行文件系统,上层数据组织方式采用了Hadoop数据块副本组织方式。pvfs并行文件系统所采用的单个文件数据分条数据存放方式提高了数据存储的效率并支持随机写入,然而其有如下缺点:①没有副本机制,无法保证数据的安全性;②没有曝露Map
Reduce分布式计算时需要的文件分布信息信息,无法进行MapReduce并行计算;③没有缓存机制,这在一定程度上降低了系统的效率。为此Hadoop-p
vfs利用了两者的优点,弥补了相互之间的缺点,开发了一个介于Hadoop和pvfs之间的中间插件Hadoop-pvfs shim layer,用于pvfs和Hadoop之间的通信,如图2所示
。
焦磷酸盐
图2 Hadoop-pvfs shim layer(连接层)Fig.2 Hadoop-pvfs Shim Lay
er3 基于Hadoop-p
vfs的多层次瓦片数据组织方法
虽然Hadoop为了解决小文件存储有很多数据
压缩方法,但这些压缩存储工具都是针对普通的文件而言,没有针对文件的内容信息。本文基于上文所使用的Hadoop-p原子菲
vfs工具提出了一种适合于GIS瓦片数据存储的多层次的瓦片数据组织方法。
针对当前GIS普遍采用的金字塔状瓦片数据组织方法,首先将所有的瓦片按照所在的层次进行分离,然后对每一个层的瓦片进行压缩,如图3所示
。
图3 瓦片多层次组织形式
交通事故现场图
Fig.3 Multi-level Org
anization of the Tile Data我们将一层的瓦片组织压缩成一个文件,文件的头部记录了瓦片的索引信息,尾部记录了瓦片的数据信息。
文件内瓦片的组织最重要的是如何进行索引数据和瓦片文件数据的排列。本文提出的瓦片合并方法顺序排列瓦片索引信息和瓦片文件数据,兼顾了瓦片数据的地理位置和瓦片文件的整体性,合并后文件的组成如图4所示
。
图4 瓦片单层次组织形式
Fig.4 Single-level Org
anization of the Tile Data合并文件的头部是区域内的所有瓦片数据的索引信息,指示的是瓦片在文件中的偏移量和大小。瓦片文件索引的排列也是按照地理位置相关的,行值较大的瓦片排列在后面,行值相同时,列值较大的索引排列在后面。瓦片文件数据的排列顺寻和瓦片索引的排列顺序是相同的。在对一个层内所有瓦片进行合并的过程中,当瓦片的个数比较多时,瓦片文件数据加上瓦片索引数据的大小将超过一个Hadoop-p
vfs数据块的大小,此时会出现某个瓦片存储位置跨越Hadoop-pvfs两个不同的数据块,将一个瓦片文件分别存储在两个数据块中会严重的降低瓦片文件的读取效率。在出现这种情况时,本文不对瓦片进行拆分,而是将它作为一个整体,把它合并存储到当前数据块邻接的下一个数据块中,对上一个块余留的空间填充空文件,空文件只占有存储空间,不记录在索引。例如图4中瓦片5
,该瓦片在计算存储位置时,偏移位置处于块2末尾的某处,然而再加上瓦片5数据长度后,瓦片5有部分数据将处于数据块3中,为了免于读取瓦片5跨越两个
5
61
测绘科学第40卷
数据块,将块2末尾填充空文件,将瓦片5数据存
储于数据块3的首部。
通过这种组织形式,不仅减少了系统主节点
存储的元数据信息,提供了系统的存储效率,而
且照顾到了瓦片的地理信息属性,在服务器进行
数据读取时,可以预取当前请求瓦片邻接的瓦片,
进一步提高服务器取瓦片的效率。
4 实验与结果分析
汽车镀铬
4.1 实验环境
实验系统分为两个部分,第一部分是基于Ha-
doop-pvfs的分布式瓦片数据组织方法组建Ha-
doop-pvfs瓦片数据文件系统,第二部分是基于
Hadoop-pvfs的高性能服务器技术测试Hadoop-
pvfs服务器系统的效率。
Hadoop-pvfs集系统搭建在4台pc服务器
上,PC服务器硬件性能如表1。
表1 pc服务器性能
Tab.1 Properties of PC Servers
CPU内存硬盘网卡
Intel core i3-21003.10GHz8GSATA 1T
Intel(R)
82579(LM)1000M
每台PC服务器上装有4个Centos Linux 6.2虚拟机,分别作为Hadoop-pvfs的一个节点,各个节点之间组成一个小型内部网络,pc服务器各节点虚拟机配置都是采用内存大小为1G,虚拟网卡速度为100Mbps的虚拟机,总共1个NameNode节点,13个DataNode节点。
虚拟机使用开发环境的是jdk 1.6.0_27,使用pvfs2.8.1,hadoop-0.20.2。
在进行Hadoop-pvfs集建立时主要分为以下几个步骤:
1)编译pvfs系统并启动运行
注浆瓷器主要包括如下操作:①使用./Configure命令配置pvfs运行第三方库;②使用make命令生成
pvfs库;③使用make install命令将pvfs安装在Linux上;④配置pvfs Metadata Server(vm1-1节点)、I/O Servers(其他13个节点),pvfs服务端
口,pvfs块大小及pvfs挂载文件目录;⑤最后启动pvfs并行文件系统服务。
2)编译Hadoop-pvfs中间插件并配置Hadoop-pvfs系统
此部分主要包括如下操作:①编译Hadoop-
pvfs文件系统库,这个库承担了Hadoop和pvfs连接作用;②将Hadoop-pvfs jni接口拷贝到Ha-doop库目录中;③配置Hadoop文件系统参数,包括块文件大小,块副本复制参数,NameNode主节点(vm1-1),DataNode节点;④使用shell命令../bin/start-mapred.sh启动Hadoop系统。4.2 实验结果分析
实验一是完全使用Hadoop时系统的吞吐量及使用Hadoop-pvfs时的吞吐量的对比,实验瓦片没有进行压缩组织;实验二对比了瓦片在使用压缩存储技术之前及之后的系统吞吐量。
实验一结果对比如图5所示
。
图5 实验一结果对比
Fig.5 Effect Comparison of Experiment
1
图6 实验二结果对比
Fig.6 Effect Comparison of Experiment 2
实验二结果对比如图6所示。
从实验一对比结果可以看出,从纯Hadoop服务器系统到Hadoop-pvfs混合型系统,
平均吞吐量从519 878.6字节每秒到712 216.02字节每秒,平均提高了37%;从实验二对比结果可以看出,从没有使用压缩存储技术系统到使用压缩存储技术,系统吞吐量从712 216.02字节每秒到1 092 779.25字节每秒,平均提高了53.4%;综合两个实验结果对比可以看出,从最原始的纯Hadoop系统到hadoop-pvfs采取压缩技术系统,吞吐量平均提高了110%。5 结束语
本文结合瓦片金字塔组织结果形式和Hadoop-
pvfs云计算系统,弥补了Hadoop系统小文件存储方面的劣势,基于此云计算系统提出的多层次瓦片数据组织方法,充分利用了瓦片数据的地理信息属性,将瓦片分成不同的层次结构,将各层次瓦片分别进行压缩存储,存储文件中每个瓦片的
661
第11期
引用格式:何涛,孙忠芳,葛亮.一种云计算系统的瓦片数据组织方法[J].测绘科学,2015,
40(11):164-
167.索引信息非常清晰,保证了搜索的快速。相对于其他的瓦片服务器系统,随着数据量的增大,本文所提出的方法性能依旧比较高效,稳定性非常好。
但本文没有涉及服务器系统预取及缓存等高效数据提取方法等,这是我们下一步工作的重点。
参考文献
[1] 陈静,
向隆刚,朱欣焰.分布式异构栅格数据的集成管理研究[J].武汉大学学报·信息科学版,2011,36(9):1094-
1097.[2] 陈静,
龚健雅,向隆刚.全球多尺度空间数据模型研究[J].“天地图”建设与发展,2011,36(9):24-27.[3] 陆嘉桓.Hadoop实践[M].机械工业出版社,2012:441.[4] 张为民,
唐剑锋,罗治国,等.云计算[M].北京:科学出版社.2009.
[5] 刘鹏.云计算[M].北京:电子工业出版社,2009:204.[6] 殷兆麟,
张永平,姜淑娟.Java网络高级编程[M].北京:清华大学出版社,2005:390.
[7] 孙卫琴.
Java网络编程精解[M].北京:电子工业出版社,2007:482.
[8] 郭益君.基于Hadoop的矢量金字塔并行构建技术研
究[D].武汉:武汉大学,2012.
[9] 齐东兰.
基于HBase的矢量金字塔分布式管理[D].武汉:武汉大学,2012.
[10
]余思,桂小林,黄汝维,等.一种提高云存储中小文件存储效率的方案[J].西安交通大学学报,2011,45(6):59-
63.[11]WITTAWAT T,SWAPNIL P,GARTH G,et
al.Onthe Duality of Data-intensive File System Design:Rec-onciling HDFS and PVFS[Z].Carnegie Mellon Univer-sity,Argonne National Laboratory
.A tile data organization method based on Hadoop-pvfs cloud computing
systemAbstract:Aiming at the problem that the data storage efficiency
is lower,the paper studied HadooPCloud Computing
system,and improved Hadoop-pvfs distributed system to enhance the storage efficien-cy of Hadoo Punderlying file system and to update data at any location of the file.Moreover,a multileveland position related tile data org
anization method was presented.Experimental result proved the feasibility
of the method,which could provide a reference for establishing the GIS service system with high perform-ance and mass storage.Key
words:tile storage;Hadoop;pvfs;cloud computing;data organizationHE Tao,SUN Zhong-fang,GE Liang(Tianjin Institute of Surveying and Mapping,Tianjin300381,China檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿
)(上接第145页)
Op
timization of haze removal based on Dark Channel PriorAbstract:Aiming at the insufficiency
of Dark Channel Prior algorithm in the application of aerial pho-togrammetry
technology,the paper pointed out three limits for the algorithm,and proposed the correspond-ing optimal scheme based on the characters of aerial images,which uses automatic white balance algorithmsto solve the problem of image darker,uses the alternating sequential filter to replace Soft Matting for re-ducing the processing time of defogging.Experimental result showed that the optimized algorithm could a-chieve good defogging effect with simpler and less time-consuming processing
than the original algorithm.Key words:Dark Channel Prior;atmospheric scattering model;transmission;atmospheric light;mor-phological
image processing
;white balanceJIN Huan-huan1,3,WANG Shuang-ting1,YAO Ji-feng2,3,LIU Zong-jie2,3
(1.College of Surveying andMapping
and Land Information Engineering,Henan Polytechnic University,Jiaozuo 454000,China;2.ChineseAcademy of Surveying and Mapping,Beijing 100039,China;3.Beijing Siwei Spatial Data Information Technol-ogy Company Limited,Beijing
100039,China)7
61