Seismic trace resampling method and storage medium
By performing seismic trace resampling in the Spark computing environment and using the Spark and MapReduce frameworks for data sharding and parallel processing, the problem of long seismic trace resampling time is solved, achieving efficient parallel computing and resource utilization, simplifying program writing, and making it suitable for exploration of complex, hidden, deep and ultra-deep oil and gas reservoirs.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- CHINA PETROLEUM & CHEMICAL CORP
- Filing Date
- 2024-11-12
- Publication Date
- 2026-05-12
AI Technical Summary
In current seismic exploration, seismic trace resampling operations are time-consuming and difficult to efficiently utilize large clusters and high-performance computing resources. Existing signal processing theories rarely address the issue of efficient algorithm implementation, resulting in low efficiency, especially in the exploration of complex, concealed, and deep/ultra-deep oil and gas reservoirs.
A seismic trace resampling method is adopted in the Spark computing environment. Data is processed in parallel by data partitioning through the Spark framework, and data is aggregated by the MapReduce framework. Local memory transfer is carried out using the JNI interface, and Lagrange interpolation and anti-aliasing filter are used for processing. The partition size is dynamically adjusted to optimize resource utilization.
It achieves efficient parallel processing of seismic trace resampling, improves the reliability and maintainability of the program, simplifies the program writing difficulty, makes full use of cluster resources, and reduces computation time.
Smart Images

