一种从Hbase瓦片存储快速导出区域子数据集的方法及装置制造方法及图纸

技术编号:30337884 阅读:14 留言:0更新日期:2021-10-12 22:58
本申请提供了一种从HBase瓦片存储快速导出区域子数据集的方法及装置。所述方法包括:根据两个坐标点的经纬度坐标获取需要导出的瓦片数据的矩形区域;根据所述矩形区域确定scan边界;根据所述scan边界并行地读取HBase的每个Region中的瓦片数据,存放到全局变量HashMap中;将所述全局变量HashMap中的瓦片数据以读写分离的方式存入SQLite数据库中。本发明专利技术在实现了用户自定义导出瓦片数据区域功能的同时,大幅度提高了瓦片数据的导出效率。大幅度提高了瓦片数据的导出效率。大幅度提高了瓦片数据的导出效率。

【技术实现步骤摘要】
一种从Hbase瓦片存储快速导出区域子数据集的方法及装置


[0001]本专利技术涉及计算机技术领取,特别地涉及一种从HBase瓦片存储快速导出区域子数据集的方法及装置。

技术介绍

[0002]单机版数字地球产品需要可以单机访问的地图数据,当前HBase内的切片数据不能满足要求。SQLite提供了一种规范,可以使得数以百万计的瓦片数据存储在一个文件中,因此目前成熟的单机版解决方案之一是将瓦片数据以mbtiles方式存储在SQLite数据库中,通过GeoWebCache进行访问,则需要把存储在HBase中的瓦片数据部分迁移到SQLite中。
[0003]但是,如何把HBase中的海量瓦片数据写入SQLite中是一个很大的问题,通常的方法是通过GeoWebCache自带的生成MBTiles文件方式,但是用这种方式导出全球地图大概需要5年的时间,效率明显太低,而且不能自定义区域导出,灵活性也很差。

技术实现思路

