JPS6051731B2 - 二段構造ファイル方式 - Google Patents

二段構造ファイル方式

Info

Publication number
JPS6051731B2
JPS6051731B2 JP53072490A JP7249078A JPS6051731B2 JP S6051731 B2 JPS6051731 B2 JP S6051731B2 JP 53072490 A JP53072490 A JP 53072490A JP 7249078 A JP7249078 A JP 7249078A JP S6051731 B2 JPS6051731 B2 JP S6051731B2
Authority
JP
Japan
Prior art keywords
record
file
area
predetermined
data
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
Application number
JP53072490A
Other languages
English (en)
Other versions
JPS54162938A (en
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP53072490A priority Critical patent/JPS6051731B2/ja
Publication of JPS54162938A publication Critical patent/JPS54162938A/ja
Publication of JPS6051731B2 publication Critical patent/JPS6051731B2/ja
Expired legal-status Critical Current

Links

Description

【発明の詳細な説明】 この発明は例えば磁気ディスクメモリを使用して頻繁
に多量のデータが更新される大規模なファイルの構成並
びに管理についての二段構造ファイル方式に関するもの
である。
従来のファイル構造として第1図及び第3図の索引順
次構成があつた。
第2図は第1図のインデックスエリア1の詳細を示した
ものである。 第1図及び第2図において、1はレコー
ドイン゛デツクスエリアであり、インデックスエリア1
はノーマル、エントリエリア2とオーバーフロー。エン
トリエリア3から成る。エントリエリア2、3はブロッ
ク7内のレコードの最大キー4とプロツクアドレス5の
組から形成してある。6はデータ・レコードエリアで、
7はブロックを示す。
各レコードエリア6はキー項目8とデータ9を持つてい
る。ブロック7内のデータ・レコード6はキー項目8の
昇順に並んでいる。10はオーバーフロー・エリアを示
す。
また第3図において、11はレコードインデックスエリ
アを示す。
各インデックスエリア11はキー項目12とレコード・
アドレス13とが記憶されるエリアの組から形成してお
り、レコード・アドレス13は、データ・レコードエリ
ア14の位置を示す。更にデータ・レコード・エリア1
4は次のレコード・アドレスをエリア15に持つてチエ
インのようにつながつている。データ・レコードエリア
14はエリア15の他にキー項目6とデータ17を記憶
するエリアを持つている。インデックスエリア11の最
後のものは空きレコードを指している。次に動作につい
て説明する。
最初に所定単位で構成されたレコードデータの追加の場
合について説明する。
第1図のファイル構成ではインデックスエリア1を走査
して外部より指定される指定キーの値から追加するレコ
ードデータが書き込まれるべきブロック7を見つけ、ブ
ロック内の各レコードエリア6のキー項目8と指定キー
の値とを比較し、指定キーより大きいキー項目8を持つ
レコードがあつたら、指定キーより大きいキー項目を持
つレコードを全て1レコードづつ後にずらし、空いたエ
リアにレコードデータを挿入する。指定キーより大きい
キー項目8を持つレコードが無ければ、後の空きエリア
にレコードを迫加する。もし、挿入、追加によつてブロ
ック7をはみ出したら(これをオーバーフローと言う)
、はみ出したレコードをオーバーフロー・エリア10に
書き、インデックスエリア1のノーマル●エントリ2と
オーバーフロー●エントリ3の最大キー4とブロック・
アドレス5を更新する。又、第3図のファイル構成の場
合で、新しいレコードデータをレコードA2とレコード
A3の間に挿入するにはインデックスエリア1の最終イ
ンデックスX1より最初の空きレコード・エリアX1を
得、そこにレコードを書き込み、最終インデックスX1
のレコードアドレス13に空きレコード・エリアX2の
アドレスをセットし、空きレコード・エリアのチエイン
からはずす。
次にインデックスエリア1に記憶されたものによりレコ
ードAl,A2,A3のチエインをたどり、レコードA
2の次レコード・アドレス5に空きレコード・エリアX
1のアドレスをセットし、空きレコード・エリアX1の
次レコード・アドレス15にレコードA3のアドレスを
セットして、チエインをつける。レコードの削除につい
て説明する。
第1のファイル構成の場合は、インデックスエリア1を
走査し、削除するレコードを見つけ、後のレコードを削
除したレコード分前詰にする。第3図のファイル構成の
場合、レコードA3を削除するには、インデックスエリ
ア1からレコードAl,A2のチエインをたどり、レコ
ードA3を見つけ、レコードA2の次レコード◆アドレ
ス消す。又、インデックスエリア1の最終インデックス
より、空きレコードX2を見つけ、その次レコード●ア
ドレスに削除するレコードのアドレスA3をセットする
。最後にレコードの更新について説明する。
第1図の場合は1のインデックスエリアを走査し、指定
レコードの位置を見つけ、更新を行なう第2図のファイ
ル構成の場合は、インデックスエリア1と2のレコード
のチエインをたどり指定レコードの位置を見つけ、更新
を行なう。このように第1図に示し説明したファイル方
式では、レコードの参照の場合、レコードのアクセEス
が早いが、頻繁にレコードデータの追加が行なわれると
、オーバーフローが発生し、オーバーフロー・エリアに
オーバーフローしたレコードデータがたまるのでアクセ
ス時間が長くなる。
そこで、ある時点でファイルの再編成が必要となる欠点
がある。第3図に示し説明したファイル構造の場合は、
インデックスを走査し、更にチエインをたどつて目的と
するレコードを見つけなければならないのでレコードの
アクセスが長くなる。又、レコードデータの追加、削除
が頻繁に行なわれるノようになるとレコード間のチエイ
ンの付け替えが多なり、処理時間が長くなる欠点がある
。この2段構造ファイルは、これらの欠点を解消するた
めのもので、アクセスが早く、オーバーフローの発生も
なく、又、ファイルの再編成も不必要な二段構造ファイ
ル方式を提供するものである。
以下この発明の実施例を図に示し説明する。
2段構造ファイルは、第4図で示す第2のファイルと第
5図で示す第1のファイルから構成されている。
第2のファイルと第1のファイルには各々ファイル名が
割り当てられている。第4図で示す第2のファイルは、
第5図の第1のファイルに関するインデックス・データ
を持つレコード群(第4図のレコード(m+1)からレ
コード(m+n)と空き管理レコード群(第4図のレコ
ード1からレコードmから構成している。第5図の第1
のファイルは第4図の第2のファイルのレコードに対す
るデータ・レコード群から構成している。最初に、第4
図について説明する。21は第2のファイルのキー項目
が記憶されるエリアである。
22はインデックス・レコード1個にもたせるファイル
・データリンク27の最大個数を示すための項目エリア
である。
23は第5図の第1のファイルのレコード・ブロック3
2のサイズをレコードエリア数で示すための項目エリア
である。
24は空き管理の対照となる第5図の5つのレコードエ
リア31を有するレコード・ブロック32の個数を示す
ための項目エリアである。
25は、第5図の各レコード・ブロック32の空きを示
す空きを示すための項目エリアで各レコード・ブ七ツク
32に対応したビット列が入つており、各ビツトカげ1
JかROJかでブロック32の空き、使用中を示す。
26は他のデータが入る項目エリアである。
27はレコードデータが第5図のどのレコード・ブロッ
ク32とリンクしているかを示すための項目エリアで、
小項目28,29,30の組から成る。
データ・ブロック先頭レコード番号28は第5図のレコ
ード・ブ罎ンク32位置を示す項目で、レコード・ブロ
ック32の先頭レコードのレコード番号で表わしている
。先頭レコード・インデックス29と後端レコード・イ
ンデックス30は、各データ・ブ七ツク先頭レコード番
号28の示すレコード・ブロック32内の使用レコード
エリア11列の先頭と後端を示す項目で、レコード・ブ
ロック32内での1から始まるレコード番号で表わして
いる。次に番5図について説明する。31はデータが入
るレコードエリアを示し、32はこれらのレコードエリ
ア31の集合であるレコード・ブロックを示す。
レコードエリアは1から始まるレコード番号が割付けら
れている。次にこの発明の実施例の動作としてレコード
の追加、更新、削除について説明する。
いずれの場合でもレコードのアクセスはキーとキーに属
するレコード群のどのレコードかを示す相対レコード番
号で行なわれる。最初に項目としてのキーAの2番目の
レコード・の後に1レコードを追加する場合について説
明する。
外部から指定される指定キーAと一致するキーを持つイ
ンデックス・レコードを第4図の第2のファイルのレコ
ード(m+1)からレコード(m+n)の範囲でキーエ
リア21より見つける。そしてキーAに該当するファイ
ル・データ・リンクエリア17を見るとキーAのレコー
ドは第5図のレコード・ブロックjにレコードが2個あ
り、ブロック・サイズSがS〉2ならば、同一ブロック
内に空きがあるので3番目のレコード位置に追加データ
を書き、後端レコード・インデックス30を3とする。
S≦2ならば、空きがないので、空き管理レコードエリ
アの空き管理ビット25から空き状態を示すビットを見
つけ、使用状態にする。そのビット位置が空きレコード
・ブロック32の相対ブロック番号と対応するので、そ
れとブロック・サイズにより、空きレコード・ブロック
32の先頭レコード番号を得、当インデックス●レコー
ドの次のファイル●データ●リンクエリア27のレコー
ド・ブロック先頭レコード番号28にセット、先頭レコ
ード●インデックス29及び後端レコード・インデック
ス30に1セットし、得た空きレコード・ブロック32
の1番目のレコードエリア位置に追加データを書く。次
にキーAの3番号目のレコードを更新する場合について
説明する。
指定キーと一致するキーを持つインデックス●レコード
を第4図のレコード(m+1)からレコード(m+n)
の範囲内で同様に見つける。そしてファイル・データ・
リンクエリア27を見るとキーAのレコードは第5図の
レコード・ブロックjにレコードが2個、レコードブロ
ックkに次のレコードが1個あることを示しているので
、更新するレコードは、レコード・ブロックkにあるこ
とが判る。最後にキーAの最初のレコードを削除する場
合について説明する。
指定キーAと一致するキーを持つインデックス・レコー
ドをレコード(m+1)からレコード(m+n)の範囲
内で同様に見つけ、ファイル・データ・リンクエリア2
7により、削除するレコードは、レコード・ブロックj
の2個あるレコードのうち1番目のレコードであること
が判るので、2番目のレコード、1番目のレコード位置
にずらし、先頭レコード・インデックス28及び後端レ
コード・インデックス29に1をセットする。もし、レ
コードの削除によりレコード●ブロックjが空きになつ
たら、そのファイル・データ・リンクエリア27を消去
し、当インデツク・レコードの他のファイル・データ・
リンクを前に詰め、更に空き管理ビット25のj番目の
ビットを空き状態RLにセットする。このようにこの発
明の実施例による2段構造ファイル方式は、レコードの
空き管理とリンク管理を第2のファイルで一括して行な
つているので多くのレコードを持ち、レコードの更新、
追加、削除の頻度が高いファイルでもアクセス時間がか
からない。
以上の説明では、第1のファイルの各レコード第2のフ
ァイルの各レコードとが別々のファイルである場合につ
いて説明したが、同一のファイルでも適用てきる。
又、この2段構造ファイル方式は、簡単なファイル管理
システムを持つシステムでも適用できる。
ここで、2段構造ファイル方式の実施例として操車場内
の貨車データを番線毎に維持する貨車データ・ファイル
がある。
この貨車データ・ファイルでは第4図の第2のファイル
は貨車データ管理ファイルと称し、空き管理レコードの
キーエリア21は、2進数で1から昇順値であり、イン
デックス・レコードのキーエリア21は番線コードであ
る。又、第5図の第1のファイルは在線貨車データ・フ
ァイルと称し、貨車データ・レコードから成ることで構
成され、同様な作用効果を有するものである。以上説明
したようにこの発明によれば、レコードのアクセスが早
くなると共にオーバーフロー・エリアを取る必要がなく
なつた。更にファイルの再編成が不要になるとか、空き
レコードを複数個要求されてもアクセスが早いなどの効
果が得られる。
【図面の簡単な説明】
第1図、第2図及び第3図は従来のファイル構造を示す
説明図、第4図と第5図はこの発明の実施例による2段
構造ファイル方式を示す図である。 図中、21はキーエリア、22はファイル・データリン
ク数を示すためのエリア、23はブロック●サイズを示
すためのエリア、24はブロック数を示すためのエリア
、25は空き管理ビットを示すためのエリア、27はフ
ァイル・データ・リンクエリア、28はレコード・ブロ
ック先頭レコード番号、29゛は先頭レコード・インデ
ックス、30は後端レコード・インデックス、31はデ
ータ・レコードエリア、32はレコード・ブロックを示
す。

Claims (1)

    【特許請求の範囲】
  1. 1 所定単位のデータが記憶されるレコードエリアを複
    数有するレコードブロツクが複数設けられた第1のファ
    イルと;該第1のファイルのレコードブロツク位置を示
    す項とレコードブロックの使用レコードの先頭位置及び
    後端位置を示す項を有する複数のデータブロックを有し
    て、上記複数のレコードエリアの使用状態を記憶するフ
    ァイルデータリングエリアと、前記第1のファイルの各
    レコードブロツクに対応したビット列が入つて、上記複
    数のレコードブロックが使用されていない空き状態を記
    憶する空き管理エリアとで構成された第2のファイルと
    を備え、所定の項目に対応したデータが所定の上記レコ
    ードブロックの所定の上記レコードエリアに記憶された
    状態で上記所定の項目で指定される所定の上記ファイル
    データリングエリアに上記所定のレコードブロックと上
    記所定のレコードエリアの使用状態が記憶されるもので
    あつて、上記所定項目に対応したデータの追加に対して
    、上記第2のファイルの上記所定のファイルデータリン
    クエリアを調べ、上記所定のレコードブロックに追加可
    能な場合は上記所定のファイルリンクエリアの使用状態
    を更新して上記第1のファイルの上記所定のレコードブ
    ロックに追加記憶し、上記所定のレコードブロックに追
    加不可能な場合は上記空き管理エリアに記憶された上記
    レコードブロツクの空き状態を調べて上記第1のファイ
    ルの空きの他のレコードブロックに追加記憶するととも
    に上記他のレコードブロックとこのブロックに対応した
    他のレコードエリアが使用状態にあることを上記所定の
    ファイルデータリンクエリアに記憶するようにした二段
    構造ファイル方式。
JP53072490A 1978-06-15 1978-06-15 二段構造ファイル方式 Expired JPS6051731B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP53072490A JPS6051731B2 (ja) 1978-06-15 1978-06-15 二段構造ファイル方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP53072490A JPS6051731B2 (ja) 1978-06-15 1978-06-15 二段構造ファイル方式

Publications (2)

Publication Number Publication Date
JPS54162938A JPS54162938A (en) 1979-12-25
JPS6051731B2 true JPS6051731B2 (ja) 1985-11-15

Family

ID=13490807

Family Applications (1)

Application Number Title Priority Date Filing Date
JP53072490A Expired JPS6051731B2 (ja) 1978-06-15 1978-06-15 二段構造ファイル方式

Country Status (1)

Country Link
JP (1) JPS6051731B2 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57172463A (en) * 1981-04-17 1982-10-23 Toshiba Corp Picture storage system
JPS584437A (ja) * 1981-06-30 1983-01-11 Fujitsu Ltd プライム領域の拡張方式
JPS5852741A (ja) * 1981-09-25 1983-03-29 Fuji Facom Corp ファイル処理方式
NL8201057A (nl) * 1982-03-15 1983-10-03 Philips Nv Inrichting voor het serieel fuseren van twee geordende lijsten tot een enkele geordende lijst.
JPS60196854A (ja) * 1984-03-19 1985-10-05 Olympus Optical Co Ltd 情報検索システム
JPS635427A (ja) * 1986-06-26 1988-01-11 Fuji Electric Co Ltd フアイルアクセス方法
JPS63226747A (ja) * 1987-03-16 1988-09-21 Fujitsu Ltd デ−タセツトのアクセス方式
JPH02138619A (ja) * 1989-10-04 1990-05-28 Casio Comput Co Ltd 電子機器のデータ検索・ソーティング装置
JP2503805B2 (ja) * 1991-06-12 1996-06-05 株式会社ニコン 画像記録装置
JP2503812B2 (ja) * 1991-08-07 1996-06-05 株式会社ニコン 画像記録装置

Also Published As

Publication number Publication date
JPS54162938A (en) 1979-12-25

Similar Documents

Publication Publication Date Title
US6311193B1 (en) Computer system
US10120869B2 (en) Method and apparatus for fault-tolerant memory management
US6282605B1 (en) File system for non-volatile computer memory
US8396844B1 (en) Hierarchical method for storing data with improved compression
US20100131700A1 (en) Memory indexing system and process
JPS6051731B2 (ja) 二段構造ファイル方式
WO2006095356A1 (en) A method of logging transactions and a method of reversing a transaction
CN104077078B (zh) 读存储区、更新存储区的方法及装置
AU664763B2 (en) Entity-relation database
JPH01261745A (ja) データ・ベース・レコードのトランザクシヨンの回復方法
US5758339A (en) Method of identifying shared and unshared information using system chapters, a sysplex chapter, a table of contents, and a header
JPH04141721A (ja) ディスクセクタ代替方式
JP2622418B2 (ja) 情報記録再生方式
JP2608093B2 (ja) デ−タ管理装置
JPH043234A (ja) 固定長型レコードのファイリング制御方法
JP2521907B2 (ja) ファイル構築方法
JPS62162136A (ja) 階層構造を有する索引をもつフアイルの同時更新制御方式
JP2658964B2 (ja) データレコード格納位置制御方式
JPS62287350A (ja) インデツクス一括更新方式
JP3361832B2 (ja) データ復元方法
JPH02278439A (ja) 追記型デバイスのデータ管理方式
JP2629054B2 (ja) 直接編成サイクリックファイルのデータブロック管理方法及びデータブロック管理装置
JPH04155548A (ja) ログ管理・復旧処理方式
JPS61160133A (ja) デ−タの入力管理方法
JPH03296838A (ja) 履歴データ管理方式