CN114238704A - Tree index splitting method, data access method and device and electronic equipment - Google Patents

Tree index splitting method, data access method and device and electronic equipment Download PDF

Info

Publication number
CN114238704A
CN114238704A CN202210154811.1A CN202210154811A CN114238704A CN 114238704 A CN114238704 A CN 114238704A CN 202210154811 A CN202210154811 A CN 202210154811A CN 114238704 A CN114238704 A CN 114238704A
Authority
CN
China
Prior art keywords
index
tree
target
tree index
demarcation point
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.)
Granted
Application number
CN202210154811.1A
Other languages
Chinese (zh)
Other versions
CN114238704B (en
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.)
Beijing Kingsoft Cloud Network Technology Co Ltd
Original Assignee
Beijing Kingsoft Cloud Network Technology Co Ltd
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 Beijing Kingsoft Cloud Network Technology Co Ltd filed Critical Beijing Kingsoft Cloud Network Technology Co Ltd
Priority to CN202210154811.1A priority Critical patent/CN114238704B/en
Publication of CN114238704A publication Critical patent/CN114238704A/en
Application granted granted Critical
Publication of CN114238704B publication Critical patent/CN114238704B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9027Trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The embodiment of the invention provides a method for splitting a tree index, a method and a device for accessing data and electronic equipment, wherein the method for splitting the tree index comprises the following steps: when the first tree index meets a preset index splitting condition, selecting a demarcation point to be utilized in index splitting from key values contained in a target root node of the first tree index; wherein, the first tree index is a B + tree index; splitting the first tree index into a plurality of second tree indexes based on the demarcation point; wherein the root node of each second tree index is: the node comprises a designated key value, or a next-level node associated with the demarcation point, wherein the designated key value is the key value except the demarcation point in the key values contained in the target root node; and recording query guide data containing the demarcation point and the index relation corresponding to the demarcation point in a preset partition table corresponding to the first tree-shaped index. According to the scheme, a realization basis is provided for the distribution of data access, and the concurrent access efficiency is finally improved.

Description

