JP5481906B2 - Projection file system management apparatus, projection file system management method, and program - Google Patents
Projection file system management apparatus, projection file system management method, and program Download PDFInfo
- Publication number
- JP5481906B2 JP5481906B2 JP2009084861A JP2009084861A JP5481906B2 JP 5481906 B2 JP5481906 B2 JP 5481906B2 JP 2009084861 A JP2009084861 A JP 2009084861A JP 2009084861 A JP2009084861 A JP 2009084861A JP 5481906 B2 JP5481906 B2 JP 5481906B2
- Authority
- JP
- Japan
- Prior art keywords
- file
- file system
- projection
- real
- priority
- 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.)
- Active
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
本発明は、複数の実ファイルシステムを一つの仮想的なファイルシステムとして管理する技術に関する。 The present invention relates to a technique for managing a plurality of real file systems as one virtual file system.
複数の実ファイルシステムを一つの仮想的なファイルシステムとして管理する技術としては、次のような技術が知られている(例えば、特許文献1参照)。特許文献1では、複数の実ファイルシステムを用いて、そのディレクトリ構造が上記複数の実ファイルシステムのディレクトリ構造を重ね合わせたものとなる、透過型の仮想的なファイルシステム(透過型ファイルシステム)を構成している。なお、ディレクトリ構造の重ね合わせ方は、名前が一致するパス同士を一つに合成し、名前が不一致のパスは元のまま残すというものである。この一つに合成された部分に存在するファイルは、複数の実ファイルシステム上に存在することになる。また、各実ファイルシステムには、優先度が付与されており、透過型ファイルシステム上のファイルに対する読み込み要求や書き込み要求があった場合、優先度を利用して次のような処理を行う。
As a technique for managing a plurality of real file systems as one virtual file system, the following technique is known (see, for example, Patent Document 1). In
読み込み要求時には、優先度が最も高い実ファイルシステムから順番に、要求されたファイルを検索し、最初に該当ファイルを検索できた実ファイルシステムに存在する該当ファイルからデータを読み出す。また、書き込み要求時には、優先度が最も高い実ファイルシステムから順番に、要求されたファイルを検索する。そして、最初に該当ファイルを検索できた実ファイルシステムが優先度の最も高い実ファイルシステムである場合には、その実ファイルシステムに存在する該当ファイルにデータを書き込む。また、最初に該当ファイルを検索できた実ファイルシステムが、最も優先度が高い実ファイルシステム以外である場合には、検索した該当ファイルを優先度が最も高い実ファイルシステムにコピーし、コピーしたファイルにデータを書き込む。 When a read request is made, the requested file is searched in order from the highest-priority real file system, and data is read from the corresponding file existing in the real file system in which the corresponding file can be searched first. When a write request is made, the requested file is searched in order from the real file system having the highest priority. If the real file system that can first search for the relevant file is the highest-priority real file system, data is written to the relevant file existing in the real file system. In addition, if the actual file system that was able to search for the file first is other than the real file system with the highest priority, the searched file is copied to the real file system with the highest priority, and the copied file Write data to.
特許文献1に記載されている技術によれば、複数の実ファイルシステムを一つの仮想的なファイルシステムとして管理することが可能になる。しかし、特許文献1に記載されている技術は、実ファイルシステム単位で優先度を制御しているため、ユーザが透過型ファイルシステム上のファイルをアクセスした際、実際にアクセスされる実ファイルシステム上のファイルが、優先度が高い実ファイルシステム上のファイルに限られてしまい、融通性に欠けるという問題がある。例えば、第1、第2の実ファイルシステムから構成され、第1の実ファイルシステムの方が優先度が高い透過型ファイルシステムの場合、第1、第2の実ファイルシステムの両方に、透過型ファイルシステム上のファイルF1、F2と対応するファイルf1、f2が存在していても、ユーザがアクセスできるファイルは常に第1の実ファイルシステム上のファイルf1、f2に限られてしまい、ファイルf1は第1の実ファイルシステム上のものをアクセスし、ファイルf2は第2の実ファイルシステム上のものアクセスするといったことができない。
According to the technique described in
[発明の目的]
そこで、本発明の目的は、複数の実ファイルシステムから構成される仮想的なファイルシステムにおいて、どの実ファイルシステム上に存在するファイルをユーザにアクセスさせるのかをファイル単位で制御できるようにすることにある。
[Object of invention]
SUMMARY OF THE INVENTION Accordingly, an object of the present invention is to make it possible to control on a file basis which file on a real file system is accessed by a user in a virtual file system composed of a plurality of real file systems. is there.
本発明にかかる第1の投影ファイルシステム管理装置は、
複数の実ファイルシステムと、
該複数の実ファイルシステムで管理されているファイルそれぞれの優先度を示す優先度情報が登録された優先度テーブルと、
前記複数の実ファイルシステムを、それらのディレクトリ構造が重ね合わされた仮想的な一つの投影ファイルシステムとして管理すると共に、ユーザプロセスから入力された前記投影ファイルシステム上のファイルを指定した処理要求に応答して、前記指定されたファイルに対応する前記実ファイルシステム上のファイルの内で最も優先度の高いファイルを前記優先度テーブルを参照して求め、該求めたファイルに対して前記処理要求によって要求された操作を行う投影ファイルシステム制御手段とを備えている。
A first projection file system management apparatus according to the present invention includes:
Multiple real file systems,
A priority table in which priority information indicating the priority of each file managed by the plurality of real file systems is registered;
The plurality of real file systems are managed as one virtual projection file system in which their directory structures are superimposed, and responds to a processing request specifying a file on the projection file system input from a user process. The file having the highest priority among the files on the real file system corresponding to the specified file is obtained by referring to the priority table, and the requested file is requested by the processing request. Projection file system control means for performing the above operations.
本発明にかかる第1の投影ファイルシステム管理方法は、
複数の実ファイルシステムと、該複数の実ファイルシステムで管理されているファイルそれぞれの優先度を示す優先度情報が登録された優先度テーブルとを備えたコンピュータが、
前記複数の実ファイルシステムを、それらのディレクトリ構造が重ね合わされた仮想的な一つの投影ファイルシステムとして管理する第1のステップと、
前記コンピュータが、ユーザプロセスから入力された前記投影ファイルシステム上のファイルを指定した処理要求に応答して、前記指定されたファイルに対応する前記実ファイルシステム上のファイルの内で最も優先度の高いファイルを前記優先度テーブルを参照して求め、該求めたファイルに対して前記処理要求によって要求された操作を行う第2のステップとを含む。
A first projection file system management method according to the present invention includes:
A computer comprising a plurality of real file systems and a priority table in which priority information indicating the priority of each file managed by the plurality of real file systems is registered.
A first step of managing the plurality of real file systems as one virtual projection file system in which their directory structures are superimposed;
In response to the processing request specifying the file on the projection file system input from the user process, the computer has the highest priority among the files on the real file system corresponding to the specified file. A second step of obtaining a file with reference to the priority table and performing an operation requested by the processing request on the obtained file.
本発明にかかる第1のプログラムは、
複数の実ファイルシステムと、該複数の実ファイルシステムで管理されているファイルそれぞれの優先度を示す優先度情報が登録された優先度テーブルとを備えたコンピュータを、投影ファイルシステム管理装置として機能させるためのプログラムであって、
前記コンピュータを、前記複数の実ファイルシステムによりそれらのディレクトリ構造が重ね合わされた仮想的な一つの投影ファイルシステムを構成すると共に、ユーザプロセスから入力された前記投影ファイルシステム上のファイルを指定した処理要求に応答して、前記指定されたファイルに対応する前記実ファイルシステム上のファイルの内で最も優先度の高いファイルを前記優先度テーブルを参照して求め、該求めたファイルに対して前記処理要求によって要求された操作を行う投影ファイルシステム制御手段として機能させる。
The first program according to the present invention is:
A computer having a plurality of real file systems and a priority table in which priority information indicating priority levels of files managed by the plurality of real file systems is registered is caused to function as a projection file system management apparatus. A program for
The computer constitutes one virtual projection file system in which the directory structures are overlapped by the plurality of real file systems, and a processing request specifying a file on the projection file system input from a user process In response, the file having the highest priority among the files on the real file system corresponding to the designated file is obtained by referring to the priority table, and the processing request for the obtained file is obtained. To function as a projection file system control means for performing the operation requested by.
本発明によれば、複数の実ファイルシステムから構成される仮想的なファイルシステムにおいて、どの実ファイルシステム上に存在するファイルをユーザにアクセスさせるのかをファイル単位で制御することが可能になるという効果を得ることができる。 Advantageous Effects of Invention According to the present invention, in a virtual file system composed of a plurality of real file systems, it is possible to control in units of files which files on which real file systems are to be accessed by the user. Can be obtained.
次に、本発明の実施の形態について詳細に説明する。 Next, embodiments of the present invention will be described in detail.
[本発明の第1の実施の形態]
図1を参照すると、本発明の第1の実施の形態にかかる投影ファイルシステム管理装置1は、ユーザプロセス2と、投影ファイルシステム制御手段3と、優先度テーブル4と、実ファイルシステム群5とを含んでいる。なお、投影ファイルシステム管理装置1は、コンピュータによって実現される。
[First embodiment of the present invention]
Referring to FIG. 1, a projection file
実ファイルシステム群5は、複数の実ファイルシステム5-1〜5-Nを含んでいる。なお、以下の説明では、N=2とする。図2に示すように、実ファイルシステム5-1は、ディレクトリDIR1配下のファイルFILE1、FILE2と、ディレクトリDIR3配下のファイルFILE3、FILE4とを含んでいる。また、実ファイルシステム5-2は、ディレクトリDIR1配下のファイルFILE2と、ディレクトリDIR2配下のファイルFILE2と、ファイルシステムFS2配下のファイルFILE3とを含んでいる。なお、実ファイルシステム5-1、5-2にはそれぞれ名前FS1、FS2が付与されているとする。
The real
優先度テーブル4には、各実ファイルシステム5-1、5-2上に存在する各ファイルの優先度を示す優先度情報が登録されている。なお、本実施の形態では、優先度情報としてファイルの作成日時(登録日時)を示す情報が登録されているとする。 In the priority table 4, priority information indicating the priority of each file existing on each real file system 5-1 and 5-2 is registered. In the present embodiment, it is assumed that information indicating a file creation date (registration date) is registered as priority information.
ユーザプロセス2は、データ読み込み要求、第1のデータ書き込み要求、および、第2のデータ書き込み要求を投影ファイルシステム制御手段3に対して発行する。データ読み込み要求は、読み込み先にする投影ファイルシステム(投影ファイルシステムについては後述する)上のファイルを指定して、データの読み込みを要求するものである。第1のデータ書き込み要求は、書き込み先にする投影ファイルシステム上のファイルを指定して、データの書き込みを要求するものである。第2のデータ書き込み要求は、コピー元にする投影ファイルシステム上のファイルを指定して、そのコピー先のファイル(次世代のファイル)へのデータの書き込みを要求するものである。なお、第1のデータ書き込み要求は、ファイルの世代管理を行うことが不必要な場合に発行され、第2のデータ書き込み要求は、ファイルの世代管理を行うことが必要な場合に発行される。
The
投影ファイルシステム制御手段3は、複数の実ファイルシステム5-1、5-2を、それらのディレクトリ構造が重ね合わされた透過型の仮想的な一つのファイルシステムとして管理する。なお、ディレクトリ構造の重ね合わせ方は、名前が一致するパス同士を一つに合成し、名前が不一致のパスは元のまま残すというものである。図2に示す実ファイルシステム5-1、5-2のディレクトリ構造を重ね合わせる場合、例えば、パス/DIR1/FILE2は、両ディレクトリ構造で名前が一致するので(両ディレクトリ構造に存在するので)、一つに合成される。これに対して、例えば、パス/DIR1/FILE1は名前が一致しない(一つのディレクトリ構造にしか存在しない)ので、元のまま残される。この結果、投影ファイルシステムのディレクトリ構造は、図2の下方に示すものとなる。なお、投影ファイルシステムにおいてパス/DIR1/FILE2で特定されるファイルと対応する実ファイルシステム上のファイルとしては、実ファイルシステム5-1上のパス/DIR1/FILE2で特定されるファイルと、実ファイルシステム5-2上のパス/DIR1/FILE2で特定されるファイルとの2つが存在する。 The projection file system control means 3 manages the plurality of real file systems 5-1 and 5-2 as one transparent virtual file system in which their directory structures are superimposed. Note that the directory structure is superimposed by combining paths with matching names into one, and leaving paths with unmatched names as they are. When the directory structures of the real file systems 5-1 and 5-2 shown in FIG. 2 are overlapped, for example, the path / DIR1 / FILE2 has the same name in both directory structures (since it exists in both directory structures) Synthesized into one. On the other hand, for example, the path / DIR1 / FILE1 does not match the name (it exists only in one directory structure), so it remains as it is. As a result, the directory structure of the projection file system is as shown in the lower part of FIG. In the projection file system, the file specified by the path / DIR1 / FILE2 and the corresponding file on the actual file system include the file specified by the path / DIR1 / FILE2 on the actual file system 5-1 and the actual file. There are two files: the file specified by path / DIR1 / FILE2 on system 5-2.
また、投影ファイルシステム制御手段3は、ユーザプロセス2からの処理要求に応じた処理を行うものであり、要求受け付け手段3-1と、処理対象ファイル決定手段3-2と、要求処理手段3-3と、次世代ファイル作成手段3-4とを備えている。
The projection file system control means 3 performs processing in response to a processing request from the
要求受け付け手段3-1は、ユーザプロセス2からのデータ読み込み要求、第1のデータ書き込み要求、第2のデータ書き込み要求を受け付ける機能を有する。
The request accepting unit 3-1 has a function of accepting a data read request, a first data write request, and a second data write request from the
処理対象ファイル決定手段3-2は、要求受け付け手段3-1が受け付けたデータ読み込み要求、第1のデータ書き込み要求、あるいは、第2のデータ書き込み要求によって指定された投影ファイルシステム上のファイルと対応する実ファイルシステム5-1、5-2上のファイルの内、最も優先度の高いファイルを優先度テーブル4を参照して求める機能を有する。なお、本実施の形態では、登録日時が新しいファイルほど、優先度が高いとする。 The processing target file determining unit 3-2 corresponds to the file on the projection file system specified by the data reading request, the first data writing request, or the second data writing request received by the request receiving unit 3-1. Among the files on the actual file systems 5-1 and 5-2, the file having the highest priority is obtained by referring to the priority table 4. In the present embodiment, it is assumed that a file with a new registration date / time has a higher priority.
要求処理手段3-3は、処理対象ファイル決定手段3-2が求めたファイルを利用して要求受け付け手段3-1が受け付けた処理要求に応じた処理を行う機能を有する。より具体的には、要求受け付け手段3-1が受け付けた処理要求がデータ読み込み要求である場合には、処理対象ファイル決定手段3-2が求めたファイルからデータを読み込み、ユーザプロセス2に返却する。また、要求受け付け手段3-1が受け付けた処理要求が第1のデータ書き込み要求である場合には、処理対象ファイル決定手段3-2が求めたファイルに、上記処理要求によって要求されているデータを書き込む。また、要求受け付け手段3-1が受け付けた処理要求が第2のデータ書き込み要求である場合には、処理対象ファイル決定手段3-2が求めたファイルを示す情報を含んだ次世代ファイル作成要求を次世代ファイル作成手段3-4に渡して次世代のファイルを作成させ、次世代ファイル作成手段3-4によって作成された次世代のファイルに要求されたデータを書き込む。
The request processing unit 3-3 has a function of performing processing according to the processing request received by the request receiving unit 3-1 using the file obtained by the processing target file determining unit 3-2. More specifically, when the processing request received by the request receiving unit 3-1 is a data read request, data is read from the file obtained by the processing target file determining unit 3-2 and returned to the
次世代ファイル作成手段3-4は、要求処理手段3-3から渡された次世代ファイル作成要求中の情報によって特定されるファイルを、第2のデータ書き込み要求によって指定されたファイルと対応するファイルが存在しない実ファイルシステムの内の一つにコピーすることにより、次世代のファイルを作成する。また、作成した次世代のファイルの優先度(登録日時)に関する情報を優先度テーブル4に追加登録する。 The next-generation file creation means 3-4 corresponds to the file specified by the information in the next-generation file creation request passed from the request processing means 3-3 and the file specified by the second data write request. Create a next generation file by copying it to one of the real file systems that don't exist. In addition, information regarding the priority (registration date) of the created next-generation file is additionally registered in the priority table 4.
なお、投影ファイルシステム制御手段3は、コンピュータによって実現可能であり、コンピュータによって実現する場合は、例えば次のようにする。コンピュータを投影ファイルシステム制御手段3として機能させるためのプログラムを記録したディスク、半導体メモリ、その他の記録媒体を用意し、コンピュータに上記プログラムを読み取らせる。コンピュータは、読み取ったプログラムに従って自身の動作を制御することにより、自コンピュータ上に投影ファイルシステム制御手段3を実現する。 The projection file system control means 3 can be realized by a computer, and when realized by a computer, for example, as follows. A disk, a semiconductor memory, and other recording media recording a program for causing the computer to function as the projection file system control means 3 are prepared, and the computer reads the program. The computer realizes the projection file system control means 3 on its own computer by controlling its own operation according to the read program.
次に、本実施の形態の動作について説明する。 Next, the operation of the present embodiment will be described.
先ず、ユーザプロセス2からデータ読み込み要求が発行されたときの動作について説明する。
First, an operation when a data read request is issued from the
ユーザプロセス2からのデータ読み込み要求は、要求受け付け手段3-1によって受け付けられる。今、例えば、データ読み込み要求によって、投影ファイルシステム上のファイル(/mount-point/DIR1/FILE2)が指定されているとする。
A data read request from the
処理対象ファイル決定手段3-2は、優先度テーブル4を参照し、上記ファイルと対応する実ファイルシステム5-1、5-2上のファイル(/mnt/pfs/FS1/DIR1/FILE2と、/mnt/pfs/FS2/DIR1/FILE2)の中から優先度の最も高いファイルを選択する。今、例えば、実ファイルシステム5-1、5-2上の該当するファイルの登録日時が、2008/10/xx、2008/09/yyであるとすると、処理対象ファイル決定手段3-2は、実ファイルシステム5-1上のファイル(/mnt/pfs/FS1/DIR1/FILE2)を選択することになる。なお、投影ファイルシステム上のファイルと対応する実ファイルシステム5-1、5-2を表す情報は、投影ファイルシステム上のファイルを表す情報(/mount-point/DIR1/FILE2など)の内、/mount-point/を/mnt/pfs/FS1/、/mnt/pfs/FS2/に置き換えることにより機械的に求めることができる。 The processing target file determining unit 3-2 refers to the priority table 4, and refers to the files (/ mnt / pfs / FS1 / DIR1 / FILE2, Select the file with the highest priority from mnt / pfs / FS2 / DIR1 / FILE2). Now, for example, if the registration date and time of the corresponding file on the real file systems 5-1 and 5-2 is 2008/10 / xx, 2008/09 / yy, the processing target file determination means 3-2 The file (/ mnt / pfs / FS1 / DIR1 / FILE2) on the real file system 5-1 is selected. The information representing the actual file systems 5-1 and 5-2 corresponding to the files on the projection file system is the information representing the files on the projection file system (such as / mount-point / DIR1 / FILE2). It can be obtained mechanically by replacing mount-point / with / mnt / pfs / FS1 /, / mnt / pfs / FS2 /.
要求処理手段3-3は、処理対象ファイル決定手段3-2によって実ファイルシステム5-1上のファイル(/mnt/pfs/FS1/DIR1/FILE2)が選択されると、そこからデータを読み込み、ユーザプロセス2へ返却する。
When the file (/ mnt / pfs / FS1 / DIR1 / FILE2) on the real file system 5-1 is selected by the processing target file determination unit 3-2, the request processing unit 3-3 reads data from the selected file. Return to
次に、ユーザプロセス2から第1のデータ書き込み要求が入力された場合の動作について説明する。ユーザプロセス2からの第1のデータ書き込み要求は、要求受け付け手段3-1によって受け付けられる。今、例えば、第1のデータ書き込み要求によって、投影ファイルシステム上のファイル(/mount-point/DIR1/FILE2)が指定されているとする。
Next, an operation when a first data write request is input from the
処理対象ファイル決定手段3-2は、データ読み込み要求が入力された際と同様の動作を行い、優先度が最も高いファイルとして実ファイルシステム5-1上のファイル(/mnt/pfs/FS1/DIR1/FILE2)を選択する。 The processing target file determination unit 3-2 performs the same operation as when a data read request is input, and the file on the real file system 5-1 (/ mnt / pfs / FS1 / DIR1 Select / FILE2).
要求処理手段3-3は、処理対象ファイル決定手段3-2によって選択された実ファイルシステム5-1上のファイル(/mnt/pfs/FS1/DIR1/FILE2)に対して、ユーザプロセス2によって要求されたデータを書き込む。また、優先度テーブル4に登録されている、上記ファイルの優先度に関する情報を現在日時に更新する。
The request processing means 3-3 requests the
次に、ユーザプロセス2から第2のデータ書き込み要求が発行された場合の動作について説明する。ユーザプロセス2からの第2のデータ書き込み要求は、要求受け付け手段3-1によって受け付けられる。今、例えば、第2のデータ書き込み要求によって、投影ファイルシステム上のファイル(/mount-point/DIR1/FILE2)が指定されているとする。処理対象ファイル決定手段3-2は、データ読み込み要求が入力された際と同様の動作を行い、優先度が最も高いファイルとして実ファイルシステム5-1上のファイル(/mnt/pfs/FS1/DIR1/FILE2)を選択する。
Next, an operation when a second data write request is issued from the
要求処理手段3-3は、処理対象ファイル決定手段3-2によって選択されたファイル(/mnt/pfs/FS1/DIR1/FILE2)を示す情報を含んだ次世代ファイル作成要求を次世代ファイル作成手段3-4に渡す。 The request processing unit 3-3 generates a next-generation file creation request including information indicating the file (/ mnt / pfs / FS1 / DIR1 / FILE2) selected by the processing target file determination unit 3-2. Pass to 3-4.
次世代ファイル作成手段3-4は、要求処理手段3-3から渡された次世代ファイル作成要求中の情報によって特定されるファイル(/mnt/pfs/FS1/DIR1/FILE2)を、第2のデータ書き込み要求によって指定された投影ファイルシステム上のファイル(/mount-point/DIR1/FILE2)と対応するファイルが存在しない実ファイルシステムの内の一つにコピーすることにより、次世代のファイルを作成する。また、作成した次世代のファイルの優先度(登録日時)に関する情報を優先度テーブル4に追加登録する。なお、コピー先にする実ファイルシステムは、例えば、最も空き容量の多い実ファイルシステム、あるいは、負荷の最も低い実ファイルシステムとすることができる。また、全ての実ファイルシステム5-1、5-2上にファイル(/mount-point/DIR1/FILE2)と対応するファイルが存在する場合には、例えば、次のような処理を行う。即ち、ファイル(/mount-point/DIR1/FILE2)と対応する実ファイルシステム5-1、5-2上のファイルの内、優先度が最も低いファイルを削除し、該削除したファイルの代わりに要求処理手段3-3によって指定されているファイルをコピーする。また、削除したファイルの優先度の代わりに、次世代のファイルの優先度を優先度テーブル4に登録する。 The next generation file creation means 3-4 uses the file (/ mnt / pfs / FS1 / DIR1 / FILE2) specified by the information in the next generation file creation request passed from the request processing means 3-3 as the second Create the next generation file by copying it to one of the actual file systems that do not have a file corresponding to the file (/ mount-point / DIR1 / FILE2) on the projection file system specified by the data write request To do. In addition, information regarding the priority (registration date) of the created next-generation file is additionally registered in the priority table 4. The actual file system to be copied can be, for example, an actual file system with the largest available capacity or an actual file system with the lowest load. Further, when the file (/ mount-point / DIR1 / FILE2) and the file corresponding to all the real file systems 5-1 and 5-2 exist, for example, the following processing is performed. That is, the file with the lowest priority among the files on the real file systems 5-1 and 5-2 corresponding to the file (/ mount-point / DIR1 / FILE2) is deleted, and a request is made instead of the deleted file. Copy the file specified by processing means 3-3. In addition, the priority of the next-generation file is registered in the priority table 4 instead of the priority of the deleted file.
要求処理手段3-3は、次世代ファイル作成手段3-4によって次世代のファイルが作成されると、そのファイルにデータを書き込む。また、優先度テーブル4に登録されている、上記ファイルの優先度に関する情報を現在日時に更新する。 When the next generation file is created by the next generation file creation means 3-4, the request processing means 3-3 writes data in the file. Further, the information on the priority of the file registered in the priority table 4 is updated to the current date and time.
本実施の形態によれば、複数の実ファイルシステムから構成される仮想的な投影ファイルシステムにおいて、どの実ファイルシステム上に存在するファイルをユーザにアクセスさせるのかをファイル単位で制御することが可能になるという効果を得ることができる。その理由は、実ファイルシステム上のファイルに優先度を付与しておき、この優先度に基づいてアクセス先にするファイルを決定するようにしているからである。 According to the present embodiment, in a virtual projection file system composed of a plurality of real file systems, it is possible to control in units of files which files on the real file system are to be accessed by the user. The effect of becoming can be obtained. The reason is that a priority is given to a file on the real file system, and a file to be accessed is determined based on this priority.
更に、本実ファイルシステムによれば、ファイルの世代管理を行うことが可能になる効果がある。その理由は、ユーザプロセス2から入力された第2のデータ書き込み要求に応答して、第2の書き込み要求によって指定されたファイルに対応する実ファイルシステム上のファイルの内で最も優先度の高いファイルを優先度テーブル4を参照して求め、この求めたファイルを、第2のデータ書き込み要求によって指定されたファイルと対応するファイルが存在しない実ファイルシステムの内の一つにコピーすることにより、次世代のファイルを作成し、更に、上記次世代のファイルに関する登録日時を優先度テーブル4に登録するようにしているからである。
Further, according to the real file system, it is possible to perform generation management of files. The reason is that, in response to the second data write request input from the
更に、本実施の形態では、第2の書き込み要求によって指定されたファイルと対応するファイルが存在しない実ファイルシステムが複数存在する場合は、その内の最も空き容量が大きい実ファイルシステムあるいは最も負荷が低い実ファイルシステムに次世代のファイルを作成するようにしているので、特定の実ファイルシステムに負荷が集中しないようにすることができる。 Furthermore, in the present embodiment, when there are a plurality of real file systems in which there is no file corresponding to the file specified by the second write request, the real file system having the largest free space or the largest load among them. Since the next generation file is created in a low real file system, it is possible to prevent the load from being concentrated on a specific real file system.
[本発明の第2の実施の形態]
次に、本発明の第2の実施の形態について説明する。
[Second embodiment of the present invention]
Next, a second embodiment of the present invention will be described.
図3を参照すると、本発明の第2の実施の形態にかかるオペレーティングシステム100は、ユーザプロセス10と、仮想ファイルシステム20と、ユーザ空間ファイルシステム30と、実ファイルシステム群40と、投影ファイルシステム機構50とを含む。なお、本実施の形態では、オペレーティングシステム100はUNIX(登録商標)であるとする。また、以降PFSを投影ファイルシステム(Projection File System)を指す略語とする。
Referring to FIG. 3, an operating system 100 according to the second embodiment of the present invention includes a
実ファイルシステム群40は、実ファイルシステム41と、実ファイルシステム42を含む。なお、各実ファイルシステム41、42中の全てのディレクトリには、PFS制御情報ファイル53が格納されており、該ディレクトリ中の各ファイルについてファイル名、PFS登録日時が含まれる。PFS登録日時によって世代が管理される。PFS制御情報ファイル53の一例を図4に示す。 The real file system group 40 includes a real file system 41 and a real file system 42. Note that a PFS control information file 53 is stored in all directories in each real file system 41 and 42, and the file name and PFS registration date and time are included for each file in the directory. Generations are managed by PFS registration date and time. An example of the PFS control information file 53 is shown in FIG.
図3の投影ファイルシステム機構50は、PFS制御手段51と、PFSリンク情報テーブル52とを含む。PFSリンク情報テーブル52は、openされたファイル毎のリンク情報を保持するテーブルである。リンク情報には、ファイル名、世代保護フラグ、書き込みフラグ、実ファイルパス、オープンカウンタが含まれる。PFSリンク情報テーブル52の一例を図5に示す。また、投影ファイルシステム機構50は、複数の実ファイルシステム41、42を、それらのディレクトリ構造が重ね合わされた透過型の仮想的な一つの投影ファイルシステムとして管理する。 The projection file system mechanism 50 of FIG. 3 includes PFS control means 51 and a PFS link information table 52. The PFS link information table 52 is a table that holds link information for each opened file. The link information includes a file name, a generation protection flag, a write flag, an actual file path, and an open counter. An example of the PFS link information table 52 is shown in FIG. In addition, the projection file system mechanism 50 manages the plurality of real file systems 41 and 42 as one transmissive virtual projection file system in which their directory structures are superimposed.
ユーザプロセス10は、全てのファイルアクセス処理を仮想ファイルシステム(VFS;Virtual File System)20に対して依頼する。
The
仮想ファイルシステム20は、一つのオペレーティングシステム上で複数のファイルシステムを統一的に扱うために、個々のファイルシステムが提供するインタフェース間の相違を隠蔽し、共通のインタフェースを提供する仮想的なファイルシステムであり、実ファイルシステム41と、実ファイルシステム42と、ユーザ空間ファイルシステム(FUSE;Filesystem in Userspace)30に対し、ユーザからのファイルアクセス処理の依頼を行う。仮想ファイルシステムはLinux等におけるVFSで既に実現・普及しており、本実施の形態においても投影ファイルシステムの実現にあたり、この仮想ファイルシステムによって統一されたインタフェースが提供されるものとする。
The
ユーザ空間ファイルシステム30は、PFS制御手段51を呼び出し、実ファイルシステム41と、実ファイルシステム42に対してファイルアクセス処理を行う。この場合、PFS制御手段51は、仮想ファイルシステム20を通して実際のファイルアクセス処理を行う。一般にファイルシステムは、オペレーティングシステムが提供するread/write等のシステムコールの先でカーネル空間で動作しており、カーネル空間でファイルシステムを構築するには多大な手間と制約が発生する。ユーザ空間ファイルシステムは、ユーザ空間でファイルシステムを構築するための一連の機構であり、Linux等におけるFUSEで既に実現・普及しており、本実施の形態においても投影ファイルシステム機構50をユーザ空間で実現するために、このユーザ空間ファイルシステム30を備えているものとする。従って、投影ファイルシステム機構50をカーネル空間に設ける場合には、ユーザ空間ファイルシステム30は不要となる。
The user space file system 30 calls the PFS control means 51 and performs file access processing on the real file system 41 and the real file system 42. In this case, the PFS control means 51 performs actual file access processing through the
PFS制御手段51は、PFSリンク情報テーブル52の当該ファイルエントリ、ならびに、PFS制御情報ファイル53に対し、情報の参照、及び、更新を行う。 The PFS control means 51 refers to and updates information for the file entry in the PFS link information table 52 and the PFS control information file 53.
次に、本実施の形態の動作について説明する。 Next, the operation of the present embodiment will be described.
まず、ユーザによるファイルアクセス要求がVFS20を通してどのようにPFS制御手段51に通知され、処理が実行されるかを説明する。次に、ユーザによるファイルアクセスの延長で、どのようにVFSオペレーションがコールされ、PFS制御手段51がどのように処理を行うかを、図6〜図25を用いて説明する。特に、各VFSオペレーションの処理の詳細については、図13〜図25にフローチャートを記載する。なお、以降の実施例ではファイルシステムを構成するすべての動作について網羅しておらず、本発明において実現される世代管理について重要となる8つの一般的なファイルアクセス処理(新規write/上書きwrite/追記write/read/rename/mkdir/rmdir/unlink)について述べる。
First, a description will be given of how a file access request by a user is notified to the PFS control means 51 through the
●ユーザ要求によるVFSオペレーションのPFS制御手段51への通知と実行結果返却 ● Notification to the PFS control means 51 of VFS operation by user request and return of execution result
1.ユーザによるファイルアクセスの延長でVFSオペレーションがユーザプロセス10からVFS20に発行される。
2.VFS20は、発行されたオペレーションをFUSE30に対して転送する。
3.FUSE30は、発行されたオペレーションをPFS制御手段51に対して転送する。
4.PFS制御手段51は、発行されたオペレーションの処理を行い、結果をFUSE30に通知する。
5.FUSE30、VFS20を通してユーザプロセス10に処理結果が通知される。
1. A VFS operation is issued from the
2. The
3. The FUSE 30 transfers the issued operation to the PFS control means 51.
4). The PFS control means 51 processes the issued operation and notifies the FUSE 30 of the result.
5. The processing result is notified to the
●新規ファイルへの書き込み ● Writing to a new file
1.ユーザプロセス10は、open関数を実行する。
1. The
1-1.ユーザプロセス10は、open関数内で、書き込み対象ファイルの属性取得を要求(getattr)する。PFS制御手段51は、最新世代ファイル検索ロジックに従って最新世代ファイルを検索し(図13のステップS1301)、その情報をユーザプロセス10に返却する(ステップS1302がno、S1304)。最新世代ファイル検索ロジックについては、図24を参照して後で説明する。
1-1. The
1-2.ユーザプロセス10は、open関数内で、ファイルが存在しないことを確認し、ファイルの作成を要求(mknod)する。PFS制御手段51は、次世代ファイルの作成先決定ロジック(後述;図25)に従ってファイルの作成先となる実ファイルシステムを決定し(図22のステップS2201)、ファイルを作成し(ステップS2202)、PFS制御情報ファイル53を作成し、ファイル名とPFS登録日付を登録する(ステップS2203)。
1-2. The
1-3.ユーザプロセス10は、open関数内で、書き込み対象ファイルの属性取得を要求(getattr)し、新規作成したファイルの情報を取得する。PFS制御手段51は、最新世代のファイルを検索し、その情報をユーザプロセス10に返却する(図13のステップS1301〜S1303)。
1-3. In the open function, the
1-4.ユーザプロセス10は、open関数内で、新規作成したファイルのオープンを要求(open)する(図6)。PFS制御手段51は、PFSリンク情報テーブル52にエントリを作成する。当該エントリには、PFS上のファイル名と世代保護フラグと書き込みフラグと実ファイル名とオープンカウントとを登録する(図14のステップS1401〜S1406)。他プロセスによってすでにオープン済なら、エントリを取得し、書き込みフラグをONにし、オープンカウントをインクリメントする(ステップS1401がyes、S1407〜S1409、S1406)。他プロセスによって書き込みオープン済の場合(ステップS1408がyes)は、異常を通知する。
1-4. The
2.ユーザプロセス10は、write関数を実行する。
2. The
2-1.ユーザプロセス10は、write関数内で、オープンしたファイルについて、オフセットとバッファを指定して書き込みを要求(write)する(図9)。PFS制御手段51は、PFSリンク情報テーブル52上の対応するエントリから実ファイル名を取得し、指定されたバッファからデータを取得して、指定されたオフセットから書き込む(図17のステップS1701、S1702、S1708)。
2-1. In the write function, the
3.ユーザプロセス10はすべてのデータを書き込むまで2.を繰り返し、完了後、close関数を実行する。
3. The
3-1.ユーザプロセス10は、close関数内で、ファイルのreleaseを要求(release)する(図7)。PFS制御手段51は、PFSリンク情報テーブル52上の当該ファイルに対応するエントリのオープンカウントをデクリメントし、0であればエントリを削除する(図18のステップS1801〜S1804)。まだオープンしているプロセスが残っていれば、書き込みフラグをOFFにし、世代保護フラグをONにする(ステップS1803がno、S1805がyes、S1806)。
3-1. The
●既存ファイルの切り詰めと書き込み ● Truncation and writing of existing files
1.ユーザプロセス10は、open関数を実行する。
1. The
1-1.ユーザプロセス10は、open関数内で、書き込み対象ファイルの属性取得を要求(getattr)する。PFS制御手段51は、最新世代ファイルを検索し、その情報をユーザプロセス10に返却する(図13、ステップS1301、S1302がyes、S1303)。
1-1. The
1-2.ユーザプロセス10は、ファイルの有無やアクセス権のチェック等を行い、ファイルサイズの変更(サイズを0にする)を要求(truncate)する(図12)。PFS制御手段51は、最新世代のファイルを検索し(図15のステップS1501)、ファイルサイズが0でなく、指定されたサイズと現在のサイズが異なるならば(ステップS1502、S1503が共にno)、次世代ファイルの作成先決定ロジック(後述)に従ってファイルの作成先となる実ファイルシステムを決定し、ファイルを指定されたサイズ分コピーし、PFS制御情報ファイル53を作成し、ファイル名とPFS登録日付を登録する(ステップS1505〜1507)。ファイルサイズが0かつ、指定されたサイズも0ならば(ステップS1502、S1504が共にyes)、なにもしない。
1-2. The
1-3.ユーザプロセス10は、open関数内で、書き込み対象ファイルの属性取得を要求(getattr)し、新規作成したファイルの情報を取得する。PFS制御手段51は、最新世代のファイルを検索し、その情報をユーザプロセス10に返却する(図13のステップS1301〜S1303)。
1-3. In the open function, the
1-4.ユーザプロセス10は、open関数内で、ファイルのオープンを要求(open)する(図6)。PFS制御手段51は、PFSリンク情報テーブル52にエントリを作成する。当該エントリには、PFS上のファイル名と世代保護フラグと書き込みフラグと実ファイル名とオープンカウントとを登録する(図14のステップS1401〜S1406)。他プロセスによってすでにオープン済なら、エントリを取得し、書き込みフラグをONにし、オープンカウントをインクリメントする(ステップS1401がyes、S1407〜S1409、S1406)。他プロセスによって書き込みオープン済の場合(ステップS1408がyes)は、異常を通知する。
1-4. The
2.ユーザプロセス10は、write関数を実行する。
2. The
2-1.ユーザプロセス10は、write関数内で、オープンしたファイルについて、オフセットとバッファを指定して書き込みを要求(write)する(図9)。PFS制御手段51は、PFSリンク情報テーブル52上の対応するエントリから実ファイル名を取得し、指定されたバッファからデータを取得して、指定されたオフセットから書き込む(図17のステップS1701、S1702、S1708)。
2-1. In the write function, the
3.ユーザプロセス10はすべてのデータを書き込むまで2.を繰り返し、完了後、close関数を実行する。
3. The
3-1.ユーザプロセス10は、close関数内で、ファイルのreleaseを要求(release)する(図7)。PFS制御手段51は、PFSリンク情報テーブル52上の当該ファイルに対応するエントリのオープンカウントをデクリメントし(図18のステップS1801、S1802)、0であればエントリを削除する(ステップS1803がyes、S1804)。まだオープンしているプロセスが残っていれば(ステップS1803がno、S1805がyes)、書き込みフラグをOFFにし、世代保護フラグをONにする(ステップS1806)。
3-1. The
●既存ファイルの更新・追記 ● Update and append to existing files
1.ユーザプロセス10は、open関数を実行する。
1. The
1-1.ユーザプロセス10は、open関数内で、書き込み対象ファイルの属性取得を要求(getattr)する。PFS制御手段51は、最新世代ファイルを検索し、その情報をユーザプロセス10に返却する(図13のステップS1301〜S1303)。
1-1. The
1-2.ユーザプロセス10は、open関数内で、ファイルのオープンを要求(open)する(図6)。PFS制御手段51は、PFSリンク情報テーブル52にエントリを作成する。当該エントリには、PFS上のファイル名と世代保護フラグと書き込みフラグと実ファイル名とオープンカウントとを登録する(図14のステップS1401〜S1406)。他プロセスによってすでにオープン済なら、エントリを取得し、書き込みフラグをONにし、オープンカウントをインクリメントする(ステップS1401がyes、S1407〜S1409、S1406)。他プロセスによって書き込みオープン済の場合(ステップS1408がyes)は、異常を通知する。
1-2. The
2.ユーザプロセス10は、write関数を実行する。
2. The
2-1.ユーザプロセス10は、write関数内で、オープンしたファイルについて、オフセットとバッファを指定して書き込みを要求(write)する(図9)。PFS制御手段51は、PFSリンク情報テーブル52上の対応するエントリから実ファイル名を取得し、指定されたバッファからデータを取得して、指定されたオフセットから書き込む(図17のステップS1701、S1702がno、S1708)。
2-1. In the write function, the
3.ユーザプロセス10はすべてのデータを書き込むまで2.を繰り返し、完了後、close関数を実行する。
3. The
3-1.ユーザプロセス10は、close関数内で、ファイルのreleaseを要求(release)する(図7)。PFS制御手段51は、PFSリンク情報テーブル52上の当該ファイルに対応するエントリのオープンカウントをデクリメントし(図18のステップS1801、S1802)、0であればエントリを削除する(ステップS1803がyes、S1804)。まだオープンしているプロセスが残っていれば(ステップS1803がno)、書き込みフラグをOFFにし、世代保護フラグをONにする(ステップS1805がyes、S1806)。
3-1. The
●ファイルの読み込み ● Reading files
1.ユーザプロセス10は、open関数を実行する。
1. The
1-1.ユーザプロセス10は、open関数内で、読み込み対象ファイルの属性取得を要求(getattr)する。PFS制御手段51は、最新世代ファイルを検索し(図13のステップS1301)、その情報をユーザプロセス10に返却する(ステップS1302がyes、S1303)。
1-1. The
1-2.ユーザプロセス10は、open関数内で、ファイルのオープンを要求(open)する(図6)。PFS制御手段51は、PFSリンク情報テーブル52にエントリを作成する。当該エントリには、PFS上のファイル名と世代保護フラグと書き込みフラグと実ファイル名とオープンカウントを登録する(図14のステップS1401〜S1406)。他プロセスによってすでにオープン済なら(ステップS1401がyes、S1407がno)、エントリの取得と、オープンカウントのインクリメントのみを行う(ステップS1406)。他プロセスによって書き込みオープン済の場合(ステップS1408がyes)は、異常を通知する。
1-2. The
2.ユーザプロセス10は、read関数を実行する。
2. The
2-1.ユーザプロセス10は、read関数内で、オープンしたファイルについて、オフセットとバッファを指定して読み込み込みを要求(read)する(図8)。PFS制御手段51は、PFSリンク情報テーブル52上の対応するエントリから実ファイル名を取得し、指定されたオフセットから指定されたサイズ分データを読み込んで返却する(図16のステップS1601、S1602)。
2-1. In the read function, the
3.ユーザプロセス10はすべてのデータを読み込むまで2.を繰り返し、完了後、close関数を実行する。
3. The
3-1.ユーザプロセス10は、close関数内で、ファイルのreleaseを要求(release)する(図7)。PFS制御手段51は、PFSリンク情報テーブル52上の当該ファイルに対応するエントリのオープンカウントをデクリメントし(図18のステップS1801、S1802)。0であればエントリを削除する(ステップS1803がyes、S1804)。
3-1. The
●リネーム ● Rename
1.ユーザプロセス10は、rename関数を実行する。
1. The
1-1.ユーザプロセス10は、rename関数の中で、新規ファイル名の属性取得を要求(getattr)する。PFS制御手段51は、最新世代のファイルを検索し、その情報をユーザプロセス10に返却する(図13のステップS1301〜S1303)。
1-1. The
1-2.ユーザプロセス10は、rename関数の中で、旧ファイル名の属性取得を要求(getattr)する。PFS制御手段51は、最新世代のファイルを検索し、その情報をユーザプロセス10に返却する(図13のステップS1301〜1303)。
1-2. The
1-3.ユーザプロセス10は、rename関数の中で、新・旧ファイル名を指定してファイル名の変更を要求(rename)する(図11)。PFS制御手段51は、すべての旧世代ファイルを一時的なファイル名にリネームし(図23のステップS2301〜S2304)、最新世代ファイルを新ファイル名にリネームし(ステップS2305)、すべての旧世代ファイルを新ファイル名にリネームし、PFS制御情報ファイル53のエントリを更新する(ステップS2306〜S2308)。
1-3. In the rename function, the
●ディレクトリ作成 ● Directory creation
1.ユーザプロセス10は、mkdir関数を実行する。
1. The
1-1.ユーザプロセス10は、mkdir関数の中で、新規ディレクトリ名の属性取得を要求(getattr)する。PFS制御手段51は、最新世代のファイルを検索し、その情報をユーザプロセス10に返却する(図13のステップS1301、S1302がno、S1304)。
1-1. The
1-2.ユーザプロセス10は、mkdir関数の中で、ディレクトリ名が存在しないことを確認し、ディレクトリの作成を要求(mkdir)する。PFS制御手段51は、実ファイルシステム群40の全ての実ファイルシステム41、42について、対応するパス名でディレクトリ作成を繰り返す(図20のステップS2001〜S2004)。このとき、指定されたパス名がファイルとして存在した場合(ステップS2002、S2005がそれぞれyes、no)、それまでに作成したディレクトリを全て削除して(ステップS2006)、異常を返却する。
1-2. The
●ディレクトリ削除 ● Directory deletion
1.ユーザプロセス10は、rmdir関数を実行する。
1. The
1-1.ユーザプロセス10は、rmdir関数の中で、ディレクトリ名の属性取得を要求(getattr)する。PFS制御手段51は、最新世代のファイルを検索し、その情報をユーザプロセス10に返却する(図13のステップS1301〜S1303)。
1-1. The
1-2.ユーザプロセス10は、rmdir関数の中で、ディレクトリ名が存在することを確認し、ディレクトリの削除を要求(rmdir)する。PFS制御手段51は、実ファイルシステム群40の全ての実ファイルシステム41、42について(図21のステップS2101)、対応するパス名でディレクトリ削除を繰り返す(ステップS2102〜S2105)。このとき、指定されたパスが空のディレクトリ以外だった場合(ステップS2103がno)、異常を返却する。
1-2. The
●ファイル削除 ● File deletion
1.ユーザプロセス10は、unlink関数を実行する。
1. The
1-1.ユーザプロセス10は、unlink関数の中で、削除対象ファイルの属性取得を要求(getattr)する。
1-1. The
1-2.ユーザプロセス10は、unlink関数の中で、削除できるファイルならば、ファイルの削除を要求(unlink)する(図10)。PFS制御手段51は、すべての旧世代ファイルを削除し(図19のステップS1901〜S1905)、最後に最新世代ファイルを削除する(ステップS1906)。PFS制御情報ファイル53のエントリの削除(ステップS1907)は、ファイル削除の都度行う。
1-2. If the
●最新世代検索ロジック(図24) ● Latest generation search logic (Fig. 24)
投影ファイルシステム上のパスによって指定されたファイルと対応する実ファイルシステム41、42上のファイルの中から最新世代のファイルを検索する場合、先ず、ファイルを示すパスをエントリに分解する(図24のステップS2401)。例えば、パスが/pfs/DIR1/FILE2である場合には、pfs、DIR1、FILE2に分解する。その後、先頭のエントリから検索を開始する(ステップS2402)。例えば、/pfsが投影ファイルシステムのマウントポイントの場合、/pfs/DIR1から検索を開始する。 When the latest generation file is searched from the files on the real file systems 41 and 42 corresponding to the file specified by the path on the projection file system, first, the path indicating the file is decomposed into entries (FIG. 24). Step S2401). For example, when the path is / pfs / DIR1 / FILE2, it is decomposed into pfs, DIR1, and FILE2. Thereafter, the search is started from the first entry (step S2402). For example, if / pfs is the mount point of the projection file system, the search is started from / pfs / DIR1.
次に、全ての実ファイルシステム41、42について対応するパスを調べる(ステップS2403)。例えば、実ファイルシステム41、42の名前がそれぞれFS1、FS2であり、そのマウントポイントが/mntの場合、/mnt/FS1/DIR1と/mnt/FS2/DIR1とから検索を開始する。 Next, the paths corresponding to all the real file systems 41 and 42 are checked (step S2403). For example, if the names of the real file systems 41 and 42 are FS1 and FS2, respectively, and the mount point is / mnt, the search is started from / mnt / FS1 / DIR1 and / mnt / FS2 / DIR1.
そして、対応するエントリが見つからなかった場合(ステップS2404がyes)は、指定されたパスがどの実ファイルシステム41、42にも存在しないことになるので、異常終了とする。また、例えば、/mnt/*/DIR1が実ファイルシステム41ではファイル、実ファイルシステム42ではディレクトリである場合のように、同名でディレクトリとファイルが混在する場合(ステップS2405がyes)も、異常終了とする。また、/mnt/FS1/DIR1がファイルとして存在するのに、/mnt/FS1/DIR1/FILE2が指定されている場合のように、前のループでファイルを発見した場合(ステップS2406がyes)も、異常終了とする。 If the corresponding entry is not found (yes in step S2404), the designated path does not exist in any of the real file systems 41 and 42, so that the process ends abnormally. In addition, for example, when / mnt / * / DIR1 is a file in the real file system 41 and a directory in the real file system 42, a directory and a file with the same name are mixed (step S2405 is yes). And Also, when / mnt / FS1 / DIR1 exists as a file but a file is found in the previous loop (step S2406 is yes), as in / mnt / FS1 / DIR1 / FILE2 is specified. , Abnormal termination.
ステップS2404〜S2406の判断結果が全てnoである場合は、全てのエントリを調べたか否かを判定する(ステップS2407)。そして、調べていない場合(ステップS2407がno)は、次のエントリを調べる(ステップS2403)。なお、/mnt/*/DIR1の次は、/mnt/*/DIR1/FILE2を調べる。これに対して、全てのエントリを調べ終わった場合(ステップS2407がyes)は、PFS制御情報ファイル53を参照して、最後に発見したエントリ毎に、そのエントリに対応するファイルの登録日時(なければ、ファイル自身の作成日時)を求め、登録日時が最も新しいファイルを選択する(ステップS2408)。例えば、実ファイルシステム41における該当するファイルFILE2の登録日時が2008/10/xxであり、実ファイルシステム42における該当するファイルFILE2の登録日時が2008/09/yyであれば、実ファイルシステム41上のファイルFILE2を選択することになる。 If all the determination results in steps S2404 to S2406 are no, it is determined whether all entries have been examined (step S2407). If not checked (step S2407 is no), the next entry is checked (step S2403). Note that / mnt / * / DIR1 / FILE2 is checked after / mnt / * / DIR1. On the other hand, if all entries have been checked (yes in step S2407), the PFS control information file 53 is referred to, and for each entry found last, the registration date and time of the file corresponding to that entry (must be For example, the creation date of the file itself is obtained, and the file with the newest registration date is selected (step S2408). For example, if the registration date and time of the corresponding file FILE2 in the real file system 41 is 2008/10 / xx and the registration date and time of the corresponding file FILE2 in the real file system 42 is 2008/09 / yy, File FILE2 will be selected.
●次世代ファイルの作成先決定ロジック(図25) ● Next generation file creation logic (Figure 25)
全実ファイルシステム41、42について(図25のステップS2501)、対象ファイルの有無と存在する場合は登録日付をPFS制御情報ファイル53から取得する(ステップS2502、S2503)。存在する世代数がユーザ定義の数未満の場合(ステップS2504がno)は、対象ファイルが存在しない実ファイルシステムから、ユーザ定義のポリシーに基づいて次世代ファイルの作成先の実ファイルシステムを決定する(ステップS2506)。存在する世代数がユーザ定義の数以上の場合(ステップS2504がyes)は、対象ファイルが存在しない実ファイルシステムと、最も古い世代が存在する実ファイルシステムを加えた中から、ユーザ定義のポリシーに基づいて次世代ファイルの作成先の実ファイルシステムを決定する(ステップS2505)。ユーザ定義のポリシーとしては、負荷が低いファイルシステム優先、空き容量が大きいファイルシステム優先、などが考えられる。 For all the real file systems 41 and 42 (step S2501 in FIG. 25), the presence date and the presence of the target file are acquired from the PFS control information file 53 (steps S2502 and S2503). If the number of existing generations is less than the user-defined number (step S2504 is no), the real file system of the next-generation file creation destination is determined based on the user-defined policy from the real file system in which the target file does not exist. (Step S2506). If the number of existing generations is greater than or equal to the user-defined number (step S2504 is yes), add the real file system where the target file does not exist and the real file system where the oldest generation exists to the user-defined policy. Based on this, the real file system of the next file generation destination is determined (step S2505). As the user-defined policy, a file system priority with a low load, a file system priority with a large free space, and the like can be considered.
本実施の形態によれば、特定の実ファイルシステムに負荷が集中しないようにすることが可能になるという効果を得ることができる。その理由は、実ファイルシステム上の各ファイルの登録日時(作成日時)が登録されたPFS制御情報ファイル53を備え、ここに登録されている登録日時に基づいて処理対象にするファイルを決定するようにしているかれである。また、本実施の形態によれば、ファイルの世代管理を行うことが可能になるという効果を得ることができる。その理由は、ファイルに対してデータを書き込む際、新世代のファイルを作成し、この新世代のファイルにデータを書き込むようにしているからである。 According to the present embodiment, it is possible to obtain an effect that it is possible to prevent the load from being concentrated on a specific real file system. The reason is that the PFS control information file 53 in which the registration date and time (creation date and time) of each file on the real file system is registered is determined, and the file to be processed is determined based on the registration date and time registered here. He who is Further, according to the present embodiment, it is possible to obtain an effect that file generation management can be performed. The reason is that when writing data to a file, a new generation file is created and the data is written to this new generation file.
1…投影ファイルシステム管理装置
2…ユーザプロセス
3…投影ファイルシステム制御手段
3-1…要求受け付け手段
3-2…処理対象ファイル決定手段
3-3…要求処理手段
3-4…次世代ファイル作成手段
4…優先度テーブル
5…実ファイルシステム群
5-1〜5-N…実ファイルシステム
10…ユーザプロセス
20…仮想ファイルシステム(VFS)
30…ユーザ空間ファイルシステム(FUSE)
40…実ファイルシステム群
41、42…実ファイルシステム
50…投影ファイルシステム機構
51…PFS制御手段
52…PFSリンク情報テーブル
53…PFS制御情報ファイル
100…オペレーティングシステム
DESCRIPTION OF
3-1 ... Request acceptance means
3-2… Processing file decision means
3-3 ... Request processing means
3-4 ... Next generation file creation means 4 ... Priority table 5 ... Real file system group
5-1 to 5-N ... Real file system
10 ... User process
20 ... Virtual File System (VFS)
30 ... User space file system (FUSE)
40 ... Real file systems
41, 42 ... Real file system
50 ... Projection file system mechanism
51 ... PFS control means
52 ... PFS link information table
53 ... PFS control information file
100 ... Operating system
Claims (11)
該複数の実ファイルシステムで管理されているファイルそれぞれの優先度を示す優先度情報が登録された優先度テーブルと、
前記複数の実ファイルシステムを、それらのディレクトリ構造が重ね合わされた仮想的な一つの投影ファイルシステムとして管理すると共に、ユーザプロセスから入力された前記投影ファイルシステム上のファイルを指定した処理要求に応答して、前記指定されたファイルに対応する前記実ファイルシステム上のファイルの内で最も優先度の高いファイルを前記優先度テーブルを参照して求め、該求めたファイルに対して前記処理要求によって要求された操作を行う投影ファイルシステム制御手段とを備えた投影ファイルシステム管理装置であって、
前記処理要求として、コピー元とする前記投影ファイルシステム上のファイルを指定したコピー元指定データ書き込み要求が存在し、
前記投影ファイルシステム制御手段は、ユーザプロセスから入力されたコピー元指定データ書き込み要求に応答して、該コピー元指定データ書き込み要求によって指定されたファイルに対応する前記実ファイルシステム上のファイルの内で最も優先度の高いファイルを前記優先度テーブルを参照して求め、該求めたファイルを、前記コピー元指定データ書き込み要求によって指定されたファイルと対応するファイルが存在しない実ファイルシステムの内の一つにコピーすることにより次世代のファイルを作成し、該作成した次世代のファイルに対して前記コピー元指定データ書き込み要求によって要求された操作を行うと共に、前記優先度テーブルに前記次世代のファイルの優先度情報を登録することを特徴とする投影ファイルシステム管理装置。 Multiple real file systems,
A priority table in which priority information indicating the priority of each file managed by the plurality of real file systems is registered;
The plurality of real file systems are managed as one virtual projection file system in which their directory structures are superimposed, and responds to a processing request specifying a file on the projection file system input from a user process. The file having the highest priority among the files on the real file system corresponding to the specified file is obtained by referring to the priority table, and the requested file is requested by the processing request. a projection shadow file system management apparatus that includes a projection file system control means for performing an operation was,
And with the processing request, the projection File exists the specified copy source specification data write request on the system to be the copy source,
The projection file system control means responds to the copy source designation data write request input from the user process, and among the files on the real file system corresponding to the file designated by the copy source designation data write request. A file having the highest priority is obtained by referring to the priority table, and the obtained file is one of the real file systems in which no file corresponding to the file designated by the copy source designated data write request exists. The next generation file is created by copying to the next generation file, the operation requested by the copy source designation data write request is performed on the created next generation file, and the next generation file is stored in the priority table. Projection file system management characterized by registering priority information Location.
前記処理要求として、データの読み込み先にする前記投影ファイルシステム上のファイルを指定したデータ読み込み要求と、データの書き込み先にする前記投影ファイルシステム上のファイルを指定したデータ書き込み要求とが存在することを特徴とする投影ファイルシステム管理装置。 The projection file system management apparatus according to claim 1,
As the processing request, a data read request designating the file on the projection file system to read destination data, and the data write request designating the file on the projection file system to write destination data A projection file system management apparatus characterized by existing.
前記ファイルの優先度情報は、ファイルの作成時期に関する情報であり、作成時期が新しいファイルほど、優先度が高いことを特徴とする投影ファイルシステム管理装置。 In the projection file system management apparatus according to claim 1 or 2,
The file priority information is information relating to the creation time of a file, and a file having a higher creation priority has a higher priority.
前記投影ファイルシステム制御手段は、前記複数の実ファイルシステムの中に、前記コピー元指定データ書き込み要求によって指定されたファイルと対応するファイルが存在しない実ファイルシステムが複数存在する場合は、該複数の実ファイルシステム中から、最も空き容量が大きい実ファイルシステムあるいは最も負荷が低い実ファイルシステムを選択することを特徴とする投影ファイルシステム管理装置。 The projection file system management apparatus according to claim 3 , wherein
The projection file system control means, when there are a plurality of real file systems in which a file corresponding to the file designated by the copy source designation data write request does not exist in the plurality of real file systems, A projection file system management apparatus, wherein an actual file system having the largest available capacity or an actual file system having the lowest load is selected from the actual file systems.
前記投影ファイルシステム制御手段は、前記複数の実ファイルシステムの全てに前記コピー元指定データ書き込み要求によって指定されたファイルと対応するファイルが存在する場合は、該対応するファイルの内、最古世代のファイルが存在する実ファイルシステムを選択することを特徴とする投影ファイルシステム管理装置。 In the projection file system management apparatus according to claim 4 ,
If the file corresponding to the file specified by the copy source specifying data write request exists in all of the plurality of real file systems, the projection file system control means is the oldest generation of the corresponding files. A projection file system management apparatus that selects an actual file system in which a file exists.
前記複数の実ファイルシステムを、それらのディレクトリ構造が重ね合わされた仮想的な一つの投影ファイルシステムとして管理する第1のステップと、
前記コンピュータが、ユーザプロセスから入力された前記投影ファイルシステム上のファイルを指定した処理要求に応答して、前記指定されたファイルに対応する前記実ファイルシステム上のファイルの内で最も優先度の高いファイルを前記優先度テーブルを参照して求め、該求めたファイルに対して前記処理要求によって要求された操作を行う第2のステップとを含む投影ファイルシステム管理方法であって、
前記処理要求として、コピー元とする前記投影ファイルシステム上のファイルを指定したコピー元指定データ書き込み要求が存在し、且つ、
前記コンピュータが、ユーザプロセスから入力されたコピー元指定データ書き込み要求に応答して、該コピー元指定データ書き込み要求によって指定されたファイルに対応する、前記実ファイルシステム上のファイルの内で最も優先度の高いファイルを前記優先度テーブルを参照して求め、該求めたファイルを、前記コピー元指定データ書き込み要求によって指定されたファイルと対応するファイルが存在しない実ファイルシステムの内の一つにコピーすることにより次世代のファイルを作成し、該作成した次世代のファイルに対して前記コピー元指定データ書き込み要求によって要求された操作を行うと共に、前記優先度テーブルに前記次世代のファイルの優先度情報を登録する第3のステップを含むことを特徴とする投影ファイルシステム管理方法。 A computer comprising a plurality of real file systems and a priority table in which priority information indicating the priority of each file managed by the plurality of real file systems is registered.
A first step of managing the plurality of real file systems as one virtual projection file system in which their directory structures are superimposed;
In response to the processing request specifying the file on the projection file system input from the user process, the computer has the highest priority among the files on the real file system corresponding to the specified file. seeking file by referring to the priority table, and a second step of performing an operation requested by the processing request to the determined file a including projecting the shadow file system management method,
The processing by the request, there is the copy source and the projection copy source specification data write request designating the file on the file system, and,
In response to the copy source designation data write request input from the user process, the computer has the highest priority among the files on the real file system corresponding to the file designated by the copy source designation data write request. A file having a high file size is obtained by referring to the priority table, and the obtained file is copied to one of the real file systems in which no file corresponding to the file designated by the copy source designated data write request exists. To create a next-generation file, perform the operation requested by the copy-source-designated data write request for the created next-generation file, and store priority information on the next-generation file in the priority table. A projection file system comprising a third step of registering Management method.
前記処理要求として、データの読み込み先にする前記投影ファイルシステム上のファイルを指定したデータ読み込み要求と、データの書き込み先にする前記投影ファイルシステム上のファイルを指定したデータ書き込み要求とが存在することを特徴とする投影ファイルシステム管理方法。 The projection file system management method according to claim 6 ,
As the processing request, a data read request designating the file on the projection file system to read destination data, and the data write request designating the file on the projection file system to write destination data A projection file system management method characterized by existing.
前記ファイルの優先度情報は、ファイルの作成時期に関する情報であり、作成時期が新しいファイルほど、優先度が高いことを特徴とする投影ファイルシステム管理方法。 The projection file system management method according to claim 6 or 7 ,
The file priority information is information relating to the creation time of a file, and a file with a newer creation time has a higher priority.
前記コンピュータを、前記複数の実ファイルシステムによりそれらのディレクトリ構造が重ね合わされた仮想的な一つの投影ファイルシステムを構成すると共に、ユーザプロセスから入力された前記投影ファイルシステム上のファイルを指定した処理要求に応答して、前記指定されたファイルに対応する前記実ファイルシステム上のファイルの内で最も優先度の高いファイルを前記優先度テーブルを参照して求め、該求めたファイルに対して前記処理要求によって要求された操作を行う投影ファイルシステム制御手段として機能させるためのプログラムであって、
前記処理要求として、コピー元とする前記投影ファイルシステム上のファイルを指定したコピー元指定データ書き込み要求が存在し、
前記投影ファイルシステム制御手段は、ユーザプロセスから入力されたコピー元指定データ書き込み要求に応答して、該コピー元指定データ書き込み要求によって指定されたファイルに対応する前記実ファイルシステム上のファイルの内で最も優先度の高いファイルを前記優先度テーブルを参照して求め、該求めたファイルを、前記コピー元指定データ書き込み要求によって指定されたファイルと対応するファイルが存在しない実ファイルシステムの内の一つにコピーすることにより次世代のファイルを作成し、該作成した次世代のファイルに対して前記コピー元指定データ書き込み要求によって要求された操作を行うと共に、前記優先度テーブルに前記次世代のファイルの優先度情報を登録することを特徴とするプログラム。 A computer having a plurality of real file systems and a priority table in which priority information indicating priority levels of files managed by the plurality of real file systems is registered is caused to function as a projection file system management apparatus. A program for
The computer constitutes one virtual projection file system in which the directory structures are overlapped by the plurality of real file systems, and a processing request specifying a file on the projection file system input from a user process In response, the file having the highest priority among the files on the real file system corresponding to the designated file is obtained by referring to the priority table, and the processing request for the obtained file is obtained. a program to function as the projection file system control means for performing the requested operation by,
And with the processing request, the projection File exists the specified copy source specification data write request on the system to be the copy source,
The projection file system control means responds to the copy source designation data write request input from the user process, and among the files on the real file system corresponding to the file designated by the copy source designation data write request. A file having the highest priority is obtained by referring to the priority table, and the obtained file is one of the real file systems in which no file corresponding to the file designated by the copy source designated data write request exists. The next generation file is created by copying to the next generation file, the operation requested by the copy source designation data write request is performed on the created next generation file, and the next generation file is stored in the priority table. A program characterized by registering priority information.
前記処理要求として、データの読み込み先にする前記投影ファイルシステム上のファイルを指定したデータ読み込み要求と、データの書き込み先にする前記投影ファイルシステム上のファイルを指定したデータ書き込み要求とが存在することを特徴とするプログラム。 The program according to claim 9 ,
As the processing request, a data read request designating the file on the projection file system to read destination data, and the data write request designating the file on the projection file system to write destination data A program characterized by the existence.
前記ファイルの優先度情報は、ファイルの作成時期に関する情報であり、作成時期が新しいファイルほど、優先度が高いことを特徴とするプログラム。
The program according to claim 9 or 10 ,
The file priority information is information relating to the creation time of a file, and a file having a higher creation priority has a higher priority.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009084861A JP5481906B2 (en) | 2009-03-31 | 2009-03-31 | Projection file system management apparatus, projection file system management method, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009084861A JP5481906B2 (en) | 2009-03-31 | 2009-03-31 | Projection file system management apparatus, projection file system management method, and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010237939A JP2010237939A (en) | 2010-10-21 |
JP5481906B2 true JP5481906B2 (en) | 2014-04-23 |
Family
ID=43092194
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009084861A Active JP5481906B2 (en) | 2009-03-31 | 2009-03-31 | Projection file system management apparatus, projection file system management method, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5481906B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016136743A1 (en) | 2015-02-26 | 2016-09-01 | 三菱電機株式会社 | Rotating electric machine |
CN106302609B (en) | 2015-06-08 | 2020-02-28 | 阿里巴巴集团控股有限公司 | Access method and device |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07311701A (en) * | 1994-05-18 | 1995-11-28 | Canon Inc | Processor and method for information processing |
JP3595073B2 (en) * | 1995-08-28 | 2004-12-02 | 株式会社東芝 | Computer system and file management method used in the system |
JP2006268456A (en) * | 2005-03-24 | 2006-10-05 | Nec Corp | File management device, file management method and file management program |
JP2008226137A (en) * | 2007-03-15 | 2008-09-25 | Funai Electric Co Ltd | File management method and file management system |
JP2008269198A (en) * | 2007-04-19 | 2008-11-06 | Ize:Kk | Thin client operating system, thin client device, server-thin client system, and execution method of thin client operating system |
-
2009
- 2009-03-31 JP JP2009084861A patent/JP5481906B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2010237939A (en) | 2010-10-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7672981B1 (en) | Object classification and indexing of very large name spaces using grid technology | |
JP4157858B2 (en) | Parallel high-speed backup of storage area network (SAN) file systems | |
JP4414381B2 (en) | File management program, file management apparatus, and file management method | |
US7801850B2 (en) | System of and method for transparent management of data objects in containers across distributed heterogenous resources | |
US7752226B1 (en) | Reverse pathname lookup by inode identifier | |
US8135677B2 (en) | File management system and method | |
JP5656563B2 (en) | Document management system, document management system control method, and program | |
JP4749266B2 (en) | Backup control apparatus and method without duplication of information resources | |
US9158835B2 (en) | Method and system for offline indexing of content and classifying stored data | |
CN104714755B (en) | Snapshot management method and device | |
CN103109292B (en) | The system and method for Aggregation Query result in fault tolerant data base management system | |
US8965941B2 (en) | File list generation method, system, and program, and file list generation device | |
WO2012035588A1 (en) | Method for managing information processing system and data management computer system | |
JP5233233B2 (en) | Information search system, information search index registration device, information search method and program | |
JP5430164B2 (en) | Data management method and apparatus | |
US20060074865A1 (en) | System and method for scoping searches using index keys | |
WO2012140957A1 (en) | Information storage system and data replication method thereof | |
EP3333730A1 (en) | Data processing device, data processing program and data processing method | |
JP2008305094A (en) | Documentation management method and its apparatus | |
JP2009110260A (en) | File sharing system in cooperation with search engine | |
CN104618482A (en) | Cloud data access method, server, traditional storage device and architecture | |
JP2009064120A (en) | Search system | |
JP5481906B2 (en) | Projection file system management apparatus, projection file system management method, and program | |
JP2006268456A (en) | File management device, file management method and file management program | |
US20060004877A1 (en) | Method and system for data processing with data replication for the same |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120209 |
|
RD07 | Notification of extinguishment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7427 Effective date: 20120712 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20131021 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20131105 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20131218 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20140121 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140203 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5481906 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |