Efficient storage and retrieval of textual data
AssigneeMicrosoft Technology Licensing, LLC
InventorVipul Gupta
Life of this patent
Estimating the term…
Abstract
A method of and system of efficient storage of data entries containing textual data is disclosed. The method may include accessing a plurality of data entries in a dataset, arranging the plurality of data entries in the dataset in a lexical order, placing a predetermined number of the plurality of data entries in each of a plurality of subblocks, performing data compression on the plurality of data entries in each of the plurality of subblocks to reduce redundancy in the plurality of data entries and create compressed data entries, placing one or more subblocks in each of a plurality of page blocks, and storing each of the plurality of page blocks in a storage device to provide efficient searching and improved functionality for the dataset.
Claims20
A data processing system comprising:
- a processor;
- and
- a memory in communication with the processor, the memory comprising executable instructions that, when executed by the processor, cause the data processing system to perform functions of:
- accessing a plurality of data entries in a dataset;
- arranging the plurality of data entries in the dataset in a lexical order;
- placing a predetermined number of the plurality of data entries in each of a plurality of subblocks;
- performing data compression on the plurality of data entries in each of the plurality of subblocks to reduce redundancy in the plurality of data entries and create compressed data entries;
- placing one or more subblocks in each of a plurality of page blocks;
- and
- storing each of the plurality of page blocks in a storage device to provide efficient searching and improved functionality for the dataset,
- wherein performing data compression on the plurality of data entries in each of the plurality of subblocks comprises:
- examining a data entry in a subblock to determine that the data entry is not a first data entry in the subblock;
- upon determining that the data entry is not the first data entry in the subblock:
- comparing the data entry to a previous data entry in the subblock to identify overlapping beginning characters;
- and
- assigning a number to a compressed data entry for the data entry, when one or more overlapping characters are identified.
A method for efficient storage of data entries containing textual data, comprising:
- accessing a plurality of data entries in a dataset;
- arranging the plurality of data entries in the dataset in a lexical order;
- placing a predetermined number of the plurality of data entries in each of a plurality of subblocks;
- performing data compression on the plurality of data entries in each of the plurality of subblocks to reduce redundancy in the plurality of data entries and create compressed data entries;
- placing one or more subblocks in each of a plurality of page blocks;
- and
- storing each of the plurality of page blocks in a storage device to provide efficient searching
- wherein performing data compression on the plurality of data entries in each of the plurality of subblocks comprises:
- examining a data entry in a subblock to determine that the data entry is not a first data entry in the subblock;
- upon determining that the data entry is not the first data entry in the subblock:
- comparing the data entry to a previous data entry in the subblock to identify overlapping beginning characters;
- and
- assigning a number to a compressed data entry for the data entry, when one or more overlapping characters are identified.
A non-transitory computer readable medium on which are stored instructions that, when executed, cause a programmable device to:
- access a plurality of data entries in a dataset;
- arrange the plurality of data entries in the dataset in a lexical order;
- place a predetermined number of the plurality of data entries in each of a plurality of subblocks;
- perform data compression on the plurality of data entries in each of the plurality of subblocks to reduce redundancy in the plurality of data entries and create compressed data entries;
- and
- place one or more subblocks in each of a plurality of page blocks;
- and
- store each of the plurality of page blocks in a storage device to provide efficient searching and improved functionality for the dataset,
- wherein performing data compression on the plurality of data entries in each of the plurality of subblocks comprises:
- examining a data entry in a subblock to determine that the data entry is not a first data entry in the subblock;
- upon determining that the data entry is not the first data entry in the subblock;
- comparing the data entry to a previous data entry in the subblock to identify overlapping beginning characters;
- and
- assigning a number to a compressed data entry for the data entry, when one or more overlapping characters are identified.
Dependencies are inferred from the claim text.