基于大数据进行地形切断面并行计算方法及系统与流程

文档序号:26102351发布日期:2021-07-30 18:13阅读:69来源:国知局
基于大数据进行地形切断面并行计算方法及系统与流程

本发明公开涉及勘察设计领域,尤其涉及基于大数据进行地形切断面并行计算方法及系统。



背景技术:

随着勘察设计业务的发展,工程数字化技术的应用越来越广泛,gis、bim以及三维协同技术快速的被推广。相对传统二维设计,工程数字化的应用一方面产生了海量的、多样化的信息化数据,现有的关系数据库、文本存储方式已经无法满足对数据高效存储、利用的需求;另一方面传统的数据处理方式在对海量数据的处理已经成为生产效率的制约。地形数据是工程数字化应用的重要支撑数据,数据量大,尤其是在进行地形数据切断面处理时耗时较长,目前尚未有较好的解决方案。

目前,在勘察设计领域,地形数据切断面计算效率已经无法满足工程数字化应用的要求,一方面大量的数据以文件的形式存储在计算机的文件夹中,导致检索困难、重复利用率低;另一方面,对大量地形数据进行切断面计算时采用传统单机模式,效率低下,耗时长,因此设计一种基于大数据进行地形切断面并行计算方法是本领域亟待解决的技术问题。

解决上述技术问题的难度:目前在勘察设计领域对于地形数据切断面处理时耗时较长,无法满足工程数字化应用的要求的情况,尚未有较好的解决方案,存在较多的技术难点,主要包括海量数据的高效存取、地形数据的分块模型建立、切断面算法的并行处理以及分布式处理结果的合并等,均有较大的研究难度。

解决上述技术问题的意义在于:本

技术实现要素:
提出的基于大数据进行地形切断面进行并行计算的方法有效解决了勘察设计领域大量地形数据切断面效率低下、耗时长的问题,极大的提升了设计工作的效率,为二维设计向三维设计转化奠定了良好的基础,可有效促进勘察设计领域业务升级及发展。

发明内容

为克服相关技术中存在的问题,本发明公开实施例提供了基于大数据进行地形切断面并行计算方法。所述技术方案如下:

根据本发明公开实施例的第一方面,该基于大数据进行地形切断面并行计算方法包括以下步骤:

步骤1:建立地形数据模型;

步骤2:服务器启动多线程监听服务及大数据处理服务;

步骤3:客户端发起到服务器的连接请求;

步骤4:建立连接后,客户端发起切断面请求;

步骤5:服务器接收切断面请求后,启动切断面处理任务。

在一个实施方案中,所述建立地形数据模型步骤中,其具体为,

1.1地形数据预处理,形成规则格网与不规则三角形格网相结合的分块数据,把一个项目所用到的地形数据,拆分成多个规则的矩形,每个矩形由若干不规则三角形组成的格网表示;

1.2建模后的地形数据采用hdfs的机制进行存储。

在一个实施方案中,所述客户端发起到服务器的连接请求步骤,其具体为,服务器监听服务在判定后端资源充足的前提下同意请求并建立与客户端的持久连接;具体包括以下步骤:

步骤3.1获取服务器cpu资源利用率;

步骤3.2获取服务器内存资源利用率;

步骤3.3在cpu资源利用率和内存资源利用率均低于75%的条件下,同意请求。

在一个实施方案中,所述服务器接收切断面请求后,启动切断面处理任务步骤包括:

步骤4.1加载地形数据步骤;

步骤4.2数据逻辑分片步骤;

步骤4.3执行切断面计算任务步骤:

步骤4.4合并计算结果步骤。

在一个实施方案中,所述加载地形数据步骤根据项目id从hdfs加载地形数据包括:

步骤5.1地形数据以hdfs方式存储,每个项目单独建立一个文件路径,以项目id标识;

步骤5.2读取地形数据时,根据项目id获取地形数据的文件路径;

步骤5.3读取文件路径下的地形数据文件,加载到内存中备用。

在一个实施方案中,所述数据逻辑分片步骤,其具体为,对步骤4客户端提交的切断面输入点坐标进行预处理,形成分散在不同地形数据块上的点线;

地形数据已在步骤1进行建模,分为不同的数据块,每条点线只在一个数据块进行处理,数据按照数据块的大小进行分片,即每个切断面计算任务处理一个数据块。

在一个实施方案中,所述执行切断面计算任务步骤,其具体为,根据步骤4客户端提交的切断面类型进行切断面计算,采用数据预加载到内存与内存数据置换的方式进行计算,对于每一个切断面计算任务,将本任务涉及的数据块分为n分,建立两个内存区域a和b:首先加载数据到内存a、b中,a中加载数据n1,b中加载数据n2,其次计算a中的数据,计算完成后,将b中的数据赋值到a并重新开始a的计算,同步b加载数据n3,以此类推完成全部数据的计算。

在一个实施方案中,所述合并计算结果步骤,其具体为,对步骤5.3中的每个切断面计算任务的计算结果进行排序合并,直到所有的任务完成。

在一个实施方案中,还包括计算结果输出步骤,其具体为,计算结果返回;将步骤5中的计算结果返回客户端,确认数据传输完成后,断开与客户端的连接。

