JPH0524549B2 - - Google Patents

Info

Publication number
JPH0524549B2
JPH0524549B2 JP58018824A JP1882483A JPH0524549B2 JP H0524549 B2 JPH0524549 B2 JP H0524549B2 JP 58018824 A JP58018824 A JP 58018824A JP 1882483 A JP1882483 A JP 1882483A JP H0524549 B2 JPH0524549 B2 JP H0524549B2
Authority
JP
Japan
Prior art keywords
node
entry
tree
case
entries
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.)
Expired - Lifetime
Application number
JP58018824A
Other languages
English (en)
Other versions
JPS59146339A (ja
Inventor
Tooru Sakaihara
Toshiro Jinnai
Hideki Sato
Toshuki Kuwana
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP58018824A priority Critical patent/JPS59146339A/ja
Publication of JPS59146339A publication Critical patent/JPS59146339A/ja
Publication of JPH0524549B2 publication Critical patent/JPH0524549B2/ja
Granted 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明は、演算処理装置、主記憶装置、補助記
憶装置および入出力装置からなる電子計算機シス
テムにおける平衡木を用いた情報検索機構に係
り、特に情報の追加および削除を高速に行える情
報検索方式。
〔従来技術〕
従来よりデイジタル型の電子計算機システムに
おいては、キーに対応する情報を検索するために
平衡木が用いられている。その代表的なものがB
−Tree(ビーツリー)と呼ばれているものであ
り、種々のB−Treeの変形も考えられている。
B−Treeについては、Do Comer:“The
Ubiqitous B−Tree”ACM Computing
Surveys、Vol.11、No.2、pp121〜138を参照のこ
と。B−Treeの変型の代表的なものにB+−Tree
があり、広く用いられている。
今、B+−Treeのエントリが満杯のNode(ノー
ド)にキーを追加することを考えてみる。この場
合、新しいNodeを確保して満杯のNodeの半分の
キーを新しいNodeに移すことにより、キーを追
加することができ、通常の処理をSplit処理と呼
んでいる。Split処理を行う場合には対象Nodeの
親のNodeも更新することが必要である。
一方、B+−TreeにおいてはNode内のエント
リの数を位数すなわちNodeに入り得る最大エン
トリ数の半分と最大エントリ数の間に入るように
制御する。このためエントリを削除することによ
りエントリの数が位数以下になる場合には隣りの
Nodeからエントリを融通したり、あるいは隣り
のNodeを併合する処理が必要で、この時Split処
理と同じく親Nodeの更新に行う。
従来、親のNodeを更新する時には、
RootNede(ルートノード)からたどりなおして、
該当Nodeを指すポインタを含むNodeを探してい
た。通常木を磁気デイスク装置(以外デイスクと
略す)等の補足記憶装置上に記憶しているので、
Root Nodeからたどりなおすのに補助記憶装置、
のアクセスが必要となり、性能上問題であつた。
〔発明の目的〕
本発明の目的はB+−Tree等のようにキーの追
加や削除を行なう時に親のNodeまで、更新処理
が必要となる可能性がある平衡木において、親
Nodeを探す処理を高速に行えるようにして、キ
ーの追加や削除処理を高速化することにある。
〔発明の概要〕
B+−Tree等の平衡木では、キーの追加あるい
は削除を行うに先立つて、該当キーの入るべきあ
るいは入つているLeaf Node(リーフ ノード)
まで、Rootからたどる処理を行う必要であり、
この時に、Root Nodeから該当Left Nodeまで
のNode番号(Nodeを識別するための番号)を
Rootから順に主記憶装置上のテーブルに記憶し、
親NodeのNode番号が必要になつた場合には、こ
のテーブルをサーチして、該当Node番号を検索
する。このテーブルの該当Node番号を含むケー
スの1つの前に記憶されているNode番号が親
NodeのNode番号である。このようにして、高速
に親Nodeを知ることができる。
〔発明の実施例〕
以下、本発明の一実施例を第1図〜第11図に
より説明する。第1図に本発明の全体の構成を示
す。1は磁気デイスク装置(以後デイスクと略
す)、2はB+−Treeからなるインデツクスフア
イル、21はインデツクスフアイル内のNodeの
使用未使用をビツトのon・offで管理するビツト
マツプ、22はB+−Treeの本体を含む部分であ
る。201〜208はB+−Treeを構成する
Nodeで、201はRoot Node、208〜208
はLeaf Nodeである。3はフアイルラベルエリ
アで31〜32はフアイルラベルである。フアイ
ルラベルには、311にフアイルのセクタアドレ
ス、312にビツトマツプの管理情報、313に
Root NodeのNode番号(すなわち、B+−Tree
本体22のエリアの先頭から順にNodeにつけら
れた番号)、314にキー長および315にレコ
ードサイズを含む。
4は主メモリで、5はB+−Treeを制御するシ
ステムのプログラム群で、51はエントリを追加
する、52はエントリを削除する、53はエント
リを検索するプログラムである。54,55は、
51,52のプログラムが使用するサプルーチン
で、後に述べるNNLTに辿つたNodeのNode番
号を登録するプログラム、55は指定された
Nodeの親のNode番号を得るプログラムである。
以降、54をNode番号登録プログラム、55
を親Node番号検策プログラムを呼ぶ。
なお、今まで木にキーを追加あるいは削除する
と表現したが、正確には、キーとレコードからな
るエントリを追加あるいは削除すると表現するの
が正しく、以後、後者のように記述する。8はデ
イスク上のNodeやビツトマツプを読むためのバ
ツフアである。6はユーザプログラムを含むエリ
アで、61はユーザプログラム本体で、B+
Treeを制御するプログラム51〜53を呼ぶ。
62は検策・追加あるいは削除するキーを、63
は追加するレコードをそれぞれ設定するエリア
で、これらのアドレスをB+−Tree制御プログラ
ムに渡すことにより所望の処理を行うことができ
る。7はNNLT(Node Number List)と呼んで
いるテーブルで、B+−TreeをRoot Nodeから対
象キーを含むLeaf Nodeまで辿つた時のNode番
号を先頭から順に記憶する。
64〜68にはB+−Tree制御プログラムの処
理の中間情報を記憶する。64には追加するエン
トリのキーを記憶する。64には同じく追加する
エントリのレコード本体あるいは子NodeのNode
番号を記憶している。66にはエントリ追加対象
NodeのNode暗号を記憶する。
67には、削除するエントリのNode内の相対
エントリ番号を、68にはエントリ削除対象
NodeのNode番号をそれぞれ記憶する。
第2図にNodeの詳細な構造を示す。9はNode
の全体で、Root Leafあるいはこれら以外の
Nodeであるかの如何にかかわらず長さは1セク
タ固定とする。91はNodeの制御情報を含むエ
リアで固定長である。92〜93はエントリであ
る。エントリ内には921で示されるキーと、9
22で示されるレコード(Leaf Node時)ある
いは下位NodeのNode番号(Leaf Node以外の
時)を含む。
911には右隣りのNodeのNode番号を、91
2にはNode内に含まれるエントリの数、913
にはRoot Nodeか否かを表示するフラグおよび
914にはLeaf Nodeか否かを表現するフラグ
をそれぞれ記憶している。
Node内のエントリの数は、Nodeに入り得る最
大のエントリ数とこの値の1/2である位数との間
に入るように制御される。
以上の構成に関する説明を基にして、以下エン
トリの追加および削除処理を述べ、本方式を詳細
に説明するとともに、本方式の有効性について述
べる。
第3図にエントリを追加するプログラムのフロ
ーチヤートを示す。このフローチヤートを第4図
および第5図に示したB+−Treeの例に基づいて
説明する。
まず第4図のAに示したB+−Treeにキーの値
が25のエントリを追加することを考える。ここ
で第4図のAは追加前のB+−Tree、Bは追加後
のB+−Tree、211はRoot Nodeで、Node番
号iは、212〜215はLeaf Nodeで、Node
番号はそれぞれj、k、l、mである。第3図の
101にて、第1図の7で示したNNLTの全ケ
ースをゼロクリアする。第3図の102にて、第
1の313からRoot NodeのNode番号、第4図
の例ではiを得る。第3図の103にて、フアイ
ルエ管理にて通常行なわれているように第1図の
31にて示したフアイルラベル上の情報に基づい
て、Node番号iのデイスク上のセクタアドレス
を求め、このNodeを第1図の8のシステムバツ
フアに読む。第3図の104にて、読込んだ
NodeのNode番号iをNNLTに登録する。
この処理は第1図の54で示したNode番号登
録プログラムによる。NNLTの詳細とNode番号
登録プログラムを第9図および第10図に示す。
第9図にて、7はNNLTで全体で、各々のケ
ース71〜77は4バイトで構成され、71から
順にケース番号が振られる。71にはNNLTに
登録されているNodeの数を記憶する。72〜7
7には、B+−TreeをRoot Nodeから対象キーを
含むLeaf Nodeまで辿つた時のNode番号が先頭
から順に入る。登録できる最大のNodeの数は
NNLT内のケース数によるが、この値は想定で
きるB+−Treeの最大の段数分だけあればよく、
ここでは、フアイルの最大の大きさから15ケース
固定としている。
第10図にNNLT登録プログラムのフローチ
ヤートを示す。701にて、NNLTの登録され
ているNode数(第9図の71に記憶)に1を加
える。この場合、最初0であつたので、701の
処理終了後、登録されているNode数は1となる。
702では、NNLT先頭アドレス登録Node数
と1ケース当りのバイト数4を掛けたものを加
え、登録すべきNNLTのケースのアドレスを得
る。この場合、第9図の72で示したケースのア
ドレスが計算される。
703にて、702でアドレスを計算したケー
スに指定Node番号を設定する。この場合、Root
Node番号iが、第9図の72のケースに設定さ
れる。
第3図の105にて読込んだNodeのLeaf
Node表示(第2図の914で示す。)を参照し
て、Leaf Nodeであるか判定する。この場合、
Leaf Nodeでないので、第3図の106にジヤ
ンプする。106では、読込んだNode内のエン
トリキーを第1エントリから順に比較して最初に
追加するエントリのキーの値を越えるエントリを
見つける。この場合キーの値が30の第1エント
リが該当する。このエントリのポインタ値(一般
には第2図の922にて示される。)から下位の
NodeのNode番号、この場合jを得る。この後第
3図の103へ戻り、下位のNodeすなわちNode
をシステムバツフアに読み、104にて、Node
番号登録プログラムを呼び込んだNodeのNode番
号jを、NNLTに登録する。この場合、第9図
の73のケースにjが設定され、71の登録
Node数は2となる。105においては、Leaf
Nodeであるので、107へ進み、ここで、第1
図の64〜66で示すワークにそれぞれ、追加す
るエントリのキー((すなわち25)、レコードお
よびエントリ追加対象NodeのNode番号(すなわ
ちj)を設定する。このように131〜137に
おいては、追加するエントリが入るべきLeaf
Nodeまで辿るとともに、NodeにRootからLeaf
まで辿つたNode番号を登録し、かつワーク上に
追加するエントリに関する情報を設定する。
NNLTは第4図のCのようになる。
第3図の108にて、現在にNode内に入つて
いるエントリ数(第2図の912に記憶)と
Nodeに入り得るエントリの数を比較する。Node
に入り得るエントリの数は、エントリ長すなわ
ち、Leaf Node時はキー長とレコード長を加え
た値、Leaf以外の時はキー長とポインタ値を入
れるエリアの長さ4バイト固定を加えた値で、
Nodeの制御情報を含む部分の長さ(固定値)を
除いた値を割ることにより求める。第4図のAの
場合、現在のエントリ数が4で、Nodeに入り得
るエントリの数が4であるので第5図の108の
判定では、109へ進む。109においては、
Nodeの制御情報の内のRoot表示(第2図の91
3で示す。)を参照して、追加対象NodeがRoot
Nodeであるかを判定する。この場合Rootのない
ので110へ進む。)ここでは、第1図の21で
示されるビツトマツプを参照して空Nodeを得る。
この場合、第4図のBの216で示したNodeが
新しく確保されたNodeであり、Node番号がnで
ある。
第3図の111のおいては、エントリ追加対象
Nodeの後半のエントリを、新しく確保したNode
へ移す。その後追加するエントリのキーと前半の
エントリ入つているNodeの最大キーとを比転し
て、追加するエントリの方が大きい場合には新し
く確保したNodeにエントリを追加する。もし、
追加するエントリの方が小さい場合には、前半の
エントリが入つているNodeに追加する。この場
合、第4図のBの216で示したNodeに、エン
トリが追加される。この処理をSplit処理と呼ぶ。
第3図の113においては、親Node番号検索
プログラムを呼びSplitを起したNodeの親の
NodeのNode番号をNNLT7から求める。親
Node番号検索プログラムのフローチヤートを第
11図に示す。このフローチヤートをNNLTが
第4図のCに示したような場合を例にとつて説明
する。ここでエントリ追加対象NodeのNode番号
がjである。
第11図の801にて、カウンタ(主メモリ
上のエリアでもレジスタでもよい)にNNLTの
Node登録数、この場合2を設定する。802に
て、+1番目のケース(この場合第4図のCの
73)のアドレスを計算し、803にて、802
にてアドレスを計算したケースに記憶されている
Node番号(この場合j)と指定されたNode番号
(この場合j)とを比較する。この場合一致する
ので805ジヤンプし、NNLTの番目のケー
ス(この場合、第4図のCの72で示すケース)
から親NodeのNode番号(この場合i)を得るこ
とができる。もし第11図の803で一致しない
場合には804へ進み、カウンタを1だけ減算
し、802へジヤンプし、指定Node番号を記憶
しているケースの検索処理を続行する。このよう
にして指定Nodeの親のNodeのNode番号を得る
ことができる。
第3図の114においては、113で得た
Node番号にて親Nodeを読み、Splitを起した
Nodeをポイントしていた親Node内のエントリの
ポインタを、Splitのために追加したNodeの
Node番号に変更する。すなわち、第4図のAに
て212のNodeをポイントしていた親Node21
1のエントリのポインタの値jを第4図のBのよ
うにnに変更する。
第3図の115において、追加対象Nodeをポ
イントするエントリを親Nodeを追加するための
追加エントリ情報を作成する。この場合、キーの
値としては15、ポインタ値j、追加対象Node番
号はiである。この処理後、108へ戻り、再び
Nodeへのエントリを追加する処理を開始する。
この場合、追加対象Nodeが満杯なので、109
へ進む。この時の追加対象NodeはRoot Nodeで
あるので、117へジヤンプする。117にて、
第4図のBの217で示すSplitを処理を行うた
めのNode用と218で示す新しいRoot Node用
をNodeを2ケ確保する。118,119は前に
述べたSplit処理である。120においては今ま
てのRoot Nodeがそうでなくなるので、第4図
のBの211で示すNodeのRoot表示をクリアす
る。第5図の121においては、Splitした2つ
のNodeを指す2個のエントリを含む新しいRoot
Nodeを作る。122にて、フアイルラベル内の
Root Nodeへのポインタ(第1図の313で示
す。)を新しいRoot Nodeへ更新する。この結
果、B+−Treeの形は図4のBのようになる。
このようにSplit処理にて、親Nodeを変更する
ことが必要となるが、NNLTにRootからLeaf
Nodeまで辿つた時に、これらのNode番号を記憶
しておくことにより、再びRoot Nodeから辿り
なおさずに親Node番号を得ることができ、高速
にエントリの追加処理を行うことができる。
Split処理が不要な場合を第5図を用いて説明
する。第5図のAのB+−Treeにキーの値が15の
エントリを追加する場合を考える。第3図の10
1〜107にて、Rootからエントリを追加する
対象のLeaf Nodeまで辿り、これらのNode番号
をNNLTに登録し、追加エントリ情報をワーク
上に設定する。第3図の108にて、Node内の
エントリの数が3個で、満杯でないので、116
へ進み、エントリを追加して処理を終了する。こ
の結果B++Treeは、第5図のBのようになる。
この場合には親Nodeの更新は不要である。
第6〜8図を用いてエントリ削除処理を説明す
る。まず、第7図のAのB+−Treeからキーの値
が10のエントリを削除することを考える。Aはエ
ントリを削除する前のB+−Tree、Bは削除後の
B+Treeである。第7図にて、501はRoot
Node、502,503,504および505は
Leaf Nodeであり、Node番号はそれぞれ、i、
j、k、lおよびmである。
第6図にて、401〜403にて、エントリの
追加処理と同様にRoot Nodeから削除エントリ
を含むLeaf Nodeまで辿り、辿つたNodeの
Node番号をNNLTに登録する。この結果
NNLTは第7図のCのようになる。403にて、
第1図の67に削除エントリ情報すなわち削除す
るエントリのNode内相対エントリ番号および6
8に削除対象NodeのNode番号を設定する。
第6図の404にて、削除体操Node内のエン
トリ数と位数すなわち、Node内に入り得るエン
トリの数の最大値の1/2とを比べる。最大エント
リ数はエントリの追加の所で述べた方法により求
める。この場合のNode内のエントリ数が2で位
数と同じであるので、405へ進む。
第6図の405においてエントリ削除対象
NodeがRoot Nodeかどうか判定する。これはエ
ントリ追加の場合と同様の方法にて行う。この第
7図の例では、Root Nodeでないので、406
へ進む。
第9図の406においては、親Node番号検索
プログラムを呼び、NNLTのNode番号の記憶し
ているケースをサーチして、エントリ削除対象
NodeのNode番号が記憶されているケースを探
し、このケースの直前のケースに入つている
Node番号を得る。これが親NodeのNode番号で
ある。この場合、第7図のCのNNLTをjで検
索し、jの入つているケースの直前のケースの入
つているNode番号iが親Node番号である。
407にて親Nodeを読む。
第6図の408においては、親Node内の削除
対象Nodeをポイントするエントリの隣のエント
リから削除対象Nodeここでは第7図の503の
Nodeの隣のNodeのNode番号Rを得て、この
Nodeをシステムバツフアに読み込む。409に
おいて、今読込んだNode内のエントリ数、ここ
では3と位数、ここでは2とを比較する。エント
リ数が位数より大きいので、410へ進む。
第6図の410においては、第7図のAの50
1,502および503のNodeを第7図のBの
501,502および503のNodeのようにす
る。すなわち削除エントリ情報(第1図の67,
68に記憶されている。)により指定されたエン
トリを削除後、隣のNodeからエントリ両方のエ
ントリの数が均等になるように融通して、Node
内のエントリ数が位数より小さくならないように
する。この処理を均衡化処理と呼ぶ。これでエン
トリ削除処理を終了する。この結果、B+−Tree
は第7図のBのようになる。
第8図のB+−Treeからキーの値が70のエン
トリを削除することを考える。
第6図にて、401〜407までで、第7図の
例と同様の処理が行われる。ただし、NNLTは
第8図のCに示したようになり、601と603
のNodeがシステムバツフアに読込まれる。40
8では、親Node内の対象Nodeのエントリの隣の
エントリから隣のNodeのNode番号を得て、この
Nodeシステムバツフアに読み込む。
第6図の409にて、隣のNodeのエントリ数と、
位数とを比較する。この場合、エントリ数が2
で、位数が2であるので、411へジヤンプす
る。411においては、指定エントリを削除後、
左隣のNodeへ残りのエントリを移し、このNode
を空Nodeとして返却する。この処理を併合処理
と呼ぶ。
第6図の411の併合処理によりエントリを移
したNodeの最大キーが変わる、すなわち第8図
のNode602の最大キーが、50から仮想的最
大キー(B+−Treeに対する処理を簡易にするた
めにあらかじめ、B+−Treeに加えておくキー)
に変わつたのに伴い、親Node内のこのNodeをポ
イントしているエントリのキーをNode内の新し
い最大キーに更新し、削除されたNodeをポイン
トしているエントリを削除するように、削除エン
トリの情報を第1図の67,68に設定する。こ
の場合、67に削除エントリのNode内相対エン
トリ番号2、68に削除対象NodeのNode番号iを
設定する。
第6図にて親Nodeから削除したNodeをポイン
トしていたエントリを削除すべく404へ戻る。
404にて、Node内のエントリ数は2で位数に
等しいので、405へ進む。405にて対象
NodeはRoot Nodeであるので、413ヘジヤン
プする。413にて、対象NodeはLeaf Nodeで
ないので、414へ進む。414にて対象Node
内のエントリ数は2個であるので、415へ進
む。415にて併合により1個になつたNoNode
を新しいRoot Nodeとし、今までのRoot Node
を返却する。この結果B+−Treeは第8図のBの
ようになる。
一方、Nodeが1個のB+−Treeで、しかもエ
ントリ数が位数以下の場合には、第6図にて40
1〜405,413と処理が進み、413にて4
16へジヤンプして指定エントリを削除して終
る。
また、削除対象のエントリを含むLeaf Node
に位数より多いエントリが存在している場合は、
第6図にて、401〜404と処理進み、404
から416へジヤンプして指定エントリを削除し
て終る。
さらに、エントリの削除が下位のNodeから
Root Nodeまで波及し、Root Node内のエント
リ数が3個以上で、位数以下の場合は、第6図の
414の判定で416へジヤンプし、エントリを
削除して処理を終了する。これは、Root Node
のエントリ数は位数以下も認めるためである。
このようにエントリ削除処理においても、併合
および均衡化を行う場合、親Nodeを更新する必
要があり。この時に、NNLTを検索するだけで、
親NodeのNode番号を得ることができる。
〔発明の効果〕
B+−Treeに対してエントリを追加することに
よるSplit処理およびエントリを削除することに
よる均衡化あるいは併合処理にて、処理対象
Nodeの親のNodeを参照および更新する必要があ
る。本発明によれば、親NodeをRoot Nodeから
辿りなおさずに知ることが出来、高速に親Node
の参照あるいは更新することが可能となり、B+
−Treeへのエントリ追加および削除処理を高速
に小野うことができる。
【図面の簡単な説明】
第1図は本発明の全体構成を示し、第2図は
Nodeの内部構成を示し、第3図はB+−Treeへ
エントリを追加するプログラムのフローを示し、
第4図および第5図はB+−Treeへエントリを追
加する例を示し、第6図はB+−Treeからエント
リ削除するプログラムのフローを示し、第7図お
よび第8図はB+−Treeからエントリを削除する
例を示している。第9図はNNLT、第10図は
NNLTにNode番号登録するプログラムのフロー
チヤート、第11図は親Node番号をNNLTから
検索するプログラムのフローチヤートを示す。 1……磁気デイスク装置、2……B+−Treeに
より構成されるフアイル、21……フアイル内の
エリアを管理するビツトマツプ、22……B+
Tree本体、3……フアイルラベル群、4……主
メモリ、5……B+−Treeを管理するプログラム
群、51……B+−Treeへエントリを追加するプ
ログラム、52……B+−Treeからエントリを削
除するプログラム、53……B+−Treeを検索す
るプログラム、54……Node番号登録プログラ
ム、55……親Node番号検索プログラム、6…
…ユーザプログラムエリア、61……ユーザープ
ログラム、7……NNLT、8……システムワー
クエリア、9……Node、91……Nodeのコント
ロール部、92,93……エントリ、10……
B+−Treeのエントリ追加プログラム、211〜
215,310〜304,501〜505および
601〜603……B+−TreeのNode。

Claims (1)

  1. 【特許請求の範囲】 1 演算処理装置と主メモリと補助記憶装置と入
    出力装置からなる電子計算機システムにおいて、 前記補助記憶装置に、キーにて情報を検索する
    ための平衡木を記憶し、 前記主メモリに、前記平衡木に対して、ルート
    ノードからリーフノードまで辿つたノードを識別
    するための識別情報を記憶するテーブルを記憶
    し、 前記テーブルには、識別情報として、登録され
    たノード数及び前記平衡木に対して、ルートノー
    ドから対象キーを含むリーフノードまで辿つた時
    のノード番号が、ケース番号順に、順次記憶さ
    れ、 処理中のノードの親のノードの識別情報が必要
    になつた場合、 カウンタとして前記登録されたノード数をセ
    ツトする処理と、 +1番目のケースに記憶されたノード番号と
    指定されたノード番号が一致するか否か判定する
    判定処理と、 前記判定結果が一致する場合は、+1番目の
    ケースに記憶されたノード番号を親のノードのノ
    ード番号とし、 前記判定結果が不一致の場合は、カウンタを
    1だけ減算して、前記判定処理を行なうことを特
    徴とする情報検索方式。
JP58018824A 1983-02-09 1983-02-09 情報検索方式 Granted JPS59146339A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP58018824A JPS59146339A (ja) 1983-02-09 1983-02-09 情報検索方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP58018824A JPS59146339A (ja) 1983-02-09 1983-02-09 情報検索方式

Publications (2)

Publication Number Publication Date
JPS59146339A JPS59146339A (ja) 1984-08-22
JPH0524549B2 true JPH0524549B2 (ja) 1993-04-08

Family

ID=11982304

Family Applications (1)

Application Number Title Priority Date Filing Date
JP58018824A Granted JPS59146339A (ja) 1983-02-09 1983-02-09 情報検索方式

Country Status (1)

Country Link
JP (1) JPS59146339A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1040255A (ja) * 1996-07-29 1998-02-13 Nec Software Ltd ハッシュ表管理装置

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5261088A (en) * 1990-04-26 1993-11-09 International Business Machines Corporation Managing locality in space reuse in a shadow written B-tree via interior node free space list
KR20000037515A (ko) * 1998-08-19 2000-07-05 윤종용 히스토리 관리용 비플러스 트리 구성 방법
DE102006034407A1 (de) 2006-07-25 2008-01-31 Robert Bosch Gmbh Aktualisierungsverfahren für Datenbasen, insbesondere Navigationsdatenbasen

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS4871106A (ja) * 1971-12-25 1973-09-26
JPS57103181A (en) * 1980-12-19 1982-06-26 Fujitsu Ltd Main storage residing system for index
JPS57139848A (en) * 1981-02-23 1982-08-30 Hitachi Ltd Picture control system of display data input terminal equipment

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS4871106A (ja) * 1971-12-25 1973-09-26
JPS57103181A (en) * 1980-12-19 1982-06-26 Fujitsu Ltd Main storage residing system for index
JPS57139848A (en) * 1981-02-23 1982-08-30 Hitachi Ltd Picture control system of display data input terminal equipment

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1040255A (ja) * 1996-07-29 1998-02-13 Nec Software Ltd ハッシュ表管理装置

Also Published As

Publication number Publication date
JPS59146339A (ja) 1984-08-22

Similar Documents

Publication Publication Date Title
US4677550A (en) Method of compacting and searching a data index
US7647334B2 (en) Method for checking index consistency in database
JP2770715B2 (ja) 構造化文書検索装置
US20070118547A1 (en) Efficient index versioning in multi-version databases
JPH02501514A (ja) 属性データ モデル データベースを使用するソフトウエア応用プログラムを結合する方法
JPH0916607A (ja) データベース管理システムにおけるインデクス管理方法
JP3003915B2 (ja) 単語辞書検索装置
JP3205406B2 (ja) 参照対象変数決定処理方法および翻訳処理システム
US4780810A (en) Data processor with associative memory storing vector elements for vector conversion
JPH0524549B2 (ja)
JP3636773B2 (ja) データベースのチェックを行う情報処理装置
JP4056622B2 (ja) データベース管理装置
JP2604787B2 (ja) 二次元データ格納方式
JPH06214849A (ja) データベースシステム
JP2922956B2 (ja) ファイル領域割当て方法
JP2540821B2 (ja) デ―タベ―ス検索システム
JPS6136654B2 (ja)
JPH0283640A (ja) データベース更新方法
JP3031944B2 (ja) データ処理装置
JPH05265821A (ja) データベースのインデックス管理方式
JP3298935B2 (ja) ファイル管理装置
JPH08328929A (ja) データベース分割管理システム
JPS623328A (ja) 階層構造デ−タの管理方式
CN117851401A (zh) 一种多版本键值对存取方法及***
JPS63150724A (ja) デ−タアクセス処理方式