[go: up one dir, main page]

CN118036579A - How to process the table - Google Patents

How to process the table Download PDF

Info

Publication number
CN118036579A
CN118036579A CN202211394358.8A CN202211394358A CN118036579A CN 118036579 A CN118036579 A CN 118036579A CN 202211394358 A CN202211394358 A CN 202211394358A CN 118036579 A CN118036579 A CN 118036579A
Authority
CN
China
Prior art keywords
data
cache
cache data
instruction
preset operation
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.)
Pending
Application number
CN202211394358.8A
Other languages
Chinese (zh)
Inventor
宋占武
曹凤海
陈威
易昌华
韩善锋
刘潇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China National Petroleum Corp
BGP Inc
Original Assignee
China National Petroleum Corp
BGP Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China National Petroleum Corp, BGP Inc filed Critical China National Petroleum Corp
Priority to CN202211394358.8A priority Critical patent/CN118036579A/en
Publication of CN118036579A publication Critical patent/CN118036579A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/177Editing, e.g. inserting or deleting of tables; using ruled lines
    • G06F40/18Editing, e.g. inserting or deleting of tables; using ruled lines of spreadsheets
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0253Garbage collection, i.e. reclamation of unreferenced memory
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0804Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0877Cache access modes
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24552Database cache management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

The invention provides a processing method of a table, which comprises the following steps: generating a table; establishing a cache data table corresponding to the table on the memory; correspondingly storing the data in the table in a cache data table, and changing the data in the cache data table based on the change of the table data; when a preset operation instruction in the table is received, executing preset operation on the data in the cache data table based on the preset operation instruction, and updating the data in the table through the data after executing the preset operation.

Description

表格的处理方法How to process the table

技术领域Technical Field

本发明涉及石油物探测技术领域,具体而言,涉及一种表格的处理方法。The invention relates to the technical field of petroleum object detection, and in particular to a table processing method.

背景技术Background technique

电子表格的实用性代表工具。但是这些表格处理工具的应用在特殊行业中有着不便和局限性,如:Spreadsheets are a useful tool. However, the application of these spreadsheet processing tools has inconveniences and limitations in specific industries, such as:

普通电子表格工具在面对百万级甚至千万级数据量时满足不了需要;专业的行业数据处理软件需要嵌入大数据处理表格功能,普通电子表格不能替代。石油物探测量行业有专用的数据处理软件,是以所采集的物理点数据为基础,进行内部质控处理、转换等复杂操作之后以表格形式展示给用户,这些都是第三方工具所不具备的功能,且随着勘探采集项目向大道数高密度采集发展,勘探项目的物理点数据量呈几何量级增长,大至百万级物理点位数据需要处理,自主处理软件对表格的处理性能要求也不断提高。Ordinary spreadsheet tools cannot meet the needs when faced with millions or even tens of millions of data volumes; professional industry data processing software needs to be embedded with big data processing spreadsheet functions, which cannot be replaced by ordinary spreadsheets. The petroleum geophysical surveying industry has dedicated data processing software, which is based on the collected physical point data, and performs internal quality control processing, conversion and other complex operations before presenting it to users in a table format. These are functions that third-party tools do not have. As exploration and acquisition projects develop towards large-scale high-density acquisition, the amount of physical point data in exploration projects has increased exponentially, with millions of physical point data needing to be processed, and the processing performance requirements of independent processing software for tables are also constantly increasing.

因此,如何提出一种能够解决现有电子表格在处理百万级数据量时难度大,数据处理时间长,而现有专用的数据处理软件对表格的处理能力差的方案成为目前亟待解决的问题。Therefore, how to come up with a solution to the problems that existing electronic spreadsheets are difficult to process millions of data volumes, the data processing time is long, and the existing dedicated data processing software has poor processing capabilities for spreadsheets has become an urgent problem to be solved.

发明内容Summary of the invention

为解决上述技术问题,本发明的第一方面提出了一种表格的处理方法。In order to solve the above technical problem, a first aspect of the present invention proposes a table processing method.

有鉴于此,本发明第一方面提出了一种表格的处理方法,包括:生成表格;在内存上建立一个与表格对应的缓存数据表;将表格中的数据对应储存在缓存数据表中,并基于表格数据的变更对缓存数据表中的数据进行变更;在接收到表格中的预设操作指令时,基于预设操作指令对缓存数据表中的数据执行预设操作,并通过执行预设操作后的数据对表格中的数据进行更新。In view of this, the first aspect of the present invention proposes a table processing method, including: generating a table; establishing a cache data table corresponding to the table in the memory; storing the data in the table in the cache data table, and changing the data in the cache data table based on the change of the table data; when receiving a preset operation instruction in the table, performing a preset operation on the data in the cache data table based on the preset operation instruction, and updating the data in the table through the data after performing the preset operation.

根据本发明提供的表格的处理方法,包括:建立表格,表格为显示数据和操作数据的界面。在内存上建立一个与表格对应的缓存数据表,能够读取输入表格内的数据,并将数据存储在缓存数据表中。将表格中的数据对应储存在缓存数据表中,并基于表格数据的变更对缓存数据表中的数据进行变更,在对表格中的数据进行更新时,会对缓存数据表中的数据进行更新,使得缓存数据表中始终存在一个与现有表格数据对应的缓存数据表,由于将缓存数据表设置在内存中,而非在硬盘中,因此数据处理的速度快,不会产生物理文件,且在缓存数据表关闭后,能自动释放表格占用的内存。在处理百万级甚至千万级的数据时,本申请中缓存数据表的处理速度更快,进而满足了在百万级甚至千万级数据量是对处理速度的需求。在接收到表格中的预设操作指令时,基于预设操作指令对缓存数据表中的数据执行预设操作,并通过执行预设操作后的数据对表格中的数据进行更新。在使用时,通过先对缓存数据表进行更新,之后将更新后的缓存数据表更新至表格中,从而使得表格进行要读取和访问即可实现对表格数据的处理。由于表格的读取位置往往是设置在硬盘中的,因此在使用时往往会产生额外的物理文件,同时硬盘的处理速度要远远小于内存的处理速度,因此对表格的修改速度要远远小于缓存数据表的修改速度,因此除在对表格的数据进行填充时是缓存数据表对表格进行访问外,在对表格中的数据进行处理时,均通过直接修改缓存数据表对数据进行修改,并将修改后的数据更新至表格中,使得表格无需处理任何数据,仅进行读取和访问的功能。在石油物探测行业中,往往具有专用的数据处理软件,但这些数据处理软件对表格的处理能力并不强,而将这些数据传递至普通表格后,普通表格对数据的处理的时间又过长,无法满足使用需求,且在执行每一步操作时,由于需要在硬盘中建立缓存,就会产生大量的物理文件,进一步的延长了表格的处理时间,而本申请中通过将缓存数据表直接设置在内存中,极大的降低了缓存数据表的生成时间和处理时间。并且可直接接受专用数据处理软件导出的数据,进而生成表格。因此降低了百万级数据量的处理难度,降低了数据的处理时间,同时能够接收专用数据处理软件导出的表格的数据,进而实现与专用数据处理软件导出的表格数据进行直接对接,表格可以直接采用专用数据处理软件的表格形式,进而解决了普通表格对部分数据无法识别的问题。同时提高了表格的处理能力,解决了专用数据处理软件对表格的处理能力差的问题。According to the table processing method provided by the present invention, it includes: establishing a table, which is an interface for displaying data and operating data. A cache data table corresponding to the table is established on the memory, which can read the data in the input table and store the data in the cache data table. The data in the table is stored in the cache data table, and the data in the cache data table is changed based on the change of the table data. When the data in the table is updated, the data in the cache data table will be updated, so that there is always a cache data table corresponding to the existing table data in the cache data table. Since the cache data table is set in the memory instead of the hard disk, the data processing speed is fast, no physical file is generated, and after the cache data table is closed, the memory occupied by the table can be automatically released. When processing millions or even tens of millions of data, the processing speed of the cache data table in the present application is faster, thereby meeting the demand for processing speed in millions or even tens of millions of data. When receiving the preset operation instruction in the table, the preset operation is performed on the data in the cache data table based on the preset operation instruction, and the data in the table is updated by the data after the preset operation is performed. When in use, the cache data table is updated first, and then the updated cache data table is updated to the table, so that the table can be read and accessed to realize the processing of the table data. Since the reading location of the table is often set in the hard disk, additional physical files are often generated when in use. At the same time, the processing speed of the hard disk is much lower than the processing speed of the memory, so the modification speed of the table is much lower than the modification speed of the cache data table. Therefore, except for filling the data of the table, the cache data table is used to access the table. When processing the data in the table, the data is modified by directly modifying the cache data table, and the modified data is updated to the table, so that the table does not need to process any data and only performs the functions of reading and accessing. In the petroleum exploration industry, there are often dedicated data processing software, but these data processing software is not strong in processing tables. After the data are transferred to ordinary tables, the time for ordinary tables to process the data is too long and cannot meet the use requirements. In addition, when executing each step of the operation, a large number of physical files will be generated due to the need to establish a cache in the hard disk, which further prolongs the processing time of the table. In this application, by directly setting the cache data table in the memory, the generation time and processing time of the cache data table are greatly reduced. And the data exported by the dedicated data processing software can be directly accepted to generate a table. Therefore, the processing difficulty of millions of data volumes is reduced, the processing time of the data is reduced, and at the same time, the data of the table exported by the dedicated data processing software can be received, and then the table data exported by the dedicated data processing software can be directly connected. The table can directly adopt the table form of the dedicated data processing software, thereby solving the problem that the ordinary table cannot recognize some data. At the same time, the processing capacity of the table is improved, and the problem of the poor processing capacity of the dedicated data processing software for the table is solved.

