Method, device, electronic device and storage medium for checking repeatability of seismic data
By using the MD5 information summary algorithm and a combination method of balanced binary tree in seismic data processing, the problem of inefficient repeatability inspection of earthquake assisted data in the prior art is solved, and efficient data processing and construction efficiency are improved.
Patent Information
- Application Number
- CN202010670435.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-07-13
- Publication Date
- 2025-02-25
- Estimated Expiration
- 2040-07-13
AI Technical Summary
The prior art cannot efficiently implement repetitive inspections when processing more than 10,000 seismic auxiliary data, resulting in inefficient construction.
The MD5 information digest algorithm is used to calculate the hash value of each record and insert it into the balanced binary tree to achieve quick search of repeated records by combining key values and real values.
The efficiency of seismic data repetitive inspection is significantly improved, and the time complexity is reduced to O(log n), which greatly reduces the time cost of the construction site.
Smart Images

Figure CN113934685B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the technical field of seismic exploration and development, and in particular to a method, device, electronic equipment and storage medium for checking the repeatability of seismic data. Background Art
[0002] Seismic Processing Support Format for Surveys (SPS) files are files used to store seismic processing auxiliary data collected by seismic teams. In order to facilitate storage and exchange, oil companies usually use fixed format standards to record seismic processing auxiliary data. Currently, most major international oil companies use the format standards recommended by the Society of Exploration Geophysicists (SEG). SPS files have been widely compatible with seismic instruments, acquisition and processing software, and are standardized public data exchange formats. SPS files are designed to transmit the location data of physical points and geophysical auxiliary data collected by onshore three-dimensional seismic teams to the processing center in a universal standard (format).
[0003] In the actual construction process in the field, records may be abnormal due to various objective reasons, such as duplicate records, inconsistent formats, excessive lengths, disordered sequences, etc. Taking duplicate record checking as an example, the commonly used method is to use two layers of nested loops to compare each record in the file with all other records. The algorithm has a time complexity of O(n^2). When the number of file records reaches a certain number, the method requires a lot of computing time.
[0004] With the development and increasing complexity of onshore 3D seismic exploration technology, field teams have increasingly higher requirements for the real-time quality control efficiency of these data. Conventional and inefficient processing methods can no longer meet the current efficient collection and construction methods. It is necessary to provide efficient and accurate quality control methods to ensure that seismic exploration auxiliary data are correct before being sent to the processing center. Summary of the invention
[0005] In response to the above problems, the present invention provides a method, device, electronic device and storage medium for checking the repeatability of seismic data, which solves the problem in the prior art that the repeatability check of seismic auxiliary data cannot be efficiently implemented during the collation and quality monitoring of more than 10,000 seismic auxiliary data.
[0006] In a first aspect, the present disclosure provides a method for checking repeatability of seismic data, the method comprising:
[0007] Obtain records of auxiliary data of seismic exploration in the target area;
[0008] Preprocessing the record file to read each record in the record file and convert each record into a one-dimensional array with the row number of each record in the record file as an index;
[0009] Calculate the hash value of each record using the MD5 information digest algorithm;
[0010] Insert the array corresponding to each record into a balanced binary tree in turn to obtain duplicate records and their row numbers in the record file; wherein the key value of each node of the balanced binary tree is the hash value of the corresponding record, and the real value of each node of the balanced binary tree is the row number of the corresponding record;
[0011] Output the repeated records and their line numbers in the record file.
[0012] According to an embodiment of the present disclosure, optionally, in the above-mentioned method for checking the repeatability of seismic data, the record file is preprocessed to read each record in the record file and convert each record into a one-dimensional array with the row number of each record in the record file as the index, comprising the following steps:
[0013] Read each record in the record file and the line number of each record in the record file;
[0014] Performing format constraints on each record to remove redundant characters in each record and converting the format of each record into a column alignment format, thereby obtaining each organized record;
[0015] According to the row number of each record in the record file, each of the sorted records is converted into a one-dimensional array with the row number of each record in the record file as the index.
[0016] According to an embodiment of the present disclosure, optionally, in the above-mentioned method for checking the repeatability of seismic data, the record file includes a shot point record and a detection point record, each shot point record and each detection point record respectively includes two fields; and the hash value of each record is calculated by the MD5 information digest algorithm, comprising the following steps:
[0017] Combining two fields in each shot point record into a string of a first preset length, and combining two fields in each detection point record into a string of the first preset length;
[0018] The character string corresponding to each shot point record and the character string corresponding to each detection point record are calculated by using the MD5 information digest algorithm to obtain the hash value of each shot point record and the hash value of each detection point record.
[0019] According to an embodiment of the present disclosure, optionally, in the above-mentioned method for checking the repeatability of seismic data, the record file includes relationship records, each relationship record includes five fields; and the hash value of each record is calculated by the MD5 information digest algorithm, including the following steps:
[0020] Combining five fields in each relationship record into a string of a second preset length;
[0021] The character string corresponding to each relationship record is calculated using the MD5 information digest algorithm to obtain a hash value for each relationship record.
[0022] According to an embodiment of the present disclosure, optionally, in the above-mentioned method for checking the repeatability of seismic data, the balanced binary tree is a red-black tree; inserting the array corresponding to each record into the balanced binary tree in sequence to obtain the repeated records and their line numbers in the record file comprises the following steps:
[0023] Insert the array corresponding to each record into the balanced binary tree in turn, and determine whether there is a duplicate array in the current balanced binary tree that is the same as the array corresponding to the current record based on whether the insertion of the array corresponding to the current record is successful;
[0024] When the array corresponding to the current record is successfully inserted, there is no duplicate array in the current balanced binary tree that is identical to the array corresponding to the current record;
[0025] When the array corresponding to the current record is not successfully inserted, there is a duplicate array in the current balanced binary tree that is the same as the array corresponding to the current record;
[0026] Get the repeated records and their row numbers corresponding to the repeated array in the current balanced binary tree.
[0027] According to an embodiment of the present disclosure, optionally, in the above-mentioned method for checking the repeatability of seismic data, 6. The method according to claim 5 is characterized in that the array corresponding to each record is inserted into a balanced binary tree in sequence, comprising the following steps:
[0028] Find the insertion position of the array corresponding to the current record in the current balanced binary tree;
[0029] Insert the array corresponding to the current record into the found insertion position to maintain the balance of the current balanced binary tree.
[0030] According to an embodiment of the present disclosure, optionally, in the above-mentioned method for checking the repeatability of seismic data, searching for the insertion position of the array corresponding to the current record in the current balanced binary tree comprises the following steps:
[0031] Start searching from the root node of the current balanced binary tree;
[0032] Compare the key value of the current node with the hash value of the current record;
[0033] When the current node is empty, the current node is the insertion position of the array corresponding to the current record;
[0034] When the key value of the current node is equal to the hash value of the current record, there is no insertion position of the array corresponding to the current record in the current balanced binary tree, and the current node is a duplicate array of the array corresponding to the current record;
[0035] When the key value of the current node is greater than the hash value of the current record, the left child node of the current node is set as the new current node, and the process returns to the step of comparing the key value of the current node with the hash value of the current record to compare the key value of the new current node with the hash value of the current record;
[0036] When the key value of the current node is less than the hash value of the current record, the right child node of the current node is set as the new current node, and the process returns to the step of comparing the key value of the current node with the hash value of the current record to compare the key value of the new current node with the hash value of the current record.
[0037] In a second aspect, the present disclosure provides a device for checking the repeatability of seismic data, the device comprising:
[0038] A record file acquisition module is used to acquire the record files of seismic exploration auxiliary data of the target area;
[0039] A record file preprocessing module, used for preprocessing the record file to read each record in the record file and convert each record into a one-dimensional array with the row number of each record in the record file as the index;
[0040] A record hash value calculation module is used to calculate the hash value of each record using the MD5 information digest algorithm;
[0041] A duplicate record acquisition module is used to insert the array corresponding to each record into a balanced binary tree in turn to obtain duplicate records and their row numbers in the record file; wherein the key value of each node of the balanced binary tree is the hash value of the corresponding record, and the real value of each node of the balanced binary tree is the row number of the corresponding record;
[0042] The duplicate record output module is used to output the duplicate records and their line numbers in the record file.
[0043] In a third aspect, the present disclosure provides an electronic device, comprising a memory and a processor, wherein the memory stores a computer program, and when the computer program is executed by the processor, the method for checking the repeatability of seismic data as described in any one of the first aspects is performed.
[0044] In a fourth aspect, the present disclosure provides a storage medium, which stores a computer program that can be executed by one or more processors and can be used to implement the method for checking the repeatability of seismic data as described in any one of the first aspects.
[0045] Compared with the prior art, one or more embodiments of the above scheme may have the following advantages or beneficial effects:
[0046] The present disclosure provides a method, device, electronic device and storage medium for checking the repeatability of seismic data, the method comprising obtaining a record file of seismic exploration auxiliary data in a target area; preprocessing the record file to read each record in the record file and converting each record into a one-dimensional array with the row number of each record in the record file as the index; calculating the hash value of each record by the MD5 information digest algorithm; inserting the array corresponding to each record into a balanced binary tree in turn to obtain the repeated records and their row numbers in the record file; wherein the key value of each node of the balanced binary tree is the hash value of the corresponding record, and the real value of each node of the balanced binary tree is the row number of the corresponding record; outputting the repeated records and their row numbers in the record file. The method is based on a balanced binary tree, and realizes rapid repeatability checking of seismic exploration auxiliary data records, which is one order of magnitude more efficient than conventional repeatability checking of seismic exploration auxiliary data records, and the time complexity can reach O(log n), which significantly improves the efficiency of SPS file processing and reduces the time cost at the construction site. BRIEF DESCRIPTION OF THE DRAWINGS
[0047] The present disclosure will be described in more detail below based on embodiments and with reference to the accompanying drawings:
[0048] Figure 1 A flow chart of a method for checking repeatability of seismic data provided by an embodiment of the present disclosure;
[0049] Figure 2 A flowchart of a balanced binary tree insertion method provided by an embodiment of the present disclosure;
[0050] Figure 3 A schematic diagram of the structure of a device for checking the repeatability of seismic data provided by an embodiment of the present disclosure;
[0051] In the drawings, the same reference numerals are used for the same components, and the drawings are not drawn to scale. DETAILED DESCRIPTION
[0052] The following will describe the implementation methods of the present disclosure in detail with reference to the accompanying drawings and embodiments, so that the implementation process of how the present disclosure applies technical means to solve technical problems and achieve corresponding technical effects can be fully understood and implemented accordingly. The embodiments of the present disclosure and the various features in the embodiments can be combined with each other without conflict, and the technical solutions formed are all within the protection scope of the present disclosure.
[0053] Meanwhile, in the following description, many specific details are set forth for the purpose of explanation to provide a thorough understanding of the embodiments of the present invention. However, it is obvious to those skilled in the art that the present invention can be implemented without the specific details or the specific manner described herein.
[0054] Embodiment 1
[0055] Figure 1 A flow chart of a method for checking the repeatability of seismic data provided by the present disclosure is shown in FIG. Figure 1 This embodiment provides a method for checking the repeatability of seismic data, including:
[0056] Step S101: Acquire the record file of the seismic processing support format for surveys (SPS) of the target area.
[0057] The record files include shot point records, detection point records and relationship records.
[0058] In the SPS file standard, both shot point records and detection point records are represented by data in two fields, namely, "line number" and "point number".
[0059] The relationship record is represented by data in five fields in the SPS file standard, namely, "shot line number", "excitation point number", "receiving line number", "start receiving point number" and "end receiving point number".
[0060] Step S102: pre-processing the record file to read each record in the record file and convert each record into a one-dimensional array with the row number of each record in the record file as an index.
[0061] Specifically, step S102 includes the following steps:
[0062] Step S102a: Read each record in the record file and the line number of each record in the record file;
[0063] Step S102b: performing format constraints on each record to remove redundant characters in each record and converting the format of each record into a column alignment format, thereby obtaining each organized record;
[0064] Step S102c: According to the row number of each record in the record file, convert each of the sorted records into a one-dimensional array with the row number of each record in the record file as the index.
[0065] It should be noted that, in this embodiment, the preprocessing of the record file refers to normalizing each record in the record file according to the SEG standard (SPS1.0 standard or SPS2.1 standard).
[0066] First, load and generate SPS shot points, detection points and relationship data. Edit the acquired text data, select the data corresponding to different column numbers, filter the string by characteristic characters, or insert the specified data. The data can be aligned in columns (such as left alignment or right alignment). Select a field in the above text data (the maximum length occupied by this parameter). For example, when transferring the three-dimensional data of the shot point record, the number of transferred data is required to be at least two, namely the line number and the point number (this is the most basic identification field of a shot point record).
[0067] Then, constrain the field content format of each row of imported records. If the amount of data is very large and only a part of the data is actually used, you can choose to keep only the required data segment by determining the starting and ending row numbers of the retained data and selecting the number of row intervals for the data to retain only the data with the defined starting and ending row numbers, and filter out the other data; if each row of data carries a specific identifier, you can filter out the unnecessary row identifier data by filling in the identifier in the row identifier of the filtered retained data row, filtering out the row identifier position (column number), filtering out the row identifier length (number of digits), and filtering out the row data with the specified identifier in the editing area.
[0068] Repeat the operation to filter out unnecessary identifier row data; if the data is not column-aligned, but is separated by some delimiter, such as ",",";",":" and other characters as separators (the delimiters are automatically recognized and do not need to be defined by the user), the premise is that the number of data separated by the delimiter in each row is the same. If the number is not equal, no recognition will be performed. At this time, the number should be changed to be equal; select the alignment method of converting the delimiter to column alignment (left-aligned or right-aligned), and then the data separated by the delimiter can be converted into column-aligned data.
[0069] Finally, each of the sorted records is converted into a one-dimensional array indexed by the row number of each record in the record file. The array corresponding to each record is distinguished by a subscript.
[0070] Step S103: Calculate the hash value of each record using the MD5 message digest algorithm.
[0071] The MD5 message digest algorithm is a type of hash algorithm, which is also called a hash algorithm, hash function, or hash function. It is a method of creating a small digital "fingerprint" from any data. The hash algorithm reshuffles and mixes the data to recreate a hash value.
[0072] Hash algorithms usually have the following characteristics:
[0073] (1) Fast: The hash value of the original data can be quickly calculated;
[0074] (2) Reverse difficulty: It is basically impossible to deduce the original data through the hash value;
[0075] (3) Input sensitivity: If the original data changes slightly, the resulting hash value will be very different;
[0076] (4) Conflict avoidance: It is difficult to find different original data that get the same hash value.
[0077] Hash algorithms are mainly used to ensure data authenticity (i.e. integrity), that is, the sender sends the original message and the hash value together, and the recipient uses the same hash function to verify whether the original data is authentic.
[0078] The main hash algorithms are MD4, MD5, and SHA.
[0079] MD5 message digest algorithm (Message-Digest Algorithm), a widely used cryptographic hash function, can generate a 128-bit (16-byte) hash value (i.e., hash value) to ensure the integrity and consistency of information transmission.
[0080] The principle of the MD5 information digest algorithm is: to process the input information in 512-bit groups, and each group is divided into 16 32-bit sub-groups. After a series of processing, the output of the algorithm consists of four 32-bit groups. After cascading these four 32-bit groups, a 128-bit hash value will be generated.
[0081] The MD5 message digest algorithm is not based on any assumptions or cryptographic systems. It uses a direct construction method, which is very fast and practical. Therefore, the MD5 message digest algorithm was once the most widely used secure hash algorithm. The implementation of the MD5 message digest algorithm requires a total of five steps.
[0082] The first step is to add padding bits. First, pad the message so that its length is a number that is 64 bits less than a multiple of 512. Padding method: Pad a 1 after the message, and then pad the required number of 0s. The number of padding bits is 1 to 512.
[0083] The second step is to append the length. The 64-bit representation of the original message length is appended to the padded message. 64 When using the message length mod 2 64 Padding (i.e. only the lowest 64 bits are taken). The message length is exactly an integer multiple of 512. It can be represented as L 512-bit data blocks.
[0084] The third step is to initialize the message digest buffer. A 128-bit buffer is used to store the intermediate and final hash function results. It can be represented as four 32-bit registers (A, B, C, D). The registers are initialized to the following hexadecimal values: A = 67452301; B = EFCDAB89; C = 98BADCFE; D = 10325476.
[0085] The fourth step is to process the input message in 512-bit groups. Each message block is processed, and each message block can be divided into 16 words, denoted as M[0], M[1], ..., M
[15] . This step is the main loop of MD5, which includes four rounds. Each loop takes the current 512-bit group being processed and the 128-bit buffer value ABCD as input, and then updates the buffer content. The operations of the four rounds are similar, with 16 operations performed in each round, but the order of data accessed in each round changes. Each operation performs a nonlinear function operation on three of A, B, C, and D, and then adds the result to the fourth variable, and then shifts the result to the right by an indefinite number and adds one of A, B, C, or D. Finally, the result replaces one of A, B, C, or D. The different basic logic functions used each time are denoted as F, G, H, and I. Among them:
[0086]
[0087]
[0088] H(B,C,D)=B⊕C⊕D;
[0089]
[0090] Step 5: Output the result. After all L 512-bit data blocks are processed, the output of the four registers A, B, C, and D is used to obtain a 128-bit message digest in the order of low-order byte first.
[0091] The steps for calculating the hash value of each shot point record and each detection point record are as follows:
[0092] (a) Combining two fields in each shot point record into a string of a first preset length, and combining two fields in each detection point record into a string of the first preset length.
[0093] (b) The character string corresponding to each shot point record and each detection point record is calculated by using the MD5 information digest algorithm to obtain the hash value of each shot point record and the hash value of each detection point record.
[0094] Specifically, under normal circumstances, we use the pile numbers of the shot point and the detection point to determine whether two records are duplicated. This is reflected in the SPS standard as two fields of data representation, namely, "line number" and "point number". The line number and point number of each record are combined into a fixed-length string, and the MD5 information digest algorithm is used to calculate the string and convert it into a 128-bit (16-byte) MD5 hash value.
[0095] The steps for calculating the hash value of each relationship record are as follows:
[0096] (a) combining five fields in each relationship record into a string of a second preset length;
[0097] (b) Calculate the string corresponding to each relationship record using the MD5 information digest algorithm to obtain the hash value of each relationship record.
[0098] Specifically, different from the hash value calculation of the shot point and detection point records, the "shot line number", "excitation point number", "receiving line number", "start receiving point number" and "end receiving point number" in each relationship record are combined into a string, and the MD5 information digest algorithm is used to calculate the string and convert it into a 128-bit (16-byte) MD5 hash value.
[0099] Step S104: insert the array corresponding to each record into a balanced binary tree in turn to obtain duplicate records and their row numbers in the record file; wherein the key value of each node of the balanced binary tree is the hash value of the corresponding record, and the real value of each node of the balanced binary tree is the row number of the corresponding record.
[0100] The key values of all nodes in a balanced binary tree are different, that is, there cannot be duplicate arrays in a balanced binary tree composed of arrays corresponding to each record. If the hash value of the current record to be inserted is the same as the key value of a node in the current balanced binary tree, the array corresponding to the current record will fail to be inserted, and the return value is false. If the hash value of the current record to be inserted is different from the key values of all nodes in the current balanced binary tree, the array corresponding to the current record will be successfully inserted, and the return value is true. Therefore, by inserting the array corresponding to each record into the balanced binary tree in turn, the duplicate records and their row numbers in the record file can be obtained.
[0101] In this embodiment, using MD5 hash value as the key value of the binary tree node can greatly reduce the collision probability of unequal data records. A balanced binary tree can satisfy the requirement of maintaining the balance of the binary search tree through specific operations during the insertion operation, thereby obtaining higher search performance.
[0102] Step S105: Output the repeated records and their line numbers in the record file.
[0103] Specifically, all duplicate record line numbers and corresponding record information are returned to the field quality control technician.
[0104] Compared with conventional repetitive inspection methods, the inspection method based on a balanced binary tree provided in this embodiment can greatly improve the inspection efficiency and greatly reduce the time required for inspection.
[0105] The disclosed embodiment provides a method for checking the repeatability of seismic data, the method comprising obtaining a record file of seismic exploration auxiliary data of a target area; preprocessing the record file to read each record in the record file and converting each record into a one-dimensional array with the row number of each record in the record file as the index; calculating the hash value of each record by the MD5 information digest algorithm; inserting the array corresponding to each record into a balanced binary tree in turn to obtain the repeated records and their row numbers in the record file; wherein the key value of each node of the balanced binary tree is the hash value of the corresponding record, and the real value of each node of the balanced binary tree is the row number of the corresponding record; and outputting the repeated records and their row numbers in the record file. The method is based on a balanced binary tree and realizes rapid repeatability checking of seismic exploration auxiliary data records. The efficiency of repeatability checking of seismic exploration auxiliary data records is improved by one order of magnitude compared with conventional repeatability checking of seismic exploration auxiliary data records, and the time complexity can reach O(log n), which significantly improves the efficiency of SPS file processing and reduces the time cost at the construction site.
[0106] Embodiment 2
[0107] Based on the first embodiment, this embodiment provides another method for checking the repeatability of seismic data, including:
[0108] Step S201: Acquire the record file of the seismic processing support format for surveys (SPS) of the target area.
[0109] The record files include shot point records, detection point records and relationship records.
[0110] In the SPS file standard, both shot point records and detection point records are represented by data in two fields, namely, "line number" and "point number".
[0111] The relationship record is represented by data in five fields in the SPS file standard, namely, "shot line number", "excitation point number", "receiving line number", "start receiving point number" and "end receiving point number".
[0112] Step S202: pre-processing the record file to read each record in the record file and convert each record into a one-dimensional array with the row number of each record in the record file as an index.
[0113] Specifically, step S202 includes the following steps:
[0114] Step S202a: Read each record in the record file and the line number of each record in the record file;
[0115] Step S202b: performing format constraints on each record to remove redundant characters in each record and converting the format of each record into a column alignment format, thereby obtaining each organized record;
[0116] Step S202c: according to the row number of each record in the record file, convert each of the sorted records into a one-dimensional array with the row number of each record in the record file as the index.
[0117] It should be noted that, in this embodiment, the preprocessing of the record file refers to normalizing each record in the record file according to the SEG standard (SPS1.0 standard or SPS2.1 standard).
[0118] First, load and generate SPS shot points, detection points and relationship data. Edit the acquired text data, select the data corresponding to different column numbers, filter the string by characteristic characters, or insert the specified data. The data can be aligned in columns (such as left alignment or right alignment). Select a field in the above text data (the maximum length occupied by this parameter). For example, when transferring the three-dimensional data of the shot point record, the number of transferred data is required to be at least two, namely the line number and the point number (this is the most basic identification field of a shot point record).
[0119] Then, constrain the field content format of each row of imported records. If the amount of data is very large and only a part of the data is actually used, you can choose to keep only the required data segment by determining the starting and ending row numbers of the retained data and selecting the number of row intervals for the data to retain only the data with the defined starting and ending row numbers, and filter out the other data; if each row of data carries a specific identifier, you can filter out the unnecessary row identifier data by filling in the identifier in the row identifier of the filtered retained data row, filtering out the row identifier position (column number), filtering out the row identifier length (number of digits), and filtering out the row data with the specified identifier in the editing area.
[0120] Repeat the operation to filter out unnecessary identifier row data; if the data is not column-aligned, but is separated by some delimiter, such as ",",";",":" and other characters as separators (the delimiters are automatically recognized and do not need to be defined by the user), the premise is that the number of data separated by the delimiter in each row is the same. If the number is not equal, no recognition will be performed. At this time, the number should be changed to be equal; select the alignment method of converting the delimiter to column alignment (left-aligned or right-aligned), and then the data separated by the delimiter can be converted into column-aligned data.
[0121] Finally, each of the sorted records is converted into a one-dimensional array indexed by the row number of each record in the record file. The array corresponding to each record is distinguished by a subscript.
[0122] Step S203: Calculate the hash value of each record using the MD5 message digest algorithm.
[0123] The MD5 message digest algorithm is a type of hash algorithm, which is also called a hash algorithm, hash function, or hash function. It is a method of creating a small digital "fingerprint" from any data. The hash algorithm reshuffles and mixes the data to recreate a hash value.
[0124] Hash algorithms usually have the following characteristics:
[0125] (1) Fast: The hash value of the original data can be quickly calculated;
[0126] (2) Reverse difficulty: It is basically impossible to deduce the original data through the hash value;
[0127] (3) Input sensitivity: If the original data changes slightly, the resulting hash value will be very different;
[0128] (4) Conflict avoidance: It is difficult to find different original data that get the same hash value.
[0129] Hash algorithms are mainly used to ensure data authenticity (i.e. integrity), that is, the sender sends the original message and the hash value together, and the recipient uses the same hash function to verify whether the original data is authentic.
[0130] The main hash algorithms are MD4, MD5, and SHA.
[0131] MD5 message digest algorithm (Message-Digest Algorithm), a widely used cryptographic hash function, can generate a 128-bit (16-byte) hash value (i.e., hash value) to ensure the integrity and consistency of information transmission.
[0132] The principle of the MD5 information digest algorithm is: to process the input information in 512-bit groups, and each group is divided into 16 32-bit sub-groups. After a series of processing, the output of the algorithm consists of four 32-bit groups. After cascading these four 32-bit groups, a 128-bit hash value will be generated.
[0133] The MD5 message digest algorithm is not based on any assumptions or cryptographic systems. It uses a direct construction method, which is very fast and practical. Therefore, the MD5 message digest algorithm was once the most widely used secure hash algorithm. The implementation of the MD5 message digest algorithm requires a total of five steps.
[0134] The first step is to add padding bits. First, pad the message so that its length is a number that is 64 bits less than a multiple of 512. Padding method: Pad a 1 after the message, and then pad the required number of 0s. The number of padding bits is 1 to 512.
[0135] The second step is to append the length. The 64-bit representation of the original message length is appended to the padded message. 64 When using the message length mod 2 64 Padding (i.e. only the lowest 64 bits are taken). The message length is exactly an integer multiple of 512. It can be represented as L 512-bit data blocks.
[0136] The third step is to initialize the message digest buffer. A 128-bit buffer is used to store the intermediate and final hash function results. It can be represented as four 32-bit registers (A, B, C, D). The registers are initialized to the following hexadecimal values: A = 67452301; B = EFCDAB89; C = 98BADCFE; D = 10325476.
[0137] The fourth step is to process the input message in 512-bit groups. Each message block is processed, and each message block can be divided into 16 words, denoted as M[0], M[1], ..., M
[15] . This step is the main loop of MD5, which includes four rounds. Each loop takes the current 512-bit group being processed and the 128-bit buffer value ABCD as input, and then updates the buffer content. The operations of the four rounds are similar, with 16 operations performed in each round, but the order of data accessed in each round changes. Each operation performs a nonlinear function operation on three of A, B, C, and D, and then adds the result to the fourth variable, and then shifts the result to the right by an indefinite number and adds one of A, B, C, or D. Finally, the result replaces one of A, B, C, or D. The different basic logic functions used each time are denoted as F, G, H, and I. Among them:
[0138]
[0139]
[0140] H(B,C,D)=B⊕C⊕D;
[0141]
[0142] Step 5: Output the result. After all L 512-bit data blocks are processed, the output of the four registers A, B, C, and D is used to obtain a 128-bit message digest in the order of low-order byte first.
[0143] The steps for calculating the hash value of each shot point record and each detection point record are as follows:
[0144] (a) Combining two fields in each shot point record into a string of a first preset length, and combining two fields in each detection point record into a string of the first preset length.
[0145] (b) The character string corresponding to each shot point record and each detection point record is calculated by using the MD5 information digest algorithm to obtain the hash value of each shot point record and the hash value of each detection point record.
[0146] Specifically, under normal circumstances, we use the pile numbers of the shot point and the detection point to determine whether two records are duplicated. This is reflected in the SPS standard as two fields of data representation, namely, "line number" and "point number". The line number and point number of each record are combined into a fixed-length string, and the MD5 information digest algorithm is used to calculate the string and convert it into a 128-bit (16-byte) MD5 hash value.
[0147] The steps for calculating the hash value of each relationship record are as follows:
[0148] (a) combining five fields in each relationship record into a string of a second preset length;
[0149] (b) Calculate the string corresponding to each relationship record using the MD5 information digest algorithm to obtain the hash value of each relationship record.
[0150] Specifically, different from the hash value calculation of the shot point and detection point records, the "shot line number", "excitation point number", "receiving line number", "start receiving point number" and "end receiving point number" in each relationship record are combined into a string, and the MD5 information digest algorithm is used to calculate the string and convert it into a 128-bit (16-byte) MD5 hash value.
[0151] Step S204: insert the array corresponding to each record into a balanced binary tree in turn to obtain duplicate records and their row numbers in the record file; wherein the key value of each node of the balanced binary tree is the hash value of the corresponding record, and the real value of each node of the balanced binary tree is the row number of the corresponding record.
[0152] The key values of all nodes in a balanced binary tree are different, that is, there cannot be duplicate arrays in a balanced binary tree composed of arrays corresponding to each record. If the hash value of the current record to be inserted is the same as the key value of a node in the current balanced binary tree, the array corresponding to the current record will fail to be inserted, and the return value is false. If the hash value of the current record to be inserted is different from the key values of all nodes in the current balanced binary tree, the array corresponding to the current record will be successfully inserted, and the return value is true. Therefore, by inserting the array corresponding to each record into the balanced binary tree in turn, the duplicate records and their row numbers in the record file can be obtained.
[0153] In this embodiment, using MD5 hash value as the key value of the binary tree node can greatly reduce the collision probability of unequal data records. A balanced binary tree can satisfy the requirement of maintaining the balance of the binary search tree through specific operations during the insertion operation, thereby obtaining higher search performance.
[0154] In this embodiment, a variant of a balanced binary search tree, a red-black tree, is used. The red-black tree is a self-balancing binary search tree containing red and black nodes. The red-black tree has the following properties:
[0155] (1) Each node is either black or red;
[0156] (2) The root node is black;
[0157] (3) All leaves are black, and the leaves are empty (NUIL) nodes;
[0158] (4) Both child nodes of each red node must be black (there cannot be two consecutive red nodes on any path from each leaf to the root);
[0159] (5) The path from any node to each leaf node contains the same number of black nodes.
[0160] These constraints enforce a key property of a red-black tree: the longest possible path from the root to a leaf is no longer than twice the shortest possible path. As a result, the tree is roughly balanced. Because operations such as inserting, deleting, and looking up a value require worst-case time proportional to the height of the tree, this theoretical upper bound on height allows red-black trees to be efficient in the worst case, unlike ordinary binary search trees.
[0161] Step S204 includes the following steps:
[0162] Step S204a: inserting the array corresponding to each record into the balanced binary tree in turn, and judging whether there is a duplicate array identical to the array corresponding to the current record in the current balanced binary tree according to whether the insertion of the array corresponding to the current record is successful;
[0163] Step S204b: when the array corresponding to the current record is inserted successfully, there is no duplicate array in the current balanced binary tree that is the same as the array corresponding to the current record;
[0164] Step S204c: when the array corresponding to the current record is not successfully inserted, there is a duplicate array in the current balanced binary tree that is the same as the array corresponding to the current record;
[0165] Step S204d: Obtain the repeated records and their row numbers corresponding to the repeated array in the current balanced binary tree.
[0166] In step S204a, the hash value of each record is inserted into the balanced binary tree in sequence, including the following steps:
[0167] (a) Find the insertion position of the array corresponding to the current record in the current balanced binary tree;
[0168] (b) Insert the array corresponding to the current record into the found insertion position to maintain the balance of the current balanced binary tree.
[0169] Specifically, searching for the insertion position of the array corresponding to the current record in the current balanced binary tree includes the following steps:
[0170] (a) Start searching from the root node of the current balanced binary tree;
[0171] (b) Compare the key value of the current node with the hash value of the current record;
[0172] (c) When the current node is empty, the current node is the insertion position of the array corresponding to the current record;
[0173] (d) When the key value of the current node is equal to the hash value of the current record, there is no insertion position of the array corresponding to the current record in the current balanced binary tree, and the current node is a duplicate array of the array corresponding to the current record;
[0174] (e) when the key value of the current node is greater than the hash value of the current record, setting the left child node of the current node as the new current node, and returning to the step of comparing the key value of the current node with the hash value of the current record to compare the key value of the new current node with the hash value of the current record;
[0175] (f) When the key value of the current node is less than the hash value of the current record, the right child node of the current node is set as the new current node, and the process returns to the step of comparing the key value of the current node with the hash value of the current record to compare the key value of the new current node with the hash value of the current record.
[0176] like Figure 2 As shown, the above steps can also be understood as:
[0177] (1) Start searching from the root node;
[0178] (2) If the root node is empty, use the root node as the insertion node and end;
[0179] (3) If the root node is not empty, set the root node as the new current node (i.e., the insertion position) and continue searching;
[0180] (4) If the current node is empty, then use the current node as the insertion node (i.e., the insertion position) and end;
[0181] (5) If the key value of the current node is equal to the hash value of the current record, the insertion fails, the current node is a duplicate array of the array corresponding to the current record, and the process ends;
[0182] (6) If the key value of the current node is greater than the hash value of the current record, set the left child node of the current node as the new current node and return to step (4);
[0183] (7) If the key value of the current node is less than the hash value of the current record, set the right child node of the current node as the new current node and return to step (4).
[0184] According to the same method, the array obtained in step S202 is inserted into the balanced binary tree structure according to the array subscript iteration (the insertion process is also the construction process of the balanced binary tree). If the return value is true (insertion successful), it means that there is no duplicate array equal to it in the current balanced binary tree. If the return value is false (insertion unsuccessful), it means that there is a duplicate array equal to it in the current balanced binary tree, and the real value of the corresponding node is the row number of the duplicate record.
[0185] Step S205: Output the repeated records and their line numbers in the record file.
[0186] Compared with conventional repeatability inspection methods, the inspection method based on a balanced binary tree provided in this embodiment can improve the inspection efficiency by an order of magnitude, with a time complexity of O(log n), and the time required for inspection is greatly reduced. Table 1 is a statistical table showing the comparison of the inspection time and time complexity of the inspection method based on a balanced binary tree provided in this embodiment and conventional methods.
[0187] Table 1
[0188]
[0189]
[0190] Specifically, all duplicate record line numbers and corresponding record information are returned to the field quality control technician.
[0191] The disclosed embodiment provides a method for checking the repeatability of seismic data, the method comprising obtaining a record file of seismic exploration auxiliary data of a target area; preprocessing the record file to read each record in the record file and converting each record into a one-dimensional array with the row number of each record in the record file as the index; calculating the hash value of each record by the MD5 information digest algorithm; inserting the array corresponding to each record into a balanced binary tree in turn to obtain the repeated records and their row numbers in the record file; wherein the key value of each node of the balanced binary tree is the hash value of the corresponding record, and the real value of each node of the balanced binary tree is the row number of the corresponding record; and outputting the repeated records and their row numbers in the record file. The method is based on a balanced binary tree and realizes rapid repeatability checking of seismic exploration auxiliary data records. The efficiency of repeatability checking of seismic exploration auxiliary data records is improved by one order of magnitude compared with conventional repeatability checking of seismic exploration auxiliary data records, and the time complexity can reach O(log n), which significantly improves the efficiency of SPS file processing and reduces the time cost at the construction site.
[0192] Embodiment 3
[0193] Figure 3 For a structural diagram of a device for checking the repeatability of seismic data provided by an embodiment of the present disclosure, please refer to Figure 3 This embodiment provides a device 100 for checking the repeatability of seismic data, including a record file acquisition module 101, a record file preprocessing module 102, a record hash value calculation module 103, a duplicate record acquisition module 104 and a duplicate record output module 105.
[0194] The record file acquisition module 101 is used to acquire the record file of the seismic exploration auxiliary data of the target area.
[0195] The record file preprocessing module 102 is used to preprocess the record file to read each record in the record file and convert each record into a one-dimensional array with the row number of each record in the record file as the index.
[0196] The record hash value calculation module 103 is used to calculate the hash value of each record by using the MD5 information digest algorithm.
[0197] The duplicate record acquisition module 104 is used to insert the array corresponding to each record into a balanced binary tree in turn to obtain the duplicate records and their row numbers in the record file; wherein the key value of each node of the balanced binary tree is the hash value of the corresponding record, and the real value of each node of the balanced binary tree is the row number of the corresponding record.
[0198] The duplicate record output module 105 is used to output the duplicate records and their line numbers in the record file.
[0199] The record file acquisition module 101 acquires the record file of the seismic exploration auxiliary data of the target area; the record file preprocessing module 102 preprocesses the record file to read each record in the record file and convert each record into a one-dimensional array with the row number of each record in the record file as the index; the record hash value calculation module 103 calculates the hash value of each record through the MD5 information digest algorithm; the duplicate record acquisition module 104 inserts the array corresponding to each record into a balanced binary tree in turn to obtain the duplicate records and their row numbers in the record file; the duplicate record output module 105 outputs the duplicate records and their row numbers in the record file.
[0200] The specific implementation of the method for performing seismic data repeatability check based on the above modules has been described in detail in the first embodiment and will not be repeated here.
[0201] Embodiment 4
[0202] This embodiment provides an electronic device, which may be a mobile phone, a computer or a tablet computer, etc., including a memory and a processor, wherein a computer program is stored in the memory, and when the computer program is executed by the processor, the method for checking the repeatability of seismic data as described in Embodiment 1 is implemented. It is understood that the electronic device may also include an input / output (I / O) interface and a communication component.
[0203] The processor is used to execute all or part of the steps in the method for checking the repeatability of seismic data in Example 1. The memory is used to store various types of data, which may include instructions of any application or method in the electronic device, and data related to the application.
[0204] The processor can be an application specific integrated circuit (ASIC), a digital signal processor (DSP), a digital signal processing device (DSPD), a programmable logic device (PLD), a field programmable gate array (FPGA), a controller, a microcontroller, a microprocessor or other electronic components, and is used to execute the method for checking the repeatability of seismic data in the above-mentioned embodiment 1.
[0205] The memory can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic storage, flash memory, magnetic disk or optical disk.
[0206] Embodiment 5
[0207] This embodiment also provides a computer-readable storage medium, such as a flash memory, a hard disk, a multimedia card, a card-type memory (for example, an SD or DX memory, etc.), a random access memory (RAM), a static random access memory (SRAM), a read-only memory (ROM), an electrically erasable programmable read-only memory (EEPROM), a programmable read-only memory (PROM), a magnetic memory, a disk, an optical disk, a server, an App application store, etc., on which a computer program is stored. When the computer program is executed by a processor, the following method steps can be implemented:
[0208] Step S101: Acquire a record file of seismic exploration auxiliary data of a target area;
[0209] Step S102: preprocessing the record file to read each record in the record file and convert each record into a one-dimensional array with the row number of each record in the record file as an index;
[0210] Step S103: Calculate the hash value of each record using the MD5 information digest algorithm;
[0211] Step S104: inserting the array corresponding to each record into the balanced binary tree in turn to obtain duplicate records and their row numbers in the record file; wherein the key value of each node of the balanced binary tree is the hash value of the corresponding record, and the real value of each node of the balanced binary tree is the row number of the corresponding record;
[0212] Step S105: Output the repeated records and their line numbers in the record file.
[0213] Optionally, step S102 includes the following steps:
[0214] Read each record in the record file and the line number of each record in the record file;
[0215] Performing format constraints on each record to remove redundant characters in each record and converting the format of each record into a column alignment format, thereby obtaining each organized record;
[0216] According to the row number of each record in the record file, each of the sorted records is converted into a one-dimensional array with the row number of each record in the record file as the index.
[0217] Optionally, the record file includes shot point records and detection point records, and each shot point record and each detection point record include two fields respectively; step S103 includes the following steps:
[0218] Combining two fields in each shot point record into a string of a first preset length, and combining two fields in each detection point record into a string of the first preset length;
[0219] The character string corresponding to each shot point record and the character string corresponding to each detection point record are calculated by using the MD5 information digest algorithm to obtain the hash value of each shot point record and the hash value of each detection point record.
[0220] Optionally, the record file includes relationship records, each relationship record includes five fields; step S103 includes the following steps:
[0221] Combining five fields in each relationship record into a string of a second preset length;
[0222] The character string corresponding to each relationship record is calculated using the MD5 information digest algorithm to obtain a hash value for each relationship record.
[0223] Optionally, the balanced binary tree is a red-black tree; step S104 includes the following steps:
[0224] Insert the array corresponding to each record into the balanced binary tree in turn, and determine whether there is a duplicate array in the current balanced binary tree that is the same as the array corresponding to the current record based on whether the insertion of the array corresponding to the current record is successful;
[0225] When the array corresponding to the current record is successfully inserted, there is no duplicate array in the current balanced binary tree that is identical to the array corresponding to the current record;
[0226] When the array corresponding to the current record is not successfully inserted, there is a duplicate array in the current balanced binary tree that is the same as the array corresponding to the current record;
[0227] Get the repeated records and their row numbers corresponding to the repeated array in the current balanced binary tree.
[0228] Optionally, inserting the array corresponding to each record into the balanced binary tree in turn includes the following steps:
[0229] Find the insertion position of the array corresponding to the current record in the current balanced binary tree;
[0230] Insert the array corresponding to the current record into the found insertion position to maintain the balance of the current balanced binary tree.
[0231] Optionally, searching for the insertion position of the array corresponding to the current record in the current balanced binary tree includes the following steps:
[0232] Start searching from the root node of the current balanced binary tree;
[0233] Compare the key value of the current node with the hash value of the current record;
[0234] When the current node is empty, the current node is the insertion position of the array corresponding to the current record;
[0235] When the key value of the current node is equal to the hash value of the current record, there is no insertion position of the array corresponding to the current record in the current balanced binary tree, and the current node is a duplicate array of the array corresponding to the current record;
[0236] When the key value of the current node is greater than the hash value of the current record, the left child node of the current node is set as the new current node, and the process returns to the step of comparing the key value of the current node with the hash value of the current record to compare the key value of the new current node with the hash value of the current record;
[0237] When the key value of the current node is less than the hash value of the current record, the right child node of the current node is set as the new current node, and the process returns to the step of comparing the key value of the current node with the hash value of the current record to compare the key value of the new current node with the hash value of the current record.
[0238] The specific implementation process of the above method steps can be found in Example 1, and this embodiment will not be repeated here.
[0239] In summary, the present disclosure provides a method, device, electronic device and storage medium for checking the repeatability of seismic data, the method comprising obtaining a record file of seismic exploration auxiliary data in a target area; preprocessing the record file to read each record in the record file and converting each record into a one-dimensional array indexed by the row number of each record in the record file; calculating the hash value of each record by the MD5 information digest algorithm; inserting the array corresponding to each record into a balanced binary tree in turn to obtain duplicate records and their row numbers in the record file; wherein the key value of each node of the balanced binary tree is the hash value of the corresponding record, and the real value of each node of the balanced binary tree is the row number of the corresponding record; outputting the duplicate records and their row numbers in the record file. The method is based on a balanced binary tree and realizes rapid repeatability checking of seismic exploration auxiliary data records. The efficiency of repeatability checking of seismic exploration auxiliary data records is improved by an order of magnitude compared with conventional repeatability checking of seismic exploration auxiliary data records, and the time complexity can reach O(log n), which significantly improves the efficiency of SPS file processing and reduces the time cost at the construction site.
[0240] It should be noted that, in this article, the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, an element defined by the sentence "comprises a ..." does not exclude the existence of other identical elements in the process, method, article or device including the element.
[0241] Although the embodiments disclosed in the present disclosure are as above, the contents described are only embodiments adopted for facilitating the understanding of the present disclosure and are not intended to limit the present disclosure. Any technician in the technical field to which the present disclosure belongs can make any modifications and changes in the form and details of the implementation without departing from the spirit and scope disclosed in the present disclosure, but the scope of patent protection of the present disclosure shall still be subject to the scope defined in the attached claims.
Claims
1. A method for checking the repeatability of seismic data, characterized in that: The method comprises: Obtain records of auxiliary data of seismic exploration in the target area; Preprocessing the record file to read each record in the record file and convert each record into a one-dimensional array with the row number of each record in the record file as an index; Calculate the hash value of each record using the MD5 information digest algorithm; Insert the array corresponding to each record into a balanced binary tree in turn to obtain duplicate records and their row numbers in the record file; wherein the key value of each node of the balanced binary tree is the hash value of the corresponding record, and the real value of each node of the balanced binary tree is the row number of the corresponding record; Output the repeated records and their line numbers in the record file; The balanced binary tree is a red-black tree; inserting the array corresponding to each record into the balanced binary tree in turn to obtain the duplicate records and their line numbers in the record file includes the following steps: Insert the array corresponding to each record into the balanced binary tree in turn, and determine whether there is a duplicate array in the current balanced binary tree that is the same as the array corresponding to the current record based on whether the insertion of the array corresponding to the current record is successful; When the array corresponding to the current record is successfully inserted, there is no duplicate array in the current balanced binary tree that is identical to the array corresponding to the current record; When the array corresponding to the current record is not successfully inserted, there is a duplicate array in the current balanced binary tree that is the same as the array corresponding to the current record; Get the repeated records and their row numbers corresponding to the repeated array in the current balanced binary tree.
2. The method according to claim 1, characterized in that Preprocessing the record file to read each record in the record file and convert each record into a one-dimensional array indexed by the row number of each record in the record file includes the following steps: Read each record in the record file and the line number of each record in the record file; Performing format constraints on each record to remove redundant characters in each record and converting the format of each record into a column alignment format, thereby obtaining each organized record; According to the row number of each record in the record file, each of the sorted records is converted into a one-dimensional array with the row number of each record in the record file as the index.
3. The method according to claim 1, characterized in that The record file includes a shot point record and a detection point record, each shot point record and each detection point record includes two fields respectively; the hash value of each record is calculated by the MD5 information digest algorithm, including the following steps: Combining two fields in each shot point record into a string of a first preset length, and combining two fields in each detection point record into a string of the first preset length; The character string corresponding to each shot point record and the character string corresponding to each detection point record are calculated by using the MD5 information digest algorithm to obtain the hash value of each shot point record and the hash value of each detection point record.
4. The method according to claim 1, characterized in that: The record file includes relationship records, each of which includes five fields; the hash value of each record is calculated by the MD5 information digest algorithm, including the following steps: Combining five fields in each relationship record into a string of a second preset length; The character string corresponding to each relationship record is calculated using the MD5 information digest algorithm to obtain a hash value for each relationship record.
5. The method according to claim 1, characterized in that Inserting the array corresponding to each record into the balanced binary tree in turn includes the following steps: Find the insertion position of the array corresponding to the current record in the current balanced binary tree; Insert the array corresponding to the current record into the found insertion position to maintain the balance of the current balanced binary tree.
6. The method according to claim 5, characterized in that Finding the insertion position of the array corresponding to the current record in the current balanced binary tree includes the following steps: Start searching from the root node of the current balanced binary tree; Compare the key value of the current node with the hash value of the current record; When the current node is empty, the current node is the insertion position of the array corresponding to the current record; When the key value of the current node is equal to the hash value of the current record, there is no insertion position of the array corresponding to the current record in the current balanced binary tree, and the current node is a duplicate array of the array corresponding to the current record; When the key value of the current node is greater than the hash value of the current record, the left child node of the current node is set as the new current node, and the process returns to the step of comparing the key value of the current node with the hash value of the current record to compare the key value of the new current node with the hash value of the current record; When the key value of the current node is less than the hash value of the current record, the right child node of the current node is set as the new current node, and the process returns to the step of comparing the key value of the current node with the hash value of the current record to compare the key value of the new current node with the hash value of the current record.
7. A device for checking the repeatability of seismic data, characterized in that: The device comprises: A record file acquisition module is used to acquire the record files of seismic exploration auxiliary data of the target area; A record file preprocessing module, used for preprocessing the record file to read each record in the record file and convert each record into a one-dimensional array with the row number of each record in the record file as the index; A record hash value calculation module is used to calculate the hash value of each record using the MD5 information digest algorithm; A duplicate record acquisition module is used to insert the array corresponding to each record into a balanced binary tree in turn to obtain duplicate records and their row numbers in the record file; wherein the key value of each node of the balanced binary tree is the hash value of the corresponding record, and the real value of each node of the balanced binary tree is the row number of the corresponding record; A duplicate record output module, used for outputting duplicate records and their line numbers in the record file; The balanced binary tree is a red-black tree; the duplicate record acquisition module is also used for: Insert the array corresponding to each record into the balanced binary tree in turn, and determine whether there is a duplicate array in the current balanced binary tree that is the same as the array corresponding to the current record based on whether the insertion of the array corresponding to the current record is successful; When the array corresponding to the current record is successfully inserted, there is no duplicate array in the current balanced binary tree that is identical to the array corresponding to the current record; When the array corresponding to the current record is not successfully inserted, there is a duplicate array in the current balanced binary tree that is the same as the array corresponding to the current record; Get the repeated records and their row numbers corresponding to the repeated array in the current balanced binary tree.
8. An electronic device, characterized in that: The method comprises a memory and a processor, wherein a computer program is stored in the memory, and when the computer program is executed by the processor, the method for checking the repeatability of seismic data as claimed in any one of claims 1 to 6 is executed.
9. A storage medium, characterized in that: The computer program stored in the storage medium can be executed by one or more processors and can be used to implement the method for checking the repeatability of seismic data as described in any one of claims 1 to 6.
Citation Information
Patent Citations
Method and apparatus for removing call ticket repeat
CN101442731A
Call ticket de-duplication method and device
CN102065192A