CN109062679B - 一种面向并行处理的矢量数据通用划分方法 - Google Patents

一种面向并行处理的矢量数据通用划分方法 Download PDF

Info

Publication number
CN109062679B
CN109062679B CN201810861957.3A CN201810861957A CN109062679B CN 109062679 B CN109062679 B CN 109062679B CN 201810861957 A CN201810861957 A CN 201810861957A CN 109062679 B CN109062679 B CN 109062679B
Authority
CN
China
Prior art keywords
division
geometric objects
data
partitioning
strategy
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810861957.3A
Other languages
English (en)
Other versions
CN109062679A (zh
Inventor
赵灵军
王力哲
万广通
马艳
刘鹏
阎济宁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Institute of Remote Sensing and Digital Earth of CAS
Original Assignee
Institute of Remote Sensing and Digital Earth of CAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Institute of Remote Sensing and Digital Earth of CAS filed Critical Institute of Remote Sensing and Digital Earth of CAS
Priority to CN201810861957.3A priority Critical patent/CN109062679B/zh
Publication of CN109062679A publication Critical patent/CN109062679A/zh
Application granted granted Critical
Publication of CN109062679B publication Critical patent/CN109062679B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Processing Or Creating Images (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种面向并行处理的矢量数据通用划分方法,具体包括以下步骤:S1:矢量数据划分建模:按照特定的划分策略进行几何对象子集划分、几何对象子集空间范围重算、重构几何对象子集拓扑关系及几何对象对应的属性数据重建这四个步骤;S2:将矢量数据划分过程提炼抽象为接口父类、运算子类、及基础辅助类,并在抽象类中规定运算逻辑;S3:根据几何对象的计算粒度和空间相邻关系,在特定的应用场景下选择特定的划分策略,根据选用的划分策略,在执行程序中实现算法,完成划分功能。本发明的有益效果:用户在不改变矢量空间分析算法并行设计的情况下,只需指定划分策略,就可以实现高效率的数据划分,在数据划分层次提高了并行效率。

Description

一种面向并行处理的矢量数据通用划分方法
技术领域
本发明涉及高性能地理信息处理技术领域,具体来说涉及一种面向并行处理的矢量数据通用划分方法。
背景技术
并行算法中影响算法效率的重要方面是并行计算过程中的任务均衡,而影响任务均衡最重要的因素是数据集划分。数据划分的目的是将一块完整的数据分割为相对小的、独立的多块数据,为数据的分布式或并行操作提供基础。空间数据划分策略在空间数据管理中发挥着重要作用,尤其是对矢量并行算法整体性能的提高至关重要。
栅格数据和矢量数据是传统GIS中常用的两种内部空间数据结构。地理空间的矢量表达方式是用离散的点、线、面来表示和描述连续地理空间中的实体,即地理空间实体的形状和位置由一组坐标对确定,并与一定的属性相连接。矢量表达法集中了地理实体的形状特征以及不同实体之间的空间关系分布。
与栅格数据相比,矢量数据的优点是:数据结构紧密,存储空间较小;定位明显,属性隐含,容易定义和操作单个空间实体;能够进行有效的拓扑编码,便于空间拓扑分析;可直接利用计算机图形学的许多算法等。
而矢量数据的缺点则是:数据结构复杂,算法难以实现;不能有效地支持代数运算,复合操作很难实现;表示具有高度变化的地物困难,定位存取性能较差;处理位置关系(如相交、包含、邻接等)相当困难,连续变化的空间数据不能表示成矢量结构;与栅格数据结合处理时,需要将矢量结构先转换成网格结构,而不能直接加以利用。
鉴于矢量数据,尤其是具有拓扑关系的矢量数据的特点,目前尚未有一种公认的有效的矢量数据划分策略,能解决矢量数据结构复杂,处理空间位置和代数关系困难的问题。
发明内容
针对相关技术中的问题,本发明提出一种面向并行处理的矢量数据通用划分方法,解决矢量空间分析并行算法中因负载不均衡而导致效率不高的问题。
为了实现上述技术目的,本发明的技术方案是这样的:
一种面向并行处理的矢量数据通用划分方法,具体包括以下步骤:
S1:矢量数据划分建模:按照特定的划分策略进行数据划分,得到几何对象子集;依据几何对象子集计算子数据集的空间范围;重构几何对象子集拓扑关系;计算几何对象对应的属性数据;对几何对象子集进行运算,形成结果数据子集;
S2:在步骤S1的建模过程中,将矢量数据划分过程提炼抽象为接口父类、运算子类、及基础辅助类,并在抽象类中规定运算逻辑;
S3:根据几何对象的计算粒度和空间相邻关系,在特定的应用场景下选择特定的划分策略,划分策略具体包括:基于几何对象的简单划分策略、基于弧段的计算均衡性划分策略、基于规则条带的空间均衡性划分策略、基于加权不规则条带的双重均衡性划分策略;根据选用的划分策略,在执行程序中实现算法,完成划分功能。
进一步的,步骤S3中在选择所述划分策略前,根据应用场景,将划分策略名称以及划分块数作为输入参数。
进一步的,步骤S3中所述基于几何对象的简单划分策略是以几何对象为划分单位,对数据集内的几何对象按照划分块数进行平均分配,划分后各子数据集的几何对象个数近似相等。
进一步的,步骤S3中所述基于弧段的计算均衡性划分策略是以几何对象的基本计算单元-弧段为划分单位,对数据集内的几何对象在不破坏几何对象完整性的前提下按照弧段数进行平均分配,划分后各子数据集的弧段个数近似相等。
进一步的,步骤S3中所述基于规则条带的空间均衡性划分策略是以空间范围为划分单位,对数据集内的几何对象按照其最小外接矩形范围分配到等长或等宽的矩形框中,划分后各子数据集的空间形状呈条带状,空间范围近似相等。
进一步的,步骤S3中所述基于加权不规则条带的双重均衡性划分策略是综合弧段划分和规则条带划分方法,将弧段数作为权值对数据集按照空间范围沿X或者Y轴方向进行划分,划分后的子数据集呈条带状,覆盖的空间区域不一致,但总弧段数近似一致。
本发明的有益效果:针对矢量空间分析并行算法中因负载不均衡而导致效率不高的问题,综合矢量空间算法的计算粒度和空间相邻关系,提出矢量数据通用划分策略以及多种不同应用场景下的划分方法,使得用户在不改变矢量空间分析算法并行设计的情况下,只需指定划分策略,就可以实现高效率的数据划分,在数据划分层次提高了并行效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明矢量数据通用划分流程图;
图2为本发明通用划分模型实现示意图;
图3为本发明基于几何对象的简单划分空间示意图;
图4为本发明基于弧段的计算均衡性划分空间示意图;
图5为本发明基于规则条带的空间均衡性划分空间示意图;
图6为本发明基于加权不规则条带的双重均衡性划分空间示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
一种面向并行处理的矢量数据通用划分方法,具体包括以下步骤:
矢量数据划分建模:如图1所示,按照特定的划分策略进行数据划分,得到几何对象子集;依据几何对象子集计算子数据集的空间范围;重构几何对象子集拓扑关系;计算几何对象对应的属性数据;对几何对象子集进行运算,形成结果数据子集;并行处理中涉及数据块的传递,如果是整个子数据集传输,则需传递几何对象集,属性集,拓扑集等内容,网络负载较大,考虑实际情况,本发明在实现过程中,只传递划分结果子集的描述信息,由各节点根据描述信息自行从源数据集中读取各自分配的结果子集。
如图2所示,将矢量数据划分过程提炼,形成矢量数据划分抽象类,在抽象类中规定以上步骤的运算逻辑。将划分实现过程抽象为接口父类、运算子类、及基础辅助类,并在抽象类中规定运算逻辑;通用划分模型的构建采用模板方法实现。其中接口父类定义了通用划分模型的接口与实现步骤,在父类的接口函数中定义了实现步骤的处理逻辑,即规定划分过程有子集划分、空间范围重算、重构拓扑关系、属性重建等四个功能函数顺序组成。
运算子类从接口父类中集成,根据不同的划分策略实现功能函数。在接口类中四个功能函数中,子集划分为关键步骤,需要在运算子类中实现。其它三个功能函数,可以根据划分策略的特定进行复用或者重构。
基础辅助类采取工厂的方式进行实现,与用户进行接口。用将划分策略标识和划分块数作为输入参数,基础辅助类则根据输入参数实例化不同的运算子类,在程序执行过程中自动实现相应的划分策略,完成相应的划分功能。
不同于栅格数据的划分,并行处理中的矢量数据划分应综合考虑几何对象规模,划分粒度,几何对象的空间位置等因素。因此,矢量划分的基本原则是如何通过划分几何对象来达到空间运算在并行环境下各个节点上的最大并行化。本发明主要根据矢量空间算法的计算粒度和空间相邻关系,从计算均衡和空间均衡的角度来进行划分策略的实现。
I.基于几何对象的简单划分策略
基于几何对象的简单划分过程如下:
1)获取数据集π(A)中几何对象总数L,根据用户输入的分块数目N计算子数据集对象个数Li=L/N;
2)几何对象按照顺序索引进行切割,得到几何对象子集{G1,G2…GN},其中Gi的索引集为[L/N*(i-1),L/N*i];
3)依据Gi计算子数据集的空间范围Bi
4)根据Gi和Bi重构子数据集的拓扑关系Ti
5)根据Gi的索引,计算其对应的属性数据Pi
6)各部分组合,形成结果数据子集Ai,即:π(A)={A1,A2…An}。
由上述划分过程和图3空间示意图可以看出,基于几何对象的简单划分策略简单易懂,适合点数据类型。
II.基于弧段的计算均衡性划分策略
基于弧段的计算均衡性划分过程如下所示:
1)获取数据集中几何对象总数L,以及用户输入的分块数目N;
2)从拓扑信息中循环每个几何对象,获取其弧段数Mk,得到弧段总数
Figure BDA0001749904200000041
3)计算子数据集分配的弧段个数Q=M/N;
4)几何对象按照顺序索引进行弧段累加,得到几何对象子集{G1,G2…Gn},其中Gi的几何对象弧段总数近似等于Q;
5)依据Gi计算子数据集的空间范围Bi
6)根据Gi和Bi重构子数据集的拓扑关系Ti
7)根据Gi的索引,计算其对应的属性数据Pi
8)各部分组合,形成结果数据子集Ai,即:π(A)={A1,A2…An}。
由上述划分过程和图4空间示意图可以看出,基于弧段的计算均衡性划分策略能保障计算均衡性,提高运算效率,适合几何对象计算时相对独立的并行处理,能适应各种几何类型。
III.基于规则条带的空间均衡性划分策略
基于规则条带的空间均衡性划分过程如下所示:
1)获取数据集的空间范围B以及用户输入的分块数目N;
计算子数据集空间范围宽带W=B/N;
1)几何对象按照所属空间条带进行切割,得到几何对象子集{G1,G2…Gn},其中Gi的空间范围为[B/N*(i-1),B/N*i];
2)重构拓扑关系Ti
3)根据Gi的ID,计算其对应的属性数据Pi
4)各部分组合,形成结果数据子集Ai,即:π(A)={A1,A2…An}。
由上述划分过程和图5空间示意图可以看出,基于规则条带的空间均衡性划分策略能保障空间均衡性,有效的减少重叠区域的合并操作,适合空间数据密度分配较为均匀的并行处理,适合全部几何类型。
IV.基于加权不规则条带的双重均衡性划分策略
基于加权不规则条带的双重均衡性划分过程如下所示:
1)获取数据集的空间范围B以及用户输入的分块数目N;
2)计算子数据集空间范围以及所分配弧段数,使得Bi*Mi=Bi+1*Mi+1,以水平划分为例,具体过程为:
a)获取该子数据块的X初始范围Xs,Xe,以及中点坐标Xm=(Xe-Xs/2;
b)若Xs,Xm之间的弧段总数等于Q,则停止查找,确定该子数据集范围;
c)若Xs,Xm之间的弧段总数<Q,则以(Xe-Xm)/2作为Xe,重新计算弧段数;
d)若Xs,Xm之间的弧段总数>Q,则以(Xm-Xs)/2作为Xs,重新计算弧段数;
e)循环c和d,直至确定子数据集;
3)几何对象按照所属空间条带进行切割,得到几何对象子集{G1,G2…Gn}重构拓扑关系Ti
4)根据Gi的ID,计算其对应的属性数据Pi
5)各部分组合,形成结果数据子集Ai,即:π(A)={A1,A2…An}。
由上述划分过程和图6空间示意图可以看出基于不规则条带划分的双重均衡性划分策略,有效的减少了重叠区域的合并操作,又能保障计算均衡性,减少了计算节点因计算不均导致的互相等待过程,在很大程度上提高了并行处理效率。该方法因涉及二分法,划分时间较以上方法较长,但在大规模计算中,划分时间所占比例较小,总计算时间会降低。基于不规则条带划分的双重均衡性划分策略,适合大规模计算,适合所有几何类型。
以上仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (2)

