CN108920092B - Data operation method and device of memory data and electronic equipment - Google Patents
Data operation method and device of memory data and electronic equipment Download PDFInfo
- Publication number
- CN108920092B CN108920092B CN201810426874.1A CN201810426874A CN108920092B CN 108920092 B CN108920092 B CN 108920092B CN 201810426874 A CN201810426874 A CN 201810426874A CN 108920092 B CN108920092 B CN 108920092B
- Authority
- CN
- China
- Prior art keywords
- cache table
- data
- identifier
- slave
- cache
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
The embodiment of the invention provides a data operation method and device of memory data and electronic equipment. Wherein the method comprises the following steps: when a write operation instruction is received, executing data write operation indicated by the write operation instruction on a main cache table in a preset memory data cache table group; after the data writing operation is executed on the main cache table, the data content in the main cache table is fully synchronized to a slave cache table with a writing identifier; after synchronization is completed, interchanging the identifications of the two slave cache tables; when a read operation instruction is received, executing data query operation indicated by the read operation instruction on a cache table with a read identification. According to the scheme, the memory occupancy rate can be reduced on the premise that the network has high performance and high concurrent processing capacity.
Description
Technical Field
The present invention relates to the field of computer application technologies, and in particular, to a data operation method and apparatus for memory data, and an electronic device.
Background
The hash table belonging to the memory data cache table is a representation of the memory data. The hash table is a data structure directly accessed from a Key value (Key value), and specifically, it accesses a record by mapping the Key value to a position in the table to speed up the lookup.
Data operations directed to memory data include writes and queries of memory data. In a multi-core/multi-thread system environment, because the multi-core/multi-thread needs to consider the relation between synchronization and contention in the process of using the hash table, the read-write synchronization is usually realized by adding a read-write lock or a spin lock to the hash table. Adding a hash table of a read-write lock or a spin lock, and when data is written, the data cannot be inquired when the data is in a locked state; at the time of data inquiry, data writing cannot be performed in the locked state as well.
In practical applications, when a network requires high-performance and high-concurrency processing capability, the locked hash table often becomes a bottleneck of performance. In order to enable a network to have high-performance processing capability, the existing processing method is to implement synchronization of hash table data by means of a lock-free means, so that reading and writing of data in the hash table are more efficient. Taking Address Resolution Protocol (ARP) related information stored in a hash table as an example, in order to enable a network to have high-performance processing capability, in a multi-core/multi-thread system environment, a table storing ARP related information is designed to maintain one hash table for each core/thread, and after the hash table of one core/thread is updated, the updated data content needs to be synchronized (written) into the hash tables of other cores/threads, so that the hash tables are queried by the other cores/threads more efficiently, wherein a specific data synchronization method can be implemented by using an unlocked ring queue.
However, the inventor finds that the prior art has at least the following problems in the process of implementing the invention:
in order to enable a network to have high-performance processing capacity, in a multi-core/multi-thread system environment, each core/thread maintains one hash table, the number of hash tables to be maintained is large, and the occupied memory is large.
Disclosure of Invention
The embodiment of the invention aims to provide a data operation method and device of memory data and electronic equipment, so as to reduce the memory occupancy rate on the premise of ensuring that a network has high performance and high concurrent processing capacity. The specific technical scheme is as follows:
in a first aspect, an embodiment of the present invention provides a data operation method for memory data, where the method includes:
when a write operation instruction is received, executing data write operation indicated by the write operation instruction on a main cache table in a preset memory data cache table group; the memory data cache table group comprises a main cache table and two slave cache tables, wherein the identifier of one table in the two slave cache tables is a write identifier, and the identifier of the other table is a read identifier;
after the data writing operation is executed on the main cache table, the data content in the main cache table is fully synchronized to a slave cache table with a writing identifier;
after synchronization is completed, interchanging the identifications of the two slave cache tables;
when a read operation instruction is received, executing data query operation indicated by the read operation instruction on a cache table with a read identification.
Optionally, the determining method of each table in the memory data cache table group includes:
determining a memory data cache table generated in the initialization process as a main cache table;
and copying the main cache table twice to obtain two slave cache tables, setting the identifier of one of the two slave cache tables as a read identifier, and setting the identifier of the other slave cache table as a write identifier.
Optionally, the step of copying the master cache table twice to obtain two slave cache tables, setting an identifier of one of the two slave cache tables as a read identifier, and setting an identifier of the other table as a write identifier includes:
copying the main cache table twice to obtain two slave cache tables, and initializing the reference count of the two slave cache tables to be 0;
setting the mark of one table of the two slave cache tables as a read mark, and setting the mark of the other table as a write mark;
the step of interchanging the identifications of the two slave cache tables comprises:
interchanging the identifications and reference counts of the two slave cache tables;
the method further comprises the following steps:
and in the process of executing the data query operation indicated by the read operation instruction on the slave cache table with the read identification, adding 1 to the reference count of the slave cache table with the read identification, and when the query is finished, restoring the reference count of the slave cache table with the reference count added by 1 to 0.
Optionally, after the data writing operation is performed on the primary cache table, the step of synchronizing the entire data content in the primary cache table to the secondary cache table with the write identifier includes:
after the data writing operation is executed on the main cache table, judging whether the reference count of the secondary cache table with the writing identification is 0 or not;
if the reference count of the secondary cache table with the write identifier is 0, synchronizing the data content in the primary cache table to the secondary cache table with the write identifier in a full amount manner;
if the reference count of the secondary cache table with the write identifier is not 0, after the reference count of the secondary cache table with the write identifier is 0, synchronizing the whole data content in the primary cache table into the secondary cache table with the write identifier.
Optionally, the step of executing the data write operation indicated by the write operation instruction to the main cache table in the preset memory data cache table group includes:
and detecting whether the main cache table is in a writing or inquiring state, and executing the data writing operation indicated by the writing operation instruction when the main cache table is not in the writing or inquiring state.
Optionally, the method further includes:
and if the data which needs to be searched is not searched in the secondary cache table with the read identification, executing the data query operation indicated by the read operation instruction to the primary cache table.
Optionally, the step of performing the data query operation indicated by the read operation instruction on the primary cache table includes:
and detecting whether the main cache table is in a writing state, and executing data query operation indicated by the read operation instruction on the main cache table when the main cache table is not in the writing state.
In a second aspect, an embodiment of the present invention further provides a data operating apparatus for storing data, where the apparatus includes:
the data writing module is used for executing data writing operation indicated by a writing operation instruction to a main cache table in a preset memory data cache table group when the writing operation instruction is received; the memory data cache table group comprises a main cache table and two slave cache tables, wherein the identifier of one table in the two slave cache tables is a write identifier, and the identifier of the other table is a read identifier;
the data synchronization module is used for synchronizing the data content in the main cache table to the slave cache table with the write identifier in a full amount after the data write operation is executed on the main cache table;
the identification interchange module is used for interchanging the identifications of the two slave cache tables after synchronization is completed;
and the first query module is used for executing the data query operation indicated by the read operation instruction to the cache table with the read identification when the read operation instruction is received.
Optionally, the apparatus further comprises: a determination module;
the determining module is specifically configured to:
determining a memory data cache table generated in the initialization process as a main cache table;
and copying the main cache table twice to obtain two slave cache tables, setting the identifier of one of the two slave cache tables as a read identifier, and setting the identifier of the other slave cache table as a write identifier.
Optionally, the apparatus further comprises: initializing a module;
the initialization module is specifically configured to:
copying the main cache table twice to obtain two slave cache tables, and initializing the reference count of the two slave cache tables to be 0;
setting the mark of one table of the two slave cache tables as a read mark, and setting the mark of the other table as a write mark;
the identification interchange module is specifically configured to: interchanging the identifications and reference counts of the two slave cache tables;
the device further comprises: a counting module;
the counting module is specifically configured to: and in the process of executing the data query operation indicated by the read operation instruction on the slave cache table with the read identification, adding 1 to the reference count of the slave cache table with the read identification, and when the query is finished, restoring the reference count of the slave cache table with the reference count added by 1 to 0.
Optionally, the data synchronization module is specifically configured to:
after the data writing operation is executed on the main cache table, judging whether the reference count of the secondary cache table with the writing identification is 0 or not;
if the reference count of the secondary cache table with the write identifier is 0, synchronizing the data content in the primary cache table to the secondary cache table with the write identifier in a full amount manner;
if the reference count of the secondary cache table with the write identifier is not 0, after the reference count of the secondary cache table with the write identifier is 0, synchronizing the whole data content in the primary cache table into the secondary cache table with the write identifier.
Optionally, the data writing module is specifically configured to:
and detecting whether the main cache table is in a writing or inquiring state, and executing the data writing operation indicated by the writing operation instruction when the main cache table is not in the writing or inquiring state.
Optionally, the apparatus further comprises: a second query module;
and the second query module is used for executing the data query operation indicated by the read operation instruction to the primary cache table if the data to be searched is not queried in the secondary cache table with the read identification.
Optionally, the second query module is specifically configured to:
and detecting whether the main cache table is in a writing state, and executing data query operation indicated by the read operation instruction on the main cache table when the main cache table is not in the writing state.
In a third aspect, an embodiment of the present invention further provides an electronic device, which is characterized by including a processor, a communication interface, a memory, and a communication bus, where the processor and the communication interface complete communication between the memory and the processor through the communication bus;
a memory for storing a computer program;
the processor is configured to implement the data manipulation method for the memory data according to the first aspect when executing the program stored in the memory.
In a fourth aspect, an embodiment of the present invention further provides a computer-readable storage medium, where instructions are stored in the computer-readable storage medium, and when the instructions are executed on a computer, the computer is caused to execute the data operation method for memory data according to the first aspect.
In a fifth aspect, an embodiment of the present invention further provides a computer program product including instructions, which when run on a computer, causes the computer to execute a data manipulation method for memory data according to the first aspect.
In the scheme provided by the embodiment of the invention, when a network needs high-performance and high-concurrency processing capability, only three memory data cache tables need to be maintained, data writing operation is executed in a main cache table, data query operation is executed in a secondary cache table with a read identifier, when the main cache table finishes the data writing operation, the data content in the main cache table is fully synchronized to a secondary cache table with a write identifier, and the identifiers of the two secondary cache tables are interchanged after the synchronization is finished. Compared with the prior art, the scheme does not need to maintain the memory data cache table of each core/thread under the multi-core/multi-thread system environment, the number of the memory data cache tables is irrelevant to the number of the cores/threads, and the memory space is saved, so that the memory occupancy rate can be reduced on the premise of ensuring that the network has high performance and high concurrent processing capacity. And moreover, the process of synchronizing the data contents in the memory data cache table is simplified, the synchronization difficulty is reduced, the data query operation is not locked, and the high-performance and high-concurrency processing capability of the network is improved.
Of course, it is not necessary for any product or method of practicing the invention to achieve all of the above-described advantages at the same time.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings used in the description of the embodiments or the prior art will be briefly described below.
Fig. 1 is a flowchart of a data operation method of memory data according to an embodiment of the present invention;
fig. 2 is a schematic diagram illustrating logic between cache table sets according to an embodiment of the present invention;
fig. 3 is a flowchart of another data operation method for memory data according to an embodiment of the present invention;
fig. 4 is a schematic structural diagram of a data operation apparatus for storing data according to an embodiment of the present invention;
fig. 5 is a schematic structural diagram of an electronic device according to an embodiment of the present invention.
Detailed Description
The technical solutions in the embodiments of the present invention will be described below with reference to the drawings in the embodiments of the present invention.
In order to reduce the memory occupancy rate on the premise of ensuring that the network has high performance and high concurrent processing capacity, the embodiment of the invention provides a data operation method and device of memory data and electronic equipment.
First, a data operation method of memory data provided in an embodiment of the present invention is described below.
It should be noted that the data operation method for memory data provided in the embodiment of the present invention may be applied to an electronic device, and a system environment of the electronic device may be a multi-core/multi-thread environment, which is not limited to this.
In addition, the memory data targeted by the data operation method of the memory data provided in the embodiment of the present invention may be any memory data stored in a computer, and the types of the memory data targeted by the embodiment of the present invention are not limited herein, for example: the memory data may be ARP related information, but is not limited thereto. In addition, the memory data cache table according to the embodiment of the present invention may be a hash table or an ARP table, but is not limited thereto.
In addition, in order to solve the problem in the prior art, in the embodiment of the present invention, a memory data cache table group may be preset, where the memory data cache table group includes a master cache table and two slave cache tables, and an identifier of one table in the two slave cache tables is a write identifier, and an identifier of the other table is a read identifier. Specifically, the determining method of each table in the memory data cache table group may include:
determining a memory data cache table generated in the initialization process as a main cache table;
and copying the main cache table twice to obtain two slave cache tables, setting the identifier of one of the two slave cache tables as a read identifier, and setting the identifier of the other slave cache table as a write identifier.
Optionally, in a specific implementation manner, determining the memory data cache table generated in the initialization process as the primary cache table may include:
when the network initialization is detected to be completed, the memory data cache table generated in the initialization process can be directly determined as the main cache table.
Optionally, in another specific implementation manner, determining the memory data cache table generated in the initialization process as the primary cache table may include:
in the data processing process, the memory data cache table generated in the network initialization process is determined as a main cache table. The memory data cache table may be a memory data cache table generated in the network initialization process, but the content related to the stored data is updated, and the memory data cache table is an updated memory data cache table.
Correspondingly, the process of copying the master cache table twice to obtain two slave cache tables may be: when the network initialization is detected to be completed, the memory data cache table generated in the initialization process is determined as a main cache table, and then the determined main cache table is copied twice to obtain two auxiliary cache tables. Or in the data processing process, determining the memory data cache table generated in the initialization process as a main cache table, then judging whether to execute data writing operation in the main cache table, if so, copying the main cache table twice after finishing the data writing operation in the main cache table to obtain two auxiliary cache tables; if not, the main cache table is directly copied twice to obtain two auxiliary cache tables. After obtaining the two slave cache tables, respectively identifying the two slave cache tables, wherein one slave cache table has a write identifier, and the other slave cache table specifically reads the identifier.
It should be noted that the specific determination manner of each table in the cache table group is only used as an example, and should not be construed as a limitation to the embodiment of the present invention.
As shown in fig. 1, fig. 1 is a flowchart of a data operation method of memory data according to an embodiment of the present invention, where the method includes the following steps:
s101, when a write operation instruction is received, executing data write operation indicated by the write operation instruction on a main cache table in a preset memory data cache table group;
the memory data cache table group comprises a main cache table and two slave cache tables, wherein the identifier of one table in the two slave cache tables is a write identifier, and the identifier of the other table is a read identifier. For the determination of each table in the preset memory data cache table set, see the above description.
Specifically, when a write operation instruction is received, an optional implementation manner of executing a data write operation indicated by the write operation instruction on a main cache table in a preset memory data cache table group is as follows:
and detecting whether the main cache table is in a writing or inquiring state, and executing the data writing operation indicated by the writing operation instruction when the main cache table is not in the writing or inquiring state.
It is understood that when a write operation command is received, whether the primary cache table is in a data write or query state may be detected. When the main cache table is detected to be in a data writing or inquiring state, the main cache table is in a locking state and cannot write data into the main cache table any more, and only when the data of the main cache table is written or inquired, the locking state of the main cache table is released, and the data can be written into the main cache table. When the primary cache table is detected not to be in a data writing or querying state, data can be written into the primary cache table.
And the specific type of the write operation instruction is matched with the specific application scene. Taking the ARP table storing the relevant content of the address resolution protocol as an example, the write operation instruction may be: receiving an ARP response, an ARP request timeout or a manually modified instruction, etc. Of course, the present invention is only described by taking the form of the above-mentioned write operation command as an example, and the write operation command in practical application is not limited to this.
S102, after the data writing operation is executed on the main cache table, the data content in the main cache table is fully synchronized to the secondary cache table with the writing identification.
After the primary cache table performs the data writing operation, the data content in the primary cache table may be fully synchronized to the secondary cache table with the writing identification. It is emphasized that the data write operation may be a new writing of part of the data content, or a modification of part of the data content. It is within the scope of the embodiments of the present invention that the data content in the primary cache table is changed, and the specific data writing operation mode of the embodiments of the present invention is not limited herein.
S103, after the synchronization is completed, the identifications of the two slave cache tables are interchanged.
After the data content in the master cache table is completely synchronized to the slave cache table with the write identifier, the identifiers of the two slave cache tables can be interchanged, that is, the identifier of the slave cache table originally with the write identifier is modified to have the read identifier, and the identifier of the slave cache table originally with the read identifier is modified to have the write identifier.
It should be noted that, the data content in the master cache table is fully synchronized to the slave cache table with the write identifier, and the data content included in the slave cache table with the write identifier after synchronization is completely consistent with the data content included in the master cache table. After the identifications of the two slave cache tables are interchanged, the data content contained in the slave cache table with the read identification is completely consistent with the data content contained in the master cache table, so that the data content of the slave cache table with the read identification is consistent with the data content of the master cache table, and the synchronization of user data query is realized.
S104, when receiving the read operation instruction, executing the data query operation indicated by the read operation instruction to the cache table with the read identification.
When receiving the read operation instruction, executing the data query operation indicated by the read operation instruction to the buffer table with the read identification, and if the data to be searched is queried in the buffer table with the read identification, finishing the query operation.
Optionally, the method provided in the embodiment of the present invention may further include:
and if the data which needs to be searched is not searched in the secondary cache table with the read identification, executing the data query operation indicated by the read operation instruction to the primary cache table.
When a read operation instruction is received, performing data query operation indicated by the read operation instruction on the secondary cache table with the read identification, and if the data to be searched is not queried in the secondary cache table with the read identification, performing the data query operation indicated by the read operation instruction on the primary cache table. In addition, an alternative implementation manner may also be that, when the data to be searched is not searched in the primary cache table, the data is not searched in response, or a query request is sent to the server. Of course, the present invention is only described by taking the above implementation method as an example, and the method for executing data query in practical application is not limited to this.
Specifically, in the embodiment of the present invention, an optional implementation manner of performing the data query operation indicated by the read operation instruction on the primary cache table is as follows:
and detecting whether the main cache table is in a writing state, and executing data query operation indicated by the read operation instruction on the main cache table when the main cache table is not in the writing state.
When the data query operation indicated by the read operation instruction is executed on the primary cache table, whether the primary cache table is in a data write state may be detected first. When the main cache table is detected to be in a data writing state, the main cache table is in a locking state and cannot be queried, when the data of the main cache table is written, the locking state of the main cache table is released, and the data can be queried for the main cache table. When the primary cache table is detected not to be in the data writing state, the data can be inquired for the primary cache table.
For convenience of understanding, a schematic diagram of logic among a primary cache table, a secondary cache table with a write identifier, and a secondary cache table with a read identifier in a memory data cache table set may be seen in fig. 2. And executing data writing operation in the main cache table, and executing data query operation in the secondary cache table with the read identification. After the main cache table executes the data writing operation, the data content in the main cache table is fully synchronized to the slave cache table with the writing identification, and the identifications of the two slave cache tables are interchanged after synchronization is completed, so that the data query operation is unlocked.
According to the data operation method of the memory data provided by the embodiment of the invention, when a network needs high-performance and high-concurrency processing capacity, only three memory data cache tables need to be maintained, data writing operation is executed in a main cache table, data query operation is executed in a secondary cache table with a read identifier, when the main cache table executes the data writing operation, the data content in the main cache table is fully synchronized to a secondary cache table with a write identifier, and after synchronization is completed, the identifiers of the two secondary cache tables are interchanged. Compared with the prior art, the scheme does not need to maintain the memory data cache table of each core/thread under the multi-core/multi-thread system environment, the number of the memory data cache tables is irrelevant to the number of the cores/threads, and the memory space is saved, so that the memory occupancy rate can be reduced on the premise of ensuring that the network has high performance and high concurrent processing capacity. And moreover, the process of synchronizing the data contents in the memory data cache table is simplified, the synchronization difficulty is reduced, the data query operation is not locked, and the high-performance and high-concurrency processing capability of the network is improved.
Another data operation method for memory data provided by the embodiments of the present invention is described below.
It should be noted that another data operation method for memory data provided in the embodiment of the present invention may be applied to an electronic device, and a system environment of the electronic device may be a multi-core/multi-thread environment, which is not limited to this.
In the embodiment of the present invention, a memory data cache table group may be preset, where the memory data cache table group includes a main cache table and two slave cache tables, and an identifier of one of the two slave cache tables is a write identifier, and an identifier of the other table is a read identifier. Specifically, the determination method of each table in the memory data cache table set may refer to the above description, and is not described herein again.
Specifically, after determining the master cache table, copying the master cache table twice to obtain two slave cache tables, and setting an identifier of one of the two slave cache tables as a read identifier and an identifier of the other table as a write identifier, which may include:
copying the main cache table twice to obtain two slave cache tables, and initializing the reference count of the two slave cache tables to be 0;
and setting the identifier of one table in the two slave cache tables as a read identifier and the identifier of the other table as a write identifier.
After identification of reference counting is carried out on the secondary cache tables, when the primary cache table finishes data writing operation, the data content in the primary cache table is totally synchronized to the secondary cache table with the writing identification, and after synchronization is finished, the identification and the reference counting of the two secondary cache tables are interchanged. After the exchange, under the condition that the original data query operation in the secondary buffer table with the write identifier is not completed, the data content in the primary buffer table is synchronized to the secondary buffer table with the write identifier again to affect the incomplete data query operation, and specific content will be described in detail below.
As shown in fig. 3, fig. 3 is a flowchart of another data operation method for memory data according to an embodiment of the present invention, where the method includes the following steps:
s301, when a write operation instruction is received, executing data write operation indicated by the write operation instruction to a main cache table in a preset memory data cache table group.
The step of executing the data write operation indicated by the write operation instruction to the main cache table in the preset memory data cache table group includes:
and detecting whether the main cache table is in a writing or inquiring state, and executing the data writing operation indicated by the writing operation instruction when the main cache table is not in the writing or inquiring state.
In the embodiment of the present invention, step S301 may be the same as step S101 in the method shown in fig. 1, and the present invention is not described herein again.
S302, after the data writing operation is executed on the main cache table, the data content in the main cache table is fully synchronized to the secondary cache table with the writing identification.
It will be appreciated that the data write operation may be a new write of a portion of the data content, or a modification of a portion of the data content. It is within the scope of the embodiments of the present invention that the data content in the primary cache table is changed, and the specific data writing operation mode of the embodiments of the present invention is not limited herein.
An optional implementation manner in this embodiment of the present invention is that, after the data write operation is performed on the primary cache table, the step of synchronizing the entire data content in the primary cache table to the secondary cache table with the write identifier may include:
after the data writing operation is executed on the main cache table, judging whether the reference count of the secondary cache table with the writing identification is 0 or not;
if the reference count of the secondary cache table with the write identifier is 0, synchronizing the data content in the primary cache table to the secondary cache table with the write identifier in a full amount manner;
if the reference count of the secondary cache table with the write identifier is not 0, after the reference count of the secondary cache table with the write identifier is 0, synchronizing the whole data content in the primary cache table into the secondary cache table with the write identifier.
It will be appreciated that when each table in the memory data cache table set is just determined to be completed and the data write operation is first performed on the primary cache table, the reference count from the cache table with the write identifier at that time is also an initial value of 0. However, when each table in the memory data cache table group is determined to be completed and the data write operation is not performed on the master cache table for the first time, since the data content in the master cache table is fully synchronized to the slave cache table with the write identifier after the data write operation is performed on the master cache table, the synchronization is completed to interchange the identifiers of the two slave cache tables and also to interchange the reference counts, and at this time, the reference count of the slave cache table with the write identifier may be 0 or not. Specifically, the interchange of the identification and reference count of the two slave cache tables will be described in detail below.
Further, when the data writing operation is not performed on the master cache table for the first time, after the data writing operation is performed on the master cache table, it is required to determine whether the reference count of the slave cache table with the write identifier is 0, and when the reference count of the slave cache table with the write identifier is 0, synchronize the entire data content in the master cache table into the slave cache table with the write identifier; when the reference count of the slave cache table with the write identification is not 0, after the reference count of the slave cache table with the write identification is 0, the data content in the master cache table is fully synchronized into the slave cache table with the write identification.
It is understood that if the reference count of the slave cache table with the write identifier is determined to be 0, it indicates that the slave cache table with the write identifier is not in any state of data query or write, and therefore, the data content in the master cache table can be fully synchronized into the slave cache table with the write identifier.
And if the reference count of the slave cache table with the write identifier is judged not to be 0, the slave cache table with the write identifier is the slave cache table after the slave cache table with the read identifier which is in data query is switched to the identifier, and the slave cache table with the write identifier is in a data query state. Waiting for the data query with the write identifier in the slave cache table being queried to end, and after the reference count of the data query is 0, synchronizing the data content in the master cache table to the slave cache table with the write identifier in full.
And S303, after the synchronization is completed, interchanging the identifications and the reference counts of the two slave cache tables.
After the full synchronization of the data content in the master cache table into the slave cache table with the write identifier is completed, the identifiers of the two slave cache tables may be interchanged, and the reference counts of the two slave cache tables may be interchanged. Modifying the mark of the original slave cache table with the write mark into the mark with the read mark, and modifying the reference count of the original slave cache table with the write mark into the reference count of the original slave cache table with the read mark; and modifying the mark originally having the read mark from the cache table into the mark having the write mark, and modifying the reference count originally having the read mark from the cache table into the reference count originally having the write mark from the cache table.
It can be understood that the data content in the master cache table is fully synchronized to the slave cache table with the write identifier, and the data content contained in the slave cache table with the write identifier after synchronization is completely consistent with the data content contained in the master cache table. After the identifications of the two slave cache tables are interchanged, the data content contained in the slave cache table with the read identification is completely consistent with the data content contained in the master cache table, so that the data content of the slave cache table with the read identification is consistent with the data content of the master cache table, and the synchronization of user data query is realized.
S304, when receiving the read operation instruction, executing the data query operation indicated by the read operation instruction to the cache table with the read identification.
Optionally, after performing the data query operation indicated by the read operation instruction on the cache table with the read identifier, the method in the embodiment of the present invention may further include:
and if the data which needs to be searched is not searched in the secondary cache table with the read identification, executing the data query operation indicated by the read operation instruction to the primary cache table.
The step of performing the data query operation indicated by the read operation instruction on the primary cache table may include:
and detecting whether the main cache table is in a writing state, and executing data query operation indicated by the read operation instruction on the main cache table when the main cache table is not in the writing state.
In the embodiment of the present invention, step S304 may be the same as step S104 in the method shown in fig. 1, and the description of the present invention is omitted here.
S305, in the process of executing the data query operation indicated by the read operation instruction to the slave buffer table with the read identification, adding 1 to the reference count of the slave buffer table with the read identification, and when the query is finished, restoring the reference count of the slave buffer table with the reference count added by 1 to 0.
After obtaining the two slave cache tables, the reference counts of the two slave cache tables may be initialized to 0, and the reference counts of the slave cache tables are saved, so as to identify the two slave cache tables respectively. Then, in the process of executing the data query operation indicated by the read operation instruction to the slave cache table with the read identifier, the reference count of the slave cache table with the read identifier is added by 1, and when the data query is finished, the reference count of the slave cache table with the reference count added by 1 is restored to 0, where the slave cache table with the reference count added by 1 may be the slave cache table with the read identifier or the slave cache table with the write identifier.
According to another data operation method for memory data provided by the embodiment of the invention, when a network needs high-performance and high-concurrency processing capability, only three memory data cache tables need to be maintained, data writing operation is performed in a main cache table, data query operation is performed in a secondary cache table with a read identifier, when the main cache table finishes the data writing operation, the data content in the main cache table is fully synchronized to a secondary cache table with a write identifier, and the identifiers of the two secondary cache tables are interchanged after the synchronization is finished. Compared with the prior art, the scheme does not need to maintain the memory data cache table of each core/thread under the multi-core/multi-thread system environment, the number of the memory data cache tables is irrelevant to the number of the cores/threads, and the memory space is saved, so that the memory occupancy rate can be reduced on the premise of ensuring that the network has high performance and high concurrent processing capacity. And moreover, the process of synchronizing the data contents in the memory data cache table is simplified, the synchronization difficulty is reduced, the data query operation is not locked, and the high-performance and high-concurrency processing capability of the network is improved.
Corresponding to the above data operation method of the memory data, an embodiment of the present invention provides a data operation apparatus of the memory data, as shown in fig. 4, the apparatus may include:
a data writing module 401, configured to, when a write operation instruction is received, execute a data writing operation indicated by the write operation instruction on a main cache table in a preset memory data cache table group; the memory data cache table group comprises a main cache table and two slave cache tables, wherein the identifier of one table in the two slave cache tables is a write identifier, and the identifier of the other table is a read identifier;
a data synchronization module 402, configured to synchronize, after performing a data write operation on the primary cache table, a total amount of data contents in the primary cache table into a secondary cache table with a write identifier;
an identifier interchanging module 403, configured to interchange identifiers of the two slave cache tables after synchronization is completed;
the first query module 404 is configured to, when a read operation instruction is received, perform a data query operation indicated by the read operation instruction on the cache table having the read identifier.
According to the data operation device for the memory data, provided by the embodiment of the invention, when a network needs high-performance and high-concurrency processing capacity, only three memory data cache tables need to be maintained, data writing operation is performed in a main cache table, data query operation is performed in a secondary cache table with a read identifier, after the data writing operation is performed in the main cache table, the data content in the main cache table is fully synchronized to a secondary cache table with a write identifier, and after the synchronization is completed, the identifiers of the two secondary cache tables are interchanged. The data operation device for the memory data provided by the embodiment of the invention does not need to maintain the memory data cache table of each core/thread under the multi-core/multi-thread system environment, the number of the memory data cache tables is irrelevant to the number of the cores/threads, and the memory space is saved, so that the memory occupancy rate can be reduced on the premise of ensuring that the network has high performance and high concurrent processing capacity. And moreover, the process of synchronizing the data contents in the memory data cache table is simplified, the synchronization difficulty is reduced, the data query operation is not locked, and the high-performance and high-concurrency processing capability of the network is improved.
It should be noted that the apparatus according to the embodiment of the present invention is an apparatus corresponding to the data operation method of the memory data shown in fig. 1, and all embodiments of the data operation method of the memory data shown in fig. 1 are applicable to the apparatus and can achieve the same or similar beneficial effects.
Optionally, the data operation device for memory data may further include: a determination module;
the determining module is specifically configured to:
determining a memory data cache table generated in the initialization process as a main cache table;
and copying the main cache table twice to obtain two slave cache tables, setting the identifier of one of the two slave cache tables as a read identifier, and setting the identifier of the other slave cache table as a write identifier.
Optionally, the data operation device for memory data may further include: initializing a module;
the initialization module is specifically configured to:
copying the main cache table twice to obtain two slave cache tables, and initializing the reference count of the two slave cache tables to be 0;
setting the mark of one table of the two slave cache tables as a read mark, and setting the mark of the other table as a write mark;
the identifier interchange module is specifically configured to interchange the identifiers and the reference counts of the two slave cache tables;
the device further comprises: a counting module;
the counting module is specifically configured to: and in the process of executing the data query operation indicated by the read operation instruction on the slave cache table with the read identification, adding 1 to the reference count of the slave cache table with the read identification, and when the query is finished, restoring the reference count of the slave cache table with the reference count added by 1 to 0.
Optionally, the data synchronization module is specifically configured to:
after the data writing operation is executed on the main cache table, judging whether the reference count of the secondary cache table with the writing identification is 0 or not;
if the reference count of the secondary cache table with the write identifier is 0, synchronizing the data content in the primary cache table to the secondary cache table with the write identifier in a full amount manner;
if the reference count of the secondary cache table with the write identifier is not 0, after the reference count of the secondary cache table with the write identifier is 0, synchronizing the whole data content in the primary cache table into the secondary cache table with the write identifier.
Optionally, the data writing module is specifically configured to:
and detecting whether the main cache table is in a writing or inquiring state, and executing the data writing operation indicated by the writing operation instruction when the main cache table is not in the writing or inquiring state.
Optionally, the data operation device for memory data may further include: a second query module;
and the second query module is used for executing the data query operation indicated by the read operation instruction to the primary cache table if the data to be searched is not queried in the secondary cache table with the read identification.
Optionally, the second query module is specifically configured to:
and detecting whether the main cache table is in a writing state, and executing data query operation indicated by the read operation instruction on the main cache table when the main cache table is not in the writing state.
An embodiment of the present invention further provides an electronic device, as shown in fig. 5, which includes a processor 501, a communication interface 502, a memory 503 and a communication bus 504, where the processor 501, the communication interface 502 and the memory 503 complete mutual communication through the communication bus 504,
a memory 503 for storing a computer program;
the processor 501 is configured to implement the method provided by the embodiment of the present invention when executing the program stored in the memory 503.
When a network needs high-performance and high-concurrency processing capability, the electronic device provided by the embodiment of the invention only needs to maintain three memory data cache tables, perform data writing operation in the main cache table, perform data query operation in the secondary cache table with the read identifier, synchronize the whole data content in the main cache table to the secondary cache table with the write identifier after the main cache table performs the data writing operation, and exchange the identifiers of the two secondary cache tables after synchronization. Compared with the prior art, the electronic device provided by the embodiment of the invention does not need to maintain the memory data cache table of each core/thread under the multi-core/multi-thread system environment, the number of the memory data cache tables is irrelevant to the number of the cores/threads, and the memory space is saved, so that the memory occupancy rate can be reduced on the premise of ensuring that the network has high performance and high concurrent processing capability. And moreover, the process of synchronizing the data contents in the memory data cache table is simplified, the synchronization difficulty is reduced, the data query operation is not locked, and the high-performance and high-concurrency processing capability of the network is improved.
The communication bus mentioned in the electronic device may be a Peripheral Component Interconnect (PCI) bus, an Extended Industry Standard Architecture (EISA) bus, or the like. The communication bus may be divided into an address bus, a data bus, a control bus, etc. For ease of illustration, only one thick line is shown, but this does not mean that there is only one bus or one type of bus.
The communication interface is used for communication between the electronic equipment and other equipment.
The Memory may include a Random Access Memory (RAM) or a non-volatile Memory (non-volatile Memory), such as at least one disk Memory. Optionally, the memory may also be at least one memory device located remotely from the processor.
The Processor may be a general-purpose Processor, and includes a Central Processing Unit (CPU), a Network Processor (NP), and the like; the Integrated Circuit may also be a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA) or other Programmable logic device, a discrete Gate or transistor logic device, or a discrete hardware component.
In another embodiment of the present invention, a computer-readable storage medium is further provided, where instructions are stored, and when the instructions are executed on a computer, the computer is enabled to execute the data operation method of the memory data in any one of the above embodiments, so as to achieve the same technical effect.
In another embodiment of the present invention, a computer program product containing instructions is provided, which when run on a computer, causes the computer to execute the data manipulation method of the memory data described in any of the above embodiments, so as to achieve the same technical effect.
In the above embodiments, the implementation may be wholly or partially realized by software, hardware, firmware, or any combination thereof. When implemented in software, may be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When loaded and executed on a computer, cause the processes or functions described in accordance with the embodiments of the invention to occur, in whole or in part. The computer may be a general purpose computer, a special purpose computer, a network of computers, or other programmable device. The computer instructions may be stored in a computer readable storage medium or transmitted from one computer readable storage medium to another, for example, from one website site, computer, server, or data center to another website site, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, Digital Subscriber Line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.). The computer-readable storage medium can be any available medium that can be accessed by a computer or a data storage device, such as a server, a data center, etc., that incorporates one or more of the available media. The usable medium may be a magnetic medium (e.g., floppy Disk, hard Disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., Solid State Disk (SSD)), among others.
It is noted that, herein, relational terms such as first and second, and the like may be used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Also, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. The term "comprising", without further limitation, means that the element so defined is not excluded from the group consisting of additional identical elements in the process, method, article, or apparatus that comprises the element.
All the embodiments in the present specification are described in a related manner, and the same and similar parts among the embodiments may be referred to each other, and each embodiment focuses on the differences from the other embodiments. In particular, as for the apparatus embodiment, since it is substantially similar to the method embodiment, the description is relatively simple, and for the relevant points, reference may be made to the partial description of the method embodiment.
The above description is only for the preferred embodiment of the present invention, and is not intended to limit the scope of the present invention. Any modification, equivalent replacement, or improvement made within the spirit and principle of the present invention shall fall within the protection scope of the present invention.
Claims (11)
1. A data operation method of memory data is characterized by comprising the following steps:
when a write operation instruction is received, executing data write operation indicated by the write operation instruction on a main cache table in a preset memory data cache table group; the memory data cache table group comprises a main cache table and two slave cache tables, wherein the identifier of one table in the two slave cache tables is a write identifier, and the identifier of the other table is a read identifier;
after the data writing operation is executed on the main cache table, the data content in the main cache table is fully synchronized to a slave cache table with a writing identifier;
after synchronization is completed, interchanging the identifications of the two slave cache tables;
when a read operation instruction is received, executing data query operation indicated by the read operation instruction on a buffer table with a read identification;
the step of executing the data write operation indicated by the write operation instruction to the main cache table in the preset memory data cache table group includes:
and detecting whether the main cache table is in a writing or inquiring state, and executing the data writing operation indicated by the writing operation instruction when the main cache table is not in the writing or inquiring state.
2. The method of claim 1, wherein determining the manner in which each table in the set of in-memory data cache tables is determined comprises:
determining a memory data cache table generated in the initialization process as a main cache table;
and copying the main cache table twice to obtain two slave cache tables, setting the identifier of one of the two slave cache tables as a read identifier, and setting the identifier of the other slave cache table as a write identifier.
3. The method according to claim 2, wherein the step of copying the master cache table twice to obtain two slave cache tables, and setting an identifier of one of the two slave cache tables as a read identifier and an identifier of the other table as a write identifier comprises:
copying the main cache table twice to obtain two slave cache tables, and initializing the reference count of the two slave cache tables to be 0;
setting the mark of one table of the two slave cache tables as a read mark, and setting the mark of the other table as a write mark;
the step of interchanging the identifications of the two slave cache tables comprises:
interchanging the identifications and reference counts of the two slave cache tables;
the method further comprises the following steps:
and in the process of executing the data query operation indicated by the read operation instruction on the slave cache table with the read identification, adding 1 to the reference count of the slave cache table with the read identification, and when the query is finished, restoring the reference count of the slave cache table with the reference count added by 1 to 0.
4. The method according to claim 3, wherein the step of synchronizing the entire data content in the primary cache table to the secondary cache table with the write identifier after the data write operation is performed on the primary cache table comprises:
after the data writing operation is executed on the main cache table, judging whether the reference count of the secondary cache table with the writing identification is 0 or not;
if the reference count of the secondary cache table with the write identifier is 0, synchronizing the data content in the primary cache table to the secondary cache table with the write identifier in a full amount manner;
if the reference count of the secondary cache table with the write identifier is not 0, after the reference count of the secondary cache table with the write identifier is 0, synchronizing the whole data content in the primary cache table into the secondary cache table with the write identifier.
5. The method of claim 1, further comprising:
if the data which needs to be searched is not searched in the secondary cache table with the reading identification, executing the data query operation indicated by the reading operation instruction on the primary cache table;
the step of executing the data query operation indicated by the read operation instruction to the primary cache table includes:
and detecting whether the main cache table is in a writing state, and executing data query operation indicated by the read operation instruction on the main cache table when the main cache table is not in the writing state.
6. A data manipulation device for manipulating data stored in a memory, comprising:
the data writing module is used for executing data writing operation indicated by a writing operation instruction to a main cache table in a preset memory data cache table group when the writing operation instruction is received; the memory data cache table group comprises a main cache table and two slave cache tables, wherein the identifier of one table in the two slave cache tables is a write identifier, and the identifier of the other table is a read identifier;
the data synchronization module is used for synchronizing the data content in the main cache table to the slave cache table with the write identifier in a full amount after the data write operation is executed on the main cache table;
the identification interchange module is used for interchanging the identifications of the two slave cache tables after synchronization is completed;
the first query module is used for executing data query operation indicated by a read operation instruction to a cache table with a read identification when the read operation instruction is received;
the data writing module is specifically configured to:
and detecting whether the main cache table is in a writing or inquiring state, and executing the data writing operation indicated by the writing operation instruction when the main cache table is not in the writing or inquiring state.
7. The apparatus of claim 6, further comprising: a determination module;
the determining module is specifically configured to:
determining a memory data cache table generated in the initialization process as a main cache table;
and copying the main cache table twice to obtain two slave cache tables, setting the identifier of one of the two slave cache tables as a read identifier, and setting the identifier of the other slave cache table as a write identifier.
8. The apparatus of claim 7, further comprising: initializing a module;
the initialization module is specifically configured to:
copying the main cache table twice to obtain two slave cache tables, and initializing the reference count of the two slave cache tables to be 0;
setting the mark of one table of the two slave cache tables as a read mark, and setting the mark of the other table as a write mark;
the identification interchange module is specifically configured to: interchanging the identifications and reference counts of the two slave cache tables;
the device further comprises: a counting module;
the counting module is specifically configured to: and in the process of executing the data query operation indicated by the read operation instruction on the slave cache table with the read identification, adding 1 to the reference count of the slave cache table with the read identification, and when the query is finished, restoring the reference count of the slave cache table with the reference count added by 1 to 0.
9. The apparatus of claim 8, wherein the data synchronization module is specifically configured to:
after the data writing operation is executed on the main cache table, judging whether the reference count of the secondary cache table with the writing identification is 0 or not;
if the reference count of the secondary cache table with the write identifier is 0, synchronizing the data content in the primary cache table to the secondary cache table with the write identifier in a full amount manner;
if the reference count of the secondary cache table with the write identifier is not 0, after the reference count of the secondary cache table with the write identifier is 0, synchronizing the whole data content in the primary cache table into the secondary cache table with the write identifier.
10. The apparatus of claim 6, further comprising: a second query module;
the second query module is configured to, if data to be searched is not queried in the cache table having the read identifier, perform a data query operation indicated by the read operation instruction on the primary cache table;
the second query module is specifically configured to:
and detecting whether the main cache table is in a writing state, and executing data query operation indicated by the read operation instruction on the main cache table when the main cache table is not in the writing state.
11. An electronic device is characterized by comprising a processor, a communication interface, a memory and a communication bus, wherein the processor and the communication interface are used for realizing mutual communication by the memory through the communication bus;
a memory for storing a computer program;
a processor for implementing the method steps of any one of claims 1 to 5 when executing a program stored in the memory.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810426874.1A CN108920092B (en) | 2018-05-07 | 2018-05-07 | Data operation method and device of memory data and electronic equipment |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810426874.1A CN108920092B (en) | 2018-05-07 | 2018-05-07 | Data operation method and device of memory data and electronic equipment |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108920092A CN108920092A (en) | 2018-11-30 |
CN108920092B true CN108920092B (en) | 2021-07-20 |
Family
ID=64402358
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810426874.1A Active CN108920092B (en) | 2018-05-07 | 2018-05-07 | Data operation method and device of memory data and electronic equipment |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108920092B (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111818108B (en) * | 2019-04-10 | 2022-07-19 | 阿里巴巴集团控股有限公司 | Method and device for ensuring data acquisition consistency |
CN110955688A (en) * | 2019-12-23 | 2020-04-03 | 北京奇艺世纪科技有限公司 | Proxy server, data query method and device, electronic equipment and storage medium |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103207841A (en) * | 2013-03-06 | 2013-07-17 | 青岛海信传媒网络技术有限公司 | Method and device for data reading and writing on basis of key-value buffer |
CN104750720A (en) * | 2013-12-30 | 2015-07-01 | 中国银联股份有限公司 | Method for achieving high-performance data processing under multithread concurrent access environment |
CN105634958A (en) * | 2015-12-24 | 2016-06-01 | 东软集团股份有限公司 | Packet forwarding method and device based on multi-core system |
CN107493327A (en) * | 2017-08-11 | 2017-12-19 | 杭州顺网科技股份有限公司 | Distributed caching management method, system and data management system |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6696315B2 (en) * | 2016-06-17 | 2020-05-20 | 富士通株式会社 | Parallel processing device and memory cache control method |
-
2018
- 2018-05-07 CN CN201810426874.1A patent/CN108920092B/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103207841A (en) * | 2013-03-06 | 2013-07-17 | 青岛海信传媒网络技术有限公司 | Method and device for data reading and writing on basis of key-value buffer |
CN104750720A (en) * | 2013-12-30 | 2015-07-01 | 中国银联股份有限公司 | Method for achieving high-performance data processing under multithread concurrent access environment |
CN105634958A (en) * | 2015-12-24 | 2016-06-01 | 东软集团股份有限公司 | Packet forwarding method and device based on multi-core system |
CN107493327A (en) * | 2017-08-11 | 2017-12-19 | 杭州顺网科技股份有限公司 | Distributed caching management method, system and data management system |
Also Published As
Publication number | Publication date |
---|---|
CN108920092A (en) | 2018-11-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112422615B (en) | Communication method and device | |
US10831612B2 (en) | Primary node-standby node data transmission method, control node, and database system | |
US9904701B2 (en) | Method and apparatus for concurrent access of mixed services | |
US20170185326A1 (en) | Consistent transition from asynchronous to synchronous replication in hash-based storage systems | |
US8321635B2 (en) | Synchronizing commands for preventing data corruption | |
CN110119304B (en) | Interrupt processing method and device and server | |
US9514170B1 (en) | Priority queue using two differently-indexed single-index tables | |
CN112948318A (en) | RDMA-based data transmission method and device under Linux operating system | |
WO2020259146A1 (en) | Resource lock management method and apparatus | |
TW202015044A (en) | Data management method and storage controller using the same | |
CN108920092B (en) | Data operation method and device of memory data and electronic equipment | |
US20090132534A1 (en) | Remote replication synchronizing/accessing system and method thereof | |
US20240354258A1 (en) | Memory scanning method and apparatus | |
WO2023124422A1 (en) | Data read-write control method and electronic device | |
JP2016134041A (en) | Information processing system, information processing device, and memory access control method | |
WO2024188050A1 (en) | File lock management method for distributed file system, and device and medium | |
US20170300255A1 (en) | Method and Apparatus for Detecting Transaction Conflict and Computer System | |
US9836491B1 (en) | Method and apparatus for hardware-implemented AVL tree updates | |
CN109240941B (en) | Garbage recovery method of storage system and related device | |
WO2020029588A1 (en) | Data reading method, device, system, and distributed system | |
WO2022267676A1 (en) | Data processing method and apparatus for shared memory, and device and medium | |
EP1550035A1 (en) | Data access control | |
CN115586943A (en) | Hardware marking implementation method for dirty pages of virtual machine of intelligent network card | |
US20230117060A1 (en) | Read-write method and apparatus, electronic device, and readable memory medium | |
KR20220085031A (en) | Storage device adapter to accelerate database temporary table processing |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |