CN117056088A - 一种基于MapReduce的多模态测图数据分布式并行计算方法及系统 - Google Patents
一种基于MapReduce的多模态测图数据分布式并行计算方法及系统 Download PDFInfo
- Publication number
- CN117056088A CN117056088A CN202311312585.6A CN202311312585A CN117056088A CN 117056088 A CN117056088 A CN 117056088A CN 202311312585 A CN202311312585 A CN 202311312585A CN 117056088 A CN117056088 A CN 117056088A
- Authority
- CN
- China
- Prior art keywords
- data
- mapping data
- parallel
- distributed
- scheduling
- 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.)
- Granted
Links
- 238000013507 mapping Methods 0.000 title claims abstract description 115
- 238000004364 calculation method Methods 0.000 title claims abstract description 58
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 83
- 238000000034 method Methods 0.000 claims abstract description 26
- 238000003709 image segmentation Methods 0.000 claims description 11
- 238000012544 monitoring process Methods 0.000 claims description 9
- 238000012545 processing Methods 0.000 claims description 8
- 230000007246 mechanism Effects 0.000 claims description 7
- 230000002159 abnormal effect Effects 0.000 claims description 6
- 238000013500 data storage Methods 0.000 claims description 5
- 238000011084 recovery Methods 0.000 claims description 5
- 230000009467 reduction Effects 0.000 claims description 4
- 238000013215 result calculation Methods 0.000 claims description 3
- 238000005096 rolling process Methods 0.000 claims description 3
- 230000006870 function Effects 0.000 description 35
- 230000008569 process Effects 0.000 description 19
- 238000007726 management method Methods 0.000 description 13
- 238000003064 k means clustering Methods 0.000 description 10
- 238000001914 filtration Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 238000013461 design Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 108091026890 Coding region Proteins 0.000 description 1
- 239000003638 chemical reducing agent Substances 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9027—Trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/906—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种基于MapReduce的多模态测图数据分布式并行计算方法及系统,该方法利用Hadoop分布式系统框架,根据不同类型的测图数据选择不同的空间索引结构进行分布式存储;根据不同的测图业务算法选择不同的并行调度策略进行分布式并行计算。当选择分块式‑平行调度时,将数据分块并行计算得到结果,然后对计算结果进行归约;当选择序贯式‑合并调度时,整体算法串行进行,对不同并行计算结果进行一定的结果合并。本发明能够有效地解决海量多模态测图数据的存储管理和并行计算问题,提高分布式系统的效率和准确性。
Description
技术领域
本发明涉及计算机、地理信息系统和并行计算技术领域,尤其涉及一种基于MapReduce 的多模态测图数据分布式并行计算方法及系统。
背景技术
测图数据是一种空间数据,主要用于表达地理空间信息,如地形、地物、地理位置等。测图数据具有多模态、高密度、大数据量等特点,对其进行存储和管理是一项挑战性的工作。传统的单机或集中式的数据库系统往往难以满足测图数据的存储和管理需求。
为了解决这些问题,近年来出现了一些基于分布式技术的测图数据存储和管理方法,如基于 Hadoop 的分布式文件系统 HDFS 和分布式数据库 HBase。Hadoop 是一个开源的分布式系统基础框架,提供了分布式文件系统 HDFS 和分布式计算框架 MapReduce。HDFS 是一个基于块存储的分布式文件系统,可以将大文件切分成固定大小的数据块,并将其分散存储在多个计算节点上,并提供了数据备份和容错机制。HBase 是一个基于 HDFS的非关系型分布式数据库,可以提供对大规模结构化或半结构化数据的随机读写能力。利用 Hadoop 的分布式技术,可以实现对海量测图数据的高效存储和管理。
然而,仅仅实现对测图数据的存储和管理还不够,还需要对测图数据进行不同的业务算法处理,如影像分割、点云配准等。这些业务算法往往涉及到复杂的计算逻辑和大量的计算资源,如果使用传统的单机或集中式的计算系统来执行,也会遇到问题。
为了解决这些问题,近年来出现了一些基于分布式技术的测图数据并行计算方法,如基于 MapReduce 的并行调度策略。MapReduce 是一种编程模型,可以将一个复杂的计算过程分解成两个简单的函数:Map 和 Reduce。Map 函数负责将输入数据切分成多个键值对,并将其发送给不同的计算节点进行并行处理;Reduce 函数负责将不同节点处理后的键值对按照键进行合并,并输出最终结果。利用 MapReduce 的编程模型,可以实现对测图数据的分布式并行计算。
但是,现有的基于分布式技术的测图数据存储和管理方法以及并行计算方法,还存在以下不足:
(1)没有针对不同类型的测图数据设计不同的索引结构来实现对测图数据的空间划分和组织管理;
(2)没有针对不同的测图业务算法设计不同的并行调度策略来实现对测图数据的分布式并行计算。
发明内容
为了克服现有技术的不足,本发明提供一种基于 MapReduce 的多模态测图数据分布式并行计算方法及系统,用以实现对不同类型的测图数据的高效存储和管理以及不同的测图业务算法的分布式并行计算。
根据本发明的第一方面,本发明提供一种基于 MapReduce 的多模态测图数据分布式并行计算方法,包括以下步骤:
步骤S1、将多模态测图数据按照不同的空间索引方式进行分布式存储;其中,多模态测图数据包括影像数据和点云数据;
步骤S2、根据不同的测图数据应用算法,设计分块式-平行调度或序贯式-合并调度模式;
步骤S3、当选择分块式-平行调度时,将数据分块并行计算得到结果,然后对计算结果进行归约;
步骤S4、当选择序贯式-合并调度时,整体算法串行进行,对不同并行计算结果进行一定的结果合并。
在上述技术方案的基础上,本发明还可以作出如下改进。
可选的,在步骤S1中,所述将多模态测图数据按照不同的空间索引方式进行分布式存储具体包括:
根据测图数据的类型,选择不同的空间索引结构,对测图数据进行空间划分和组织管理,将测图数据存储在分布式文件系统中。
可选的,所述根据测图数据的类型,选择不同的空间索引结构包括:
对于影像数据,选择四叉树作为空间索引结构,将二维平面划分成四个象限,并递归地对每个象限进行划分,直到满足预设的停止条件;
对于点云数据,选择八叉树作为空间索引结构,将三维立体划分成八个子立方体,并递归地对每个子立方体进行划分,直到满足预设的停止条件。
可选的,在步骤S2中,所述不同的测图数据应用算法包括但不限于影像分割算法和点云配准算法,所述根据不同的测图数据应用算法,设计分块式-平行调度或序贯式-合并调度模式具体包括:
使用 Hadoop 分布式计算框架 MapReduce 作为分布式计算平台,根据不同的测图数据应用算法,设计分块式-平行调度和序贯式-合并调度两种调度模式,并将数据块和计算任务分配给不同的计算节点。
可选的,所述根据不同的测图数据应用算法,设计分块式-平行调度或序贯式-合并调度模式还包括:
当选择为影像分割算法,对应分块式-平行调度策略;当选择为点云配准算法,对应序贯式-合并调度策略。
可选的,在步骤S3中,所述将数据分块并行计算得到结果,然后对计算结果进行归约具体包括:
使用 MapReduce 的 Map 函数和 Reduce 函数来实现数据分块并行计算和计算结果归约;其中,Map 函数接收一个数据块作为输入,并对其进行相应的计算操作,输出一个或多个键值对;Reduce 函数接收一个或多个具有相同键的键值对作为输入,并对其进行相应的合并操作,输出一个或多个键值对。
可选的,在步骤S4中,所述整体算法串行进行,对不同并行计算结果进行一定的结果合包括:
使用 MapReduce 的 Map 函数和 Reduce 函数来实现整体算法串行进行和不同并行计算结果合并。
可选的,使用 Hadoop 的监控机制来检测和处理异常情况,如数据节点或计算节点的故障、任务执行失败或超时,并采取重新分配数据块或计算任务、重新执行任务或回滚结果的方式来恢复措施。
根据本发明的第二方面,提供一种基于 MapReduce 的多模态测图数据分布式并行计算系统,其特征在于,包括:
数据存储模块,用于将多模态测图数据按照不同的空间索引方式进行分布式存储;其中,多模态测图数据包括影像数据和点云数据;
调度模式选择模块,用于根据不同的测图数据应用算法,设计分块式-平行调度模式或序贯式-合并调度模式;
结果计算模块,用于在选择分块式-平行调度时,将数据分块并行计算得到结果,然后对计算结果进行归约;或在选择序贯式-合并调度时,整体算法串行进行,对不同并行计算结果进行一定的结果合并。
可选的,还包括:数据监控模块,用于使用 Hadoop 的监控机制来检测和处理异常情况,包括数据节点或计算节点的故障、任务执行失败或超时,并采取重新分配数据块或计算任务、重新执行任务或回滚结果的方式来恢复措施。
本发明的技术效果和优点:
本发明提供的一种基于 MapReduce 的多模态测图数据分布式并行计算方法及系统,利用 Hadoop 分布式系统框架,根据不同类型的影像数据和点云数据选择不同的空间索引结构,如四叉树和八叉树进行分布式存储;根据不同的测图业务算法选择不同的并行调度策略,如分块式-平行调度和序贯式-合并调度进行分布式并行计算。本发明能够有效地解决海量多模态测图数据的存储管理和并行计算问题,提高分布式系统的效率和准确性。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所指出的结构来实现和获得。
附图说明
图1是本发明实施例提供的基于 MapReduce 的多模态测图数据分布式并行计算方法的流程示意图;
图2是本发明实施例提供的基于 MapReduce 的三维点云统计滤波算法流程图;
图3是本发明实施例提供的基于 MapReduce 的 K 均值聚类算法流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要进行说明的是,MapReduce 是 Hadoop 中的一个分布式运算程序的编程框架,其开发的目的 是给予用户更好的实现大数据的分布式运算的能力,这一框架编写出的应用程序 可以运行在大型的分布式集群中,并以可靠的、具有容错能力的方式并行的处理分布式集群中的海量数据。MapReduce的设计思想就是分治思想,其中分为两个 过程:Mapper与Reducer,其中Mapper负责分,把复杂的任务分解成若干的简 单的任务来处理,Reducer负责对Map阶段的结果进行汇总,实现对集群上的数 据集进行分布式的运算。而MapReduce的工作过程由JobTracker与TaskTracer 两个实体来实现,其中JobTracker负责资源管理与作业的控制,而TaskTracker 负责任务的运行。
可以理解的是,基于背景技术中的缺陷,本发明实施例提出了一种基于MapReduce 的多模态测图数据分布式并行计算方法,如图1所示为本发明实施例计算方法的具体流程图,参考图1所示,所述基于 MapReduce 的多模态测图数据分布式并行计算方法包括以下步骤:
步骤S1、将多模态测图数据按照不同的空间索引方式进行分布式存储;其中,多模态测图数据包括影像数据和点云数据;
步骤S2、根据不同的测图数据应用算法,设计分块式-平行调度或序贯式-合并调度模式;
步骤S3、当选择分块式-平行调度时,将数据分块并行计算得到结果,然后对计算结果进行归约;
步骤S4、当选择序贯式-合并调度时,整体算法串行进行,对不同并行计算结果进行一定的结果合并。
优选地,在步骤S1中,多模态测图数据包括二维平面的测图数据和三维立体的测图数据;二维平面的测图数据包括但不限于影像数据,三维立体的测图数据包括但不限于点云数据;
对于二维平面的测图数据,如影像数据,选择四叉树作为空间索引结构,将二维平面划分成四个象限,并递归地对每个象限进行划分,直到满足预设的停止条件;
对于三维立体的测图数据,如点云数据,选择八叉树作为空间索引结构,将三维立体划分成八个子立方体,并递归地对每个子立方体进行划分,直到满足预设的停止条件。
将多模态测图数据按照不同的空间索引方式进行分布式存储具体包括:
根据测图数据的类型,选择不同的空间索引结构,对测图数据进行空间划分和组织管理,将测图数据存储在 Hadoop 分布式文件系统 HDFS 中。
在本实施例中,使用 Hadoop 分布式文件系统 HDFS 作为分布式存储平台,将多模态测图数据按照不同的空间索引方式划分为多个数据块,并存储在不同的数据节点上。
优选地,在步骤S2中,所述不同的测图数据应用算法包括但不限于影像分割算法和点云配准算法,所述根据不同的测图数据应用算法,设计分块式-平行调度或序贯式-合并调度模式具体包括:
使用 Hadoop 分布式计算框架 MapReduce 作为分布式计算平台,根据不同的测图数据应用算法,设计分块式-平行调度和序贯式-合并调度两种调度模式,并将数据块和计算任务分配给不同的计算节点。
更进一步,对于可以将输入数据切分成多个独立子任务,并且可以将子任务结果合并得到最终结果的测图业务算法,如影像分割算法,选择分块式-平行调度策略,即将输入数据按照空间索引结构切分成多个数据块,并将每个数据块作为一个 Map 任务发送给不同的计算节点进行并行处理;然后将不同节点处理后的结果按照键进行合并,并输出最终结果;
对于需要按照一定顺序执行多个子算法,并且需要将上一个子算法的结果作为下一个子算法的输入的测图业务算法,如点云配准算法,选择序贯式-合并调度策略,即将输入数据按照空间索引结构切分成多个数据块,并将每个数据块作为一个 Map 任务发送给不同的计算节点进行第一个子算法的并行处理;然后将不同节点处理后的结果按照键进行合并,并作为下一个子算法的输入;依次类推,直到执行完所有子算法,并输出最终结果。
优选地,在步骤S3和步骤S4中,使用 MapReduce 的 Map 函数和 Reduce 函数来实现步骤3中的数据分块并行计算和计算结果归约,以及实现步骤4中的整体算法串行进行和不同并行计算结果合并。其中,Map 函数接收一个数据块作为输入,并对其进行相应的计算操作,输出一个或多个键值对;Reduce 函数接收一个或多个具有相同键的键值对作为输入,并对其进行相应的合并操作,输出一个或多个键值对。
需要进行说明的是,在步骤S1- S4任一步骤中,使用 Hadoop 的监控机制来检测和处理异常情况,如数据节点或计算节点的故障、任务执行失败或超时等,并采取相应的恢复措施,如重新分配数据块或计算任务、重新执行任务或回滚结果。
进一步地,本发明实施例可以通过针对以下两种不同类型的测图数据的具体实施方式来说明:
对于二维平面测图数据:
本实施方式主要针对二维平面的测图数据,如影像数据,使用四叉树作为空间索引结构,将二维平面划分成四个象限,并递归地对每个象限进行划分,直到满足预设的停止条件,如数据块大小或深度等。然后将划分后的数据块存储在 Hadoop 分布式文件系统HDFS 中,每个数据块对应一个文件,文件名为该数据块所在的四叉树节点的编码。同时,在HDFS 中建立一个元数据文件,记录每个数据块的空间范围、文件名、所属象限等信息。
在进行分布式并行计算时,根据不同的测图业务算法,选择不同的并行调度策略。例如,如图2所示,对于影像分割算法,可以选择分块式-平行调度策略,即将输入数据按照空间索引结构切分成多个数据块,并将每个数据块作为一个 Map 任务发送给不同的计算节点进行并行处理;然后将不同节点处理后的结果按照键进行合并,并输出最终结果。其中,Map 函数接收一个数据块作为输入,并对其进行相应的计算操作,输出一个或多个键值对;Reduce 函数接收一个或多个具有相同键的键值对作为输入,并对其进行相应的合并操作,输出一个或多个键值对。
具体来说,影像分割算法是一种将影像划分成若干个具有相似性质或特征的区域(如颜色、纹理、形状等)的算法,常用于提取影像中感兴趣的目标或背景。本实施方式采用了一种基于 K 均值聚类(K-means clustering) 的影像分割算法 。K 均值聚类是一种无监督学习方法,它将给定的数据集划分成 K 个不相交的子集(即聚类),使得每个子集内部的数据点尽可能相似(即距离较小),而不同子集之间的数据点尽可能不同(即距离较大)。K均值聚类算法需要预先指定 K 的值,并随机初始化 K 个聚类中心(即每个聚类的代表点)。然后重复以下两个步骤直到收敛:(1)将每个数据点分配到距离它最近的聚类中心所属的聚类;(2)更新每个聚类中心为该聚类内所有数据点的平均值。
在本实施方式中,针对遥感影像的K均值聚类算法的MapReduce分布式计算设计过程中,通过HBase获取影像路径以及对应的影像元数据信息(图幅大小),并在HDFS中找到对应的文件树位置,获取到遥感影像像素点特征信息,并进行读取。
首先要进行初始的聚类中心的选择,通过设计对应的聚类中心数据结构,并实现该数据结构对应的节点间传输的数据接口,方便聚类中心信息可以在节点之间进行传输。其中包括数据中心点Id,该聚类中心的像素点个数,聚类中心的特征信息以及聚类中心的像素点偏移值。我们首先根据算法,选择K个初始聚类中心,并获取这K个初始聚类中心的特征信息,并创建一个存储聚类中心的文件,并将这一轮的初始聚类中心信息写入其中,并将其作为全局共享信息加入到MapReduce的分布共享缓存中,加快K均值聚类算法迭代过程中进行像素点根据距离函数进行聚类过程的网络传输时间。
接下来设计Map过程,K均值聚类算法的MapReduce实现中,Map任务负责计算影像数据的每一个对象的特征值与聚类中心的相似性,并判断其所属的聚类中心。在Map任务的设计过程中,首先设计Map任务的初始化过程,即每一个Map任务节点在初始化过程中都读取上述创建的存储有每一个聚类中心数据的文件。将获取的数据块中的相关信息生成对应的键值对,作为MapReduce的输入,将文件四叉树索引所在的节点编号序列字符串以及对应的影像的偏移量(x,y)作为输入的键,并将该影像对应的特征值作为值输入到Map任务中。接下来就将每一个Map任务中获取的输入的影像数据信息(键值对),计算输入的对象与每一个聚类中心的相似性,并判断其属于哪一个聚类中心,最后输出一个键值对,作为该Map任务的输出结果,其中key为该聚类中心的编号,value由该像素点的四叉树索引的节点编号和对象在该数据块偏移量(x,y)以及特征值。
利用Combiner函数将Map任务输出的键值对进行汇总,将键相同的输出值进行汇总,获得一个由一个聚类中心Id为键,并将分到该聚类中心下的所有对象的相关信息value组成的一个字符串集合,将其作为这一个Combiner函数输出的值,最后将这一个键值对作为整体Combiner函数的输出,将该键值对输入给Reduce函数做最后的聚类中心计算以及是否继续迭代的判断。
在Reduce端,将获取上述Combiner函数输出的键值对,并针对每一个键值对聚类中心进行重新计算,并且根据Combiner函数输入的值中的所有的像素特征值,以及统计分到该聚类中心中的所有像素的总数num,根据上述统计结果,求取新的聚类中心的特征值,并将其作为新的聚类中心。在这时根据重新计算的聚类中心结果进行判断,是否需要继续进行迭代,如果无需继续迭代,则将Combiner输入的作为输出,并在最后根据像素点的聚类中心Id根据初始生成的颜色集合进行图像上的显示,并且根据遥感影像初始数据的图幅大小以及该对象数据中的键值,即四叉树索引编码序列字符串,以及像素点的偏移量计算初始的影像像素点的位置,生成最后的K均值聚类图像,得到最后的K均值聚类结果。如果需要继续进行迭代,则需要将Reduce端输出的以聚类中心Id为键,以重新计算得到的聚类中心的特征信息为值的键值对,作为Reduce端的输出,并且生成以重新计算得到的聚类中心信息文件,并将其更新到MapReduce的分布共享缓存中,为下一次迭代过程的计算做准备。
所以总的来说,针对K均值聚类的序贯式-合并调度设计,利用上述设计的四叉树节点序号,可以帮助最后的影像像素点赋值的像素值查找,并且设计Combiner函数针对Map任务进行优化,作为Reduce端的输入。在实际上,通过多个MapReduce进行连接,实现适用算法的顺序分布式计算。最终实现序贯式-合并调度。
对于三维立体测图数据:
本实施方式主要针对三维立体的测图数据,如点云数据,使用八叉树作为空间索引结构,将三维立体划分成八个子立方体,并递归地对每个子立方体进行划分,直到满足预设的停止条件,如数据块大小或深度等。然后将划分后的数据块存储在 Hadoop 分布式文件系统 HDFS 中,每个数据块对应一个文件,文件名为该数据块所在的八叉树节点的编码。同时,在 HDFS 中建立一个元数据文件,记录每个数据块的空间范围、文件名、所属子立方体等信息。
在进行分布式并行计算时,根据不同的测图业务算法,选择不同的并行调度策略。例如,如图3所示,对于点云配准算法,可以选择序贯式-合并调度策略,即将输入数据按照空间索引结构切分成多个数据块,并将每个数据块作为一个 Map 任务发送给不同的计算节点进行第一个子算法的并行处理;然后将不同节点处理后的结果按照键进行合并,并作为下一个子算法的输入;依次类推,直到执行完所有子算法,并输出最终结果。其中,Map 函数接收一个或多个键值对作为输入,并对其进行相应的计算操作或合并操作,输出一个或多个键值对;Reduce 函数接收一个或多个具有相同键的键值对作为输入,并对其进行相应的合并操作或输出操作,输出一个或多个键值对。
具体来说,点云配准算法是一种将两个或多个点云数据集对齐到同一坐标系下的算法,常用于提取点云中感兴趣的目标或背景。本实施方式采用了一种基于迭代最近点(Iterative Closest Point, ICP)的点云配准算法。ICP 算法是一种迭代算法,它通过不断地调整点云数据集的位置和方向,使得两个点云数据集之间的距离最小。ICP 算法需要预先指定初始位置和方向,并重复以下两个步骤直到收敛:(1)对于每个点云数据集中的点,寻找另一个点云数据集中距离它最近的点,并建立点对关系;(2)根据建立的点对关系,计算两个点云数据集之间的最优变换矩阵(如旋转矩阵和平移向量),并更新两个点云数据集的位置和方向。
在本实施方式中,首先从HDFS中读取八叉树存储的三维点云数据。接下来,假设我们分割的点云数据块中的所有点云的K个最近邻点都在同一数据块中,减少寻找K个最近邻点的搜索范围。在构建Map函数的输入时将一个个数据块点中的点云构成对应的键值对集合,即将遍历到的起始点数据与对应的八叉树中的节点编码作为键值,将点云数据块中的剩余点作为目标点,其信息作为值,构成键值对集合,作为Map函数的输入。
Map函数则根据上述输入,计算上述键值对所对应的起始点以及目标点的距离,并将一整个键值对集合计算完之后,以起始点数据以及其在八叉树中的节点编码为键,以目标点信息以及计算出来的距离为值,作为下一步Combiner函数的输出。
Combiner函数将Map函数输入的键值对根据键值进行一定的合并,即根据起始点信息进行合并,从而得到每一个起始点与剩下所有点的的距离集合,并进行筛选,选择出距离最小的K个点,即所需要求得的K个最近邻点。并在接下来计算每一个起始点距离K个最近邻点的距离的均值dmean,在接下来以起始点的信息为键,将起始点与K个最近邻点的距离均值dmean为值作为下一步Reduce函数的输入,方便下一步Reduce函数根据输入的信息根据点云统计滤波算法原理找到噪声点,并将噪声点进行滤除。
在Reduce端计算所有的dmean的平均值Distmean,以及对应的方差σ,根据初始参数设定的thresh值,计算我们认为的非离群点信息的dmean所应该在的统计范围,即Distmean-thresh *σ<dmean<Distmean+ thresh * σ。根据上述公式,判断对应的点云计算出来的离K个最邻近点的距离dmean是否在上述的统计范围内,决定对应的点是否需要滤除,最后将对应的八叉树节点编号为键,需要滤除的点云集合中的点为值,作为Reduce端的输出,得到需要滤除的点。最后根据Reduce端的输出,根据键值找到对应的点云数据文件,找到对应的需要滤除的点,进行噪声点的剔除,得到最后我们三维点云统计滤波的结果。
在基于MapReduce的三维点云统计滤波分布式计算实现过程中,结合八叉树的结构,在三维点云统计滤波的计算过程中,减少了寻找K个最邻近点的目标点数,以及在最后在获取剔除的噪声点信息的查找过程中,也减少了查找过程。于此同时通过设计针对该算法设计Combiner函数优化Map端的输出结果,作为Reduce端的函数输入,最后完成整体的基于MapReduce的三维点云统计滤波分布式计算的过程,使用MapReduce结构实现使用算法的分布式计算,最终实现分块式-并行调度的调度过程。
下面对本发明实施例提供的基于 MapReduce 的多模态测图数据分布式并行计算系统进行描述,下文描述的基于 MapReduce 的多模态测图数据分布式并行计算系统与上文描述的基于 MapReduce 的多模态测图数据分布式并行计算方法可相互对应参照。
另外地,本发明实施例还提供一种基于 MapReduce 的多模态测图数据分布式并行计算系统,包括:
数据存储模块,用于将多模态测图数据按照不同的空间索引方式进行分布式存储;多模态测图数据包括影像数据和点云数据;
调度模式选择模块,用于根据不同的测图数据应用算法,设计分块式-平行调度模式或序贯式-合并调度模式;
结果计算模块,用于在选择分块式-平行调度时,将数据分块并行计算得到结果,然后对计算结果进行归约;或在选择序贯式-合并调度时,整体算法串行进行,对不同并行计算结果进行一定的结果合并。
所述系统还包括:数据监控模块,用于使用 Hadoop 的监控机制来检测和处理异常情况,如数据节点或计算节点的故障、任务执行失败或超时,并采取重新分配数据块或计算任务、重新执行任务或回滚结果的方式来恢复措施。
可以理解的是,本发明实施例提供的一种基于 MapReduce 的多模态测图数据分布式并行计算系统与前述实施例提供的基于 MapReduce 的多模态测图数据分布式并行计算方法相对应,基于 MapReduce 的多模态测图数据分布式并行计算系统的相关技术特征可参考基于 MapReduce 的多模态测图数据分布式并行计算方法的相关技术特征,在此不再赘述。
综上,本发明实施例所述的一种基于 MapReduce 的多模态测图数据分布式并行计算方法及系统,主要用于实现对不同类型的测图数据(如影像数据和点云数据)进行高效存储和管理以及不同的测图业务算法(如影像分割和点云配准)的分布式并行计算。本发明能够有效地解决海量多模态测图数据的存储管理和并行计算问题,提高分布式系统的效率和准确性。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种基于 MapReduce 的多模态测图数据分布式并行计算方法,其特征在于,包括以下步骤:
步骤S1、将多模态测图数据按照不同的空间索引方式进行分布式存储;其中,多模态测图数据包括影像数据和点云数据;
步骤S2、根据不同的测图数据应用算法,选择分块式-平行调度模式或序贯式-合并调度模式;
步骤S3、当选择分块式-平行调度时,将数据分块并行计算得到结果,然后对计算结果进行归约;
步骤S4、当选择序贯式-合并调度时,整体算法串行进行,对不同并行计算结果进行一定的结果合并。
2.根据权利要求1所述的一种基于 MapReduce 的多模态测图数据分布式并行计算方法,其特征在于,在步骤S1中,所述将多模态测图数据按照不同的空间索引方式进行分布式存储具体包括:
根据测图数据的类型,选择不同的空间索引结构,对测图数据进行空间划分和组织管理,将测图数据存储在分布式文件系统中。
3.根据权利要求2所述的一种基于 MapReduce 的多模态测图数据分布式并行计算方法,其特征在于,所述根据测图数据的类型,选择不同的空间索引结构包括:
对于影像数据,选择四叉树作为空间索引结构,将二维平面划分成四个象限,并递归地对每个象限进行划分,直到满足预设的停止条件;
对于点云数据,选择八叉树作为空间索引结构,将三维立体划分成八个子立方体,并递归地对每个子立方体进行划分,直到满足预设的停止条件。
4.根据权利要求1所述的一种基于 MapReduce 的多模态测图数据分布式并行计算方法,其特征在于,在步骤S2中,所述不同的测图数据应用算法包括但不限于影像分割算法和点云配准算法,所述根据不同的测图数据应用算法,设计分块式-平行调度或序贯式-合并调度模式包括:
使用 Hadoop 分布式计算框架 MapReduce 作为分布式计算平台,根据不同的测图数据应用算法,设计分块式-平行调度和序贯式-合并调度两种调度模式,并将数据块和计算任务分配给不同的计算节点。
5.根据权利要求4所述的一种基于 MapReduce 的多模态测图数据分布式并行计算方法,其特征在于,所述根据不同的测图数据应用算法,设计分块式-平行调度或序贯式-合并调度模式还包括:
当选择为影像分割算法,对应分块式-平行调度策略;当选择为点云配准算法,对应序贯式-合并调度策略。
6.根据权利要求1所述的一种基于 MapReduce 的多模态测图数据分布式并行计算方法,其特征在于,在步骤S3中,所述将数据分块并行计算得到结果,然后对计算结果进行归约具体包括:
使用 MapReduce 的 Map 函数和 Reduce 函数来实现数据分块并行计算和计算结果归约;其中,Map 函数接收一个数据块作为输入,并对其进行相应的计算操作,输出一个或多个键值对;Reduce 函数接收一个或多个具有相同键的键值对作为输入,并对其进行相应的合并操作,输出一个或多个键值对。
7.根据权利要求1所述的一种基于 MapReduce 的多模态测图数据分布式并行计算方法,其特征在于,在步骤S4中,所述整体算法串行进行,对不同并行计算结果进行一定的结果合并具体包括:
使用 MapReduce 的 Map 函数和 Reduce 函数来实现整体算法串行进行和不同并行计算结果合并。
8.根据权利要求1所述的一种基于 MapReduce 的多模态测图数据分布式并行计算方法,其特征在于,使用 Hadoop 的监控机制来检测和处理异常情况,包括数据节点或计算节点的故障、任务执行失败或超时,并采取重新分配数据块或计算任务、重新执行任务或回滚结果的方式来恢复措施。
9.一种基于 MapReduce 的多模态测图数据分布式并行计算系统,其特征在于,包括:
数据存储模块,用于将多模态测图数据按照不同的空间索引方式进行分布式存储;其中,多模态测图数据包括影像数据和点云数据;
调度模式选择模块,用于根据不同的测图数据应用算法,选择分块式-平行调度模式或序贯式-合并调度模式;
结果计算模块,用于在选择分块式-平行调度时,将数据分块并行计算得到结果,然后对计算结果进行归约;或在选择序贯式-合并调度时,整体算法串行进行,对不同并行计算结果进行一定的结果合并。
10.根据权利要求1所述的一种基于 MapReduce 的多模态测图数据分布式并行计算系统,其特征在于,还包括:
数据监控模块,用于使用 Hadoop 的监控机制来检测和处理异常情况,包括数据节点或计算节点的故障、任务执行失败或超时,并采取重新分配数据块或计算任务、重新执行任务或回滚结果的方式来恢复措施。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311312585.6A CN117056088B (zh) | 2023-10-11 | 2023-10-11 | 一种基于MapReduce的多模态测图数据分布式并行计算方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311312585.6A CN117056088B (zh) | 2023-10-11 | 2023-10-11 | 一种基于MapReduce的多模态测图数据分布式并行计算方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117056088A true CN117056088A (zh) | 2023-11-14 |
CN117056088B CN117056088B (zh) | 2024-01-19 |
Family
ID=88661248
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311312585.6A Active CN117056088B (zh) | 2023-10-11 | 2023-10-11 | 一种基于MapReduce的多模态测图数据分布式并行计算方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117056088B (zh) |
Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110302194A1 (en) * | 2010-06-08 | 2011-12-08 | Google Inc. | Scalable rendering of large spatial databases |
CN103092926A (zh) * | 2012-12-29 | 2013-05-08 | 深圳先进技术研究院 | 多层次混合的三维空间索引方法 |
US20130117273A1 (en) * | 2011-11-03 | 2013-05-09 | Electronics And Telecommunications Research Institute | Forensic index method and apparatus by distributed processing |
US20130297624A1 (en) * | 2012-05-07 | 2013-11-07 | Microsoft Corporation | Interoperability between Map-Reduce and Distributed Array Runtimes |
US20150019562A1 (en) * | 2011-04-26 | 2015-01-15 | Brian J. Bulkowski | Method and system of mapreduce implementations on indexed datasets in a distributed database environment |
US20150199383A1 (en) * | 2014-01-16 | 2015-07-16 | Nokia Corporation | Systems and Methods for Indexing and Retrieving Images |
KR20150133121A (ko) * | 2014-05-19 | 2015-11-27 | 한국과학기술원 | 이웃 탐색 연산 시스템 |
CN105589951A (zh) * | 2015-12-18 | 2016-05-18 | 中国科学院计算机网络信息中心 | 一种海量遥感影像元数据分布式存储方法及并行查询方法 |
CN106022245A (zh) * | 2016-05-16 | 2016-10-12 | 中国资源卫星应用中心 | 一种基于算法分类的多源遥感卫星数据并行处理系统及方法 |
CN107679127A (zh) * | 2017-09-21 | 2018-02-09 | 北京星闪世图科技有限公司 | 基于地理位置的点云信息并行提取方法及其系统 |
CN110187970A (zh) * | 2019-05-30 | 2019-08-30 | 北京理工大学 | 一种基于Hadoop MapReduce的分布式大数据并行计算方法 |
US20200311142A1 (en) * | 2019-03-28 | 2020-10-01 | Amazon Technologies, Inc. | Spatial Indexing |
US20200371993A1 (en) * | 2019-05-21 | 2020-11-26 | Oracle International Corporation | Spatial indexing using resilient distributed datasets |
CN112907752A (zh) * | 2021-03-10 | 2021-06-04 | 国网通用航空有限公司 | 一种基于全球索引的点云切片处理方法 |
CN116383144A (zh) * | 2023-03-23 | 2023-07-04 | 中科星图股份有限公司 | 一种多源异构遥感数据存储方法和装置 |
CN116597080A (zh) * | 2023-05-10 | 2023-08-15 | 武汉大学 | 一种多源空间数据的完整场景3d精细模型构建系统及方法 |
-
2023
- 2023-10-11 CN CN202311312585.6A patent/CN117056088B/zh active Active
Patent Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110302194A1 (en) * | 2010-06-08 | 2011-12-08 | Google Inc. | Scalable rendering of large spatial databases |
US20150019562A1 (en) * | 2011-04-26 | 2015-01-15 | Brian J. Bulkowski | Method and system of mapreduce implementations on indexed datasets in a distributed database environment |
US20130117273A1 (en) * | 2011-11-03 | 2013-05-09 | Electronics And Telecommunications Research Institute | Forensic index method and apparatus by distributed processing |
US20130297624A1 (en) * | 2012-05-07 | 2013-11-07 | Microsoft Corporation | Interoperability between Map-Reduce and Distributed Array Runtimes |
CN103092926A (zh) * | 2012-12-29 | 2013-05-08 | 深圳先进技术研究院 | 多层次混合的三维空间索引方法 |
US20150199383A1 (en) * | 2014-01-16 | 2015-07-16 | Nokia Corporation | Systems and Methods for Indexing and Retrieving Images |
KR20150133121A (ko) * | 2014-05-19 | 2015-11-27 | 한국과학기술원 | 이웃 탐색 연산 시스템 |
CN105589951A (zh) * | 2015-12-18 | 2016-05-18 | 中国科学院计算机网络信息中心 | 一种海量遥感影像元数据分布式存储方法及并行查询方法 |
CN106022245A (zh) * | 2016-05-16 | 2016-10-12 | 中国资源卫星应用中心 | 一种基于算法分类的多源遥感卫星数据并行处理系统及方法 |
CN107679127A (zh) * | 2017-09-21 | 2018-02-09 | 北京星闪世图科技有限公司 | 基于地理位置的点云信息并行提取方法及其系统 |
US20200311142A1 (en) * | 2019-03-28 | 2020-10-01 | Amazon Technologies, Inc. | Spatial Indexing |
US20200371993A1 (en) * | 2019-05-21 | 2020-11-26 | Oracle International Corporation | Spatial indexing using resilient distributed datasets |
CN110187970A (zh) * | 2019-05-30 | 2019-08-30 | 北京理工大学 | 一种基于Hadoop MapReduce的分布式大数据并行计算方法 |
CN112907752A (zh) * | 2021-03-10 | 2021-06-04 | 国网通用航空有限公司 | 一种基于全球索引的点云切片处理方法 |
CN116383144A (zh) * | 2023-03-23 | 2023-07-04 | 中科星图股份有限公司 | 一种多源异构遥感数据存储方法和装置 |
CN116597080A (zh) * | 2023-05-10 | 2023-08-15 | 武汉大学 | 一种多源空间数据的完整场景3d精细模型构建系统及方法 |
Non-Patent Citations (2)
Title |
---|
丁灿等: "基于Hadoop平台的图像检索分布式算法的改进研究", 《南开大学学报(自然科学版)》, pages 46 - 51 * |
郑莉等: "基于车载激光点云的自适应阈值提取道路标记方法", 《测绘地理信息》, pages 111 - 115 * |
Also Published As
Publication number | Publication date |
---|---|
CN117056088B (zh) | 2024-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Dai et al. | Efficient map/reduce-based dbscan algorithm with optimized data partition | |
US9734235B2 (en) | Grouping documents and data objects via multi-center canopy clustering | |
JP6938229B2 (ja) | クリークを介してグラフィックスを圧縮するシステム及び方法 | |
CN109033340B (zh) | 一种基于Spark平台的点云K邻域的搜索方法及装置 | |
CN109194707B (zh) | 分布式图嵌入的方法及装置 | |
US11188738B2 (en) | System and method associated with progressive spatial analysis of prodigious 3D data including complex structures | |
CN111400555B (zh) | 图数据查询任务处理方法、装置、计算机设备和存储介质 | |
CN104809244B (zh) | 一种大数据环境下的数据挖掘方法和装置 | |
CN105160706B (zh) | 一种单机多核环境下约束地形并行构建方法 | |
CN107341210B (zh) | Hadoop平台下的C-DBSCAN-K聚类算法 | |
CN107193923B (zh) | 一种二维地理空间快速矢量叠加的方法及系统 | |
Jahn et al. | Topologically consistent models for efficient big geo-spatio-temporal data distribution | |
CN114202632A (zh) | 网格线性结构恢复方法、装置、电子设备及存储介质 | |
CN117056088B (zh) | 一种基于MapReduce的多模态测图数据分布式并行计算方法及系统 | |
CN112948345A (zh) | 一种基于云计算平台的大数据聚类方法 | |
CN112163641A (zh) | 一种基于概率多层次图结构的高维数据可视化方法 | |
Kharinov et al. | Object detection in color image | |
Lai et al. | Accelerating geospatial applications on hybrid architectures | |
CN108897820B (zh) | 一种denclue算法的并行化方法 | |
Biswas et al. | Ripple: An approach to locate k nearest neighbours for location-based services | |
CN114048323A (zh) | 基于双向图分割与互惠式推理的大规模实体对齐方法 | |
CN113010748A (zh) | 一种基于亲和聚类的分布式大图划分方法 | |
CN116227585B (zh) | 集群任务的并行执行方法、装置、计算机设备和存储介质 | |
CN113761293A (zh) | 图数据强连通分量挖掘方法、装置、设备及存储介质 | |
Han et al. | A MapReduce approach for SIFT feature extraction |
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 |