当前位置: 首页 > 专利查询>南京大学专利>正文

以GeoJSON格式结构化方式存储地理数据的MongoDB集群的地理数据读写方法技术

技术编号:10356795 阅读:444 留言:0更新日期:2014-08-27 13:02
本发明专利技术针对MongoDB集群设计了大规模地理数据存储方案,在MongoDB集群中以GeoJSON格式结构化的方式组织地理数据,使得采用分布式高速MongoDB集群高效存储大规模地理数据成为可能。针对该地理数据存储方案,本发明专利技术提出了地理数据的读写方法以及可实现该地理数据读写方法的驱动程序。本发明专利技术以OGR类库为地理数据读写驱动的设计架构,以GeoJSON格式结构化的读写MongoDB集群地理数据源。本发明专利技术采用OGR函数库,在地理数据与MongoDB集群之间通过内存中构建的OGR对象建立桥梁,使针对MongoDB集群的地理数据高效读写成为可能,使得高性能地理分析算法可以运行在MongoDB数据库集群之上。

【技术实现步骤摘要】
以GeoJSON格式结构化方式存储地理数据的MongoDB集群的地理数据读写方法
本专利技术涉及MongoDB集群中地理数据的存储方式,特别涉及以GeoJSON格式结构化方式存储地理数据的MongoDB集群的地理数据读写方法。
技术介绍
随着地理信息技术的不断发展,如高分辨率空间传感器、移动定位技术以及雷达激光遥测等技术的大范围普及与应用,尤其是全球对地观测系统(GlobalEarthObservationSystemofSystems,GEOSS)、国家信息高速公路(NationalInformationInfrastructure,NII)、国家地理数据基础设施(NationalSpatialDataInfrastructure,NSDI)等重大计划的实施,人类对地球不同层面、不同现象的综合观测能力达到了前所未有的水平。这些进步一方面使得海量地理信息得以在更广阔的领域不断获取和更新,带来了极其丰富翔实的地物信息,但同时也衍生了海量地理数据存储与管理问题。地理数据库的存储需求已经从目前的GB级和TB级达到了PB级,海量地理数据已无法沿用传统集中存储管理方式(蔡磊等,2009;朱庆等,2006)。如何对海量地理数据进行高效的存储、组织、管理与处理,使得海量空间信息能高效的为各行各业所用,成为一个迫切需要解决的问题。与此同时,另一方面,信息技术特别是信息通讯技术的迅速发展,使得互联网、WEB2.0、社交网络、物联网、移动互联网、云计算等相继进入人们的日常工作和生活中,尤其是近年来移动互联网、移动定位技术、地图服务以及基于位置的服务(LocationBasedServices,LBS)等新兴业务的迅猛崛起,为互联网产业注入了新的维度——位置信息。全球数据无论在信息量还是在多样性方面都呈现出指数式爆炸增长。根据国际数据公司IDC发布的研究报告,2011年全球创建和复制的数据总量为1.8ZB(约1.8万亿GB),预计全球数据量大约每两年翻一番,到2020年全球将达到35ZB的数据信息量(IDC,2011)。如今,人在每分每秒产生的数据(包括位置、状态,见闻、言论等等)都能够被数字化并进入互联网,各类传感器可以应用到各个领域收集我们所需的数据,甚至能植入人体。新的互联网址协议IPv6可以标识如家用电器、远程照相机、汽车、传感器等,甚至可以细微到大海里的一颗沙子。数据库巨人JimGray预测,到2047年现实世界人、事、物的所有信息都将上网(GordonBell,JimGray,1999)。前所未有的巨量数据信息正在朝着数字地球-智慧地球的方向迅速聚集,人类步入大数据时代。当前地理数据主要依赖关系型数据库进行存储与管理,但是关系型数据库在大数据时代背景下面临以下三个方面的突出问题:(1)性能问题关系型数据库建立在关系模型的基础上,多表的连接査询及关系型数据库严格的事务要求限制了数据读写的速度,特别是在高并发的条件下,事务的ACID属性——原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability),成为影响读写性能的瓶颈。(2)易扩展性问题在云计算架构下,关系型数据库很难进行横向扩展。当一个应用系统的数据量和访问量与日俱增时,关系型数据库系统很难通过简单的添加更多硬件和服务节点来扩展性能,并同时实现系统负载均衡。(3)数据库模式的问题关系型数据库的关系模式有严格的定义,如果业务发生变化,需要增加或减少某个属性会给系统带来较大的改动。对于一些半结构化的数据而言,如果使用关系模式进行数据建模,表中会有很多元组的属性列是空值。这不仅造成存储空间的浪费,而且影响系统性能。针对上述问题,近年来出现了一些新的数据管理系统,它们只提供简单的读写操作,具有很好的水平扩展能力,可以分布式的部署在多个服务器上。这些系统的出现,很好地解决了现阶段大数据管理中出现的问题,打破了关系型数据库在云计算环境下的性能瓶颈。由于它们不是用关系模型作为其主要的数据模型,并且不提供SQL接口,而被统称为“NoSQL”。NoSQL(NotOnlySQL)也被称为非关系型数据库,是一系列与关系型数据库典型模型有较大差异的数据管理系统的统称,其中最显著的差异在于它不使用SQL作为基本的査询语言。NoSQL数据库没有特定的表结构,通常不支持连接操作,不支持完整的ACID属性,并且通常具有强大的水平扩展性。其中,MongoDB是最受欢迎的开源NoSQL数据库之一,由10gen公司在2009年2月推出第一版,因其高效的性能和丰富的使用功能在生产中有非常广泛的应用。MongoDB的设计定位是在具有key/value存储方式的高性能和高度扩展性的同时,具备传统的关系数据库管理系统的丰富功能,集两者的优势于一身。MongoDB使用数据结构松散的JSON格式面向文档存储数据,使用自动分片(Auto-Sharding)实现海量数据存储,支持全类型索引,使用的查询语言语法类似面向对象査询语言,可以实现类似关系数据库单表查询的绝大部分功能(丰富的查询功能是其相较其他NoSQL数据库的突出优点),支持主/从(Master/Slave)和复制集(ReplicaSet)两种数据复制机制。但是将NoSQL数据应用于地理数据存储的研究与技术很少见,地理数据缺少向NoSQL数据库输入和输出的读写技术,从而严重限制了地理数据在大数据背景下应用和实施。
技术实现思路
本专利技术要解决的技术问题是:克服现有技术缺点,提出一种以GeoJSON格式结构化方式存储地理数据的MongoDB集群的地理数据读写方法。本专利技术以GeoJSON格式结构化方式存储地理数据的MongoDB集群,其特征在于:MongoDB集群中包含有若干与地理数据源(DataSource)对应的空间数据库(Database),每个空间数据库包含有一个元数据集合(G_sys_Metadata)、若干个与地理图层(Layer)一一对应的地理要素集合(Collection),所述元数据集合中包含与地理图层一一对应的空间元数据文档,所述空间元数据文档存储有与相应地理图层相关的空间元数据信息,每个地理要素集合中包含有若干与地理要素(Feature)一一对应的GeoJSON文档,所述地理要素以GeoJSON文档的形式进行存储。进一步的,本专利技术MongoDB集群还具有如下改进:1、所述空间元数据文档以JSON文档的形式存储。2、所述空间元数据信息至少包括图层空间参考、图层外边界、图层内地理要素个数、图层名称。此外,本专利技术提供的以GeoJSON格式结构化方式存储地理数据的MongoDB集群中地理数据的读取方法,其特征在于步骤如下:第1步、根据给定的连接参数建立与MongoDB集群的相应空间数据库(Database)元数据集合、对应地理要素集合(Collection)的数据连接;第2步、从元数据集合(G_sys_Metadata)中查找指定的空间元数据文档,获取相应的空间元数据信息;第3步、在计算机内存中构建以下OGR地理对象:地理数据源对象、地理图层对象、地理要素对象、空间参考对象,所述OGR地理对象是OGR类库中对应类的实例,所述地理数据源对象包含有与对应地理要素集合数目相等的地理本文档来自技高网
...
以GeoJSON格式结构化方式存储地理数据的MongoDB集群的地理数据读写方法

