基于典型分布式数据库MongoDB的遥感数据存储技术探究

2019-12-13 07:22周振雄宫浩鹏
卷宗 2019年32期
关键词:分片瓦片文档

周振雄 宫浩鹏

摘 要:本文运用基于分布式文件存储的数据库MongoDB,设计了存储遥感元数据的数据库,并建立合适的索引,方便管理者快速查询到需要的遥感影像元数据。同时,结合使用MongoDB的GridFS分布式文件系统,将遥感影像数据分割成块存储在MongoFiles中,利用遥感元数据中的位置信息,查询到遥感影像数据文件的具体存储状态。研究成果是对是非关系数据库在遥感影像存储方面的一个尝试,对遥感数据存储管理有一定的参考价值。

关键词:MongoDB;遥感影像

1 引言

近年来,随着计算机技术的高速发展,带动了各行各业向信息化进步的步伐。其中,遥感相关产业在这轮新的信息技术革命中也发生巨大的改变,尤其体现在遥感平台的多方面应用上以及传感器的种类和数量爆炸式的增长。这使得传统的遥感影像越来越趋于高分辨率以及多光谱上发展,且由于搭载平台的多样化和普及化,遥感图片的数量和质量正在飞速的增长。一方面,高质量、多样化的遥感图像给用户带来了更加广泛的运用和深入的研究,便于遥感方向及各行各业相关从业人员使用;另一方面,为了最求高质量的遥感影像能够高速、清晰的加载显示,目前大多都采用金字塔影像技术。但是与此同时,也带来了许多的挑战与问题。首先是随着海量遥感影像数据井喷式涌现,如何去存储这些影像,才能使得整个存储系统简单而高效,方面管理人员进行即时的管理与监控,从而进行统一组织下的存储与共享;其次是伴随着用户对遥感影像数据的精确度越来越高,怎么才能在杂乱无章的海量遥感数据中寻找出用户所需求的影像,并且保证搜索的精度与控制搜索过程的时间;最后,金字塔遥感影像虽能给用户提供高分辨的遥感影像显示,却使得原本数据量就很大的遥感数据更加增大,这将给存储带来巨大的压力。

2 文档数据库MongoDB

MongoDB是当下最流行的一种NoSQL文档数据库,也是形式上最接近传统的关系型数据库的一种NoSQL数据库。MongoDB的系统架构分为自动分片和复制集,其数据模式是文档性数据,在一致性方面可通过次级读操作实现最终一致性读取,不能支持事务,可扩展性方面较为突出可以进行分片和增加读取从节点,并且可支持二进制文件以及GridFS大文件进行存储。

对比存在的四种不同类型的数据库,MongoDB数据库在数据查询方面方法多样化,数据库接口应用层次更为丰富简单,支持自动分片策略和复制集备份且备份恢复容易。其中,MongoDB中的BSON格式文档,可以支持二进制对象存储,与此同时MongoDB支持GridFS对大文件进行存储。这两个特点满足海量的遥感影像数据文件的存储需求,所以在进行遥感图像的数据存储设计时,选择Mongo DB数据库最符合设计预期。综合来说,MongoDB是一个开源的、分布式的、面向文档的非关系型数据库。

3 检索技术流程

确定准备数据的类型以及用于数据库建立的遥感影像数据的采集;然后,确定开发的环境,确定本次使用的非关系型数据库MongoDB的版本号;搭建MongoDB数据库确定遥感影像的元数据,这个数据库可以存储不同类型的、不同格式的元数据,对其进行分类,建立索引,存储进MongoDB数据库中;采用MongoDB自带GridFS功能进行遥感影像文件的分块储存,确定分块的大小对遥感影像文件存储速度与检索速度的影像,确定好存储块大小;研究搜索影像的算法,将遥感影像的元数据与遥感影像文件数据关联,通过元数据的搜索进而搜索到所查询的遥感影像文件。

4 基于MongoDB的遥感数据存储关键技术

采用MongoDB软件,搭建出一个用于存储遥感影像的非关系型数据库,可以用来存储不同类型的遥感影像数据,建立存储遥感影像数据相应的元数据的数据库。同时在该数据库下,创建索引,探寻查询方法,能够快速有效的查询到自己所需的遥感影像。

現阶段存储的遥感影像在文件系统中大多是分开存储,分开为单纯的图像数据以及图像的元数据信息。其中,图像数据是指遥感影像的具体文件数据,元数据则是包含这些遥感影像的数据的信息。元数据包括图像的类型,拍摄的日期,拍摄的仪器,具体拍摄的位置经纬度等信息。

以常见的美国卫星LANDSAT系列的图片为例,在遥感影像下载的压缩文件夹中,除了有不同波段的以TIFF格式存储的遥感影像图片,还有一个遥感影像图片信息介绍的文档即遥感影像的元数据。

MongoDB中的数据库都以BSON格式保存二进制文件对象,但是BSON格式文件大小限制在16M以内,因此在存储大文件时需要分割存储。在分割存储文件数据时,不同大小的文件、分割成不同大小的块文件在存储时的速度与效率也不尽相同。设计基于Mongo DB集群和分布式文件系统相结合的遥感瓦片数据存储管理策略,其中Mongo DB集群用来存储瓦片数据的元数据,分布式文件系统用来存储瓦片数据的文件数据。通过分析遥感瓦片数据的属性信息,在分布式文件系统中,通过构建虚拟目录以及绝对路径构造实现了瓦片文件数据的直接寻址。

要建立查询索引,首先要对遥感影像元数据库进行搭建,之后对关键元数据进行索引数据的确定。要建立存储遥感影像元数据的数据库,就要针对不同数据源的遥感影像提取不同的元数据。其中,每一个遥感影像必须提取的元数据包括文件名,文件路径,传感器型号等。

5 小结

本文通过研究分析了国内外现在已有的遥感影像存储方式,针对现阶段存储系统的优缺点,尤其是我们目前在面临大数据时的现状,研发设计了关于基于非关系型数据库MongoDB的遥感影像元数据存储的数据库。非关系型数据库MongoDB具有水平扩展性极强的特点,并且可以存储任意格式的遥感影像数据具有极强的灵活性,便于操作与管理。

在设计存储遥感影像文件的数据库时,利用了MongoDB自身的GridFS分布式文件系统将大数据进行分割存储,进行分片大小的探索,优化了存储的效率。同时,通过元数据检索与遥感影像文件的检索进行关联管理,提高了遥感影像数据文件的检索效率。

猜你喜欢
分片瓦片文档
上下分片與詞的時空佈局
浅谈Matlab与Word文档的应用接口
有人一声不吭向你扔了个文档
分片光滑边值问题的再生核方法
CDN存量MP4视频播放优化方法
一种基于主题时空价值的服务器端瓦片缓存算法
基于模糊二分查找的帧分片算法设计与实现
基于RI码计算的Word复制文档鉴别
Persistence of the reproductive toxicity of chlorpiryphos-ethyl in male Wistar rat
基于NoSQL数据库的瓦片地图服务