基于空间划分的并行缓冲区分析算法制造技术

技术编号:37543885 阅读:13 留言:0更新日期:2023-05-12 16:13
本发明专利技术属于地理信息分析技术领域,具体为基于空间划分的并行缓冲区分析算法,包括步骤1:数据划分,数据读入后,进行空间填充曲线数据划分,得到<Sc,d>形式的数据,其中Sc是空间填充曲线编码值;按照Sc排序,即可体现聚集特性;步骤2:边界数据处理,然后,对跨越网格的数据进行切分处理,避免出现单条大数据;步骤3:任务分解,根据输入数据总数据量N对数据进行分解,得到数据量分别为B1B2...B

【技术实现步骤摘要】
基于空间划分的并行缓冲区分析算法


[0001]本专利技术涉及地理信息分析
,具体为基于空间划分的并行缓冲区分析算法。

技术介绍

[0002]缓冲区分析是地理信息系统空间分析的基本功能之一。以往的研究大多聚焦缓冲区生成算法,且往往在单机计算环境开展,因而针对大规模空间数量数据的计算效率提升是有限。虽然现有的并行分析算法提升了缓冲区计算效率,但是主要基于MPI,在可扩展性方面受到限制,且没有考虑数据的空间邻近性特征。因而,对大规模空间数据的缓冲区分析算法进行优化具有很强的实际应用意义。
[0003]缓冲区分析方法确定空间邻近度,是空间分析中的重要概念。该分析方法在实际生活中的很多方面都有应用,例如,计算通信基站覆盖范围、河流水患影响区域、公共交通服务保障面积等。
[0004]缓冲区分析当前主要分为两大类,不合并的缓冲区分析,合并的缓冲区分析。合并的缓冲区分析在现实生活中具有广泛应用,例如,作为后续住房选址交通便利程度的直观展示,作为城市道路网后续建设、提升覆盖面的参考。但同时,通过后续计算流程分析,该分析方法具有明显的计算密集的特征,因而需要合理的并行优化措施来提升分析的效率。
[0005]当前,进入大数据时代,空间数据呈现“爆炸式”增长,对现有计算资源及分析方法造成了巨大挑战。OSM(OpenStreetMap)全球道路网数据已经达到了1亿条以上,且在不断完善更新。因此,传统分析计算和架构在应对这样日趋海量、日益复杂的空间数据时已经越来越“捉襟见肘”。相较之下,依托日益成熟的并行技术的高性能计算方法日益显露出优越性,得到广泛关注。
[0006]为此,我们提出一种基于空间划分的并行缓冲区分析算法解决上述问题。

技术实现思路

[0007]本部分的目的在于概述本专利技术的实施方式的一些方面以及简要介绍一些较佳实施方式。在本部分以及本申请的说明书摘要和专利技术名称中可能会做些简化或省略以避免使本部分、说明书摘要和专利技术名称的目的模糊,而这种简化或省略不能用于限制本专利技术的范围。
[0008]鉴于现有技术中存在的问题,提出了本专利技术。
[0009]因此,本专利技术的目的是提供基于空间划分的并行缓冲区分析算法,能够实现在使用的过程中通过并行减少“滚雪球”类似的顺序合并方法导致的性能阻塞;同时,在并行计算过程中,通过减少中间结果,降低I/O,进一步提升处理效率。
[0010]为解决上述技术问题,根据本专利技术的一个方面,本专利技术提供了如下技术方案:
[0011]基于空间划分的并行缓冲区分析算法,其包括如下步骤:
[0012]步骤1:数据划分,数据读入后,进行空间填充曲线数据划分,得到<Sc,d>形式的
数据,其中Sc是空间填充曲线编码值;按照Sc排序,即可体现聚集特性;
[0013]步骤2:边界数据处理,然后,对跨越网格的数据进行切分处理,避免出现单条大数据;
[0014]步骤3:任务分解,根据输入数据总数据量N对数据进行分解,得到数据量分别为B1B2...B
i
(i∈[1,p])的子任务D1D2...D
i
,使得B1B2...B
i
基本相等,以避免出现负载不均衡的问题;
[0015]步骤4:结果合并,进行结果合并,由于串行的方法将导致计算过程中的等待,采用指定归并树深度的“树状”归并方法,将每个D
i
计算得到的结果G
i
(i∈[1,p])逐级归并,最终将结果输出。
[0016]作为本专利技术所述的基于空间划分的并行缓冲区分析算法的一种优选方案,其中:所述步骤1中,在选定空间填充曲线的类型SFC基础上,需要设定合理的空间曲线层级L
i
,L
i
设定的目标是每个网格内的数据量差异不会太大,以缓解数据倾斜问题带来的影响;为了针对不同分布特征的数据集得到最佳的空间填充曲线层级,使用基于空间填充曲线编码的自适应数据划分算法,采用近似切分方式;近似切分方法按照网格对单条线矢量数据进行切分,得到多条新的线矢量数据,并为每一条新得到的数据计算其对应的编码值Sc,通过切分,大的数据就分解成了对应多个网格的多条数据,从而破解了计算瓶颈。
[0017]作为本专利技术所述的基于空间划分的并行缓冲区分析算法的一种优选方案,其中:近似切分方法具体流程如下:
[0018]线矢量数据近似切分算法.
[0019]输入:输入空间数据d
i
(i∈[1,N]),空间SFC的层级k;
[0020]输出:处理完边界问题后的<Sc
i
,d
i
>(i∈[1,M])数据对.
[0021]按照k生成SFC
[0022]for each d
i
[0023]计算数据长度len(d
i
)
[0024]if(len(d
i
)<F)/*F对一般实际空间数据设为3即可*/
[0025]输出<Sc
i
,d
i
>
[0026]else
[0027]for V
ij in d
i
[0028]if(OF(V
ij
)!=OF(V
i(j

1)
))
[0029]在V
ij
处切割,得到切割数据d
ix
/*V
ij
既是切割数据终点,又是原数据起点*/
[0030]Sc
ix
=OF(V
i(j

1)
),输出<Sc
ix
,d
ix
>/*切分得到的数据对应一个SFC编码值*/
[0031]end if
[0032]end for
[0033]end if
[0034]end for。
[0035]作为本专利技术所述的基于空间划分的并行缓冲区分析算法的一种优选方案,其中:所述步骤3包括采取的基于累计节点数量的任务分解方法;其目标可分为两层,第一层,使得每一个D有相近的节点数量,避免出现数据不均匀;第二层,保持各个数据块的空间属性,既包括D内部的数据的按照空间邻近数据排列的,还包括各个D之间也按照空间邻近属性排
列。
[0036]作为本专利技术所述的基于空间划分的并行缓冲区分析算法的一种优选方案,其中:所述步骤3具体包括如下步骤:
[0037](1)按照<Sc,d>中的Sc对数据排序,数据的顺序即体现了其空间属性——空间上邻近的数据在顺序上是相近的;
[0038](2)按照网格累加的方法将整个D'划分成p份,即有保证每一个D中节点数量近似相等;
[0039](3)按照顺序为每一个本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.基于空间划分的并行缓冲区分析算法,其特征在于:包括如下步骤:步骤1:数据划分,数据读入后,进行空间填充曲线数据划分,得到<Sc,d>形式的数据,其中Sc是空间填充曲线编码值;按照Sc排序,即可体现聚集特性;步骤2:边界数据处理,然后,对跨越网格的数据进行切分处理,避免出现单条大数据;步骤3:任务分解,根据输入数据总数据量N对数据进行分解,得到数据量分别为B1B2...B
i
(i∈[1,p])的子任务D1D2...D
i
,使得B1B2...B
i
基本相等,以避免出现负载不均衡的问题;步骤4:结果合并,进行结果合并,由于串行的方法将导致计算过程中的等待,本文采用指定归并树深度的“树状”归并方法,将每个D
i
计算得到的结果G
i
(i∈[1,p])逐级归并,最终将结果输出。2.根据权利要求1所述的基于空间划分的并行缓冲区分析算法,其特征在于:所述步骤1中,在选定空间填充曲线的类型SFC基础上,需要设定合理的空间曲线层级L
i
,L
i
设定的目标是每个网格内的数据量差异不会太大,以缓解数据倾斜问题带来的影响;为了针对不同分布特征的数据集得到最佳的空间填充曲线层级,使用基于空间填充曲线编码的自适应数据划分算法,采用近似切分方式;近似切分方法按照网格对单条线矢量数据进行切分,得到多条新的线矢量数据,并为每一条新得到的数据计算其对应的编码值Sc,通过切分,大的数据就分解成了对应多个网格的多条数据,从而破解了计算瓶颈。3.根据权利要求2所述的基于空间划分的并行缓冲区分析算法,其特征在于:近似切分方法具体流程如下:线矢量数据近似切分算法.输入:输入空间数据d
i
(i∈[1,N]),空间SFC的层级k;输出:处理完边界问题后的<Sc
i
,d
i
>(i∈[1,M])数据对.按照k生成SFCfor each d
i
计算数据长度len(d
i
)if(len(d
i
)&lt...

【专利技术属性】
技术研发人员:刘助龙陈荦吴烨
申请(专利权)人:中国人民解放军国防科技大学
类型:发明
国别省市:

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

1