JP2009110477A - File management system and file management program - Google Patents

File management system and file management program Download PDF

Info

Publication number
JP2009110477A
JP2009110477A JP2007284863A JP2007284863A JP2009110477A JP 2009110477 A JP2009110477 A JP 2009110477A JP 2007284863 A JP2007284863 A JP 2007284863A JP 2007284863 A JP2007284863 A JP 2007284863A JP 2009110477 A JP2009110477 A JP 2009110477A
Authority
JP
Japan
Prior art keywords
file
deletion
unit
record
path
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2007284863A
Other languages
Japanese (ja)
Inventor
Tadahiro Miyaji
忠宏 宮路
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2007284863A priority Critical patent/JP2009110477A/en
Publication of JP2009110477A publication Critical patent/JP2009110477A/en
Pending legal-status Critical Current

Links

Images

Landscapes

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

Abstract

<P>PROBLEM TO BE SOLVED: To enable a file that time has not passed so much after its deletion to be restored. <P>SOLUTION: A deletion file management module 24 deletes a file of which deletion is required from application from name space, and registers the file in a queue table 24e together with the deletion date, but disk block in which data of the file is stored is kept protected. The deletion file management module 24 releases the disk block in which data of the file is stored whenever prescribed event occurs if there is a file whose preservation period exceeds prescribed upper limit value, and erases registration of the file to the queue table 24e. Further, when file path of that time of the file is appointed and restoration of the file is required, the deletion file management module 24 generates directory entry of the file if the file is registered in the queue table 24e. <P>COPYRIGHT: (C)2009,JPO&INPIT

Description

本発明は、ファイルを管理するための装置及びプログラムに、関する。   The present invention relates to an apparatus and a program for managing files.

周知のように、デスクトップにゴミ箱アイコンを備えているコンピュータがある。操作者は、不要なファイルのアイコンをゴミ箱アイコンにドラッグアンドドロップするだけで、ファイルを捨てることができる。しかし、そのファイルは、普段使用するディレクトリ群からゴミ箱のディレクトリへ単に移し替えられて見掛け上捨てられたに過ぎない。従って、そのファイルのデータは、最後に更新された状態のままディスクのデータ領域内で保存され、データ領域におけるそのファイルのデータが格納されているディスクブロックは、上書きされない占有状態(使用状態)のまま保護されている。このため、ファイルをゴミ箱に捨てただけでは、ディスクの空き領域が増えることはない。   As is well known, there are computers that have a trash can icon on their desktop. An operator can discard a file simply by dragging and dropping an icon of an unnecessary file to the trash can icon. However, the file was simply transferred to the trash directory from the usual directories and discarded. Therefore, the data of the file is stored in the data area of the disk in the last updated state, and the disk block in which the data of the file is stored in the data area is not overwritten. Protected. For this reason, simply discarding a file in the trash does not increase the free space on the disk.

また、周知のように、ファイルシステムは、アプリケーションから指示された削除[delete]を実行しても、ファイルとその階層的な分類(ディレクトリ)の体系である名前空間からファイル名を削除したり、ファイル名とそのデータが格納されているディスクブロックとの対応付けを解除したりするだけで、ファイルデータのデータ領域からの消去[erase]は行わない(例えば、非特許文献1参照)。削除対象のファイルのデータを格納し
ていたディスクブロックは、ファイルシステムによって、上書き可能な解放状態(未使用状態)に切り替えられるものの、そのファイルのデータは、格納したままとなっている。なお、解放状態のディスクブロックは、ディスクの空き領域に含まれるため、ゴミ箱への廃棄とは異なり、ディスクの空き領域は増えている。
In addition, as is well known, the file system deletes a file name from the name space that is a system of files and their hierarchical classification (directory) even if the delete [delete] instructed by the application is executed, Only the association between the file name and the disk block storing the data is canceled, and the file data is not erased from the data area (see, for example, Non-Patent Document 1). The disk block storing the data of the file to be deleted is switched to the overwritten release state (unused state) by the file system, but the file data remains stored. Since the released disk block is included in the free space of the disk, the free space of the disk is increased unlike the discarding to the trash box.

近年では、このようなファイルシステムの特性を利用して削除ファイルを復元させるファイル復元ツールが、開発されている。ファイル復元ツールは、基本的には、消去[erase]がなされずに残されているデータをデータ領域の中から探し出し、互いに同一のファ
イルを構成するものとして纏まるべきデータを特定し、特定したファイルデータのディスクブロックとファイル名とを関連付け、そのファイル名を名前空間に生成する。従って、削除したファイルは、そのデータが上書きされずにデータ領域に残ってさえいれば、復元することができる。
In recent years, a file restoration tool that restores a deleted file using such characteristics of the file system has been developed. The file restoration tool basically searches the data area for data that remains without being erased, identifies the data that should be grouped together to form the same file, and identifies the identified file. Associate a disk block of data with a file name, and generate the file name in the namespace. Therefore, the deleted file can be restored as long as the data remains in the data area without being overwritten.

そのファイルの復元は、復元の必要性が生じて初めて行われる。復元の必要性が生じなければ、何れ、削除したファイルの存在すらも忘れ去れることになる。その復元の必要性は、多くの場合、ファイルを削除して然程時間が経ってないうちに生じる。そのため、実用上、ファイルは、削除されてから暫くの間は、ディスク内に保存されている方が望ましい。   The file is restored only when the need for restoration arises. Eventually, even deleted files will be forgotten if there is no need for restoration. The need for restoration often occurs shortly after the file is deleted. Therefore, in practice, it is desirable that the file be stored in the disk for a while after being deleted.

しかしながら、ファイルシステムは、データ領域において解放状態にあるディスクブロックに対し、そのディスクブロックに残されているデータの事情を考慮せずに、データを上書きするようになっている。従って、削除してかなりの時間が経過していて復元の必要性が殆どないファイルのデータが依然として残されているにも拘わらず、削除して然程時間が経っていないファイルの復元が、そのファイルのデータの一部又は全てが既に別のファイルのデータの上書きによって消去されていて、復元できないこともある。   However, the file system overwrites data in a disk block that is in a released state in the data area without considering the circumstances of data remaining in the disk block. Therefore, it is possible to restore a file that has been deleted and not much time has passed even though a considerable amount of time has passed since the deletion and the data of the file that is hardly necessary to be restored still remains. Some or all of the data in the file may have already been erased by overwriting the data in another file and cannot be restored.

なお、特許文献1には、記憶媒体の空き領域を確保するためのツールが、開示されている。このツールは、何れかのファイルの書き込み時において大容量の記憶媒体の空き領域が不足していた場合に、参照された日にちが古いファイルをその大容量の記憶領域から退
避用の記憶媒体に退避して大容量の記憶媒体の空き領域を確保するとともに、何れかのファイル参照時にそのファイルが大容量の記憶媒体に存在しなかった場合に、そのファイルを退避用の記憶媒体から大容量の記憶媒体に戻すというものである。このツールによれば、プログラムを中断せずとも大容量の記憶媒体へのファイルの書き込みが可能となるが、削除して然程時間が経っていないファイルほど復元できるというものではない。
Patent Document 1 discloses a tool for securing a free area of a storage medium. This tool saves a file with the oldest reference date from the large-capacity storage area to the storage medium if there is not enough free space on the large-capacity storage medium when writing any file. To secure a free space in a large-capacity storage medium, and if the file does not exist in the large-capacity storage medium when any file is referenced, the file is stored in the large-capacity storage medium from the evacuation storage medium. It returns to the medium. According to this tool, it is possible to write a file to a large-capacity storage medium without interrupting the program, but it is not possible to restore a file that has not been deleted so much time.

“ファイルとは何か(含むディレクトリ)”、[online]、香川大学、[平成19年5月24日検索]、インターネット<URL:http://stwww.eng.kagawa-u.ac.jp/~imai/H17ComputerSystem/file-directory.html>“What is a file (including directory)”, [online], Kagawa University, [May 24, 2007 search], Internet <URL: http://stwww.eng.kagawa-u.ac.jp/ ~ imai / H17ComputerSystem / file-directory.html> 特開平03−078042号公報Japanese Patent Laid-Open No. 03-078042

本発明は、前述したような従来技術の有する問題点に鑑みてなされたものであり、その課題は、削除して然程時間が経っていないファイルを復元できるようにすることにある。   The present invention has been made in view of the problems of the prior art as described above, and an object of the present invention is to be able to restore a file that has been deleted and has not passed so long.

上記の課題を解決するために案出されたファイル管理装置は、ファイルとその階層的な分類の体系である名前空間の管理、ファイル名とそのデータが格納されているデータ領域内のディスクブロックとの対応付けの管理、及び、アプリケーションからのファイルアクセスの制御を行うため、何れかのファイルの削除をアプリケーションから受け付ける第1の受付部、その第1の受付部がファイルの削除を受け付けると、そのファイル名を名前空間から削除する第1の削除部、第1の受付部がファイルの削除を受け付けると、そのファイルを特定するためのファイル識別情報とファイルパスと削除日時とを対応付けたレコードをキューテーブルに登録する登録部、所定のイベントが発生すると、キューテーブルから、削除日時からその時点までの保存期間が所定の上限値を超過しているレコードを、抽出する抽出部、保存期間が所定の上限値を超過しているレコードを抽出部が抽出すると、そのレコード内のファイル識別情報にて特定されるファイルとデータ領域内のディスクブロックとの対応付けを解除して、そのファイルのデータが格納されているディスクブロックを解放する解放部、抽出部が抽出したレコードをキューテーブルから削除する第2の削除部、削除済のファイルの復元とファイルパスとを操作者から受け付ける第2の受付部、その第2の受付部が削除済のファイルの復元とファイルパスとを操作者から受け付けると、そのファイルパス内のディレクトリパスを検索条件として、キューテーブルを検索する検索部、及び、その検索部がレコードを検出した場合に、そのレコード内のファイル識別情報にて特定されるファイルを、当該ディレクトリパスにて特定されるディレクトリに生成する復元部を備えることを、特徴としている。   The file management device devised to solve the above problems is a management of a file and a name space that is a hierarchical classification system, a file name and a disk block in a data area in which data is stored. In order to perform management of association and control of file access from the application, a first reception unit that receives deletion of any file from the application, and when the first reception unit receives deletion of the file, When the first deletion unit that deletes the file name from the name space and the first reception unit accept the deletion of the file, a record that associates the file identification information for identifying the file, the file path, and the deletion date and time Registration part registered in the queue table, when a predetermined event occurs, from the queue table to the point in time Extraction unit that extracts records whose retention period exceeds a predetermined upper limit value, and when the extraction unit extracts records whose retention period exceeds a predetermined upper limit value, it is identified by the file identification information in that record A second unit that releases the association between the file to be recorded and the disk block in the data area, releases the disk block storing the file data, and deletes the record extracted by the extraction unit from the queue table The deletion unit, the second reception unit that receives the restoration and file path of the deleted file from the operator, and the second reception unit receives the restoration and file path of the deleted file from the operator. Using the directory path in the file path as a search condition, the search unit that searches the queue table, and when the search unit detects a record, The file identified by the file identification information in the record, further comprising: a restoring unit for generating a directory specified by the directory path is characterized.

このように構成されると、アプリケーションから削除が要求されたファイルは、名前空間からは削除されるが、その代わり、削除日時とともにキューテーブルに登録され、そのファイルのデータが格納されたディスクブロックは、保護されたままとなる。そして、所定のイベントが発生すると、保存期間が所定の上限値を超過したファイルの有無が確認され、保存期間が所定の上限値を超過したファイルがあれば、そのファイルのデータが格納されているディスクブロックが解放され、そのファイルは、キューテーブルから削除される。また、そのファイルの当時のファイルパスが指定されてそのファイルの復元が要求されると、そのファイルパス内のディレクトリパスに基づいてそのファイルがキューテーブルに登録されているか否かが検索され、検出されれば、そのファイルはそのディレクトリパスにて特定されるディレクトリに生成される。   When configured in this way, the file requested to be deleted by the application is deleted from the namespace, but instead, the disk block registered with the deletion date and time in the queue table and storing the file data Remain protected. When a predetermined event occurs, the existence of a file whose retention period exceeds a predetermined upper limit value is confirmed. If there is a file whose retention period exceeds a predetermined upper limit value, the data of the file is stored. The disk block is released and the file is deleted from the queue table. Also, when the file path of the file at that time is specified and the restoration of the file is requested, whether the file is registered in the queue table based on the directory path in the file path is searched and detected. Then, the file is generated in the directory specified by the directory path.

換言すると、削除が要求されたファイルは、名前空間からは削除され、名目上削除された状態になるものの、そのデータは一定期間保護され、その一定期間の経過後に、上書き
され得る状態になる。また、その一定期間内に復元が要求されれば、そのファイルは名前空間に復元される。
In other words, the file requested to be deleted is deleted from the name space and is nominally deleted, but the data is protected for a certain period and can be overwritten after the certain period. In addition, if restoration is requested within the certain period, the file is restored to the name space.

なお、以上の動作は、ファイル管理プログラム又はファイル管理方法によっても実現し得る。すなわち、本発明は、前述したファイル管理装置の各部と同等に機能する複数の手段としてコンピュータを動作させるファイル管理プログラムであってもよいし、それら各部と同等の機能を複数の手順としてコンピュータが実行するファイル管理方法であってもよい。   The above operation can also be realized by a file management program or a file management method. That is, the present invention may be a file management program that causes a computer to operate as a plurality of means that function in the same manner as each unit of the file management apparatus described above, or the computer executes functions equivalent to those units as a plurality of procedures. It may be a file management method.

従って、本発明によれば、削除して然程時間が経っていないファイルが復元できるようになる。   Therefore, according to the present invention, it is possible to restore a file that has been deleted and has not passed so long.

以下、本発明を実施するための形態について、添付図面を参照しながら、説明する。   Hereinafter, embodiments for carrying out the present invention will be described with reference to the accompanying drawings.

<構成>
本実施形態のコンピュータ10は、図1の構成図に示すように、液晶ディスプレイ等の表示ユニット10aと、キーボードやマウス等の入力ユニット10bと、これらユニット10a、10bが接続された本体とからなる。その本体は、ストレージユニット10cと、CPU[Central Processing Unit]10dと、メモリユニット10eとを、内蔵して
いる。ストレージユニット10cは、各種のプログラムやデータを読書自在にディスクに記憶するユニットである。CPU10dは、ストレージユニット10c内のプログラムに従って処理を行うユニットである。メモリユニット10eは、CPU10dがプログラムやデータをキャッシュしたり作業領域を展開したりするユニットである。
<Configuration>
As shown in the block diagram of FIG. 1, the computer 10 of this embodiment includes a display unit 10a such as a liquid crystal display, an input unit 10b such as a keyboard and a mouse, and a main body to which these units 10a and 10b are connected. . The main body includes a storage unit 10c, a CPU [Central Processing Unit] 10d, and a memory unit 10e. The storage unit 10c is a unit that stores various programs and data on a disk in a readable manner. The CPU 10d is a unit that performs processing according to a program in the storage unit 10c. The memory unit 10e is a unit in which the CPU 10d caches programs and data and develops a work area.

また、本実施形態のコンピュータ10は、ストレージユニット10cに、各種のアプリケーション(ソフトウエア)11、オペレーティングシステムソフトウエア12、各種のデバイスドライバ(プログラム)13を、記憶している。アプリケーション11は、或る機能を実現するためのプログラム及びデータの集合である。オペレーティングシステムソフトウエア12は、各種アプリケーションへのAPI[Application Programming Interface]やABI[Application Binary Interface]の提供、ストレージユニット10cや
メモリユニット10eの記憶領域の管理、プロセスやタスクの管理、ファイル管理や各種設定ツールやエディタといったユーティリティの各種アプリケーション11への提供、及び、画面出力を多重化するための複数タスクへのウインドウの割り当てを行うためのソフトウエアである。デバイスドライバ13は、オペレーティングシステムソフトウエア12からの指示に従って周辺機器を動作させるためのプログラムである。
Further, the computer 10 of the present embodiment stores various applications (software) 11, operating system software 12, and various device drivers (programs) 13 in the storage unit 10c. The application 11 is a set of programs and data for realizing a certain function. The operating system software 12 provides API [Application Programming Interface] and ABI [Application Binary Interface] to various applications, management of storage areas of the storage unit 10c and the memory unit 10e, management of processes and tasks, file management, and various types. This is software for providing various applications 11 such as setting tools and editors, and for assigning windows to a plurality of tasks for multiplexing screen output. The device driver 13 is a program for operating peripheral devices in accordance with instructions from the operating system software 12.

また、オペレーティングシステムソフトウエア12は、図2のメモリ展開図に示すように、バーチャルファイルシステム12a、複数のローカルファイルシステム12b、及び、インターフェース(プログラム)12cを、備えている。このうち、ローカルファイルシステム12bは、ストレージユニット10c内のディスクに記録されるデータをファイル単位で管理するためのプログラムである。ローカルファイルシステム12bは、少なくとも一つのストレージディスクを管轄し、その管轄するストレージディスク内のファイルについて、ファイルシステムの基本三機能である名前空間管理、ディスクブロック管理、アクセス制御を行う。   The operating system software 12 includes a virtual file system 12a, a plurality of local file systems 12b, and an interface (program) 12c, as shown in the memory development view of FIG. Among these, the local file system 12b is a program for managing data recorded on the disk in the storage unit 10c in units of files. The local file system 12b manages at least one storage disk, and performs name space management, disk block management, and access control, which are the basic three functions of the file system, for the files in the storage disk.

なお、名前空間管理は、ファイルとその階層的な分類(ディレクトリ)の体系である名前空間の管理を言い、ディスクブロック管理は、ファイルの名称とそのファイルを構成するデータが格納されているストレージディスク内のディスクブロックとの対応付けの管理
を言う。これら名前空間管理とディスクブロック管理のためとに用いられる管理情報は、一般にメタデータと称されており、このメタデータ12dは、ローカルファイルシステム12bによって、ストレージディスク内のファイルデータ領域以外の領域に格納されている。また、アクセス制御は、アプリケーション11からのファイルアクセス(ファイル操作の要求)に基づくディスクブロックに対するファイルの読出、書き込み、削除の実行制御と、アクセス権の排他制御とを言う。
Namespace management refers to management of a name space, which is a system of files and their hierarchical classification (directory), and disk block management refers to a storage disk in which a file name and data constituting the file are stored. The management of the association with the disk block inside. The management information used for name space management and disk block management is generally referred to as metadata. This metadata 12d is stored in an area other than the file data area in the storage disk by the local file system 12b. Stored. The access control refers to execution control of reading, writing, and deletion of a file with respect to a disk block based on file access (request for file operation) from the application 11 and exclusive control of access right.

このローカルファイルシステム12bには、そのメタデータの形態及びファイルのデータの形態、或いは、それらの管理方法の相違に応じて幾つかの種類が存在する。異なる種類のローカルファイルシステム12b同士は、互いのストレージディスク上のフォーマットが異なるため、同一のストレージディスクを管轄することはできない。本実施形態では、複数のストレージユニット10cをそれぞれ管理するために複数種類のローカルファイルシステム12bがオペレーティングシステムソフトウエア12に実装されているが、アプリケーション11がローカルファイルシステム12bの種類に応じてシステムコールを使い分けなくても済むように、オペレーティングシステムソフトウエア12には、バーチャルファイルシステム12aが実装されている。このバーチャルファイルシステム12aは、アプリケーション11からのファイルアクセスの要求を統一的なシステムコールで受け付け、アクセスが要求されたファイルを管理するローカルファイルシステム12bの固有な処理を識別して、そのローカルファイルシステム12bに引き渡すようになっている。また、デバイスドライバ13は、ストレージユニット10cの製造者や製品型に応じてコマンドやデータの形態が異なる。そのため、オペレーティングシステムソフトウエア12は、インターフェース12cを実装している。インターフェース12cは、ローカルファイルシステム12bとストレージユニット10cのデバイスドライバ13との間でI/O[Input/Output]のための情報の橋渡しをする。   There are several types of the local file system 12b depending on the form of the metadata and the form of the file data, or the difference between the management methods. Different types of local file systems 12b have different formats on their storage disks, and therefore cannot manage the same storage disk. In this embodiment, a plurality of types of local file systems 12b are implemented in the operating system software 12 in order to manage each of the plurality of storage units 10c. However, the application 11 performs system calls according to the types of the local file systems 12b. The operating system software 12 is provided with a virtual file system 12a so that it is not necessary to use the two separately. The virtual file system 12a accepts a file access request from the application 11 with a unified system call, identifies a unique process of the local file system 12b that manages the file for which access is requested, and determines the local file system. 12b is handed over. The device driver 13 has a different command and data format depending on the manufacturer and product type of the storage unit 10c. Therefore, the operating system software 12 has an interface 12c. The interface 12c bridges information for I / O [Input / Output] between the local file system 12b and the device driver 13 of the storage unit 10c.

本実施形態では、各ローカルファイルシステム12bには、本発明に係る機能が組み込まれている。図3の説明図に示すように、各ローカルファイルシステム12bは、従来機能として、アクセス制御モジュール(プログラム)21、名前空間管理モジュール22、及び、ディスクブロック管理モジュール23を含んでいるとともに、本発明に係る機能として、削除ファイル管理モジュール24を含んでいる。なお、アクセス制御モジュール21、名前空間管理モジュール22、及び、ディスクブロック管理モジュール23は、前述したアクセス制御、名前空間管理、及び、ディスクブロック管理を各々行うモジュールプログラムである。   In the present embodiment, the functions according to the present invention are incorporated in each local file system 12b. As shown in the explanatory diagram of FIG. 3, each local file system 12b includes an access control module (program) 21, a name space management module 22, and a disk block management module 23 as conventional functions. As a function related to the above, a deletion file management module 24 is included. The access control module 21, the name space management module 22, and the disk block management module 23 are module programs that respectively perform the above-described access control, name space management, and disk block management.

これらアクセス制御モジュール21、名前空間管理モジュール22、及び、ディスクブロック管理モジュール23の動作をより具体的に説明するため、ext[Extended File System]系のディスクフォーマットを図3に例示している。図3に例示したディスクフォーマットでは、ストレージユニット10c内のディスクは、幾つかのパーティションに分けられており、一つのパーティション内は、ブート領域と幾つかのブロックグループとに分けられている。ブート領域は、パーティションテーブルの検査などを行うブートローダが格納された領域であり、ブロックグループは、一つのパーティション内のブロックを所定個ずつのグループに分けたときの一つのブロックグループが占める領域である。さらに、一つのブロックグループは、メタデータ領域25とファイルデータ領域26とに分けられている。ファイルデータ領域26は、通常のファイルとディレクトリ(に関する情報が格納されたファイル)とが記録される領域である。メタデータ領域25は、メタデータ12dが記録される領域である。なお、このように1つのパーティションを幾つかのブロックグループに分けて、各ブロックグループにメタデータ領域25とファイルデータ領域26とを設定することは、図3に例示したext系のファイルシステム、及び、Solaris(米国サンソフト社商標)というオペレーティングシステムの主要なファイルシステムであるUFS[UNIX File System](UNIXはジオープングループの商標)で、行われて
いる。本発明は、このような1つのパーティションを複数のブロックグループ(UFSではシリンダグループ)に分ける(ローカル)ファイルシステムに限らず、1つのパーティション内にブート領域とメタデータ領域とファイルデータ領域とを備える(ローカル)ファイルシステムにも適用できる。なお、その種のファイルシステムとしては、例えば、PRIMECLUSTER GFS(富士通社商標)がある。
In order to more specifically describe the operations of the access control module 21, the namespace management module 22, and the disk block management module 23, an ext [Extended File System] disk format is illustrated in FIG. In the disk format illustrated in FIG. 3, the disk in the storage unit 10c is divided into several partitions, and one partition is divided into a boot area and several block groups. The boot area is an area in which a boot loader that performs partition table inspection or the like is stored, and the block group is an area occupied by one block group when the blocks in one partition are divided into predetermined groups. . Further, one block group is divided into a metadata area 25 and a file data area 26. The file data area 26 is an area in which normal files and directories (files storing information related to them) are recorded. The metadata area 25 is an area where the metadata 12d is recorded. In this way, dividing one partition into several block groups and setting the metadata area 25 and the file data area 26 in each block group means that the ext file system exemplified in FIG. The UFS [UNIX File System] (UNIX is a trademark of the Ziopen Group), which is a major file system of the operating system called Solaris (trademark of Sunsoft, USA). The present invention is not limited to a (local) file system that divides one partition into a plurality of block groups (cylinder groups in UFS), and includes a boot area, a metadata area, and a file data area in one partition. It can also be applied to (local) file systems. An example of such a file system is PRIMECLUSTER GFS (trademark of Fujitsu Limited).

図3に例示したext系のディスクフォーマットについて更に説明すると、メタデータ領域25は、図4のレイアウト図に示すように、スーパーブロック、グループディスクリプタ領域、ブロックビットマップ領域、iノードビットマップ領域、及び、iノードテーブル領域に分けられる。iノードテーブル領域は、ファイルデータ領域26に格納された複数のファイル(ディレクトリに係るファイルを含む)の属性情報が格納される領域である。このiノードテーブル領域には、ファイルの属性情報を格納するためのiノードが、所定個用意されており、各iノードは、並べて配置されている。従って、この領域内の各iノードは、概念的にiノードテーブル25aを構成している。ファイルデータ領域26内の各ファイルには、このiノードテーブル25aから一つのiノードが割り当てられる。なお、iノードに格納されるファイルの属性情報としては、iノード番号(ID[Identification])、パーミッション、オーナー、ファイルサイズ、修正日時、ポインタ(ファイルデータ領域26内の対応するファイル(又はディレクトリ)が格納されているディスクブロックの番号)などがある。但し、図4に示すiノードテーブル25aでは、iノード番号(ID)とポインタが記録されるフィールドが示され、その他のフィールドは図示を省略している。また、ルートディレクトリには、iノード番号(ID)が2番のiノードが割り当てられ、サブディレクトリには、3番以降のiノードが割り当てられている。なお、ディレクトリ(に関する情報が格納されたファイル)には、そのディレクトリに所属するサブディレクトリ又はファイルの名称とそれに割り当てられているiノードのiノード番号(ID)とが、対応付けられた状態で、ディレクトリエントリとして格納されている。iノードビットマップ領域は、iノードテーブル25a上の各iノードに対するファイル割り当ての有無が記録される領域である。ブロックビットマップ領域は、ファイルデータ領域26内の各ディスクブロックに対するデータ格納の有無が記録される領域である。グループディスクリプタ領域は、0番のブロックグループだけが持つ領域で、ブロックグループ内に関する情報が記録される領域である。スーパーブロックは、iノード数、ブロック数、空きブロック数、空きiノード数など、そのローカルファイルシステム12bの基本的な属性に関する情報が記録される領域である。   The ext-type disk format illustrated in FIG. 3 will be further described. As shown in the layout diagram of FIG. 4, the metadata area 25 includes a super block, a group descriptor area, a block bitmap area, an i-node bitmap area, and The i-node table area. The i-node table area is an area in which attribute information of a plurality of files (including files related to directories) stored in the file data area 26 is stored. In this i-node table area, a predetermined number of i-nodes for storing file attribute information are prepared, and the i-nodes are arranged side by side. Accordingly, each i-node in this area conceptually constitutes an i-node table 25a. Each file in the file data area 26 is assigned one i-node from this i-node table 25a. The file attribute information stored in the i-node includes i-node number (ID [Identification]), permission, owner, file size, modification date, pointer (corresponding file (or directory) in the file data area 26). The number of the disk block in which is stored). However, in the i-node table 25a shown in FIG. 4, the field in which the i-node number (ID) and the pointer are recorded is shown, and the other fields are not shown. In addition, an i-node having an i-node number (ID) of 2 is assigned to the root directory, and an i-node of No. 3 or later is assigned to the subdirectory. It should be noted that a directory (a file in which information related to it is stored) is associated with the name of a subdirectory or file belonging to that directory and the i-node number (ID) of the i-node assigned thereto. Stored as a directory entry. The i-node bitmap area is an area in which presence / absence of file allocation for each i-node on the i-node table 25a is recorded. The block bitmap area is an area in which the presence or absence of data storage for each disk block in the file data area 26 is recorded. The group descriptor area is an area possessed only by the 0th block group, and is an area in which information relating to the block group is recorded. The super block is an area in which information regarding basic attributes of the local file system 12b, such as the number of i-nodes, the number of blocks, the number of free blocks, the number of free i-nodes, and the like is recorded.

図3に示したアクセス制御モジュール21は、アプリケーション11からファイル読出又はファイル書き込みが要求されると、名前空間管理モジュール22とディスクブロック管理モジュール23とに処理対象のファイルとそのファイルのデータが格納されているディスクブロックの番号とを照会し、特定されたディスクブロックに対し、ファイルデータの読出と書き込みとを行うようになっている。また、アクセス制御モジュール21は、アプリケーション11からファイルの削除が要求された場合には、削除ファイル管理モジュール24にその旨通知するようになっている。   When the application 11 requests a file read or file write, the access control module 21 shown in FIG. 3 stores a file to be processed and data of the file in the name space management module 22 and the disk block management module 23. The number of the current disk block is inquired, and file data is read from and written to the specified disk block. Further, when the application 11 requests deletion of a file, the access control module 21 notifies the deletion file management module 24 to that effect.

名前空間管理モジュール22は、アクセス制御モジュール21からファイルの照会を受けると、メタデータ12d内のiノードテーブル25aとそれにポインティングされている各ディレクトリ(に関する情報が格納されたファイル)とに基づいてファイルパスから処理対象のファイルを特定するようになっている。また、名前空間管理モジュール22は、ファイル名やディレクトリ名の変更、又は、ファイルの所属先(ディレクトリ)の変更がアクセス制御モジュール21から指示されると、それら変更を名前空間に反映する処理を行うようになっている。   When the namespace management module 22 receives a file inquiry from the access control module 21, the name space management module 22 creates a file based on the i-node table 25a in the metadata 12d and each directory pointed to (a file storing information on the directory). The file to be processed is specified from the path. In addition, when the access control module 21 instructs the name space management module 22 to change the file name or directory name or to change the file affiliation (directory), the name space management module 22 performs a process of reflecting the change in the name space. It is like that.

