WO2020147279A1 - 一种大数据虚拟表格快速显示方法及系统 - Google Patents
一种大数据虚拟表格快速显示方法及系统 Download PDFInfo
- Publication number
- WO2020147279A1 WO2020147279A1 PCT/CN2019/096098 CN2019096098W WO2020147279A1 WO 2020147279 A1 WO2020147279 A1 WO 2020147279A1 CN 2019096098 W CN2019096098 W CN 2019096098W WO 2020147279 A1 WO2020147279 A1 WO 2020147279A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- virtual table
- data
- table data
- virtual
- sqlite
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/26—Visual data mining; Browsing structured data
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
Definitions
- the invention relates to the field of computer technology, in particular to a method and system for quickly displaying a big data virtual table (Virtual Table).
- Some services in the access service such as QinQ domains, alarm events, operation logs, etc., contain large amounts of data that need to be configured or viewed.
- the network management software is a desktop application, and the hardware resources that can be used are quite limited.
- local files are used as data caches during processing, but in the process of data caching, all the data in the cache needs to be serialized and deserialized.
- serialization is to convert the state information of application layer objects into storage or The process of transmission.
- the object of the application layer writes its current state to a temporary or persistent storage area; deserialization is to read the state of the object from the storage area, and according to the state of the object Information is the process of recreating the corresponding application layer objects; these two processes are time-consuming and serious, causing big data to be displayed slowly in the local virtual table, which becomes a bottleneck for increasing the data processing speed.
- the technical problem to be solved by the present invention is the slow display of big data in the local virtual table due to the need to perform data serialization and deserialization when local data caching is performed in a business with a large amount of data.
- the technical solution adopted by the present invention is to provide a fast display method for big data virtual tables, which includes the following steps:
- Step S10 creating a virtual table for displaying data, a virtual table data container, and a SQLite cache database, where the virtual table data container is used to store the data currently displayed in the virtual table, and the SQLite cache database is used to store all data in the virtual table;
- Step S20 The virtual table data container obtains the cache data from the device in real time, and processes according to the data type to obtain the data of the virtual table, and writes the data into the SQLite cache database;
- Step S30 According to the dynamic display requirement of the virtual table, the virtual table data container reads from the SQLite cache database and stores the data required for the current display of the virtual table, and the virtual table displays the data in the virtual table data container.
- the virtual table dynamically obtains the corresponding data from the SQLite cache database through the virtual table data container according to the size of the display window to save and display;
- the virtual table refreshes the data content of the virtual table displayed in the current window in real time according to the scroll bar position of the currently displayed content.
- the virtual table uses the virtual table data model to add, delete, update, and sort data in the virtual table.
- the virtual table data model sets a private lock for the virtual table data operation thread
- step S20 specifically includes the following steps:
- Step S21 Use a virtual table data operation thread to obtain data from the device in real time, and save it in the virtual table data container;
- Step S22 Acquire the private lock of the virtual table data model
- Step S23 The virtual table data container judges whether the data type of the received data is a basic data type, and if so, execute step S25; otherwise, execute step S24;
- Step S24 serialize data of non-basic data types, convert it into binary data, and then execute step S25;
- Step S25 Write the data as the data of the virtual table into the corresponding temporary data table in the SQLite cache database according to the data type;
- Step S26 Determine whether to end the virtual table data addition, if it is finished, go to step S27; otherwise, go to step S21;
- Step S27 Release the private lock of the virtual table data model, and the process ends.
- step S30 specifically includes the following steps:
- Step S31 drag the virtual table to adjust the scroll bar of the currently displayed content, and locate the data position of the virtual table to be displayed;
- Step S32 Determine the content of the current virtual table to be displayed according to the position of the scroll bar, and generate an index of the virtual table data to be displayed;
- Step S33 according to the index of the virtual table data that needs to be displayed, query whether all the virtual table data that needs to be displayed have been stored in the virtual table data container; if so, go to step S36; otherwise, go to step S34;
- Step S34 Obtain virtual table data that is not saved in the virtual table data container from the SQLite cache database according to the index of the virtual table data;
- Step S35 Store the virtual table data read from the SQLite cache database into the virtual table data container;
- Step S36 refresh the virtual table display interface, and the virtual table displays the required virtual table data
- Step S37 It is judged whether to end the dynamic display of the virtual table data, if it is, step S38 is executed to abandon continuing reading; otherwise, step S31 is executed to continue reading the virtual table data;
- Step S38 the process ends.
- the invention also provides a fast display system for big data virtual tables, including:
- Virtual table used to display virtual table data
- SQLite cache database real-time storage of virtual table data in the virtual table
- the virtual table data container obtains the cache data from the device in real time, processes the data obtained in real time according to the data type, and obtains the virtual table data, which is stored in the SQLite cache database; at the same time, according to the dynamic display requirements of the virtual table, from all
- the SQLite cache database reads and stores virtual table data required for current display for the virtual table to display.
- a virtual table data model is also included, which is used for routine table operations such as adding, deleting, updating, and sorting virtual table data.
- a private lock is provided for the virtual table data operation thread in the virtual table data model
- the present invention uses SQLite as a local data cache, dynamically creates a temporary database according to data attributes, reduces the serialization and deserialization time in the file cache, and greatly improves the display speed of data in the table.
- FIG. 1 is a flowchart of a method for quickly displaying a big data virtual table provided by the present invention
- FIG. 2 is a specific flow chart of step S20 in the present invention.
- FIG. 3 is a specific flow chart of step S30 in the present invention.
- FIG. 4 is a schematic structural diagram of a system for quickly displaying big data virtual tables provided by the present invention.
- SQLite is a lightweight embedded database. It is contained in a relatively small C library, which realizes a self-sufficient, serverless, zero-configuration, transactional SQL database engine, and its source code is not subject to copyright restrictions; It is small in size and occupies very low resources. In embedded devices, only a few hundred K of memory is required, so it can be integrated into various applications. More importantly, it supports cross-platform, simple operation, and can Use many languages to directly create a database.
- the present invention uses SQLite as the local cache database, which can not only dynamically generate the corresponding local database directly according to the data attributes to be displayed, is no longer restricted by the basic data types, and avoids the serialization and deserialization process of the basic data types, but also The corresponding data can be extracted and displayed according to the virtual table display area.
- SQLite as the local cache database, which can not only dynamically generate the corresponding local database directly according to the data attributes to be displayed, is no longer restricted by the basic data types, and avoids the serialization and deserialization process of the basic data types, but also The corresponding data can be extracted and displayed according to the virtual table display area.
- a method for quickly displaying a big data virtual table includes the following steps:
- Step S10 creating a virtual table for displaying data, a virtual table data container, and a SQLite cache database, where the virtual table data container is used to store the data currently displayed in the virtual table, and the SQLite cache database is used to store all data in the virtual table;
- Step S20 The virtual table data container obtains the cached data from the device in real time, and processes it according to the data type (such as integer, floating point, date, text, etc.) to obtain the data of the virtual table, and writes the data to the SQLite cache database , As virtual table data;
- the data type such as integer, floating point, date, text, etc.
- Step S30 According to the dynamic display requirement of the virtual table, the virtual table data container reads from the SQLite cache database and stores the virtual table data required for the current display of the virtual table, and the virtual table displays the virtual table data in the virtual table data container.
- the virtual table can dynamically extract the corresponding virtual table data from the cache through the virtual table data container according to the size of the display window for display.
- the virtual table can refresh the current window display in real time according to the scroll bar position of the current display content.
- Virtual table data content can be dynamically extracted from the cache through the virtual table data container according to the size of the display window for display.
- the virtual table uses the virtual table data model to perform regular table operations such as adding, deleting, updating and sorting virtual table data.
- the virtual table data model sets a private lock for the virtual table data operation thread. After the current virtual table data operation thread acquires the private lock, before the current virtual table data operation thread completes the operation, other virtual table data operation threads are in In the waiting state, until the current virtual table data operation thread is completed, other virtual table data operation threads are performing operations to ensure data integrity during each operation.
- step S20 specifically includes the following steps:
- Step S21 Use a virtual table data operation thread to obtain data from the device in real time, and save it in the virtual table data container;
- Step S22 Acquire a private lock of the virtual table data model to ensure safe processing of data in a multi-threaded situation
- Step S23 After acquiring the private lock, the virtual table data container determines whether the data type of the received data is a basic data type, if it is a basic data type, execute step S25; otherwise, execute step S24;
- Step S24 serialize data of non-basic data types, convert it into binary data, and then execute step S25;
- Step S25 Write the data as virtual table data into the corresponding temporary data table in the SQLite cache database according to the data type;
- Step S26 Determine whether to end the virtual table data addition, if it is finished, go to step S27; otherwise, go to step S21;
- Step S27 Release the private lock of the virtual table data model, give up continuing to add, and the process ends.
- step S30 specifically includes the following steps:
- Step S31 drag the virtual table to adjust the scroll bar of the currently displayed content, and locate the data position of the virtual table to be displayed;
- Step S32 Determine the content of the current virtual table to be displayed according to the position of the scroll bar, and generate an index of the virtual table data to be displayed;
- Step S33 query whether all the virtual table data that needs to be displayed have been stored in the virtual table data container according to the index of the virtual table data that needs to be displayed; if all the virtual table data that needs to be displayed are saved, go to step S36; otherwise, go to step S34;
- Step S34 Obtain virtual table data that is not saved in the virtual table data container from the SQLite cache database according to the index of the virtual table data;
- Step S35 Store the virtual table data read from the SQLite cache database into the virtual table data container;
- Step S36 refresh the virtual table display interface, and the virtual table displays the required virtual table data
- Step S37 It is judged whether to end the dynamic display of virtual table data, if it is, step S38 is executed to abandon continuing reading; otherwise, step S31 is executed to continue reading virtual table data;
- Step S38 the program gives up and continues to read, and the flow ends.
- a system for quickly displaying big data virtual tables provided by the present invention includes:
- Virtual table 10 used to display virtual table data
- SQLite cache database 20 real-time storage of virtual table data
- the virtual table data container 30 obtains cached data from the device in real time, processes the data obtained in real time according to the data type, and obtains virtual table data, which is stored in the SQLite cache database 20; at the same time, according to the dynamic display requirements of the virtual table, from the SQLite cache database 20 reads and stores the virtual table data required for the current display for the virtual table 10 to display.
- a virtual table data model is also included, which is used for regular table operations such as adding, deleting, updating, and sorting virtual table data.
- a private lock is set for the virtual table data operation thread. After acquiring the private lock, before the current virtual table data operation thread completes the operation, other virtual table data operation threads are in a waiting state until the current virtual table data operation After the thread is completed, other virtual table data operation threads are performing operations to ensure the integrity of the data during each operation.
- the present invention is not limited to the above-mentioned best embodiments.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种大数据虚拟表格快速显示方法及系统,该方法包括:创建显示数据的虚拟表格、虚拟表格数据容器以及SQLite缓存数据库(S10);虚拟表格数据容器实时从设备中获取缓存数据,并根据数据类型进行处理,得到虚拟表格的数据,并将数据写入SQLite缓存数据库(S20);根据虚拟表格动态显示需求,虚拟表格数据容器从SQLite缓存数据库读取、并存储虚拟表格当前显示所需的虚拟表格数据,虚拟表格显示虚拟表格数据容器中的虚拟表格数据(S30)。通过使用SQLite作为本地数据缓存,根据数据属性动态地创建临时数据库,减少了文件缓存中的序列化与反序列化时间,大大提升了数据在表格中的显示速度。
Description
本发明涉及计算机技术领域,具体涉及一种大数据虚拟表格(Virtual Table)快速显示方法及系统。
接入业务中有部分业务如QinQ域、告警事件、操作日志等包含大量数据需要配置或查看,而网管软件为桌面应用程序,可以使用的硬件资源相当有限,所以现在对大数据量的业务进行处理时一般使用本地文件作为数据缓存,但是在进行数据缓存的过程需要对缓存的所有数据进行数据的序列化与反序列化,其中,序列化是将应用层对象的状态信息转换为可以存储或传输的形式的过程,在序列化期间,应用层的对象将其当前状态写入到临时或持久性存储区;反序列化是通过从存储区中读取对象的状态,并根据该对象的状态信息重新创建对应的应用层对象的过程;这两个过程耗时严重,导致大数据在本地虚拟表格中显示缓慢,成为提高数据处理速度的瓶颈。
发明内容
本发明所要解决的技术问题是在大数据量的业务进行本地数据缓存时,由于需要进行数据的序列化与反序列化,导致大数据在本地虚拟表格中显示缓慢的问题。
为了解决上述技术问题,本发明所采用的技术方案是提供一种大数据虚拟表格快速显示方法,包括以下步骤:
步骤S10、创建显示数据的虚拟表格、虚拟表格数据容器以及 SQLite缓存数据库,其中,虚拟表格数据容器用于存储虚拟表格中当前显示的数据,SQLite缓存数据库用于存储虚拟表格中的所有数据;
步骤S20、虚拟表格数据容器实时从设备中获取缓存数据,并根据数据类型进行处理,得到虚拟表格的数据,并将数据写入SQLite缓存数据库;
步骤S30、根据虚拟表格动态显示需求,虚拟表格数据容器从SQLite缓存数据库读取、并存储虚拟表格当前显示所需数据,虚拟表格显示虚拟表格数据容器中的数据。
在上述方法中,虚拟表格根据显示窗口的大小,动态地通过虚拟表格数据容器从SQLite缓存数据库中获取相应的数据进行保存、显示;
虚拟表格根据当前显示内容的滚动条位置变化,实时刷新当前窗口显示的虚拟表格数据内容。
在上述方法中,虚拟表格通过虚拟表格数据模型对虚拟表格中的数据进行新增、删除、更新和排序操作。
在上述方法中,所述虚拟表格数据模型为虚拟表格数据操作线程设有私有锁;
当前虚拟表格数据操作线程获取私有锁后,在其完成操作前,其它虚拟表格数据操作线程处于等待状态,直到当前虚拟表格数据操作线程完成操作并释放私有锁后,其它虚拟表格数据操作线程才能在获取私有锁之后执行操作。
在上述方法中,步骤S20具体包括以下步骤:
步骤S21、使用一个虚拟表格数据操作线程实时从设备获取数据,并保存至虚拟表格数据容器中;
步骤S22、获取所述虚拟表格数据模型的私有锁;
步骤S23、所述虚拟表格数据容器判断收到的数据的数据类型是否为基本数据类型,如果是,执行步骤S25;否则,执行步骤S24;
步骤S24、对非基本数据类型的数据进行序列化,转换为二进制数据,然后执行步骤S25;
步骤S25、将数据作为虚拟表格的数据按照数据类型写入SQLite缓存数据库中对应的临时数据表;
步骤S26、判断是否结束虚拟表格数据添加,如果结束,执行步骤S27;否则,执行步骤S21;
步骤S27、释放所述虚拟表格数据模型的私有锁,流程结束。
在上述方法中,步骤S30具体包括以下步骤:
步骤S31、拖动虚拟表格调整当前显示内容的滚动条,定位到需要显示的虚拟表格数据位置;
步骤S32、根据滚动条定位位置确定当前虚拟表格需要显示的内容,并生成需要显示的虚拟表格数据的索引;
步骤S33、根据需要显示的虚拟表格数据的索引查询虚拟表格数据容器中是否已经保存需要显示的所有虚拟表格数据;如果是,执行步骤S36;否则,执行步骤S34;
步骤S34、根据虚拟表格数据的索引从SQLite缓存数据库中获取虚拟表格数据容器中没有保存的虚拟表格数据;
步骤S35、将从SQLite缓存数据库读取到的虚拟表格数据存入虚拟表格数据容器中;
步骤S36、刷新虚拟表格显示界面,虚拟表格显示所需虚拟表格数据;
步骤S37、判断是否结束虚拟表格数据的动态显示,如果是,执 行步骤S38,放弃继续读取;否则,执行步骤S31,继续读取虚拟表格数据;
步骤S38、流程结束。
本发明还提供了一种大数据虚拟表格快速显示系统,包括:
虚拟表格,用于显示虚拟表格数据;
SQLite缓存数据库,实时存储所述虚拟表格中的虚拟表格数据;
虚拟表格数据容器,实时从设备中获取缓存数据,根据数据类型对实时获取的数据进行处理,得到虚拟表格数据,存入所述SQLite缓存数据库;同时,根据所述虚拟表格动态显示需求,从所述SQLite缓存数据库读取、并存储当前显示所需的虚拟表格数据,供所述虚拟表格显示。
在上述系统中,还包括虚拟表格数据模型,用于对虚拟表格数据新增、删除、更新和排序等常规表格操作。
在上述系统中,在所述虚拟表格数据模型中为虚拟表格数据操作线程设有私有锁;
当前虚拟表格数据操作线程获取私有锁后,在其完成操作前,其它虚拟表格数据操作线程处于等待状态,直到当前虚拟表格数据操作线程完成操作并释放私有锁后,其它虚拟表格数据操作线程才能在获取私有锁之后执行操作。
与现有技术相比,本发明使用SQLite作为本地数据缓存,根据数据属性动态地创建临时数据库,减少了文件缓存中的序列化与反序列化时间,大大提升了数据在表格中的显示速度。
图1为本发明提供的一种大数据虚拟表格快速显示方法的流程图;
图2为本发明中步骤S20的具体流程图;
图3为本发明中步骤S30的具体流程图;
图4为本发明提供的一种大数据虚拟表格快速显示系统的结构示意图。
SQLite是一种轻型的嵌入式数据库,它包含在一个相对小的C库中,实现了自给自足的、无服务器的、零配置的、事务性的SQL数据库引擎,其源代码不受版权限制;其体积小它,占用资源非常的低,在嵌入式设备中,只需要几百K的内存,所以可以将其集成到各种应用程序中,更重要的是,支持跨平台,操作简单,能够使用很多语言直接创建数据库。本发明使用SQLite作为本地缓存数据库,不仅可直接根据要显示的数据属性来动态地生成相应的本地数据库,不再受基本数据类型限制,避免了基本数据类型的序列化与反序列化过程,而且可根据虚拟表格显示区域来提取对应的数据进行显示。下面结合说明书附图和具体实施方式对本发明做出详细说明。
如图1所示,本发明提供的一种大数据虚拟表格快速显示方法,包括以下步骤:
步骤S10、创建显示数据的虚拟表格、虚拟表格数据容器以及SQLite缓存数据库,其中,虚拟表格数据容器用于存储虚拟表格中当前显示的数据,SQLite缓存数据库用于存储虚拟表格中的所有数据;
步骤S20、虚拟表格数据容器实时从设备中获取缓存数据,并根据数据类型(比如整型、浮点型、日期、文本等)进行处理,得到虚拟表格的数据,并将数据写入SQLite缓存数据库,作为虚拟表格数 据;
步骤S30、根据虚拟表格动态显示需求,虚拟表格数据容器从SQLite缓存数据库读取、并存储虚拟表格当前显示所需的虚拟表格数据,虚拟表格显示虚拟表格数据容器中的虚拟表格数据。
在本发明中,虚拟表格可根据显示窗口的大小动态地通过虚拟表格数据容器从缓存中提取相应的虚拟表格数据进行显示,虚拟表格根据当前显示内容的滚动条位置变化,实时刷新当前窗口显示的虚拟表格数据内容。
虚拟表格通过虚拟表格数据模型对虚拟表格数据新增、删除、更新和排序等常规表格操作。在本发明中,虚拟表格数据模型为虚拟表格数据操作线程设有私有锁,当前虚拟表格数据操作线程获取私有锁后,在当前虚拟表格数据操作线程没有完成操作前,其它虚拟表格数据操作线程处于等待状态,直到当前虚拟表格数据操作线程完成后,其它虚拟表格数据操作线程在执行操作,以保证各个操作时数据的完整性。
如图2所示,在本发明中,步骤S20具体包括以下步骤:
步骤S21、使用一个虚拟表格数据操作线程实时从设备获取数据,并保存至虚拟表格数据容器中;
步骤S22、获取虚拟表格数据模型的私有锁,保证在多线程情况下安全的处理数据;
步骤S23、获取私有锁后,虚拟表格数据容器判断收到的数据的数据类型是否为基本数据类型,如果是基本数据类型,执行步骤S25;否则,执行步骤S24;
步骤S24、对非基本数据类型的数据进行序列化,转换为二进制数据,然后执行步骤S25;
步骤S25、将数据作为虚拟表格数据按照数据类型写入SQLite缓存数据库中对应的临时数据表;
步骤S26、判断是否结束虚拟表格数据添加,如果结束,执行步骤S27;否则,执行步骤S21;
步骤S27、释放所述虚拟表格数据模型的私有锁,放弃继续添加,流程结束。
如图3所示,在本发明中,步骤S30具体包括以下步骤:
步骤S31、拖动虚拟表格调整当前显示内容的滚动条,定位到需要显示的虚拟表格数据位置;
步骤S32、根据滚动条定位位置确定当前虚拟表格需要显示的内容,并生成需要显示的虚拟表格数据的索引;
步骤S33、根据需要显示的虚拟表格数据的索引查询虚拟表格数据容器中是否已经保存需要显示的所有虚拟表格数据;如果经保存需要显示的所有虚拟表格数据,执行步骤S36;否则,执行步骤S34;
步骤S34、根据虚拟表格数据的索引从SQLite缓存数据库中获取虚拟表格数据容器中没有保存的虚拟表格数据;
步骤S35、将从SQLite缓存数据库读取到的虚拟表格数据存入虚拟表格数据容器中;
步骤S36、刷新虚拟表格显示界面,虚拟表格显示所需虚拟表格数据;
步骤S37、判断是否结束虚拟表格数据的动态显示,如果是,执行步骤S38,放弃继续读取;否则,执行步骤S31,继续读取虚拟表格数据;
步骤S38、程序放弃继续读取,流程结束。
如图4所示,本发明提供的一种大数据虚拟表格快速显示系统, 包括:
虚拟表格10,用于显示虚拟表格数据;
SQLite缓存数据库20,实时存储虚拟表格数据;
虚拟表格数据容器30,实时从设备中获取缓存数据,根据数据类型对实时获取的数据进行处理,得到虚拟表格数据,存入SQLite缓存数据库20;同时,根据虚拟表格动态显示需求,从SQLite缓存数据库20读取、并存储当前显示所需的虚拟表格数据,供虚拟表格10显示。
在本发明中,还包括虚拟表格数据模型,用于对虚拟表格数据新增、删除、更新和排序等常规表格操作。在虚拟表格数据模型中为虚拟表格数据操作线程设有私有锁,获取私有锁后,在当前虚拟表格数据操作线程没有完成操作前,其它虚拟表格数据操作线程处于等待状态,直到当前虚拟表格数据操作线程完成后,其它虚拟表格数据操作线程在执行操作,以保证各个操作时数据的完整性。
本发明并不局限于上述最佳实施方式,任何人应该得知在本发明的启示下做出的结构变化,凡是与本发明具有相同或相近的技术方案,均落入本发明的保护范围之内。
Claims (9)
- 一种大数据虚拟表格快速显示方法,其特征在于,包括以下步骤:步骤S10、创建显示数据的虚拟表格、虚拟表格数据容器以及SQLite缓存数据库,其中,虚拟表格数据容器用于存储虚拟表格中当前显示的数据,SQLite缓存数据库用于存储虚拟表格中的所有数据;步骤S20、虚拟表格数据容器实时从设备中获取缓存数据,并根据数据类型进行处理,得到虚拟表格的数据,并将数据写入SQLite缓存数据库;步骤S30、根据虚拟表格动态显示需求,虚拟表格数据容器从SQLite缓存数据库读取、并存储虚拟表格当前显示所需数据,虚拟表格显示虚拟表格数据容器中的数据。
- 根据权利要求1所述的一种大数据虚拟表格快速显示方法,其特征在于,虚拟表格根据显示窗口的大小,动态地通过虚拟表格数据容器从SQLite缓存数据库中获取相应的数据进行保存、显示;虚拟表格根据当前显示内容的滚动条位置变化,实时刷新当前窗口显示的虚拟表格数据内容。
- 根据权利要求1所述的一种大数据虚拟表格快速显示方法,其特征在于,虚拟表格通过虚拟表格数据模型对虚拟表格中的数据进行新增、删除、更新和排序操作。
- 根据权利要求3所述的一种大数据虚拟表格快速显示方法,其特征在于,所述虚拟表格数据模型为虚拟表格数据操作线程设有私有锁;当前虚拟表格数据操作线程获取私有锁后,在其完成操作前,其 它虚拟表格数据操作线程处于等待状态,直到当前虚拟表格数据操作线程完成操作并释放私有锁后,其它虚拟表格数据操作线程才能在获取私有锁之后执行操作。
- 根据权利要求4所述的一种大数据虚拟表格快速显示方法,其特征在于,步骤S20具体包括以下步骤:步骤S21、使用一个虚拟表格数据操作线程实时从设备获取数据,并保存至虚拟表格数据容器中;步骤S22、获取所述虚拟表格数据模型的私有锁;步骤S23、所述虚拟表格数据容器判断收到的数据的数据类型是否为基本数据类型,如果是,执行步骤S25;否则,执行步骤S24;步骤S24、对非基本数据类型的数据进行序列化,转换为二进制数据,然后执行步骤S25;步骤S25、将数据作为虚拟表格的数据按照数据类型写入SQLite缓存数据库中对应的临时数据表;步骤S26、判断是否结束虚拟表格数据添加,如果结束,执行步骤S27;否则,执行步骤S21;步骤S27、释放所述虚拟表格数据模型的私有锁,流程结束。
- 根据权利要求2所述的一种大数据虚拟表格快速显示方法,其特征在于,步骤S30具体包括以下步骤:步骤S31、拖动虚拟表格调整当前显示内容的滚动条,定位到需要显示的虚拟表格数据位置;步骤S32、根据滚动条定位位置确定当前虚拟表格需要显示的内容,并生成需要显示的虚拟表格数据的索引;步骤S33、根据需要显示的虚拟表格数据的索引查询虚拟表格数据容器中是否已经保存需要显示的所有虚拟表格数据;如果是,执行 步骤S36;否则,执行步骤S34;步骤S34、根据虚拟表格数据的索引从SQLite缓存数据库中获取虚拟表格数据容器中没有保存的虚拟表格数据;步骤S35、将从SQLite缓存数据库读取到的虚拟表格数据存入虚拟表格数据容器中;步骤S36、刷新虚拟表格显示界面,虚拟表格显示所需虚拟表格数据;步骤S37、判断是否结束虚拟表格数据的动态显示,如果是,执行步骤S38,放弃继续读取;否则,执行步骤S31,继续读取虚拟表格数据;步骤S38、流程结束。
- 一种大数据虚拟表格快速显示系统,其特征在于,包括:虚拟表格,用于显示虚拟表格数据;SQLite缓存数据库,实时存储所述虚拟表格中的虚拟表格数据;虚拟表格数据容器,实时从设备中获取缓存数据,根据数据类型对实时获取的数据进行处理,得到虚拟表格数据,存入所述SQLite缓存数据库;同时,根据所述虚拟表格动态显示需求,从所述SQLite缓存数据库读取、并存储当前显示所需的虚拟表格数据,供所述虚拟表格显示。
- 根据权利要求1所述的一种大数据虚拟表格快速显示系统,其特征在于,还包括虚拟表格数据模型,用于对虚拟表格数据新增、删除、更新和排序等常规表格操作。
- 根据权利要求8所述的一种大数据虚拟表格快速显示系统,其特征在于,在所述虚拟表格数据模型中为虚拟表格数据操作线程设有私有锁;当前虚拟表格数据操作线程获取私有锁后,在其完成操作前,其它虚拟表格数据操作线程处于等待状态,直到当前虚拟表格数据操作线程完成操作并释放私有锁后,其它虚拟表格数据操作线程才能在获取私有锁之后执行操作。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201910108478.9A CN109857742B (zh) | 2019-01-18 | 2019-01-18 | 一种大数据虚拟表格快速显示方法及系统 |
| CN201910108478.9 | 2019-01-18 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2020147279A1 true WO2020147279A1 (zh) | 2020-07-23 |
Family
ID=66897662
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2019/096098 Ceased WO2020147279A1 (zh) | 2019-01-18 | 2019-07-16 | 一种大数据虚拟表格快速显示方法及系统 |
Country Status (2)
| Country | Link |
|---|---|
| CN (1) | CN109857742B (zh) |
| WO (1) | WO2020147279A1 (zh) |
Families Citing this family (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN109857742B (zh) * | 2019-01-18 | 2021-03-02 | 烽火通信科技股份有限公司 | 一种大数据虚拟表格快速显示方法及系统 |
| CN111783389B (zh) * | 2020-06-30 | 2025-07-22 | 中国平安财产保险股份有限公司 | 小尺寸终端表格全屏显示方法、装置及计算机设备 |
| CN114169303A (zh) * | 2021-12-14 | 2022-03-11 | 平安养老保险股份有限公司 | 基于vue.js的表格编辑方法、装置、设备及介质 |
| CN119248731B (zh) * | 2024-12-05 | 2025-06-27 | 国网浙江省电力有限公司衢州供电公司 | 一种容器内数据高速交互系统及方法 |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1740967A (zh) * | 2004-08-23 | 2006-03-01 | 华为技术有限公司 | 一种在表格使用中减少占用内存的方法 |
| CN101626313A (zh) * | 2009-08-10 | 2010-01-13 | 中兴通讯股份有限公司 | 网管系统客户端性能数据显示方法和网管系统客户端 |
| CN103677554A (zh) * | 2012-09-17 | 2014-03-26 | 腾讯科技(深圳)有限公司 | 一种顺畅滑屏方法及装置 |
| CN103714046A (zh) * | 2013-12-27 | 2014-04-09 | 南京国电南自电网自动化有限公司 | 大量信息的界面显示方法 |
| CN109857742A (zh) * | 2019-01-18 | 2019-06-07 | 烽火通信科技股份有限公司 | 一种大数据虚拟表格快速显示方法及系统 |
Family Cites Families (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7565365B2 (en) * | 2005-08-31 | 2009-07-21 | Sap Ag | Object storage and synchronization hooks for occasionally-connected devices |
| CN101751443A (zh) * | 2008-12-10 | 2010-06-23 | 鸿富锦精密工业(深圳)有限公司 | 数据检索与处理系统及方法 |
| US9483512B2 (en) * | 2011-11-07 | 2016-11-01 | Sap Se | Columnar database using virtual file data objects |
| CN104679816B (zh) * | 2014-12-17 | 2018-02-06 | 上海彩亿信息技术有限公司 | 一种嵌入式系统下的sqlite数据库应用方法 |
| CN106155630A (zh) * | 2015-04-14 | 2016-11-23 | 阿里巴巴集团控股有限公司 | 序列化方法、反序列化方法、序列化装置及反序列化装置 |
| US10275164B2 (en) * | 2015-05-27 | 2019-04-30 | Nutech Ventures | Enforcing persistency for battery-backed mobile devices |
| CN106648569B (zh) * | 2015-11-02 | 2021-04-20 | 腾讯科技(深圳)有限公司 | 目标序列化实现方法和装置 |
| CN107025225B (zh) * | 2016-01-30 | 2018-12-14 | 华为技术有限公司 | 一种终端数据库的并行执行方法和装置 |
| CN107273369B (zh) * | 2016-04-06 | 2020-11-20 | 创新先进技术有限公司 | 一种表数据修改方法和装置 |
| CN108829646A (zh) * | 2018-05-03 | 2018-11-16 | 百度在线网络技术(北京)有限公司 | 数据存储及解析方法、装置、系统及存储介质 |
| CN109064326A (zh) * | 2018-07-02 | 2018-12-21 | 阿里巴巴集团控股有限公司 | 数据展示方法、装置和用户端 |
-
2019
- 2019-01-18 CN CN201910108478.9A patent/CN109857742B/zh active Active
- 2019-07-16 WO PCT/CN2019/096098 patent/WO2020147279A1/zh not_active Ceased
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1740967A (zh) * | 2004-08-23 | 2006-03-01 | 华为技术有限公司 | 一种在表格使用中减少占用内存的方法 |
| CN101626313A (zh) * | 2009-08-10 | 2010-01-13 | 中兴通讯股份有限公司 | 网管系统客户端性能数据显示方法和网管系统客户端 |
| CN103677554A (zh) * | 2012-09-17 | 2014-03-26 | 腾讯科技(深圳)有限公司 | 一种顺畅滑屏方法及装置 |
| CN103714046A (zh) * | 2013-12-27 | 2014-04-09 | 南京国电南自电网自动化有限公司 | 大量信息的界面显示方法 |
| CN109857742A (zh) * | 2019-01-18 | 2019-06-07 | 烽火通信科技股份有限公司 | 一种大数据虚拟表格快速显示方法及系统 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN109857742B (zh) | 2021-03-02 |
| CN109857742A (zh) | 2019-06-07 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11487740B2 (en) | Reduce log contention by batching log record transfers to the log | |
| US7774319B2 (en) | System and method for an optimistic database access | |
| EP3047397B1 (en) | Mirroring, in memory, data from disk to improve query performance | |
| US6192377B1 (en) | Method and apparatus for determing whether a transaction can use a version of a data item | |
| EP3047400B1 (en) | Multi-version concurrency control on in-memory snapshot store of oracle in-memory database | |
| US9606921B2 (en) | Granular creation and refresh of columnar data | |
| US8738850B2 (en) | Flash-aware storage optimized for mobile and embedded DBMS on NAND flash memory | |
| WO2020147279A1 (zh) | 一种大数据虚拟表格快速显示方法及系统 | |
| US20160267132A1 (en) | Abstraction layer between a database query engine and a distributed file system | |
| CN102999584B (zh) | 电力gis跨平台空间数据服务方法及系统 | |
| US7739290B2 (en) | System and method for object persistence | |
| US9632944B2 (en) | Enhanced transactional cache | |
| EP3796185B1 (en) | Virtual database tables with updatable logical table pointers | |
| US20160371314A1 (en) | Hierarchical tablespace space management | |
| CN113672556B (zh) | 一种批量文件的迁移方法及装置 | |
| CN104657143A (zh) | 高性能数据缓存方法 | |
| US11556545B2 (en) | Disk based hybrid transactional analytical processing system | |
| CN106354732B (zh) | 一种支持并发协同的离线数据版本冲突解决方法 | |
| CN103595797A (zh) | 一种分布式存储系统中的缓存方法 | |
| CN114328561A (zh) | 数据同步方法、装置、计算机设备、存储介质和程序产品 | |
| US20240232159A9 (en) | Flexible routing of database operations accessing remote tables | |
| CN117931765A (zh) | 重新验证传播的细粒度决策 | |
| US8805776B2 (en) | Relationship serialization and reconstruction for entities | |
| US9600546B2 (en) | System and method for marshaling massive database data from native layer to java using linear array | |
| US20160210273A1 (en) | In-memory workspace management |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 19909930 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 19909930 Country of ref document: EP Kind code of ref document: A1 |