Free surface multiple suppression method and storage device

By using the Spark parallel framework to perform piecewise parallel processing of seismic data, the resource management and fault tolerance bottlenecks in free surface multiple suppression are solved, and more efficient multiple prediction is achieved.

CN121995456APending Publication Date: 2026-05-08CHINA PETROLEUM & CHEMICAL CORP +1
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
CHINA PETROLEUM & CHEMICAL CORP
Filing Date
2024-11-07
Publication Date
2026-05-08

AI Technical Summary

Technical Problem

Existing technologies face bottlenecks in the suppression of multiple waves on free surfaces, particularly in high-performance computing, due to issues such as resource management and fault tolerance.

Method used

The Spark parallel framework is used to process seismic data in parallel by using the Resilient Distributed Dataset (RDD). Each piece is independently used for multiple wave model predictions, and the results are merged, taking advantage of Spark's resource management and fault tolerance.

Benefits of technology

The practical application of free surface multiple wave technology has been realized, making it more controllable, stable, and efficient. It has solved resource management and fault tolerance issues and improved computational efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121995456A_ABST
    Figure CN121995456A_ABST
Patent Text Reader

Abstract

The invention provides a free surface multiple suppression method and a storage device, and belongs to the field of seismic exploration. The method comprises the steps of 1, extracting trace header words of seismic data, and performing statistical calculation; step 2, acquiring global data by using a distributed file and converting the global data into an elastic distributed data set RDD; step 3, performing fragmentation and parallel operation on the seismic data in the elastic distributed data set RDD; and step 4, re-merging the operation results of all the fragments. According to the method, the advantages of the Spark in the aspects of resource management, fault tolerance and the like are exerted, more flexible and convenient parallel granularity is supported, and the practicability of the free surface multiple technology is more controllable, stable and efficient.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention belongs to the field of seismic exploration, specifically relating to a method and storage device for suppressing multiple waves on a free surface. Background Technology

[0002] Free-surface multiple suppression algorithms often require searching for multiple contribution gathers, loading data, and finally calculating the multiples during the prediction process. Currently, parallel processing (MPI) is commonly used, with different processes handling different data, and each process containing multiple threads for computation. Data reading and transfer rely on disk files. While existing free-surface multiple suppression techniques rely on MPI's parallel approach, and MPI offers significant advantages in high-performance computing, increasing the amount of data and computational resources required presents a significant bottleneck: how to manage resources, monitor jobs, and handle fault tolerance during the execution of free-surface multiple suppression programs. Summary of the Invention

[0003] The purpose of this invention is to solve the problems existing in the prior art. In view of the shortcomings of the prior art, this invention proposes a free surface multiple wave suppression method. The method is based on the Spark parallel framework and uses the Resilient Distributed Dataset (RDD) to partition the data in parallel, so that each partition independently performs multiple wave model prediction for each channel within its partition. Then, the multiple wave models of each partition are merged to generate a multiple wave prediction model for the data to be predicted.

[0004] This invention is achieved through the following technical solution:

[0005] A first aspect of the present invention provides a method for suppressing multiple waves on a free surface, the method comprising:

[0006] Step 1: Extract the trace headers from the seismic data and perform statistical calculations;

[0007] Step 2: Use distributed files to obtain global data and convert it into a Resilient Distributed Dataset (RDD);

[0008] Step 3: Slice the seismic data in the Resilient Distributed Dataset (RDD) and perform parallel computation;

[0009] Step 4: Merge all the results of the operations on the fragments.

[0010] Furthermore, the track header includes location information for seismic data acquisition, namely, shot point, checkpoint coordinates, and offset information.

[0011] Furthermore, the statistical calculation in step 1 involves statistically analyzing track head attributes, including the minimum and maximum CDP numbers, minimum and maximum gun numbers of the input data. After the statistics are performed, the track head attributes are stored in a specified one-dimensional array.

[0012] Furthermore, step 2 includes:

[0013] Step 21: Load the earthquake data to be measured into Spark. The earthquake data is stored in a distributed manner in the HDFS distributed file system.

[0014] Step 22: Using Spark's API, convert the global data into Spark's Resilient Distributed Dataset (RDD).

[0015] Furthermore, the global data refers to the original seismic data for the entire work area.

[0016] Furthermore, step 3 involves parallel execution of the data according to the data set, including:

[0017] Step 31: Divide the seismic data of the multiple waves to be predicted into segments according to the gathers;

[0018] Step 32: Perform independent calculations for each segment by track;

[0019] Step 33: Perform convolution and superposition operations on the calculation results of all segments.

[0020] Furthermore, step 32 involves searching for contributing channels within each channel based on the channel head attributes statistically obtained in step 1, and calculating the multiple wave contribution channel for each channel within the channel set; for each channel of the multiple wave channel set to be predicted after segmentation in step 31, the multiple wave contribution channel for each channel is read in.

[0021] Furthermore, step 33 involves the occurrence of multiple wave contribution gather pairs, and the convolution of the two gathers contained in each pair; the results of the convolution of each pair of multiple wave contribution gathers are then summed.

[0022] Furthermore, step 4 uses a reduce operation to aggregate the computation results of all shards.

[0023] A second aspect of the present invention provides a computer-readable storage medium, characterized in that: the computer-readable storage medium stores at least one computer-executable program, which, when executed by the computer, causes the computer to perform the steps of the free surface multiple wave suppression method as described in any one of claims 1-9.

[0024] Compared with the prior art, the beneficial effects of the present invention are: the present invention proposes a free surface multiple wave suppression method based on the Spark parallel framework, which gives full play to Spark's advantages in resource management and fault tolerance, and combines its own support for more flexible and convenient parallel granularity, making the practical application of free surface multiple wave technology more controllable, stable and efficient. Attached Figure Description

[0025] Appendix Figure 1 A schematic diagram of data flow in the method of this invention. Detailed Implementation

[0026] To implement the above method, the implementation process of this invention is as follows:

[0027] Step 1: Extract the first characters of the passage and perform statistics.

[0028] In seismic data processing, to suppress or eliminate the influence of multiples, it is necessary to identify and process those gathers that contribute to the multiples. This involves analyzing seismic data to determine which seismic waves are multiples. Multiples are seismic waves that are reflected multiple times at different layers. Multiple contribution gathers refer to the other waves relied upon to find the multiples. Taking the first gather as an example, this gather contains information about multiples. To remove multiples, data from other gathers surrounding this gather are needed to calculate the multiples for this gather. These other gathers used to predict the multiples for this gather are called multiple contribution gathers.

[0029] Furthermore, the search for contributing gathers relies on shot point, checkpoint coordinates, and offset information; that is, it requires knowing the specific location information of the seismic data acquisition, including shot points, checkpoints, and the offsets between them. Shot point, checkpoint coordinates, and offset information are obtained by extracting trace header information, which is existing technology and will not be elaborated further.

[0030] To facilitate subsequent calculations for multiple wave contribution channel searches, the channel headers of each channel in the entire work area are first extracted and statistically analyzed. Typically, a channel's header and channel data are stored in the same file, with the header data occupying the first 240 bytes and the channel data arranged after. Channel header attributes are statistically analyzed, specifically including the minimum CDP number, maximum CDP number, minimum shot number, and maximum shot number of the input data. The statistically analyzed channel header attributes are then stored in a designated one-dimensional array. The actual execution loads data from the HDFS distributed file system into the array and stores the extracted results back into HDFS.

[0031] Step 2: Use distributed file system to obtain global data and convert it into an RDD.

[0032] Predicting multiple waves typically involves predicting multiple waves of a subset of data from a work area. While multiple wave prediction technology is a mature algorithm in the industry, this invention utilizes Spark's parallel processing approach for data organization and flow. To reduce boundary effects during multiple wave prediction, the prediction of multiple waves for a specific data point often relies on the data from the work area containing that data. In subsequent multiple wave prediction calculations, each wave of the data to be predicted needs to be searched from the global data of the entire work area; therefore, the global data needs to be stored in the distributed file system HDFS for later use.

[0033] The first step is to load the earthquake data to be measured into Spark, and this data is stored in a distributed manner in the distributed file system HDFS.

[0034] The second step involves using Spark's existing API to convert the global data—the raw seismic data for the entire work area—into a Spark Resilient Distributed Dataset (RDD) for further processing. Specifically, Spark APIs, such as `spark.read.format("csv").load(path)`, are used to read the data as an RDD for further processing.

[0035] Step 3: Data partitioning and parallel computing

[0036] Multiple waves on a free surface require a large amount of computation and are extremely time-consuming, so the data needs to be processed in parallel according to the gathers.

[0037] The first step is to leverage the advantages of Spark to segment the seismic data for predicting multiple waves into fragments based on trace gathers.

[0038] Specifically, slicing involves dividing multiple gathers into a single slice. It does not depend on the coordinates of the shot point, the check point, or the offset information, but it does depend on the gather number (a gather contains multiple traces, and the multiple traces within a gather share a common gather number).

[0039] The second step involves each shard containing data from multiple trace sets, thus each shard is calculated independently per trace.

[0040] Specifically, firstly, within each gather, contributing gathers are searched based on the seismic data from step 1, and the extracted trace headers are used to calculate the multiple contribution gathers for each trace within the gather. Secondly, for each trace in the gather to be predicted for multiples, the multiple contribution gathers for that trace are read in iteratively. Taking a single data point A as an example, a data point A exists within a certain range, called the aperture. Within this aperture, there are many traces, some of which are helpful for the multiple calculation of A. There are multiple such traces, collectively referred to as the multiple contribution gathers.

[0041] The third step is to perform convolution and superposition operations to obtain the multiple wave model of the channel.

[0042] Specifically, taking a single data point A as an example, if multiple channels contribute to the multi-wavelength calculation of data point A, this is called a multi-wavelength contribution channel set. During the search process, multi-wavelength contribution channels that meet this condition exist in pairs (a pair includes two channels), and many pairs of channels form a multi-wavelength contribution channel set. The term "convolution" refers to convolving the two channels within each pair in the multi-wavelength contribution channel set; the term "superposition" refers to summing up the results of each pair of convolutions.

[0043] Step 4: Merge the calculation results of each segment.

[0044] Building upon step 3, Spark's Reduce operation is used to merge the calculation results of all shards to form the final output. Specifically, assuming there are 10 shots of data requiring multiple wave prediction, with 100 data points per shot; and assuming the data is divided into two shards, the first shard (containing shots 1-5) will calculate the multiple wave model for shots 1-5, and the second shard (containing shots 6-10) will calculate the multiple wave model. Finally, the data from the two shards are merged and output to a single file, yielding the complete multiple wave prediction result, i.e., the multiple wave prediction model.

[0045] Specifically, the reduce operation is used to aggregate the computation results of all shards to obtain the global multi-wave prediction result. The operation steps are as follows: First, define an accumulation function (also known as a reduction function), which combines two elements into one; then, using the reduce method and passing in the defined accumulation function, Spark will apply this function to the elements of the RDD, combining elements pair by pair, and finally obtaining a single value.

[0046] The multi-wave prediction model is stored in the driver's memory. Preferably, the data after removing multiple waves can be obtained by subtracting the multi-wave prediction model from the original data.

[0047] The following uses shot collection seismic data as an example to explain in detail the process of the free surface multiple wave suppression method.

[0048] Example 1:

[0049] The first step is to perform calculations and statistics on the first character of the character.

[0050] Extract key header information (shot coordinates, receiver coordinates, offset) from each track in the entire shot gather's work area data. The entire work area data is denoted as D = {D_1, D_2, ..., D_n}. For any D_id belonging to D, it represents a data file of the entire work area data, denoted as D_id = {G_1, G_2, ..., G_m}. For any G_j belonging to D_id, it represents a shot gather, denoted as G_ig = {T_1, T_2, ..., T_l}. For any T_k belonging to G_ig, it represents a track, denoted as T_k = (H, S), where H represents the header and S represents the track data. First, extract the shot coordinates, receiver coordinates, and offset from H of each track and store them in the corresponding arrays. Specifically, at the start of the calculation, five arrays, ShotX, ShotY, RecX, RecY, and Offset, are allocated to memory to store the X-coordinate of the shot point, Y-coordinate of the shot point, X-coordinate of the receiver point, Y-coordinate of the receiver point, and offset value for each data point.

[0051] Example 2:

[0052] The second step is to use distributed file storage for global data.

[0053] All work area data D is loaded into the distributed file system. Next, for the data of multiple waves to be predicted... (Where D^ is a subset of the work area dataset D, i.e., the global data, and is the data to be predicted), and loaded into the elastic distributed dataset RDD. Taking a work area with 100 shots (numbered 1-100) as an example, only the multiple waves of shots 11-20 need to be predicted. Therefore, shots 11-20 are the data to be predicted, and shots 1-100 are the global data. The reason for doing this is that when predicting shots 11-20, each trace of each shot needs to search for the multiple wave contribution trace set within the entire work area. The source of the multiple wave contribution trace is the entire work area, so the global data of the entire work area is required.

[0054] It's important to note that D^' and D are two data streams, and will be organized accordingly based on their functions. The reason for creating two data streams is to facilitate the search for multiple wave contribution channels. Taking the data of all 100 shots (numbered 1-100) in the entire work area, but only the multiple waves of shots 11-20 need to be predicted, as an example, let's assume two segments: the first segment is shots 11-15, and the second segment is shots 16-20. After segmentation, each segment can only access data within its own segment and cannot access data outside its segment. Therefore, two data streams are created: the first data stream (shots 11-20) is the segmentation data stream, and the second data stream is the global data stream for the entire work area (shots 1-100). During segmentation, processing is done on the first data stream, and when searching for multiple wave contribution channels, the search is conducted within the second data stream. This is because each segment can only see data within its own segment, while the search scope is the entire work area.

[0055] Once D' is loaded into an RDD, it can be processed in parallel using the transformations and actions provided by Spark.

[0056] Example 3:

[0057] The third step is to perform data partitioning and computation on D^'.

[0058] Data is sharded for D^', with each shard containing data from multiple sets of data. This allows data to be sharded according to different data sets, placing several sets of data into a single shard. The specific sets of data placed in a shard depends on the actual needs and can be freely set by the user; for example, five adjacent sets of data could be placed together, or seven sets of data could be placed together.

[0059] The computation is performed independently for each channel in parallel, meaning several processes work simultaneously, each responsible for the multiple wave prediction of several channel sets, and the processes are independent of each other. For each slice, the ShotX, ShotY, RecX, RecY, and Offset stored in the first step are used to search for the contributing channels of multiple waves in the entire work area D. The results are stored in the array Mcg, which is a block of memory allocated by the program to store the channel numbers of the contributing channels of multiple waves during the search process, so as to find the channels that need to be convolved in subsequent convolution calculations.

[0060] For each channel in a slice, the corresponding multiple wave contribution channel set is obtained from the entire work area data. In actual calculations, searching the entire work area for every channel would be extremely time-consuming. Considering that most channels have a large amount of duplicate multiple wave contribution channels, within a slice, the entire work area is traversed starting from the first channel. Channels matching the requirements are recorded in the `Mcg` array, loaded into memory, and their contribution channel positions are recorded. This way, within each slice, only one search is needed to obtain the multiple wave contribution channel set for each channel, significantly saving time.

[0061] Next, for each trace in the multiple model to be calculated, the multiple contribution trace set for that trace is read directly from memory, and then convolved, superimposed, and converted to the time domain in pairs. This yields the multiple model for that trace set.

[0062] Example 4:

[0063] The fourth step is to merge the multiple wave models from each channel.

[0064] By merging the multiple wave models of each channel within a shard using Spark's Reduce function, the multiple wave model of the data to be predicted can be obtained. Specifically, for each channel in the calculation shard, the multiple wave contribution set corresponding to that channel is obtained from the entire work area data.

Claims

1. A method for suppressing multiple waves on a free surface, characterized in that: The method includes: Step 1: Extract the trace headers from the seismic data and perform statistical calculations; Step 2: Use distributed files to obtain global data and convert it into a Resilient Distributed Dataset (RDD); Step 3: Slice the seismic data in the Resilient Distributed Dataset (RDD) and perform parallel computation; Step 4: Merge all the results of the operations on the fragments.

2. The free surface multiple wave suppression method according to claim 1, characterized in that: The term "track header" includes location information for seismic data acquisition, namely, shot point, checkpoint coordinates, and offset information.

3. The free surface multiple wave suppression method according to claim 1, characterized in that: The statistical calculation in step 1 is to statistically calculate the track head attributes, including the minimum CDP number, maximum CDP number, minimum gun number, and maximum gun number of the input data; After statistics are collected, the road head attributes are stored in a specified one-dimensional array.

4. The free surface multiple wave suppression method according to claim 1, characterized in that: Step 2 includes: Step 21: Load the earthquake data to be measured into Spark. The earthquake data is stored in a distributed manner in the HDFS distributed file system. Step 22: Using Spark's API, convert the global data into Spark's Resilient Distributed Dataset (RDD).

5. The free surface multiple wave suppression method according to claim 1 or 4, characterized in that: The global data refers to the original seismic data for the entire work area.

6. The free surface multiple wave suppression method according to claim 1, characterized in that: Step 3 involves parallel execution of the data according to the data set, including: Step 31: Divide the seismic data of the multiple waves to be predicted into segments according to the gathers; Step 32: Perform independent calculations for each segment by track; Step 33: Perform convolution and superposition operations on the calculation results of all segments.

7. The free surface multiple wave suppression method according to claim 6, characterized in that: Step 32 involves searching for contributing channels within each channel based on the channel head attributes statistically obtained in Step 1, and calculating the multiple wave contribution channels for each channel within the channel set; for each channel of the multiple wave channel set to be predicted after segmentation in Step 31, the multiple wave contribution channel for each channel is read in.

8. The free surface multiple wave suppression method according to claim 6, characterized in that: Step 33 involves the occurrence of multiple wave contribution gather pairs, and the two gathers contained in each pair are convolved; the results of the convolution of each pair of multiple wave contribution gathers are summed together.

9. The free surface multiple wave suppression method according to claim 1, characterized in that: Step 4 uses the reduce operation to aggregate the computation results of all shards.

10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores at least one computer-executable program, which, when executed by the computer, causes the computer to perform the steps of the free surface multiple wave suppression method as described in any one of claims 1-9.