Seismic measurement network data processing method and device, computer equipment and storage medium
By storing and positioning seismic network information data in the memory mapped space, the address window expansion mechanism is used to solve the problem of inefficient access of large-scale data, and fast reading and efficient storage are achieved.
Patent Information
- Application Number
- CN202311181297.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-09-13
- Publication Date
- 2025-03-14
AI Technical Summary
The prior art is difficult to quickly access and process large-scale seismic network information data, especially when the amount of data exceeds the process address space accessible by 32-bit applications, resulting in inefficient reading.
By obtaining the category and channel number of the test network information data, determining its page location in the memory mapped space, and using the address window expansion mechanism to expand the memory address, mapping the extended address space, and storing the test network information data into the extended address space.
It realizes rapid positioning and reading of large-scale seismic network information data, improves data access efficiency, and avoids memory address space limitations.
Smart Images

Figure CN119621595A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of data reading, and in particular to a method, device, computer equipment and storage medium for processing seismic network data. Background Art
[0002] Seismic exploration is a geophysical exploration method that uses the differences in elasticity and density of underground media to infer the properties and morphology of underground rock formations by observing and analyzing the response of the earth to artificially excited seismic waves. Seismic exploration is an important means of geological prospecting for oil, natural gas resources, and solid resources before drilling. It is also widely used in coalfield and engineering geological exploration, regional geological research, and crustal research.
[0003] As the amount of seismic data increases, geological researchers are now faced with TB or even PB-level data. Distributed methods are increasingly used for storage, and concurrency and other means are used to improve the efficiency of data access and loading. At present, seismic data are stored in the format of files, and these files are read for display and loading when used. Considering three-dimensional seismic data stored in SEGY format, a file can reach hundreds of GB or even TB level. The industry continues to apply new computer storage technologies, design, adjust and form a series of network file storage technologies and deployment solutions.
[0004] With the development of seismic acquisition and electronic scanning technology, the amount of seismic data obtained has increased rapidly. Although the performance of computers used to process data is constantly improving, the explosive growth of data size still exceeds the development speed of memory. From storage, loading to display, it is necessary to re-examine the existing mainstream file storage format and develop a series of core technologies that support large data bodies, such as rendering and big data mining. With the rapid data updates brought by a series of new technologies such as 3D seismic data acquisition and oil and gas field development, the efficient storage and processing analysis of 3D data bodies under the background of big data has become increasingly complex.
[0005] The use of buffering technology is essential for the acquisition and use of seismic data. Existing technologies include seismic data buffering algorithms based on octree encoding, but sgy needs to be converted into an internal sub-block format first. Directly using sgy, the existing technology only has existing multi-threaded concurrent reading and then used for subsequent tasks, which is not very effective, especially without the premise of buffering based on windows files, the module that requires large data volume computing is not implemented.
[0006] The network information is an index for obtaining seismic data. It is frequently accessed in actual application scenarios, and its efficiency has a great impact on the speed of seismic data acquisition. For pre-stack seismic data, the data volume can reach hundreds of GB or TB level, and the corresponding network information is often larger than 4GB, which exceeds the process address space accessible to 32-bit applications. Due to the huge amount of seismic data, the efficiency of reading a certain data in the seismic data is low.
[0007] Therefore, a method is needed to quickly access the test network information data. Summary of the invention
[0008] Based on this, it is necessary to provide a seismic network data processing method, device, computer equipment and storage medium to address the above technical problems.
[0009] A method for processing seismic network data, comprising:
[0010] Get the category and channel number of the test network information data;
[0011] Determine the page start position of the network measurement information data of the category according to the category of the network measurement information data;
[0012] Determine the mapping window where the measuring network information data of the channel number is located according to the channel number of the measuring network information data;
[0013] Determine a starting memory page and an ending memory page in the mapping window according to the page starting position and the mapping window;
[0014] The page position of the network measurement information data is determined according to the starting memory page, the ending memory page and the track number of the network measurement information data in the mapping window, and the network measurement information data is read based on the page position of the network measurement information data.
[0015] In one of the embodiments, the method further includes: utilizing an address window extension mechanism to extend the memory address, mapping to obtain an extended address space, and storing the test network information data in the extended address space.
[0016] In one embodiment, the step of using the address window extension mechanism to extend the memory address to obtain an extended address space, and storing the test network information data in the extended address space includes:
[0017] Obtaining the total data volume of the test network information data, and calculating the number of memory pages according to the total data volume and the memory page size of the extended address space;
[0018] Based on the number of memory pages, the memory address is expanded using an address window expansion mechanism, and the expanded address space is mapped;
[0019] The network test information data of each type is sequentially stored in each memory page of the extended address space in the order of channel numbers.
[0020] In one embodiment, the step of obtaining the page start position of the network testing information data of the category according to the category of the network testing information data includes:
[0021] Obtaining the total number of channels and memory page size of the test network information data, wherein the memory page size refers to the amount of test network information data stored in a single memory page;
[0022] Calculating the ratio of the total number of channels of the network measurement information data to the memory page size, and obtaining the starting page of each type of the network measurement information data;
[0023] According to the starting page of each type of the network measurement information data and the type of the network measurement information data, the page starting position of the network measurement information data of this type is determined.
[0024] In one embodiment, the step of determining the mapping window where the measuring network information data of the track number is located according to the track number of the measuring network information data comprises:
[0025] Obtaining a memory mapping window size, wherein the memory mapping window size refers to the number of memory pages contained in a single mapping window;
[0026] According to the channel number of the test network information data and the memory mapping window, the window order of the test network information data of the channel number is obtained, and according to the window order, the mapping window is determined.
[0027] In one embodiment, the method further comprises:
[0028] Receive memory mapping release instruction;
[0029] In response to the memory mapping release instruction, obtaining the start and end memory page locations of the test network information data;
[0030] Determine each memory mapping window according to the starting and ending memory page positions;
[0031] Unmap each of the memory mapping windows to release the extended address space corresponding to the memory mapping window.
[0032] In one embodiment, the method further comprises:
[0033] Receive the test network information copy instruction;
[0034] In response to the test network information copy instruction, the extended address space corresponding to the memory mapping window of the first test network data is released to obtain a space to be mapped;
[0035] Obtain the memory page size, memory mapping window size and number of memory pages of the second test network data;
[0036] Based on the memory page size, memory mapping window size and number of memory pages of the second test network data, a window page to be copied is established in the space to be mapped;
[0037] Based on the one-to-one correspondence between the memory mapping window of the second test network data and the memory mapping window of the to-be-copied mapping window and the page, the second test network data is copied to the to-be-copied window page.
[0038] A seismic network data processing device, comprising:
[0039] The test network data category acquisition module is used to obtain the category and channel number of the test network information data;
[0040] A page start position determination module, used to determine the page start position of the network measurement information data of the category according to the category of the network measurement information data;
[0041] A mapping window determination module, used for determining the mapping window where the measuring network information data of the track number is located according to the track number of the measuring network information data;
[0042] A start and end page determination module, used for determining a start memory page and an end memory page in the mapping window according to the page start position and the mapping window;
[0043] The network test data reading module is used to determine the page position of the network test information data according to the starting memory page, the ending memory page and the track number of the network test information data in the mapping window, and read the network test information data based on the page position of the network test information data.
[0044] A computer device comprises a memory and a processor, wherein the memory stores a computer program, and wherein the processor implements the following steps when executing the computer program:
[0045] Get the category and channel number of the test network information data;
[0046] Determine the page start position of the network measurement information data of the category according to the category of the network measurement information data;
[0047] Determine the mapping window where the measuring network information data of the channel number is located according to the channel number of the measuring network information data;
[0048] Determine a starting memory page and an ending memory page in the mapping window according to the page starting position and the mapping window;
[0049] The page position of the network measurement information data is determined according to the starting memory page, the ending memory page and the track number of the network measurement information data in the mapping window, and the network measurement information data is read based on the page position of the network measurement information data.
[0050] A computer-readable storage medium stores a computer program, which, when executed by a processor, implements the following steps:
[0051] Get the category and channel number of the test network information data;
[0052] Determine the page start position of the network measurement information data of the category according to the category of the network measurement information data;
[0053] Determine the mapping window where the measuring network information data of the channel number is located according to the channel number of the measuring network information data;
[0054] Determine a starting memory page and an ending memory page in the mapping window according to the page starting position and the mapping window;
[0055] The page position of the network measurement information data is determined according to the starting memory page, the ending memory page and the track number of the network measurement information data in the mapping window, and the network measurement information data is read based on the page position of the network measurement information data.
[0056] The above-mentioned seismic network data processing method, device, computer equipment and storage medium, by storing the network information data in the memory mapping space, well solves the problem of limited access space for a large number of seismic network information data, and can quickly locate the mapped memory page of the network information data through the category and channel number of the network information data, thereby realizing fast reading. Memory mapping has faster access speed and higher efficiency than file storage. BRIEF DESCRIPTION OF THE DRAWINGS
[0057] Figure 1 A schematic diagram of a flow chart of a method for processing seismic network data in one embodiment;
[0058] Figure 2 A structural block diagram of a seismic network data processing device in one embodiment;
[0059] Figure 3 is an internal structure diagram of a computer device in one embodiment;
[0060] Figure 4 A schematic diagram of a flow chart of a method for processing seismic network data in one embodiment;
[0061] Figure 5 A schematic diagram of a storage structure of network measurement information data in an embodiment;
[0062] Figure 6 A schematic diagram of a memory mapping address space in one embodiment. DETAILED DESCRIPTION
[0063] In order to make the purpose, technical solution and advantages of the present application more clearly understood, the present application is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.
[0064] Embodiment 1
[0065] In this embodiment, Figure 1 As shown, a method for processing seismic network data is provided, which includes:
[0066] Step 110, obtaining the category and channel number of the measurement network information data.
[0067] In this embodiment, each channel number identifies a channel, and each channel contains multiple categories of data. Specifically, the network information data includes the channel header data of each channel of the seismic network, and the main data in each channel header includes categories such as shot, check point coordinates, CDP point coordinates, azimuth, incident angle and offset.
[0068] In this embodiment, the category and channel number of the network information data to be read and mapped to the memory space are obtained, and the category of the data to be read and the channel where the category is located are determined.
[0069] Step 120: Determine the page start position of the network measurement information data of this category according to the category of the network measurement information data.
[0070] In this embodiment, according to the type of network measurement information data to be obtained, the page starting position of the data is determined. The page starting position is the memory page corresponding to the starting position of the network measurement information data of the type. The network measurement information data of the type is stored in each memory page in sequence starting from the page starting position. Therefore, by obtaining the page starting position of the network measurement information data of the type, the network measurement information data of the type can be obtained.
[0071] In order to obtain the page starting position of a certain category of network measurement information data, in one embodiment, the step of obtaining the page starting position of the network measurement information data of this category according to the category of the network measurement information data includes: obtaining the total number of channels of the network measurement information data and the memory page size, wherein the memory page size refers to the number of network measurement information data stored in a single memory page; calculating the ratio of the total number of channels of the network measurement information data to the memory page size to obtain the starting page of each category of the network measurement information data; determining the page starting position of the network measurement information data of this category according to the starting page of each category of the network measurement information data and the category of the network measurement information data.
[0072] It is worth mentioning that the memory page size is fixed, which refers to the storage space of a single memory, and the amount of data of each test network information data is fixed. Therefore, the memory page size can be calibrated by the test network information data, that is, the memory page size is defined by the number and quantity of the test network information data. For example, if a memory page can store 3 test network information data, the memory page size is 3.
[0073] In this embodiment, the total number of channels of the network information data refers to the total number of channels of the network information data. By dividing the total number of channels of the network information data by the memory page size, the number of memory pages occupied by each category of the network information data can be obtained. According to the number of memory pages of each category of the network information data, the starting page of each category of the network information data can be calculated.
[0074] In this embodiment, Figure 5 As shown, the total number of channels of the network information data is 23, so there are 23 network information data of each category. For example, the network information data of the category of guns are stored in the mapping space in the order of gun 0, gun 1, gun 2... gun 22, and the network information data of the category of checkpoint coordinates are stored in the mapping space in the order of checkpoint coordinates 0, checkpoint coordinates 1, checkpoint coordinates 2... checkpoint coordinates 22. The total number of channels of the network information data 23 is divided by the memory page size 3, and the number of memory pages of each category of network information data is 8. For example, the pages of guns are pages 0 to 7, and the pages of checkpoint coordinates are pages 8 to 15. Since each category of network information data is stored in sequence, after obtaining the number of pages of each category of network information data, the starting page of each category of network information data storage can be determined. For example, the starting position of the page of checkpoint coordinates is page 8.
[0075] It is worth mentioning that, since the memory page size is fixed, each memory page can only store the same type of network information data. For example, page 7 stores the network information data of 2 guns, and the remaining space is free. The next type of network information data will be stored starting from the next complete page. In this way, each type of network information data will occupy an integer number of pages, so that the page starting position of the network information data can be calculated based on the total number of channels of the network information data and the memory page size.
[0076] Step 130, determining the mapping window where the measurement network information data of the channel number is located according to the channel number of the measurement network information data.
[0077] In this embodiment, the channel number of the network measurement information data is used to indicate the order of the channels of the network measurement information data. For example, the total number of channels of each category of network measurement information data is 23, and the channel numbers of each category of network measurement information data are 0-22 respectively.
[0078] In one embodiment, the step of determining the mapping window where the test network information data of the channel number is located according to the channel number of the test network information data includes: obtaining the memory mapping window size, wherein the memory mapping window size refers to the number of memory pages contained in a single mapping window; obtaining the window order of the test network information data of the channel number according to the channel number of the test network information data and the memory mapping window, and determining the mapping window according to the window order.
[0079] It is worth mentioning that in this embodiment, the size of the memory mapping window is not fixed, and the size of the mapping window is determined according to the memory space occupied by each category of network measurement information data. In one embodiment, the size of the memory mapping window is determined according to the ratio of the number of channels of a category of network measurement information data to the memory page size. For example, the number of channels of each category of network measurement information data is 23, and the memory page size is 3, then the ratio of the number of channels of each category of network measurement information data to the memory page size is 8. Based on this, the memory mapping window size can be set to 3 pages, and the size of the first two windows of each category of network measurement information data is 3 pages, and the last window is 2 pages.
[0080] In one embodiment, the number of memory pages of a category of network information data is determined according to the number of channels of the network information data and the memory page size, and the memory pages of a category of network information data are divided based on the number of memory pages of the network information data and the first preset window size to obtain a plurality of first memory mapping windows, wherein the first preset window size includes a preset number of memory pages, and the remaining memory pages less than the first preset window size are divided into second memory mapping windows. For example, Figure 5As shown, the number of channels of each category of network measurement information data is 23, and the size of each memory page is 3. The number of channels of each category of network measurement information data 23 is divided by the memory page size 3 and rounded up, and the number of memory pages corresponding to each category of network measurement information data is 8. The first preset window size is 3 memory pages, and each memory mapping window contains 3 memory pages. Based on the first preset window size, the number of memory pages of a category of measurement information data is divided to obtain 3, 3, and 2 memory pages, and two first memory mapping windows can be obtained. The number of memory pages in each first memory mapping window is 3. The remaining 2 memory pages are less than the first preset window size, and are divided into a second memory mapping window, and the second memory mapping window contains 2 memory pages. As shown in FIG. Figure 5 As shown, pages 0, 1, and 2 are window 0, pages 3, 4, and 5 are window 1, and pages 6 and 7 are window 2.
[0081] For example, the number of memory mapping windows for each category of network test information data is 9. For example, the first two memory mapping windows for each category of network test information data contain 3 memory pages. If the memory mapping window size is defined according to the number of network test information data, the memory mapping window size is 9, indicating that 9 network test information data are stored in each memory mapping window.
[0082] In this embodiment, Figure 5 As shown, the check point coordinates to be obtained are check point coordinates 14, then the channel number of the check point coordinates is 14, and the memory mapping window size is 3. Using the channel number 14 of the measurement network information data and the memory mapping window size 3, each page contains 3 measurement network information data, and it can be known that the window order of the measurement network information data of the channel number is the second window of the measurement network information data of this category, that is, the check point coordinates 14 are in window 4, so the mapping window is determined to be window 4.
[0083] Step 140: Determine a starting memory page and an ending memory page in the mapping window according to the page starting position and the mapping window.
[0084] In this embodiment, the starting memory page and the ending memory page in the mapping window can be determined according to the determined page starting position of the network information data of the category and the mapping window where the network information data of the required track number is located.
[0085] In one embodiment, the step of determining the starting memory page and the ending memory page within the mapping window based on the page starting position and the mapping window includes: obtaining the memory mapping window size, wherein the memory mapping window size refers to the number of memory pages contained in a single mapping window; determining the starting memory page and the ending memory page within the mapping window based on the page starting position, the mapping window and the memory mapping window size.
[0086] In this embodiment, Figure 5 As shown, the page start position of the checkpoint coordinate is page 8, and the memory mapping window size is 3. Therefore, the memory start page of window 4 is the page start position 8 plus the memory mapping window size 3, and the memory start page of window 4 is page 11. The number of pages in the window 4 is 3. Therefore, according to the memory start page 11 and the number of pages 3 of the window 4, the end page of the window 4 can be calculated to be page 13. Thus, the start memory page and the end memory page in the mapping window 4 are determined.
[0087] Step 150, determining the page position of the network measurement information data according to the starting memory page, the ending memory page and the track number of the network measurement information data in the mapping window, and reading the network measurement information data based on the page position of the network measurement information data.
[0088] In this step, by determining the starting memory page and the ending memory page of the mapping window, the page position of the required completed information data can be determined within this range according to the channel number of the test network information data, thereby reading the data of the page position of the test network information data.
[0089] In the above embodiment, by storing the network information data in the memory mapping space, the problem of limited access space for a large number of seismic network information data is well solved. By using the category and channel number of the network information data, the mapped memory page of the network information data can be quickly located, thereby realizing fast reading. Memory mapping has faster access speed and higher efficiency than file storage.
[0090] In one embodiment, the memory address is expanded using an address window expansion mechanism, an extended address space is obtained by mapping, and the test network information data is stored in the extended address space.
[0091] In this embodiment, in order to break through the limitation of 32-bit address space, the mechanism of Address Windowing Extensions (AWE) is used. AWE is a set of extensions of memory management functions, which enables applications to use more memory than the 2-3GB memory available through standard 32-bit addressing. AWE allows applications to obtain physical memory and then dynamically map the view of non-paged memory to the 32-bit address space. Although the 32-bit address space is limited to 4GB, the non-paged memory can be much larger than 4GB. This allows applications that require a large amount of memory (such as large database systems) to use an amount of memory that is much larger than the amount of memory supported by the 32-bit address space.
[0092] In this embodiment, an address window extension mechanism is used to extend a block of addresses in the hard disk space for memory mapping, and the network information data is mapped to the extended address space. The address window extension mechanism is used to extend the address, and the network information data is mapped to the extended address space, which solves the problem of access address space limitation of large-volume seismic data network information.
[0093] In order to store the test network information data in the mapped extended address space, in one embodiment, the step of using the address window extension mechanism to extend the memory address to obtain the extended address space, and storing the test network information data in the extended address space includes:
[0094] Obtaining the total data volume of the test network information data, and calculating the number of memory pages according to the total data volume and the memory page size of the extended address space;
[0095] Based on the number of memory pages, the memory address is expanded using an address window expansion mechanism, and the expanded address space is mapped;
[0096] The network test information data of each type is sequentially stored in each memory page of the extended address space in the order of channel numbers.
[0097] In this embodiment, the total size of the hard disk space occupied by the network test information data is first obtained, that is, the total data volume of the network test information data, and the total data volume is divided by the size of a single memory page of the extended address space to obtain the number of memory pages required to store the network test information data. Subsequently, based on the number of memory pages, a block of addresses is mapped in the middle of the hard disk to obtain the extended address space, and the number of pages in the extended address space is the number of memory pages. After the mapped extended address space is established, the address is recorded with a memory page pointer (m_aPFNs), and each memory page is subsequently obtained through the page pointer.
[0098] After the mapped extended address space is established, the network information data is stored in the memory pages of the extended address space. The storage order is: first, the network information data of the same type of each channel is stored in the memory pages of the extended address space in sequence according to the channel number, and the network information data of the next type of each channel is stored in the memory pages of the extended address space in sequence, so that the network information data of each channel is stored in the extended address space. For example, Figure 5 As shown, firstly, the data of the gun types of channels 0 to 22 are stored in each memory page in sequence, and then the check point coordinates of channels 0 to 22 are stored in each memory page in sequence, until all types of network information data are stored.
[0099] In one embodiment, the method also includes: receiving a memory mapping release instruction; responding to the memory mapping release instruction to obtain the start and end memory page positions of the test network information data; determining each memory mapping window according to the start and end memory page positions; and unmapping each memory mapping window to release the extended address space corresponding to the memory mapping window.
[0100] In this embodiment, the mapped extended address space is released. When switching the memory mapping window or ending the memory mapping, the memory mapping needs to be released. The specific method is to first obtain which type of network information data is currently mapped and the start and end memory page positions corresponding to such network information data according to the currently mapped memory page number (m_curpage) and the size and order of the space occupied by various types of network information data. Subsequently, the specific memory mapping window is calculated. Then the memory mapping is canceled for the memory area corresponding to this memory mapping window. Next, the physical memory, address window, and physical page number array are released. The physical memory is the hard disk storage space. Starting from m_aPFNs, all memory pages are released; the released address window is the memory mapping window area.
[0101] In one embodiment, the method also includes: receiving a test network information copy instruction; in response to the test network information copy instruction, releasing the extended address space corresponding to the memory mapping window of the first test network data to obtain the space to be mapped; obtaining the memory page size, memory mapping window size and number of memory pages of the second test network data; establishing a window page to be copied in the space to be mapped based on the memory page size, memory mapping window size and number of memory pages of the second test network data; based on the one-to-one correspondence between the memory mapping window of the second test network data and the memory mapping window of the mapping window to be copied and the page, copying the second test network data to the window page to be copied.
[0102] In this embodiment, when the test network information changes, the test network information data needs to be copied to another set of test network information data. First, the current test network information is released, which is the same as the process in the above embodiment. Then, memory mapping and assignment are established according to another set of test network information. First, the memory page size and memory mapping window size are changed to the values of another set of test network; then, according to the process of establishing memory mapping in the above embodiment, the number of memory pages that need to establish memory mapping is obtained according to another set of test network information data, a memory page pointer is established, and a memory mapping window is established; finally, the memory mapping windows of the two sets of test networks are slid at the same time, and based on the memory mapping windows of the two sets of test network information data, the memory mapping window of the current test network is copied and replaced by another set of test network information data, that is, starting from m_aPFNs, each time the memory of the mapping window size is mapped, the data of another set of test network is written into the memory mapping window of the current test network until all memory pages are traversed.
[0103] Embodiment 2
[0104] According to an embodiment of the present invention, the process of the seismic network information management method based on memory mapping is to configure the initial parameters of the memory mapping, establish the memory mapping of the network information, obtain the network information based on the memory mapping, release the network information based on the memory mapping, and copy the network information based on the memory mapping.
[0105] Figure 4 It is a flow chart of a method for managing seismic network information based on memory mapping according to an embodiment of the present invention. First, perform step S110 to configure the initial parameters of memory mapping. First, obtain the current system information and obtain the system's memory page size (m_pagesize), which is 4KB by default. Next, set the memory mapping window, whose size must be within 4GB and be an integer multiple of the memory page size, and use its number to represent it (m_windowpagenum); at the same time, after deducting the size of the memory mapping window from the remaining memory of the current system, 100MB of space must be reserved for backup. Set the memory mapping window size based on the above requirements to obtain the number of memory pages contained in the memory mapping window.
[0106] Next, step S111 is performed to establish a memory mapping based on the network information. In order to break through the limitation of the 32-bit address space, the mechanism of Address Windowing Extensions (AWE) is used. AWE is a set of extensions to the memory management function of Windows, which enables applications to use more memory than the 2-3GB memory available through standard 32-bit addressing. AWE allows applications to obtain physical memory and then dynamically map the view of non-paged memory to the 32-bit address space. Although the 32-bit address space is limited to 4GB, the non-paged memory can be much larger than 4GB. This allows applications that require a large amount of memory (such as large database systems) to use an amount of memory that is much larger than the amount of memory supported by the 32-bit address space.
[0107] The network information mainly includes the header data of each channel of the seismic network. The main data in each header are the shot, check point coordinates, cdp point coordinates, azimuth, incidence angle and offset, etc. In addition, it includes the index of the correspondence between the network position and the file position. For large pre-stack data, the number of seismic channels reaches tens of millions or hundreds of millions, and the corresponding network information contains more than 4GB of data for these channels. In order to establish memory mapping, first calculate the size of the hard disk storage space that needs to be mapped. Figure 6 As shown, in this embodiment, the memory mapping is established for the index of the corresponding relationship between the gun, the check point coordinates, the CDP point coordinates, the azimuth, the angle of incidence, the offset distance and the measurement network position and the file position. The total size of the hard disk storage space corresponding to these measurement network information data is 44 bytes*total number of tracks. The storage order is to store a certain type of data of each track first, and then store another type of data of each track, and so on, and each data is stored in the order of tracks.
[0108] Next, divide the total size of the hard disk storage space of the test network information data by the memory page size to get the number of memory pages (NumberOfPages) that need to establish memory mapping, and use AWE to allocate hard disk storage space for these memory pages, such as Figure 6 As shown on the right, the address is recorded using the memory page pointer (m_aPFNs), and each memory page is subsequently obtained through this pointer.
[0109] The memory allocated using AWE is non-paged physical memory, which means that this part of memory can only be used exclusively by the allocated application and cannot be used by the operating system or other programs until the memory is released. This is significantly different from the virtual memory allocated by the usual VirtualAlloc function, which does not participate in paging replacement. Therefore, it is necessary to grant this part of space the permission to lock pages in memory so that users can use processes to keep data in physical memory, which prevents the system from paging data to virtual memory on disk.
[0110] Next, a memory mapping is established for these network test information data, and the hard disk storage space is mapped into the user mode address space, that is, a small continuous area (m_lpMemReserved) is allocated in the user mode address space, and the allocated space size is m_pagesize*m_windowpagenum, that is, Figure 6 The memory mapping window on the left side of the screen. Record the currently mapped memory page number (m_curpage), which is initially -1. Each time the test network information data is obtained, the memory page where the information is located is calculated, the hard disk storage space at the corresponding position is mapped to the address space, and then read, and the memory page number is updated at the same time.
[0111] Next, proceed to step S112 to obtain the network measurement information based on the memory mapping. First, obtain the type of network measurement information data as needed, and which channel (offset) needs to be obtained, and determine the corresponding memory mapping page. The specific method is to first obtain the start and end positions of the hard disk storage space corresponding to this type of data according to the data type, combined with the order in which the data is stored by type in step S111, and then divide it by m_pagesize to obtain the corresponding memory page start and end range (NumberOfPagesstart, NumberOfPagesend). Then, according to which channel needs to be obtained, divide it by the memory mapping window size to obtain the window that needs to be mapped (windowoffset). Then calculate the starting memory page number (curpage) of this window, that is, NumberOfPagesstart+windowoffset*m_windowpagenum.
[0112] If the currently mapped memory page number (m_curpage) is different from the starting memory page number (curpage), you need to first switch the memory mapping window to the current range, that is, the memory mapping window starting at m_aPFNs+curpage and with a size of m_windowpagenum. If the window end range exceeds NumberOfPagesend, it can be ended at NumberOfPagesend.
[0113] Next, use the corresponding position of the channel number to be obtained, subtract the corresponding position of the starting memory page of the current mapping window, and get the specific position where the data needs to be obtained in this mapping window for reading, and get the corresponding test network information data.
[0114] Next, step S113 is performed to release the test network information based on the memory mapping. When switching the memory mapping window or ending the memory mapping, the memory mapping needs to be released. The specific method is to first obtain which type of test network information data is currently mapped, and the start and end memory page positions (NumberOfPagesstart, NumberOfPagesend) corresponding to such test network information data according to the memory page number (m_curpage) currently mapped, combined with the size and order of the space occupied by various types of test network information data. Then calculate the specific memory mapping window (windowoffset), that is, (m_curpage-NumberOfPagesstart) / m_windowpagenum. Then cancel the memory mapping for the memory area (m_lpMemReserved) corresponding to this memory mapping window, and the canceled window size is m_windowpagenum. If the window termination range exceeds NumberOfPagesend, the window size ends at NumberOfPagesend.
[0115] Next, release the physical memory, address window, and physical page number array. Physical memory is the hard disk storage space, starting from m_aPFNs, all memory pages (NumberOfPages) are released; the address window is the memory mapping window area (m_lpMemReserved); the physical page number array is the m_aPFNs pointer itself.
[0116] Next, step S114 is performed to copy the test network information based on memory mapping. When the test network information changes, it involves copying the test network information to another set of test network information. First, the current test network information is released, which is the same as step S113. Then, memory mapping and assignment are established according to another set of test network information. First, the memory page size (m_pagesize) and the memory mapping window size (m_windowpagenum) are changed to the values of another set of test network; then, according to the method for establishing memory mapping in step S111, the number of memory pages (NumberOfPages) for which memory mapping needs to be established is obtained according to the data of another set of test network information, a memory page pointer (m_aPFNs) is established, and a memory mapping window (m_lpMemReserved) is established; finally, the memory mapping windows of the two sets of test networks are slid at the same time, and the data of another set of test network information is copied to replace the memory mapping window of the current test network, that is, starting from m_aPFNs, each time the memory of the mapping window size is mapped, the data of another set of test network is written into the memory mapping window of the current test network until all memory pages are traversed.
[0117] At this point, the process of the seismic network information management method based on memory mapping is completed.
[0118] It should be understood that although Figure 1 The steps in the flowchart are shown in sequence as indicated by the arrows, but these steps are not necessarily executed in the order indicated by the arrows. Unless otherwise specified in this document, there is no strict order restriction for the execution of these steps, and these steps can be executed in other orders. Moreover, Figure 1 At least part of the steps may include multiple sub-steps or multiple stages. These sub-steps or stages are not necessarily executed at the same time, but can be executed at different times. The execution order of these sub-steps or stages is not necessarily sequential, but can be executed in turn or alternately with other steps or at least part of the sub-steps or stages of other steps.
[0119] Embodiment 3
[0120] In this embodiment, Figure 2 As shown, a seismic network data processing device is provided, comprising:
[0121] The test network data category acquisition module 210 is used to obtain the category and channel number of the test network information data;
[0122] A page start position determination module 220, configured to determine a page start position of the network measurement information data of a certain category according to the category of the network measurement information data;
[0123] A mapping window determination module 230, configured to determine the mapping window where the measuring network information data of the channel number is located according to the channel number of the measuring network information data;
[0124] A start and end page determination module 240, configured to determine a start memory page and an end memory page within the mapping window according to the page start position and the mapping window;
[0125] The network test data reading module 250 is used to determine the page position of the network test information data according to the starting memory page, the ending memory page and the track number of the network test information data in the mapping window, and read the network test information data based on the page position of the network test information data.
[0126] In one embodiment, the seismic network data processing device further includes an address extension module for utilizing an address window extension mechanism to extend the memory address, map to obtain an extended address space, and store the network information data in the extended address space.
[0127] In one embodiment, the address extension module includes:
[0128] A memory page number calculation unit, used to obtain the total data volume of the test network information data, and calculate the number of memory pages according to the total data volume and the memory page size of the extended address space;
[0129] An extended address space mapping unit, used to expand the memory address based on the number of memory pages and utilize an address window expansion mechanism to map and obtain the extended address space;
[0130] The storage unit is used to sequentially store each type of the test network information data in the order of channel numbers into each memory page of the extended address space.
[0131] In one embodiment, the page start position determination module includes:
[0132] A page size acquisition unit, used to acquire the total number of channels of the test network information data and the memory page size, wherein the memory page size refers to the amount of test network information data stored in a single memory page;
[0133] A starting page calculation unit, used to calculate the ratio of the total number of channels of the network measurement information data to the memory page size, and obtain a starting page of each type of the network measurement information data;
[0134] The page start position acquisition unit is used to determine the page start position of the network measurement information data of each category according to the start page of the network measurement information data and the category of the network measurement information data.
[0135] In one embodiment, the mapping window determination module includes:
[0136] A mapping window size acquisition module, used to acquire a memory mapping window size, wherein the memory mapping window size refers to the number of memory pages contained in a single mapping window;
[0137] The mapping window determination module is used to obtain the window sequence of the measuring network information data of the channel number according to the channel number of the measuring network information data and the memory mapping window, and determine the mapping window according to the window sequence.
[0138] In one embodiment, the seismic network data processing device further comprises:
[0139] A release instruction receiving module, used for receiving a memory mapping release instruction;
[0140] A start and end memory position acquisition module, used to respond to the memory mapping release instruction and acquire the start and end memory page positions of the test network information data;
[0141] A memory mapping window determination module, used to determine each memory mapping window according to the start and end memory page positions;
[0142] The mapping cancellation module is used to cancel the mapping of each memory mapping window and release the extended address space corresponding to the memory mapping window.
[0143] In one embodiment, the seismic network data processing device further comprises:
[0144] A copy instruction receiving module, used for receiving a test network information copy instruction;
[0145] A module for acquiring a space to be mapped, used to respond to the test network information copy instruction, release the extended address space corresponding to the memory mapping window of the first test network data, and obtain the space to be mapped;
[0146] A second test network space acquisition module, used to obtain the memory page size, memory mapping window size and number of memory pages of the second test network data;
[0147] A module for establishing a window page to be copied, used for establishing a window page to be copied in the space to be mapped based on the memory page size of the second test network data, the memory mapping window size and the number of memory pages;
[0148] The copy module is used to copy the second test network data to the page of the window to be copied based on the one-to-one correspondence between the memory mapping window of the second test network data and the memory mapping window of the mapping window to be copied and the page.
[0149] The specific definition of the seismic network data processing device can be found in the definition of the seismic network data processing method above, which will not be repeated here. Each unit in the above-mentioned seismic network data processing device can be implemented in whole or in part by software, hardware and a combination thereof. The above-mentioned units can be embedded in or independent of the processor in the computer device in the form of hardware, or can be stored in the memory in the computer device in the form of software, so that the processor can call and execute the operations corresponding to the above-mentioned units.
[0150] Embodiment 4
[0151] In this embodiment, a computer device is provided. Its internal structure diagram can be shown as follows: Figure 3As shown. The computer device includes a processor, a memory, a network interface, a display screen and an input device connected through a system bus. Among them, the processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system and a computer program, and the non-volatile storage medium is deployed with a database, which is used to store network information data. The internal memory provides an environment for the operation of the operating system and computer program in the non-volatile storage medium. The network interface of the computer device is used to communicate with other computer devices that have deployed application software. When the computer program is executed by the processor, a method for processing seismic network data is implemented. The display screen of the computer device can be a liquid crystal display screen or an electronic ink display screen, and the input device of the computer device can be a touch layer covered on the display screen, or a key, trackball or touchpad set on the computer device housing, or an external keyboard, touchpad or mouse, etc.
[0152] Those skilled in the art will understand that Figure 3 The structure shown in the figure is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation on the computer device to which the solution of the present application is applied. The specific computer device may include more or fewer components than those shown in the figure, or combine certain components, or have a different arrangement of components.
[0153] In one embodiment, a computer device is provided, including a memory and a processor, wherein the memory stores a computer program, and when the processor executes the computer program, the following steps are implemented:
[0154] Get the category and channel number of the test network information data;
[0155] Determine the page start position of the network measurement information data of the category according to the category of the network measurement information data;
[0156] Determine the mapping window where the measuring network information data of the channel number is located according to the channel number of the measuring network information data;
[0157] Determine a starting memory page and an ending memory page in the mapping window according to the page starting position and the mapping window;
[0158] The page position of the network measurement information data is determined according to the starting memory page, the ending memory page and the track number of the network measurement information data in the mapping window, and the network measurement information data is read based on the page position of the network measurement information data.
[0159] In one embodiment, when the processor executes the computer program, the following steps are also implemented: using the address window extension mechanism, the memory address is extended, mapped to obtain an extended address space, and the test network information data is stored in the extended address space.
[0160] In one embodiment, when the processor executes the computer program, the following steps are further implemented: obtaining the total data volume of the test network information data, and calculating the number of memory pages according to the total data volume and the memory page size of the extended address space;
[0161] Based on the number of memory pages, the memory address is expanded using an address window expansion mechanism, and the expanded address space is mapped;
[0162] The network test information data of each type is sequentially stored in each memory page of the extended address space in the order of channel numbers.
[0163] In one embodiment, when the processor executes the computer program, the processor further implements the following steps:
[0164] Obtaining the total number of channels and memory page size of the test network information data, wherein the memory page size refers to the amount of test network information data stored in a single memory page;
[0165] Calculating the ratio of the total number of channels of the network measurement information data to the memory page size, and obtaining the starting page of each type of the network measurement information data;
[0166] According to the starting page of each type of the network measurement information data and the type of the network measurement information data, the page starting position of the network measurement information data of this type is determined.
[0167] In one embodiment, when the processor executes the computer program, the processor further implements the following steps:
[0168] Obtaining a memory mapping window size, wherein the memory mapping window size refers to the number of memory pages contained in a single mapping window;
[0169] According to the channel number of the test network information data and the memory mapping window, the window order of the test network information data of the channel number is obtained, and according to the window order, the mapping window is determined.
[0170] In one embodiment, when the processor executes the computer program, the processor further implements the following steps:
[0171] Receive memory mapping release instruction;
[0172] In response to the memory mapping release instruction, obtaining the start and end memory page locations of the test network information data;
[0173] Determine each memory mapping window according to the starting and ending memory page positions;
[0174] Unmap each of the memory mapping windows to release the extended address space corresponding to the memory mapping window.
[0175] In one embodiment, when the processor executes the computer program, the processor further implements the following steps:
[0176] Receive the test network information copy instruction;
[0177] In response to the test network information copy instruction, the extended address space corresponding to the memory mapping window of the first test network data is released to obtain a space to be mapped;
[0178] Obtain the memory page size, memory mapping window size and number of memory pages of the second test network data;
[0179] Based on the memory page size, memory mapping window size and number of memory pages of the second test network data, a window page to be copied is established in the space to be mapped;
[0180] Based on the one-to-one correspondence between the memory mapping window of the second test network data and the memory mapping window of the to-be-copied mapping window and the page, the second test network data is copied to the to-be-copied window page.
[0181] Embodiment 5
[0182] In this embodiment, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the following steps are implemented:
[0183] Get the category and channel number of the test network information data;
[0184] Determine the page start position of the network measurement information data of the category according to the category of the network measurement information data;
[0185] Determine the mapping window where the measuring network information data of the channel number is located according to the channel number of the measuring network information data;
[0186] Determine a starting memory page and an ending memory page in the mapping window according to the page starting position and the mapping window;
[0187] The page position of the network measurement information data is determined according to the starting memory page, the ending memory page and the track number of the network measurement information data in the mapping window, and the network measurement information data is read based on the page position of the network measurement information data.
[0188] In one embodiment, when the computer program is executed by the processor, the following steps are also implemented: using the address window extension mechanism, the memory address is extended, mapped to obtain an extended address space, and the test network information data is stored in the extended address space.
[0189] In one embodiment, when the computer program is executed by a processor, the following steps are also implemented:
[0190] Obtaining the total data volume of the test network information data, and calculating the number of memory pages according to the total data volume and the memory page size of the extended address space;
[0191] Based on the number of memory pages, the memory address is expanded using an address window expansion mechanism, and the expanded address space is mapped;
[0192] The network test information data of each type is sequentially stored in each memory page of the extended address space in the order of channel numbers.
[0193] In one embodiment, when the computer program is executed by a processor, the following steps are also implemented:
[0194] Obtaining the total number of channels and memory page size of the test network information data, wherein the memory page size refers to the amount of test network information data stored in a single memory page;
[0195] Calculating the ratio of the total number of channels of the network measurement information data to the memory page size, and obtaining the starting page of each type of the network measurement information data;
[0196] According to the starting page of each type of the network measurement information data and the type of the network measurement information data, the page starting position of the network measurement information data of this type is determined.
[0197] In one embodiment, when the computer program is executed by a processor, the following steps are also implemented:
[0198] Obtaining a memory mapping window size, wherein the memory mapping window size refers to the number of memory pages contained in a single mapping window;
[0199] According to the channel number of the test network information data and the memory mapping window, the window order of the test network information data of the channel number is obtained, and according to the window order, the mapping window is determined.
[0200] In one embodiment, when the computer program is executed by a processor, the following steps are also implemented:
[0201] Receive memory mapping release instruction;
[0202] In response to the memory mapping release instruction, obtaining the start and end memory page locations of the test network information data;
[0203] Determine each memory mapping window according to the starting and ending memory page positions;
[0204] Unmap each of the memory mapping windows to release the extended address space corresponding to the memory mapping window.
[0205] In one embodiment, when the computer program is executed by a processor, the following steps are also implemented:
[0206] Receive the test network information copy instruction;
[0207] In response to the test network information copy instruction, the extended address space corresponding to the memory mapping window of the first test network data is released to obtain a space to be mapped;
[0208] Obtain the memory page size, memory mapping window size and number of memory pages of the second test network data;
[0209] Based on the memory page size, memory mapping window size and number of memory pages of the second test network data, a window page to be copied is established in the space to be mapped;
[0210] Based on the one-to-one correspondence between the memory mapping window of the second test network data and the memory mapping window of the to-be-copied mapping window and the page, the second test network data is copied to the to-be-copied window page.
[0211] Those skilled in the art can understand that all or part of the processes in the above-mentioned embodiment methods can be completed by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to memory, storage, database or other media used in the embodiments provided in this application can include non-volatile and / or volatile memory. Non-volatile memory can include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM) or flash memory. Volatile memory can include random access memory (RAM) or external cache memory. As an illustration and not limitation, RAM is available in many forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronous link (Synchlink) DRAM (SLDRAM), memory bus (Rambus) direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM).
[0212] The technical features of the above embodiments may be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0213] The above-mentioned embodiments only express several implementation methods of the present application, and the descriptions thereof are relatively specific and detailed, but they cannot be understood as limiting the scope of the invention patent. It should be pointed out that, for a person of ordinary skill in the art, several variations and improvements can be made without departing from the concept of the present application, and these all belong to the protection scope of the present application. Therefore, the protection scope of the patent of the present application shall be subject to the attached claims.
Claims
1. A method for processing seismic network data, characterized in that: include: Get the category and channel number of the test network information data; Determine the page start position of the network measurement information data of the category according to the category of the network measurement information data; Determine the mapping window where the measuring network information data of the channel number is located according to the channel number of the measuring network information data; Determine a starting memory page and an ending memory page in the mapping window according to the page starting position and the mapping window; The page position of the network measurement information data is determined according to the starting memory page, the ending memory page and the track number of the network measurement information data in the mapping window, and the network measurement information data is read based on the page position of the network measurement information data.
2. The method according to claim 1, characterized in that: The method further includes: utilizing an address window extension mechanism to extend the memory address, mapping to obtain an extended address space, and storing the test network information data in the extended address space.
3. The method according to claim 2, characterized in that The step of using the address window extension mechanism to extend the memory address to obtain an extended address space and storing the test network information data in the extended address space comprises: Obtaining the total data volume of the test network information data, and calculating the number of memory pages according to the total data volume and the memory page size of the extended address space; Based on the number of memory pages, the memory address is expanded using an address window expansion mechanism, and the expanded address space is mapped; The network test information data of each type is sequentially stored in each memory page of the extended address space in the order of channel numbers.
4. The method according to claim 1, characterized in that The step of obtaining the page start position of the network measurement information data of the category according to the category of the network measurement information data comprises: Obtaining the total number of channels and memory page size of the test network information data, wherein the memory page size refers to the amount of test network information data stored in a single memory page; Calculating the ratio of the total number of channels of the network measurement information data to the memory page size, and obtaining the starting page of each type of the network measurement information data; According to the starting page of each type of the network measurement information data and the type of the network measurement information data, the page starting position of the network measurement information data of this type is determined.
5. The method according to claim 1, characterized in that The step of determining the mapping window where the network measurement information data of the channel number is located according to the channel number of the network measurement information data comprises: Obtaining a memory mapping window size, wherein the memory mapping window size refers to the number of memory pages contained in a single mapping window; According to the channel number of the test network information data and the memory mapping window, the window order of the test network information data of the channel number is obtained, and according to the window order, the mapping window is determined.
6. The method according to any one of claims 1 to 5, characterized in that: The method further comprises: Receive memory mapping release instruction; In response to the memory mapping release instruction, obtaining the start and end memory page locations of the test network information data; Determine each memory mapping window according to the starting and ending memory page positions; Unmap each of the memory mapping windows to release the extended address space corresponding to the memory mapping window.
7. The method according to any one of claims 1 to 5, characterized in that The method further comprises: Receive the test network information copy instruction; In response to the test network information copy instruction, the extended address space corresponding to the memory mapping window of the first test network data is released to obtain a space to be mapped; Obtain the memory page size, memory mapping window size and number of memory pages of the second test network data; Based on the memory page size, memory mapping window size and number of memory pages of the second test network data, a window page to be copied is established in the space to be mapped; Based on the one-to-one correspondence between the memory mapping window of the second test network data and the memory mapping window of the to-be-copied mapping window and the page, the second test network data is copied to the to-be-copied window page.
8. A seismic network data processing device, characterized in that: include: The test network data category acquisition module is used to obtain the category and channel number of the test network information data; A page start position determination module, used to determine the page start position of the network measurement information data of the category according to the category of the network measurement information data; A mapping window determination module, used for determining the mapping window where the measuring network information data of the track number is located according to the track number of the measuring network information data; A start and end page determination module, used for determining a start memory page and an end memory page in the mapping window according to the page start position and the mapping window; The network test data reading module is used to determine the page position of the network test information data according to the starting memory page, the ending memory page and the track number of the network test information data in the mapping window, and read the network test information data based on the page position of the network test information data.
9. A computer device comprising a memory and a processor, wherein the memory stores a computer program, wherein: When the processor executes the computer program, the steps of the method according to any one of claims 1 to 7 are implemented.
10. A computer-readable storage medium having a computer program stored thereon, 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 7 are implemented.