发明名称 基于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号