【技术保护点】
以GeoJSON格式结构化方式存储地理数据的MongoDB集群,其特征在于:MongoDB集群中包含有若干与地理数据源对应的空间数据库,每个空间数据库包含有一个元数据集合、若干个与地理图层一一对应的地理要素集合,所述元数据集合中包含与地理图层一一对应的空间元数据文档,所述空间元数据文档存储有与相应地理图层相关的空间元数据信息,每个地理要素集合中包含有若干与地理要素一一对应的GeoJSON文档,所述地理要素以GeoJSON文档的形式进行存储。

【技术特征摘要】
1.以GeoJSON格式结构化方式存储地理数据的MongoDB集群中地理数据的读取方法,MongoDB集群中包含有若干与地理数据源对应的空间数据库,每个空间数据库包含有一个元数据集合、若干个与地理图层一一对应的地理要素集合,所述元数据集合中包含与地理图层一一对应的空间元数据文档,所述空间元数据文档存储有与相应地理图层相关的空间元数据信息,每个地理要素集合中包含有若干与地理要素一一对应的GeoJSON文档,所述地理要素以GeoJSON文档的形式进行存储,其特征在于所述地理数据的读取方法步骤如下:第1步、根据给定的连接参数建立与MongoDB集群的相应空间数据库元数据集合、对应地理要素集合的数据连接;第2步、从元数据集合中查找指定的空间元数据文档,获取相应的空间元数据信息;第3步、在计算机内存中构建以下OGR地理对象:地理数据源对象、地理图层对象、地理要素对象、空间参考对象,所述OGR地理对象是OGR类库中对应类的实例,所述地理数据源对象包含有与对应地理要素集合数目相等的地理图层对象,每个地理图层对象包含有若干地理要素对象;从所述第2步中获取的空间元数据信息中抽取空间参考信息赋值给空间参考对象,完成对空间参考对象的实例化;第4步、根据查询条件利用JSON解析函数库对相应空间数据库对应地理要素集合中的GeoJSON文档进行结构解析,逐个提取GeoJSON文档中存储的地理要素信息,赋值给地理要素对象,完成地理要素对象的实例化;第5步、将所有实例化的地理要素对象更新至相应的地理图层对象中,再将地理图层对象更新至地理数据源对象中,至此,完成将MongoDB集群中地理数据读取至内存。2.根据权利要求1所述的地理数据的读取方法,其特征在于:第5步完成之后,MongoDB集群中的地理数据以OGR地理对象的形式存在,用于进一步空间分析和数据处理。3.根据权利要求1或2所述的地理数据的读取方法,其特征在于:所述OGR地理对象用其他地理要素类库中相应类的实例进行替换。4.以结构化方式存储地理数据的MongoDB集群的地理数据写入方法,MongoDB集群中包含有若干与地理数据源对应的空间数据库,每个空间数据库包含有一个元数据集合、若干个与地理图层一一对应的地理要素集合,所述元数据集合中包含与地理图层一一对应的空间元数据文档,所述空间元数据文档存储有与相应地理图层相关的空间元数据信息,每个地理要素集合中包含有若干与地理要素一一对应的GeoJSON文档,所述地理要素以GeoJSON文档的形式进行存储,其特征在于所述地理数据写入方法步骤如下:第1步、使用OGR类库读取地理数据矢量文件,在内存中实例化获得以下地理对象:地理数据源对象、地理图层对象、地理要素对象、空间参考对象,所述地理数据源对象包含有若干地理图层对象,地理图层对象包含若干地理要素对象,所述地理对象是OGR类库中对应类的实例;第2步、在MongoDB集群中创建与地理数据源对象对应的空间数据库,在所述空间数据库内创建元数据集合、与地理图层...

【专利技术属性】
技术研发人员:李满春张帅陈振杰张伯雷马磊
申请(专利权)人:南京大学
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1