ディスクブロック管理モジュール23は、アクセス制御モジュール21からディスクブ
ロックの照会を受けると、メタデータ12d内のiノードテーブル25aにおいて処理対象ファイルのポインタをアクセス制御モジュール21に通知するようになっている。また、ディスクブロック管理モジュール23は、ファイルの書き込みがアクセス制御モジュール21に指示されると、そのファイルの名称とそのファイルを構成するデータが格納されているストレージディスク内のディスクブロックとの対応付けを変更する処理を行うようになっている。
When receiving a disk block inquiry from the access control module 21, the disk block management module 23 notifies the access control module 21 of the pointer of the processing target file in the i-node table 25a in the metadata 12d. When the access control module 21 is instructed to write a file, the disk block management module 23 associates the name of the file with the disk block in the storage disk storing the data constituting the file. The process to change is performed.

なお、一般的に、メタデータ12dは、ストレージユニット10c内のディスクのメタデータ領域25から、メモリユニット10e上にキャッシュされるようになっている。アプリケーション11がファイルアクセスを行った場合には、名前空間管理モジュール22及びディスクブロック管理モジュール23は、メモリユニット10e上のメタデータ12dに対して更新を行う。そのメモリユニット10e上のメタデータ12dは、アプリケーション11からの要求、又は、定期的に、ストレージユニット10c内のディスクのメタデータ領域25に反映されるようになっている。   Generally, the metadata 12d is cached on the memory unit 10e from the metadata area 25 of the disk in the storage unit 10c. When the application 11 performs file access, the name space management module 22 and the disk block management module 23 update the metadata 12d on the memory unit 10e. The metadata 12d on the memory unit 10e is reflected on a request from the application 11 or periodically on the metadata area 25 of the disk in the storage unit 10c.

更に、図3に示した本発明に係る削除ファイル管理モジュール24は、後ほど詳述するように、ファイルの削除の遅延と実行とを制御するとともに、ファイルの復元の指示を受けて復元可否の判断と実行とを制御するモジュールプログラムである。この削除ファイル管理モジュール24は、図5の構成図に示すように、削除受付プログラム24a、空きブロック確保プログラム24b、ブロック解放制御プログラム24c、復元プログラム24d、キューテーブル24e、空きブロック数記憶領域24fを、含んでいる。   Further, the deleted file management module 24 according to the present invention shown in FIG. 3 controls the delay and execution of the deletion of the file and determines whether or not the file can be restored upon receiving the instruction to restore the file, as will be described in detail later. Is a module program that controls execution and execution. As shown in the configuration diagram of FIG. 5, the deletion file management module 24 includes a deletion reception program 24a, an empty block securing program 24b, a block release control program 24c, a restoration program 24d, a queue table 24e, and an empty block number storage area 24f. , Including.

削除受付プログラム24aは、アプリケーション11からファイル削除の指示を受け付けたアクセス制御モジュール21からの通知を受けて、削除ファイルをキューテーブル24eに登録するためのプログラムである。この削除受付プログラム24aに従ってCPU10dが実行する処理の内容については、図7を用いて後述する。   The deletion reception program 24a is a program for receiving a notification from the access control module 21 that has received a file deletion instruction from the application 11 and registering the deletion file in the queue table 24e. The contents of the process executed by the CPU 10d according to the deletion acceptance program 24a will be described later with reference to FIG.

空きブロック確保プログラム24bは、アプリケーション11からファイル書き込みの指示を受け付けたアクセス制御モジュール21からの通知を受けて、ファイルデータ領域26の空きブロックを確保するためのプログラムである。この空きブロック確保プログラム24bに従ってCPU10dが実行する処理の内容については、図8を用いて後述する。   The free block securing program 24 b is a program for securing a free block in the file data area 26 in response to a notification from the access control module 21 that has received a file write instruction from the application 11. The contents of the processing executed by the CPU 10d according to the empty block securing program 24b will be described later with reference to FIG.

ブロック解放制御プログラム24cは、キューテーブル24eに登録したファイルのデータが格納されているディスクブロックの解放の可否を判断して実行するためのプログラムである。このブロック解放制御プログラム24cに従ってCPU10dが実行する処理の内容については、図9及び図10を用いて後述する。   The block release control program 24c is a program for determining whether or not the disk block storing the file data registered in the queue table 24e can be released and executing it. The contents of processing executed by the CPU 10d according to the block release control program 24c will be described later with reference to FIGS.

復元プログラム24dは、アプリケーション11からファイル復元の指示を受け付けたアクセス制御モジュール21からの通知を受けて、そのファイルのキューテーブル24eへの登録を抹消するためのプログラムである。この復元プログラム24dに従ってCPU10dが実行する処理の内容については、図11を用いて後述する。   The restoration program 24d is a program for receiving a notification from the access control module 21 that has received a file restoration instruction from the application 11 and deleting the registration of the file in the queue table 24e. The contents of the process executed by the CPU 10d according to the restoration program 24d will be described later with reference to FIG.

キューテーブル24eは、アプリケーション11から削除が要求されたファイルを登録しておくためのテーブルである。図6のテーブル構造図に示すように、キューテーブル24e内の各レコードは、「キュー番号」、「iノード番号」、「ファイルパス」及び「削除日時」の各フィールドを、有している。「キュー番号」フィールドは、そのファイルの順番を特定するキュー番号が記録されるフィールドである。「iノード番号」フィールドは、そのファイルに割り当てられているiノードのiノード番号(ID)が記録されるフィールドである。「ファイルパス」フィールドは、そのファイルの削除直前のファイルパ
スが記録されるフィールドである。「削除日時」フィールドは、そのファイルについてアプリケーション11が削除を指示した時点の日時が記録されるフィールドである。
The queue table 24e is a table for registering a file requested to be deleted from the application 11. As shown in the table structure diagram of FIG. 6, each record in the queue table 24e has fields of “queue number”, “i-node number”, “file path”, and “deletion date”. The “queue number” field is a field in which a queue number that specifies the order of the files is recorded. The “i-node number” field is a field in which the i-node number (ID) of the i-node assigned to the file is recorded. The “file path” field is a field in which a file path immediately before deletion of the file is recorded. The “deletion date and time” field is a field in which the date and time when the application 11 instructs to delete the file is recorded.

空きブロック数記憶領域24fは、空きブロック数が記録される領域であり、メモリユニット10e上に生成される。なお、この空きブロック数記憶領域24fは、ローカルファイルシステムがストレージユニット10c内のディスクからメモリユニット10e上に複製したメタデータ12dの内部にあっても良い。ローカルファイルシステム12dが図3で例示したext系のファイルシステムである場合、空きブロック数記憶領域24fは、メモリユニット10eに複製(キャッシュ)されたメタデータ12dのスーパーブロック内に、生成される。   The empty block number storage area 24f is an area in which the number of empty blocks is recorded, and is generated on the memory unit 10e. The empty block number storage area 24f may be present in the metadata 12d copied by the local file system from the disk in the storage unit 10c onto the memory unit 10e. When the local file system 12d is the ext file system exemplified in FIG. 3, the free block number storage area 24f is generated in the super block of the metadata 12d copied (cached) in the memory unit 10e.

また、空きブロック数記憶領域24fには、2種類の空きブロック数が記録される。一方の内部向け空きブロック数は、一般的にメタデータ領域25に記録される空きブロック数であり、ファイルデータ領域26において未使用状態になっているディスクブロックの数に一致するものである。他方の外部向け空きブロック数は、ファイルデータ領域26において未使用状態になっているディスクブロックの数と、キューテーブル24eに登録されるファイルが格納されているディスクブロックの数とを合算した数に、一致している。   In addition, two types of empty block numbers are recorded in the empty block number storage area 24f. On the other hand, the number of internal free blocks is generally the number of free blocks recorded in the metadata area 25 and matches the number of unused disk blocks in the file data area 26. The number of external free blocks on the other side is the sum of the number of disk blocks unused in the file data area 26 and the number of disk blocks storing files registered in the queue table 24e. ,Match.

<処理>
オペレーティングシステムソフトウエア12内のファイルシステムに係るプログラム12a〜12cが起動されると、図5に示した各プログラム24a〜24dのうち、ブロック解放制御プログラム24cの実行が開始されてブロック解放制御プロセスが生成されるとともに、キューテーブル24eと空きブロック数記憶領域24fがメモリユニット10e上に生成されるようになっている。なお、ブロック解放制御プログラム24c以外のプログラム24a、24b、24dは、操作者の指示に基づいて起動されるいわゆるユーザプロセスからの要求に従って実行されるようになっている。
<Processing>
When the programs 12a to 12c related to the file system in the operating system software 12 are activated, the execution of the block release control program 24c among the programs 24a to 24d shown in FIG. At the same time, a queue table 24e and an empty block number storage area 24f are generated on the memory unit 10e. The programs 24a, 24b, and 24d other than the block release control program 24c are executed in accordance with a request from a so-called user process that is activated based on an instruction from the operator.

(削除処理)
まず、アクセス制御モジュール21が、アプリケーション11から(バーチャルファイルシステム12aを介して)削除指示を受け付けると、それを契機として、削除受付プログラム24aを起動させる。削除受付プログラム24aの開始後、図7の流れ図に示すように、CPU10dは、ステップS101において、アクセス制御モジュール21から、削除すべきとして指定されたファイルのファイルパスを受け取る。なお、このステップS101を実行するCPU10dは、前述した第1の受付部及び第1の受付手段に相当する。
(Deletion process)
First, when the access control module 21 receives a delete instruction from the application 11 (via the virtual file system 12a), the access control module 21 starts the delete reception program 24a. After the start of the deletion acceptance program 24a, as shown in the flowchart of FIG. 7, the CPU 10d receives the file path of the file designated to be deleted from the access control module 21 in step S101. Note that the CPU 10d that executes step S101 corresponds to the first reception unit and the first reception unit described above.

次のステップS102では、CPU10dは、ステップS101で受け取ったファイルパスからディレクトリパスを読み出し、そのディレクトリパスにて特定されるディレクトリから、削除が指定されたファイルのディレクトリエントリを削除するよう、名前空間管理モジュール22に指示する。なお、このステップS102を実行するCPU10dは、前述した第1の削除部及び第1の削除手段に相当している。   In the next step S102, the CPU 10d reads the directory path from the file path received in step S101, and deletes the directory entry of the file designated for deletion from the directory specified by the directory path. Instruct module 22. The CPU 10d that executes this step S102 corresponds to the first deletion unit and the first deletion unit described above.

次のステップS103では、CPU10dは、空きブロック数記憶領域24f内に記録される外部向け空きブロック数を、削除が指定されたファイルが格納されているディスクブロックの数だけ増加させることによって、更新する。   In the next step S103, the CPU 10d updates the number of external free blocks recorded in the free block number storage area 24f by increasing the number of disk blocks storing files designated for deletion. .

次のステップS104では、CPU10dは、図6のキューテーブル24eの末尾に、削除が指定されたファイルに係るレコードを、登録する。なお、このステップS104を実行するCPU10dは、前述した登録部及び登録手段に相当している。   In the next step S104, the CPU 10d registers a record relating to the file designated to be deleted at the end of the queue table 24e in FIG. The CPU 10d that executes this step S104 corresponds to the above-described registration unit and registration means.

次のステップS105では、CPU10dは、ブロック解放制御(プログラムに基づく)プロセス24cに、実行開始を指示する。その後、CPU10dは、図7に係る削除受付処理を終了する。   In the next step S105, the CPU 10d instructs the block release control (based on the program) process 24c to start execution. Thereafter, the CPU 10d ends the deletion acceptance process according to FIG.

この削除受付プログラム24aにより、ファイルの削除がアプリケーション11によって要求されると、そのファイルは、名前空間から削除され(ステップS102)、キューテーブル24eに登録されるとともに(ステップS104)、空きブロック数記憶領域24f内の外部向け空きブロック数が、そのファイルの分だけ増加する(ステップS103)。但し、空きブロック数記憶領域24f内の内部向け空きブロック数は、増加しない。   When the deletion request program 24a requests the application 11 to delete a file, the file is deleted from the name space (step S102), registered in the queue table 24e (step S104), and the number of free blocks is stored. The number of external free blocks in the area 24f increases by the amount of the file (step S103). However, the number of internal free blocks in the free block number storage area 24f does not increase.

(空きブロック確保処理)
また、アクセス制御モジュール21が、アプリケーション11から(バーチャルファイルシステム12aを介して)書き込み指示を受け付けると、それを契機として、空きブロック確保プログラム24bを起動させる。空きブロック確保プログラム24bの開始後、図8の流れ図に示すように、CPU10dは、ステップS201において、ファイルの書き込みに必要なブロック数を、ディスクブロック管理モジュール23に問い合わせる。そして、CPU10dは、そのディスクブロック管理モジュール23から、書き込みに必要なブロック数を取得すると、次のステップS202へ処理を進める。
(Free block allocation processing)
Further, when the access control module 21 receives a write instruction from the application 11 (via the virtual file system 12a), the free block reservation program 24b is activated in response to the write instruction. After the start of the free block securing program 24b, as shown in the flowchart of FIG. 8, the CPU 10d inquires of the disk block management module 23 about the number of blocks necessary for writing the file in step S201. And CPU10d will advance a process to the following step S202, if the number of blocks required for writing is acquired from the disk block management module 23. FIG.

ステップS202では、CPU10dは、空きブロック数記憶領域24fから内部向け空きブロック数を読み出す。   In step S202, the CPU 10d reads the number of empty blocks for the inside from the empty block number storage area 24f.

次のステップS203では、CPU10dは、ステップS202で読み出した内部向け空きブロック数が、ステップS201で取得した必要ブロック数以上であるか否かを、判別する。そして、内部向け空きブロック数が、ステップS201で取得した必要ブロック数未満であった場合、CPU10dは、ステップS203からステップS204へ処理を分岐させる。   In the next step S203, the CPU 10d determines whether or not the number of internal free blocks read in step S202 is equal to or larger than the necessary number of blocks acquired in step S201. If the number of internal free blocks is less than the required number of blocks acquired in step S201, the CPU 10d branches the process from step S203 to step S204.

ステップS204では、CPU10dは、ブロック解放制御(プログラムに基づく)プロセス24cに、実行開始を指示する。   In step S204, the CPU 10d instructs the block release control (based on the program) process 24c to start execution.

次のステップS205では、CPU10dは、ブロック解放制御プロセス24cから実行終了通知があるまで、待機する。そして、実行終了通知があると、CPU10dは、ステップS202へ処理を戻す。   In the next step S205, the CPU 10d stands by until an execution end notification is received from the block release control process 24c. When the execution end notification is received, the CPU 10d returns the process to step S202.

一方、ステップS203において、ステップS202で読み出した内部向け空きブロック数が、ステップS201で取得した必要ブロック数以上であった場合、CPU10dは、ステップS203からステップS206へ処理を進める。   On the other hand, in step S203, if the number of internal free blocks read in step S202 is equal to or greater than the required number of blocks acquired in step S201, the CPU 10d advances the process from step S203 to step S206.

ステップS206では、CPU10dは、ファイル書き込みの継続(と、その書き込みに必要なディスクブロックの割当と)を、アクセス制御モジュール21に指示する。その後、CPU10dは、図8に係る空きブロック確保処理を終了する。   In step S206, the CPU 10d instructs the access control module 21 to continue writing the file (and assign a disk block necessary for the writing). Thereafter, the CPU 10d ends the free block securing process according to FIG.

この空きブロック確保プログラム24bにより、ファイルの書き込みがアプリケーション11によって要求されると、そのファイルの書き込みが中断され、その間に、空きブロック数記憶領域24f内の内部向け空きブロック数が、書き込みに必要な量以上であるか否かが、確認される(ステップS203)。そして、内部向け空きブロック数が、書き込みに必要は量以上であれば、そのままファイルの書き込みが継続され(ステップS206)、内部向け空きブロック数が、書き込みに必要な量を下回っていれば、ブロック解放制御プロセス24cを実行させて内部向け空きブロック数を確保してから(ステップS20
4、S205)、ファイルの書き込みが継続される(ステップS206)。
When writing of a file is requested by the application 11 by the free block securing program 24b, the writing of the file is interrupted, and during that time, the number of internal free blocks in the free block number storage area 24f is necessary for writing. It is confirmed whether it is more than the amount (step S203). If the number of internal free blocks is greater than or equal to the amount necessary for writing, the file writing is continued as it is (step S206), and if the number of internal free blocks is less than the amount required for writing, the block The release control process 24c is executed to secure the number of internal free blocks (step S20).
4, S205), the file writing is continued (step S206).

(ブロック解放処理)
また、ブロック解放制御プロセス24cでは、図9及び図10の流れ図に示すように、CPU10dは、まず、ステップS301において、削除受付プログラム24a又は空きブロック確保プログラム24bから実行開始指示があったか否かを、判別する。そして、その実行開始指示がなかった場合、CPU10dは、ステップS301からステップS302へ処理を分岐させる。
(Block release processing)
In the block release control process 24c, as shown in the flowcharts of FIGS. 9 and 10, first, in step S301, the CPU 10d determines whether or not there has been an execution start instruction from the deletion acceptance program 24a or the free block reservation program 24b. Determine. If there is no execution start instruction, the CPU 10d branches the process from step S301 to step S302.

ステップS302では、CPU10dは、当該プロセス24cの開始後、又は、前回の時間計測終了後から、所定時間が経過したか否かを、判別する。そして、当該プロセス24cの開始後、又は、前回の時間計測終了後から、所定時間が経過していなかった場合、CPU10dは、ステップS302から処理を分岐させ、ステップS301へ処理を戻す。   In step S302, the CPU 10d determines whether or not a predetermined time has elapsed since the start of the process 24c or after the end of the previous time measurement. If the predetermined time has not elapsed since the start of the process 24c or the end of the previous time measurement, the CPU 10d branches the process from step S302 and returns the process to step S301.

これらステップS301及びS302の処理ループの実行中、削除受付プロセス24a又は空きブロック確保プロセス24bから実行開始指示があった場合、又は、当該プログラム24cを開始してから所定時間が経過した場合、CPU10dは、ステップS303へ処理を進める。   During execution of the processing loop of steps S301 and S302, if there is an execution start instruction from the deletion acceptance process 24a or the free block securing process 24b, or if a predetermined time has elapsed since the start of the program 24c, the CPU 10d Then, the process proceeds to step S303.

これらステップS301及びS302の処理ループの実行中、当該プロセス24cの開始後、又は、前回の時間計測終了後から、所定時間が経過した場合も、CPU10dは、ステップS303へ処理を進める。   During the execution of the processing loop of steps S301 and S302, the CPU 10d advances the process to step S303 even when a predetermined time has elapsed after the start of the process 24c or after the end of the previous time measurement.

ステップS303では、CPU10dは、検索条件なしで、図6のキューテーブル24eを検索する。   In step S303, the CPU 10d searches the queue table 24e of FIG. 6 without a search condition.

次のステップS304では、CPU10dは、キューテーブル24eからレコードが検出できたか否かを、判別する。そして、キューテーブル24eにレコードが一つも検出できなかった(登録されていなかった)場合、CPU10dは、ステップS304からステップS313へ処理を分岐させる。一方、キューテーブル24eからレコードが一つ以上検出できた場合、CPU10dは、第1の処理ループL1を実行する。   In the next step S304, the CPU 10d determines whether or not a record has been detected from the queue table 24e. If no record is detected (registered) in the queue table 24e, the CPU 10d branches the process from step S304 to step S313. On the other hand, when one or more records are detected from the queue table 24e, the CPU 10d executes the first processing loop L1.

第1の処理ループL1では、CPU10dは、図6のキューテーブル24eから検出したレコードに対し、一つずつ先頭から順に、ステップS305乃至S312の処理を、実行する。   In the first processing loop L1, the CPU 10d executes the processing of steps S305 to S312 one by one with respect to the records detected from the queue table 24e in FIG.

ステップS305では、CPU10dは、処理対象のレコード内の削除日時と、この時点での日時とから、保存期間を算出する。   In step S305, the CPU 10d calculates a retention period from the deletion date and time in the processing target record and the date and time at this time.

次のステップS306では、CPU10dは、ステップS305で算出した保存期間が所定の上限値を超過しているか否かを、判別する。そして、保存期間が所定の上限値を超過していた場合、CPU10dは、ステップS306からステップS309へ処理を進める。一方、保存期間が所定の上限値以下であった場合、CPU10dは、ステップS306からステップS307へ処理を分岐させる。   In the next step S306, the CPU 10d determines whether or not the storage period calculated in step S305 exceeds a predetermined upper limit value. If the retention period exceeds the predetermined upper limit value, the CPU 10d advances the process from step S306 to step S309. On the other hand, when the retention period is equal to or shorter than the predetermined upper limit value, the CPU 10d branches the process from step S306 to step S307.

ステップS307では、CPU10dは、空きブロック数記憶領域24fから内部向け空きブロック数を読み出す。   In step S307, the CPU 10d reads the number of internal free blocks from the free block number storage area 24f.

次のステップS308では、CPU10dは、ステップS307で読み出した内部向け
空きブロック数が所定の下限値以上であるか否かを、判別する。そして、内部向け空きブロック数が所定の下限値以上であった場合、CPU10dは、この処理対象以降の残りのレコードに対する第1の処理ループL1を行うことなく第1の処理ループL1から離脱し、図9のステップS313へ処理を進める。一方、内部向け空きブロック数が所定の下限値未満であった場合、CPU10dは、ステップS308からステップS309へ処理を分岐させる。なお、これらステップS301乃至S309を実行するCPU10dは、前述した抽出部及び抽出手段に相当している。
In the next step S308, the CPU 10d determines whether or not the number of internal free blocks read in step S307 is equal to or greater than a predetermined lower limit value. When the internal free block count is equal to or greater than the predetermined lower limit value, the CPU 10d leaves the first processing loop L1 without performing the first processing loop L1 for the remaining records after the processing target, The process proceeds to step S313 in FIG. On the other hand, if the number of internal free blocks is less than the predetermined lower limit value, the CPU 10d branches the process from step S308 to step S309. The CPU 10d that executes these steps S301 to S309 corresponds to the extraction unit and the extraction unit described above.

ステップS309では、CPU10dは、処理対象レコードにて特定されるファイルへのiノードの割り当てを解除するよう、名前空間管理モジュール22に指示する。なお、この指示を受けた名前空間管理モジュール22は、メタデータ領域のiノードテーブル領域から当該ファイルに関する情報を削除することとなる。   In step S309, the CPU 10d instructs the namespace management module 22 to cancel the allocation of the i-node to the file specified by the processing target record. Upon receiving this instruction, the name space management module 22 deletes information related to the file from the i-node table area of the metadata area.

次のステップS310では、CPU10dは、処理対象レコードにて特定されるファイルのデータが格納されているディスクブロックを解放するよう、ディスクブロック管理モジュール23に指示する。なお、この指示を受けたディスクブロック管理モジュール23は、メタデータ領域のブロックビットマップ領域を更新することとなる。なお、このステップS310を実行するCPU10dは、前述した解放部及び解放手段に相当している。   In the next step S310, the CPU 10d instructs the disk block management module 23 to release the disk block in which the data of the file specified by the processing target record is stored. Upon receiving this instruction, the disk block management module 23 updates the block bitmap area of the metadata area. The CPU 10d that executes step S310 corresponds to the above-described release unit and release unit.

次のステップS311では、CPU10dは、空きブロック数記憶領域24f内の内部向け空きブロック数を、処理対象レコードにて特定されるファイルが格納されていたディスクブロックの数だけ増加させることによって、更新する。   In the next step S311, the CPU 10d updates the number of internal free blocks in the free block number storage area 24f by increasing the number of disk blocks in which the file specified in the processing target record is stored. .

次のステップS312では、CPU10dは、処理対象レコードを図6のキューテーブル24eから削除し、処理対象レコードより後にあったレコードを繰り上げる。その後、CPU10dは、処理対象レコードに対する第1の処理ループL1の実行を終了する。なお、このステップS312を実行するCPU10dは、前述した第2の削除部に相当している。   In the next step S312, the CPU 10d deletes the processing target record from the queue table 24e in FIG. 6, and moves up the record that is after the processing target record. Thereafter, the CPU 10d ends the execution of the first processing loop L1 for the processing target record. The CPU 10d that executes this step S312 corresponds to the second deletion unit described above.

CPU10dは、以上に説明したステップS305乃至S312の処理を、図6のキューテーブル24eから検出した全てのレコードに対して実行し終えると、第1の処理ループL1から離脱し、図9のステップS313へ処理を進める。   When the CPU 10d finishes executing the processes in steps S305 to S312 described above for all the records detected from the queue table 24e in FIG. 6, the CPU 10d leaves the first processing loop L1 and performs step S313 in FIG. Proceed to the process.

ステップS313では、CPU10dは、実行終了通知が必要であるか否かを、判別する。そして、実行終了通知が必要でなかった場合、CPU10dは、ステップS313から処理を分岐させ、図9及び図10に係るブロック解放制御処理を終了する。一方、実行終了通知が必要であった場合、CPU10dは、ステップS313からステップS314へ処理を進める。   In step S313, the CPU 10d determines whether or not an execution end notification is necessary. If the execution end notification is not necessary, the CPU 10d branches the process from step S313, and ends the block release control process according to FIGS. On the other hand, when the execution end notification is necessary, the CPU 10d advances the process from step S313 to step S314.

ステップS314では、CPU10dは、実行開始を指示してきたプロセスに対し、実行終了を通知する。その後、CPU10dは、図9及び図10に係るブロック解放制御処理を終了する。   In step S314, the CPU 10d notifies the execution end to the process that has instructed the execution start. Thereafter, the CPU 10d ends the block release control process according to FIGS.

なお、ブロック解放制御プログラム24cは、終了後、直ちに実行が開始され、実行開始指示を受けるか所定時間が経過するまで、待機する状態になる。   The block release control program 24c starts execution immediately after completion, and waits until an execution start instruction is received or a predetermined time elapses.

このブロック解放制御プログラム24cにより、図6のキューテーブル24eに登録されているレコードについて、先頭から順にその保存期間が確認され、保存期間が所定の上限値を超過している場合、或いは、保存期間が所定の上限値以下であっても空きブロック数記憶領域24f内の内部向け空きブロック数が所定の下限値を下回っている場合に、先
レコードが特定される(ステップS305〜S308)。そして、特定されたレコードに係るファイルは、その属性情報がiノードテーブル25aから削除されるとともに(ステップS309)、そのファイルのデータが格納されていたディスクブロックが解放されることにより(ステップS310)、完全に削除された状態になる。つまり、削除受付プログラム24aにより名前空間からは既に削除されているファイルは、このブロック解放制御プロセス24cによって削除すべきであると判断されると(ステップS306;はい、又は、ステップS308;いいえ)、ファイルデータ領域26からも完全に削除されることとなる。
The block release control program 24c confirms the storage period of the records registered in the queue table 24e in FIG. 6 in order from the beginning, and the storage period exceeds a predetermined upper limit value, or the storage period Even if is less than or equal to a predetermined upper limit value, if the number of internal free blocks in the free block number storage area 24f is below a predetermined lower limit value, the previous record is specified (steps S305 to S308). Then, the attribute information of the file related to the specified record is deleted from the i-node table 25a (step S309), and the disk block storing the data of the file is released (step S310). , Completely deleted. That is, when it is determined by the block release control process 24c that a file that has already been deleted from the name space by the deletion receiving program 24a is to be deleted (step S306; yes or step S308; no). The file data area 26 is also completely deleted.

(復元処理)
また、アクセス制御モジュール21が、アプリケーション11から(バーチャルファイルシステム12aを介して)復元指示を受け付けると、それを契機として、復元プログラム24dを起動させる。復元プログラム24dの開始後、図11の流れ図に示すように、CPU10dは、ステップS401において、アクセス制御モジュール21から、復元すべきとして指定されたファイルのファイルパスを受け取る。
(Restore process)
In addition, when the access control module 21 receives a restoration instruction from the application 11 (via the virtual file system 12a), the restoration control program 24d is started using this as an opportunity. After starting the restoration program 24d, as shown in the flowchart of FIG. 11, the CPU 10d receives the file path of the file designated to be restored from the access control module 21 in step S401.

次のステップS402では、CPU10dは、ステップS401で取得したファイルパスからディレクトリパスを読み出し、そのディレクトリパスを、名前空間管理モジュール22に照会する。   In the next step S402, the CPU 10d reads the directory path from the file path acquired in step S401, and inquires of the namespace management module 22 about the directory path.

次のステップS403では、CPU10dは、ステップS402での照会の結果がディレクトリパス有りであったか否かを、判別する。そして、照会の結果がディレクトリパス無しであった場合、CPU10dは、ステップS403から処理を分岐させ、図11に係る復元処理を終了する。一方、照会の結果がディレクトリパス有りであった場合、CPU10dは、ステップS403からステップS404へ処理を進める。   In the next step S403, the CPU 10d determines whether or not the result of the inquiry in step S402 is that there is a directory path. When the inquiry result indicates that there is no directory path, the CPU 10d branches the process from step S403, and ends the restoration process according to FIG. On the other hand, if the result of the inquiry is that there is a directory path, the CPU 10d advances the process from step S403 to step S404.

ステップS404では、CPU10dは、ステップS401で通知とともにアクセス制御モジュール21から受け取ったファイルパスを検索条件として、図6のキューテーブル24eを検索する。   In step S404, the CPU 10d searches the queue table 24e of FIG. 6 using the file path received from the access control module 21 together with the notification in step S401 as a search condition.

次のステップS405では、CPU10dは、ステップS404の検索の結果、レコードが検出できたか否かを、判別する。そして、レコードが検出できなかった場合、CPU10dは、ステップS405から処理を分岐させ、図11に係る復元処理を終了する。一方、レコードが検出できた場合、CPU10dは、ステップS405からステップS406へ処理を進める。なお、これらステップS402乃至S405を実行するCPU10dは、前述した検索部及び検索手段に相当している。   In the next step S405, the CPU 10d determines whether or not a record has been detected as a result of the search in step S404. If no record is detected, the CPU 10d branches the process from step S405 and ends the restoration process according to FIG. On the other hand, if the record can be detected, the CPU 10d advances the process from step S405 to step S406. The CPU 10d that executes these steps S402 to S405 corresponds to the search unit and search means described above.

ステップS406では、CPU10dは、検出レコード内のiノード番号(ID)とファイルパス内のファイル名とに基づいて、ステップS402で照会したディレクトリパスにて特定されるディレクトリ(に関する情報が格納されたファイル)に、当該ファイルのディレクトリエントリを生成するよう、名前空間管理モジュール22に指示する。なお、このステップS406を実行するCPU10dは、前述した復元部及び復元手段に相当している。   In step S406, the CPU 10d determines, based on the i-node number (ID) in the detection record and the file name in the file path, a file in which information related to the directory (specified in the directory path inquired in step S402 is stored). ) To instruct the namespace management module 22 to generate a directory entry for the file. Note that the CPU 10d executing step S406 corresponds to the above-described restoration unit and restoration unit.

次のステップS407では、CPU10dは、空きブロック数記憶領域24fに記録されている外部向け空きブロック数を、復元が指定されたファイルが格納されているディスクブロックの数だけ減少させることによって、更新する。   In the next step S407, the CPU 10d updates the number of external free blocks recorded in the free block number storage area 24f by reducing the number of disk blocks storing files designated for restoration. .

次のステップS408では、CPU10dは、図6のキューテーブル24eから、検出レコードを削除し、そのレコードより後にあったレコードを繰り上げる。その後、CPU
10dは、図11に係る復元処理を終了する。
In the next step S408, the CPU 10d deletes the detected record from the queue table 24e in FIG. 6, and moves up the record that exists after that record. Then the CPU
10d ends the restoration process according to FIG.

この復元プログラム24dにより、ファイルの復元がアプリケーション11によって要求されると、削除直前のファイルパス内のディレクトリパスが存在するか確認され(ステップS403)、そのファイルがキューテーブル24eに登録されているか確認され(ステップS404及びS405)、その後、そのファイル名が、名前空間に生成され(ステップS406)、外部向け空きブロック数がそのファイルの分だけ減少され(ステップS407)、そのファイルのキューテーブル24eへの登録が抹消される(ステップS408)。   When the application 11 requests the restoration of the file by the restoration program 24d, it is confirmed whether the directory path in the file path immediately before the deletion exists (step S403), and whether the file is registered in the queue table 24e. Then, the file name is generated in the name space (step S406), the number of external free blocks is reduced by the amount of the file (step S407), and the file queue table 24e is entered. Is deleted (step S408).

<作用>
図12は、図4に示したディレクトリの内容に基づいたディレクトリツリーを示している。例えば、アプリケーション11を通じて、ファイルパスが「/A/C/sample1.exe」であるファイルの削除を指示すると、削除受付プログラム24aによって、そのファイルが、図6に示すようにキューテーブル24eに登録され、図13に示すように、そのファイルのディレクトリエントリが削除され、ディレクトリツリーは、図14のようになる。但し、図13に示すように、そのファイルには、依然として、iノードが割り当てられている。
<Action>
FIG. 12 shows a directory tree based on the contents of the directory shown in FIG. For example, if an instruction to delete a file whose file path is “/A/C/sample1.exe” is given through the application 11, the deletion acceptance program 24a registers the file in the queue table 24e as shown in FIG. As shown in FIG. 13, the directory entry of the file is deleted, and the directory tree becomes as shown in FIG. However, as shown in FIG. 13, i-nodes are still assigned to the file.

その後、キューテーブル24e内のレコードの存続は、削除受付プログラム24a又は空きブロック確保プログラム24bにより、何れかのファイルの削除又は書き込みが合ったとき、又は、一定期間が経過することを契機ととして、見直される。そして、ブロック解放制御プロセス24cにより、削除が指示されてから一定期間が経過しているか、ファイルデータ領域26の空き容量が少なくなると、キューテーブル24e内のレコードは、古いものから順に、削除される。例えば、ファイルパスが「/A/C/sample1.exe」であるファイルに係るレコードがキューテーブル24eから削除されると、図15に示すように、そのファイルへのiノードの割り当てが解除され、そのファイルのデータが格納されていたディスクブロックは、上書きにより消去[erase]され得る状態になり、当該ファイル
の削除[delete]が完了することとなる。
Thereafter, the continuation of the record in the queue table 24e is triggered by the deletion acceptance program 24a or the free block reservation program 24b when deletion or writing of any file is successful, or when a certain period of time elapses. It will be reviewed. When a certain period of time has passed since the block release control process 24c issued a deletion instruction, or when the free capacity of the file data area 26 decreases, the records in the queue table 24e are deleted in order from the oldest one. . For example, when a record related to a file whose file path is “/A/C/sample1.exe” is deleted from the queue table 24e, the i-node assignment to the file is canceled as shown in FIG. The disk block in which the data of the file is stored can be erased by overwriting, and the deletion of the file is completed.

また、キューテーブル24e内のレコードが削除される前に、削除指示直前のファイルパスが「/A/C/sample1.exe」であるファイルについて、アプリケーション11を通じて、復元を指示すると、復元プロセス24dによって、「/A/C/」のディレクトリパスの有無
が確認され、「/A/C/sample1.exe」を含むレコードがキューテーブル24eに存在するかが確認される。その後、図13の状態から図4の状態になるように、ディレクトリエントリが生成され、ディレクトリツリーは、図14の状態から図12の状態に復元されることとなる。
In addition, when a restoration is instructed through the application 11 for a file whose file path immediately before the deletion instruction is “/A/C/sample1.exe” before the record in the queue table 24e is deleted, the restoration process 24d The presence / absence of the directory path “/ A / C /” is confirmed, and it is confirmed whether or not a record including “/A/C/sample1.exe” exists in the queue table 24e. Thereafter, a directory entry is generated so as to change from the state of FIG. 13 to the state of FIG. 4, and the directory tree is restored from the state of FIG. 14 to the state of FIG.

本実施形態のコンピュータの構成図Configuration diagram of a computer according to the present embodiment ファイルシステムに係るプログラムのメモリ展開図Memory development diagram of file system program ローカルファイルシステムの構成とデータレイアウトを示す説明図Explanatory drawing showing the configuration and data layout of the local file system 詳細なデータレイアウトを示す図Diagram showing detailed data layout 削除ファイル管理モジュールの構成図Configuration diagram of deleted file management module キューテーブルのテーブル構造の一例を示す図The figure which shows an example of the table structure of a queue table 削除受付処理の流れを示す図Diagram showing the flow of delete acceptance processing 空きブロック確保処理の流れを示す図Diagram showing the flow of securing free blocks ブロック解放制御処理の流れを示す図Diagram showing the flow of block release control processing ブロック解放制御処理の流れを示す図Diagram showing the flow of block release control processing 復元処理の流れを示す図Diagram showing the flow of restoration processing ディレクトリツリーの一例を示す図Figure showing an example of a directory tree iノードテーブルとファイルとの関係を示す図A diagram showing the relationship between an i-node table and a file ディレクトリツリーの一例を示す図Figure showing an example of a directory tree iノードテーブルとファイルとの関係を示す図A diagram showing the relationship between an i-node table and a file

符号の説明Explanation of symbols

10 コンピュータ
10c ストレージユニット
10e メモリユニット
11 アプリケーション
12a バーチャルファイルシステム
12b ローカルファイルシステム
12c インターフェース
12d メタデータ
13 デバイスドライバ
21 アクセス制御モジュール
22 名前空間管理モジュール
23 ディスクブロック管理モジュール
24 削除ファイル管理モジュール
24a 削除受付プログラム
24b 空きブロック確保プログラム
24c ブロック解放制御プログラム
24d 復元プログラム
24e キューテーブル
24f 空きブロック数記憶領域
25 メタデータ領域
25a iノードテーブル
26 ファイルデータ領域
10 Computer 10c Storage Unit 10e Memory Unit 11 Application 12a Virtual File System 12b Local File System 12c Interface 12d Metadata 13 Device Driver 21 Access Control Module 22 Namespace Management Module 23 Disk Block Management Module 24 Delete File Management Module 24a Delete Acceptance Program 24b Free block reservation program 24c Block release control program 24d Restore program 24e Queue table 24f Free block count storage area 25 Metadata area 25a Inode table 26 File data area

Claims (5)

ファイルとその階層的な分類の体系である名前空間の管理、ファイル名とそのデータが格納されているデータ領域内のディスクブロックとの対応付けの管理、及び、アプリケーションからのファイルアクセスの制御を行うためのファイル管理装置であって、
何れかのファイルの削除をアプリケーションから受け付ける第1の受付部、
前記第1の受付部がファイルの削除を受け付けると、そのファイル名を名前空間から削除する第1の削除部、
前記第1の受付部がファイルの削除を受け付けると、そのファイルを特定するためのファイル識別情報とファイルパスと削除日時とを対応付けたレコードをキューテーブルに登録する登録部、
所定のイベントが発生すると、前記キューテーブルから、削除日時からその時点までの保存期間が所定の上限値を超過しているレコードを、抽出する抽出部、
前記保存期間が所定の上限値を超過しているレコードを前記抽出部が抽出すると、そのレコード内のファイル識別情報にて特定されるファイルとデータ領域内のディスクブロックとの対応付けを解除して、そのファイルのデータが格納されているディスクブロックを解放する解放部、
前記抽出部が抽出したレコードを前記キューテーブルから削除する第2の削除部、
削除済のファイルの復元とファイルパスとを操作者から受け付ける第2の受付部、
前記第2の受付部が削除済のファイルの復元とファイルパスとを操作者から受け付けると、そのファイルパス内のディレクトリパスを検索条件として、前記キューテーブルを検索する検索部、及び、
前記検索部がレコードを検出した場合に、そのレコード内のファイル識別情報にて特定されるファイルを、当該ディレクトリパスにて特定されるディレクトリに生成する復元部
を備えることを特徴とするファイル管理装置。
Manages the name space, which is a hierarchical classification system of files, manages the correspondence between file names and disk blocks in the data area where the data is stored, and controls file access from applications A file management device for
A first accepting unit for accepting deletion of any file from the application;
A first deletion unit that deletes the file name from the name space when the first reception unit receives the deletion of the file;
When the first accepting unit accepts the deletion of the file, a registration unit that registers a record in which the file identification information for specifying the file, the file path, and the date and time of deletion are associated with each other in the queue table;
When a predetermined event occurs, an extraction unit that extracts, from the queue table, a record whose retention period from the deletion date and time to a point in time exceeds a predetermined upper limit value;
When the extraction unit extracts a record whose retention period exceeds a predetermined upper limit, the association between the file specified by the file identification information in the record and the disk block in the data area is canceled. , The release part that releases the disk block that stores the data of that file,
A second deletion unit for deleting the record extracted by the extraction unit from the queue table;
A second accepting unit for accepting restoration of a deleted file and a file path from an operator;
A search unit that searches the queue table using a directory path in the file path as a search condition when the second reception unit receives a restoration of a deleted file and a file path from an operator; and
A file management device comprising: a restoration unit that generates a file specified by file identification information in a record in a directory specified by the directory path when the search unit detects a record .
前記抽出部は、前記データ領域の空き容量が所定の下限値を下回っている場合、更に、前記保存期間が所定の上限値を超えていないレコードの中から、全体のデータ量が前記データ領域の空き容量と前記所定の下限値との差分を超える一つ以上のファイルのレコードを、抽出する
ことを特徴とする請求項1記載のファイル管理装置。
When the free space of the data area is below a predetermined lower limit value, the extraction unit further determines that the total data amount is within the data area from among records whose storage period does not exceed the predetermined upper limit value. The file management apparatus according to claim 1, wherein records of one or more files exceeding a difference between a free space and the predetermined lower limit value are extracted.
前記イベントが、アプリケーションからのファイルの書き込みである
ことを特徴とする請求項1又は2記載のファイル管理装置。
The file management apparatus according to claim 1, wherein the event is a file write from an application.
前記イベントが、定期実行のための所定時間の経過である
ことを特徴とする請求項1又は2記載のファイル管理装置。
The file management apparatus according to claim 1, wherein the event is a lapse of a predetermined time for periodic execution.
ファイルとその階層的な分類の体系である名前空間の管理、ファイル名とそのデータが格納されているデータ領域内のディスクブロックとの対応付けの管理、及び、アプリケーションからのファイルアクセスの制御を行うためのファイル管理プログラムであって、
コンピュータを、
何れかのファイルの削除をアプリケーションから受け付ける第1の受付手段、
前記第1の受付手段がファイルの削除を受け付けると、そのファイル名を名前空間から削除する第1の削除手段、
前記第1の受付手段がファイルの削除を受け付けると、そのファイルを特定するためのファイル識別情報とファイルパスと削除日時とを対応付けたレコードをキューテーブルに登録する登録手段、
所定のイベントが発生すると、前記キューテーブルから、削除日時からその時点までの保存期間が所定の上限値を超過しているレコードを、抽出する抽出手段、
前記保存期間が所定の上限値を超過しているレコードを前記抽出手段が抽出すると、そのレコード内のファイル識別情報にて特定されるファイルとデータ領域内のディスクブロックとの対応付けを解除して、そのファイルのデータが格納されているディスクブロックを解放する解放手段、
前記抽出手段が抽出したレコードを前記キューテーブルから削除する第2の削除手段、
削除済のファイルの復元とファイルパスとを操作者から受け付ける第2の受付手段、
前記第2の受付手段が削除済のファイルの復元とファイルパスとを操作者から受け付けると、そのファイルパス内のディレクトリパスを検索条件として、前記キューテーブルを検索する検索手段、及び、
前記検索手段がレコードを検出した場合に、そのレコード内のファイル識別情報にて特定されるファイルを、当該ディレクトリパスにて特定されるディレクトリに生成する復元手段
として機能させる
ことを特徴とするファイル管理プログラム。
Manages the name space, which is a hierarchical classification system of files, manages the correspondence between file names and disk blocks in the data area where the data is stored, and controls file access from applications File management program for
Computer
First accepting means for accepting deletion of any file from the application;
When the first accepting unit accepts the deletion of the file, a first deleting unit that deletes the file name from the name space;
When the first accepting unit accepts the deletion of the file, a registering unit that registers a record in which the file identification information for specifying the file, the file path, and the deletion date are associated with each other in the queue table;
When a predetermined event occurs, an extraction unit that extracts from the queue table a record whose retention period from the deletion date and time to the time exceeds a predetermined upper limit value;
When the extraction unit extracts a record whose retention period exceeds a predetermined upper limit, the association between the file specified by the file identification information in the record and the disk block in the data area is canceled. A release means for releasing the disk block in which the file data is stored,
Second deletion means for deleting the record extracted by the extraction means from the queue table;
A second accepting means for accepting restoration of a deleted file and a file path from an operator;
When the second accepting unit accepts restoration of a deleted file and a file path from an operator, a search unit that searches the queue table using a directory path in the file path as a search condition; and
When the search means detects a record, it functions as a restoration means for generating a file specified by the file identification information in the record in a directory specified by the directory path. program.
JP2007284863A 2007-11-01 2007-11-01 File management system and file management program Pending JP2009110477A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007284863A JP2009110477A (en) 2007-11-01 2007-11-01 File management system and file management program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007284863A JP2009110477A (en) 2007-11-01 2007-11-01 File management system and file management program

Publications (1)

Publication Number Publication Date
JP2009110477A true JP2009110477A (en) 2009-05-21

Family

ID=40778865

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007284863A Pending JP2009110477A (en) 2007-11-01 2007-11-01 File management system and file management program

Country Status (1)

Country Link
JP (1) JP2009110477A (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014523561A (en) * 2011-06-10 2014-09-11 インターナショナル・ビジネス・マシーンズ・コーポレーション Storage class memory unconfiguration command
US9372640B2 (en) 2011-06-10 2016-06-21 International Business Machines Corporation Configure storage class memory command
US9411737B2 (en) 2011-06-10 2016-08-09 International Business Machines Corporation Clearing blocks of storage class memory
US9418006B2 (en) 2011-06-10 2016-08-16 International Business Machines Corporation Moving blocks of data between main memory and storage class memory
US9477417B2 (en) 2011-06-10 2016-10-25 International Business Machines Corporation Data returned responsive to executing a start subchannel instruction
JP2017509090A (en) * 2014-12-31 2017-03-30 小米科技有限責任公司Xiaomi Inc. Image classification method and apparatus
US9779294B2 (en) 2014-12-31 2017-10-03 Xiaomi Inc. Methods and devices for classifying pictures
JP2018005923A (en) * 2017-08-07 2018-01-11 株式会社東芝 Database management device, database management method and database management program
CN112148726A (en) * 2019-06-26 2020-12-29 北京京东尚科信息技术有限公司 Method and device for deleting table

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63143643A (en) * 1986-12-05 1988-06-15 Alps Electric Co Ltd Control system for preserving data
JPH05134910A (en) * 1991-11-12 1993-06-01 Mutoh Ind Ltd File control method/system
JPH11232840A (en) * 1998-02-16 1999-08-27 Sony Corp Storage device
JP2004038515A (en) * 2002-07-03 2004-02-05 Sanyo Electric Co Ltd Data recording device
JP2007058264A (en) * 2005-08-22 2007-03-08 Nec Corp File management device, file management method and program

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63143643A (en) * 1986-12-05 1988-06-15 Alps Electric Co Ltd Control system for preserving data
JPH05134910A (en) * 1991-11-12 1993-06-01 Mutoh Ind Ltd File control method/system
JPH11232840A (en) * 1998-02-16 1999-08-27 Sony Corp Storage device
JP2004038515A (en) * 2002-07-03 2004-02-05 Sanyo Electric Co Ltd Data recording device
JP2007058264A (en) * 2005-08-22 2007-03-08 Nec Corp File management device, file management method and program

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9747033B2 (en) 2011-06-10 2017-08-29 International Business Machines Corporation Configure storage class memory command
US9372640B2 (en) 2011-06-10 2016-06-21 International Business Machines Corporation Configure storage class memory command
US9411737B2 (en) 2011-06-10 2016-08-09 International Business Machines Corporation Clearing blocks of storage class memory
US9418006B2 (en) 2011-06-10 2016-08-16 International Business Machines Corporation Moving blocks of data between main memory and storage class memory
US9477417B2 (en) 2011-06-10 2016-10-25 International Business Machines Corporation Data returned responsive to executing a start subchannel instruction
JP2014523561A (en) * 2011-06-10 2014-09-11 インターナショナル・ビジネス・マシーンズ・コーポレーション Storage class memory unconfiguration command
US10013256B2 (en) 2011-06-10 2018-07-03 International Business Machines Corporation Data returned responsive to executing a start subchannel instruction
US10387040B2 (en) 2011-06-10 2019-08-20 International Business Machines Corporation Configure storage class memory command
US11163444B2 (en) 2011-06-10 2021-11-02 International Business Machines Corporation Configure storage class memory command
JP2017509090A (en) * 2014-12-31 2017-03-30 小米科技有限責任公司Xiaomi Inc. Image classification method and apparatus
US9779294B2 (en) 2014-12-31 2017-10-03 Xiaomi Inc. Methods and devices for classifying pictures
JP2018005923A (en) * 2017-08-07 2018-01-11 株式会社東芝 Database management device, database management method and database management program
CN112148726A (en) * 2019-06-26 2020-12-29 北京京东尚科信息技术有限公司 Method and device for deleting table

Similar Documents

Publication Publication Date Title
JP2009110477A (en) File management system and file management program
US9563636B2 (en) Allowing writes to complete without obtaining a write lock to a file
USRE40949E1 (en) Server-side recycle bin system
US8135677B2 (en) File management system and method
US9430331B1 (en) Rapid incremental backup of changed files in a file system
KR101767710B1 (en) Card-based management of discardable files
US8055698B2 (en) Network recycle bin
US20070300034A1 (en) Virtual storage control apparatus
US20160132270A1 (en) Information processing device, information procesing method, and program
JP4886866B2 (en) Method for speeding up access to main storage device and storage device system
US20110131184A1 (en) Focused backup scanning
JP2005115948A (en) Method, system and program for archiving file
JP2005018757A (en) Quick restoration for use of file system in ultra-large-scale file system
CN104508666A (en) Cataloging backup data
JP2005346610A (en) Storage system and method for acquisition and use of snapshot
JP2008102672A (en) Computer system, management computer, and method of setting operation control information
JP2005316635A (en) Data processing system and method, and processing program therefor
US9454536B1 (en) Space compaction and defragmentation mechanisms in data space
US20140129524A1 (en) Restoring method and computer system
JP2014178784A (en) Information processing device, information processing system, and information processing program
JP2006313531A (en) File management system
US7386692B1 (en) Method and apparatus for quantized deadline I/O scheduling
JP2007193408A (en) Disk operation control method in document management system
JP2008040602A (en) Content management system and method and program using file server
JP2005352711A (en) Cache control method, data processing system, and processing program therefor

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100715

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121002

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121203

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130611

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130812

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20140225