JP2022058529A - 大規模データセットの高速検索またはフィルタリングのためのシステム、方法、およびデータ構造 - Google Patents
大規模データセットの高速検索またはフィルタリングのためのシステム、方法、およびデータ構造 Download PDFInfo
- Publication number
- JP2022058529A JP2022058529A JP2022001450A JP2022001450A JP2022058529A JP 2022058529 A JP2022058529 A JP 2022058529A JP 2022001450 A JP2022001450 A JP 2022001450A JP 2022001450 A JP2022001450 A JP 2022001450A JP 2022058529 A JP2022058529 A JP 2022058529A
- Authority
- JP
- Japan
- Prior art keywords
- data
- string
- level branch
- branch node
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 56
- 238000001914 filtration Methods 0.000 title abstract description 18
- 238000003860 storage Methods 0.000 claims description 32
- 238000004519 manufacturing process Methods 0.000 claims description 4
- 239000013589 supplement Substances 0.000 claims description 2
- 238000003491 array Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 5
- 241000282326 Felis catus Species 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000012913 prioritisation Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 239000000047 product Substances 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000010561 standard procedure Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013501 data transformation Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000001172 regenerating effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000005549 size reduction Methods 0.000 description 1
- 238000004513 sizing Methods 0.000 description 1
- 210000003813 thumb Anatomy 0.000 description 1
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)
Abstract
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 (22)
- データセットの電子索引を格納するようにエンコードされた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の物品を生成するためのコンピュータ実施方法であって、
(A)データセットの第1の電子索引を、コンピュータシステムで受信するか、1またはそれ以上のコンピュータ可読記憶媒体から読み取るステップと、
(B)そのためにプログラムされ、1またはそれ以上の記憶媒体に機能的に結合されたコンピュータシステムの1またはそれ以上の電子プロセッサを使用して、データセットの第2の電子索引を生成するステップであって、前記第2の電子索引は、(1)インラインツリーデータ構造と、(2)1またはそれ以上の補助データ構造とを含む、ステップと、
(C)コンピュータシステムの1またはそれ以上の電子プロセッサに機能的に結合された1またはそれ以上の有形の非一時的コンピュータ可読記憶媒体に、前記インラインツリーデータ構造および前記1またはそれ以上の補助データ構造を格納するステップと、を含むことを特徴とする方法。 - 請求項1の物品にエンコードされたインラインツリーデータ構造および1またはそれ以上の補助データ構造を問い合わせるためのコンピュータ実施方法であって、当該方法が、
(A)コンピュータシステムにおいて、データセットの定義済みデータフィールドのうちの1またはそれ以上の選択された照会データフィールドのそれぞれについて、対応する照会フィールド値サブレンジに入る対応するフィールド値を含む、データセットのデータレコードに対する検索クエリを受信するステップと、
(B)自動的に、そのためにプログラムされたコンピュータプロセッサで、前記インラインツリーデータ構造の末端ノードバイナリ文字列の順序付けられたシーケンスを順番に問い合わせて、対応するインジケータ文字列を同定するステップと、
(C)パート(B)で問い合わせた各末端ノードバイナリ文字列と同様に、そのためにプログラムされたコンピュータプロセッサで自動的に、1またはそれ以上の補助データ構造において、対応するデータレコードの選択された照会データフィールドのみについてフィールド値文字列を問い合わせ、パート(A)の検索クエリを満たすデータレコードを同定するステップであって、パート(C)で各データレコードについて問い合わせられるフィールド値文字列は、パート(B)で同定された対応するインジケータ文字列によって部分的に決定される、ステップと、
(D)パート(A)の検索クエリを満たさない各第1レベルのブランチノードフィールド値について、パート(C)の問い合わせから、データレコードの対応する第1レベルのブランチノードサブセットの末端ノードデータフィールドを除外するステップと、
(E)そのためにプログラムされたコンピュータプロセッサで、パート(A)で受信した検索クエリを満たすものとして、パート(C)で同定されたデータレコードのリストまたは列挙を自動的に生成するステップとを含むことを特徴とする方法。 - 請求項1の物品において、各末端ノードバイナリ文字列について、前記インジケータ文字列は、
(i)前記順序付けられたシーケンスにおける前記末端ノードバイナリ文字列および直後の末端ノードバイナリ文字列が、ともに同じ第1レベルのブランチノードサブセットにあるそれぞれのデータレコードに対応すること、
(ii)それぞれのデータレコードが互いに異なる第1レベルのブランチノードサブセットにあること、または
(iii)前記末端ノードバイナリ文字列が、前記インラインツリーデータ構造の最後の末端ノードバイナリ文字列であること、を示すことを特徴とする物品。 - 請求項1の物品において、各末端ノードバイナリ文字列について、前記インジケータ文字列は、
(i)前記順序付けられたシーケンスにおける前記末端ノードバイナリ文字列および直前の末端ノードバイナリ文字列が、ともに同じ第1レベルのブランチノードサブセットにあるそれぞれのデータレコードに対応すること、または
(ii)それぞれのデータレコードは、互いに異なる第1レベルのブランチノードサブセットにあるが、異なる上位レベルのブランチノードサブセットにはないこと、を示すことを特徴とする物品。 - 請求項1の物品において、前記インラインツリーデータ構造の各末端ノードバイナリ文字列は、対応するインジケータ文字列のみを含み、対応するデータレコードのフィールド値をエンコードするデータ文字列を含まないことを特徴とする物品。
- 請求項1の物品において、前記インラインツリーデータ構造の各末端ノードバイナリ文字列は、対応するデータレコードの1またはそれ以上のフィールド値をエンコードするデータ文字列を含むことを特徴とする物品。
- 請求項7の物品において、各データ文字列が、文字列インターニングによってエンコードされた1またはそれ以上のデータフィールド値を含むことを特徴とする物品。
- 請求項1の物品において、前記補助データ構造のうちの1またはそれ以上が、文字列インターニングによってエンコードされた1またはそれ以上のデータフィールド値を含むことを特徴とする物品。
- 請求項1の物品において、前記補助データ構造のうちの1またはそれ以上が、1組の複数のクランプされたデータフィールド値をエンコードする1またはそれ以上のクランプデータフィールド値を含むことを特徴とする物品。
- 請求項1の物品において、前記インラインツリーデータ構造が、コンピュータランダムアクセスメモリまたはプロセッサキャッシュメモリに格納されていることを特徴とする物品。
- 請求項1の物品において、
(b’)前記定義済みデータフィールドがさらに、1またはそれ以上のレベルの上位レベルのブランチノードデータフィールドを含み、前記第1レベルおよび上位レベルのブランチノードデータフィールドは、ブランチノードデータフィールドのフィールド値文字列のサブレンジ間の階層ツリー関係を定義し、これらのサブレンジは、前記データセットのデータレコードの、複数の第1レベルのブランチノードサブセット、および1またはそれ以上のレベルの上位レベルのブランチノードサブセットに対応しており、
(c’)上位レベルのブランチノードデータフィールドの各レベルについて、各上位レベルのブランチノードサブセットは、そのレベルの前記上位レベルのブランチノードデータフィールドのフィールド値文字列が、対応するサブレンジに入るデータレコードを含み、
(d’)各末端ノードバイナリ文字列について、前記インジケータ文字列は、
(i)前記順序付けられたシーケンスにおける前記末端ノードバイナリ文字列およびすぐ隣の末端ノードバイナリ文字列が、両方とも同じ第1レベルのブランチノードサブセットにあるそれぞれのデータレコードに対応すること、
(ii)それぞれのデータレコードは、互いに異なる第1レベルのブランチノードサブセットにあるが、異なるより高いレベルのブランチノードサブセットにはないこと、
(iii)それぞれのデータレコードが互いに異なる第1レベルのブランチノードサブセットにあり、それぞれのデータレコードでのブランチノードサブセットの中の最高レベルも、互いに異なる上位レベルのブランチノードサブセットにあること、または
(iv)前記末端ノードバイナリ文字列が、前記インラインツリーデータ構造の最後の末端ノードバイナリ文字列であること、を示し、
(e’)各上位レベルのブランチノードサブセットについて、対応する末端ノードバイナリ文字列は、前記インラインツリーデータ構造内で単一の隣接する文字列シーケンスを形成することを特徴とする物品。 - 請求項12の物品を生成するためのコンピュータ実施方法であって、
(A)データセットの第1の電子索引を、コンピュータシステムで受信するか、1またはそれ以上のコンピュータ可読記憶媒体から読み取るステップと、
(B)そのためにプログラムされ、1またはそれ以上の記憶媒体に機能的に結合されたコンピュータシステムの1またはそれ以上の電子プロセッサを使用して、前記データセットの第2の電子索引を生成するステップであって、当該第2の電子索引が、(1)インラインツリーデータ構造と、(2)1またはそれ以上の補助データ構造とを含むステップと、
(C)コンピュータシステムの1またはそれ以上の電子プロセッサに機能的に結合された1またはそれ以上の有形の非一時的コンピュータ可読記憶媒体に、前記インラインツリーデータ構造および1またはそれ以上の補助データ構造を格納するステップとを含むことを特徴とする方法。 - 請求項12の物品にエンコードされたインラインツリーデータ構造および1またはそれ以上の補助データ構造を問い合わせるためのコンピュータ実施方法であって、当該方法が、
(A)コンピュータシステムにおいて、データセットの定義済みデータフィールドのうちの1またはそれ以上の選択された照会データフィールドのそれぞれについて、対応する照会フィールド値サブレンジに入る対応するフィールド値を含む、データセットのデータレコードに対する検索クエリを受信するステップと、
(B)自動的に、そのためにプログラムされたコンピュータプロセッサで、前記インラインツリーデータ構造の末端ノードバイナリ文字列の順序付けられたシーケンスを順番に問い合わせて、対応するインジケータ文字列を同定するステップと、
(C)パート(B)で問い合わせられた各末端ノードバイナリ文字列と同様に、そのためにプログラムされたコンピュータプロセッサで自動的に、1またはそれ以上の補助データ構造において、対応するデータレコードの選択された照会データフィールドのみについてフィールド値文字列を問い合わせ、パート(A)の検索クエリを満たすデータレコードを同定するステップであって、パート(C)で各データレコードについて問い合わせられるフィールド値文字列は、パート(B)で同定された対応するインジケータ文字列によって部分的に決定される、ステップと、
(D)パート(A)の検索クエリを満たさない各第1レベルのブランチノードフィールド値について、パート(C)の問い合わせから、データレコードの対応する第1レベルのブランチノードサブセットの末端ノードデータフィールドを除外するステップと、
(E)パート(A)の検索クエリを満たさない各上位レベルのブランチノードフィールド値について、パート(C)の問い合わせから、データレコードの対応する上位レベルのブランチノードサブセットの第1レベルノードデータフィールドおよび末端ノードデータフィールドを除外するステップと、
(F)そのためにプログラムされたコンピュータプロセッサで、パート(A)で受信された検索クエリを満たすものとして、パート(C)で同定されたデータレコードのリストまたは列挙を自動的に生成するステップとを含むことを特徴とする方法。 - 請求項12の物品において、各末端ノードバイナリ文字列について、前記インジケータ文字列は、
(i)順序付けられたシーケンス内の前記末端ノードバイナリ文字列および直後に続く末端ノードバイナリ文字列が、両方とも同じ第1レベルのブランチノードサブセットにあるそれぞれのデータレコードに対応すること、
(ii)それぞれのデータレコードは互いに異なる第1レベルのブランチノードサブセットにあるが、異なるより高いレベルのブランチノードサブセットにはないこと、
(iii)それぞれのデータレコードは、互いに異なる第1レベルのブランチノードサブセットにあり、それぞれのデータレコードでのブランチノードサブセットの中の最高レベルも、互いに異なる上位レベルのブランチノードサブセットにあること、または、
(iv)前記末端ノードバイナリ文字列が、前記インラインツリーデータ構造の最後の末端ノードバイナリ文字列であること、を示すことを特徴とする物品。 - 請求項12の物品において、各末端ノードバイナリ文字列について、前記インジケータ文字列は、
(i)前記順序付けされたシーケンスにおける末端ノードバイナリ文字列および直前の末端ノードバイナリ文字列が、両方とも同じ第1レベルのブランチノードサブセットにあるそれぞれのデータレコードに対応すること、
(ii)それぞれのデータレコードは、互いに異なる第1レベルのブランチノードサブセットにあるが、異なる上位レベルのブランチノードサブセットにはないこと、または
(iii)それぞれのデータレコードは、互いに異なる第1レベルのブランチノードサブセットにあり、それぞれのデータレコードでのブランチノードサブセットの中の最高レベルも、互いに異なる上位レベルのブランチノードサブセットにあること、を示すことを特徴とする物品。 - 請求項12の物品において、前記インラインツリーデータ構造の各末端ノードバイナリ文字列は、対応するインジケータ文字列のみを含み、対応するデータレコードのフィールド値をエンコードするデータ文字列を含まないことを特徴とする物品。
- 請求項12の物品において、前記インラインツリーデータ構造の各末端ノードバイナリ文字列は、対応するデータレコードの1またはそれ以上のフィールド値をエンコードするデータ文字列を含むことを特徴とする物品。
- 請求項18の物品において、各データ文字列が、文字列インターニングによってエンコードされた1またはそれ以上のデータフィールド値を含むことを特徴とする物品。
- 請求項12の物品において、前記補助データ構造のうちの1またはそれ以上が、文字列インターニングによってエンコードされた1またはそれ以上のデータフィールド値を含むことを特徴とする物品。
- 請求項12の物品において、前記補助データ構造のうちの1またはそれ以上が、1組の複数のクランプされたデータフィールド値をエンコードする1またはそれ以上のクランプデータフィールド値を含むことを特徴とする物品。
- 請求項12の物品において、前記インラインツリーデータ構造が、コンピュータランダムアクセスメモリまたはプロセッサキャッシュメモリに格納されていることを特徴とする物品。
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 | ||
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 |
JP2019506695A JP7011848B2 (ja) | 2016-08-10 | 2017-07-18 | 大規模データセットの高速検索またはフィルタリングのためのシステム、方法、およびデータ構造 |
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 true JP2022058529A (ja) | 2022-04-12 |
JP7257068B2 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 (1) | EP3494497A4 (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 |
US11294874B2 (en) * | 2018-07-25 | 2022-04-05 | Ab Initio Technology Llc | Structured record retrieval |
US11636431B2 (en) | 2019-01-04 | 2023-04-25 | AppExtremes, LLC | 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 (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08235221A (ja) * | 1994-10-17 | 1996-09-13 | Matsushita Electric Ind Co Ltd | インデックス付けされたデータベースを生成する方法およびデータベースにインデックス付けを行う方法 |
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 |
US9171054B1 (en) * | 2012-01-04 | 2015-10-27 | Moonshadow Mobile, Inc. | Systems and methods for high-speed searching and filtering of large datasets |
Family Cites Families (76)
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 | 日本アイ・ビー・エム株式会社 | 文字列検索システム及び方法 |
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 |
FI991261A (fi) | 1999-06-02 | 2000-12-03 | Nokia Networks Oy | Trie-rakenteeseen perustuva funktionaalinen muisti |
FI991262A (fi) * | 1999-06-02 | 2000-12-03 | Nokia Networks Oy | Digitaaliseen trie-rakenteeseen perustuva 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 |
US6910044B2 (en) | 2000-09-20 | 2005-06-21 | Sap Aktiengesellschaft | Method and apparatus for structuring, maintaining, and using families of data |
GB0100331D0 (en) | 2001-01-06 | 2001-02-14 | Secr Defence | Method of querying a structure of compressed data |
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 |
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 |
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 |
ES2272429T3 (es) | 2001-07-13 | 2007-05-01 | France Telecom | Metodo para comprimir un arbol jerarquico, señal correspondiente y metodo para descodificar una señal. |
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 |
AU2003219765A1 (en) | 2002-02-14 | 2003-09-04 | 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 |
US8356021B2 (en) | 2005-03-11 | 2013-01-15 | Ross Neil Williams | Method and apparatus for indexing 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 |
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 |
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 |
EP2153608B1 (en) | 2007-06-01 | 2013-09-18 | BlackBerry 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 |
US7965207B2 (en) | 2008-10-03 | 2011-06-21 | Seomoz, Inc. | Variable length integer encoding 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 |
EP2414950B1 (en) | 2009-03-31 | 2019-10-09 | Commvault Systems, Inc. | Information management 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 |
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 |
US9940343B2 (en) * | 2014-05-07 | 2018-04-10 | Sas Institute Inc. | Data structure supporting 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 AU AU2017310296A patent/AU2017310296B2/en active Active
- 2017-07-18 CA CA3033173A patent/CA3033173C/en active Active
- 2017-07-18 EP EP17839988.7A patent/EP3494497A4/en not_active Ceased
- 2017-07-18 CN CN201780056310.7A patent/CN109952568B/zh active Active
- 2017-07-18 WO PCT/US2017/042471 patent/WO2018031199A1/en unknown
- 2017-07-18 JP JP2019506695A patent/JP7011848B2/ja active Active
-
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 (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08235221A (ja) * | 1994-10-17 | 1996-09-13 | Matsushita Electric Ind Co Ltd | インデックス付けされたデータベースを生成する方法およびデータベースにインデックス付けを行う方法 |
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 |
US9171054B1 (en) * | 2012-01-04 | 2015-10-27 | Moonshadow Mobile, Inc. | Systems and methods for high-speed searching and filtering of large datasets |
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 |
---|---|
US20180046655A1 (en) | 2018-02-15 |
CN109952568A (zh) | 2019-06-28 |
CA3033173C (en) | 2024-01-23 |
US20220058168A1 (en) | 2022-02-24 |
AU2017310296A1 (en) | 2019-03-28 |
JP7257068B2 (ja) | 2023-04-13 |
AU2017310296B2 (en) | 2021-12-23 |
EP3494497A4 (en) | 2020-03-25 |
CN109952568B (zh) | 2023-05-12 |
CA3033173A1 (en) | 2018-02-15 |
JP7011848B2 (ja) | 2022-01-27 |
WO2018031199A1 (en) | 2018-02-15 |
EP3494497A1 (en) | 2019-06-12 |
US20200233843A1 (en) | 2020-07-23 |
US11573941B2 (en) | 2023-02-07 |
JP2019527898A (ja) | 2019-10-03 |
US11106646B2 (en) | 2021-08-31 |
EP4339800A2 (en) | 2024-03-20 |
US10521411B2 (en) | 2019-12-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7011848B2 (ja) | 大規模データセットの高速検索またはフィルタリングのためのシステム、方法、およびデータ構造 | |
US9652467B2 (en) | Inline tree data structure for high-speed searching and filtering of large datasets | |
CN100468402C (zh) | 一种数据存储及查询方法 | |
US8108411B2 (en) | Methods and systems for merging data sets | |
US9002859B1 (en) | Systems and methods for high-speed searching and filtering of large datasets | |
US7480662B2 (en) | Fact table storage in a decision support system environment | |
US9626401B1 (en) | Systems and methods for high-speed searching and filtering of large datasets | |
CN106095964A (zh) | 一种对数据进行可视化归档与搜索的方法 | |
US20220019567A1 (en) | Data storage using vectors of vectors | |
CN103473324A (zh) | 基于非结构化数据存储的多维业务属性检索装置及方法 | |
WO2021016050A1 (en) | Multi-record index structure for key-value stores | |
CN101963993B (zh) | 一种数据库单表记录快速查找的方法 | |
US11144580B1 (en) | Columnar storage and processing of unstructured data | |
US20080243762A1 (en) | Apparatus and method for query based paging through a collection of values | |
CN102597969A (zh) | 带属性的键值存储的数据库管理装置及其键值存储结构的高速缓存装置 | |
CN111984691B (zh) | 一种分布式存储系统中对象元数据检索列举方法及装置 | |
US6735584B1 (en) | Accessing a database using user-defined attributes | |
EP1227410A1 (en) | Accessing a database using user-defined attributes | |
US20140114993A1 (en) | Method and system for maintaining data in a data storage system |
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 |