另外,本发明提供的上述技术方案中的表格的处理方法还可以具有如下附加技术特征:In addition, the table processing method in the above technical solution provided by the present invention may also have the following additional technical features:

在上述技术方案中,在接收到表格中的预设操作指令时,基于预设操作指令对缓存数据表中的数据执行预设操作,并通过执行预设操作后的数据对表格中的数据进行更新的步骤包括:在接收到排序指令后,将缓存数据表中的数据读取出来,并按照排序指令表示的排序方式进行排序,并将排序后的数据保存为排序索引表;在从表格中获取到排序指令后,基于排序索引表的数据对表格中的数据进行更新。In the above technical solution, when a preset operation instruction in a table is received, a preset operation is performed on the data in the cache data table based on the preset operation instruction, and the step of updating the data in the table by the data after performing the preset operation includes: after receiving a sorting instruction, the data in the cache data table is read out, and sorted according to the sorting method indicated by the sorting instruction, and the sorted data is saved as a sorting index table; after obtaining the sorting instruction from the table, the data in the table is updated based on the data in the sorting index table.

在该技术方案中,在接收到表格中的预设操作指令时,基于预设操作指令对缓存数据表中的数据执行预设操作,并通过执行预设操作后的数据对表格中的数据进行更新的步骤包括:在接收到排序的指令之后,将缓冲数据库中的数据读取出来,并按照排序指令表示的排序方式,将缓冲数据库中的数据进行排序,并将排序后的缓存数据表中的数据更新至表格中,从而实现了对表格的排序,由于并不需要直接对表格中的数据进行处理,因此实现了无需对表格直接处理,而表格仅进行数据的读取即可,使得表格无需产生额外的物理文件,进而提高了对表格进行排序时的排序速度,降低了排序时间。In this technical solution, when a preset operation instruction in a table is received, a preset operation is performed on the data in the cache data table based on the preset operation instruction, and the step of updating the data in the table by the data after performing the preset operation includes: after receiving the sorting instruction, the data in the buffer database is read out, and the data in the buffer database is sorted according to the sorting method indicated by the sorting instruction, and the data in the sorted cache data table is updated to the table, thereby realizing the sorting of the table. Since it is not necessary to directly process the data in the table, it is achieved that there is no need to directly process the table, and the table only needs to read the data, so that the table does not need to generate additional physical files, thereby improving the sorting speed when sorting the table and reducing the sorting time.

在上述技术方案中,在接收到对表格数据的变更处理时,在缓存数据表中依次建立与更变处理对应的变更索引表,在接收到表格中的预设操作指令时,基于预设操作指令对缓存数据表中的数据执行预设操作,并通过执行预设操作后的数据对表格中的数据进行更新的步骤包括:在接收到表格中的预设操作指令时,基于预设操作指令在缓存数据表中查找对应的变更索引表,利用查找到的变更索引表中的数据对对表格中的数据进行更新。In the above technical solution, when a change process is received for table data, a change index table corresponding to the change process is established in sequence in the cache data table, and when a preset operation instruction is received in the table, a preset operation is performed on the data in the cache data table based on the preset operation instruction, and the data in the table is updated with the data after performing the preset operation. The steps include: when a preset operation instruction is received in the table, a corresponding change index table is searched in the cache data table based on the preset operation instruction, and the data in the table is updated using the data in the found change index table.

在该技术方案中,在接收到对表格数据的变更处理时,在缓存数据表中依次建立与更变处理对应的变更索引表,在接收到表格中的预设操作指令时,基于预设操作指令对缓存数据表中的数据执行预设操作,并通过执行预设操作后的数据对表格中的数据进行更新的步骤包括:在接受到表格的预设指令时,根据预设指令找到对应的变更索引表,变更索引表中的数据为执行预设指令后形成的表格数据,将表格数据变更为变更索引表中的数据,从而实现对预设指令的执行功能,通过找到对应的变更索引表能够实现预设指令无需对直接控制表格中的数据而直接控制内存中缓存数据表中的数据,提高了预设指令的处理速度。In this technical solution, when a change process for table data is received, a change index table corresponding to the change process is established in sequence in the cache data table. When a preset operation instruction in the table is received, a preset operation is performed on the data in the cache data table based on the preset operation instruction, and the step of updating the data in the table by the data after performing the preset operation includes: when the preset instruction of the table is received, the corresponding change index table is found according to the preset instruction, the data in the change index table is the table data formed after executing the preset instruction, and the table data is changed to the data in the change index table, thereby realizing the execution function of the preset instruction. By finding the corresponding change index table, the preset instruction can be realized without directly controlling the data in the table but directly controlling the data in the cache data table in the memory, thereby improving the processing speed of the preset instruction.

具体而言,定义变量“m_nCurTable”为用于存储当前表格的数据表索引,定义“m_nCurTable--”为存储当前表格上一步数据表索引,预设操作指令包括撤销指令和重做指令,当接收到撤销指令时,根据“m_nCurTable--”对应的的数据表对表格的数据进行更新,并将“m_nCurTable--”重新定义“m_nCurTable”;定义“m_nCurTable++”为“m_nCurTable”下一步的数据表索引,当接收到重做指令时,根据“m_nCurTable++”的对应的数据表对表格的数据进行更新,并将“m_nCurTable++”重新定义“m_nCurTable”。Specifically, define the variable "m_nCurTable" as the data table index for storing the current table, define "m_nCurTable--" as storing the previous data table index of the current table, and preset operation instructions include undo instructions and redo instructions. When the undo instruction is received, the data of the table is updated according to the data table corresponding to "m_nCurTable--", and "m_nCurTable--" is redefined as "m_nCurTable"; define "m_nCurTable++" as the next data table index of "m_nCurTable". When the redo instruction is received, the data of the table is updated according to the corresponding data table of "m_nCurTable++", and "m_nCurTable++" is redefined as "m_nCurTable".

在该技术方案中,首先定义变量“m_nCurTable”作为存储当前表格数据的数据表索引,同时定义“m_nCurTable--”为存储当前表格上一步数据表索引,定义“m_nCurTable++”为“m_nCurTable”下一步的数据表索引。预设操作指令包括撤销指令和重做指令,在接收到撤销指令时,匹配当前数据表格上一步的数据表索引“m_nCurTable--”,进而读取“m_nCurTable--”对应的数据表,并根据“m_nCurTable--”对应的数据表对表格进行更新,并将“m_nCurTable--”重新定义“m_nCurTable”,从而实现撤销指令。In this technical solution, the variable "m_nCurTable" is first defined as the data table index for storing the current table data, and "m_nCurTable--" is defined as the data table index for storing the previous step of the current table, and "m_nCurTable++" is defined as the data table index for the next step of "m_nCurTable". The preset operation instructions include undo instructions and redo instructions. When receiving the undo instruction, the data table index "m_nCurTable--" of the previous step of the current data table is matched, and then the data table corresponding to "m_nCurTable--" is read, and the table is updated according to the data table corresponding to "m_nCurTable--", and "m_nCurTable--" is redefined as "m_nCurTable", so as to implement the undo instruction.

在接收到重做指令时,匹配当前数据表格下一步的数据表索引“m_nCurTable++”,进而读取“m_nCurTable--”对应的数据表,并根据“m_nCurTable++”对应的数据表对表格进行更新,并将“m_nCurTable++”重新定义“m_nCurTable”,从而实现重做指令。本申请中的撤销指令和重做指令均直接读取缓存数据表中的信息,而不是对表格中的数据进行修改,因此在对百万级甚至千万级的数据量时,对数据的处理量就变小了,进而提高了撤销指令和重做指令的处理速度。When receiving the redo instruction, the data table index "m_nCurTable++" of the next step of the current data table is matched, and then the data table corresponding to "m_nCurTable--" is read, and the table is updated according to the data table corresponding to "m_nCurTable++", and "m_nCurTable++" is redefined as "m_nCurTable", so as to implement the redo instruction. The undo instruction and the redo instruction in this application directly read the information in the cache data table instead of modifying the data in the table. Therefore, when the amount of data is in the millions or even tens of millions, the amount of data to be processed becomes smaller, thereby improving the processing speed of the undo instruction and the redo instruction.

在上述技术方案中,缓存数据表的每个列通过变量F%d表示,%d等于总列数减1的值,缓存数据表的总列数为变量m_nCols的值;缓存数据表的列数与表格的列数一致,在缓存数据表中针对表格的每一列均建立有一个列对象;缓存数据表的行设置有两个变量nRows和m_nDataRows,当“nRows”小于“m_nDataRows”时,将缓存数据表中nRows后面的记录删除,更新“m_nDataRows”值,并设置表的行数。In the above technical solution, each column of the cache data table is represented by the variable F%d, %d is equal to the total number of columns minus 1, and the total number of columns of the cache data table is the value of the variable m_nCols; the number of columns of the cache data table is consistent with the number of columns of the table, and a column object is established in the cache data table for each column of the table; the rows of the cache data table are set with two variables nRows and m_nDataRows. When "nRows" is less than "m_nDataRows", the records after nRows in the cache data table are deleted, the "m_nDataRows" value is updated, and the number of rows of the table is set.

在该技术方案中,通过在缓冲数据表中通过F%d来对列进行定义,%d等于总列数减1的值,同时定义缓存数据表中的总列数为m_nCols的值,缓冲数据表中的列数和表格的列数一致,且缓存数据表中的针对表格中的每一列均设有一个列的对象,从而使得缓存数据表中的数据与表格中的数据能够对应。同样的缓存数据表的行设置有两个变量nRows和m_nDataRows,当“nRows”小于“m_nDataRows”时,将缓存数据表中nRows后面的记录删除,更新“m_nDataRows”值,并设置表的行数,从而实现缓存数据表中的行数据始终与表格中的行数据保持一致。In this technical solution, columns are defined in the buffer data table by using F%d, where %d is equal to the total number of columns minus 1, and the total number of columns in the buffer data table is defined as the value of m_nCols. The number of columns in the buffer data table is consistent with the number of columns in the table, and a column object is set for each column in the table in the cache data table, so that the data in the cache data table can correspond to the data in the table. Similarly, the rows of the cache data table are set with two variables nRows and m_nDataRows. When "nRows" is less than "m_nDataRows", the records after nRows in the cache data table are deleted, the "m_nDataRows" value is updated, and the number of rows of the table is set, so that the row data in the cache data table is always consistent with the row data in the table.

在上述技术方案中,表格的任一单元格通过变量“nRow”的值和变量“nCol”的值进行表示,目标单元格在缓存数据表中的位置为“nRow”行和“FnCol-1”列的交叉位置;基于表格数据的变更对缓存数据表中的数据进行变更的步骤包括:在目标单元格中的数据变化时,若“nRow”小于“m_nDataRows”时,则通过目标单元格的数据更新缓存数据表中的对应位置的数据;在“nRow”大于“m_nDataRows”时,在缓存数据表中添加相应的空行,然后在缓存数据表中对应的位置插入目标单元格的数据,并更新缓存数据表的“m_nDataRows”值。In the above technical solution, any cell of the table is represented by the value of the variable "nRow" and the value of the variable "nCol", and the position of the target cell in the cache data table is the intersection of the "nRow" row and the "FnCol-1" column; the step of changing the data in the cache data table based on the change of the table data includes: when the data in the target cell changes, if "nRow" is less than "m_nDataRows", the data at the corresponding position in the cache data table is updated by the data of the target cell; when "nRow" is greater than "m_nDataRows", a corresponding blank row is added to the cache data table, and then the data of the target cell is inserted into the corresponding position in the cache data table, and the "m_nDataRows" value of the cache data table is updated.

在该技术方案中,表格的任一单元格通过变量“nRow”的值和变量“nCol”的值进行表示,即通过变量“nRow”的值和变量“nCol”的值能够定位目标单元格在表格中的位置,目标单元格在缓存数据表中的位置为“nRow”行和“FnCol-1”列的交叉位置;从而实现了对单元格的定位。基于表格数据的变更对缓存数据表中的数据进行变更的步骤包括:在目标单元格中的数据变化时,若“nRow”小于“m_nDataRows”时,说明缓冲数据表中的数据的行数要大于表格中的数据的行数,因此需要通过目标单元格的数据更新缓存数据表中的对应位置的数据进而实现缓存数据表与表格的行数对应。在“nRow”大于“m_nDataRows”时,说明缓冲数据表中的数据的行数要小于表格中的数据的行数,因此需要在缓存数据表中添加相应的空行,然后在缓存数据表中对应的位置插入目标单元格的数据,并更新缓存数据表的“m_nDataRows”值,进而实现缓存数据表与表格的行数对应。进而实现了对内存的优化管理,保证了缓存数据表中的表格数量与表格中实际需要的表格数量相匹配,不会产生多余的表格。In this technical solution, any cell of the table is represented by the value of the variable "nRow" and the value of the variable "nCol", that is, the position of the target cell in the table can be located by the value of the variable "nRow" and the value of the variable "nCol", and the position of the target cell in the cache data table is the intersection of the "nRow" row and the "FnCol-1" column; thus, the cell is located. The step of changing the data in the cache data table based on the change of the table data includes: when the data in the target cell changes, if "nRow" is less than "m_nDataRows", it means that the number of rows of data in the buffer data table is greater than the number of rows of data in the table, so it is necessary to update the data at the corresponding position in the cache data table through the data of the target cell to achieve the correspondence between the number of rows of the cache data table and the table. When "nRow" is greater than "m_nDataRows", it means that the number of rows in the buffered data table is less than the number of rows in the table. Therefore, it is necessary to add a corresponding blank row in the cached data table, insert the data of the target cell at the corresponding position in the cached data table, and update the "m_nDataRows" value of the cached data table, so as to achieve the correspondence between the number of rows in the cached data table and the table. This achieves optimized management of memory, ensures that the number of tables in the cached data table matches the number of tables actually required in the table, and does not generate redundant tables.

在上述技术方案中,在获取到表格数据的预设行的数据的读取或显示指令时,如果预设行小于m_nDataRows,则将从缓存数据表查新与预设行对应的数据并记录或显示到预设行中,如果预设行大于m_nDataRows,则返回空值。In the above technical solution, when the reading or display instruction of the data of the preset row of table data is obtained, if the preset row is less than m_nDataRows, the data corresponding to the preset row will be retrieved from the cache data table and recorded or displayed in the preset row. If the preset row is greater than m_nDataRows, a null value is returned.

在该技术方案中,在获取到表格数据的预设行的数据的读取和显示指令时,如预设行小于m_nDataRows,说明表格中的数据存在缓存数据表中不存在的数据,因此需要从缓存数据表查新与预设行对应的数据并记录或显示到预设行中。预设行大于m_nDataRows,则说明缓存数据表中具有多余的数据,因此需要将多余的数据返回空值,使得缓存数据表与表格中的数据保持一致。In this technical solution, when the read and display instructions of the preset row of table data are obtained, if the preset row is less than m_nDataRows, it means that there is data in the table that does not exist in the cache data table, so it is necessary to retrieve the data corresponding to the preset row from the cache data table and record or display it in the preset row. If the preset row is greater than m_nDataRows, it means that there is redundant data in the cache data table, so it is necessary to return the redundant data to a null value so that the cache data table is consistent with the data in the table.

在上述技术方案中,表格处理装置包括缓存数据表接口,用于接收外部指令,表格的处理方法包括:基于缓存数据表接口接收的外部指令对缓存数据表的数据进行对应指令的操作,并在操作完成后对表格的数据进行更新。In the above technical solution, the table processing device includes a cache data table interface for receiving external instructions. The table processing method includes: performing operations corresponding to the instructions on the data in the cache data table based on the external instructions received by the cache data table interface, and updating the data in the table after the operation is completed.

在该技术方案中,表格的处理装置还包括缓存数据表接口,能够接受外部的指令,表格的处理方法包括:基于缓存数据表接口接收的外部指令对缓存数据表的数据进行对应指令的操作,并在操作完成后对表格的数据进行更新。通过缓冲数据表接口,实现了缓存数据表和表格之间的数据更新,进而实现了表格无需进行数据处理,而数据处理完全在缓存数据表中进行,进而降低了数据的处理时间,提高了数据的处理效率。In the technical solution, the table processing device also includes a cache data table interface, which can accept external instructions. The table processing method includes: based on the external instructions received by the cache data table interface, the data of the cache data table is operated in accordance with the corresponding instructions, and the data of the table is updated after the operation is completed. Through the buffer data table interface, the data update between the cache data table and the table is realized, and then the table does not need to perform data processing, and the data processing is completely performed in the cache data table, thereby reducing the data processing time and improving the data processing efficiency.

在上述技术方案中,表格处理装置包括:行数据保存接口和行数据读取接口,通过行数据保存接口能够对表格的数据进行保存;通过行数据读取接口将表格的数据进行传输;将缓存数据表命名为“:memory:”。表格的任一单元格兼容char、string、int、double、CString中的任一数据类型的操作;和/或同时对应写入函数,可以读取多种类型的单元格数据进行处理使用。In the above technical solution, the table processing device includes: a row data saving interface and a row data reading interface, through which the table data can be saved; through which the table data can be transmitted; and the cache data table is named ":memory:". Any cell of the table is compatible with any data type operation of char, string, int, double, CString; and/or corresponds to a write function at the same time, and can read multiple types of cell data for processing and use.

