首页 / 专利库 / 软件 / 共享初始过滤规则集 / 一种云环境下海量时序遥感影像的自动缓存构建方法

一种环境下海量时序遥感影像的自动缓存构建方法

阅读:18发布:2020-06-01

专利汇可以提供一种环境下海量时序遥感影像的自动缓存构建方法专利检索,专利查询,专利分析的服务。并且一种 云 环境下海量时序遥感影像的自动缓存构建方法:针对Hadoop云环境下影像缓存构建特点,在固定时间间隔内对新接收的分景数据进行数据优化划分,执行数据 块 粒度的单景或多景数据缓存计算,并通过数据块在云环境中的优化放置影响缓存切片的任务调度,从而以时间上连续的多个小批量MapReduce任务实现时序影像持续抵达情况下的自动缓存构建过程。本 发明 通过若干优化策略尽可能地发挥MapReduce“数据本地化计算”特性,利用Hadoop提供的可扩展云计算能 力 ,在短周期内能够快速构建与更新多种时序抵达遥感数据的缓存服务;适用于不同空间时间 分辨率 ,不同数据源的遥感影像,具有良好的普适性。,下面是一种环境下海量时序遥感影像的自动缓存构建方法专利的具体信息内容。

1.一种环境下海量时序遥感影像的自动缓存构建方法,其特征在于:在云环境的计算节点中同时选择一个以上节点作为数据接收节点,并部署执行驱动器;所述执行驱动器为常驻内存服务,实时监控数据接收磁盘,在数据持续抵达的情况下,在每个固定时间间隔内执行以下步骤,
步骤1,对于云环境中的影像接收节点在固定时间间隔内接收的分景数据集,根据当前云环境资源实时利用状况预估分景数据集中每景影像的分格网划分数;
步骤2,根据分块格网和缓存格网间的不重合性所导致的不完整切片面积大小,确定数据最优划分规则;
步骤3,根据步骤2所得数据最优划分规则,对采用分块格网划分所得影像数据块进行分布式优化放置,包括按照Hilbert空间填充曲线序列将所有影像数据块放置至云环境下的分布式文件系统,作为步骤4的数据输入;
步骤4,根据数据输入,执行基于MapReduce模式的数据并行切片任务,并写入相应多维切片信息至分布式列式数据库,其中Map表示映射,Reduce表示化简。
2.根据权利要求1所述云环境下海量时序遥感影像的自动缓存构建方法,其特征在于:步骤1中包括以下子步骤,
步骤1.1,预估分块格网的分块总数目,实现方式如下,
设固定时间间隔TW内接收数据集为{D},对于分景数据集中每景地理范围为[xmin,ymin,xmax,ymax]的影像D在第n层缓存格网中的切片数目Numn由下式计算获得,其中xtile=360.0/n为切片经度间隔,ytile=180.0/n为维度间隔;
其中,xmin,ymin,xmax,ymax分别为影像D的最小经度范围,最小维度范围,最大经度范围和最大维度范围;
计算影像D建立M到N层缓存服务的切片总数为 设影像D的Numtile
记为D.Numtile,进一步计算分景数据集的切片总数目TotalNumtile=Σ{D}D.Numtile;
步骤1.2,根据当前云环境中运行的拥有I个共享Job的队列Q和云环境中Map Slot的总数目TotalNummap,预估云环境中能够用的Map Slot数如下,
其中,Q.jobi.Nummap为Q中第i个Job的Map Slot需求数,αi为该Job的Map函数任务完成率;
Map Slot和Reduce Slot分别为Map和Reduce计算阶段中按预设计算资源配额而划分的计算单元;
步骤1.3,初始化分景数据集建立从第M层到第N层缓存过程的数据动态划分数Numpart为步骤1.2所得AvalNummap,设集群中单机环境下单个缓存切片平均串行生成时间为Ttile,进一步根据步骤1.1所得TotalNumtile获得单个Map函数初始执行时间预估值:Tmap=(TotalNumtile×Ttile)/Numpart;
步骤1.4,设h为Map函数执行时间阈值,以Tmap≤h为循环满足条件,在步骤1.3中的Numpart初始化值的基础上,每次循环按照预设固定步长递减Numpart,并重新计算Tmap=(TotalNumtile×Ttile)/Numpart,直至循环结束;取最终Numpart为分景数据集划分数,设分景数据集中某景影像的数据量在分景数据集中所占比重为λ,该景影像的分块格网划分数为
3.根据权利要求2所述云环境下海量时序遥感影像的自动缓存构建方法,其特征在于:设分景数据集中某景影像的分块格网的行列数比为numxpart/numypart,其在缓存格网中的行列数比为numx/numy,步骤2中所述数据最优划分规则为,
4.根据权利要求3所述云环境下海量时序遥感影像的自动缓存构建方法,其特征在于:步骤3中包括以下子步骤,
步骤3.1,对每景图像的影像数据块,在上载至云环境前先建立Hilbert曲线排序,包括对每个影像数据块进行传感器编码及Hilbert编码,并作为影像数据块的Key值;
步骤3.2,遍历每个Rack中节点上的能够用的Map Slot,按照Key值顺序将影像数据块逐个上载至每个Map Slot中,所述Rack为机架
5.根据权利要求1或2或3或4所述云环境下海量时序遥感影像的自动缓存构建方法,其特征在于:在步骤4,Map阶段对影像数据块的切片重采样过程中,若存在碎片,则仅对碎片范围内的数据执行重采样,并将多维切片信息输出到Reduce端,所述多维切片信息包括将碎片在切片范围内的左下图像坐标,碎片的长宽值,以及碎片的JPEG压缩值一并存入字节数组作为Value值,将“碎片类型-传感器编码-缓存格网编码-时间编码”作为切片Key值;Reduce阶段根据同一切片Key值对碎片数据执行合并;在Map和Reduce间增加一个Combine阶段过滤本地合并结果,Combine表示合并;在每个阶段的数据库输出中,当多个结果填满缓存时,才执行数据库批量写入。

说明书全文

一种环境下海量时序遥感影像的自动缓存构建方法

技术领域

[0001] 本发明涉及地理信息与云计算技术的交叉领域,特别涉及一种在“地表环境实时动态监测”中,利用云计算环境对时序抵达的海量遥感数据执行快速缓存构建的方法。

背景技术

[0002] 遥感影像具备多分辨率的连续地理现象表达能,在地表环境和自然灾害监测中发挥了重要应用。瓦片式缓存服务则是遥感影像信息应用与共享的支撑技术。它通过数据采样建立多级静态WMS(Web Map Service),实现基于网络的影像多尺度快速访问
[0003] 当前对地观测平台高时空分辨率传感器技术发展迅速,数据量得到极大丰富和扩充,并呈现时序数据的“流式”传输特性以及海量特性。如MODIS(Moderate Resolution Imaging Spectroradiometer)数据(最高空间分辨率为250m,一日过境4次),中国环境A/B卫星数据(最高空间分辨率30m,重访周期2日),近期发射的资源三号(2.5米分辨率,重访周期5日)和计划发射的高分系列卫星数据(高分一号:2米分辨率,重放周期4日)。由此带来的缓存构建与更新任务在构建效率上面临很大挑战。当前大多数影像缓存技术仍运行于单机环境,其一次性批处理模式和较长时间开销无法满足近实时或短周期环境监测需求,而通过高性能处理机提高缓存构建速度的代价昂贵且不具扩展性。而在普通集群环境下执行分布式缓存构建的实现中,如ArcGIS Serve和Map Tiler Cluster,多节点频繁访问共享存储系统(即移动数据到计算节点)易导致网络瓶颈,限制了计算的可扩展性。
[0004] 近年来,快速发展的云计算技术(如开源实现Hadoop,包括MapReduce/HDFS/HBase)通过结合本地化计算(即移动计算到数据节点)与数据并行思想,实现了上千个普通计算节点的扩展能力。其中,分布式文件系统HDFS和列式数据库HBase实现了基于key-value的快速存储与访问,MapReduce模式则通过Map(映射)和Reduce(化简)函数操作key-value数据集,实现大规模数据密集型计算。利用该套技术动态聚集的计算与存取能力为分布式缓存构建提供了一种新的有效平台。目前该模式已尝试应用于多个科学数据密集型计算领域,由于该技术对数据格式的支持主要集中在数值文本数据,对于遥感影像的处理研究还处于起步阶段。尽管目前已出现基于MapReduce的影像金字塔式切片方法,但此类方法采用简单的MapReduce影像切片算法,没有围绕缓存构建特点对其在Hadoop云环境下的工作效率做深入探讨,从而没有充分发挥出MapReduce的数据本地化计算特性;同时此类方法为一次性批处理任务,无法满足针对具备上述数据特征的缓存构建需求。