[0004]本专利技术的目的在于提供一种从HBase瓦片存储快速导出区域子数据集的方法及装置,用户可以自定义瓦片数据的导出区域,同时提高了导出效率。
[0005]为此,根据本专利技术的第一方面,提供了一种从HBase瓦片存储快速导出区域子数据集的方法,包括:
[0006]根据两个坐标点的经纬度坐标获取需要导出的瓦片数据的矩形区域;
[0007]根据所述矩形区域确定scan边界;
[0008]根据所述scan边界并行地读取HBase的每个Region中的瓦片数据,存放到全局变量HashMap中;
[0009]将所述全局变量HashMap中的瓦片数据以读写分离的方式存入SQLite数据库中。
[0010]进一步地,所述两个坐标点不在同一个经度或纬度上。
[0011]进一步地,所述根据所述矩形区域确定scan边界包括:
[0012]计算出所述矩形区域中每一层每一列瓦片的startKey与endKey,所述startKey与endKey为scan边界。
[0013]进一步的,所述根据所述scan边界并行地读取HBase的每个Region中的瓦片数据,存放到全局变量HashMap中包括:
[0014]针对瓦片金字塔的每一层,计算出在矩形区域内开始的瓦片和结束的瓦片的层、行、列(lrc)信息;
[0015]根据所述lrc信息给线程池分发任务,生成多个线程任务;
[0016]并行地执行所述多个线程任务,每个线程任务根据所述scan边界从一个Region中读取相应的瓦片数据;
[0017]将读取的瓦片数据存放在全局变量HashMap中;
[0018]所述全局变量HashMap中,key用于存储从Region中读取的瓦片数据,value值为
listClass,在listClass类中定义两个Arraylist链表和一个index变量,所述index变量用于区别Arraylist链表功能,index0表示第一Arraylist负责读取数据,第二Arraylist负责写入数据,index1表示第一Arraylist负责写入数据,第二Arraylist负责读取数据。
[0019]进一步的,所述将所述全局变量HashMap中的瓦片数据以读写分离的方式存入SQLite数据库中包括:
[0020]根据所述全局变量HashMap中的index变量确定Arraylist链表功能;
[0021]根据Arraylist链表的功能将所述全局变量HashMap中的瓦片数据以读写分离的方式数据存入SQLite数据库中。
[0022]根据本专利技术的第二方面,提供了一种从HBase瓦片存储快速导出区域子数据集的装置,包括:
[0023]获取模块,用于根据两个坐标点的经纬度坐标获取需要导出的瓦片数据的矩形区域;
[0024]确定模块,用于根据所述矩形区域确定scan边界;
[0025]读取模块,用于根据所述scan边界并行地读取HBase的每个Region中的瓦片数据,存放到全局变量HashMap中;
[0026]存储模块,用于将所述全局变量HashMap中的瓦片数据以读写分离的方式存入SQLite数据库中。
[0027]进一步地,所述确定模块具体用于:
[0028]计算出所述矩形区域中每一层每一列瓦片的startKey与endKey,所述startKey与endKey为scan边界。
[0029]进一步地,所述读取模块具体用于:
[0030]针对瓦片金字塔的每一层,计算出在矩形区域内开始的瓦片和结束的瓦片的层、行、列(lrc)信息;
[0031]根据所述lrc信息给线程池分发任务,生成多个线程任务;
[0032]并行地执行所述多个线程任务,每个线程任务根据所述scan边界从一个Region中读取相应的瓦片数据;
[0033]将读取的瓦片数据存放在全局变量HashMap中。
[0034]进一步地,所述全局变量HashMap中,key用于存储从Region中读取的瓦片数据,value值为listClass,在listClass类中定义两个Arraylist链表和一个index变量,所述index变量用于区别Arraylist链表功能,index0表示第一Arraylist负责读取数据,第二Arraylist负责写入数据,index1表示第一个Arraylist负责写入数据,第二Arraylist负责读取数据。
[0035]进一步地,所述存储模块具体用于:
[0036]根据所述全局变量HashMap中的index变量确定Arraylist链表功能;
[0037]根据Arraylist链表的功能将所述全局变量HashMap中的瓦片数据以读写分离的方式数据存入SQLite数据库中。
[0038]本专利技术的附加方面和优点将在下面的描述部分中给出,部分将从下面的描述中变得明显,或通过本专利技术的实践了解到。
[0039]本专利技术具有的有益效果是:通过先将区域边界转换为HBase的scan的边界,再以多
线程调度并行地从HBase中读取数据,大幅度提高了瓦片数据的导出效率;通过读写分离的方式将导出的数据存入SQLite数据库中,提升了数据存储的速度,使得读写之间没有瓶颈。
附图说明
[0040]本专利技术的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
[0041]图1是根据本专利技术一实施例的从HBase瓦片存储快速导出区域子数据集的方法流程图。
[0042]图2是根据本专利技术一实施例的从HBase瓦片存储快速导出区域子数据集的装置框架图。
[0043]图3是根据本专利技术一实施例的从HBase瓦片存储快速导出区域子数据集的架构图。
具体实施方式
[0044]为了能够更清楚地理解本专利技术的上述目的、特征和优点,下面结合附图和具体实施方式对本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种从HBase瓦片存储快速导出区域子数据集的方法,其特征在于,包括:根据两个坐标点的经纬度坐标获取需要导出的瓦片数据的矩形区域;根据所述矩形区域确定scan边界;根据所述scan边界并行地读取HBase的每个Region中的瓦片数据,存放到全局变量HashMap中;将所述全局变量HashMap中的瓦片数据以读写分离的方式存入SQLite数据库中。2.根据权利要求1所述的方法,其特征在于,所述两个坐标点不在同一个经度或纬度上。3.根据权利要求2所述的方法,其特征在于,所述根据所述矩形区域确定scan边界包括:计算出所述矩形区域中每一层每一列瓦片的startKey与endKey,所述startKey与endKey为scan边界。4.根据权利要求3所述的方法,其特征在于,所述根据所述scan边界并行地读取Hbase的每个Region中的瓦片数据,存放到全局变量HashMap中包括:针对瓦片金字塔的每一层,计算出在矩形区域内开始的瓦片和结束的瓦片的层、行、列(lrc)信息;根据所述lrc信息给线程池分发任务,生成多个线程任务;并行地执行所述多个线程任务,每个线程任务根据所述scan边界从一个Region中读取相应的瓦片数据;将读取的瓦片数据存放在全局变量HashMap中;所述全局变量HashMap中,key用于存储从Region中读取的瓦片数据,value值为listClass,在listClass类中定义两个Arraylist链表和一个index变量,所述index变量用于区别Arraylist链表功能,index0表示第一Arraylist负责读取数据,第二Arraylist负责写入数据,index1表示第一Arraylist负责写入数据,第二Arraylist负责读取数据。5.根据权利要求4所述的方法,其特征在于,所述将所述全局变量HashMap中的瓦片数据以读写分离的方式存入SQLite数据库中包括:根据所述全局变量HashMap中的index变量确定Arraylist链表功能;根据Arraylist链表的功能将所述全局变量Hash...

【专利技术属性】
技术研发人员:张家旺王晓东赵文波张敬亮毕俊杨光辉马银龙傅伟康
申请(专利权)人:中科星图股份有限公司
类型:发明
国别省市:

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

1