Seismic interpretation method and device based on parallel processing framework and electronic equipment

By adopting a parallel processing framework in the seismic interpretation software, a full-time window data reading buffer is built and the seismic interpretation module is executed in parallel, which solves the problem of insufficient processing efficiency in the existing technology, and achieves more efficient calculations and stronger scalability.

CN119644412APending Publication Date: 2025-03-18CHINA PETROLEUM & CHEMICAL CORP +1
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202311205562.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-09-18
Publication Date
2025-03-18

AI Technical Summary

Technical Problem

When handling different seismic interpretation modules, existing seismic interpretation software fails to fully utilize the similarity of the modules in the overall process, resulting in insufficient processing efficiency.

Method used

The seismic interpretation method based on the parallel processing framework is adopted, and the full-time window data reading buffer is constructed by passing the configuration parameters of the seismic interpretation module, and the seismic interpretation module is executed in parallel to perform calculations while reading the data, and the processing results are submitted.

Benefits of technology

A general parallel processing framework is implemented, which improves the efficiency of seismic interpretation calculations and enhances the scalability and design efficiency of the software.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119644412A_ABST
    Figure CN119644412A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of seismic interpretation, and discloses a seismic interpretation method and device based on a parallel processing framework, and electronic equipment. The method comprises the following steps: transmitting configuration parameters of a seismic interpretation module; constructing a data reading buffer, and adopting a full-time window data reading buffer; when the data is read and buffered, the seismic interpretation module is executed in parallel to perform seismic interpretation calculation; and submitting a processing result of the seismic interpretation module. According to the device, an introduction module is used for introducing configuration parameters of a seismic interpretation module; the construction module is used for constructing a data reading buffer; and the calculation module is used for parallel seismic interpretation calculation. According to the technical scheme of the invention, a universal parallel processing framework is realized to bear each seismic interpretation module, the expandability is high, and the software design efficiency is higher; a typical producer-consumer mode calculation framework is realized, and the calculation efficiency is improved. The spelling algorithm thread is realized, and the parallel processing efficiency is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of seismic interpretation, and in particular to a seismic interpretation method, device and electronic equipment based on a parallel processing framework. Background Art

[0002] Seismic exploration is a geophysical exploration method that uses the differences in elasticity and density of underground media to infer the properties and morphology of underground rock formations by observing and analyzing the response of the earth to artificially excited seismic waves. Seismic exploration is an important means of geological prospecting for oil, natural gas resources, and solid resources before drilling; seismic exploration is also widely used in coalfield and engineering geological surveys, regional geological research, and crustal research. The seismic interpretation module analyzes seismic exploration data to obtain seismic interpretation data that represents information such as rock formation positions, fault shapes, and locations.

[0003] In the storage of seismic data and seismic interpretation data, as the amount of data increases, geological researchers are now facing TB or even PB-level data; its storage is increasingly using distributed methods, and using concurrency and other means to improve the efficiency of data access and loading. At present, seismic data and seismic interpretation data are stored in the format of files. When used, these files will be read for display and loading.

[0004] When performing seismic interpretation, existing software will read each channel of the seismic data one by one, execute the interpretation module for each channel, and output the results to the seismic interpretation data. Many software have implemented multi-threaded processing, that is, each core of the CPU executes the interpretation module to calculate different seismic channels and output the results, making full use of computing resources.

[0005] However, when existing software is performing different seismic interpretation modules, each interpretation module is relatively independent, and the design does not take advantage of the similarity of these interpretation modules in the overall process, resulting in insufficient processing efficiency. Summary of the invention

[0006] The present application provides a seismic interpretation method, device and electronic equipment based on a parallel processing framework to solve the above-mentioned technical problems of the prior art.

[0007] According to one aspect of the present application, an embodiment provides a seismic interpretation method based on a parallel processing framework, comprising:

[0008] Configuration parameters passed into the seismic interpretation module;

[0009] Build a data read buffer and use a full-time window data read buffer;

