基于hadoop的海量瓦片小文件存储管理方法_2

文档序号:8498722阅读:来源:国知局
:步骤S1:对欲存储的文件的大小进行判断,如果单个文件小于20M的将其进行序 列化压缩再入库存储,如果单个文件大于等于20M就直接入库存储;步骤S2 :引入了希尔伯 特曲线对存储的文件进行排序;步骤S3 :对存储的文件进行压缩及生成瓦片索引信息;步 骤S4 :对瓦片文件进行分类、命名;步骤S5 :建立瓦片信息索引表;步骤S6 :提供一改进型 地理数据块服务ITMS,通过所述ITMS提供的对多类型预生成地理数据单元块进行异步访 问;步骤S7 :将Memcached作为一个缓存区域,若请求的瓦片数据在缓存列表中,则直接返 回该瓦片数据,否则去HBase中查询;将缓存查询结果字符串索引保存到缓存列表中,并将 被请求过的数据瓦片保存在内存中。本发明一实施例的瓦片数据获取流程参见图1。
[0016]步骤S2中希尔伯特曲线可以看作一种从N维空间到1维空间的映射,保留了原空 间中相邻点的相关性。由于地图数据按层切割成无数瓦片后,同一文件夹里的瓦片在经炜 度上面都是相邻的,对同一层的瓦片文件按照希尔伯特曲线进行排序,对排序后的瓦片进 行序列化压缩存储为HDFS文件系统中的块,使地理上相近的瓦片在物理存储上也相近,极 大地提升文件系统读取性能。
[0017] 步骤S7中将缓存查询结果字符串索引保存到缓存列表中,并把被请求过的瓦片 保存在内存中。当其他客户端请求同样数据时,服务端能够快速响应处理,使得客户端能够 快速获取到瓦片数据。Memcached是一套独立的分布式的高速缓存系统。Memcached是一 个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它 能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。即将数据 调用到内存中,然后从内存中读取,从而大大提高读取速度。
[0018]HBase的数据模型可以定义为一种稀疏的、长期存储的、分布式的、多维排序的映 射表。表中的行关键字rowkey可以是任意的字符串,对同一个行关键字的读或者写操作 都是原子的,表通过rowkey的字典顺序来组织数据。具有相同rowkey前缀的数据的存放 位置接近,在读取的时候,可以把这些数据一次读取出来。而数据的索引也是基于rowkey 的,可以以前缀匹配的方式快速查找到rowkey索引的数据。
[0019]在本发明一实施例中,步骤S4中的命名规则为:数据来源+投影方式+文件格式 +Id+版本;其中数据来源为元数据XML中记录了不同地图数据来源的编号,投影方式为元 数据XML中记录不同投影方式的对应编号,文件格式为元数据XML中记录了不同文件格式 对应的编号,Id为区分同层同类型同格式的序列化块ID而采用与系统时间有关的随机数, 版本为由客户端和服务端约定好的并写在配置文件中版本编号。
[0020] 本发明影像、高程及矢量瓦片信息索引表如表1所述, 表1瓦片信息索引表
【主权项】
1. 一种基于hadoop的海量瓦片小文件存储管理方法,其特征在于:包括以下步骤: 步骤Sl:对欲存储的文件的大小进行判断,如果单个文件小于20M的将其进行序列化 压缩再入库存储,如果单个文件大于等于20M就直接入库存储; 步骤S2 :引入了希尔伯特曲线对存储的文件进行排序; 步骤S3 :对存储的文件进行压缩及生成瓦片索引信息; 步骤S4 :对瓦片文件进行分类、命名; 步骤S5:建立瓦片信息索引表; 步骤S6 :提供一改进型地理数据块服务ITMS,通过所述ITMS提供的对多类型预生成地 理数据单元块进行异步访问; 步骤S7 :将Memcached作为一个缓存区域,若请求的瓦片数据在缓存列表中,则直接返 回该瓦片数据,否则去HBase中查询;将缓存查询结果字符串索引保存到缓存列表中,并将 被请求过的数据瓦片保存在内存中。
2. 根据权利要求1所述的基于hadoop的海量瓦片小文件存储管理方法,其特征在于: 步骤S4中的命名规则为:数据来源+投影方式+文件格式+Id+版本;其中数据来源为元数 据XML中记录了不同地图数据来源的编号,投影方式为元数据XML中记录不同投影方式的 对应编号,文件格式为元数据XML中记录了不同文件格式对应的编号,Id为区分同层同类 型同格式的序列化块ID而采用与系统时间有关的随机数,版本为由客户端和服务端约定 好的并写在配置文件中版本编号。
3. 根据权利要求1所述的基于hadoop的海量瓦片小文件存储管理方法,其特征在 于:步骤S5所述索引表通过行关键字rowkey的字典顺序来组织数据;其中RowKey为 SRS+Lod+X+Y+Dataset+FileType,共18字符,其中SRS字段是投影方式对应的编码,LocUX、 Y分别代表层、经度和炜度,支持24层分层,DataSet是外层和内层数据集的说明,FileType 是文件类型对应编码。
4. 根据权利要求1所述的基于hadoop的海量瓦片小文件存储管理方法,其特征在于: 步骤S6包括以下步骤:通过ITMS接口接收客户端请求并接收服务元数据资源及地理数 据块资源,其中服务元数据资源为描述本系统服务端实现的能力及其包含的信息,地理数 据块资源表示一层地理数据中的一个瓦片;利用键值对列表形式表示参数和值,通过HTTP GET或POST方式向系统发送服务请求。
【专利摘要】本发明提供一种基于hadoop的海量瓦片小文件存储管理方法,通过希尔伯特曲线排序再利用Hadoop本身自带的Sequence File技术对栅格瓦片数据进行序列化压缩存储;在生成瓦片压缩块的时候实现多台服务器多线程并行压缩及生成瓦片索引信息,提高海量文件入库存储速度;对块文件名的规则命名管理,能对海量、多源、多版本栅格小瓦片提供高效存储、快速读取及高性能栅格数据服务;设计了ITMS(Improved Tile Map Service),解决传输原始数据和应对实时数据处理请求造成的延迟与带宽占用,以满足项目数据检索与传输要求。
【IPC分类】G06F17-30
【公开号】CN104820714
【申请号】CN201510257123
【发明人】汤振立, 陈强, 林承华, 梁曼舒, 罗富财, 吴丹
【申请人】国家电网公司, 国网福建省电力有限公司, 国网福建省电力有限公司电力科学研究院
【公开日】2015年8月5日
【申请日】2015年5月20日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1