郭志恒,刘艳俊,敖杰刚
(江西理工大学建筑与测绘工程学院,江西赣州 341000)
分布式环境下的GML存储
郭志恒∗,刘艳俊,敖杰刚
(江西理工大学建筑与测绘工程学院,江西赣州 341000)
由于GML空间数据的急剧增加,单机存储已不能满足其发展的需要,为了能够更好共享和管理网络地理信息以及针对海量GML数据的存储问题,本课题研究在分布式环境下对GML空间数据进行存储,进而提高资源利用率。搭建Hadoop平台对GML空间数据按其模式分为不同的数据集,把同一数据集的数据分别存储在不同存储节点上,并用一个主目录节点来存储用户信息和各个数据存储节点信息等元数据。
GML;分布式存储;虚拟化;Hadoop
随着互联网信息技术的飞速发展,空间数据的信息量呈爆炸性的增长,如何对这些数据进行有效的存储及其存储效率、访问共享程度和互操作性是人们越来越关注的问题。地理信息系统是以空间数据为基础的,处理好空间数据的存储问题,将从根本上促进GIS的发展。对于海量数据的单机存储已不能满足发展的需要,进而把数据存储作为单独的项目提出来进行研究也是一种趋势,它可以利用分布式存储的高可靠性、高扩展性、高通用性及大容量存储的特点。GML是以一种互联网上容易共享的方式来描述、表达地理对象的空间和非空间属性,随着互联网的发展其数据量飞速的增长,如何对这些数据进行有效的存储和管理直接制约着GML和网络空间信息的发展。显然分布式存储是其最好的选择,既能有效存储又有利于空间信息的共享。
2.1 虚拟化技术
虚拟化技术从广义上讲就是通过映射或抽象的方式屏蔽了物理存储设备的复杂性,增加一个管理层面对基础存储设施进行管理。存储虚拟化的思想是将资源的逻辑映象与物理存储分开,所展现出来的是一个整体的简化,虚拟化的界面,如同在单机上进行数据存储的操作。虚拟化软件需要实现对硬件的抽象,资源的分配、调度和管理等。
网络虚拟化区别于单机虚拟化技术的重要特征是通过整合物理资源形成资源池,并通过资源管理层实现对资源池中虚拟资源的调度。分布式存储系统的资源管理需要负责资源管理、任务管理、用户管理和安全管理等工作,实现节点故障的屏蔽,资源状况监视,用户任务调度,用户身份管理等多重功能。
2.2 数据分割策略
针对GML空间数据根据其特征进行数据分割处理,以模式为单位将具有相同模式的GML文档存储在同一个数据集中,不同的模式对应不同的数据集;GML文档通过解析以要素类型为单位进行存储,同一数据集中,相同类型的要素存储在同一个文件中。这样可以通过GML空间数据的模式来对数据文档进行管理,在需要这些数据时可以很快的查找到并读取,进而提高数据访问和处理效率。
2.3 存储资源分配
存储资源分配的依据是数据的提供者对其数据量的描述参数,以及存储资源的拥有者对资源使用所制定的策略。存储资源的分配需要借助合理的资源描述来实现。对资源有两方面的描述,在资源提供者一端提供可用资源的信息;在资源的请求者一端,说明该数据对资源的需求。在拥有多资源和多用户的动态分布式存储环境中,资源的分配需要考虑两种情况:一是如何从多个可用的资源中选择一个或多个合适的资源分配给请求的用户使用;二是如何从请求同一资源的多个用户中决定哪一个用户可以使用此资源。这两个问题关系到存储资源的利用率及其对数据存储的处理效率,也是提高资源共享利用需要解决的问题。
2.4 Hadoop开源平台
本课题采用Hadoop开源平台来实现对海量GML数据的存储,平台的搭建需要很多相关软件的安装及多台存储设备间相互通信和协调工作。Hadoop平台运行在Linux系统中,是一个分布式系统基础架构,用户在不了解分布式底层细节的情况下也可以分布式程序,利用计算机集群来实现高速的存储和计算。Hadoop平台主要是由HDFS、MapReduce和Hbase组成。
GML数据是基于XML编码的一种空间数据,它的存储管理可以借鉴XML的数据管理技术,在XML数据库技术的基础上进行扩展。本原GML空间数据库是专门设计用于存储和管理GML文档或GML文档片段(如要素)的空间数据库,以GML文档或GML文档片段作为数据库的存储单元进行操作和管理。
3.1 存储模块架构设计
分布式存储系统中有三部分端点组成:客户端、目录存储节点(NameNode)和数据存储节点(DataNode)。客户端是此架构的核心,系统中的所有操作指令都是由客户端发出的;管理节点主要存储的是元数据,用来存储子节点信息、注册用户及其存储数据的信息,客户可以通过管理节点获得整个机群的信息以便与各子节点进行连接,完成数据的存储任务;子节点是主要数据的存储节点,其IP地址、端口号、最大空间、剩余空间等信息时刻向管理节点进行反馈。其存储架构图1所示。
图1 分布式存储结构
3.2 GML分布式存储流程
(1)预定义空间数据库模式,依照GML模式来设定GML空间数据的存储结构,在存储过程中可根据GML模式对需要存储的GML文档实例进行分类分别存储。
(2)载入GML文档实例,对其进行有效检查,当确认该实例具有良好的格式时,系统将根据相应的映射规则建立GML文档与存储结构的对应关系,进而分解存储。GML文档中可包含多个要素集,每个要素集由多个要素构成,通常单个图层的GML文档只含有一个要素集,该要素集对应一个模式,当数据库中没有该数据集的相应模式时,导入其模式文件。
(3)解析GML文档,提取文档中的空间数据并存入数据库模式中。模式中的数据模型主要有要素集、要素、几何、拓扑4类模型。存储过程中要注意4种对象间的关联。
(4)针对某一模式下的数据集进行存储时,当其数据量比较大,而存储的效率又比较低时,可采取分布式存储,根据各存储设备的信息和此数据集的相应信息,选择合适的一个或多个存储设备来存储,以要素为单位进行分布式存储。GML空间数据的分布式存储流程如图2所示。
图2 GML分布式存储流程
3.3 GML文档存储实例分析
对GML空间数据的存储,首先是对GML模式文档进行辨别,注册其模式文档,按模式划分数据集。在同一数据集下,查看其实例数据量的大小及各存储节点的信息,进行适当的划分再分别存储在合适的节点中。如下要素应用模式分析:
通过模式对实例文档以要素为最小单位进行划分,将要素内的元素及其属性封装到要素内不用再进行解析,当要素的数据量达到一定大小时将其分块处理,依据存储节点信息将这些数据块并行存储到相应的节点中,而存储信息的元数据都存储在主目录节点中,方便对GML数据的访问和查询等操作。
采用分布式存储是未来海量数据存储的趋势,它能够充分利用空间资源,提高资源利用率,但还有很多技术发展不够成熟,甚至是刚刚起步,特别是Hadoop平台发展还不是很完善,这需要我们认识到分布式存储的重要性,进一步去研究,相信在不久的将来分布式存储会成为主要的存储方式。
[1] http://www.chinacloud.cn/
[2] 兰小机著.GML空间数据库理论及GMLGIS[M].北京:地质出版社,2010
[3] 王鹏.云计算的关键技术与应用实例[M].北京:人民邮电出版社,2010
[4] 肖辉辉.GML空间数据存储研究[D].江西理工大学,2009
[5] 马冬青.基于Oracle XML DB技术的GML数据存储研究[D].中南大学,2008
[6] 史婷婷,李岩,王鹏.基于GML空间数据存储方法研究与实现[J].计算机应用,2006(10)
[7] 李俊,关佶红,李玉珍.GML空间数据存储映射模型研究[J].武汉大学学报(信息科学版),2004(12)
宁波市测绘设计研究院取得无人飞行器航摄资质
(本刊讯)日前,宁波市测绘设计研究院新申报的无人飞行器航摄资质通过审核,获得浙江省测绘与地理信息局颁发的测绘航空摄影乙级资质证书。
今年3月,宁波市测绘设计研究院租用无人机完成了杭州湾新区航摄遥感任务。实践证明利用无人飞行器能快速获取高分辨率影像,具有机动灵活、高效快速、精细准确、作业成本低、适用范围广的优点。此后,该院派员参加了数字摄影测量网格系统技术与应用系列培训,邀请武汉大学测绘学院博士来院作专题技术讲座,斥资购买了两架无人机,同时申报测绘航空摄影资质。此次取得资质,为合法开展宁波市“无人机测量系统及建设”项目,加快构建宁波市“智慧位置服务平台”做好了组织准备。
(宁波市测绘设计研究院 顾开建供稿)
GML Storage Distributed Environment
Guo Zhiheng,Liu Yanjun,Ao Jiegang
(Jiangxi University of Science and Technology Building and Surveying and Mapping Engineering Institute,Ganzhou 341000,China)
Due to the rapid increase of GML spatial data,standalone storage already cannot satisfy its development needs,in order to better sharing and management network,and the view of the mass of geographical information,the data storage GML study of this subject in distributed environment of GML space data storage,and improve the resources utilization.Build for Hadoop platform according to their model of GML spatial data divided into different datasets,put the same set of data stored in the data are different storage nodes,with a main directory node to store user information and each data storage nodes information metadata.
GML;distributed storage;virtualization;Hadoop
2011—05—23
郭志恒(1984—),男,硕士研究生,研究方向:GIS应用与开发。
江西省研究生创新专项基金项目(YC10A098)
1672-8262(2011)05-142-03
P209,TP311.12
B