在该技术方案中,表格处理装置包括:行数据保存接口和行数据读取接口,由于表格不进行数据处理,因此需要通过行数据保存接口和行数据读取接口,将表格中的数据导入缓冲数据表中或者读取缓冲数据表中的数据,通过定义行数据保存接口和行数据读取接口,在进行数据的读写时,可按照行的排列进行读取和保存,从而实现对行数据的快速读写。其中将缓冲数据表命名为“:memory:”,进而实现在内存中建立缓存数据表的作用。表格的任一单元格兼容char、string、int、double、CString中的任一数据类型的操作;和/或同时对应写入函数,可以读取多种类型的单元格数据进行处理使用,从而提高了表格的实用性,同时对百万级和千万级的数据进行处理时,无需采用特殊的算法进行处理。In this technical solution, the table processing device includes: a row data saving interface and a row data reading interface. Since the table does not process data, it is necessary to import the data in the table into the buffer data table or read the data in the buffer data table through the row data saving interface and the row data reading interface. By defining the row data saving interface and the row data reading interface, when reading and writing data, it can be read and saved according to the arrangement of rows, thereby realizing fast reading and writing of row data. The buffer data table is named ":memory:", thereby realizing the role of establishing a cache data table in memory. Any cell of the table is compatible with operations of any data type of char, string, int, double, and CString; and/or corresponds to a write function at the same time, and can read multiple types of cell data for processing and use, thereby improving the practicality of the table. At the same time, when processing data at the million and ten million levels, there is no need to use special algorithms for processing.

进一步地,定义所述行数据保存接口为void SetRowText(intnRow,vector<string>sTextArray);和/或定义所述行数据保存接口为void SetRowText(intnRow,map<int,string>sTextArray);定义所述行数据读取接口为vector<string>GetRowText(intnRow);和/或定义所述行数据读取接口为vector<CString>GetRowString(int nRow)。通过定义不同的行数据保存接口和行数据读取接口,进而使得用户可根据需要设置不同的行数据保存接口和行数据读取接口,进而实现了对不同的处理设备的匹配,提高了本申请的适用性。Furthermore, the row data saving interface is defined as void SetRowText(intnRow, vector<string>sTextArray); and/or the row data saving interface is defined as void SetRowText(intnRow, map<int, string>sTextArray); the row data reading interface is defined as vector<string>GetRowText(intnRow); and/or the row data reading interface is defined as vector<CString>GetRowString(int nRow). By defining different row data saving interfaces and row data reading interfaces, users can set different row data saving interfaces and row data reading interfaces as needed, thereby achieving matching with different processing devices and improving the applicability of the present application.

本发明的附加方面和优点将在下面的描述部分中变得明显,或通过本发明的实践了解到。Additional aspects and advantages of the present invention will become apparent from the following description or may be learned by practice of the present invention.

附图说明BRIEF DESCRIPTION OF THE DRAWINGS

本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:The above and/or additional aspects and advantages of the present invention will become apparent and easily understood from the description of the embodiments in conjunction with the following drawings, in which:

图1是根据本发明的实施例的表格的处理方法的流程示意图;FIG1 is a schematic flow chart of a method for processing a table according to an embodiment of the present invention;

图2是根据本发明的实施例的表格组件多类型单元格的示意图;FIG2 is a schematic diagram of multiple types of cells of a table component according to an embodiment of the present invention;

图3是根据本发明的实施例的加载大数据量物理点数据的示意图;FIG3 is a schematic diagram of loading a large amount of physical point data according to an embodiment of the present invention;

图4是根据本发明的实施例的加载大数据量的时间的示意图;FIG4 is a schematic diagram of the time for loading a large amount of data according to an embodiment of the present invention;

图5是根据本发明的实施例的加载大数据量的内存监测的示意图。FIG. 5 is a schematic diagram of memory monitoring for loading large amounts of data according to an embodiment of the present invention.

具体实施方式Detailed ways

为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。In order to more clearly understand the above-mentioned purpose, features and advantages of the present invention, the present invention is further described in detail below in conjunction with the accompanying drawings and specific embodiments. It should be noted that the embodiments of the present application and the features in the embodiments can be combined with each other without conflict.

在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。In the following description, many specific details are set forth to facilitate a full understanding of the present invention. However, the present invention may also be implemented in other ways different from those described herein. Therefore, the protection scope of the present invention is not limited to the specific embodiments disclosed below.

下面参照图1至图5描述本发明一些实施例中的表格的处理方法。The table processing method in some embodiments of the present invention is described below with reference to FIG. 1 to FIG. 5 .

本发明第一方面实施例提出了一种表格的处理方法,如图1所示,一种表格的处理方法,包括:The first embodiment of the present invention provides a table processing method. As shown in FIG1 , the table processing method includes:

S102:生成表格。S102: Generate a table.

S104:在内存上建立一个与表格对应的缓存数据表。S104: Create a cache data table corresponding to the table in the memory.

S106:将表格中的数据对应储存在缓存数据表中,并基于表格数据的变更对缓存数据表中的数据进行变更。S106: The data in the table are stored in the cache data table accordingly, and the data in the cache data table is changed based on the change of the table data.

S108:在接收到表格中的预设操作指令时,基于预设操作指令对缓存数据表中的数据执行预设操作,并通过执行预设操作后的数据对表格中的数据进行更新。S108: When receiving the preset operation instruction in the table, perform a preset operation on the data in the cache data table based on the preset operation instruction, and update the data in the table with the data after performing the preset operation.

根据本发明提供的表格的处理方法,包括:建立表格,表格为显示数据和操作数据的界面。在内存上建立一个与表格对应的缓存数据表,能够读取输入表格内的数据,并将数据存储在缓存数据表中。将表格中的数据对应储存在缓存数据表中,并基于表格数据的变更对缓存数据表中的数据进行变更,在对表格中的数据进行更新时,会对缓存数据表中的数据进行更新,使得缓存数据表中始终存在一个与现有表格数据对应的缓存数据表,由于将缓存数据表设置在内存中,而非在硬盘中,因此数据处理的速度快,不会产生物理文件,且在缓存数据表关闭后,能自动释放表格占用的内存。如图4和图5所示,在处理百万级甚至千万级的数据时,本申请中缓存数据表的处理速度更快,进而满足了在百万级甚至千万级数据量是对处理速度的需求。在接收到表格中的预设操作指令时,基于预设操作指令对缓存数据表中的数据执行预设操作,并通过执行预设操作后的数据对表格中的数据进行更新。在使用时,通过先对缓存数据表进行更新,之后将更新后的缓存数据表更新至表格中,从而使得表格进行要读取和访问即可实现对表格数据的处理。由于表格的读取位置往往是设置在硬盘中的,因此在使用时往往会产生额外的物理文件,同时硬盘的处理速度要远远小于内存的处理速度,因此对表格的修改速度要远远小于缓存数据表的修改速度,因此除在对表格的数据进行填充时是缓存数据表对表格进行访问外,在对表格中的数据进行处理时,均通过直接修改缓存数据表对数据进行修改,并将修改后的数据更新至表格中,使得表格无需处理任何数据,仅进行读取和访问的功能。如图3所示,在石油物探测行业中,往往具有专用的数据处理软件,但这些数据处理软件对表格的处理能力并不强,而将这些数据传递至普通表格后,普通表格对数据的处理的时间又过长,无法满足使用需求,且在执行每一步操作时,由于需要在硬盘中建立缓存,就会产生大量的物理文件,进一步的延长了表格的处理时间,而本申请中通过将缓存数据表直接设置在内存中,极大的降低了缓存数据表的生成时间和处理时间。并且可直接接受专用数据处理软件导出的数据,进而生成表格。因此降低了百万级数据量的处理难度,降低了数据的处理时间,同时能够接收专用数据处理软件导出的表格的数据,进而实现与专用数据处理软件导出的表格数据进行直接对接,表格可以直接采用专用数据处理软件的表格形式,进而解决了普通表格对部分数据无法识别的问题。同时提高了表格的处理能力,解决了专用数据处理软件对表格的处理能力差的问题。According to the table processing method provided by the present invention, it includes: establishing a table, which is an interface for displaying data and operating data. A cache data table corresponding to the table is established on the memory, which can read the data in the input table and store the data in the cache data table. The data in the table is stored in the cache data table, and the data in the cache data table is changed based on the change of the table data. When the data in the table is updated, the data in the cache data table will be updated, so that there is always a cache data table corresponding to the existing table data in the cache data table. Since the cache data table is set in the memory instead of the hard disk, the data processing speed is fast, no physical file is generated, and after the cache data table is closed, the memory occupied by the table can be automatically released. As shown in Figures 4 and 5, when processing millions or even tens of millions of data, the processing speed of the cache data table in the present application is faster, thereby meeting the demand for processing speed in millions or even tens of millions of data. When receiving the preset operation instruction in the table, the preset operation is performed on the data in the cache data table based on the preset operation instruction, and the data in the table is updated by the data after the preset operation is performed. When in use, the cache data table is updated first, and then the updated cache data table is updated to the table, so that the table can be read and accessed to realize the processing of the table data. Since the reading location of the table is often set in the hard disk, additional physical files are often generated when in use. At the same time, the processing speed of the hard disk is much lower than the processing speed of the memory, so the modification speed of the table is much lower than the modification speed of the cache data table. Therefore, except for filling the data of the table, the cache data table is used to access the table. When processing the data in the table, the data is modified by directly modifying the cache data table, and the modified data is updated to the table, so that the table does not need to process any data and only performs the functions of reading and accessing. As shown in FIG3 , in the petroleum exploration industry, there are often dedicated data processing software, but these data processing software is not strong in processing tables. After the data are transferred to the ordinary table, the ordinary table takes too long to process the data and cannot meet the use requirements. In addition, when executing each step of the operation, a large number of physical files will be generated due to the need to establish a cache in the hard disk, which further prolongs the processing time of the table. In this application, by directly setting the cache data table in the memory, the generation time and processing time of the cache data table are greatly reduced. And the data exported by the dedicated data processing software can be directly accepted to generate a table. Therefore, the processing difficulty of millions of data volumes is reduced, the processing time of the data is reduced, and at the same time, the data of the table exported by the dedicated data processing software can be received, and then the table data exported by the dedicated data processing software can be directly connected. The table can directly adopt the table form of the dedicated data processing software, thereby solving the problem that the ordinary table cannot recognize some data. At the same time, the processing capacity of the table is improved, and the problem of poor processing capacity of the dedicated data processing software for the table is solved.

