一种基于Hbase的GeoWebCache分布式存储方法及装置制造方法及图纸

技术编号:30337969 阅读:16 留言:0更新日期:2021-10-12 22:59
本申请提供了一种基于Hbase的GeoWebCache分布式存储方法及装置。所述存储方法包括以下步骤:将缓存在GeoWebcache中的瓦片数据存储至Hbase中;对存储在Hbase中的瓦片数据进行分组合并处理;将所述处理后的瓦片数据存入Moosefs文件系统中。本发明专利技术通过将小的瓦片数据整合成Hfile大文件数据结构进行存储,不会产生不必要的存储开销;通过rowkey可以在海量数据中快速地获取需要的瓦片数据,满足读取速度的需求;通过Hbase将瓦片数据存储在分布式文件系统中,可以通过增加存储节点增加容量,对瓦片数据的存储提供了可扩展性;同时,分布式文件系统分担读写负载,提高了读写性能。性能。性能。

【技术实现步骤摘要】
一种基于Hbase的GeoWebCache分布式存储方法及装置


[0001]本专利技术属于地理信息
,特别地涉及一种基于Hbase的GeoWebCache分布式存储方法及装置。

技术介绍

[0002]当前,GeoServer地图服务器支持WCS 1.0、WMS 1.1.1以及WFS 1.0标准,并且默认集成了GeoWebCache组件。
[0003]GeoWebCache针对WMS服务提供了瓦片缓存功能,当客户端请求地图服务时,GeoWebCache截取WMS调用请求,并返回已生成的Tiles缓存,若请求没有对应的服务端缓存,再由GeoServer针对请求图层生成对应的Tiles,针对数据比较小的地图,GeoWebCache提供的瓦片缓存功能是完全够用的,但是如果是数据量比较大的地图,GeoWebCache提供的瓦片缓存功能往往是不能满足存储需求的。
[0004]把GeoWebcache的缓存目录设置为Hdfs文件系统,可以实现大容量的存储,但在Hdfs文件系统中,任何一个文件,目录或者block在NameNode节点的内存中均以一个元数据表示,而这受到NameNode物理内存容量的限制,因此处理小文件(文件大小明显小于Hdfs上块大小(默认128MB)的文件)的效果是非常低效的,海量小文件会造成大量元数据的产生,存储上造成大的冗余,在海量小文件中读取需要的瓦片对于数据库的性能要求很高,严重影响数据读写性能。

技术实现思路

[0005]本专利技术的目的在于提供一种基于Hbase的GeoWebCache分布式存储方法及装置,通过对瓦片数据的处理,实现了容量在线扩展的同时,提升了数据的读写性能。
[0006]为此,根据本专利技术的第一方面,提供了一种基于Hbase的GeoWebCache分布式存储方法,包括以下步骤:
[0007]将缓存在GeoWebcache中的瓦片数据存储至Hbase中;
[0008]对存储在Hbase中的瓦片数据进行分组合并处理;
[0009]将所述处理后的瓦片数据存入Moosefs文件系统中。
[0010]进一步的,所述将缓存在GeoWebcache中的瓦片数据存储至Hbase中包括:
[0011]将缓存在GeoWebcache中的瓦片数据先按照层和经纬度进行编码,然后把编码hash散列后得到的数据存储至Hbase中。
[0012]进一步的,所述对存储在Hbase中的瓦片数据进行分组合并处理包括:
[0013]根据Hbase中的rowkey对所述瓦片数据进行分组,按照rowkey的存储顺序将同一列族合并到同一个Hfile中。
[0014]进一步的,所述将所述处理后的瓦片数据存入Moosefs文件系统中包括:
[0015]当所述瓦片数据的数据量达到了阈值后,将所述处理后的瓦片数据存入Moosefs文件系统中。
[0016]进一步的,其特征在于,还包括:
[0017]所述Moosefs文件系统根据节点总空间的大小将所述处理后的瓦片数据均衡地分配给多个节点。
[0018]根据本专利技术的第二方面,提供了一种基于Hbase的GeoWebCache分布式存储装置,包括:
[0019]GeoWebcache单元,用于缓存瓦片数据,并将所述缓存的瓦片数据存储至Hbase中;
[0020]Hbase数据库,用于对所述瓦片数据进行分组合并处理,并将处理后的瓦片数据存入Moosefs文件系统中;
[0021]Moosefs文件系统,用于存储所述处理后的瓦片数据。
[0022]进一步的,其特征在于,所述GeoWebcache单元包括:
[0023]将缓存在GeoWebcache中的瓦片数据先按照层和经纬度进行编码,然后把编码hash散列后得到的数据存储至Hbase中。
[0024]进一步的,所述Hbase数据库包括:
[0025]根据Hbase中的rowkey对所述瓦片数据进行分组,按照rowkey的存储顺序将同一列族合并到同一个Hfile中。
[0026]进一步的,所述Moosefs文件系统包括:
[0027]当所述瓦片数据的数据量达到了阈值后,将所述处理后的瓦片数据存入Moosefs文件系统中。
[0028]进一步的,其特征在于,还包括:
[0029]所述Moosefs文件系统根据节点总空间的大小将所述处理后的瓦片数据均衡地分配给多个节点。
[0030]本专利技术具有的有益效果是:本专利技术通过将小的瓦片数据整合成Hfile大文件数据结构进行存储,这样,文件系统就不会给每个小文件产生元数据,不会产生不必要的存储开销;通过rowkey可以在海量数据中快速地获取需要的瓦片数据,满足读取速度的需求;通过Hbase将瓦片数据存储在分布式文件系统中,可以通过增加存储节点增加容量,对瓦片数据的存储提供了可扩展性;同时,分布式文件系统分担读写负载,提高了读写性能。
[0031]本专利技术的附加方面和优点将在下面的描述部分中给出,部分将从下面的描述中变得明显,或通过本专利技术的实践了解到。
附图说明
[0032]本专利技术的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
[0033]图1是根据本专利技术一实施例的基于Hbase的GeoWebCache分布式存储方法的流程图。
[0034]图2是根据本专利技术一实施例的基于Hbase的GeoWebCache分布式存储装置的框架图。
具体实施方式
[0035]为了能够更清楚地理解本专利技术的上述目的、特征和优点,下面结合附图和具体实
施方式对本专利技术进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
[0036]在下面的描述中阐述了很多具体细节以便于充分理解本专利技术,但是,本专利技术还可以采用其他不同于在此描述的其他方式来实施,因此,本专利技术的保护范围并不受下面公开的具体实施例的限制。
[0037]如图1所示,根据本专利技术一实施例,提供了一种基于Hbase的GeoWebCache分布式存储方法,包括以下步骤:
[0038]S11、将缓存在GeoWebcache中的瓦片数据存储至Hbase中;
[0039]GeoWebcache将缓存的瓦片数据放在指定的目录中,通过java程序生成缓存目录;
[0040]对于缓存的瓦片数据,根据瓦片数据层和经纬度进行编码,将编码后的瓦片数据hash散列后,按照生成的缓存目录转存至Hbase中,同时删除临时缓存目录。
[0041]例如缓存中瓦片数据层为12,将经纬度经过墨卡托投影及希尔伯特编码得到行列值分别为450和350,则该瓦片在Hbase中对应的未hash散列的rowkey主键为12_450_350,为了减少数据读取的热点问题,将rowkey进行hash散裂化,得到的rowkey值为1610693504。与之相邻本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于Hbase的GeoWebCache分布式存储方法,其特征在于,包括:将缓存在GeoWebcache中的瓦片数据存储至Hbase中;对存储在Hbase中的瓦片数据进行分组合并处理;将所述处理后的瓦片数据存入Moosefs文件系统中。2.根据权利要求1所述的方法,其特征在于,所述将缓存在GeoWebcache中的瓦片数据存储至Hbase中包括:将缓存在GeoWebcache中的瓦片数据先按照层和经纬度进行编码,然后把编码hash散列后得到的数据存储至Hbase中。3.根据权利要求2所述的方法,其特征在于,所述对存储在Hbase中的瓦片数据进行分组合并处理包括:根据Hbase中的rowkey对所述瓦片数据进行分组,按照rowkey的存储顺序将同一列族合并到同一个Hfile中。4.根据权利要求3所述的方法,其特征在于,所述将所述处理后的瓦片数据存入Moosefs文件系统中包括:当所述瓦片数据的数据量达到了阈值后,将所述处理后的瓦片数据存入Moosefs文件系统中。5.根据权利要求1所述的方法,其特征在于,还包括:所述Moosefs文件系统根据节点总空间的大小将所述处理后的瓦片数据均衡地分配给多个节点。6....

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

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

1