JPH06103140A - ファイルディレクトリ検索システム - Google Patents
ファイルディレクトリ検索システムInfo
- Publication number
- JPH06103140A JPH06103140A JP4249356A JP24935692A JPH06103140A JP H06103140 A JPH06103140 A JP H06103140A JP 4249356 A JP4249356 A JP 4249356A JP 24935692 A JP24935692 A JP 24935692A JP H06103140 A JPH06103140 A JP H06103140A
- Authority
- JP
- Japan
- Prior art keywords
- directory
- management table
- item
- cell
- synonym
- 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を具備
する管理テーブル11と、与えられたファイル名と、上
記集中管理テーブル12から読出されたディレクトリ項
目内の記載ファイル名との一致を検出し、その一致が検
出されたとき当該ディレクトリ項目内に記載されている
アドレスで上記集中管理テーブル12をアクセスし、次
のディレクトリ項目を読出してそのディレクトリ項目内
のファイル名と与えられたファイル名との一致を検出し
てゆく検索処理手段15とを備え構成される。
トリの検索処理速度を向上させる。 【構成】 多階層ファイルシステムにおけるディレクト
リ検索処理方式において、各ファイルについてのディレ
クトリ項目を集中せしめた集中管理テーブル12を具備
する管理テーブル11と、与えられたファイル名と、上
記集中管理テーブル12から読出されたディレクトリ項
目内の記載ファイル名との一致を検出し、その一致が検
出されたとき当該ディレクトリ項目内に記載されている
アドレスで上記集中管理テーブル12をアクセスし、次
のディレクトリ項目を読出してそのディレクトリ項目内
のファイル名と与えられたファイル名との一致を検出し
てゆく検索処理手段15とを備え構成される。
Description
【0001】
【産業上の利用分野】本発明は、ファイルディレクトリ
検索システム、特にディレクトリの高速検索を可能なら
しめるようにしたファイルディレクトリ格納構造及びそ
の検索処理に関するものである。
検索システム、特にディレクトリの高速検索を可能なら
しめるようにしたファイルディレクトリ格納構造及びそ
の検索処理に関するものである。
【0002】
【従来の技術】従来の多階層ファイルシステムにおいて
は、図7に示されている如くファイルの所在を検索する
ためのディレクトリが、ディスク1上に木構造で分散し
て格納されている。そのため、目的とするファイルを検
索するには、ルートディレクトリ2を読出してその中か
らAという項目を見つけ出し、当該Aの項目に記載され
ているアドレスを基にAのディレクトリ3を読出す。そ
してその中からBという項目を見つけ出し、同様にして
Bのディレクトリ4を読出す。その中からCという項目
を見つけ出し、Cのディレクトリ5を読出す。当該Cの
ディレクトリ5には目的とするファイルの情報が記載さ
れているので、その確認を行った後そのアドレスを基に
ディスク1をアクセスし、目的とするファイルに到達す
るという検索構造となっていた。
は、図7に示されている如くファイルの所在を検索する
ためのディレクトリが、ディスク1上に木構造で分散し
て格納されている。そのため、目的とするファイルを検
索するには、ルートディレクトリ2を読出してその中か
らAという項目を見つけ出し、当該Aの項目に記載され
ているアドレスを基にAのディレクトリ3を読出す。そ
してその中からBという項目を見つけ出し、同様にして
Bのディレクトリ4を読出す。その中からCという項目
を見つけ出し、Cのディレクトリ5を読出す。当該Cの
ディレクトリ5には目的とするファイルの情報が記載さ
れているので、その確認を行った後そのアドレスを基に
ディスク1をアクセスし、目的とするファイルに到達す
るという検索構造となっていた。
【0003】
【発明が解決しようとする課題】図7で示される様に、
目的とするファイルの検索に当たって木構造を一階層ず
つ探索してゆく従来のディレクトリ検索方法では、N階
層下にあるファイルを検索するためにはN下位の検索処
理、すなわちディレクトリファイルのN下位の読出しと
当該ディレクトリファイルが、物理的に散在することに
基づく検索時間、つまりシーク時間が多くなり、深い階
層のファイルディレクトリ検索に時間がかかりすぎる欠
点があった。
目的とするファイルの検索に当たって木構造を一階層ず
つ探索してゆく従来のディレクトリ検索方法では、N階
層下にあるファイルを検索するためにはN下位の検索処
理、すなわちディレクトリファイルのN下位の読出しと
当該ディレクトリファイルが、物理的に散在することに
基づく検索時間、つまりシーク時間が多くなり、深い階
層のファイルディレクトリ検索に時間がかかりすぎる欠
点があった。
【0004】本発明は、上記の欠点を解決することを目
的としており、ファイルのディレクトリ項目を物理的に
集中させた集中管理テーブルを設けて検索処理速度を向
上させると共に、当該集中管理テーブルと木構造で分散
配置されたディレクトリ単位の所在管理テーブルとを同
一論理区画に設けてディレクトリ情報の二重保持による
信頼性を向上させ、さらに当該集中管理テーブルをディ
レクトリ項目毎に分割した方式にして複数アクセスの応
答性が良好となるファイルディレクトリ検索システムを
提供することを目的としている。
的としており、ファイルのディレクトリ項目を物理的に
集中させた集中管理テーブルを設けて検索処理速度を向
上させると共に、当該集中管理テーブルと木構造で分散
配置されたディレクトリ単位の所在管理テーブルとを同
一論理区画に設けてディレクトリ情報の二重保持による
信頼性を向上させ、さらに当該集中管理テーブルをディ
レクトリ項目毎に分割した方式にして複数アクセスの応
答性が良好となるファイルディレクトリ検索システムを
提供することを目的としている。
【0005】
【課題を解決するための手段】図1は本発明の原理構成
説明図である。同図において、1はディスクであり、磁
気ディスク或いは光ディスクが用いられ、当該ディスク
1に後程説明するディレクトリ項目が集中配置された集
中管理テーブルとディレクトリ項目が木構造で分散配置
されたディレクトリ単位の所在管理テーブルとの二重化
された情報を保持しているもの、2はルートディレクト
リ、3ないし6はディレクトリであり、ルートディレク
トリ2及びディレクトリ3ないし6で、上記木構造で分
散配置されたディレクトリ単位の所在管理テーブルを構
成するもの、10は処理装置であり、ファイルディレク
トリ検索を行うもの、11は管理テーブルであり、次に
説明する集中管理テーブル及びロックテーブルをまとめ
て表現したもの、12は集中管理テーブルであり、各フ
ァイルについてのディレクトリ項目をディスク1上で物
理的に集中させると共に、項目がハッシュ管理されたテ
ーブルで、セル単位のブロックで分割され、当該セルは
基本域とシノニム域とをそれぞれ有し、シノニム域には
デッドロックの発生率を少なくする配置法でデータが登
録されており、かつセルは処理装置10から多重アクセ
スされ得るように構成されているもの、13はメモリ上
に存在するロックテーブルであり、集中管理テーブル全
体及び各セル対応でロックさせるセルロックワードを格
納するもの、14は集中管理テーブル上のディレクトリ
単位の所在管理テーブルであり、ディレクトリを検索す
るに必要な情報、例えばファイル名、親ディレクトリの
ディスク1上のアドレス、シノニムリンクアドレス、当
集中管理テーブル項目14のディスク1上のアドレス等
が記載されているもの、15は検索処理手段であり、C
PUであってハッシュ処理を行い、与えられたファイル
名と、上記所在管理テーブル14から読出したディレク
トリ項目内の記載ファイル名との一致を検出し、当該デ
ィレクトリ項目内に記載されているアドレスで上記集中
管理テーブル12をアクセスし、次のディレクトリ項目
を読出してそのディレクトリ項目内のファイル名と与え
られたファイル名との一致を検出して目的とするファイ
ルの位置を検索してゆくものである。
説明図である。同図において、1はディスクであり、磁
気ディスク或いは光ディスクが用いられ、当該ディスク
1に後程説明するディレクトリ項目が集中配置された集
中管理テーブルとディレクトリ項目が木構造で分散配置
されたディレクトリ単位の所在管理テーブルとの二重化
された情報を保持しているもの、2はルートディレクト
リ、3ないし6はディレクトリであり、ルートディレク
トリ2及びディレクトリ3ないし6で、上記木構造で分
散配置されたディレクトリ単位の所在管理テーブルを構
成するもの、10は処理装置であり、ファイルディレク
トリ検索を行うもの、11は管理テーブルであり、次に
説明する集中管理テーブル及びロックテーブルをまとめ
て表現したもの、12は集中管理テーブルであり、各フ
ァイルについてのディレクトリ項目をディスク1上で物
理的に集中させると共に、項目がハッシュ管理されたテ
ーブルで、セル単位のブロックで分割され、当該セルは
基本域とシノニム域とをそれぞれ有し、シノニム域には
デッドロックの発生率を少なくする配置法でデータが登
録されており、かつセルは処理装置10から多重アクセ
スされ得るように構成されているもの、13はメモリ上
に存在するロックテーブルであり、集中管理テーブル全
体及び各セル対応でロックさせるセルロックワードを格
納するもの、14は集中管理テーブル上のディレクトリ
単位の所在管理テーブルであり、ディレクトリを検索す
るに必要な情報、例えばファイル名、親ディレクトリの
ディスク1上のアドレス、シノニムリンクアドレス、当
集中管理テーブル項目14のディスク1上のアドレス等
が記載されているもの、15は検索処理手段であり、C
PUであってハッシュ処理を行い、与えられたファイル
名と、上記所在管理テーブル14から読出したディレク
トリ項目内の記載ファイル名との一致を検出し、当該デ
ィレクトリ項目内に記載されているアドレスで上記集中
管理テーブル12をアクセスし、次のディレクトリ項目
を読出してそのディレクトリ項目内のファイル名と与え
られたファイル名との一致を検出して目的とするファイ
ルの位置を検索してゆくものである。
【0006】
【作用】ディレクトリ検索の際の検索処理手段15は、
物理的に集中配置された集中管理テーブル12をアクセ
スし、かつディレクトリアクセスのための管理領域読出
し操作を行わないので、一階層当りの検索処理速度が向
上する。
物理的に集中配置された集中管理テーブル12をアクセ
スし、かつディレクトリアクセスのための管理領域読出
し操作を行わないので、一階層当りの検索処理速度が向
上する。
【0007】集中管理テーブル12はそれぞれセル単位
でアクセスできるようになっているので、処理装置10
からの多重アクセス時の他のジョブのロックによる待ち
合わせ状況が少なくなる。また集中管理テーブル12の
テーブル項目をハッシュ管理しているので、項目検索時
間が短くなり、従って上記ロックの期間が短くてすむ。
でアクセスできるようになっているので、処理装置10
からの多重アクセス時の他のジョブのロックによる待ち
合わせ状況が少なくなる。また集中管理テーブル12の
テーブル項目をハッシュ管理しているので、項目検索時
間が短くなり、従って上記ロックの期間が短くてすむ。
【0008】ディスク1は、ディレクトリ項目が集中配
置された集中管理テーブル12と、木構造で分散配置さ
れたディレクトリ単位の所在管理テーブルとの二重保持
方式となっているので、一方の管理テーブルの情報が破
壊されても処理装置10は他方の管理テーブルを検索し
参照することにより、容易にその情報を復元させること
ができる。
置された集中管理テーブル12と、木構造で分散配置さ
れたディレクトリ単位の所在管理テーブルとの二重保持
方式となっているので、一方の管理テーブルの情報が破
壊されても処理装置10は他方の管理テーブルを検索し
参照することにより、容易にその情報を復元させること
ができる。
【0009】
【実施例】図2は本発明が用いられているファイルシス
テムの一実施例構成を示している。
テムの一実施例構成を示している。
【0010】同図において、1,11ないし13は図1
のものに対応している。集中管理テーブル12は、図2
ではセルが10個の場合が示されており、説明上セル1
にはAのディレクトリ項目が格納され、セル4にはCの
ディレクトリ項目が格納され、セル8にはBのディレク
トリ項目が格納されているものとする。
のものに対応している。集中管理テーブル12は、図2
ではセルが10個の場合が示されており、説明上セル1
にはAのディレクトリ項目が格納され、セル4にはCの
ディレクトリ項目が格納され、セル8にはBのディレク
トリ項目が格納されているものとする。
【0011】集中管理テーブル12の各セルに格納され
るディレクトリ項目のテーブル項目(TEMB項目)
は、例えば図3に示された構成が用いられている。例え
ば、セル8に格納されているBのディレクトリ項目につ
いて説明すると、ファイル名長には当該Bのディレクト
リのファイルの長さが登録されており、ファイル名に
は、当該Bのディレクトリのファイルの名前が14文字
以下のときには、そのファイルの名前Bが登録されてい
る。親ディレクトリのディスク上のアドレスには、当該
Bのディレクトリの親ディレクトリであるAのディレク
トリの先頭アドレスAdaが登録されており、シノニム
リンクアドレスにはシノニムが発生しているときそのシ
ノニムのアドレスが登録されている。当ファイルのディ
スク上のアドレスには当ファイル、すなわちファイルB
のディスク上の先頭アドレスAdbが登録されており、
当TEMB項目に相当するディレクトリ項目ポインタに
は、当該TEMB項目、すなわちセル8に格納されてい
るBのディレクトリ項目についての上記アドレスAda
からどの位置にあるかを表わす相対位置アドレスが登録
されている。
るディレクトリ項目のテーブル項目(TEMB項目)
は、例えば図3に示された構成が用いられている。例え
ば、セル8に格納されているBのディレクトリ項目につ
いて説明すると、ファイル名長には当該Bのディレクト
リのファイルの長さが登録されており、ファイル名に
は、当該Bのディレクトリのファイルの名前が14文字
以下のときには、そのファイルの名前Bが登録されてい
る。親ディレクトリのディスク上のアドレスには、当該
Bのディレクトリの親ディレクトリであるAのディレク
トリの先頭アドレスAdaが登録されており、シノニム
リンクアドレスにはシノニムが発生しているときそのシ
ノニムのアドレスが登録されている。当ファイルのディ
スク上のアドレスには当ファイル、すなわちファイルB
のディスク上の先頭アドレスAdbが登録されており、
当TEMB項目に相当するディレクトリ項目ポインタに
は、当該TEMB項目、すなわちセル8に格納されてい
るBのディレクトリ項目についての上記アドレスAda
からどの位置にあるかを表わす相対位置アドレスが登録
されている。
【0012】図2のディスクをアクセスする検索処理で
は、次の様なフローで処理される。 ステップ1:パス名からファイル名を取出す。 ・ファイル名が存在しなければ検索終了 ・ファイル名が存在すればステップ2へ ステップ2:ファイル名をTEMB(集中管理テーブル
12)中の項目アドレスに変換(ハッシュ処理) ステップ3:項目を含むTEMBブロックをディスクか
ら読込む(位置は静的に固定) ステップ4:項目の検証(ハッシュ処理によるシノニム
リンクが発生するため) 検査対象:親ディレクトリのディスク上アドレス、目的
ファイルのディスク上アドレス、名前長、名前(14文
字) ステップ4−1:名前長が14以下の場合、TEMB候
補項目について指定ファイル名検査 ステップ4−2:名前長が14超の場合、TEMB候補
項目について以下の処理を行う ステップ4−2−1:TEMB項目中のディレクトリ項
目ポインタを基に、ディレクトリファイルからディレク
トリ項目を読込む ステップ4−2−2:読込んだディレクトリ項目を基に
指定ファイル名の検査を行う(ディレクトリ項目は、フ
ァイル名は255文字まで格納される) ステップ5:一致する項目が存在したか? ・存在しないとき、検索終了 ・存在したとき、項目から必要な情報を取出して次のフ
ァイルの検査へ、すなわちステップ1へ 上記説明から明らかな様に、ファイル名が14文字以下
の場合には、ディレクトリファイルの項目を読込むこと
がないので高速検索処理が行える。従ってTEMB項目
でファイル名を255文字まで持つようにすれば、常に
高速検索処理が可能となるが、ファイル名長の使用頻度
とディスク資源節約の兼合いから、本発明ではファイル
名が14文字以下としている。ファイル名が14文字を
超えるときはディレクトリファイルの項目を読込むの
で、検索性能は従来の多階層ファイルシステムの場合と
同様となる。
は、次の様なフローで処理される。 ステップ1:パス名からファイル名を取出す。 ・ファイル名が存在しなければ検索終了 ・ファイル名が存在すればステップ2へ ステップ2:ファイル名をTEMB(集中管理テーブル
12)中の項目アドレスに変換(ハッシュ処理) ステップ3:項目を含むTEMBブロックをディスクか
ら読込む(位置は静的に固定) ステップ4:項目の検証(ハッシュ処理によるシノニム
リンクが発生するため) 検査対象:親ディレクトリのディスク上アドレス、目的
ファイルのディスク上アドレス、名前長、名前(14文
字) ステップ4−1:名前長が14以下の場合、TEMB候
補項目について指定ファイル名検査 ステップ4−2:名前長が14超の場合、TEMB候補
項目について以下の処理を行う ステップ4−2−1:TEMB項目中のディレクトリ項
目ポインタを基に、ディレクトリファイルからディレク
トリ項目を読込む ステップ4−2−2:読込んだディレクトリ項目を基に
指定ファイル名の検査を行う(ディレクトリ項目は、フ
ァイル名は255文字まで格納される) ステップ5:一致する項目が存在したか? ・存在しないとき、検索終了 ・存在したとき、項目から必要な情報を取出して次のフ
ァイルの検査へ、すなわちステップ1へ 上記説明から明らかな様に、ファイル名が14文字以下
の場合には、ディレクトリファイルの項目を読込むこと
がないので高速検索処理が行える。従ってTEMB項目
でファイル名を255文字まで持つようにすれば、常に
高速検索処理が可能となるが、ファイル名長の使用頻度
とディスク資源節約の兼合いから、本発明ではファイル
名が14文字以下としている。ファイル名が14文字を
超えるときはディレクトリファイルの項目を読込むの
で、検索性能は従来の多階層ファイルシステムの場合と
同様となる。
【0013】図4は管理テーブルの一実施例構成を示し
ており、12,13は図1のものに対応している。集中
管理テーブル12は全体をハッシュ処理によって管理さ
れており、かつ上記説明の如くセルという単位で分割さ
れている。各セルは基本域とシノニム域に別れている。
基本域、シノニム域の項目数は、それぞれエントリ数分
確保され、全体としてエントリ数×2の項目数を備えて
いる。
ており、12,13は図1のものに対応している。集中
管理テーブル12は全体をハッシュ処理によって管理さ
れており、かつ上記説明の如くセルという単位で分割さ
れている。各セルは基本域とシノニム域に別れている。
基本域、シノニム域の項目数は、それぞれエントリ数分
確保され、全体としてエントリ数×2の項目数を備えて
いる。
【0014】当該基本域はハッシュ処理でシノニムが発
生しなかった項目を登録し、シノニム域はハッシュ処理
でのシノニム項目を登録する。シノニム項目の登録は、 シノニムが発生した項目と同一セルのシノニム域に空
きを探して登録する。 同一のセルのシノニム域に空きがない場合は、アドレ
スが上位の次のセルのシノニム域に空きを探して登録す
る。空きが見つかるまでこの操作を繰返す。 最終#Nセルのシノニム域に空きがない場合には、先
頭の#1セルのシノニム域に空き項目を探して登録す
る。の順で登録する。
生しなかった項目を登録し、シノニム域はハッシュ処理
でのシノニム項目を登録する。シノニム項目の登録は、 シノニムが発生した項目と同一セルのシノニム域に空
きを探して登録する。 同一のセルのシノニム域に空きがない場合は、アドレ
スが上位の次のセルのシノニム域に空きを探して登録す
る。空きが見つかるまでこの操作を繰返す。 最終#Nセルのシノニム域に空きがない場合には、先
頭の#1セルのシノニム域に空き項目を探して登録す
る。の順で登録する。
【0015】この様な登録配置法を用いることで、集中
管理テーブル12のテーブル分割及びハッシュ管理構成
によって派生してくる、多重アクセスの際のデッドロッ
ク問題について、可能な限りその発生確立が低くなるよ
うにしている。
管理テーブル12のテーブル分割及びハッシュ管理構成
によって派生してくる、多重アクセスの際のデッドロッ
ク問題について、可能な限りその発生確立が低くなるよ
うにしている。
【0016】一方、ロックテーブル13は集中管理テー
ブル12の全体をロックさせる全体ロックワード及び各
セル対応毎にそれぞれロックさせるセルロックワードと
を備えている。
ブル12の全体をロックさせる全体ロックワード及び各
セル対応毎にそれぞれロックさせるセルロックワードと
を備えている。
【0017】集中管理テーブル12のテーブル分割とハ
ッシュ処理を行うと、シノニム項目の発生により、2つ
のセルを同時に更新する必要がある場合が生じる。図5
は同一ハッシュ値を持つ項目が2つのセルに分かれてい
る場合のデッドロックの発生する一実施例状況説明図を
示している。
ッシュ処理を行うと、シノニム項目の発生により、2つ
のセルを同時に更新する必要がある場合が生じる。図5
は同一ハッシュ値を持つ項目が2つのセルに分かれてい
る場合のデッドロックの発生する一実施例状況説明図を
示している。
【0018】同図のデッドロックの発生状況を説明する
と、ジョブAは項目asを削除する、すなわち項目as
をクリアして項目afのシノニムを修正、ジョブBは項
目bsを削除する、すなわち項目bsをクリアして項目
bfのシノニムリンクを修正する場合であり、ジョブA
はセルIを獲得済みでセルJの獲得要求中、ジョブBは
セルJ獲得済みでセルIの獲得要求中である。
と、ジョブAは項目asを削除する、すなわち項目as
をクリアして項目afのシノニムを修正、ジョブBは項
目bsを削除する、すなわち項目bsをクリアして項目
bfのシノニムリンクを修正する場合であり、ジョブA
はセルIを獲得済みでセルJの獲得要求中、ジョブBは
セルJ獲得済みでセルIの獲得要求中である。
【0019】なお、同図において、セルIのアドレス<
セルJのアドレス、矢印はシノニムリンクを表わしてい
る。一般にデッドロック発生の必要条件として、前獲得
セル番号>後獲得セル番号のときのみであり、実運用的
に考えればその発生頻度は少ないと予想できる。また、
デッドロックの監視/回収処理を行わなければならない
状況が特定できる。例えば上記の例では、ジョブBの要
求をもってデッドロック発生の可能性ありと判断する。
セルJのアドレス、矢印はシノニムリンクを表わしてい
る。一般にデッドロック発生の必要条件として、前獲得
セル番号>後獲得セル番号のときのみであり、実運用的
に考えればその発生頻度は少ないと予想できる。また、
デッドロックの監視/回収処理を行わなければならない
状況が特定できる。例えば上記の例では、ジョブBの要
求をもってデッドロック発生の可能性ありと判断する。
【0020】次に、セルに登録されている項目を削除す
るために検索処理を行う過程の一実施例フローを説明す
る。今、IAを項目のアドレス、S1をIAが属するセ
ルのセル番号、S2をセルS1を獲得する直前に獲得し
ていたセルのセル番号とする。 ステップ1:ハッシュ処理により項目のアドレスをIA
に、それが属するセル番号をS1に設定する。またS2
を初期化しておく。 ステップ2:全体ロックワードを獲得する。 ステップ3:全体ロックワードからセルS1のロックワ
ード獲得に切換える。 ステップ4:ディスクから必要情報を読込み、セルS1
を作成する。 ステップ5:IAに格納されている項目が目的項目なら
ば検索終了。 ステップ6:IAに格納されている項目がシノニム項目
のとき、 ステップ6−1:シノニム先が同一セルなら、 ステップ6−1−1:IAの値を置き換えてステップ5
へ。
るために検索処理を行う過程の一実施例フローを説明す
る。今、IAを項目のアドレス、S1をIAが属するセ
ルのセル番号、S2をセルS1を獲得する直前に獲得し
ていたセルのセル番号とする。 ステップ1:ハッシュ処理により項目のアドレスをIA
に、それが属するセル番号をS1に設定する。またS2
を初期化しておく。 ステップ2:全体ロックワードを獲得する。 ステップ3:全体ロックワードからセルS1のロックワ
ード獲得に切換える。 ステップ4:ディスクから必要情報を読込み、セルS1
を作成する。 ステップ5:IAに格納されている項目が目的項目なら
ば検索終了。 ステップ6:IAに格納されている項目がシノニム項目
のとき、 ステップ6−1:シノニム先が同一セルなら、 ステップ6−1−1:IAの値を置き換えてステップ5
へ。
【0021】ステップ6−2:シノニム先が自セルより
アドレスが大きいセルなら、 ステップ6−2−1:S2に既に値が設定されていれ
ば、セルS2のロックワードを開放し、S2にS1の値
を退避する。
アドレスが大きいセルなら、 ステップ6−2−1:S2に既に値が設定されていれ
ば、セルS2のロックワードを開放し、S2にS1の値
を退避する。
【0022】ステップ6−2−2:IA,S1の値を置
き換えてステップ2へ。 ステップ6−3:シノニム先が自セルよりアドレスの小
さいセルなら、 ステップ6−3−1:S2に既に値が設定されていれ
ば、セルS2のロックワードを開放し、S2にS1の値
を退避する。
き換えてステップ2へ。 ステップ6−3:シノニム先が自セルよりアドレスの小
さいセルなら、 ステップ6−3−1:S2に既に値が設定されていれ
ば、セルS2のロックワードを開放し、S2にS1の値
を退避する。
【0023】ステップ6−3−2:IA,S1の値を置
き換える。 ステップ6−3−3:デッドロック監視状態にしてステ
ップ2へ。 図6はファイル管理情報の二重保持による破壊データ復
元の一実施例説明図を示している。
き換える。 ステップ6−3−3:デッドロック監視状態にしてステ
ップ2へ。 図6はファイル管理情報の二重保持による破壊データ復
元の一実施例説明図を示している。
【0024】同図において、1は図1のものに対応し、
21は集中所在管理テーブル、22はディレクトリ単位
の所在管理テーブル、31ないし35はディレクトリフ
ァイルをそれぞれ表わしている。
21は集中所在管理テーブル、22はディレクトリ単位
の所在管理テーブル、31ないし35はディレクトリフ
ァイルをそれぞれ表わしている。
【0025】集中所在管理テーブル21は、論理区画単
位、すなわちディスク1単位に一つ存在し、論理区画に
属する総てのファイルの所在情報を集中して管理するテ
ーブルであり、図1図示の集中管理テーブル1に該当し
ている。
位、すなわちディスク1単位に一つ存在し、論理区画に
属する総てのファイルの所在情報を集中して管理するテ
ーブルであり、図1図示の集中管理テーブル1に該当し
ている。
【0026】ディレクトリ単位の所在管理テーブル22
は、ディレクトリ単位に一つ存在し、格納する所在情報
もディレクトリ単位であり、各々は論理区画内に分散し
て配置されるテーブルである。すなわち集中所在管理テ
ーブル21の情報がディレクトリ単位に分割されている
ものである。
は、ディレクトリ単位に一つ存在し、格納する所在情報
もディレクトリ単位であり、各々は論理区画内に分散し
て配置されるテーブルである。すなわち集中所在管理テ
ーブル21の情報がディレクトリ単位に分割されている
ものである。
【0027】この2つの集中所在管理テーブル21とデ
ィレクトリ単位の所在管理テーブル22とが、論理区画
内のディスク1に二重化して保持されており、しかも両
者のテーブルはファイルシステムにおける基幹情報に絞
られているので、その冗長性が低く、従ってディスク資
源の使用量がおさえられている。
ィレクトリ単位の所在管理テーブル22とが、論理区画
内のディスク1に二重化して保持されており、しかも両
者のテーブルはファイルシステムにおける基幹情報に絞
られているので、その冗長性が低く、従ってディスク資
源の使用量がおさえられている。
【0028】集中所在管理テーブル21は論理区画内の
定位置に存在するので、それを上記説明の検索法によっ
て検索することにより、例えばディレクトリファイルA
31を検索することにより、ディレクトリ単位の所在管
理テーブル22のディレクトリファイルAにその破壊さ
れ失われた情報を復元させることができる。他のディレ
クトリファイルB32〜ディレクトリファイルE35に
ついても同様である。
定位置に存在するので、それを上記説明の検索法によっ
て検索することにより、例えばディレクトリファイルA
31を検索することにより、ディレクトリ単位の所在管
理テーブル22のディレクトリファイルAにその破壊さ
れ失われた情報を復元させることができる。他のディレ
クトリファイルB32〜ディレクトリファイルE35に
ついても同様である。
【0029】また逆に、ルートディレクトリを基にした
一般的な検索法で、集中所在管理テーブル21で破壊さ
れ失われたディレクトリファイルの情報を得ることがで
き、従って集中所在管理テーブル21で失われた情報を
復元させることもできる。
一般的な検索法で、集中所在管理テーブル21で破壊さ
れ失われたディレクトリファイルの情報を得ることがで
き、従って集中所在管理テーブル21で失われた情報を
復元させることもできる。
【0030】
【発明の効果】以上説明した如く、本発明によれば、各
ファイルのディレクトリ項目を集中配置した集中管理テ
ーブルを設け、項目をハッシュ管理としたので、ディレ
クトリアクセスのための管理領域読込み操作が不要とな
り、検索処理速度が向上する。
ファイルのディレクトリ項目を集中配置した集中管理テ
ーブルを設け、項目をハッシュ管理としたので、ディレ
クトリアクセスのための管理領域読込み操作が不要とな
り、検索処理速度が向上する。
【0031】集中管理テーブルをセル単位に分割するこ
とによりロック単位が小さくなり、複数アクセス時の他
のジョブのロックによる待ち合せ状況が少なくなる。ま
たテーブル項目をハッシュ管理しているので、項目検索
時間が短くなり、ロック期間が短縮化する。
とによりロック単位が小さくなり、複数アクセス時の他
のジョブのロックによる待ち合せ状況が少なくなる。ま
たテーブル項目をハッシュ管理しているので、項目検索
時間が短くなり、ロック期間が短縮化する。
【0032】シノニム項目の配置方法を、現項目よりア
ドレスが上位になる位置に配置し、空きがなくなった時
にのみアドレスが低位の方に配置するようにしたので、
デッドロック問題に関しては、先に獲得するセルアドレ
ス>後に獲得するセルアドレスの場合にだけ発生するこ
とになる。このような状況から、実運用においては最後
の方の1,2のセルに関してまれに起るだけであり、デ
ッドロック発生確立は小さい。また仮に発生する場合で
も、その発生状況が特定できるので、デッドロック監視
/回避処理を常に行う必要がなくなり、処理時間を短縮
できる。
ドレスが上位になる位置に配置し、空きがなくなった時
にのみアドレスが低位の方に配置するようにしたので、
デッドロック問題に関しては、先に獲得するセルアドレ
ス>後に獲得するセルアドレスの場合にだけ発生するこ
とになる。このような状況から、実運用においては最後
の方の1,2のセルに関してまれに起るだけであり、デ
ッドロック発生確立は小さい。また仮に発生する場合で
も、その発生状況が特定できるので、デッドロック監視
/回避処理を常に行う必要がなくなり、処理時間を短縮
できる。
【0033】また集中所在管理テーブルとディレクトリ
単位の所在管理テーブルとの2形式で二重化を行ってい
るので、一方のテーブルの情報が破壊されても、他方の
テーブルの情報を検索することにより、破壊データを復
元してテーブル構造の一貫性をとりもどすことができ
る。
単位の所在管理テーブルとの2形式で二重化を行ってい
るので、一方のテーブルの情報が破壊されても、他方の
テーブルの情報を検索することにより、破壊データを復
元してテーブル構造の一貫性をとりもどすことができ
る。
【0034】また二重化の範囲を限定しているので、冗
長性が低くなり、ディスク資源の使用量が少なくてす
む。
長性が低くなり、ディスク資源の使用量が少なくてす
む。
【図1】本発明の原理構成説明図である。
【図2】本発明が用いられているファイルシステムの一
実施例構成である。
実施例構成である。
【図3】TEMB項目の一実施例構成である。
【図4】管理テーブルの一実施例構成である。
【図5】デッドロックの発生する一実施例状況説明図で
ある。
ある。
【図6】ファイル管理情報の二重保持による破壊データ
復元の一実施例説明図である。
復元の一実施例説明図である。
【図7】従来の木構造のディレクトリ検索説明図であ
る。
る。
1 ディスク 10 処理装置 11 管理テーブル 12 集中管理テーブル 13 ロックテーブル 14 所在管理テーブル 15 検索処理手段 21 集中所在管理テーブル 22 ディレクトリ単位の所在管理テーブル
Claims (5)
- 【請求項1】 多階層ファイルシステムにおけるディレ
クトリ検索処理方式において、 各ファイルについてのディレクトリ項目を集中せしめた
集中管理テーブルを具備する管理テーブルと、 与えられたファイル名と、上記集中管理テーブルから読
出されたディレクトリ項目内の記載ファイル名との一致
を検出し、その一致が検出されたとき当該ディレクトリ
項目内に記載されているアドレスで上記集中管理テーブ
ルをアクセスし、次のディレクトリ項目を読出してその
ディレクトリ項目内のファイル名と与えられたファイル
名との一致を検出してゆく検索処理手段とを備え、ディ
レクトリ検索を行うようにしたことを特徴とするファイ
ルディレクトリ検索システム。 - 【請求項2】 上記管理テーブルは、ディレクトリ項目
毎のセル単位のブロックで分割すると共に、セル毎にア
クセスされる構成の上記集中管理テーブルと、当該集中
管理テーブルの全体をロックするロックワード及び上記
セル単位対応でそれぞれロックするセルロックワードと
を格納する管理テーブルとを備えていることを特徴とす
る請求項1記載のファイルディレクトリ検索システム。 - 【請求項3】 上記集中管理テーブルは、ディレクトリ
項目の項目がハッシュ管理されていることを特徴とする
請求項2記載のファイルディレクトリ検索システム。 - 【請求項4】 上記集中管理テーブルのセル単位は、基
本域とシノニム域とをそれぞれ備え、基本域にはハッシ
ュ処理でシノニムが発生しなかった項目を登録し、シノ
ニム域にはハッシュ処理でのシノニム項目を登録し、か
つ当該シノニム項目の登録は、シノニムが発生した項
目と同一セルのシノニム域に空きを探して登録。同一
セルのシノニム域に空きがない場合は、アドレスが上位
の次のセルのシノニム域に空きを探して登録する。空き
が見つかるまでこの操作を繰返す。最終セルのシノニ
ム域に空きがない場合には、先頭セルのシノニム域に空
きを探して登録する、の順に登録するようにしたことを
特徴とする請求項3記載のファイルディレクトリ検索シ
ステム。 - 【請求項5】 上記集中管理テーブルは、木構造で分散
配置されたディレクトリ単位の所在管理テーブルと共
に、同一論理区画単位に二重化されて情報が保持されて
いることを特徴とする請求項1記載のファイルディレク
トリ検索システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4249356A JPH06103140A (ja) | 1992-09-18 | 1992-09-18 | ファイルディレクトリ検索システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4249356A JPH06103140A (ja) | 1992-09-18 | 1992-09-18 | ファイルディレクトリ検索システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH06103140A true JPH06103140A (ja) | 1994-04-15 |
Family
ID=17191813
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP4249356A Pending JPH06103140A (ja) | 1992-09-18 | 1992-09-18 | ファイルディレクトリ検索システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH06103140A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101238510B1 (ko) * | 2004-12-17 | 2013-03-04 | 마이크로소프트 코포레이션 | 확장가능한 파일 시스템 |
US9122695B2 (en) | 2006-05-23 | 2015-09-01 | Microsoft Technology Licensing, Llc | Extending cluster allocations in an extensible file system |
US9971799B2 (en) | 2012-09-28 | 2018-05-15 | Samsung Electronics Co., Ltd. | Storage device for storing directory entries, directory entry lookup apparatus and method, and storage medium storing directory entry lookup program |
US10303650B2 (en) | 2004-12-17 | 2019-05-28 | Microsoft Technology Licensing, Llc | Contiguous file allocation in an extensible file system |
US10614032B2 (en) | 2004-12-17 | 2020-04-07 | Microsoft Technology Licensing, Llc | Quick filename lookup using name hash |
-
1992
- 1992-09-18 JP JP4249356A patent/JPH06103140A/ja active Pending
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101238510B1 (ko) * | 2004-12-17 | 2013-03-04 | 마이크로소프트 코포레이션 | 확장가능한 파일 시스템 |
US9336231B2 (en) | 2004-12-17 | 2016-05-10 | Microsoft Technology Licensing, Llc | Extensible file system |
US9454542B2 (en) | 2004-12-17 | 2016-09-27 | Microsoft Technology Licensing, Llc | Extensible file system |
US9575988B2 (en) | 2004-12-17 | 2017-02-21 | Microsoft Technology Licensing, Llc | Extensible file system |
US9639554B2 (en) | 2004-12-17 | 2017-05-02 | Microsoft Technology Licensing, Llc | Extensible file system |
US10303650B2 (en) | 2004-12-17 | 2019-05-28 | Microsoft Technology Licensing, Llc | Contiguous file allocation in an extensible file system |
US10474641B2 (en) | 2004-12-17 | 2019-11-12 | Microsoft Technology Licensing, Llc | Extensible file system |
US10614032B2 (en) | 2004-12-17 | 2020-04-07 | Microsoft Technology Licensing, Llc | Quick filename lookup using name hash |
US9122695B2 (en) | 2006-05-23 | 2015-09-01 | Microsoft Technology Licensing, Llc | Extending cluster allocations in an extensible file system |
US9558223B2 (en) | 2006-05-23 | 2017-01-31 | Microsoft Technology Licensing, Llc | Extending cluster allocations in an extensible file system |
US10585868B2 (en) | 2006-05-23 | 2020-03-10 | Microsoft Technology Licensing, Llc | Extending cluster allocations in an extensible file system |
US9971799B2 (en) | 2012-09-28 | 2018-05-15 | Samsung Electronics Co., Ltd. | Storage device for storing directory entries, directory entry lookup apparatus and method, and storage medium storing directory entry lookup program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9116903B2 (en) | Method and system for inserting data records into files | |
EP1918836B1 (en) | Apparatus and method for a hardware-based file system | |
US5261088A (en) | Managing locality in space reuse in a shadow written B-tree via interior node free space list | |
US8458425B2 (en) | Computer program, apparatus, and method for managing data | |
US5218696A (en) | Method for dynamically expanding and rapidly accessing file directories | |
US9779026B2 (en) | Cache bypass utilizing a binary tree | |
US20090271418A1 (en) | Computer file system with path lookup tables | |
CN109358987B (zh) | 一种基于两级数据去重的备份集群 | |
CA1312675C (en) | Virtual lookaside facility | |
US11048757B2 (en) | Cuckoo tree with duplicate key support | |
JPH0766360B2 (ja) | 入出力装置の再構成管理システム及び方法並びに入出力装置に対するアクセスシリアル化方法 | |
JPH05233407A (ja) | スプリット制御方法 | |
CN113094374A (zh) | 分布式存储和检索方法、装置及计算机设备 | |
JPH05128072A (ja) | システム間排他制御方式 | |
EP0410210A2 (en) | Method for dynamically expanding and rapidly accessing file directories | |
JPH06103140A (ja) | ファイルディレクトリ検索システム | |
CN113760171A (zh) | 一种元数据存储方法及装置 | |
JPH0816881B2 (ja) | データベース更新方法 | |
JP2001229063A (ja) | データ管理システム | |
JP2924786B2 (ja) | 疎結合多重計算機システムにおける共有ファイルの排他制御システム、排他制御方法、および排他制御プログラムを記憶する媒体 | |
JPH06187201A (ja) | ファイルシステム | |
US20240320098A1 (en) | Managing changes to metadata in a data storage system | |
CN112162950B (zh) | 基于文件系统的数据处理方法、装置和计算机设备 | |
JPH0833855B2 (ja) | ホットスポットデータ管理処理方式 | |
CN118550477A (zh) | 重复数据删除方法、产品、计算机设备和存储介质 |