Nothing Special   »   [go: up one dir, main page]

JPS63116232A - Method of memorizing and retrieving data using computer - Google Patents

Method of memorizing and retrieving data using computer

Info

Publication number
JPS63116232A
JPS63116232A JP62275574A JP27557487A JPS63116232A JP S63116232 A JPS63116232 A JP S63116232A JP 62275574 A JP62275574 A JP 62275574A JP 27557487 A JP27557487 A JP 27557487A JP S63116232 A JPS63116232 A JP S63116232A
Authority
JP
Japan
Prior art keywords
file
directory
information
node
files
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
JP62275574A
Other languages
Japanese (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.)
Apple Inc
Original Assignee
Apple Computer Inc
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 Apple Computer Inc filed Critical Apple Computer Inc
Publication of JPS63116232A publication Critical patent/JPS63116232A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9017Indexing; Data structures therefor; Storage structures using directory or table look-up
    • G06F16/902Indexing; Data structures therefor; Storage structures using directory or table look-up using more than one table in sequence, i.e. systems with three or more layers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
(57) [Abstract] This bulletin contains application data before electronic filing, so abstract data is not recorded.

Description

【発明の詳細な説明】[Detailed description of the invention]

〔利用分野〕 本発明はコンピュータを使ってデータを記憶し且つ検索
する方法に関するものであυ、さらに特に詳述すれば階
層型ファイルシステムに関するものである。 〔発明の背景〕 コンピュータシステムにおいては、情報は典型的には、
磁気テープやディスクや半導体デバイスなどの様なな記
憶装置に信号と1〜て記憶される。 記憶デバイス技術の進歩に伴って記憶容量が増加したの
で、以前よりもより多量な情報をデバイスで記憶できる
ようになってきた。 情報はデバイスに記憶される時、その情報は目録化され
、これによって後で希望する時にその同じ情報を検索で
きる。通常各データ本体に独自のコード名が与えられて
他のデータ本体と区別される。あるデータ本体を検索す
るにはそのデータにつけられたコード名が使われるが、
つまりデバイスはコード名を捜しそれが見つかるとその
希望されたデータを検索するのである。 先行技術で周知の様に、独立した各データ本体はtファ
イル“と呼ばれ、デバイス上にこれらのファイルを目録
化することを1フアイルする′と言う。典型的には各デ
ータ本体につけられたコード名はポインターを有してお
り、このポインターがデータ本体が記憶されている記憶
領域を示す。 たくさんのコード名とそのポインターが目録(カタログ
)システムを構成する。大容量記憶デバイスが使用され
る際には、そういったデバイスは、何100万ビット 
もの情報を記憶できるが、このことによって何100、
何1000、さらに何100万ものファイルさえ作成す
ることができる。特定のファイルを捜し出すためにこれ
らのファイルを順番に捜すのは時間の浪費である。 必要なのは、記憶された欲しいファイルを速く捜し出し
検索できる大写全記憶装置のファイルシステムである。 さらにパーソナルコンピュータ(PC)や小型事務用コ
ンピュータの出現に伴いそれらの物理的サイズの関係か
ら、ファイリングシステムはプログラム中のほんの1行
で実行されしかも十分効果的であることが望ましい。 〔発明の概要〕 本発明は階層型ファイルシステムを与える方法に関する
。階層型ファイルシステムはメモリデバイス内の様なな
位置に記憶されているデータの目録を有する。典型的に
は、1つの目録構成は1つのメモリボリュームを構成す
る。 階層型ファイルシステムの目録構成は逆樹木構造であり
、根ディレクトリとして働く開始デイレクトリtVして
いる。その他のディレクトリ及びファイルはその子セグ
メントである。多数の子レベルの分岐が下に広がって目
録の階層構成を形成する。目録構成は現在のデータの記
憶されている位置の情報を有している。 本ファイル目録システムはB樹木構成を形成する。目録
情報はB樹木のリーフノードに記憶されている。B@木
の非リーフノード(索引ノード)は、関連ファイルのコ
ード名すなわちキーを使って特定の目録情報を探索でき
る情報を有する。キーは目録システム内で様ななファイ
ルを表示し且つ目録化に使用されるばかりでなく、B樹
木のり−フノード内の目録を組、熾化するためにも使わ
れる。キーは一連のアクセスにおいて上位に位置する。 さらに、B樹木は左方向回転方式で成長し、この左方向
への成長は新しいファイルの目録情報を右側から挿入す
ることによっておこなわれ、これによって樹木の平衡を
保っている。 ファイルのデータが記憶されると、付加、削除、及び修
正は典型的には結果的にメモリデバイス内の隣接しない
データ記憶域((記憶される。ファイルの各隣接セグメ
ントはファイルエクステントとして周知の通りである。 特定のファイル内のエクステントの物理的位置のレコー
ドは1つないしはそれ以上のエクステントレコード内に
記憶される。 階層型ファイルシステムは1つのファイルエクステント
リストを使用してメモリデバイス内の様ななファイルの
エクステントレコードを記憶する。 本発明ではファイルの第1エクステントレコードは目録
構成の中で記憶するが、それより多くのエクステントレ
コードは分割ファイルエクステントリストに記憶される
。このファイルエクステントリストもまた第2B@木構
成の中に配置される。 〔発明の実施例〕 本発明は階層型ファイルシステムを利用して情報を記憶
、及び検索する方法に関する。以下の説明の中では、本
発明の全般的な理解のためK、たくさんの仕様上の詳細
な説明が前もって為される。 しかし本発明の技術の熟練者には、それらの仕様上の詳
細がなくても本発明が実施できることが明らかになるだ
ろう。また一方では、本発明を不必要に不明シようにし
ないために、周知の方法については詳細説明をしない。 第1図には、ディレクトリ11とファイル12〜15を
有する先行技術の均一ファイルシステム10を示す。理
解を容易にするため、ディレクトIJ Hフォールダー
の絵で示し、ファイルは1つの折υ曲がったコーナーを
有する1枚の紙の絵で示す。この絵表示は、紙をフォー
ルダーに入れる行為がファイルをディレクトリに登録す
る行為に符合するので適当である。先行技術のシステム
10においては、単一ディレクトリ11が存在し、この
ディレクトリがファイル12〜15の位置情報を有1.
ている。12ないし15の各ファイルは記憶された情報
の仕様内容のデータを有している。 先行技術の一例であるシステム10においては、ファイ
ル15をアクセスするために、ファイル15のファイル
アドレスが見つかるまでディレクトリ11を介1.て逐
次探索が行われるが、この様な順次探索は、ディレクト
リ11内に多数のファイルが登録されている際には膨大
な時間を資す結果になってしまう。仮の例であるシステ
ム10においてはディレクトリ11は12ないし15の
4つのファイルのポインタアドレスを記憶するが、逐次
法によってディレクトリ11はそのあとのファイルのア
ドレスも記憶し続けるだろう。 第2図は本発明の階層型ファイルシステム(HFS) 
の構成を示しているこの例の階層型ファイルシステム1
6は根ディレクトリ17とファイル21〜24を有して
いる。階層型ファイルシステム16はまたディレクトリ
18〜2oを有している。各ディレクトリはファイルを
イ丁することができ、またディレクトリ18がディレク
トリ20を有している様)て他のディレクトリを有する
こともできる。各ディレクトリが自ら分岐ノードであり
、副分岐ノードをOないし7多数有する。各ディレクト
リが分岐の発生を許可する情報を有している。 使用できるデータはファイル21〜24に記憶されてい
る。各ファイルは末端ノードなので、それ以上の分岐情
報を記憶している必袂tよない。そのかわり各ファイル
は使用できるデータを記憶している。つ−!、ムディレ
ク) IJ 17〜20は分岐情報を記憶しており、フ
ァイル21〜24はデータを記憶している。 階層型ファイルシステム16は階層構成の中でファイル
21〜24をアクセスするのでファイルの逐次探索は必
要ない。第2図の実施例においてファイル23に記憶さ
れたデータのアクセスが要求されたと仮定する。ディレ
クトリ17の探索によればファイル23のアドレスを捜
すのに2つの経路が可能である。ディレクトリ17から
の1つの経路はディレクトリ18に至υ、もう1つの経
路はディレクトリ19に至る。望1れている経路はディ
レクトリ18に至る方でちり、18において再び2つの
経路に分かれる。ディレクトリ18からはファイル23
に至る望まれている経路が出ている。この実施例は図示
したファイルの数が少なくて逸民に単純化されているが
、たとえ多数のファイルが配置されてもファイル探索時
間が節約されることは認められるところである。 さらに−例としてファイル22のデータが望まれたとす
ると、ディレクトリ18から経路はディレクトリ20に
至るがここでディレクトリ20からの経路は2本ある。 その時ディレクトリ20からファイル22に至る好まし
い経路が選ばわ、る。 HF516は第2図では特別の構成になっているが、根
ディレクトリ17の低位にはいくらでも分岐レベルを■
することができるし5同様にして特定のディレクトリか
らもいくつでも分岐することができる。しかし、すべて
のデータはHFS 16の末端ノードに位置する表示フ
ァイル21〜24に記憶されることを考慮し、々〈ては
ならない。 実際には、本実施例の目録(カタログ)構造は階層型フ
ァイルシステム16構成の目録化された位置情報を有し
ている。ファイル21〜24用の目録項目は位置表示を
行うポインタをMしており、このポインタが実際にデー
タが記憶されている記憶領域内の場所を見つける。 (B樹木に関する説明) 本発明の階層型ファイルシステムCI(FS)は本実施
例の2つのB樹木構造、すなわち目録B樹木とファイル
エクステントB樹木を使用して動作する。B樹木構造に
ついては先行技術において周知の通りであり、またドナ
ルドE、クヌス氏によって1973年に1コンピユ一タ
プログラム技術誌:ボリューム3(分類と探索)゛の6
.4項(471ページ〜479ページ)に掲載された論
文1マルチウエイツリ″に説明されている。B樹木のノ
ードはレコードを有しているが、各レコードは任意の情
報、ポインタ又はデータ、そしてレコードと協働するキ
ーを有している。 第3図にB樹木の一例を示す。B樹木31の基本的な与
徴はデータがリーフノード35〜3B内にのみ記憶され
ていることである。索引ノードとしても知られている内
部ノード32〜34は他のイードを示すポインタを有し
ており、これらのノードはリーフノード35〜38内に
記憶されたデータレコードをアクセスするための索引と
なっている。各レコード39はキー40と情報セグメン
ト41を有する。各ノード内でレコードは記憶されるの
でキーは上位である。−例である第3図のB樹木31は
仮のキーを有しており、これらは樹木の構成、及び索引
ノード32〜34とリーフノード35〜38の間の関係
を示すために挿入されたのである。リーフノード35は
キー要素48及び50を有している。任意のノードの第
1キーはまたその高位ノードのキーとしても示されでい
る。 従ってリーフノード35の第1キーであるキー48は甘
た、索引ノード33のキーとしても示されている。リー
フノード36の第1キーであるキー53は索引ノード3
3の第2キーとして示される。またキー48は索引ノー
ド33の第1キーであるので索引32のキーとして再び
示される。このパターンけB樹木構成の各リーフノード
35〜38及び各間位索引ノード32〜34において繰
り返される。第3図にはたった3つのレベルと各ノード
につきたった2つのキーが示されているだけだが、各ノ
ードにつきいかなる数のキーも、また同様にいかなる数
のレベルも特定のB樹木構成として選択され得る。第3
図に表示されたB樹木構成31は図示を目的とする仮の
一例にすぎない。 あるデータレコードが選ばれると、望みのレコードのキ
ーが提示される。探索は索引ノードでもある根ノードで
開始される。探索は探索されるキーよりは小さくかつ最
大のキーを有するレコードが見つかるまで実行される。 第3図に示す一例においてキー59を有するデータが選
ばれたと仮定する。探索は根ノード32において開始さ
れるが、ここで探索されるキー自身よυ小さくて最大の
キーであるキー56が選択される。キー56のポインタ
は索引ノード34を選択し、このノードで探索は継続さ
れる。再び、キー5Gが探索されるキー自身より小さく
て最大のキーであるので(次のキー63は探索されるキ
ーより大きい)選択される。索引ノード34内のキー5
6のポインタはリーフノード3Tを選択する。リーフノ
ード37内では探索されるキー59を見極めるために別
の探索が実行される。探索されるキー59が見つかると
、関連情報(データ)が使用される。 任意の索引レコード内の特定のポインタはB樹木31の
ルベル低位の他のノードに至る。例えばノード32はノ
ード34へとつながっている。 このプロセスはリーフノードに至るまで継続され、リー
フノードでは望みのキーが見つかるまでそのレコードが
探索される。もし探索されるキーが存在しないと、すな
わち探索されるキーより大きいキーが見つかったりリー
フノード内のすべてのレコードが探索されてしまった時
は探索は終了する。 キーは数の順番かアルファベラ) +19かアルファベ
ットと数の混合の順番で示すことができる。 第4図は本発明のB樹木の任意のノードの構成を示す。 各ノード42はノード表示セグメント43、レコードセ
グメント44、及びレコード分岐セグメント46を有し
、フリースペースセグメント45を有することができる
。各ノード42はノード表示セグメントで始まる。ND
NREC85Bはノード内の現在のレコード番号を有す
る。NDTYPE54はノードのタイプがリーフノード
であるか索引ノードであるかを示す。NDHEIGHT
57は、り一フノードがレベル1、及びその上の索引ノ
ードがレベル2と頭次ノードの高さが選択される様な樹
木構造におけるノードの高さを示す。NDBLINK5
2及びNDFLINK 5tはB樹木のノードと共に使
用され、与えられたレベルの様ななノードのレコードを
介して迅速に伝送する通路として働く。 各ノードにおいて、NDBLINK52は前のメートへ
のポインタを有し、NDFLINK51は同しヘルの次
のノードへのポインタを有する。第3図において、ノー
ド36のNDBLINKはノード35を指しており、ま
たノード36のNDFLINKはノード37を指してい
る。従ってNDBLINK 52とNDFLINK51
  はB樹木をバックアップする第1逆転なしに隣接ノ
ードを見つける手段である。 レコードセグメント44はB、内水のレコードを有して
おり、各レコードはそのキー、及びポインタかデータを
有している。第4図に示す例では60及び61の2つの
レコードを有する。任意のノード内のレコードは様なな
長さを持ち得る。そのため各レコードを開始する分岐点
が必要となる。レコードセグメントはノード表示セグメ
ント43の後に直接続き始める。レコードは、基本的に
ノードの未使用スペースであるフリースペースセグメン
ト45の前に位置する。従ってフリースペースセグメン
トは何カ所か(て位置することはできない。 ノードの末端のレコード分岐セグメント46はレコード
60及び61の分岐情報を有する。分岐68はレコード
60の分岐情報を有し、分岐6Tはレコード61の分岐
情報を有する。分岐66はフリースペース62を決める
分岐情報を有する。この様にレコード分岐セグメント4
6がフリースペースセグメント45に至るまで一端から
フリースペースセグメント45へと高位へ構成される一
方、レコードセグメント44は反対側からフリースペー
スセグメント45へと低位へ構成される。 もしノード42が索引ノードであれば、レコード60及
び61は各々キーとポインタの情報ヲ有する。また、N
DFLINK51  及びNDBLINK52はポイン
タに接続して隣接する索引ノードを有する。もしノード
42がリーフノードであれば、レコード60及び61は
各々キーとデータの情報を有する。NDFLINK51
及びNDBLINK52もまたポインタにリンクするリ
ーフノードをゴする。 また、ノード42は特別なフォーマットであるが、フォ
ーマットが容易に修正されて他のタイプの情報を有する
場合もあり得る。また本実施例においてHFS カタロ
グB樹木のリーフノード内のデータ情報は、便用できる
データが記憶されているメモリ内の位#tを見つけるた
めに使用される。 第5図は、本実施例で実施されるB#木構成の拡大図で
ある。第4図のノード42に和尚するノード70は、索
引ノードまたはリーフノードになり得る2つの低位ノー
ドT1及び73に続くポインタを臂している。低位レベ
ルには71及び73の2つのノードしか表示されていな
いがこの低位レベルにはノードがいくつでも並ぶことが
できる。 またこの仮の実施例においては、ノード71及び73は
一部しか満たされていない。 B樹木のバランスを維持するためにレコードは階層構成
の中で均一に並べられ記憶きれる。レコードが均一に記
憶されないとバランスのとれない樹木では1本の分岐に
ばかり各ノードまたは多数のノードが重ねられることに
なる。本実施例では左循環と左側分割の技術を便用して
レコードを1つのノードから別のノードへと移動させバ
ランスのとれた樹木を維持している。レコードを他のノ
ードへ伝送する際には左循環動作を利用する。この場合
、ノードT3のレコードは左循環により矢印77で示す
様に左隣のノード71へ伝送される。 ノード73のレコードが循環させられてしかもノードγ
1がノード73からのレコードを処理できないような場
合に、他のノードが必要である時は、左側分割動作によ
ってノード71と13との間のノード73の左側にノー
ド72が挿入される。矢印78が示す様にノード72は
挿入された時に7−ド71とノード73を連係させる。 ノード72が挿入されると、ノードγ1と73の隣接し
た連係ポインタと同様に索引ノードTOとの適当なポイ
ンタ連係が確立するだろう。継続的にデータを左へと伝
送し右端に新しいデータを挿入することによってB樹木
のバランスが保たれる結果と々る。 本発明の階層型ファイルシステムでは右向きに構成され
た上位ノードを有するので、循環と分割が左向きに実行
されてもバランスを保つことができる。そして右側分割
と右循環の動作、すなわち右向きと左向きの両方を利用
するバランスのとれた挿入が行えることも認められる。 本実施例では効率のよいバランスのとれたB樹木を維持
することをねらいとしているが、バランスのとれていな
いB樹木を含んでいかなるB樹木構成も使用できる。 (目録樹木構成) 第6図は、本実施例における目録機能の実行を図示して
いる。構成90は1ボリユーム“と名付けられた根ディ
レクトリ91を有する。本実施例の各ディレクトリはデ
ィレクトリ識別名(DirID)  として知られる特
定の数字表示による識別名を割り当てられている。カタ
ログ90の根ディレクトリのDir  IDは2である
。根ディレクトリ91はディレクトリ92とファイル9
3及び94に分かれる3つの分岐を有する。ディレクト
リ92の名前は1フオールダー″であり、Djr ID
1d29である。またディレクトリ92はファイ/l/
95及び96に分かれる2つの分岐を有する。ファイル
93〜96の名前はこの実施例の中ではそれぞれ% A
 s 、 @ B″、SC″、及び10“である。ディ
レクトリ及びファイルの構成は第2図で前述した階層型
ファイルシステム(HFS)ill成にIt”る。 目録構成90の全体はデータレコードとして目録B樹木
として仰られる第3図及び第4図のB樹木の様ななリー
フノードに記憶される。目録構成部は樹木ではあるがそ
れ自体がB樹木ではない。構成90の形体は使用できる
状態でB樹木の様ななり一7ノードに記憶されている。 目録構成90は前述したB樹木とは混同できない。目録
90とB樹木構成は2つの分離した別個の構造である。 目録90の階層構成はB@木構成として実行され、その
構成はデータレコードとして第3図及び第4図と同様の
B樹木のリーフノード内に記憶されている。 階層型目録構成90は第6図のメモリマツプ9γに示す
記1αデバイスに記憶されている。目録マップ97は可
能な3つのタイプのレコードを有しており、それらがデ
ィレクトリレコード100.ファイルレコード101 
、及び経路レコード102である。100〜102の各
レコードは、前記のB樹木のリーフノードの説明で述べ
た様にキー103及び情報セグメント104を有する。 各レコードのキー103は番号105と名前106を有
する。 91及び92の様なディレクトリレコードのキー103
はディレクトリ名106と親ディレクトリのディレクト
リ識別名(Dlr  ID)番号105とを有している
。ディレクトリ91及び92の様な各ディレクトリレコ
ードの情報セグメント104はディレクトリ識別名番号
107を有している。ディレクトリ92はディレクトリ
識別名番号29と名前1フオールダー“とを有している
。構成90においてディレクトリ92はディレクトリ9
10子であるのでレコード92の親のディレクトリ識別
名番号に%2#が与えられた。ディレクトリレコード9
1はディレクトリ識別名番号2を有し、その名前は1ボ
リユーム“である。ディレクトリ91は根ディレクトリ
なので親のディレクトリ識別名番号に111が与えられ
たが、番号1はファイルシステム自体の土台を示す。 ファイルレコード93〜96のうちの任意のファイルレ
コードはまたキー113及び情報セグメント114をゴ
しており、さらにキー113は親のディレクトリ識別番
号とその名前とを有している。情報セグメント114内
には、使用可能なファイルデータが記憶されている位置
の情報が、各自のファイル番号と同様に記憶されている
。ファイルレコード93〜96の情報セグメント114
は、使用可能なデータの記憶位置情報を有しているので
ある。 1B″ という名前を有するファイルレコード94と%
A#という名前を有するファイルレコード93との両方
が親のディレクトリ識別番号に12″を有している。親
のディレクトリR別名番号が2であるファイルは、ファ
イルA及びBがディレクトリ識別名番号2を有する %
gリューム“というディレクトリ名の直接の子であるこ
とが重大である。%C#という名を有するファイル95
とID”という名を有するファイル96はディレクトリ
識別名番号が%29#である親を有しておシ、これはす
なわちディレクトリ識別番号29を有する1フオールダ
ー″という名のディレクトリ29の子がファイルC及び
Dであるという構成を与えている。従っていかなるファ
イルやレコードキー103のディレクトリを見ても、記
憶された情報から、あるレコードの名前とその親ノード
のディレクトリ識別名番号とは同値であることがわかる
。 異なる分岐同士の関連性を与えるために、経路ディレク
トリ102が各ディレクトリごとに供給されている。経
路レコードのキーはディレクトリ識別名番号と0名とを
有するが、これはすなわち名前を全く持た々いことに等
しい。第6図に示す例によれば、経路レコード108に
よってディレクトリ 隼フォールダー′とファイルC及
びDとは連絡している。経路レコード108のキー11
1はただ、ディレクトリ 1フオールダー“のディレク
トリ識別名番号のみを与えられる。経路レコード108
の情報セグメント112内で、フォールダーの親のディ
レクトリ識別名番号とディレクトリの名前1フイールダ
ー“が与えられる6Rのディレクトリ識別名番号29を
有するファイルCが直接の親でありディレクトリ識別名
番号29を有するディレクトリ92と連係しようとする
際に、経路レコード108は、ディレクトリ92の%2
# というディレクトリ識別名番号と共に親であるディ
レクトリ920名前(フォールダー)を使用する。 同様にして、経路レコード109は、3つの子レコード
92〜94を有する親ディレクトリ91のディレクトリ
識別名番号と共にディレクトリ91の名前(ボリューム
)を使用する。ディレクトリレコード91〜92とファ
イルレコード93〜96とを各ディレクトリごとに経路
レコード108〜109と共KNすることによって目録
構成90は階層型ファイルシステムと連絡しており、第
6図の構造97に示す様に、記憶されている使用可能な
データの記憶位置情報はディレクトリレコード91〜9
2内に記憶されている。 B樹木構成を使用して目録構成90のプログラムを実行
することにより、構f:90の階層構成の情報は前記し
たB樹木のリーフノード内に記憶される。たとえば、コ
ンピュータによってファイルCがアクセスされるとシス
テムはB樹木構成の探索を実行するだろう。第6図に示
すカタログ例90について説明すると、まずファイル名
Cが指定されるとこの探索のための探索経路が指定され
なければならない。その経路は、根レコードから前記フ
ァイルまでの経路上にあるすべてのディレクトリの名前
、すなわち1ボリユーム“、その後に続く 隼フォール
ダー“と最後の%C″、の連続のことばによって与えら
れる。探索は目録B樹木内の1ボリユーム“というディ
レクトリレコードを見つけることによって開始される。 名前が1ボリユーム“でかつ根であるので、その親のデ
ィレクトリ識別名番号は1である。目録B樹木の探索は
キーが1であるディレクトリレコード1ボリユーム“に
ついて行われるので、すなわちディレクトリレコード9
1が見つけられる。その情報セグメントがその際にこの
ディレクトリのディレクトリ識別名番号2を与える。探
索は次にB樹木の中でキーが2でありディレクトリレコ
ード92である1フオールダー“について行われ、情報
セグメントはこのディレクトリのディレクトリ識別名番
号29を与える。そして次に、B樹木の探索はキーが2
9であるデータレコードCを見つけるために行われる。 このことはすなわちファイルレコード95の探索であり
、その情報セグメントは望みのファイルが有しているデ
ータの物理的位置についての情報を有している。 なお前記実施例のファイルの探索実行の仕様は、根レコ
ードから望みのファイルまでの経路上のどのディレクト
リのディレクトリ識別名番号によっても開始することが
でき、またディレクトリから望みのファイルまでの経路
のバランスをとりつつディレクトリのディレクトリ識別
名番号とディレクトリの名前の連なりとを有している。 この仕様に続く探索機構は前記の説明内容のバリエーシ
ョンであることは明らかである。 加昇目録構成90は単純化された構成であシ、第6図は
単一の根ディレクトリ91を有する単一構成を図示して
いるが、目録構成は様なに拡張することができる。本実
施例ではディスクなどの1つのメモリデバイスあたシ1
つの階層構成の目録構成を使用している。しかし、1台
のディスクを分割して1つの階層構成の目録を各パート
に割り当てることができる。 第6図の構成97の目録レコードは、データレコードと
して、目録Bw木の第4図に表示したリーフノード42
の中に記憶されている。それらのレコードは、英数字番
号の順に目録B樹木構成の中に挿入され記憶される。そ
して、B樹木のり一フノードが左から右へ移動すると、
第6図の構成97に示す様にデータレコードが順番に現
れる。 レコードは、キーのディレクトリ識別名番号の部分によ
って先の番号が最初になるような順番で記憶されている
。キーの中で同じディレクトリ識別名番号を持つレコー
ド同士については、キーの名前部分の英数字の順番にな
る。 第6図で説明してきたその他の様ななレコードには、そ
の他の関連情報が記憶できるととも認められる。たとえ
ば本発明のディレクトリ及びファイルレコードは、最終
修正を行った日時と共にディレクトリ又はファイルを作
成した日時の信号を記憶している。またファイルレコー
ドはファイルのロック、ファイルの論理的及び物理的終
了を設定する要素、及びファイルの大きさなどに関する
信号を有している。 (ファイルエクステント樹木) すでに述べた様に、特定のファイルに関する目録g+B
樹木のファイルレコードはファイルのデータが記憶され
ているメモリデバイス内の位置についての情報を有して
いる。メモリデバイスは連番のついたブロックの集合と
してつくられる。隣接するメモリブロックの連なりをエ
クステントと呼ぶ。理想的にはファイルは隣接するメモ
リ配置スペースを有する単一エクステントに記憶される
のがよい。しかし各ファイルの大きさばかりでなく作成
後の現ファイルへの追加、削除、及び修正のために、フ
ァイルは通常メモリ内で1カ所より多い場所に配置され
る。前もって配置されている小さいファイルは別として
、特定のファイルの内容は通常1カ所より多く、かつボ
リューム上で隣接せず分離したエクステントに記憶され
る。各ファイルエクステントはエクステントデスクリプ
タによって確認できる。また特定のファイルの完全な位
置情報は連続したエクステントリストになっており、こ
のリストはファイルデータを有する様ななエクステント
のエクステントデスクリプタを有している。 本発明のファイルエクステントリストはまた、ファイル
エクステントB樹木構成として知られるB樹木を構成し
ており、ファイルを肩する様ななエクステントのボリュ
ーム位置及び大きさが記録されている。いろいろなメモ
リ配置システムのほとんどが本発明のファイルエクステ
ントレコードを使用できるが、メモリ配置システムの一
例を本実施例のファイルエクステントレコードを図示し
て説明する。 第7図は、メモリデバイスの一部であってハードディス
クなどが使用されるメモリボリューム120を示す。ボ
リューム120はたくさんの論理ブロック126に分割
されている。典型的には各論理ブロック126は所定の
固定したバイト数を有してお9、本実施例では512バ
イトとじている。ブロックOで始まりブロックnで終わ
る決まった数の論理ブロックはボリューム情報によって
予約されている。ブロックn+1 で始まるメモリデバ
イスの残シはデータメモリになることができ、この記憶
域は設置ユニットに分割されており、各設置ユニットは
1つかそれ以上の論理ブロックを1している。 ボリューム120は121〜12404つの領域を有す
る。システム起動領域121 は一定の隣合ったシステ
ムパラメータを育しており、これらのパラメータはディ
スクやその他のメモリデバイス操作においては周知のも
のである。ボリューム情報領域122は各設置ユニット
の数や大きさの様なボリュームのハウスキーピングパラ
メータに関する情報を有している。ボリュームビットマ
ツプ123はボリューム上の各設置ユニットのレコード
を記憶しておυ、ビットマツプは各設置ユニットが便用
中か使用していないかを示す。 ブロックn+1  から始めると、ファイル内容領域1
24はボリューム120の末端までである。 ファイル内容領域124は多数の設置ユニットに分かれ
ており、各設置ユニットは決まった数の論理ブロックを
有する。ビットマツプ123はボリュームスペースの管
理を行うがファイルのマツピングは行わない。ファイル
マツピング機能はファイルエクステントリストが有して
いる。 第8図は、ファイル内容領域124 の一部でファイル
Eという名のファイルに関する情報を有する部分を示す
。この例においては、ファイルEの全体の内容は7つの
エクステント125〜131に分割されている。ファイ
ルの第1部分は基本エクステント125に記憶されてお
り、よって次の部分は126〜131 と名付けられた
エクステント2〜Tに分配されている。ファイルEは1
25〜131の7つのエクステントを有しており、これ
らは物理的に隣接していない。ファイルエクステント情
報を保持するために、ファイルEの基本エクステント1
25とそれに続くエクステント126〜131の各々に
ついてエクステントデスクリプタ140が使用される。 エクステントデスクリプタ140は起動設置ユニット番
号141と設置ユニットの数142とを有する。ファイ
ルEのエクステントリスト135は7つのエクステント
デスクリプタ125a〜131&を有しており、このリ
ストがファイルEのエクステント125〜131 の各
自のアドレスと長さについての情報を提供する。たとえ
ば、4番目のエクステント128は起動設置アドレス1
89とたった2の設置ブロック長を有するので、デスク
リプタ128aの領域141 に値189を、領域14
2に値2を有している。 ボリューム内のすべてのファイルのエクステントデスク
リプタは本発明においては、第3図〜第5図に示す様な
り樹木のリーフノード内のデータレコード内に保持され
ている。この樹木はファイルエクステン)B樹木として
知られており、前記゛の目録B樹木とは異なるB樹木で
ある。このエクステントB樹木の各データレコードは、
1つのキーと第3図〜第5図の議論で前述した様な1つ
の情報セグメントを有している。ファイルエクステント
B樹木データレコードの情報セグメントは、特定のファ
イルのエクステントデスクリプタの連なりを有している
。レコード内のエクステントデスクリプタの最大数は実
行と実行の間に変更できるが、本実施例においては3に
設定する。ファイルエクステントB樹木し−−ドのキー
は2つの領域を有しており、それらは、特定のファイル
のファイル番号とそのレコード内第1エクステントデス
クリプタの起動ブロックのファイル相対位置を示す。こ
れらのエクステントレコードはエクステン)B樹木のり
−フノード内に記憶されるが、先行の命令によって、第
1のファイル番号領域と第2のファイル起動ブロック相
対位置とに区分される。この区分によって、B樹木内に
おける特定ファイルの相対位置においてデータの位置情
報を効果的に探索できる。 実際には、本実施例は基本とそれに続く2つの計3つの
エクステントデスクリプタt[しており、それが第6図
の94に示す様なファイルの目録B樹木レコードの情報
データセグメント114である。従って、第8図におい
てカタログ構造の情報セグメントと 128&〜131
a のエクステントは第9図に示すファイルエクステン
トB樹木内に記憶されている。かす目録構成のデータセ
グメント内に制限されたエクステント情報を記憶するこ
とができると、より速くデータをアクセスできる。 ファイルが4つかそれ以上のエクステントを有するだけ
だとファイルエクステントB樹木を調査する必要があろ
う。ファイルエクステントBlt木’を使用することな
くファイルの目録B樹木レコード内に記憶された多数の
エクステントは、自由に本発明の特許請求範囲を逸脱す
ることなく変えることができることは当然認められると
ころである。 また第9図は、目録ファイルレコード145 とファイ
ルエクステン)B樹木レコード143 及び144を示
す。本発明のB樹木構成のととるで述べた様に、143
及び144の各レコードはキー148及び149 とエ
クステントリスト146及び147をそれぞれ有する。 特定のファイルのデータの位置を見つけるために、まず
カタログB樹木のそのファイルデータを探索する。この
ファイルレコードの情報セグメントから、ファイル番号
がわかる。また、目録B樹木ファイルレコードの情報セ
グメント内の最初の3つのエクステントデスクリプタが
調査される。もし必要なファイルデータが対応するエク
ステント内に含まれていれば、その時位置情報がすぐに
役に立つ。しかしもし欲しいファイルデータが目録のフ
ァイルレコード内の3つのエクステント以外のエクステ
ントにある場合には、探索キーとしてのファイル番号と
欲しいデータの含まれるファイルの相対位置の計算結果
とを使用してファイルエクステン)B樹木で探索を行う
。この探索によって欲しい位置情報を有するファイルエ
クステン)B樹木レコードが得られるであろう。 ファイルEを便っ九本実施例は22ブロツクを有しファ
イル番号は便宜上20に等しい。ファイルεの目録ファ
イルレコード145が有するエクステントデスクリプタ
は最初の3つのエクステントの位置情報を有しており、
このエクステントは最初の9つ(3+5+1 )のファ
イルブロックをMする。ファイルの残りの13ブロツク
(2+3+1+7)の位置情報はファイルエクステント
B樹木内の2つのデータレコード143及び144が有
している。欲しいデータがファイルE内のファイルブロ
ック相対位tt13にあると仮定する。 ファイルの目録レコード内のエクステントデスクリプタ
が最初に探索される。相対ブロック13がファイルのか
千目録レコード内のエクステントデスクリプタに位置す
るブロックの番号より大きいので次にファイルエクステ
ントB樹木が探索される。B樹木内で相対ブロック位置
13を探索する際のキーは<20 、13>である。 キーの数字13がファイルEの第1ファイルエクステン
トB樹木レコード143のキー148の値「9」より大
きくかつ、第2レコード144のキー149の値「15
」よシ小さいので、探索は1見つか、6tせん1という
結果になるが第2B樹木レコード144での探索へ移る
。キー148を有する前のレコード143の検索によっ
て相対ブロック13を有するエクステントデスクリプタ
が得られる。キー148の数字9は、エクステントリス
ト146が10番目の相対ブロック
FIELD OF APPLICATION This invention relates to methods for storing and retrieving data using computers, and more particularly to hierarchical file systems. BACKGROUND OF THE INVENTION In computer systems, information is typically
Signals and signals are stored in storage devices such as magnetic tapes, disks, and semiconductor devices. Advances in storage device technology have increased storage capacity, allowing devices to store more information than ever before. When information is stored on a device, it is cataloged so that the same information can be retrieved at a later time when desired. Each data body is usually given a unique code name to distinguish it from other data bodies. To search for a certain body of data, the code name given to that data is used,
In other words, the device searches for the code name and, when it finds it, retrieves the desired data. As is well known in the art, each independent body of data is called a t-file, and the cataloging of these files on a device is called a file. A code name has a pointer that indicates the storage area where the data body is stored. A number of code names and their pointers form a catalog system. A mass storage device is used. In some cases, such devices can contain millions of bits.
You can memorize information about things, but this allows you to memorize hundreds of things.
Thousands or even millions of files can be created. Searching through these files in order to locate a particular file is a waste of time. What is needed is a complete storage file system that can quickly locate and retrieve desired stored files. Furthermore, with the advent of personal computers (PCs) and small office computers, due to their physical size, it is desirable that filing systems be implemented with just one line in a program and be fully effective. SUMMARY OF THE INVENTION The present invention relates to a method for providing a hierarchical file system. A hierarchical file system has an inventory of data stored in such locations within a memory device. Typically, one inventory configuration constitutes one memory volume. The inventory structure of the hierarchical file system is an inverted tree structure, with a starting directory tV serving as the root directory. Other directories and files are its child segments. A number of child-level branches extend down to form a hierarchical organization of the inventory. The inventory structure contains information on the location where current data is stored. This file cataloging system forms a B-tree structure. Inventory information is stored in leaf nodes of the B tree. Non-leaf nodes (index nodes) of the B@ tree contain information that allows searching for specific inventory information using the code name or key of the associated file. Keys are used not only to represent and catalog various files within the cataloging system, but also to organize and refine catalogs within B-tree nodes. A key ranks high in a sequence of accesses. Furthermore, the B tree grows in a left-handed rotation manner, and this left-handed growth is done by inserting new file inventory information from the right side, thereby maintaining the balance of the tree. When data for a file is stored, additions, deletions, and modifications typically result in non-contiguous data storage within the memory device. Each contiguous segment of a file is known as a file extent. A record of the physical location of extents within a particular file is stored in one or more extent records. Hierarchical file systems use a single file extent list to map various extents within a memory device. In the present invention, the first extent record of a file is stored in the catalog structure, but more extent records are stored in a split file extent list.This file extent list is also stored in a split file extent list. Embodiments of the Invention The present invention relates to a method for storing and retrieving information using a hierarchical file system. For the purpose of a general understanding, a number of specific details are set forth in advance; however, it will be apparent to one skilled in the art that the present invention may be practiced without such specific details. On the other hand, in order not to obscure the invention unnecessarily, well-known methods will not be described in detail. In FIG. A uniform file system 10 is shown for ease of understanding.For ease of understanding, a directory IJ H folder is shown pictographically, and a file is shown as a sheet of paper with one bent corner.This pictorial representation: This is appropriate because the act of putting a paper into a folder corresponds to the act of registering a file in a directory.In the prior art system 10, a single directory 11 exists, and this directory stores the location information of files 12-15. Yes1.
ing. Each of the files 12 to 15 contains data specifying the stored information. In system 10, which is an example of the prior art, in order to access file 15, 1. However, when a large number of files are registered in the directory 11, such a sequential search ends up taking an enormous amount of time. In the hypothetical example of system 10, directory 11 stores the pointer addresses of four files 12 through 15, but in a sequential manner directory 11 will continue to store the addresses of subsequent files. Figure 2 shows the hierarchical file system (HFS) of the present invention.
This example hierarchical file system showing the configuration of 1
6 has a root directory 17 and files 21-24. Hierarchical file system 16 also includes directories 18-2o. Each directory can contain files and can also have other directories (such as directory 18 having directory 20). Each directory is itself a branch node and has O to 7 sub-branch nodes. Each directory has information that allows branching to occur. Usable data is stored in files 21-24. Since each file is a terminal node, it is not necessary to store further branch information. Instead, each file stores usable data. Tsu-! , Mudireku) IJs 17 to 20 store branch information, and files 21 to 24 store data. Since the hierarchical file system 16 accesses the files 21 to 24 in a hierarchical structure, there is no need to sequentially search for files. Assume that in the embodiment of FIG. 2, access to data stored in file 23 is requested. According to the search in directory 17, there are two possible paths to find the address of file 23. One path from directory 17 leads to directory 18, and the other path leads to directory 19. The desired path ends on the way to directory 18, where it again splits into two paths. File 23 from directory 18
The desired route leading to is now available. Although this embodiment is overly simplified with a small number of files illustrated, it will be appreciated that file search time is saved even if a large number of files are arranged. Furthermore, for example, if data in file 22 is desired, a path from directory 18 leads to directory 20, but there are two paths from directory 20. A preferred path from directory 20 to file 22 is then selected. The HF516 has a special configuration in Figure 2, but you can create as many branch levels as you like below the root directory 17.
Similarly, you can branch as many times as you want from a specific directory. However, considering that all data is stored in the display files 21-24 located at the end nodes of the HFS 16, this should not be the case. In fact, the catalog structure of this embodiment includes cataloged location information of a hierarchical file system 16 configuration. The inventory entries for files 21-24 have a pointer M that indicates the location, and this pointer locates the location in the storage area where the data is actually stored. (Description regarding B-tree) The hierarchical file system CI (FS) of the present invention operates using two B-tree structures of this embodiment, namely, an inventory B-tree and a file extent B-tree. The B-tree structure is well known in the prior art, and was published in 1973 by Donald E. Knuss in 1 Computer Programming Technology Journal: Volume 3 (Classification and Search), Part 6.
.. 4 (pages 471 to 479).The nodes of the B tree have records, and each record can contain arbitrary information, pointers or data, and An example of a B-tree is shown in Fig. 3. The basic feature of the B-tree 31 is that data is stored only in leaf nodes 35 to 3B. Internal nodes 32-34, also known as index nodes, have pointers to other eids, and these nodes serve as indexes and for accessing data records stored within leaf nodes 35-38. Each record 39 has a key 40 and an information segment 41. Since the record is stored within each node, the key is superior. - The example B tree 31 in Figure 3 has a temporary key. These were inserted to show the structure of the tree and the relationship between index nodes 32 to 34 and leaf nodes 35 to 38. Leaf node 35 has key elements 48 and 50. The first key of any node is also shown as the key of its higher level node.Therefore, the first key of leaf node 35, key 48, is also shown as the key of index node 33. The key 53, which is the first key of the leaf node 36, is the index node 3
3 as the second key. Also, since key 48 is the first key of index node 33, it is again shown as the key of index 32. This pattern is repeated at each leaf node 35-38 and each interval index node 32-34 of the B-tree configuration. Although only three levels and only two keys per node are shown in Figure 3, any number of keys per node, and likewise any number of levels, may be selected for a particular B-tree configuration. obtain. Third
The B tree configuration 31 displayed in the figure is only a provisional example for illustrative purposes. Once a data record is selected, the key of the desired record is presented. The search begins at the root node, which is also the index node. The search is performed until a record with the largest key less than the searched key is found. Assume in the example shown in FIG. 3 that data with key 59 is selected. The search begins at the root node 32, where the key 56, which is the largest key υ smaller than the key being searched for, is selected. The pointer of key 56 selects index node 34 and the search continues at this node. Again, key 5G is selected because it is the largest key smaller than the searched key itself (the next key 63 is larger than the searched key). Key 5 in index node 34
Pointer 6 selects leaf node 3T. Another search is performed within the leaf node 37 to determine the key 59 to be searched. Once the searched key 59 is found, the associated information (data) is used. Certain pointers within any index record lead to other nodes lower in the B-tree 31. For example, node 32 is connected to node 34. This process continues up to the leaf nodes, where the records are searched until the desired key is found. If the searched key does not exist, that is, a key greater than the searched key is found, or all records in the leaf node have been searched, the search ends. The key can be indicated in numerical order, alpha-bella) +19, or a mixed alphabetic and numerical order. FIG. 4 shows the configuration of arbitrary nodes of the B-tree of the present invention. Each node 42 has a node display segment 43, a record segment 44, a record branch segment 46, and may have a free space segment 45. Each node 42 begins with a node representation segment. N.D.
NREC 85B contains the current record number within the node. NDTYPE54 indicates whether the node type is a leaf node or an index node. NDHEIGHT
57 indicates the height of a node in a tree structure in which the height of the primary node is selected such that the index node is level 1 and the index node above it is level 2. NDBLINK5
2 and NDFLINK 5t are used with the nodes of the B-tree and act as a conduit to quickly transmit through the records of such nodes at a given level. At each node, NDBLINK 52 has a pointer to the previous mate and NDFLINK 51 has a pointer to the next node of the same node. In FIG. 3, NDBLINK of node 36 points to node 35, and NDFLINK of node 36 points to node 37. Therefore, NDBLINK 52 and NDFLINK51
is a means of finding neighboring nodes without the first inversion backing up the B-tree. Record segment 44 has B, inland records, each record having its key and pointer or data. The example shown in FIG. 4 has two records, 60 and 61. Records within any node can have different lengths. Therefore, a branch point is required to start each record. The record segment begins to directly follow the node display segment 43. The record is located before the free space segment 45, which is basically the unused space of the node. Therefore, a free space segment cannot be located in several places. The record branch segment 46 at the end of a node has branch information for records 60 and 61. Branch 68 has branch information for record 60, and branch 6T has branch information for records 60 and 61. It has branch information of record 61. Branch 66 has branch information that determines free space 62. In this way, record branch segment 4
6 is constructed from one end up into the free space segment 45, while the record segment 44 is constructed down from the opposite side into the free space segment 45. If node 42 is an index node, records 60 and 61 each contain key and pointer information. Also, N
DFLINK51 and NDBLINK52 have adjacent index nodes connected to pointers. If node 42 is a leaf node, records 60 and 61 each contain key and data information. NDFLINK51
and NDBLINK 52 also finds the leaf node that links to the pointer. Also, although node 42 is in a special format, the format may be easily modified to contain other types of information. Also in this embodiment, the data information in the leaf nodes of the HFS Catalog B tree is used to find the position #t in memory where useful data is stored. FIG. 5 is an enlarged view of the B# tree configuration implemented in this embodiment. Node 70, which is connected to node 42 in FIG. 4, holds a pointer following two lower nodes T1 and 73, which can be index nodes or leaf nodes. Although only two nodes 71 and 73 are displayed at the lower level, any number of nodes can be lined up at this lower level. Also, in this hypothetical example, nodes 71 and 73 are only partially filled. In order to maintain the balance of the B-tree, records are uniformly arranged and stored in a hierarchical structure. If records are not stored uniformly, an unbalanced tree will have each node or many nodes superimposed on only one branch. This embodiment utilizes left circulation and left split techniques to move records from one node to another to maintain a balanced tree. A left circular operation is used when transmitting records to other nodes. In this case, the record of node T3 is transmitted to the adjacent node 71 on the left as indicated by arrow 77 by left circulation. The record of node 73 is circulated and node γ
When another node is needed, such as when node 1 cannot process the record from node 73, a left-split operation inserts node 72 to the left of node 73 between nodes 71 and 13. As indicated by arrow 78, node 72 links node 71 and node 73 when inserted. When node 72 is inserted, appropriate pointer association will be established with the index node TO, as well as with the adjacent association pointers of nodes γ1 and 73. By continuously transmitting data to the left and inserting new data at the right end, the balance of the B-tree is maintained. Since the hierarchical file system of the present invention has upper nodes arranged in a rightward direction, it is possible to maintain balance even when rotation and division are performed in a leftward direction. It is also recognized that it is possible to perform a right-side split and right-circulation operation, that is, a balanced insertion that utilizes both right and left directions. Although this embodiment aims to maintain an efficient balanced B-tree, any B-tree configuration can be used, including unbalanced B-trees. (Inventory Tree Structure) FIG. 6 illustrates the execution of the inventory function in this embodiment. Configuration 90 has a root directory 91 named ``Volume 1''. Each directory in this embodiment is assigned a specific numerical identification known as a directory identification name (DirID). Root directory 91 of catalog 90 The Dir ID of is 2. The root directory 91 has directory 92 and file 9.
It has three branches that are divided into 3 and 94 branches. The name of the directory 92 is ``1 Folder'', and the name is Djr ID.
It is 1d29. Also, the directory 92 is file/l/
It has two branches splitting into 95 and 96. The names of files 93-96 are respectively %A in this example.
s, @B'', SC'', and 10''. The directory and file structure is based on the hierarchical file system (HFS) structure described above in FIG. The entire inventory structure 90 is stored as data records in leaf nodes, such as the B-tree of FIGS. 3 and 4, referred to as the inventory B-tree. Although the inventory component is a tree, it is not itself a B-tree. The features of configuration 90 are stored in a ready-to-use state at seven nodes in a B-tree. Inventory configuration 90 cannot be confused with the B tree described above. Inventory 90 and the B tree structure are two separate and distinct structures. The hierarchical structure of inventory 90 is implemented as a B@tree structure, and the structure is stored as data records in the leaf nodes of the B-tree similar to FIGS. 3 and 4. Hierarchical inventory structure 90 is stored in device 1α shown in memory map 9γ of FIG. Inventory map 97 has three possible types of records, which are directory records 100. File record 101
, and route record 102. Each record 100-102 has a key 103 and an information segment 104 as described in the explanation of the leaf nodes of the B-tree above. Each record's key 103 has a number 105 and a name 106. Keys 103 of directory records such as 91 and 92
has a directory name 106 and a directory identification name (Dlr ID) number 105 of the parent directory. The information segment 104 of each directory record, such as directories 91 and 92, has a directory identification number 107. The directory 92 has a directory identification number 29 and a name 1 Folder. In the configuration 90, the directory 92 is
Since record 92 has 10 children, %2# is assigned to the parent directory identification number of record 92. directory record 9
1 has a directory identification number 2, and its name is ``1 volume''. Since directory 91 is the root directory, it was given the parent directory identification number 111, but the number 1 indicates the foundation of the file system itself. Any of the file records 93-96 also has a key 113 and an information segment 114, with the key 113 having the parent directory identification number and its name. In the information segment 114 of file records 93 to 96, information on the location where usable file data is stored is stored, as well as the respective file number.
has storage location information of usable data. File record 94 with name 1B'' and %
File record 93 with the name A# both have a parent directory identification number of 12''.A file with a parent directory R alias number of 2 has a parent directory identification number of 2. have %
It is significant that the file with the name %C# is a direct child of the directory named "groom".
File 96 with the name ``Folder ID'' has a parent whose directory identification number is %29#, which means that the child of directory 29 named ``Folder 1'' with directory identification number 29 is the file C. and D. Therefore, when looking at the directory of any file or record key 103, it can be seen from the stored information that the name of a certain record and the directory identification number of its parent node are the same value. A route directory 102 is provided for each directory to provide relationships between different branches. The route record key has a directory identification number and a zero name, which is equivalent to having no name at all. According to the example shown in FIG. 6, the directory Hayabusa folder' and files C and D are communicated by the path record 108. Key 11 of route record 108
1 is given only the directory identification number of the directory 1 folder.Route record 108
In the information segment 112 of the folder, the directory identifier number of the parent of the folder and the name of the directory "1 field" are given. File C with the directory identifier number 29 of 6R is the immediate parent and has the directory identifier number 29. When attempting to associate with directory 92, route record 108 is %2 of directory 92.
The parent directory 920 name (folder) is used along with the directory identification number #. Similarly, route record 109 uses the name (volume) of directory 91 along with the directory identification number of parent directory 91, which has three child records 92-94. By linking directory records 91-92 and file records 93-96 with path records 108-109 for each directory, inventory structure 90 communicates with the hierarchical file system, as shown in structure 97 of FIG. Similarly, the storage location information of stored usable data is in directory records 91 to 9.
It is stored in 2. By executing the program of the inventory structure 90 using the B tree structure, the information of the hierarchical structure of structure f: 90 is stored in the leaf nodes of the B tree described above. For example, when file C is accessed by a computer, the system will perform a search of the B tree configuration. To explain the catalog example 90 shown in FIG. 6, first, when file name C is specified, a search route for this search must be specified. The path is given by the names of all directories on the path from the root record to the file, i.e. 1 volume ", followed by Hayabusa folder" and finally %C". The search is It begins by finding a directory record called ``1 Volume'' in the Inventory B tree. Since the name is volume 1 and is the root, its parent's directory identification number is 1. Searching the catalog B tree is performed for directory record 1 volume whose key is 1, that is, directory record 9.
1 can be found. The information segment then gives the directory identification number 2 for this directory. A search is then performed in the B-tree for "1 folder" whose key is 2 and which is directory record 92, and the information segment gives the directory distinguished name number 29 for this directory. is 2
This is done to find data record C which is number 9. This is a search for file records 95, whose information segments contain information about the physical location of the data contained in the desired file. Note that the file search execution specifications of the above embodiment can be started by the directory identification number of any directory on the path from the root record to the desired file, and can be started by the directory identification number of any directory on the path from the root record to the desired file. It has a directory identification name number of the directory and a series of directory names. It is clear that the search mechanism that follows this specification is a variation on what has been described above. Although the incremental catalog structure 90 is a simplified structure and FIG. 6 depicts a single structure with a single root directory 91, the catalog structure can be expanded in any number of ways. In this embodiment, one memory device such as a disk is
It uses a two-hierarchical inventory structure. However, one disk can be divided and one hierarchical catalog can be assigned to each part. The catalog record of configuration 97 in FIG. 6 is used as a data record at the leaf node 42 shown in FIG.
is stored in the . The records are inserted and stored in the Inventory B tree structure in alphanumeric numerical order. Then, when the B tree glue node moves from left to right,
Data records appear in order as shown in structure 97 of FIG. Records are stored in order according to the directory identification number portion of the key, with the highest number first. For records with the same directory identification number within a key, the alphanumeric order of the name part of the key is used. It is also recognized that other related information can be stored in records such as those described in FIG. For example, the directory and file records of the present invention store signals of the date and time of creation of the directory or file as well as the date and time of last modification. The file record also includes signals regarding file locks, elements for setting the logical and physical end of the file, file size, and the like. (File extent tree) As already mentioned, the inventory g+B regarding a specific file
A tree file record contains information about the location in the memory device where the file's data is stored. Memory devices are created as a collection of sequentially numbered blocks. A series of adjacent memory blocks is called an extent. Ideally, files are stored in a single extent with contiguous memory placement space. However, due to the size of each file as well as additions, deletions, and modifications to the current file after creation, files are typically located in more than one location in memory. Aside from small pre-located files, the contents of a particular file are typically stored in more than one location and in noncontiguous and separate extents on a volume. Each file extent can be identified by an extent descriptor. Further, complete location information for a particular file is a continuous extent list, and this list includes extent descriptors of extents that contain file data. The file extent list of the present invention also constitutes a B tree known as a file extent B tree configuration, in which volume positions and sizes of extents that shoulder files are recorded. Although most of the various memory allocation systems can use the file extent records of the present invention, one example of the memory allocation system will be described by illustrating the file extent records of this embodiment. FIG. 7 shows a memory volume 120 that is part of a memory device and uses a hard disk or the like. Volume 120 is divided into a number of logical blocks 126. Typically, each logical block 126 has a predetermined fixed number of bytes9, which in this embodiment is 512 bytes. A fixed number of logical blocks starting with block O and ending with block n are reserved by volume information. The remainder of the memory device starting with block n+1 can become data memory, and this storage is divided into installed units, each installed unit containing one or more logical blocks. The volume 120 has 121 to 12404 areas. System boot area 121 maintains certain contiguous system parameters that are well known in disk and other memory device operations. Volume information area 122 contains information regarding housekeeping parameters of the volume, such as the number and size of each installed unit. The volume bitmap 123 stores a record of each installed unit on the volume, and the bitmap indicates whether each installed unit is in use or not in use. Starting from block n+1, file content area 1
24 is up to the end of volume 120. The file content area 124 is divided into a number of installed units, each installed unit having a fixed number of logical blocks. The bitmap 123 manages volume space but does not map files. The file mapping function is provided by the file extent list. FIG. 8 shows a portion of the file content area 124 that contains information regarding a file named file E. In this example, the entire contents of file E are divided into seven extents 125-131. The first part of the file is stored in basic extent 125, and the next part is distributed into extents 2-T, labeled 126-131. File E is 1
It has seven extents ranging from 25 to 131, which are not physically adjacent. Basic extent 1 of file E to hold file extent information
Extent descriptor 140 is used for extent 25 and each of the following extents 126-131. The extent descriptor 140 has a starting installation unit number 141 and a number 142 of installation units. The extent list 135 for file E has seven extent descriptors 125a-131&, and this list provides information about the address and length of each of the extents 125-131 for file E. For example, the fourth extent 128 is the boot installation address 1.
Since the installation block length is 89 and only 2, the value 189 is set in the area 141 of the descriptor 128a, and the value 189 is set in the area 141 of the descriptor 128a.
2 has a value of 2. In the present invention, extent descriptors for all files within a volume are maintained in data records within the leaf nodes of the tree, as shown in FIGS. 3-5. This tree is known as a file extension B tree, and is a B tree different from the catalog B tree described above. Each data record of this extent B tree is
It has one key and one information segment as described above in the discussion of FIGS. 3-5. The information segment of the file extent B tree data record contains a series of extent descriptors for a particular file. The maximum number of extent descriptors in a record can be changed between executions, but is set to three in this example. The file extent B tree key has two fields, which indicate the file number of a particular file and the relative file position of the activation block of the first extent descriptor within that record. These extent records are stored in the extent nodes of the B tree, and are partitioned by previous instructions into a first file number area and a second file start block relative position. With this division, it is possible to effectively search for data position information at the relative position of a specific file within the B tree. In fact, this embodiment has a total of three extent descriptors t[, the basic and the following two, which is the information data segment 114 of the file catalog B tree record as shown at 94 in FIG. Therefore, in FIG. 8, the information segment of the catalog structure and 128&~131
Extent a is stored in the file extent B tree shown in FIG. The ability to store limited extent information within the data segments of a scrap inventory structure allows faster data access. If a file only has four or more extents, it may be necessary to examine the file extent B tree. It is of course recognized that the number of extents stored in a file's Inventory B tree record without using the file extent Blt tree' can be varied at will without departing from the scope of the claims of the present invention. FIG. 9 also shows a catalog file record 145 and file extension) B tree records 143 and 144. As mentioned in the B tree structure of the present invention, 143
and 144 have keys 148 and 149 and extent lists 146 and 147, respectively. To locate data in a particular file, first search the Catalog B tree for that file data. The file number can be determined from the information segment of this file record. Also, the first three extent descriptors in the information segment of the inventory B tree file record are examined. If the required file data is contained within the corresponding extent, then the location information is immediately useful. However, if the desired file data is in an extent other than the three extents in the file record of the inventory, the file extent is searched using the file number as the search key and the calculation result of the relative position of the file containing the desired data. ) Search with B tree. This search will yield the file extension)B tree record with the desired location information. In this embodiment, file E has 22 blocks, and the file number is equal to 20 for convenience. The extent descriptor of the catalog file record 145 of file ε has position information of the first three extents,
This extent contains the first 9 (3+5+1) file blocks. Position information for the remaining 13 blocks (2+3+1+7) of the file is contained in two data records 143 and 144 in the file extent B tree. Assume that the desired data is located in file E at file block relative location tt13. The extent descriptor in the file's inventory record is searched first. Since the relative block 13 is larger than the number of the block located in the extent descriptor in the file's 1000 list record, the file extent B tree is searched next. The key when searching for the relative block position 13 in the B tree is <20, 13>. The key number 13 is greater than the value "9" of the key 148 of the first file extent B tree record 143 of the file E, and the value of the key 149 of the second record 144 is "15".
'' Since the tree record 144 is small, the search results in 1 finding and 1 less than 6t, but the search moves on to the 2nd B tree record 144. A search for the previous record 143 with key 148 yields an extent descriptor with relative block 13. The number 9 in the key 148 indicates that the extent list 146 is the 10th relative block.

【配置ユニット番号
9】であることから導き出される。キー149の数字1
5はエクステントリスト147が16番目の相対ブロッ
ク(配置ユニット番号15)であることから導き出され
る。 (実行) どんな記憶手段も階層型ファイルシステムを使用するこ
とができるが、本発明の階層型ファイルシステムはディ
スクの様な数100万ビツトの情報量を有するメモリデ
バイスと連結したコンピュータで実行される。典型的に
は、本発明の階層型ファイルシステムはデ、イスクに記
憶されたファイルの様なデータの様ななグループの目録
化を行う。 本実施例ではデータの記憶を、大容量記憶デバイスに記
憶されたデータを目録化する前記のカタログ構成によっ
て実行する。この構成はまた、目録中の各ファイルあた
シの3つのエクステントまでのファイルエクステントレ
コードを記憶する。 その後のエクステント情報は離れたファイルエクステン
トレコードに記憶される。目録レコードとエクステント
レコードとは前記のB樹木構成の2つのB樹木を使用し
て記憶される。 本実施例の階層型ファイルシステムはコンピュータシス
テムのハードウェアとソフトウェアの組合せによって制
御される。階層型ファイルシステムの制御ルーチンは使
用可能データを記憶するデバイスとは異なる離れた記憶
デバイスに記憶される。はとんどすべての記憶手段が使
用できるが、本実施例ではそのルーテンを読み込み専用
メモリ(ROM)に記憶する。
It is derived from [arrangement unit number 9]. key 149 number 1
5 is derived from the fact that the extent list 147 is the 16th relative block (location unit number 15). (Execution) Although any storage means can use the hierarchical file system, the hierarchical file system of the present invention is implemented in a computer coupled with a memory device, such as a disk, having an information capacity of several million bits. . Typically, the hierarchical file system of the present invention catalogs groups, such as data, such as files, stored on disks. In this embodiment, data storage is performed by the above-described catalog structure that catalogs data stored on a mass storage device. This configuration also stores file extent records for up to three extents for each file in the inventory. Subsequent extent information is stored in separate file extent records. Inventory records and extent records are stored using the two B-trees of the B-tree configuration described above. The hierarchical file system of this embodiment is controlled by a combination of computer system hardware and software. The control routines of the hierarchical file system are stored on a separate storage device that is different from the devices that store the available data. Although almost any storage means can be used, in this embodiment the routine is stored in read-only memory (ROM).

【図面の簡単な説明】[Brief explanation of the drawing]

第1図は先行技術の均一ファイルシステムの説明図、第
25Aは本発明の階層型ファイルシステムの説明図、第
3図は本発明のB樹木構造の説明図、第4図は第3図の
B樹木構造の任意のノードの内容の説明図、第5図は本
実施例のB樹木構造の左側分割の左回転動作の説明図、
第6図は本実施例のカナ目録構造とB樹木の様ななノー
ド内の←目録構造の構成の説明図、第7図は本実施例の
ファイルシステムの割υ振りマツプボリュームの説明図
、第8図は本実施例のファイルエクステントリストとメ
モリ内の様ななファイルエクステントの説明図、第9図
は本実施例の奔チ目録及びエクステントのB樹木内のフ
ァイルエクステント構成説明図を示す。 10・・・・均一ファイルシステム、11・・・・ディ
レクトリ、12〜150−・・ファイル、16・・・・
階層型ファイルシステム、17・・・・根デイビクトリ
、31・・・・B樹木構成、32〜34・・・・索引ノ
ード、35〜38・・曇・リーフノード、39・・Φ・
レコード、40・・・・キー、41Φ・・・情報セグメ
ント、42・・・・ノード、4311・・・ノード表示
セグメント、44・・・拳レコードセグメント、45・
・・Oフリースペースセグメント、46・番・・レコー
ド分岐セグメント、90−・@@目録樹木構成、91・
@φ・根ディレク)IJ、92・・―・ディレクトリ、
93,94・・・・ファイル、120 ・・・・メモリ
ボリューム、126・・・・論理ブロック、124・・
・・ファイル内容領域、125〜131−−・・エクス
テント、140 ・・・曇エクステントデスクリプタ、
135・・−−エクステントリスト、145 ・・−−
目録ファイルレコード、143.144  ・・・・フ
ァイルエクステントB樹木レコード。 特許出願人  アプル番コンピューターインコーボレー
テツド
FIG. 1 is an explanatory diagram of the uniform file system of the prior art, FIG. 25A is an explanatory diagram of the hierarchical file system of the present invention, FIG. 3 is an explanatory diagram of the B tree structure of the present invention, and FIG. 4 is an explanatory diagram of the B tree structure of the present invention. An explanatory diagram of the contents of an arbitrary node of the B tree structure, FIG. 5 is an explanatory diagram of the left rotation operation of the left division of the B tree structure of this embodiment,
FIG. 6 is an explanatory diagram of the kana catalog structure of this embodiment and the configuration of the ← catalog structure in a node like a B tree, and FIG. 7 is an explanatory diagram of the allocation map volume of the file system of this embodiment. FIG. 8 is an explanatory diagram of a file extent list and file extents such as those in memory in this embodiment, and FIG. 9 is an explanatory diagram of a file extent structure in a B tree of extents and a list of extents in this embodiment. 10...Uniform file system, 11...Directory, 12-150-...File, 16...
Hierarchical file system, 17...root devictory, 31...B tree structure, 32-34...index node, 35-38...cloud/leaf node, 39...Φ...
Record, 40...Key, 41Φ...Information segment, 42...Node, 4311...Node display segment, 44...Fist record segment, 45...
・・O free space segment, No. 46・・Record branch segment, 90−・@@Inventory tree structure, 91・
@φ・root director) IJ, 92...directory,
93, 94... File, 120... Memory volume, 126... Logical block, 124...
... File content area, 125 to 131 --- Extent, 140 ... Cloudy extent descriptor,
135...--Extent list, 145...--
Catalog file record, 143.144 ...File extent B tree record. Patent applicant Apple Computer Inc.

Claims (3)

【特許請求の範囲】[Claims] (1)メモリデバイスが情報を記憶する過程において、
前記情報を目録化するためにコンピュータプログラムを
用意する方法であつて、この方法は:前記情報を多数の
ファイルにグループ分けする工程と;開始ノード、多数
の終了ノード、及び多数の中間ノードを有し、前記中間
ノードは前記開始ノードのあとの様々なレベルに配置さ
れており且つ前記終了ノードを開始ノードに接続し、こ
れによつて開始ノードからそれぞれの終了ノードまでの
経路が唯1つ存在するように階層構成を形成する工程と
;前記の各終了ノードがこれに関連ファイル位置情報を
有しており且つその位置情報を供給してその関連ファイ
ルを検索できるように、上記ファイル各々の位置情報を
所定の終了ノード内に設ける工程と;前記ファイルの夫
々に特有の値を割り当てる工程とを有し、これによつて
特定ファイルの前記情報が前記階層構成内でこのファイ
ルに関連する上記値を探索することによつて検索される
ことを特徴とする方法。
(1) In the process of a memory device storing information,
A method of providing a computer program for cataloging said information, the method comprising: grouping said information into a number of files; having a start node, a number of end nodes, and a number of intermediate nodes. and the intermediate nodes are located at various levels after the start node and connect the end nodes to the start node, such that there is only one path from the start node to the respective end node. forming a hierarchical structure such that each end node has file location information associated with it and can provide the location information to search for its associated files; placing information in a predetermined end node; and assigning a unique value to each of said files, so that said information of a particular file is associated with said value for this file within said hierarchical configuration. A method characterized in that the search is performed by searching.
(2)情報をファイルシステム内で目録化する過程にお
いて、前記ファイルシステムを得るためのコンピュータ
プログラムを用意する方法であつて、この方法は:根デ
ィレクトリ、複数の分岐ディレクトリ、及び複数のファ
イルを有し、前記ファイルの夫々は前記根ディレクトリ
から該ファイルまで単一経路を有し、その単一経路が前
記分岐ディレクトリを経由する様な階層ノード構成の形
成する工程と;前記の各ディレクトリに特有の識別値を
割り当てる工程と;前記の各ファイルに特有の識別名を
割り当てる工程と;蓄積されるデータのグループを担当
する各ファイルに記憶されているデータの位置情報を付
与する工程とを有し、これにより前記記憶データの特定
のグループが前記階層構成内でその関連する名前によつ
て目録化されていることを特徴とする方法。
(2) A method of preparing a computer program for obtaining a file system in the process of cataloging information in a file system, the method comprising: a root directory, a plurality of branch directories, and a plurality of files; forming a hierarchical node configuration such that each of the files has a single path from the root directory to the file, and the single path passes through the branch directory; assigning an identification value; assigning a unique identification name to each of the files; assigning location information of data stored in each file responsible for a group of data to be stored; A method, whereby a particular group of stored data is cataloged by its associated name within the hierarchical structure.
(3)ファイルシステムで情報を目録化し、前記ファイ
ルシステムを使用してメモリデバイスからこれを検索す
る過程において、前記ファイルシステムを構築するため
のコンピュータプログラムを準備する方法であつて、こ
の方法は:根ディレクトリと前記根ディレクトリから続
く様々なレベルに配置された多数の分岐ディレクトリと
を有し、前記分岐ディレクトリの一部は他の前記分岐デ
ィレクトリから分岐している様な階層型目録構成し、前
記分岐ディレクトリをそれ自身から前記根ディレクトリ
までを接続する単一経路で結ぶ工程と;前記ディレクト
リの各々に特有のキーの値を割り当ててディレクトリ群
を識別する工程と;関連ディレクトリから前記ファイル
が分岐し、特定の識別名を有する前記の各ファイルを前
記メモリデバイス内に記憶されたデータの特定のグルー
プに関連づける様に、多数のファイルを前記階層構成に
構築する工程と;データの前記特定のグループの位置情
報をそれぞれのファイルに与える工程と;各ディレクト
リとファイル内にその親ディレクトリの前記のキーの値
を与え、前記親ディレクトリの前記のキーの値を参照す
ることによつて前記単一経路が決定する工程と;前記の
特定のデータグループを、あるディレクトリから前記の
各経路に沿つて前記階層構成内を通り前記の各ファイル
まで移動させることによつて検索し、その際前記ファイ
ルが前記位置情報を供給する工程とを有し、これにより
記憶されたデータの探索と検索とが体系的かつ階層的な
技術で行われることを特徴とした方法。
(3) A method for preparing a computer program for building a file system, in the process of cataloging information in the file system and retrieving it from a memory device using the file system, the method comprising: It has a root directory and a number of branch directories arranged at various levels following the root directory, and has a hierarchical catalog structure in which some of the branch directories are branched from other branch directories, and connecting branch directories with a single path connecting themselves to said root directory; assigning each of said directories a unique key value to identify a group of directories; and branching said files from related directories. , structuring a number of files in said hierarchical arrangement such that each said file having a particular identification name is associated with a particular group of data stored in said memory device; providing location information to each file; providing within each directory and file the value of said key of its parent directory; and determining said single path by referencing said key value of said parent directory; determining: retrieving said particular data group by moving from a directory along each of said paths through said hierarchical structure to said each of said files, wherein said file is located at said location; supplying information, whereby the search and retrieval of the stored data is performed in a systematic and hierarchical technique.
JP62275574A 1986-10-30 1987-10-30 Method of memorizing and retrieving data using computer Pending JPS63116232A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US92480286A 1986-10-30 1986-10-30
US924802 1986-10-30

Publications (1)

Publication Number Publication Date
JPS63116232A true JPS63116232A (en) 1988-05-20

Family

ID=25450754

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62275574A Pending JPS63116232A (en) 1986-10-30 1987-10-30 Method of memorizing and retrieving data using computer

Country Status (6)

Country Link
JP (1) JPS63116232A (en)
AU (1) AU610092B2 (en)
CA (1) CA1285656C (en)
DE (1) DE3736455A1 (en)
FR (1) FR2606182B1 (en)
GB (1) GB2196764A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04328680A (en) * 1991-04-26 1992-11-17 Tsubakimoto Chain Co Data storing method
JPH07262074A (en) * 1994-03-07 1995-10-13 Internatl Business Mach Corp <Ibm> Cache management method, computer file system and cache device
JPH08278904A (en) * 1989-08-29 1996-10-22 Microsoft Corp High-performance file system
JP2008130084A (en) * 2006-11-23 2008-06-05 Samsung Electronics Co Ltd Method and apparatus for optimized index search

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0410210A3 (en) * 1989-07-24 1993-03-17 International Business Machines Corporation Method for dynamically expanding and rapidly accessing file directories
US5261088A (en) * 1990-04-26 1993-11-09 International Business Machines Corporation Managing locality in space reuse in a shadow written B-tree via interior node free space list
ATE189325T1 (en) * 1990-10-05 2000-02-15 Microsoft Corp SYSTEM AND METHOD FOR INFORMATION DISCOVERY
DE4331949A1 (en) * 1993-09-21 1995-03-30 Frank Dipl Ing Mueller Data processing system and method of organising data in data processing systems
CA2117846C (en) * 1993-10-20 2001-02-20 Allen Reiter Computer method and storage structure for storing and accessing multidimensional data
GB2283591B (en) * 1993-11-04 1998-04-15 Northern Telecom Ltd Database management
GB2336008B (en) * 1998-04-03 2000-11-08 Schlumberger Holdings Simulation system including a simulator and a case manager adapted for organizing data files
US6813611B1 (en) * 1999-06-08 2004-11-02 International Business Machines Corporation Controlling, configuring, storing, monitoring and maintaining accounting of bookkeeping information employing trees with nodes having embedded information
WO2002029624A1 (en) * 2000-10-04 2002-04-11 Bullant Technology Pty Ltd Data processing structure
GB2369465B (en) * 2000-11-28 2003-04-02 3Com Corp A method of sorting and retrieving data files
CN112579079A (en) * 2019-09-29 2021-03-30 北京向上一心科技有限公司 File processing method and device, computer equipment and storage medium
CN111054082B (en) * 2019-11-29 2023-10-13 珠海金山数字网络科技有限公司 Method for coding Unity resource data set

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60129873A (en) * 1983-12-19 1985-07-11 Nippon Telegr & Teleph Corp <Ntt> Document storage and retrieval system

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2217500A1 (en) * 1971-04-23 1972-10-26 International Business Machines Corp., Armonk, N.Y. (V.StA.) Method and device for searching for key words in an electronic data processing system
JPS6051732B2 (en) * 1978-08-31 1985-11-15 富士通株式会社 Data processing system with data base
US4318184A (en) * 1978-09-05 1982-03-02 Millett Ronald P Information storage and retrieval system and method
US4611298A (en) * 1983-06-03 1986-09-09 Harding And Harris Behavioral Research, Inc. Information storage and retrieval system and method
JPS61220027A (en) * 1985-03-27 1986-09-30 Hitachi Ltd Information memory system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60129873A (en) * 1983-12-19 1985-07-11 Nippon Telegr & Teleph Corp <Ntt> Document storage and retrieval system

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08278904A (en) * 1989-08-29 1996-10-22 Microsoft Corp High-performance file system
JPH04328680A (en) * 1991-04-26 1992-11-17 Tsubakimoto Chain Co Data storing method
JPH07262074A (en) * 1994-03-07 1995-10-13 Internatl Business Mach Corp <Ibm> Cache management method, computer file system and cache device
JP2008130084A (en) * 2006-11-23 2008-06-05 Samsung Electronics Co Ltd Method and apparatus for optimized index search
US7970769B2 (en) 2006-11-23 2011-06-28 Samsung Electronics Co., Ltd. Apparatus and method for optimized index search

Also Published As

Publication number Publication date
AU610092B2 (en) 1991-05-16
FR2606182B1 (en) 1993-12-17
DE3736455A1 (en) 1988-05-05
GB8715199D0 (en) 1987-08-05
FR2606182A1 (en) 1988-05-06
GB2196764A (en) 1988-05-05
AU8048587A (en) 1988-05-05
CA1285656C (en) 1991-07-02

Similar Documents

Publication Publication Date Title
US4945475A (en) Hierarchical file system to provide cataloging and retrieval of data
US5991862A (en) Modified indirect addressing for file system
US6029170A (en) Hybrid tree array data structure and method
US10346363B2 (en) Deduplicated file system
EP0124097B1 (en) Method for storing and retrieving data in a data base
US5499358A (en) Method for storing a database in extended attributes of a file system
JPS63116232A (en) Method of memorizing and retrieving data using computer
US6049804A (en) Method and apparatus for segmenting a database
US7165156B1 (en) Read-write snapshots
US7213025B2 (en) Partitioned database system
US4677550A (en) Method of compacting and searching a data index
KR100886189B1 (en) Database
CN102184211B (en) File system, and method and device for retrieving, writing, modifying or deleting file
JP4034331B2 (en) Method for storing flow data in a disk storage device
US20040105332A1 (en) Multi-volume extent based file system
JPH06342392A (en) Method for file arrangement
US6697795B2 (en) Virtual file system for dynamically-generated web pages
JPH0432420B2 (en)
JPS62186361A (en) Information retrieval device
US5737603A (en) Database system capable of carrying out an efficient free area search
JPH01116819A (en) Optical disk management system by hierarchical directory
JPS62287350A (en) Index integrally updating system
JPS59752A (en) Data base retrieval system
JPS61103242A (en) High-speed retrieval system
JPH0785079A (en) Device for managing information file