Seismic data query method, system and equipment and medium

By constructing keyword structures and processing them in a multi-threaded environment, the problem of lack of statistical information and associated information in the seismic data index is solved, and efficient processing and flexible query of massive seismic data is achieved.

CN119106030APending Publication Date: 2024-12-10CHINA NAT PETROLEUM CORP +2
View PDF 0 Cites 1 Cited by

Patent Information

Application Number
CN202310679435.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-06-09
Publication Date
2024-12-10

AI Technical Summary

Technical Problem

The existing seismic data indexing function is single, without the statistical information of keywords and the associated information of keywords at all levels, it is difficult to effectively process massive seismic data.

Method used

By obtaining multiple keywords at different levels, building a keyword structure, and obtaining, sorting and counting keyword information in a multi-threaded environment, using concurrent container storage and multi-threaded processing to realize information statistics and association information of keywords at all levels. Getting.

Benefits of technology

It improves the efficiency of massive earthquake data processing, provides statistical support for keyword information and related information at all levels, and improves the flexibility and efficiency of data processing.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119106030A_ABST
    Figure CN119106030A_ABST
Patent Text Reader

Abstract

The invention discloses a seismic data query method. The seismic data query method comprises the following steps: acquiring a plurality of set keywords of different levels; obtaining the value of the keyword of each corresponding level in the trace head of each seismic trace; constructing a keyword structure by using the values of the plurality of different levels of keywords corresponding to each seismic trace; sorting all the keyword structures according to the value of each level of keyword in the keyword structures; and carrying out statistics on the information of the keywords of each level based on all the sorted keyword structures. The invention further discloses a system, computer equipment and a readable storage medium. According to the scheme provided by the invention, the information of each level of keyword and the associated information of each level of keyword can be counted, so that a support can be provided for massive seismic data processing and interpretation.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of seismic data processing, and in particular to a seismic data query method, system, equipment and storage medium. Background Art

[0002] In recent years, new technologies for efficient seismic data acquisition have continued to emerge, especially independent synchronous scanning, ultra-efficient aliasing acquisition and other efficient acquisition technologies, which have led to an explosive growth in the amount of seismic data collected. The amount of seismic data collected in a single work area has reached hundreds of TB or even PB levels.

[0003] The massive amount of seismic data has brought great pressure and challenges to the processing business, and the index keyword information of seismic data is one of the key technologies. The current seismic data index function is single, without keyword statistics and related information of keywords at all levels. Summary of the invention

[0004] In view of this, in order to overcome at least one aspect of the above problems, an embodiment of the present invention proposes a seismic data query method, comprising the following steps:

[0005] Get multiple keywords at different levels of settings;

[0006] Obtaining the value of the keyword at each level in the header of each seismic trace;

[0007] The keyword structure is constructed using the values ​​of multiple keywords of different levels corresponding to each seismic channel;

[0008] Sorting all the keyword structures according to the value of each level of keyword in the keyword structure;

[0009] The information of the keywords at each level is counted based on all the sorted keyword structures.

[0010] In some embodiments, obtaining the value of the keyword at each level in the header of each seismic trace further includes:

[0011] Get the trace header description table of seismic data;

[0012] Determining the storage type, storage byte position and byte length of the keyword in the header according to the header description table;

[0013] Calculating the byte length of the keyword structure according to the storage type and byte length of the keyword and the byte length of the track sequence number of the seismic track;

[0014] The buffer area is allocated according to the byte length of the keyword structure.

[0015] In some embodiments, obtaining the value of the keyword at each level in the header of each seismic trace further includes:

[0016] Get the number of seismic traces and the length of each seismic trace header;

[0017] Calculating the data volume according to the number of seismic traces and the length of the trace header of each seismic trace;

[0018] Determine the number of first threads according to the data amount and a preset data threshold;

[0019] A range of seismic traces that each thread is responsible for is allocated according to the first number of threads so that multiple threads can simultaneously obtain the value of each level of the keyword corresponding to the corresponding seismic trace.

[0020] In some embodiments, the range of the seismic traces that each of the threads is responsible for is allocated according to the first number of threads so as to use multiple threads to simultaneously obtain the value of each level of the keyword corresponding to the corresponding seismic trace, further comprising:

[0021] Determine whether there is a second thread quantity set by the user;

[0022] In response to existence, taking the minimum value of the second number of threads and the first number of threads as the final number of threads; if not, obtaining the number of CPU cores as the third number of threads, and taking the minimum value of the third number of threads and the first number of threads as the final number of threads;

[0023] According to the final number of threads, a responsible seismic channel range is allocated to each thread so as to utilize multiple threads to simultaneously obtain the value of each level of the keyword corresponding to the corresponding seismic channel.

[0024] In some embodiments, constructing a keyword structure using the values ​​of multiple keywords of different levels corresponding to each seismic trace further includes:

[0025] Each thread is used to construct the keyword structure based on the value of the keyword at each level of the acquired seismic trace and the trace sequence number of the seismic trace and put it into the cache area.

[0026] In some embodiments, sorting all the keyword structures according to the value of each level of keyword in the keyword structure further includes:

[0027] Adding each of the keyword structures at the address of the buffer to a concurrent container; or,

[0028] Each of the keyword structures in the buffer area is added to a concurrent container.

[0029] In some embodiments, it also includes:

[0030] The sizes of the two keyword structures are compared according to the values ​​of the keywords at each level, wherein if the values ​​of the keywords at the current level are the same, the values ​​of the keywords at the next level are compared.

[0031] In some embodiments, statistics are collected on the information of the keywords at each level based on all the keyword structures after sorting, further comprising:

[0032] Create statistics files corresponding to each level of keywords except the last level of keywords;

[0033] The values ​​of each level of keywords except the last level keyword are counted, and the number of values ​​of the next level keyword corresponding to each value, the minimum and maximum values ​​of the next level keyword, and the number of seismic traces are counted respectively;

[0034] Input the statistical information into the corresponding statistical file.

[0035] In some embodiments, it also includes:

[0036] The record position of the upper-level keyword in the statistical file corresponding to the lower-level keyword is determined according to the number of values ​​of the lower-level keyword.

[0037] In some embodiments, creating a statistical file corresponding to each level of keywords except the last level of keywords further includes:

[0038] A cache is allocated for each statistic file to write the statistic file recording the statistic information into the cache.

[0039] Based on the same inventive concept, according to another aspect of the present invention, an embodiment of the present invention further provides a seismic data query system, comprising:

[0040] A first acquisition module is configured to acquire a plurality of keywords at different levels;

[0041] A second acquisition module is configured to acquire the value of the keyword at each level in the header of each seismic trace;

[0042] A construction module configured to construct a keyword structure using values ​​of multiple keywords of different levels corresponding to each seismic channel;

[0043] A sorting module, configured to sort all the keyword structures according to the value of each level of keyword in the keyword structure;

[0044] The statistical module is configured to collect statistics on the information of the keywords at each level based on all the sorted keyword structures.

[0045] Based on the same inventive concept, according to another aspect of the present invention, an embodiment of the present invention further provides a computer device, including:

[0046] at least one processor; and

[0047] A memory storing a computer program executable on the processor, wherein the processor executes the steps of any one of the seismic data query methods described above when executing the program.

[0048] Based on the same inventive concept, according to another aspect of the present invention, an embodiment of the present invention further provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps of any one of the seismic data query methods described above are performed.

[0049] The present invention has one of the following beneficial technical effects: the scheme proposed by the present invention can count the information of keywords at all levels and the associated information of keywords at all levels, thereby providing support for the processing and interpretation of massive seismic data. BRIEF DESCRIPTION OF THE DRAWINGS

[0050] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings in the following description are only some embodiments of the present invention. For ordinary technicians in this field, other embodiments can be obtained based on these drawings without paying creative work.

[0051] Figure 1 A schematic diagram of a flow chart of a seismic data query method provided by an embodiment of the present invention;

[0052] Figure 2 A flowchart of a seismic data query method provided by an embodiment of the present invention;

[0053] Figure 3 A flowchart of keyword structure acquisition and sorting provided by an embodiment of the present invention;

[0054] Figure 4 An efficiency comparison diagram provided for an embodiment of the present invention;

[0055] Figure 5 A schematic diagram of the structure of a seismic data query system provided by an embodiment of the present invention;

[0056] Figure 6 A schematic diagram of the structure of a computer device provided by an embodiment of the present invention;

[0057] Figure 7A schematic diagram of the structure of a computer-readable storage medium provided for an embodiment of the present invention. DETAILED DESCRIPTION

[0058] In order to make the objectives, technical solutions and advantages of the present invention more clearly understood, the embodiments of the present invention are further described in detail below in combination with specific embodiments and with reference to the accompanying drawings.

[0059] It should be noted that all expressions using "first" and "second" in the embodiments of the present invention are for distinguishing two non-identical entities with the same name or non-identical parameters. It can be seen that "first" and "second" are only for the convenience of expression and should not be understood as limitations on the embodiments of the present invention. The subsequent embodiments will not explain this one by one.

[0060] According to one aspect of the present invention, an embodiment of the present invention provides a seismic data query method, such as Figure 1 As shown, it may include the steps of:

[0061] S1, obtain multiple keywords of different levels;

[0062] S2, obtaining the value of the corresponding keyword at each level in the header of each seismic trace;

[0063] S3, constructing a keyword structure using the values ​​of multiple keywords of different levels corresponding to each seismic channel;

[0064] S4, sorting all the keyword structures according to the value of each level of keyword in the keyword structure;

[0065] S5, collecting statistics on the information of the keywords at each level based on all the sorted keyword structures.

[0066] The solution proposed by the present invention can count the information of keywords at all levels and the associated information of keywords at all levels, thereby providing support for the processing and interpretation of massive seismic data.

[0067] In some embodiments, step S1 obtains multiple keywords of different levels. Specifically, the keywords can be set by the user according to actual application needs. 1-5 keywords can be set. Each keyword has a different level and can be an integer or floating point type. The keyword cannot be the volume header information, but comes from the header of the seismic data. It should be noted that the type and quantity of the keywords of each seismic channel are the same, but the specific values ​​are different.

[0068] In some embodiments, obtaining the value of the keyword at each level in the header of each seismic trace further includes:

[0069] Get the trace header description table of seismic data;

[0070] Determining the storage type, storage byte position and byte length of the keyword in the header according to the header description table;

[0071] Calculating the byte length of the keyword structure according to the storage type and byte length of the keyword and the byte length of the track sequence number of the seismic track;

[0072] The buffer area is allocated according to the byte length of the keyword structure.

[0073] Specifically, Figure 2 As shown, the storage type, storage byte position and byte length of each keyword in the header can be obtained. First, the dynamic header description table DescTable of the seismic data object Seismic can be obtained. DescTable is a hash table that records the information of each header keyword used by the current data body, including: keyword sequence number, storage type, header position and other information. Therefore, the information of each keyword can be obtained in the header description table. By querying the dynamic header description table by the name of the keyword, the corresponding element in the table can be found. Then calculate the byte length of the keyword structure corresponding to each seismic trace. The keyword structure KeysInfo includes the value of each keyword and an 8-byte long integer trace sequence number. Finally, allocate a header data buffer and a buffer Buf that can accommodate each keyword structure.

[0074] It should be noted that the track sequence number in the keyword structure can be used in subsequent data sorting, which will not be described in detail in the present invention. In the present invention, the keyword structure may also only include the value of the keyword.

[0075] In some embodiments, obtaining the value of the keyword at each level in the header of each seismic trace further includes:

[0076] Get the number of seismic traces and the length of each seismic trace header;

[0077] Calculating the data volume according to the number of seismic traces and the length of the trace header of each seismic trace;

[0078] Determine the number of first threads according to the data amount and a preset data threshold;

[0079] A range of seismic traces that each thread is responsible for is allocated according to the first number of threads so that multiple threads can simultaneously obtain the value of each level of the keyword corresponding to the corresponding seismic trace.

[0080] In some embodiments, the range of the seismic traces that each of the threads is responsible for is allocated according to the first number of threads so as to use multiple threads to simultaneously obtain the value of each level of the keyword corresponding to the corresponding seismic trace, further comprising:

[0081] Determine whether there is a second thread quantity set by the user;

[0082] In response to existence, taking the minimum value of the second number of threads and the first number of threads as the final number of threads; if not, obtaining the number of CPU cores as the third number of threads, and taking the minimum value of the third number of threads and the first number of threads as the final number of threads;

[0083] According to the final number of threads, a responsible seismic channel range is allocated to each thread so as to utilize multiple threads to simultaneously obtain the value of each level of the keyword corresponding to the corresponding seismic channel.

[0084] Specifically, Figure 2 As shown in the figure, when calculating the data volume of the trace header in the seismic data, first create the class object Seismic corresponding to the seismic data body, access the volume header information of the seismic data object, obtain the total number of data traces TotalTraces and the length of each trace header, and calculate the data volume of the trace header. Then calculate the number of threads to be used. A reasonable number of threads can accelerate the efficiency of reading data traces and creating keyword information containers. Specifically, it can include: each thread can be responsible for reading at least 100MB of data, and the number of threads is calculated according to the data volume, which is recorded as CThreads. If the user sets the number of threads in advance or if the user does not set the number of threads, the number of cores of the current node CPU is obtained as the number of threads to obtain the number of threads, which is recorded as UThreads. The smaller value of CThreads and UThreads is used as the number of threads used RThreads. Finally, the data trace range that each thread is responsible for is divided. The data range information Range consists of two elements: the data trace starting sequence number Pos and the trace number Traces. The data trace starting sequence number is the trace sequence number of the trace in the data body.

[0085] In some embodiments, constructing a keyword structure using the values ​​of multiple keywords of different levels corresponding to each seismic trace further includes:

[0086] Each thread is used to construct the keyword structure based on the value of the keyword at each level of the acquired seismic trace and the trace sequence number of the seismic trace and put it into the cache area.

[0087] In some embodiments, sorting all the keyword structures according to the value of each level of keyword in the keyword structure further includes:

[0088] Adding each of the keyword structures at the address of the buffer to a concurrent container; or,

[0089] Each of the keyword structures in the buffer area is added to a concurrent container.

[0090] Specifically, Figure 2 and Figure 3 As shown, RThreads threads are created. The parameter of each thread is the corresponding data range information Range. Each thread runs asynchronously, processes the assigned data channel, and exits. Specifically, it may include: creating a new seismic data object. The seismic data object is located at the position corresponding to the starting sequence number Pos of the data channel that the current thread is responsible for. Read the header data into the assigned header data buffer and loop Traces times to read the data header, each time extracting the value of each keyword, and copying the keyword value and channel sequence number to the corresponding buffer Buf. Finally, put the keyword structure address of each channel into the concurrent container ConVector or directly put the keyword structure into the concurrent container. The child thread exits.

[0091] In some embodiments, it also includes:

[0092] The sizes of the two keyword structures are compared according to the values ​​of the keywords at each level, wherein if the values ​​of the keywords at the current level are the same, the values ​​of the keywords at the next level are compared.

[0093] Specifically, Figure 3 As shown in the figure, the main thread waits for each child thread to end. The end of the child thread means that all the keyword structure objects of the path are put into the concurrent container ConVector, but the elements in the container are not sorted. Then sort the elements in the container. The sorting method is to compare the size of each level of the keyword value in the two keyword structures step by step, that is, if the current keyword values ​​are equal, compare the size of the lower-level keywords.

[0094] In some embodiments, statistics are collected on the information of the keywords at each level based on all the keyword structures after sorting, further comprising:

[0095] Create statistics files corresponding to each level of keywords except the last level of keywords;

[0096] The values ​​of each level of keywords except the last level keyword are counted, and the number of values ​​of the next level keyword corresponding to each value, the minimum and maximum values ​​of the next level keyword, and the number of seismic traces are counted respectively;

[0097] Input the statistical information into the corresponding statistical file.

[0098] Specifically, after sorting all the keyword structures, rich information can be counted based on the associated information of the ordered elements, such as the value of the current keyword, the minimum value Min of the next-level keyword, the maximum value Max of the next-level keyword, the number Keys of the next-level keywords, the number Traces of seismic data, the record position KeyPos of the keyword in the next-level keyword file, etc.

[0099] In some embodiments, if all keyword structures are sorted from small to large, the specific steps of counting keyword information at each level may be as follows:

[0100] Step 1: Get an element from the concurrent container ConVector in order;

[0101] Step 2: If it is the first element or the value of the keyword of the current level of the element is a new value, save the current keyword structure content, initialize the number of data traces to 1, save the value of the next-level keyword in the keyword structure, initialize the number of next-level keywords Keys to 1, and the value of the keyword is the minimum value Min of the next-level keyword (the concurrent container is sorted in ascending order, so the value of the next-level keyword of the element is the minimum value), and then return to step 1. If it is not the first element and the keyword value of the current level remains unchanged, execute step 3.

[0102] Step 3: If the value of the current keyword remains unchanged, the value of the number of data traces is accumulated and step 4 is executed.

[0103] Step 4. If the value of the next-level keyword changes, save the value of the next-level keyword. The value of this keyword is the maximum value Max of the next-level keyword (the concurrent container is sorted from small to large, so the value of the next-level keyword of this element is the current maximum value. If the value of the current keyword of the subsequent element remains unchanged and the value of the next-level keyword changes, the maximum value Max of the next-level keyword is updated). At the same time, the value of the number of next-level keywords Keys is accumulated. If the value of the next-level keyword does not change, the number of next-level keywords Keys is not accumulated. Then return to step 1.

[0104] Step 5: According to the number of keywords Keys, obtain the record position KeyPos of the keyword of the current level in the next level keyword statistics file.

[0105] In some embodiments, it also includes:

[0106] The record position of the upper-level keyword in the statistical file corresponding to the lower-level keyword is determined according to the number of values ​​of the lower-level keyword.

[0107] In some embodiments, creating a statistical file corresponding to each level of keywords except the last level of keywords further includes:

[0108] A cache is allocated for each statistic file to write the statistic file recording the statistic information into the cache.

[0109] Specifically, after creating the keyword information statistics file, there is a corresponding statistics file for each keyword at each level except the last keyword. The keyword information file name can be spliced ​​and created. The keyword information file name is determined according to which keyword it is. The file naming method is ID-WhichNo-key.info, where ID is the distinction of the keyword group information of a seismic data file and is unique. Then allocate the keyword's statistical information buffer. Calculate the byte length of the buffer based on the type of the current-level keyword, the type of the next-level keyword, and the amount of information. Finally, identify the byte length of the statistical information of each keyword and its position in the buffer. The purpose is to facilitate copying the statistical information of the current keyword to the buffer.

[0110] In some embodiments, in order to verify the effectiveness of the present invention, the scheme proposed in the present invention is experimented on a high-performance cluster for many times. Each node in the cluster is equipped with two Intel(R)Xeon(R)E5-2660 v3 2.6GHzCPUs, each processor contains 10 physical cores, each node has a total of 20 physical cores, 128GB of memory, and the shared storage is Huawei storage. The version of the node operating system is Red Hat Enterprise Linux Server release 6.8 (Santiago). The data scale of the test is the actual data of the processing project, with a size of 826GB. Three sorting keyword indexes are used, line-cmp-offset, and the GeoEast3.5 system only has a single-node single-thread index creation method. The GeoEast4.0 system single-node multi-thread method uses 10 threads to create indexes and their keyword statistics. Figure 4 The running time efficiency comparison shown in the figure shows that although the workload of keyword statistics information is increased, the running efficiency is greatly improved. Therefore, the solution proposed in the present invention can improve the work efficiency of seismic data processing and interpretation personnel.

[0111] The solution proposed by the present invention calculates the number of threads used to read seismic data simultaneously and the data range that each thread is responsible for based on the number of seismic data channels. A concurrent container is created, in which the elements are the addresses of the keyword structure. The purpose of using the concurrent container is that multiple threads can access the container simultaneously. Each sub-thread reads the seismic data channel, extracts the keyword information, forms a keyword object, and puts it into the concurrent container. The main thread sorts the elements in the concurrent container. The association information of the ordered elements in the concurrent container is counted, and the statistical information of the multi-level keywords is written into the keyword statistical information file. The statistical information files of the keywords at all levels are indirectly used by the processing interpretation module.

[0112] The present invention proposes a data structure of a multi-level association table, which provides statistical information and association information of keywords at all levels, and is stored strictly according to the data type of keywords at all levels. Data table files at all levels are independently stored on disks and are not dependent on database query functions. The creation of the keyword information table uses a multi-threaded method to improve the efficiency of index creation. The query of keyword information uses a large block pre-reading method to improve the query efficiency of keywords. In this way, by using a new keyword information structure, the number of records is reduced, and the query efficiency and flexibility of keyword information are improved. The memory of the computing node running the job is no longer a bottleneck for obtaining keyword information, and it is suitable for massive data environments.

[0113] In addition, the solution proposed by the present invention also has the following advantages: 1. Use concurrent containers for storage, and each element in the container corresponds to the value of each keyword extracted from a seismic data channel, and use multiple threads to operate simultaneously. 2. Design the structure of keyword tables at all levels, and the keyword information includes (current keyword value; minimum value of the next-level keyword; maximum value of the next-level keyword; number of next-level keywords; number of data channels included; position of the keyword in the next-level keyword file). 3. The relationship between keyword tables at all levels: According to the usage characteristics of seismic data, the seismic data index is created once and used multiple times. The query efficiency of keyword information is improved by using the method of querying tables at all levels step by step. 4. Pre-reading of keyword information and query of keyword information in the buffer zone: In view of the characteristics of mechanical disk IO, small-grained read and write operations are avoided. 5. Create a keyword information table in a multi-threaded manner.

[0114] In the process of creating the seismic data index, the present invention simultaneously counts and stores the keyword information in the disk file. When the software uses the keyword information, it can be quickly extracted without re-counting. The memory of the node is no longer the bottleneck of the keyword information, and it is suitable for the massive data environment. The seismic data indexing method with rich keyword information proposed by the present invention improves the work efficiency of seismic data processing and interpretation personnel and effectively reduces the cost of seismic data processing and interpretation services.

[0115] Based on the same inventive concept, according to another aspect of the present invention, an embodiment of the present invention further provides a seismic data query system 400, such as Figure 5 As shown, including:

[0116] A first acquisition module 401 is configured to acquire a plurality of keywords of different levels;

[0117] A second acquisition module 402 is configured to acquire the value of the keyword at each level in the header of each seismic trace;

[0118] A construction module 403 is configured to construct a keyword structure using the values ​​of multiple keywords of different levels corresponding to each seismic trace;

[0119] A sorting module 404, configured to sort all the keyword structures according to the value of each level of keyword in the keyword structure;

[0120] The statistical module 405 is configured to collect statistics on the information of the keywords at each level based on all the sorted keyword structures.

[0121] Based on the same inventive concept, according to another aspect of the present invention, Figure 6 As shown, an embodiment of the present invention further provides a computer device 501, including:

[0122] at least one processor 520; and

[0123] The memory 510 stores a computer program 511 that can be run on the processor. When the processor 520 executes the program, the steps of any of the above seismic data query methods are performed.

[0124] Based on the same inventive concept, according to another aspect of the present invention, Figure 7 As shown, an embodiment of the present invention further provides a computer-readable storage medium 601, which stores a computer program 610. When the computer program 610 is executed by a processor, the steps of any of the above seismic data query methods are performed.

[0125] Finally, it should be noted that a person skilled in the art can understand that all or part of the processes in the above-mentioned embodiment methods can be implemented by instructing related hardware through a computer program, and the program can be stored in a computer-readable storage medium. When the program is executed, it can include the processes of the embodiments of the above-mentioned methods.

[0126] Furthermore, it should be appreciated that the computer-readable storage medium (eg, memory) herein may be either a volatile memory or a nonvolatile memory, or may include both volatile and nonvolatile memory.

[0127] It will also be appreciated by those skilled in the art that various exemplary logic blocks, modules, circuits and algorithm steps described in conjunction with the disclosure herein can be implemented as electronic hardware, computer software or a combination of the two. In order to clearly illustrate this interchangeability of hardware and software, a general description has been given to the functions of various schematic components, blocks, modules, circuits and steps. Whether this function is implemented as software or hardware depends on specific applications and the design constraints imposed on the entire system. Those skilled in the art can implement the function in various ways for each specific application, but this implementation decision should not be interpreted as causing a departure from the disclosed scope of the embodiments of the present invention.

[0128] The above are exemplary embodiments disclosed in the present invention, but it should be noted that various changes and modifications may be made without departing from the scope disclosed in the embodiments of the present invention as defined in the claims. The functions, steps and / or actions of the method claims according to the disclosed embodiments described herein do not need to be performed in any particular order. In addition, although the elements disclosed in the embodiments of the present invention may be described or required in individual form, they may also be understood as multiple unless explicitly limited to the singular.

[0129] It should be understood that, as used herein, the singular forms "a", "an" are intended to include the plural forms as well, unless the context clearly supports an exception. It should also be understood that, as used herein, "and / or" refers to any and all possible combinations including one or more of the associated listed items.

[0130] The serial numbers of the embodiments disclosed in the above embodiments of the present invention are only for description and do not represent the advantages or disadvantages of the embodiments.

[0131] A person skilled in the art will understand that all or part of the steps to implement the above embodiments may be accomplished by hardware or by instructing related hardware through a program, and the program may be stored in a computer-readable storage medium, and the above-mentioned storage medium may be a read-only memory, a disk or an optical disk, etc.

[0132] A person skilled in the art should understand that the discussion of any of the above embodiments is only exemplary and is not intended to imply that the scope of the disclosure of the embodiments of the present invention (including the claims) is limited to these examples; under the concept of the embodiments of the present invention, the technical features in the above embodiments or different embodiments can also be combined, and there are many other changes in different aspects of the embodiments of the present invention as above, which are not provided in detail for the sake of simplicity. Therefore, any omissions, modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the embodiments of the present invention should be included in the protection scope of the embodiments of the present invention.

Claims

1. A seismic data query method, characterized in that: The following steps are involved: Get multiple keywords at different levels of settings; Obtaining the value of the keyword at each level in the header of each seismic trace; The keyword structure is constructed using the values ​​of multiple keywords of different levels corresponding to each seismic channel; Sorting all the keyword structures according to the value of each level of keyword in the keyword structure; The information of the keywords at each level is counted based on all the sorted keyword structures.

2. The method according to claim 1, characterized in that Obtaining the value of the keyword at each level in the header of each seismic trace further includes: Get the trace header description table of seismic data; Determining the storage type, storage byte position and byte length of the keyword in the header according to the header description table; Calculating the byte length of the keyword structure according to the storage type and byte length of the keyword and the byte length of the track sequence number of the seismic track; The buffer area is allocated according to the byte length of the keyword structure.

3. The method according to claim 2, characterized in that Obtaining the value of the keyword at each level in the header of each seismic trace further includes: Get the number of seismic traces and the length of each seismic trace header; Calculating the data volume according to the number of seismic traces and the length of the trace header of each seismic trace; Determine the number of first threads according to the data amount and a preset data threshold; A range of seismic traces that each thread is responsible for is allocated according to the first number of threads so that multiple threads can simultaneously obtain the value of each level of the keyword corresponding to the corresponding seismic trace.

4. The method according to claim 3, characterized in that The method further comprises: allocating a responsible seismic trace range to each of the threads according to the first number of threads so as to use multiple threads to simultaneously obtain the value of each level of the keyword corresponding to the corresponding seismic trace. Determine whether there is a second thread quantity set by the user; In response to existence, taking the minimum value of the second number of threads and the first number of threads as the final number of threads; if not, obtaining the number of CPU cores as the third number of threads, and taking the minimum value of the third number of threads and the first number of threads as the final number of threads; According to the final number of threads, a responsible seismic channel range is allocated to each thread so as to utilize multiple threads to simultaneously obtain the value of each level of the keyword corresponding to the corresponding seismic channel.

5. The method according to claim 4, characterized in that The keyword structure is constructed by using the values ​​of multiple keywords of different levels corresponding to each seismic channel, further comprising: Each thread is used to construct the keyword structure based on the value of the keyword at each level of the acquired seismic trace and the trace sequence number of the seismic trace and put it into the cache area.

6. The method according to claim 5, characterized in that Sorting all the keyword structures according to the value of each level of keyword in the keyword structure further includes: Adding each of the keyword structures at the address of the buffer to a concurrent container; or, Each of the keyword structures in the cache is added to a concurrent container.

7. The method according to claim 6, characterized in that Also includes: The sizes of the two keyword structures are compared according to the values ​​of the keywords at each level, wherein if the values ​​of the keywords at the current level are the same, the values ​​of the keywords at the next level are compared.

8. The method according to claim 1, characterized in that The information of the keywords at each level is counted based on all the sorted keyword structures, further comprising: Create statistics files corresponding to each level of keywords except the last level of keywords; The values ​​of each level of keywords except the last level keyword are counted, and the number of values ​​of the next level keyword corresponding to each value, the minimum and maximum values ​​of the next level keyword, and the number of seismic traces are counted respectively; Input the statistical information into the corresponding statistical file.

9. The method according to claim 8, characterized in that Also includes: The record position of the upper-level keyword in the statistical file corresponding to the lower-level keyword is determined according to the number of values ​​of the lower-level keyword.

10. The method according to claim 8, characterized in that Creating a statistical file corresponding to each level of keyword except the last level of keyword further includes: A cache is allocated for each statistic file to write the statistic file recording the statistic information into the cache.

11. A seismic data query system, characterized in that: include: A first acquisition module is configured to acquire a plurality of keywords at different levels; A second acquisition module is configured to acquire the value of the keyword at each level in the header of each seismic trace; A construction module configured to construct a keyword structure using values ​​of multiple keywords of different levels corresponding to each seismic channel; A sorting module, configured to sort all the keyword structures according to the value of each level of keyword in the keyword structure; The statistical module is configured to collect statistics on the information of the keywords at each level based on all the sorted keyword structures.

12. A computer device comprising: at least one processor; as well as A memory storing a computer program executable on the processor, wherein the processor executes the steps of the method according to any one of claims 1 to 10 when executing the program.

13. A computer-readable storage medium storing a computer program, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 10 are performed.

Citation Information

Cited By

  • Multi-dimensional data sorting method and device based on chained comparator and medium

    CN120669952A