Method and device for browsing data by large TV in seismic data processing
By optimizing the interactive design through data paging/block loading and asynchronous loading technologies, the problem of slow data loading for large TVs was solved, improving the interactive experience and data processing efficiency of seismic data processing, and realizing flexible and efficient data access.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- CHINA PETROLEUM & CHEMICAL CORP
- Filing Date
- 2024-11-11
- Publication Date
- 2026-05-12
AI Technical Summary
In seismic data processing, when browsing large TV tables using tables, there are interactive experience issues such as slow data loading and inability to load data completely at once. This is mainly due to the large amount of data, the low efficiency of traditional processing methods and the tendency to cause memory overflow, as well as insufficient interactive design.
It employs data pagination/chunking technology, combined with asynchronous loading and multi-threaded processing, selects data through a data tree, implements pagination logic, uses a page navigation toolbar, displays real-time progress, synchronously updates the database, and optimizes interaction design and backend computation feedback.
It significantly improves the interactive experience of large-scale TV tables for data browsing, increases data processing efficiency and user productivity, enhances the flexibility and security of data access, and reduces memory and computing resource consumption.
Smart Images

Figure CN122019006A_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of seismic exploration data processing, specifically relating to a method and device for browsing data on a large TV screen in seismic data processing. Background Technology
[0002] In seismic data processing, when using spreadsheets to view large datasets, user experience issues such as slow data loading and inability to load data completely at once are frequently encountered. These problems mainly stem from the following aspects: First, the data volume is enormous. Large datasets may contain millions or even hundreds of millions of data points, requiring significant computing resources and time to load into spreadsheet tools. Second, there are limitations in traditional data processing methods. Traditional methods typically involve batch loading and processing of data, which is inefficient when dealing with large datasets and can easily lead to memory overflow issues. Third, there are shortcomings in the interaction design. Some spreadsheet tools do not adequately consider the characteristics of large datasets in their interaction design, resulting in slow loading and untimely responses for users. Summary of the Invention
[0003] The purpose of this invention is to solve the problems existing in the prior art and provide a method and device for browsing large TV data in seismic data processing, improve the interactive experience when browsing large TV data in a table, and optimize the problem of slow data loading and inability to load data completely at once.
[0004] This invention is achieved through the following technical solution:
[0005] In a first aspect, the present invention provides a method for browsing data on a large TV screen in seismic data processing, the method comprising:
[0006] Step 1: Select the required TV pairs of data through the data tree and initiate a table browsing request;
[0007] Step 2: Obtain the number of rows in the TV pair data file, divide the total number of pages, start the data reading thread, read the TV pair data of the specified rows, and populate it into the first table browsing page;
[0008] Step 3: Create a page navigation toolbar at the bottom of the browsing page;
[0009] Step 4: Design pagination logic to enable left and right page navigation;
[0010] Step 5: Use the reading progress bar to display the TV's data reading status for the page number input to jump to the next page.
[0011] Step 6: Synchronously update the backend TV database to maintain data consistency when performing insert or delete operations;
[0012] Step 7: Initiate a systematic approach to handle background computations and user interface feedback.
[0013] Furthermore, step 2 includes: generating QTableWidgetItems from the TV data in memory row by row; reading the data in a background thread and filling the QTableWidgetItems into the TV table display window class.
[0014] Furthermore, step 2 also includes: starting a data reading thread to read the first 10 pages of data into memory.
[0015] Furthermore, step 3 implements the page navigation toolbar by instantiating a component class, including:
[0016] Step 31: Create a page component that includes a toolbar for page navigation;
[0017] Step 32: In the main page components, import and use the PageNavToolbar component;
[0018] Step 33, configure the corresponding routes;
[0019] Step 34: Add CSS styles and layout.
[0020] Furthermore, step 4 includes:
[0021] Step 41: Design a structure to store the data pages that have been loaded into memory, where the key is the page number and the value is the data of the corresponding page;
[0022] Step 42: The pagination logic checks whether the data for the target page is already in memory;
[0023] Step 43: When the data of the target page is not in memory, start a background thread to load the data;
[0024] Step 44: After the background thread finishes loading the data, it updates the data storage in memory and displays the data on the new page.
[0025] Furthermore, step 42 involves determining whether the data is already in memory based on the page position.
[0026] Furthermore, step 5 includes: displaying a progress bar when the user enters a page number to navigate; starting a background thread to read the data for the page number specified by the user; sending a progress update signal in the data reading thread; after the data reading is completed, generating QTableWidgetItems for each row of the TV data in memory and updating the progress bar; filling the QTableWidgetItems into the TV table display window class; starting a new thread to read the data of the 10 pages before and after the current page in parallel and storing it in memory.
[0027] Furthermore, step 6 includes: when the content of the TV data table display window is modified, immediately synchronize these changes to the backend TV database; reload the data of the current page from the database and refresh the page; update the data in memory.
[0028] Furthermore, step 7 involves initiating a systematic method to handle background calculations and user interface feedback when performing operations on table columns, including:
[0029] Step 71: The user selects to perform calculation operations on the table columns;
[0030] Step 72: Before the calculation is performed in the background, a progress dialog box is displayed to inform the user that the system is processing the calculation.
[0031] Step 73: Start multiple computing threads in the background to perform parallel computing;
[0032] Step 74: Update the progress periodically while the background computation thread is performing computational operations;
[0033] Step 75: Receive the progress update signal from the background calculation thread and update the progress dialog box;
[0034] Step 76: After the operation is completed, start the data reading thread to read the TV pair data of the current page from the database and store it in memory.
[0035] A second aspect of the present invention provides a device for browsing large-scale TV data in seismic data processing, the device using the method for browsing large-scale TV data in seismic data processing, comprising:
[0036] Data loading module: Implements background TV data loading by applying asynchronous loading technology;
[0037] Progress display module: Establishes a real-time feedback mechanism to provide timely data loading progress;
[0038] Browsing control module: Controls the intuitive interface layout, provides page number display, provides page turning buttons for previous and next data tables, page jump buttons, and slider drag operation, and displays content in different rows;
[0039] Data display module: Displays the data processed by the data loading module on the TV.
[0040] Compared with the prior art, the beneficial effects of the present invention are:
[0041] This invention significantly improves the interactive experience and data processing efficiency when browsing large TV tables by optimizing interaction design, introducing asynchronous loading technology, and implementing data pagination / chunking functionality. Simultaneously, it enhances the flexibility and security of data access and improves user productivity. Attached Figure Description
[0042] Figure 1 This is a schematic diagram of the large-screen TV data browsing device of the present invention;
[0043] Figure 2 This is a diagram illustrating how TV initiates the data table browsing function;
[0044] Figure 3 This is a diagram illustrating the display of a data table on the TV's homepage.
[0045] Figure 4 This is a diagram illustrating the toolbar for navigation to a data table browsing page on TV. Detailed Implementation
[0046] The present invention will now be described in further detail with reference to the accompanying drawings:
[0047] This invention aims to significantly improve the interactive experience of large-scale TV tables by improving data loading methods and optimizing table display processes.
[0048] The large TV pair data can be understood as an Excel spreadsheet with five or six sets of data per row, totaling tens of millions of rows, hence the name large TV pair data. TV refers to time and velocity, and also includes other descriptive information such as location and channel number.
[0049] The method of this invention specifically includes: improving response speed by introducing asynchronous loading technology, allowing data to be loaded in the background while the user continues to perform other operations. This design effectively reduces user waiting time and improves the interactive experience and work efficiency. Even when processing large amounts of TV data, users can maintain a smooth operating experience. Optimizing data loading by providing data pagination or chunked loading functions allows users to load data on demand. This design can significantly reduce the amount of data loaded at once, reducing memory and computing resource consumption. Simultaneously, users can selectively load specific portions of data as needed, improving the flexibility and efficiency of data access.
[0050] Example 1: Method for browsing data on a large TV screen in seismic data processing
[0051] Step 1: Initiate a table view request. For example... Figure 2 As shown, the embedded interface of the πframe seismic data processing software is used to select the TV pair of data that needs to be viewed in a table through the data tree, and then the table browsing function is started.
[0052] Step 2: After selecting the data to be viewed in the table, obtain the number of rows in the file based on the data's metafile description information. Divide the file into pages according to a set number of rows (e.g., 100 rows). Initiate the TV table browsing function, automatically starting the TV data reading thread to read the 100 rows of TV data required for the first page and automatically filling the data into the first table browsing page. Figure 3 As shown.
[0053] The specific process involves generating QTableWidgetItems from the TV data in memory, row by row, such as... Figure 3 The data rows in the table are used to add these items to the QTableWidget (i.e., the TV table display window class).
[0054] Preferably, to improve performance, data should be read in a background thread to avoid blocking the UI thread.
[0055] Furthermore, a background data reading thread is started to read the data of the first 10 pages into memory for display when turning pages.
[0056] Step 3: When creating the first page, create a page navigation toolbar at the bottom of the page, such as... Figure 4 As shown. Specifically, creating a page navigation toolbar involves front-end development. This invention implements the page navigation toolbar by instantiating a component class, and the steps are as follows:
[0057] Step 3-1: Create a component that will contain a toolbar for page navigation.
[0058] Step 3-2: In the main page components, import and use the PageNavToolbar component.
[0059] Step 3-3: Configure the corresponding routes.
[0060] Steps 3-4: Add CSS styles and layout to the toolbar.
[0061] Step 4: When clicking to navigate to the next page, the system determines whether to start a TV pair data reading thread to read the data in the background, depending on whether the required TV pair data for the next page is in memory. After the current data is read, a new data reading thread is started to read the required TV pair data for the 10 pages before and after the current page in parallel and store it in memory.
[0062] Specifically, this invention designs an intelligent paging logic. The following are the detailed steps and implementation details:
[0063] Step 4-1: Design a structure to store the data pages that have been loaded into memory, where the key is the page number and the value is the data of the corresponding page.
[0064] Step 4-2: The pagination logic checks whether the data for the target page is already in memory.
[0065] Step 4-3: When the data for the target page is not in memory, start a background thread to load the data.
[0066] Step 4-4: After the background thread finishes loading the data, it updates the data storage in memory and displays the data on the new page.
[0067] Furthermore, this invention determines whether data is already in memory based on page position (page number). Specifically, a data set is created to maintain the page number index of data already loaded into memory; this set is updated each time data is loaded from a background thread and added to memory; when a user requests to turn a page, it is checked whether the target page number is in the set; if it is, the data is determined to be in memory; otherwise, the data is determined not to be in memory; a decision is made whether to load the data based on the check result.
[0068] Step 5: When jumping to a page number, since the probability of the TV having data in memory is low in this case, the present invention uses a reading progress bar to display the TV's reading status of the data required for the page jump.
[0069] The specific implementation includes:
[0070] When a user enters a page number to navigate, a progress bar is first displayed to provide visual feedback, indicating that data is being loaded.
[0071] At the same time, start a background thread to read the data for the page number specified by the user;
[0072] In the data reading thread, a progress update signal is sent.
[0073] Once the data reading is complete, generate QTableWidgetItems for each row of the data in the TV in memory, and update the progress bar.
[0074] Convert the data in memory into a QTableWidgetItem and populate it into a QTableWidget.
[0075] Furthermore, in the data reading thread, a new thread is started to read the data of the 10 pages before and after the current page in parallel and store it in memory.
[0076] Step 6 involves performing insert or delete operations, which requires synchronously updating the backend TV database to maintain data consistency.
[0077] Specifically, when a user inserts or deletes data in the TV's data table, these operations primarily affect the content of the QTableWidget in memory, not the database. Once the content of the QTableWidget is modified, these changes are immediately synchronized to the TV's database in the backend.
[0078] Specifically, if it is an insert operation, new TV pair data is added to the database; if it is a delete operation, the corresponding TV pair data is removed from the database.
[0079] After updating the database, the data for the current page needs to be reloaded from the database to ensure that the data displayed by the QTableWidget is up-to-date. Preferably, this involves clearing the content of the QTableWidget on the current page and reloading the data.
[0080] Because of insertion or deletion operations, the data previously read into memory is no longer accurate. It is necessary to reread the current page and the data from the 10 pages before and after it, and update the data stored in memory. Specifically, a data reading thread is started to read the data from these pages in parallel and update the corresponding data in memory.
[0081] Step 7: When performing calculations on table columns, initiate a systematic approach to handle background calculations and user interface feedback, including:
[0082] Step 7-1, User triggers calculation operation: The user selects a certain calculation operation to be performed on a column of the table on the interface.
[0083] Step 7-2: Before the background calculation begins, display a calculation progress dialog box to inform the user that the system is processing their request.
[0084] Step 7-3: Since column operations involve all TV pairs of data and the amount of computation is large, multiple operation threads need to be started in the background for parallel computation.
[0085] Step 7-4: Update the progress periodically while performing the actual computation in the background thread.
[0086] Step 7-5: Receive the progress update signal from the background thread in the main thread and update the progress dialog box.
[0087] Steps 7-6: After the calculation is completed, a data reading thread is started in the background. The data reading thread reads the data of the current page from the database and stores it in memory.
[0088] In this invention, a data reading thread is started to asynchronously load the data to avoid blocking the user interface. Once the data reading is complete, the TV pairs in memory are converted into QTableWidgetItems row by row, and the QTableWidget is updated.
[0089] Furthermore, to improve performance, a new data reading thread is started simultaneously to read data from the 10 pages before and after the current page in parallel and store it in memory.
[0090] This invention first simplifies user operations and reduces the learning curve by optimizing the user interface and workflow, enabling users to understand and use the table browsing tool more quickly and intuitively. Simultaneously, it introduces asynchronous loading technology, i.e., multi-threaded parallel operation, ensuring that users can continue performing other operations while data is loading, thereby improving system responsiveness and user experience.
[0091] Furthermore, this invention employs data paging or block loading, allowing users to load data on demand, significantly reducing the amount of data loaded at once and lowering the consumption of memory and computing resources. This not only improves data loading speed but also prevents system crashes caused by memory overflow and other issues. Simultaneously, the application of background processing technology makes data processing more efficient, further enhancing work efficiency.
[0092] In terms of data access, this invention enhances flexibility. Through data pagination and chunked loading, users can access data more flexibly, selecting to load specific portions of data as needed.
[0093] Example 2: Large TV for browsing data in seismic data processing
[0094] This invention provides a browsing device based on the large-scale TV data browsing method in seismic data processing. For example... Figure 1 As shown, this tool includes the following modules:
[0095] (1) Data loading module
[0096] By applying asynchronous loading technology, background TV data loading is achieved: when the user performs operations such as page turning or page navigation, data is loaded asynchronously in the background, avoiding excessively long waiting times for the user. This ensures smooth operation of the foreground interface while performing data reading in the background without the user's awareness.
[0097] Furthermore, this module employs a loading optimization strategy, intelligently adjusting the loading strategy based on factors such as user behavior and network conditions to ensure efficient and stable data loading. For example, when the network is normal, all data for the current page is loaded; when the network is unstable, only the visible portion of the data is loaded; when scrolling down, if the network cannot keep up with loading data, the user is notified that data is loading.
[0098] (2) Progress display module
[0099] Establish a real-time feedback mechanism to provide timely updates on data loading progress to the TV: During the loading process, provide real-time feedback to the user through progress bars, prompts, and other methods to reduce user uncertainty and anxiety. Preferably, the progress bar value is set according to the ratio of the amount of data being read to the total amount of data.
[0100] This module also provides loading optimization tips, such as recommended data block range and estimated loading time, to help users utilize resources more efficiently.
[0101] (3) Browser control module
[0102] Intuitive interface layout: Employing a paginated table display design, showing the total number of pages and the current page number. Provides buttons for turning to the next / next page, navigation buttons, and a drag-and-drop slider to display different rows of content, simplifying the workflow and enabling users to quickly perform data analysis tasks.
[0103] (4) Data display module
[0104] The data is displayed after being processed by the data loading module by using a block loading strategy.
[0105] When the data loading module reads TV data from the database, it uses a parallel reading method, dividing large amounts of data into multiple small data blocks. Users load data blocks as needed, accelerating the data loading process. Specifically, based on the user's current page, the data loading module groups data near the current page into one data block and loads this data first. Other data farther away from the current page is grouped into other data blocks. Finally, the data display module displays the paginated data.
[0106] Furthermore, the data loading module uses a data pagination design to paginate the TV data according to a fixed number of data items per page; in the data display module, users can select to load data from a specific page as needed.
[0107] In the description of this invention, it should be noted that, unless otherwise explicitly specified and limited, the terms "connected" and "linked" should be interpreted broadly. For example, they can refer to a fixed connection, a detachable connection, or an integral connection; they can refer to a mechanical connection or an electrical connection; they can refer to a direct connection or an indirect connection through an intermediate medium. Those skilled in the art can understand the specific meaning of the above terms in this invention according to the specific circumstances.
[0108] In the description of this invention, unless otherwise stated, the terms "upper," "lower," "left," "right," "inner," "outer," etc., indicate the orientation or positional relationship based on the orientation or positional relationship shown in the accompanying drawings. They are used only for the convenience of describing this invention and simplifying the description, and do not indicate or imply that the device or element referred to must have a specific orientation, or be constructed and operated in a specific orientation. Therefore, they should not be construed as limitations on this invention.
[0109] The above technical solution is only one embodiment of the present invention. For those skilled in the art, based on the principles disclosed in the present invention, it is easy to make various types of improvements or modifications, and not limited to the technical solutions described in the specific embodiments of the present invention. Therefore, the foregoing description is only preferred and not restrictive.
Claims
1. A method for browsing data on a large TV screen in seismic data processing, characterized in that: The method includes: Step 1: Select the required TV pairs of data through the data tree and initiate a table browsing request; Step 2: Obtain the number of rows in the TV pair data file, divide the total number of pages, start the data reading thread, read the TV pair data of the specified rows, and populate it into the first table browsing page; Step 3: Create a page navigation toolbar at the bottom of the browsing page; Step 4: Design pagination logic to enable left and right page navigation; Step 5: Use the reading progress bar to display the TV's data reading status for the page number input to jump to the next page. Step 6: Synchronously update the backend TV database to maintain data consistency when performing insert or delete operations; Step 7: Initiate a systematic approach to handle background computations and user interface feedback.
2. As described in claim 1, characterized in that: Step 2 includes: generating QTableWidgetItems from the TV data in memory row by row; reading the data in a background thread and filling the QTableWidgetItems into the TV table display window class.
3. As described in claim 2, characterized in that: Step 2 further includes: starting a data reading thread to read the first 10 pages of data into memory.
4. As described in claim 1, characterized in that: Step 3 implements the page navigation toolbar by instantiating a component class, including: Step 31: Create a page component that includes a toolbar for page navigation; Step 32: In the main page components, import and use the PageNavToolbar component; Step 33, configure the corresponding routes; Step 34: Add CSS styles and layout.
5. As described in claim 1, characterized in that: Step 4 includes: Step 41: Design a structure to store the data pages that have been loaded into memory, where the key is the page number and the value is the data of the corresponding page; Step 42: The pagination logic checks whether the data for the target page is already in memory; Step 43: When the data of the target page is not in memory, start a background thread to load the data; Step 44: After the background thread finishes loading the data, it updates the data storage in memory and displays the data on the new page.
6. As described in claim 5, characterized in that: Step 42 involves determining whether the data is already in memory based on the page position.
7. As described in claim 1, characterized in that: Step 5 includes: displaying a progress bar when the user enters a page number to navigate; starting a background thread to read the data for the page number specified by the user; sending a progress update signal in the data reading thread; after the data reading is completed, generating QTableWidgetItems for each row of the TV data in memory and updating the progress bar; filling the QTableWidgetItems into the TV table display window class; starting a new thread to read the data of the 10 pages before and after the current page in parallel and storing it in memory.
8. As described in claim 1, characterized in that: Step 6 includes: when the content of the TV data table display window is modified, immediately synchronize these changes to the backend TV database; reload the data of the current page from the database and refresh the page; update the data in memory.
9. As described in claim 1, characterized in that: Step 7 involves initiating a systematic method to handle background calculations and user interface feedback when performing operations on table columns, including: Step 71: The user selects to perform calculation operations on the table columns; Step 72: Before the calculation is performed in the background, a progress dialog box is displayed to inform the user that the system is processing the calculation. Step 73: Start multiple computing threads in the background to perform parallel computing; Step 74: Update the progress periodically while the background computation thread is performing computational operations; Step 75: Receive the progress update signal from the background calculation thread and update the progress dialog box; Step 76: After the operation is completed, start the data reading thread to read the TV pair data of the current page from the database and store it in memory.
10. A device for browsing large-scale TV data in seismic data processing, the device using the method for browsing large-scale TV data in seismic data processing according to any one of claims 1-9, comprising: Data loading module: Implements background TV data loading by applying asynchronous loading technology; Progress display module: Establishes a real-time feedback mechanism to provide timely data loading progress; Browsing control module: Controls the intuitive interface layout, provides page number display, provides page turning buttons for previous and next data tables, page jump buttons, and slider drag operation, and displays content in different rows; Data display module: Displays the data processed by the data loading module on the TV.