Method of compacting and searching a data index
First Claim
1. In a computer system comprising a data processing means, a memory means, and a data storage device containing data records, each data record having a unique search key and a unique record location reference, wherein the data records are indexed by means of a multi-way tree structure initially stored in the data storage device and having at least one leaf node, each such leaf node initially having a plurality of ordered copies of certain of the search keys assigned thereto and containing associated record location references, a method of operating the data processing means for compactly storing indexing information in each leaf node, comprising the steps of:
- (1) reading a selected leaf node from the data storage device and saving the leaf node in the memory means;
(2) comparing an initial search key assigned to the leaf node to a next search key assigned to the leaf node;
(3) determining a distinction bit, comprising the ordinal number of the bit position in the initial and the next search keys in which the two keys differ in value;
(4) saving the distinction bit, and the record location reference associated with said next search key, in the leaf node located in the memory means; and
(5) repeating Steps (2), (3), and (4) for a next pair of search keys assigned to the leaf node until a distinction bit is determined and the distinction bit and its associated record location reference are saved for each successive pair of search keys assigned to the leaf node.
2 Assignments
0 Petitions
Accused Products
Abstract
An improved method for indexing and accessing data stored in a computer storage system, comprising a multi-way tree structure having interconnected branch nodes and leaf nodes. The leaf nodes contain a large number of distinction bits, rather than a smaller number of search keys as known in the prior art. A distinction bit is determined by comparing two selected search keys and determining the ordinal number of the first bit that is different between the two keys. The density of distinction bit entries in the leaf nodes permits shorter access times to obtain data records in a computer storage system.
161 Citations
10 Claims
-
1. In a computer system comprising a data processing means, a memory means, and a data storage device containing data records, each data record having a unique search key and a unique record location reference, wherein the data records are indexed by means of a multi-way tree structure initially stored in the data storage device and having at least one leaf node, each such leaf node initially having a plurality of ordered copies of certain of the search keys assigned thereto and containing associated record location references, a method of operating the data processing means for compactly storing indexing information in each leaf node, comprising the steps of:
-
(1) reading a selected leaf node from the data storage device and saving the leaf node in the memory means; (2) comparing an initial search key assigned to the leaf node to a next search key assigned to the leaf node; (3) determining a distinction bit, comprising the ordinal number of the bit position in the initial and the next search keys in which the two keys differ in value; (4) saving the distinction bit, and the record location reference associated with said next search key, in the leaf node located in the memory means; and (5) repeating Steps (2), (3), and (4) for a next pair of search keys assigned to the leaf node until a distinction bit is determined and the distinction bit and its associated record location reference are saved for each successive pair of search keys assigned to the leaf node.
-
-
2. In a computer system comprising a data processing means, a memory means, and a data storage device containing data records, each data record having a unique search key and a unique record location reference, wherein the data records are indexed by means of a multi-way tree structure initially stored in the data storage means and having (a) a plurality of leaf nodes, each having a unique leaf location reference and each having assigned thereto a plurality of (1) ordered distinction bits, each distinction bit comprising the ordinal number of the bit position in an ordered pair of search keys in which the two keys differ in value, the search keys corresponding to certain of said data records, and (2) record location references, each record location reference being associated with a distinction bit, and (b) at least one branch node, each such branch node having a unique branch location reference, and each branch node containing a plurality of ordered copies of certain of the search keys and associated branch location references to other branch nodes and/or leaf location references to leaf nodes, a method of operating the data processing means for locating a desired data record having a selected search key, comprising the steps of:
-
(1) selecting the leaf node associated with the selected search key of the desired data record from the data storage device, and saving the selected leaf node in the memory means; (2) fetching from the selected leaf node an initial distinction bit; (3) comparing the bit position in the selected search key corresponding to the ordinal value of the fetched distinction bit to a selected value; (4) if the comparison of Step (3) results in equality, then; (a) saving the record location reference associated with the fetched distinction bit; (b) fetching a next distinction bit from the selected leaf node; and (c) continuing at Step (3) until all distinction bits in the leaf node have been compared; (5) if the comparison of Step (3) results in inequality, then; (a) saving the value of the fetched distinction bit; (b) fetching a next distinction bit from the selected leaf node; (c) if the fetched distinction bit is greater than the saved distinction bit, then continuing at Step (5) (b); (d) if the fetched distinction bit is not greater than the saved distinction bit, then fetching a next distinction bit from the selected leaf node and continuing at Step (3); wherein the last saved record location reference indicates the location in the computer system of the desired data record. - View Dependent Claims (5, 8, 9, 10)
-
-
3. In a computer system comprising a data processing means, a memory means, and a data storage device containing data records, each data record having a unique search key and a unique record location reference, wherein the data records are indexed by means of a multi-way tree structure initially stored in the data storage device and having (a) a plurality of leaf nodes each initially having a plurality of ordered copies of certain of the search keys assiged thereto and containing associated record location references, each leaf node having a unique leaf location reference, and (b) at least one branch node, each such branch node having a unique branch location reference, and each branch node containing a plurality of ordered copies of certain of the search keys and associated branch location references to other branch nodes and/or leaf location references to leaf nodes, a method of operating the data processing means for compactly storing indexing information in each leaf node for enabling rapid searching of said data records, comprising the steps of:
-
(1) reading a selected leaf node from the data storage device and saving the leaf node in the memory means; (2) comparing an initial search key assigned to the leaf node to a next search key assigned to the leaf node; (3) determining a distinction bit, comprising the ordinal number of the bit position in the initial and the next search keys in which the two keys differ in value; (4) saving the distinction bit, and the record location reference associated with said next search key, in the leaf node located in the memory means in a position corresponding to the ordering of said next search key assigned to that leaf node; and (5) repeating Steps (2), (3), and (4) for a next pair of search keys assigned to the leaf node until a distinction bit is determined and the distinction bit and its associated record location reference are saved for each successive pair of search keys assigned to the leaf node. - View Dependent Claims (4, 6, 7)
-
Specification