JPH01171016A - ファイル内レコード位置付け方式 - Google Patents

ファイル内レコード位置付け方式

Info

Publication number
JPH01171016A
JPH01171016A JP62331820A JP33182087A JPH01171016A JP H01171016 A JPH01171016 A JP H01171016A JP 62331820 A JP62331820 A JP 62331820A JP 33182087 A JP33182087 A JP 33182087A JP H01171016 A JPH01171016 A JP H01171016A
Authority
JP
Japan
Prior art keywords
record
file
block
positioning
position storage
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
JP62331820A
Other languages
English (en)
Inventor
Yoshio Kariya
刈谷 善雄
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP62331820A priority Critical patent/JPH01171016A/ja
Publication of JPH01171016A publication Critical patent/JPH01171016A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はファイル内レコード位置付は方式に関し、特に
データファイル内のレコードのレコード長が可変である
場合にファイル内相対レコード番号指定によるデータフ
ァイル内のレコード位置付は処理や現在処理中のレコー
ドから順方向および逆方向への相対レコード数指定によ
りレコードのスキップ処理を伴ってデータファイル内の
レコード位置付は処理を行うファイル内レコード位置付
は方式に関する。
[従来の技術〕 従来、この種のファイル内レコード位置付は方式では、
レコード長が可変であるデータファイルに対するファイ
ル内相対レコード番号指定によるデータファイル内のレ
コードの位置付けは不可能とするか、またはデータファ
イル内のブロックをデータファイル内の先頭のブロック
から位置付けを行うレコードが見つかるまで順に入力す
る必要があった。
また、現在処理中のレコードから順方向および逆方向へ
の相対レコード数指定によるデータファイル内のレコー
ド位置付けは、データファイル内のブロックを現在処理
中のブロックから順方向あるいは逆方向に位置付けを行
うレコードが見つかるまで順に入力する必要があった。
〔発明が解決しようとする問題点〕
上述した従来のファイル内レコード位置付は方式では、
ファイル内相対レコード番号指定によるデータファイル
内のレコードの位置付けは、たとえ不可能としなくても
、データファイル内のブロックを先頭のブロックから位
置付けを行うレコードが見つかるまで順に入力する必要
があったので、1回毎のレコード位置付は処理に時間が
かかり、実用的でないという欠点がある。
また、現在処理中のレコードから順方向あるいは逆方向
への相対レコード数指定によるデータファイル内のレコ
ード位置付けも、データファイル内のブロックを現在処
理中のブロックから順方向あるいは逆方向に位置付けを
行うレコードが見つかるまで順に入力する必要があった
ので、1回毎のレコード位置付は処理に時間がかかり、
実用的でないという欠点がある。
本発明の目的は、上述の点に鑑み、予め定められた数の
ブロック単位にブロック内先頭レコードのファイル内相
対レコード番号をメモリ上に展開して位置付けを行うレ
コードに近いブロック内先頭レコードまではメモリ上の
サーチで済ませることにより、レコード位置付は処理に
伴うブロックの入力回数を減少させることができ、1回
毎のレコード位置付は処理にかかる時間を短縮できるフ
ァイル内レコード位置付は方式を提供することにある。
〔問題点を解決するための手段〕
本発明のファイル内レコード位置付は方式は、ブロック
の順に順次アクセス可能なデータファイルと、予め定め
られた数のブロック単位にブロック内先頭レコードのフ
ァイル内相対レコード番号が記憶されるメモリ上のレコ
ード位置記憶領域と、このレコード位置記憶領域の内容
が保存されるレコード位置記憶ファイルと、前記データ
ファイルに対するレコードの入出力を要求する入出力要
求プログラムと、この入出力要求プログラムが前記デー
タファイル内にレコードを順次出力することを要求した
場合に前記データファイルにレコードを順次出力すると
ともに前記予め定められた数のブロック単位にブロック
内先頭レコードのファイル内相対レコード番号を前記レ
コード位置記憶領域に記憶し、前記入出力要求プログラ
ムからの前記データファイルのクローズ要求時に前記レ
コード位置記憶領域の内容を前記レコード位置記憶ファ
イルに保存し、前記データファイル内へのレコードの順
次出力処理中に前記入出力要求プログラムがレコードの
位置付は処理を要求した場合に前記レコード位置記憶領
域から位置付は処理を要求されたレコードのファイル内
相対レコード番号に最も近くかつ小さいファイル内相対
レコード番号に対応するブロック番号を探し出して位置
付けを要求されたレコードのファイル内相対レコード番
号を前記データファイルの前記ブロック番号のブロック
のブロック内先頭レコードから順方向に検索してレコー
ドの位置付は処理を行うとともに以降のレコードの順次
出力処理に伴う前記レコード位置記憶領域の予め定めら
れたブロック単位にファイル内相対レコード番号を記憶
する場所を前記ブロック番号が記憶された場所の次の場
所に位置付けし直す出力制御手段と、前記データファイ
ルからのレコードの順次入力処理中に前記入出力要求プ
ログラムがレコードの位置付は処理を要求した場合に前
記データファイルに対する最初の位置付は要求時には前
記レコード位置記憶ファイルの内容を前記レコード位置
記憶領域にロードした後に前記レコード位置記憶領域か
ら位置付は処理を要求されたレコードのファイル内相対
レコード番号に最も近くかつ小さいファイル内相対レコ
ード番号に対応するブロック番号を探し出して位置付け
を要求されたレコードのファイル内相対レコード番号を
前記データファイルの前記ブロック番号のブロックのブ
ロック内先頭レコードから順方向に検索してレコードの
位置付は処理を行う入力制御手段とを有する。
〔作用〕
本発明のファイル内レコード位置付は方式では、データ
ファイルがブロックの順に順次アクセス可能で、メモリ
上のレコード位置記憶領域に予め定められた数のブロッ
ク単位にブロック内先頭レコードのファイル内相対レコ
ード番号が記憶され、レコード位置記憶ファイルにレコ
ード位置記憶領域の内容が保存され、入出力要求プログ
ラムがデータファイルに対するレコードの入出力を要求
し、出力制御手段が入出力要求プログラムがデータファ
イル内にレコードを順次出力することを要求した場合に
データファイルにレコードを順次出力するとともに予め
定められた数のブロック単位にブロック内先頭レコード
のファイル内相対レコード番号をレコード位置記憶領域
に記憶し、入出力要求プログラムからのデータファイル
のクローズ要求時にレコード位置記憶領域の内容をレコ
ード位置記憶ファイルに保存し、データファイル内への
レコードの順次出力処理中に入出力要求プログラムがレ
コードの位置付は処理を要求した場合にレコード位置記
憶領域から位置付は処理を要求されたレコードのファイ
ル内相対レコード番号に最も近くかつ小さいファイル内
相対レコード番号に対応するブロック番号を探し出して
位置付けを要求されたレコードのファイル内相対レコー
ド番号をデータファイルのブロック番号のブロックのブ
ロック内先頭レコードから順方向に検索してレコードの
位置付は処理を行うとともに以降のレコードの順次出力
処理に伴うレコード位置記憶領域の予め定められたブロ
ック単位にファイル内相対レコード番号を記憶、する場
所をブロック番号が記憶された場所の次の場所に位置付
けし直し、入力制御手段がデータファイルからのレコー
ドの順次入力処理中に入出力要求プログラムがレコード
の位置付は処理を要求した場合にデータファイルに対す
る最初の位置付は要求時にはレコード位置記憶ファイル
の内容をレコード位置記憶領域にロードした後にレコー
ド位置記憶領域から位置付は処理を要求されたレコード
のファイル内相対レコード番号に最も近くかつ小さいフ
ァイル内相対レコード番号に対応するブロック番号を探
し出して位置付けを要求されたレコードのファイル内相
対レコード番号をデータファイルのブロック番号のブロ
ックのブロック内先頭レコードから順方向に検索してレ
コードの位置付は処理を行う。
〔実施例〕
次に、本発明について図面を参照して詳細に説明する。
第1図は、本発明の一実施例のファイル内レコード位置
付は方式の構成を示すブロック図である。
本実施例のファイル内レコード位置付は方式は、格納さ
れるレコードのレコード長が可変でブロックの順に順次
アクセス可能なデータファイル(例えば、順次編成ファ
イルでなるデータファイル)1と、データファイル1に
対する入出力を要求する入出力要求プログラム2と、入
出力要求プログラム2の出力要求に従ってデータファイ
ル1へのレコードの順次出力処理および順次出力処理中
のレコードのレコード位置付は処理を制御する出力制御
手段3と、入出力要求プログラム2の入力要求に従って
データファイル1からのレコードの順次入力処理および
順次入力処理中のレコードのレコード位置付は処理を制
御する入力制御手段4と、順次出力処理中あるいは順次
入力処理中のレコードの予め定められた数N(正整数)
のブロック数単位にブロック内先頭レコードのファイル
内相対レコード番号が記憶されるメモリ上のレコード位
置記憶領域5と、レコード位置記憶領域5の内容を保存
するレコード位置記憶ファイル6とから構成されている
第2図を参照すると、出力制御手段3における出力処理
は、レコード出力ステップ10と、所定ブロック内先頭
レコード判定ステップ11と、ブロック番号およびファ
イル内相対レコード番号記憶ステップ12と、データフ
ァイルクローズ指示有無判定ステップ13と、レコード
位置記憶領域内容保存ステップ14とからなる。
第3図を参照すると、出力制御手段3における順次出力
処理中のレコードの位置付は処理は、ファイル内相対レ
コード番号チエツクステップ20と、レコード位置記憶
領域検索ステップ21と、データファイル検索ステップ
22と、現在レコード位置変更ステップ23と、現在エ
ントリ位置変更ステップ24とからなる。
第4図を参照すると、入力制御手段4における順次入力
処理中のレコードの位置付は処理は、レコード位置記憶
領域ロード済判定ステップ30と、レコード位置記憶領
域ロードステップ31と、レコード位置記憶領域検索ス
テップ32と、データファイル検索ステップ33と、現
在レコード位置変更ステップ34とからなる。
次に、このように構成された本実施例のファイル内レコ
ード位置付は方式、の動作について説明する。
まず、入出力要求プログラム2がレコードの出力を要求
してデータファイルlを作成するときの動作について説
明する。
入出力要求プログラム2がデータファイル1へのレコー
ドの出力を要求すると、出力制御手段3は、レコードを
データファイルlに出力しくステップ10)、出力され
たレコードのレコード位置がデータファイル1の予め定
められた数Nの倍数のブロック番号のブロックのブロッ
ク内先頭レコードになったか否かを判定する(ステップ
11)。Nの倍数のブロック番号のブロックのブロック
内先頭レコードであれば、出力制御手段3は、ブロック
内先頭レコードとなったレコードのブロック番号および
ファイル内相対レコード番号をメモリ上のレコード位置
記憶領域5に記憶しくステップ12)、Nの倍数のブロ
ック番号のブロックのブロック内先頭レコードでなけれ
ばステップ12をスキップする0次に、出力制御手段3
は、入出力要求プログラム2からデータファイル1のク
ローズを要求されたか否かの判定を行う(ステップ13
)。出力制御手段3は、入出力要求プログラム2からデ
ータファイルlのクローズを要求されるまでステップ1
0〜ステツプ12の処理を繰り返し、ステップ13で入
出力要求プログラム2からデータファイル1のクローズ
を要求されたと判定されたならば、レコード位置記憶領
域5に記憶された内容をレコード位置記憶ファイル6に
出力して保存する(ステップ14)。
次に、データファイル1へのレコードの順次出力処理中
に入出力要求プログラム2がレコードの位置付は処理を
要求したときの動作について説明する。
データファイル1へのレコードの順次出力処理中に入出
力要求プログラム2がレコードの位置付は処理を要求し
たならば、出力制御手段3は、位置付けを要求されたレ
コードのファイル内相対レコード番号が現在出力処理中
のレコードのファイル内相対レコード番号より大きいか
小さいかを判定する(ステップ20)0位置付けを要求
されたレコードのファイル内相対レコード番号が現在出
力処理中のレコードのファイル内相対レコード番号より
も大きければ、出力制御手段3は、エラーとして位置付
けを要求されたレコードに対する位置付けは行わないで
処理を終了する0位置付けを要求されたレコードのファ
イル内相対レコード番号が現在出力処理中のレコードの
ファイル内相対レコード番号よりも小さければ、出力制
御手段3は、位置付けを要求されたレコードのファイル
内相対レコード番号を基にレコード位置記憶領域5を検
索して、位置付けを要求されたレコードのファイル内相
対レコード番号に最も近くかつ小さいファイル内相対レ
コード番号をもつエントリを探し出し、このエントリが
もつブロック番号を得る(ステップ21)。
続いて、出力制御手段3は、得られたブロック番号のブ
ロックのブロック内先頭レコードから順方向にデータフ
ァイル1を検索して(ステップ22)、現在出力処理中
のレコードの位置を検索されたレコードの位置(例えば
、ブロック番号およびブロック内オフセント)に変更す
ることにより位置付は要求されたファイル内相対レコー
ド番号のレコードに位置付ける(ステップ23)0次に
、出力制御手段3は、レコード位置記憶領域5における
ステップ21で探し出されたブロック番号のエントリの
以降の内容をクリアして、予め定められたブロック数N
の倍数のブロック数毎にブロック内先頭レコードのブロ
ック番号およびファイル内相対レコード番号を記憶する
位置をステップ21で探し出されたブロック番号のエン
トリの直後のエントリに位置付ける(ステップ24)。
続いて、データファイルlからのレコードの順次入力処
理中に入出力要求プログラム2がレコードの位置付は処
理を要求した場合の動作について説明する。
レコードの順次入力処理中に入出力要求プログラム2が
レコード位置付は処理を要求した場合には、入力制御手
段4は、データファイル1では最初のレコード位置付は
処理要求であるか否か、すなわちレコード位置記憶領域
5内にレコード位置記憶ファイル6の内容がロードされ
ているか否かを判定する(ステップ30)。入力制御手
段4は、レコード位置記憶ファイル6の内容がロードさ
れていなければレコード位置記憶ファイル6の内容をレ
コード位置記憶領域5にロードしくステップ31)、す
でにレコード位置記憶領域5にロードされていればステ
ップ31の処理をスキップする。
次に、入力制御手段4は、位置付けを要求されたレコー
ドのファイル内相対レコード番号を基にレコード位置記
憶領域5を検索して、位置付けを要求されたレコードの
ファイル内相対レコード番号に最も近くかつ小さいファ
イル内相対レコード番号をもつエントリを探し出し、こ
のエントリのブロック番号を得る(ステップ32)、続
いて、入力制御手段4は、得られたブロック番号のブロ
ックのブロック内先頭レコードから順方向にデータファ
イル1を検索して(ステップ33)、現在入力処理中の
レコードの位置を検索されたレコードの位置に変更する
ことにより位置付は要求されたファイル内相対レコード
番号のレコードに位置付ける(ステップ34)。
なお、ここでは、ファイル内相対レコード番号指定によ
るファイル内レコード位置付は方式の動作についてのみ
述べたが、現在処理中のレコードからの順方向または逆
方向への相対レコード数指定によるレコードの位置付は
処理は、指定された相対レコード数が現在処理中のレコ
ードから順方向であるか逆方向であるかにより現在処理
中のレコードのファイル内相対レコード番号と指定され
た相対レコード数との加減演算で簡単に求められるので
、本実施例のファイル内レコード位置付は方式が相対レ
コード数指定による場合にも適用できることはいうまで
もない。
〔発明の効果〕
以上説明したように本発明は、予め定められた数のブロ
ック数単位にデータファイルのブロックのブロック内先
頭レコードのファイル内相対レコード番号をメモリ上に
展開してファイル内相対レコード番号指定あるいは現在
処理中のレコードからの相対レコード数指定によるレコ
ードの位置付は処理において位置付けを行うレコードに
近いブロック内先頭レコードまではメモリ上の検索で済
ませるようにしたことにより、レコード位置付は処理に
伴うブロックの人力回数を減少させることができるので
、1回毎のレコードの位置付は処理にかかる時間を短縮
でき、ブロックの順に順次アクセス可能なデータファイ
ルの利用範囲を広げることができるという効果がある。
【図面の簡単な説明】
第1図は本発明の一実施例のファイル内レコード位置付
は方式の構成を示すブロック図、第2図は第1図中の出
力制御手段における出力処理を示す流れ図、 第3図は第1図中の出力制御手段における順次出力処理
中のレコードの位置付は処理を示す流れ図、 第4図は第1図中の入力制御手段における順次入力処理
中のレコードの位置付は処理を示す流れ図である。 図において、 !・・・データファイル、 2・・・入出力要求プログラム、 3・・・出力制御手段、 4・・・入力制御手段、 5・・・レコード位置記憶領域、 6・・・レコード位置記憶ファイルである。

Claims (1)

  1. 【特許請求の範囲】 ブロックの順に順次アクセス可能なデータファイルと、 予め定められた数のブロック単位にブロック内先頭レコ
    ードのファイル内相対レコード番号が記憶されるメモリ
    上のレコード位置記憶領域と、このレコード位置記憶領
    域の内容が保存されるレコード位置記憶ファイルと、 前記データファイルに対するレコードの入出力を要求す
    る入出力要求プログラムと、 この入出力要求プログラムが前記データファイル内にレ
    コードを順次出力することを要求した場合に前記データ
    ファイルにレコードを順次出力するとともに前記予め定
    められた数のブロック単位にブロック内先頭レコードの
    ファイル内相対レコード番号を前記レコード位置記憶領
    域に記憶し、前記入出力要求プログラムからの前記デー
    タファイルのクローズ要求時に前記レコード位置記憶領
    域の内容を前記レコード位置記憶ファイルに保存し、前
    記データファイル内へのレコードの順次出力処理中に前
    記入出力要求プログラムがレコードの位置付け処理を要
    求した場合に前記レコード位置記憶領域から位置付け処
    理を要求されたレコードのファイル内相対レコード番号
    に最も近くかつ小さいファイル内相対レコード番号に対
    応するブロック番号を探し出して位置付けを要求された
    レコードのファイル内相対レコード番号を前記データフ
    ァイルの前記ブロック番号のブロックのブロック内先頭
    レコードから順方向に検索してレコードの位置付け処理
    を行うとともに以降のレコードの順次出力処理に伴う前
    記レコード位置記憶領域の予め定められたブロック単位
    にファイル内相対レコード番号を記憶する場所を前記ブ
    ロック番号が記憶された場所の次の場所に位置付けし直
    す出力制御手段と、 前記データファイルからのレコードの順次入力処理中に
    前記入出力要求プログラムがレコードの位置付け処理を
    要求した場合に前記データファイルに対する最初の位置
    付け要求時には前記レコード位置記憶ファイルの内容を
    前記レコード位置記憶領域にロードした後に前記レコー
    ド位置記憶領域から位置付け処理を要求されたレコード
    のファイル内相対レコード番号に最も近くかつ小さいフ
    ァイル内相対レコード番号に対応するブロック番号を探
    し出して位置付けを要求されたレコードのファイル内相
    対レコード番号を前記データファイルの前記ブロック番
    号のブロックのブロック内先頭レコードから順方向に検
    索してレコードの位置付け処理を行う入力制御手段と、 を有することを特徴とするファイル内レコード位置付け
    方式。
JP62331820A 1987-12-25 1987-12-25 ファイル内レコード位置付け方式 Pending JPH01171016A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62331820A JPH01171016A (ja) 1987-12-25 1987-12-25 ファイル内レコード位置付け方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62331820A JPH01171016A (ja) 1987-12-25 1987-12-25 ファイル内レコード位置付け方式

Publications (1)

Publication Number Publication Date
JPH01171016A true JPH01171016A (ja) 1989-07-06

Family

ID=18248007

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62331820A Pending JPH01171016A (ja) 1987-12-25 1987-12-25 ファイル内レコード位置付け方式

Country Status (1)

Country Link
JP (1) JPH01171016A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03280136A (ja) * 1990-03-29 1991-12-11 Nec Corp 順編成ファイルのレコード位置付け方式

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03280136A (ja) * 1990-03-29 1991-12-11 Nec Corp 順編成ファイルのレコード位置付け方式

Similar Documents

Publication Publication Date Title
US5301198A (en) Method for debugging a program by executing a block mode run
JPH01171016A (ja) ファイル内レコード位置付け方式
JPH07319742A (ja) 論理削除データ物理削除方式
JPH0399380A (ja) 収集データの格納方法
JPH0239225A (ja) ファイルシステム
JP2745500B2 (ja) 文字列検索装置
JPH0635774A (ja) データベースマネージメントシステム
JP3019104B2 (ja) ファイル処理装置
JPH07182404A (ja) 設計支援装置
JPH02189631A (ja) パッチデータ保存方式
JPH03280136A (ja) 順編成ファイルのレコード位置付け方式
JPH04369727A (ja) 演算装置
JPS63276629A (ja) ファイル内レコ−ドのソ−ト方式
JPH04105128A (ja) 常駐化によるコマンド高速起動方式
JPH02257349A (ja) ネットワークアドレス設定方式
JPS62115557A (ja) プログラムのブ−トロ−ド方式
JPH05120105A (ja) フアイルデータ入出力方式
JPH05181717A (ja) データベース運用制御システム
JPH07210563A (ja) 索引処理方法
JPH05165686A (ja) データ格納制御方式
JPH02137016A (ja) データ入力制御方式
JPH0773086A (ja) 時系列データ保持方式
JPH07282073A (ja) データ検索装置及びその方法
JPH0683683A (ja) ファイル名称変更処理装置および方法
JPH02227774A (ja) 検索データ設定処理方式