[0010] While the data is being read and buffered, the seismic interpretation module is executed in parallel to perform seismic interpretation calculations;

[0011] Submit the processing results of the seismic interpretation module.

[0012] In one embodiment, the configuration parameters of the seismic interpretation module include:

[0013] Setting of output data range, where for 3D mesh, setting of start and end range of main survey line, tie line and seismic trace time; for 2D line, setting of start and end range of output survey line and seismic trace time;

[0014] Processing unit size settings, where objects include number of lines, number of channels, and time span;

[0015] Selection of input and output test network files.

[0016] In one embodiment, the seismic interpretation module includes one or more of ellipse fitting, Bayesian three-parameter inversion, triangular time-frequency analysis, dip azimuth creation, coherence volume creation, curvature creation, angle gather generation and low-frequency model creation.

[0017] In one embodiment, the seismic interpretation modules are unified into the same processing flow by utilizing the common points in input, output and processing methods of the seismic interpretation modules, and different seismic interpretation modules are called when performing specific interpretation on each channel; wherein the common point in input and output of the seismic interpretation modules is that the seismic network data is used as input and output; the seismic interpretation modules process each seismic channel as a unit, and then write the processed seismic channel as the calculation result to the output network.

[0018] In one embodiment, constructing a data read buffer includes:

[0019] For each input seismic data, initialize the data reading buffer parameter to the entire range of the seismic data;

[0020] Create two arrays to record the buffer data to be calculated and the buffer data to be submitted after calculation.

[0021] Set the memory reserve size. When the memory is less than the set value, suspend memory buffering, submit results and release memory.

[0022] In one embodiment, in the seismic interpretation calculation, before each thread runs the seismic interpretation module, it first traverses the buffer data to be calculated. If the traversed element is not calculated, that is, it is not in the buffer data to be submitted after the calculation, the seismic interpretation calculation is performed on the seismic trace corresponding to the element, wherein each thread traverses the same buffer data to be calculated together; and / or,

[0023] In the seismic interpretation calculation, all CPU cores are used to perform calculations of the seismic interpretation module, and each thread executes a different seismic trace, and the calculation results are placed in a result data structure, wherein the result data structure is established in advance;

[0024] In one embodiment, in the seismic interpretation calculation, the provided seismic data is continuously read, and the read seismic data is continuously obtained for calculation; if the seismic trace currently required to be calculated is not found in the memory buffer, the buffer is notified to buffer the required seismic data; after the seismic trace buffer to be calculated is obtained, the buffer trace data is copied to participate in the calculation to avoid conflicts in the acquisition of the same seismic trace between different threads.

[0025] According to one aspect of the present application, an embodiment provides a processing device based on a parallel processing framework, comprising:

[0026] The input module is used to input the configuration parameters of the seismic interpretation module;

[0027] A construction module is used to construct a data reading buffer and adopt a data reading buffer of a full time window;

[0028] A calculation module, used for executing the seismic interpretation module to perform seismic interpretation calculation in parallel with the data reading buffer; and

[0029] The submission module is used to submit the processing results of the seismic interpretation module.

[0030] According to one aspect of the present application, an embodiment provides an electronic device, including:

[0031] Memory; and

[0032] processor;

[0033] Wherein, the memory is used to store one or more computer instructions; the one or more computer instructions are executed by the processor to implement the seismic interpretation method based on the parallel processing framework as described in any one of the above.

[0034] According to one aspect of the present application, an embodiment provides a readable storage medium having computer instructions stored thereon; wherein, when the computer instructions are executed by a processor, the seismic interpretation method based on a parallel processing framework as described in any one of the above items is implemented.

[0035] The technical solution of the above-mentioned embodiments of the present application realizes a universal parallel processing framework to carry various seismic interpretation modules, has strong scalability and higher efficiency from the software design perspective; and realizes a typical producer-consumer model computing framework to improve computing efficiency.

[0036] In addition, the technical solutions of the above-mentioned embodiments of the present application realize the rush-to-joint algorithm threads and improve the parallel processing efficiency. BRIEF DESCRIPTION OF THE DRAWINGS

