JPH03282841A - 可変長レコードの直接入出力処理方式 - Google Patents

可変長レコードの直接入出力処理方式

Info

Publication number
JPH03282841A
JPH03282841A JP2084146A JP8414690A JPH03282841A JP H03282841 A JPH03282841 A JP H03282841A JP 2084146 A JP2084146 A JP 2084146A JP 8414690 A JP8414690 A JP 8414690A JP H03282841 A JPH03282841 A JP H03282841A
Authority
JP
Japan
Prior art keywords
record
record information
information table
file
output
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
JP2084146A
Other languages
English (en)
Inventor
Noboru Higuchi
登 樋口
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 JP2084146A priority Critical patent/JPH03282841A/ja
Publication of JPH03282841A publication Critical patent/JPH03282841A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はファイルの入出力処理方式に関し、特に可変長
レコードの直接入出力処理方式に関する。
〔従来の技術〕
従来、直接入出力を行えるファイルはそのファイル内で
レコード長または最大レコード長が一定であった。また
、レコード長またri最犬レコード長をファイルの作成
時ま次はファイルのオープン時に指定する必要があった
〔発明が解決しようとする課題〕
上述した従来の方法では、直接入出力を行おうとするフ
ァイルでは可変長レコードが扱えないという欠点がある
また、ファイルの作成時″またはファイルのオ−ダン時
にレコード長1fcrC最大レコード長を指定しなけれ
ばならず、論理レコードの最大値を予め計算して2かな
ければならないという欠点がある。
さらに、指定されたレコード長または最大レコード長に
よってファイル内の全てのレコードが作成されるので、
そのレコード長よりも短い論理レコードを出力した場合
には使用しない領域ができ無駄なファイル領域を取って
しまうという欠点がある。
〔課題を解決するための手段〕
本発明の可変長レコードの直接入出力処理方式は、論理
レコードごとにそのレコード番号とファイル内における
その論理レコードの先頭を示すレコード位置とその論理
レコードのレコード長とその論理レコードの最大レコー
ド長とを備えたレコード情報テーブルと、入出力しよう
とする論理レコードのレコード番号を示す入出力レコー
ド番号と、前記レコード情報テーブル中の前記入出力レ
コード番号に対応するレコード位置にファイルの位置を
変更するファイル位置付は処理手段と、前記入出力レコ
ード番号と出力する論理レコードのレコード長を基にレ
コード情報テーブルを変更するレコード情報テーブル変
更手段と、ファイルに付加されているレコード情報から
前記レコード情報テーブルを作成するレコード情報テー
ブル作成手段と、前記レコード情報テーブルを入力し、
ファイルにレコード情報を付加するレコード情報付加手
段とを有する。
〔実施例〕
次に、本発明について図面を参照して説明する。
第1図は本発明による可変長レコードの直接入出力処理
方式の一実施例を示すブロック図である。
図中、実線はデータの流れ、破線は制御の流れを示す。
ファイルlOをオープンする場合に、レコード情報テー
ブル作成手段4が呼び出される。レコード情報テーブル
作成手段4はファイルlOに付加されているレコード位
置情報を入力し、レコード番号とそのレコード番号に対
応する論理レコードの先頭位置を示すレコード位置とそ
の論理レコードの最大レコード長とを含んだレコード情
報によって構成されるレコード情報テーブル3を作成す
る。
ファイル10に対して直接入力文を実行する場合には、
プログラム11は入力しようとする論理レコードのレコ
ード番号を入出力レコード番号8に格納して直接入力処
理手段6′t−呼び出す。直接入力処理手段6はファイ
ル位置付は処理手段lを呼び出す。ファイル位置付は処
理手段lは入出力レコード番号8に対応するレコード位
置をレコード情報テーブル3から取得し、そのレコード
位置の示す位置にファイルlOのファイル位置を変更し
、直接入力処理手段6に制御を戻す。ファイル位置付は
処理手段lから制御が戻ると、直接入力処理手段6はフ
ァイルlOからレコード情報テーブル中の入出力レコー
ド番号8に対応するレコード長だけを1論理レコードと
して入力する。
ファイル10に対して直接出力文を実行する場合には、
プログラム11は出力しようとする論理レコードのレコ
ード番号を入出力レコード番号8に格納し、レコード長
を出力レコード長9に格納し、直接出力処理手段7を呼
び出す。直接出力処理手段7にレコード情報テーブル変
更手段2を呼び出す。レコード情報テーブル変更手段2
に後述するレコード情報テーブル変更処理を行った後、
ファイル位置付は処理手段lを呼び出す。ファイル位置
付は処理手段1a入出力レコ一ド番号8に対応するレコ
ード位置をレコード情報テーブル3から取得し、そのレ
コード位置の示す位置にファイルlOのファイル位置を
変更し、レコード情゛報テーブル変更手段2に制御を戻
す。ファイル位置付は処理手段lから制御が戻ると、レ
コード情報テーブル変更手段2は直接出力処理手段7に
制御を戻す。レコード情報テーブル変更手段2から制御
が戻ると、直接出力処理手段7はファイル10へ1論理
レコードを出力する。
ファイルlOをクローズする場合には、レコード情報付
加手段5が呼び出される。レコード情報付加手段5はレ
コード情報テーブルに格納されているレコード番号とレ
コード位置とレコード長と量大レコード長とをファイル
10に付加する。
第2図はレコード情報テーブル3を示す説明図である。
同図においてレコード情報(i)Dレコード情報テーブ
ル3内の第1番目のレコード情報であり、N(i)rt
 L/ コ−)’番号であり、P(i)dレコード番号
N(i)の論理レコードのレコード位置であり、L(i
)はレコード番号N(i)の論理レコードのレコード長
であり、M(i)はレコード番号N(i)の論理レコー
ドの最大レコード長である。
レコード情報テーブル変更処理では、まず、入出力レコ
ード番号8と同じレコード番号のレコード情報をレコー
ド情報テーブル3内で検索する。
同じレコード番号のレコード情報があった場合は下記(
1)の処理を行い、ない場合は下記(2)の処理を行う
(1)  入出力レコード番号8と同じレコード番号の
レコード情報が存在する。検索されたレコード情報をレ
コード情報[i)とする。そして出力レコード長9がM
(i)より小さいか等しければ、レコード情報テーブル
変更処理を終了する。
出力レコード長9がM(i)より大きい場合、下記の処
理(a)を行う。
(a)  レコード情報(i)がレコード情報テーブル
3の最後のレコード情報ならば、処理(b)を行う。
また、N (i+1 )が0でない場合およびN(i+
1)が0であってもM(i+x)が0の場合には処理(
b)を行う。
上記以外の場合には、出力レコード長9とM(i)+M
 (i+1 )を比較する。出力レコード長9の方が小
さいか等しい場合には、M(i)にM(i)+M (i
+1 )の値を格納し、M(i+1)に0を格納し、レ
コード情報テーブル変更処理を終了する。
出力レコード長9がM(i)+M(i+1)よりも大き
い場合には、iをi+1と読みかえて処理(a)をくり
返す。ただし、出力レコード長9との比較はM(i)+
M (i+1 ) +M (i+2 ) +−−−とく
り返すごとにそのレコード情報の最大レコード長を加算
する。
(b)  レコード情報(i)がレコード情報テーブル
3の最初のレコード情報ならば、処理[C)を行う。
また、N(i−1)が0でない場合およびN(i−1)
が0であってもM(i−t)が0の場合には処理(C)
を行う。
上記以外の場合、処理(a)をレコード情報(j)まで
くり返したとすると、出力レコード長9とM(i−1)
+M(i)+M(i+1)+−−−+Mす)を比較し、
出力レコード長9の方が小さいか等しい場合には、M(
i)にM(i−1) +M(i)+M(i+1)+−−
−+M(j)を格納し、M(1−1)、M(i+t)、
−−−、M(j)に0を格納し、レコード情報テーブル
変更処理を終了する。
出力レコード長9の方が大きい場合には、iをi−1と
読みかえて処理(b)をくり返す。
ただし、出力レコード長9との比較は処理(a)と詞様
に、くり返すごとにそのレコード情報の最大レコード長
を加算する。
(c)  N(i)に0を格納する。処理(b)をレコ
ード情報(h)1でくり返したとすれば、レコード情報
(h)からレコード情報(j)4でのレコード情報を除
外して下記(2)の処理を行う。
(2)入出力レコード番号8と同じレコード番号のレコ
ード情報がない。レコード情報テーブル3内でN(i)
がOでかつM(i)が0でないレコード情報(i)を検
索する。レコード情報(i)が見つかった場合には、N
(i)=入出力レコード番号8と考えて(1)の処理を
行う。
上記レコード情報(i)が見つからない場合には、レコ
ード情報テーブル3に新たにレコード情報(n+t)を
追加し、N(n+1)には入出力レコード番号8を格納
し、P (n−)−1)にはその時点でのファイルの終
了位置を格納し、L(n+1)およびM(n+1)には
出力レコード長9を格納し、レコード情報テーブル変更
処理を終了する。
〔発明の効果〕
以上説明したように本発明によれば可変長レコードを対
象にして直接入出力が行えるという効果がある。また、
ファイルの作成時やオープン時にレコード長または最大
レコード長を指定する必要かないため、論理レコードの
最大長を予め計算しなくてもよいという効果がある。
さらに、論理レコードを出力する場合には出力するレコ
ード長だけのファイル領域があればよいため、無駄なフ
ァイル領域を必要としないという効果がある。
【図面の簡単な説明】
第1図は本発明の一実施例を示すブロック図、第2図は
レコード情報テーブルを示す説明図である。 1・・・・・・ファイル位置付は処理手段、2・・・・
・・レコード情報テーブル変更手段、3・・・・・・レ
コード情報テーブル、4・・・・・・レコード情報テー
ブル作成手段、5・・・・−・レコード情報付加手段、
8・・・・・・入出力レコード番号。

Claims (1)

    【特許請求の範囲】
  1. 論理レコードごとにそのレコード番号とファイル内にお
    けるその論理レコードの先頭を示すレコード位置とその
    論理レコードのレコード長とその論理レコードの最大レ
    コード長とを備えたレコード情報テーブルと、入出力し
    ようとする論理レコードのレコード番号を示す入出力レ
    コード番号と、前記レコード情報テーブル中の前記入出
    力レコード番号に対応するレコード位置にファイルの位
    置を変更するファイル位置付け処理手段と、前記入出力
    レコード番号と出力する論理レコードのレコード長を基
    にレコード情報テーブルを変更するレコード情報テーブ
    ル変更手段と、ファイルに付加されているレコード情報
    から前記レコード情報テーブルを作成するレコード情報
    テーブル作成手段と、前記レコード情報テーブルを入力
    し、ファイルにレコード情報を付加するレコード情報付
    加手段とを有することを特徴とする可変長レコードの直
    接入出力処理方式。
JP2084146A 1990-03-30 1990-03-30 可変長レコードの直接入出力処理方式 Pending JPH03282841A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2084146A JPH03282841A (ja) 1990-03-30 1990-03-30 可変長レコードの直接入出力処理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2084146A JPH03282841A (ja) 1990-03-30 1990-03-30 可変長レコードの直接入出力処理方式

Publications (1)

Publication Number Publication Date
JPH03282841A true JPH03282841A (ja) 1991-12-13

Family

ID=13822360

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2084146A Pending JPH03282841A (ja) 1990-03-30 1990-03-30 可変長レコードの直接入出力処理方式

Country Status (1)

Country Link
JP (1) JPH03282841A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05181719A (ja) * 1991-12-27 1993-07-23 Nippon Steel Corp 可変長データの格納および参照システム
JP2000076276A (ja) * 1998-08-31 2000-03-14 Canon Inc 画像記憶方法および装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05181719A (ja) * 1991-12-27 1993-07-23 Nippon Steel Corp 可変長データの格納および参照システム
JP2000076276A (ja) * 1998-08-31 2000-03-14 Canon Inc 画像記憶方法および装置

Similar Documents

Publication Publication Date Title
JPH03266039A (ja) フリーフォーマットデータリンク処理方式
JPH03282841A (ja) 可変長レコードの直接入出力処理方式
JP3169596B2 (ja) データベース管理装置
JP4056622B2 (ja) データベース管理装置
JP2722684B2 (ja) ファイルシステムの検索装置
JPS5846439A (ja) 計算機のプログラム編集方法
JPH06274328A (ja) 複数の処理モジュールからなるプログラムの実行方法
JPH0554082A (ja) データベースシステム
JP3008483B2 (ja) リンク処理装置
JPH0350594A (ja) 大量データの表示方式
JPH0196732A (ja) マクロ展開リストの出力方式
JPH04168569A (ja) 文書ファイルの世代管理方式
JPH02263265A (ja) 作表処理装置
JPS62216037A (ja) ソ−スライブラリによるメツセ−ジ管理方式
JPH04139571A (ja) 文書処理装置
JPH0962553A (ja) ジャーナル出力方式
JPH0744446A (ja) グループ化情報の関連付け方法
JPH0816448A (ja) データ群のデータ削除方法
JPH0477333B2 (ja)
JPH03231340A (ja) ファイル入出力方法
JPH04303244A (ja) ファイル配置方式
JPH0319086A (ja) 状態遷移表変換装置
JPH0245877A (ja) 木構造編集方式
JPH0619759A (ja) テキストエディタの履歴情報編集処理方式
JPH045736A (ja) 情報処理装置