JPS6127771B2 - - Google Patents
Info
- Publication number
- JPS6127771B2 JPS6127771B2 JP48068362A JP6836273A JPS6127771B2 JP S6127771 B2 JPS6127771 B2 JP S6127771B2 JP 48068362 A JP48068362 A JP 48068362A JP 6836273 A JP6836273 A JP 6836273A JP S6127771 B2 JPS6127771 B2 JP S6127771B2
- Authority
- JP
- Japan
- Prior art keywords
- file
- records
- record
- data
- sequential
- 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
Links
- 238000000034 method Methods 0.000 claims description 42
- 238000005192 partition Methods 0.000 claims description 13
- 238000012545 processing Methods 0.000 claims description 9
- 230000008520 organization Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 230000001174 ascending effect Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000013479 data entry Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
- G06F16/90348—Query processing by searching ordered data, e.g. alpha-numerically ordered data
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (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
本発明は、比較的小規模のコンピユーター・シ
ステムの索引順次フアイルにアクセスするための
方法に関する。 データ項目は、通常、データ・フアイルの構成
要素となるレコード(記録)に組織されると考え
られている。コンピユーター・システムにおいて
フアイル中の項目にアクセスできる速度は、フア
イルが収容されている記憶装置の型だけでなく、
フアイルが組織される態様にも依存する。フアイ
ル組織のタイプはまた、フアイルを収容するため
に必要とされる記憶容量に影響を与える。一般
に、より複雑なフアイル組織は、より簡単なフア
イル組織よりも大きな記憶容量を必要とする。逆
に、より簡単なフアイル組織は、そのフアイル中
の項目にアクセスするためにより多くの時間を必
要とする。 記憶スペースの観点から云うと、最も経済的な
組織は、厳格な逐次フアイルである。そのような
フアイル組織は、次の記録への迅速なアクセス能
力と、非常に遅いランダム・アクセス能力とを有
する。更に、逐次フアイルの保守は、技術的には
簡単であるが時間を食う。 フアイル組織の別の形態は、主フアイルが厳密
な順次式に順序付けられ、記録グループへのキー
が索引に記憶されている索引順次フアイルであ
る。この技術は、索引の探索が主フアイルの探索
の場合程多くの時間を要しないので、スピードに
おいて逐次フアイル組織よりも優れている。斯く
して、索引順次フアイルのランダム・アクセシン
グは、より容易に適応される。しかし、各索引テ
ーブルを収容するために余分の記憶スペースが必
要とされる。 索引順次フアイルの保守は、逐次フアイルの場
合のように全フアイルの完全な再書き込みを必要
としない。索引順次フアイルへの追加は、索引及
び主フアイルに変更が為されることと、オーバー
フローが起きる場合にフアイルのオーバーフロー
領域に結合が為されることとを必要とする。 より大きなフアイルに対しては、粗テーブルが
各微細テーブルに対して一つのエントリーを備
え、各微細テーブルが関連フアイルへのエントリ
ーを含む、というような粗テーブル及び微細テー
ブルの階層を設けることによつて、特定の記録に
アクセスするための時間が短縮され得る。そのよ
うな複合フアイル組織は、ランダム・アクセスと
逐次アクセスの両方に対して最適のアクセス時間
を達成するが、必要とされる記憶容量は、比例し
て増大する。記憶容量の制限されているより小さ
なデータ処理システムでは、最小数のテーブルを
必要とするフアイル組織を備えることが望まし
い。 仍つて本発明の目的は、索引順次フアイルを収
容する改良された方法を提示することである。 本発明のもう一つの目的は、最小量の記憶容量
で索引順次フアイルを収容する方法を提示するこ
とである。 本発明の更に別の目的は、最小数の索引テーブ
ルで複合フアイル組織を取扱う方法を提示するこ
とである。 上述の目的を達成するため、本発明の方法は、
ある与えられた記録を捜し出すため逐次フアイル
がアクセスされる時に該逐次フアイルに対して索
引テーブルを確立するようにしてある。斯くし
て、索引テーブルを永久的に記憶するために付加
的な記憶容量が必要とされない。 本発明の特徴は、フアイルがアクセスされる際
に逐次フアイルに対して索引テーブルを確立する
方法にあり、該方法では、該逐次フアイルが一連
の区画に分割され、各フアイル区画毎に一個のデ
ータ・キーというようにデータ・キーのテーブル
が創出される。フアイルにアクセスするため該方
法では、所望のデータ・キーに対する索引テーブ
ルが探索され、そのデータ・キーは、所望の記録
が捜索されるフアイルの特定区画を表わす記録番
号に変換され、それから所望の記録に対する該区
画が探索される。 本発明の付加的な特徴は、フアイルが開かれた
後に該フアイルに所望の記録が付け加えられた場
合に、その付加部分を探索する方法にある。 本発明の上述及びその他の目的並びに特徴の利
点は、添附図面を参照した以下の説明から明らか
になるであろう。 本発明の方法は、主メモリの記憶容量そしてま
た周辺装置の記憶容量が珍重されるような小さな
データ処理システムに特に適したものであるが、
何らこれに限定されない。より具体的には、本発
明の方法は、一般にデイスク・フアイルと呼ばれ
るデイスク・ユニツト中のフアイルへのアクセス
に適している。そのようなデイスク・ユニツトに
収容されたフアイルは一般に、ランダム・アクセ
ス能力が非常に低いけれども次の記録にアクセス
する能力が非常に高い逐次フアイルである。本発
明の方法では、目的とするデータ・アクセス前に
索引テーブルを創出することによつてランダム・
アクセス能力を高めるようにしてある。ただし、
本発明の方法は、そのようなテーブルのために永
久的に確保されるべき記憶場所を、主メモリ又は
デイスク・ユニツトのどちらにも必要としない。
この意味で、本発明の方法は、フアイルがアクセ
スされる度毎に逐次フアイルを索引順次フアイル
に変換するものと云える。 本発明の方法は、上昇順又は下降順のどちらか
で配列されたフアイルを取扱うのに適している。
該フアイルは、多数の区画に分割され、その各区
画は、必ずしもそうである必要はないが、同数の
記録を具える。各区画中の最後の記録の記録番号
は、データ・キーとして利用され、該データ・キ
ーは、順序付けられた一群の区画中のその区画の
順番に数において対応する索引テーブル中の場所
に収容される。 所定の記録を発見するため該フアイルにアクセ
スするとき、索引テーブルにおいて、求められて
いる記録の記録番号を囲む2つの連続するデー
タ・キーが探索される。これら2つのデーダ・キ
ーの記憶場所の番号には、所望の記録が置かれて
いる特定区画の両端の記録番号を得るため、区画
毎の記録数が乗ぜられる。所望の記録番号が丁度
その両端の番号の内のどちらかである可能性と、
所望の記録がその区画で順番に探されるというこ
ととを考慮して、このように得られたより大きい
番号に2進値の1を加算し、より小さい番号から
2進値の1を減算する。 フアイルが開かれた後に所望の記録が該フアイ
ルに付加された場合を考慮して、上述のルーチン
によつて所望の記録が発見されなかつたときに
は、そのようにフアイルに追加された記録の内か
ら所望の記録番号が探索される。 フアイルに記録を追加することが望まれるとき
には、それらの記録はフアイルの端に追加され、
そして、フアイルが閉じられる前に、フアイル中
の記録は順番に類される。 上述の如く、本発明は、各フアイルが開かれた
際に関連テーブルが創出、又は再創出される、索
引順次フアイルを作り出す方法を扱つている。そ
のような情報フアイルは、区画に分割され、その
中の記録は、各記録内の或るフイールドの照合順
序値(collating‐sequence value)に従つて上
昇順に配列される。例えば、80コラム・イメージ
のフアイルは、第73〜80コラムにおける順序数に
従つて並べられる。フアイル中の記録はまた、該
フアイル中の各記録の順序値に従つてランダムに
アクセスされ得る。つまり、どんな特定の記録
も、他の記録と同じ程容易にアクセスされ得る。 本発明の方法を説明する前に、そのような方法
を利用するに適したシステムについて、第1図を
参照して説明する。該システムは、プロセツサ1
2及びI/O制御装置13からの要求に応じて、優
先順位決定装置11によつて決定される順序でア
クセスされる主メモリ10を有する通常のデータ
処理システムである。一旦I/O動作(「入出力動
作」の意味。)が始動されると、主メモリ10へ
又は主メモリ10からのデータ転送が、I/O制御
装置13によつて制御される。より小さいデータ
処理システムでは、プロセツサ12が、自体の処
理機能の他にI/O制御機能も果たすようにされ
る。I/O制御機能は、デイスク制御装置14によ
るデイスク・ユニツト15から又はデイスク・ユ
ニツト15へのデータ転送、及びテープ制御装置
16によるテープ・ユニツト17,18から又は
テープ・ユニツト17,18へのデータ転送を統
括する。本発明の実施例では、アクセスされるべ
き記録のフアイルはデイスク・ユニツト15中に
収容され、他方、該フアイルに索引を与えるため
に必要とされるテーブルは、創出され、デイス
ク・ユニツト15とは異なつて高速メモリと呼ば
れる主メモリ10に収容される。 上述のシステムで使用し得るタイプのプロセツ
サは、第7図に示すような1個の演算論理ユニツ
トと1セツトのレジスタとを有する。このプロセ
ツサは、スタツク・レジスタを有す簡単なフオ
ン・ノイマン型の機械である。第7図に示したよ
うに、Bレジスタ23は、第1図のシステムの主
メモリ10及びその他のユニツトからデータ・セ
グメントを受信する。これらのデータ・セグメン
トは、真偽ゲート24、論理(加算)ユニツト2
0及びバレル・スイツチ21を介して、真又は反
転した形態のどちらかでAレジスタ22に転送さ
れる。バレル・スイツチ21は、マトリツクス状
に構成した多数のゲートから成り、マルチ・ビツ
トの並列入力信号を、単一クロツク時で左若しく
は右へ、又は循環式若しくは非循環式にシフトす
るものである。このバレル・スイツチ21の詳細
は、米国特許第3610903号に詳細に説明されてい
る。Aレジスタ22及びBレジスタ23からのデ
ータは、論理(加算)ユニツト20によつて論理
的に組合わされ、バレル・スイツチ21によつて
エンド・オフ又は循環式にシフトされ、それか
ら、第1図のシステムの主メモリ10又はその他
のユニツトに転送される。第7図で、真偽ゲート
24とは、入力オペランドを必要に応じてそのま
まの形で又は反転した形で出力するゲートであ
る。 本発明に係る方法によれば、ある与えられた索
引に関する記録を迅速に発見することができ、ま
た、最終的な結果が依然として索引による上昇順
のフアイルであるように、ある与えられた記録を
フアイルに順番に付け加えることができる。該索
引は、記録内のデータとしても、また記録を同定
するキーとしても作用する点でデータ・キーであ
る。フアイル中の記録の順序番号は、実キーと呼
ばれる。 本発明の方法は、ジヨブ開始(BOJ)ルーチ
ン、探索及び付加ルーテン、並びにジヨブ終了ル
ーチンという3つのルーチンからなる。ジヨブ開
始ルーチンは、主動作が始まる前にフアイルに関
する情報を集めるために使われる。ジヨブ終了ル
ーチンは、主動作が完了してしまつた後にフアイ
ルを再分類するために使われる。探索及び付加ル
ーチンは、一つの記録に対する単一の探索を行な
うため、又はフアイルに単一の記録を付加するた
めに使われる。 本発明の方法では、2分探索及びフアイル区画
化という概念を採用する。フアイル区画化は、フ
アイルを多数の区画に分割し、高速アクセス記憶
装置(実施例の場合主メモリ)に斯く分割された
フアイルの各隣接する部分の最後のデータ・キー
を収容することによつて為される。フアイルを分
割する方法は第2図に示してあり、同図におい
て、フアイルの記録番号1は、高速メモリ中の索
引テーブルでエントリー番号1の場所に入れら
れ、例えば記録番号1094は、フアイルの1番目の
区画を指定するためエントリー番号2の場所に入
れられる。対応するエントリーが、フアイルの他
の区画に対しても作られる。第2図に示したよう
に、記録は上昇順に配列され、斯くしてデータ・
キーもまた上昇順に配列される。 2分探索のアルゴリズムを、第3A図及び第3
B図を参照して説明する。第3A図に示したよう
に、プロセツサ中の或るレジスタ(HIレジスタ
と呼ぶ。)は、探索されるべきリスト中の最後の
項目の記録番号に2進値1を加算した値に等しく
セツトされ、プロセツサ中の別のレジスタ(LO
レジスタと呼ぶ。)は、該リスト中の最初の項目
の記録番号から2進値1を減じた値に等しくセツ
トされる。プロセツサはそれから、HIレジスタ
及びLOレジスタの内容の平均値Pを計算する。
計算値Pが、LOレジスタの内容と等しくない
(等しいならば、リスト中には唯一つの記録しか
存在しない。)ならば、その数値Pは、探索引数
(即ちフアイル中で探索されるべき記録のデー
タ・キー)と比較される。もしも計算値Pが該探
索引数以上であれば、HIレジスタは値Pにセツ
トされ、新しい値Pが計算され、上記ルーチンが
繰り返される。もしも前述のPが探索引数よりも
小さければ、LOレジスタが値Pにセツトされ、
新しい値Pが計算され、直近の計算値PがLOレ
ジスタの内容と等しくなるまで上記ルーチンが繰
り返される。第3B図に示したように、直近の計
算値Pは、再び探索引数と比較される。この比較
が一致しないならば、探索引数は、リスト中に発
見されなかつたということになる。逆に比較が一
致すると、探索引数がリスト中に発見されたとい
うことになる。どちらの結果も、2分探索ルーチ
ンを終了させる。 上述のジヨブ開始(BOJ)ルーチンを、第4A
図及び第4B図を参照して説明する。このBOJル
ーチンは、多数のデータ・キー・フイールドと幾
つのデータ・キー・フイールドが記録され得るか
を示す1個の整数とを保持するに十分な、ある種
の高速メモリ中のアレイを必要とする。該BOJル
ーチンのもう一つの条件は、フアイル中の記録の
数(これを変数MXで示す。)を確かめることが
できる、ということである。また、この変数MX
をAXにセツトしているが、このAXは、このルー
チンでは何の機能も果たさず、単にMXの値に等
しく宣言されるに過ぎない。このAXは、後でジ
ヨブ終了(EOJ)ルーチンの際に、フアイルのソ
ーテイングを行なう必要があるかどうかを決定す
るためにその時のMX値との比較に供される。第
4A図に示したように、このBOJルーチンでは、
フアイルの1区画中の記録数を表わす変数NPが
計算される。より具体的には、変数NPは、フア
イル中の記録数MXをデータ・キーの総数C(即
ち、第2図中の高速メモリのアレイに収容される
べきデータ・キーの総数)で除して得た値に2進
値1を加算した値に等しい。第4B図のルーチン
では、フアイルからNP番目の記録が読み出さ
れ、高速メモリ中の第1の部分にそのデータ・キ
ーが収容される。BOJルーチンのこの後者の部分
では、第4B図に示すように、実キーKE及びI
で示されるプロセツサ中の2つのレジスタが使わ
れる。Iレジスタは0に等しくセツトされ、KE
レジスタはNPの値に等しくセツトされる。NP番
目の記録が、その実キーに対して読み出される。
フアイルの終端にまで達していなければ、そのデ
ータ・キーが、高速メモリのアレイ中の第1の記
憶場所DX(1)(即ち、第2図にエントリー1と記
した場所)に収容される。フアイルの終端に達し
ている場合には、照合順序の最高次キヤラクタ
が、高速メモリ中のアレイ終端のバツフアーに挿
入される。この最高次キヤラクタとは、照合順序
における任意の最高次のものであり、例えば、ア
ルフアベツトにおける「Z」、10進数における
「9」等である。これにより、照合すべき領域の
末端が明確に設定される。それからIレジスタの
内容が、アレイ中に収容されるべきデータ・キー
の総数Cと比較される。もしもIレジスタの内容
が、記憶されるべきデータ・キーの総数Cより小
さいならば、第4B図のルーチンが繰り返され
る。さもなければ、BOJルーチンは終了する。 上述のジヨブ開始(BOJ)ルーチンでは、索引
順次フアイルへの後のアクセスに必要とされる索
引テーブルが作り出された。この索引テーブル
は、その索引順次フアイルへのアクセスの間、主
メモリのような高速メモリに収容される。 所望の項目を捜し出すため索引フアイルにアク
セスする方法や、新しい項目を索引フアイルに付
加する方法を、第5A図、第5B図、第5C図及
び第5D図を参照して説明する。 探索ルーチンにおいて、高速メモリ中の索引の
アレイを通して2分探索が先ず行なわれる。この
探索ルーチンは、第5A図に示してあるが、この
第5A図は、第3A図に関連して先に説明した2
分探索と同様であるので、ここでは更に説明しな
い。 一旦索引、即ちデータ・キーがアレイ中に発見
されると、該データ・キーによつて参照される区
画は、第5B図,第5C図及び第5D図に従つて
探索される。第5A図のルーチンから脱け出たと
きには、LOレジスタは、求められている記録番
号よりは小さいが最大のデータ・キーのエントリ
ー番号(第2図に示す如く、高速メモリのアレイ
中の記憶場所を示す番号)を含み、HIレジスタ
は、そのエントリー番号に2進値1を加算した値
を含む。第5B図のルーチンで、これらエントリ
ー番号は、ジヨブ開始(BOJ)ルーチンに関連し
て上述したように、変数NPを計算し、利用する
ことによつて記録番号に変換される。即ち、LO
レジスタの内容は、この変数NPとLOレジスタの
前の値との積によつて置き換えられ、HIレジス
タの内容は、この変数NPとHIレジスタの前の値
との積によつて置き換えられる。HIレジスタの
内容は、次に、フアイル中の記録総数である変数
MXと比較される。もしもHIレジスタの内容が変
数MXより大きければ、HIレジスタの内容は変数
MXによつて置き換られれる。ルーチンの次の段
階で、HIレジスタの内容に2進値1が加算さ
れ、LOレジスタの内容から2進値1が減算され
る。第5B図のルーチンは、第5C図に示したフ
アイル捜索ルーチンへ行く。 第5C図において、実キーKEは、LOレジスタ
とHIレジスタとの平均として計算される。もし
もLOレジスタの内容が計算値KEに等しくなけれ
ば、その実キーKEによつて同定される記録コラ
ム(即ち、記録番号)が、探索引数と比較され
る。もしもその記録番号が探索引数より大きけれ
ば、HIレジスタは、実キーKEに等しくセツトさ
れる。もしもそうでないならば、LOレジスタが
実キーKEに等しくセツトされ、新しい実キーKE
が計算され、LOレジスタの内容が実キーKEと等
しくなるまでこのルーチンが繰り返される。LO
レジスタの内容が実キーKEと等しくなつた時点
で、第5C図のルーチンは、第5D図のルーチン
へ行く。 もしも第5C図及び第5D図の一部のルーチン
によつて所望の記録が発見されなかつたならば、
本システムは、フアイルが開かれた後に該フアイ
ルに追加された記録を捜索する。 第5D図に示すように、探索ルーチンは、記録
コラムを探索引数と比較することによつて終了す
る。もしも比較が一致すると、所望の記録が発見
されたことになる。比較が一致しないと、実キー
KEは、フアイル中の総記録数MXに等しくセツ
トされる。2進値1が実キーKEに加算される。
もしもフアイルの終端にまだ到達していないなら
ば、記録コラムが、探索引数と比較される。比較
が一致しないと、2進値1が実キーKEに加算さ
れ、ルーチンが続く。もしも実キーKEと探索引
数との間で一致が得られずにフアイルの終端に到
達すると、所望の記録がフアイル中に発見されな
かつたのであり、ルーチンは終了する。 フアイルに一つの記録を付加するため、その記
録は、フアイルの終端のところに書き込まれ、後
でジヨブ終了(EOJ)ルーチンによつて順番に分
類される。このジヨブ終了(EOJ)ルーチンは、
第6図に簡単に示してあるが、単に、現下の索引
フアイルの分類を示すに過ぎない。簡単に説明す
ると、このジヨブ終了(EOJ)ルーチンでは、第
4A図で記憶した記録数AXと、探索された実際
の記録数MXとが等しいかどうかが調べられ、等
しくない場合、即ち新しい記録が付加されている
場合には、付加された記録を含めてフアイル全体
が照合順序値に従つて再分類される。 上述の方法は、プログラム制御処理システムと
いう形態で実施されるとして説明してきた。本発
明の方法を制御するプログラムの一部を、以下に
示す。ただしこれらのプログラムは、B2500/
B3500/B4500 COBOLで書いてある。
ステムの索引順次フアイルにアクセスするための
方法に関する。 データ項目は、通常、データ・フアイルの構成
要素となるレコード(記録)に組織されると考え
られている。コンピユーター・システムにおいて
フアイル中の項目にアクセスできる速度は、フア
イルが収容されている記憶装置の型だけでなく、
フアイルが組織される態様にも依存する。フアイ
ル組織のタイプはまた、フアイルを収容するため
に必要とされる記憶容量に影響を与える。一般
に、より複雑なフアイル組織は、より簡単なフア
イル組織よりも大きな記憶容量を必要とする。逆
に、より簡単なフアイル組織は、そのフアイル中
の項目にアクセスするためにより多くの時間を必
要とする。 記憶スペースの観点から云うと、最も経済的な
組織は、厳格な逐次フアイルである。そのような
フアイル組織は、次の記録への迅速なアクセス能
力と、非常に遅いランダム・アクセス能力とを有
する。更に、逐次フアイルの保守は、技術的には
簡単であるが時間を食う。 フアイル組織の別の形態は、主フアイルが厳密
な順次式に順序付けられ、記録グループへのキー
が索引に記憶されている索引順次フアイルであ
る。この技術は、索引の探索が主フアイルの探索
の場合程多くの時間を要しないので、スピードに
おいて逐次フアイル組織よりも優れている。斯く
して、索引順次フアイルのランダム・アクセシン
グは、より容易に適応される。しかし、各索引テ
ーブルを収容するために余分の記憶スペースが必
要とされる。 索引順次フアイルの保守は、逐次フアイルの場
合のように全フアイルの完全な再書き込みを必要
としない。索引順次フアイルへの追加は、索引及
び主フアイルに変更が為されることと、オーバー
フローが起きる場合にフアイルのオーバーフロー
領域に結合が為されることとを必要とする。 より大きなフアイルに対しては、粗テーブルが
各微細テーブルに対して一つのエントリーを備
え、各微細テーブルが関連フアイルへのエントリ
ーを含む、というような粗テーブル及び微細テー
ブルの階層を設けることによつて、特定の記録に
アクセスするための時間が短縮され得る。そのよ
うな複合フアイル組織は、ランダム・アクセスと
逐次アクセスの両方に対して最適のアクセス時間
を達成するが、必要とされる記憶容量は、比例し
て増大する。記憶容量の制限されているより小さ
なデータ処理システムでは、最小数のテーブルを
必要とするフアイル組織を備えることが望まし
い。 仍つて本発明の目的は、索引順次フアイルを収
容する改良された方法を提示することである。 本発明のもう一つの目的は、最小量の記憶容量
で索引順次フアイルを収容する方法を提示するこ
とである。 本発明の更に別の目的は、最小数の索引テーブ
ルで複合フアイル組織を取扱う方法を提示するこ
とである。 上述の目的を達成するため、本発明の方法は、
ある与えられた記録を捜し出すため逐次フアイル
がアクセスされる時に該逐次フアイルに対して索
引テーブルを確立するようにしてある。斯くし
て、索引テーブルを永久的に記憶するために付加
的な記憶容量が必要とされない。 本発明の特徴は、フアイルがアクセスされる際
に逐次フアイルに対して索引テーブルを確立する
方法にあり、該方法では、該逐次フアイルが一連
の区画に分割され、各フアイル区画毎に一個のデ
ータ・キーというようにデータ・キーのテーブル
が創出される。フアイルにアクセスするため該方
法では、所望のデータ・キーに対する索引テーブ
ルが探索され、そのデータ・キーは、所望の記録
が捜索されるフアイルの特定区画を表わす記録番
号に変換され、それから所望の記録に対する該区
画が探索される。 本発明の付加的な特徴は、フアイルが開かれた
後に該フアイルに所望の記録が付け加えられた場
合に、その付加部分を探索する方法にある。 本発明の上述及びその他の目的並びに特徴の利
点は、添附図面を参照した以下の説明から明らか
になるであろう。 本発明の方法は、主メモリの記憶容量そしてま
た周辺装置の記憶容量が珍重されるような小さな
データ処理システムに特に適したものであるが、
何らこれに限定されない。より具体的には、本発
明の方法は、一般にデイスク・フアイルと呼ばれ
るデイスク・ユニツト中のフアイルへのアクセス
に適している。そのようなデイスク・ユニツトに
収容されたフアイルは一般に、ランダム・アクセ
ス能力が非常に低いけれども次の記録にアクセス
する能力が非常に高い逐次フアイルである。本発
明の方法では、目的とするデータ・アクセス前に
索引テーブルを創出することによつてランダム・
アクセス能力を高めるようにしてある。ただし、
本発明の方法は、そのようなテーブルのために永
久的に確保されるべき記憶場所を、主メモリ又は
デイスク・ユニツトのどちらにも必要としない。
この意味で、本発明の方法は、フアイルがアクセ
スされる度毎に逐次フアイルを索引順次フアイル
に変換するものと云える。 本発明の方法は、上昇順又は下降順のどちらか
で配列されたフアイルを取扱うのに適している。
該フアイルは、多数の区画に分割され、その各区
画は、必ずしもそうである必要はないが、同数の
記録を具える。各区画中の最後の記録の記録番号
は、データ・キーとして利用され、該データ・キ
ーは、順序付けられた一群の区画中のその区画の
順番に数において対応する索引テーブル中の場所
に収容される。 所定の記録を発見するため該フアイルにアクセ
スするとき、索引テーブルにおいて、求められて
いる記録の記録番号を囲む2つの連続するデー
タ・キーが探索される。これら2つのデーダ・キ
ーの記憶場所の番号には、所望の記録が置かれて
いる特定区画の両端の記録番号を得るため、区画
毎の記録数が乗ぜられる。所望の記録番号が丁度
その両端の番号の内のどちらかである可能性と、
所望の記録がその区画で順番に探されるというこ
ととを考慮して、このように得られたより大きい
番号に2進値の1を加算し、より小さい番号から
2進値の1を減算する。 フアイルが開かれた後に所望の記録が該フアイ
ルに付加された場合を考慮して、上述のルーチン
によつて所望の記録が発見されなかつたときに
は、そのようにフアイルに追加された記録の内か
ら所望の記録番号が探索される。 フアイルに記録を追加することが望まれるとき
には、それらの記録はフアイルの端に追加され、
そして、フアイルが閉じられる前に、フアイル中
の記録は順番に類される。 上述の如く、本発明は、各フアイルが開かれた
際に関連テーブルが創出、又は再創出される、索
引順次フアイルを作り出す方法を扱つている。そ
のような情報フアイルは、区画に分割され、その
中の記録は、各記録内の或るフイールドの照合順
序値(collating‐sequence value)に従つて上
昇順に配列される。例えば、80コラム・イメージ
のフアイルは、第73〜80コラムにおける順序数に
従つて並べられる。フアイル中の記録はまた、該
フアイル中の各記録の順序値に従つてランダムに
アクセスされ得る。つまり、どんな特定の記録
も、他の記録と同じ程容易にアクセスされ得る。 本発明の方法を説明する前に、そのような方法
を利用するに適したシステムについて、第1図を
参照して説明する。該システムは、プロセツサ1
2及びI/O制御装置13からの要求に応じて、優
先順位決定装置11によつて決定される順序でア
クセスされる主メモリ10を有する通常のデータ
処理システムである。一旦I/O動作(「入出力動
作」の意味。)が始動されると、主メモリ10へ
又は主メモリ10からのデータ転送が、I/O制御
装置13によつて制御される。より小さいデータ
処理システムでは、プロセツサ12が、自体の処
理機能の他にI/O制御機能も果たすようにされ
る。I/O制御機能は、デイスク制御装置14によ
るデイスク・ユニツト15から又はデイスク・ユ
ニツト15へのデータ転送、及びテープ制御装置
16によるテープ・ユニツト17,18から又は
テープ・ユニツト17,18へのデータ転送を統
括する。本発明の実施例では、アクセスされるべ
き記録のフアイルはデイスク・ユニツト15中に
収容され、他方、該フアイルに索引を与えるため
に必要とされるテーブルは、創出され、デイス
ク・ユニツト15とは異なつて高速メモリと呼ば
れる主メモリ10に収容される。 上述のシステムで使用し得るタイプのプロセツ
サは、第7図に示すような1個の演算論理ユニツ
トと1セツトのレジスタとを有する。このプロセ
ツサは、スタツク・レジスタを有す簡単なフオ
ン・ノイマン型の機械である。第7図に示したよ
うに、Bレジスタ23は、第1図のシステムの主
メモリ10及びその他のユニツトからデータ・セ
グメントを受信する。これらのデータ・セグメン
トは、真偽ゲート24、論理(加算)ユニツト2
0及びバレル・スイツチ21を介して、真又は反
転した形態のどちらかでAレジスタ22に転送さ
れる。バレル・スイツチ21は、マトリツクス状
に構成した多数のゲートから成り、マルチ・ビツ
トの並列入力信号を、単一クロツク時で左若しく
は右へ、又は循環式若しくは非循環式にシフトす
るものである。このバレル・スイツチ21の詳細
は、米国特許第3610903号に詳細に説明されてい
る。Aレジスタ22及びBレジスタ23からのデ
ータは、論理(加算)ユニツト20によつて論理
的に組合わされ、バレル・スイツチ21によつて
エンド・オフ又は循環式にシフトされ、それか
ら、第1図のシステムの主メモリ10又はその他
のユニツトに転送される。第7図で、真偽ゲート
24とは、入力オペランドを必要に応じてそのま
まの形で又は反転した形で出力するゲートであ
る。 本発明に係る方法によれば、ある与えられた索
引に関する記録を迅速に発見することができ、ま
た、最終的な結果が依然として索引による上昇順
のフアイルであるように、ある与えられた記録を
フアイルに順番に付け加えることができる。該索
引は、記録内のデータとしても、また記録を同定
するキーとしても作用する点でデータ・キーであ
る。フアイル中の記録の順序番号は、実キーと呼
ばれる。 本発明の方法は、ジヨブ開始(BOJ)ルーチ
ン、探索及び付加ルーテン、並びにジヨブ終了ル
ーチンという3つのルーチンからなる。ジヨブ開
始ルーチンは、主動作が始まる前にフアイルに関
する情報を集めるために使われる。ジヨブ終了ル
ーチンは、主動作が完了してしまつた後にフアイ
ルを再分類するために使われる。探索及び付加ル
ーチンは、一つの記録に対する単一の探索を行な
うため、又はフアイルに単一の記録を付加するた
めに使われる。 本発明の方法では、2分探索及びフアイル区画
化という概念を採用する。フアイル区画化は、フ
アイルを多数の区画に分割し、高速アクセス記憶
装置(実施例の場合主メモリ)に斯く分割された
フアイルの各隣接する部分の最後のデータ・キー
を収容することによつて為される。フアイルを分
割する方法は第2図に示してあり、同図におい
て、フアイルの記録番号1は、高速メモリ中の索
引テーブルでエントリー番号1の場所に入れら
れ、例えば記録番号1094は、フアイルの1番目の
区画を指定するためエントリー番号2の場所に入
れられる。対応するエントリーが、フアイルの他
の区画に対しても作られる。第2図に示したよう
に、記録は上昇順に配列され、斯くしてデータ・
キーもまた上昇順に配列される。 2分探索のアルゴリズムを、第3A図及び第3
B図を参照して説明する。第3A図に示したよう
に、プロセツサ中の或るレジスタ(HIレジスタ
と呼ぶ。)は、探索されるべきリスト中の最後の
項目の記録番号に2進値1を加算した値に等しく
セツトされ、プロセツサ中の別のレジスタ(LO
レジスタと呼ぶ。)は、該リスト中の最初の項目
の記録番号から2進値1を減じた値に等しくセツ
トされる。プロセツサはそれから、HIレジスタ
及びLOレジスタの内容の平均値Pを計算する。
計算値Pが、LOレジスタの内容と等しくない
(等しいならば、リスト中には唯一つの記録しか
存在しない。)ならば、その数値Pは、探索引数
(即ちフアイル中で探索されるべき記録のデー
タ・キー)と比較される。もしも計算値Pが該探
索引数以上であれば、HIレジスタは値Pにセツ
トされ、新しい値Pが計算され、上記ルーチンが
繰り返される。もしも前述のPが探索引数よりも
小さければ、LOレジスタが値Pにセツトされ、
新しい値Pが計算され、直近の計算値PがLOレ
ジスタの内容と等しくなるまで上記ルーチンが繰
り返される。第3B図に示したように、直近の計
算値Pは、再び探索引数と比較される。この比較
が一致しないならば、探索引数は、リスト中に発
見されなかつたということになる。逆に比較が一
致すると、探索引数がリスト中に発見されたとい
うことになる。どちらの結果も、2分探索ルーチ
ンを終了させる。 上述のジヨブ開始(BOJ)ルーチンを、第4A
図及び第4B図を参照して説明する。このBOJル
ーチンは、多数のデータ・キー・フイールドと幾
つのデータ・キー・フイールドが記録され得るか
を示す1個の整数とを保持するに十分な、ある種
の高速メモリ中のアレイを必要とする。該BOJル
ーチンのもう一つの条件は、フアイル中の記録の
数(これを変数MXで示す。)を確かめることが
できる、ということである。また、この変数MX
をAXにセツトしているが、このAXは、このルー
チンでは何の機能も果たさず、単にMXの値に等
しく宣言されるに過ぎない。このAXは、後でジ
ヨブ終了(EOJ)ルーチンの際に、フアイルのソ
ーテイングを行なう必要があるかどうかを決定す
るためにその時のMX値との比較に供される。第
4A図に示したように、このBOJルーチンでは、
フアイルの1区画中の記録数を表わす変数NPが
計算される。より具体的には、変数NPは、フア
イル中の記録数MXをデータ・キーの総数C(即
ち、第2図中の高速メモリのアレイに収容される
べきデータ・キーの総数)で除して得た値に2進
値1を加算した値に等しい。第4B図のルーチン
では、フアイルからNP番目の記録が読み出さ
れ、高速メモリ中の第1の部分にそのデータ・キ
ーが収容される。BOJルーチンのこの後者の部分
では、第4B図に示すように、実キーKE及びI
で示されるプロセツサ中の2つのレジスタが使わ
れる。Iレジスタは0に等しくセツトされ、KE
レジスタはNPの値に等しくセツトされる。NP番
目の記録が、その実キーに対して読み出される。
フアイルの終端にまで達していなければ、そのデ
ータ・キーが、高速メモリのアレイ中の第1の記
憶場所DX(1)(即ち、第2図にエントリー1と記
した場所)に収容される。フアイルの終端に達し
ている場合には、照合順序の最高次キヤラクタ
が、高速メモリ中のアレイ終端のバツフアーに挿
入される。この最高次キヤラクタとは、照合順序
における任意の最高次のものであり、例えば、ア
ルフアベツトにおける「Z」、10進数における
「9」等である。これにより、照合すべき領域の
末端が明確に設定される。それからIレジスタの
内容が、アレイ中に収容されるべきデータ・キー
の総数Cと比較される。もしもIレジスタの内容
が、記憶されるべきデータ・キーの総数Cより小
さいならば、第4B図のルーチンが繰り返され
る。さもなければ、BOJルーチンは終了する。 上述のジヨブ開始(BOJ)ルーチンでは、索引
順次フアイルへの後のアクセスに必要とされる索
引テーブルが作り出された。この索引テーブル
は、その索引順次フアイルへのアクセスの間、主
メモリのような高速メモリに収容される。 所望の項目を捜し出すため索引フアイルにアク
セスする方法や、新しい項目を索引フアイルに付
加する方法を、第5A図、第5B図、第5C図及
び第5D図を参照して説明する。 探索ルーチンにおいて、高速メモリ中の索引の
アレイを通して2分探索が先ず行なわれる。この
探索ルーチンは、第5A図に示してあるが、この
第5A図は、第3A図に関連して先に説明した2
分探索と同様であるので、ここでは更に説明しな
い。 一旦索引、即ちデータ・キーがアレイ中に発見
されると、該データ・キーによつて参照される区
画は、第5B図,第5C図及び第5D図に従つて
探索される。第5A図のルーチンから脱け出たと
きには、LOレジスタは、求められている記録番
号よりは小さいが最大のデータ・キーのエントリ
ー番号(第2図に示す如く、高速メモリのアレイ
中の記憶場所を示す番号)を含み、HIレジスタ
は、そのエントリー番号に2進値1を加算した値
を含む。第5B図のルーチンで、これらエントリ
ー番号は、ジヨブ開始(BOJ)ルーチンに関連し
て上述したように、変数NPを計算し、利用する
ことによつて記録番号に変換される。即ち、LO
レジスタの内容は、この変数NPとLOレジスタの
前の値との積によつて置き換えられ、HIレジス
タの内容は、この変数NPとHIレジスタの前の値
との積によつて置き換えられる。HIレジスタの
内容は、次に、フアイル中の記録総数である変数
MXと比較される。もしもHIレジスタの内容が変
数MXより大きければ、HIレジスタの内容は変数
MXによつて置き換られれる。ルーチンの次の段
階で、HIレジスタの内容に2進値1が加算さ
れ、LOレジスタの内容から2進値1が減算され
る。第5B図のルーチンは、第5C図に示したフ
アイル捜索ルーチンへ行く。 第5C図において、実キーKEは、LOレジスタ
とHIレジスタとの平均として計算される。もし
もLOレジスタの内容が計算値KEに等しくなけれ
ば、その実キーKEによつて同定される記録コラ
ム(即ち、記録番号)が、探索引数と比較され
る。もしもその記録番号が探索引数より大きけれ
ば、HIレジスタは、実キーKEに等しくセツトさ
れる。もしもそうでないならば、LOレジスタが
実キーKEに等しくセツトされ、新しい実キーKE
が計算され、LOレジスタの内容が実キーKEと等
しくなるまでこのルーチンが繰り返される。LO
レジスタの内容が実キーKEと等しくなつた時点
で、第5C図のルーチンは、第5D図のルーチン
へ行く。 もしも第5C図及び第5D図の一部のルーチン
によつて所望の記録が発見されなかつたならば、
本システムは、フアイルが開かれた後に該フアイ
ルに追加された記録を捜索する。 第5D図に示すように、探索ルーチンは、記録
コラムを探索引数と比較することによつて終了す
る。もしも比較が一致すると、所望の記録が発見
されたことになる。比較が一致しないと、実キー
KEは、フアイル中の総記録数MXに等しくセツ
トされる。2進値1が実キーKEに加算される。
もしもフアイルの終端にまだ到達していないなら
ば、記録コラムが、探索引数と比較される。比較
が一致しないと、2進値1が実キーKEに加算さ
れ、ルーチンが続く。もしも実キーKEと探索引
数との間で一致が得られずにフアイルの終端に到
達すると、所望の記録がフアイル中に発見されな
かつたのであり、ルーチンは終了する。 フアイルに一つの記録を付加するため、その記
録は、フアイルの終端のところに書き込まれ、後
でジヨブ終了(EOJ)ルーチンによつて順番に分
類される。このジヨブ終了(EOJ)ルーチンは、
第6図に簡単に示してあるが、単に、現下の索引
フアイルの分類を示すに過ぎない。簡単に説明す
ると、このジヨブ終了(EOJ)ルーチンでは、第
4A図で記憶した記録数AXと、探索された実際
の記録数MXとが等しいかどうかが調べられ、等
しくない場合、即ち新しい記録が付加されている
場合には、付加された記録を含めてフアイル全体
が照合順序値に従つて再分類される。 上述の方法は、プログラム制御処理システムと
いう形態で実施されるとして説明してきた。本発
明の方法を制御するプログラムの一部を、以下に
示す。ただしこれらのプログラムは、B2500/
B3500/B4500 COBOLで書いてある。
【表】
【表】
【表】
上述の方法の変形例においては、単一の物理的
記録としての幾つかの隣接する論理的記録のキ
ー・フイールドから要求が為されるように、また
一つの論理的記録を得る際と同程度の時間でその
ような記録を受信できるように論理的記録が収容
されると仮定することによつてその方法を最適化
することができる。これは、システム及びその
種々の回路に変更を加えること無くプログラムだ
けで行なうことができる。ただし、この変化を受
容するための回路変更は、記録のアクセス時間を
著しく改善するであろう。そのように変更すれ
ば、探索に必要とされるデータ項目のみがフアイ
ルから取り出され、斯くして、デイスク・フアイ
ルから非常に多くの記録を読み出すという必要性
がなくなる。 以上本発明の一の実施例を例に採つて説明した
が、特許請求の範囲に示す本発明の精神及び範囲
を離れることなくこれに変化や変更をなしうるこ
とは当業者ならば自ずと明らかであろう。 以下に掲げる発明は、本発明の好適な実施態様
を示すものである。 (1) フアイルが比較的遅い記憶媒体に収容され、
アレイ状のキーが比較的速い記憶媒体に収容さ
れることを特徴とする特許請求の範囲第1項ま
たは第2項に記載の逐次フアイルの望みの記録
にアクセスするための方法。 (2) 前記キーが、フアイル中のN個の記録ごとに
選ばれることを特徴とする特許請求の範囲第1
項または第2項に記載の逐次フアイルの望みの
記録にアクセスするための方法。 (3) 前記Nが、フアイル中の記録の数をアレイ中
に収容され得るキーの数で除した商に2進数の
1を加算した値として計算されることを特徴と
する第2項に記載の逐次フアイルの望みの記録
にアクセスするための方法。 (4) フアイルの区画を定めるためにフアイルから
選ばれたキーが、当該フアイル中の所望の記録
を表示するものであることを特徴とする特許請
求の範囲第1項または第2項に記載の逐次フア
イルの望みの記録にアクセスするための方法。 (5) フアイルが前記比較的遅い記憶媒体に収容さ
れ、アレイ状のキーが比較的速い記憶媒体に収
容されることを特徴とする第4項に記載の逐次
フアイルの望みの記録にアクセスするための方
法。 (6) キーが、フアイル中でN個の記録ごとに選ば
れることを特徴とする第4項に記載の逐次フア
イルの望みの記録にアクセスするための方法。 (7) Nが、フアイル中の記録の数をアレイ中に収
容され得るキーの数で除した商に2進数の1を
加算した値として計算されることを特徴とする
第6項に記載の逐次フアイルの望みの記録にア
クセスするための方法。
記録としての幾つかの隣接する論理的記録のキ
ー・フイールドから要求が為されるように、また
一つの論理的記録を得る際と同程度の時間でその
ような記録を受信できるように論理的記録が収容
されると仮定することによつてその方法を最適化
することができる。これは、システム及びその
種々の回路に変更を加えること無くプログラムだ
けで行なうことができる。ただし、この変化を受
容するための回路変更は、記録のアクセス時間を
著しく改善するであろう。そのように変更すれ
ば、探索に必要とされるデータ項目のみがフアイ
ルから取り出され、斯くして、デイスク・フアイ
ルから非常に多くの記録を読み出すという必要性
がなくなる。 以上本発明の一の実施例を例に採つて説明した
が、特許請求の範囲に示す本発明の精神及び範囲
を離れることなくこれに変化や変更をなしうるこ
とは当業者ならば自ずと明らかであろう。 以下に掲げる発明は、本発明の好適な実施態様
を示すものである。 (1) フアイルが比較的遅い記憶媒体に収容され、
アレイ状のキーが比較的速い記憶媒体に収容さ
れることを特徴とする特許請求の範囲第1項ま
たは第2項に記載の逐次フアイルの望みの記録
にアクセスするための方法。 (2) 前記キーが、フアイル中のN個の記録ごとに
選ばれることを特徴とする特許請求の範囲第1
項または第2項に記載の逐次フアイルの望みの
記録にアクセスするための方法。 (3) 前記Nが、フアイル中の記録の数をアレイ中
に収容され得るキーの数で除した商に2進数の
1を加算した値として計算されることを特徴と
する第2項に記載の逐次フアイルの望みの記録
にアクセスするための方法。 (4) フアイルの区画を定めるためにフアイルから
選ばれたキーが、当該フアイル中の所望の記録
を表示するものであることを特徴とする特許請
求の範囲第1項または第2項に記載の逐次フア
イルの望みの記録にアクセスするための方法。 (5) フアイルが前記比較的遅い記憶媒体に収容さ
れ、アレイ状のキーが比較的速い記憶媒体に収
容されることを特徴とする第4項に記載の逐次
フアイルの望みの記録にアクセスするための方
法。 (6) キーが、フアイル中でN個の記録ごとに選ば
れることを特徴とする第4項に記載の逐次フア
イルの望みの記録にアクセスするための方法。 (7) Nが、フアイル中の記録の数をアレイ中に収
容され得るキーの数で除した商に2進数の1を
加算した値として計算されることを特徴とする
第6項に記載の逐次フアイルの望みの記録にア
クセスするための方法。
図面において、第1図は、本発明を用いるよう
に適合されたデータ処理システムを示す概略ダイ
アグラム、第2図は、本発明に従つて索引フアイ
ルを探索し且つこれに付加するためにフアイルが
区画される様式を示した図、第3A及びB図は、
索引フアイルへの探索及び追加のための2分探索
の方法を表わすフロー・ダイアグラム、第4A及
じB図は本発明で用いられるジヨブ開始(BOJ)
ルーチンを表わすフロー・ダイアグラム、第5
A、B、C及びD図は、本発明で用いられる探索
ルーチンを示す一連のフロー・ダイアグラム、第
6図は、本発明で用いられるジヨブ終了(EOJ)
ルーチンを表わすフロー・ダイアグラム、第7図
は、第1図のシステムによつて用いられるプロセ
ツサの概略の表示である。 10…主メモリ、11…優先順位決定装置、1
2…プロセツサ、13…I/O制御装置、14…デ
イスク制御装置、15…デイスク・ユニツト、1
6…テープ制御装置、17,18…テープ・ユニ
ツト、20…論理(加算)ユニツト、21…バレ
ル・スイツチ、22…Aレジスタ、23…Bレジ
スタ、24…真偽ゲート。
に適合されたデータ処理システムを示す概略ダイ
アグラム、第2図は、本発明に従つて索引フアイ
ルを探索し且つこれに付加するためにフアイルが
区画される様式を示した図、第3A及びB図は、
索引フアイルへの探索及び追加のための2分探索
の方法を表わすフロー・ダイアグラム、第4A及
じB図は本発明で用いられるジヨブ開始(BOJ)
ルーチンを表わすフロー・ダイアグラム、第5
A、B、C及びD図は、本発明で用いられる探索
ルーチンを示す一連のフロー・ダイアグラム、第
6図は、本発明で用いられるジヨブ終了(EOJ)
ルーチンを表わすフロー・ダイアグラム、第7図
は、第1図のシステムによつて用いられるプロセ
ツサの概略の表示である。 10…主メモリ、11…優先順位決定装置、1
2…プロセツサ、13…I/O制御装置、14…デ
イスク制御装置、15…デイスク・ユニツト、1
6…テープ制御装置、17,18…テープ・ユニ
ツト、20…論理(加算)ユニツト、21…バレ
ル・スイツチ、22…Aレジスタ、23…Bレジ
スタ、24…真偽ゲート。
Claims (1)
- 【特許請求の範囲】 1 データ処理システムにおいて逐次フアイルの
望みの記録にアクセスするための方法であつて、 a フアイルのオープン後本来の記録アクセスを
する前に、当該逐次フアイルを複数の区画に区
分し、フアイル中の記録総数と区画数に基づき
前記各区画の端に入る記録のフアイル中での順
位を求め、前記逐次フアイルの記録の予めソー
テイングされたデータ項目の内の前記各順位の
データ項目からデータ・キーを抽出して、高速
メモリにアレイ状に順次収容し、もつて索引テ
ーブルを作成するステツプと、 b 前記望みの記録にアクセスするために、前記
望みの記録が入つている区画を示すデータ・キ
ーを前記索引テーブル内で捜索することによ
り、前記望みの記録が入つている区画を特定
し、次いで、前記逐次フアイルの前記特定され
た区画で前記望みの記録を捜索するステツプ とからなることを特徴とする逐次フアイルの望み
の記録にアクセスするための方法。 2 データ処理システムにおいて逐次フアイルの
望みの記録にアクセスするための方法であつて、 a フアイルのオープン後本来の記録アクセスを
する前に、当該逐次フアイルを複数の区画に区
分し、フアイル中の記録総数と区画数に基づき
前記各区画の端に入る記録のフアイル中での順
位を求め、前記逐次フアイルの記録の予めソー
テイングされたデータ項目の内の前記各順位の
データ項目からデータ・キーを抽出して、高速
メモリにアレイ状に順次収容し、もつて索引テ
ーブルを作成するステツプと、 b 前記望みの記録にアクセスするために、前記
望みの記録が入つている区画を示すデータ・キ
ーを前記索引テーブル内で捜索することによ
り、前記望みの記録が入つている区画を特定
し、次いで、前記逐次フアイルの前記特定され
た区画で前記望みの記録を捜索するステツプ
と、 c 望みの記録が逐次フアイル中に見出されなか
つたとき当該逐次フアイルへの付加部分を捜索
するステツプ とから成ることを特徴とする逐次フアイルの望み
の記録にアクセスするための方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US26864472A | 1972-07-03 | 1972-07-03 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS4959546A JPS4959546A (ja) | 1974-06-10 |
JPS6127771B2 true JPS6127771B2 (ja) | 1986-06-27 |
Family
ID=23023885
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP48068362A Expired JPS6127771B2 (ja) | 1972-07-03 | 1973-06-19 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JPS6127771B2 (ja) |
GB (1) | GB1418837A (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5756093B2 (ja) * | 1974-03-19 | 1982-11-27 | ||
JPS50137641A (ja) * | 1974-04-19 | 1975-10-31 | ||
JPS5394853A (en) * | 1977-01-31 | 1978-08-19 | Mitsubishi Electric Corp | Picture retrieval ststem |
JPS53105153A (en) * | 1977-02-24 | 1978-09-13 | Mitsubishi Electric Corp | Picture retrieval unit |
FR2403597A1 (fr) * | 1977-09-16 | 1979-04-13 | Cii Honeywell Bull | Perfectionnements aux systemes de comptabilisation d'unites homogenes predeterminees |
JP6169508B2 (ja) * | 2014-02-20 | 2017-07-26 | 日立オートモティブシステムズ株式会社 | 車載制御装置 |
CN104077361B (zh) * | 2014-06-09 | 2018-01-12 | 汉柏科技有限公司 | 一种用于大数据的排序方法及*** |
-
1973
- 1973-06-18 GB GB2876273A patent/GB1418837A/en not_active Expired
- 1973-06-19 JP JP48068362A patent/JPS6127771B2/ja not_active Expired
Also Published As
Publication number | Publication date |
---|---|
JPS4959546A (ja) | 1974-06-10 |
GB1418837A (en) | 1975-12-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4677550A (en) | Method of compacting and searching a data index | |
US5222235A (en) | Databases system for permitting concurrent indexing and reloading of data by early simulating the reload process to determine final locations of the data | |
Buchholz | File organization and addressing | |
US5487164A (en) | Distribution-based replacement selection sorting system | |
US4575798A (en) | External sorting using key value distribution and range formation | |
US5293616A (en) | Method and apparatus for representing and interrogating an index in a digital memory | |
US6385612B1 (en) | Method for sorting and storing data employing dynamic sort tree reconfiguration in volatile memory | |
US5349684A (en) | Sort and merge system using tags associated with the current records being sorted to lookahead and determine the next record to be sorted | |
EP0516266A2 (en) | Merging sorted lists | |
JPH0225536B2 (ja) | ||
US6584555B2 (en) | Information storage and retrieval system | |
JPH0285927A (ja) | 記憶装置 | |
US5111465A (en) | Data integrity features for a sort accelerator | |
US5142687A (en) | Sort accelerator with rebound sorter repeatedly merging sorted strings | |
JPS6127771B2 (ja) | ||
JPS6143338A (ja) | 連想技術を使用して稀薄なデータベースをサーチする方法 | |
EA005269B1 (ru) | Способ организации и хранения данных в базе данных и база данных | |
JPH0689215A (ja) | 情報検索用コンピュータシステム及び同システムの記憶装置の操作方法 | |
US20220188201A1 (en) | System for storing data redundantly, corresponding method and computer program | |
US20220138338A1 (en) | Data replacement apparatus, data replacement method, and program | |
JP3293551B2 (ja) | ソート処理方法 | |
JP3111498B2 (ja) | レコード検索方法及びデータ処理装置 | |
JPH06295313A (ja) | インデックス付き検索ファイルのデータ検索装置 | |
EP0111689A2 (en) | Method of storing a B-tree type index file on rotating media devices | |
Heising | Methods of file organization for efficient use of IBM RAMAC files |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 19840214 |