发明名称 | 基于MapReduce的地图瓦片存储布局优化方法 | ||
摘要 | 本发明涉及基于MapReduce的地图瓦片存储布局优化方法,包括步骤:Map任务根据瓦片索引表计算出IndexKey对应的Number,将输入的(IndexKey,IndexValue)转换为(Number,IndexValue)输出;自定义分区算法将得到的(Number,IndexValue)进行分区;每个Reduce任务获得专属分区号的(Number,IndexValue),自定义分组算法进行分组,最终根据IndexValue读取瓦片数据,再重新写到新瓦片打包文件,更新索引项指向新打包文件;瓦片重新写入结束后删除旧打包文件。本发明满足了快速读取瓦片的需求,提高了系统性能,不影响瓦片生成存储的速度,保证了瓦片生成后以及在地图瓦片存储布局优化的过程中,瓦片正常对外提供服务。 | ||
申请公布号 | CN105354310A | 申请公布日期 | 2016.02.24 |
申请号 | CN201510758865.9 | 申请日期 | 2015.11.10 |
申请人 | 西安电子科技大学 | 发明人 | 李龙海;张少将;黄芬芬;付少锋 |
分类号 | G06F17/30(2006.01)I | 主分类号 | G06F17/30(2006.01)I |
代理机构 | 西安新思维专利商标事务所有限公司 61114 | 代理人 | 李罡 |
主权项 | 基于MapReduce的地图瓦片存储布局优化方法,其特征在于:包括以下步骤:步骤一:Map任务读取地图瓦片金字塔生成时形成的瓦片索引表,根据(IndexKey,IndexValue)键值对中的IndexKey计算出该瓦片在金字塔中的顺序号Number,将IndexKey替换为其对应的Number值,形成(Number,IndexValue)键值对输出;步骤二:采用自定义分区算法将得到的(Number,IndexValue)键值对进行分区,使得每个分区中Number列表是有序的,分区之间的Number也是有序的;步骤三:每一个Reduce任务获得属于自己分区的(Number,IndexValue)键值对,采用自定义分组算法对所有键值对进行分组,将所有(Number,IndexValue)键值对中的Number替换为同一个值Number0,使得每一个Reduce任务最终只处理一个分组,这个唯一分组为(Number0,List(IndexValue));步骤四:Reduce任务循环读取(Number0,List(IndexValue))中的每一个IndexValue,根据该索引值读取地图瓦片实体数据,然后将其写入到新的打包文件中,并同时更新索引表中该地图瓦片对应的索引项,使该索引项指向新的打包文件;步骤五:所有地图瓦片重新写入结束之后,将旧的打包文件删除。 | ||
地址 | 710071 陕西省西安市太白南路2号 |