JP3251138B2 - ハッシュ方式 - Google Patents

ハッシュ方式

Info

Publication number
JP3251138B2
JP3251138B2 JP26687494A JP26687494A JP3251138B2 JP 3251138 B2 JP3251138 B2 JP 3251138B2 JP 26687494 A JP26687494 A JP 26687494A JP 26687494 A JP26687494 A JP 26687494A JP 3251138 B2 JP3251138 B2 JP 3251138B2
Authority
JP
Japan
Prior art keywords
record
hash
output
value
records
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 - Fee Related
Application number
JP26687494A
Other languages
English (en)
Other versions
JPH08129551A (ja
Inventor
理一郎 武
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP26687494A priority Critical patent/JP3251138B2/ja
Priority to US08/519,933 priority patent/US6442553B1/en
Priority to GB9521404A priority patent/GB2294564B/en
Publication of JPH08129551A publication Critical patent/JPH08129551A/ja
Application granted granted Critical
Publication of JP3251138B2 publication Critical patent/JP3251138B2/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/9014Indexing; Data structures therefor; Storage structures hash tables

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

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はデータのハッシュ方式に
係り、更に詳しくは二次記憶装置に格納されているハッ
シュ対象リストの中のレコード群を、それぞれのレコー
ドのキー値に対応するハッシュ関数値を用いて参照可能
な格納形式に変換するためのハッシュ方式に関する。
【0002】
【従来の技術】例えばディスク装置などの二次記憶装置
上に格納されているレコード群を、それぞれのレコード
のキー値のハッシュ関数値を用いて参照可能な格納形式
に変換するためのハッシュ処理は、データ処理装置にお
いて広範に用いられている。
【0003】図27は従来のハッシュ方式の説明図であ
り、図28は図27におけるハッシュ処理のフローチャ
ートである。図27において、例えばディスク装置内に
格納されているハッシュ対象リスト1としてのレコード
群は、まず処理装置2内の入力バッファ3に読み込ま
れ、読み込まれたそれぞれのレコードに対するハッシュ
関数値がレコードのキー値に対応して計算され、そのハ
ッシュ関数値に応じて複数のレコードバッファ群4の中
のいずれかのバッファに格納される。あるハッシュ関数
値に対応するレコードバッファ4が一杯になると、その
バッファの内容は例えばディスク装置内のハッシュ済リ
スト群5の中で、そのレコードバッファ4に対応するハ
ッシュ済リスト5の格納領域に出力される。
【0004】図28においてハッシュ処理が開始される
と、まずステップ(S)1においてハッシュ対象リスト
1からレコード群が入力バッファ3に読み込まれる。続
いてステップS2で入力バッファ3から1つのレコード
が取り出され、ステップS3でそのレコードのキー値の
ハッシュ関数値が計算され、ステップS4でそのハッシ
ュ関数値で指定されるレコードバッファ4、すなわちレ
コードバッファ群の中のレコードバッファの1つにその
レコードが移動させられ、ステップS5でそのレコード
バッファが一杯になったか否かが判定される。
【0005】入力バッファ3からレコードが移動させら
れたレコードバッファ4が一杯になっていない場合に
は、ステップS7で入力バッファ3にまだレコードがあ
るか否かが判定され、ある場合にはステップS2からの
処理が繰り返される。
【0006】これに対してステップS4でレコードが格
納されたレコードバッファが一杯になったとステップS
5で判定された時には、ステップS6でそのレコードバ
ッファの内容がハッシュ済リスト群5の中の対応するハ
ッシュ済リストに出力され、ステップS7の処理に移行
する。
【0007】ステップS7で入力バッファにレコードが
存在しないと判定された時には、ステップS8でハッシ
ュ対象リスト1の中に入力バッファへの未入力のレコー
ドがあるか否かが判定され、ある場合にはステップS9
でハッシュ対象リスト1からレコード群が入力バッファ
3に読み込まれた後に、ステップS2以降の処理が繰り
返される。
【0008】これに対してステップS8でハッシュ対象
リスト1の中に未入力のレコードが存在しないと判定さ
れた時には、ステップS10でレコードがまだハッシュ
済リスト群に出力されずに残っている全てのレコードバ
ッファ4の内容が、それぞれ対応するハッシュ済リスト
5に出力されて処理を終了する。
【0009】
【発明が解決しようとする課題】図27で説明した従来
のハッシュ方式においては、ハッシュ関数値に対応する
レコードバッファ4にそれぞれ対応する、多数のハッシ
ュ済リスト5に対するレコードの書き込み処理が散発的
に行われる。1つ1つのハッシュ済リスト5に対する書
き込みは、逐次的に行われる。すなわち、あるハッシュ
済リストに注目する場合に、そのリストに対する書き込
みは前回書き込みが行われた領域の次の領域に対して行
われるが、ハッシュ済リスト群全体として見ると、ハッ
シュ済リスト群5として取られたメモリの領域に対する
データ書き込み処理は連続した領域に行われることがな
く、多数の箇所に空き領域を持つような形式での書き込
み処理、すなわち非逐次的書き込み処理が行われる。こ
のようなアクセスパターンでのデータの書き込みは、二
次記憶装置の性能を低下させると言う問題点があった。
【0010】本発明は、二次記憶装置に格納されている
データのハッシュ処理を、比較的大きなブロック単位で
の逐次読み出しと逐次書き込みを用いて行うことによ
り、ハッシュ処理を高速化し、二次記憶装置の入出力性
能を向上させることを目的とする。
【0011】
【課題を解決するための手段】図1は本発明の原理構成
ブロック図である。同図は記憶装置、例えばディスクに
格納されているハッシュ対象レコード群を、各レコード
のキー値に対応するハッシュ関数値を用いて参照可能な
格納形式に変換するためのハッシュ方式の原理構成ブロ
ック図である。
【0012】図1において、レコード格納手段11は例
えばレコードバッファであるが、従来方式に対する図2
7と異なって、本発明においてはレコードバッファは1
つだけ設けられ、ハッシュ対象レコード群を一時的に格
納するものであり、例えば10個のレコードを格納可能
なものである。
【0013】ハッシュ値対応ポインタ格納手段14はレ
コード格納手段11に格納されたレコード12の格納位
置を指すポインタ13を格納するものであり、そのポイ
ンタ13の格納位置はレコード12のキー値から計算さ
れハッシュ関数値に対応する位置である。
【0014】本発明では、ハッシュ値対応ポインタ格納
手段14に格納されているポインタによって指されるレ
コードをポインタ13の格納位置に対応するハッシュ関
数値に対応させて、例えばハッシュ済リスト用出力バッ
ファを介して記憶装置に出力することにより、ハッシュ
処理が行われる。
【0015】
【作用】本発明では図27と同様に入力バッファ3を介
して読み込まれるハッシュ対象リスト1内のレコード群
が、レコード格納手段11、例えばレコードバッファに
格納されるが、レコードバッファが一杯になった時点で
ハッシュ値対応ポインタ格納手段14、例えばハッシュ
表を用いて、ある指定されたハッシュ関数値を持つレコ
ードが例えばハッシュ済リスト用出力バッファに出力さ
れる。続いてハッシュ表におけるハッシュ関数値を増加
させながら、そのハッシュ関数値に対応するポインタに
よって指されるレコードをレコードバッファからハッシ
ュ済リスト用出力バッファに移動させる作業が、ハッシ
ュ済リスト用出力バッファ内でレコードが一杯になるま
で続けられる。ハッシュ済リスト用出力バッファの容量
は、例えばレコードバッファの容量より小さく4レコー
ド分であるとすると、ハッシュ済リスト用出力バッファ
にはある特定の範囲をハッシュ関数値として持つ4つの
レコードが格納され、これらの4つのレコードは1つの
ブロックとして取り扱われる。この処理の途中で、レコ
ードバッファからハッシュ済リスト用出力バッファにレ
コードが移動させられた時点で、レコードバッファの空
き領域には入力バッファを介して新しいレコードが書き
込まれる。
【0016】ハッシュ済リスト用出力バッファが一杯に
なった時点で、その内容は、例えばディスク装置などの
二次記憶装置に出力されるが、その出力に際して1つの
ブロックとして扱われる、例えば4つのレコードのディ
スク装置上での格納領域の最初のアドレスと、4つのレ
コードに対するハッシュ関数値の上限と下限との組み合
わせが、補助情報としてディスク装置に出力される。以
下同様にしてハッシュ処理が行われ、ハッシュ対象リス
ト内の全てのレコードがハッシュ済リストに格納された
時点でハッシュ処理が終了する。
【0017】ハッシュ済リストの中で任意のハッシュ関
数値を持つレコードを検索する場合には、補助情報を用
いてその関数値をハッシュ関数の変化範囲に持つブロッ
クが検索され、検索されたブロックの中で更に指定され
たハッシュ関数値を持つレコードが検索される。
【0018】以上のように本発明によれば、ハッシュ済
リストは例えばディスク装置内で連続した領域に次々と
格納されることになる。
【0019】
【実施例】図2は本発明のハッシュ方式を実行する計算
機システムの全体構成ブロック図である。同図におい
て、ハッシュ処理の対象となるレコードが格納されてい
る二次記憶装置16は、共通バス17にプロセッサ1
8、およびメモリ19と共に接続されている。二次記憶
装置16の内部には、これからハッシュ処理を行うべき
レコード群としてのハッシュ対象リスト21が格納され
ており、ハッシュ処理が行われた結果としてのハッシュ
済リスト31、およびハッシュ済リスト31に対応する
補助情報リスト32が格納される。ハッシュ済リスト3
1、および補助情報リスト32の内容については後述す
る。
【0020】図3は本発明のハッシュ方式の説明図であ
る。同図を図27の従来例と比較すると、二次記憶装置
内に格納されているハッシュ対象リスト21からのレコ
ードが入力される入力バッファ23までの構成は同じで
あるが、その他の部分が異なっている。まず処理装置2
2の内部にはレコードバッファ24が1つだけ設けられ
る。
【0021】バッファ表25は、入力バッファ23から
レコードバッファ24に格納されるレコードのレコード
バッファ内での格納位置へのポインタを、そのレコード
のキー値から計算されるハッシュ関数値に対応して格納
するものである。リンク管理表26は、レコードバッフ
ァ24の内部に同一のハッシュ関数値を持つ複数のレコ
ードが格納された時、その複数のレコードの間のリンク
を管理するためのものであるが、その詳細については後
述する。
【0022】レコードバッファ24の内容が一杯になっ
た時点で、レコードバッファ24からハッシュ済リスト
用出力バッファ28へのレコードの格納が行われる。こ
の場合格納されるレコードは、特定のハッシュ関数値を
指定することによりハッシュ表25内のポインタからポ
イントされるレコードである。その出力関数値は出力ハ
ッシュ値メモリ27の内容によって指定されるものとす
る。
【0023】指定されたハッシュ関数値を持つレコード
がハッシュ済リスト用出力バッファ28に格納される
と、出力ハッシュ値メモリ27の内容がインクリメント
され、その結果のハッシュ関数値を持つレコードがレコ
ードバッファ24からハッシュ済リスト用出力バッファ
28に格納される。ハッシュ済リスト用出力バッファ2
8が一杯になると、その内容としてのレコード群のハッ
シュ済リスト31への出力がブロック的に行われる。こ
のブロックの出力に際して、そのブロックが二次記憶装
置内で格納される領域の最初のアドレス(ブロック番号
に対応)、そのブロック内のレコードに対応するハッシ
ュ関数値の最小値、および最大値が補助情報として補助
情報リスト用出力バッファ29に格納され、このバッフ
ァ29の内容も補助情報リスト32として出力される。
【0024】一方、レコードバッファ24から1つのレ
コードがハッシュ済リスト用出力バッファ28に格納さ
れるたびに、入力バッファ23内のレコードがレコード
バッファ24に格納され、以下同様の動作が続行され
る。
【0025】図4〜図6はリンク管理表の説明図であ
る。図4において、リンク管理表はレコードバッファ2
4と同一のエントリ数を持つ配列である。例えばレコー
ドバッファ24が10個のレコードを格納できるバッフ
ァであるとすれば、リンク管理表26は10個のエント
リを持ち、それぞれのエントリはレコードバッファ24
内の1つのレコードへのポインタを格納するものであ
る。そこでリンク管理表26とレコードバッファ24の
それぞれのエントリの間に1対1の対応関係をつけるこ
とが可能となる。すなわちリンク管理表26のi番目の
エントリとレコードバッファ24のi番目のエントリが
対応づけられる。
【0026】図4(a) はレコードバッファ内の2つのレ
コードの間でのリンクの説明図であり、i番目のレコー
ドからj番目のレコードに対するリンクを示している。
このリンクをリンク管理表を用いて実現する例が図4
(b) である。リンク管理表のi番目のエントリに、レコ
ードバッファ24のj番目のエントリへのポインタを格
納することにより、このリンクが実現される。
【0027】図5は複数のレコードの間でのリンクの実
現例の説明図である。同図(a) に示すように、レコード
バッファ上でエントリ1から4、4から8の間での一連
のリンクと、エントリ3から6、6から9、9から0の
一連のリンクを張りたい場合を考える。
【0028】このリンクは図5(b) に示すようにリンク
管理表を用いて実現される。リンク管理表26上ではエ
ントリ1にレコード4に対するポインタが、エントリ4
にレコード8に対するポインタが格納され、エントリ8
にはポインタが格納されていないことを示す−1が格納
されている。またエントリ3にはレコード6へのポイン
タ、エントリ6にはレコード9へのポインタ、エントリ
9にはレコード0へのポインタが格納され、エントリ0
にはポインタが格納されていないことを示す−1が格納
されている。
【0029】図6はハッシュ表25を用いたレコード間
のリンクの説明図である。前述のように、ハッシュ表2
5に格納されるデータはレコードバッファ24内のレコ
ードへのポインタである。ある特定のハッシュ値を持つ
レコードがレコードバッファ24に2個以上存在する場
合には、それらのレコードは前述のようにしてリンク管
理表26によってリストとして構成され、ハッシュ表2
5にはそのリストの先頭となっているレコードへのポイ
ンタが格納される。図6(a) において、レコード間のリ
ンクに対するリストは図5(a) と同じであり、ハッシュ
表のエントリ(ハッシュ関数値に対応)の0からはレコ
ード7、エントリ1からはレコード5、2からはレコー
ド1、3からはレコード2、4からはレコード3がポイ
ントされている。
【0030】図6(b) はハッシュ表25とリンク管理表
26を用いたリストの実現例である。同図において、リ
ンク管理表26の内容は図5(b) と同じであり、ハッシ
ュ表25にそれぞれのリストの先頭となっているレコー
ドへのポインタを格納することによって、同一のハッシ
ュ関数値を持つレコードのリストが実現される。
【0031】図7〜図10は本発明におけるハッシュ処
理の実施例のフローチャートである。ここでは図3のレ
コードバッファ24が一杯になった時点で、1つのレコ
ードをハッシュ済リスト用出力バッファ28に移動させ
ると共に、レコードバッファ24の空き領域には入力バ
ッファ23から直ちにレコードを補充し、またハッシュ
済リスト用出力バッファ28が一杯になった時点で、そ
の内容は1つのブロックのデータとしてハッシュ済リス
ト31に出力されると同時に、そのブロックに対する補
助情報が生成され、その補助情報は補助情報リスト用出
力バッファ29に格納されるものとして、ハッシュ処理
を説明する。
【0032】図7において処理が開始されると、まずス
テップS11でハッシュ対象リスト21から入力バッフ
ァ23にレコード群が読み込まれ、ステップS12で入
力バッファ23の中の先頭のレコードがレコードバッフ
ァ24の空き領域に移動され、ステップS13でそのレ
コードのキー値に対するハッシュ関数値が計算され、ス
テップS14でそのハッシュ関数値に対応するハッシュ
表25のエントリにそのレコードがつながれる。すでに
そのエントリにつながれているレコードが存在する場合
には、既に存在したレコードに対するポインタはハッシ
ュ表25から削除され、リンク管理表26を用いてすで
に存在したレコードが新しいレコードにリンクされる。
【0033】続いてステップS15でレコードバッファ
24に空きがあるか否かが判定され、空きがある場合に
はステップS16で入力バッファ23にレコードがある
か否かが判定され、ある場合にはステップS12以降の
処理が繰り返される。
【0034】ステップS15でレコードバッファに空き
がないと判定された時には、レコードバッファ24内の
レコードをハッシュ済リスト用出力バッファ28に移動
させる出力処理がステップS20で行われ、出力処理終
了後にステップS16の処理に移行する。出力処理の詳
細については図8で説明する。またステップS16で入
力バッファ23にレコードがないと判定された時には、
ステップS17でハッシュ対象リスト21に未入力のレ
コードがあるか否かが判定され、ある場合にはステップ
S18でハッシュ対象リスト21からレコード群が入力
バッファ23に読み込まれた後に、ステップS12以降
の処理が繰り返される。
【0035】ステップS17でハッシュ対象リスト21
に未入力のレコードが存在しないと判定されると、ステ
ップS19でレコードバッファ24にレコードが残って
いるか否かが判定され、残っている時にはステップS2
0の出力処理が行われた後にS19以降の処理が繰り返
される。ステップS19でレコードバッファ24にレコ
ードが存在しないと判定されると、ステップS30の終
了処理が行われた後に処理を終了する。終了処理の詳細
については図9で説明する。
【0036】図8は図7におけるステップS20の出力
処理の詳細フローチャートである。同図において処理が
開始されると、まずステップS21で出力ハッシュ値メ
モリ27によって指定されるハッシュ表のエントリにつ
ながれているレコードがあるか否かが判定され、ない場
合にはS22で出力ハッシュ値メモリの値がインクリメ
ントされ、ステップS23で出力ハッシュ値がハッシュ
値の最大値、例えばレコードのキー値を20で割った剰
余をハッシュ関数値としてとるものとすれば、その最大
値19を越えるか否かが判定され、越えない場合にはス
テップS21以降の処理が繰り返される。
【0037】最大ハッシュ値を越える場合には、ここで
出力ハッシュ値の値を0に戻してしまうと、ハッシュ済
リスト用出力バッファ28に格納され、1つのブロック
として取り扱われるべきレコードに対するハッシュ関数
値の順序が後述するようにずれてしまうことになるた
め、ハッシュ済リスト用出力バッファ28の内容を直ち
にハッシュ済リスト31に出力するためにステップS3
5の出力バッファ出力処理が行われた後に、ステップS
24の処理に移行する。出力バッファ出力処理の詳細は
図10で説明する。
【0038】出力バッファ出力処理の終了後にステップ
S24で出力ハッシュ値の値が0に戻され、ステップS
21以降の処理が繰り返される。ステップS21で出力
ハッシュ値によって指定されるハッシュ表のエントリに
つながれているレコードがあると判定された場合には、
ステップS26で出力ハッシュ値によって指定されるハ
ッシュ表のエントリにつながれているレコードがハッシ
ュ済リスト用出力バッファ28に移動させられる。複数
のレコードがそのエントリにリンク管理表26を介して
つながれている場合には、移動させられたレコードの次
にリンクされているレコードがそのハッシュ表のエント
リにつながれる。そしてステップS27でハッシュ済リ
スト用出力バッファ28が一杯か否かが判定され、一杯
である場合にはステップS35の出力バッファ出力処理
が行われた後に、また一杯でない時には直ちに図7のス
テップS16、またはS19の処理に戻る。
【0039】図9は図7のステップS30、すなわち終
了処理の詳細フローチャートである。同図において処理
が開始されると、まずステップS31でハッシュ済リス
ト用出力バッファ28にレコードがあるか否かが判定さ
れ、レコードがある場合にはそこに残っているレコード
をハッシュ済リスト31に出力するための出力バッファ
出力処理、すなわちステップS35の処理が行われた後
に、残っていない場合には直ちにステップS32の処理
に移行する。ステップS32では補助情報リスト用出力
バッファ29にレコードが残っているか否かが判定さ
れ、残っている場合にはその内容が補助情報リスト32
に出力された後に、またレコードが残っていない場合に
は直ちに図7に戻り、全ての処理を終了する。
【0040】図10はステップS35の出力バッファ出
力処理の詳細フローチャートである。同図において処理
が開始されると、まずステップS36でハッシュ済リス
ト用出力バッファ28の先頭、および末尾のレコードの
ハッシュキー値と、ハッシュ済リスト用出力バッファ2
8の内容が出力されるべきハッシュ済リスト31内のブ
ロックの先頭アドレスとが1組の補助情報レコードとさ
れて、そのレコードが補助情報リスト用出力バッファ2
9に格納され、ステップS37で補助情報リスト用出力
バッファ29が一杯か否かが判定され、一杯である場合
にはステップS38でその内容が補助情報リスト32に
出力された後に、また一杯でない時には直ちにステップ
S39でハッシュ済リスト用出力バッファ28の内容が
ハッシュ済リスト31に出力された後に、図8のステッ
プS24、図7のステップS16,S19、または図9
のステップS32に戻る。
【0041】本発明におけるハッシュ処理の具体例を、
図11の入力レコード列を対象として説明する。入力レ
コード列は図11に示す40個のレコードから構成さ
れ、ここではそれぞれのレコードに対応するキー値が示
されている。
【0042】またハッシュ関数としてはキー値を20で
割った剰余をハッシュ関数値として取ることにし、レコ
ードバッファ24の容量をレコード10個分とし、また
ハッシュ済リスト用出力バッファ28の容量はレコード
4個分とする。ハッシュ表25のエントリ数は20であ
る。
【0043】図12は図11のレコード列のうち最初の
10個がレコードバッファ24に格納された状態を示
す。例えばキー値として74を持つレコードは、ハッシ
ュ関数値として14を持つことになり、ハッシュ表の1
4のエントリからのポインタによって指されている。な
おここでは図6と異なり、ハッシュ表のエントリは右側
から番号づけられているが、どちらから番号づけるかに
特別の意味はない。
【0044】図12においてレコードバッファ24は一
杯となっているため、1つのレコード、ここではキー値
として40を持つレコードがハッシュ済リスト用出力バ
ッファ28に移された状態が図13である。この時に
は、図3の出力ハッシュ値メモリ27の内容としてのク
リティカルキーの値は0となっており、ハッシュ関数値
として0を持つレコード40がハッシュ済リスト用出力
バッファ28に格納される。このレコードが出力された
結果としてのレコードバッファ24の空き領域には、入
力レコード列の次のレコードとしてのキー値105を持
つレコードが格納されている。
【0045】図13の状態から更に3つのレコードがハ
ッシュ済リスト用出力バッファ28に出力され、レコー
ドバッファ24にはそれに代わって新しく3つのレコー
ドが格納された状態が図14である。この状態は、図3
の出力ハッシュ値メモリ27の内容を3まで増加させた
時点における、ハッシュ済リスト用出力バッファ28の
内容を示している。ここでハッシュ済リスト用出力バッ
ファ28は一杯となったので、その内容としての4つの
レコードは1つのブロックとして扱われ、このブロック
に対する補助情報として〔0,0,3〕が生成される。
この補助情報の最初の0は、このブロックのレコードが
格納される二次記憶装置内でのブロックアドレスに対応
するブロック番号を示し、次の0がこのブロック内のレ
コードに対応するハッシュ関数値の最小値、最後の3は
ハッシュ関数値の最大値を示す。すなわちこの補助情報
は0番目のブロックにハッシュ関数値として0から3の
レコードが含まれていることを示している。
【0046】図15は更に処理が進んでクリティカルキ
ーの値が5に達した時点での状態を示す。番号0のブロ
ックはすでに二次記憶装置16に格納されている。図1
5においてキー値として124を持つレコードは、クリ
ティカルキーよりも小さいハッシュ関数値に対応するエ
ントリからポイントされている。これは、クリティカル
キーの値が4を過ぎた時点で、このレコードが入力バッ
ファ23からレコードバッファ24に格納されたためで
ある。図15の状態の次の時点でこのレコードを出力す
ると、1つのブロック内のレコードの並びに対応するハ
ッシュ関数値の順序が崩れてしまうことになり、本発明
においては次の時点における出力対象レコードは常にク
リティカルキーの値よりも大きいハッシュ関数値を持つ
レコードから探されることになる。ここでは次の出力対
象レコードはキー値として167を持つレコードであ
る。
【0047】図16は更に処理が進んでクリティカルキ
ーがハッシュ表の左端のエントリまできた状態を示す。
このような場合にはクリティカルキーを更に増加させる
ことはできないので、クリティカルキーの値を右端の0
に戻して、レコードバッファ24からのレコードのハッ
シュ済リスト用出力バッファ28への格納処理が続行さ
れる。
【0048】図17はハッシュ処理が完了した状態を示
す。ここでクリティカルキーを0から19まで増加させ
る処理は3回行われており、各回の処理をランと呼ぶこ
とにすると、ブロック0〜4,5〜9、および10は3
回のランでそれぞれ出力されたレコードを示すことにな
る。
【0049】次に以上のハッシュ処理によって作成され
たハッシュ済リストの中から、任意のハッシュ関数値を
持つレコードを検索するレコード検索処理について説明
する。この検索処理は前述の補助情報に基づいて行われ
る。図18は図12〜図17で説明した処理によって作
成された補助情報を示す。この補助情報を用いて、特定
のハッシュ関数値を持つレコードを検索することができ
る。例えばハッシュ関数値として3を持つレコードを検
索する場合には、補助情報中のハッシュ関数値の最小値
が3以下で、かつ最大値が3以上である補助情報を持つ
ブロックを探し、そのブロックのレコードを読み込むこ
とにより、そのブロックの中に検索すべきレコードが存
在することがわかる。図18の例ではハッシュ関数値と
して3を持つレコードはブロック0,5、および10の
内部に含まれる。
【0050】図19はこの検索処理のフローチャートで
ある。同図は図18について説明した全ての補助情報の
検索を行うものであり、処理が開始されるとまずステッ
プS41で補助情報リストから1つのレコードが取り出
され、ステップS42で検索対象のハッシュ関数値(ハ
ッシュキー)がそのレコード内のハッシュ関数値の最小
値(ハッシュキースタート)以上であり、かつ最大値
(ハッシュキーエンド)以下であるか否かが判定され、
この条件を満足すると判定された時にはステップS43
でそのレコードに対応するブロックのデータが読み込ま
れ、その内容が検索される。すなわち検索対象ハッシュ
キーを持つレコードが検索される。S42における判定
結果が条件を満足しない時には、ステップS44で補助
情報リストに未処理のレコードがあるか否かが判定さ
れ、ある場合にはステップS41からの処理が繰り返さ
れ、ない場合には処理を終了する。
【0051】図19で説明した検索処理は、単純ではあ
るが、補助情報リストのレコードの全ての検索を行うこ
とにより、補助情報リストのサイズが大きい場合には検
索に時間を要する。そこで別の方式として、補助情報リ
ストのレコードをそれぞれのハッシュキースタート、ハ
ッシュキーエンドの間のハッシュ関数値の範囲に応じて
分類しておき、分類された補助情報リストを用いて検索
処理を行うことができる。
【0052】図20はハッシュ関数値の範囲(レンジ)
に応じて分類された補助情報リストを示す。このように
分類された補助情報リストを用いることによって、検索
の対象となる補助情報レコードの数を減らすことができ
る。図20において、例えばハッシュ関数値として3を
持つレコードが含まれるブロックを探すには、レンジと
して0から3を持つ3つのブロック〔0,0,3〕、
〔5,3,4〕、および〔10,1,3〕を調べればよ
いことになる。
【0053】図21は図20のように分類された補助情
報リストを用いた検索処理のフローチャートである。同
図において処理が開始されると、まずステップS45で
レンジ分類表の中で検索対象のハッシュ関数値に対応す
るエントリから補助情報リストへのポインタが得られ、
ステップS46でそのポインタが指すリストから補助情
報レコードの1つが得られ、ステップS47で検索対象
のハッシュ関数値(ハッシュキー)がそのレコードの補
助情報におけるハッシュキースタート以上であり、かつ
ハッシュキーエンド以下であるか否かが判定され、判定
結果がYESであればステップS48でそのレコードに
対応するブロックが読み込まれ、そのブロック内で検索
対象ハッシュ関数に対応するレコードが検索される。
【0054】ステップS48で検索対象ハッシュ関数値
に対応するレコードが検索されても、更に別のブロック
に検索対象ハッシュ関数値に対応するレコードが存在す
る可能性があるので、ステップS49でステップS45
で得られたポインタによって指されるリスト内に未処理
の補助情報レコードがあるか否かが判定され、ある場合
にはステップS46の処理に移行する。またステップS
47で判定結果がNOである場合には、ステップS48
の処理を行うことなく、ステップS49の処理に移行す
る。そしてステップS49で未処理のレコードが存在し
ないと判定された時点で、処理を終了する。
【0055】前述の図12〜図17では、レコードバッ
ファからハッシュ済リスト用出力バッファ28にレコー
ドを移すたびにレコードバッファ24の空き領域に入力
バッファ23内のレコードを補充していく形式で実施例
を説明したが、レコードバッファ24にレコードが一杯
になった時点で全てのレコードをハッシュ済リスト用出
力バッファ28を介してハッシュ済リスト31に出力し
た後に、再びレコードバッファ24を一杯にしてまたそ
の全てを出力すると言う動作を繰り返すことも可能であ
り、それを他の実施例として説明する。入力レコード列
は図11のものと同じであり、ハッシュ関数も同じもの
を用い、またレコードバッファ24、ハッシュ済リスト
用出力バッファ28の容量も前述のものと同じとする。
【0056】図22は入力バッファ23を介して最初の
10個のレコードがレコードバッファ24に格納された
時点のレコードバッファの内容の説明図である。同図は
図12と全く同じものとなっている。
【0057】レコードバッファ24が一杯であるため
に、これらのレコード全てはハッシュ済リスト用出力バ
ッファ28を介してハッシュ済リスト31に出力され
る。その結果が図23である。ここでは合計10個のレ
コードがハッシュ済リスト31に出力されるために、ブ
ロック番号2のブロック内のレコードは図16と異なっ
て2つのみであり、このブロックに対する補助情報は
〔2,14,19〕となっている。
【0058】図14は次の10個のレコードがレコード
バッファ24に読み込まれた状態を示す。これらのレコ
ードを全てハッシュ済リスト31に出力した状態が図2
5である。図17と比較すると、当然ブロック番号3〜
5のブロック内のレコードも異なっていることがわか
る。
【0059】図26は40個の入力レコードのうち残り
の20個のレコードについて処理を行った最終結果であ
る。図17と比較すると、ブロックの数は11までとな
り、比較的番号の小さいブロックにも空き領域が存在す
ることがわかる。
【0060】
【発明の効果】以上詳細に説明したように、本発明によ
ればデータのハッシュ処理の結果を1つのハッシュ済リ
ストに書き込むことが可能となり、二次記憶装置の入出
力性能を低下させることなく、ハッシュ処理を高速で実
行することが可能となる。
【図面の簡単な説明】
【図1】本発明の原理構成ブロック図である。
【図2】本発明のハッシュ方式を実行する計算機システ
ムの全体構成を示すブロック図である。
【図3】本発明のハッシュ方式の説明図である。
【図4】リンク管理表の説明図である。
【図5】複数のレコードの間でのリンクの実現例の説明
図である。
【図6】ハッシュ表を用いたレコード間のリンクの説明
図である。
【図7】ハッシュ処理の全体処理フローチャートであ
る。
【図8】図7における出力処理の詳細フローチャートで
ある。
【図9】図7における終了処理の詳細フローチャートで
ある。
【図10】図8および図9における出力バッファ出力処
理の詳細フローチャートである。
【図11】入力レコード列の例を示す図である。
【図12】レコード列の最初の10個がレコードバッフ
ァに格納された状態を示す図である。
【図13】1つのレコードがハッシュ済リスト用出力バ
ッファに移された状態を示す図である。
【図14】更に3つのレコードがハッシュ済リスト用出
力バッファに移された状態を示す図である。
【図15】クリティカルキーの値が5に達した時点での
状態を示す図である。
【図16】クリティカルキーがハッシュ表の左端のエン
トリまできた状態を示す図である。
【図17】ハッシュ処理が完了した状態を示す図であ
る。
【図18】図12〜図17の処理によって作成された補
助情報を示す図である。
【図19】ハッシュ関数値による検索処理のフローチャ
ートである。
【図20】ハッシュ関数値の範囲に応じて分類された補
助情報リストを示す図である。
【図21】分類された補助情報リストを用いた検索処理
のフローチャートである。
【図22】他の実施例においてレコード列の最初の10
個のレコードがレコードバッファに格納された状態を示
す図である。
【図23】図22のレコードバッファの内容が全てハッ
シュ済リストに出力された状態を示す図である。
【図24】次の10個のレコードがレコードバッファに
読み込まれた状態を示す図である。
【図25】図24の10個のレコードが全てハッシュ済
リストに出力された状態を示す図である。
【図26】他の実施例におけるハッシュ処理の最終結果
を示す図である。
【図27】従来のハッシュ方式の説明図である。
【図28】従来のハッシュ処理のフローチャートであ
る。
【符号の説明】
11 レコード格納手段 12 レコード 13 ポインタ 14 ハッシュ値対応ポインタ格納手段 16 二次記憶手段 17 共通バス 18 プロセッサ 19 メモリ 21 ハッシュ対象リスト 22 処理装置 23 入力バッファ 24 レコードバッファ 25 ハッシュ表 26 リンク管理表 27 出力ハッシュ値メモリ 28 ハッシュ済リスト用出力バッファ 29 補助情報リスト用出力バッファ 31 ハッシュ済リスト 32 補助情報リスト
フロントページの続き (56)参考文献 特開 平4−243442(JP,A) 特開 平6−103127(JP,A) 特開 平3−282966(JP,A) 特開 昭61−13340(JP,A) 特開 昭61−180332(JP,A) 特開 昭63−3351(JP,A) 特開 平5−241919(JP,A) 特開 平6−95933(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 17/30 G06F 12/00 JICSTファイル(JOIS)

Claims (14)

    (57)【特許請求の範囲】
  1. 【請求項1】 記憶装置に格納されているハッシュ対象
    レコード群を、各レコードのキー値に対応するハッシュ
    関数値を用いて参照可能な格納形式に変換するためのハ
    ッシュ方式において、第1の レコード群を一時的に格納するレコード格納手段
    と、 該レコード格納手段に格納された、各々のレコードの格
    納位置を示すポインタを、該レコードのキー値から計算
    されたハッシュ関数値に対応する位置に格納するハッシ
    ュ値対応ポインタ格納手段とを備え、 該ハッシュ値対応ポインタ格納手段に格納されているポ
    インタによって指される複数のレコードを、該ポインタ
    の格納位置に対応するハッシュ関数値に対応させて第2
    のレコード群とし、該第2のレコード群を1つのブロッ
    クとして前記記憶装置に出力することを特徴とするハッ
    シュ方式。
  2. 【請求項2】 前記キー値から計算されたハッシュ関数
    値として同一の値を持つ複数のレコードが前記レコード
    格納手段内に存在する時、該複数のレコードをリンク付
    けて管理するリンク管理手段を更に備えると共に、 前記ハッシュ値対応ポインタ格納手段が該複数のレコー
    ドのうちいずれか1つのレコードの格納位置を指すポイ
    ンタを格納する手段であることを特徴とする請求項1記
    載のハッシュ方式。
  3. 【請求項3】 前記レコード格納手段から前記ハッシュ
    関数値に対応させて出力された複数のレコードを1つの
    ブロックとして前記記憶装置に出力するために、該複数
    のレコードを一時的に格納するハッシュ済リスト用出力
    レコード格納手段を更に備えたことを特徴とする請求項
    1記載のハッシュ方式。
  4. 【請求項4】 前記ハッシュ済リスト用出力レコード格
    納手段から前記記憶装置への前記1つのブロックのレコ
    ードの出力にあたり、該ブロックのレコードに対するハ
    ッシュ関数値による検索を可能とする補助情報を格納す
    る補助情報リスト用出力レコード格納手段を更に備えた
    ことを特徴とする請求項3記載のハッシュ方式。
  5. 【請求項5】 前記記憶装置が、前記ハッシュ済リスト
    用出力レコード格納手段から出力されるブロック単位の
    レコードを逐次的に格納するハッシュ済リストと、 前記補助情報リスト用出力レコード格納手段から出力さ
    れる補助情報を格納する補助情報リストとを備えたこと
    を特徴とする請求項4記載のハッシュ方式。
  6. 【請求項6】 前記補助情報が、前記ハッシュ済リスト
    内でのブロックの格納アドレス、ブロック内のレコード
    に対応するハッシュ関数値の最小値および最大値を含む
    ことを特徴とする請求項5記載のハッシュ方式。
  7. 【請求項7】 前記レコード格納手段からハッシュ済リ
    スト用出力レコード格納手段へのレコードの出力に際し
    て、出力すべきレコードに対応するハッシュ関数値を指
    定する出力ハッシュ値記憶手段を更に備えたことを特徴
    とする請求項3記載のハッシュ方式。
  8. 【請求項8】 前記レコード格納手段が、前記出力ハッ
    シュ値記憶手段に記憶されているハッシュ関数値に対応
    するハッシュ値対応ポインタ格納手段内のポインタによ
    って指されるレコードを前記ハッシュ済リスト用出力レ
    コード格納手段に出力する手段であることを特徴とする
    請求項7記載のハッシュ方式。
  9. 【請求項9】 前記ハッシュ済リスト用出力レコード格
    納手段が、前記出力ハッシュ値記憶手段に記憶されてい
    るハッシュ関数値の増加に伴って前記レコード格納手段
    から出力される複数のレコードを前記1つのブロックと
    して格納する手段であることを特徴とする請求項7記載
    のハッシュ方式。
  10. 【請求項10】 前記記憶装置から入力されるハッシュ
    対象リスト内のレコードを格納し、該入力されたレコー
    ドを前記レコード格納手段に出力する入力レコード格納
    手段を更に備えたことを特徴とする請求項3記載のハッ
    シュ方式。
  11. 【請求項11】 前記入力レコード格納手段が、前記レ
    コード格納手段内の1つのレコードが前記ハッシュ済リ
    スト用出力レコード格納手段に出力された時、該出力に
    よって生じるレコード格納手段内の空き領域にレコード
    を出力する手段であることを特徴とする請求項10記載
    のハッシュ方式。
  12. 【請求項12】 前記入力レコード格納手段が、前記レ
    コード格納手段内のレコード格納領域が全て空きになっ
    ている状態で、該レコード格納領域の全てに格納される
    べきレコードを出力する手段であることを特徴とする請
    求項10記載のハッシュ方式。
  13. 【請求項13】 前記レコード格納手段が、自手段のレ
    コード格納領域の全てにレコードが格納された時点で、
    前記ハッシュ済リスト用出力レコード格納手段に該全て
    のレコードを逐次的に出力する手段であることを特徴と
    する請求項12記載のハッシュ方式。
  14. 【請求項14】 記憶装置に格納されているハッシュ対
    象レコード群を、各レコードのキー値に対応するハッシ
    ュ関数値を用いて参照可能な格納形式に変換するための
    ハッシュ方法において、 第1のレコード群を一時的に格納し、 該格納された各々のレコードの格納位置を示すポインタ
    を、該レコードのキー値から計算されたハッシュ関数値
    に対応する位置に格納し、 該格納されているポインタによって指される複数のレコ
    ードを、該ポインタの格納位置に対応するハッシュ関数
    値に対応させて第2のレコード群とし、 該第2のレコード群を1つのブロックとして前記記憶装
    置に出力する、 ことを特徴とするハッシュ方法。
JP26687494A 1994-10-31 1994-10-31 ハッシュ方式 Expired - Fee Related JP3251138B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP26687494A JP3251138B2 (ja) 1994-10-31 1994-10-31 ハッシュ方式
US08/519,933 US6442553B1 (en) 1994-10-31 1995-08-28 Hash system and hash method for transforming records to be hashed
GB9521404A GB2294564B (en) 1994-10-31 1995-10-18 Hash system and hash method for transforming records to be hashed

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP26687494A JP3251138B2 (ja) 1994-10-31 1994-10-31 ハッシュ方式

Publications (2)

Publication Number Publication Date
JPH08129551A JPH08129551A (ja) 1996-05-21
JP3251138B2 true JP3251138B2 (ja) 2002-01-28

Family

ID=17436856

Family Applications (1)

Application Number Title Priority Date Filing Date
JP26687494A Expired - Fee Related JP3251138B2 (ja) 1994-10-31 1994-10-31 ハッシュ方式

Country Status (3)

Country Link
US (1) US6442553B1 (ja)
JP (1) JP3251138B2 (ja)
GB (1) GB2294564B (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3251138B2 (ja) * 1994-10-31 2002-01-28 富士通株式会社 ハッシュ方式
US7770230B2 (en) * 2002-04-22 2010-08-03 Arvato Digital Services Canada, Inc. System for dynamically encrypting content for secure internet commerce and providing embedded fulfillment software
US7290028B2 (en) * 2000-08-24 2007-10-30 International Business Machines Corporation Methods, systems and computer program products for providing transactional quality of service
US6820121B1 (en) * 2000-08-24 2004-11-16 International Business Machines Corporation Methods systems and computer program products for processing an event based on policy rules using hashing
US7089294B1 (en) 2000-08-24 2006-08-08 International Business Machines Corporation Methods, systems and computer program products for server based type of service classification of a communication request
US7979712B2 (en) * 2002-07-01 2011-07-12 International Business Machines Corporation Network system, server and information terminal for list matching
KR20040046465A (ko) * 2002-11-27 2004-06-05 한국전자통신연구원 다단계 해시함수를 이용하여 검색시간 한계를 보장하는분리 체이닝 구조의 데이터 처리 시스템 및 그 처리방법
CN1704930B (zh) * 2004-05-26 2012-05-23 智邦科技股份有限公司 数据库系统及其数据存取方法
US7370048B2 (en) * 2005-05-27 2008-05-06 International Business Machines Corporation File storage method and apparatus
US7539661B2 (en) * 2005-06-02 2009-05-26 Delphi Technologies, Inc. Table look-up method with adaptive hashing
US7657500B2 (en) * 2007-03-12 2010-02-02 Sun Microsystems, Inc. Concurrent extensible cuckoo hashing
US8180744B2 (en) * 2008-03-05 2012-05-15 Hewlett-Packard Development Company, L.P. Managing storage of data in a data structure
CN102930004B (zh) * 2012-10-29 2015-07-08 华为技术有限公司 哈希值存储方法、装置及芯片
CN108664487B (zh) * 2017-03-28 2021-12-14 Tcl科技集团股份有限公司 一种散列表数据的写入、读取方法及系统

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4215402A (en) * 1978-10-23 1980-07-29 International Business Machines Corporation Hash index table hash generator apparatus
US4680700A (en) * 1983-12-07 1987-07-14 International Business Machines Corporation Virtual memory address translation mechanism with combined hash address table and inverted page table
JPS6113340A (ja) * 1984-06-28 1986-01-21 Fujitsu Ltd ハツシユ制御方式
JPS61180332A (ja) * 1985-02-06 1986-08-13 Hitachi Ltd 音響再生信号の切換表示装置
US4780816A (en) * 1986-05-16 1988-10-25 The United States Of America As Represented By The Secretary Of The Army Key-to-address transformations
JPS633351A (ja) * 1986-06-20 1988-01-08 Fujitsu Ltd バツフア検索制御方式
JP2509947B2 (ja) * 1987-08-19 1996-06-26 富士通株式会社 ネットワ−ク制御方式
US5287499A (en) * 1989-03-22 1994-02-15 Bell Communications Research, Inc. Methods and apparatus for information storage and retrieval utilizing a method of hashing and different collision avoidance schemes depending upon clustering in the hash table
US5339398A (en) * 1989-07-31 1994-08-16 North American Philips Corporation Memory architecture and method of data organization optimized for hashing
DE69029544T2 (de) * 1989-07-31 1997-06-12 Philips Electronics Nv Speicherarchitektur und Schaltung zum Hashcodieren
JPH03282966A (ja) * 1990-03-30 1991-12-13 Fujitsu Ltd ハッシュエントリ領域管理方法
JPH04243442A (ja) * 1991-01-18 1992-08-31 Nec Corp 共通テーブル管理方式
JPH05241919A (ja) * 1992-02-26 1993-09-21 Nec Corp データレコード格納方式
JPH0695933A (ja) * 1992-09-17 1994-04-08 Kanebo Ltd ハッシュファイルデータ管理装置およびハッシュファイルデータ管理方法
JPH06103127A (ja) * 1992-09-22 1994-04-15 Kanebo Ltd ハッシュファイルデータ管理装置およびハッシュファイルデータ管理方法
JP3202074B2 (ja) * 1992-10-21 2001-08-27 富士通株式会社 並列ソート方式
JP3415914B2 (ja) * 1993-10-12 2003-06-09 富士通株式会社 並列マージソート処理方法
US5680622A (en) * 1994-06-30 1997-10-21 Borland International, Inc. System and methods for quickly detecting shareability of symbol and type information in header files
JP3251138B2 (ja) * 1994-10-31 2002-01-28 富士通株式会社 ハッシュ方式
US5687361A (en) * 1995-02-13 1997-11-11 Unisys Corporation System for managing and accessing a dynamically expanding computer database
US6052697A (en) * 1996-12-23 2000-04-18 Microsoft Corporation Reorganization of collisions in a hash bucket of a hash table to improve system performance
US5893120A (en) * 1997-01-02 1999-04-06 Nemes; Richard Michael Methods and apparatus for information storage and retrieval using a hashing technique with external chaining and on-the-fly removal of expired data
JP3466054B2 (ja) * 1997-04-18 2003-11-10 富士通株式会社 グループ化と集計演算処理方式
US6067547A (en) * 1997-08-12 2000-05-23 Microsoft Corporation Hash table expansion and contraction for use with internal searching

Also Published As

Publication number Publication date
GB2294564A (en) 1996-05-01
JPH08129551A (ja) 1996-05-21
GB9521404D0 (en) 1995-12-20
US6442553B1 (en) 2002-08-27
GB2294564B (en) 1999-07-14

Similar Documents

Publication Publication Date Title
US5943683A (en) Data processing method using record division storing scheme and apparatus therefor
JP3251138B2 (ja) ハッシュ方式
JPH11212980A (ja) インデクス作成方法および検索方法
JPH02178730A (ja) 分割法を用いた内部ソート方式
JP4233564B2 (ja) データ処理装置、データ処理用のプログラムおよび記録媒体
JP3515810B2 (ja) ソート処理方法および装置
JP2003224581A (ja) 最長一致検索回路および方法およびプログラムおよび記録媒体
JP2925042B2 (ja) 情報リンク生成方法
JP2675958B2 (ja) 情報検索用計算機システム及びその記憶装置の動作方法
JPH1011570A (ja) 電子ファイリング装置
JPH0267648A (ja) ツリー構造データベースのレコード追加方式
JP5354606B2 (ja) データ蓄積装置及び方法及びプログラム及びデータ検索装置及び方法及びプログラム
US5996053A (en) Method and apparatus for fetching classified and stored information
JP2669241B2 (ja) マイグレーション処理方式
JP3439364B2 (ja) 不定長データの格納方法および検索方法
JP3348279B2 (ja) プライスルックアップデータ検索回路及びその検索方法並びにその制御プログラムを記録した記録媒体
JPH05257610A (ja) ファイル読み込み装置及びファイル読み込み方法
JPH02222044A (ja) データ処理装置
JPH0291725A (ja) 併合処理方式
JPS63311529A (ja) インデツクス格納方式
JP2000076106A (ja) 索引順編成ファイルの管理方法
JPH05274196A (ja) 多重ファイルによる二次記憶管理方法
JPH0778184A (ja) データ検索方法
JPH103414A (ja) データ格納制御方式
JPH04245563A (ja) 検索テーブル作成方法

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20011106

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

Free format text: PAYMENT UNTIL: 20081116

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20081116

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20091116

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20101116

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20101116

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20111116

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees