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

技术编号:11829121 阅读:119 留言:0更新日期:2015-08-05 12:36
本发明专利技术提供一种基于hadoop的海量瓦片小文件存储管理方法,通过希尔伯特曲线排序再利用Hadoop本身自带的Sequence File技术对栅格瓦片数据进行序列化压缩存储;在生成瓦片压缩块的时候实现多台服务器多线程并行压缩及生成瓦片索引信息,提高海量文件入库存储速度;对块文件名的规则命名管理,能对海量、多源、多版本栅格小瓦片提供高效存储、快速读取及高性能栅格数据服务;设计了ITMS(Improved Tile Map Service),解决传输原始数据和应对实时数据处理请求造成的延迟与带宽占用,以满足项目数据检索与传输要求。

【技术实现步骤摘要】

本专利技术涉及hadoop分布式平台上进行栅格数据存储管理方法,特别是海量、多 源、多版本栅格小文件的存储管理方法。
技术介绍
随着GIS技术的快速发展,地图数据急剧增长,相应的瓦片数据量大、数据源多、 版本多,如何高效存储管理海量地图瓦片数据成为难题。 云计算的出现提供了一个新的思路。近几年来,为了解决大规模数据的存储和管 理的问题,许多公司和机构提出了一系列基于"云计算"技术的可扩展的大规模数据管理方 案。目前主流的开源项目Hadoop是一个包含了海量数据存储和计算的分布式系统架构,可 以在廉价PC Server上部署大规模结构化存储的集群。 目前已有较多针对小文件数据存储和管理的研宄,并已提出了一系列解决方法, 这些方法中普遍采用的是对小文件进行合并成大文件,再使用分层索引的方法来管理这些 合并后的大文件。 专利号为CN201310398165. 4公开了一种海量瓦片数据的存储方法及读取方法, 该方法根据获取的瓦片数据的分层信息生成一级索引文件的数据块;将一级索引文件的数 据块进一步划分为数据网格,得到每个单元格在数据块中的位置坐标;根据位置坐标和分 块信息生成对应瓦片数据的二级索引文件;按照先到先存的方式将瓦片数据存储;在每次 进行目标瓦片数据存储写入时,将对应生成的一级索引文件和二级索引文件存储。 这种技术方案存在以下缺点: (1) 现有的小文件存储和管理方法多基于分层索引来管理数据,分层索引带来的问题 是要额外耗费精力来开发一种Hadoop集群小文件存储机制来保证小文件合并后的块文件 索引与对应的这个块一起传输到同一个DataNode的同一位置,实现小文件合并后的块文 件索引的分布式存储,Hadoop集群中的NameNode也需要额外消耗资源来管理索引文件,增 加内存开销; (2) 在项目应用中可能存在数据源多样,多版本的瓦片文件,分层索引的方法并不适用 于多数据源和多版本的小文件的快速和高效读取; (3)项目存在大量原始数据和频繁的实时数据请求,现有方案没有专门针对数据传输 和数据处理进行优化,将影响项目运行时的数据传输和数据响应性能表现。
技术实现思路
有鉴于此,本专利技术提出了一种,不用 额外开发Hadoop集群存储机制,利用Hadoop本身自带的功能来存储和管理小文件。该方 法针对海量、多源、多版本栅格小瓦片提供高效存储、快速读取及高性能栅格数据服务。本 专利技术还对标准TMS (Tile Map Service)进行改进,解决传输原始数据和应对实时数据处理 请求造成的延迟与带宽占用,以满足项目数据检索与传输要求。 本专利技术采用以下技术方案实现:一种基于hadoop的海量瓦片小文件存储管理方 法,其特征在于:包括以下步骤:步骤S1:对欲存储的文件的大小进行判断,如果单个文件 小于20M的将其进行序列化压缩再入库存储,如果单个文件大于等于20M就直接入库存储; 步骤S2 :引入了希尔伯特曲线对存储的文件进行排序;步骤S3 :对存储的文件进行压缩及 生成瓦片索引信息;步骤S4 :对瓦片文件进行分类、命名;步骤S5 :建立瓦片信息索引表; 步骤S6 :提供一改进型地理数据块服务ITMS,通过所述ITMS提供的对多类型预生成地理数 据单元块进行异步访问;步骤S7 :将Memcached作为一个缓存区域,若请求的瓦片数据在缓 存列表中,则直接返回该瓦片数据,否则去HBase中查询;将缓存查询结果字符串索引保存 到缓存列表中,并将被请求过的数据瓦片保存在内存中。 在本专利技术以一实施例中,步骤S4中的命名规则为:数据来源+投影方式+文件格 式+Id+版本;其中数据来源为元数据XML中记录了不同地图数据来源的编号,投影方式为 元数据XML中记录不同投影方式的对应编号,文件格式为元数据XML中记录了不同文件格 式对应的编号,Id为区分同层同类型同格式的序列化块ID而采用与系统时间有关的随机 数,版本为由客户端和服务端约定好的并写在配置文件中版本编号。 在本专利技术一实施例中,步骤S5所述索引表通过行关键字rowkey的字典顺序来组 织数据;其中RowKey为SRS+Lod+X+Y+Dataset+FileType,共18字符,其中SRS字段是投影 方式对应的编码,Lod、X、Y分别代表层、经度和炜度,支持24层分层,DataSet是外层和内 层数据集的说明,FileType是文件类型对应编码。 在本专利技术一实施例中,通过ITMS接口接收客户端请求使其接收服务元数据资源 及地理数据块资源,其中服务元数据资源为服务端实现的能力和包含的信息,地理数据块 资源表示一层地理数据中的一个瓦片;利用键值对列表形式表示参数和值,通过HTTPGET 或POST方式向系统发送服务请求。 与现有技术相比,本专利技术具有以下优点: (1) 无需对现有Hadoop集群存储机制进行修改,通过希尔伯特曲线排序再利用Hadoop 本身自带的SequenceFile技术对栅格瓦片数据进行序列化压缩存储;利用Hadoop的 MapReduce分布式计算的功能,在生成瓦片压缩块的时候实现多台服务器多线程并行压缩 及生成瓦片索引信息,提高海量文件入库存储速度;对块文件名的规则命名管理,能对海 量、多源、多版本栅格小瓦片提供高效存储、快速读取及高性能栅格数据服务; (2) 对标准TMS(TileMapService)服务规范进行改进,设计了ITMS(ImprovedTile MapService),解决传输原始数据和应对实时数据处理请求造成的延迟与带宽占用,以满 足项目数据检索与传输要求; (3 )本通过在分布式数据库HBase上搭建瓦片数据索引数据库,充分利用了HBase对大 数据索引的支持,为海量的地图瓦片数据量提供很好的支持。【附图说明】 图1为本专利技术一实施例瓦片获取的流程图。【具体实施方式】 下面结合附图和具体实施例对本专利技术做进一步说明。本专利技术提供一种,其特征在于:包括 以下步骤当前第1页1 2 本文档来自技高网
...
<a href="http://www.xjishu.com/zhuanli/55/CN104820714.html" title="基于hadoop的海量瓦片小文件存储管理方法原文来自X技术">基于hadoop的海量瓦片小文件存储管理方法</a>

【技术保护点】
一种基于hadoop的海量瓦片小文件存储管理方法,其特征在于:包括以下步骤:步骤S1:对欲存储的文件的大小进行判断,如果单个文件小于20M的将其进行序列化压缩再入库存储,如果单个文件大于等于20M就直接入库存储;步骤S2:引入了希尔伯特曲线对存储的文件进行排序;步骤S3:对存储的文件进行压缩及生成瓦片索引信息;步骤S4:对瓦片文件进行分类、命名;步骤S5:建立瓦片信息索引表;步骤S6:提供一改进型地理数据块服务ITMS,通过所述ITMS提供的对多类型预生成地理数据单元块进行异步访问;步骤S7:将Memcached作为一个缓存区域,若请求的瓦片数据在缓存列表中,则直接返回该瓦片数据,否则去HBase中查询;将缓存查询结果字符串索引保存到缓存列表中,并将被请求过的数据瓦片保存在内存中。

【技术特征摘要】

【专利技术属性】
技术研发人员:汤振立陈强林承华梁曼舒罗富财吴丹
申请(专利权)人:国家电网公司国网福建省电力有限公司国网福建省电力有限公司电力科学研究院
类型:发明
国别省市:北京;11

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

1