CN115617495A - 一种基于分布式架构的探地雷达数据推理方法及其系统 - Google Patents
一种基于分布式架构的探地雷达数据推理方法及其系统 Download PDFInfo
- Publication number
- CN115617495A CN115617495A CN202211552801.XA CN202211552801A CN115617495A CN 115617495 A CN115617495 A CN 115617495A CN 202211552801 A CN202211552801 A CN 202211552801A CN 115617495 A CN115617495 A CN 115617495A
- Authority
- CN
- China
- Prior art keywords
- data
- task
- flink
- ground penetrating
- radar data
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 43
- 230000000149 penetrating effect Effects 0.000 title claims abstract description 39
- 238000012545 processing Methods 0.000 claims abstract description 24
- 230000008569 process Effects 0.000 claims abstract description 13
- 238000009434 installation Methods 0.000 claims description 12
- 230000006837 decompression Effects 0.000 claims description 6
- 238000012986 modification Methods 0.000 claims description 5
- 230000004048 modification Effects 0.000 claims description 5
- 238000013500 data storage Methods 0.000 claims description 3
- 238000000354 decomposition reaction Methods 0.000 claims description 3
- 230000003993 interaction Effects 0.000 claims description 3
- 238000005070 sampling Methods 0.000 claims description 2
- 230000001960 triggered effect Effects 0.000 claims description 2
- 238000007726 management method Methods 0.000 description 7
- 238000001514 detection method Methods 0.000 description 5
- 230000006872 improvement Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000012360 testing method Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000012634 fragment Substances 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- ZLIBICFPKPWGIZ-UHFFFAOYSA-N pyrimethanil Chemical compound CC1=CC(C)=NC(NC=2C=CC=CC=2)=N1 ZLIBICFPKPWGIZ-UHFFFAOYSA-N 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
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/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
-
- 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/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
-
- 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/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- 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/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/547—Messaging middleware
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/548—Queue
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供一种基于分布式架构的探地雷达数据推理方法及其系统,包括:步骤S1,文件服务器在接收到探地雷达的原始数据后,按照预设道数对原始数据进行划分,并对数据帧进行编号;步骤S2,将雷达数据的数据帧按照预设的格式组成字符串,并发送至消息队列RabbitMQ;步骤S3,通过Flink集群从消息队列RabbitMQ中读取字符串数据,通过Flink集群的map算子将数据分解;步骤S4,根据所述步骤S3获取的数据,从所述文件服务器下载雷达数据并进行解译;步骤S5,将解译结果保存到数据库。本发明能够同时处理多条测线数据,支持实时流式处理和不同的推理任务,有效地提高了其处理效率和推理任务的可扩展性。
Description
技术领域
本发明涉及一种探地雷达数据处理方法,尤其涉及一种基于分布式架构的探地雷达数据推理方法,并进一步涉及采用了该基于分布式架构的探地雷达数据推理方法的探地雷达数据推理系统。
背景技术
探地雷达是近几十年发展起来的一种探测地下目标的有效手段,是一种无损探测技术,与其他常规的地下探测方法相比,具有探测速度快、探测过程连续、分辨率高、操作方便灵活、探测费用低等优点,在工程勘察领域的应用日益广泛。
探地雷达是利用天线发射和接收高频电磁波来探测介质内部物质特性和分布规律的一种地球物理方法。现有技术中,雷达采集的数据上传到平台云盘之后,AI服务器从平台存储中按需随机读取、实时解压分片数据进行推理。但是现有技术中的探地雷达数据推理方法中,普遍采用的是单任务处理模式,存在以下问题:1、新的测线数据,必须等待上一条测线数据处理完毕之后,才能开始处理,即不能同时处理多条测线,增加了处理延迟;2、不能灵活调度单AI服务器上的多GPU资源,要实现多任务并行处理,只能采用增加AI服务器的方式,难以进行管理;3、难以支持实时流式处理,难以实现边采集上传边处理;4、难以支持多种不同的推理任务,不同的推理任务需分开服务器进行部署,进而导致成本的增加和操作的复杂程度。
发明内容
本发明所要解决的技术问题是需要提供一种能够同时处理多条测线数据,能够支持实时流式处理和不同推理任务的基于分布式架构的探地雷达数据推理方法,旨在提高探地雷达数据推理的处理效率和推理任务的可扩展性。在此基础上,还进一步提供对应的基于分布式架构的探地雷达数据推理系统。
对此,本发明提供一种基于分布式架构的探地雷达数据推理方法,包括以下步骤:
步骤S1,文件服务器在接收到探地雷达的原始数据后,按照预设道数对原始数据进行划分,并对数据帧进行编号;
步骤S2,将雷达数据的数据帧按照预设的格式组成字符串,并将所述字符串发送至消息队列RabbitMQ;
步骤S3,通过Flink集群从消息队列RabbitMQ中读取字符串数据,通过Flink集群的map算子将数据分解;
步骤S4,AI服务器根据所述步骤S3获取的数据,从所述文件服务器下载雷达数据并进行解译;
步骤S5,将雷达数据的解译结果保存到数据库。
本发明的进一步改进在于,所述步骤S1中,对原始数据进行划分,划分的数据帧大小为T×S,T表示预设道数,S表示采样数;然后对数据帧进行顺序编号。
本发明的进一步改进在于,所述步骤S2中,通过文件路径、文件名以及数据帧号以字符串方式进行拼接,文件路径和文件名之间通过斜线分割,文件名和数据帧号之间通过竖线分隔,以此组成所述字符串。
本发明的进一步改进在于,所述步骤S3包括以下子步骤:
步骤S301,搭建Flink集群;
步骤S302,客户端将任务提交到Flink集群,与JobManager作业管理器通过网络编程库Akka构建连接,然后将任务提交到JobManager作业管理器,与JobManager作业管理器之间进行交互获取任务执行状态;
步骤S303,通过JobManager作业管理器对所述Flink集群的任务进行调度和资源的管理;
步骤S304,通过TaskManager任务管理器执行具体的任务,并进行对应任务在每个节点上的资源申请与管理;
步骤S305,TaskManager任务管理器在运行的任务中从消息队列读取到数据后,调用Flink集群的map算子进行数据处理,先遍历获取到的数据,数据中的每一项调用分割函数按分隔符竖线分割为一个字符串数组,数组的长度为2,该数组下标为0位置存放的是文件名,该数组下标为1位置存放的是数据帧号。
本发明的进一步改进在于,所述步骤S301包括以下子步骤:
步骤S3011,对多台主机进行命名,并根据所述主机版本下载Flink引擎框架,上传至第一台主机实现解压,解压后进入conf配置文件目录;
步骤S3012,修改安装目录下conf配置文件夹内的masters配置文件,指定JobManager作业管理器,写入内容;
步骤S3012,修改安装目录下conf配置文件夹内的slaves配置文件,指定TaskManager任务管理器,写入内容;
步骤S3013,修改安装目录下 conf配置文件夹内的 flink-conf.yaml 配置文件;
步骤S3014,将安装目录整个Flink文件夹拷贝到剩余的主机;
步骤S3015,配置Flink环境变量,对所有主机修改/etc/profile文件,并在修改之后重新加载环境变量;
步骤S3016,启动Flink集群。
本发明的进一步改进在于,所述步骤S3013中,修改flink-conf.yaml 配置文件的过程包括:先配置主节点的机器名或IP地址,然后配置每个 TaskManager 任务管理器生成的临时文件夹。
本发明的进一步改进在于,所述步骤S303中,JobManager作业管理器根据Flink集群中TaskManager任务管理器上TaskSlot任务槽的使用情况,为提交的应用分配相应的任务槽资源并命令TaskManager任务管理器启动从客户端中获取的应用;在任务执行过程中,触发checkpoints一致性检查点操作,每个TaskManager任务管理器的节点收到checkpoint一致性检查点的触发指令后,完成checkpoint一致性检查点操作;在任务完成后,Flink集群会将任务执行的信息反馈给客户端,并且释放掉TaskManager任务管理器中的资源。
本发明的进一步改进在于,所述步骤S304中,TaskManager任务管理器从JobManager作业管理器接收需要部署的任务,然后使用TaskSlot任务槽的资源启动任务,建立数据接入的网络连接,接收数据并开始数据处理;不同的TaskManager任务管理器之间通过数据流的方式进行数据交互;Flink集群中的任务运行采用多线程的方式,在多个任务之间通过TaskSlot任务槽的方式共享系统资源,每个TaskManager任务管理器中通过管理多个TaskSlot任务槽资源池进行对资源进行管理。
本发明的进一步改进在于,所述步骤S4中,将所述步骤S3得到的文件名和数据帧号作为参数,调用python脚本,通过python脚本根据所述文件名和数据帧号从文件服务器上获取到雷达数据进行解译。
本发明还提供一种基于分布式架构的探地雷达数据推理系统,采用了如上所述的基于分布式架构的探地雷达数据推理方法,并包括:
数据帧编号模块,文件服务器在接收到探地雷达的原始数据后,按照预设道数对原始数据进行划分,并对数据帧进行编号;
数据发送模块,将雷达数据的数据帧按照预设的格式组成字符串,并将所述字符串发送至消息队列RabbitMQ;
数据分解模块,通过Flink集群从消息队列RabbitMQ中读取字符串数据,通过Flink集群的map算子将数据分解;
数据解译模块,AI服务器根据所述步骤S3获取的数据,从所述文件服务器下载雷达数据并进行解译;
数据保存模块,用于将雷达数据的解译结果保存到数据库。
与现有技术相比,本发明的有益效果在于:采用分布式架构,构建Flink集群,将任务粒度细化到分片级别,通过任务调度将任务分配到不同的TaskManager任务管理器所在节点,进而解决了现有技术中单任务处理的问题,能够同时处理多条测线数据,支持实时流式处理和不同的推理任务,以便有效地提高探地雷达数据推理的处理效率,提升推理任务的可扩展性。
附图说明
图1是本发明一种实施例的工作流程示意图;
图2是本发明一种实施例的Flink集群的架构示意图。
具体实施方式
下面结合附图,对本发明的较优的实施例作进一步的详细说明。
首先,先对本申请所使用到的名称进行解释:Flink,Flink是一个对有界和无界数据流进行状态计算的分布式处理引擎和框架。RabbitMQ指的是开源消息代理软件,即实现了高级消息队列协议(AMQP)的开源消息代理软件,也称面向消息的中间件。JobManager指的是作业管理器,JobManager 是一个 Flink 集群中任务管理和调度的核心,是控制应用执行的主进程。TaskManager指的是任务管理器,TaskManager 是 Flink 中的工作进程,数据流的具体计算就是通过TaskManager来实现的,所以也被称为 “Worker”;Flink 集群中必须至少有一个 TaskManager。Akka是一种基于Scala编程语言的网络编程库,实现了RPC框架。RPC指的是远程过程调用,是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。TaskSlot指的是任务槽。TaskSlot是Flink中最小的资源管理单元,它仅均分TaskManager任务管理器上的内存,但不隔离CPU。Checkpoints指的是一致性检查点,属于Flink故障恢复机制的核心,就是应用状态的一致性检查点。MapReduce是一个基于集群的计算平台,是一个简化分布式编程的计算框架,用于将分布式计算抽象为Map和Reduce两个阶段的编程模型。JVM指的是Java虚拟机,虚拟机是一种抽象化的计算机,通过在实际的计算机上仿真模拟各种计算机功能来实现的。
如图1所示,本实施例提供一种基于分布式架构的探地雷达数据推理方法,包括以下步骤:
步骤S1,文件服务器在接收到探地雷达的原始数据后,按照预设道数对原始数据进行划分,并对数据帧进行编号;
步骤S2,将雷达数据的数据帧按照预设的格式组成字符串,并将所述字符串发送至消息队列RabbitMQ;
步骤S3,通过Flink集群从消息队列RabbitMQ中读取字符串数据,即读取步骤S2的字符串,通过Flink集群的map算子将字符串数据进行分解;
步骤S4,AI服务器根据所述步骤S3获取的数据,从所述文件服务器下载雷达数据并进行解译;
步骤S5,将雷达数据的解译结果保存到数据库。
本实施例所述步骤S1中,对原始数据进行划分,划分的数据帧大小为T×S,T表示预设道数,S表示采样数;然后对数据帧进行顺序编号,得到数据帧号。
本实施例所述步骤S2中,文件服务器接收到一帧数据后,通过文件路径、文件名以及数据帧号以字符串方式进行拼接,文件路径和文件名之间通过斜线分割,文件名和数据帧号之间通过竖线分隔,以此组成所述字符串。例如:D:\data\test_001_A01.agpr|125,其中,D:\data表示D盘data文件夹下,\test_001_A01.agpr表示文件名为test_001_A01.agpr,|125表示帧号为125的数据;数据帧号从0开始,依次递增,数据帧号0表示第一帧数据,数据帧号125表示第126帧数据,然后将此条字符串发送到消息队列RabbitMQ中。
本实施例所述步骤S3用于构建Flink集群,通过Flink集群从消息队列中读取消息,并将消息通过分隔符“|”分解为两个参数,第一个参数为文件名,第二个参数为数据帧号。如图2所示,Flink集群的基本架构中,Flink集群整个系统主要包括两个组件:JobManager作业管理器 和 TaskManager任务管理器。Flink架构也遵循 Master-Slave 架构设计原则,JobManager作业管理器为 Master节点,即主节点;TaskManager任务管理器为Slave(Worker)节点,即副节点或任务节点。所有组件之间的通信都借助于 AkkaFramework,包括任务的状态以及checkpoint触发等任务。
本实施例所述步骤S3包括以下子步骤:
步骤S301,搭建Flink集群;
步骤S302,客户端将任务提交到Flink集群,与JobManager作业管理器通过网络编程库Akka构建连接,然后将任务提交到JobManager作业管理器,与JobManager作业管理器之间进行交互获取任务执行状态;客户端提交任务可以采用命令行界面方式或者通过使用作业运维页面提交,也可以在应用程序中指定JobManager作业管理器的RPC网络端口构建执行环境提交Flink应用;
步骤S303,通过JobManager作业管理器对所述Flink集群的任务进行调度和资源的管理;
步骤S304,通过TaskManager任务管理器执行具体的任务,并进行对应任务在每个节点上的资源申请与管理;
步骤S305,TaskManager任务管理器在运行的任务中从消息队列读取到数据后,调用Flink集群的map算子进行数据处理,即先遍历获取到的数据,数据中的每一项调用分割函数按分隔符竖线分割为一个字符串数组,数组的长度为2,该数组下标为0位置存放的是文件名,该数组下标为1位置存放的是数据帧号。
本实施例所述步骤S301包括以下子步骤:
步骤S3011,对多台主机进行命名,并根据所述主机版本下载Flink引擎框架,上传至第一台主机实现解压,解压后进入conf配置文件目录;例如3台主机,主机名分别命名为node01、node02以及node03 ,按照所需版本下载Flink,然后上传到node01服务器通过命令tar -zxvf flink-1.12.2-bin-scala_2.12.tgz进行解压,解压后进入conf配置文件的目录下,修改配置文件;
步骤S3012,修改安装目录下conf配置文件夹内的masters配置文件,指定JobManager作业管理器,写入内容node01:8081;当然,在实际过程中,根据实际需求的不同,写入的内容可以自定义设置和调整,不局限于8081;
步骤S3012,修改安装目录下conf配置文件夹内的slaves配置文件,指定TaskManager任务管理器,分别写入内容,即将任务内容分别写入至node01、node02、node03;
步骤S3013,修改安装目录下 conf配置文件夹内的 flink-conf.yaml 配置文件;
步骤S3014,将安装目录整个Flink文件夹拷贝到剩余的主机,比如拷贝到其余的2台主机;
步骤S3015,配置Flink环境变量,对所有主机修改/etc/profile文件,即3台主机进行相同的修改,可选的命令为:export FLINK_HOME=/opt/flink-1.12.2,以及,exportPATH=$PATH:$FLINK_HOME/bin;并在修改之后重新加载环境变量,可选的命令为:source /etc/profile;
步骤S3016,启动Flink集群,可选的集群启动命令为:bin/start-cluster.sh。
本实施例所述步骤S3013中,修改flink-conf.yaml 配置文件的过程包括:先配置主节点的机器名或IP地址,可选的命令为:jobmanager.rpc.address: node01;然后配置每个 TaskManager 任务管理器生成的临时文件夹,可选的命令为:taskmanager.tmp.dirs:/export/servers/flink-1.12.2/tmp。当然,本实施例的各种可选命令仅作为示例说明,其命令以及文件名可以根据实际情况和需求进行自定义设置。
本实施例的JobManager作业管理器相当于整个Flink集群的主节点,且整个集群中有且仅有一个活跃的JobManager,负责整个集群任务管理和资源管理。
本实施例所述步骤S303中,从客户端中获取提交的应用,JobManager作业管理器根据Flink集群中TaskManager任务管理器上TaskSlot任务槽的使用情况,为提交的应用分配相应的任务槽资源并命令TaskManager任务管理器启动从客户端中获取的应用;在任务执行过程中,JobManager作业管理器触发checkpoints一致性检查点操作,每个TaskManager任务管理器的节点收到checkpoint一致性检查点的触发指令后,完成checkpoint一致性检查点操作,所有的checkpoint一致性检查点的协调过程都是在FlinkJobManager中完成;在任务完成后,Flink集群会将任务执行的信息反馈给客户端,并且释放掉TaskManager任务管理器中的资源,以便满足下一次提交任务使用。
本实施例的TaskManager任务管理器相当于整个Flink集群的副节点,负责具体的任务执行和对应任务在每个节点上的资源申请与管理。客户端通过将编写好的Flink应用编译打包,提交到JobManager作业管理器,然后JobManager作业管理器会根据已经注册在JobManager作业管理器中TaskManager任务管理器的资源情况,将任务分配给有资源的TaskManager任务管理器的节点,启动并运行任务。
本实施例所述步骤S304中, TaskManager任务管理器从JobManager作业管理器接收需要部署的任务,然后使用TaskSlot任务槽的资源启动任务(Task),建立数据接入的网络连接,接收数据并开始数据处理;同时,不同的TaskManager任务管理器之间通过数据流的方式进行数据交互;Flink集群中的任务运行采用多线程的方式,与现有技术的单任务处理方式不同,本实施例在多个任务之间通过TaskSlot任务槽的方式共享系统资源,每个TaskManager任务管理器中通过管理多个TaskSlot任务槽资源池进行对资源进行管理,进而能够极大提高CPU使用效率。
本实施例所述步骤S4通过调用python脚本解译雷达数据。所述步骤S4中,将所述步骤S3得到的文件名和数据帧号作为参数,调用python脚本,通过python脚本根据所述文件名和数据帧号从文件服务器上获取到雷达数据进行解译。
本实施例还提供一种基于分布式架构的探地雷达数据推理系统,采用了如上所述的基于分布式架构的探地雷达数据推理方法,并包括:
数据帧编号模块,文件服务器在接收到探地雷达的原始数据后,按照预设道数对原始数据进行划分,并对数据帧进行编号;
数据发送模块,将雷达数据的数据帧按照预设的格式组成字符串,并将所述字符串发送至消息队列RabbitMQ;
数据分解模块,通过Flink集群从消息队列RabbitMQ中读取字符串数据,通过Flink集群的map算子将字符串数据进行分解;
数据解译模块,AI服务器根据所述步骤S3获取的数据,从所述文件服务器下载雷达数据并进行解译;
数据保存模块,用于将雷达数据的解译结果保存到数据库。
综上所述,本实施例采用分布式流推理架构,构建Flink集群,将任务粒度细化到分片级别,通过任务调度将任务分配到不同的TaskManager任务管理器所在节点,进而解决了现有技术中单任务处理的问题,能够同时处理多条测线数据,支持实时流式处理和不同的推理任务,以便有效地提高探地雷达数据推理的处理效率,提升推理任务的可扩展性。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
Claims (10)
1.一种基于分布式架构的探地雷达数据推理方法,其特征在于,包括以下步骤:
步骤S1,文件服务器在接收到探地雷达的原始数据后,按照预设道数对原始数据进行划分,并对数据帧进行编号;
步骤S2,将雷达数据的数据帧按照预设的格式组成字符串,并将所述字符串发送至消息队列RabbitMQ;
步骤S3,通过Flink集群从消息队列RabbitMQ中读取字符串数据,通过Flink集群的map算子将数据分解;
步骤S4,AI服务器根据所述步骤S3获取的数据,从所述文件服务器下载雷达数据并进行解译;
步骤S5,将雷达数据的解译结果保存到数据库。
2.根据权利要求1所述的基于分布式架构的探地雷达数据推理方法,其特征在于,所述步骤S1中,对原始数据进行划分,划分的数据帧大小为T×S,T表示预设道数,S表示采样数;然后对数据帧进行顺序编号。
3.根据权利要求1所述的基于分布式架构的探地雷达数据推理方法,其特征在于,所述步骤S2中,通过文件路径、文件名以及数据帧号以字符串方式进行拼接,文件路径和文件名之间通过斜线分割,文件名和数据帧号之间通过竖线分隔,以此组成所述字符串。
4.根据权利要求1至3任意一项所述的基于分布式架构的探地雷达数据推理方法,其特征在于,所述步骤S3包括以下子步骤:
步骤S301,搭建Flink集群;
步骤S302,客户端将任务提交到Flink集群,与JobManager作业管理器通过网络编程库Akka构建连接,然后将任务提交到JobManager作业管理器,与JobManager作业管理器之间进行交互获取任务执行状态;
步骤S303,通过JobManager作业管理器对所述Flink集群的任务进行调度和资源的管理;
步骤S304,通过TaskManager任务管理器执行具体的任务,并进行对应任务在每个节点上的资源申请与管理;
步骤S305,TaskManager任务管理器在运行的任务中从消息队列读取到数据后,调用Flink集群的map算子进行数据处理,先遍历获取到的数据,数据中的每一项调用分割函数按分隔符竖线分割为一个字符串数组,数组的长度为2,该数组下标为0位置存放的是文件名,该数组下标为1位置存放的是数据帧号。
5.根据权利要求4所述的基于分布式架构的探地雷达数据推理方法,其特征在于,所述步骤S301包括以下子步骤:
步骤S3011,对多台主机进行命名,并根据所述主机版本下载Flink引擎框架,上传至第一台主机实现解压,解压后进入conf配置文件目录;
步骤S3012,修改安装目录下conf配置文件夹内的masters配置文件,指定JobManager作业管理器,写入内容;
步骤S3012,修改安装目录下conf配置文件夹内的slaves配置文件,指定TaskManager任务管理器,写入内容;
步骤S3013,修改安装目录下 conf配置文件夹内的 flink-conf.yaml 配置文件;
步骤S3014,将安装目录整个Flink文件夹拷贝到剩余的主机;
步骤S3015,配置Flink环境变量,对所有主机修改/etc/profile文件,并在修改之后重新加载环境变量;
步骤S3016,启动Flink集群。
6.根据权利要求5所述的基于分布式架构的探地雷达数据推理方法,其特征在于,所述步骤S3013中,修改flink-conf.yaml 配置文件的过程包括:先配置主节点的机器名或IP地址,然后配置每个 TaskManager 任务管理器生成的临时文件夹。
7.根据权利要求4所述的基于分布式架构的探地雷达数据推理方法,其特征在于,所述步骤S303中,JobManager作业管理器根据Flink集群中TaskManager任务管理器上TaskSlot任务槽的使用情况,为提交的应用分配相应的任务槽资源并命令TaskManager任务管理器启动从客户端中获取的应用;在任务执行过程中,触发checkpoints一致性检查点操作,每个TaskManager任务管理器的节点收到checkpoint一致性检查点的触发指令后,完成checkpoint一致性检查点操作;在任务完成后,Flink集群会将任务执行的信息反馈给客户端,并且释放掉TaskManager任务管理器中的资源。
8.根据权利要求4所述的基于分布式架构的探地雷达数据推理方法,其特征在于,所述步骤S304中,TaskManager任务管理器从JobManager作业管理器接收需要部署的任务,然后使用TaskSlot任务槽的资源启动任务,建立数据接入的网络连接,接收数据并开始数据处理;不同的TaskManager任务管理器之间通过数据流的方式进行数据交互;Flink集群中的任务运行采用多线程的方式,在多个任务之间通过TaskSlot任务槽的方式共享系统资源,每个TaskManager任务管理器中通过管理多个TaskSlot任务槽资源池进行对资源进行管理。
9.根据权利要求1至3任意一项所述的基于分布式架构的探地雷达数据推理方法,其特征在于,所述步骤S4中,将所述步骤S3得到的文件名和数据帧号作为参数,调用python脚本,通过python脚本根据所述文件名和数据帧号从文件服务器上获取到雷达数据进行解译。
10.一种基于分布式架构的探地雷达数据推理系统,其特征在于,采用了如权利要求1至9任意一项所述的基于分布式架构的探地雷达数据推理方法,并包括:
数据帧编号模块,文件服务器在接收到探地雷达的原始数据后,按照预设道数对原始数据进行划分,并对数据帧进行编号;
数据发送模块,将雷达数据的数据帧按照预设的格式组成字符串,并将所述字符串发送至消息队列RabbitMQ;
数据分解模块,通过Flink集群从消息队列RabbitMQ中读取字符串数据,通过Flink集群的map算子将数据分解;
数据解译模块,AI服务器根据所述步骤S3获取的数据,从所述文件服务器下载雷达数据并进行解译;
数据保存模块,用于将雷达数据的解译结果保存到数据库。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211552801.XA CN115617495A (zh) | 2022-12-06 | 2022-12-06 | 一种基于分布式架构的探地雷达数据推理方法及其系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211552801.XA CN115617495A (zh) | 2022-12-06 | 2022-12-06 | 一种基于分布式架构的探地雷达数据推理方法及其系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115617495A true CN115617495A (zh) | 2023-01-17 |
Family
ID=84880756
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211552801.XA Pending CN115617495A (zh) | 2022-12-06 | 2022-12-06 | 一种基于分布式架构的探地雷达数据推理方法及其系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115617495A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116524417A (zh) * | 2023-06-30 | 2023-08-01 | 深圳市华曦达科技股份有限公司 | 一种基于Flink的分布式实时视频关键帧的提取方法和装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103425795A (zh) * | 2013-08-31 | 2013-12-04 | 四川川大智胜软件股份有限公司 | 一种基于云计算的雷达数据分析方法 |
CN112287007A (zh) * | 2020-10-30 | 2021-01-29 | 常州微亿智造科技有限公司 | 基于Flink SQL引擎的工业生产数据实时处理方法、系统 |
CN113030954A (zh) * | 2021-04-20 | 2021-06-25 | 吉林大学 | 一种基于Flink的探地雷达数据SVD分布式算法 |
CN113254445A (zh) * | 2021-05-26 | 2021-08-13 | 平安普惠企业管理有限公司 | 实时数据存储方法、装置、计算机设备及存储介质 |
CN114885036A (zh) * | 2022-07-12 | 2022-08-09 | 深圳安德空间技术有限公司 | 一种探地雷达数据的实时有损压缩方法及系统 |
-
2022
- 2022-12-06 CN CN202211552801.XA patent/CN115617495A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103425795A (zh) * | 2013-08-31 | 2013-12-04 | 四川川大智胜软件股份有限公司 | 一种基于云计算的雷达数据分析方法 |
CN112287007A (zh) * | 2020-10-30 | 2021-01-29 | 常州微亿智造科技有限公司 | 基于Flink SQL引擎的工业生产数据实时处理方法、系统 |
CN113030954A (zh) * | 2021-04-20 | 2021-06-25 | 吉林大学 | 一种基于Flink的探地雷达数据SVD分布式算法 |
CN113254445A (zh) * | 2021-05-26 | 2021-08-13 | 平安普惠企业管理有限公司 | 实时数据存储方法、装置、计算机设备及存储介质 |
CN114885036A (zh) * | 2022-07-12 | 2022-08-09 | 深圳安德空间技术有限公司 | 一种探地雷达数据的实时有损压缩方法及系统 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116524417A (zh) * | 2023-06-30 | 2023-08-01 | 深圳市华曦达科技股份有限公司 | 一种基于Flink的分布式实时视频关键帧的提取方法和装置 |
CN116524417B (zh) * | 2023-06-30 | 2023-10-20 | 深圳市华曦达科技股份有限公司 | 一种基于Flink的分布式实时视频关键帧的提取方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Wang et al. | {FaaSNet}: Scalable and fast provisioning of custom serverless container runtimes at alibaba cloud function compute | |
Zheng et al. | Integrating containers into workflows: A case study using makeflow, work queue, and docker | |
US11836516B2 (en) | Reducing execution times in an on-demand network code execution system using saved machine states | |
US11288053B2 (en) | Conversion and restoration of computer environments to container-based implementations | |
Butler et al. | User's guide to the p4 parallel programming system | |
Scolati et al. | A Containerized Big Data Streaming Architecture for Edge Cloud Computing on Clustered Single-board Devices. | |
US20080092127A1 (en) | Grid-Enabled ANT Compatible with Both Stand-Alone and Grid-Based Computing Systems | |
Mavridis et al. | Orchestrated sandboxed containers, unikernels, and virtual machines for isolation‐enhanced multitenant workloads and serverless computing in cloud | |
Satoh | A framework for data processing at the edges of networks | |
Hardikar et al. | Containerization: cloud computing based inspiration Technology for Adoption through Docker and Kubernetes | |
CN115617495A (zh) | 一种基于分布式架构的探地雷达数据推理方法及其系统 | |
Rogers et al. | Bundle and pool architecture for multi-language, robust, scalable workflow executions | |
CN112199567A (zh) | 一种分布式数据采集方法、系统、服务器和存储介质 | |
Larisch et al. | Alto: lightweight vms using virtualization-aware managed runtimes | |
Blaschke et al. | Real‐time XFEL data analysis at SLAC and NERSC: A trial run of nascent exascale experimental data analysis | |
US11722573B2 (en) | Artificial intelligence workload migration for planet-scale artificial intelligence infrastructure service | |
Shan et al. | KubeAdaptor: a docking framework for workflow containerization on Kubernetes | |
US8442939B2 (en) | File sharing method, computer system, and job scheduler | |
CN113296795A (zh) | 应用部署方法、装置、设备、存储介质及程序产品 | |
Merzky et al. | Application level interoperability between clouds and grids | |
US11720348B2 (en) | Computing node allocation based on build process specifications in continuous integration environments | |
US11625282B2 (en) | Systems and methods of remote machine learning training with remote submission and execution through a coding notebook | |
Saad et al. | A data prefetching model for desktop grids and the condor use case | |
US20240202062A1 (en) | Dynamic network debug service in a containerized computing cluster | |
CN117473798B (zh) | 仿真项目管理方法、装置、设备和存储介质 |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20230117 |