JP2629054B2 - 直接編成サイクリックファイルのデータブロック管理方法及びデータブロック管理装置 - Google Patents
直接編成サイクリックファイルのデータブロック管理方法及びデータブロック管理装置Info
- Publication number
- JP2629054B2 JP2629054B2 JP1343195A JP34319589A JP2629054B2 JP 2629054 B2 JP2629054 B2 JP 2629054B2 JP 1343195 A JP1343195 A JP 1343195A JP 34319589 A JP34319589 A JP 34319589A JP 2629054 B2 JP2629054 B2 JP 2629054B2
- Authority
- JP
- Japan
- Prior art keywords
- data block
- data
- block
- writing
- latest
- 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 - Lifetime
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
【発明の詳細な説明】 〔概 要〕 データブロックをサイクリックに書き込み,常に先行
する一定のデータブロックをコントロールブロックで管
理する形態を有する直接編成サイクリックファイルのデ
ータブロック管理方法及びデータブロック管理装置に関
し, データブロックの書き込みの後コントロールブロック
を更新する前にシステムダウンが発生しても最旧データ
ブロックの指示誤りを生じないようにすることを目的と
し, 先頭データブロック領域(1)から最終データブロッ
ク領域の一つ前の領域(N−1)まで書き込みを行った
後に続くデータブロックの書き込みでは,各データブロ
ックの書き込みを終了するごとに,当該データブロック
の番号を最新更新データブロック番号とし,その最新更
新データブロック番号に1を加えた値についてデータブ
ロック領域総数を除数として除算を行い,その結果の剰
余に1を加えた値を最旧更新データブロック番号とする
よう構成した。
する一定のデータブロックをコントロールブロックで管
理する形態を有する直接編成サイクリックファイルのデ
ータブロック管理方法及びデータブロック管理装置に関
し, データブロックの書き込みの後コントロールブロック
を更新する前にシステムダウンが発生しても最旧データ
ブロックの指示誤りを生じないようにすることを目的と
し, 先頭データブロック領域(1)から最終データブロッ
ク領域の一つ前の領域(N−1)まで書き込みを行った
後に続くデータブロックの書き込みでは,各データブロ
ックの書き込みを終了するごとに,当該データブロック
の番号を最新更新データブロック番号とし,その最新更
新データブロック番号に1を加えた値についてデータブ
ロック領域総数を除数として除算を行い,その結果の剰
余に1を加えた値を最旧更新データブロック番号とする
よう構成した。
本発明は,テレメトリーデータや障害発生時の診断,
復旧に用いられるロギングデータのように,データブロ
ックをサイクリックに書き込み,常に先行する一定期間
内のデータブロックをコントロールブロックで管理する
形態を有する直接編成サイクリックファイルのデータブ
ロック管理方法及びデータブロック管理装置に関する。
復旧に用いられるロギングデータのように,データブロ
ックをサイクリックに書き込み,常に先行する一定期間
内のデータブロックをコントロールブロックで管理する
形態を有する直接編成サイクリックファイルのデータブ
ロック管理方法及びデータブロック管理装置に関する。
データロギングを行う場合,データがファイル容量一
杯になると古いデータから棄却され,新たなデータが格
納される必要がある。これがサイクリックファイルの必
要性の原点であるが,このような形式のファイルの場
合,最新データブロック,最旧データブロック,および
総ブロック数等を管理するブロック(コントロールブロ
ックという)が必要となる。
杯になると古いデータから棄却され,新たなデータが格
納される必要がある。これがサイクリックファイルの必
要性の原点であるが,このような形式のファイルの場
合,最新データブロック,最旧データブロック,および
総ブロック数等を管理するブロック(コントロールブロ
ックという)が必要となる。
本発明は,サイクリックファイル内の有効なデータブ
ロックとそれを管理するコントロールブロックの内容と
をいつの時点でも一致させるための管理方法及びデータ
ブロック管理装置を提供する。
ロックとそれを管理するコントロールブロックの内容と
をいつの時点でも一致させるための管理方法及びデータ
ブロック管理装置を提供する。
従来のサイクリックファイルの管理方法を第4図によ
り説明する。ファイルのコントロールブロックは,最新
データブロック番号,最旧データブロック番号,ブロッ
ク領域総数を管理する。図(a)に示すように使用開始
から最終ブロックにデータを書き込むまで,最旧データ
ブロック番号は常に1である。最新データブロック番号
については,新たにデータブロックの書き込みが正常に
終了した時点でそのブロックの番号(J)が最新データ
ブロック番号として更新される。しかし最終ブロック
(N)にデータを書き込んだ後は,図(b)に示すよう
に最も古いデータブロックのブロック領域から順に用い
て新しいデータブロックが上書きされる。この時コント
ロールブロックには,サイクリックファイルの特性から 最旧データブロック番号=mod(最新データブロック番号,ブロック領域総数)
+1 という関係で,最旧と最新のデータブロック番号が設定
される。すなわち最新データブロック番号と最旧データ
ブロック番号とは,1からNまでの値の範囲で互いに1ず
つずれた状態で循環的に更新されてゆく。
り説明する。ファイルのコントロールブロックは,最新
データブロック番号,最旧データブロック番号,ブロッ
ク領域総数を管理する。図(a)に示すように使用開始
から最終ブロックにデータを書き込むまで,最旧データ
ブロック番号は常に1である。最新データブロック番号
については,新たにデータブロックの書き込みが正常に
終了した時点でそのブロックの番号(J)が最新データ
ブロック番号として更新される。しかし最終ブロック
(N)にデータを書き込んだ後は,図(b)に示すよう
に最も古いデータブロックのブロック領域から順に用い
て新しいデータブロックが上書きされる。この時コント
ロールブロックには,サイクリックファイルの特性から 最旧データブロック番号=mod(最新データブロック番号,ブロック領域総数)
+1 という関係で,最旧と最新のデータブロック番号が設定
される。すなわち最新データブロック番号と最旧データ
ブロック番号とは,1からNまでの値の範囲で互いに1ず
つずれた状態で循環的に更新されてゆく。
ファイルにコントロールブロックを持たせることは避
けることができないことであるが,そのために,1つのデ
ータ書き込みが正常に完了するまでに,データブロック
とコントロールブロックの2つのブロックが書かれなけ
ればならない。ここで大きな問題が発生する。それは第
4図(b)の状態でデータブロックの書き込みが正常に
終了し,コントロールブロックを更新する前にシステム
ダウンが起こると,復旧時にコントロールブロックが指
している最旧データブロックが,実は第4図(c)のデ
ータブロック番号4に示すように最新データブロックに
書き変わっているという矛盾が発生し,ロギングデータ
などの整時性が必要なデータの特質が失われることであ
る。
けることができないことであるが,そのために,1つのデ
ータ書き込みが正常に完了するまでに,データブロック
とコントロールブロックの2つのブロックが書かれなけ
ればならない。ここで大きな問題が発生する。それは第
4図(b)の状態でデータブロックの書き込みが正常に
終了し,コントロールブロックを更新する前にシステム
ダウンが起こると,復旧時にコントロールブロックが指
している最旧データブロックが,実は第4図(c)のデ
ータブロック番号4に示すように最新データブロックに
書き変わっているという矛盾が発生し,ロギングデータ
などの整時性が必要なデータの特質が失われることであ
る。
本発明は,データブロックの書き込みの後コントロー
ルブロックを更新する前にシステムダウンが発生しても
最旧データブロックの指示誤りを生じないようにするこ
とを目的としている。
ルブロックを更新する前にシステムダウンが発生しても
最旧データブロックの指示誤りを生じないようにするこ
とを目的としている。
本発明は,最新データブロックとサイクリックな順方
向での最旧データブロックとの間の距離を2ブロック以
上にして,データブロックの書き込み後にシステムダウ
ンしてコントロールブロックの更新ができなかった場合
でも,最旧データブロックに最新データブロックが重な
らないようにして,最旧データブロックの指示誤りを生
じないようにしている。
向での最旧データブロックとの間の距離を2ブロック以
上にして,データブロックの書き込み後にシステムダウ
ンしてコントロールブロックの更新ができなかった場合
でも,最旧データブロックに最新データブロックが重な
らないようにして,最旧データブロックの指示誤りを生
じないようにしている。
第1図は,本発明の原理説明図である。
図(a),(b)において, 1は,直接編成サイクリックファイルである。
2は,コントロールブロックである。
3は,データブロックが書き込まれるN個(N>2)
のデータブロック領域である。
のデータブロック領域である。
4は,コントロールブロック2を用いてデータブロッ
クの書き込み,読み出し処理を行うファイル管理プログ
ラムである。
クの書き込み,読み出し処理を行うファイル管理プログ
ラムである。
図(a)は,ファイルの初期化後,最初のデータブロ
ック領域(番号1)からデータブロックの書き込みを開
始し,最終のデータブロック領域(番号N)の1つ前の
データブロック領域(番号N−1)に書き込みを行うま
での間のコントロールブロックの内容を示す。この例の
場合,最旧データブロック番号は1,最新データブロック
番号はJ(1JN−1),データブロック領域総数
はNである。データブロック書き込み後コントロールブ
ロックの最新データブロック番号Jのみが更新される。
ック領域(番号1)からデータブロックの書き込みを開
始し,最終のデータブロック領域(番号N)の1つ前の
データブロック領域(番号N−1)に書き込みを行うま
での間のコントロールブロックの内容を示す。この例の
場合,最旧データブロック番号は1,最新データブロック
番号はJ(1JN−1),データブロック領域総数
はNである。データブロック書き込み後コントロールブ
ロックの最新データブロック番号Jのみが更新される。
図(b)は,書き込みを行ったデータブロック数がN
−1個に達した時点以降におけるコントロールブロック
の内容例を示す。この例の場合,最新データブロック番
号は2,最旧データブロック番号は4,データブロック領域
総数はNである。一般に最旧データブロック番号は,最
新データブロック番号に1を加えた値について,データ
ブロック領域総数Nを法(mod)として剰余を求め,そ
の剰余に1を加えた値として得られる。
−1個に達した時点以降におけるコントロールブロック
の内容例を示す。この例の場合,最新データブロック番
号は2,最旧データブロック番号は4,データブロック領域
総数はNである。一般に最旧データブロック番号は,最
新データブロック番号に1を加えた値について,データ
ブロック領域総数Nを法(mod)として剰余を求め,そ
の剰余に1を加えた値として得られる。
本発明によれば,サイクリックなデータブロックのフ
ァイル書き込みが行われている状態では最新データブロ
ック位置と最旧データブロック位置との間には1ブロッ
クのゆとりがあるため,データブロックの書き込み後に
システムダウンが発生してコントロールブロックの更新
が行われなくとも,コントロールブロックの管理データ
とファイルのデータブロックとの間に矛盾を生じること
はない。しかし,この1ブロックのゆとりのため,書き
込まれているN個のデータブロックのうち使用できるデ
ータブロックはN−1個となる。
ァイル書き込みが行われている状態では最新データブロ
ック位置と最旧データブロック位置との間には1ブロッ
クのゆとりがあるため,データブロックの書き込み後に
システムダウンが発生してコントロールブロックの更新
が行われなくとも,コントロールブロックの管理データ
とファイルのデータブロックとの間に矛盾を生じること
はない。しかし,この1ブロックのゆとりのため,書き
込まれているN個のデータブロックのうち使用できるデ
ータブロックはN−1個となる。
第2図は書き込み済データブロックとコントロールブ
ロックの更新内容との推移を示したものである。図
(a)のように書き込み通番の1回からN−1回までの
データブロック書き込みでは,コントロールブロックの
最旧データブロック番号は1を示し,図(b)のN回目
のデータブロック書き込みでは,最旧データブロック番
号は2となる。
ロックの更新内容との推移を示したものである。図
(a)のように書き込み通番の1回からN−1回までの
データブロック書き込みでは,コントロールブロックの
最旧データブロック番号は1を示し,図(b)のN回目
のデータブロック書き込みでは,最旧データブロック番
号は2となる。
N+1回目以降のデータブロック書き込みでは,図
(c)の最新データブロック番号1および最旧データブ
ロック番号3の状態からそれぞれ平行して,Nを法として
+1ずつ更新される。
(c)の最新データブロック番号1および最旧データブ
ロック番号3の状態からそれぞれ平行して,Nを法として
+1ずつ更新される。
ここでたとえば図(c)において,次のデータブロッ
ク2を書き込んだ後システムダウンが発生すると,最新
データブロック番号は1,最旧データブロック番号は3で
あるからデータブロック2を書き込む前のN+1個の時
系列データブロック3,4,5,…,N−1,N,1を矛盾なく読み
出すことができる。
ク2を書き込んだ後システムダウンが発生すると,最新
データブロック番号は1,最旧データブロック番号は3で
あるからデータブロック2を書き込む前のN+1個の時
系列データブロック3,4,5,…,N−1,N,1を矛盾なく読み
出すことができる。
第3図は,本発明を実現するファイル管理プログラム
の実施例フローである。
の実施例フローである。
この実施例では,データブロックを格納可能なデータ
ブロック領域総数をN,最旧データブロック番号をB0,最
新データブロック番号をBNでで表す。たとえばNの値は
6750であり,B0,BNは1〜6750の値をとる。
ブロック領域総数をN,最旧データブロック番号をB0,最
新データブロック番号をBNでで表す。たとえばNの値は
6750であり,B0,BNは1〜6750の値をとる。
処理は次のように行われる。
ファイルからメモリにコントロールブロックを読み
込む。
込む。
ファイルに書き込むべき入力データをメモリに読み
込む。
込む。
データブロックを編集し,そのデータブロックをmo
d(BN+1,N)の位置のデータブロック領域に書き出す。
d(BN+1,N)の位置のデータブロック領域に書き出す。
書き込みが正常終了すればのステップを実行し,
異常終了すればのステップを実行する。
異常終了すればのステップを実行する。
B0=1で,BN+1N−1であればのステップを
実行し,否ならばのステップを実行する。
実行し,否ならばのステップを実行する。
N−1ブロック目までについて,B0=1,BN=BN+1
とするコントロールブロックを編集する。
とするコントロールブロックを編集する。
Nブロック目以降について、BN=mod(BN,N)+1
を求め,さらにその結果のBNを用いてB0=mod(BN+1,
N)+1を求め,コントロールブロックを編集する。
を求め,さらにその結果のBNを用いてB0=mod(BN+1,
N)+1を求め,コントロールブロックを編集する。
上記,で編集したコントロールブロックをファ
イルに書き出す。
イルに書き出す。
書き込みが正常終了すればのステップへ戻って処
理を繰り返し,異常終了すればのステップを実行す
る。
理を繰り返し,異常終了すればのステップを実行す
る。
上記,での異常終了に対応してエラー処理を行
う。
う。
以上説明したように,本発明によれば,データブロッ
ク書き込み後,コントロールブロックを更新する前にシ
ステムダウン等の事故が発生しても,コントロールブロ
ックが指す最旧データブロックから最新データブロック
まで順次読み込む際,新旧の逆戻りといった不都合は発
生しない。つまり,どの時点でシステムダウンを起こし
ても,コントロールブロックをマニュアルで書き替える
ことなく,コントロールブロックをキーにしてデータを
読み込むことができる。
ク書き込み後,コントロールブロックを更新する前にシ
ステムダウン等の事故が発生しても,コントロールブロ
ックが指す最旧データブロックから最新データブロック
まで順次読み込む際,新旧の逆戻りといった不都合は発
生しない。つまり,どの時点でシステムダウンを起こし
ても,コントロールブロックをマニュアルで書き替える
ことなく,コントロールブロックをキーにしてデータを
読み込むことができる。
またデータ保全に関しては,従来完成されたソフトウ
ェアが種々提案されているが,本発明はこのようなソフ
トウェアを利用した場合にくらべて,インストールなど
の手間が省ける他,小さなシステムでも容易に使用でき
る利点がある。また,システムダウン後のリカバリに要
する時間もかなり少なくて済み,しかもその操作手順は
簡便である。さらに,ファイルが複数システムからの共
有になっている場合,書き込み系がシステムダウンして
いても,リカバリ処理なしで他系から問題なく読み込み
が行えるという利点も有する。
ェアが種々提案されているが,本発明はこのようなソフ
トウェアを利用した場合にくらべて,インストールなど
の手間が省ける他,小さなシステムでも容易に使用でき
る利点がある。また,システムダウン後のリカバリに要
する時間もかなり少なくて済み,しかもその操作手順は
簡便である。さらに,ファイルが複数システムからの共
有になっている場合,書き込み系がシステムダウンして
いても,リカバリ処理なしで他系から問題なく読み込み
が行えるという利点も有する。
従って,本発明はテレメトリデータに代表されるよう
に,リアルタイム性やデータの変化傾向を重視するよう
なデータを累積するファイルについて,特に優れた効果
を発揮する。
に,リアルタイム性やデータの変化傾向を重視するよう
なデータを累積するファイルについて,特に優れた効果
を発揮する。
第1図は本発明の原理説明図,第2図は本発明の作用説
明図,第3図は本発明によるファイル管理プログラムの
実施例フロー図,第4図は従来のサイクリックファイル
の管理方法の説明図である。 第1図中, 1:直接編成サイクリックファイル, 2:コントロールブロック, 3:データブロック領域。
明図,第3図は本発明によるファイル管理プログラムの
実施例フロー図,第4図は従来のサイクリックファイル
の管理方法の説明図である。 第1図中, 1:直接編成サイクリックファイル, 2:コントロールブロック, 3:データブロック領域。
Claims (2)
- 【請求項1】データブロックが順次的に書き込まれる任
意個数のデータブロック領域(1,2,…,N−1,N)から構
成される直接編成サイクリックファイルのデータブロッ
ク管理方法において, 先頭データブロック領域(1)から最終データブロック
領域の一つ前の領域(N−1)まで書き込みを行った後
に続くデータブロックの書き込みでは,各データブロッ
クの書き込みを終了するごとに,当該データブロックの
番号を最新更新データブロック番号とし,その最新更新
データブロック番号に1を加えた値についてデータブロ
ック領域総数を除数として除算を行い,その結果の剰余
に1を加えた値を最旧更新データブロック番号とするこ
とを特徴とする直接編成サイクリックファイルのデータ
ブロック管理方法。 - 【請求項2】データブロックが順次的に書き込まれる任
意個数のデータブロック領域(1,2,…,N−1,N)から構
成される直接編成サイクリックファイルのデータブロッ
ク管理装置において, データブロック領域総数,最旧更新データブロック番
号,最新更新データブロック番号を管理するコントロー
ルブロックと, 先頭データブロック領域(1)から最終データブロック
領域の一つ前の領域(N−1)まで書き込みを行った後
に続くデータブロックの書き込みでは,各データブロッ
クの書き込みを終了するごとに,当該データブロックの
番号を最新更新データブロック番号とし,その最新デー
タブロック番号に1を加えた値について前記データブロ
ック領域総数を除数として除算を行い,その結果の剰余
に1を加えた値を最旧更新データブロック番号として,
前記コントロールブロックを更新する管理手段と, を有することを特徴とする直接編成サイクリックファイ
ルのデータブロック管理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1343195A JP2629054B2 (ja) | 1989-12-28 | 1989-12-28 | 直接編成サイクリックファイルのデータブロック管理方法及びデータブロック管理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1343195A JP2629054B2 (ja) | 1989-12-28 | 1989-12-28 | 直接編成サイクリックファイルのデータブロック管理方法及びデータブロック管理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH03201147A JPH03201147A (ja) | 1991-09-03 |
JP2629054B2 true JP2629054B2 (ja) | 1997-07-09 |
Family
ID=18359651
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP1343195A Expired - Lifetime JP2629054B2 (ja) | 1989-12-28 | 1989-12-28 | 直接編成サイクリックファイルのデータブロック管理方法及びデータブロック管理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2629054B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111930309A (zh) * | 2020-07-31 | 2020-11-13 | 中国人民解放军海军工程大学 | 基于数据分块技术的文件循环存储方法和装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62285148A (ja) * | 1986-06-03 | 1987-12-11 | Nec Corp | 格納フアイル管理方式 |
JPS63316204A (ja) * | 1987-06-19 | 1988-12-23 | Tokyo Electric Power Co Inc:The | デ−タフアイル管理方法 |
-
1989
- 1989-12-28 JP JP1343195A patent/JP2629054B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH03201147A (ja) | 1991-09-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6311193B1 (en) | Computer system | |
EP0516900B1 (en) | Data backup and recovery in a data processing system | |
US5548757A (en) | Method and apparatus for appending information to data files, ensuring proper end-of-file indication | |
CA2466110A1 (en) | Method and system for validating remote database updates | |
JP4704574B2 (ja) | リングメモリ用ポインタの安全書込方法 | |
EP3086234A1 (en) | Write information storage device, method, and recording medium | |
US6192376B1 (en) | Method and apparatus for shadowing a hierarchical file system index structure to enable error recovery | |
JP2629054B2 (ja) | 直接編成サイクリックファイルのデータブロック管理方法及びデータブロック管理装置 | |
US5758339A (en) | Method of identifying shared and unshared information using system chapters, a sysplex chapter, a table of contents, and a header | |
JP3985430B2 (ja) | データベース管理装置及び方法 | |
US20030220950A1 (en) | Database controlling system | |
JPS6051731B2 (ja) | 二段構造ファイル方式 | |
JPH0158533B2 (ja) | ||
JPS5921057B2 (ja) | システム間共用フアイル・リカバリ制御方式 | |
JPH0844609A (ja) | データバックアップ方法 | |
JPS5856142B2 (ja) | オンライン回復制御方式 | |
JP3615150B2 (ja) | データ処理サーバ及び方法並びにデータ処理プログラムを記録した記録媒体 | |
JP2818538B2 (ja) | ジャーナルファイルの分割管理方式およびジャーナルファイルの分割管理方法 | |
JP5219565B2 (ja) | 履歴管理システム及びコンピュータプログラム及び履歴管理方法 | |
JP2000020366A (ja) | レプリケーションシステム | |
JP2631185B2 (ja) | データベースバックアップ方法 | |
JP3240990B2 (ja) | トランザクションレコード管理装置及びトランザクションレコード管理方法 | |
JP3027782B2 (ja) | データベース回復方式 | |
JP2658964B2 (ja) | データレコード格納位置制御方式 | |
KR100317786B1 (ko) | 에이티엠교환기에서통계데이터관리방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080418 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090418 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090418 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100418 Year of fee payment: 13 |
|
EXPY | Cancellation because of completion of term | ||
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100418 Year of fee payment: 13 |