杨静 河南大学软件学院
云计算环境下大GML空间数据并行存取关键问题研究
杨静 河南大学软件学院
随着互联网、物联网和我国对地观测等技术的不断成熟以及大GML应用领域的不断扩展,GML空间数据在不断地增长,大GML数据时代已经来临。但是传统的空间数据库计算难以满足大GML数据的所需要的高性能数据处理要求,而最近几年流行的云计算技术具有高扩展性、高可靠性等特点,可以较好的解决大GML空间数据并行存取问题。
云计算 大GML空间数据 并行存取
通常,将互联网或网络比作云,而云计算是基于互联网的相关服务的增加、使用和交付模式。云计算具有很强大的运算能力,能达到每秒10万亿次的运算,可以通过这种强大的模拟计算分析核爆炸,进行天气变化预测,市场发展趋势等其它的复杂模型。用户使用云计算,可通过笔记本、移动端等方式接入到数据中心,然后根据自己的需求建模并分析计算[1]。
云计算涉及到的相关技术比较多,目前主要有编程模型、存取技术以及虚拟化技术等。
(一)编程模型:MapReduce模型是目前较为常用的编程计算模型,最早是由Google公司的Je ff Dean等人提出用于大数据的操作以及对应数据建模处理分析。基于此,MapReduce模型在JeffDean等人的发展完善下,在Google公司里应用非常广泛。MapReduce模型可应用于分布式排序、反向索引构建、机器学习、机器分析以及文档的聚类分析等等。MapReduce是指通过一组输入的数据key/value对(键值对)产生另一组输出的键值对。对于MapReduce编程系统的使用,程序员只需对业务的逻辑进行分析归纳总结,设计出能对应Map和Reduce函数的程序语言,使用方便并且效率高。通过使用MapReduce编程系统还能实现具体的分布式、高并发机制。
(二)存取技术:存取技术是云计算系统中非常关键的一个技术,它是以数据管理和存取为核心的技术体系,由于云计算系统的作用特点,其在运作时往往需要有很强大的存储设备和硬件系统,才能真正实现对大量繁杂且种类不同的数据进行存储和访问,这些系统和设备要协同工作并通过分布式文件系统,集群技术等功能来完成业务和作业,因此,存取技术是云计算中非常关键的一个技术环节。
(三)虚拟化技术:虚拟化技术是云计算的关键技术之一,抽象化资源表示,并将实物转化到逻辑层。通过虚拟化技术来实现云计算的大数据分析和存储,但这并不意味着云计算只是简单的虚拟化技术,它需要互联网各类技术交融[2]。
GML是一种IBM格式化文档语言,是一种基于XML的用于编码现实世界对象信息的标识语言,也是一种开放的”标准,规定中采用的是运用标题的级为标准来划分文档,将文档分为章节、重要小节和次重要小节,并且不会强制要求使用XML标识就可以对文档中的各部件及其之间的关系进行描述。GML将现实世界的各个物质统筹为要素,并且继承了XML的所有优点特性,提供了一套基本的几何对象标签和公共的数据模型,现在流行的GML模型主要有几何模型、要素模型和拓扑模型等等。是开放的但同时也有约束和限制,比如对于所有兼容GML的系统来说,GML技术都要求每一个设备机器都要采用GML提供的几何地物标签来表示地物特征的几何属性,这种约束条件也给用户在某些程度上带来了一些便利。
(一)几何模型:现阶段几何模型分为基本几何、聚合几何和复杂几何。目前常用3.X版本。
(二)要素模型:地理要素包含一系列的空间与非空间属性。要素模式feature.xsd能提供创建GML要素和要素集合的框架。它定义了抽象和具体的要素元素及类型。
(三)拓扑模型:空间拓扑是GML3.0版本新增加的内容,通过使用拓扑基元Node、Edge、Face、TopoSolid以及这些基元之间的联系描述来构建拓扑关系,拓扑基元通常用来表达几何基元Point、Curve、Surface、Solid。
根据云计算的特点,先把GML文档实例对应的Schema文档解析出来存放在相应的文档里面,GML文档存储模型如下表1所示。
表1 GML模式文档的逻辑存储模型
在HBase表中列出Geometry来更好地表述空间几何形状以属性,在Geometry下再设五列,分别为:MBR列族表示为存储表达地理空间对象,Numpts列族表示存储表达空间对象几何形状所拥有特征点的个数,Points列族表示几何形状对象所拥有特征点的个数,SRID列族表示存储空间参考系的标识和ElemInfoArray列族表示对象几何形状中椭圆弧、圆弧、直线以及Bessel曲线连接这些其他信息。
一般来说,主要从两个方面考虑GML的空间数据并行查询。第一个是对所需查询内容的关键字进行检索查询;第二个是缩小搜索空间进行精准查询,具体表现为根据给定的空间关系确定对应的搜索空间,不能盲目随机搜索查询。
GML的数据对象包括数据的几何属性也包括其他的一些普通属性,对于某些特定的数据对象,还具有拓扑的属性。对于大量的GML数据对象通常需要先进行数据的过滤处理,一般先进行全局索引来获得查询的空间对象所存储的位置信息,然后根据局部索引对空间对象进行子查询的并行处理并得到结果。
本文重点介绍了云计算平台的相关技术、GML简介及其主要模型以及分析了在云计算环境下GML空间数据并行存取的模型选择相关问题。
[1]吴学饶.云计算环境下大GML空间数据并行存取关键技术研究[D].江西理工大学,2015.
[2]刘艳俊,郭志恒,敖杰刚.云计算环境下GML的并行查询研究[J].测绘标准化,2012,(02)∶23-25.
杨静(1997-),河南开封人,河南大学,本科,研究方向:大数据、计算机算法;通讯作者:王振。