发明内容

[0005] 针对上述问题,本发明提出一种云环境下海量时序遥感影像的自动缓存构建方法。
[0006] 本发明的技术方案为一种云环境下海量时序遥感影像的自动缓存构建方法,在云环境的计算节点中同时选择一个以上节点作为数据接收节点,并部署执行驱动器;所述执行驱动器为常驻内存服务,实时监控数据接收磁盘,在数据持续抵达的情况下,在每个固定时间间隔内执行以下步骤,
[0007] 步骤1,对于云环境中的影像接收节点在固定时间间隔内接收的分景数据集,根据当前云环境资源实时利用状况预估分景数据集中每景影像的分格网划分数;
[0008] 步骤2,根据分块格网和缓存格网间的不重合性所导致的不完整切片面积大小,确定数据最优划分规则;
[0009] 步骤3,根据步骤2所得数据最优划分规则,对采用分块格网划分所得影像数据块进行分布式优化放置,包括按照Hilbert空间填充曲线序列将所有影像数据块放置至云环境下的分布式文件系统,作为步骤4的数据输入;
[0010] 步骤4,根据数据输入,执行基于MapReduce模式的数据并行切片任务,并写入相应多维切片信息至分布式列式数据库,其中Map表示映射,Reduce表示化简。
[0011] 而且,步骤1中包括以下子步骤,
[0012] 步骤1.1,预估分块格网的分块总数目,实现方式如下,
[0013] 设固定时间间隔TW内接收数据集为{D},对于分景数据集中每景地理范围为[xmin,ymin,xmax,ymax]的影像D在第n层缓存格网中的切片数目Numn由下式计算获得,其中xtile=360.0/n为切片经度间隔,ytile=180.0/n为维度间隔;
[0014]
[0015] 其中,xmin,ymin,xmax,ymax分别为影像D的最小经度范围,最小维度范围,最大经度范围和最大维度范围;
[0016] 计算影像D建立M到N层缓存服务的切片总数为 设影像D的Numtile记为D.Numtile,进一步计算分景数据集的切片总数目TotalNumtile=Σ{D}D.Numtile;
[0017] 步骤1.2,根据当前云环境中运行的拥有I个共享Job的队列Q和云环境中MapSlot的总数目TotalNummap,预估云环境中能够用的Map Slot数如下,
[0018]
[0019] 其中,Q.jobi.Nummap为Q中第i个Job的Map Slot需求数,αi为该Job的Map函数任务完成率;
[0020] Map Slot和Reduce Slot分别为Map和Reduce计算阶段中按预设计算资源配额而划分的计算单元;
[0021] 步骤1.3,初始化分景数据集建立从第M层到第N层缓存过程的数据动态划分数Numpart为步骤1.2所得AvalNummap,设集群中单机环境下单个缓存切片平均串行生成时间为Ttile,进一步根据步骤1.1所得TotalNumtile获得单个Map函数初始执行时间预估值:Tmap=(TotalNumtile×Ttile)/Numpart;
[0022] 步骤1.4,设h为Map函数执行时间阈值,以Tmap≤h为循环满足条件,在步骤1.3中的Numpart初始化值的基础上,每次循环按照预设固定步长递减Numpart,并重新计算Tmap=(TotalNumtile×Ttile)/Numpart,直至循环结束;取最终Numpart为分景数据集划分数,设分景数据集中某景影像的数据量在分景数据集中所占比重为λ,该景影像的分块格网划分数为[0023] 而且,设分景数据集中某景影像的分块格网的行列数比为numxpart/numypart,其在缓存格网中的行列数比为numx/numy,步骤2中所述数据最优划分规则为,
[0024]
[0025] 而且,步骤3中包括以下子步骤,
[0026] 步骤3.1,对每景图像的影像数据块,在上载至云环境前先建立Hilbert曲线排序,包括对每个影像数据块进行传感器编码及Hilbert编码,并作为影像数据块的Key值;
[0027] 步骤3.2,遍历每个Rack中节点上的能够用的Map Slot,按照Key值顺序将影像数据块逐个上载至每个Map Slot中,所述Rack为机架
[0028] 而且,在步骤4,Map阶段对影像数据块的切片重采样过程中,若存在碎片,则仅对碎片范围内的数据执行重采样,并将多维切片信息输出到Reduce端,所述多维切片信息包括将碎片在切片范围内的左下图像坐标,碎片的长宽值,以及碎片的JPEG压缩值一并存入字节数组作为Value值,将“碎片类型-传感器编码-缓存格网编码-时间编码”作为切片Key值;Reduce阶段根据同一切片Key值对碎片数据执行合并;在Map和Reduce间增加一个Combine阶段过滤本地合并结果,Combine表示合并;在每个阶段的数据库输出中,当多个结果填满缓存时,才执行数据库批量写入。
[0029] 本发明提出的方法,针对于Hadoop云环境下影像缓存构建特点,在固定时间间隔(称为Time Window,TW)内对新接收的分景数据进行数据优化划分,执行数据块粒度的单景或多景数据缓存计算,并通过数据块在云环境中的优化放置影响缓存切片的任务调度,从而以时间上连续的多个小批量MapReduce任务实现时序影像持续抵达情况下的自动缓存构建过程。本发明通过若干优化策略尽可能地发挥MapReduce“数据本地化计算”特性,利用Hadoop提供的可扩展云计算能力,在短周期内能够快速构建与更新多种时序抵达遥感数据的缓存服务;适用于不同空间时间分辨率,不同数据源的遥感影像,具有良好的普适性。附图说明
[0030] 图1是本发明实施例流程图
[0031] 图2是关于本发明的不同规则格网划分情况示意图;
[0032] 图3是本发明实施例的数据块优化放置示意图;
[0033] 图4是本发明实施例的MapReduce缓存切片算法示意图;
[0034] 图5是本发明实施例的随数据量增加的执行时间对比图;
[0035] 图6是本发明实施例的随节点增长的执行时间对比图;
[0036] 图7是ArcGIS Server的CPU利用率变化示意图;
[0037] 图8是本发明实施例的CPU利用率变化示意图。

具体实施方式

[0038] 以下结合附图和实施例详细说明本发明技术方案。
[0039] 实施例用的缓存格网模型为:Global Logical Tile Scheme,该模型在geodeticn+1投影下以2 ×2n划分的多级经纬格网为基础建立全球范围内的地图瓦片式划分。其第
一层为2(经度方向)×1(维度方向)的格网,对该层格网单元按照四叉树划分可进一步
得到细分高层格网。具体参见文献“John T.Sample,Elias Loup:Tile-Based Geospatial Information Systems.Principles and Practices.New York,2010,pp.7-9.”
[0040] 采用的云环境以Hadoop软件栈中的MapReduce框架,HDFS分布式文件系统,以及HBase列式数据库构建。硬件环境为文件系统主节点,调度节点,数据库管理节点以及若干计算节点建立的包含多个Rack的分布式集群环境。在计算节点中同时选择若干节点作为数据接收节点,并部署执行驱动器。该执行驱动器为常驻内存服务,实时监控数据接收磁盘,在数据持续抵达的情况下,在每个TW内按照顺序重复执行以下步骤,如图1所示(图中,Time Window为用户根据数据抵达情况预设的时间间隔值,根据时间T顺序,t1为第一个TW起始时间,t2为该TW的结束时间和下个TW的起始时间,t3为下个TW的结束时间,如此类推)。具体步骤如下,
[0041] 步骤1,对于云环境中的影像接收节点在固定时间间隔内接收的分景数据集,根据当前云环境资源实时利用状况,预估数据合理划分数;
[0042] 在将该环境中所有计算单元视为均质单元的基础上,可采用数据规则划分法以实现计算负载均衡。其划分粒度需要综合考虑当前云中可用计算资源规模以及待处理数据大小。理论上,在资源充足条件下,划分粒度减少可增加数据并行度,提升加速比。但若粒度过小,则会导致大量低效的Map小任务以及后续处理,显著影响其加速性能。实施例中,根据当前云环境资源实时利用状况,预估数据合理划分数,具体是:
[0043] 步骤1.1,预估分块格网的分块总数目。
[0044] 设固定时间间隔TW内接收数据集为{D},对于数据集中每景地理范围为[xmin,ymin,xmax,ymax]的影像D在第n层缓存格网中的切片数目Numn由下式计算获得,其中xtile=360.0/n为切片经度间隔,ytile=180.0/n为维度间隔。
[0045]
[0046] 其中,xmin,ymin,xmax,ymax分别为影像D的最小经度范围,最小维度范围,最大经度范围和最大维度范围。因此,单景数据建立M到N层缓存服务的切片总数为设影像D的Numtile记为D.Numtile,进一步可计算数据集的切片总数目TotalNumtile=Σ{D}D.Numtile。
[0047] 步骤1.2,根据当前云环境中运行的拥有I个(为减少资源竞争,建议限定I=3)共享Job的队列Q和云环境中Map Slot的总数目TotalNummap,预估云环境中可用Map Slot数为:
[0048] 其中,Q.jobi.Nummap为Q中第i个Job的MapSlot需求数(即数据分块数,由程序日志文件获取),αi为该Job的Map函
数任务完成率(通过Hadoop API查询实时获取)。
[0049] Map Slot和Reduce Slot分别为Map和Reduce计算阶段中按预设计算资源配额而划分的计算单元;资源配额即CPU和内存,本实施例中,每个Map Slot分配1个CPU和
1GB内存,每个Reduce Slot分配1个CPU和2GB内存。
[0050] 步骤1.3,初始化数据集建立从第M层到第N层缓存过程的数据动态划分数Numpart为步骤1.2所得AvalNummap,设该集群中单机环境下单个缓存切片(即缓存格网中的切片)平均串行生成时间为Ttil(e 可预先统计),进一步根据步骤1.1所得TotalNumtile获得单个Map函数初始执行时间预估值:Tmap=(TotalNumtile×Ttile)/Numpart。
[0051] 步骤1.4,以Tmap≤h(h为Map函数执行时间阈值,实施例限定为30sec)为循环满足条件,在步骤1.3中的Numpart初始化值的基础上,每次循环按照固定步长(建议值为1)递减Numpart,并重新计算Tmap=(TotalNumtile×Ttile)/Numpart,直至循环结束。取最终Numpart为数据集划分数(即分块总数目),且每景影像的分块格网划分数为 (λ为该景影像数据量在总数据集中所占比重)。
[0052] 步骤2,根据分块格网和缓存格网间的不重合性所导致的不完整切片面积大小,确定数据最优划分规则。
[0053] 常用影像数据规则划分方法有等间距行划分,列划分以及格网划分,其中行列划分可分别视为列数和行数为1的格网划分。图2分别列出数据A和B基于不同格网划分法的两组情况(当划分数为4时),其中(a)是对数据A的2×2划分法,(b)是对数据A的
4×1划分法,(c)是对数据A的1×4划分法,(d)是对数据A的2×2划分法,(e)是对数据A的4×1划分法,(f)是对数据A的1×4划分法。其中虚线为缓存格网线,实线为分块格网线,阴影部分为两种格网所形成的碎片区域。数据A和数据B在缓存格网中的行列比(Row/Col)分别为9/11和5/11。经统计,对于数据A,2×2划分法得到碎片最少,而对于数据B,1×4的碎片最少。可见划分方法与数据行列比共同确定了碎片数量或面积。在实施例中,通过寻找产生最小碎片面积约束下的两者关系,以确定数据最优划分规则,具体是:
[0054] 根据式(1)计算每景影像数据在缓存格网中的行列和列数 在步骤1.4确定每景影像数据的分块数 后,
若采用行列数为numxpart和numypart的分块格网(此时 设切片长
宽都为2k),则建立第n层缓存切片时,图2中示意的碎片区域面积可由下式计算得到。
[0055] A=2k(Numxpart-1)Numx+2k(Numypart-1)Numy+2k2(Numxpart-1)(Numypart-1) (2)[0056] 若上式A取极小值,可进一步求的满足条件: 即当每景影像数据分块格网的行列数比numxpart/numypart与其在缓存格网中的行列数比numx/numy达到一致时,可使得切片过程中产生的碎片相比其他规则划分法更少,可显著减小后续网络传输量。
[0057] 步骤3,根据步骤2所得数据最优划分规则,对采用分块格网划分所得影像数据块的分布式优化放置。按照Hilbert空间填充曲线序列将所有数据分块放置至云环境下的分布式文件系统,作为步骤4的数据输入。
[0058] Hadoop默认的文件系统HDFS不支持影像格式存取,需要另行实现,效率较低。实施例以支持POSIX的分布式文件系统GFarm(详见“http://datafarm.apgrid.org”)替换HDFS作为Hadoop云环境的文件存储系统,因此可在软件实现上方便使用各种现有工具(如GDAL,ENVI/IDL)直接读取数据块,以支持下述切片过程的构建。数据本地性最好的状态是数据与处理任务在同一节点,其次是数据与处理任务在同一个机架(Rack)。在实施例中,以Hilbert序列指导数据块的在该分布式文件系统中物理分布,直接干预后续计算调度以减少数据传输,同时结合各节点Map Slot数进行负载均衡,如图3所示(图中显示了具有2个机架(Rack1和Rack2),m个计算节点(节点1,节点2,…,节点m)的分布式集群环境)。具体是,
[0059] 步骤3.1,对 分块 数目 为Numxpart×Numypart 的每 景影 像,上 载前 建 立2
log(max(Numxpart,Numypart))阶Hilbert曲线。对每个分块(即采用分块格网划分所得影像数据块)编码为:传感器编码+Hilbert编码,并作为分块Key值,形成Hilbert编码排序数据块。Value值为数据分块的主要信息,包含元数据信息(产品类型,分块格网行列号,分辨率,缓存层级数,景深以及分块四角坐标信息),以及经过JPEG压缩的栅格值。
[0060] 步骤3.2,根据GFarm的MetaData Server上注册的各节点信息,遍历每个Rack中节点上的可用Map Slot,按照Key值顺序将数据块按照轮询法,逐个上载至每个可用Map Slot所在节点的GFarm存储区域中(此时Numpart≤AvalNummap)。遍历时,若当前Rack已装满,则继续上载剩余数据块至下一个Rack,直至所有数据块上载完毕。
[0061] 该方法在保证数据量与计算能力匹配的同时,减少了从Map到Reduce阶段中,数2
据跨节点或Rack的传输开销,使得shuffle时间复杂度由O(M)降为O(M)(M表示Map任
务数)。
[0062] 步骤4,执行基于MapReduce模式的数据并行切片任务,并写入多维切片信息至分布式列式数据库(HBase)。
[0063] 由于格网剖分线与数据划分线不一定重合,会造成数据分块边缘部分出现不完整切片(称为碎片)。现有技术中简单的MapReduce算法为Map阶段切片重采样,输出完整切片,并向Reduce端传递碎片;Reduce阶段则合并碎片。实施例中,通过减少网络传输量,优化简单的MapReduce切片算法,包括Map阶段对影像数据块的切片重采样过程中,若存在碎片,则仅对碎片范围内的数据执行重采样,并将包括切片Key值的多维切片信息,输出到Reduce端;Reduce阶段根据同一切片Key值对碎片数据执行合并;在Map和Reduce间增加一个Combine阶段过滤本地合并结果,减少传输。在每个阶段的数据库输出中,当多个结果填满缓存时,才执行数据库批量写入。其中,Combine表示合并。
[0064] 具体说明如下:
[0065] 在Map阶段对分块数据执行第n层缓存的切片重采样时,由于格网剖分线与数据划分线不一定重合,会造成数据分块边缘部分出现不完整切片(称为碎片)。图4示意,A,B,C,D是划分后四个数据块,分块对角出现a,b,c,d四个碎片(称角接碎片JAF);分块线接边出现e,f两个碎片(称为边接碎片JEF),而g为完整切片。Map阶段将对生成的切片类型进行判断,若切片为完整切片,将直接输出到列式数据库(具体实施时可由本领域技术人员设计表结构以写入多维切片信息);若存在角接碎片或边接碎片,则仅对碎片范围内的数据执行重采样,并将碎片在切片范围内的左下角图像坐标,碎片的长宽值,以及碎片的JPEG压缩值一并存入字节数组作为Value值,将“碎片类型-传感器编码-缓存格网编码-时间编码”作为切片Key值,输出到Combine端(本地的Reduce端)。在Combine/Reduce阶段,Combine端收集具有同一Key值的碎片,首先抽取碎片类型,判断当前碎片的数目。若为碎片类型为JAF且碎片数为4,则读取Value值中的相关坐标信息,执行碎片合并输出到列式数据库;否则,将其继续传递到最终Reduce端。若碎片类型为JEF且碎片数为2,则执行碎片合并输出,否则也将其传递到最终Reduce端。最终Reduce端收集具有同一Key值的碎片,直接执行合并并输出合并后碎片,当多次合并结果填满缓存时,才执行数据库批量写入,避免多次网络I/O操作。
[0066] 上述切片Key值中,缓存格网编码采用OpenStreetMap的QuadTiles四叉树编码方式(具体参见文献“Frederik Ramm,Jochen Topf,Steve Chilton:OpenStreetMap.Using and Enhancing the Free Map of the World.Cambridge,2011.”);传感器编码采用三位自然数定义(如“000”代表MODIS,“001”代表HJ-1A/1B CCD,…);时间编码为“YYYYMMDDHHmm”,其中,“YYYY”,“MM”,“DD”,“HH”和“mm”分别代表公元年,月,日,小时和分钟标记。
[0067] 为达到多维信息(时间维,空间维,分辨率维和传感器维)的快速检索,切片采用组合健(即上述“传感器编码-缓存格网编码-时间编码”)为行健,并设计两个子列,一个子列以字符串格式存储切片元数据信息(包括格网行列号,中心坐标,景深,缓存层级);另一子列以字节数组形式存储经JPEG压缩的切片栅格值。基于此存储结构,用户可以在WMS的Servlet服务器端通过基于HBase API定义的调用接口根据行健直接定位,或批量扫描获取WMS切片。
[0068] 为便于说明本发明效果起见,以下进行性能对比:
[0069] 本发明的实施例,采用Java语言编写,依赖开源地理数据抽象库(GeoSpatial Data Abstract Library,GDAL),Hadoop开发包,GFarm API及其基于Hadoop的MapReduce开发包。实例运行硬件环境为普通PC建立的集群(1G bps理论网速,10个计算节点,2个Rack,1个管理节点,各节点配置两个双核2.0GHz CPU和4GB RAM)。每个计算节点配置2个Map Slot,1个Reduce Slot。采用的切片大小为256×256像素。实施例以ArcGIS Server以及文献(“霍树民.基于Hadoop的海量影像数据管理关键技术研究[D].国防科技大学,2010.”)提出的缓存算法(称为BottomUp)与本发明(称为OptMehod)做总体性能对
比。
[0070] 按照图1所示一个TW内的流程步骤,执行两组实验:一组采用2倍数据量递增的一组数据,测试对比三种方法(OptMethod,ArcGIS Server和BottomUp)在满节点平台上执行7-14层缓存构建的时间开销;一组采用1.5GB单景数据,测试随节点增加,几种方法执行前述处理的时间开销。其中,ArcGIS Server集群部署于同一计算环境中,且所有数据已事先上载至GFarm。所有测试执行三次取均值。
[0071] 第一组实验(图5)显示随数据量增加,BottomUp时间开销迅速增长,该算法实现从Map端传输大量切片到Reduce端,造成网络及磁盘I/O开销压力。由于MapReduce自身延迟,数据增长初期,ArcGIS Sever执行效率明显高于MapReduce方法,但当数据量达到
384MB,开始低于OptMethod。这是由于在低网速环境下各节点的ArcSOC(ArcGIS Server服务进程)同时访问GFarm存储系统,造成较大的网络通信延迟。OptMethod缓慢增长且性能最优。第二组实验(图6)显示在节点数较少时,ArcGIS Server执行效率明显高于其他方法。但随着节点增长,其扩展能力受到数据I/O限制。而OptMethod逐渐发挥出本地化计算特性,在6个节点时的执行时间已低于ArcGIS Server,在满节点时的执行效率分别达到ArcGIS Server的1.3倍,BottomUp的3.6倍。该实验验证了本发明方法在大数据量情况下具有较好加速性能和可扩展性。
[0072] 按照图1所示的每个TW内的流程步骤,测试连续输入5景时序数据的情况下(每景影像数据量约1.5GB),ArcGIS Server(以连续的单个批处理任务模拟时序数据处理)与OptMethod执行7-14层缓存构建过程中各节点的平均CPU利用率(包括System,User和IO wait;其中,System表示内核空间对CPU的平均利用率,User表示用户空间对CPU的平均利用率,IO wait表示CPU用于等待I/O请求结果的平均时间百分比)。实验结果(图7)显示ArcGIS Server的平均用户空间CPU利用率变化较大,负载不够均衡。图中5个“波峰”是数据缓存压力较大时域。本发明OptMehod(图8)的平均用户空间CPU利用率总体平稳,IO wait整体较前者减小,MapReduce的资源动态分配和前后多个Job交叠执行使得其CPU负载更为均衡,并减少了数据处理延迟。
[0073] 本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