JPS633351A - バツフア検索制御方式 - Google Patents
バツフア検索制御方式Info
- Publication number
- JPS633351A JPS633351A JP61145890A JP14589086A JPS633351A JP S633351 A JPS633351 A JP S633351A JP 61145890 A JP61145890 A JP 61145890A JP 14589086 A JP14589086 A JP 14589086A JP S633351 A JPS633351 A JP S633351A
- Authority
- JP
- Japan
- Prior art keywords
- buffer
- data
- pointer
- data block
- identification name
- 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.)
- Pending
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔概 要〕
外部記憶装置からバッファに読み込んだデータを、その
後の処理でも利用するための、バッファの検索を効率化
する制御方式。
後の処理でも利用するための、バッファの検索を効率化
する制御方式。
データの識別名のハツシュ関数で索引するテーブルに、
そのデータを保持するバッファへのポインタと、同じハ
ツシュ関数の別のデータが他に保持されているかの表示
とを記録し、あるデータがバッファにあるかを、このテ
ーブルを索引して検索する。
そのデータを保持するバッファへのポインタと、同じハ
ツシュ関数の別のデータが他に保持されているかの表示
とを記録し、あるデータがバッファにあるかを、このテ
ーブルを索引して検索する。
この方式により、バ・ノブァ数が多くなっても、検索を
高速に行うことができる。
高速に行うことができる。
本発明は、計算機システムにおける、外部記憶装置から
バッファに読み込んだデータを、バッファ上で検索する
ための制御方式に関する。
バッファに読み込んだデータを、バッファ上で検索する
ための制御方式に関する。
計算機システムにおいて、磁気ディスク記憶装置等の大
容量の外部記憶装置に格納されているデータベース等の
データは、処理に際し所要のデータブロックが主記憶装
置等に読み込まれる。
容量の外部記憶装置に格納されているデータベース等の
データは、処理に際し所要のデータブロックが主記憶装
置等に読み込まれる。
その場合、外部記憶装置から読み込まれたデータブロッ
クは、主記憶装置の記憶領域に設けられるバッファに保
持されて、要求元のプログラムにアクセス可能にされる
。
クは、主記憶装置の記憶領域に設けられるバッファに保
持されて、要求元のプログラムにアクセス可能にされる
。
第2図は計算機システムの一構成例を示すブロック図で
ある。
ある。
処理装置1は、主記憶装置2にロードされたプログラム
(図示せず)を実行することにより、例えば端末装置3
から入力される要求を受は取って、外部記憶装置4に格
納されているデータベース等にアクセスし、要求された
データの参照、更新等を処理する。
(図示せず)を実行することにより、例えば端末装置3
から入力される要求を受は取って、外部記憶装置4に格
納されているデータベース等にアクセスし、要求された
データの参照、更新等を処理する。
データベースへアクセスを要する場合に処理装置1は、
データベース内の所要のデータブロックを、外部記憶装
置4から主記憶装置2の記憶領域に設けるバッファプー
ル5の1つのバッファ6に読み込んで、処理プログラム
から直接アクセスできる状態にする。
データベース内の所要のデータブロックを、外部記憶装
置4から主記憶装置2の記憶領域に設けるバッファプー
ル5の1つのバッファ6に読み込んで、処理プログラム
から直接アクセスできる状態にする。
各バッファ6はデータブロックの内容を保持するデータ
1聞7、データ欄7のデータブロックの3餞別名を保持
する識別老樹8、チエインポインタ9等からなる。
1聞7、データ欄7のデータブロックの3餞別名を保持
する識別老樹8、チエインポインタ9等からなる。
データブロックの識別名は、例えばデータセット名とブ
ロック番号からなり、アクセス要求時に要求元によって
指定され、この識別名をアドレスとして外部記憶装置4
へのアクセスを行う。
ロック番号からなり、アクセス要求時に要求元によって
指定され、この識別名をアドレスとして外部記憶装置4
へのアクセスを行う。
チエインポインタ9は、このバッファブール5の使用さ
れているバッファ6を例えば使用順に接続したチエイン
を構成するためのポインタで、チエインの先頭のバッフ
ァはレジスタ10によってポイントされ、各バッファ6
のチエインポインタ9は次のバッファを指し、チエイン
の最後のバッファのチエインポインタ9は例えばOにさ
れる。
れているバッファ6を例えば使用順に接続したチエイン
を構成するためのポインタで、チエインの先頭のバッフ
ァはレジスタ10によってポイントされ、各バッファ6
のチエインポインタ9は次のバッファを指し、チエイン
の最後のバッファのチエインポインタ9は例えばOにさ
れる。
又、このチエイン最後のバッファはレジスタ11によっ
てポイントされている。
てポイントされている。
外部記憶装置4からデータブロックが読み込まれた場合
には、バッファプール5の各バッファ6のデータ欄7に
保持され、識別老樹8に識別名が記入され、そのバッフ
ァ6はレジスタ11でポイントされるバッファ6の後に
つなげられる。
には、バッファプール5の各バッファ6のデータ欄7に
保持され、識別老樹8に識別名が記入され、そのバッフ
ァ6はレジスタ11でポイントされるバッファ6の後に
つなげられる。
処理中に、あるデータブロックを指定するアクセス要求
が出ると、処理装置1で実行される管理プログラムは、
その処理に割り当てられているバッファプール5を走査
して、指定されたデータブロックが既に読み込まれてい
るか調べる。
が出ると、処理装置1で実行される管理プログラムは、
その処理に割り当てられているバッファプール5を走査
して、指定されたデータブロックが既に読み込まれてい
るか調べる。
コノ走査ハ、バッファの前記の、チエインを先頭からた
どって、各バッファ6の識別老樹8の内容を、要求のデ
ータブロックの識別名と比較して行われる。
どって、各バッファ6の識別老樹8の内容を、要求のデ
ータブロックの識別名と比較して行われる。
識別名の一致する識別名M!I8を持つバッファ6がバ
ッファプール5にあれば、そのバッファ6に保持される
データを要求元に渡す。
ッファプール5にあれば、そのバッファ6に保持される
データを要求元に渡す。
バッファプール5に無い場合のみ外部記憶装置4へのア
クセスを実行する。その際に空きのバッファ6が無けれ
ば、使用中のバッファの1つを前記のチエインからはず
して使用する。
クセスを実行する。その際に空きのバッファ6が無けれ
ば、使用中のバッファの1つを前記のチエインからはず
して使用する。
このようにして比較的長時間を要する外部記憶装置4と
の間のデータ入出力回数を減少することによってシステ
ムの処理効率を高めるようにしている。
の間のデータ入出力回数を減少することによってシステ
ムの処理効率を高めるようにしている。
前記のように、バッファプール5に読み込まれたデータ
をできるだけ利用して、外部記憶装置へのアクセスを減
少する場合に、その効果を高めるには、適当にバッファ
数を多(して、前に読み込んだデータが他のデータで置
き換えられることな(残っている可能性を大きくする必
要がある。
をできるだけ利用して、外部記憶装置へのアクセスを減
少する場合に、その効果を高めるには、適当にバッファ
数を多(して、前に読み込んだデータが他のデータで置
き換えられることな(残っている可能性を大きくする必
要がある。
他方、前記の制御から明らかなように、バッファ数の増
加は、所要データの有無を検査するためのバッファ検索
時間の増加に直接つながり、そのためにバッファ数を十
分設けることができないという問題があった。
加は、所要データの有無を検査するためのバッファ検索
時間の増加に直接つながり、そのためにバッファ数を十
分設けることができないという問題があった。
第1図は、本発明の構成を示すブロック図である。
図において、5はバッファプール、20はハ。
シュテーブルであり、ハツシュテーブルの21はポイン
タ欄、22はタグ欄を示す。
タ欄、22はタグ欄を示す。
前記のように、外部記憶装置4からデータブロックが読
み込まれて、バッファ6に保持され、そのバッファ6が
チエインにつながれるとき、同時にハツシュテーブル2
0が更新される。
み込まれて、バッファ6に保持され、そのバッファ6が
チエインにつながれるとき、同時にハツシュテーブル2
0が更新される。
ハツシュテーブル20は、データブロックの識別名から
求める所定のハツシュ関数値をテーブル内相対アドレス
として索引され、各項はポインタ欄21とタグ欄22か
らなる。
求める所定のハツシュ関数値をテーブル内相対アドレス
として索引され、各項はポインタ欄21とタグ欄22か
らなる。
データブロックの読み込みにおいて、その識別名からハ
・ノシュ関数値を求めて、ハツシュテーブル20を索引
する。
・ノシュ関数値を求めて、ハツシュテーブル20を索引
する。
索引した項のポインタ欄21がバッファをポイントして
いない状B(例えばO)であれば、使用したバッファ6
のアドレスをポインタ欄に設定し、ポインタ欄21がバ
ッファをポイントしていれば、タグ欄を例えば1に設定
して、この項に対応する識別名のデータブロックが、バ
ッファプール5に2以上保持されていることを表示する
。
いない状B(例えばO)であれば、使用したバッファ6
のアドレスをポインタ欄に設定し、ポインタ欄21がバ
ッファをポイントしていれば、タグ欄を例えば1に設定
して、この項に対応する識別名のデータブロックが、バ
ッファプール5に2以上保持されていることを表示する
。
バッファプール5を使用する処理で、あるデータブロッ
クへのアクセス要求が発生されると、指定の識別名から
所定のハツシュ関数値を求めて、ハツシュテーブル20
を索引する。
クへのアクセス要求が発生されると、指定の識別名から
所定のハツシュ関数値を求めて、ハツシュテーブル20
を索引する。
索引したポインタ欄21がOでなければ、その内容をポ
インタとしてバッファ6にアクセスし、その識別老樹8
を指定の識別名と比較し、−敗すればそのバッファ6を
使用する。
インタとしてバッファ6にアクセスし、その識別老樹8
を指定の識別名と比較し、−敗すればそのバッファ6を
使用する。
一致しないときは、索引したタグ欄22を調べ、1なら
バッファのチエインを従来のように走査して、8亥当の
データブロックがあるか8周べる。
バッファのチエインを従来のように走査して、8亥当の
データブロックがあるか8周べる。
以上の何れかにより、バッファプール5で所要データブ
ロックを発見できなかった場合に、外部記憶装置4への
アクセスを実行する。
ロックを発見できなかった場合に、外部記憶装置4への
アクセスを実行する。
以上の方式により、ハ・ンシュテーブル20からバッフ
ァが直接ポイントされる場合には、バッファ数に関わら
ず高速の検索ができるので、バッファ検索時間が平均的
に短縮される。
ァが直接ポイントされる場合には、バッファ数に関わら
ず高速の検索ができるので、バッファ検索時間が平均的
に短縮される。
ハツシュテーブル20は、データブロックの識別名から
求める所定のハフシュ関数値をテーブル内相対アドレス
として索引され、各項はポインタ欄21とタグ憫22か
らなる。
求める所定のハフシュ関数値をテーブル内相対アドレス
として索引され、各項はポインタ欄21とタグ憫22か
らなる。
ポインタ欄20はバッファ6をポイントしているとき、
該バッファのアドレスが設定され、例えば0によって、
何れのバッファもポイントしていない状態を示すものと
する。
該バッファのアドレスが設定され、例えば0によって、
何れのバッファもポイントしていない状態を示すものと
する。
フグ欄は例えば1ビツトで、1′ によりその項に対応
するハツシュ関数値を生成する識別名を持つデータブロ
ックが、ポインタ欄のポインタで指すバッファ6以外の
バッファ6にも保持されていることを示し、0゛ はそ
れ以外の状態とする。
するハツシュ関数値を生成する識別名を持つデータブロ
ックが、ポインタ欄のポインタで指すバッファ6以外の
バッファ6にも保持されていることを示し、0゛ はそ
れ以外の状態とする。
データブロックの読み込みにおいて、その識別名からハ
フシュ関数値を求めて、ハツシュテーブル20を索引す
る。
フシュ関数値を求めて、ハツシュテーブル20を索引す
る。
例えば、識別名が4バイト(32ピント)のデータセッ
ト名と4バイトのデータブロック番号からなる場合に、
データセット名とデータブロック番号の排他的論理和を
、例えば適当な素数Nで除した剰余をハフシュ関数とし
、これによりN項からなるハツシュテーブル20にアク
セスするための相対アドレスを得る。
ト名と4バイトのデータブロック番号からなる場合に、
データセット名とデータブロック番号の排他的論理和を
、例えば適当な素数Nで除した剰余をハフシュ関数とし
、これによりN項からなるハツシュテーブル20にアク
セスするための相対アドレスを得る。
このようにして、比較的長い識別名から、バッファ6を
直接ポイントするポインタを得る手段が、比較的小さな
ハフシュテーブルを使用することによって構成できる。
直接ポイントするポインタを得る手段が、比較的小さな
ハフシュテーブルを使用することによって構成できる。
その結果、テーブルの1項に複数のデータブロックが対
応し得、後に説明するように、同一の項に対応するデー
タブロックが同期間に2以上読み込まれた場合には、第
2以後のデータブロックのバッファは、従来と同様にチ
エインをたどって検索しなければならない。
応し得、後に説明するように、同一の項に対応するデー
タブロックが同期間に2以上読み込まれた場合には、第
2以後のデータブロックのバッファは、従来と同様にチ
エインをたどって検索しなければならない。
しかし、適当なテーブル項数(例えばバッファの個数の
2倍程度)を設けることにより、実際に同じ期間に同じ
項に対応する複数のデータブロックが使用される確率を
十分小さくすることができる。
2倍程度)を設けることにより、実際に同じ期間に同じ
項に対応する複数のデータブロックが使用される確率を
十分小さくすることができる。
前記により索引した項の、ポインタ欄21が0(バッフ
ァをポイントしていない状態)であれば、データブロッ
クを読み込んだバッファ6のアドレスをポインタ欄に設
定する。
ァをポイントしていない状態)であれば、データブロッ
クを読み込んだバッファ6のアドレスをポインタ欄に設
定する。
ポインタ欄21がOでない場合には、タグ欄を例えば1
に設定して、この項に対応する識別名のデータブロック
が、バッファプール5に2以上保持されていることを表
示する。
に設定して、この項に対応する識別名のデータブロック
が、バッファプール5に2以上保持されていることを表
示する。
バッファプール5を使用する処理で、あるデータブロッ
クへのアクセス要求が発生されると、指定の識別名から
前記のハツシュ関数値を求めて、ハツシュテーブル20
を索引する。
クへのアクセス要求が発生されると、指定の識別名から
前記のハツシュ関数値を求めて、ハツシュテーブル20
を索引する。
索引したポインタ欄21がOであれば、該当のデータブ
ロックはバッファに無いので、直ちに適当なバッファ6
を選択して、外部記憶装置4からデータブロックを読み
込む処理を開始する。
ロックはバッファに無いので、直ちに適当なバッファ6
を選択して、外部記憶装置4からデータブロックを読み
込む処理を開始する。
即ちこの場合には、チエインを走査する必要無(、利用
できるデータブロックが無いことが識別でき、必要な処
理を開始することができる。
できるデータブロックが無いことが識別でき、必要な処
理を開始することができる。
ポインタ欄21が0でなければ、その内容をポインタと
してバッファ6にアクセスし、その識別老樹8を指定の
識別名と比較し、−致すればそのバッファ6を使用する
。
してバッファ6にアクセスし、その識別老樹8を指定の
識別名と比較し、−致すればそのバッファ6を使用する
。
一致しないときは、索引したタグ欄22を調べ、Oなら
この項に対応するデータブロックが他に読み込まれてい
ない表示なので、外部記憶装置4から読み込む必要があ
る。即ちこの場合にも、チエインを走査する必要無しに
、利用できるデータブ、ロックの無いことを識別ができ
る。
この項に対応するデータブロックが他に読み込まれてい
ない表示なので、外部記憶装置4から読み込む必要があ
る。即ちこの場合にも、チエインを走査する必要無しに
、利用できるデータブ、ロックの無いことを識別ができ
る。
タグ(聞が1なら、イ也のバッファに言亥当のデータブ
ロックがある可能性があるので、バッファのチエインを
従来のように走査し、その結果該当のデータブロックが
あれば使用し、無ければ外部記憶装置4にアクセスする
。
ロックがある可能性があるので、バッファのチエインを
従来のように走査し、その結果該当のデータブロックが
あれば使用し、無ければ外部記憶装置4にアクセスする
。
外部記4g装置4にアクセスする場合には、適当なバッ
ファ6を選択して使用する。その際には、そのバッファ
6の識別老樹8の以前の内容により、ハフシュテーブル
20の該当項を索引して、要すれば更新し、以前の識別
名をハツシュテーブル20上で無効化し、且つそれに伴
う所要の項のポインタの張り換え等を行う。
ファ6を選択して使用する。その際には、そのバッファ
6の識別老樹8の以前の内容により、ハフシュテーブル
20の該当項を索引して、要すれば更新し、以前の識別
名をハツシュテーブル20上で無効化し、且つそれに伴
う所要の項のポインタの張り換え等を行う。
以上の説明から明らかなように、本発明によれば、計算
機システムの外部記憶装置から読み込んだデータを保持
するバッファのデータを再利用するためのバッファ検索
において、バッファ数による形容を少なくして、高速の
検索が可能になるので、処理効率改善が増進されるとい
う著しい工業的効果がある。
機システムの外部記憶装置から読み込んだデータを保持
するバッファのデータを再利用するためのバッファ検索
において、バッファ数による形容を少なくして、高速の
検索が可能になるので、処理効率改善が増進されるとい
う著しい工業的効果がある。
第1図は本発明の構成を示すブロック図、第2図は従来
の一構成例ブロック図である。 図において、 1は処理装置、 2は主記憶装置、3は端末装
置、 4は外部記憶装置、5はバッファプール
、 6はバッファ、7はデータ欄、 8は識
別老樹、9はチエインポインタ、10.11はレジスタ
、20はハツシュテーブル、21はポインタ憫、本発明
の構成を示すブロック図 従来の一構成例ブロック図 第2図
の一構成例ブロック図である。 図において、 1は処理装置、 2は主記憶装置、3は端末装
置、 4は外部記憶装置、5はバッファプール
、 6はバッファ、7はデータ欄、 8は識
別老樹、9はチエインポインタ、10.11はレジスタ
、20はハツシュテーブル、21はポインタ憫、本発明
の構成を示すブロック図 従来の一構成例ブロック図 第2図
Claims (1)
- 【特許請求の範囲】 外部記憶装置から読み込んだデータを保持するバッファ
を有する計算機システムにおいて、該データの識別名の
所定のハッシュ関数値をアドレスとして索引され、 該データを保持するバッファへのポインタ(21)と、
該ハッシュ関数値を生成する識別名を有する2以上の異
なるデータがバッファに保持されているか否かの表示(
22)とを保持する手段(20)を設け、前記外部記憶
装置に保持するデータにアクセスを要する場合に、該デ
ータの識別名に基づき前記手段(20)を索引し、 前記ポインタの指すバッファに該データがあるか検査し
、及び、 該バッファに該データが無く前記異なるデータが保持さ
れている表示がある場合には、他のバッファを走査して
該データが保持されているか検査するように構成されて
いることを特徴とするバッファ検索制御方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP61145890A JPS633351A (ja) | 1986-06-20 | 1986-06-20 | バツフア検索制御方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP61145890A JPS633351A (ja) | 1986-06-20 | 1986-06-20 | バツフア検索制御方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPS633351A true JPS633351A (ja) | 1988-01-08 |
Family
ID=15395415
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP61145890A Pending JPS633351A (ja) | 1986-06-20 | 1986-06-20 | バツフア検索制御方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS633351A (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH08129551A (ja) * | 1994-10-31 | 1996-05-21 | Fujitsu Ltd | ハッシュ方式 |
| JP2009193430A (ja) * | 2008-02-15 | 2009-08-27 | Toshiba Corp | 通信制御装置、情報処理装置およびプログラム |
-
1986
- 1986-06-20 JP JP61145890A patent/JPS633351A/ja active Pending
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH08129551A (ja) * | 1994-10-31 | 1996-05-21 | Fujitsu Ltd | ハッシュ方式 |
| JP2009193430A (ja) * | 2008-02-15 | 2009-08-27 | Toshiba Corp | 通信制御装置、情報処理装置およびプログラム |
| US8423689B2 (en) | 2008-02-15 | 2013-04-16 | Kabushiki Kaisha Toshiba | Communication control device, information processing device and computer program product |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR100330576B1 (ko) | 컴퓨터네트워크로부터월드와이드웹상의페이지위치을파악하고문서위치를파악하는시스템및방법 | |
| US4914569A (en) | Method for concurrent record access, insertion, deletion and alteration using an index tree | |
| JPH11120203A (ja) | データベースを合併する方法およびデータベースからドキュメントを検索する装置 | |
| JPS633351A (ja) | バツフア検索制御方式 | |
| JPH02297670A (ja) | データベース検索方式 | |
| JP3180336B2 (ja) | 多層バッファを用いるデータアクセス方法 | |
| JPH0644309A (ja) | データベース管理方式 | |
| JPH0962697A (ja) | 商品コード検索方式 | |
| KR0165511B1 (ko) | 중복 자료 구조 및 해싱 함수와 순차적 링크 리스트를 이용한 고속 정보 접근 방법 | |
| KR100238439B1 (ko) | 스키마 관리자의 객체지향 경로 인데스 관리방법 | |
| JP3008500B2 (ja) | 更新レコード読み出し機構 | |
| JPH04205173A (ja) | 情報検索システム | |
| JPH10240744A (ja) | レンジ分割表の検索処理方式、検索処理方法および検索 処理プログラムを記録した記録媒体 | |
| JPH06214849A (ja) | データベースシステム | |
| JPH03262078A (ja) | データ検索方式 | |
| JPS63150724A (ja) | デ−タアクセス処理方式 | |
| JPH01129324A (ja) | データ検索装置 | |
| JP2000020527A (ja) | データベースにおける検索方式 | |
| JPH05204729A (ja) | データベースアクセス方式 | |
| JPH043251A (ja) | 文書検索方法および文書検索処理装置 | |
| JPS6327927A (ja) | 予約情報検索システムにおけるインデツクス作成方式 | |
| JPS63238622A (ja) | 関連検索方式 | |
| JPS6069748A (ja) | 情報処理装置 | |
| JPH04311259A (ja) | 辞書検索装置 | |
| JPH0218641A (ja) | データ管理方法 |