[0037] Figure 1 is a flow chart of a seismic interpretation method based on a parallel processing framework in an embodiment;

[0038] Figure 2 The present invention is a schematic diagram of the structure of a seismic interpretation device based on a parallel processing framework in an embodiment. DETAILED DESCRIPTION

[0039] It should be noted that, in the absence of conflict, the embodiments and features in the embodiments of the present application can be combined with each other. The present application will be described in detail below with reference to the accompanying drawings and in combination with the embodiments.

[0040] In order to enable those skilled in the art to better understand the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are only embodiments of a part of the present application, not all embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in the field without creative work should fall within the scope of protection of the present application.

[0041] It should be noted that the terms "first", "second" etc. in the present application are used to distinguish similar objects, and need not be used to describe a specific order or sequential order. It should be understood that the data used in this way can be interchanged in appropriate circumstances, so that the embodiments of the present application described here. In addition, the terms "including" and "having" and any of their variations are intended to cover non-exclusive inclusions, for example, the process, method, system, product or equipment comprising a series of steps or units need not be limited to those steps or units clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or equipment.

[0042] It should be understood that when an element (such as a layer, film, region, or substrate) is described as being "on" another element, the element may be directly on the other element, or there may be an intermediate element. Moreover, in this application, when an element is described as being "connected" to another element, the element may be "directly connected" to the other element, or "connected" to the other element through a third element.

[0043] Embodiment 1

[0044] In view of the technical problems mentioned in the background technology, a universal parallel processing framework is needed to carry various seismic interpretation modules. At the same time, a data acquisition and buffering method suitable for parallel computing, as well as a producer and consumer framework are needed to improve efficiency.

[0045] In view of this, please refer to Figure 1 , this embodiment provides a seismic interpretation method based on a parallel processing framework, comprising the following steps:

[0046] S110. Inputting the configuration parameters of the interpretation module, that is, inputting the configuration parameters of the seismic interpretation module;

[0047] S111. Constructing a data read buffer, wherein a full-time window data read buffer is used;

[0048] S112. Parallel execution of (seismic) interpretation modules; specifically, while the data is read from the buffer, the seismic interpretation module is executed in parallel to perform seismic interpretation calculations;

[0049] S113. Submit the processing results of the (seismic) interpretation module.

[0050] In one embodiment, in step S110, the configuration parameters of the seismic interpretation module are generally general configuration parameters, specifically including: 1. Setting of output data range, wherein for a three-dimensional mesh, the start and end ranges of the main survey line, the tie line and the seismic trace time are set, and for a two-dimensional line, the start and end ranges of the output survey line and the seismic trace time are set; 2. Setting of the processing unit size of the parallel processing framework, wherein the objects include the number of lines, the number of traces and the time span; 3. Selection of input and output survey network files. It is understandable that different seismic interpretation modules have their own module-related specific parameter configurations.

[0051] Preferably, the common points in input, output and processing methods of the seismic interpretation modules are utilized to unify the seismic interpretation modules into the same set of processing procedures, and different seismic interpretation modules are called when performing specific interpretation on each channel; wherein, the common point in input and output of the seismic interpretation modules is to use seismic network data as input and output; the seismic interpretation module processes each seismic channel as a unit, and then writes the processed seismic channel as the calculation result to the output network.

[0052] In one embodiment, the seismic interpretation module includes one or more of ellipse fitting, Bayesian three-parameter inversion, triangular time-frequency analysis, dip azimuth creation, coherence volume creation, curvature creation, angle gather generation and low-frequency model creation.

[0053] In one embodiment, in step S111, constructing a data reading buffer includes:

[0054] S1111. For each input seismic data, initialize the data read buffer parameter to the entire range of the seismic data; it should be noted that the data read buffer has been pre-reading seismic data in the background, and is carried out simultaneously with the seismic interpretation calculation. Among them, the full-time window single-thread data read buffer method is adopted, and the number of threads is single thread;