根据本发明公开实施例的第二方面,提供适用于上述的基于大数据进行地形切断面并行计算方法的系统,所述基于大数据进行地形切断面并行计算系统包括:

终端,所述终端包括处理器,所述处理器用于执行权利要求1-9任意一项所述基于大数据进行地形切断面并行计算方法;

计算机可读存储介质,当其在计算机上运行时,使得计算机执行如上述基于大数据进行地形切断面并行计算方法。

本发明公开的实施例提供的技术方案可以包括以下有益效果:

利用大数据处理技术实现了地形数据分布式存储、数据分片、数据并行处理、数据预加载到内存的功能,解决了传统地形数据无序化存储、切断面计算效率低下的问题,有效促进了地形数据的检索再利用,提升了切断面计算的性能。

第一、采用hdfs分布式存储机制对地形数据进行存储,并对数据添加标签,使得数据可以快速被检索、有效提升了数据重复利用率;

第二、基于大数据架构,采用数据分片并行计算以及数据预加载到内存的技术,使得地形数据切断面计算的耗时大幅降低,有效提升了生产效率。

通过地形数据建模实现数据分块的技术;该项内容将大面积的地形范围拆分成500×500的小的地形块,使得每个小的地形块可以单独进行处理。

基于大数据的地形数据切片并行计算技术;该项内容基于数据分块技术,将原来的大块地形数据处理拆分为多个小块地形数据同时处理,并对处理结果进行合并,通过该种方式大大提升了计算效率。

预加载数据到内存与内存数据置换技术。该项技术实现了内存利用的最大化,将用到的小块地形数据加载到内存中进行处理,提升处理效率,处理完后重新加载一批未处理的小块地形数据,持续置换直到处理完成。

客户端与服务端通讯机制。通过socket长连接实现客户端与服务端的持久连接,客户端向服务端发送地形处理请求及项目id,服务端接收请求并处理完成后将结果返回客户端。

当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。

图1是本发明所述一种基于大数据进行地形切断面并行计算方法的流程图;

图2是本发明地形数据处理分析结果对比(10g);

图3是本发明地形数据处理分析结果对比(40g)。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

本发明公开实施例所提供的技术方案涉及基于大数据进行地形切断面并行计算方法及系统,尤其涉及勘察设计领域。在相关技术中,在勘察设计领域,地形数据切断面计算效率已经无法满足工程数字化应用的要求,一方面大量的数据以文件的形式存储在计算机的文件夹中,导致检索困难、重复利用率低;另一方面,对大量地形数据进行切断面计算时采用传统单机模式,效率低下,耗时长。基于此,本公开技术方案所提供的基于大数据进行地形切断面并行计算方法,利用大数据处理技术实现了地形数据分布式存储、数据分片、数据并行处理、数据预加载到内存的功能,解决了传统地形数据无序化存储、切断面计算效率低下的问题,有效促进了地形数据的检索再利用,提升了切断面计算的性能。

实施例,如图1所示:

该基于大数据进行地形切断面并行计算方法包括以下步骤:

步骤s01:建立地形数据模型;以项目a为例,对项目a覆盖的地形数据进行平面切割,分为多个500*500范围的小型地形数据块,并以hdfs的方式进行存储。

步骤s02:服务器启动多线程监听服务及大数据处理服务;在服务器端启动多线程socket监听服务及大数据并行处理服务,并加载hdfs中项目a的分块后的地形数据,等待用户指令。服务器服务可同时处理多个用户发出的请求。

步骤s03:客户端发起到服务器的连接请求;当用户需要进行项目a的地形切断面时,通过socket发送服务器连接请求,服务器监听服务接收请求后,判断大数据处理服务集群cpu及内存占用均低于75%,同意用户请求,并建立socket长连接。

步骤s04:建立连接后,客户端发起切断面请求;用户通过客户端向服务器发送项目a的id及切断面初始坐标文件,监听服务请求后将请求转发至大数据处理服务。

步骤s05:服务器接收切断面请求后,启动切断面处理任务。服务器大数据处理服务接收到监听服务转发的请求后,根据初始坐标文件及项目a的数据块数据发起多个处理任务,处理完成后合并结果并返回给用户。

实验数据:

为了验证本发明方法的性能,在单机、hadoop生产运营集群、oracle大数据一体机3组环境中分别进行了实验,在hadoop生产运营集群和oracle大数据一体机中分别部署了hadoop、spark和alluxio(本发明使用的方法)三套分布式系统。三组环境的配置对比如表1所示:

表1实验环境配置

实验取客户端数量为10,同时向服务器发送连接请求,由服务器端并行处理。地形数据分别取10g和40g,取10组数据平均值,单位为秒,得到的实验结果如图2和图3所示。

通过对实验结果分析得出,服务器性能对多个客户端并行请求处理的响应时间有所提升,但差别不大。对于同样性能的服务器,采用传统的hadoop、spark架构性能相对单机环境提升同样不够明显,而采用本发明提出的方法性能得到大幅度提升。

本发明方法已在某集团公司多个生产项目实际应用,极大提升了生产效率,特别是对于海量地形数据量的切断面计算。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用全部或部分地以计算机程序产品的形式实现,所述计算机程序产品包括一个或多个计算机指令。在计算机上加载或执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输)。所述计算机可读取存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solidstatedisk(ssd))等。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1