JP2001209656A - 検索用データ構造構築方法、その装置、機械可読データ記録媒体及び機械可読プログラム記録媒体 - Google Patents

検索用データ構造構築方法、その装置、機械可読データ記録媒体及び機械可読プログラム記録媒体

Info

Publication number
JP2001209656A
JP2001209656A JP2000021782A JP2000021782A JP2001209656A JP 2001209656 A JP2001209656 A JP 2001209656A JP 2000021782 A JP2000021782 A JP 2000021782A JP 2000021782 A JP2000021782 A JP 2000021782A JP 2001209656 A JP2001209656 A JP 2001209656A
Authority
JP
Japan
Prior art keywords
search
tree
data
node
data structure
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
Application number
JP2000021782A
Other languages
English (en)
Other versions
JP3630057B2 (ja
Inventor
Masayoshi Kobayashi
正好 小林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2000021782A priority Critical patent/JP3630057B2/ja
Priority to US09/770,017 priority patent/US7130859B2/en
Publication of JP2001209656A publication Critical patent/JP2001209656A/ja
Application granted granted Critical
Publication of JP3630057B2 publication Critical patent/JP3630057B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9027Trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • G06F16/90344Query processing by using string matching techniques
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99932Access augmentation or optimizing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99942Manipulating data structure, e.g. compression, compaction, compilation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99943Generating database or data structure, e.g. via user interface

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (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)

Abstract

(57)【要約】 (修正有) 【課題】 データを検索する際の最大検索時間を基数検
索法と同等以下にし、且つ、メモリの使用量を基数検索
法に比較して少なくする。 【解決手段】 基数検索に用いられるツリー型の検索デ
ータ構造の一部に、ツリーの或るノードによって指定さ
れるデータ集合に包含されるような、被検索データの全
てを並置したものを、並置テーブルN2’として、上記或
るノード以下のすべてのツリー構造の代わりに保持す
る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、検索用データ構造
及びその構築技術に関し、特に、最大検索時間を基数検
索法と同等以上のものにすることができ、且つ被検索デ
ータを格納するためのメモリ使用量を少なくすることが
できる検索用データ構造及びその構築技術に関する。
【0002】
【従来の技術】データ検索を行う従来の方法としては、
テーブルを利用した検索法や、ツリー型の検索データ構
造を利用した基数検索法がある。
【0003】テーブルを利用した検索法としては、テー
ブルに被検索データを並べておき、テーブルの先頭エン
トリから順に検索データと比較していく順次検索法や、
テーブルに被検索データをソートして配置しておき、バ
イナリサーチするバイナリサーチ法がある。しかし、こ
れらのテーブルを利用した検索法は、被検索データの数
が多くなると、多大な検索時間を要するという問題があ
る。
【0004】ツリー型の検索データ構造を利用した基数
検索法では、検索データを有限個の種類の記号からなる
記号列とみなし、被検索データの集まりを記号列の先頭
の記号から順に記号毎に分類し、分類が進む毎に枝分か
れして行くようなツリー状のデータ構造に格納してお
く。ツリーのノードには、記号列の種類数に応じた子ノ
ードへのポインタが格納されており、検索データが与え
られると、検索データの先頭の記号から順にツリーのノ
ードを辿って探索範囲を狭めて検索を行う。
【0005】基数検索法を、最長プレフィクス検索法と
呼ばれる検索法を例にとって説明する。最長プレフィク
ス検索法では、被検索データは、或る固定長(Lビッ
ト)以下の任意の長さのビット列で表され、各被検索デ
ータは、それぞれ関連情報を持っている。検索データが
与えられると、検索データと一致するすべての被検索デ
ータの中で最も長いもの求める。今、例えば、図9よう
な、6つの被検索データ(それぞれはビット列)と関連
情報との組がある場合を考える。
【0006】従来の基数検索法で、検索データを表す記
号の集合を(0,1)にした場合、図9の被検索データ
は、図10のような2分木で格納される。図の黒丸が、
被検索データが格納されているノードを示し、白丸は、
分岐を示すノードである。各ノードには、ツリーの子ノ
ードへの2個のポインタと、被検索データを格納してい
るか否かを示すノード情報フラグが含まれる(格納して
いればフラグが立つ)。例えば、検索データ“0001111
”が与えられると、ノードN1,N2,N3,N4,N6,N7を辿る事
になる。途中で、ノード情報フラグが立っているノード
を経由すれば、そのノードに格納されている関連情報は
記憶しておく。この場合、ノードN3,N6,N7でノード情報
フラグが立っていることを検出する(即ち,被検索デー
タと検索データが一致する)が、最も長い(最もツリー
の下位にある)ノードN7の関連情報「D」を得る。
【0007】検索時間は、ノードを一つ辿る時間をTと
すると、レベルNのノードまで検索した場合は、TのN
倍である。従って、図10に示すツリー型の検索データ
構造における最大検索時間は、ツリーの最も深いノード
がレベル6であるので、6Tとなる。
【0008】検索において、最大検索時間が重要な性能
指標である場合には、レベル数を減らし最大検索時間を
減らすために、検索データを一度に1bit より多く調べ
て行く、N分木(N>2)が用いられる。
【0009】例えば、同じ図9の例を、検索データを表
す記号を(00,01,10,11) にし、4分木で構成する場合を
考える。4分木では、検索データを2bit ずつ見てゆく
ので、奇数ビット長の被検索データは、一度に調べるビ
ット数2の倍数になる長さまで展開されており、展開さ
れたものは、展開前と同じ関連情報をもつ。例えば、図
9の被検索データの中の、“00011 ”はビット長が5で
あるので、4分木に合うようにビット長6まで展開さ
れ、“000110”, “000111”の2つになる。これらは、
共に、“00011 ”の関連情報「D」を持つ。図11は、
図9に示した被検索データを4分木で格納するために展
開した例を示す。
【0010】図11に示す被検索データ(展開被検索デ
ータ)を4分木で構成した場合の検索データ構造が、図
12である。図12における黒丸,白丸の意味は2分木
の場合と同様で、各ノードは、そのノードの種類を示す
ノード情報フラグFGと、4個の子ノードへのポインタ
と、関連情報とを含んでいる。ノード情報フラグFGは、
“1”,“0”の何れかの値をとり、それぞれ、被検索
データ格納しているノード、被検索データを格納してい
ないノードを示す。
【0011】例えば,ノードN2は、値が“1”のノード
情報フラグFGと、ノードN3,N4,N5へのポインタ及びヌル
ポインタ("11"側への分岐が無いことを示す)からなる
4つの子ノードへのポインタと、関連情報Aを持つ。
【0012】検索においては、たとえば、検索データ
“0001111 ”が与えられると、ノードN1,N2,N4,N7 と辿
ることにより、ノード情報フラグFGの立っているノード
N2,N4,N7を発見するが、より長い被検索データを示すノ
ードN7の関連情報Dを得る。
【0013】4分木にした場合には、最大検索時間は、
ノードを1つ辿る時間を2分木と同じTとすると、ツリ
ーの最も深いノードがレベル4であるので、4Tとな
り、最大検索時間が6Tであった2分木に比較して最大
検索時間を2/3に短縮することができる。
【0014】しかしながら、一般的に、被検索データの
ツリーが粗な場合、最大検索時間を短くするために、N
分木のNを大きく取ると、被検索データをN分木構造に
合わせるための展開によって、同じ関連情報をもつノー
ドが増加し、また、1つのノードの大きさも、ポインタ
数がNに比例して増大することから、メモリ使用量が増
大してしまう。
【0015】例えば、ノード情報フラグFGが1bit 、ポ
インタが1つ6bit 、関連情報が8bit とすると、2分
木,4分木の1ノード当たりのビット数は、それぞれ1
+6×2+8=21bit ,1+6×4+8=33bit と
なり、また、図10,図12に示す2分木,4分木の総
ビット数は、ノード数が15ノード,14ノードである
ので、21×15=315bit ,33×14=462bi
t となる。また、被検索データを格納するメモリの1ア
ドレス当たりのビット数が32ビットであるとすると、
2分木の場合には、15アドレスで済むが、4分木の場
合は、28アドレスが必要になってしまう。
【0016】
【発明が解決しようとする課題】上述したような、従来
のN分木のツリーデータ構造では、ツリーのノードに、
子ノードへのポインタを格納するため、メモリ使用量が
大きくなるという問題があった。また、各ノードそれぞ
れに必要な子ノードへのポインタの数は、Nに比例して
増加する。このため、検索速度を速める目的でNを大き
くすれば、1ノード内のポインタの数が増加する上、プ
レフィクス展開により、多くのノードを使用することに
なる為、この問題がより顕著になっていた。
【0017】
【発明の目的】そこで、本発明の目的は、最大検索時間
を基数検索法と同等以上にし、且つ、メモリの使用量を
基数検索に比較して少なくすることにある。
【0018】
【課題を解決するための手段】本発明の機械可読データ
記録媒体は、メモリ使用量を削減するため、基数検索に
用いられるツリー型の検索データ構造の一部に、ツリー
の或るノードによって指定されるデータ集合に包含され
るような被検索データのすべてを並置したものを並置テ
ーブルとして、前記或るノード以下のすべてのツリー構
造の代わりに保持した構造を有する検索用データが記録
される。
【0019】被検索データが、検索データの取りうるす
べての値の中で、粗に分布している場合、従来の基数検
索法のための、ノード間をポインタで接続するような複
雑なツリー型の検索データ構造よりも、データを並置す
る、並置テーブルの方が、ツリー構造のような子へのポ
インタが不要であるため、データ構造の大きさを小さく
することができる。
【0020】また、本発明の機械可読データ記録媒体
は、最大検索時間を基数検索法と同等以上にし、且つ、
メモリの使用量を削減できるようにするため、前記或る
ノードは、該或るノードによって指定されるデータ集合
に包含される被検索データの数が、該或るノードが位置
するレベル以下に存在するレベルの数に、1ノード当た
りの検索時間と前記並置テーブルの1エントリ当たりの
検索時間との比を乗じた値以下となるという条件を満た
している。
【0021】並置テーブルは、検索データの数が十分小
さいと、従来のツリー型の検索データ構造を用いる基数
検索法より検索時間が短く、大きくなると急激に検索時
間が増大する傾向がある。このため、従来のツリー型の
検索データ構造で、或るノードより先に存在する被検索
データの数が十分小さい時(或るノードより先に存在す
る被検索データの数が、上記或るノードが位置するレベ
ル以下に存在するレベルの数に、1ノード当たりの検索
時間と並置テーブルの1エントリ当たりの検索時間との
比を乗じた値以下の時)には、並置テーブルに置き換え
ることで、最大検索時間を増大させることなく、データ
構造を小さくすることができる。
【0022】
【発明の実施の形態】次に本発明の実施の形態について
図面を参照して詳細に説明する。
【0023】図1は本発明の第1の実施の形態のブロッ
ク図であり、コンピュータ11と、キーボード等の入力装
置21と、ディスプレイ装置等の出力装置31とを備えてい
る。コンピュータ11は、検索部12と、主記憶装置等の記
録媒体13とを備えている。
【0024】図2は記録媒体13に記録された被検データ
構造の一例を示す図であり、被検索データの一部は、基
数検索に用いられる4分木のツリー型の検索データ構造
で記録され、残りは、並置テーブルN2’に記録されてい
る。尚、本実施の形態では、検索データの最大ビット長
L=8bit とする。
【0025】図2の各ノードN1,N8,N9,N10,N11,N12,N1
3,N14は、ノードの種類を示すノード情報フラグFGと、
“00”方向,“01”方向,“10”方向,“11”方向の4
個のポインタと、関連情報とを含んでいる。ノード内の
ノード情報フラグFGは、“0”,“1”の何れかの値を
とり、それぞれ、被検索データを格納していないノー
ド、被検索データを格納しているノードを示す。尚、本
実施の形態においては、ノードの格納されている情報の
先頭2bit がノード情報フラグFGに割り当てられている
とする。
【0026】例えば、ノードN1は、被検索データに対応
する関連情報を格納していないノードであるので、値
“0”のノード情報フラグFGを持ち、“00”方向,“0
1”方向,“10”方向,“11”方向のポインタとしてそ
れぞれ並置テーブルN2’へのポインタ,NULL(無効ポイ
ンタ),NULL,ノードN8へのポインタを持つ。更に、被検
索データを格納していないため、関連情報には無効値が
入っている。
【0027】また、例えば、ノードN8は、被検索データ
を格納していないノードであるので、値“0”のノード
情報フラグFGを持ち、“00”方向,“01”方向,“10”
方向,“11”方向へのポインタとしてそれぞれNULL,ノ
ードN9へのポインタ,NULL,ノードN10 へのポインタを
持つ。更に、被検索データを格納していないため、関連
情報には無効値が入っている。
【0028】また、ノードN11 は、被検索データを格納
しているノードであるので、値“1”のノード情報フラ
グFGを持ち、“00”方向,“01”方向,“10”方向,
“11”方向へのポインタとしてNULLを持つ。更に、被検
索データ110100を格納しているので、関連情報にはEが
入っている。
【0029】並置テーブルN2' は、被検索データを並置
したものである。被検索データの並置方法はさまざま考
えられるが、本実施の形態では、連続したアドレスに並
置するものとする。並置テーブルN2’の各エントリは、
ノード情報フラグFG,最終エントリフラグ,データビッ
ト列,検索ビット長,関連情報の5つのフィールドを持
つ。尚、本実施の形態においては、エントリの先頭2bi
t がノード情報フラグFGに割り当てられているとする。
【0030】並置テーブルN2’内のノード情報フラグFG
は、常に値“2”を持つ。最終エントリフラグは、並置
テーブルN2’の最終エントリのみ“1”で、それ以外の
エントリは“0”の値をとる。データビット列は、被検
索データのビット列に、検索データの最大ビット長L
(この例では、L=8)までビット“0”を付加したビ
ット列である。検索ビット長は、データビット列中の最
上位ビットから何ビットが被検索データであるかを示し
ている。関連情報フィールドは、被検索データに対応す
る関連情報を格納するフィールドである。
【0031】図2に示した検索データ構造は、図12に
示したノードN2以下のツリー構造を並置テーブルN2' で
置き換えた点以外は、図12と同じ構造を持っている。
並置テーブルN2' には、図12のノードN2が表すデータ
の集合、即ち、“00”で始まるビット列という集合に包
含される被検索データが全て格納されている。
【0032】次に、検索時の動作を説明する。本実施の
形態では、ツリー型の検索データ構造を辿って行く場合
(分岐先のノード情報フラグFGの値が“0”或いは
“1”の場合)は、従来と同じく、検索データのビット
を2bit ずつ調べながらツリー構造を辿って行く。しか
し、分岐先のノード情報フラグFGの値が“2”である場
合には、分岐先が並置テーブルN2’であるので、並置テ
ーブルN2’の各エントリを検索データを使用して単純検
索して行く。
【0033】図3は検索部12の処理例を示す流れ図であ
り、以下各図を参照して検索時の動作を説明する。
【0034】入力装置21から検索データが入力される
と、検索部12は、図3の流れ図に示すように、記録媒体
13に格納されている検索データ構造のルートノードの内
容を入力し、ノード情報フラグFGの値が“0”である
か、“1”であるかを調べる(A1,A2)。そして、
ノード情報フラグFGの値が“0”であった場合は、直ち
にA4の処理を行い、“1”であった場合は、ルートノ
ード中の関連情報と一致ビット長との組を、図示を省略
した記憶領域に保存した後(A3)、A4の処理を行
う。尚、一致ビット長は、ノードのレベルに応じた値を
とるものであり、レベルNLのノードの一致ビット長
は、2×(NL−1)となる。
【0035】A4では、4つのポインタの内の、検索デ
ータの先頭2bit のビットパターンと対応するポインタ
を取得し、次のA5ではポインタの値がNULLであるか否
かを調べる。
【0036】そして、ポインタの値がNULLの場合(A5
がYES)は、保存している関連情報の内の、それと組
になって保存されている一致ビット長が最も長いものを
検索結果として出力装置31等に出力した後(A12)、
処理を終了する。これに対して、ポインタの値がNULLで
ない場合(A5がNO)は、A4で取得したポインタが
指し示すノード或いは並置テーブルN2’の先頭エントリ
の内容を入力し(A6)、ノード情報フラグFGの値が
“2”であるか否かを調べる(A7)。尚、A6の実行
時点では、A4で取得したポインタのポイント先が、ノ
ードであるのか、並置テーブル2N’の先頭エントリであ
るのかが不明であるため、ポインタが指し示すアドレス
から、1ノード分のデータを格納するのに必要なアドレ
ス数と1エントリ分のデータを格納するのに必要なアド
レス数との内の、大きな方のアドレス数分のアドレスを
アクセスし、データを入力する。例えば、1ノード分の
データを格納するのに必要なアドレス数が「2」で、1
エントリ分のデータを格納するのに必要なアドレス数が
「1」である場合は、ポインタが指し示すアドレスXと
次のアドレス(X+1)とをアクセスすることになる。
【0037】そして、ノード情報フラグFGが“2”でな
かった場合(A7がNO)は、再びA2の処理を行い、
ツリー構造を辿る。これに対してノード情報フラグFGが
“2”であった場合(A7がYES)は、検索データと
並置テーブルN2’の先頭エントリに格納されているデー
タビット列との、検索ビット長によって示される部分が
一致するか否かを判断する(A8)。
【0038】A8で不一致と判断した場合は、現在処理
対象にしているエントリが最終エントリであるか否かを
最終エントリフラグに基づいて判断する(A10)。こ
れに対して、A8で一致と判断した場合は、現在処理対
象にしているエントリ中の関連情報と一致ビット長(エ
ントリ中の検索ビット長と同じ値を有する)との組を記
憶領域に保存した後(A9)、A10の処理を行う。
【0039】A10で最終エントリであると判断した場
合は、保存している関連情報の内の、それと組になって
登録されている一致ビット長が最も長いものを検索結果
として出力装置31等へ出力した後(A12)、処理を終
了する。これに対して、A10で最終エントリでないと
判断した場合は、次のエントリを処理対象にした後(A
11)、再びA8の処理を行う。
【0040】次に、具体例を挙げて検索時の動作を説明
する。
【0041】今、例えば、本発明の記録媒体13に図2に
示す検索データ構造が記録されている状態において、検
索データとして“00011111”が入力されたとする。
【0042】検索部12は、検索データ“00011111”が入
力されると、ルートノードN1の内容を入力し、ノード状
態フラグFGの値を調べる(A1,A2)。この例の場
合、ノード状態フラグFGの値が“0”であるので、検索
部12は、A4の処理を行う。A4では、検索データの先
頭2ビットが“00”であるので、ノードN1に設定されて
いる4個のポインタの内の、“00”方向のポインタを取
得する。ノードN1の“00”方向のポインタは、「N2」
であるので、検索部12は、並置テーブルN2' の先頭エン
トリの内容を入力する(A6)。
【0043】A6で入力した並置テーブルN2’の先頭エ
ントリのノード情報フラグFGの値は“2”であるので
(A7がYES)、検索部12は、検索データと先頭エン
トリ中のデータビット列との、検索ビット長によって示
される部分が一致するか否かを調べる(A8)。この例
の場合、先頭エントリに格納されているデータビット
列,検索ビット長はそれぞれ“00000000”,「2」であ
り、検索データ“00011111”の上位2bit “00”と、デ
ータビット列“00000000”の上位2bit “00”とは一致
するので、A8の判断結果はYESとなる。
【0044】A8の判断結果がYESとなると、検索部
12は、先頭エントリ中の関連情報Aと一致ビット長
「2」との組を記憶領域に保存した後(A9)、第2番
目のエントリを処理対象にする(A11)。以下、最終
エントリとなるまで(A10がYESとなるまで)、並
置テーブルN2’の各エントリを対象にして前述した処理
と同様の処理を繰り返し行う。この例の場合、第3番
目,第4番目のエントリを処理対象にした時、A8の判
断結果がYESとなり、関連情報「C」と一致ビット長
「4」との組、関連情報「D」と一致ビット長「5」と
の組が記憶領域に保存される。
【0045】そして、最終エントリまで処理を行うと
(A10がYES)、検索部12は、一致ビット長が最も
長い関連情報「D」を検索結果として出力装置31等に出
力する(A12)。
【0046】尚、上述した説明では、A3,A9におい
て、関連情報と検索ビット長との組を記憶領域に保存す
るようにしたが、並置テーブルN2’の各エントリが検索
ビット長が短い順にソートされている場合には、関連情
報のみを記憶領域に保存し、最も後に保存した関連情報
を検索結果として出力するようにしても良い。
【0047】ところで、検索時間は、メモリアクセス時
間が大部分を占めるため、並置テーブルN2’の1エント
リを調べる時間は、ツリーのノードを1つ辿る時間Tと
同じと考えられる。並置テーブルN2’を調べる場合の最
大検索時間は、ノードN1を調べるのにT、並置テーブル
N2’を調べるのに4Tかかるため、5Tとなる。並置テ
ーブルN2’を調べない場合は、ノードN11,N12,N13,N14
のいずれかに到達するような検索の場合が最大の検索時
間となり、その時間は、4Tである。このため、全体の
最大検索時間は、5Tとなる。
【0048】
【第1の実施の形態の効果】本実施の形態の検索データ
構造における並置テーブルN2’は、被検索データを並べ
ているだけであり、従来のツリー構造のように、子ノー
ドへのポインタが不要であるため、データ構造の大きさ
を小さくすることが可能である。
【0049】例えば、図2に示す本実施の形態の検索デ
ータ構造と、図2と同じ被検索データを対象にしている
図12に示す従来の検索データ構造とを、データ構造の
大きさで比較する。本実施の形態における各ノードは、
ノード情報フラグFGが並置テーブルN2’の識別の為に1
bit 増加して2bit になる以外は、図12に示した従来
のノードと同じ構成を有する。従って、本実施の形態に
おけるノードのビット数は、従来のノードのビット数が
33ビットであるので、34ビットとなる。また、並置
テーブルN2’の1エントリ当たりのビット数は、ノード
情報フラグFGを2bit 、最終エントリフラグを1bit 、
データビット列を8bit (検索データの最大ビット長L
=8としたので)、検索データ長を4bit (0から8を
示すため)、関連情報を8bit とすると、23bit とな
る。従って、ノード数が8個,エントリ数が4個であ
る、図2に示す本実施の形態の検索データ構造において
必要になるビット数は、34×8+23×4=364bi
t となる。これに対して、図12に示した従来例におい
て必要になるビット数は、1ノード当たりのビット数が
33bit で、ノード数が14個であるので、33×14
=462bit となる。以上の事から、本実施の形態によ
れば、検索データ構造の大きさを、約22%削減するこ
とができる。
【0050】また、本実施の形態によれば、検索データ
構造を格納する際に使用するメモリのアドレス数を削減
することもできる。例えば、メモリの1アドレス当たり
のビット数が32bit であるとすると、図12に示す従
来の検索データ構造においては、ノード数が14個で、
1ノード分のデータを格納するのに、2アドレスを必要
とするので、2×14=28アドレスが必要となる。こ
れに対して、図2に示す本実施の形態の検索データ構造
では、ノード数が8個、並置テーブルN2’のエントリ数
が4個で、1ノード分のデータ,1エントリ分のデータ
を格納するのに必要なアドレス数はそれぞれ2個,1個
であるので、検索データ構造を格納するために必要とな
るアドレス数は、2×8+1×4=20アドレスとな
る。以上の事から、本実施の形態によれば、使用するメ
モリのアドレス数を約29%削減することができる。
【0051】次に、本発明の第2の実施の形態を説明す
る。図4は本発明の第2の実施の形態のブロック図であ
り、コンピュータ41と、キーボード等の入力装置51と、
ディスプレイ装置等の出力装置61と、記録媒体71とから
構成されている。
【0052】コンピュータ41は、データ構築部42と、検
索部43と、主記憶装置等の記録媒体44とを備えている。
【0053】記録媒体44には、図5に示すような、被検
索データと関連情報との組が予め格納されている。
【0054】検索部43は、図1に示した検索部12と同様
の機能を有している。
【0055】データ構築部42は、制御部421 と、ルート
ポインタレジスタ423 を有するツリー構成部422 と、置
換ノード選択部424 と、並置テーブル構成部425 とを備
えている。
【0056】制御部421 は、データ構築部42内の各部の
動作を制御する機能を有する。
【0057】ツリー構成部422 は、記録媒体44に格納さ
れている被検索データと関連情報との組に基づいて、基
数検索に用いられる4分木のツリー型の検索データ構造
を記憶媒体44上に構成する機能を有する。
【0058】置換ノード選択部424 は、ツリー構成部42
2 が構成したツリー型の検索データ構造における最大検
索時間を求める機能を有すると共に、上記ツリー型の検
索データ構造のノードの中から、それを並置テーブルで
置き換えた場合の検索データ構造の最大検索時間が上記
求めた最大検索時間を越えず、且つメモリ使用量が低減
されるノードを選択する機能を有する。
【0059】並置テーブル構成部425 は、ツリー構成部
422 が構成したツリー型の検索データ構造中の、置換ノ
ード選択部424 で選択されたノード以下のツリー構造
を、上記選択されたノードによって指定されるデータ集
合に包含される全ての被検索データを格納した並置テー
ブルで置き換える機能を有する。
【0060】記録媒体71は、ディスク,半導体メモリ,
その他の記録媒体であり、コンピュータ41を検索用デー
タ構造構築装置として機能させるためのプログラムが記
録されている。このプログラムは、コンピュータ41によ
って読み取られ、コンピュータ41の動作を制御すること
で、コンピュータ41上に、制御部421,ツリー構成部422,
置換ノード選択部424,並置テーブル構成部425 ,検索部
43を実現する。
【0061】図6はデータ構築部42の処理例を示す流れ
図であり、以下各図を参照して検索データ構造構築時の
動作を説明する。
【0062】検索データ構造の構築時、データ構築部42
内の制御部421 は、ツリー構成部422 に対して、ツリー
型の基数検索用の検索データ構造を記録媒体44上に構成
するように指示する。これにより、ツリー構成部422
は、記録媒体44に格納されている、図5に示す被検索デ
ータと関連情報との組に基づいて、図7に示すようなツ
リー型の基数検索用の検索データ構造を記録媒体44上に
構成する(図6,B1)。尚、図7に示す各ノードN1〜
N13 が有している情報は、図2に示した各ノードが有し
ている情報と同様のものである。その後、ツリー構成部
422 は、図7に示す検索データ構造の最上位のノードで
あるルートノードN1へのポインタを、ルートポインタレ
ジスタ423 に格納する(B2)。ツリー構成部422 の処
理が終了すると、制御部421 は、置換ノード選択部424
を起動する。
【0063】これにより、置換ノード選択部424 は、ル
ートポインタレジスタ423 中のポインタによってルート
ノードN1が指し示されている、図7の検索データ構造の
最大検索時間を求める(B3)。この最大検索時間Tma
x は、ツリーのノードを1つ辿る時間Tn に、ツリーの
最も深いノードのレベルNLmax を乗じることにより求
めることができ、Tmax =Tn ×NLmax となる。
【0064】次に、置換ノード選択部424 は、図7に示
す検索データ構造中に存在する各ノードを予め決められ
ている規則(例えば、上位レベルに存在するノードを優
先し、同一レベルに存在するノードについては、“00”
方向,“01”方向,“10”方向,“11”方向の順にする
という規則)に従って順次処理対象にし、下記の条件
a,bを満たすノードを1つ探し出し、探し出したノー
ドへのポインタrを並置テーブル構成部425 へ渡す(B
4)。
【0065】a.処理対象にしているノードを並置テー
ブルに置き換えた場合、置き換え後の検索データ構造の
最大検索時間がB3で求めた最大検索時間Tmax より長
くならない。 b. 処理対処にしているノードを並置テーブルに置き換
えた場合、置き換え後のメモリ使用量の方が、置き換え
前のメモリ使用量よりも少なくなる。
【0066】尚、処理対象にしているノードが、上記条
件aを満たすか否かの判断は、例えば、次のようにして
行う。処理対象としたノードによって指定されるデータ
集合に包含される被検索データの数(並置テーブルのエ
ントリ数と同数)が、処理対象のノードが位置するレベ
ル以下に存在するレベルの数に、1ノード当たりの検索
時間Tn と並置テーブルの1エントリ当たりの検索時間
Te との比K=Te /Tn を乗じた値以下になった場
合、条件aを満たすと判断する。
【0067】制御部421 は、置換ノード選択部424 の処
理が終了すると、並置テーブル構成部425 を起動する。
【0068】これにより、並置テーブル構成部425 で
は、ポインタrが指し示すノード以下のツリー構造を解
放し、上記ノードによって指定されるデータ集合に包含
される被検索データと関連情報との組を記録媒体44上か
ら探し、並置テーブルとして再構成する(B5)。その
後、並置テーブル構成部425 は、B5で構成した並置テ
ーブルを、記録媒体44上のポインタrによってポイント
される位置に保存する(B6)。制御部421 は、上で示
した、置換ノード選択部424 と並置テーブル構成部425
の起動を任意回繰り返しても良い。尚、置換ノード選択
部424 は、制御部421 によって複数回起動された場合
は、既に選択しているノードは処理対象から除外して、
前述した処理を行う。
【0069】図8は、ツリー構成部422 が構築した図7
の検索データ構造に対して、置換ノード選択部424 と並
置テーブル構成部425 とを1度ずつ動作させた時に得ら
れた検索データ構造の例を示した図である。図8に示す
ように、ノードN6以下のツリー構造が並置テーブルN6’
で置き換えられている。
【0070】次に、上述したデータ構築部42の動作を具
体例を挙げて説明する。尚、以下の説明では、ノード当
たりの検索時間Tn,1エントリ当たりの検索時間Te
は、共にTであるとする。
【0071】ツリー構成部422 が、記録媒体44上に、図
7に示す基数検索用のツリー型の検索データ構造を構築
し、ルートポインタレジスタ423 にルートノードN1への
ポインタを格納すると(図6のB1,B2)、置換ノー
ド選択部424 は、図7の検索データ構造における最大検
索時間Tmax を求める(B3)。図7の検索データ構造
の最大レベルは「4」であるので、最大検索時間Tmax
=4Tとなる。
【0072】次に、ノードN1から幅優先探索でノードを
調べて行く。ノードN1を並置テーブルに置き換えると、
並置テーブルのエントリ数は「8」となり、置き換え後
の検索データ構造における最大検索時間は8Tとなる。
これは、最大検索時間を増加させることになり、条件a
を満たさないので、置換ノード選択部424 は、次のノー
ドN2を処理対象にする。
【0073】ノードN2を並置テーブルに置き換えるとす
ると、並置テーブルのエントリ数は「4」となる。従っ
て、ノードN2を並置テーブルに置き換えた時の検索デー
タ構造における最大検索時間は、ノードN1の検索時間T
と、エントリ数が「4」の並置テーブルの検索時間4T
との和である5Tとなり、B3で求めた最大検索時間T
max =4Tを越えてしまう。このため、このノードN2も
選択せず、幅優先探索を進め、ノードN6を処理対象ノー
ドにする。
【0074】ノードN6を並置テーブルに置き換えた場合
の、並置テーブルのエントリ数は「2」となる。従っ
て、並置テーブルの最終エントリまで検索するのに要す
る時間は、ノードN1の検索時間Tと、エントリ数が
「2」の並置テーブルの検索時間2Tとの和である3T
となる。このことは、ノードN6を並置テーブルで置き換
えても、置き換え後の検索データ構造における最大検索
時間が、B3で求めた最大検索時間Tmax を越えないこ
とを示している。従って、ノードN6は上記した条件aを
満たすノードとなる。
【0075】更に、ノードN6,N7,N8,N9 をなくすことに
よる削減ビット数は、1ノード当たりのビット数を第1
の実施の形態と同じ34bit とすると、34×4=13
6bit となる。これに対して、並置テーブルN6’の為に
必要なビット数は、並置テーブルの1エントリ当たりの
ビット数が第1の実施の形態と同じ23bit であるとす
ると、23×2=46bit となる。よって、136−4
6=90bit の削減が達成できる。従って、置換ノード
選択部424 は、ノードN6を選択し、ノードN6へのポイン
タを並置テーブル構成部425 へ渡す。
【0076】並置ノード構成部425 は、ノードN6以下の
ツリー構造を構成するノードN6,N7,N8,N9 のメモリ領域
を解放する。そして、ノードN6が示すデータ集合が、
“10”で始まる全てのビット列であることから、この集
合に含まれる被検索データと関連情報との組を、記録媒
体44から探し出す。この例の場合、記録媒体44には、図
5に示す被検索データと関連情報との組が記録されてい
るので、並置テーブル構成部425 は、被検索データと関
連情報との組として(1000,E), (10000,F) を見つける。
その後、見つけ出した被検索データと関連情報の組それ
ぞれ対して、ノード情報フラグFG, 最終エントリフラ
グ, データビット列, 検索ビット長, 関連情報からなる
並置テーブルN6'の1エントリ分のデータを作成する。
尚、データビット列は、探し出した被検索データに、
“0”を付加してその長さを検索データの最大ビット長
と一致させたものである。その後、作成した各データを
並置テーブルN6'として、記録媒体44上の、ポインタN6
によって示される位置に格納する。
【0077】
【第2の実施の形態の効果】上に示したとおり、従来の
基数検索法を用いたデータ構造の最大検索時間4Tを変
えずに、メモリ領域を90bit 節約している。即ち、最
大検索時間を増加させる事無く、メモリ使用量を削減す
ることができる。また、本実施の形態によれば、検索デ
ータ構造を格納する際に使用するメモリのアドレス数を
削減することもできる。例えば、メモリの1アドレス当
たりのビット数が32bit であるとすると、図12に示
す従来の検索データ構造においては、ノード数が14個
で、1ノード分のデータを格納するのに、2アドレスを
必要とするので、2×14=28アドレスが必要とな
る。これに対して、図8に示す本実施の形態の検索デー
タ構造では、ノード数が9個、並置テーブルN6’のエン
トリ数が2個で、1ノード分のデータ,1エントリ分の
データを格納するのに必要なアドレス数はそれぞれ2
個,1個であるので、検索データ構造を格納するために
必要となるアドレス数は、2×9+1×2=20アドレ
スとなる。以上の事から、本実施の形態によれば、使用
するメモリのアドレス数を約29%削減することができ
る。
【0078】
【発明の効果】本発明の第1の効果は、検索データ構造
を格納するためのメモリ使用量を削減できるということ
である。その理由は、基数検索に用いられるツリー型の
検索データ構造の一部を、子ノードへのポインタが不要
な、データサイズを小さくすることができる並置テーブ
ルで置き換えているからである。
【0079】本発明の第2の効果は、最大検索時間を基
数検索法と同等以上にし、且つ、メモリの使用量を削減
できるということである。その理由は、ツリー型の検索
データ構造で、或るノードより先に存在する被検索デー
タの数が十分小さい時(或るノードより先に存在する被
検索データの数が、上記或るノードが位置するレベル以
下に存在するレベルの数に、1ノード当たりの検索時間
と並置テーブルの1エントリ当たりの検索時間との比を
乗じた値以下の時)には、並置テーブルに置き換えるよ
うにしているからである。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態のブロック図であ
る。
【図2】記録媒体13に記録された検索データ構造の一例
を示す図である。
【図3】検索部12の処理例を示す流れ図である。
【図4】本発明の第2の実施の形態のブロック図であ
る。
【図5】被検索データと関連情報との組の一例を示す図
である。
【図6】データ構築部42の処理例を示す流れ図である。
【図7】ツリー構成部423 によって構成される検索デー
タ構造の一例を示した図である。
【図8】記録媒体44に記録された検索データ構造を示す
図である。
【図9】被検索データと関連情報との組の一例を示す図
である。
【図10】従来の2分木の検索データ構造の一例を示す
図である。
【図11】図9に示す被検索データと関連情報との組を
4分木で格納できるように展開した図である。
【図12】従来の4分木の検索データ構造の一例を示す
図である。
【符号の説明】
11…コンピュータ 12…検索部 13…記録媒体 21…入力装置 31…出力装置 41…コンピュータ 42…データ構築部 421 …制御部 422 …ツリー構成部 423 …ルートポインタレジスタ 424 …置換ノード選択部 425 …並置テーブル構成部 43…検索部 44…記録媒体 51…入力装置 61…出力装置 71…記録媒体

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】 基数検索に用いられるツリー型の検索デ
    ータ構造の一部に、ツリーの或るノードによって指定さ
    れるデータ集合に包含されるような被検索データのすべ
    てを並置したものを並置テーブルとして、前記或るノー
    ド以下のすべてのツリー構造の代わりに保持した構造を
    有する検索用データを記録した機械可読データ記録媒
    体。
  2. 【請求項2】 複数の被検索データが記録された機械可
    読データ記録媒体であって、 前記複数の被検索データは、それらの一部が基数検索に
    用いられるツリー型の検索データ構造で記録され、残り
    が並置テーブルに記録され、 前記ツリー型の検索データ構造中のノードは、分岐先と
    する子ノード或いは並置テーブルへのポインタを有し、 前記並置テーブルは、前記複数の被検索データを基数検
    索に用いるツリー型の検索データ構造とした際の、該検
    索データ構造中の或るノードによって指定されるデータ
    集合に包含される全ての被検索データが記録されている
    ものであることを特徴とする機械可読データ記録媒体。
  3. 【請求項3】 請求項1または2記載の機械可読データ
    記録媒体において、 前記或るノードは、該或るノードによって指定されるデ
    ータ集合に包含される被検索データの数が、該或るノー
    ドが位置するレベル以下に存在するレベルの数に、1ノ
    ード当たりの検索時間と前記並置テーブルの1エントリ
    当たりの検索時間との比を乗じた値以下となるノードで
    あることを特徴とする機械可読データ記録媒体。
  4. 【請求項4】 基数検索に用いられるツリー型の検索デ
    ータ構造の一部に、ツリーの或るノードによって指定さ
    れるデータ集合に包含されるような被検索データのすべ
    てを並置したものを並置テーブルとして、前記或るノー
    ド以下のすべてのツリー構造の代わりに保持した構造を
    有する検索用データを構築する検索用データ構造構築方
    法であって、 前記或るノードの選択方法として、任意の並置テーブル
    に含まれる被検索データに対する検索時間中の最大が、
    並置テーブルに含まれず、ツリーの最下位に位置する被
    検索データの検索時間の最大を越えないような選択を行
    うことを特徴とする検索用データ構造構築方法。
  5. 【請求項5】 複数の被検索データに基づいて、基数検
    索に用いられるツリー型の検索データ構造を構成するツ
    リー構成処理と、 該ツリー構成処理で構成されたツリー型の検索データ構
    造における最大検索時間を求める最大検索時間算出処理
    と、 前記ツリー構成処理で構成された前記ツリー型の検索デ
    ータ構造のノードの中から、それを並置テーブルで置き
    換えたときの検索データ構造の最大検索時間が、前記最
    大検索時間算出処理で算出された最大検索時間を越えな
    いノードを選択する置換ノード選択処理と、 前記ツリー構成処理によって構成されたツリー型の検索
    データ構造中の、前記置換ノード選択処理で選択された
    ノード以下のツリー構造を、前記選択されたノードによ
    って指定されるデータ集合に包含される全ての被検索デ
    ータを格納した並置テーブルで置き換える並置テーブル
    構成処理とを含むことを特徴とする検索用データ構造構
    築方法。
  6. 【請求項6】 複数の被検索データに基づいて、基数検
    索に用いられるツリー型の検索データ構造を構成するツ
    リー構成部と、 該ツリー構成部で構成されたツリー型の検索データ構造
    における最大検索時間を求めると共に、前記ツリー型の
    検索データ構造のノードの中から、それを並置テーブル
    で置き換えたときの検索データ構造の最大検索時間が、
    前記求めた最大検索時間を越えないノードを選択する置
    換ノード選択部と、 前記ツリー構成部によって構成されたツリー型の検索デ
    ータ構造中の、前記置換ノード選択部で選択されたノー
    ド以下のツリー構造を、前記選択されたノードによって
    指定されるデータ集合に包含される全ての被検索データ
    を格納した並置テーブルで置き換える並置テーブル構成
    部とを備えたことを特徴とする検索用データ構造構築装
    置。
  7. 【請求項7】 コンピュータを、 複数の被検索データに基づいて、基数検索に用いられる
    ツリー型の検索データ構造を構成するツリー構成部、 該ツリー構成部で構成されたツリー型の検索データ構造
    における最大検索時間を求めると共に、前記ツリー型の
    検索データ構造のノードの中から、それを並置テーブル
    に置き換えたときの検索データ構造の最大検索時間が、
    前記求めた最大検索時間を越えないノードを選択する置
    換ノード選択部、 前記ツリー構成部によって構成されたツリー型の検索デ
    ータ構造中の、前記置換ノード選択部で選択されたノー
    ド以下のツリー構造を、前記選択されたノードによって
    指定されるデータ集合に包含される全ての被検索データ
    を格納した並置テーブルで置き換える並置テーブル構成
    部、として機能させるためのプログラムを記録した機械
    可読プログラム記録媒体。
JP2000021782A 2000-01-26 2000-01-26 検索用データ構造構築方法、その装置、及び機械可読プログラム記録媒体 Expired - Fee Related JP3630057B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2000021782A JP3630057B2 (ja) 2000-01-26 2000-01-26 検索用データ構造構築方法、その装置、及び機械可読プログラム記録媒体
US09/770,017 US7130859B2 (en) 2000-01-26 2001-01-25 Data structure for search

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000021782A JP3630057B2 (ja) 2000-01-26 2000-01-26 検索用データ構造構築方法、その装置、及び機械可読プログラム記録媒体

Publications (2)

Publication Number Publication Date
JP2001209656A true JP2001209656A (ja) 2001-08-03
JP3630057B2 JP3630057B2 (ja) 2005-03-16

Family

ID=18548150

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000021782A Expired - Fee Related JP3630057B2 (ja) 2000-01-26 2000-01-26 検索用データ構造構築方法、その装置、及び機械可読プログラム記録媒体

Country Status (2)

Country Link
US (1) US7130859B2 (ja)
JP (1) JP3630057B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006059629A1 (ja) * 2004-11-30 2006-06-08 Hewlett-Packard Development Company, L.P. エリア情報の管理装置・方法・プログラム
JP4886693B2 (ja) * 2005-08-12 2012-02-29 株式会社ターボデータラボラトリー 情報処理方法、情報処理装置および情報処理プログラム
JP2014502756A (ja) * 2010-12-31 2014-02-03 中国銀聯股▲ふん▼有限公司 ツリー構造に基づくマスデータストレージの装置および方法

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7418415B1 (en) * 2001-12-10 2008-08-26 Teredata Us, Inc. Object-oriented representation of a generic profitability rule for financial processing in a relational database management system
US7299235B2 (en) * 2003-07-28 2007-11-20 Rightorder, Incorporated Method and apparatus for ternary PATRICIA trie blocks
US8516004B2 (en) 2003-09-19 2013-08-20 Unisys Corporation Method for processing K node count fields using an intensity variable
US7685008B2 (en) * 2004-02-20 2010-03-23 Accenture Global Services Gmbh Account level participation for underwriting components
US8078607B2 (en) * 2006-03-30 2011-12-13 Google Inc. Generating website profiles based on queries from webistes and user activities on the search results
US7676477B1 (en) * 2005-10-24 2010-03-09 Unisys Corporation Utilities for deriving values and information from within an interlocking trees data store
US7461289B2 (en) * 2006-03-16 2008-12-02 Honeywell International Inc. System and method for computer service security
US7689571B1 (en) 2006-03-24 2010-03-30 Unisys Corporation Optimizing the size of an interlocking tree datastore structure for KStore
US8238351B2 (en) 2006-04-04 2012-08-07 Unisys Corporation Method for determining a most probable K location
US7676330B1 (en) 2006-05-16 2010-03-09 Unisys Corporation Method for processing a particle using a sensor structure
US8229966B2 (en) * 2007-09-07 2012-07-24 Teradata Us, Inc. System to generate a structured query language query by using a dimensional hierarchy
TWI483138B (zh) * 2012-10-12 2015-05-01 Acer Inc 遠端動態資料的處理與驗證方法、系統,以及電腦可讀記錄媒體
WO2018212106A1 (ja) * 2017-05-19 2018-11-22 学校法人神奈川大学 情報検索装置、検索用プログラム、データベースの更新方法、データベースの更新装置、データベース更新用プログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2576549B2 (ja) 1987-12-10 1997-01-29 富士通株式会社 データ検索方式
US5257365A (en) * 1990-03-16 1993-10-26 Powers Frederick A Database system with multi-dimensional summary search tree nodes for reducing the necessity to access records
US6467003B1 (en) * 1997-01-21 2002-10-15 Honeywell International, Inc. Fault tolerant data communication network
US6633879B1 (en) * 2000-01-04 2003-10-14 International Business Machines Corporation Method and system for optimizing direct tables and trees

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006059629A1 (ja) * 2004-11-30 2006-06-08 Hewlett-Packard Development Company, L.P. エリア情報の管理装置・方法・プログラム
US7619913B2 (en) 2004-11-30 2009-11-17 Hewlett-Packard Development Company, L.P. Device, method and program for managing area information
JP4886693B2 (ja) * 2005-08-12 2012-02-29 株式会社ターボデータラボラトリー 情報処理方法、情報処理装置および情報処理プログラム
JP2014502756A (ja) * 2010-12-31 2014-02-03 中国銀聯股▲ふん▼有限公司 ツリー構造に基づくマスデータストレージの装置および方法

Also Published As

Publication number Publication date
US20010010048A1 (en) 2001-07-26
JP3630057B2 (ja) 2005-03-16
US7130859B2 (en) 2006-10-31

Similar Documents

Publication Publication Date Title
JP2001209656A (ja) 検索用データ構造構築方法、その装置、機械可読データ記録媒体及び機械可読プログラム記録媒体
US5359720A (en) Taken storage apparatus using a hash memory and a cam
TWI250424B (en) Method and apparatus for enhancing multiway radix tree
JPS6359626A (ja) データベース検索方法
JP2013149277A (ja) 圧縮データの構造を問い合わせる方法
US20070282573A1 (en) Method and System for Changing a Description for a State Transition Function of a State Machine Engine
JP2753260B2 (ja) マージ方法
US8082381B2 (en) Connecting a plurality of peripherals
KR100542467B1 (ko) 연상 메모리 시스템 및 네트워크 기기 및 네트워크 시스템
US7933885B1 (en) Longest matching prefix search engine with hierarchical decoders
JP2018112919A (ja) テスト入力情報検索装置及び方法
WO2011099114A1 (ja) ハイブリッド型データベースシステム及びその動作方法
JP5143797B2 (ja) ビット列データソート装置、ソート方法及びプログラム
JPS6143338A (ja) 連想技術を使用して稀薄なデータベースをサーチする方法
JP5434500B2 (ja) 木構造処理装置及びプログラム
JP2005038073A (ja) ルール検索方法、装置、プログラム及び記録媒体
JP2578270B2 (ja) 内容アドレス式メモリ
JPS63118958A (ja) 索引フアイル記憶装置
JP2004062898A (ja) 相関のあるデータ組み合わせの数え上げ方式
Suszyński et al. Matrix recording of assembly unit and assembly sequence
JP2990153B2 (ja) 論理回路のテストパターン圧縮判定装置および圧縮判定方法および該方法を格納した記録媒体
JPH0373046A (ja) メモリ素子の論理シミュレーション方法
JPH03256130A (ja) 割込要因検索方式
JPS63149728A (ja) 索引生成方式
JP2000163458A (ja) 電子回路接続情報の階層型格納方法及びシステム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040113

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040311

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040420

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20040520

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20040520

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040621

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20040628

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040907

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041015

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: 20041124

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20041207

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071224

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081224

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091224

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091224

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101224

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101224

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111224

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111224

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121224

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121224

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131224

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees