CN109657197A - 一种叠前深度偏移计算方法及系统 - Google Patents
一种叠前深度偏移计算方法及系统 Download PDFInfo
- Publication number
- CN109657197A CN109657197A CN201710936524.5A CN201710936524A CN109657197A CN 109657197 A CN109657197 A CN 109657197A CN 201710936524 A CN201710936524 A CN 201710936524A CN 109657197 A CN109657197 A CN 109657197A
- Authority
- CN
- China
- Prior art keywords
- data
- offset distance
- offset
- stack depth
- data block
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/18—Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Evolutionary Biology (AREA)
- Probability & Statistics with Applications (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Human Computer Interaction (AREA)
- Operations Research (AREA)
- Bioinformatics & Computational Biology (AREA)
- Algebra (AREA)
- Life Sciences & Earth Sciences (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Geophysics And Detection Of Objects (AREA)
Abstract
公开了一种叠前深度偏移计算方法及系统。该方法包括:1)根据偏移距范围对输入地震数据进行分选,使一个输入地震数据切片只输出一个偏移距成像空间;2)调用Map函数,读取地震数据切片,根据炮检点坐标获取旅行时数据,再对地震数据进行逐道偏移成像计算,获得偏移剖面;3)调用Reduce函数,对中间数据文件进行拼接、排序和建立索引,生成成像道集数据。根据本发明的叠前深度偏移计算方法与系统,在Hadoop环境下实现了Kirchhoff叠前深度偏移计算。该方法和系统在作业运行过程中负载自动均衡,CPU利用率接近100%,并行加速比基本呈线性增长,非常适合大规模计算。相比于使用MPI编程模型,其计算性能提高近1倍。
Description
技术领域
本发明涉及油气勘探地球物理领域,更具体地,涉及一种叠前深度偏移计算方法及系统。
背景技术
Hadoop是由Apache基金会发起开发,能对大量数据进行分布式处理的基础软件框架,其核心内容包括Hadoop分布式文件系统(简称:HDFS)和MapReduce并行计算编程模型,其中HDFS为海量数据提供存储,则MapReduce为海量数据提供计算。HDFS将大数据集分割成小数据集存储在不同的计算机上,通过MapReduce编程模型尽可能的进行本地处理,从而实现并行化。
由于目标运行环境是低廉硬件,所以HDFS必然具有有高容错性和高可靠性等特点。并且它提供了高吞吐量访问应用程序的数据,适合那些有着超大数据集的应用程序,具备高扩展性。同时,HDFS放宽了POSIX的要求,可以以流的形式访问文件系统中的数据,具有高效性。
MapReduce是一种基于Hadoop分布式并行框架的编程模式,由Google公司率先开发,是互联网时代进行大数据处理和机器学习的先进技术。它提供了一种在大规模计算机集群上对大数据进行分布式处理的方法,即将复杂并行计算过程高度的抽象到了两个函数,Map和Reduce。对于数据,MapReduce将其看作一系列的〈key,value〉对,对数据处理过程则简化成Map映射和Reduce规约两个阶段。在Hadoop框架下,HDFS往往将一个作业的输入数据集分成若干个独立的小数据集,由Map并行处理,将一组〈key,value〉对映射成一组新的〈key,value〉对,作为Reduce的输入,执行相关操作。MapReduce的计算流程如图1所示,由输入、Map任务、Reduce任务、输出四部分构成。
MapReduce属于一种较为高级的计算模型,开发人员只需要关注Map、Reduce的操作即可,Hadoop框架承担了容错、负载均衡等功能,降低了编程复杂度,提高了程序的可靠性。而高性能计算领域广泛应用的另一种编程模型是基于消息传递的MPI。在MPI编程中,开发人员必须显式地实现消息传递和数据交换。并且,要在一个稳定性差的大规模异构集群实现复杂算法程序的资源调度、负载均衡和高效运行,必须搭建一个非常复杂的并行计算框架,这对于开发人员仍然是一项挑战。因此,得益于其自身在数据提取、变形和加载方面上的天然优势,Hadoop最先在互联网网页搜索方面大受欢迎,并迅速在大数据分析应用中广泛应用,包括地震数据处理。目前,随着勘探规模的不断扩大,地震数据处理,特别是叠前偏移处理环节,数据量大、计算量大、计算周期长,对软件和硬件设备的稳定性和性能提出了越来越严苛的需求,导致处理成本急剧上升。因此,有必要提出一种降低对硬件设备的要求,并且能够扩大计算规模的叠前深度偏移计算方法及系统。
公开于本发明背景技术部分的信息仅仅旨在加深对本发明的一般背景技术的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域技术人员所公知的现有技术。
发明内容
为了解决现有技术中Kirchhoff叠前深度偏移计算效率低,不适应大规模计算的问题,本发明提出了一种基于Hadoop的叠前深度偏移计算方法与系统。具有高可靠性和扩展性的Hadoop技术为大规模地震数据处理提供了新的解决方案。基于Hadoop技术的叠前偏移程序的可靠性降低了对硬件设备的要求,计算规模可扩展到数千上万个计算节点,利用低成本的硬件设备可以实现大规模的高效计算,从而降低了地震数据处理的成本,提高经济效益。
根据本发明的一方面,提出一种叠前深度偏移计算方法。该方法包括:
1)根据偏移距范围对输入地震数据进行分选,使一个输入地震数据切片只输出一个偏移距成像空间;
2)调用Map函数,读取地震数据切片,根据炮检点坐标获取旅行时数据,再对地震数据进行逐道偏移成像计算,获得偏移剖面;
3)调用Reduce函数,对中间数据文件进行拼接、排序和建立索引,生成成像道集数据。
优选地,步骤1)包括:
1.1)将共中心点道集数据重新排序成共偏移距道集数据;
1.2)基于所述共偏移距道集数据的偏移距大小对其进行分组;
1.3)根据Hadoop设定的数据块大小和每个地震道长度,对步骤1.2)得到的共偏移距道集数据进行二次分组。
优选地,在步骤1.2)中,分组总数NumOff通过公式(1)计算,当前道对应的偏移距分组组号Numt通过公式(2)计算:
在公式(1)、(2)中,NumOff表示偏移距分组总组数Offmax表示输出最大偏移距值,Offmin表示输出最小偏移距值,ΔOff表示输出偏移距间隔,Offi表示当前道的偏移距值,Numt表示当前道对应的偏移距分组组号,OffCal_max表示输入最大偏移距值。
优选地,在步骤1.3)包括:
根据Hadoop设定的数据块大小和每个地震道长度,计算一个数据块能够包含的地震道数;
求取每个偏移距分组道集能够划分的数据块数;
根据偏移距分组号、道号和数据块顺序号,建立数据块索引表,确立数据块顺序号、数据存储节点名、数据块存储起始地址、数据块长度的对应关系,实现共偏移距道集数据的切分。
优选地,通过以公式计算一个数据块能够包含的地震道数:
其中,Mblk为一个数据块的占用磁盘大小,M1tra为一个道数据的占用磁盘大小,Numtra_blk为一个数据块包含的道数。
优选地,通过以下公式计算每个偏移距分组道集能够划分的数据块数:
其中,Numtra为一个偏移距分组道集的总道数,Numblk为一个偏移距分组道集能够划分的总块数。
优选地,在步骤2)中,通过以下方式读取所述地震数据切片:
C/C++应用程序向Hadoop数据平台提出读取数据请求,Hadoop数据平台的JavaAPI读取所申请数据块的描述信息,通过JNI传递给C/C++应用程序,再由C/C++应用程序的API接口根据描述信息直接到指定磁盘位置读取数据,其中,所述申请数据块的描述信息包括数据块的起始地址、数据块长度
优选地,在步骤2)中,对各个地震道进行并行计算。
优选地,在步骤2)中,通过操作同一共享文件实现同一偏移距分组的多个Map进程计算结果实现叠加。
根据本发明的另一方面,提出一种叠前深度偏移计算系统。该系统包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现以下步骤:
1)根据偏移距范围对输入地震数据进行分选,使一个输入地震数据切片只输出一个偏移距成像空间;
2)调用Map函数,读取地震数据切片,根据炮检点坐标获取旅行时数据,再对地震数据进行逐道偏移成像计算,获得偏移剖面;
3)调用Reduce函数,对中间数据文件进行拼接、排序和建立索引,生成成像道集数据。
根据本发明的叠前深度偏移计算方法与系统,在Hadoop环境下实现了Kirchhoff叠前深度偏移计算。该方法和系统在作业运行过程中负载自动均衡,CPU利用率接近100%,并行加速比基本呈线性增长,非常适合大规模计算。相比于使用MPI编程模型,其计算性能提高近1倍。
本发明的方法和装置具有其它的特性和优点,这些特性和优点从并入本文中的附图和随后的具体实施例中将是显而易见的,或者将在并入本文中的附图和随后的具体实施例中进行详细陈述,这些附图和具体实施例共同用于解释本发明的特定原理。
附图说明
通过结合附图对本发明示例性实施例进行更详细的描述,本发明的上述以及其它目的、特征和优势将变得更加明显,其中,在本发明示例性实施例中,相同的参考标号通常代表相同部件。
图1为MapReduce计算的流程图;
图2为根据本发明的示例性实施方案的叠前深度偏移计算方法的流程图;
图3为偏移距分组方式示意图;
图4为偏移距分组道集统计分析图;
图5为数据切片读取示意图;
图6为Map阶段计算流程图;
图7为各线程处理流程示意图;
图8为多线程并行流式处理示意图;
图9为文件加锁方式实时叠加流程图;
图10示出Kirchhoff叠前深度偏移结果。
具体实施方式
下面将参照附图更详细地描述本发明。虽然附图中显示了本发明的优选实施例,然而应该理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了使本发明更加透彻和完整,并且能够将本发明的范围完整地传达给本领域的技术人员。
本发明利用HDFS对地震数据进行数据切分和管理,MapReduce编程模型进行并行计算,以及Hadoop框架实现资源和作业调度,实现Kirchhoff叠前深度偏移的高效、稳定、大规模计算,提高了偏移处理的经济效益。
基于Hadoop框架的应用程序开发设计具有三个核心步骤:1、数据准备阶段的数据切分;2、Map阶段的数据切片映射计算;3、Reduce阶段的计算结果规约。以下参考图2详细描述根据本发明的示例性实施方案的叠前深度偏移计算方法。
该方法主要包括:
步骤1:根据偏移距范围对输入地震数据进行分选,使一个输入地震数据切片只输出一个偏移距成像空间。
Kirchhoff叠前深度偏移往往需要输出成像道集,而成像道集的是根据输入地震数据的炮检距(即偏移距)进行叠加和分选的,其数据集大小为成像空间的N倍(N为输出成像道集的偏移距分组个数)。如果输入地震数据包含M(1<M≤N)个偏移距组,则偏移成像计算过程中需要“M×成像空间内存量”。因此,对于高密度采集、大工区数据处理需要的内存通常超出实际内存容量。通常做法是先根据偏移距范围对输入地震数据先进行分选,使一个输入地震数据切片只输出一个偏移距成像空间,以降低对内存的需求。
对输入地震数据进行分选,即对输入地震数据进行分组与切分的步骤如下:
1.1)将共中心点道集数据重新排序成共偏移距(Offset)道集数据,其中,中心点道集数据分别以[Inline、Crossline、Offset]为第一、二、三排序关键字,共Offset道集数据分别以[Offset、Inline、Crossline]为第一、二、三排序关键字;1.2)对共Offset道集数据进行偏移距分组,方案如下式:
其中,NumOff表示偏移距分组总组数Offmax表示输出最大偏移距值,Offmin表示输出最小偏移距值,ΔOff表示输出偏移距间隔,Offi表示当前道的偏移距值,Numt表示当前道对应的偏移距分组组号,OffCal_max表示输入最大偏移距值(即偏移距超过该值的道数据不参与偏移计算),公式(2)中的“||”表示取绝对值运算,“[]”表示取整运算。按偏移距分组实例如图3所示,偏移距为-300~300的道集划分为第1组,偏移距绝对值为700~950的道集划分为第4组,以此类推。
1.3)对共Offset道集数据进行切分,即二次分组;
对地震数据进行统计发现,按偏移距分组后,不同偏移距组的地震道数是分布不均的。例如图4中,第36个偏移距分组的地震道数最少,约为2.4万道;第13个偏移距分组的地震道数最多,超过为26.6万道。如果按偏移距分组进行任务划分,即一个Map计算一个偏移距分组道集,将导致以下几个问题:
ⅰ、单个任务的数据集严重超出Hadoop可设置的数据块(Block)大小;
ⅱ、任务数太少,可利用的并发资源太少,计算规模扩展性太差;
ⅲ、各任务的计算量差异大,计算节点的负载严重失衡。
因此,需要对一个偏移距分组内的道集进行二次分组,二次分组的方法是:
Ⅰ、根据Hadoop设定的Block大小和每个地震道长度,计算一个Block可包含的地震道数(必须是整数个地震道)。例如,设定Block为64MB,每道3.2KB,则一个Block包含2万道。可以通过以下公式计算一个数据块能够包含的地震道数:
其中,Mblk为一个数据块的占用磁盘大小,M1tra为一个道数据的占用磁盘大小,Numtra_blk为一个数据块包含的道数,“[]”表示取整运算。
Ⅱ、求取每个偏移距分组道集的可划分数据块数,可以通过以下公式进行计算:
其中,Numtra为一个偏移距分组道集的总道数,Numblk为一个偏移距分组道集能够划分的总块数,“[]”表示取整运算。
以图4的偏移距分组为例,第36个偏移距分组道集可细分为2个数据块,第1个Block包含2万道,第2个Block包含4302道;第13个偏移距分组道集可细分为14个数据块,第1~13个Block均包含2万道,第14个Block只包含6414道。
Ⅲ、根据偏移距分组号、道号和block顺序号,建立数据block索引表,确立block顺序号、数据存储节点名、block存储起始地址、block长度等信息的对应关系,实现数据切分。
Hadoop技术框架是用Java开发的,而本发明涉及的应用程序是用C/C++开发的,虽然有JNI(Java Native Interface,Java本地接口)实现不同的编译环境下数据通讯,提高平台的可移植性,但是大量数据在不同平台多次转换,必然会导致IO性能明显下降。因此,本发明提出了C/C++程序接口直接读取数据的方法,如图5所示。
在一个示例中,通过以下方式读取共Offset道集数据切片:
C/C++应用程序(客户端)向Hadoop数据平台(服务端)提出读取数据请求,Hadoop数据平台的Java API读取所申请数据块的描述信息,通过JNI传递给C/C++应用程序,再由C/C++应用程序的API接口根据描述信息直接到指定磁盘位置读取数据。而不是由Hadoop的Java API直接读道集数据,然后通过JNI传输给C/C++API接口。由于地震数据量远远大于描述信息,因此,该方法大大减少了数据转换时间,提高了IO效率。
步骤2:调用Map函数,读取地震数据切片,根据炮检点坐标获取旅行时数据,再对地震数据进行逐道偏移成像计算,获得偏移剖面。
Map阶段是偏移成像的核心计算阶段,其流程如图6。Map进程首选读取地震数据切片,然后根据地震数据道头坐标获取旅行时数据,再对地震数据进行逐道偏移成像计算。由于一个数据切片对应一个偏移距组,所以,各道计算结果直接在内存中进行叠加,得到偏移结果。
在一个示例中,采用多线程流式并行计算法对各个地震道进行并行计算。
各道的偏移计算是互相独立的,完全可以按道进行并行计算。为了避免Kirchhoff叠前深度偏移所需的旅行时重复计算量,旅行时数据一般都是以稀疏炮点提前计算好,在偏移计算时检索获取。但是旅行时数据需要重复使用,数据频繁切换,非常耗时,降低了偏移成像的计算性能。为了隐藏旅行时读取时间,专门设计一个IO线程为其他计算线程提供所需要的旅行时数据,各线程处理流程如图7,流式处理方式如图8。首先各计算线程统计各自数据子集的炮检位置信息,IO线程根据炮检点位置信息进行旅行时需求综合分析。然后,IO线程为各计算进程提前预取旅行时,计算线程获得旅行时数据后进行偏移计算。由于旅行时预取时间比偏移计算时间小,所以IO线程可以采用新缓存技术快速的为多个计算线程服务,既隐藏了旅行时读取时间,也降低了旅行时数据频繁更新对网络、内存等资源的需求。
在一个示例中,通过操作同一共享文件实现同一偏移距分组的多个Map进程计算结果实现叠加,即采用一种加锁实时叠加方法。
如果按照图1所示,一个Map进程产生1个中间文件,那么对于大工区数据处理,将产生数千上万个中间文件(临时文件),可能“撑爆”磁盘空间。由于同一偏移距分组数据的计算结果可以直接叠加,因此,可以通过操作同一共享文件实现同一偏移距分组的多个Map进程计算结果实时叠加,如图6最下部的框部分。
其中,该共享文件为HDFS文件,各Map进程都可以操作,文件名包含有与“偏移距分组号”相关的字符,便于文件查找。由于存在多个Map进程对同一文件进行操作的问题,本专利提出了文件加锁的方式,避免进程竞争的问题。文件加锁方式如图9左部所示:Map进程计算完后,向共享文件所在目录写一个计算结束标识文件,用于读写排队;然后根据时间戳对标识文件进行排序,若当前Map对应的标识文件不是排在第一,则当前Map进程等待其他进程解锁,否则对共享文件进行加锁,并读取共享文件中道集数据,与Map进程内存中数据叠加后写回共享文件;最后删除标识文件,解锁共享文件。
同时,为了避免共享文件异常导致后续数据错误问题,扩充了共享文件备份与恢复功能,如图9右部所示。读共享文件出现异常,则读共享文件的备份数据再进行叠加;如果读共享文件出现异常,则读共享文件后先进行数据备份,然后再进行叠加和写出。这种方法可以在前一个Map写数据出错时,抛弃前一个Map计算结果,确保后续数据的正确性。
步骤3:调用Reduce函数,对中间数据文件进行拼接、排序和建立索引,生成成像道集数据。
Map阶段计算输出的数据是以[Offset、Inline、Crossline]分别为第一、二、三索引关键字的叠后数据,即实时叠加的共享文件,其每个文件的Offset为定值,且只对应一个偏移距分组。但是,由于数据切片计算顺序是随机的,且计算时长不等,所以,这些文件对应的偏移距分组号是乱序的。而最后输出成像道集的索引顺序是[Inline、Crossline、Offset],因此,在所有Map进程都结束后,启动Reduce进程,对中间数据文件进行拼接、排序和建索引,生成成像道集数据。
应用示例
根据本发明的叠前深度偏移方法,部署在64节点集群的Hadoop运行环境下,采用某地震处理工区1.9TB地震采集数据进行Kirchhoff叠前深度偏移计算,测试结果如图10所示。测试结果表明:基于Hadoop的Kirchhoff叠前深度偏移计算在运行过程中,各节点的负载非常均衡,CPU利用率将达到95%,相比MPI并行框架,作业整体性能提高了接近1倍。同时,整个集群的网络流量峰值小于3GB/s,内存使用平稳,程序运行非常稳定。
本发明还提出一种叠前深度偏移计算系统。该系统包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现以下步骤:
1)根据偏移距范围对输入地震数据进行分选,使一个输入地震数据切片只输出一个偏移距成像空间;
2)调用Map函数,读取地震数据切片,根据炮检点坐标获取旅行时数据,再对地震数据进行逐道偏移成像计算,获得偏移剖面;
3)调用Reduce函数,对中间数据文件进行拼接、排序和建立索引,生成成像道集数据。
本发明基于Hadoop技术框架,通过对数据进行切分和读写,将地震数据分散存储在HDFS上,提高了数据的安全性和IO性能;同时使用Mapreduce编程模型实现数据域并行计算,对不同偏移距分组地震数据进行Kirchhoff偏移成像和叠加等处理。为了隐藏旅行时检索时间,提高计算效率,本发明提出了多线程并行计算框架,实现流式处理。同时,为了减少临时文件量,开发了成像数据实时叠加和备份的加锁方法。通过应用这些技术,降低了软件对网络、内存和磁盘等计算资源的需求,提高了CPU利用率、节点负载均衡性和计算规模可扩展性
本领域技术人员应理解,上面对本发明的实施例的描述的目的仅为了示例性地说明本发明的实施例的有益效果,并不意在将本发明的实施例限制于所给出的任何示例。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (10)
1.一种叠前深度偏移计算方法,其特征在于,包括:
1)根据偏移距范围对输入地震数据进行分选,使一个输入地震数据切片只输出一个偏移距成像空间;
2)调用Map函数,读取地震数据切片,根据炮检点坐标获取旅行时数据,再对地震数据进行逐道偏移成像计算,获得偏移剖面;
3)调用Reduce函数,对中间数据文件进行拼接和排序,生成成像道集数据。
2.根据权利要求1所述的叠前深度偏移计算方法,其中,步骤1)包括:
1.1)将共中心点道集数据重新排序成共偏移距道集数据;
1.2)基于所述共偏移距道集数据的偏移距大小对其进行分组;
1.3)根据Hadoop设定的数据块大小和每个地震道长度,对步骤1.2)得到的共偏移距道集数据进行二次分组。
3.根据权利要求2所述的叠前深度偏移计算方法,其中,在步骤1.2)中,分组总数NumOff通过公式(1)计算,当前道对应的偏移距分组组号Numt通过公式(2)计算:
在公式(1)、(2)中,NumOff表示偏移距分组总组数Offmax表示输出最大偏移距值,Offmin表示输出最小偏移距值,ΔOff表示输出偏移距间隔,Offi表示当前道的偏移距值,Numt表示当前道对应的偏移距分组组号,OffCal_max表示输入最大偏移距值。
4.根据权利要求2所述的叠前深度偏移计算方法,其中,在步骤1.3)包括:
根据Hadoop设定的数据块大小和每个地震道长度,计算一个数据块能够包含的地震道数;
求取每个偏移距分组道集能够划分的数据块数;
根据偏移距分组号、道号和数据块顺序号,建立数据块索引表,确立数据块顺序号、数据存储节点名、数据块存储起始地址、数据块长度的对应关系,实现共偏移距道集数据的切分。
5.根据权利要求4所述的叠前深度偏移计算方法,其中,通过以公式计算一个数据块能够包含的地震道数:
其中,Mblk为一个数据块的占用磁盘大小,M1tra为一个道数据的占用磁盘大小,Numtra_blk为一个数据块包含的道数。
6.根据权利要求4所述的叠前深度偏移计算方法,其中,通过以下公式计算每个偏移距分组道集能够划分的数据块数:
其中,Numtra为一个偏移距分组道集的总道数,Numblk为一个偏移距分组道集能够划分的总块数。
7.根据权利要求1所述的叠前深度偏移计算方法,其中,在步骤2)中,通过以下方式读取所述地震数据切片:
C/C++应用程序向Hadoop数据平台提出读取数据请求,Hadoop数据平台的Java API读取所申请数据块的描述信息,通过JNI传递给C/C++应用程序,再由C/C++应用程序的API接口根据描述信息直接到指定磁盘位置读取数据,其中,所述申请数据块的描述信息包括数据块的起始地址、数据块长度。
8.根据权利要求1所述的叠前深度偏移计算方法,其中,在步骤2)中,对各个地震道进行并行计算。
9.根据权利要求1所述的叠前深度偏移计算方法,其中,在步骤2)中,通过操作同一共享文件实现同一偏移距分组的多个Map进程计算结果实现叠加。
10.一种叠前深度偏移计算系统,其特征在于,所述系统包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现以下步骤:
1)根据偏移距范围对输入地震数据进行分选,使一个输入地震数据切片只输出一个偏移距成像空间;
2)调用Map函数,读取地震数据切片,根据炮检点坐标获取旅行时数据,再对地震数据进行逐道偏移成像计算,获得偏移剖面;
3)调用Reduce函数,对中间数据文件进行拼接、排序和建立索引,生成成像道集数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710936524.5A CN109657197B (zh) | 2017-10-10 | 2017-10-10 | 一种叠前深度偏移计算方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710936524.5A CN109657197B (zh) | 2017-10-10 | 2017-10-10 | 一种叠前深度偏移计算方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109657197A true CN109657197A (zh) | 2019-04-19 |
CN109657197B CN109657197B (zh) | 2022-11-22 |
Family
ID=66109485
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710936524.5A Active CN109657197B (zh) | 2017-10-10 | 2017-10-10 | 一种叠前深度偏移计算方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109657197B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110515121A (zh) * | 2019-07-11 | 2019-11-29 | 中国石油化工股份有限公司 | 一种地震数据振幅补偿处理中偏移距规则化方法及装置 |
CN111965699A (zh) * | 2020-09-09 | 2020-11-20 | 中国海洋石油集团有限公司 | 一种克西霍夫叠前深度偏移地震数据处理方法和系统 |
CN112444851A (zh) * | 2019-08-30 | 2021-03-05 | 中国石油化工股份有限公司 | 基于MapReduce并行框架的逆时偏移成像方法及存储介质 |
CN114519129A (zh) * | 2022-02-11 | 2022-05-20 | 北京易源兴华软件有限公司 | 地震大数据集群并行机高效分选方法和装置 |
CN117519610A (zh) * | 2024-01-05 | 2024-02-06 | 中国石油集团东方地球物理勘探有限责任公司 | 一种叠后地震数据创建cmp数据体的方法、装置及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100030479A1 (en) * | 2008-08-01 | 2010-02-04 | Higginbotham Joseph H | Methods and computer-readable medium to implement computing the propagation velocity of seismic waves |
CN104133240A (zh) * | 2014-07-29 | 2014-11-05 | 中国石油天然气集团公司 | 大规模并行的克希霍夫叠前深度偏移方法及装置 |
CN104570081A (zh) * | 2013-10-29 | 2015-04-29 | 中国石油化工股份有限公司 | 一种积分法叠前时间偏移地震资料处理方法及系统 |
CN106250101A (zh) * | 2015-06-12 | 2016-12-21 | 中国石油化工股份有限公司 | 基于MapReduce的叠前偏移并行处理方法和装置 |
-
2017
- 2017-10-10 CN CN201710936524.5A patent/CN109657197B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100030479A1 (en) * | 2008-08-01 | 2010-02-04 | Higginbotham Joseph H | Methods and computer-readable medium to implement computing the propagation velocity of seismic waves |
CN104570081A (zh) * | 2013-10-29 | 2015-04-29 | 中国石油化工股份有限公司 | 一种积分法叠前时间偏移地震资料处理方法及系统 |
CN104133240A (zh) * | 2014-07-29 | 2014-11-05 | 中国石油天然气集团公司 | 大规模并行的克希霍夫叠前深度偏移方法及装置 |
CN106250101A (zh) * | 2015-06-12 | 2016-12-21 | 中国石油化工股份有限公司 | 基于MapReduce的叠前偏移并行处理方法和装置 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110515121A (zh) * | 2019-07-11 | 2019-11-29 | 中国石油化工股份有限公司 | 一种地震数据振幅补偿处理中偏移距规则化方法及装置 |
CN112444851A (zh) * | 2019-08-30 | 2021-03-05 | 中国石油化工股份有限公司 | 基于MapReduce并行框架的逆时偏移成像方法及存储介质 |
CN111965699A (zh) * | 2020-09-09 | 2020-11-20 | 中国海洋石油集团有限公司 | 一种克西霍夫叠前深度偏移地震数据处理方法和系统 |
CN114519129A (zh) * | 2022-02-11 | 2022-05-20 | 北京易源兴华软件有限公司 | 地震大数据集群并行机高效分选方法和装置 |
CN117519610A (zh) * | 2024-01-05 | 2024-02-06 | 中国石油集团东方地球物理勘探有限责任公司 | 一种叠后地震数据创建cmp数据体的方法、装置及介质 |
CN117519610B (zh) * | 2024-01-05 | 2024-03-22 | 中国石油集团东方地球物理勘探有限责任公司 | 一种叠后地震数据创建cmp数据体的方法、装置及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109657197B (zh) | 2022-11-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109657197A (zh) | 一种叠前深度偏移计算方法及系统 | |
Jangda et al. | Accelerating graph sampling for graph machine learning using GPUs | |
Guo et al. | Gpu-accelerated subgraph enumeration on partitioned graphs | |
Borkar et al. | Hyracks: A flexible and extensible foundation for data-intensive computing | |
Nykiel et al. | MRShare: sharing across multiple queries in MapReduce | |
Ma et al. | Query processing of massive trajectory data based on mapreduce | |
Kwon et al. | A study of skew in mapreduce applications | |
Shao et al. | Efficient cohesive subgraphs detection in parallel | |
CN106547882A (zh) | 一种智能电网中营销大数据的实时处理方法及系统 | |
Ju et al. | iGraph: an incremental data processing system for dynamic graph | |
Zhang et al. | Harp: Collective communication on hadoop | |
Xia et al. | Big traffic data processing framework for intelligent monitoring and recording systems | |
CN105445792A (zh) | 一种叠前多次波逆时偏移地震数据处理方法及系统 | |
Zhang et al. | MTC Envelope: Defining the capability of large scale computers in the context of parallel scripting applications | |
Huang et al. | Heads-join: Efficient earth mover's distance similarity joins on hadoop | |
Singh et al. | Spatial data analysis with ArcGIS and MapReduce | |
CN110264392B (zh) | 一种基于多gpu的强连通图检测方法 | |
Dong et al. | DASSA: Parallel DAS data storage and analysis for subsurface event detection | |
Li et al. | Losha: A general framework for scalable locality sensitive hashing | |
US20120124585A1 (en) | Increasing Parallel Program Performance for Irregular Memory Access Problems with Virtual Data Partitioning and Hierarchical Collectives | |
Abualigah et al. | Advances in MapReduce big data processing: platform, tools, and algorithms | |
CN105894439A (zh) | 基于CUDA的海洋涡旋及Argo浮标交集数据快速提取算法 | |
Orakzai et al. | Distributed mining of convoys in large scale datasets | |
CN111125248A (zh) | 一种大数据存储解析查询系统 | |
CN103530369A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |