JPH04260945A - ファイル・アクセス装置及びファイル・アクセス方法 - Google Patents

ファイル・アクセス装置及びファイル・アクセス方法

Info

Publication number
JPH04260945A
JPH04260945A JP3001997A JP199791A JPH04260945A JP H04260945 A JPH04260945 A JP H04260945A JP 3001997 A JP3001997 A JP 3001997A JP 199791 A JP199791 A JP 199791A JP H04260945 A JPH04260945 A JP H04260945A
Authority
JP
Japan
Prior art keywords
file
inode
files
directory
path
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
JP3001997A
Other languages
English (en)
Inventor
Tomoko Matsuzawa
松澤 智子
Takahide Oogami
貴英 大上
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP3001997A priority Critical patent/JPH04260945A/ja
Publication of JPH04260945A publication Critical patent/JPH04260945A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、大規模なファイル・
システムにおいて、ファイルのアクセスを高速化するフ
ァイル・アクセス装置及びファイル・アクセス方法に関
するものである。
【0002】
【従来の技術】(1)従来技術の構成の説明たとえば、
UNIX(AT&T社のトレードマーク)では、ファイ
ル・ディレクトリはトリー(Tree)構造をしていて
、ファイルを指定するためには、例えば、次のようなパ
スを記述する。 /d1/d2/d3/d4/f1 ここで、d1、d2、d3、d4は、ディレクトリであ
り、f1はファイル名である。従来、この種のシステム
として、例えばMaurice J.Bach著  T
HE DESIGN OF THE UNIX OPE
RATING SYSTEM、Chapter 4:I
NTERNAL REPRESENTATION OF
 FILES、pp.60−90に示されたようなもの
があった。通常ディスクパーティションにファイル・シ
ステムが構成され、そのレイアウトは図6に示されてい
るように、boot  block、super  b
lock、inode  block、datablo
ckから成っている。boot  block、sup
er  blockはこの発明には深く関係しないので
ここでは、説明を省略する。inode  block
は図7に示すようなinodeのテーブルから成ってい
る。各行の内容は前掲の文献において周知のことなので
、詳説はしないが、特に大事なことは、inodeはそ
の最下行に示すように、そのinodeに対応するファ
イルの記憶されているディスクアドレスを記憶している
点である。このディスクアドレスはファイルのアクセス
情報として記憶されているものであり、このアドレスを
用いてディスクファイルはアクセスされることになる。 別な言葉で言えば、このinodeからディスクアドレ
スを得なければ、ファイルをアクセスできないことにな
る。また、inodeは、そのinodeを特定するた
め各inodeに個有のinode番号を有している。
【0003】data  blockには、ファイル群
が格納されることになるが全てのファイル(ディレクト
リ・ファイルを含む)は、前述したように、inode
  blockの中にあるユニークなinodeを有し
、inodeにはファイルを構成するdata  bl
ockのアドレスを保持するテーブルがある。
【0004】ここで、ディレクトリについて説明する。 ディレクトリはファイルの一種であり、やはりinod
e  blockにユニークなinodeを有するが、
data  block中には図8のように、そのディ
レクトリに含まれるファイル(ディレクトリ・ファイル
も含む)とそれに対応するinode番号の対が記憶さ
れている。また、図示しないが、ルートディレクトリも
inode  blockに特別のinode番号をも
つinodeをもっている。このように、ディレクトリ
中にディレクトリを含むことにより階層構造が形成され
るが、これはユーザの指定によるものであり、図2に示
したようにユーザの指定する通りの階層構造がinod
e  blockとdata  blockによりその
まま実現されている。
【0005】(2)従来技術の作用、動作の説明次に動
作について説明する。ディレクトリもひとつのファイル
であるので、例えば、図2においてf3をアクセスする
場合には、特別のinode番号を持つルートでd1を
サーチし、同様にd1でd2を、d2でd3を、d3で
d4を、d4でf3をサーチしなければならなかった。 そのとき、各ディレクトリにおいて、次のディレクトリ
・ファイルのinode番号を読むため、そして、得ら
れたinode番号からファイルのアドレスを得てその
ファイルを読むために毎回ディレクトリ・ファイルのI
/O(リード)を行っていた。
【0006】また、ファイル・システムを使用する時、
毎回ディスクをアクセスするのを避けるため、主記憶上
にdisk  inodeのコピーをもち、inode
アクセスの高速化を図る手法もある。この主記憶上のi
node(のコピー)をin−core  inode
と呼ぶ。但し、主記憶上のin−core  inod
eは、disk  inodeの全く同じコピーではな
く、様々な制御情報が付加され、一種のキャッシュとな
っている。そのin−core  inodeがキャッ
シュのような働きをすることによって、I/Oの数が少
なくなったとしても、多くのプログラムがファイルをた
くさんオープンすると、使用中のin−core  i
nodeが増え、inodetableの中でフリーの
ものが少なくなり、キャッシュの効果が低下し、I/O
が増えてしまう。
【0007】
【発明が解決しようとする課題】(1)従来技術の課題
の説明 従来のファイル・システムでは、以上のように構成され
ているので、大規模なファイル・システムであると、デ
ィレクトリ及びファイルの数が多くなり、長いパスもあ
れば短いパスもできる。大規模なファイル・システムで
あればある程、一般にパスの深さは深くなり、いちいち
中間ディレクトリを調べてはその下にあるディレクトリ
/ファイルを捜すという動作が必要であり、ファイルの
データ部とinodeをアクセスするためにI/Oを必
要とし、時間がかかるという問題点があった。
【0008】(2)発明の目的の説明 この発明は上記のような問題点を解消するために成され
たもので、大規模なファイル・システムを実際にインプ
リメントする場合にファイルのアクセスを高速化するこ
とを目的とする。
【0009】
【課題を解決するための手段】この発明に係るファイル
・アクセス装置及びファイル・アクセス方法は、階層構
造を構成するファイル群のファイルをアクセスする場合
、階層構造の各パスをひとつの検索キーとし、この検索
キーに対応するデータとして各パスのリーフにあるファ
イル(あるいはディレクトリ)のアドレス等のアクセス
情報を記憶するとともに、アクセス要求により入力され
たファイル(あるいはディレクトリ)までのパスを検索
キーとしてアドレス等のアクセス情報を得てファイルの
アクセスを行えるようにしたものである。
【0010】
【作用】この発明においては、ファイル(ディレクトリ
)に到達するまでのパスをひとつの文字列としてとらえ
これを検索キーとするので、従来のように各ディレクト
リで次のディレクトリを検索するようなことがなくなり
、ファイルのアクセス情報がすばやく得られる。
【0011】
【実施例】これから説明するこの発明に係るファイルの
アクセス方式は、ユーザが指定するファイル・システム
の構造と、実際にインプリメントする構造を分離し、実
際にインプリメントする際には、データベース等で使わ
れているBT(平衝木、Balanced  Tree
、以下BTという)を利用することにより、ファイルの
アクセスを高速化するのもである。BTは例えば、Al
fred V. Aho、John E.Hopcro
ft、Jeffrey D. Ullman著 THE
 DESIGN AND ANALYSIS OF C
OMPUTER ALGORITHMS、 Chapt
er 4: Data Structures for
 Set Manipulation Problem
s、pp.108−162に記載されており、よく知ら
れた技術である。この発明におけるファイル・アクセス
方式では、ファイル・システムを実際にインプリメント
する際に、システムにより自動的にBTが構築されるの
で、ファイル名よりinodeを得る過程を高速化する
ことにより、ファイルのアクセスを高速化する。
【0012】実施例1.(1)実施例の構成の詳細な説
明 以下、この発明の一実施例を図によって説明する。図1
において、”/”はルート、”d*”はディレクトリ、
”f*”はファイルである。また図3は、図2に示した
ような階層構造を成すファイル・システムの構成要素で
ある。図1は、図3の構成要素をBTの1つである2−
3Treeでインプリメントしたものである。
【0013】(2)実施例の作用、動作の詳細な説明次
に、動作について説明する。ファイル・システムに存在
する全てのディレクトリ(サブ・ディレクトリ)とファ
イルをフル・パスネームで考え、それぞれを名前の文字
列と見做す。図1は、図2に表われるファイル構造を、
実際にインプリメントする際にBT(ここでは、2−3
Tree)構造でインプリメントしたものである。 この場合、各リーフに格納されている構成要素は、キー
をファイルのフル・パスネーム(文字列)、データをそ
れに対応するinode番号とした対であり、キーの辞
書式オーダで格納されている。そこで、例えばf3をア
クセスしたいときには、2−3Treeのルートから、
図4に太線で示したようなパスを通り2つのノードを通
過しただけで、/d1/d2/d3/d4/f3を持つ
目的のリーフに到達できる。なお、サーチは、BTにお
けるキーの比較を使った方法に依る。到達したリーフに
は、”/d1/d2/d3/d4/f3”をキー、デー
タをそのinode番号6とした対が格納されている。 そこで、このinode番号6を使えばinode  
blockからF3のinodeを得ることができ、そ
こからディスクアドレスを得ることができるのでf3を
アクセスすることができる。従来の方法では、各々のデ
ィレクトリに対してI/Oを行わねばならなかったが、
BTを構築する場合には1つのデータ構造となり、あた
かも、ひとつのデータベースのようになる。したがって
、データの数が多くなれば複数のデータブロックから成
るファイルとなる。しかし、ファイルのアクセスは頻繁
であり、OSのバッファリングの機構により、データは
多くの場合主記憶上にあることが期待できI/Oは非常
に少ないと予想される。従って、この方法を使うことに
より大幅にディスクI/Oを削減することができ、ファ
イルのアクセスを高速化するものである。
【0014】また、UNIXのコマンドの中にはファイ
ルに関して以下のようなものがあるが、それぞれこの発
明においてもサポートされる。 mkdir、rmdir、ls、pwd、cd例えばm
kdirはディレクトリの追加コマンドであり、関係す
るディレクトリのフル・パスネームをキーとして持つリ
ーフの挿入を行えばよい。図5は、図2に示したファイ
ル・システムのd3の下に mkdir  d5 によりd5を作った時の2−3Treeである。これは
、元の2−3Treeに/d1/d2/d3/d5とい
うリーフを挿入したものである。同様に、rmdir 
 d5 の時はディレクトリの削除コマンドであり、/d1/d
2/d3/d5を削除すればよい。pwdは、現在のデ
ィレクトリを示し、現在のディレクトリをフル・パスネ
ーム(文字列)として記憶おく。cdについては、ディ
レクトリの変更であるが、以下のようにサポートされる
。まず、”cd/〜”の場合は、ルートからのフル・パ
スネームをそのまま記憶すればよい。”cd  d*”
の場合は、現在のディレクトリのフル・パスネームに対
して、cdのアーギュメント”d*”を結合してフル・
パスネームとし、それを改めて記憶する。”cd.”の
場合は、なにも変化しない。”cd..”の場合は、”
〜/〜”の最後の”/〜”を消去してフル・パスネーム
とし、それを改めて記憶する。たとえば、cd/d1/
d2 が入力された場合は、この/d1/d2を記憶し、この
文字列を検索キーとして図1に示したBTをサーチして
d2に対応するinode番号3を得て、d2をディス
クから読みこめばよい。また、/d1/d2にて作業中
に cd  d3 が入力された場合は、記憶しておいた/d1/d2にd
3を加え/d1/d2/d3を作成して新たに記憶して
、これを検索キーとしてサーチし、inode番号4を
得ることができる。さらに、/d1/d2/d3にて作
業中に、 cd.. が入力された場合は/d1/d2/d3から/d3を消
去して/d1/d2を新たに記憶するとともに、これを
検索キーとしてinode番号3を得ればよい。
【0015】ここでは、BTとして最も簡単な2−3T
reeを用いて説明したが、一般的なB−Treeを用
いれば、トリーの高さが低くなり、たどるノードの数が
少なくなるため、ファイルのアクセスは更にに高速化で
きる。一般に、BTではnコの要素に対して、キーを使
ってその要素の1つをアクセスする場合にはO(log
(n))の手間が掛り(OはOrderを意味し、回数
を示す)、また要素の挿入および削除もO(log(n
))の手間がかかることが知られている。BTを使用し
ない従来の構造であるとその階層構造はユーザの指定に
よるものであり、手間はその構造によるが、最悪の場合
にはO(n)となる。従って、BTを使うことによって
ファイルのアクセスが高速化される。また、BTを構成
する方法として、ディスク上の新しいデータ構造を使っ
て構成しても良いし、新しく構成しなくとも従来のファ
イルを使ってインプリメントしても良い。
【0016】以上、上記実施例においては、階層構造を
成すファイル・システムにおいて、ユーザから見える構
造と実際にインプリメントする構造を分離し、実際にイ
ンプリメントする場合には、平衝木(O(logN)回
の操作でリーフまで辿り着くことができるBalanc
ed  Treeのこと)を利用し、大規模なファイル
のアクセスを高速化したことを特徴とするファイルのア
クセス方式を説明した。
【0017】(3)他の実施例の説明 実施例2.上記実施例では、オペレーティング・システ
ム(OS)がUNIXの場合のファイル・システムの場
合について説明したが、UNIXに限らず、階層構造を
成すファイル・システムを持つOS一般においても適用
できる。また、ファイル・システムに限らず、ユーザが
指定する階層構造を成すデータを効率良くアクセスする
ような場合にも適用できる。
【0018】実施例3.上記実施例では、BTの場合を
説明したが、パスをひとつの文字列の検索キーとしてと
らえる方法であればよい。たとえば、パスをキーとした
ハッシング手法を用いた検索手法の場合でもよい。
【0019】実施例4.また、上記実施例では、ino
de番号を検索する場合を示したが、inode番号は
ファイルをアクセスするためのアドレスを保持している
inodeを特定するものであり、この点で、検索され
るものはinode番号である必要はなく、ファイル番
号、ファイルアドレス、ファイル識別子、その他のファ
イルのアクセス情報であればよい。
【0020】
【発明の効果】以上のように、この発明によれば階層構
造を成すファイル・システムにおいて、ユーザから見え
るファイル・システムの構造と、実際にインプリメント
する構造を分離し、実際にインプリメントする際には、
パスをキーとするアクセス情報のデータ構造を用いるよ
うに構成したので、大規模なファイル・システムにおい
てファイルのアクセスを高速化できる効果がある。
【図面の簡単な説明】
【図1】この発明の一実施例によるファイル・アクセス
方式を実現したHeight−Balanced  T
ree(BT)を示した図。
【図2】階層構造を成すファイル・システムにおいて、
ユーザから見える構造を示した図。
【図3】図2を構成している要素のテーブル図。
【図4】あるリーフに到達するまでのパスを示す図。
【図5】新しく構成要素が増えた時の2−3Treeの
図。
【図6】ファイル・システムのレイアウト図。
【図7】inodeの一例を示す図。
【図8】ディレクトリの一例を示す図。
【符号の説明】
/  ルート d1〜d5  ディレクトリ f1〜f5  ファイル

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】  以下の要素を有するファイル・アクセ
    ス装置 (a)階層構造を成すファイル群、(b)各ファイルま
    での階層構造のパスをキーとして記憶し、また、対応す
    るファイルのアクセス情報を記憶する記憶手段、(c)
    ファイルをアクセスするアクセス要求により入力された
    所望のファイルまでのパスを上記記憶手段で記憶された
    キーと比較することにより、アクセスするファイルのア
    クセス情報を得る検索手段。
  2. 【請求項2】  以下の工程を有し、階層構造をとるフ
    ァイル群をアクセスするファイル・アクセス方法(a)
    階層構造の各リーフまでのパスとリーフにあるファイル
    のアクセス情報を記憶する記憶工程、(b)ファイルの
    アクセス要求により入力された所望のファイルまでのパ
    スを記憶工程により記憶されたパスと比較してファイル
    のアクセス情報を得る検索工程。
JP3001997A 1991-01-11 1991-01-11 ファイル・アクセス装置及びファイル・アクセス方法 Pending JPH04260945A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3001997A JPH04260945A (ja) 1991-01-11 1991-01-11 ファイル・アクセス装置及びファイル・アクセス方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3001997A JPH04260945A (ja) 1991-01-11 1991-01-11 ファイル・アクセス装置及びファイル・アクセス方法

Publications (1)

Publication Number Publication Date
JPH04260945A true JPH04260945A (ja) 1992-09-16

Family

ID=11517090

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3001997A Pending JPH04260945A (ja) 1991-01-11 1991-01-11 ファイル・アクセス装置及びファイル・アクセス方法

Country Status (1)

Country Link
JP (1) JPH04260945A (ja)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06119213A (ja) * 1992-10-05 1994-04-28 Toshiba Corp バックアップファイル管理方式
JPH0744579A (ja) * 1993-05-25 1995-02-14 Ricoh Co Ltd 論理構造文書検索方式
JPH07105064A (ja) * 1993-10-08 1995-04-21 Fujitsu Ltd ファイル名検出方式
JPH1074154A (ja) * 1996-08-30 1998-03-17 Digital Vision Lab:Kk ファイル管理装置
US5832527A (en) * 1993-09-08 1998-11-03 Fujitsu Limited File management system incorporating soft link data to access stored objects
JP2000132439A (ja) * 1998-08-17 2000-05-12 Tornado Technol Co Ltd パーソナルコンピュータのハードディスクに記憶されたファイルを検索する検索システム
JP2004005714A (ja) * 1993-05-25 2004-01-08 Ricoh Co Ltd 論理構造文書検索方式
US7414746B2 (en) 2000-05-23 2008-08-19 Fujifilm Corporation Image data communication method
WO2021124634A1 (ja) * 2019-12-16 2021-06-24 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置およびファイルアクセス方法
US11836367B2 (en) 2019-12-16 2023-12-05 Sony Interactive Entertainment Inc. Information processing device and file access method

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5995648A (ja) * 1982-11-25 1984-06-01 Mitsubishi Electric Corp フアイル探索方式

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5995648A (ja) * 1982-11-25 1984-06-01 Mitsubishi Electric Corp フアイル探索方式

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06119213A (ja) * 1992-10-05 1994-04-28 Toshiba Corp バックアップファイル管理方式
JPH0744579A (ja) * 1993-05-25 1995-02-14 Ricoh Co Ltd 論理構造文書検索方式
JP2004005714A (ja) * 1993-05-25 2004-01-08 Ricoh Co Ltd 論理構造文書検索方式
US5832527A (en) * 1993-09-08 1998-11-03 Fujitsu Limited File management system incorporating soft link data to access stored objects
JPH07105064A (ja) * 1993-10-08 1995-04-21 Fujitsu Ltd ファイル名検出方式
JPH1074154A (ja) * 1996-08-30 1998-03-17 Digital Vision Lab:Kk ファイル管理装置
JP2000132439A (ja) * 1998-08-17 2000-05-12 Tornado Technol Co Ltd パーソナルコンピュータのハードディスクに記憶されたファイルを検索する検索システム
US7414746B2 (en) 2000-05-23 2008-08-19 Fujifilm Corporation Image data communication method
WO2021124634A1 (ja) * 2019-12-16 2021-06-24 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置およびファイルアクセス方法
US11836367B2 (en) 2019-12-16 2023-12-05 Sony Interactive Entertainment Inc. Information processing device and file access method
US11983177B2 (en) 2019-12-16 2024-05-14 Sony Interactive Entertainment Inc. Information processing device and file access method

Similar Documents

Publication Publication Date Title
JP2708331B2 (ja) ファイル装置およびデータファイルアクセス方法
US5218696A (en) Method for dynamically expanding and rapidly accessing file directories
US20160283501A1 (en) Posix-compatible file system, method of creating a file list and storage device
US20050216502A1 (en) Method of providing shared objects and node-specific objects in a cluster file system
JP2005302038A (ja) Bツリー中の連続キーの名前を変更する方法およびシステム
CN108804510A (zh) 键值文件系统
JPH0784858A (ja) 文書管理方法
JP2002501256A (ja) データベース装置
US20080281788A1 (en) Hierarchical structured abstract file system
JPH04229372A (ja) メモリ空間再使用管理方法及びシステム
JP4167359B2 (ja) データ管理システム及びデータ管理方法
JPH04260945A (ja) ファイル・アクセス装置及びファイル・アクセス方法
JPH0358249A (ja) フアイルのアクセス方法
CN109871233A (zh) 一种云编程文件管理方法及装置、设备、存储介质
JP2001229060A (ja) ディレクトリ検索システム及び方法、ディレクトリ検索プログラムを記録したコンピュータ読取可能な記録媒体
JPH08235040A (ja) データファイル管理システム
JP2675958B2 (ja) 情報検索用計算機システム及びその記憶装置の動作方法
JPH11282882A (ja) 文書管理方法
JP3493354B2 (ja) 文書検索方法
JP4825504B2 (ja) データ登録・検索システムおよびデータ登録・検索方法
KR100493399B1 (ko) 정보검색 관리시스템 및 그 방법
JP4379572B2 (ja) 仮想ファイル管理方式
Henry Hierarchical structure for data management
CN117076413B (zh) 一种支持多协议互通的对象多版本存储系统
AU2019101292A4 (en) A query computing method and system based on MapReduce