JP2722660B2 - 索引付順編成ファイルの管理方法 - Google Patents

索引付順編成ファイルの管理方法

Info

Publication number
JP2722660B2
JP2722660B2 JP1118307A JP11830789A JP2722660B2 JP 2722660 B2 JP2722660 B2 JP 2722660B2 JP 1118307 A JP1118307 A JP 1118307A JP 11830789 A JP11830789 A JP 11830789A JP 2722660 B2 JP2722660 B2 JP 2722660B2
Authority
JP
Japan
Prior art keywords
key
data
searched
file
search
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
Application number
JP1118307A
Other languages
English (en)
Other versions
JPH02297669A (ja
Inventor
光宏 中村
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.)
Fuji Electric Co Ltd
Original Assignee
Fuji Electric Co 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 Fuji Electric Co Ltd filed Critical Fuji Electric Co Ltd
Priority to JP1118307A priority Critical patent/JP2722660B2/ja
Publication of JPH02297669A publication Critical patent/JPH02297669A/ja
Application granted granted Critical
Publication of JP2722660B2 publication Critical patent/JP2722660B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

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

Description

【発明の詳細な説明】 【産業上の利用分野】
乱順に書込まれた被検索データに、この被検索データ
を一意的に識別できるキーを附加し、このキーの附加さ
れたデータとしてのレコードを、該キーの値が昇順にな
るように配列し、前記被検索データを高速に検索できる
ようにした索引付順編成ファイル(以下ISAMファイルと
も略記する)のシステムにおいて、 特にキー以外の条件によってファイル検索を高速に行
い得るようにするための検索付順編成ファイルの管理方
法に関する。 なお以下各図において同一の符号は同一もしくは相当
部分を示す。
【従来の技術】
ISAMファイルシステムは、被検索データにキーと呼ば
れる検索用データを付加してなるレコードを単位として
管理されるファイルシステムである。そのキーはアルフ
ァベットのような順番を持っており、またそのレコード
を一意的に識別する目的があり、ユニークなものであ
る。このキーの順番でレコードがISAMファイルの中に格
納され、被検索データ,従ってレコードを検索する場合
はそのキーを指定してやるだけで、あとはISAMファイル
システムが自動的に検索してくれる。
【発明が解決しようとする課題】
しかしながらこのISAMファイルシステムを利用する場
合、目的とするレコードのキーがハッキリと分かってい
る場合にはよいが、レコード内の被検索データの中身の
条件で検索したい場合には有効とは言えず、キーを指定
して毎回読み出しては被検索データの内容を判断してや
らなければいけない。この場合、通常は先頭のキーを指
定し、あとは順番にキーを一つずつ増やしながら検索し
ていくことになる。従って、もしも目的とするレコード
が最後のほうのキーであった場合には全てのキーに対す
るレコードを読み出さなければいけなくなり、それだけ
検索にかかる時間が長くなってしまうという問題が生じ
る。さらには、頻繁に使用するレコードが最後のほうに
あれば、システムに与える負荷は非常に大きくなってし
まうという問題がある。 そこで本発明はキーに検索時期の後先による重みづけ
を行うか、またはレコード内のキー以外の被検索データ
内にそのデータの検索時期の後先を識別するためのリン
ク情報を設け、この重みづけ情報またはリンク情報を用
いてデータ検索を行う索引付順編成ファイルの管理方法
を提供することにより、前記の問題を解消することを課
題とする。
【課題を解決するための手段】
前記の課題を解決するために本発明の方法は、『乱順
に書込まれた被検索データ(DTなど)に、この被検索デ
ータを一意的に識別できるキー(Kなど)を附加し、こ
のキーの附加されたデータとしてのレコード(1−4な
ど)を該キーの値が昇順になるように配列し、前記被検
索データを高速に検索できるようにした索引付順編成フ
ァイル(01などの)システムにおいて、 現存の索引付順編成ファイルとは別に、キーに対する
重みづけを格納するファイル(キーファイル02など)を
設け、この重みづけ情報に従って前記被検索データを検
索し得るようにすることにより、前記キー以外の条件に
よって、前記被検索データを高速に検索できるように』
するか、または 『乱順に書込まれた被検索データに、この被検索データ
を一意的に識別できるキーを附加し、このキーの附加さ
れたデータとしてのレコードを該キーの値が昇順になる
ように配列し、前記被検索データを高速に検索できるよ
うにした索引付順編成ファイルシステムにおいて、 前記被検索データ内に該データの検索時期の後先を識
別できるリンク情報(次優先順位キー6−1,前優先順位
キー6−2など)を附加し、このリンク情報に従って前
記被検索データを検索し得るようにすることにより、前
記キー以外の条件によって頻繁に同一の前記被検索デー
タを高速に検索できるように』するものとする。
【作 用】
本発明は、現存のISAMファイルの被検索データに、検
索する上での優先順位を与えるために、そのファイル内
のレコード(従って被検索データ)が検索された時期に
応じた重みずけを与える機能、すなわち最近アクセスさ
れたキーを持つレコードを最も優先度を高くその検索順
位を先頭にする機能、換言すればその重み(優先順位)
づけを別のファイル(キーファイル)に格納し、ISAMフ
ァイルがアクセスされる毎にこの重みづけファイル(キ
ーファイル)のキーのリンク(検索の順番)をかえる機
能を設けることにより、 あるいは現存のISAMファイルのレコードのキー以外の
被検索データ内に、そのレコード(従って被検索デー
タ)が処理された時期の後先を判断するリンク情報、す
なわち最近アクセスされたキーを持つレコードを最も優
先度を高くし検索順を先にする情報を設け、各レコード
がアクセスされる毎にこのリンク情報を付け替えること
により、 レコードを検索する順番を最も新しくアクセスされた
順番に行うことを可能にした。これにより、従来から存
在するISAMファイルのレコード配列には何も手を加え
ず、頻繁に使用するレコードが最後のほうにあっても、
レコード検索時にシステムに与える負荷を最小限におさ
えることが可能になる。
【実施例】
以下第1図ないし第9図に基づいて本発明の実施例を
説明する。まず、第9図はISAMファイルシステムのファ
イル01の構造図である。即ちISAMファイル01はインデッ
クスブロック1−2、データブロック1−3、空きブロ
ック1−1の3種類のブロックで構成されている。イン
デックスブロック1−2はデータブロック1−3の繋が
りを管理する部分でデータブロック1−3の番号を示す
ブロック番号BNによって構成されている。データブロッ
ク1−3は複数のレコード1−4と、前記ブロック番号
BNと、各データブロック1−3のブロック番号BN間のリ
ンク情報LDとを含んでいる。また、各レコード1−4の
構成は固定長であり、このレコード1−4は最終の被検
索対象としての被検索データDTおよび該データDTを一意
的に識別できるキーK等からなるデータ1−7と、前記
キーKの位置情報1−5と、前記キー1−7Kのデータ長
(キー長)1−6とを備えている。そしてこのISAMファ
イルシステムは、このキーKを元にしてデータブロック
1−3の繋がりを判断して、インデックスブロック1−
2を構成するブロック番号BNの配列、およびデータブロ
ックの1−3を構成するレコード1−4の配列をキーK
が昇順となるように変更していく。 次に第1図ないし第4図に基づいて本発明の第1の実
施例を説明する。 この第1の実施例では前述のISAMファイル01とは別
に、第2図に示すような構造の重みづけファイルとして
のキーファイル02を用意する。このキーファイル02は、
ISAMファイル01に格納されているデータ1−7内のキー
Kの優先順位を定義したファイルであり、先頭部02Hと
各レコード1−4に対応する多数のキーブロックKBとか
らなる。そして前記先頭部02Hには最高優先順位のキー
ブロックNo.2−1、キー長2−2、キーK、従ってキー
ブロックKBの数2−3が登録されている。以降の各キー
ブロックKBには各キーK(の内容)、次優先順位キーブ
ロックNo.2−5,前優先順位キーブロックNo.2−6が格納
されている。 次にこれらのファイル01,02を使って目的とする被検
索データDTを検索する方法の概要を、第1図を用いて説
明する。まず、アプリケーションプログラムで、キー以
外の条件で目的のデータを検索したい場合、従来であれ
ば最初に先頭のキーK指定してデータ1−7を読み出
し、データ1−7内の情報DTを読み、その被検索データ
DTが目的とするデータであるかを判断する。それを繰り
返し実行して目的のデータを検索するということにな
る。ここで、頻繁にこのデータ1−7を検索する場合、
毎回同じだけの時間を費やしてやることになる。本発明
では、まず重みずけファイルとしてのキーファイル02を
参照し、最高優先順位キーブロックNo.2−1内の番号値
をもとめ、その番号値に相当するキーブロックKBに格納
されているキーを指定してISAMファイル01のシステムに
検索要求をだし、データ1−7の読み込みを実行する。
そのデータ1−7が目的とするデータでなかった場合に
は、該キーブロックKBの次優先順位のキーブロックNo.
(何番目のキーであるかを示すインデックス)2−5の
リンクを辿って、次優先順位のキーブロックKB内のキー
Kにて検索を要求する。この処理を、例えば同図のキー
ファイル02中のキーブロックKBを〜のように辿りな
がら繰り返し、目的のデータを検索していく。 目的とするデータ1−7(従って被検索データDT)の
検索が完了した時点で、そのキーKを持つレコード1−
4に対応するキーファイル02の該当するキーブロックKB
を最高優先順位に付け替える処理を行わせる。 次にこの付け替え処理の手順を第3図を用いて説明す
る。同図はキーファイル02における先頭部02H,およびキ
ーブロックKB内のリンク情報の変化を前記の検索前と検
索後について比較したものである。 まず、今回検索したキーブロックKB(この例では番号
値No.4−1)の前優先順位キーブロックNo.2−6内の番
号値(この例ではNo.4−2)と次優先順位キーブロック
No.2−5内の番号値No.4−3をチェックし、前記の前優
先順位のキーブロックKB(No.4−2)における次優先順
位キーブロックNo.2−5内に前記の次優先順位のキーブ
ロックKBの番号値No.4−3を格納し、逆に前記の次優先
順位のキーブロックKB(No.4−3)における前優先順位
キーブロックNo.2−6内には前記の前優先順位のキーブ
ロックKBの番号値No.4−2を格納する。 また現在までの最高優先キーブロックKB(番号値No.4
−4)における前優先順位キーブロックNo.2−6内に今
回検索したキーブロックKBの番号値No.4−1を格納し、
また、今回検索したキーブロックKB(No.4−1)におけ
る次優先順位キーブロックNo.2−5内へは、前回までの
最高優先順位のキーブロックKBの番号値No.4−4を格納
し、このキーブロック(No.4−1)の前優先順位キーブ
ロックNo.2−6内へは、当該のキーブロックNo.4−1が
最高優先順位であるという特別なマークを格納する。そ
の後にキーファイル先頭部02Hにおける最高優先キーブ
ロックNo.2−1内へ今回検索したレコードについてのキ
ーブロックNo.の番号値No.4−1を書き込む。 また、新たなデータをISAMファイル01へ追加する場合
には同様に、キーファイル02に対して登録しなければな
らない。次に第4図を用いてこの登録の手順を説明す
る。同図はキーファイル02における先頭部02H,およびキ
ーブロックKB内のリンク情報の変化をこの追加の前後に
ついて比較したものである。 今回追加しようとするキーブロックKB(番号値No.5−
1とする)における前優先順位キーブロックNo.2−6内
へは、当該のキーブロックKBが最高優先順位であるとい
う特別なマークを格納し、またこのキーブロックの次優
先順位キーブロックNo.2−5内へは前回までの最高優先
順位のキーブロックKBの番号値(この例ではNo.5−2)
を格納する。次に現在迄の最高優先のキーブロックとし
ての番号値No.5−2のキーブロックKBにおける前優先順
位キーブロックNo.2−6内に今回追加するキーブロック
KBの番号値No.5−1を格納する。そしてキーファイル02
の先頭部02Hにおける最高順位キーブロックNo.2−1内
に今回追加のキーブロックの番号値No.5−1を格納す
る。 次に第5図ないし第8図に基づいて本発明の第2の実
施例を説明する。 この第2の実施例では第9図で述べたISAMファイル01
のレコード1−4内に第6図に示すような構造のデータ
部1−7を設ける。即ちこのデータ部1−7には、キー
K以外に従来の被検索データDTの先頭部にキーKと同じ
長さの2つのリンク情報としての次優先順位キー6−
1、および前優先順位キー6−2を付加する。そしてDT
1が被検索データとなる。そしてさらにISAMファイル01
とは別に、最も最近アクセスされたレコード1−4のキ
ーKを格納しておくファイルとしての先頭キーファイル
03を設ける。 この先頭キーファイル03とデータ部1−7の上述のリ
ンク情報を使って目的とするデータを検索する方法の概
要を第5図を用いて説明する。まず、アプリケーション
プログラムで、キー以外の条件で目的のデータを頻繁に
検索したい場合、まず先頭キーファイル03を参照し、最
高優先順位のキーをもとめ、そのキーKを指定してISAM
ファイルシステム01に検索要求をだし、データ1−7
(従ってDT)の読み込みを実行する。ここでその読込の
データ1−7が目的とするデータでなかった場合には、
当該レコード1−4内の次優先順位キー6−1内のキー
番号のリンクを辿って示されたキーKを指定してISAMフ
ァイルシステム01に検索を要求する。この処理を繰り返
し、目的のデータ1−7を検索していく。 このようにして目的とするデータ1−7の検索が完了
した時点で、そのキーKを持つレコード1−4の優先順
位を付け替える処理を行うが、その手順を第7図を用い
て説明する。第7図はこの検索の前後における先頭キー
ファイル03およびレコード1−4内のリンク情報の変化
を示す。 まず、今回検索したレコード1−4(そのキー番号値
をNo.7−1とする)内の前優先順位キー6−2に格納さ
れたキー番号値(この例ではNo.7−2)を持つレコード
1−4と、同じく次優先順位キー6−1に格納されたキ
ー番号値(この例ではNo.7−3)を持つレコード1−4
とをチェックし、前記の前優先順位キーの番号値No.7−
2を持つレコード1−4における次優先順位キー6−1
内に前記の次優先順位キーの番号値No.7−3を格納し、
逆に前記の次優先順位キーの番号値No.7−3を持つレコ
ード1−4における前優先順位キー6−2内には前記の
前優先順位キーの番号値No.7−2を格納する。 また今まで先頭キーファイル03にキー番号値が格納さ
れているレコード1−4(この例ではキー番号値No.7−
4)内の前優先順位キー6−2内に今回検索したレコー
ドのキーKの番号値No.7−1を格納し、また今回検索し
たレコード1−4(キー番号値7−1)内の次優先順位
キー6−1内へは、前回までの最高優先順位キーの番号
値No.7−4を格納し、同じく前優先順位キー6−2内へ
は、当該のレコード1−4が最高優先順位であるという
特別なマークを格納する。その後に先頭キーファイル03
へ今回検索したレコード1−4のキー番号値No.7−1を
書き込む。 また、新たなデータをISAMファイル01へ追加する場合
には同様に、先頭キーファイル03に対して登録しなけれ
ばいけない。この手順を第8図を用いて説明する。同図
はこの追加の前後における先頭キーファイル03およびレ
コード1−4内のリンク情報の変化を示す。 即ち今回追加しようとするレコード1−4(この例で
はそのキー番号値をNo.8−1とする)内の前優先順位キ
ー6−2内へは、このレコードが最高優先順位であると
いう特別なマークを格納し、同じく該レコードの次優先
順位キー6−1内へは前回までの最高優先順位キーの番
号値(この例ではNo.8−2とする)を格納する。次に先
頭キーファイル03に格納されているキー番号値No.8−2
を持つレコード1−4内の前優先順位キー6−2内に今
回追加するキー番号値No.8−1を格納する。
【発明の効果】
本発明によれば、ISAMファイルに対してキー以外の条
件でデータを検索する際に、頻繁に検索されるデータを
検索する順番の優先順を上げるようなリンク情報を辿っ
てキーを求めデータ検索を行うよにしたので高速にデー
タの検索ができるようになる。
【図面の簡単な説明】
第1図は本発明の一実施例としてのデータ検索方法の説
明図、 第2図は第1図におけるキーファイルの構成図、 第3図は第1図におけるデータ検索後のキーファイルの
処理手順の説明図、 第4図は第1図におけるデータ追加時のキーファイルの
処理手順の説明図、 第5図は本発明の第2の実施例としてのデータ検索方法
の説明図、 第6図は第5図におけるデータ内のリンク情報の構成
図、 第7図は第5図における検索後のリンク情報の処理手順
の説明図、 第8図は第5図における追加時のリンク情報の処理手順
の説明図、 第9図はISAMファイルの構成の説明図である。 01:ISAMファイル、02:キーファイル、03:先頭キーファ
イル、1−2:インデックスブロック、1−3:データブロ
ック、1−4:レコード、1−5:キー位置、1−6:キー
長、1−7:データ、K:キー、DT,DT1:被検索データ、02
H:先頭部、KB:キーブロック、2−1:最高優先順位キー
ブロックNo.、2−2:キー長、2−3:キーブロックの
数、2−5:次優先順位キーブロックNo.、2−6:前優先
順位キーブロックNo.、6−1:次優先順位キー、6−2:
前優先順位キー。

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】乱順に書込まれた被検索データに、この被
    検索データを一意的に識別できるキーを付加し、このキ
    ーの付加されたデータとしてのレコードを、該キーの値
    が昇順になるように配列し、前記被検索データを高速に
    検索できるようにした索引付順編成ファイルシステムに
    おいて、 現存の索引付順編成ファイルとは別に、キーに対する重
    みづけを格納するファイルを設け、最近アクセスされた
    被検索データのキーの値を当該ファイルの先頭部に格納
    し、当該ファイルの各キーブロック内に、該データの検
    索時期の後先を識別する次優先順位および前優先順位の
    重みづけ情報を付加し、この重みづけ情報に従って前記
    索引付順編成ファイルの被検索データを検索し得るよう
    にすることにより、前記キー以外の条件によって、前記
    被検索データを高速に検索できるようにしたことを特徴
    とする索引順編成ファイルの管理方法。
  2. 【請求項2】乱順に書込まれた被検索データに、この被
    検索データを一意的に識別できるキーを付加し、このキ
    ーの付加されたデータとしてのレコードを、該キーの値
    が昇順になるように配列し、前記被検索データを高速に
    検索できるようにした索引付順編成ファイルシステムに
    おいて、 現存の索引付順編成ファイルとは別に、最近アクセスさ
    れた被検索データのキーの値を格納するファイルを設
    け、前記索引付順編成ファイルの被検索データ内に、該
    データの検索時期の後先を識別する次優先順位および前
    優先順位のリンク情報を付加し、このリンク情報に従っ
    て前記被検索データを検索し得るようにすることによ
    り、前記キー以外の条件によって頻繁に同一の前記被検
    索データを高速に検索できるようにしたことを特徴とす
    る索引順編成ファイルの管理方法。
JP1118307A 1989-05-11 1989-05-11 索引付順編成ファイルの管理方法 Expired - Lifetime JP2722660B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1118307A JP2722660B2 (ja) 1989-05-11 1989-05-11 索引付順編成ファイルの管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1118307A JP2722660B2 (ja) 1989-05-11 1989-05-11 索引付順編成ファイルの管理方法

Publications (2)

Publication Number Publication Date
JPH02297669A JPH02297669A (ja) 1990-12-10
JP2722660B2 true JP2722660B2 (ja) 1998-03-04

Family

ID=14733446

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1118307A Expired - Lifetime JP2722660B2 (ja) 1989-05-11 1989-05-11 索引付順編成ファイルの管理方法

Country Status (1)

Country Link
JP (1) JP2722660B2 (ja)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61188658A (ja) * 1985-02-15 1986-08-22 Canon Inc 文字処理装置

Also Published As

Publication number Publication date
JPH02297669A (ja) 1990-12-10

Similar Documents

Publication Publication Date Title
JP4206586B2 (ja) データベース管理方法および装置並びにデータベース管理プログラムを記録した記憶媒体
US5568638A (en) Split control system for a page/page group in a data processing system a pre-split process using a temporary overflow area
EP0462587B1 (en) Processing method and system for composing file name from alias to real name
JPH01195531A (ja) 情報処理システム内の文書の論理的組織化方法
JP2722660B2 (ja) 索引付順編成ファイルの管理方法
JPH0296213A (ja) 階層ビットマップによる二次記憶管理方法
JP2675958B2 (ja) 情報検索用計算機システム及びその記憶装置の動作方法
EP0394172A2 (en) Method of performing file services given partial file names
RU2621628C1 (ru) Способ организации хранения связанных данных
JPH0962697A (ja) 商品コード検索方式
JPH0198020A (ja) 索引管理方式
JPS593549A (ja) フアイル管理方式
JP2687887B2 (ja) リレーショナルデータベースの管理方式
JP3398672B2 (ja) 中間データ格納装置
JP2885625B2 (ja) 索引表付きファイルシステム
JPS62296226A (ja) インデツクス順編成フアイルのインデツクス処理方式
JPH03282966A (ja) ハッシュエントリ領域管理方法
JPH0962696A (ja) データベース管理システム
JP2618029B2 (ja) インデクス付きファイルの分割処理方法
JPS63189934A (ja) デ−タベ−ス副次エントリ処理方式
JPS61103242A (ja) 高速検索方式
JPH02259942A (ja) データベース世代管理処理方式
JPH0314047A (ja) アクセス制御方式
JPH04115333A (ja) データベース管理処理方法
JPH03135635A (ja) 索引ファイルの整理要否判定方式