Tree index splitting method, data access method and device and electronic equipment
Technical Field
The present invention relates to the field of data indexing technologies, and in particular, to a method and an apparatus for splitting a tree index, a method and an apparatus for accessing data, and an electronic device.
Background
The B + tree index is a tree index commonly used in a database, and belongs to an implementation manner of a B + tree in the database, wherein B in the B + tree represents balance (balance).
For a Central Processing Unit (CPU) with a multi-core architecture, when accessing a B + tree index, the tree index needs to be locked, and after the response of an access instruction is completed, a next access instruction can be executed. Thus, in a high-concurrency access scene, the advantage of parallel computing of the multi-core CPU cannot be exerted, and access is easy to block.
Disclosure of Invention
Embodiments of the present invention provide a method for splitting a tree index, a method and an apparatus for accessing data, and an electronic device, so as to provide a basis for splitting data access and finally improve access efficiency. In addition, the embodiment of the invention also provides a data access method, a data access device and electronic equipment, so as to improve the access efficiency of the tree index. The specific technical scheme is as follows:
in a first aspect, an embodiment of the present invention provides a method for splitting a tree index, where the method includes:
when the first tree index meets a preset index splitting condition, selecting a demarcation point to be utilized in index splitting from key values contained in a target root node of the first tree index; wherein the first tree index is a B + tree index;
splitting the first tree index into a plurality of second tree indexes based on the demarcation point; wherein the root node of each second tree index is: the node comprises a designated key value, or a next-level node associated with the demarcation point, wherein the designated key value is the key value except the demarcation point in the key values contained in the target root node;
recording query guidance data containing the demarcation points and the index relation corresponding to the demarcation points in a preset partition table corresponding to the first tree-shaped index; the index relationship is the size relationship between the demarcation point and a key value contained in a root node of each second tree index.
Optionally, the splitting the first tree index into a plurality of second tree indexes based on the demarcation point includes:
determining a plurality of target nodes based on the demarcation point, wherein each target node is used as a root node of a second tree index to be split;
for each target node, determining a subordinate node which is associated with the target node when a specified condition is met from the first tree index, taking the target node as a root node and the determined subordinate node as a child node, and splitting a second tree index from the first tree index;
the specified condition is that the demarcation point is deleted from the key value contained in the target root node.
Optionally, the selecting a demarcation point to be utilized when splitting the index from key values included in a target root node of the first tree index includes:
selecting demarcation points to be utilized when the index is split from key values contained in a target root node of the first tree index based on a demarcation point selection mode corresponding to the target number;
the target number is the number of key values contained in the target root node, and different key value numbers correspond to different demarcation point selection modes.
Optionally, the selecting, based on a selection manner corresponding to the number of targets, a demarcation point to be utilized when splitting the index from key values included in a target root node of the first tree index includes:
if the number of the targets is one, selecting a key value included by a target root node of the first tree index as a demarcation point to be utilized when the index is split;
if the number of the targets is two, selecting a key value included by the target root node as a demarcation point to be utilized when the index is split;
and if the number of the targets is more than two, selecting a median in key values included by the target root node as a demarcation point to be utilized when the index is split.
Optionally, the determining a plurality of target nodes based on the demarcation point includes:
determining a plurality of target nodes based on the demarcation points according to a node determination mode corresponding to the target number;
the target number is the number of key values contained in the target root node, and different key value numbers correspond to different node determination modes.
Optionally, the determining a plurality of target nodes based on the demarcation point according to a node determination manner corresponding to the target number includes:
if the number of the targets is one, determining each next-level node in the first tree index, which belongs to the demarcation point, to obtain a plurality of target nodes;
if the number of the targets is two, determining a next-level node belonging to the demarcation point in the first tree index, constructing a node containing the designated key value, and determining the determined next-level node and the constructed node as a plurality of target nodes;
and if the target number is more than two, constructing a plurality of nodes containing the designated key values to obtain a plurality of target nodes, wherein the designated key values contained in the constructed nodes are different.
Optionally, the recording query guidance data including the demarcation point and the index relationship corresponding to the demarcation point in a preset partition table corresponding to the first tree index further includes:
deleting the sentinel identification from a preset partition table corresponding to the first tree index; the sentinel identifier is a pre-recorded identifier used for representing that the first tree index belongs to a tree.
Optionally, the index splitting condition includes:
the number of leaf nodes of the tree index reaches a preset threshold.
In a second aspect, based on the splitting method of the tree index, an embodiment of the present invention further provides a data access method, including:
receiving an access request about a target key value; the target key value is a key value in a node belonging to the first tree index; wherein the first tree index is a B + tree index;
acquiring a demarcation point from a target partition table; the target partition table is a preset partition table corresponding to the first tree index;
determining the size relationship between the target key value and the demarcation point to obtain a first relationship;
determining a second tree index which has a size relation with the demarcation point as the first relation based on the index relation recorded in the target partition table, and taking the second tree index as a tree index to be accessed;
and locking and accessing the tree index to be accessed by using the target key value to obtain an access result.
Optionally, after receiving the access request about the target key value, the method further includes:
identifying whether the first tree index belongs to an index of a tree or not based on whether sentinel nodes are recorded in the target partition table or not;
if the first tree index is identified not to belong to the index of one tree, executing the step of acquiring the demarcation point from the target partition table;
and if the first tree index is identified to belong to the index of one tree, locking access is carried out on the first tree index by using the target key value, and an access result is obtained.
In a third aspect, an embodiment of the present invention provides a device for splitting a tree index, where the device includes:
the selection module is used for selecting a demarcation point to be utilized in index splitting from key values contained in a target root node of a first tree index when the first tree index meets a preset index splitting condition; wherein the first tree index is a B + tree index;
a splitting module, configured to split the first tree index into a plurality of second tree indexes based on the demarcation point; wherein the root node of each second tree index is: the node comprises a designated key value, or a next-level node associated with the demarcation point, wherein the designated key value is the key value except the demarcation point in the key values contained in the target root node;
the recording module is used for recording query guide data containing the demarcation point and the index relation corresponding to the demarcation point in a preset partition table corresponding to the first tree-shaped index; the index relationship is the size relationship between the demarcation point and a key value contained in a root node of each second tree index.
In a fourth aspect, an embodiment of the present invention provides a data access apparatus, where the apparatus includes:
a receiving module, configured to receive an access request regarding a target key value; the target key value is a key value in a node belonging to the first tree index; wherein the first tree index is a B + tree index;
the acquisition module is used for acquiring the demarcation point from the target partition table; the target partition table is a preset partition table corresponding to the first tree index;
the first determining module is used for determining the size relationship between the target key value and the demarcation point to obtain a first relationship;
the second determining module is used for determining a second tree index which has the size relation with the demarcation point as the first relation based on the index relation recorded in the target partition table, and the second tree index is used as a tree index to be accessed;
and the access module is used for locking and accessing the tree index to be accessed by using the target key value to obtain an access result.
In a fifth aspect, an embodiment of the present invention provides an electronic device, 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;
and the processor is used for realizing the steps of the tree index splitting method or the data access method when executing the program stored in the memory.
In a sixth aspect, an embodiment of the present invention provides a computer-readable storage medium, where a computer program is stored in the computer-readable storage medium, and when being executed by a processor, the computer program implements the steps of the above tree index splitting method or the steps of the data access method.
Embodiments of the present invention further provide a computer program product including instructions, which when run on a computer, cause the computer to execute the steps of implementing the tree index splitting method or the data access method.
The embodiment of the invention has the following beneficial effects:
in the splitting scheme of the tree-shaped index provided by the invention, the first tree-shaped index is split into a plurality of second tree-shaped indexes based on the selected demarcation point, and the query guide data containing the demarcation point and the index relation corresponding to the demarcation point is recorded in the preset partition table. Therefore, as the first tree index is split into the plurality of associated tree indexes, a realization basis can be provided for the splitting of the data access, and the efficiency of concurrent access is finally improved.
In addition, in the data access scheme provided by the invention, the access aiming at one tree index can be converted into the access aiming at one split tree index, namely, the serial access aiming at the same tree index can be converted into the parallel access aiming at a plurality of split tree indexes, so that the shunting effect is achieved, and the efficiency of the concurrent access aiming at the tree indexes can be improved.
Of course, not all of the advantages described above need to be achieved at the same time in the practice of any one product or method of the invention.
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, it is obvious that the drawings in the following description are only some embodiments of the present invention, and it is obvious for those skilled in the art that other embodiments can be obtained by referring to these drawings.
FIG. 1 is a block diagram of a CPU with a multi-core architecture in an embodiment of the present invention;
fig. 2 is a flowchart of a method for splitting a tree index according to an embodiment of the present invention;
FIG. 3 is a schematic diagram illustrating a split of a tree index according to an embodiment of the present invention;
FIG. 4 is a schematic diagram illustrating a split of a tree index according to an embodiment of the present invention;
FIG. 5 is a schematic diagram illustrating a split of a tree index according to an embodiment of the present invention;
FIG. 6(a) is a schematic diagram of a tree index with sentinel identification in an embodiment of the present invention;
FIG. 6(b) is a schematic diagram of the tree index after the sentinel identifier is deleted in the embodiment of the present invention;
FIG. 7 is a flow chart of a data access method according to an embodiment of the present invention;
fig. 8 is a schematic structural diagram of a splitting apparatus for tree indexing according to an embodiment of the present invention;
fig. 9 is a schematic structural diagram of a data access device according to an embodiment of the present invention;
fig. 10 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 clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. All other embodiments, which can be derived from the embodiments given herein by one of ordinary skill in the art, are within the scope of the invention.
In databases, tree indexes, such as B + tree indexes, are often used to improve the efficiency of data retrieval. In the B + tree, data having a key value smaller than the key value in the node is generally stored in the leaf node associated with the left child node of the key value, and data having a key value equal to or larger than the key value in the node is generally stored in the leaf node associated with the right child node of the key value. Therefore, when the target key value is searched, the target key value is compared with the key values contained in the nodes layer by layer until the target key value in the leaf node is found, and the storage content corresponding to the target key value is obtained.
Moreover, read-write conflicts easily occur in the B + tree, that is, when data is written in the B + tree or an index is split, reading cannot be performed, and all reading needs to be blocked and waited; when a large number of read accesses are received, the write cannot be performed, and the execution of the previous read access needs to be waited for to be finished.
In addition, read-read conflicts may also occur in the B + tree. In a CPU with a multi-core architecture, when accessing the same memory critical area, a read lock needs to be added, for example: as shown in FIG. 1, a read lock is required when a CPU in a multi-core architecture accesses the same L3 cache region. Specifically, when an access operation is performed on one tree index, the tree index is locked, and the next access instruction can be executed only after the access instruction is unlocked after the response is completed, that is, serial access is required for one tree index.
Therefore, in the related art, the advantage of parallel computing of the multi-core architecture CPU cannot be utilized, and access is easily blocked, resulting in low data access efficiency.
In order to solve the above problem, embodiments of the present invention provide a method and an apparatus for splitting a tree index, and an electronic device.
The tree index splitting method provided by the embodiment of the invention can be applied to electronic equipment. In a specific application, the electronic device may store a storage node in the system, but is not limited to this. Moreover, the tree index mentioned in the embodiment of the present invention is a B + tree index.
The method for splitting the tree index provided by the embodiment of the invention can comprise the following steps:
when the first tree index meets a preset index splitting condition, selecting a demarcation point to be utilized in index splitting from key values contained in a target root node of the first tree index; wherein the first tree index is a B + tree index;
splitting the first tree index into a plurality of second tree indexes based on the demarcation point; wherein the root node of each second tree index is: the node comprises a designated key value, or a next-level node associated with the demarcation point, wherein the designated key value is the key value except the demarcation point in the key values contained in the target root node;
recording query guidance data containing the demarcation points and the index relation corresponding to the demarcation points in a preset partition table corresponding to the first tree-shaped index;
the index relationship is the size relationship between the demarcation point and a key value contained in a root node of each second tree index.
According to the scheme, the first tree-shaped index is divided into a plurality of second tree-shaped indexes based on the selected demarcation point, and query guide data containing the demarcation point and the index relation corresponding to the demarcation point are recorded in a preset partition table. Therefore, different associated tree indexes are generated for the first tree index, so that a realization basis can be provided for the distribution of data access, and the efficiency of concurrent access is finally improved.
The following describes a method for splitting a tree index according to an embodiment of the present invention with reference to the accompanying drawings.
As shown in fig. 2, an embodiment of the present invention provides a method for splitting a tree index, where the method includes the following steps:
s201, when a first tree index meets a preset index splitting condition, selecting a demarcation point to be utilized in index splitting from key values contained in a target root node of the first tree index; wherein the first tree index is a B + tree index;
generally, a B + tree index has multiple levels, the top level has only one node, each of the subsequent levels includes multiple nodes, and each node in the previous level has at least two lower nodes in the next level and is associated with the upper node, until the lowest level; at least one key value is stored in each node of each level. For convenience of description, in the present invention, the uppermost node is referred to as a root node, and the lowermost node is referred to as a leaf node.
And when the first tree index meets a preset index splitting condition, selecting a key value from a target root node of the first tree index as a demarcation point to be utilized. It should be noted that the number of key values in the target root node may be one or more, and different numbers of key values may correspond to different demarcation point selection manners. For clarity of the scheme and clarity of layout, a specific implementation manner for selecting the demarcation point to be utilized in index splitting is described later.
For example, in one implementation, the index splitting condition includes:
the number of leaf nodes of the tree index reaches a preset threshold.
It can be understood that, when the number of leaf nodes of the tree index is greater, the more computing resources are occupied during the access, and therefore, the index splitting condition may be set such that the number of leaf nodes of the first tree index reaches a preset threshold value, so that the splitting of the tree index may be performed automatically.
In another implementation, the index splitting condition may further include: and the number of the node layers of the tree index reaches a preset threshold value.
When the number of node layers of the tree index is larger, the number of times of comparing target key values and the size of each level of key values is increased during access, and therefore the index splitting condition can be set to be that the number of node layers of the first tree index reaches a preset threshold value.
S202, splitting the first tree index into a plurality of second tree indexes based on the demarcation point; wherein the root node of each second tree index is: the node comprises a designated key value, or a next-level node associated with the demarcation point, wherein the designated key value is the key value except the demarcation point in the key values contained in the target root node;
one or more key values exist in the root node of one tree index, one key value in the target root node of the first tree index is selected as a demarcation point, and the first tree index is divided into a plurality of second tree indexes based on the demarcation point. In the embodiment of the invention, the key value of the division point in the target root node is used as the designated key value if the key value is used. And then, taking the next-level node associated with the demarcation point or the node containing the specified key value as a root node of the second tree index.
Optionally, in an implementation, the splitting the first tree index into a plurality of second tree indexes based on the demarcation point may include steps a1-a 2:
step A1, determining a plurality of target nodes based on the demarcation points, wherein each target node is used as a root node of a second tree index to be split;
in this embodiment, when the first tree index is split, a plurality of target nodes may be determined from the node containing the designated key value and the next-level node associated with the demarcation point, and the target nodes are used as root nodes of the split second tree index. It should be noted how to determine a plurality of target nodes, which will be described in detail later with reference to other embodiments.
Step A2, for each target node, determining a lower node associated with the target node when a specified condition is met from the first tree index, taking the target node as a root node and the determined lower node as a child node, and splitting a second tree index from the first tree index; the specified condition is that the demarcation point is deleted from the key value contained in the target root node.
Since the root node of one tree index is associated with a plurality of child nodes and leaf nodes, after the root node of the second tree index is determined, a child node of a next level needs to be determined, and at this time, after a demarcation point is deleted from a key value included in a target root node, a lower level node associated with the root node of the second tree index is taken as a child node, so that one second tree index is split. Thus, after the B + tree index is split according to the method, the obtained second tree indexes still keep the characteristics of the B + tree index.
S203, recording query guide data containing the demarcation points and the index relation corresponding to the demarcation points in a preset partition table corresponding to the first tree-shaped index; the index relationship is the size relationship between the demarcation point and a key value contained in a root node of each second tree index.
It can be understood that, in the B + tree, by continuously comparing the key value of the node in each level with the size of the target key value to be queried, the target key value in the leaf node is found, and the non-leaf node of the B + tree does not store data, but only stores the key value, and takes away the key value in the root node in the B + tree to be split, without affecting the storage of data, so that, after the first tree index is split into a plurality of second tree indexes, query guidance data including the boundary point and the index relationship corresponding to the boundary point can be recorded in the preset partition table corresponding to the first tree index, wherein, the key value of the boundary point in the root node of the original first tree index can be deleted, so that when accessing the first tree index subsequently, the size relationship between the target key value to be queried and the boundary point can be compared, thereby determining which second tree index the instruction to be queried needs to access, and then, locking access is carried out on the determined second tree index. Thus, in a CPU of a multi-core architecture, multiple second tree indices may be accessed in parallel.
The steps of splitting the first tree-shaped index into a plurality of second tree-shaped indexes, and recording query guidance data including the demarcation point and the index relationship corresponding to the demarcation point in the preset partition table corresponding to the first tree-shaped index can be completed on line.
It should be noted that after the first tree index is split into the plurality of second tree indexes, the first tree index is still visible to the access end, and the plurality of second tree indexes are characterized as a plurality of nodes in the partition table of the first tree index, so that when data needs to be accessed, the data is still accessed for the first tree index; and when the electronic equipment receives the access request, the access request can be guided to a second tree index corresponding to the first tree index through a preset partition table. With respect to a specific access flow, the following description is provided by a data access method provided by an embodiment of the present invention.
In this embodiment, the first tree-shaped index is split into a plurality of second tree-shaped indexes based on the selected demarcation point, and query guidance data including an index relationship corresponding to the demarcation point and the demarcation point is recorded in a preset partition table. Therefore, different associated tree indexes are generated for the first tree index, so that a realization basis can be provided for the distribution of data access, and the efficiency of concurrent access is finally improved.
And the first tree-shaped index is split into a plurality of second tree-shaped indexes based on the selected demarcation point, query guide data comprising the demarcation point and the index relation corresponding to the demarcation point are recorded in a preset partition table, bottom support is provided for concurrent query, the conflict problem under a high-concurrency scene can be solved, online splitting can be realized, fewer data pages related to modification are needed, and the method is simple and rapid. In addition, different associated tree indexes are generated aiming at the first tree index, so that when the tree indexes are accessed, one lock can be changed into multiple locks, the range of the locks is small, and only one node in the partition table of the original first tree index is locked, so that the lock conflict of the CPU concurrent access of the multi-core architecture is solved. Therefore, by the scheme, a realization basis can be provided for data access shunting, and the running performance of the kernel is improved, so that the access efficiency is improved.
Optionally, in another embodiment, the selecting, from key values included in a target root node of the first tree index, a demarcation point to be utilized when splitting an index includes:
selecting demarcation points to be utilized when the index is split from key values contained in a target root node of the first tree index based on a demarcation point selection mode corresponding to the target number; the target number is the number of key values contained in the target root node, and different key value numbers correspond to different demarcation point selection modes.
Optionally, in an implementation manner, the selecting, based on a selection manner corresponding to the target number, a demarcation point to be utilized in index splitting from key values included in a target root node of the first tree index includes steps B1-B3:
step B1, if the number of the targets is one, selecting the key value included by the target root node of the first tree index as a demarcation point to be utilized when the index is split;
that is, when only one key value exists in the target root node of the first tree index, the key value is selected as a demarcation point.
Step B2, if the number of the targets is two, selecting a key value included by the target root node as a demarcation point to be utilized when the index is split;
in a specific application, a key value with a smaller value included in the target root node may be generally selected as a demarcation point to be utilized when the index is split. Of course, it is also reasonable to select a key value with a larger value included in the target node as a demarcation point to be utilized when the index is split. And step B3, if the number of the targets is more than two, selecting a median in the key values included in the target root node as a demarcation point to be utilized when the index is split.
In the embodiment, based on a demarcation point selection mode corresponding to the target number, demarcation points to be utilized in index splitting are selected from key values contained in a target root node of a first tree index; the target number is the number of key values contained in the target root node, and different key value numbers correspond to different demarcation point selection modes. Therefore, according to the scheme, the split tree-shaped index leaf nodes can be distributed more uniformly, so that a realization basis is provided for data access shunting, load balance is realized to a certain extent, the tree-shaped index access efficiency is further improved, and when a preset index splitting condition is met, the division points can be automatically selected without dividing the region in advance, and automatic online splitting is realized.
Optionally, in another embodiment, the determining a plurality of target nodes based on the demarcation point may include:
determining a plurality of target nodes based on the demarcation points according to a node determination mode corresponding to the target number; the target number is the number of key values contained in the target root node, and different key value numbers correspond to different node determination modes.
In one implementation, the determining a plurality of target nodes based on the demarcation point according to the node determination manner corresponding to the target number may include steps C1-C2:
step C1, if the number of the targets is one, determining each next-level node in the first tree index, which belongs to the demarcation point, to obtain a plurality of target nodes;
step C2, if the number of the targets is two, determining a next-level node in the first tree index, which belongs to the demarcation point, constructing a node containing the designated key value, and determining the determined next-level node and the constructed node as a plurality of target nodes;
and step C3, if the target number is more than two, constructing a plurality of nodes containing the specified key values to obtain a plurality of target nodes, wherein the specified key values contained in each constructed node are different.
For example, in a B + tree, if a target root node of a first tree index has only one key value, in one implementation, the key value is selected as a demarcation point, and two nodes at a next level associated with the demarcation point are respectively used as root nodes of two second tree indexes. As shown in fig. 3, the target root node of the first tree index includes a key value 13, where 13 is used as a demarcation point, and two nodes 5 to 9 and 17 at a next level associated with 13 are respectively used as two root nodes of the split second tree index to form two second tree indexes. As shown in fig. 3, the left side of the arrow is used to represent a first tree index, and the right side of the arrow is used to represent a plurality of second tree indexes formed after splitting the first tree index; and the connecting line of the demarcation point and the root node of each second tree index is used for representing that the plurality of second tree indexes are associated through the demarcation point.
If the target root node of the first tree index has two key values, in one implementation mode, one key value is selected as a demarcation point, a node containing the other key value is constructed, the root node of one second tree index is obtained, and a next-level node associated with the demarcation point is selected as the root node of the other second tree index. As shown in fig. 4, the target root node of the first tree index includes key values 13 and 25, taking 13 as a demarcation point, and simultaneously constructing a node including another key value 25 to obtain a root node of the second tree index, and associating with 25 two nodes of the next level: nodes containing key values 17 and 21, and nodes containing key values 29, 33, and 37, as child nodes of the node containing key value 25, form a second tree index; and a next level node associated with the key value 13: the node containing the key values 5 and 9, as another node, forms another second tree index. As shown in fig. 4, the left side of the arrow is used to represent a first tree index, the right side of the arrow is used to represent a plurality of second tree indexes formed after the first tree index is split, and the plurality of second tree indexes are associated through a demarcation point.
If the number of the key assignments of the root node of the first tree index is greater than two, in one implementation mode, a median of the key assignments included in the target root node is selected as a demarcation point, the key assignments of the demarcation point are removed, a plurality of nodes containing the specified key assignments are constructed, and a plurality of target nodes are obtained. For example, in one tree index, a demarcation point is mid, and the largest leaf node key value is num, the key value mid in the root node is removed, and the root node is split into two root nodes of a second tree index, wherein the key value mid of the root node of one second tree index is the key value of the root node included in the range of [0, mid-1], and the root node of the second tree index is combined with all child nodes associated therewith to form one second tree index, wherein the key value range of all child nodes associated with the root node of the second tree index is [0, mid ]; and the key value of the root node of the other second tree index is the key value of the root node included in the range of [ mid +1, num-1], and the root node of the other second tree index is combined with all the child nodes associated with the root node of the other second tree index to form the other second tree index, wherein the key value of all the child nodes associated with the root node of the other second tree index is in the range of [ mid +1, num ].
As shown in fig. 5, the target root node of the first tree-shaped index includes key values 3000, 5000, 7000, and the root node with the median 5000 removed is split into two root nodes, where the root node including the key value 3000 is used as a root node of the split second tree-shaped index, and a plurality of nodes within a range with the key value of [0,5000 ] are used as child nodes of the root node to form a second tree-shaped index; and taking the root node containing the key value 7000 as a root node of another second tree index, and taking a plurality of nodes with the key values in the range of [5000,9000] as child nodes of the root node to form a second tree index.
In this embodiment, a plurality of target nodes are determined based on the demarcation point in a node determination manner corresponding to the target number; the target number is the number of key values contained in the target root node, and different key value numbers correspond to different node determination modes. Therefore, according to the scheme, the target nodes are determined according to different modes corresponding to different key value quantities, and the distribution of the leaf nodes of the split tree index can be further more uniform.
Optionally, in another embodiment, before recording the query guidance data including the demarcation point and the index relationship corresponding to the demarcation point in the preset partition table corresponding to the first tree index, the method further includes:
deleting the sentinel identification from a preset partition table corresponding to the first tree index; the sentinel identifier is a pre-recorded identifier used for representing that the first tree index belongs to a tree.
Illustratively, in one implementation, the sentinel identification may be a string of unusual characters, such as 0001, 0002, and so forth. The sentinel identifier can be recorded in a preset partition table corresponding to the first tree index when the first tree is established, and represents that the first tree index belongs to a tree.
In the embodiment of the invention, the sentinel identifier is used for representing that the first tree index belongs to one tree, and if the sentinel identifier is deleted, the sentinel identifier shows that the tree index is divided into a plurality of second tree indexes. As shown in fig. 6(a), where min is a sentinel identifier with which it is shown that the node containing key values 3000, 5000, 7000 is the root node of a tree; deleting the sentinel node, as shown in fig. 6(b), indicates that the two nodes of the next hierarchy of nodes containing the key value 5000, i.e., the two nodes containing the key value 3000 and the key value 7000, are the root nodes of the two tree indexes.
In this embodiment, the sentinel identifier is used to represent that the first tree index belongs to a tree and is used to distinguish whether a certain first tree index is split or not, and if the sentinel identifier is deleted, a plurality of second tree indexes obtained by splitting the first tree index can be queried in parallel during querying. The sentinel identification is recorded in the preset partition table to represent that the first tree index belongs to a tree, so that the access is more convenient.
Based on the above tree index splitting method, an embodiment of the present invention further provides a data access method, as shown in fig. 7, where the method includes:
s701, receiving an access request about a target key value; the target key value is a key value in a node belonging to the first tree index; wherein the first tree index is a B + tree index;
the access request may be issued by an access segment, and the access end may be a client of the user, for example.
S702, acquiring a demarcation point from a target partition table; the target partition table is a preset partition table corresponding to the first tree index;
s703, determining the size relationship between the target key value and the demarcation point to obtain a first relationship;
s704, determining a second tree index with the size relation with the demarcation point being the first relation based on the index relation recorded in the target partition table, and taking the second tree index as a tree index to be accessed;
s705, locking access is carried out on the tree index to be accessed by using the target key value, and an access result is obtained.
That is, the target key values are compared with the key values contained in each layer of nodes layer by layer until the target key values in the leaf nodes are found, and the storage content corresponding to the target key values is obtained.
For example, as shown in fig. 6(b), if the target key value is 8000, the first relationship is greater than the size of the demarcation point 5000. In fig. 6(b), the tree index containing the key value 3000 stores the leaf node whose key value size is smaller than 5000, and the tree index containing the key value 7000 stores the leaf node whose key value size is greater than or equal to 5000, so that it can be known that the tree index containing the key value 7000 is to be accessed; and locking and accessing the tree index by using the target key value to obtain an access result.
In this embodiment, access to a tree index may be converted into access to a split tree index, that is, serial access to the same tree index may be converted into parallel access to each split tree index, so as to achieve a shunting effect, and thus, efficiency of concurrent access to the tree index may be improved.
Optionally, in another embodiment, after receiving the access request regarding the target key value, the data access method further includes:
identifying whether the first tree index belongs to an index of a tree or not based on whether sentinel nodes are recorded in the target partition table or not;
if the first tree index is identified not to belong to the index of one tree, executing the step of acquiring the demarcation point from the target partition table;
and if the first tree index is identified to belong to the index of one tree, locking access is carried out on the first tree index by using the target key value, and an access result is obtained.
In this embodiment, when data access is performed, it is first identified whether a sentinel identifier is recorded in a target partition table corresponding to the first tree index, so as to determine whether the first tree index belongs to an index of a tree; if the first tree index is identified not to belong to the index of one tree, a step of acquiring a demarcation point from a target partition table is executed; and if the first tree index is identified to belong to the index of one tree, locking access is carried out on the first tree index to obtain an access result. Therefore, in the scheme, whether locking access is performed on the first tree-shaped index can be judged only by identifying whether a sentinel identifier is recorded in the target partition table corresponding to the first tree-shaped index, so that the access is more convenient.
An embodiment of the present invention further provides a device for splitting a tree index, as shown in fig. 8, the device includes:
a selecting module 810, configured to select, when a first tree index meets a predetermined index splitting condition, a demarcation point to be utilized when an index is split from key values included in a target root node of the first tree index; wherein the first tree index is a B + tree index;
a splitting module 820, configured to split the first tree index into a plurality of second tree indexes based on the demarcation point; wherein the root node of each second tree index is: the node comprises a designated key value, or a next-level node associated with the demarcation point, wherein the designated key value is the key value except the demarcation point in the key values contained in the target root node;
a recording module 830, configured to record query guidance data including the demarcation point and an index relationship corresponding to the demarcation point in a preset partition table corresponding to the first tree index; the index relationship is the size relationship between the demarcation point and a key value contained in a root node of each second tree index.
Optionally, the splitting module includes:
the first determining submodule is used for determining a plurality of target nodes based on the demarcation point, wherein each target node is used as a root node of a second tree index to be split;
the second determining submodule is used for determining a lower node which is associated with each target node when a specified condition is met from the first tree index, taking the target node as a root node and the determined lower node as a child node, and splitting a second tree index from the first tree index;
the specified condition is that the demarcation point is deleted from the key value contained in the target root node.
Optionally, the selecting module is specifically configured to:
selecting demarcation points to be utilized when the index is split from key values contained in a target root node of the first tree index based on a demarcation point selection mode corresponding to the target number;
the target number is the number of key values contained in the target root node, and different key value numbers correspond to different demarcation point selection modes.
Optionally, the selecting module selects, from key values included in a target root node of the first tree index, a demarcation point to be used when the index is split based on a selection manner corresponding to the number of targets, and includes:
if the number of the targets is one, selecting a key value included by a target root node of the first tree index as a demarcation point to be utilized when the index is split;
if the number of the targets is two, selecting a key value included by the target root node as a demarcation point to be utilized when the index is split;
and if the number of the targets is more than two, selecting a median in key values included by the target root node as a demarcation point to be utilized when the index is split.
Optionally, the first determining submodule is specifically configured to:
determining a plurality of target nodes based on the demarcation points according to a node determination mode corresponding to the target number;
the target number is the number of key values contained in the target root node, and different key value numbers correspond to different node determination modes.
Optionally, the determining, by the first determining sub-module, a plurality of target nodes based on the demarcation point according to a node determining manner corresponding to the target number, includes:
if the number of the targets is one, determining each next-level node in the first tree index, which belongs to the demarcation point, to obtain a plurality of target nodes;
if the number of the targets is two, determining a next-level node belonging to the demarcation point in the first tree index, constructing a node containing the designated key value, and determining the determined next-level node and the constructed node as a plurality of target nodes;
and if the target number is more than two, constructing a plurality of nodes containing the designated key values to obtain a plurality of target nodes, wherein the designated key values contained in the constructed nodes are different.
Optionally, the apparatus further comprises:
the deleting module is used for deleting the sentinel identification from the preset partition table corresponding to the first tree-shaped index before the recording module records the query guidance data containing the demarcation point and the index relation corresponding to the demarcation point in the preset partition table corresponding to the first tree-shaped index; the sentinel identifier is a pre-recorded identifier used for representing that the first tree index belongs to a tree.
Optionally, the index splitting condition includes:
the number of leaf nodes of the tree index reaches a preset threshold.
An embodiment of the present invention further provides a data access apparatus, as shown in fig. 9, the apparatus includes:
a receiving module 910, configured to receive an access request regarding a target key value; the target key value is a key value in a node belonging to the first tree index; wherein the first tree index is a B + tree index;
an obtaining module 920, configured to obtain a boundary point from the target partition table; the target partition table is a preset partition table corresponding to the first tree index;
a first determining module 930, configured to determine a size relationship between the target key value and the demarcation point, so as to obtain a first relationship;
a second determining module 940, configured to determine, based on the index relationship recorded in the target partition table, a second tree index having the size relationship with the demarcation point as the first relationship, and serve as the tree index to be accessed;
and an accessing module 950, configured to perform locking access on the tree index to be accessed by using the target key value, so as to obtain an access result.
Optionally, the apparatus further comprises:
an identification module, configured to identify whether the first tree index belongs to an index of a tree based on whether a sentinel node is recorded in the target partition table after receiving an access request regarding a target key value;
if the first tree index is identified not to belong to the index of one tree, executing the step of acquiring the demarcation point from the target partition table;
and if the first tree index is identified to belong to the index of one tree, locking access is carried out on the first tree index by using the target key value, and an access result is obtained.
The embodiment of the present invention further provides an electronic device, as shown in fig. 10, which includes a processor 1001, a communication interface 1002, a memory 1003 and a communication bus 1004, wherein the processor 1001, the communication interface 1002 and the memory 1003 complete mutual communication through the communication bus 1004,
a memory 1003 for storing a computer program;
the processor 1001 is configured to implement the above-described tree index splitting method or data access method when executing the program stored in the memory 1003.
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 (NVM), 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, including a Central Processing Unit (CPU), a Network Processor (NP), and the like; but also Digital Signal Processors (DSPs), Application Specific Integrated Circuits (ASICs), Field Programmable Gate Arrays (FPGAs) or other Programmable logic devices, discrete Gate or transistor logic devices, discrete hardware components.
In another embodiment provided by the present invention, a computer-readable storage medium is further provided, in which a computer program is stored, and the computer program, when executed by a processor, implements the steps of the above tree-index splitting method or data access method.
In yet another embodiment of the present invention, a computer program product containing instructions is further provided, which when run on a computer, causes the computer to execute the steps of the tree-indexed splitting method or the data access method in the above embodiments.
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. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other identical elements in a 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.
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 (14)