1.一种面向并行处理的矢量数据通用划分方法,其特征在于,具体包括以下步骤:
S1:矢量数据划分建模:按照特定的划分策略进行数据划分,得到几何对象子集;依据几何对象子集计算子数据集的空间范围;重构几何对象子集拓扑关系;计算几何对象对应的属性数据;对几何对象子集进行运算,形成结果数据子集;
S2:在步骤S1的建模过程中,将矢量数据划分过程提炼抽象为接口父类、运算子类、及基础辅助类,并在抽象类中规定运算逻辑;
S3:根据几何对象的计算粒度和空间相邻关系,在特定的应用场景下选择特定的划分策略,划分策略具体包括:基于几何对象的简单划分策略、基于弧段的计算均衡性划分策略、基于规则条带的空间均衡性划分策略、基于加权不规则条带的双重均衡性划分策略;根据选用的划分策略,在执行程序中实现算法,完成划分功能;所述基于几何对象的简单划分策略是以几何对象为划分单位,对数据集内的几何对象按照划分块数进行平均分配,划分后各子数据集的几何对象个数近似相等;所述基于弧段的计算均衡性划分策略是以几何对象的基本计算单元-弧段为划分单位,对数据集内的几何对象在不破坏几何对象完整性的前提下按照弧段数进行平均分配,划分后各子数据集的弧段个数近似相等;所述基于规则条带的空间均衡性划分策略是以空间范围为划分单位,对数据集内的几何对象按照其最小外接矩形范围分配到等长或等宽的矩形框中,划分后各子数据集的空间形状呈条带状,空间范围近似相等;所述基于加权不规则条带的双重均衡性划分策略是综合弧段划分和规则条带划分方法,将弧段数作为权值对数据集按照空间范围沿X或者Y轴方向进行划分,划分后的子数据集呈条带状,覆盖的空间区域不一致,但总弧段数近似一致。
2.根据权利要求1所述的一种面向并行处理的矢量数据通用划分方法,其特征在于,步骤S3中在选择所述划分策略前,根据应用场景,将划分策略名称以及划分块数作为输入参数。
CN201810861957.3A 2018-08-01 2018-08-01 一种面向并行处理的矢量数据通用划分方法 Active CN109062679B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810861957.3A CN109062679B (zh) 2018-08-01 2018-08-01 一种面向并行处理的矢量数据通用划分方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810861957.3A CN109062679B (zh) 2018-08-01 2018-08-01 一种面向并行处理的矢量数据通用划分方法