Figure CN122017960A_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of seismic exploration data processing technology, specifically relating to a seismic trace resampling method and storage medium. Background Technology
[0002] Seismic data acquired through modern seismic acquisition methods is typically stored as digital signals and processed by computers. Digital processing methods can only handle discrete-time signals, meaning the input signal is discrete in both time and amplitude. However, seismic trace data collected during seismic acquisition is typically recorded at a fixed sampling frequency. This process can be viewed as sampling a continuous seismic signal. Raw seismic trace data usually occupies a large amount of storage space, and processing it directly consumes significant computational resources. Seismic trace resampling can reduce the amount of raw seismic data while preserving the signal components. For example, in a seismic trace, the signal near its end generally has a high signal-to-noise ratio but low effective signal energy, making analysis of this data practically meaningless; such data can be discarded. Alternatively, resampling can be performed based on the highest frequency of the recorded seismic trace, retaining the frequency components to compress the data and reduce the computational time of various processing procedures.
[0003] In recent years, with the changing landscape of oil and gas resource extraction in my country, seismic exploration targets have gradually shifted towards complex, concealed, deep and ultra-deep reservoirs, as well as various unconventional oil and gas reservoirs. As the exploration area expands and the depth of exploration targets increases, the spatial and temporal resolution of seismic data continues to improve. Processing actual field data using a single workstation or small cluster is no longer practically feasible. Modern seismic data processing pursues large-scale clusters and high-performance computing methods, leading to significant differences in the design and implementation of programs running on large systems compared to those running on single machines or small clusters. Existing signal processing theories rarely address the efficient implementation of algorithms. Seismic trace resampling involves two categories with a total of four cases: downsampling with the current sampling rate being an integer multiple of the original sampling rate, downsampling with the current sampling rate not being an integer multiple of the original sampling rate, oversampling with the current sampling rate being an integer multiple of the original sampling rate, and oversampling with the current sampling rate not being an integer multiple of the original sampling rate. Since interpolation algorithms are involved, serial operation on multiple seismic traces inevitably leads to high processing time; therefore, parallel processing is needed to improve program execution efficiency. Summary of the Invention
[0004] The purpose of this invention is to solve the problems existing in the prior art. In view of the shortcomings of the prior art, a seismic trace resampling implementation method is proposed to provide an efficient implementation approach for trace resampling operations involved in various seismic data processing in the Spark computing environment.
[0005] This invention is achieved through the following technical solution:
[0006] A first aspect of the present invention provides a seismic trace resampling method, the method comprising:
[0007] Step 1: Divide the data into slices from the input channel set to prepare the calculation parameters;
[0008] Step 2: For each data slice, resample the channels in each channel set;
[0009] Step 3: Summarize the processing results of each set of Dao data and output them.
[0010] Furthermore, in step 1, data slicing refers to automatically dividing the data according to the trace set type using the computational paradigm provided by the Spark framework to obtain data slices; the elements in the data slices are based on trace sets, with a single seismic trace belonging to one trace set.
[0011] Furthermore, step 1 also includes: reading the input set into HDFS in a custom format; and using the JNI interface to transfer the data fragments into local memory.
[0012] Furthermore, the reading of data into HDFS in a custom format includes: the operation of reading the input dataset into HDFS in a custom format refers to a custom implementation in the MapReduce framework, including: implementing custom InputFormat and RecordReader classes; custom implementing the KeyClass class for keys and the ValueClass class for values.
[0013] Furthermore, step 2 includes:
[0014] Step 21: Divide the obtained data into gather1, gather2, gather3, ..., gatherN, for a total of N gathers;
[0015] Step 22: For each set of data, use the JNI interface to transfer the data from the JVM to local memory;
[0016] Step 23: Resampling is performed using local code, whereby the resampling process refers to interpolation calculation.
[0017] Step 24: Determine if there is aliasing of the original seismic signal spectrum caused by downsampling operation; if yes, proceed to step 25; if no, proceed to step 3.
[0018] Step 25: Filter the interpolated data using an anti-aliasing filter.
[0019] Furthermore, step 21 also includes: dynamically adjusting the fragment size using a dynamic fragmentation method based on factors such as memory quantity, disk quantity, and network bandwidth.
[0020] Furthermore, step 23 includes: when the ratio of the new sampling interval to the original sampling interval is not an integer, using the Lagrange interpolation method to calculate the interpolation; when the ratio of the new sampling interval to the original sampling interval is an integer, using a zero-phase filter to perform spoofing removal processing on the resampled data.
[0021] Furthermore, step 25 includes:
[0022] Determine the sampling frequency fs, ensuring that the sampling frequency fs is at least twice the highest frequency fm of the signal;
[0023] Elliptic filters are anti-aliasing filters that remove signal components that are higher than half the sampling frequency.
[0024] Set the cutoff frequency of the anti-aliasing filter to be lower than half of the sampling frequency fs to ensure that signal components above the cutoff frequency will not cause aliasing.
[0025] An anti-aliasing filter is applied to eliminate high-frequency components above the cutoff frequency.
[0026] Furthermore, step 3 includes:
[0027] Use MapReduce to aggregate the processing results of each data set;
[0028] Submit a MapReduce job to the Hadoop cluster for execution, and obtain the output seismic data file according to the HDFS output format.
[0029] 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 seismic trace resampling method.
[0030] Compared with the prior art, the beneficial effects of the present invention are:
[0031] This invention fully utilizes the parallel processing mechanism of the Apache Spark framework. The parallel computing process can be well scaled according to the cluster size, thereby making full use of cluster resources and completing the efficient processing of resampling operations. The Hadoop Yarn resource scheduling system provides a good resource coordination and scheduling mechanism in the cluster and hides the implementation details from the Spark framework. This allows the writing of Spark applications to focus mainly on the processing logic itself, which greatly simplifies the difficulty of writing programs and improves the reliability and maintainability of programs. Attached Figure Description
[0032] Figure 1 This is the overall flowchart of the seismic trace resampling method of the present invention. Detailed Implementation
[0033] The present invention will be further described in detail below with reference to the accompanying drawings and embodiments:
[0034] The technical solution adopted in the method of this invention is as follows:
[0035] Example 1:
[0036] Step 1: Slice the data from the input trace set to prepare computational parameters. Trace set data stored on HDFS is in file blocks and lacks semantic information such as trace set structure. During input, a custom input type needs to be defined according to the trace set definition to allow the Spark framework to construct a suitable Resilient Distributed Dataset (RDD), completing the data input process. Reading data from HDFS in a custom format refers to a custom implementation within the MapReduce framework, including: implementing custom InputFormat and RecordReader classes; and custom implementing the KeyClass and ValueClass classes for keys and values.
[0037] This invention fully utilizes the computational paradigm provided by the Spark framework to automatically partition data according to the trace gather type, forming data shards, which provides a good parallel task scale for subsequent parallel processing. Elements in the shards are in units of trace gathers, with a single seismic trace belonging to one trace gather.
[0038] In this step, to improve the efficiency of calculating each data slice, the data slice can be transferred to local memory using the JNI interface.
[0039] Example 2:
[0040] Step 2: Channel-by-channel resampling calculation
[0041] For the data fragments obtained in step 1, a seismic trace resampling algorithm implemented in native code is used to perform calculations for each fragment. To improve computational efficiency, all calculation results are stored in a distributed dataset RDD in memory. During the actual seismic trace resampling operation, anti-aliasing filtering can be performed according to the specific sampling settings to reduce spectral aliasing caused by the seismic data resampling operation.
[0042] The Spark framework is used to resample the channels in each channel set. The specific processing steps are as follows:
[0043] S21 assigns the data fragments obtained in step 1 to the numbers gather1, gather2, gather3, ..., gatherN, resulting in N trace sets. Since the computational parameters required for resampling all seismic traces are consistent, this step ensures that the computation of each data fragment does not affect the computation of other data fragments. Specifically, because the parallel implementation of the resampling algorithm does not require computational connections between different traces, there is no influence between data fragments; the data in the distributed dataset RDD managed by the Spark framework is actually distributed across various computing nodes, exhibiting a certain degree of isolation. This solves the problem that implementing a parallel resampling computation implementation that can be used on a cluster would require complex memory and disk management, which is detrimental to the implementation of the resampling algorithm.
[0044] Meanwhile, this invention takes into account factors such as the amount of memory, the number of disks, and network bandwidth, and adopts a dynamic sharding method. It dynamically adjusts the shard size according to the characteristics of the data and the load of the cluster, which can divide a sufficient number of data shards in order to make more effective use of the computing resources in the system.
[0045] Preferably, the present invention also employs a load balancing method: ensuring that the processing load of all shards is balanced, avoiding some nodes from being overloaded while other nodes are idle.
[0046] For each set of data, S22 uses the JNI interface to transfer data from the JVM (Java Virtual Machine) to local memory.
[0047] S23 uses native code for interpolation resampling.
[0048] Resampling refers to interpolation calculation. When the ratio of the new sampling interval to the original sampling interval is not an integer, Lagrange interpolation is used to calculate the interpolation. Preferably, this invention utilizes Spark's parallel processing capabilities to parallelize the interpolation operation, thereby accelerating the processing speed.
[0049] When the ratio of the new sampling interval to the original sampling interval is an integer, a zero-phase or minimum-phase filter is used to remove spurious frequencies from the resampled data. Specifically, this invention employs a zero-phase digital filter design based on full phase to solve the phase distortion problem caused by filters in digital signal processing. Furthermore, since most DFT filter responses are zero, the corresponding multipliers can be omitted, and the corresponding first-order recursive network implementing the DFT can also be eliminated, greatly simplifying the filter structure. Preferably, based on the analysis of the traditional FRR and RRF zero-phase digital filter design principles and methods, this invention combines FRR and RRF to improve the design method of zero-phase digital filters.
[0050] S24 determines whether there is aliasing in the original seismic signal spectrum caused by downsampling or other operations. If aliasing exists, proceed to S25; otherwise, proceed to step 3 and output the summary data.
[0051] S25 If spectral aliasing exists, this invention adds an anti-aliasing filter to filter the interpolated data. The specific operation includes:
[0052] (1) Determine the sampling frequency and signal bandwidth: According to the Nyquist sampling theorem, determine the sampling frequency (fs) to ensure that the sampling frequency is at least twice the highest frequency of the signal (fm), i.e., fs≥2fm, in order to avoid aliasing.
[0053] (2) Design an anti-aliasing filter: Select an elliptic filter to effectively remove signal components that are higher than half the sampling frequency.
[0054] (3) Set the cutoff frequency of the filter: Set the cutoff frequency of the anti-aliasing filter to half of the sampling frequency (fs / 2) to ensure that signal components above the cutoff frequency will not cause aliasing.
[0055] (4) Apply anti-aliasing filter: Before sampling the analog signal, apply the designed anti-aliasing filter to the signal to eliminate high-frequency components above the cutoff frequency.
[0056] Furthermore, the present invention also employs a method of dynamically adjusting filter parameters: dynamically adjusting filter parameters according to signal characteristics to adapt to different signal acquisition environments.
[0057] Example 3:
[0058] Step 3: Summarize the output data
[0059] The output of this method is a resampled gather. Since the processing logic and calculation parameters are the same for each gather, the final output can be obtained by summing the processing results of each gather.
[0060] Specifically, MapReduce is used to aggregate data, and Reducers aggregate the processing results of each data set. The Reducer receives the output from the Mapper and aggregates it into the final result.
[0061] The final processing results of the MapReduce job are submitted to the Hadoop cluster for execution, and the output seismic data file is obtained according to the HDFS output format. Specifically, in the MapReduce job configuration, the path to the HDFS output data is set using `FileOutputFormat.setOutputPath(job, new Path("hdfs: / / localhost:9000 / mymapreduce12 / out"))`. The seismic data file is a SEGY format file, including: a file header, trace headers for each trace, and trace data bodies.
[0062] In the description of this invention, it should be noted that, unless otherwise explicitly specified and limited, the terms "connected" and "linked" should be interpreted broadly. For example, they can refer to a fixed connection, a detachable connection, or an integral connection; they can refer to a mechanical connection or an electrical connection; they can refer to a direct connection or an indirect connection through an intermediate medium. Those skilled in the art can understand the specific meaning of the above terms in this invention according to the specific circumstances.
[0063] In the description of this invention, unless otherwise stated, the terms "upper," "lower," "left," "right," "inner," "outer," etc., indicate the orientation or positional relationship based on the orientation or positional relationship shown in the accompanying drawings. They are used only for the convenience of describing this invention and simplifying the description, and do not indicate or imply that the device or element referred to must have a specific orientation, or be constructed and operated in a specific orientation. Therefore, they should not be construed as limitations on this invention.
[0064] The above technical solution is only one embodiment of the present invention. For those skilled in the art, based on the principles disclosed in the present invention, it is easy to make various types of improvements or modifications, and not limited to the technical solutions described in the specific embodiments of the present invention. Therefore, the foregoing description is only a preferred option and is not restrictive.
Claims
1. A seismic trace resampling method, characterized in that: The method includes: Step 1: Divide the data into slices from the input channel set to prepare the calculation parameters; Step 2: For each data slice, resample the channels in each channel set; Step 3: Summarize the processing results of each set of Dao and output them.
2. The seismic trace resampling method according to claim 1, characterized in that: In step 1, data slicing refers to using the computational paradigm provided by the Spark framework to automatically divide the data according to the trace set type to obtain data slices; the elements in the data slices are based on trace sets, with a single seismic trace belonging to one trace set.
3. The seismic trace resampling method according to claim 2, characterized in that: Step 1 further includes: reading the input set into HDFS in a custom format; and using the JNI interface to transfer data fragments into local memory.
4. The seismic trace resampling method according to claim 3, characterized in that: The operation of reading input datasets into HDFS in a custom format refers to a custom implementation within the MapReduce framework, including: implementing custom InputFormat and RecordReader classes; and custom implementing the KeyClass class for keys and the ValueClass class for values.
5. The seismic trace resampling method according to claim 1, characterized in that: Step 2 includes: Step 21: Divide the obtained data into gather1, gather2, gather3, ..., gatherN, for a total of N gathers; Step 22: For each set of data, use the JNI interface to transfer the data from the JVM to local memory; Step 23: Resampling is performed using local code, whereby the resampling process refers to interpolation calculation. Step 24: Determine if there is aliasing of the original seismic signal spectrum caused by downsampling operation; if yes, proceed to step 25; if no, proceed to step 3. Step 25: Filter the interpolated data using an anti-aliasing filter.
6. The seismic trace resampling method according to claim 5, characterized in that: Step 21 further includes: dynamically adjusting the fragment size using a dynamic fragmentation method based on factors such as memory quantity, disk quantity, and network bandwidth.
7. The seismic trace resampling method according to claim 5, characterized in that: Step 23 includes: when the ratio of the new sampling interval to the original sampling interval is not an integer, using the Lagrange interpolation method to calculate the interpolation; when the ratio of the new sampling interval to the original sampling interval is an integer, using a zero-phase filter to perform spoofing removal on the resampled data.
8. The seismic trace resampling method according to any one of claims 5, 6, and 7, characterized in that: Step 25 includes: Determine the sampling frequency fs, ensuring that the sampling frequency fs is at least twice the highest frequency fm of the signal; Elliptic filters are anti-aliasing filters that remove signal components that are higher than half the sampling frequency. Set the cutoff frequency of the anti-aliasing filter to be lower than half of the sampling frequency fs to ensure that signal components above the cutoff frequency will not cause aliasing. An anti-aliasing filter is applied to eliminate high-frequency components above the cutoff frequency.
9. The seismic trace resampling method according to claim 1, characterized in that: Step 3 includes: Use MapReduce to aggregate the processing results of each data set; Submit a MapReduce job to the Hadoop cluster for execution, and obtain the output seismic data file according to the HDFS output format.
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 seismic trace resampling method as described in any one of claims 1-9.