JP7257068B2 - 大規模データセットの高速検索またはフィルタリングのためのシステム、方法、およびデータ構造 - Google Patents
大規模データセットの高速検索またはフィルタリングのためのシステム、方法、およびデータ構造 Download PDFInfo
- Publication number
- JP7257068B2 JP7257068B2 JP2022001450A JP2022001450A JP7257068B2 JP 7257068 B2 JP7257068 B2 JP 7257068B2 JP 2022001450 A JP2022001450 A JP 2022001450A JP 2022001450 A JP2022001450 A JP 2022001450A JP 7257068 B2 JP7257068 B2 JP 7257068B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- level branch
- string
- branch node
- terminal node
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2246—Trees, e.g. B+trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
- G06F16/24532—Query optimisation of parallel queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/282—Hierarchical databases, e.g. IMS, LDAP data stores or Lotus Notes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Radar Systems Or Details Thereof (AREA)
Description
この出願は、発明者Roy.W.Wardの名で2016年8月10日に提出された「大規模データセットの高速検索またはフィルタリングのためのシステム、方法、およびデータ構造」と題する米国特許出願第15/233,047号の優先権を主張する。この特許出願は、本明細書に全体が記載されているかのように参照により本明細書に組み入れられる。
本発明の分野は、電子データの格納、検索、フィルタリング、一覧表示、列挙、または回復に関する。特に、大規模データセットの高速検索またはフィルタリングのためのシステム、方法、およびデータ構造が本明細書に開示されている。
データセットの電子索引を格納するようにエンコードされた1またはそれ以上の有形の非一時的コンピュータ可読記憶媒体を含む物品であって、前記電子索引は、インラインツリーデータ構造および1またはそれ以上の補助データ構造を含み、
(a)前記データセットは複数のデータレコードを有し、各データレコードは複数の対応する定義済みデータフィールドについてのフィールド値文字列を含み、
(b)前記定義済みデータフィールドは、末端ノードデータフィールドと第1レベルのブランチノードデータフィールドとを含み、前記第1レベルのブランチノードデータフィールドは、前記第1レベルのブランチノードデータフィールドのフィールド値文字列のサブレンジ間の階層ツリーの関係を定義し、これらのサブレンジは前記データセットのデータレコードの複数の第1レベルのブランチノードサブセットに対応し、
(c)各第1レベルのブランチノードサブセットは、第1レベルのブランチノードデータフィールドのフィールド値文字列が対応するサブレンジ内に入るデータレコードを含み、
(d)前記インラインツリーデータ構造は、末端ノードバイナリ文字列のみの順序付けられたシーケンスを含み、
(1)前記末端ノードバイナリ文字列と前記データセットのデータレコードとの間には一対一の対応関係があり、
(2)前記末端ノードバイナリ文字列は互いに同じ長さを有し、
(3)各末端ノードバイナリ文字列は、各末端ノードバイナリ文字列について、
(i)前記順序付けされたシーケンス内の前記末端ノードバイナリ文字列およびすぐ隣の末端ノードバイナリ文字列が、ともに同じ第1レベルのブランチノードサブセットにあるそれぞれのデータレコードに対応すること、
(ii)それぞれのデータレコードが互いに異なる第1レベルのブランチノードサブセットにあること、または
(iii)前記末端ノードバイナリ文字列が、前記インラインツリーデータ構造の最後の末端ノードバイナリ文字列であること、を示すインジケータ文字列を含み、
(e)第1レベルのブランチノードサブセットごとに、対応する末端ノードバイナリ文字列が、前記インラインツリーデータ構造内で単一の連続した文字列シーケンスを形成し、
(f)前記1またはそれ以上の補助データ構造が、前記インラインツリーデータ構造内の末端ノードバイナリ文字列の順序付けられたシーケンスと同じ順序で配置、索引付け、またはアクセス可能なデータセットのデータレコードのフィールド値文字列の電子索引を含む、
ことを特徴とする物品。
例1の物品において、各末端ノードバイナリ文字列について、前記インジケータ文字列は、
(i)前記順序付けられたシーケンス内の前記末端ノードバイナリ文字列および直後の末端ノードバイナリ文字列が、ともに同じ第1レベルのブランチノードサブセットにあるそれぞれのデータレコードに対応すること、
(ii)それぞれのデータレコードが互いに異なる第1レベルのブランチノードサブセットにあること、または
(iii)前記末端ノードバイナリ文字列が、前記インラインツリーデータ構造の最後の末端ノードバイナリ文字列であること、を示すことを特徴とする物品。
例1において、各末端ノードバイナリ文字列について、前記インジケータ文字列は、
(i)前記順序付けられたシーケンス内の前記末端ノードバイナリ文字列および直前の末端ノードバイナリ文字列が、ともに同じ第1レベルのブランチノードサブセットにあるそれぞれのデータレコードに対応すること、または
(ii)それぞれのデータレコードは、互いに異なる第1レベルのブランチノードサブセットにあるが、異なる上位レベルのブランチノードサブセットにはないこと、を示すことを特徴とする物品。
例1乃至3のいずれかの物品において、前記インラインツリーデータ構造の各末端ノードバイナリ文字列は、対応するインジケータ文字列のみを含み、対応するデータレコードのフィールド値をエンコードするいかなるデータ文字列も含まないことを特徴とする物品。
例1乃至3のいずれかの物品において、前記インラインツリーデータ構造の各末端ノードバイナリ文字列は、対応するデータレコードの1またはそれ以上のフィールド値をエンコードするデータ文字列を含むことを特徴とする物品。
例5の物品において、各データ文字列が、文字列インターニングによってエンコードされた1またはそれ以上のデータフィールド値を含むことを特徴とする物品。
例1乃至6のいずれかの物品において、前記補助データ構造のうちの1またはそれ以上が、文字列インターニングによってエンコードされた1またはそれ以上のデータフィールド値を含むことを特徴とする物品。
例1乃至7のいずれかの物品において、1またはそれ以上の補助データ構造が、1組の複数のクランプされたデータフィールド値をエンコードする1またはそれ以上のクランプデータフィールド値を含むことを特徴とする物品。
例1乃至8のいずれかの物品において、前記インラインツリーデータ構造が、コンピュータランダムアクセスメモリまたはプロセッサキャッシュメモリに格納されていることを特徴とする物品。
例1乃至9のいずれかの物品を生成するためのコンピュータ実施方法であって、
(A)データセットの第1の電子索引を、コンピュータシステムで受信するか、1またはそれ以上のコンピュータ可読記憶媒体から読み取るステップと、
(B)そのためにプログラムされ、1またはそれ以上の記憶媒体に機能的に結合されたコンピュータシステムの1またはそれ以上の電子プロセッサを使用して、データセットの第2の電子索引を生成するステップであって、前記第2の電子索引は、(1)インラインツリーデータ構造と、(2)1またはそれ以上の補助データ構造とを含む、ステップと、
(C)コンピュータシステムの1またはそれ以上の電子プロセッサに機能的に結合された1またはそれ以上の有形の非一時的コンピュータ可読記憶媒体に、前記インラインツリーデータ構造および前記1またはそれ以上の補助データ構造を格納するステップと、を含むことを特徴とする方法。
例10の方法を実行するように構築、接続、およびプログラムされたコンピュータシステム。
コンピュータ可読命令をエンコードする1またはそれ以上の有形の非一時的コンピュータ可読記憶媒体を含む物品であって、コンピュータシステムに適用されると、例10の方法を実行するようにコンピュータに命令することを特徴とする物品。
例1乃至9のいずれかの物品にエンコードされたインラインツリーデータ構造および1またはそれ以上の補助データ構造を問い合わせるためのコンピュータ実施方法であって、当該方法が、
(A)コンピュータシステムにおいて、データセットの定義済みデータフィールドのうちの1またはそれ以上の選択された照会データフィールドのそれぞれについて、対応する照会フィールド値サブレンジに入る対応するフィールド値を含むデータセットのデータレコードに対する検索クエリを受け取るステップと、
(B)自動的に、そのためにプログラムされたコンピュータプロセッサで、前記インラインツリーデータ構造の末端ノードバイナリ文字列の順序付けられたシーケンスを順番に問い合わせて、対応するインジケータ文字列を同定するステップと、
(C)パート(B)で問い合わせられた各末端ノードバイナリ文字列として、自動的に、そのためにプログラムされたコンピュータプロセッサで、1またはそれ以上の補助データ構造において、対応するデータレコードの選択された照会データフィールドの中でのみフィールド値文字列を問い合わせ、パート(A)の検索クエリを満たすデータレコードを同定するステップであって、パート(C)で各データレコードについて問い合わせられるフィールド値文字列は、パート(B)で同定された対応するインジケータ文字列によって部分的に決定される、ステップと、
(D)パート(A)の検索クエリを満たさない各第1レベルのブランチノードフィールド値について、パート(C)の問い合わせから、データレコードの対応する第1レベルのブランチノードサブセットの末端ノードデータフィールドを除外するステップと、
(E)そのためにプログラムされたコンピュータプロセッサで、パート(A)で受け取られた検索クエリを満たすものとして、パート(C)で同定されたデータレコードのリストまたは列挙を自動的に生成するステップとを含むことを特徴とする方法。
例13の方法を実行するように構築、接続、およびプログラムされたコンピューターシステム。
コンピュータ可読命令をエンコードする1またはそれ以上の有形の非一時的コンピュータ可読記憶媒体を含む物品であって、コンピュータシステムに適用されると、例13の方法を実行するようにコンピュータに命令することを特徴とする物品。
例1から9のいずれか1つの物品において、
(b’)前記定義済みデータフィールドがさらに、1またはそれ以上のレベルの上位レベルのブランチノードデータフィールドを含み、前記第1レベルおよび上位レベルのブランチノードデータフィールドは、ブランチノードデータフィールドのフィールド値文字列のサブレンジ間の階層ツリー関係を定義し、これらのサブレンジは、前記データせっとんデータレコードの、複数の第1レベルのブランチノードサブセット、および1またはそれ以上のレベルの上位レベルのブランチノードサブセットに対応しており、
(c’)上位レベルのブランチノードデータフィールドの各レベルについて、各上位レベルのブランチノードサブセットは、そのレベルの前記上位レベルのブランチノードデータフィールドのフィールド値文字列が、対応するサブレンジに入るデータレコードを含み、
(d’)各末端ノードバイナリ文字列について、前記インジケータ文字列は、
(i)前記順序付けられたシーケンスにおける前記末端ノードバイナリ文字列およびすぐ隣の末端ノードバイナリ文字列が、両方とも同じ第1レベルのブランチノードサブセットにあるそれぞれのデータレコードに対応すること、
(ii)それぞれのデータレコードは、互いに異なる第1レベルのブランチノードサブセットにあるが、異なるより高いレベルのブランチノードサブセットにはないこと、
(iii)それぞれのデータレコードが互いに異なる第1レベルのブランチノードサブセットにあり、それぞれのデータレコードでのブランチノードサブセットの中の最高レベルも、互いに異なる上位レベルのブランチノードサブセットにあること、または
(iv)前記末端ノードバイナリ文字列が、前記インラインツリーデータ構造の最後の末端ノードバイナリ文字列であること、を示し、
(e’)各上位レベルのブランチノードサブセットについて、対応する末端ノードバイナリ文字列は、前記インラインツリーデータ構造内で単一の隣接する文字列シーケンスを形成することを特徴とする物品。
例16の物品において、各末端ノードバイナリ文字列について、前記インジケータ文字列は、
(i)順序付けられたシーケンス内の前記末端ノードバイナリ文字列および直後に続く末端ノードバイナリ文字列が、両方とも同じ第1レベルのブランチノードサブセットにあるそれぞれのデータレコードに対応すること、
(ii)それぞれのデータレコードは互いに異なる第1レベルのブランチノードサブセットにあるが、異なるより高いレベルのブランチノードサブセットにはないこと、
(iii)それぞれのデータレコードは、互いに異なる第1レベルのブランチノードサブセットにあり、それぞれのデータレコードでのブランチノードサブセットの中の最高レベルも、互いに異なる上位レベルのブランチノードサブセットにあること、または、
(iv)前記末端ノードバイナリ文字列が、前記インラインツリーデータ構造の最後の末端ノードバイナリ文字列であること、を示すことを特徴とする物品。
例16の物品において、各末端ノードバイナリ文字列について、前記インジケータ文字列は、
(i)前記順序付けされたシーケンスにおける末端ノードバイナリ文字列および直前の末端ノードバイナリ文字列が、両方とも同じ第1レベルのブランチノードサブセットにあるそれぞれのデータレコードに対応すること、
(ii)それぞれのデータレコードは、互いに異なる第1レベルのブランチノードサブセットにあるが、異なる上位レベルのブランチノードサブセットにはないこと、または
(iii)それぞれのデータレコードは、互いに異なる第1レベルのブランチノードサブセットにあり、それぞれのデータレコードでのブランチノードサブセットの中の最高レベルも、互いに異なる上位レベルのブランチノードサブセットにあること、を示すことを特徴とする物品。
例16乃至18のいずれかの物品を生成するためのコンピュータ実施方法であって、
(A)データセットの第1の電子索引を、コンピュータシステムで受信するか、1またはそれ以上のコンピュータ可読記憶媒体から読み取るステップと、
(B)そのためにプログラムされ、1またはそれ以上の記憶媒体に機能的に結合されたコンピュータシステムの1またはそれ以上の電子プロセッサを使用して、前記データセットの第2の電子索引を生成するステップであって、当該第2の電子索引が、(1)インラインツリーデータ構造と、(2)1またはそれ以上の補助データ構造とを含むステップと、
(C)コンピュータシステムの1またはそれ以上の電子プロセッサに機能的に結合された1またはそれ以上の有形の非一時的コンピュータ可読記憶媒体に、前記インラインツリーデータ構造および1またはそれ以上の補助データ構造を格納するステップとを含むことを特徴とする方法。
例19の方法を実行するように構築、接続、およびプログラムされたコンピューターシステム。
コンピュータ可読命令をエンコードする1またはそれ以上の有形の非一時的コンピュータ可読記憶媒体を含む物品であって、コンピュータシステムに適用されると、例19の方法を実行するようにコンピュータに命令することを特徴とする物品。
例16乃至18のいずれかの物品にエンコードされたインラインツリーデータ構造および1またはそれ以上の補助データ構造を問い合わせるためのコンピュータ実施方法であって、当該方法が、
(A)コンピュータシステムにおいて、データセットの定義済みデータフィールドのうちの1またはそれ以上の選択された照会データフィールドのそれぞれについて、対応する照会フィールド値サブレンジに入る対応するフィールド値を含むデータセットのデータレコードに対する検索クエリを受け取るステップと、
(B)自動的に、そのためにプログラムされたコンピュータプロセッサで、前記インラインツリーデータ構造の末端ノードバイナリ文字列の順序付けられたシーケンスを順番に問い合わせて、対応するインジケータ文字列を同定するステップと、
(C)パート(B)で問い合わせられた各末端ノードバイナリ文字列として、自動的に、そのためにプログラムされたコンピュータプロセッサで、1またはそれ以上の補助データ構造において、対応するデータレコードの選択された照会データフィールドの中でのみフィールド値文字列を問い合わせ、パート(A)の検索クエリを満たすデータレコードを同定するステップであって、パート(C)で各データレコードについて問い合わせられるフィールド値文字列は、パート(B)で同定された対応するインジケータ文字列によって部分的に決定される、ステップと、
(D)パート(A)の検索クエリを満たさない各第1レベルのブランチノードフィールド値について、パート(C)の問い合わせから、データレコードの対応する第1レベルのブランチノードサブセットの末端ノードデータフィールドを除外するステップと、
(E)パート(A)の検索クエリを満たさない各上位レベルのブランチノードフィールド値について、パート(C)の問い合わせから、データレコードの対応する上位レベルのブランチノードサブセットの第1レベルノードデータフィールドおよび末端ノードデータフィールドを除外するステップと、
(F)そのためにプログラムされたコンピュータプロセッサで、パート(A)で受信された検索クエリを満たすものとして、パート(C)で同定されたデータレコードのリストまたは列挙を自動的に生成するステップとを含むことを特徴とする方法。
例22の方法を実行するように構築、接続、およびプログラムされたコンピューターシステム。
コンピュータ可読命令をエンコードする1またはそれ以上の有形の非一時的コンピュータ可読記憶媒体を含む物品であって、コンピュータシステムに適用されると、例22の方法を実行するようにコンピュータに命令することを特徴とする物品。
例13または22のいずれかの方法によって生成されたリストまたは列挙の電子索引を格納するようにエンコードされた1またはそれ以上の有形の非一時的コンピュータ可読記憶媒体を含むことを特徴とする物品。
Claims (12)
- コンピュータ実施方法において、
(a)データセットの第1の電子索引を、コンピュータシステムで受信するか、1またはそれ以上のコンピュータ可読記憶媒体から読み取るステップであって、前記データセットは複数のデータレコードを有し、各データレコードは複数の対応する定義済みデータフィールドについてのフィールド値文字列を含み、(i)前記定義済みデータフィールドは、末端ノードデータフィールドと第1レベルのブランチノードデータフィールドとを含み、(ii)前記第1レベルのブランチノードデータフィールドは、前記第1レベルのブランチノードデータフィールドのフィールド値文字列のサブレンジ間の階層ツリーの関係を定義し、これらのサブレンジは前記データセットのデータレコードの複数の第1レベルのブランチノードサブセットに対応し、(iii)各第1レベルのブランチノードサブセットは、第1レベルのブランチノードデータフィールドのフィールド値文字列が対応するサブレンジ内に入るデータレコードを含むものである、ステップと、
(b)プログラムされ、1またはそれ以上の記憶媒体に機能的に結合されたコンピュータシステムの1またはそれ以上の電子プロセッサを使用して、データセットの第2の電子索引を生成するステップであって、前記第2の電子索引は、(i)インラインツリーデータ構造と、(ii)1またはそれ以上の補助データ構造とを含むものである、ステップと、
(c)コンピュータシステムの1またはそれ以上の電子プロセッサに機能的に結合された1またはそれ以上の有形の非一時的コンピュータ可読記憶媒体に、前記インラインツリーデータ構造および前記1またはそれ以上の補助データ構造を格納するステップと、を含み、
(d)前記インラインツリーデータ構造は、末端ノードバイナリ文字列のみの順序付けられたシーケンスを含み、
(i)前記末端ノードバイナリ文字列と前記データセットのデータレコードとの間には一対一の対応関係があり、
(ii)前記末端ノードバイナリ文字列は互いに同じ長さを有し、
(iii)各末端ノードバイナリ文字列は、各末端ノードバイナリ文字列について、
(1)前記順序付けされたシーケンス内の前記末端ノードバイナリ文字列およびすぐ隣の末端ノードバイナリ文字列が、ともに同じ第1レベルのブランチノードサブセットにあるそれぞれのデータレコードに対応すること、
(2)それぞれのデータレコードが互いに異なる第1レベルのブランチノードサブセットにあること、または
(3)前記末端ノードバイナリ文字列が、前記インラインツリーデータ構造の最後の末端ノードバイナリ文字列であること、のうちの1つの条件に適合することを示すインジケータ文字列を含み、
(e)第1レベルのブランチノードサブセットごとに、対応する末端ノードバイナリ文字列が、前記インラインツリーデータ構造内で単一の連続した文字列シーケンスを形成し、
(f)前記1またはそれ以上の補助データ構造が、前記インラインツリーデータ構造内の末端ノードバイナリ文字列の順序付けられたシーケンスと同じ順序で配置、索引付け、またはアクセス可能なデータセットのデータレコードのフィールド値文字列の電子索引を含む、ことを特徴とする方法。 - 請求項1に記載の方法において、
(a’)(i)前記定義済みデータフィールドがさらに、1またはそれ以上のレベルの上位レベルのブランチノードデータフィールドを含み、(ii)前記第1レベルおよび上位レベルのブランチノードデータフィールドは、ブランチノードデータフィールドのフィールド値文字列のサブレンジ間の階層ツリー関係を定義し、これらのサブレンジは、前記データセットのデータレコードの、複数の第1レベルのブランチノードサブセット、および1またはそれ以上のレベルの上位レベルのブランチノードサブセットに対応しており、(iii)上位レベルのブランチノードデータフィールドの各レベルについて、各上位レベルのブランチノードサブセットは、そのレベルの前記上位レベルのブランチノードデータフィールドのフィールド値文字列が、対応するサブレンジに入るデータレコードを含み、
(d’)各末端ノードバイナリ文字列について、前記インジケータ文字列は、
(1)前記順序付けられたシーケンスにおける前記末端ノードバイナリ文字列およびすぐ隣の末端ノードバイナリ文字列が、両方とも同じ第1レベルのブランチノードサブセットにあるそれぞれのデータレコードに対応すること、
(2)それぞれのデータレコードは、互いに異なる第1レベルのブランチノードサブセットにあるが、異なるより高いレベルのブランチノードサブセットにはないこと、
(3)それぞれのデータレコードが互いに異なる第1レベルのブランチノードサブセットにあり、それぞれのデータレコードでのブランチノードサブセットの中の最高レベルも、互いに異なる上位レベルのブランチノードサブセットにあること、または
(4)前記末端ノードバイナリ文字列が、前記インラインツリーデータ構造の最後の末端ノードバイナリ文字列であること、のうちの1つの条件に適合することを示し、
(e’)各上位レベルのブランチノードサブセットについて、対応する末端ノードバイナリ文字列は、前記インラインツリーデータ構造内で単一の隣接する文字列シーケンスを形成することを特徴とする方法。 - コンピュータ実施方法において、
(A)コンピュータシステムにおいて、データセットの定義済みデータフィールドのうちの1またはそれ以上の選択された照会データフィールドのそれぞれについて、対応する照会フィールド値サブレンジに入る対応するフィールド値を含む、データセットのデータレコードに対する検索クエリを受信するステップと、
(B)自動的に、プログラムされたコンピュータプロセッサで、インラインツリーデータ構造の末端ノードバイナリ文字列の順序付けられたシーケンスを順番に問い合わせて、対応するインジケータ文字列を同定するステップと、
(C)パート(B)で問い合わせられた各末端ノードバイナリ文字列と同様に、プログラムされたコンピュータプロセッサで自動的に、1またはそれ以上の補助データ構造において、対応するデータレコードの選択された照会データフィールドのみについてフィールド値文字列を問い合わせ、パート(A)の検索クエリを満たすデータレコードを同定するステップであって、パート(C)で各データレコードについて問い合わせられるフィールド値文字列は、パート(B)で同定された対応するインジケータ文字列によって部分的に決定される、ステップと、
(D)パート(A)の検索クエリを満たさない各第1レベルのブランチノードフィールド値について、パート(C)の問い合わせから、データレコードの対応する第1レベルのブランチノードサブセットの末端ノードデータフィールドを除外するステップと、
(E)プログラムされたコンピュータプロセッサで、パート(A)で受信された検索クエリを満たすものとして、パート(C)で同定されたデータレコードのリストまたは列挙を自動的に生成するステップと、を含み、
(a)前記データセットは複数のデータレコードを有し、各データレコードは複数の対応する定義済みデータフィールドについてのフィールド値文字列を含み、(i)前記定義済みデータフィールドは、末端ノードデータフィールドと第1レベルのブランチノードデータフィールドとを含み、(ii)前記第1レベルのブランチノードデータフィールドは、前記第1レベルのブランチノードデータフィールドのフィールド値文字列のサブレンジ間の階層ツリーの関係を定義し、これらのサブレンジは前記データセットのデータレコードの複数の第1レベルのブランチノードサブセットに対応し、(iii)各第1レベルのブランチノードサブセットは、第1レベルのブランチノードデータフィールドのフィールド値文字列が対応するサブレンジ内に入るデータレコードを含み、
(b)前記インラインツリーデータ構造は、末端ノードバイナリ文字列のみの順序付けられたシーケンスを含み、
(i)前記末端ノードバイナリ文字列と前記データセットのデータレコードとの間には一対一の対応関係があり、
(ii)前記末端ノードバイナリ文字列は互いに同じ長さを有し、
(iii)各末端ノードバイナリ文字列は、各末端ノードバイナリ文字列について、
(1)前記順序付けされたシーケンス内の前記末端ノードバイナリ文字列およびすぐ隣の末端ノードバイナリ文字列が、ともに同じ第1レベルのブランチノードサブセットにあるそれぞれのデータレコードに対応すること、
(2)それぞれのデータレコードが互いに異なる第1レベルのブランチノードサブセットにあること、または
(3)前記末端ノードバイナリ文字列が、前記インラインツリーデータ構造の最後の末端ノードバイナリ文字列であること、のうちの1つの条件に適合することを示すインジケータ文字列を含み、
(c)第1レベルのブランチノードサブセットごとに、対応する末端ノードバイナリ文字列が、前記インラインツリーデータ構造内で単一の連続した文字列シーケンスを形成し、
(d)前記1またはそれ以上の補助データ構造が、前記インラインツリーデータ構造内の末端ノードバイナリ文字列の順序付けられたシーケンスと同じ順序で配置、索引付け、またはアクセス可能なデータセットのデータレコードのフィールド値文字列の電子索引を含む、ことを特徴とする方法。 - コンピュータ実施方法において、
(A)コンピュータシステムにおいて、データセットの定義済みデータフィールドのうちの1またはそれ以上の選択された照会データフィールドのそれぞれについて、対応する照会フィールド値サブレンジに入る対応するフィールド値を含む、データセットのデータレコードに対する検索クエリを受信するステップと
(B)自動的に、プログラムされたコンピュータプロセッサで、インラインツリーデータ構造の末端ノードバイナリ文字列の順序付けられたシーケンスを順番に問い合わせて、対応するインジケータ文字列を同定するステップと、
(C)パート(B)で問い合わせられた各末端ノードバイナリ文字列と同様に、プログラムされたコンピュータプロセッサで自動的に、1またはそれ以上の補助データ構造において、対応するデータレコードの選択された照会データフィールドのみについてフィールド値文字列を問い合わせ、パート(A)の検索クエリを満たすデータレコードを同定するステップであって、パート(C)で各データレコードについて問い合わせられるフィールド値文字列は、パート(B)で同定された対応するインジケータ文字列によって部分的に決定される、ステップと、
(D)パート(A)の検索クエリを満たさない各第1レベルのブランチノードフィールド値について、パート(C)の問い合わせから、データレコードの対応する第1レベルのブランチノードサブセットの末端ノードデータフィールドを除外するステップと、
(E)パート(A)の検索クエリを満たさない各上位レベルのブランチノードフィールド値について、パート(C)の問い合わせから、データレコードの対応する上位レベルのブランチノードサブセットの第1レベルノードデータフィールドおよび末端ノードデータフィールドを除外するステップと、
(F)プログラムされたコンピュータプロセッサで、パート(A)で受信された検索クエリを満たすものとして、パート(C)で同定されたデータレコードのリストまたは列挙を自動的に生成するステップと、を含み、
(a)前記データセットは複数のデータレコードを有し、各データレコードは複数の対応する定義済みデータフィールドについてのフィールド値文字列を含み、(i)前記定義済みデータフィールドは、末端ノードデータフィールドと、第1レベルのブランチノードデータフィールドと、1またはそれ以上のレベルの上位レベルのブランチノードデータフィールドとを含み、(ii)前記第1レベルのブランチノードデータフィールドは、前記第1レベルのブランチノードデータフィールドのフィールド値文字列のサブレンジ間の階層ツリーの関係を定義し、これらのサブレンジは前記データセットのデータレコードの複数の第1レベルのブランチノードサブセットに対応し、(iii)各第1レベルのブランチノードサブセットは、第1レベルのブランチノードデータフィールドのフィールド値文字列が対応するサブレンジ内に入るデータレコードを含み、(iv)前記第1レベルおよび上位レベルのブランチノードデータフィールドは、ブランチノードデータフィールドのフィールド値文字列のサブレンジ間の階層ツリー関係を定義し、これらのサブレンジは、前記データセットのデータレコードの、複数の第1レベルのブランチノードサブセット、および1またはそれ以上のレベルの上位レベルのブランチノードサブセットに対応しており、(v)上位レベルのブランチノードデータフィールドの各レベルについて、各上位レベルのブランチノードサブセットは、そのレベルの前記上位レベルのブランチノードデータフィールドのフィールド値文字列が、対応するサブレンジに入るデータレコードを含み、
(b)前記インラインツリーデータ構造は、末端ノードバイナリ文字列のみの順序付けられたシーケンスを含み、
(i)前記末端ノードバイナリ文字列と前記データセットのデータレコードとの間には一対一の対応関係があり、
(ii)前記末端ノードバイナリ文字列は互いに同じ長さを有し、
(iii)各末端ノードバイナリ文字列は、各末端ノードバイナリ文字列について、
(1)前記順序付けられたシーケンスにおける前記末端ノードバイナリ文字列およびすぐ隣の末端ノードバイナリ文字列が、両方とも同じ第1レベルのブランチノードサブセットにあるそれぞれのデータレコードに対応すること、
(2)それぞれのデータレコードは、互いに異なる第1レベルのブランチノードサブセットにあるが、異なるより高いレベルのブランチノードサブセットにはないこと、
(3)それぞれのデータレコードが互いに異なる第1レベルのブランチノードサブセットにあり、それぞれのデータレコードでのブランチノードサブセットの中の最高レベルも、互いに異なる上位レベルのブランチノードサブセットにあること、または
(4)前記末端ノードバイナリ文字列が、前記インラインツリーデータ構造の最後の末端ノードバイナリ文字列であること、のうちの1つの条件に適合することを示すインジケータ文字列を含み、
(c)第1レベルのブランチノードサブセットごとに、対応する末端ノードバイナリ文字列が、前記インラインツリーデータ構造内で単一の連続した文字列シーケンスを形成し、各上位レベルのブランチノードサブセットごとに、対応する末端ノードバイナリ文字列は、前記インラインツリーデータ構造内で単一の隣接する文字列シーケンスを形成し、
(d)前記1またはそれ以上の補助データ構造が、前記インラインツリーデータ構造内の末端ノードバイナリ文字列の順序付けられたシーケンスと同じ順序で配置、索引付け、またはアクセス可能なデータセットのデータレコードのフィールド値文字列の電子索引を含む、ことを特徴とする方法。 - 請求項1または3に記載の方法において、
(i)第1レベルのブランチノードデータフィールドに対応する各フィールド値文字列が、前記1またはそれ以上の補助データ構造内の少なくとも1つの第1レベルのブランチノード補助アレイに含まれ、
(ii)末端ノードデータフィールドに対応する各フィールド値文字列が、前記1またはそれ以上の補助データ構造内の少なくとも1つの末端モード補助アレイに含まれる、ことを特徴とする方法。 - 請求項2または4に記載の方法において、
(i)上位レベルのブランチノードデータフィールドに対応する各フィールド値文字列が、前記1またはそれ以上の補助データ構造内の少なくとも1つの上位レベルのブランチノード補助アレイに含まれ、
(ii)第1レベルのブランチノードデータフィールドに対応する各フィールド値文字列が、前記1またはそれ以上の補助データ構造内の少なくとも1つの第1レベルのブランチノード補助アレイに含まれ、
(iii)末端ノードデータフィールドに対応する各フィールド値文字列が、前記1またはそれ以上の補助データ構造内の少なくとも1つの末端モード補助アレイに含まれる、ことを特徴とする方法。 - 請求項1乃至6のいずれか1項に記載の方法において、
前記インラインツリーデータ構造の各末端ノードバイナリ文字列は、対応するインジケータ文字列のみを含み、対応するデータレコードのフィールド値をエンコードするデータ文字列を含まないことを特徴とする方法。 - 請求項1乃至6のいずれか1項に記載の方法において、
前記インラインツリーデータ構造の各末端ノードバイナリ文字列は、対応するデータレコードの1またはそれ以上のフィールド値をエンコードするデータ文字列を含むことを特徴とする方法。 - 請求項8に記載の方法において、
前記インラインデータツリー構造に含まれる各データ文字列が、文字列インターニングによってエンコードされた1またはそれ以上のデータフィールド値を含むことを特徴とする方法。 - 請求項1乃至9のいずれか1項に記載の方法において、
前記補助データ構造のうちの1またはそれ以上が、文字列インターニングによってエンコードされた1またはそれ以上のデータフィールド値を含むことを特徴とする方法。 - 請求項1乃至10のいずれか1項に記載の方法において、
前記補助データ構造のうちの1またはそれ以上が、1組の複数のクランプされたデータフィールド値をエンコードする1またはそれ以上のクランプデータフィールド値を含むことを特徴とする方法。 - 請求項1乃至11のいずれか1項に記載の方法において、
前記インラインツリーデータ構造が、コンピュータランダムアクセスメモリまたはプロセッサキャッシュメモリに格納されていることを特徴とする方法。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/233,047 US10521411B2 (en) | 2016-08-10 | 2016-08-10 | Systems, methods, and data structures for high-speed searching or filtering of large datasets |
US15/233,047 | 2016-08-10 | ||
JP2019506695A JP7011848B2 (ja) | 2016-08-10 | 2017-07-18 | 大規模データセットの高速検索またはフィルタリングのためのシステム、方法、およびデータ構造 |
PCT/US2017/042471 WO2018031199A1 (en) | 2016-08-10 | 2017-07-18 | Systems, methods, and data structures for high-speed searching or filtering of large datasets |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019506695A Division JP7011848B2 (ja) | 2016-08-10 | 2017-07-18 | 大規模データセットの高速検索またはフィルタリングのためのシステム、方法、およびデータ構造 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2022058529A JP2022058529A (ja) | 2022-04-12 |
JP7257068B2 true JP7257068B2 (ja) | 2023-04-13 |
Family
ID=61159100
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019506695A Active JP7011848B2 (ja) | 2016-08-10 | 2017-07-18 | 大規模データセットの高速検索またはフィルタリングのためのシステム、方法、およびデータ構造 |
JP2022001450A Active JP7257068B2 (ja) | 2016-08-10 | 2022-01-07 | 大規模データセットの高速検索またはフィルタリングのためのシステム、方法、およびデータ構造 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019506695A Active JP7011848B2 (ja) | 2016-08-10 | 2017-07-18 | 大規模データセットの高速検索またはフィルタリングのためのシステム、方法、およびデータ構造 |
Country Status (7)
Country | Link |
---|---|
US (3) | US10521411B2 (ja) |
EP (2) | EP4339800A3 (ja) |
JP (2) | JP7011848B2 (ja) |
CN (1) | CN109952568B (ja) |
AU (1) | AU2017310296B2 (ja) |
CA (1) | CA3033173C (ja) |
WO (1) | WO2018031199A1 (ja) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10248621B2 (en) | 2016-02-09 | 2019-04-02 | Moonshadow Mobile, Inc. | Systems and methods for storing, updating, searching, and filtering time-series datasets |
US10521411B2 (en) | 2016-08-10 | 2019-12-31 | Moonshadow Mobile, Inc. | Systems, methods, and data structures for high-speed searching or filtering of large datasets |
US11182549B2 (en) | 2017-03-06 | 2021-11-23 | AppExtremes, LLC | Systems and methods for modifying and reconciling negotiated documents |
US11093896B2 (en) * | 2017-05-01 | 2021-08-17 | Symbol Technologies, Llc | Product status detection system |
US11003654B2 (en) * | 2017-09-20 | 2021-05-11 | AppExtremes, LLC | Systems and methods for requesting, tracking and reporting modifications to a record |
CA3105818C (en) * | 2018-07-25 | 2023-08-22 | Ab Initio Technology Llc | Structured record retrieval |
WO2020142719A1 (en) | 2019-01-04 | 2020-07-09 | AppExtremes, LLC, d/b/a Conga | Systems and methods for dynamic assignment, monitoring and management of discrete tasks |
CN110825733B (zh) * | 2019-10-08 | 2022-08-09 | 华中科技大学 | 一种面向多采样流的时间序列数据管理方法及系统 |
CN112000667B (zh) * | 2020-08-10 | 2024-04-12 | 多点(深圳)数字科技有限公司 | 用于检索树形数据的方法、装置、服务器和介质 |
CN112925792B (zh) * | 2021-03-26 | 2024-01-05 | 北京中经惠众科技有限公司 | 数据存储控制方法、装置、计算设备及介质 |
US11593401B1 (en) * | 2022-03-03 | 2023-02-28 | iDesignEDU, LLC | Systems and methods for a multi-hierarchy physical storage architecture for managing program and outcome data |
CN115827703B (zh) * | 2023-02-10 | 2023-06-30 | 美云智数科技有限公司 | 枚举数据查询方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003516661A (ja) | 1999-12-10 | 2003-05-13 | モサイド・テクノロジーズ・インコーポレイテッド | 最長一致アドレスルックアップのための方法および装置 |
JP2009169902A (ja) | 2008-01-21 | 2009-07-30 | Hitachi Ltd | データベース管理方法、データベース管理装置、データベース管理プログラム、及び、データベースシステム |
US20120117067A1 (en) | 2010-10-29 | 2012-05-10 | Navteq North America, Llc | Method and apparatus for providing a range ordered tree structure |
JP2014130492A (ja) | 2012-12-28 | 2014-07-10 | Hitachi Ltd | インデックスの生成方法及び計算機システム |
WO2014109109A1 (ja) | 2013-01-11 | 2014-07-17 | 日本電気株式会社 | インデックスキー生成装置及びインデックスキー生成方法並びに検索方法 |
WO2015017361A1 (en) | 2013-07-29 | 2015-02-05 | Amazon Technologies, Inc. | Generating a multi-column index for relational databases by interleaving data bits for selectivity |
Family Cites Families (78)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5276868A (en) | 1990-05-23 | 1994-01-04 | Digital Equipment Corp. | Method and apparatus for pointer compression in structured databases |
US5737732A (en) | 1992-07-06 | 1998-04-07 | 1St Desk Systems, Inc. | Enhanced metatree data structure for storage indexing and retrieval of information |
US5557786A (en) | 1994-01-24 | 1996-09-17 | Advanced Computer Applications, Inc. | Threaded, height-balanced binary tree data structure |
JP2683870B2 (ja) | 1994-05-23 | 1997-12-03 | 日本アイ・ビー・エム株式会社 | 文字列検索システム及び方法 |
JPH08235221A (ja) * | 1994-10-17 | 1996-09-13 | Matsushita Electric Ind Co Ltd | インデックス付けされたデータベースを生成する方法およびデータベースにインデックス付けを行う方法 |
JP3152868B2 (ja) | 1994-11-16 | 2001-04-03 | 富士通株式会社 | 検索装置および辞書/テキスト検索方法 |
US5710915A (en) | 1995-12-21 | 1998-01-20 | Electronic Data Systems Corporation | Method for accelerating access to a database clustered partitioning |
US5829004A (en) | 1996-05-20 | 1998-10-27 | Au; Lawrence | Device for storage and retrieval of compact contiguous tree index records |
US6175835B1 (en) | 1996-07-26 | 2001-01-16 | Ori Software Development, Ltd. | Layered index with a basic unbalanced partitioned index that allows a balanced structure of blocks |
US5978797A (en) | 1997-07-09 | 1999-11-02 | Nec Research Institute, Inc. | Multistage intelligent string comparison method |
US6012057A (en) | 1997-07-30 | 2000-01-04 | Quarterdeck Corporation | High speed data searching for information in a computer system |
US7266560B2 (en) | 1998-01-30 | 2007-09-04 | Navteq North America, Llc | Parcelized geographic data medium with internal spatial indices and method and system for use and formation thereof |
US6374251B1 (en) | 1998-03-17 | 2002-04-16 | Microsoft Corporation | Scalable system for clustering of large databases |
US6070164A (en) | 1998-05-09 | 2000-05-30 | Information Systems Corporation | Database method and apparatus using hierarchical bit vector index structure |
US6581058B1 (en) | 1998-05-22 | 2003-06-17 | Microsoft Corporation | Scalable system for clustering of large databases having mixed data attributes |
FI982095A (fi) | 1998-09-29 | 2000-03-30 | Nokia Networks Oy | Menetelmä muistin toteuttamiseksi ja muistijärjestely |
US6341280B1 (en) | 1998-10-30 | 2002-01-22 | Netscape Communications Corporation | Inline tree filters |
US7801913B2 (en) | 1998-12-07 | 2010-09-21 | Oracle International Corporation | System and method for querying data for implicit hierarchies |
US6714936B1 (en) | 1999-05-25 | 2004-03-30 | Nevin, Iii Rocky Harry W. | Method and apparatus for displaying data stored in linked nodes |
FI991262A (fi) * | 1999-06-02 | 2000-12-03 | Nokia Networks Oy | Digitaaliseen trie-rakenteeseen perustuva muisti |
FI991261A (fi) | 1999-06-02 | 2000-12-03 | Nokia Networks Oy | Trie-rakenteeseen perustuva funktionaalinen muisti |
US6560610B1 (en) | 1999-08-10 | 2003-05-06 | Washington University | Data structure using a tree bitmap and method for rapid classification of data in a database |
US6684219B1 (en) | 1999-11-24 | 2004-01-27 | The United States Of America As Represented By The Secretary Of The Navy | Method and apparatus for building and maintaining an object-oriented geospatial database |
US6721723B1 (en) | 1999-12-23 | 2004-04-13 | 1St Desk Systems, Inc. | Streaming metatree data structure for indexing information in a data base |
AU2002214540A1 (en) | 2000-09-20 | 2002-04-02 | A2I, Inc. | Method and apparatus for dynamically formatting and displaying tabular data in real time |
GB0100331D0 (en) | 2001-01-06 | 2001-02-14 | Secr Defence | Method of querying a structure of compressed data |
US6816856B2 (en) | 2001-06-04 | 2004-11-09 | Hewlett-Packard Development Company, L.P. | System for and method of data compression in a valueless digital tree representing a bitset |
US6654760B2 (en) | 2001-06-04 | 2003-11-25 | Hewlett-Packard Development Company, L.P. | System and method of providing a cache-efficient, hybrid, compressed digital tree with wide dynamic ranges and simple interface requiring no configuration or tuning |
US6718338B2 (en) | 2001-06-26 | 2004-04-06 | International Business Machines Corporation | Storing data mining clustering results in a relational database for querying and reporting |
EP1276324B1 (en) | 2001-07-13 | 2006-10-04 | France Telecom | Method for compressing a hierarchical tree, corresponding signal and method for decoding a signal |
US7376620B2 (en) | 2001-07-23 | 2008-05-20 | Consona Crm Inc. | System and method for measuring the quality of information retrieval |
US20030105745A1 (en) | 2001-12-05 | 2003-06-05 | Davidson Jason A. | Text-file based relational database |
EP1485827A2 (en) | 2002-02-14 | 2004-12-15 | Transwitch Corporation | Efficient ipv4/ipv6 best matching prefix method and apparatus |
US20040133590A1 (en) | 2002-08-08 | 2004-07-08 | Henderson Alex E. | Tree data structure with range-specifying keys and associated methods and apparatuses |
US7451143B2 (en) | 2002-08-28 | 2008-11-11 | Cisco Technology, Inc. | Programmable rule processing apparatus for conducting high speed contextual searches and characterizations of patterns in data |
US7099881B2 (en) | 2002-12-06 | 2006-08-29 | Stmicroelectronics, Inc. | Method for increasing average storage capacity in a bit-mapped tree-based storage engine by using remappable prefix representations and a run-length encoding scheme that defines multi-length fields to compactly store IP prefixes |
US6829602B2 (en) | 2002-12-12 | 2004-12-07 | Microsoft Corporation | System and method for using a compressed trie to estimate like predicates |
US7426518B2 (en) | 2003-03-28 | 2008-09-16 | Netlogic Microsystems, Inc. | System and method for efficiently searching a forwarding database that is split into a bounded number of sub-databases having a bounded size |
US8341120B2 (en) | 2003-09-05 | 2012-12-25 | Oracle International Corporation | Apparatus and methods for transferring database objects into and out of database systems |
US7609257B2 (en) | 2004-03-29 | 2009-10-27 | Oculus Info Inc. | System and method for applying link analysis tools for visualizing connected temporal and spatial information on a user interface |
US7373244B2 (en) | 2004-04-20 | 2008-05-13 | Keith Kreft | Information mapping approaches |
US7366728B2 (en) | 2004-04-27 | 2008-04-29 | International Business Machines Corporation | System for compressing a search tree structure used in rule classification |
US7496837B1 (en) | 2004-04-29 | 2009-02-24 | Microsoft Corporation | Structural editing with schema awareness |
US8051252B2 (en) | 2005-03-11 | 2011-11-01 | Ross Neil Williams | Method and apparatus for detecting the presence of subblocks in a reduced-redundancy storage system |
US7814129B2 (en) | 2005-03-11 | 2010-10-12 | Ross Neil Williams | Method and apparatus for storing data with reduced redundancy using data clusters |
US8356021B2 (en) | 2005-03-11 | 2013-01-15 | Ross Neil Williams | Method and apparatus for indexing in a reduced-redundancy storage system |
US20060288024A1 (en) | 2005-04-28 | 2006-12-21 | Freescale Semiconductor Incorporated | Compressed representations of tries |
FR2885712B1 (fr) | 2005-05-12 | 2007-07-13 | Kabire Fidaali | Dispositif et procede d'analyse semantique de documents par constitution d'arbres n-aire et semantique |
US7689602B1 (en) | 2005-07-20 | 2010-03-30 | Bakbone Software, Inc. | Method of creating hierarchical indices for a distributed object system |
US7420161B2 (en) | 2006-03-09 | 2008-09-02 | Thermo Finnigan Llc | Branched radio frequency multipole |
US8156156B2 (en) | 2006-04-06 | 2012-04-10 | Universita Di Pisa | Method of structuring and compressing labeled trees of arbitrary degree and shape |
US7958562B2 (en) | 2006-04-27 | 2011-06-07 | Xerox Corporation | Document access management system |
US8374623B2 (en) | 2006-07-21 | 2013-02-12 | Microsoft Corporation | Location based, software control of mobile devices |
US11341202B2 (en) | 2006-10-04 | 2022-05-24 | Craxel, Inc. | Efficient method of location-based content management and delivery |
US7827218B1 (en) | 2006-11-18 | 2010-11-02 | X-Engines, Inc. | Deterministic lookup using hashed key in a multi-stride compressed trie structure |
US8055645B1 (en) * | 2006-12-15 | 2011-11-08 | Packeteer, Inc. | Hierarchical index for enhanced storage of file changes |
US7612695B2 (en) | 2007-06-01 | 2009-11-03 | Research In Motion Limited | Determination of compression state information for use in interactive compression |
CN101123613B (zh) * | 2007-08-23 | 2013-06-05 | 张建中 | 一种多维地址编址数据处理的方法和装置以及系统 |
US20100281082A1 (en) | 2009-04-30 | 2010-11-04 | Tatu Ylonen Oy Ltd | Subordinate Multiobjects |
US20100023515A1 (en) | 2008-07-28 | 2010-01-28 | Andreas Marx | Data clustering engine |
US7987214B2 (en) | 2008-08-29 | 2011-07-26 | Tatu Ylonen Oy | Determining the address range of a subtree of a linearized tree |
US8180774B2 (en) | 2008-10-03 | 2012-05-15 | Seomoz, Inc. | Web-scale data processing system and method |
US7764202B2 (en) | 2008-11-26 | 2010-07-27 | Red Hat, Inc. | Lossless data compression with separated index values and literal values in output stream |
US8239406B2 (en) * | 2008-12-31 | 2012-08-07 | International Business Machines Corporation | Expression tree data structure for representing a database query |
US8315981B2 (en) | 2009-03-31 | 2012-11-20 | Commvault Systems, Inc. | Data mining systems and methods for heterogeneous data sources |
US8370394B2 (en) | 2009-07-17 | 2013-02-05 | International Business Machines Corporation | Parallel processing of data organized in a tree structure |
US8606818B2 (en) | 2010-07-19 | 2013-12-10 | International Business Machines Corporation | Optimizing the storage of one-to-many external references to contiguous regions of hierarchical data structures |
US8745061B2 (en) * | 2010-11-09 | 2014-06-03 | Tibco Software Inc. | Suffix array candidate selection and index data structure |
US9002859B1 (en) | 2010-12-17 | 2015-04-07 | Moonshadow Mobile, Inc. | Systems and methods for high-speed searching and filtering of large datasets |
CA2823839A1 (en) | 2011-01-10 | 2012-07-19 | Roy W. Ward | Systems and methods for high-speed searching and filtering of large datasets |
US9171054B1 (en) | 2012-01-04 | 2015-10-27 | Moonshadow Mobile, Inc. | Systems and methods for high-speed searching and filtering of large datasets |
US8990204B1 (en) | 2012-01-17 | 2015-03-24 | Roy W. Ward | Processing and storage of spatial data |
US9514152B2 (en) * | 2012-02-29 | 2016-12-06 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and apparatus for storage of data records |
US9268502B2 (en) * | 2013-09-16 | 2016-02-23 | Netapp, Inc. | Dense tree volume metadata organization |
US9734179B2 (en) * | 2014-05-07 | 2017-08-15 | Sas Institute Inc. | Contingency table generation |
US10248621B2 (en) | 2016-02-09 | 2019-04-02 | Moonshadow Mobile, Inc. | Systems and methods for storing, updating, searching, and filtering time-series datasets |
US10366065B2 (en) * | 2016-04-29 | 2019-07-30 | Netapp, Inc. | Memory efficient lookup structure |
US10521411B2 (en) | 2016-08-10 | 2019-12-31 | Moonshadow Mobile, Inc. | Systems, methods, and data structures for high-speed searching or filtering of large datasets |
-
2016
- 2016-08-10 US US15/233,047 patent/US10521411B2/en active Active
-
2017
- 2017-07-18 CN CN201780056310.7A patent/CN109952568B/zh active Active
- 2017-07-18 CA CA3033173A patent/CA3033173C/en active Active
- 2017-07-18 EP EP23211796.0A patent/EP4339800A3/en active Pending
- 2017-07-18 JP JP2019506695A patent/JP7011848B2/ja active Active
- 2017-07-18 WO PCT/US2017/042471 patent/WO2018031199A1/en unknown
- 2017-07-18 AU AU2017310296A patent/AU2017310296B2/en active Active
- 2017-07-18 EP EP17839988.7A patent/EP3494497A4/en not_active Ceased
-
2019
- 2019-12-18 US US16/719,853 patent/US11106646B2/en active Active
-
2021
- 2021-08-30 US US17/460,326 patent/US11573941B2/en active Active
-
2022
- 2022-01-07 JP JP2022001450A patent/JP7257068B2/ja active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003516661A (ja) | 1999-12-10 | 2003-05-13 | モサイド・テクノロジーズ・インコーポレイテッド | 最長一致アドレスルックアップのための方法および装置 |
JP2009169902A (ja) | 2008-01-21 | 2009-07-30 | Hitachi Ltd | データベース管理方法、データベース管理装置、データベース管理プログラム、及び、データベースシステム |
US20120117067A1 (en) | 2010-10-29 | 2012-05-10 | Navteq North America, Llc | Method and apparatus for providing a range ordered tree structure |
JP2014130492A (ja) | 2012-12-28 | 2014-07-10 | Hitachi Ltd | インデックスの生成方法及び計算機システム |
WO2014109109A1 (ja) | 2013-01-11 | 2014-07-17 | 日本電気株式会社 | インデックスキー生成装置及びインデックスキー生成方法並びに検索方法 |
WO2015017361A1 (en) | 2013-07-29 | 2015-02-05 | Amazon Technologies, Inc. | Generating a multi-column index for relational databases by interleaving data bits for selectivity |
Also Published As
Publication number | Publication date |
---|---|
JP2019527898A (ja) | 2019-10-03 |
US20180046655A1 (en) | 2018-02-15 |
EP3494497A1 (en) | 2019-06-12 |
JP7011848B2 (ja) | 2022-01-27 |
CN109952568A (zh) | 2019-06-28 |
EP4339800A2 (en) | 2024-03-20 |
CA3033173A1 (en) | 2018-02-15 |
US10521411B2 (en) | 2019-12-31 |
CA3033173C (en) | 2024-01-23 |
US11573941B2 (en) | 2023-02-07 |
CN109952568B (zh) | 2023-05-12 |
AU2017310296A1 (en) | 2019-03-28 |
WO2018031199A1 (en) | 2018-02-15 |
EP3494497A4 (en) | 2020-03-25 |
EP4339800A3 (en) | 2024-06-12 |
JP2022058529A (ja) | 2022-04-12 |
US11106646B2 (en) | 2021-08-31 |
US20220058168A1 (en) | 2022-02-24 |
AU2017310296B2 (en) | 2021-12-23 |
US20200233843A1 (en) | 2020-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7257068B2 (ja) | 大規模データセットの高速検索またはフィルタリングのためのシステム、方法、およびデータ構造 | |
US9652467B2 (en) | Inline tree data structure for high-speed searching and filtering of large datasets | |
US9805079B2 (en) | Executing constant time relational queries against structured and semi-structured data | |
US9697250B1 (en) | Systems and methods for high-speed searching and filtering of large datasets | |
US5295261A (en) | Hybrid database structure linking navigational fields having a hierarchial database structure to informational fields having a relational database structure | |
CN104685498B (zh) | 聚合/分组操作的硬件实现方式:散列表方法 | |
US7480662B2 (en) | Fact table storage in a decision support system environment | |
US20090077078A1 (en) | Methods and systems for merging data sets | |
US9626401B1 (en) | Systems and methods for high-speed searching and filtering of large datasets | |
CN106326429A (zh) | 一种基于solr的Hbase秒级查询方案 | |
JP7105982B2 (ja) | 構造化レコード取得 | |
US11853279B2 (en) | Data storage using vectors of vectors | |
US11144580B1 (en) | Columnar storage and processing of unstructured data | |
CN112131215A (zh) | 自底向上的数据库信息获取方法及装置 | |
Jing-hua et al. | OLAP aggregation based on dimension-oriented storage | |
US20140114993A1 (en) | Method and system for maintaining data in a data storage system | |
CN115905254A (zh) | 海量数据表批量替换数据项值的方法、设备和存储介质 | |
CN118193568A (zh) | 数据查询处理方法、装置、计算机设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220204 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220204 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20230213 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20230307 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230327 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7257068 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |