JPH01197855A - ファイル更新処理方法 - Google Patents

ファイル更新処理方法

Info

Publication number
JPH01197855A
JPH01197855A JP63022279A JP2227988A JPH01197855A JP H01197855 A JPH01197855 A JP H01197855A JP 63022279 A JP63022279 A JP 63022279A JP 2227988 A JP2227988 A JP 2227988A JP H01197855 A JPH01197855 A JP H01197855A
Authority
JP
Japan
Prior art keywords
page
record
file
update
processing
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
Application number
JP63022279A
Other languages
English (en)
Inventor
Hirofumi Uchida
浩文 内田
Yukiyoshi Kurita
栗田 享佳
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 JP63022279A priority Critical patent/JPH01197855A/ja
Publication of JPH01197855A publication Critical patent/JPH01197855A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔概 要〕 レコードのキーによって定まるページリストに該レコー
ドを格納するようにした、計算機のファイルの更新゛処
理に関し、 更新処理中の計算機の障害等に対する、ファイル内容の
保全性を高めることのできるファイル更新処理方法を目
的とし、 レコードのキーによって定まるページリストに該レコー
ドを格納するようにしてなるファイルを保持し、該レコ
ードの更新に伴い、更新後の該レコードを該ベーンリス
トの更新前と異なるページに格納するように該ファイル
に書き出す処理を行う計算機おいて、各該ページリスト
の先頭ページに、表示部を設け、更新後の該レコードを
格納したページの書き出しより遅れることなく、該表示
部に更新中表示と、更新前の該レコードを指示するポイ
ンタと、更新後の該レコードを指示するポインタとを設
定した該先頭ページを該ファイルに書き出し、更新後の
該レコードを格納したページの書き出しより先行するこ
となく、更新前の該レコードを格納したページから該レ
コードを消去して、該ページを該ファイルに書き出し、
更新前の該レコードを格納したページの書き出しより先
行することなく、該表示部の更新中表示の設定を解除し
た。該先頭ページを該ファイルに書き出すように構成す
る。
〔産業上の利用分野〕
本発明は、計算機における、レコードのキーによって定
まるページリストに該レコードを格納するようにしたフ
ァイルの更新処理に関する。
計算機のハツシュファイル等においては、レコードのキ
ーのハツシュ関数値によってレコードを分類し、各分類
ごとのレコードを格納するページをチエインしたページ
リストを構成し、そのような1以上のページリストによ
ってファイルを構成し、成るキーによってレコードにア
クセスする場合には、先ずキーによって該当のページリ
ストを決定し、そのページリストの先頭ページから順次
レコードを検索する。
そのようなファイルで、あるレコードを更新するために
、更新後のレコードを収容する余地が元のページに無く
なった場合には、同じページリストの他のページに更新
後のレコードを格納し、元のページの旧レコードを消去
する必要があるが、その処理中で計算機のシステムダウ
ン等が発生すると、ページリスト中に新旧両レコードが
新旧の識別ができない状態で残るために、その後のアク
セスで旧レコードが使用されるようになるおそれがある
〔従来の技術〕
第3図は計算機の構成例を示すブロック図であり、処理
装置toは外部記憶装置11と接続し、例えば処理装置
10のプログラムによって実行されるファイル処理部1
2は、外部記憶装置11に格納されているハツシュファ
イルlの所要データを、処理装置10の記憶領域のバッ
ファ13に読み込んで所要の処理を実行し、必要な場合
には処理の結果更新されたバッファ13上のデータをハ
ツシュファイル1に書き出す処理を行う。
第4図はハツシュファイルの構成を説明する図であり、
ハツシュファイルlは、各レコードのキーの所定のハツ
シュ関数として得られるn+1個の異なる各ハツシュ値
にそれぞれ対応して、ページリスト2−0,2−1、−
・2−nを設け、各ページリストのページに同じハツシ
ュ値のキーを持つレコードを格納する。
各ページリス)2−0.2−1、・・・2−nは、それ
ぞれプライムページ3を各先頭ページとして、レコード
を格納するスペース上必要な数のオーバフローページ4
をチエインして構成される。
ページリストを構成する各プライムページ3及びオーバ
フローページ4は、例えば制御部とレコード部を有し、
レコード部にレコードを格納し、制御部には各レコード
のキーとレコード格納位置からなるキーリスト、及びそ
のページにチエインするページへのポインタ等を保持す
る。
前記第3図のファイル処理部12が、処理装置1゜で実
行される応用プログラム等の要求する指定のキーによっ
てバッジエフアイルのレコードを検索する場合には、そ
のキーの前記ハツシュ値を求めて、該当するページリス
ト2−0.2−1、−・2−nの1つを決定し、先ずそ
のページリストのプライムページ3をバッファ13に読
み込んで、その制御部のキーリストを指定のキーで走査
する。
走査によって該当キーを検出すれば、そこに指示されて
いるレコード格納位置の情報によってそのページ内のレ
コードにアクセスして所要の処理を開始する。又そのペ
ージに該当キーが無ければ、制御部の前記ポ、インク番
こよって指示される次のページを外部記憶装置11のハ
ツシュファイルlからバッファ13に読み込んで、前記
と同様にキーを走査し、このようにキーで定まるページ
リスト内のページを順次検索して、要求のレコードに到
達する。
処理の結果でレコードに更新があった場合には、バッフ
ァ13上の該当ページについてレコードの内容、及び要
すれば制御部の情報を更新して新ページを作成し、新ペ
ージをハツシュファイル1の元のページの位置に書き出
す。
しかし、更新の結果レコードのデータ長が長くなり、そ
のレコードのページに長くなった新レコードを格納する
空きスペースが無い場合には、そのページリスト内で必
要な空きスペースのあるページを探し、適当なページが
無い場合には新しいページを追加し、新レコードの格納
ページを所要スペースのあるページに変更すると共に、
元のページから旧レコードを削除する2ページの更新処
理が必要になる。
〔発明が解決しようとする課題〕
前記のように新旧各レコードの各ページの更新を要する
場合には、2ページの更新処理の間にシステムダウン等
で処理が中断された場合にも、レコードの消失等が無い
ようにするデータ保全のために、ファイル処理部12は
先ず新レコードのページを書き出し、その後記レコード
のページを旧レコードを削除して書き出すようにして、
ハツシュファイル1内に新旧両レコード共に無くなって
いる状態が生じないようにすることが一般に行われてい
る。
しかし、このようにして新レコードのページを更新した
後、旧レコードのページを更新する前に処理が中断した
場合に、ハツシュファイルでは前記のようにしてキーに
よってレコードを検索するので、検索によって新旧何れ
のレコードがアクセスされるかはページのチエイン上の
位置関係に依存することとなり、旧レコードが最初に検
出され、それが旧レコードであることを識別することも
出来ないので、新レコードが有効化されなくなるおそれ
がある。
本発明は、ファイル更新中の障害による処理中断におい
て、従来と同様にデータが保存されると共に、新旧レコ
ードを識別して、新レコードを有効化することを容易に
してデータの保全性を高めたファイル更新処理方法を目
的とする。
〔課題を解決するための手段〕
第1図は、本発明の構成を示す処理の流れ図である。
図はファイル処理部におけるレコードの更新に伴い、更
新後のレコードを更新前と異なるページに格納するよう
にファイルに書き出すための処理の流れを示し、20〜
27は処理ステップである。
〔作 用〕
本発明により、ファイルを構成する各ページリストの各
先頭ページには更新中表示と旧レコード及び新レコード
を指示する両ポインタとを保持する表示部を設ける。
成るページリストに属するレコードの更新の結果、新レ
コードを旧レコードと異なるページに移動する場合には
、ファイル処理部は先ず第1図の処理ステップ20によ
り、バッファ上でそのページリストの先頭ページの表示
部に更新中表示を設定し、又旧レコードと新レコードと
を指示する各ポインタを設定し、処理ステップ21でそ
のページをファイルへ書き出し、次に処理ステップ23
において、バッファ上の新レコードを挿入したページを
書き出す。なお、新レコードのページが先頭ページであ
れば、処理ステップ22で判定して後の書き出しを省略
する。
その後、処理ステップ25において、バッファ上で旧レ
コードを削除した旧レコードのページを四き出すが、処
理ステップ24で判定して、旧レコードのページが先頭
ページであれば、この口き出しを省略し、処理ステップ
26でバッファ上の先頭ページの表示部の更新中表示を
リセットし、処理ステップ27でそのページを書き出し
て更新中表示を解除する。
以上の処理方法により、新レコードを挿入したページを
書き出した後、旧レコードを削除したページを会き出す
前に処理が中断しても、その後レコード検索の際には必
ず先頭ページを読むので、その表示部を検査することに
より、更新中表示があれば直ちにそのポインタによって
新旧両レコードを知り新レコードを有効にするように回
復処理を行い、レコードを最新の状態に維持することが
できる。
〔実施例〕
本発明により、例えば第4図に示すハツシュファイルl
を構成する各ページリストの先頭ページである各プライ
ムページ3には、それぞれ表示部を設ける、プライムペ
ージ3のその他の部分及びオーバフローページ4は前記
従来の場合と同様とする。
表示部には更新中表示と、更新処理中の旧レコード及び
新レコードを指示する両ポインタとを保持し、例えば更
新中表示は1ビツトのフラグのオンにより更新中を、オ
フにより更新が完了している(更新中でない)ことを示
し、更新中表示がオンの場合に各ポインタは新旧各レコ
ードを格納したページのアドレスとページ内格納位置情
報を示すようにする。
ファイル処理部12が前記従来のようにハツシュファイ
ルlの成るページリストに属するレコードを処理する場
合には、そのページリストのページをプライムページ3
から順次バッファ13に読み出して目的のレコードを検
索する。
所要のレコードについて処理を行った結果レコードが更
新され、新内容のレコード(新レコードとする)のデー
タ長が、更新前のレコード(旧レコードとする)より長
(なる場合でも、旧レコードの格納されているページに
新レコードを格納するスペースが得られれば、バッファ
13上のページでそのスペースにレコードを移動し、制
御部の対応する部分を更新して、更新したページをハツ
シュファイルlの元のページと置き換えるように書き出
す。
しかし、新レコードのスペースが元のページに得られな
い場合には、同じページリスト内の他のページを例えば
先頭から調べて、スペースのあるページを決定し、新レ
コードを旧レコードと異なるページに移動しなければな
らない。
その場合にファイル処理部12はバッファ13上にプラ
イムページ3を保持し、又旧レコードのページについて
旧レコードの削除処理、新レコードのページについて新
レコードの挿入処理をバッファ13上で実行した後、第
1図に示す処理を開始する。
なお、新旧レコード何れか一方のページがプライムペー
ジである場合には、バッファ13上のプライムページに
ついて上記のレコード削除又は挿入処理が行われている
このようにバッファ13上に所要のページを準備した後
、ファイル処理部12は先ず第1図の処理ステップ20
により、バッファ13上にあるプライムページの表示部
の更新中表示をオンにし、又旧レコードと新レコードと
を指示する各ポインタを設定し、処理ステップ21でこ
のプライムページをハツシュファイルlへ書き出す。
第2図はプライムページ30、旧レコードのページ31
、新レコードのページ32が異なるページである最も一
般的な場合の、ページの書き出し状態を説明する図であ
り、図において太線で示すページはそのステップで書き
出したページを示し、又表・承部の◎によって、更新中
表示のオン状態を示すものとし、プライムページを書き
出した結果第2図(a)の状態になる。
次に処理ステップ23で新レコードのページを書き出す
ことにより第2図世)の状態になるが、新レコードがプ
ライムページに格納される場合には、処理ステップ21
で書き出されているので、処理ステップ22で新レコー
ドのページがプライムページか識別し、プライムページ
であれば処理ステップ23を省略する。
第2図のような場合であれば、その後処理ステップ25
において、バッファ13にある旧レコードのページを書
き出して(C)の状態になる。しかし旧レコードのペー
ジ、が先頭ページであれば、その後のプライムページの
更新と一括できるので、処理ステップ24で識別してこ
の書き出しを省略する。
処理ステップ26でバッファ13上のプライムページの
表示部の更新中表示をオフにリセットし、処理ステップ
27でこのページを書き出して前のプライムページと置
き換えることにより、更新中表示を解除して、第2図(
d)に示す状態にする。
〔発明の効果〕
、以上の説明から明らかなように本発明によれば、レコ
ードのキーによって定まるページリストに該レコードを
格納するようにした、計算機のファイルの更新において
、更新したレコードを元と異なるページへ移動する場合
に、新レコードを挿入したページを書き出した後、旧レ
コードを削除したページを書き出す前に処理が中断して
も、常に新レコードを有効にするように回復処理を行っ
てレコードを最新の状態に維持することができるので、
計算機のファイルの内容の保全性を向上するという著し
い工業的効果がある。
【図面の簡単な説明】
第1図は本発明の構成を示す処理の流れ図、第2図は本
発明の詳細な説明図、 第3図は計算機の構成例を示すブロック図、第4図はハ
ツシュファイルの説明図 である。 図において、 1はハツシュファイル、 2−0〜2−nはページリスト、 3はプライムページ、  4はオーバフローページ、l
Oは処理装置、    11は外部記憶装置、12はフ
ァイル処理部、 13はバンファ、20〜27は処理ス
テップ 本発明の構成を示す処理の流れ図 第1図 本発明の詳細な説明図 第2図

Claims (1)

  1. 【特許請求の範囲】  レコードのキーによって定まるページリストに該レコ
    ードを格納するようにしてなるファイルを保持し、該レ
    コードの更新に伴い、更新後の該レコードを該ページリ
    ストの更新前と異なるページに格納するように該ファイ
    ルに書き出す処理を行う計算機において、 各該ページリストの先頭ページに、表示部を設け、 更新後の該レコードを格納したページの書き出しより遅
    れることなく、該表示部に更新中表示と更新前の該レコ
    ードを指示するポインタと、更新後の該レコードを指示
    するポインタとを設定した該先頭ページを該ファイルに
    書き出し(20、21)、更新後の該レコードを格納し
    たページの書き出しより先行することなく、更新前の該
    レコードを格納したページから該レコードを消去して、
    該ページを該ファイルに書き出し(22〜25)、更新
    前の該レコードを格納したページの書き出しより先行す
    ることなく、該表示部の更新中表示の設定を解除した該
    先頭ページを該ファイルに書き出す(26、27)よう
    に構成されていることを特徴とするファイル更新処理方
    法。
JP63022279A 1988-02-02 1988-02-02 ファイル更新処理方法 Pending JPH01197855A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63022279A JPH01197855A (ja) 1988-02-02 1988-02-02 ファイル更新処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63022279A JPH01197855A (ja) 1988-02-02 1988-02-02 ファイル更新処理方法

Publications (1)

Publication Number Publication Date
JPH01197855A true JPH01197855A (ja) 1989-08-09

Family

ID=12078320

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63022279A Pending JPH01197855A (ja) 1988-02-02 1988-02-02 ファイル更新処理方法

Country Status (1)

Country Link
JP (1) JPH01197855A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0395633A (ja) * 1989-09-07 1991-04-22 Fujitsu Ltd 処理情報管理システム

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6120161A (ja) * 1984-07-07 1986-01-28 Fujitsu Ltd デ−タセツト保護処理方式

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6120161A (ja) * 1984-07-07 1986-01-28 Fujitsu Ltd デ−タセツト保護処理方式

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0395633A (ja) * 1989-09-07 1991-04-22 Fujitsu Ltd 処理情報管理システム
JP3085308B2 (ja) * 1989-09-07 2000-09-04 富士通株式会社 処理情報管理システム

Similar Documents

Publication Publication Date Title
US7325112B2 (en) High-speed snapshot method
JPS63244243A (ja) フアイルをオープンする方法
JPH02148235A (ja) データ退避方式
JP2553751B2 (ja) ディスクセクタ代替方式
JPH01197855A (ja) ファイル更新処理方法
JP2972548B2 (ja) ファイル管理方式
JPH0687229B2 (ja) 追記型記憶媒体を用いたファイルの管理方法
JP2006127377A (ja) Fatファイルシステム
JPH0198020A (ja) 索引管理方式
JPH0287242A (ja) データベースの退避回復方式
CN113986128B (zh) Lun数据复制方法及装置
JP2822869B2 (ja) ライブラリファイル管理装置
JPS6336375A (ja) デ−タフアイル装置におけるフアイル管理方法
JPH04243437A (ja) データベース移行方式
CN115237875A (zh) 一种日志数据处理方法、装置、设备、存储介质
JPH01243143A (ja) 順編成ファイルシステムにおけるレコード追加方式
JP2747009B2 (ja) 索引順編成ファイルのレコード追加方式
JPH01258288A (ja) ディレクトリ検索方法
JPH04213128A (ja) データ処理装置
JPH07104758B2 (ja) レコード処理方式
JPH0934764A (ja) 情報処理方法及び装置
JPS61251942A (ja) デ−タフアイル制御システム
JPS63280349A (ja) フアイル回復方法
JPH0228848A (ja) オンラインデータ処理装置
JPH0566976A (ja) マスタフアイル管理方式