Method for concurrent record access, insertion, deletion and alteration using an index tree
First Claim
1. In a data processing system, a method executed by a data processor for fetching key record data stored in a data processing memory in a group of record keys by using a portion of a key record through an index tree during a transaction in the data processing system wherein other transactions may concurrently access said record keys through said index tree, said index tree having at least a root node, at least one intermediate level of at least one node, each node having a key record reference to one or more nodes in a next lower ordered level of nodes and having bottom nodes that provide access to said key record data, said method comprising the steps of:
- (a) traversing across said nodes in said data processing memory from said root node through said intermediate level of nodes by accessing a node using said key record portion of the root node and traversing to a next node indicated by said key record portion of the accessed node until a bottom node is reached;
(b) limiting all but read accesses to the node being accessed and an immediate previously accessed node in said data processing memory, to other concurrent transactions in said data processing system;
(c) identifying and accessing said key record in said bottom node;
(d) limiting all but read accesses to said key record;
(e) removing all access limitations to the accessed nodes including the bottom node except for the accessed key record;
(f) fetching key record data; and
(g) removing the access limitation to the key record after the record data has been fetched.
1 Assignment
0 Petitions
Accused Products
Abstract
A method for fetching key record data in a group or record keys according to at least a portion of a key record through an index tree is provided. The index tree provides concurrent accesses of record keys by different transactions. The index tree includes a root node connected to at least one level of nodes, each node having a key record reference to one of more nodes in a next successive level and having bottom nodes that provide access to the key data. The method consists of the steps of (1) traversing across said nodes from said root node by using said key record portion until a bottom node is reached; (2) limiting all but read accesses to the node being traversed and a previously accessed node, to other concurrent transactions; (3) identifying said key record in said bottom node; (4) limiting all but read accesses to said key record; (5) removing all access limitations to traversed nodes; (6) fetching key record data; and (7) removing the access limitation to the key record after the record data has been fetched. Further, methods for inserting and deleting record keys are provided. Additionally, a method for changing the index tree structure while allowing concurrent accesses to take place is provided.
94 Citations
10 Claims
-
1. In a data processing system, a method executed by a data processor for fetching key record data stored in a data processing memory in a group of record keys by using a portion of a key record through an index tree during a transaction in the data processing system wherein other transactions may concurrently access said record keys through said index tree, said index tree having at least a root node, at least one intermediate level of at least one node, each node having a key record reference to one or more nodes in a next lower ordered level of nodes and having bottom nodes that provide access to said key record data, said method comprising the steps of:
-
(a) traversing across said nodes in said data processing memory from said root node through said intermediate level of nodes by accessing a node using said key record portion of the root node and traversing to a next node indicated by said key record portion of the accessed node until a bottom node is reached; (b) limiting all but read accesses to the node being accessed and an immediate previously accessed node in said data processing memory, to other concurrent transactions in said data processing system; (c) identifying and accessing said key record in said bottom node; (d) limiting all but read accesses to said key record; (e) removing all access limitations to the accessed nodes including the bottom node except for the accessed key record; (f) fetching key record data; and (g) removing the access limitation to the key record after the record data has been fetched. - View Dependent Claims (2, 3, 4)
-
-
5. In a data processing system, a method executed by a data processor for inserting a single key record in a group of record keys stored in a data processing memory according to a key record through an index tree during a transaction in the data processing system wherein other transactions concurrently access said record keys through said index tree, said index tree having at least a root node, at least one intermediate level of at least one node, each node having a key record reference to one or more nodes n a next successive level of nodes and having bottom nodes that provide access to said record keys, said method comprising the steps of:
-
(a) limiting all accesses to the key record being inserted; (b) traversing across said nodes in said data processing memory from said root node through said intermediate level of nodes by accessing a node using said key record of said root node and traversing to a next node indicated by said key record of said accessed node until a bottom node is reached; (c) limiting all but read accesses to the node being accessed and not more than one immediately previous accessed node, to other concurrent transactions in said data processing system as said nodes are traversed; (d) identifying a next successively located key record relative to the key record to be inserted in said node and limiting all access to the bottom node; (e) limiting all accesses to said next successively located key record; (f) inserting said key record;
thereafter,(g) removing the access limitation to the next successively located key record and the bottom node; and
thereafter,(h) removing all remaining access limitations to the accessed nodes. - View Dependent Claims (6)
-
-
7. In a data processing system, a method executed by a data processor for deleting a key record in a group of record keys stored in a data processing memory according to a key record through an index tree during a transaction in the data processing system wherein other transactions concurrently access said record keys through said index tree, said index tree having a root node connected to at least one intermediate level of nodes, each node having a key record reference to one or more nodes in a next successive level and having bottom nodes that provide access to said record keys, said method comprising the steps of:
-
(a) traversing across said nodes from said root node in said data processing memory through said intermediate level of nodes by accessing a node according to said key record and traversing to a next node indicated by said key record of said accessed node until a bottom node is reached; (b) limiting all but read accesses to the node being accessed and not more than one immediately previous accessed node, to other concurrent transactions in said data processing system as said nodes are accessed; (c) identifying a next successively located key record relative to the key record to be deleted in said bottom node and limiting all access to the bottom node; (d) limiting all accesses to said next successively located key record; (e) deleting said key record;
thereafter,(f) removing all remaining access limitations to the accessed nodes; and
thereafter,(g) removing the access limitation to the next successively located key record. - View Dependent Claims (8, 9)
-
-
10. In a data processing system, a method executed by a data processor for altering an index tree structure that provides access to at least one key record in a group of record keys stored in a data processing memory according to a key record for a transaction in the data processing system wherein other transactions concurrently access said record keys through said index tree, said index tree structure having at least one node, said node having a key record reference to either another node or having a key record reference providing direct access to said key record, said index tree including an indication when said index tree is being changed said method comprising the steps of:
-
(a) determining that no indication of an index tree change is present in said data processing system; (b) providing the indication of an index tree change that allows concurrent non-altering access to the index tree to said data processing system; (c) altering said index tree node in said data processing memory; (d) allowing concurrent non-altering access to said index tree while said index tree is being altered; and (e) removing the indication of an index tree change after completion of said altering step.
-
Specification