JP2008015872A - ビット列検索装置、検索方法及びプログラム - Google Patents
ビット列検索装置、検索方法及びプログラム Download PDFInfo
- Publication number
- JP2008015872A JP2008015872A JP2006187827A JP2006187827A JP2008015872A JP 2008015872 A JP2008015872 A JP 2008015872A JP 2006187827 A JP2006187827 A JP 2006187827A JP 2006187827 A JP2006187827 A JP 2006187827A JP 2008015872 A JP2008015872 A JP 2008015872A
- Authority
- JP
- Japan
- Prior art keywords
- node
- search
- key
- tree
- branch
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
- G06F16/90344—Query processing by using string matching techniques
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/31—Indexing; Data structures therefor; Storage structures
- G06F16/316—Indexing structures
- G06F16/322—Trees
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)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【解決手段】ルートノードと、隣接した記憶領域に配置されるブランチノードとリーフノードまたはブランチノード同士またはリーフノード同士のノード対とからなり、ブランチノードは、検索キーの弁別ビット位置とリンク先のノード対の一方のノードの位置を示す情報を含み、リーフノードは検索対象のビット列からなるインデックスキーを含むカップルドノードツリーを備え、ルートノードからブランチノードにおいて、ブランチノードに含まれる弁別ビット位置の検索キーのビット値に応じてリンク先のノード対のどちらかのノードにリンクすることを順次リーフノードに至るまで繰り返すことにより検索キーによるインデックスキーの検索を実行する。
【選択図】図1
Description
上記ビット列の検索を高速に行うために、ビット列を記憶するデータ構造を種々に工夫することが従来から行われている。このようなものの一つとして、パトリシアツリーという木構造が知られている。
ある検索キーで検索を行うとき、ルートノードから順次各ノードに保持される検索キーの検査ビット位置を検査していき、検査ビット位置のビット値が1であるか0であるか判定を行い、1であれば右リンクをたどり、0であれば左リンクをたどる。そして、リンク先のノードの検査ビット位置がリンク元のノードの検査ビット位置より大きくなければ、すなわち、リンク先が下方でなく上方に戻れば(図17において点線で示されたこの逆戻りのリンクをバックリンクという。)、リンク先のノードのインデックスキーと検索キーの比較を行う。比較の結果、等しければ検索成功であり、等しくなければ検索失敗であることが保証されている。
本発明によれば、上述のように検索に用いるツリー構造体を格納する記憶容量を低減することができ、それによっても検索処理負担を小さくできるが、さらにブランチノードは、カップルドノードツリーに含まれるインデックスのビット列構成により規定される弁別ビット位置を保持するように配置されているから、必要なビット位置での処理のみとなり、分岐処理の負担も小さい。また、弁別ビット位置のビット値は判定処理に用いられるのではなく、演算処理に用いられるので、この点でもCPU処理負担は軽くなる。
以上のとおりであるので、本発明によれば、高速にビット列検索を実行することができ、データメンテナンスの容易なビット列検索装置が提供される。
図1を参照すると、ノード101が配列100の配列番号10の配列要素に配置されている。ノード101はノード種別102、弁別ビット位置103及び代表ノード番号104で構成されている。ノード種別102は0であり、ノード101がブランチノードであることを示している。弁別ビット位置103には1が格納されている。代表ノード番号104にはリンク先のノード対の代表ノードの配列番号20が格納されている。なお、以下では表記の簡略化のため、代表ノード番号に格納された配列番号を代表ノード番号ということもある。また、代表ノード番号に格納された配列番号をそのノードに付した符号あるいはノード対に付した符号で表すこともある。
配列番号30及び31の配列要素に格納されたノード122とノード123からなるノード対121の内容は省略されている。
図2は、カップルドノードツリーのツリー構造を概念的に示す図である。図示の6ビットのインデックスキーは、図17に例示されたパトリシアツリーのものと同じである。
ツリー構造としては、ルートノード210aの下にノート対201bが、その下層にノード対201cとノード対201fが配置され、ノード対201fの下層にはノード対201hとノード対201gが配置されている。ノード対201cの下にはノード対201dが、さらにその下にはノード対201eが配置されている。
まず、ビット列"100010"を検索キーとしてルートノード210aから処理をスタートする。ルートノード210aの弁別ビット位置230aは0であるので、検索キー"100010"の弁別ビット位置0のビット値をみると1である。そこで代表ノード番号の格納された配列番号220aに1を加えた配列番号の配列要素に格納されたノード211bにリンクする。ノード211bの弁別ビット位置231bには2が格納されているので、検索キー"100010"の弁別ビット位置2のビット値をみると0であるから、代表ノード番号の格納された配列番号221bの配列要素に格納されたノード210fにリンクする。
カップルドノードツリーの構成はインデックスキーの集合により規定される。図2の例で、ルートノード210aの弁別ビット位置が0であるのは、図2に例示されたインデックスキーに0ビット目が0のものと1のものがあるからである。0ビット目が0のインデックスキーのグループはノード210bの下に分類され、0ビット目が1のインデックスキーのグループはノード211bの下に分類されている。
そして2ビット目が1であるインデックスキーは3ビット目の異なるものがあるのでノード211fの弁別ビット位置には3が格納され、2ビット目が0であるインデックスキーでは3ビット目も4ビット目も等しく5ビット目で異なるのでノード210fの弁別ビット位置には5が格納される。
図3は、本発明を実施するためのハードウェア構成例を説明する図である。
図4は、本発明の一実施形態における検索処理を示すフローチャートである。適宜図2を参照しながら、検索処理のアルゴリズムを説明する。
以上のステップS402からS409のループ処理をステップS405での判定がリーフノードとなるまで繰り返す。
ステップS512において、配列から空きのノード対を求め、そのノード対のうち代表ノードとなるべき配列要素の配列番号を取得する。
ステップS514に進み、ステップS512で得た代表ノードの配列番号にステップS513で得たブール値を加算した配列番号を得る。
ステップS514で得た配列番号は、挿入キーをインデックスキーとして持つリーフノードが格納される配列要素の配列番号であり、ステップS515で得た配列番号は、そのリーフノードと対を成すブランチノードが格納される配列要素のものである。
ステップS516〜ステップS523までの処理は、挿入するノード対のカップルドノードツリー上の位置を求める処理であり、ステップS524以下の処理は各ノードにデータを設定して挿入処理を完成させる処理である。
ステップS517に進み、ステップS516で得た差分ビット列から、上位0ビット目から見た最初の不一致ビットのビット位置を得る。この処理は、例えばプライオリティエンコーダを有するCPUではそこに差分ビット列を入力し、不一致のビット位置を得ることができる。また、ソフト的にプライオリティエンコーダと同等の処理を行い最初の不一致ビットのビット位置を得ることも可能である。
ステップS520に進み、ステップS519で取り出した配列番号の配列要素を配列からノードとして読み出す。
次にステップS522に進み、ステップS521で取り出した弁別ビット位置がステップS517で得たビット位置より上位の位置関係か判定する。ここで上位の位置関係とは、ビット列のより左側の位置、すなわちビット位置の値が小さい位置であることとする。
について説明する。
ステップS524では探索経路スタックからスタックポインタの指す配列番号を取り出す。
ステップS526に進み、配列からステップS524で得た配列番号の配列要素を読み出す。
最後にステップS528において、ステップS524で得た配列番号の指す配列要素のノード種別に0(ブランチノード)を、弁別ビット位置にステップS517で得たビット位置を、代表ノード番号にステップS512で得た配列番号を書き込み処理を終了する。
ステップS551において、取得することを求められたカップルドノードツリーのルートノードの配列番号が登録済みであるか判定される。登録済みであれば、図5〜図7を用いて説明した通常の挿入処理が行われる。
まず、ステップS552において、配列から空きのノード対を求め、そのノード対のうち代表ノードとなるべき配列要素の配列番号を取得する。次にステップS553において、ステップS552で得た配列番号に0を加えた配列番号を求める。(実際には、ステップS552で取得した配列番号に等しい。)さらにステップS554において、ステップS553で得た配列番号の配列要素に、挿入するルートノードのノード種別に1(リーフノード)とインデックスキーに挿入キーを書き込み、ステップS556でステップS552で取得したルートノードの配列番号を登録して処理を終了する。
まず、ステップS912で探索経路スタックに2つ以上の配列番号が格納されているか判定する。2つ以上の配列番号が格納されていないということは、言い換えれば1つだけで、その配列番号はルートノードの格納された配列要素のものである。その場合はステップS918に移行し、ステップS901で得たルートノードの配列番号に係るノード対を削除する。次にステップS919に進み、登録されていたルートノードの配列番号を削除して処理を終了する。
図11A及び図11Bは、図2に例示したカップルドノードツリーからインデックスキー"011010"を削除する処理を説明する図である。
図12Aに示すのは、ビット列"0100"、"0001"、"0000"をインデックスキーとして持つカップルドノードツリーとこれから挿入しようとする挿入キー"0011"を保持している一時記憶エリア1250である。図示のツリーはノード対1201a,1201b,1201cで構成されている。
図12Bは、挿入キー"0011"を挿入したカップルドノードツリーを示す図である。新たなノード対1201dがノード対1201bとノード対1201cの間に挿入されている。
以下、図5〜図7を適宜参照しつつ図13〜図16により図12A及び図12Bに例示した挿入処理を説明する。図13〜図16において太線で示す処理のフローは、図12A及び図12Bの例示に沿ったものである。また、S501等の符号は、その部分の処理が図5〜図7に記載されたステップS501等における処理に対応することを示している。
図13に示すように、最初の処理ブロックでルートノード設定が行われる。ルートノードの配列番号を取得することによりルートノードの位置を設定する。取得された配列番号1210aを探索経路スタックに格納する。なお、ここでは、配列番号を表す符合をノードを表す符号と兼用している。
ブランチ処理においては挿入キー"0011"の1ビット目の"0"とノード1210aの代表ノード番号に格納された配列番号1201bを加算してリンク先のノード位置を算出する。なおここでは、代表ノード番号に格納された配列番号をリンク先のノード対の符号で表している。算出されたノード位置1210bは探索経路スタックに格納される。
そこで再度ブランチ処理が行われ、挿入キー"0011"の3ビット目の"1"とノード1210bの代表ノード番号に格納された配列番号1201cを加算してリンク先のノード位置を算出する。算出されたノード位置1211cは探索経路スタックに格納される。
そこで処理はリーフ処理に分岐し、ノード1211cのインデックスキー"0001"と挿入キー"0011"のビット列比較が行われ、一致していれば挿入失敗となり、不一致であれば次の処理に進む。
空きノード対取得ブロックでは、配列から連続した領域の2つの空き配列要素の配列番号に係る代表ノード番号1201dを取得する。
差分ビット位置検出ブロックにおいて、挿入キー"0011"とステップS510で得られたインデックスキー"0001"とのビットごとの排他的論理和"0010"が演算され、差分ビット位置が2ビット目であることが求められる。
図16は、図7に示した処理のうち、後半の各ノードにデータを設定して挿入処理を完成させる処理フローを説明する図である。
以上本発明を実施するための最良の形態について詳細に説明したが、本発明の実施の形態はそれに限ることなく種々の変形が可能であることは当業者に明らかである。
100 配列
101 ノード
102 ノード種別
103 弁別ビット位置
104 代表ノード番号
111 ノード対
112 ノード[0]、代表ノード
113 ノード[1]、代表ノードと対をなすノード
118 インデックスキー
301 データ処理装置
302 中央処理装置
303 キャッシュメモリ
304 バス
305 主記憶装置
306 外部記憶装置
307 通信装置
308 データ格納装置
309 配列
310 探索経路スタック
Claims (16)
- ルートノードと、隣接した記憶領域に配置されるブランチノードとリーフノードまたはブランチノード同士またはリーフノード同士のノード対、からなるビット列検索に用いるツリーであって、
前記ルートノードは、前記ツリーの始点を表すノードであって、該ツリーのノードが1つのときは前記リーフノード、該ツリーのノードが2つ以上のときは前記ブランチノードであり、
前記ブランチノードは、ビット列検索を行う検索キーの弁別ビット位置とリンク先のノード対の一方のノードの位置を示す情報を含み、前記リーフノードは検索対象のビット列からなるインデックスキーを含む、カップルドノードツリーを備え、
前記ルートノードを含む前記ブランチノードにおいて、該ブランチノードに含まれる弁別ビット位置の検索キーのビット値に応じてリンク先のノード対のどちらかのノードにリンクすることを順次前記リーフノードに至るまで繰り返すことにより前記検索キーによる検索を実行することを特徴とするビット列検索装置。 - 前記カップルドノードツリーは、配列に記憶され、前記リンク先のノード対の一方のノードの位置を示す情報は、そのノードが格納された前記配列の配列要素の配列番号であることを特徴とする請求項1記載のビット列検索装置。
- 前記配列番号と前記検索キーの弁別ビット位置のビット値との演算によりリンク先のノードの格納された配列要素の配列番号を求めることを特徴とする請求項2記載のビット列検索装置。
- 前記ブランチノードとリーフノードは、それぞれのノードの種別を示すデータを含むことを特徴とする請求項1記載のビット列検索装置。
- 前記リーフノードに含まれるインデックスキーと前記検索キーを比較し、一致すれば検索成功とし、一致しなければ検索失敗とすることを特徴とする請求項1〜4記載のビット列検索装置。
- 請求項2記載のビット列検索装置の前記カップルドノードツリーに所望のビット列からなるインデックスキーを含むリーフノードを挿入するインデックスキー挿入方法において、
前記インデックスキーを前記検索キーとして前記カップルドノードツリーから該当するリーフノードを検索するとともに、該リーフノードに至るまでたどったリンク経路のブランチノード及び該リーフノードが格納された配列要素の配列番号をスタックに順次格納し、
前記検索キーと前記該当するリーフノードに含まれるインデックスキーの間で大小比較とビット列比較を行い、
ビット列比較で異なるビット値となる先頭のビット位置と前記スタックに格納されているブランチノードの弁別ビット位置との相対的位置関係により挿入されるインデックスキーを含むリーフノードともう一方のノードからなるノード対の挿入位置を決定し、
前記大小関係により挿入するインデックスキーを含むリーフノードを前記挿入されるノード対のどちらのノードとするかを決定する、
ことを特徴とするインデックスキー挿入方法。 - 請求項2記載のビット列検索装置の前記カップルドノードツリーから任意のインデックスキーを含むリーフノードを削除するインデックスキー削除方法において、
前記インデックスキーを前記検索キーとして前記カップルドノードツリーから該当するリーフノードを検索し、
削除対象のインデックスキーを保持する前記リーフノードと同一ノード対を構成するノードの内容を当該ノード対のリンク元のブランチノードに書き込み、
当該ノード対を削除する、
ことを特徴とするインデックスキー削除方法。 - ルートノードと、隣接した記憶領域に配置されるブランチノードとリーフノードまたはブランチノード同士またはリーフノード同士のノード対、からなるビット列検索に用いるツリーであって、
前記ルートノードは、ツリーの始点を表すノードであって、該ツリーのノードが1つのときは前記リーフノード、ツリーのノードが2つ以上のときは前記ブランチノードであり、
前記ブランチノードは、ビット列検索を行う検索キーの弁別ビット位置とリンク先のノード対の一方のノードの位置を示す情報を含み、前記リーフノードは検索対象のビット列からなるインデックスキーを含むカップルドノードツリーを用いたビット列検索方法において、
前記ルートノードを含む前記ブランチノードにおいて、該ブランチノードに含まれる弁別ビット位置の検索キーのビット値に応じてリンク先のノード対のどちらかのノードにリンクすることを順次前記リーフノードに至るまで繰り返すことにより、
前記検索キーによる検索を実行することを特徴とするビット列検索方法。 - 前記カップルドノードツリーは、配列に記憶され、前記リンク先のノード対の一方のノードの位置を示す情報は、そのノードが格納された前記配列の配列要素の配列番号であることを特徴とする請求項8記載のビット列検索方法。
- 前記配列番号と前記検索キーの弁別ビット位置のビット値との演算によりリンク先のノードの格納された配列要素の配列番号を求めることを特徴とする請求項9記載のビット列検索方法。
- 前記リーフノードに含まれるインデックスキーと検索キーを比較し、一致すれば検索成功とし、一致しなければ検索失敗とすることを特徴とする請求項8〜10記載のビット列検索方法。
- 請求項8〜11記載のビット列検索方法をコンピュータに実行させるためのプログラム。
- 請求項6記載のインデックスキー挿入方法をコンピュータに実行させるためのプログラム。
- 請求項7記載のインデックスキー削除方法をコンピュータに実行させるためのプログラム。
- ビット列検索に用いるツリー状のデータ構造であって、
ルートノードと、隣接した記憶領域に配置されるブランチノードとリーフノードまたはブランチノード同士またはリーフノード同士のノード対、からなり、
前記ルートノードは、前記ツリーの始点を表すノードであって、該ツリーのノードが1つのときは前記リーフノード、該ツリーのノードが2つ以上のときは前記ブランチノードであり、
前記ブランチノードは、ビット列検索を行う検索キーの弁別ビット位置とリンク先のノード対の一方のノードの位置を示す情報を含み、
前記リーフノードは検索対象のビット列からなるインデックスキーを含み、
前記ルートノードを含む前記ブランチノードにおいて、該ブランチノードに含まれる弁別ビット位置の検索キーのビット値に応じてリンク先のノード対のどちらかのノードにリンクすることを順次前記リーフノードに至るまで繰り返すことにより前記検索キーによる検索の実行を可能とすることを特徴とするデータ構造。 - 前記データ構造は、配列に記憶され、前記リンク先のノード対の一方のノードの位置を示す情報は、そのノードが格納された前記配列の配列要素の配列番号であることを特徴とする請求項15記載のデータ構造。
Priority Applications (8)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2006187827A JP4271214B2 (ja) | 2006-07-07 | 2006-07-07 | ビット列検索装置、検索方法及びプログラム |
| PCT/JP2007/000639 WO2008004335A1 (en) | 2006-07-07 | 2007-06-15 | Bit sequence search device, search method, and program |
| DE602007013905T DE602007013905D1 (de) | 2006-07-07 | 2007-06-15 | Bitsequenz-sucheinrichtung, suchverfahren und programm |
| US12/308,560 US8073874B2 (en) | 2006-07-07 | 2007-06-15 | Bit string searching apparatus, searching method, and program |
| CN2007800255634A CN101484895B (zh) | 2006-07-07 | 2007-06-15 | 比特序列检索装置以及检索方法 |
| EP07766946A EP2048584B1 (en) | 2006-07-07 | 2007-06-15 | Bit sequence search device, search method, and program |
| TW096124374A TW200817945A (en) | 2006-07-07 | 2007-07-04 | Bit sequence search device, search method, and program |
| US12/385,956 US8150856B2 (en) | 2006-07-07 | 2009-04-24 | Bit string searching apparatus, searching method, and program |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2006187827A JP4271214B2 (ja) | 2006-07-07 | 2006-07-07 | ビット列検索装置、検索方法及びプログラム |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2009018907A Division JP4813575B2 (ja) | 2009-01-30 | 2009-01-30 | ビット列検索装置 |
Publications (3)
| Publication Number | Publication Date |
|---|---|
| JP2008015872A true JP2008015872A (ja) | 2008-01-24 |
| JP2008015872A5 JP2008015872A5 (ja) | 2008-12-25 |
| JP4271214B2 JP4271214B2 (ja) | 2009-06-03 |
Family
ID=38894310
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2006187827A Active JP4271214B2 (ja) | 2006-07-07 | 2006-07-07 | ビット列検索装置、検索方法及びプログラム |
Country Status (7)
| Country | Link |
|---|---|
| US (1) | US8073874B2 (ja) |
| EP (1) | EP2048584B1 (ja) |
| JP (1) | JP4271214B2 (ja) |
| CN (1) | CN101484895B (ja) |
| DE (1) | DE602007013905D1 (ja) |
| TW (1) | TW200817945A (ja) |
| WO (1) | WO2008004335A1 (ja) |
Cited By (17)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2008132806A1 (ja) | 2007-04-19 | 2008-11-06 | S.Grants Co., Ltd. | カップルドノードツリーの退避/復元方法、最長一致/最短一致検索方法、ビット列検索方法及び記憶媒体 |
| JP2009157853A (ja) * | 2007-12-28 | 2009-07-16 | S Grants Co Ltd | データベースのインデックスキー更新方法及びプログラム |
| WO2009122651A1 (ja) * | 2008-04-04 | 2009-10-08 | 株式会社エスグランツ | ビット列検索装置、検索方法及びプログラム |
| WO2009141941A1 (ja) * | 2008-05-18 | 2009-11-26 | 株式会社エスグランツ | ビット列検索装置、検索方法及びプログラム |
| WO2010125742A1 (ja) * | 2009-04-28 | 2010-11-04 | 株式会社エスグランツ | インデックス更新データ作成装置、作成方法及びプログラム |
| WO2011052181A1 (ja) * | 2009-10-27 | 2011-05-05 | 株式会社エスグランツ | ビット列キー分類・分配装置、分類・分配方法及びプログラム |
| WO2011064984A1 (ja) | 2009-11-30 | 2011-06-03 | 株式会社エスグランツ | ビット列検索装置、検索方法及びプログラム |
| JP2011134289A (ja) * | 2009-11-30 | 2011-07-07 | S Grants Co Ltd | ビット列検索装置、検索方法及びプログラム |
| JP2011248626A (ja) * | 2010-05-27 | 2011-12-08 | S-Grant Co Ltd | ビット列検索装置、検索方法及びプログラム |
| US8150856B2 (en) | 2006-07-07 | 2012-04-03 | S. Grants Co., Ltd. | Bit string searching apparatus, searching method, and program |
| US8190591B2 (en) | 2007-01-24 | 2012-05-29 | S. Grants Co., Ltd. | Bit string searching apparatus, searching method, and program |
| US8195667B2 (en) | 2008-01-17 | 2012-06-05 | S. Grants Co., Ltd. | Bit string search apparatus, search method, and program |
| US8214405B2 (en) | 2007-05-18 | 2012-07-03 | S. Grants Co., Ltd. | Longest-match/shortest-match search apparatus, search method, and program |
| US8224861B2 (en) | 2006-11-28 | 2012-07-17 | S. Grants Co., Ltd. | Coupled node tree splitting/conjoining method and program |
| US8332410B2 (en) | 2007-12-05 | 2012-12-11 | KOUSOKUYA, Inc. | Bit string merge sort device, method, and program |
| US8386526B2 (en) | 2007-04-19 | 2013-02-26 | KOUSOKUYA, Inc. | Coupled node tree backup/restore apparatus, backup/restore method, and program |
| JP2013196489A (ja) * | 2012-03-21 | 2013-09-30 | Nintendo Co Ltd | データ構造、データ構造生成方法、情報処理装置、情報処理システム、及び情報処理プログラム |
Families Citing this family (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP4439013B2 (ja) | 2007-04-25 | 2010-03-24 | 株式会社エスグランツ | ビット列検索方法及び検索プログラム |
| JP4527753B2 (ja) | 2007-07-03 | 2010-08-18 | 株式会社エスグランツ | ビット列検索装置、検索方法及びプログラム |
| WO2009034689A1 (ja) * | 2007-09-14 | 2009-03-19 | S.Grants Co., Ltd. | ビット列検索装置、検索方法及びプログラム |
| JP2009199577A (ja) * | 2008-01-22 | 2009-09-03 | S Grants Co Ltd | ビット列検索装置、検索方法及びプログラム |
| JP4464459B1 (ja) * | 2009-03-29 | 2010-05-19 | 株式会社エスグランツ | コード列検索装置、検索方法及びプログラム |
| CN102184165B (zh) * | 2011-04-22 | 2013-01-02 | 烽火通信科技股份有限公司 | 一种节省内存的lcs算法 |
| CN103902699B (zh) * | 2014-03-31 | 2017-04-12 | 哈尔滨工程大学 | 一种用于大数据环境下可支持多格式特性的数据空间检索方法 |
| JP5960863B1 (ja) * | 2015-03-11 | 2016-08-02 | エヌ・ティ・ティ・コミュニケーションズ株式会社 | 検索装置、検索方法、プログラム、及び記録媒体 |
| JP6911877B2 (ja) * | 2018-02-19 | 2021-07-28 | 日本電信電話株式会社 | 情報管理装置、情報管理方法及び情報管理プログラム |
Family Cites Families (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5202986A (en) * | 1989-09-28 | 1993-04-13 | Bull Hn Information Systems Inc. | Prefix search tree partial key branching |
| JPH07210569A (ja) | 1994-01-19 | 1995-08-11 | Oki Electric Ind Co Ltd | 情報検索方法および情報検索装置 |
| US6029170A (en) * | 1997-11-25 | 2000-02-22 | International Business Machines Corporation | Hybrid tree array data structure and method |
| US6012061A (en) * | 1997-11-25 | 2000-01-04 | International Business Machines Corp. | Method and apparatus for deleting nodes in Patricia trees |
| US6675163B1 (en) * | 2000-04-06 | 2004-01-06 | International Business Machines Corporation | Full match (FM) search algorithm implementation for a network processor |
| JP3601416B2 (ja) | 2000-06-13 | 2004-12-15 | 日本電気株式会社 | 情報検索方法及び装置 |
| JP3569233B2 (ja) * | 2001-01-31 | 2004-09-22 | 川本工業株式会社 | 竪型ミルのシール構造 |
| CN1432943A (zh) * | 2002-01-17 | 2003-07-30 | 北京标杆网络技术有限公司 | 标杆智能搜索引擎系统 |
| JP3691018B2 (ja) | 2002-01-31 | 2005-08-31 | 日本電信電話株式会社 | 最長一致検索回路および方法およびプログラムおよび記録媒体 |
-
2006
- 2006-07-07 JP JP2006187827A patent/JP4271214B2/ja active Active
-
2007
- 2007-06-15 CN CN2007800255634A patent/CN101484895B/zh not_active Expired - Fee Related
- 2007-06-15 US US12/308,560 patent/US8073874B2/en active Active
- 2007-06-15 WO PCT/JP2007/000639 patent/WO2008004335A1/ja not_active Ceased
- 2007-06-15 EP EP07766946A patent/EP2048584B1/en not_active Not-in-force
- 2007-06-15 DE DE602007013905T patent/DE602007013905D1/de active Active
- 2007-07-04 TW TW096124374A patent/TW200817945A/zh unknown
Cited By (21)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8150856B2 (en) | 2006-07-07 | 2012-04-03 | S. Grants Co., Ltd. | Bit string searching apparatus, searching method, and program |
| US8224861B2 (en) | 2006-11-28 | 2012-07-17 | S. Grants Co., Ltd. | Coupled node tree splitting/conjoining method and program |
| US8190591B2 (en) | 2007-01-24 | 2012-05-29 | S. Grants Co., Ltd. | Bit string searching apparatus, searching method, and program |
| WO2008132806A1 (ja) | 2007-04-19 | 2008-11-06 | S.Grants Co., Ltd. | カップルドノードツリーの退避/復元方法、最長一致/最短一致検索方法、ビット列検索方法及び記憶媒体 |
| US8386526B2 (en) | 2007-04-19 | 2013-02-26 | KOUSOKUYA, Inc. | Coupled node tree backup/restore apparatus, backup/restore method, and program |
| US8214405B2 (en) | 2007-05-18 | 2012-07-03 | S. Grants Co., Ltd. | Longest-match/shortest-match search apparatus, search method, and program |
| US8332410B2 (en) | 2007-12-05 | 2012-12-11 | KOUSOKUYA, Inc. | Bit string merge sort device, method, and program |
| US8103697B2 (en) | 2007-12-28 | 2012-01-24 | S. Grants Co., Ltd. | Database index key update method and program |
| JP2009157853A (ja) * | 2007-12-28 | 2009-07-16 | S Grants Co Ltd | データベースのインデックスキー更新方法及びプログラム |
| US8195667B2 (en) | 2008-01-17 | 2012-06-05 | S. Grants Co., Ltd. | Bit string search apparatus, search method, and program |
| WO2009122651A1 (ja) * | 2008-04-04 | 2009-10-08 | 株式会社エスグランツ | ビット列検索装置、検索方法及びプログラム |
| JP2009277164A (ja) * | 2008-05-18 | 2009-11-26 | S Grants Co Ltd | ビット列検索装置、検索方法及びプログラム |
| WO2009141941A1 (ja) * | 2008-05-18 | 2009-11-26 | 株式会社エスグランツ | ビット列検索装置、検索方法及びプログラム |
| US8166043B2 (en) | 2008-05-18 | 2012-04-24 | S. Grants Co., Ltd. | Bit strings search apparatus, search method, and program |
| WO2010125742A1 (ja) * | 2009-04-28 | 2010-11-04 | 株式会社エスグランツ | インデックス更新データ作成装置、作成方法及びプログラム |
| JP2011095849A (ja) * | 2009-10-27 | 2011-05-12 | S Grants Co Ltd | ビット列キー分類・分配装置、分類・分配方法及びプログラム |
| WO2011052181A1 (ja) * | 2009-10-27 | 2011-05-05 | 株式会社エスグランツ | ビット列キー分類・分配装置、分類・分配方法及びプログラム |
| JP2011134289A (ja) * | 2009-11-30 | 2011-07-07 | S Grants Co Ltd | ビット列検索装置、検索方法及びプログラム |
| WO2011064984A1 (ja) | 2009-11-30 | 2011-06-03 | 株式会社エスグランツ | ビット列検索装置、検索方法及びプログラム |
| JP2011248626A (ja) * | 2010-05-27 | 2011-12-08 | S-Grant Co Ltd | ビット列検索装置、検索方法及びプログラム |
| JP2013196489A (ja) * | 2012-03-21 | 2013-09-30 | Nintendo Co Ltd | データ構造、データ構造生成方法、情報処理装置、情報処理システム、及び情報処理プログラム |
Also Published As
| Publication number | Publication date |
|---|---|
| EP2048584A1 (en) | 2009-04-15 |
| EP2048584A4 (en) | 2010-03-24 |
| US20090240655A1 (en) | 2009-09-24 |
| CN101484895A (zh) | 2009-07-15 |
| US8073874B2 (en) | 2011-12-06 |
| EP2048584B1 (en) | 2011-04-13 |
| DE602007013905D1 (de) | 2011-05-26 |
| TW200817945A (en) | 2008-04-16 |
| CN101484895B (zh) | 2011-12-28 |
| JP4271214B2 (ja) | 2009-06-03 |
| WO2008004335A1 (en) | 2008-01-10 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4271214B2 (ja) | ビット列検索装置、検索方法及びプログラム | |
| JP4514771B2 (ja) | カップルドノードツリーの最長一致/最短一致検索装置、検索方法及びプログラム | |
| CN101535993B (zh) | 比特序列检索装置及检索方法 | |
| CN101911060B (zh) | 数据库的索引关键字更新方法 | |
| JP4527753B2 (ja) | ビット列検索装置、検索方法及びプログラム | |
| JP4402120B2 (ja) | ビット列検索装置、検索方法及びプログラム | |
| JP4439013B2 (ja) | ビット列検索方法及び検索プログラム | |
| CN101657818B (zh) | 配对节点树保存/复原方法、最长一致/最短一致检索方法、比特序列检索方法以及存储介质 | |
| JP5473893B2 (ja) | コード列検索装置、検索方法及びプログラム | |
| JP4567754B2 (ja) | ビット列検索装置、検索方法及びプログラム | |
| US8166043B2 (en) | Bit strings search apparatus, search method, and program | |
| JP2011018296A (ja) | カップルドノードツリーのインデックスキー挿入/削除方法 | |
| JP4813575B2 (ja) | ビット列検索装置 | |
| JP2009251840A (ja) | ビット列検索装置、検索方法及びプログラム | |
| JP4417431B2 (ja) | カップルドノードツリーの分割/結合方法及びプログラム | |
| JP2009199577A (ja) | ビット列検索装置、検索方法及びプログラム |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20080702 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080818 |
|
| A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20081023 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081111 |
|
| A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20081117 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081202 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090128 |
|
| 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: 20090223 |
|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090224 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120306 Year of fee payment: 3 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 4271214 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150306 Year of fee payment: 6 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150306 Year of fee payment: 6 |
|
| S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150306 Year of fee payment: 6 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |