发明名称 Systems and methods for high-speed searching and filtering of large datasets
摘要 A data structure comprises a clump header table, an inline tree data structure, and one or more auxiliary data structures. Each clump header record includes an indicator of a location in the inline tree data structure of corresponding binary string segments. Clump header records or auxiliary header records include indicators of corresponding locations in the corresponding auxiliary data structure. Each auxiliary data structure can be altered without necessarily altering the inline tree or clump header table. A dedicated, specifically adapted conversion program generates the clump header file, the inline tree data structure, and the one or more auxiliary data structures. The data structure can be stored on any computer-readable medium, and can be read entirely into RAM to be searched (with or without filtering on one or more filter data fields). A dedicated, specifically adapted search and filter program is employed, which can list or enumerate the retrieved data records.
申请公布号 US9626401(B1) 申请公布日期 2017.04.18
申请号 US201514873625 申请日期 2015.10.02
申请人 Moonshadow Mobile, Inc. 发明人 Ward Roy W.
分类号 G06F17/30 主分类号 G06F17/30
代理机构 代理人 Alavi David S.
主权项 1. A computer system comprising one or more computer processors and one or more computer-readable non-transitory storage media structured and connected to perform a method comprising: (a) generating, from a multitude of alphanumeric data records, using one or more of the computer processors programmed therefor, (1) an alphanumeric or binary clump header table comprising a plurality of clump data records, (2) an inline tree data structure, and (3) one or more auxiliary data structures; and (b) storing the clump header table, the inline tree data structure, and the one or more auxiliary data structures on one of the computer-readable storage media, wherein: (c) the multitude of alphanumeric data records represent a dataset, each alphanumeric data record includes data strings for multiple corresponding defined data fields, and the clump header table, the inline tree data structure, and the one or more auxiliary data structures also represent said dataset; (d) first and second sets of the one or more data fields among the defined data fields define a hierarchical tree relationship among subranges of data strings of the data fields of the first and second sets, which subranges correspond to first-level and second-level subsets, respectively, of the data records of the dataset; (e) the inline tree data structure comprises a sequence of (1) multiple first-level binary string segments, each followed by (2) a subset of one or more corresponding second-level binary string segments; (f) each first-level binary string segment encodes a subrange of data strings in a selected filterable subset of the first set of data fields of a corresponding one of the first-level subsets of the data records, and excludes a non-filterable subset of the first set of data fields; (g) each second-level binary string segment encodes a subrange of data strings in a selected filterable subset of the second set of data fields of a corresponding one of the second-level subsets of the data records, and excludes a non-filterable subset of the second set of data fields; (h) for a clumped set of the defined data fields, which clumped set excludes data fields of the first and second sets, each combination of specific data strings that occurs in the dataset is indicated by a corresponding one of the plurality of clump data records of the clump header table; (i) each clump data record in the clump header table includes an indicator of a location in the inline tree data structure of a corresponding first-level binary string segment; (j) each of the one or more auxiliary data structures comprises electronic indicia of a corresponding auxiliary set of data fields, which auxiliary set of data fields comprises (1) one or more of the defined data fields or (2) one or more additional data fields that are not among the defined data fields; and (k) the electronic indicia of each one of the one or more auxiliary data structures comprise a corresponding set of auxiliary binary string segments, a corresponding auxiliary inline tree data structure, or a corresponding set of auxiliary alphanumeric string segments.
地址 Eugene OR US