控制理论与应用
主办单位:国家教育部
国际刊号:1000-8152
国内刊号:44-1240/TP
学术数据库优秀期刊 《中文科技期刊数据库》来源期刊
       首 页   |   期刊介绍   |   新闻公告   |   征稿要求   |   期刊订阅   |   留言板   |   联系我们   
  本站业务
  在线期刊
      最新录用
      期刊简明目录
      本刊论文精选
      过刊浏览
      论文下载排行
      论文点击排行
      
 

访问统计

访问总数:14791 人次
 
    本刊论文
海量空间数据的分布式存储管理及并行处理技术分析

  摘 要 文章首先分析了海量空间数据的分布式存储管理,随后对海量空间数据并行处理过程的实现进行论述。期望通过本文的研究能够对海量空间数据的高效处理有所帮助。


  【关键词】空间数据 分布式存储 并行处理


  1 海量空间数据的分布式存储管理


  MongoDB非关系数据库在海量数据的存储上具有以下优势:支持地理索引、支持海量数据分片、可在各种平台上对海量数据进行存储。鉴于此,下面以该数据库为基础,对海量空间数据的分布式存储管理进行论述。


  1.1 MongoDB的特点与集群


  大体上可将MongoDB数据的特点归纳为以下几个方面:使用简单、便于部署、模式自由、支持Copy及故障恢复,可对数据进行高效存储。MongoDB集群的具体工作原理如下:当用户想在MongoDB中导入相关数据时,MongoDB集群能够对单个分片上的数据是否超过预设值进行判断,若是超出存储限值,便会自行启动分片机制,对集合进行分块,然后分别派送至不同的分片上。在这一过程中,集群各分片上的MetaDate信息存储全都存储在Config Server服务器上。对于用户而言,其并不清楚MongoDB导入的数据被分配至哪个节点上,这是因为在集群中主要是借助mongos路由进行的,但利用Sharding管理命令便可看到数据的存放位置。


  1.2 矢量与栅格数据的存储


  1.2.1 矢量数据存储


  矢量数据常被用于表示空间数据的存储结构。相关研究结果表明,通过对地理实体坐标进行记录的方式能够精确地表示点、线、面等实体的空间位置,在这一前提下,可对矢量数据的点、线、面进行如下描述:点由一对X、Y坐标表示;线由一串排列有序的X、Y坐标对表示;面由一串或是几串排列有序且首尾坐标相同的X、Y坐标对及面积标识表示。矢量数据中的数据具体包括以下内容:与空间位置相对应的属性信息、可实现快速查询的索引信息以及空间实体的拓扑信息,按照MongoDB的存储方式,对矢量数据的存储如图1所示。


  图1:MongoDB中矢量数据的存储模式


  1.2.2 栅格数据存储


  栅格数据归属于阵列数据的范畴,其一般都是按照网格单元的行与列进行排列的。在此类数据当中,地表被分割成为排列规则且相互邻接的矩形方块,各个地块与单元相对应,其数据结构的点、线、面可分别进行如下表示:点实体由单个栅格像元表示;线实体由同向上连接成串的相邻栅格像元表示;面实体由某个区域内聚集在一起的相邻像元集合表示。就栅格数据而言,其精度的高低主要与栅格单元的大小有关,单元越细数据的精度就越高,由于栅格单元当中记录的均为属性数据,而位置数据可通过属性数据对应的行列号表示转化为相应的坐标,故此可先对栅格数据进行分块,每个块都包括一组像素点,为了获得最佳的性能,可将单个块中所有像素点全部存储到同一行当中,即以块为存储单位存储至MongoDB的行中。


  2 海量空间数据并行处理过程的实现


  2.1 Hadoop及MapReduce并行编程模型


  Hadoop既是一个软件框架,也是一个分布式的计算平台,其可对大量的数据进行分布式处理。在Hadoop上,用户能够对轻松地对海量数据进行开发和处理。由于Hadoop应用了MapReduce及分布式的文件系统,从而使其具备了较高的容错性,可自行对失败节点进行处理。大体上可将Hadoop的优点归纳为以下几个方面:可靠性高、扩展性强、高效、高容错、低成本等等。在大规模的数据处理中,MapReduce是应用较为广泛的一种解决方案。通常情况下,可在普通的PC机上构建MapReduce集群,在对数据进行处理前,需要先分割数据,并将数据集分布至各个节点当中;处理数据的过程中,各节点能够就近对本地存储的数据处理(Map)进行读取,并将处理完毕的数据重新整理排序,再对排序结果进行合并分发至Reduce进行处理。


  2.2 海量空间数据并行处理的设计与实现


  2.2.1 框架体系


  可基于HM的框架体系实现海量空间数据的并行处理和存储,该框架主要是由以下几个部分构成:MongoDB分布式集群、Hadoop集群、Mongos路由以及Master主服务器。其中Mongos路由主要负责路由及协调操作;Hadoop集群负责系统任务分发和过程协调。系统节点通过对MapReduce应用程序的调用,能够实现空间数据的Map及Reduce过程,并将最终的查询结果呈现给用户,或是将空间数据并行写入到MongoDB数据库的shard分片上。


  2.2.2 并行空间连接查询的实现


  (1)在Map阶段,按照已有的数据划分方法,可将R和S数据集当中的各个元素全部映射到单个或是多个分区上,这样一来便可使每个元素均产生出一个或是多个(k,v)键值对。其中K代表分区号;V主要包括空间属性、ID以及MBR等信息。设每个分区与一个Reduce任务相对应,在该任务中,将过滤与提炼单个分区,总的分区数可用P表示,由此可确定出k的取值范围,即k=[0,P-1]。(2)在Reduce阶段主要包括过滤和提炼两个阶段。当过滤阶段与分区相连接时,会产生一个ID对的集合,每一对TR与TS的MBR均存在重叠的部分;在提炼阶段,可将R和S从磁盘中读出,进而验证其空间属性是否满足空间连接谓词的要求。


  3 结论


  总而言之,随着空间数据量的不断增长,其存储和处理压力也随之增大,传统的数据库对海量空间数据的管理已经面临瓶颈。鉴于此,本文提出一种分布式存储和并行处理方法,期望能够对海量空间数据处理效率的提升有所帮助。


  参考文献


  [1]孙广中。并行计算的一体化研究现状与发展趋势[J].科学通报,2012(09)。


  [2]刘瑜。基于关系数据库的栅格数据存储和访问技术研究[J].高技术通讯,2013(05)。


  [3]黄杏园。大型GIS海量数据分布式组织与管理[J].南京大学学报,2014(03)。


  作者单位


  安徽新华传媒股份有限公司 安徽省合肥市 230001


特别说明:本站仅协助已授权的杂志社进行在线杂志订阅,非《控制理论与应用》杂志官网,直投的朋友请联系杂志社。
版权所有 © 2009-2024《控制理论与应用》编辑部  (权威发表网)   苏ICP备20026650号-8