1. A method for splitting tree index, the method comprising:
when the first tree index meets a preset index splitting condition, selecting a demarcation point to be utilized in index splitting from key values contained in a target root node of the first tree index; wherein the first tree index is a B + tree index;
splitting the first tree index into a plurality of second tree indexes based on the demarcation point; wherein the root node of each second tree index is: the node comprises a designated key value, or a next-level node associated with the demarcation point, wherein the designated key value is the key value except the demarcation point in the key values contained in the target root node;
recording query guidance data containing the demarcation points and the index relation corresponding to the demarcation points in a preset partition table corresponding to the first tree-shaped index; the index relationship is the size relationship between the demarcation point and a key value contained in a root node of each second tree index.
2. The method of claim 1, wherein the splitting the first tree index into a plurality of second tree indices based on the demarcation point comprises:
determining a plurality of target nodes based on the demarcation point, wherein each target node is used as a root node of a second tree index to be split;
for each target node, determining a subordinate node which is associated with the target node when a specified condition is met from the first tree index, taking the target node as a root node and the determined subordinate node as a child node, and splitting a second tree index from the first tree index;
the specified condition is that the demarcation point is deleted from the key value contained in the target root node.
3. The method according to claim 1 or 2, wherein selecting a demarcation point to be utilized in index splitting from key values included in a target root node of the first tree index comprises:
selecting demarcation points to be utilized when the index is split from key values contained in a target root node of the first tree index based on a demarcation point selection mode corresponding to the target number;
the target number is the number of key values contained in the target root node, and different key value numbers correspond to different demarcation point selection modes.
4. The method according to claim 3, wherein the selecting, based on a selection manner corresponding to the number of targets, a demarcation point to be utilized in index splitting from key values included in a target root node of the first tree index includes:
if the number of the targets is one, selecting a key value included by a target root node of the first tree index as a demarcation point to be utilized when the index is split;
if the number of the targets is two, selecting a key value included by the target root node as a demarcation point to be utilized when the index is split;
and if the number of the targets is more than two, selecting a median in key values included by the target root node as a demarcation point to be utilized when the index is split.
5. The method of claim 2, wherein determining a plurality of target nodes based on the demarcation point comprises:
determining a plurality of target nodes based on the demarcation points according to a node determination mode corresponding to the target number;
the target number is the number of key values contained in the target root node, and different key value numbers correspond to different node determination modes.
6. The method of claim 5, wherein determining a plurality of target nodes based on the demarcation point in a node determination manner corresponding to a target number comprises:
if the number of the targets is one, determining each next-level node in the first tree index, which belongs to the demarcation point, to obtain a plurality of target nodes;
if the number of the targets is two, determining a next-level node belonging to the demarcation point in the first tree index, constructing a node containing the designated key value, and determining the determined next-level node and the constructed node as a plurality of target nodes;
and if the target number is more than two, constructing a plurality of nodes containing the designated key values to obtain a plurality of target nodes, wherein the designated key values contained in the constructed nodes are different.
7. The method according to claim 1 or 2, wherein before recording the query guidance data including the demarcation point and the index relationship corresponding to the demarcation point in the preset partition table corresponding to the first tree index, the method further comprises:
deleting the sentinel identification from a preset partition table corresponding to the first tree index; the sentinel identifier is a pre-recorded identifier used for representing that the first tree index belongs to a tree.
8. The method of claim 1, wherein the index splitting condition comprises:
the number of leaf nodes of the tree index reaches a preset threshold.
9. A method of accessing data based on the method of any one of claims 1 to 8, comprising:
receiving an access request about a target key value; the target key value is a key value in a node belonging to the first tree index; wherein the first tree index is a B + tree index;
acquiring a demarcation point from a target partition table; the target partition table is a preset partition table corresponding to the first tree index;
determining the size relationship between the target key value and the demarcation point to obtain a first relationship;
determining a second tree index which has a size relation with the demarcation point as the first relation based on the index relation recorded in the target partition table, and taking the second tree index as a tree index to be accessed;
and locking and accessing the tree index to be accessed by using the target key value to obtain an access result.
10. The data access method of claim 9, wherein after receiving the access request for the target key value, the method further comprises:
identifying whether the first tree index belongs to an index of a tree or not based on whether sentinel nodes are recorded in the target partition table or not;
if the first tree index is identified not to belong to the index of one tree, executing the step of acquiring the demarcation point from the target partition table;
and if the first tree index is identified to belong to the index of one tree, locking access is carried out on the first tree index by using the target key value, and an access result is obtained.
11. An apparatus for splitting tree index, the apparatus comprising:
the selection module is used for selecting a demarcation point to be utilized in index splitting from key values contained in a target root node of a first tree index when the first tree index meets a preset index splitting condition; wherein the first tree index is a B + tree index;
a splitting module, configured to split the first tree index into a plurality of second tree indexes based on the demarcation point; wherein the root node of each second tree index is: the node comprises a designated key value, or a next-level node associated with the demarcation point, wherein the designated key value is the key value except the demarcation point in the key values contained in the target root node;
the recording module is used for recording query guide data containing the demarcation point and the index relation corresponding to the demarcation point in a preset partition table corresponding to the first tree-shaped index; the index relationship is the size relationship between the demarcation point and a key value contained in a root node of each second tree index.
12. A data access device based on the method of any one of claims 1-8, the device comprising:
a receiving module, configured to receive an access request regarding a target key value; the target key value is a key value in a node belonging to the first tree index; wherein the first tree index is a B + tree index;
the acquisition module is used for acquiring the demarcation point from the target partition table; the target partition table is a preset partition table corresponding to the first tree index;
the first determining module is used for determining the size relationship between the target key value and the demarcation point to obtain a first relationship;
the second determining module is used for determining a second tree index which has the size relation with the demarcation point as the first relation based on the index relation recorded in the target partition table, and the second tree index is used as a tree index to be accessed;
and the access module is used for locking and accessing the tree index to be accessed by using the target key value to obtain an access result.
13. 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 8, or the method steps of any one of claims 9 to 10, when executing a program stored in a memory.
14. A computer-readable storage medium, characterized in that a computer program is stored in the computer-readable storage medium, which computer program, when being executed by a processor, carries out the method steps of any of the claims 1-8 or the method steps of any of the claims 9-10.
CN202210154811.1A 2022-02-21 2022-02-21 Tree index splitting method, data access method and device and electronic equipment Active CN114238704B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210154811.1A CN114238704B (en) 2022-02-21 2022-02-21 Tree index splitting method, data access method and device and electronic equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210154811.1A CN114238704B (en) 2022-02-21 2022-02-21 Tree index splitting method, data access method and device and electronic equipment