在上述实施例中,在接收到表格中的预设操作指令时,基于预设操作指令对缓存数据表中的数据执行预设操作,并通过执行预设操作后的数据对表格中的数据进行更新的步骤包括:在接收到排序指令后,将缓存数据表中的数据读取出来,并按照排序指令表示的排序方式进行排序,并将排序后的数据保存为排序索引表;在从表格中获取到排序指令后,基于排序索引表的数据对表格中的数据进行更新。In the above embodiment, when a preset operation instruction in a table is received, a preset operation is performed on the data in the cache data table based on the preset operation instruction, and the step of updating the data in the table by the data after performing the preset operation includes: after receiving a sorting instruction, the data in the cache data table is read out, and sorted according to the sorting method indicated by the sorting instruction, and the sorted data is saved as a sorting index table; after obtaining the sorting instruction from the table, the data in the table is updated based on the data in the sorting index table.

在该实施例中,在接收到表格中的预设操作指令时,基于预设操作指令对缓存数据表中的数据执行预设操作,并通过执行预设操作后的数据对表格中的数据进行更新的步骤包括:在接收到排序的指令之后,将缓冲数据库中的数据读取出来,并按照排序指令表示的排序方式,将缓冲数据库中的数据进行排序,并将排序后的缓存数据表中的数据更新至表格中,从而实现了对表格的排序,由于并不需要直接对表格中的数据进行处理,因此实现了无需对表格直接处理,而表格仅进行数据的读取即可,使得表格无需产生额外的物理文件,进而提高了对表格进行排序时的排序速度,降低了排序时间。In this embodiment, when a preset operation instruction in a table is received, a preset operation is performed on the data in the cache data table based on the preset operation instruction, and the step of updating the data in the table by the data after performing the preset operation includes: after receiving the sorting instruction, the data in the buffer database is read out, and the data in the buffer database is sorted according to the sorting method indicated by the sorting instruction, and the sorted data in the cache data table is updated to the table, thereby realizing the sorting of the table. Since there is no need to directly process the data in the table, it is achieved that there is no need to directly process the table, and the table only needs to read the data, so that the table does not need to generate additional physical files, thereby improving the sorting speed when sorting the table and reducing the sorting time.

在上述实施例中,在接收到对表格数据的变更处理时,在缓存数据表中依次建立与更变处理对应的变更索引表,在接收到表格中的预设操作指令时,基于预设操作指令对缓存数据表中的数据执行预设操作,并通过执行预设操作后的数据对表格中的数据进行更新的步骤包括:在接收到表格中的预设操作指令时,基于预设操作指令在缓存数据表中查找对应的变更索引表,利用查找到的变更索引表中的数据对对表格中的数据进行更新。In the above embodiment, when a change process is received for table data, a change index table corresponding to the change process is established in sequence in the cache data table. When a preset operation instruction is received in the table, a preset operation is performed on the data in the cache data table based on the preset operation instruction. The step of updating the data in the table with the data after performing the preset operation includes: when a preset operation instruction is received in the table, a corresponding change index table is searched in the cache data table based on the preset operation instruction, and the data in the table is updated using the data in the found change index table.

在该实施例中,在接收到对表格数据的变更处理时,在缓存数据表中依次建立与更变处理对应的变更索引表,在接收到表格中的预设操作指令时,基于预设操作指令对缓存数据表中的数据执行预设操作,并通过执行预设操作后的数据对表格中的数据进行更新的步骤包括:在接受到表格的预设指令时,根据预设指令找到对应的变更索引表,变更索引表中的数据为执行预设指令后形成的表格数据,将表格数据变更为变更索引表中的数据,从而实现对预设指令的执行功能,通过找到对应的变更索引表能够实现预设指令无需对直接控制表格中的数据而直接控制内存中缓存数据表中的数据,提高了预设指令的处理速度。In this embodiment, when a change process for table data is received, a change index table corresponding to the change process is established in sequence in the cache data table. When a preset operation instruction in the table is received, a preset operation is performed on the data in the cache data table based on the preset operation instruction, and the step of updating the data in the table by the data after performing the preset operation includes: when the preset instruction of the table is received, the corresponding change index table is found according to the preset instruction, the data in the change index table is the table data formed after executing the preset instruction, and the table data is changed to the data in the change index table, thereby realizing the execution function of the preset instruction. By finding the corresponding change index table, the preset instruction can be realized without directly controlling the data in the table but directly controlling the data in the cache data table in the memory, thereby improving the processing speed of the preset instruction.

具体而言,如图2所示,定义变量“m_nCurTable”为用于存储当前表格的数据表索引,定义“m_nCurTable--”为存储当前表格上一步数据表索引,预设操作指令包括撤销指令和重做指令,当接收到撤销指令时,根据“m_nCurTable--”对应的的数据表对表格的数据进行更新,并将“m_nCurTable--”重新定义“m_nCurTable”;定义“m_nCurTable++”为“m_nCurTable”下一步的数据表索引,当接收到重做指令时,根据“m_nCurTable++”的对应的数据表对表格的数据进行更新,并将“m_nCurTable++”重新定义“m_nCurTable”。Specifically, as shown in Figure 2, the variable "m_nCurTable" is defined as the data table index for storing the current table, and "m_nCurTable--" is defined as the data table index for storing the previous step of the current table. The preset operation instructions include undo instructions and redo instructions. When the undo instruction is received, the data of the table is updated according to the data table corresponding to "m_nCurTable--", and "m_nCurTable--" is redefined as "m_nCurTable"; "m_nCurTable++" is defined as the data table index for the next step of "m_nCurTable". When the redo instruction is received, the data of the table is updated according to the data table corresponding to "m_nCurTable++", and "m_nCurTable++" is redefined as "m_nCurTable".

在该实施例中,如图2所示,首先定义变量“m_nCurTable”作为存储当前表格数据的数据表索引,同时定义“m_nCurTable--”为存储当前表格上一步数据表索引,定义“m_nCurTable++”为“m_nCurTable”下一步的数据表索引。预设操作指令包括撤销指令和重做指令,在接收到撤销指令时,匹配当前数据表格上一步的数据表索引“m_nCurTable--”,进而读取“m_nCurTable--”对应的数据表,并根据“m_nCurTable--”对应的数据表对表格进行更新,并将“m_nCurTable--”重新定义“m_nCurTable”,从而实现撤销指令。在接收到重做指令时,匹配当前数据表格下一步的数据表索引“m_nCurTable++”,进而读取“m_nCurTable--”对应的数据表,并根据“m_nCurTable++”对应的数据表对表格进行更新,并将“m_nCurTable++”重新定义“m_nCurTable”,从而实现重做指令。本申请中的撤销指令和重做指令均直接读取缓存数据表中的信息,而不是对表格中的数据进行修改,因此在对百万级甚至千万级的数据量时,对数据的处理量就变小了,进而提高了撤销指令和重做指令的处理速度。In this embodiment, as shown in FIG2 , the variable “m_nCurTable” is first defined as the data table index storing the current table data, and “m_nCurTable--” is defined as the data table index storing the previous step of the current table, and “m_nCurTable++” is defined as the data table index of the next step of “m_nCurTable”. The preset operation instructions include undo instructions and redo instructions. When the undo instruction is received, the data table index “m_nCurTable--” of the previous step of the current data table is matched, and then the data table corresponding to “m_nCurTable--” is read, and the table is updated according to the data table corresponding to “m_nCurTable--”, and “m_nCurTable--” is redefined as “m_nCurTable”, so as to implement the undo instruction. When receiving the redo instruction, the data table index "m_nCurTable++" of the next step of the current data table is matched, and then the data table corresponding to "m_nCurTable--" is read, and the table is updated according to the data table corresponding to "m_nCurTable++", and "m_nCurTable++" is redefined as "m_nCurTable", so as to implement the redo instruction. The undo instruction and the redo instruction in this application directly read the information in the cache data table instead of modifying the data in the table. Therefore, when the amount of data is in the millions or even tens of millions, the amount of data to be processed becomes smaller, thereby improving the processing speed of the undo instruction and the redo instruction.

在上述实施例中,缓存数据表的每个列通过变量F%d表示,%d等于总列数减1的值,缓存数据表的总列数为变量m_nCols的值;缓存数据表的列数与表格的列数一致,在缓存数据表中针对表格的每一列均建立有一个列对象;缓存数据表的行设置有两个变量nRows和m_nDataRows,当“nRows”小于“m_nDataRows”时,将缓存数据表中nRows后面的记录删除,更新“m_nDataRows”值,并设置表的行数。In the above embodiment, each column of the cache data table is represented by the variable F%d, %d is equal to the total number of columns minus 1, and the total number of columns of the cache data table is the value of the variable m_nCols; the number of columns of the cache data table is consistent with the number of columns of the table, and a column object is established in the cache data table for each column of the table; the rows of the cache data table are set with two variables nRows and m_nDataRows. When "nRows" is less than "m_nDataRows", the records after nRows in the cache data table are deleted, the "m_nDataRows" value is updated, and the number of rows of the table is set.

在该实施例中,如图2所示,通过在缓冲数据表中通过F%d来对列进行定义,%d等于总列数减1的值,同时定义缓存数据表中的总列数为m_nCols的值,缓冲数据表中的列数和表格的列数一致,且缓存数据表中的针对表格中的每一列均设有一个列的对象,从而使得缓存数据表中的数据与表格中的数据能够对应。同样的缓存数据表的行设置有两个变量nRows和m_nDataRows,当“nRows”小于“m_nDataRows”时,将缓存数据表中nRows后面的记录删除,更新“m_nDataRows”值,并设置表的行数,从而实现缓存数据表中的行数据始终与表格中的行数据保持一致。In this embodiment, as shown in FIG. 2 , by defining the columns in the buffer data table through F%d, %d is equal to the value of the total number of columns minus 1, and the total number of columns in the buffer data table is defined as the value of m_nCols, the number of columns in the buffer data table is consistent with the number of columns in the table, and a column object is set for each column in the table in the cache data table, so that the data in the cache data table can correspond to the data in the table. Similarly, the rows of the cache data table are set with two variables nRows and m_nDataRows. When "nRows" is less than "m_nDataRows", the records after nRows in the cache data table are deleted, the "m_nDataRows" value is updated, and the number of rows of the table is set, so that the row data in the cache data table is always consistent with the row data in the table.

在上述实施例中,如图2所示,表格的任一单元格通过变量“nRow”的值和变量“nCol”的值进行表示,目标单元格在缓存数据表中的位置为“nRow”行和“FnCol-1”列的交叉位置;基于表格数据的变更对缓存数据表中的数据进行变更的步骤包括:在目标单元格中的数据变化时,若“nRow”小于“m_nDataRows”时,则通过目标单元格的数据更新缓存数据表中的对应位置的数据;在“nRow”大于“m_nDataRows”时,在缓存数据表中添加相应的空行,然后在缓存数据表中对应的位置插入目标单元格的数据,并更新缓存数据表的“m_nDataRows”值。In the above embodiment, as shown in Figure 2, any cell of the table is represented by the value of the variable "nRow" and the value of the variable "nCol", and the position of the target cell in the cache data table is the intersection of the "nRow" row and the "FnCol-1" column; the step of changing the data in the cache data table based on the change of the table data includes: when the data in the target cell changes, if "nRow" is less than "m_nDataRows", the data at the corresponding position in the cache data table is updated by the data of the target cell; when "nRow" is greater than "m_nDataRows", a corresponding blank row is added to the cache data table, and then the data of the target cell is inserted into the corresponding position in the cache data table, and the "m_nDataRows" value of the cache data table is updated.

在该实施例中,表格的任一单元格通过变量“nRow”的值和变量“nCol”的值进行表示,即通过变量“nRow”的值和变量“nCol”的值能够定位目标单元格在表格中的位置,目标单元格在缓存数据表中的位置为“nRow”行和“FnCol-1”列的交叉位置;从而实现了对单元格的定位。基于表格数据的变更对缓存数据表中的数据进行变更的步骤包括:在目标单元格中的数据变化时,若“nRow”小于“m_nDataRows”时,说明缓冲数据表中的数据的行数要大于表格中的数据的行数,因此需要通过目标单元格的数据更新缓存数据表中的对应位置的数据进而实现缓存数据表与表格的行数对应。在“nRow”大于“m_nDataRows”时,说明缓冲数据表中的数据的行数要小于表格中的数据的行数,因此需要在缓存数据表中添加相应的空行,然后在缓存数据表中对应的位置插入目标单元格的数据,并更新缓存数据表的“m_nDataRows”值,进而实现缓存数据表与表格的行数对应。进而实现了对内存的优化管理,保证了缓存数据表中的表格数量与表格中实际需要的表格数量相匹配,不会产生多余的表格。In this embodiment, any cell of the table is represented by the value of the variable "nRow" and the value of the variable "nCol", that is, the position of the target cell in the table can be located by the value of the variable "nRow" and the value of the variable "nCol", and the position of the target cell in the cache data table is the intersection of the "nRow" row and the "FnCol-1" column; thereby, the cell is located. The step of changing the data in the cache data table based on the change of the table data includes: when the data in the target cell changes, if "nRow" is less than "m_nDataRows", it means that the number of rows of data in the buffer data table is greater than the number of rows of data in the table, so it is necessary to update the data at the corresponding position in the cache data table through the data of the target cell to achieve the correspondence between the number of rows of the cache data table and the table. When "nRow" is greater than "m_nDataRows", it means that the number of rows in the buffered data table is less than the number of rows in the table. Therefore, it is necessary to add a corresponding blank row in the cached data table, insert the data of the target cell at the corresponding position in the cached data table, and update the "m_nDataRows" value of the cached data table, so as to achieve the correspondence between the number of rows in the cached data table and the table. This achieves optimized management of memory, ensures that the number of tables in the cached data table matches the number of tables actually required in the table, and does not generate redundant tables.

在上述实施例中,如图2所示,在获取到表格数据的预设行的数据的读取或显示指令时,如果预设行小于m_nDataRows,则将从缓存数据表查新与预设行对应的数据并记录或显示到预设行中,如果预设行大于m_nDataRows,则返回空值。In the above embodiment, as shown in Figure 2, when the read or display instruction of the data of the preset row of the table data is obtained, if the preset row is less than m_nDataRows, the data corresponding to the preset row will be retrieved from the cache data table and recorded or displayed in the preset row. If the preset row is greater than m_nDataRows, a null value is returned.

在该实施例中,在获取到表格数据的预设行的数据的读取和显示指令时,如预设行小于m_nDataRows,说明表格中的数据存在缓存数据表中不存在的数据,因此需要从缓存数据表查新与预设行对应的数据并记录或显示到预设行中。预设行大于m_nDataRows,则说明缓存数据表中具有多余的数据,因此需要将多余的数据返回空值,使得缓存数据表与表格中的数据保持一致。In this embodiment, when the read and display instructions of the preset row of table data are obtained, if the preset row is less than m_nDataRows, it means that there is data in the table that does not exist in the cache data table, so it is necessary to retrieve the data corresponding to the preset row from the cache data table and record or display it in the preset row. If the preset row is greater than m_nDataRows, it means that there is redundant data in the cache data table, so it is necessary to return the redundant data to a null value so that the cache data table is consistent with the data in the table.

在上述实施例中,表格处理装置包括缓存数据表接口,用于接收外部指令,表格的处理方法包括:基于缓存数据表接口接收的外部指令对缓存数据表的数据进行对应指令的操作,并在操作完成后对表格的数据进行更新。In the above embodiment, the table processing device includes a cache data table interface for receiving external instructions. The table processing method includes: performing operations corresponding to the instructions on the data of the cache data table based on the external instructions received by the cache data table interface, and updating the data of the table after the operation is completed.

