论文部分内容阅读
随着计算机辅助设计与地质勘探技术的发展。在石油、天然气等矿物能源勘探中,大量运用了曲面重建技术。曲面重建技术是逆向工程的一个重要分支,它的主要目的是通过有限的数据点,还原出最接近实际情况的曲面。现今,勘探技术的提升使得地质数据更加精细,地质勘探的广度也不断加大,单台计算机已经无法满足高精度的计算密集型大规模复杂曲面重建任务。本文回顾现有地质曲面重建方法与流程,研究当下主流的云计算系统框架,设计了一套针对大规模地质曲面重建的私有云计算系统。本文主要在以下几个方面进行了创新设计与研究实现工作:(1)在对现有地质曲面重建算法和流程充分研究的基础上,对单机曲面重建流程进行创新性的重构,设计出了能够应用于Hadoop云计算框架的两套Mapreduce任务。一套分块Mapreduce流程,解决单机内存和计算能力不足的问题。它将数据点切分成块,计算任务被拆分为块粒度并行。节点上的map任务负责单个地形块的曲面重建,reduce任务负责将重建好的各个地形块拼接起来形成最终的大规模曲面;另一套网格Mapreduce任务,解决曲面拓扑合并的问题。它将数据点以网格形式组织起来,计算任务被拆分为网格粒度并行。节点上的map任务负责单个网格的三角网拓扑构建,节点上的reduce任务负责所有网格的三角网融合。它们配合在一起工作,共同高效完成大规模曲面重建。(2)云计算系统与曲面重建流程结合后抛出了几个新问题,本文提出了针对性的解决方案。从系统角度讲,主要提出了数据均衡法解决Hadoop系统中的地质曲面重建任务可能存在的计算倾斜问题,保证负载均衡;提出了几个不同的数据结构存储方法,使得云计算系统方便存取,保证了数据一致性。从算法角度讲,提出了针对邻接网格的Delaunay的快速拼接融合算法,解决复杂约束情况下的拼接问题并且提高系统运行效率;提出了带断层约束的块边界插值快速搜点算法,使得拼接处缝合规整,不会出现违背地质规律的情况。(3)系统实现与测试。本文对基于云计算的大规模曲面重建系统进行了编程实现,并且采用多种实际地质工区数据对系统进行了各方面测试。对比了单机系统、MPI系统以及云计算系统的性能。