Publications (2)

Publication Number Publication Date
CN109062679A CN109062679A (zh) 2018-12-21
CN109062679B true CN109062679B (zh) 2022-06-14

Family

ID=64832442

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810861957.3A Active CN109062679B (zh) 2018-08-01 2018-08-01 一种面向并行处理的矢量数据通用划分方法

Country Status (1)

Country Link
CN (1) CN109062679B (zh)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103049322A (zh) * 2012-12-31 2013-04-17 吴立新 一种针对拓扑关系并行计算的矢量目标集均衡划分方法
CN103150214A (zh) * 2012-12-31 2013-06-12 吴立新 一种针对空间度量及方向关系并行计算的矢量目标集均衡划分方法
CN103778191B (zh) * 2014-01-03 2017-02-15 南京师范大学 一种顾及空间邻近关系的矢量等高线数据划分方法
CN105260162B (zh) * 2015-09-30 2017-12-22 华为技术有限公司 一种矢量排列电路及矢量处理器
CN105551028B (zh) * 2015-12-09 2018-02-23 中山大学 一种基于遥感影像的地理空间数据动态更新的方法及系统

Also Published As

Publication number Publication date
CN109062679A (zh) 2018-12-21

Similar Documents

Publication Publication Date Title
Doraiswamy et al. Computing Reeb graphs as a union of contour trees
KR100233972B1 (ko) 기하학적 모델을 압축 및 압축해제하는 컴퓨터 시스템과 압축 및압축해제
Doraiswamy et al. Efficient algorithms for computing Reeb graphs
CN108228724A (zh) 基于图数据库的电网gis拓扑分析方法及存储介质
CN113628314B (zh) 一种虚幻引擎中摄影测量模型的可视化方法、装置和设备
CN110222029A (zh) 一种大数据多维分析计算效率提升方法及系统
CN111260784B (zh) 一种城市三维空间网格压缩编码方法、装置及终端设备
de Oliveira Miranda et al. Hierarchical template-based quadrilateral mesh generation
Lee et al. Parallel mesh simplification using embedded tree collapsing
WO2008008612A2 (en) Rewritable compression of triangulated data
Lü et al. Data environment construction for virtual geographic environment
CN109062679B (zh) 一种面向并行处理的矢量数据通用划分方法
CN110765319B (zh) 一种提高Janusgraph路径探索性能的方法
Fellegara et al. Terrain trees: a framework for representing, analyzing and visualizing triangulated terrains
US11714796B1 (en) Data recalculation and liveliness in applications
CN111310266B (zh) 建筑信息模型产品的几何数据分割方法
CN111309786B (zh) 基于MapReduce的并行频繁项集挖掘方法
Alderson et al. Optimizing line-of-sight using simplified regular terrains
Chen et al. A highly solid model boundary preserving method for large-scale parallel 3D Delaunay meshing on parallel computers
de Oliveira et al. A systematic review of algorithms with linear-time behaviour to generate Delaunay and Voronoi tessellations
CN115658975B (zh) 用于实现负载均衡的图数据划分方法
CN117237503B (zh) 一种地理要素数据加速渲染及装置
KR20010057053A (ko) 지도정보 좌표값을 이용한 다조건 최적경로 산출방법
CN115220657A (zh) 层级数据关系的获取方法、装置及其计算机设备
Guo et al. A mapreduce algorithm for polygon retrieval in geospatial analysis

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant