Back to results
US 2010/0169335 A1Published application
Detecting and Reordering Fixed-Length Records to Facilitate Compression
AssigneeMicrosoft Corporation
InventorsHua Cai, Jiang Li
Life of this patent
Estimating the term…
Abstract
Disclosed herein are one or more embodiments that facilitate compression of a source file having a fixed-length record therein. One or more of the disclosed embodiments detect the fixed-length records and determine a reordering plan for the source file, including determining a plurality of column groupings within the detected fixed-length records.
Claims20
A method comprising:
- detecting, by a computing device configured to facilitate compression of a source file, a plurality of fixed-length records within the source file;
- determining, by the computing device, a reordering plan for the source file, including determining a plurality of column groupings within the detected fixed-length records;
- and
- reordering, by the computing device, the fixed-length records based on the reordering plan to facilitate compression of the source file.
1 more element
A computing device comprising:
- a processor;
- and
- programming instructions configured to be executed by the processor to detect a set of fixed-length records within a source file, including:
- determining a plurality of candidate records based on a repeating string pattern detected within the source file;
- determining a candidate record length based on a byte differential between repeated instances of the string pattern;
- comparing first byte values occurring between the repeated instances of the string pattern with second byte values following the first byte values by the record length in order to calculate a score;
- and
- if the score is less than or equal to a threshold value, determining that the candidate records are members of the set of fixed-length records.
5 more elements
An article of manufacture comprising:
- a storage medium;
- and
- a plurality of programming instructions stored on the storage medium and configured to program a computing device to, when executed:
- detect one or more fixed-length records within a source file, the detecting including
- determining a plurality of candidate records based on a repeating string pattern detected within the source file;
- determining a candidate record length based on a byte differential between repeated instances of the string pattern;
- comparing first byte values occurring between the repeated instances of the string pattern with second byte values following the first byte values by the record length in order to calculate a score;
- and
- if the score is less than or equal to a threshold value, determining that the candidate records are members of the set of fixed-length records;
- determine a plurality of column groupings within the fixed-length records, the determining including
- determining a dependency relationship between a first column and a second column based on a tendency of values repeating in the first column to appear together with values repeating in the second column, or
- determining a partition plan of a set of partition plans partitioning the fixed-length records into candidate column groupings as an optimal partition plan based on coding bit sizes associated with each partition plan;
- and
- reorder the fixed-length records based on the plurality of column groupings to facilitate compression of the source file.
11 more elements
Dependencies are inferred from the claim text.