[0055] S1112. Establish two arrays to record the buffer data to be calculated and the buffer data to be submitted after calculation;

[0056] S1113. Set the memory reserve size. When the memory is less than the set value, suspend memory buffering, submit results and release memory.

[0057] In one embodiment, in the seismic interpretation calculation of step S111, first, a result data structure for storing result data is established, and a full core number agreed algorithm thread is used; secondly, all CPU cores are used to perform calculations of the seismic interpretation module, and each thread executes a different seismic trace, and the calculation results are placed in the result data structure.

[0058] In one embodiment, in the seismic interpretation calculation of step S111, a "scramble" algorithm is used to execute the seismic trace buffer acquisition, and each thread maintains a unified calculation counting rule. Specifically, before each thread runs the seismic interpretation module, it first traverses the buffer data to be calculated. If the traversed element has not been calculated, that is, it is not in the buffer data to be submitted after the calculation is completed, the seismic interpretation calculation is performed on the seismic trace corresponding to this element, wherein each thread traverses the same buffer data to be calculated together. Further, the buffer is read according to the calculation task drive. If the seismic trace that currently needs to be calculated is not found in the memory buffer, the buffer is notified to buffer the required seismic data. The producer-consumer mode is adopted to perform data buffering and seismic interpretation calculations simultaneously.

[0059] In one embodiment, in the seismic interpretation calculation of step S111, the provided seismic data is continuously read, and the read seismic data is continuously obtained for calculation; if the seismic trace currently required to be calculated is not found in the memory buffer, the buffer is notified to buffer the required seismic data; after the seismic trace buffer to be calculated is obtained, the buffer trace data is copied to participate in the calculation to avoid conflicts in the acquisition of the same seismic trace between different threads.

[0060] In one embodiment, in step S113, after all threads have completed calculations, or when the memory is less than the set reserved memory, the calculation results of each thread are combined and submitted uniformly using a single thread, and the cache is cleared. A main thread is added to monitor the progress of the algorithm thread and schedule it, and accept the user's pause and cancel function.

[0061] The seismic interpretation method based on the parallel processing framework of the present application is designed to solve the technical problems mentioned in the background technology by designing a set of general processing frameworks. Each seismic interpretation module uses a set of processes for processing, so it is more convenient to add new seismic interpretation modules in the later stage, and the scalability is strong. In addition, from the perspective of software design, the efficiency is higher. In addition, in terms of data acquisition, since the parallel processing method is adopted, the tasks are allocated, and different threads process different seismic channels, which is more in line with the characteristics of parallel processing. In order to make the task volume of each thread more even, a data acquisition and buffering method suitable for parallel computing is designed. Of course, in order to better improve the computing efficiency, the different resources occupied by data acquisition and seismic calculation are utilized, that is, one uses hard disk reading and writing, and the other uses CPU calculation, and both can be performed at the same time; the typical producer and consumer framework is adopted to improve efficiency.

[0062] Embodiment 2

[0063] Please refer to Figure 1 This embodiment aims at the shortcomings of the existing seismic interpretation module design and processing efficiency, and provides a seismic interpretation method based on a parallel processing framework. The following will explain the technical solution of this application with the ideas of the inventor, which will help those skilled in the art to be familiar with the ideas of this application. Among them, some technical points are explained in detail, so that those skilled in the art can fully understand the technical solution of this application. This processing method includes the following steps:

[0064] S110. Input interpretation module parameter configuration;

[0065] S111. Build data read buffer;

[0066] S112. Parallel execution interpretation module;

[0067] S113. Submit the processing result of the interpretation module.

[0068] like Figure 1 As shown, it is discussed in detail below.

[0069] 1. First, proceed to step S110 to input the interpretation module parameter configuration.

[0070] Among them, the (seismic interpretation) parallel processing framework currently supports a variety of seismic interpretation modules, including ellipse fitting, Bayesian three-parameter inversion, triangular time-frequency analysis, dip azimuth creation, coherence body creation, curvature creation, angle gather generation and low-frequency model creation.

[0071] These seismic interpretation modules use seismic network data as input and output. The network shape can be a three-dimensional mesh or a two-dimensional line composed of multiple lines. Each grid point of the three-dimensional network or each point on the two-dimensional line represents a seismic trace. The seismic interpretation module processes each seismic trace as a unit; then the processed seismic trace is written to the output network as the calculation result. The parallel processing framework uses the common points of these seismic interpretation modules in input, output and processing methods to unify them into the same processing flow, and only calls different seismic interpretation modules when interpreting each trace.

[0072] The three-dimensional mesh network can be an irregular mesh, that is, there are some places in the network where there are no seismic data "holes". In the actual network data, there are often no data at the four corners. When processing, the network shape is still traversed, and the data-free area is directly skipped. For ellipse fitting and angle trace set generation, the input seismic network data is pre-stack data, that is, each grid point corresponds to a group of seismic traces. When processing, this group of seismic traces is also used as the input of a processing unit for calculation. The number of seismic traces in each group of output data is related to the set azimuth and incident angle, and is not equal to the number of traces in each group of input data. For ellipse fitting and coherence volume creation, when processing each seismic trace, it can be set to use 3x3 or 5x5 seismic traces around this seismic trace as "surface elements" to participate in the processing to improve accuracy. For these seismic interpretation modules, the number of input and output networks is different. For example, the Bayesian three-parameter inversion input requires 6 network data and the output is 3 network data. The input and output of these interpretation modules are all in the same network area.

[0073] Among them, the general configuration parameters of the seismic interpretation module include: (1) the setting of the output data range. For a three-dimensional network, the start and end range of the main survey line, the connecting line and the seismic trace time can be set. For a two-dimensional line, the output survey lines and the start and end range of the seismic trace time can be set. The time start and end range can be set to a fixed value or a layer mode. The layer mode means that different seismic traces have different time start and end ranges according to the direction of the geological layer; (2) the size setting of the processing unit of the parallel processing framework, including the number of lines, the number of traces, and the time span. When parallel processing is performed, the survey network is divided into blocks according to the processing unit, and a specific seismic interpretation module is executed on each block; (3) the selection of input and output survey network files. In addition, different interpretation modules have their own module-related specific parameter configurations, such as the "surface" size setting of some interpretation modules, the parameter setting of specific interpretation functions, etc. For angle traces and ellipse fitting, their processing requires the entire seismic trace to obtain the result, so the size of the processing unit in the time span must be equal to the time span of the output file, that is, it cannot be divided into multiple parts in the time direction for separate processing and then combined.

[0074] 2. Then proceed to step S111 to construct a data reading buffer.

[0075] Because the seismic calculation module mostly calculates different input seismic data in units of entire seismic traces, a full-time window data read buffer is used, that is, for each input seismic data volume, the data is read by reading the entire seismic trace each time. In addition, for the scenario of hard disk data reading, multi-threaded execution has no advantage, so single-threaded execution is used to perform data reading.

[0076] The method for constructing the data read buffer is to initialize the data read buffer parameters to the entire range of the seismic data for each input seismic data, use the number of threads as a single thread, and establish two arrays to record the buffer data to be calculated (orders_to_calculate) and the buffer data to be submitted after calculation (orders_to_commit). Set the memory reserve size to 1GB (1GB is just an example), that is, if the memory is less than this value, suspend the memory buffer, submit the results and release the memory. Since the data read buffer is mainly read from the hard disk, and the seismic interpretation calculation is mainly calculated by the CPU, the data read buffer is always pre-read in the background to read the seismic data, and it is carried out simultaneously with the seismic interpretation calculation to improve efficiency.

[0077] 3. Next, proceed to step S112 to execute the interpretation modules in parallel.

[0078] The result data structure "ResultCalculated" is established to store the calculation results, including the following parameters: main survey line number (line_no), contact line number (cdp_no), gather size (cmpcount), sequence number (sequence_order), start time (mintime), end time (maxtime) and result data (samples). The full core number agreed algorithm thread is used, that is, all CPU cores are used to calculate the seismic interpretation module, each thread executes different seismic traces, and the calculation results are placed in the result data structure.

[0079] The specific parallel execution process is as follows: before each thread runs the seismic interpretation module, it first traverses the buffer data to be calculated (orders_to_calculate). If the traversed element is not yet calculated, that is, it is not in the buffer data to be submitted after calculation (orders_to_commit), the seismic interpretation calculation is performed on the seismic channel corresponding to this element. These threads traverse the same orders_to_calculate array together, that is, the "scramble" algorithm is executed. Compared with the "batch" algorithm, the "scramble" algorithm is that whoever gets the buffered seismic channel first starts to calculate, and each thread maintains a unified calculation counting rule. The "batch" algorithm means that the seismic channels to be calculated are allocated to each thread in advance, and each thread executes separately. Because the calculation speed of different seismic channel data of different threads may be different; therefore, compared with pre-assigning each task, the "scramble" algorithm can more evenly utilize the computing resources of each thread.

[0080] After obtaining the seismic trace to be calculated, the buffer is driven to read according to the calculation progress. That is, although the data reading buffer built in the previous step is always in the background, if the seismic trace that needs to be calculated is not found in the memory buffer, the buffer is notified to buffer the required seismic data. When the remaining computer memory is less than the set reserved memory, the buffer trace that is no longer needed is released. After obtaining the seismic trace buffer to be calculated, the buffer trace data is copied to participate in the calculation instead of directly using this buffer trace calculation to avoid unnecessary synchronization, that is, conflicts between different threads in obtaining the same seismic trace.

[0081] Among them, data reading buffering and seismic interpretation calculation are carried out simultaneously, which is a typical producer-consumer model, that is, one side continuously reads and provides seismic data, and the other side continuously uses these seismic data for calculation, making full use of the reading and computing resources of the hard disk and CPU to improve efficiency.

[0082] 4. Finally, proceed to step S113 and submit the processing result of the interpretation module.

[0083] The calculation results of each thread are combined and submitted uniformly. The submission is mainly for hard disk reading and writing, so it is more suitable to use a single thread. Preferably, the final submission is performed after all threads have completed the calculation; if the memory is less than the set reserved memory during the calculation process, it is also submitted and the memory buffer and calculation result data are cleared. In addition, since the seismic interpretation calculation takes a long time, the main thread is added to monitor the progress of the algorithm thread and schedule it, and accept the user's pause and cancel function. After all the calculated seismic traces are submitted, the output seismic data body is loaded in and the file is opened for the result viewing.

[0084] At this point, the process of the seismic interpretation method based on the parallel processing framework is completed.

[0085] Compared with the prior art, the seismic interpretation method based on the parallel processing framework of the present invention has the following advantages:

[0086] 1. A general parallel processing framework is implemented to carry various seismic interpretation modules, which is highly scalable and more efficient from a software design perspective;

[0087] 2. Implemented the computing framework of the typical producer-consumer model to improve computing efficiency;

[0088] 3. Implemented the grab-and-grab algorithm threads to improve parallel processing efficiency.

[0089] Embodiment 3

[0090] Please refer to Figure 2 , an embodiment provides a processing device based on a parallel processing framework, comprising the following modules:

[0091] 1. Pass in module

[0092] The input module 10 is used to input the configuration parameters of the seismic interpretation module;

[0093] 2. Building Modules

[0094] The construction module 20 is used to construct a data reading buffer, and adopts a full-time window data reading buffer;

[0095] 3. Computing module

[0096] The calculation module 30 is used for executing the seismic interpretation module to perform seismic interpretation calculation in parallel with the data reading buffer;

[0097] 4. Submit Module

[0098] The submission module 40 is used to submit the processing results of the seismic interpretation module.

[0099] In one embodiment, the seismic interpretation modules are unified into the same processing flow by utilizing the common points in input, output and processing methods of the seismic interpretation modules, and different seismic interpretation modules are called when performing specific interpretation on each channel; wherein the common point in input and output of the seismic interpretation modules is that the seismic network data is used as input and output; the seismic interpretation modules process each seismic channel as a unit, and then write the processed seismic channel as the calculation result to the output network.

[0100] In one embodiment, in the seismic interpretation calculation of the computing module 30, first, a result data structure for storing the result data is established, and an algorithm thread with a full core number agreement is adopted; secondly, all CPU cores are used to perform the calculation of the seismic interpretation module, and each thread executes a different seismic trace, and the calculation results are placed in the result data structure.

[0101] In one embodiment, in the seismic interpretation calculation of the calculation module 30, a "scramble" algorithm is used to execute the seismic trace buffer acquisition, and each thread maintains a unified calculation counting rule. Specifically, before each thread runs the seismic interpretation module, it first traverses the buffer data to be calculated. If the traversed element has not been calculated, that is, it is not in the buffer data to be submitted after the calculation is completed, the seismic interpretation calculation is performed on the seismic trace corresponding to this element, wherein each thread traverses the same buffer data to be calculated together. Further, the buffer is read according to the calculation task drive. If the seismic trace that currently needs to be calculated is not found in the memory buffer, the buffer is notified to buffer the required seismic data. The producer-consumer mode is adopted to perform data buffering and seismic interpretation calculations simultaneously.

[0102] In one embodiment, in the seismic interpretation calculation of the computing module 30, the provided seismic data is continuously read, and the read seismic data is continuously acquired for calculation; if the seismic trace currently required to be calculated is not found in the memory buffer, the buffer is notified to buffer the required seismic data; after the seismic trace buffer to be calculated is acquired, the buffer trace data is copied to participate in the calculation to avoid conflicts in the acquisition of the same seismic trace between different threads.

[0103] It should be noted that the above-mentioned processing device based on the parallel processing framework is used to implement the processing method based on the parallel processing framework in the above-mentioned embodiments, and each module in the device corresponds to each step in the method.

[0104] Embodiment 4

[0105] Based on the same inventive concept, an embodiment of the present application provides an electronic device, comprising: a memory and a processor; wherein the memory is used to store one or more computer instructions; the one or more computer instructions are executed by the processor according to the processing method based on the parallel processing framework described in any one of the above embodiments.

[0106] Embodiment 5

[0107] Based on the same inventive concept, an embodiment of the present application provides a readable storage medium, on which computer instructions are stored; wherein, when the computer instructions are executed by a processor, the processing method based on the parallel processing framework described in any one of the above embodiments is implemented.

[0108] Among them, the above one or more computer instructions can be formed into a program.

[0109] The above program can be run in the processor, or it can be stored in the memory (or computer-readable medium), which includes permanent and non-permanent, removable and non-removable media. Information storage can be achieved by any method or technology. Information can be computer-readable instructions, data structures, program modules or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, read-only compact disk read-only memory (CD-ROM), digital versatile disk (DVD) or other optical storage, magnetic cassettes, tape disk storage or other magnetic storage devices or any other non-transmission media that can be used to store information that can be accessed by a computing device. As defined in this article, computer-readable media does not include temporary computer-readable media (transitory media), such as modulated data signals and carrier waves.

[0110] These computer programs can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, so that the instructions executed on the computer or other programmable device provide instructions for implementing the process. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps of the functions specified in one or more blocks can be implemented by different modules corresponding to different steps.

[0111] The above description is only the preferred embodiment of the present application and is not intended to limit the present application. For those skilled in the art, the present application may have various modifications and variations. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application shall be included in the protection scope of the present application.

Claims

1. A seismic interpretation method based on a parallel processing framework, characterized in that: include: Configuration parameters passed into the seismic interpretation module; Build a data read buffer and use a full-time window data read buffer; While the data is being read and buffered, the seismic interpretation module is executed in parallel to perform seismic interpretation calculations; Submit the processing results of the seismic interpretation module.

2. A seismic interpretation method based on a parallel processing framework according to claim 1, characterized in that: The configuration parameters of the seismic interpretation module include: Setting of output data range, where for 3D mesh, setting of start and end range of main survey line, tie line and seismic trace time; for 2D line, setting of start and end range of output survey line and seismic trace time; Processing unit size settings, where objects include number of lines, number of channels, and time span; Selection of input and output test network files.

3. A seismic interpretation method based on a parallel processing framework according to claim 1, characterized in that: The seismic interpretation module includes one or more of ellipse fitting, Bayesian three-parameter inversion, triangular time-frequency analysis, dip azimuth creation, coherence volume creation, curvature creation, angle gather generation and low-frequency model creation.

4. A seismic interpretation method based on a parallel processing framework according to any one of claims 1 to 3, characterized in that: By utilizing the common points in input, output and processing methods of the seismic interpretation modules, the seismic interpretation modules are unified into the same set of processing procedures, and different seismic interpretation modules are called when performing specific interpretation on each channel; wherein, the common point in input and output of the seismic interpretation modules is that the seismic network data is used as input and output; the seismic interpretation modules process each seismic channel as a unit, and then write the processed seismic channel as the calculation result to the output network.

5. A seismic interpretation method based on a parallel processing framework according to claim 1, characterized in that: The construction of data reading buffer comprises: For each input seismic data, initialize the data reading buffer parameter to the entire range of the seismic data; Create two arrays to record the buffer data to be calculated and the buffer data to be submitted after calculation. Set the memory reserve size. When the memory is less than the set value, suspend memory buffering, submit results and release memory.

6. A seismic interpretation method based on a parallel processing framework according to claim 1, characterized in that: In the seismic interpretation calculation, before each thread runs the seismic interpretation module, it first traverses the buffer data to be calculated. If the traversed element is not calculated, that is, it is not in the buffer data to be submitted after the calculation, the seismic interpretation calculation is performed on the seismic trace corresponding to the element, wherein each thread traverses the same buffer data to be calculated together; and / or, In the seismic interpretation calculation, all CPU cores are used to perform calculations of the seismic interpretation module, and each thread executes a different seismic trace and puts the calculation results into a result data structure, wherein the result data structure is established in advance.

7. A seismic interpretation method based on a parallel processing framework according to claim 1 or 6, characterized in that: In the seismic interpretation calculation, the provided seismic data is continuously read, and the read seismic data is continuously obtained for calculation; if the seismic channel currently required to be calculated is not found in the memory buffer, the buffer is notified to buffer the required seismic data; after the seismic channel buffer to be calculated is obtained, the buffer channel data is copied to participate in the calculation to avoid conflicts in the acquisition of the same seismic channel between different threads.

8. A processing device based on a parallel processing framework, characterized in that: include: The input module is used to input the configuration parameters of the seismic interpretation module; A construction module is used to construct a data reading buffer and adopt a data reading buffer of a full time window; A calculation module, used for executing the seismic interpretation module to perform seismic interpretation calculation in parallel with the data reading buffer; and The submission module is used to submit the processing results of the seismic interpretation module.

9. An electronic device, characterized in that: include: Memory; and processor; Wherein, the memory is used to store one or more computer instructions; the one or more computer instructions are executed by the processor to implement the seismic interpretation method based on the parallel processing framework as described in any one of claims 1 to 7.

10. A readable storage medium, characterized in that: The readable storage medium stores computer instructions; wherein, when the computer instructions are executed by a processor, the seismic interpretation method based on a parallel processing framework as described in any one of claims 1 to 7 is implemented.

Citation Information

Patent Citations

  • Data transmission method and system based on seismic data processing

    CN103412739A

  • Universal parallel processing method for seismic interpretation modules

    CN109307885A

  • Seismic section drawing method and device based on multiple threads, electronic equipment and medium

    CN116028195A

  • Continuously combining seismic migration results using a massively parallel processing (MPP) database

    US10649106B1