JPH0535554A - フアイル処理装置 - Google Patents
フアイル処理装置Info
- Publication number
- JPH0535554A JPH0535554A JP3214121A JP21412191A JPH0535554A JP H0535554 A JPH0535554 A JP H0535554A JP 3214121 A JP3214121 A JP 3214121A JP 21412191 A JP21412191 A JP 21412191A JP H0535554 A JPH0535554 A JP H0535554A
- Authority
- JP
- Japan
- Prior art keywords
- record
- key
- file
- empty area
- additional
- 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
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
(57)【要約】
【目的】 追加レコードを空領域に挿入する際に、可能
な限りキー順あるいはそれに近い状態となる様な空領域
を選んで追加レコードを挿入する。 【構成】 磁気ディスク装置12にはキー順に配列され
た複数レコードから成るファイルが記憶されている。C
PU11はレコードを追加する際、追加レコードのキー
とファイル内レコードのキーとを比較し、キー配列上追
加レコードのキーに近いキーを持ったレコードを検索す
る。次で、CPU11はこの検索レコードの記憶位置に
近いファイル内の空領域を検索し、この空領域に追加レ
コードを書き込む。
な限りキー順あるいはそれに近い状態となる様な空領域
を選んで追加レコードを挿入する。 【構成】 磁気ディスク装置12にはキー順に配列され
た複数レコードから成るファイルが記憶されている。C
PU11はレコードを追加する際、追加レコードのキー
とファイル内レコードのキーとを比較し、キー配列上追
加レコードのキーに近いキーを持ったレコードを検索す
る。次で、CPU11はこの検索レコードの記憶位置に
近いファイル内の空領域を検索し、この空領域に追加レ
コードを書き込む。
Description
【0001】
【産業上の利用分野】この発明はオフィスコンピュー
タ、情報処理システム等のファイル処理装置に関する。
タ、情報処理システム等のファイル処理装置に関する。
【0002】
【従来の技術】従来、オフィスコンピュータ等のファイ
ル処理装置において、ファイル内からレコード削除が行
われると、削除されたレコードの格納部分は空領域とな
る。この空領域は新しいレコードの追加により再利用さ
れる。いま、図5に示す如く、ファイル内の各レコード
はキー「1001」、「1003」……を持ち、キー順
に昇順配列されている場合、レコード番号「2」、
「4」、「5」、「8」に対応する各領域が空領域とな
っている。ここで、新しい追加レコードが入力される
と、ファイル内を検索し、空領域が有れば最初に検索し
た空領域に追加レコードを書き込む。したがって、例え
ば「1008」、「1005」、「1004」、「10
02」のキーを持ったレコードが順次入力されると、フ
ァイル内容は図6に示す如く、レコード番号「2」の空
領域に「1008」のキーを持ったレコードが書き込ま
れ、……レコード番号「8」の空領域に「1002」の
キーを持ったレコードが書き込まれる。
ル処理装置において、ファイル内からレコード削除が行
われると、削除されたレコードの格納部分は空領域とな
る。この空領域は新しいレコードの追加により再利用さ
れる。いま、図5に示す如く、ファイル内の各レコード
はキー「1001」、「1003」……を持ち、キー順
に昇順配列されている場合、レコード番号「2」、
「4」、「5」、「8」に対応する各領域が空領域とな
っている。ここで、新しい追加レコードが入力される
と、ファイル内を検索し、空領域が有れば最初に検索し
た空領域に追加レコードを書き込む。したがって、例え
ば「1008」、「1005」、「1004」、「10
02」のキーを持ったレコードが順次入力されると、フ
ァイル内容は図6に示す如く、レコード番号「2」の空
領域に「1008」のキーを持ったレコードが書き込ま
れ、……レコード番号「8」の空領域に「1002」の
キーを持ったレコードが書き込まれる。
【0003】
【発明が解決しようとする課題】ところで、ファイル内
の全レコードをキー順(昇順)に読み出す場合、レコー
ドアクセスはレコード番号で「1→8→3→5→4→6
→7→2→9」の順序となり、レコード番号「1→2→
3……→9」の様に正順にアクセスする場合に比べて次
レコードへのポジショニングに時間を要する。即ち、全
レコードを昇順に読み出す場合、図6の例では次レコー
ドへの移動ステップ数は合計30ステップとなり、レコ
ード番号「1」から「9」まで正順にアクセスする場合
の合計ステップ数「8」に比べて4倍近くの時間を要す
ることになる。これはレコード追加時に最初の空領域か
ら追加レコードを順に書き込んでゆく為、当初、昇順配
列されていた各レコードがキー順とは関係せずにランダ
ムなレコード配列となってしまうことに起因する。そこ
で、レコード追加が行われる毎にファイル内容を再編成
し、昇順にレコードを配列し直しておけば、全レコード
を昇順に読み出す場合、高速読み出しが可能となるが、
今度はソートにかなりの時間が消費されてしまうという
新たな問題を生ずる。してみれば、追加レコードを空領
域に挿入する際、可能な限りキー順あるいはそれに近い
状態となる様な空領域を選んで追加レコードを挿入でき
れば、ファイル内容をキー順にソートしておかなくとも
全レコードをキー順に読み出す際、その高速化を図るこ
とが可能となることは明らかである。この発明の課題
は、追加レコードを空領域に挿入する際に、可能な限り
キー順あるいはそれに近い状態となる様な空領域を選ん
で追加レコードを挿入できるようにすることである。
の全レコードをキー順(昇順)に読み出す場合、レコー
ドアクセスはレコード番号で「1→8→3→5→4→6
→7→2→9」の順序となり、レコード番号「1→2→
3……→9」の様に正順にアクセスする場合に比べて次
レコードへのポジショニングに時間を要する。即ち、全
レコードを昇順に読み出す場合、図6の例では次レコー
ドへの移動ステップ数は合計30ステップとなり、レコ
ード番号「1」から「9」まで正順にアクセスする場合
の合計ステップ数「8」に比べて4倍近くの時間を要す
ることになる。これはレコード追加時に最初の空領域か
ら追加レコードを順に書き込んでゆく為、当初、昇順配
列されていた各レコードがキー順とは関係せずにランダ
ムなレコード配列となってしまうことに起因する。そこ
で、レコード追加が行われる毎にファイル内容を再編成
し、昇順にレコードを配列し直しておけば、全レコード
を昇順に読み出す場合、高速読み出しが可能となるが、
今度はソートにかなりの時間が消費されてしまうという
新たな問題を生ずる。してみれば、追加レコードを空領
域に挿入する際、可能な限りキー順あるいはそれに近い
状態となる様な空領域を選んで追加レコードを挿入でき
れば、ファイル内容をキー順にソートしておかなくとも
全レコードをキー順に読み出す際、その高速化を図るこ
とが可能となることは明らかである。この発明の課題
は、追加レコードを空領域に挿入する際に、可能な限り
キー順あるいはそれに近い状態となる様な空領域を選ん
で追加レコードを挿入できるようにすることである。
【0004】
【課題を解決するための手段】この発明の手段は次の通
りである。ファイル記憶手段1(図1の機能ブロック図
を参照、以下同じ)はキー順に配列された複数レコード
から成るファイルを記憶するディスク装置等である。第
1の検索手段2はファイル記憶手段1にレコードを追加
する際、追加レコードのキーとファイル内レコードとの
キーとを比較し、キー配列上追加レコードのキーに近い
キーを持ったレコードを検索する。例えば、キーが一連
の数値列データである場合、キー順に配列された複数レ
コードのうち追加レコードのキーよりも値が小さいキー
を持ったレコードを検索する。第2の検索手段3は第1
の検索手段2によって検索されたレコードの記憶位置に
近いファイル内の空領域を検索する。レコード追加手段
4は第2の検索手段3によって検索された空領域に追加
レコードを書き込む。
りである。ファイル記憶手段1(図1の機能ブロック図
を参照、以下同じ)はキー順に配列された複数レコード
から成るファイルを記憶するディスク装置等である。第
1の検索手段2はファイル記憶手段1にレコードを追加
する際、追加レコードのキーとファイル内レコードとの
キーとを比較し、キー配列上追加レコードのキーに近い
キーを持ったレコードを検索する。例えば、キーが一連
の数値列データである場合、キー順に配列された複数レ
コードのうち追加レコードのキーよりも値が小さいキー
を持ったレコードを検索する。第2の検索手段3は第1
の検索手段2によって検索されたレコードの記憶位置に
近いファイル内の空領域を検索する。レコード追加手段
4は第2の検索手段3によって検索された空領域に追加
レコードを書き込む。
【0005】
【作用】この発明の手段の作用は次の通りである。い
ま、図5に示すファイルに対してレコードを追加するも
のとする。ここで、キー「1008」を持ったレコード
を追加する際、第1の検索手段2は追加レコードのキー
とファイル内レコードのキーとを比較しキー配列上追加
レコードのキーに近いキーを持ったレコードを検索す
る。この場合、例えば追加レコードのキー「1008」
よりも小さいキー「1007」を持ったレコードが検索
される。すると、第2の検索手段3はこのレコードの記
憶位置に近い空領域を検索する。この場合、レコード番
号「8」の空領域が検索される為、レコード追加手段4
はキー「1008」の追加レコードをこの空領域に書き
込む。したがって、追加レコードを空領域に挿入する際
に、可能な限りキー順あるいはそれに近い状態となる様
な空領域を選んで追加レコードを挿入することができ
る。
ま、図5に示すファイルに対してレコードを追加するも
のとする。ここで、キー「1008」を持ったレコード
を追加する際、第1の検索手段2は追加レコードのキー
とファイル内レコードのキーとを比較しキー配列上追加
レコードのキーに近いキーを持ったレコードを検索す
る。この場合、例えば追加レコードのキー「1008」
よりも小さいキー「1007」を持ったレコードが検索
される。すると、第2の検索手段3はこのレコードの記
憶位置に近い空領域を検索する。この場合、レコード番
号「8」の空領域が検索される為、レコード追加手段4
はキー「1008」の追加レコードをこの空領域に書き
込む。したがって、追加レコードを空領域に挿入する際
に、可能な限りキー順あるいはそれに近い状態となる様
な空領域を選んで追加レコードを挿入することができ
る。
【0006】
【実施例】以下、図2〜図4を参照して一実施例を説明
する。図2はファイル処理装置のブロック構成図であ
る。CPU11は各種プログラムにしたがってこのファ
イル処理装置の全体動作を制御するもので、磁気ディス
ク装置12内のファイルはディスク制御部13を介して
RAM14に読み出され、またRAM14内のファイル
はディスク制御部13を介して磁気ディスク装置12に
登録される。ここで、磁気ディスク装置12からRAM
14に読み出されたフアイルに対してレコード削除をキ
ー入力部15から指定すると、CPU11は指定レコー
ドをRAM14から削除する為、そのレコード格納域は
空領域となる。CPU11はキー入力部15から新たな
レコードを追加入力すると、ファイル内の空領域を選択
してその空領域に追加レコードを書き込むが、空領域の
選択は一定の規則にしたがって行われる。
する。図2はファイル処理装置のブロック構成図であ
る。CPU11は各種プログラムにしたがってこのファ
イル処理装置の全体動作を制御するもので、磁気ディス
ク装置12内のファイルはディスク制御部13を介して
RAM14に読み出され、またRAM14内のファイル
はディスク制御部13を介して磁気ディスク装置12に
登録される。ここで、磁気ディスク装置12からRAM
14に読み出されたフアイルに対してレコード削除をキ
ー入力部15から指定すると、CPU11は指定レコー
ドをRAM14から削除する為、そのレコード格納域は
空領域となる。CPU11はキー入力部15から新たな
レコードを追加入力すると、ファイル内の空領域を選択
してその空領域に追加レコードを書き込むが、空領域の
選択は一定の規則にしたがって行われる。
【0007】次に、本実施例の動作を説明する。図3は
レコード追加時の動作を示したフローチャートである。
先ず、キー入力部15から追加すべきレコードを入力す
る(ステップS1)。CPU11は予め指定された更新
対象のファイルを磁気ディスク装置12からディスク制
御部13を介してRAM14に読み出す(ステップS
2)。
レコード追加時の動作を示したフローチャートである。
先ず、キー入力部15から追加すべきレコードを入力す
る(ステップS1)。CPU11は予め指定された更新
対象のファイルを磁気ディスク装置12からディスク制
御部13を介してRAM14に読み出す(ステップS
2)。
【0008】この状態において、CPU11は先ず追加
レコードとして入力されたレコードと同じキーを持った
レコードがファイル内に存在するか否かをチェックする
(ステップS3)。ここで、同一キーを持ったレコード
がファイル内に既に存在していれば重複レコードとなる
為にエラー終了となるが、存在していなければステップ
S4に進み、ファイル内に空領域が存在するか否かをチ
ェックする。ここで、空領域とはレコード削除によって
形成された領域であり、ファイル内に空領域が無けれ
ば、ステップS9に進み、ファイルの最終書き込み位置
から追加レコードを書き込み、ファイルの後に拡張追加
を行い、処理終了となる。
レコードとして入力されたレコードと同じキーを持った
レコードがファイル内に存在するか否かをチェックする
(ステップS3)。ここで、同一キーを持ったレコード
がファイル内に既に存在していれば重複レコードとなる
為にエラー終了となるが、存在していなければステップ
S4に進み、ファイル内に空領域が存在するか否かをチ
ェックする。ここで、空領域とはレコード削除によって
形成された領域であり、ファイル内に空領域が無けれ
ば、ステップS9に進み、ファイルの最終書き込み位置
から追加レコードを書き込み、ファイルの後に拡張追加
を行い、処理終了となる。
【0009】一方、ファイル内に空領域が1つでも存在
していれば、追加レコードのキーとファイル内のキーと
を比較し、追加レコードのキーよりも小さい値のキーを
持ったレコードを検索し、そのレコード格納領域に対応
するレコード番号を求める(ステップS5)。ここで、
図5に示すファイルに対してキー「1008」のレコー
ドを追加する場合、追加レコードのキーよりも小さい
「1007」のキーを持ったレコードが検索され、その
レコード番号「7」が求められる。次に、このレコード
番号より大きいレコード番号の空領域を検索し、そのレ
コード番号を求める(ステップS6)。いまステップS
5で求められたレコード番号「7」より大きい空領域の
レコード番号は図5に示す如く「8」となる。なお、ス
テップS6の条件を満足する空領域がファイル内に存在
しない場合にはステップS7でそのことが検出されてス
テップS9に進み、ファイルの後に追加レコードが書き
込まれる。一方、ステップS6の条件を満足する空領域
がファイル内に存在していれば、その空領域に追加レコ
ードを書き込む(ステップS8)。したがって、この場
合、レコード番号「8」の空領域にキー「1008」を
持った追加レコードが書き込まれることになる。
していれば、追加レコードのキーとファイル内のキーと
を比較し、追加レコードのキーよりも小さい値のキーを
持ったレコードを検索し、そのレコード格納領域に対応
するレコード番号を求める(ステップS5)。ここで、
図5に示すファイルに対してキー「1008」のレコー
ドを追加する場合、追加レコードのキーよりも小さい
「1007」のキーを持ったレコードが検索され、その
レコード番号「7」が求められる。次に、このレコード
番号より大きいレコード番号の空領域を検索し、そのレ
コード番号を求める(ステップS6)。いまステップS
5で求められたレコード番号「7」より大きい空領域の
レコード番号は図5に示す如く「8」となる。なお、ス
テップS6の条件を満足する空領域がファイル内に存在
しない場合にはステップS7でそのことが検出されてス
テップS9に進み、ファイルの後に追加レコードが書き
込まれる。一方、ステップS6の条件を満足する空領域
がファイル内に存在していれば、その空領域に追加レコ
ードを書き込む(ステップS8)。したがって、この場
合、レコード番号「8」の空領域にキー「1008」を
持った追加レコードが書き込まれることになる。
【0010】次に、「1005」のキーを持ったレコー
ドを追加入力すると、上述の場合と同様に、追加レコー
ドのキーよりも小さいキーを持ったレコードを検索し、
そのレコード番号「3」を求める(ステップS5)。次
でこのレコード番号「3」よりも大きいレコード番号の
空領域を検索し、この空領域のレコード番号「4」を求
める(ステップS6)。このようにして空領域が決定さ
れると、このレコード番号「4」の空領域にキー「10
05」の追加レコードが書き込まれる。
ドを追加入力すると、上述の場合と同様に、追加レコー
ドのキーよりも小さいキーを持ったレコードを検索し、
そのレコード番号「3」を求める(ステップS5)。次
でこのレコード番号「3」よりも大きいレコード番号の
空領域を検索し、この空領域のレコード番号「4」を求
める(ステップS6)。このようにして空領域が決定さ
れると、このレコード番号「4」の空領域にキー「10
05」の追加レコードが書き込まれる。
【0011】以下、同様に、キー「1004」、「10
02」を持ったレコードをこの順序で追加入力すると、
図5に示すファイルは図4に示すファイル構成となり、
レコード番号「4」、「5」内のレコードを除き、ファ
イル内の各レコードは昇順配置されたものとなる。
02」を持ったレコードをこの順序で追加入力すると、
図5に示すファイルは図4に示すファイル構成となり、
レコード番号「4」、「5」内のレコードを除き、ファ
イル内の各レコードは昇順配置されたものとなる。
【0012】この結果、図4に示す如く、次レコードへ
の移動ステップ数の合計は10ステップとなり、従来に
比べて1/3となり、それだけ高速読み出しが可能とな
る。
の移動ステップ数の合計は10ステップとなり、従来に
比べて1/3となり、それだけ高速読み出しが可能とな
る。
【0013】なお、上記実施例は図3のステップS5で
追加レコードのキーよりも小さいキーを持ったレコード
を検索し、ステップS6でこの検索レコードのレコード
番号よりも大きいレコード番号を持った空領域を検索す
るようにしたが、これとは逆に、先ず、追加レコードの
キーよりも大きいキーを持ったレコードを検索し、次い
でこのレコードが格納されているレコード番号よりも小
さいレコード番号を持った空領域を検索するようにして
もよい。
追加レコードのキーよりも小さいキーを持ったレコード
を検索し、ステップS6でこの検索レコードのレコード
番号よりも大きいレコード番号を持った空領域を検索す
るようにしたが、これとは逆に、先ず、追加レコードの
キーよりも大きいキーを持ったレコードを検索し、次い
でこのレコードが格納されているレコード番号よりも小
さいレコード番号を持った空領域を検索するようにして
もよい。
【0014】
【発明の効果】この発明によれば、追加レコードを空領
域に挿入する際に、可能な限りキー順あるいはそれに近
い状態となる様な空領域を選んで追加レコードを挿入す
ることができるので、ファイル内容を予めキー順にソー
トしておかなくとも全レコードをキー順に読み出す際、
高速読み出しが可能となる。
域に挿入する際に、可能な限りキー順あるいはそれに近
い状態となる様な空領域を選んで追加レコードを挿入す
ることができるので、ファイル内容を予めキー順にソー
トしておかなくとも全レコードをキー順に読み出す際、
高速読み出しが可能となる。
【図1】この発明の機能ブロック図。
【図2】実施例を示したファイル処理装置のブロック構
成図。
成図。
【図3】レコード追加時の動作を示したフローチャー
ト。
ト。
【図4】レコード追加後のファイル内容とこのファイル
から全レコードをキー順に読み出す際の移動ステップ数
を示した図。
から全レコードをキー順に読み出す際の移動ステップ数
を示した図。
【図5】従来例を説明する為の図で、レコードが削除さ
れたファイル内の空領域を示した図。
れたファイル内の空領域を示した図。
【図6】図5で示したファイル内の空領域にレコードを
追加した場合のファイル内容を示すと共に、このファイ
ルから全レコードをキー順に読み出す際の移動ステップ
数を示した図。
追加した場合のファイル内容を示すと共に、このファイ
ルから全レコードをキー順に読み出す際の移動ステップ
数を示した図。
11 CPU 12 磁気ディスク装置 13 ディスク制御部 14 RAM 15 キー入力部
Claims (1)
- 【特許請求の範囲】 【請求項1】キー順に配列された複数レコードから成る
ファイルを記憶するファイル記憶手段と、 このファイル記憶手段にレコードを追加する際、追加レ
コードのキーとファイル内レコードのキーとを比較し、
キー配列上追加レコードのキーに近いキーを持ったレコ
ードを検索する第1の検索手段と、 この第1の検索手段によって検索されたレコードの記憶
位置に近いファイル内の空領域を検索する第2の検索手
段と、 この第2の検索手段によって検索された空領域に追加レ
コードを書き込むレコード追加手段と、 を具備したことを特徴とするファイル処理装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3214121A JPH0535554A (ja) | 1991-08-01 | 1991-08-01 | フアイル処理装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3214121A JPH0535554A (ja) | 1991-08-01 | 1991-08-01 | フアイル処理装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0535554A true JPH0535554A (ja) | 1993-02-12 |
Family
ID=16650575
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP3214121A Pending JPH0535554A (ja) | 1991-08-01 | 1991-08-01 | フアイル処理装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0535554A (ja) |
-
1991
- 1991-08-01 JP JP3214121A patent/JPH0535554A/ja active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4677550A (en) | Method of compacting and searching a data index | |
| US5274807A (en) | Method for reducing magnetic storage volume for computer disk image backup | |
| US4760526A (en) | Method for storing data into a file device and for data retrieval | |
| US5497485A (en) | Method and apparatus for implementing Q-trees | |
| JP2770855B2 (ja) | ディジタル式情報記憶検索方法及びその装置 | |
| US5117495A (en) | Method of sorting data records | |
| US6415375B2 (en) | Information storage and retrieval system | |
| JPH0126089B2 (ja) | ||
| JPS5846742B2 (ja) | 対話式デ−タ検索装置 | |
| JPH0146898B2 (ja) | ||
| US5109508A (en) | Data base system including memorandum information and method for managing memorandum information | |
| JP3515810B2 (ja) | ソート処理方法および装置 | |
| US20110231404A1 (en) | File storage and retrieval method | |
| JP2925042B2 (ja) | 情報リンク生成方法 | |
| JPH0535554A (ja) | フアイル処理装置 | |
| US6738771B2 (en) | Data processing method, computer readable recording medium, and data processing device | |
| JPS6132695B2 (ja) | ||
| US4853921A (en) | Method for storing data in rotary type recording media | |
| JPH06295313A (ja) | インデックス付き検索ファイルのデータ検索装置 | |
| JP3780772B2 (ja) | データベースの索引創成装置 | |
| JP2806653B2 (ja) | ファイル検索装置 | |
| JP2747009B2 (ja) | 索引順編成ファイルのレコード追加方式 | |
| JPH04250568A (ja) | レコード検索装置 | |
| JPH0145648B2 (ja) | ||
| JPS60225938A (ja) | 情報検索方式 |