在该实施例中,表格的处理装置还包括缓存数据表接口,能够接受外部的指令,表格的处理方法包括:基于缓存数据表接口接收的外部指令对缓存数据表的数据进行对应指令的操作,并在操作完成后对表格的数据进行更新。通过缓冲数据表接口,实现了缓存数据表和表格之间的数据更新,进而实现了表格无需进行数据处理,而数据处理完全在缓存数据表中进行,进而降低了数据的处理时间,提高了数据的处理效率。In this embodiment, the table processing device also includes a cache data table interface, which can accept external instructions. The table processing method includes: based on the external instructions received by the cache data table interface, the data of the cache data table is operated according to the corresponding instructions, and the data of the table is updated after the operation is completed. Through the buffer data table interface, the data update between the cache data table and the table is realized, and then the table does not need to perform data processing, and the data processing is completely performed in the cache data table, thereby reducing the data processing time and improving the data processing efficiency.

在上述实施例中,表格处理装置包括:行数据保存接口和行数据读取接口,通过行数据保存接口能够对表格的数据进行保存;通过行数据读取接口将表格的数据进行传输;将缓存数据表命名为“:memory:”。表格的任一单元格兼容char、string、int、double、CString中的任一数据类型的操作;和/或同时对应写入函数,可以读取多种类型的单元格数据进行处理使用。In the above embodiment, the table processing device includes: a row data saving interface and a row data reading interface, through which the table data can be saved; through which the table data can be transmitted; and the cache data table is named ":memory:". Any cell of the table is compatible with any data type operation of char, string, int, double, CString; and/or corresponds to a write function at the same time, and can read multiple types of cell data for processing and use.

在该实施例中,表格处理装置包括:行数据保存接口和行数据读取接口,由于表格不进行数据处理,因此需要通过行数据保存接口和行数据读取接口,将表格中的数据导入缓冲数据表中或者读取缓冲数据表中的数据。通过定义行数据保存接口和行数据读取接口,在进行数据的读写时,可按照行的排列进行读取和保存,从而实现对行数据的快速读写。其中将缓冲数据表命名为“:memory:”,进而实现在内存中建立缓存数据表的作用。表格的任一单元格兼容char、string、int、double、CString中的任一数据类型的操作;和/或同时对应写入函数,可以读取多种类型的单元格数据进行处理使用,从而提高了表格的实用性,同时对百万级和千万级的数据进行处理时,无需采用特殊的算法进行处理。In this embodiment, the table processing device includes: a row data saving interface and a row data reading interface. Since the table does not perform data processing, it is necessary to import the data in the table into the buffer data table or read the data in the buffer data table through the row data saving interface and the row data reading interface. By defining the row data saving interface and the row data reading interface, when reading and writing data, it can be read and saved according to the arrangement of rows, thereby realizing fast reading and writing of row data. The buffer data table is named ":memory:", thereby realizing the role of establishing a cache data table in memory. Any cell of the table is compatible with operations of any data type in char, string, int, double, and CString; and/or corresponds to a write function at the same time, and can read multiple types of cell data for processing and use, thereby improving the practicality of the table. At the same time, when processing data in the millions and tens of millions, there is no need to use special algorithms for processing.

进一步地,定义所述行数据保存接口为voidSetRowText(intnRow,vector<string>sTextArray);和/或定义所述行数据保存接口为void SetRowText(intnRow,map<int,string>sTextArray);定义所述行数据读取接口为vector<string>GetRowText(intnRow);和/或定义所述行数据读取接口为vector<CString>GetRowString(intnRow)。通过定义不同的行数据保存接口和行数据读取接口,进而使得用户可根据需要设置不同的行数据保存接口和行数据读取接口,进而实现了对不同的处理设备的匹配,提高了本申请的适用性。Furthermore, the row data saving interface is defined as void SetRowText(intnRow, vector<string> sTextArray); and/or the row data saving interface is defined as void SetRowText(intnRow, map<int, string> sTextArray); the row data reading interface is defined as vector<string> GetRowText(intnRow); and/or the row data reading interface is defined as vector<CString> GetRowString(intnRow). By defining different row data saving interfaces and row data reading interfaces, users can set different row data saving interfaces and row data reading interfaces as needed, thereby achieving matching with different processing devices and improving the applicability of the present application.

在本说明书中,术语“多个”则指两个或两个以上,除非另有明确的限定。术语“安装”、“相连”、“连接”、“固定”等术语均应做广义理解,例如,“连接”可以是固定连接,也可以是可拆卸连接,或一体地连接;“相连”可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。In this specification, the term "plurality" means two or more than two, unless otherwise clearly defined. The terms "installed", "connected", "connected", "fixed" and the like should be understood in a broad sense. For example, "connected" can be a fixed connection, a detachable connection, or an integral connection; "connected" can be a direct connection or an indirect connection through an intermediate medium. For those of ordinary skill in the art, the specific meanings of the above terms in the present invention can be understood according to the specific circumstances.

在本说明书的描述中,术语“一个实施例”、“一些实施例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或实例。而且,描述的具体特征、结构、材料或特点可以在任何的一个或多个实施例或示例中以合适的方式结合。In the description of this specification, the description of the terms "one embodiment", "some embodiments", etc. means that the specific features, structures, materials or characteristics described in conjunction with the embodiment or example are included in at least one embodiment or example of the present invention. In this specification, the schematic representation of the above terms does not necessarily refer to the same embodiment or example. Moreover, the specific features, structures, materials or characteristics described can be combined in any one or more embodiments or examples in a suitable manner.

以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。The above are only preferred embodiments of the present invention and are not intended to limit the present invention. For those skilled in the art, the present invention may have various modifications and variations. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present invention shall be included in the protection scope of the present invention.

Claims (10)

1.一种表格的处理方法,其特征在于,包括:1. A table processing method, characterized by comprising: 生成表格;Generate a table; 在内存上建立一个与所述表格对应的缓存数据表;Establishing a cache data table corresponding to the table in the memory; 将表格中的数据对应储存在所述缓存数据表中,并基于所述表格数据的变更对所述缓存数据表中的数据进行变更;The data in the table are stored in the cache data table accordingly, and the data in the cache data table are changed based on the change of the table data; 在接收到所述表格中的预设操作指令时,基于所述预设操作指令对所述缓存数据表中的数据执行预设操作,并通过执行预设操作后的数据对所述表格中的数据进行更新。When a preset operation instruction in the table is received, a preset operation is performed on the data in the cache data table based on the preset operation instruction, and the data in the table is updated by the data after the preset operation is performed. 2.根据权利要求1所述的表格的处理方法,其特征在于,所述在接收到所述表格中的预设操作指令时,基于所述预设操作指令对所述缓存数据表中的数据执行预设操作,并通过执行预设操作后的数据对所述表格中的数据进行更新的步骤包括:2. The table processing method according to claim 1, characterized in that the step of performing a preset operation on the data in the cache data table based on the preset operation instruction upon receiving the preset operation instruction in the table, and updating the data in the table by the data after performing the preset operation comprises: 在接收到排序指令后,将缓存数据表中的数据读取出来,并按照所述排序指令表示的排序方式进行排序,并将排序后的数据保存为排序索引表;After receiving the sorting instruction, the data in the cache data table is read out, and sorted according to the sorting method indicated by the sorting instruction, and the sorted data is saved as a sorting index table; 在从所述表格中获取到排序指令后,基于所述排序索引表的数据对所述表格中的数据进行更新。After the sorting instruction is obtained from the table, the data in the table is updated based on the data in the sorting index table. 3.根据权利要求1所述的表格的处理方法,其特征在于,在接收到对所述表格数据的变更处理时,在所述缓存数据表中依次建立与所述更变处理对应的变更索引表,所述在接收到所述表格中的预设操作指令时,基于所述预设操作指令对所述缓存数据表中的数据执行预设操作,并通过执行预设操作后的数据对所述表格中的数据进行更新的步骤包括:3. The table processing method according to claim 1 is characterized in that, when a change process to the table data is received, a change index table corresponding to the change process is sequentially established in the cache data table, and when a preset operation instruction in the table is received, a preset operation is performed on the data in the cache data table based on the preset operation instruction, and the data in the table is updated by the data after the preset operation is performed, the step comprises: 在接收到所述表格中的预设操作指令时,基于所述预设操作指令在所述缓存数据表中查找对应的变更索引表,利用查找到的变更索引表中的数据对所述表格中的数据进行更新。When the preset operation instruction in the table is received, the corresponding change index table is searched in the cache data table based on the preset operation instruction, and the data in the table is updated using the data in the searched change index table. 4.根据权利要求3所述的表格的处理方法,其特征在于,4. The table processing method according to claim 3, characterized in that: 定义变量“m_nCurTable”为用于存储所述当前表格的数据表索引,Define the variable "m_nCurTable" as the data table index for storing the current table. 定义“m_nCurTable--”为存储所述当前表格上一步数据表索引,所述预设操作指令包括撤销指令和重做指令,"m_nCurTable--" is defined as storing the previous data table index of the current table. The preset operation instructions include undo instructions and redo instructions. 当接收到所述撤销指令时,根据所述“m_nCurTable--”对应的数据表对所述表格的数据进行更新,并将所述“m_nCurTable--”重新定义所述“m_nCurTable”;When the cancellation instruction is received, the data of the table is updated according to the data table corresponding to the "m_nCurTable--", and the "m_nCurTable--" is redefined as the "m_nCurTable"; 定义“m_nCurTable++”为所述“m_nCurTable”下一步的数据表索引,当接收到所述重做指令时,根据所述“m_nCurTable++”的对应的数据表对所述表格的数据进行更新,并将所述“m_nCurTable++”重新定义所述“m_nCurTable”。Define "m_nCurTable++" as the next data table index of the "m_nCurTable". When the redo instruction is received, update the data of the table according to the corresponding data table of the "m_nCurTable++", and redefine the "m_nCurTable++". 5.根据权利要求1至4中任一项所述的表格的处理方法,其特征在于,5. The table processing method according to any one of claims 1 to 4, characterized in that: 所述缓存数据表的每个列通过变量F%d表示,%d等于总列数减1的值,所述缓存数据表的总列数为变量m_nCols的值;Each column of the cache data table is represented by a variable F%d, where %d is equal to the total number of columns minus 1, and the total number of columns of the cache data table is the value of the variable m_nCols; 所述缓存数据表的列数与所述表格的列数一致,在所述缓存数据表中针对所述表格的每一列均建立有一个列对象;The number of columns of the cache data table is consistent with the number of columns of the table, and a column object is established in the cache data table for each column of the table; 所述缓存数据表的行设置有两个变量nRows和m_nDataRows,当“nRows”小于“m_nDataRows”时,将所述缓存数据表中nRows后面的记录删除,更新“m_nDataRows”值,并设置表的行数。The rows of the cache data table are set with two variables nRows and m_nDataRows. When "nRows" is less than "m_nDataRows", the records after nRows in the cache data table are deleted, the value of "m_nDataRows" is updated, and the number of rows of the table is set. 6.根据权利要求5所述的表格的处理方法,其特征在于,6. The table processing method according to claim 5, characterized in that: 所述表格的任一单元格通过变量“nRow”的值和变量“nCol”的值进行表示,所述目标单元格在所述缓存数据表中的位置为“nRow”行和“FnCol-1”列的交叉位置;Any cell of the table is represented by the value of the variable "nRow" and the value of the variable "nCol", and the position of the target cell in the cache data table is the intersection of the row "nRow" and the column "FnCol-1"; 所述基于所述表格数据的变更对所述缓存数据表中的数据进行变更的步骤包括:The step of changing the data in the cache data table based on the change of the table data includes: 在所述目标单元格中的数据变化时,若“nRow”小于“m_nDataRows”时,则通过所述目标单元格的数据更新缓存数据表中的对应位置的数据;When the data in the target cell changes, if "nRow" is less than "m_nDataRows", the data at the corresponding position in the cache data table is updated by the data in the target cell; 在“nRow”大于“m_nDataRows”时,在所述缓存数据表中添加相应的空行,然后在所述缓存数据表中对应的位置插入所述目标单元格的数据,并更新缓存数据表的“m_nDataRows”值。When "nRow" is greater than "m_nDataRows", a corresponding blank row is added to the cache data table, and then the data of the target cell is inserted into the corresponding position in the cache data table, and the "m_nDataRows" value of the cache data table is updated. 7.根据权利要求5所述的表格的处理方法,其特征在于,还包括:7. The table processing method according to claim 5, further comprising: 在获取到表格数据的预设行的数据的读取或显示指令时,如果所述预设行小于m_nDataRows,则将从所述缓存数据表查新与所述预设行对应的数据并记录或显示到所述预设行中,如果所述预设行大于m_nDataRows,则返回空值。When an instruction to read or display data of a preset row of table data is obtained, if the preset row is less than m_nDataRows, the data corresponding to the preset row will be retrieved from the cache data table and recorded or displayed in the preset row; if the preset row is greater than m_nDataRows, a null value will be returned. 8.根据权利要求1至7中任一项所述的表格的处理方法,其特征在于,所述表格处理装置包括缓存数据表接口,用于接收外部指令,所述表格的处理方法包括:8. The table processing method according to any one of claims 1 to 7, characterized in that the table processing device comprises a cache data table interface for receiving external instructions, and the table processing method comprises: 基于所述缓存数据表接口接收的外部指令对所述缓存数据表的数据进行对应指令的操作,并在操作完成后对所述表格的数据进行更新。Based on the external instruction received by the cache data table interface, an operation corresponding to the instruction is performed on the data in the cache data table, and the data in the table is updated after the operation is completed. 9.根据权利要求1至7中任一项所述的表格的处理方法,其特征在于,所述表格处理装置包括:行数据保存接口和行数据读取接口,通过所述行数据保存接口能够对所述表格的数据进行保存;通过所述行数据读取接口将所述表格的数据进行传输。9. A table processing method according to any one of claims 1 to 7, characterized in that the table processing device comprises: a row data saving interface and a row data reading interface, through which the data of the table can be saved; and through which the data of the table can be transmitted. 10.根据权利要求1至7中任一项所述的表格的处理方法,其特征在于,10. The table processing method according to any one of claims 1 to 7, characterized in that: 将所述缓存数据表命名为“:memory:”;Name the cache data table ":memory:"; 所述表格的任一单元格兼容char、string、int、double、CString中的任一数据类型的操作;和/或Any cell of the table is compatible with any data type operation of char, string, int, double, CString; and/or 同时对应写入函数,可以读取多种类型的单元格数据进行处理使用。At the same time, corresponding to the write function, various types of cell data can be read for processing.
CN202211394358.8A 2022-11-08 2022-11-08 How to process the table Pending CN118036579A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211394358.8A CN118036579A (en) 2022-11-08 2022-11-08 How to process the table

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211394358.8A CN118036579A (en) 2022-11-08 2022-11-08 How to process the table

Publications (1)

Publication Number Publication Date
CN118036579A true CN118036579A (en) 2024-05-14

Family

ID=90992065

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211394358.8A Pending CN118036579A (en) 2022-11-08 2022-11-08 How to process the table

Country Status (1)

Country Link
CN (1) CN118036579A (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110087954A1 (en) * 2009-10-09 2011-04-14 Microsoft Corporation Data analysis expressions
CN109829144A (en) * 2018-12-28 2019-05-31 陈德芹 A kind of across table reference method and device of online table
US20190171748A1 (en) * 2017-12-04 2019-06-06 Palantir Technologies Inc. Query-based time-series data display and processing system
CN114707478A (en) * 2022-06-06 2022-07-05 飞腾信息技术有限公司 Mapping table generation method, device, equipment and storage medium

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110087954A1 (en) * 2009-10-09 2011-04-14 Microsoft Corporation Data analysis expressions
CN102782675A (en) * 2009-10-09 2012-11-14 微软公司 Data analysis expression
US20190171748A1 (en) * 2017-12-04 2019-06-06 Palantir Technologies Inc. Query-based time-series data display and processing system
CN109829144A (en) * 2018-12-28 2019-05-31 陈德芹 A kind of across table reference method and device of online table
CN114707478A (en) * 2022-06-06 2022-07-05 飞腾信息技术有限公司 Mapping table generation method, device, equipment and storage medium

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
曹凤海 等: "海量数据电子表格组件的设计与实现", 《物探装备》, vol. 32, no. 2, 30 April 2022 (2022-04-30), pages 89 - 93 *

Similar Documents

Publication Publication Date Title
CN102096644B (en) system and method for permanently deleting file data
US10255235B2 (en) Database storage system based on jukebox and method using the system
US9606746B2 (en) Shiftable memory supporting in-memory data structures
US7689574B2 (en) Index and method for extending and querying index
CN110196847A (en) Data processing method and device, storage medium and electronic device
CN107766374B (en) Optimization method and system for storage and reading of massive small files
US9431074B2 (en) Shiftable memory supporting bimodal storage
CN112632070B (en) Method and device for storing and copying massive diversified complex spacecraft simulation data
US8275812B2 (en) Method to reduce wasted character data areas of java strings
CN110109894A (en) Implementation method, device, storage medium and the equipment of non-relational database
CN103336828B (en) Real-time data base is read and wiring method
CN112783927B (en) Database query method and system
CN109947705B (en) System and method for accessing petroleum engineering data
JP2656524B2 (en) Data storage method and device
CN119127867B (en) LSM-Tree key value storage system for establishing query index by using bottom layer information
CN118036579A (en) How to process the table
CN108984719B (en) Data deleting method and device based on column storage, server and storage medium
US7319653B2 (en) Methods for recording data to optical media
US12141103B2 (en) File system metadata layout for append-only storage
CN101118543A (en) Storage device and method
CN116910035A (en) Distributed memory database management system
JP5354606B2 (en) Data storage device and method and program, and data search device and method and program
CN113448771A (en) Memory controller and data processing method
CN117540056B (en) Method, device, computer equipment and storage medium for data query
TWI475419B (en) Method and system for accessing files on a storage system

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination