JPH05257610A - ファイル読み込み装置及びファイル読み込み方法 - Google Patents

ファイル読み込み装置及びファイル読み込み方法

Info

Publication number
JPH05257610A
JPH05257610A JP4053216A JP5321692A JPH05257610A JP H05257610 A JPH05257610 A JP H05257610A JP 4053216 A JP4053216 A JP 4053216A JP 5321692 A JP5321692 A JP 5321692A JP H05257610 A JPH05257610 A JP H05257610A
Authority
JP
Japan
Prior art keywords
buffer
data
page
read
file
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.)
Withdrawn
Application number
JP4053216A
Other languages
English (en)
Inventor
Yasuhiro Suzuki
康弘 鈴木
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 JP4053216A priority Critical patent/JPH05257610A/ja
Publication of JPH05257610A publication Critical patent/JPH05257610A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】 【目的】本発明の目的は、ファイルの高速な読み込みを
実現することである。 【構成】入力された検索コマンドを解釈して必要ページ
のページ・アドレス・リストを作成したなら、主記憶上
に存在しないページでアドレスが連続するページ単位で
セグメント化する。さらに、その必要ページのセグメン
トに不要ページのアドレス間隔情報をリンクさせ、ペー
ジ数がシークファクタ以下の不要ページの前後の必要ペ
ージを1つのセグメントに同化させセグメントを再編成
する。そして、このセグメント単位でデータの読み込み
を行い、必要ページは使用固定バッファに、不要ページ
は再利用可能バッファにそれぞれ格納する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、磁気ディスク装置等か
らデータを読み込むファイル読み込み装置及びその読み
込み方法に関する。
【0002】
【従来の技術】磁気記憶装置等に記憶されているデータ
のアクセスは、(1) ヘッドを読み込み対象データのアド
レス位置に移動させる(シーク)、(2) 所望のデータを
読み込む、という手順で行われる。磁気ディスク装置な
どからデータを読み出す場合に、ヘッドを所定の位置ま
で移動させるというシーク動作は機械的動作が伴うので
時間がかかる。
【0003】その為データを読み込む場合には、極力連
続したアドレスでの読み込みを行い、シーク回数を少な
くする必要がある。
【0004】
【発明が解決しようとする課題】ファイル内のデータを
読み込む場合に、必要なデータ範囲内に不要なデータが
存在することがあり、このような場合、例えば不要なデ
ータを読み飛ばすことで連続的な読み込みを実現するこ
とが考えられる。
【0005】しかしながら、読み飛ばす領域が大きいと
きには読み込みを中断してシークした方が時間がかから
ない場合もあり、必ずしも最善の方法ではない。本発明
の目的は、ファイルの高速な読み込みを実現することで
ある。
【0006】
【課題を解決するための手段】図1は、第1の発明の原
理ブロック図である。ファイル(1)上に離散して存在
する必要データを検索して、該データをバッファに読み
込むファイル読み込み装置において、セグメント構成手
段2は、読み込むべき必要データをファイル1上でアド
レスが連続する単位でセグメント化する。
【0007】データ読み込み手段3は、各セグメント間
のファイル上での読み込み位置を移動する場合に、セグ
メント間を連続して読み込む場合と、シークする場合の
アクセス時間を見積もり、セグメント間を連続して読み
込む方がアクセス時間が短いときには、不要データを含
む複数のセグメントを順次バッファに読み込む。
【0008】例えば、このデータ読み込み手段3は、連
続して読み込むデータの内、必要データを使用固定バッ
ファに、不要データをバッファ領域が不足したとき再利
用される再利用可能バッファに格納する。
【0009】また、第2の発明では、ファイル(1)上
に離散して存在する必要データを検索して、そのデータ
をバッファに読み込む場合に、読み込むべき必要データ
をファイル1上でアドレスが連続する単位でセグメント
化し、各セグメント間のファイル上での読み込み位置を
移動する場合に、セグメント間を連続して読み込む場合
と、シークする場合のアクセス時間を見積もり、セグメ
ント間を連続して読み込む方がアクセス時間が短いとき
には、不要データを含む複数のセグメントを順次バッフ
ァに読み込む。
【0010】
【作用】第1及び第2の発明では、アドレスが連続して
いない複数のセグメントのデータを読み込む場合に、セ
グメント間を連続して読み込む場合と、シークする場合
のアクセス時間を見積もり、アクセス時間が短い方法で
データを読み込むようにしているので、データの読み込
みを高速化することができる。
【0011】また、不要データを含む複数のセグメント
を連続して読み込む場合に、必要データを使用固定バッ
ファに、不要データを再利用可能バッファに格納するよ
うにしたので、主記憶上のバッファ領域を有効に活用し
ながら、検索対象データの主記憶駐在率を高めることが
できる。これにより、主記憶上に存在しないデータをフ
ァイルから読み込み為のオーバヘッドを軽減することが
できる。
【0012】さらに、セグメント間を連続して読み込む
か、あるいはシークするかの判断の基準となる情報を、
外部から定義できる情報として与えているので、読み込
み装置の性能が異なる場合でも基準となる情報を変更す
ることで、装置の性能に最適な条件を設定することがで
きる。
【0013】
【実施例】以下、本発明の実施例を図面を参照しながら
説明する。図2は、本発明の実施例のシステム構成図で
ある。
【0014】このシステムは、キーボード12から入力
される検索コマンドに従って2次記憶装置13から検索
条件を満足するデータを読み込み、結果をディスプレイ
装置14に表示するものである。
【0015】図2のファイル読み込み装置11の回路ブ
ロック図には、CPUにより実行されるメイン制御、検
索コマンドの受け付け、検索条件の解釈、セットアッ
プ、ページの読み込み、検索結果の表示等の各種処理
と、それらの処理で主記憶上に作成されるページ・アド
レス・リスト、ページ・アドレス・ハッシュ、ページ・
アドレス・セグメント等との関係を示してある。
【0016】先ず、ファイル読み込み装置11の全体の
動作を図3のフローチャートを参照して説明する。シス
テムの動作開始時にメイン制御処理によりセットアップ
処理(図3、S1)が実行される。このセットアップ処
理では、シークファクタ、空きページ管理情報、インデ
クス等を2次記憶装置13から主記憶に読み込む(S
2、S3、S4)。
【0017】ここで、図4、図5及び図6を参照して空
きページ管理情報、インデクス並びにデータ・ページの
状態を説明する。空きページ管理情報には、図4に示す
ようにページアドレス毎にそのページが使用されている
か、空いているかを示す情報が格納されており(この例
では、使用されているとき「1」、空いているとき
「0」が書き込まれる)、この空きページ管理情報から
未使用のページを探すことができる。
【0018】また、インデクスには、図5に示すように
AからHのキー値がキーの昇順に格納されており、それ
ぞれのキー値に対応するデータのデータ・ページ・ファ
イル上でのページアドレスが、そのキー値に対応させて
記憶されている。
【0019】図6のデータ・ページの状態を示す図は、
ページアドレス順に各ページに格納されているデータの
キー値、あるいはそのページが空きであることを示す情
報が記憶されている。
【0020】図3に戻り、セットアップ処理が終了した
なら、ステップS5のデータ検索処理を実行する。この
データ検索処理では、キーボード12から検索コマンド
の入力を受け付け(S6)、入力された検索コマンドか
ら検索条件を抽出しその検索条件を解釈する(S7)。
そして、検索条件を満たすデータが格納されているペー
ジアドレスをインデクスから調べ、必要ページのページ
・アドレス・リストを作成する(S8)。
【0021】次のページ読み込み処理(S9)では、ペ
ージ・アドレス・リストで指定されるページをデータ・
ページ・ファイルから主記憶上のバッファに読み込む。
このとき、所望のページアドレスの内容がバッファに存
在するか否かを調べ、バッフアに存在しないページだけ
を読み込むようにしている。
【0022】このようにして検索条件を満たす必要ペー
ジがバッファに読み込まれたなら、その検索結果をディ
スプレイ装置14に表示する(S10)。ここで、上記
ステップS9のページ読み込み処理の内容を図7のフロ
ーチャートを参照して説明する。
【0023】今、キーボード12から「SELECT * FROM
DATAPAGE WHERE KEY >=‘A’ANDKEY < =‘D’; 」
なる検索コマンドが入力されたものとする。これは、
‘A’≦KEY ≦‘D’なる値の範囲にあるキーを検索す
る要求である。
【0024】先ず、前回の検索要求で作成された使用固
定バッファを再利用可能バッファに移行させる(図7、
S11)。このとき、使用固定バッファのリンクから移
行するバッファは再利用可能バッファの最後にリンクさ
せる。
【0025】次に、検索条件を解析して作成されたペー
ジ・アドレス・リストから必要なページアドレスに対応
する主記憶上のバッファを探す(S12)。この処理で
は、先ずページ・アドレス・ハッシュを利用して必要な
ページアドレスに対応するバッファを探す(S13)。
【0026】ここで、ページ・アドレス・ハッシュと
は、ページアドレスとバッファとをハッシュ関数により
対応づけたものであり、例えばxをページアドレス、S
をハッシュ表の配列数( この場合「10」) 、%をxをS
で割ったときの余りを求める演算子としたときに、ハッ
シュ関数:H(x) =x%Sによりページアドレスとハッ
シュ表の配列番号とを対応づけている。
【0027】図8は、ページ・アドレス・リストとペー
ジ・アドレス・ハッシュの説明図である。例えば、ペー
ジアドレス「10」と「20」は上記のハッシュ関数か
らH(x)=0となるので、ハッシュ表の配列の0番目に
対応し、そのページアドレスに対応するバッファ(図8
のキーB、キーDのデータが記憶されているバッファ)
が存在すれば、配列の0番目のリンクに登録される。
【0028】従って、このページ・アドレス・ハッシュ
を参照することでページアドレスに対応するバッファを
簡単に探すことができる。なお、各バッファは、図8に
示すようにそのバッファが記憶しているデータのキー値
と、ページアドレスと、そのバッファが使用固定のバッ
ファか、再利用可能なバッファかを示すバッファ区分情
報とを持っている。
【0029】図7に戻り、上記のページ・アドレス・ハ
ッシュを参照して必要なページアドレスとバッファとの
対応をとる(S14)。さらに、必要なページアドレス
に対応するバッファのバッファ区分情報を「1」に書き
替え、そのバッファを使用固定バッファの最後にリンク
させる(S15)。
【0030】そして、必要なページアドレスに対応する
全てのバッファが主記憶上に存在するか否かを判別し
(S16)、存在する場合にはそこでページ読み込み処
理を終了する。
【0031】一方、主記憶上に必要なページアドレスに
対応するバッファがそろっていない場合には、データを
連続して読み込むか、シークして読み込むかを決める為
に、ステップS17でページ・アドレス・セグメントを
作成する。
【0032】図9は、ページ・アドレス・セグメントの
作成処理のフローチャートである。先ず、ページ・アド
レス・リストの中でバッファが存在しないページ・アド
レスをピックアップする(S31)。
【0033】このとき、ページアドレスに対応するバッ
ファが存在するか否かは、図10(1) に示すページ・ア
ドレス・リストのバッファへのポインタが特定のバッフ
ァを指しているか、それとも「NULL」となっているかに
よって判断できる。
【0034】図10(1) のページ・アドレス・リストの
ポインタは全て「NULL」となっているが、これは検索対
象キーA〜Dに対応するバッファが全て存在しない場合
を示している。
【0035】次に、ピックアップされたページアドレス
をソートしてページアドレス順に並べ替え(S32)、
ページアドレスが連続するものをセグメント化する(S
33)。
【0036】図10(2) 及び(3) は、ページアドレスが
連続するものをセグメント化したときの一例を示してい
る。この場合、1ページと2ページが連続していて、他
のページ、7、10、15、18、20、は連続してい
ないので、1ページと2ページが1つのセグメントとな
り、他のページはそれぞれ独立のセグメントとなる。
【0037】次に、上記の各セグメント間の不要ページ
とそのアドレス間隔情報を必要ページのセグメントのリ
ンクに挿入する(S34)。図10の(4) は、このとき
の状態の一例を示している。
【0038】そして、セグメントと不要ページの間隔情
報からページ間隔が所定のシークファクタ以下の不要ペ
ージのアドレス間隔情報を除去し、その不要ページの両
側の必要ページのセグメントを1つのセグメントに同化
させてセグメントを再編成する(S35)。
【0039】ところで、ファイル上の離散したデータを
読み込む場合に、読み込む必要のないデータのアドレス
位置までヘッドが移動したら、次のアドレス位置までシ
ークして読み込みを行った方がアクセス時間が短い場合
と、不要データも連続して読み込みを行った方がアクセ
ス時間が短いときの2通りが考えられる。
【0040】図11は、シークした場合と順次読み込み
を行った場合のアクセス時間のトレードオフの説明図で
あり、ページ間隔が一定値Pr 以下のときには、不要ペ
ージを順次読み込んだ方がシークするよりもアクセス時
間が短くなる。
【0041】ステップS35で複数のセグメントを1つ
のセグメントに同化させるときの判断の基準となるシー
クファクタは、このときのページ間隔Pr で決まる値で
あり、本実施例ではシークファクタを「2」とし、不要
ページのページ間隔が2ページ以下のときには、その不
要ページの前後の必要ページを1つのセグメントに同化
させるようにしている。
【0042】例えば、図10の(4) に示すページ・アド
レス・セグメントを上記のシークファクタに基づいて再
編成すると、不要ページの8〜9ページ、不要ページの
19ページ及び不要ページの16〜17ページはそれぞ
れページ間隔が2ページ以下であるので、それらのペー
ジ間隔情報を除去し、前後の必要ページを1つのセグメ
ントにまとめることができる。
【0043】この結果、図10の(5)に示すように、1
〜2ページ、7〜10ページ、15〜20ページがそれ
ぞれ1つのセグメントとなり、ページ間隔が3ページ以
上有る不要ページの3〜6ページと不要ページの11〜
14ページが残る。
【0044】以上のようにしてページ・アドレス・セグ
メントが作成されると、図7のステップS18のファイ
ルからのページ読み込み処理が実行される。この読み込
み処理では、上記のようにして作成したページ・アドレ
ス・セグメントを順次取り出し(S19)、先ずそのペ
ージ・アドレス・セグメントの先頭のページアドレスに
ファイルの読み込み位置をシークする(S20)。次
に、各セグメントの示すページ数分連続してデータを読
み込み(S21)、さらにページ別バッファの読み込
み、読み飛ばし処理を実行する(S23)。
【0045】図12は、上記ページ別バッファの読み込
み、読み飛ばし処理のフローチャートである。先ず、ペ
ージ・アドレス・セグメントの必要ページのセグメント
の最初のページアドレスを読み込み、そのページが必要
ページか、空きページか、それとも不要ページかを判別
する(S41)。このとき読み込むべきページが、必要
ページか否かの判別はページ・アドレス・リストを参照
することで行われ、空きページか否かの判別は空きペー
ジ管理情報(図4)を参照することで行われる。
【0046】ステップS41の判別で読み込んだページ
が必要ページであった場合には、ステップS42に進み
そのページを格納する為のバッファを確保する(S4
2)。さらに、その確保したバッファに該当するページ
のデータを読み込み、そのバッファのバッファ区分を
「1」に書き替え、そのバッファのポインタを使用固定
バッファの最後にリンクさせる(S43)。
【0047】また、このバッファを効率良く探せるよう
に、前述したハッシュ関数H(x) に基づいてそのバッフ
ァをページ・アドレス・ハッシュに登録する(S4
4)。さらに、ページ・アドレス・リストの該当するペ
ージアドレスにそのバッファを指すポインタを設定する
(S45)。
【0048】一方、ステップS41の判別で、読み込ん
だページが空きページであれば、ステップS46に進み
そのページをバッファに格納せずそのまま読み飛ばす。
他方、ステップS41の判別で、読み込んだページが必
要ページでも、空きページでもなければ不要ページであ
り、この場合ステップS47に進み同一ページが再利用
可能バッファに存在するか否かを調べる。なお、同一ペ
ージがバッファ上に存在するか否かを調べるのは、ペー
ジ・アドレス・ハッシュにそのページが既に登録されて
いるか否を調べることで行う。
【0049】該当するページが既に主記憶上に存在する
ときには、そのページを読み込む必要がないのでそのま
ま読み飛ばす(ステップS48)。同一ページが主記憶
上に存在しないときには、不要ページを記憶する為のバ
ッファを確保する(S49)。
【0050】そして、その新たに確保したバッファに不
要ページを読み込み、そのバッファのバッファ区分を
「0」に設定し、同時にそのバッファのポインタを再利
用可能なバッファの最後にリンクさせる(S50)。
【0051】さらに、S44と同様に、このバッファを
ページ・アドレス・ハッシュに登録する(S51)。な
お、不要ページを主記憶に読み込むことは、次の検索で
その不要ページが必要とされる場合があるので、検索対
象ページの主記憶常駐率を高めるうえで効果があるが、
他方その為に多くの主記憶領域が使われて主記憶領域が
不足することが考えられる。
【0052】そこで、本実施例では必要ページは使用固
定のバッファに格納し、不要ページを再利用可能なバッ
ファに格納するようにし、新たなバッファの領域が不足
したときには再利用可能バッファをその領域として利用
できるようにしている。
【0053】さらに、今回の検索で使用固定バッファに
設定されたものも、次の検索時に全て再利用可能バッフ
ァに移行されるので、多くの検索対象ページを主記憶上
に常駐させて検索効率を高めながら、再利用可能バッフ
ァをあたかも新規に確保されたバッファ領域として使用
することができ、主記憶を効率的に利用することができ
る。
【0054】図13は、上述したバッファへの読み込み
動作の説明図である。先ず、シークファクタにより再編
成したページ・アドレス・セグメントを参照して検索す
るページが必要ページであるか否かを調べる。
【0055】例えば、図10のページ・アドレス・セグ
メントを参照すると、ページアドレス1〜2のセグメン
トは必要ページであるので、それらのページを格納する
為のバッファを確保し、データページファイル(図1
3)の該当するページの内容をそれらのバッファに順次
読み込む。さらに、それらのバッファの区分を「1」に
して使用固定バッファの最後にリンクさせる。
【0056】ページアドレス3〜6のセグメントは不要
ページのセグメントであるので、読み込みは行わず、ペ
ージアドレス7〜10のセグメントは必要ページである
のでページアドレス7の位置にヘッドをシークしてそれ
らのページを連続して読み込む。
【0057】この場合、ページ7、10は必要ぺージで
あるのでそれぞれのページをバッファに格納し、それら
のバッファを使用固定バッファの最後にリンクさせる。
他方、ページ8、9は不要ページであるが、同様にバッ
ファに格納し、それらのバッファを再利用可能バッファ
の最後にリンクさせる。
【0058】ページ11〜14は空きページであるので
データの読み込みは行わない。次のページ15〜20の
セグメントは必要ページのセグメントであるのでページ
アドレス15の位置にヘッドをシークしてデータの読み
込み開始する。
【0059】この場合、ページ15は必要ページである
のでそのページの内容をバッファに格納し、そのバッフ
ァを使用固定バッファの最後にリンクさせる。ページ1
6は不要ページであるがそのページの内容をバッファに
格納し、そのバッファを再利用可能バッファの最後にリ
ンクさせる。次のページ17は空きページであるのでそ
のまま読み飛ばす。
【0060】ページ18は必要ページであるのでそのペ
ージの内容をバッファに格納して、使用固定バッファの
最後(この場合、ページ15が格納されているバッファ
の次)にリンクさせる。ページ19は空きページである
のでバッファに格納せずにそのまま読み飛ばす。次のペ
ージ20は必要ページであるのでそのページの内容をバ
ッファに格納し、そのバッファを使用固定バッファの最
後にリンクさせる。
【0061】このように検索条件を満足する必要ページ
の間に不要ページ、あるいは空きページが存在する場合
に、それらのページを連続して読み込む場合とシークし
て読み込む場合のアクセス時間を計算し、連続して読み
込む場合のアクセス時間がシーク時間と等しいか、短い
ときには、それらのページを1つのセグメントに同化す
るようにしている。そして、上記のようにして作成した
セグメント単位で連続してファイルの読み込みを行うよ
うにしている。
【0062】従って、ファイル上で離散したデータを読
み込む場合にも、最短時間で必要なデータを読み込むこ
とができる。また、連続して読み込んだデータの中で必
要なデータは使用固定バッファに、不要なデータは再利
用可能バッファにリンクさせるようにし、バッファ領域
が不足したときには再利用可能バッファを新たなバッフ
ァ領域として使用できるようにしたので、検索対象デー
タの主記憶常駐率を高めながら主記憶領域を効率良く利
用することができる。
【0063】次に、バッファ領域を確保する場合の動作
を図14のフローチャートを参照して説明する。主記憶
領域は、バッファ以外にページ・アドレス・リストやペ
ージ・アドレス・ハッシュなどにも使用されているの
で、それらの領域を確保する為にもバッファ領域の最大
サイズ(バッファ領域の制限数)を予め見積もってお
き、バッファ領域が制限数に達したなら新たに設けるバ
ッファ領域として再利用可能バッファを利用するように
している。
【0064】先ず、バッファ領域の制限数に達したか否
かを判別する(図14、S61)。制限数に達していな
ければ主記憶上に新たなバッファ領域を確保する(S6
2)。
【0065】一方、制限数に達したときには、再利用可
能バッファの中で最も古いバッファを選び出す(S6
3)。本実施例では、使用固定バッファも再利用可能バ
ッファも最新で読み込まれたバッファ、あるいは最新で
必要ページと見なされたバッファをそれぞれのリンクの
最後につなぐようにしているので、リンクの先頭が最も
古いバッファとなっている。
【0066】そこで、上記ステップS63では再利用可
能バッファの先頭のバッファを取り出すことで最も古い
バッファを選び出している。そして、次のステップS6
4でその選択したバッファを再利用可能バッファのリン
クから外す。これによりそのバッファの記憶されていた
ページアドレスの内容が主記憶上に存在しないことにな
るので、そのバッファをページ・アドレス・ハッシュか
ら除外する(S65)。
【0067】さらに、そのリンクから外したバッファの
ポインタを新たに確保したバッファ領域のポインタとす
る(S66)。例えば、図13の説明図で、ページアド
レス18の内容を読み込もうとしたときにバッファ領域
が不足したとすると、再利用可能バッファの先頭にある
ページアドレス8のバッファがリンクから外されてペー
ジアドレス18の内容の格納用バッファとして再利用さ
れる。
【0068】上述したようにして、例えば「SELECT * F
ROM DATAPAGE WHERE KEY >=‘A’AND KEY<=‘D’;
」という検索要求が実行された後、「GET * FROM DATA
PAGE WHERE KEY > =‘E’AND KEY < =‘H’;」と
いう検索要求があったとする。
【0069】この場合、先の検索でキー値A〜Dのデー
タが必要データとして、キー値E、Fのデータが不要デ
ータとして主記憶上に存在するので、ページアドレス6
のキー値Gのデータと、ページアドレス21のキー値G
及びページアドレス24のキー値Hのデータとを2回の
シーク動作でデータ・ページ・ファイルからバッファに
読み込むだけで良い。
【0070】なお、上記実施例ではファイルからのデー
タの読み込みをページ単位で行っているが、これに限ら
ずレコード単位、あるいは所定の文書データを1つの単
位として読み込みを行っても良い。
【0071】また、不要部分も含めてデータを連続して
読み込むか、それともシークして読み込むかの判断の基
準となるシークファクタとしてシークと順次読み込みに
おけるアクセス時間のトレードオフとなるページ間隔を
用いているが、ページ間隔に限らず、例えばレコード
数、文書データ数、あるいは順次読み込み時間とシーク
時間などのように、連続読み込みとシークとの何れの方
がアクセス時間が短いかを判断できるような情報であれ
ば良い。
【0072】
【発明の効果】本発明によれば、ファイル上に離散した
データを読み込む場合に、不要部分を含めて連続して読
み込んだときの時間と、シークして必要な部分だけを読
み込んだときの時間を予め見積もることで、常にアクセ
ス時間の最も短い方法でデータを読み込むことができ
る。また、読み込んだ必要ページは使用固定バッファ
に、不要ページは再利用可能バッファに格納し、バッフ
ァ領域が不足したときに再利用可能バッファを再使用す
るようにしたので、バッファの主記憶領域を有効に活用
しながら、データの主記憶駐在率を高め、ファイルアク
セスによるオーバヘッドを軽減させることができる。
【0073】さらに、連続して読み込むか、シークして
読み込むかの判断の基準となる情報を、ファイル読み込
み処理とは独立した情報として保持しているので、ファ
イル読み込み装置の性能によってデータの読み込み処理
を変更する必要が無く、それぞれの装置の最適な条件で
データの読み込みを行うことができる。
【図面の簡単な説明】
【図1】本発明の原理ブロック図である。
【図2】実施例のシステム構成図である。
【図3】実施例の全体の動作を示すフローチャートであ
る。
【図4】空きページ管理情報のデータ構造を示す図であ
る。
【図5】インデクスのデータ構造を示す図である。
【図6】データ・ページの状態を示す図である。
【図7】ページ読み込み処理のフローチャートである。
【図8】ページ・アドレス・リストとページ・アドレス
・ハッシュの説明図である。
【図9】ページ・アドレス・セグメントの作成処理のフ
ローチャートである。
【図10】ページ・アドレス・セグメント作成の説明図
である。
【図11】シークと順次読み込みにおけるアクセス時間
のトレードオフの説明図である。
【図12】ページ別バッファ読み込み/読み飛ばし処理
のフローチャートである。
【図13】ページのバッファへの読み込み動作の説明図
である。
【図14】バッファ領域の確保処理のフローチャートで
ある。
【符号の説明】
1 ファイル 2 セグメント構成手段 3 データ読み込み手段

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】ファイル(1)上に離散して存在する必要
    データを検索して、該データをバッファに読み込むファ
    イル読み込み装置において、 読み込むべき必要データをファイル(1)上でアドレス
    が連続する単位でセグメント化するセグメント構成手段
    (2)と、 前記各セグメント間のファイル(1)上での読み込み位
    置を移動する場合に、セグメント間を連続して読み込む
    場合とシークする場合のアクセス時間を見積もり、セグ
    メント間を連続して読み込む方がアクセス時間が短いと
    きには、不要データを含む複数のセグメントを順次バッ
    ファに読み込むデータ読み込み手段(3)とを備えるこ
    とを特徴とするファイル読み込み装置。
  2. 【請求項2】前記データ読み込み手段(3)は、読み込
    んだデータの内必要データを使用固定バッファに、不要
    データをバッファ領域が不足したとき再利用される再利
    用可能バッファに格納することを特徴とする請求項1記
    載のファイル読み込み装置。
  3. 【請求項3】前記データ読み込み手段(3)は、セグメ
    ント間を連続して読み込む方がアクセス時間が短いとき
    に、該複数のセグメントを1つのセグメントに同化さ
    せ、そのセグメント単位で前記ファイル(1)からのデ
    ータの読み込みを行うことを特徴とする請求項1記載の
    ファイル読み込み装置。
  4. 【請求項4】前記データ読み込み手段(3)がアクセス
    時間を見積もるときの基礎となる情報は、該手段が実行
    するアクセス時間の見積もり処理とは独立して外部から
    定義できる情報であることを特徴とする請求項1、2又
    は3記載のファイル読み込み装置。
  5. 【請求項5】ファイル(1)上に離散して存在する必要
    データを検索して、該データをバッファに読み込む場合
    に、 読み込むべき必要データをファイル(1)上でアドレス
    が連続する単位でセグメント化し、 前記各セグメント間のファイル(1)上での読み込み位
    置を移動する場合に、該セグメント間を連続して読み込
    む場合とシークする場合のアクセス時間を見積もり、セ
    グメント間を連続して読み込む方がアクセス時間が短い
    ときには、不要データを含む複数のセグメントを順次バ
    ッファに読み込むことを特徴とするファイル読み込み方
    法。
  6. 【請求項6】不要データを含む複数のセグメントをバッ
    ファに順次読み込む場合に、読み込んだデータの内必要
    データを使用固定バッファに、不要データをバッファ領
    域が不足したとき再利用される再利用可能バッファに格
    納することを特徴とする請求項5記載のファイル読み込
    み方法。
  7. 【請求項7】セグメント間を連続して読み込む方がアク
    セス時間が短いときに、該複数のセグメントを1つのセ
    グメントに同化させ、そのセグメント単位で前記ファイ
    ル(1)からのデータの読み込みを行うことを特徴とす
    る請求項5又は6記載のファイル読み込み方法。
JP4053216A 1992-03-12 1992-03-12 ファイル読み込み装置及びファイル読み込み方法 Withdrawn JPH05257610A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4053216A JPH05257610A (ja) 1992-03-12 1992-03-12 ファイル読み込み装置及びファイル読み込み方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4053216A JPH05257610A (ja) 1992-03-12 1992-03-12 ファイル読み込み装置及びファイル読み込み方法

Publications (1)

Publication Number Publication Date
JPH05257610A true JPH05257610A (ja) 1993-10-08

Family

ID=12936641

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4053216A Withdrawn JPH05257610A (ja) 1992-03-12 1992-03-12 ファイル読み込み装置及びファイル読み込み方法

Country Status (1)

Country Link
JP (1) JPH05257610A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016207096A (ja) * 2015-04-27 2016-12-08 富士通株式会社 階層ストレージ装置、階層ストレージシステム、階層ストレージ方法、および階層ストレージプログラム
KR20210016186A (ko) * 2019-08-01 2021-02-15 삼성전자주식회사 스토리지 장치, 그것을 포함하는 메모리 시스템 및 그것의 동작 방법
JP2021105812A (ja) * 2019-12-26 2021-07-26 ファナック株式会社 情報収集装置
US12229438B2 (en) 2019-08-01 2025-02-18 Samsung Electronics Co., Ltd. Storage device, memory system comprising the same, and operation method thereof

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016207096A (ja) * 2015-04-27 2016-12-08 富士通株式会社 階層ストレージ装置、階層ストレージシステム、階層ストレージ方法、および階層ストレージプログラム
KR20210016186A (ko) * 2019-08-01 2021-02-15 삼성전자주식회사 스토리지 장치, 그것을 포함하는 메모리 시스템 및 그것의 동작 방법
US12229438B2 (en) 2019-08-01 2025-02-18 Samsung Electronics Co., Ltd. Storage device, memory system comprising the same, and operation method thereof
JP2021105812A (ja) * 2019-12-26 2021-07-26 ファナック株式会社 情報収集装置

Similar Documents

Publication Publication Date Title
JPH1196145A (ja) 文書画像データの記憶制御方式
JPH0628226A (ja) データ処理方法および装置
JP3251138B2 (ja) ハッシュ方式
EP1850250A1 (en) Method and system for renewing an index
JPH05257610A (ja) ファイル読み込み装置及びファイル読み込み方法
US5717918A (en) Method for concurrently performing a physical sequential scan of a database into a database buffer which is queued until a preceding scan is completed
JP2675958B2 (ja) 情報検索用計算機システム及びその記憶装置の動作方法
JPH0561758A (ja) 情報リンク装置
KR20010056528A (ko) 대용량 데이터 파일의 검색 및 처리를 위한 데이터 타일링방법
JP3439364B2 (ja) 不定長データの格納方法および検索方法
JP4540556B2 (ja) データアクセス方法及びそのプログラム
JP2507344B2 (ja) 画像ファイル・システムにおけるデ―タ登録方法およびデ―タ検索方法
JPH09293008A (ja) ソート作業ファイルスペース管理方式
JPH05314188A (ja) 範囲をもつデータの検索処理方式
JPH05197757A (ja) ファイリングシステム装置の検索データ管理方法
JP3398672B2 (ja) 中間データ格納装置
KR20030006638A (ko) 셀 기반의 고차원 데이터 색인 장치 및 그 방법
JPH08190501A (ja) データベースのデータ格納方法
JPH0228846A (ja) データ格納方式
JPH03100841A (ja) 情報処理装置
JPH05250243A (ja) 拡張記憶装置のデータ処理方式
JPH05307578A (ja) 画像検索装置
JP2004227090A (ja) 表示画面設定装置、表示画面設定プログラム及び記録媒体
JPH05313963A (ja) データファイルに対する格納ブロック決定システム
JPS63150724A (ja) デ−タアクセス処理方式

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 19990518