Publications (2)

Publication Number Publication Date
CN114238704A true CN114238704A (en) 2022-03-25
CN114238704B CN114238704B (en) 2022-10-04

Family

ID=80747600

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210154811.1A Active CN114238704B (en) 2022-02-21 2022-02-21 Tree index splitting method, data access method and device and electronic equipment

Country Status (1)

Country Link
CN (1) CN114238704B (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1522409A (en) * 2001-06-09 2004-08-18 存储交易株式会社 Cache-conscious concurrency control scheme for database systems
CN103412897A (en) * 2013-07-25 2013-11-27 中国科学院软件研究所 Parallel data processing method based on distributed structure
WO2015116208A1 (en) * 2014-01-31 2015-08-06 Hewlett-Packard Development Company, L.P. Orthogonal key-value locking
CN110990404A (en) * 2019-11-27 2020-04-10 亚信科技(中国)有限公司 Index data processing method and device and electronic equipment
CN111858606A (en) * 2020-07-24 2020-10-30 北京金山云网络技术有限公司 Data processing method and device and electronic equipment
CN112306991A (en) * 2020-10-30 2021-02-02 深圳前海微众银行股份有限公司 Method, device and equipment for processing data in tree structure and storage medium
CN113297432A (en) * 2021-06-01 2021-08-24 阿里巴巴新加坡控股有限公司 Method, processor readable medium and system for partition splitting and merging

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1522409A (en) * 2001-06-09 2004-08-18 存储交易株式会社 Cache-conscious concurrency control scheme for database systems
CN103412897A (en) * 2013-07-25 2013-11-27 中国科学院软件研究所 Parallel data processing method based on distributed structure
WO2015116208A1 (en) * 2014-01-31 2015-08-06 Hewlett-Packard Development Company, L.P. Orthogonal key-value locking
CN110990404A (en) * 2019-11-27 2020-04-10 亚信科技(中国)有限公司 Index data processing method and device and electronic equipment
CN111858606A (en) * 2020-07-24 2020-10-30 北京金山云网络技术有限公司 Data processing method and device and electronic equipment
CN112306991A (en) * 2020-10-30 2021-02-02 深圳前海微众银行股份有限公司 Method, device and equipment for processing data in tree structure and storage medium
CN113297432A (en) * 2021-06-01 2021-08-24 阿里巴巴新加坡控股有限公司 Method, processor readable medium and system for partition splitting and merging

Also Published As

Publication number Publication date
CN114238704B (en) 2022-10-04

Similar Documents

Publication Publication Date Title
CN110321344B (en) Information query method and device for associated data, computer equipment and storage medium
US9208258B2 (en) Locking and traversal methods for ordered tree data structures
US10114908B2 (en) Hybrid table implementation by using buffer pool as permanent in-memory storage for memory-resident data
CN107491487B (en) Full-text database architecture and bitmap index creation and data query method, server and medium
CN105320775A (en) Data access method and apparatus
JP2005267600A5 (en)
CN114282074B (en) Database operation method, device, equipment and storage medium
CN114416646A (en) Data processing method and device of hierarchical storage system
CN114691721A (en) Graph data query method and device, electronic equipment and storage medium
US7440936B2 (en) Method for determining an access mode to a dataset
CN113392089A (en) Database index optimization method and readable storage medium
CN114238704B (en) Tree index splitting method, data access method and device and electronic equipment
CN111881140A (en) Data structure tree checking method, device, equipment and storage medium
CN116774937A (en) Data storage method, device, processing equipment and storage medium
CN111104435B (en) Metadata organization method, device and equipment and computer readable storage medium
CN113849482A (en) Data migration method and device and electronic equipment
CN113625938B (en) Metadata storage method and device
CN113760171A (en) Metadata storage method and device
US10169250B2 (en) Method and apparatus method and apparatus for controlling access to a hash-based disk
CN118567577B (en) Data access method and device based on distributed block storage and electronic equipment
KR100349667B1 (en) A concurrency control method for high-dimensional index structures
CN113485639B (en) IO speed optimization method, system, terminal and storage medium for distributed storage
CN113609076B (en) File storage method and file reading method
CN115480705A (en) Data processing method and device, electronic equipment and storage medium
CN118643025A (en) File migration method, device, equipment and storage medium

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