説明

ファイル管理システム及び方法並びにプログラム

【課題】迅速かつ簡易な処理にて、ファイルデータに対する操作処理の有無を検出することができるファイル管理システムを提供すること。
【解決手段】ファイル管理システムは、所定の記憶装置に記憶されたファイルデータのデータ内容に応じた要約データを生成する要約データ生成手段と、要約データと、当該要約データが生成されたファイルデータを特定するファイル特定データと、を関連付けて当該ファイルデータに対応する仮想ファイルデータとして記憶する仮想ファイル管理手段と、備えた。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ファイル管理システムにかかり、特に、ファイルデータの変更を管理するシステムに関する。
【背景技術】
【0002】
近年では、情報処理システムの普及により、種々の情報をデジタルデータにて保存・管理することが多く行われている。そして、重要なデータに関しては、電源ダウンや災害などに備えて、データ消失を防ぐべく、バックアップを行うことが必須となっている。そして、ファイルシステムのデータのバックアップなどの場合には、差分バックアップなどが使用されるが、ある時点以降の更新されたデータの判別などに多くの処理能力を必要とする、という問題があった。
【0003】
例えば、以下に示す二つのケースでは、その判別に必要な処理負担が高かったり、本来の差分とは程遠い量の多くの差分を検出したりしてしまうという問題がある。具体的に、1つ目のケースとしては、ファイルの作成時刻等のメタデータを維持した状態でファイルの内容のみを書き換える場合には、差分の検出には内容の比較が必要になるため、処理負担が増加しうる。また、2つ目のケースでは、ファイルの場所がディレクトリ中を移動した場合、実際に行われた変更は管理用メタデータの変更のみであるにもかかわらず、差分の観点からするとファイルが削除され新しい場所に生成したように見えるため、余計なバックアップ処理が生じうる。このような状況から、バックアップの効率化が大容量ファイルシステムにおいて必要とされている。
【0004】
また、特許文献1には、それぞれファイルのハッシュ値を利用して、バックアップ元とバックアップ先のファイルの一致、不一致を検出し、一致しない場合に、バックアップ先にファイルをバックアップする、というシステムが開示されている。また、特許文献2には、時間的に前後するファイルのハッシュ値に基づいて当該ファイルの更新検出を行う、というシステムが開示されている。
【0005】
しかしながら、上記特許文献に開示されているシステムでは、いずれも各ファイルのハッシュ値をファイル自体に関連付けて管理している。すると、膨大なデータ量の実体ファイルシステム内を検索、比較するという処理が必要となり、依然としてバックアップが必要となる更新等が行われたファイルの検出を高速に実行することができず、また、処理負荷も高い、という問題が生じる。
【0006】
【特許文献1】特開2006−268846号公報
【特許文献2】特開2006−146877号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
このため、本発明では、上記従来例の有する不都合を改善し、特に、迅速かつ簡易な処理にて、ファイルデータに対する操作処理の有無を検出することができるファイル管理システムを提供することをその目的とする。
【課題を解決するための手段】
【0008】
そこで、本発明の一形態であるファイル管理システムは、
所定の記憶装置に記憶されたファイルデータのデータ内容に応じた要約データを生成する要約データ生成手段と、
要約データと、当該要約データが生成されたファイルデータを特定するファイル特定データと、を関連付けて当該ファイルデータに対応する仮想ファイルデータとして記憶する仮想ファイル管理手段と、
を備えたことを特徴としている。
【0009】
上記発明によると、管理対象となるファイルデータのデータ内容に応じた要約データが生成され、この要約データとそのファイルデータを特定するファイル特定データとが関連付けられて仮想ファイルデータとして記憶される。これにより、仮想ファイルデータを参照することで、ファイルデータの変更等の有無を調べることができる。従って、ファイルデータ自体のデータ内容を詳細に調べる必要が無く、高速かつ低負荷にてファイル管理処理を実現することができる。
【0010】
また、仮想ファイル管理手段は、要約データを仮想ファイルデータのファイル名として記憶する、ことを特徴としている。これにより、仮想ファイルデータは、ファイル名である要約データとファイル特定データのみで構成することができ、仮想ファイルデータのデータ容量を抑制することができる。従って、ファイルデータの管理をより高速かつ低負荷にて実行することができる。
【0011】
また、要約データ生成手段は、ファイルデータのデータ内容に基づいて算出したハッシュ値を要約データとして生成する、ことを特徴としている。このように、ファイルデータのデータ内容に基づくハッシュ値を要約データとして用いることで、かかる要約データのデータ量を低減でき、かつ、データ内容を適切に表現することができる。従って、ファイルデータの変更等の有無をより確実にかつ高速に判定することができる。
【0012】
また、仮想ファイル管理手段は、要約データをディレクトリ名としたディレクトリを生成すると共に、このディレクトリ内に仮想ファイルデータを記憶する、ことを特徴としている。これにより、要約データをファイル名として仮想ファイルデータを生成した場合に、当該仮想ファイルデータのファイル名が重複した場合であっても、要約データのディレクトリを生成してその中にいずれかの仮想ファイルデータを格納することで、仮想ファイルデータが重複することなく、適切に管理することができる。
【0013】
また、仮想ファイル管理手段は、仮想ファイルデータに対応するファイルデータの格納先を表すパスデータをファイル特定データとして仮想ファイルデータに含める、ことを特徴としている。これにより、仮想ファイルデータからより正確にファイルデータを特定することができ、この仮想ファイルデータを参照して、対応するファイルデータに確実にアクセスすることができる。また、パスデータを比較することで、データ内容が変更されず格納場所が移動されたファイルデータをも容易に検出することができる。
【0014】
また、本発明では、上記構成に加え、ファイルデータに対する操作処理を検知するファイル操作検知手段を備え、要約データ生成手段及び仮想ファイル管理手段は、ファイル操作検知手段の検知結果に応じて作動する、ことを特徴としている。これにより、ファイルデータに対するファイル操作があったときに上述した仮想ファイルデータの登録が行われるため、ファイルデータの更新状況を仮想ファイルデータに、より正確に反映させることができる。
【0015】
また、上記構成に加え、ファイル操作検知手段にて検知したファイルデータに対する操作処理が変更又は削除である場合に、当該ファイルデータに対応する既存の仮想ファイルデータを削除する仮想ファイル削除手段を備えた、ことを特徴としている。そして、要約データ生成手段は、生成した要約データをファイルデータに含めて記憶すると共に、ファイル操作検知手段は、操作処理が行われたファイルデータに記憶されている要約データを取得し、仮想ファイル削除手段は、ファイル操作検知手段にてファイルデータから取得した要約データに基づいて仮想ファイルデータの削除を行う、ことを特徴としている。これにより、ファイルデータの変更や削除が生じた場合に、仮想ファイルデータが削除されると共に、ファイルデータが新規に生成や変更された場合には、新たな仮想ファイルデータが記憶される。従って、仮想ファイルデータにて、ファイルデータの最新の状況をより正確に記憶しておくことができる。
【0016】
さらに、上記構成に加え、時間的に前後する仮想ファイルデータを比較して、その比較結果に基づいて仮想ファイルデータに対応するファイルデータのバックアップ処理を行うバックアップ手段を備えた、ことを特徴としている。これにより、仮想ファイルデータのみを比較することで、全てのファイルデータにアクセスすることなく、更新等のあったファイルデータを特定することができ、必要なファイルデータに対してのみバックアップを実行することができる。従って、バックアップ処理の信頼性を確保しつつ、処理の簡素化、高速化を図ることができる。
【0017】
また、本発明の他の形態は、コンピュータが、所定の記憶装置に記憶されたファイルデータを管理する方法であって、ファイルデータのデータ内容に応じた要約データを生成する要約データ生成工程と、要約データと、当該要約データが生成されたファイルデータを特定するファイル特定データと、を関連付けて当該ファイルデータに対応する仮想ファイルデータとして記憶する仮想ファイル管理工程と、を有することを特徴としている。
【0018】
そして、上記方法は、コンピュータがファイルデータに対する操作処理を検知するファイル操作検知工程を有し、このファイル操作検知工程による検知結果に応じて、要約データ生成工程及び仮想ファイル管理工程が作動する、ことを特徴としている。また、上記方法は、仮想ファイル管理工程の前に、ファイル操作検知工程にて検知したファイルデータに対する操作処理が変更又は削除である場合に、コンピュータが、当該ファイルデータに対応する既存の仮想ファイルデータを削除する仮想ファイル削除工程を有する、ことを特徴としている。さらに、上記方法は、コンピュータが、時間的に前後してそれぞれ記憶された仮想ファイルデータを比較して、その比較結果に基づいて仮想ファイルデータに対応するファイルデータのバックアップ処理を行うバックアップ工程を有する、ことを特徴としている。
【0019】
また、本発明の他の形態であるプログラムは、所定の記憶装置に記憶されたファイルデータを管理するコンピュータに、ファイルデータのデータ内容に応じた要約データを生成する要約データ生成手段と、要約データと、当該要約データが生成されたファイルデータを特定するファイル特定データと、を関連付けて当該ファイルデータに対応する仮想ファイルデータとして記憶する仮想ファイル管理手段と、を実現させる、ことを特徴としている。
【0020】
そして、上記プログラムは、さらに、コンピュータに、ファイルデータに対する操作処理を検知するファイル操作検知手段を実現すると共に、要約データ生成手段及び仮想ファイル管理手段は、ファイル操作検知手段の検知結果に応じて作動する、ことを特徴としている。また、上記プログラムは、コンピュータに、ファイル操作検知手段にて検知したファイルデータに対する操作処理が変更又は削除である場合に、当該ファイルデータに対応する既存の仮想ファイルデータを削除する仮想ファイル削除手段、を実現させる、ことを特徴としている。さらに、上記プログラムは、コンピュータに、時間的に前後する仮想ファイルデータを比較して、その比較結果に基づいて仮想ファイルデータに対応するファイルデータのバックアップ処理を行うバックアップ手段、を実現させる、ことを特徴としている。
【0021】
上述した構成の方法及びプログラムの発明であっても、上記ファイル管理システムと同様の作用を有するため、上述した本発明の目的を達成することができる。
【発明の効果】
【0022】
本発明は、以上のように構成され機能するので、これによると、管理対象となるファイルデータのデータ内容に応じた要約データが生成され、この要約データとそのファイルデータを特定するファイル特定データとが関連付けられて仮想ファイルデータとして記憶されるため、この仮想ファイルデータを参照することで、ファイルデータの変更等の有無を判定することができる。その結果、ファイルデータ自体のデータ内容を詳細に調べる必要が無く、高速かつ低負荷にてファイル管理処理を実現することができる、という従来にない優れた効果を有する。
【発明を実施するための最良の形態】
【0023】
本発明は、ファイルデータのデータ内容を表す要約データを生成して、この要約データとファイルデータを特定するファイル特定データと、を別途、仮想ファイルデータとして管理する点に特徴を有する。そして、時間的に前後するデータ容量の少ない仮想ファイルデータを比較することで、高速かつ簡易な処理にて、ファイルデータの変更等を効率よく検出することができる。以下、具体的な構成及び動作を、実施例にて説明する。
【実施例1】
【0024】
本発明の第1の実施例を、図1乃至図8を参照して説明する。図1は、本発明であるファイル管理システムを成すコンピュータの構成を示す機能ブロック図である。図2乃至図3は、コンピュータに記憶されるデータの構造を示す図であり、図4乃至図6は、仮想ファイルデータの一例を示す図である。図7乃至図8は、コンピュータの動作を示すフローチャートである。
【0025】
[構成]
本実施例におけるコンピュータ1は、図1に示すように、CPUといった演算装置10と、ハードディスクドライブなどの記憶装置20とを備えた一般的な情報処理装置である。そして、コンピュータ1には、ファイルシステムが構築されており、所定のファイルデータの生成、変更、削除を制御し、記憶装置20に記録再生するよう制御する。なお、ファイルデータを記憶する記憶装置は、フラッシュメモリといった他の記憶装置であってもよい。また、コンピュータ1は、必ずしも内蔵された記憶装置に、後述するファイルデータや仮想ファイルデータを記録することに限定されず、外付けの記憶装置、ネットワークを介して接続された記憶装置(ネットワークストレージ装置)、ネットワーク上の他のコンピュータに装備された記憶装置に対して記録再生を行ってもよい。
【0026】
そして、本実施例におけるコンピュータ1は、後述するように、所定のファイルデータを管理してバックアップする機能を有しており、例えば、ファイルサーバやウェブサーバとして作動するコンピュータである。但し、バックアップ機能は、他のコンピュータにて実現されてもよく、以下に説明するコンピュータ1自体が、複数台のコンピュータにて構成されていてもよい。
【0027】
図1に示すように、コンピュータ1の演算装置10には、まず、文書作成アプリケーションなどのファイルデータを生成したり、変更するアプリケーション11が組み込まれている。また、演算装置10には、オペレーティングシステムなどによって実現されたファイル操作処理部12が構築されており、上記アプリケーション11からの指令に応じて、記憶装置20に対するファイルデータの記録再生等の制御を行う。また、このファイル操作処理部12は、図示しない操作部や他のネットワーク上のコンピュータからの指令に応じても作動し、記憶装置20内でファイルデータの移動や削除等を行う。これに伴い、記憶装置20には、ファイルデータ自体を記憶する実ファイルデータ記憶部21が形成されており、アプリケーション11を利用したユーザによって生成されたファイルデータや、ネットワーク上の他のコンピュータから送信されたファイルデータ等を記憶する。
【0028】
ここで、実ファイルデータ記憶部21に記憶されるファイルデータの一例を、図2に示す。この図に示すように、ファイルデータ4は、ファイル名やファイル格納位置(パス)などが格納されたメタデータと、データ内容自体を表す実データと、により構成されている。そして、このファイルデータ4が管理されることによって、後述するように当該ファイルデータ4のデータ内容に対応するシグニチャが生成されるが、このシグニチャのうち最新のものが、ファイルデータ4内に含まれて記憶されている。
【0029】
また、演算装置10には、本発明であるファイル管理用プログラムが組み込まれることによって、ファイル操作検知処理部13と、シグニチャ生成処理部14と、仮想ファイル管理処理部15と、が構築されている。さらに、バックアップ用プログラムが組み込まれることにより、バックアップアプリケーション16が構築されている。以下、これらについて詳述する。
【0030】
上記ファイル操作検知処理部13(ファイル操作検知手段)は、ファイル操作処理部12によって上記ファイルデータが生成・変更・削除されるなど、実ファイルデータ記憶部21内のファイルデータに対する操作が生じたことを検知するよう作動する。そして、ファイルデータの変更等を検知した場合に、その旨をシグニチャ生成処理部14に通知する。例えば、プロセスが、オペレーティングシステムカーネルに対してファイル操作系のシステムコールを発行するタイミングや、ファイルシステムから変更を受けたことを通知されるウィルススキャンソフトとの連携によって当該ウィルススキャンソフトからの通知を受けたタイミングにて、検知することができる。
【0031】
具体的に、ファイル操作検知処理部13は、ファイルデータの操作があったことを検知すると、そのファイルデータの格納先情報(パス)を含むファイル名情報、新規生成・変更・削除などの操作種別を表す操作種別情報、さらには、ファイルデータ内に既に記憶されているシグニチャ、を取得して、これらの情報をシグニチャ生成処理部14に通知する。なお、操作種別は、ファイルが新たに生成された場合は「新規生成」であり、ファイルデータのデータ内容の変更やファイルデータ自体の格納先(パス)が変更された場合は「変更」、ファイルデータ自体が削除された場合は「削除」として取り扱われることとする。
【0032】
シグニチャ生成処理部14(要約データ生成手段)は、まず、ファイル操作検知処理部13から通知を受けたファイルデータの操作種別が、新規生成・変更・削除のいずれであるかを判定する。そして、操作種別が、「新規作成」あるいは「変更」であった場合には、ファイルデータの実データ(データ内容)に基づいて、「MD5」などのハッシュ関数を用いてハッシュ値を算出する。この算出したハッシュ値は、ファイルデータのデータ内容を表す値であり、以下、「シグニチャ」(要約データ)と呼ぶ。そして、シグニチャ生成処理部14は、生成したシグニチャを、生成元となったファイルデータに含めて記憶する(図2参照)。このとき、ファイルデータに以前のシグニチャが存在している場合には、以前のものを削除して、最新のシグニチャを記憶する。また、シグニチャ生成処理部14は、上述したように新たに生成したシグニチャ、及び、上記ファイル操作検知処理部13にて取得し判定した操作種別情報、さらには、ファイルデータのファイル名情報を、仮想ファイル管理処理部15に通知する。
【0033】
仮想ファイル管理処理部15(仮想ファイル管理手段、仮想ファイル削除手段)は、シグニチャ生成処理部14から通知されたシグニチャ、操作種別情報、ファイル名情報を取得し、まず、ファイルデータに対する操作種別が「変更」又は「削除」である場合に、ファイル名情報やシグニチャから特定できる仮想ファイルデータを、仮想ファイルデータ記憶部22内から削除する。つまり、ファイル操作検知処理部13にてファイルデータから取得されたシグニチャ(図2参照)と同一のファイル名である仮想ファイルデータを削除する。
【0034】
また、仮想ファイル管理処理部15は、シグニチャが生成されたファイルデータに対応して、当該生成されたシグニチャをファイル名とする仮想ファイルデータを生成して、仮想ファイルデータ記憶部22内に記憶する。この仮想ファイルデータは、そのデータ内容として、対応するファイルデータのファイル名を含む当該ファイルデータへのパスデータ(ファイル特定データ)を含んで記憶される。従って、ファイルデータが新規に生成された場合には、新たにシグニチャをファイル名とする仮想ファイルデータが記憶され、ファイルデータが変更された場合には、そのファイルデータに対応する既存の仮想ファイルデータが削除された後に、変更後の新たなシグニチャをファイル名とする仮想ファイルデータが記憶される。
【0035】
ここで、仮想ファイルデータ記憶部22に記憶されている仮想ファイルデータの構成例を、図3に示す。この図に示すように、仮想ファイルデータ5は、対応するファイルデータのシグニチャをファイル名とし、さらに、そのファイルデータへのパスデータ(ファイルデータのファイル名を含む)をデータ内容として保持している。さらに、仮想ファイルデータの具体例を、図4に示す。この図では、符号51,52,53という仮想ファイルデータが記憶されている。そして、符号51の仮想ファイルデータを一例に挙げると、仮想ファイルデータ51は、対応するファイルデータから生成されたシグニチャである「ef2484・・・」がファイル名51aとして設定されており、そのデータ内容として、実ファイルデータ記憶部21に記憶されている対応するファイルデータへのパスデータ51b「/home/user1/data/text1.txt」(格納先)が記憶されている。
【0036】
そして、上記シグニチャ生成処理部14、仮想ファイル管理処理部15は、ファイル操作検知処理部13にてファイル操作が検知される度に、上述した処理を実行する。従って、仮想ファイルデータ記憶部22には、最新の各ファイルデータのデータ内容に対応するシグニチャをファイル名とした仮想ファイルデータが記憶され、それぞれのファイルデータへのパスデータが格納された状態となっている。
【0037】
また、上記バックアップアプリケーション16(バックアップ手段)は、上記仮想ファイルデータを利用して、実ファイルデータ記憶部21に記憶されているファイルデータのバックアップ処理を実行するアプリケーションである。具体的に、バックアップアプリケーション16は、ある時刻における仮想ファイルデータ記憶部22の内容を取得してバックアップ用記憶装置30に記憶しておき、また、その後のある時刻においても、同様に仮想ファイルデータ記憶部22の内容を取得してバックアップ用記憶装置30に記憶する。
【0038】
そして、バックアップアプリケーション16は、時間的に前後する各仮想ファイルデータ毎に、そのファイル名(シグニチャ)、及び、そのデータ内容であるパスデータを比較する。このとき、比較している仮想ファイルデータ間で、ファイル名(シグニチャ)が一致しない仮想ファイルデータが存在する場合には、この仮想ファイルデータに対応するファイルデータは新規生成あるいは変更されたものと判断され、パスデータを参照して該当するファイルデータを吸い上げる処理を実行する。また、ファイル名(シグニチャ)は一致するが、パスデータが一致しない仮想ファイルデータが存在する場合には、対応するファイルデータのデータ内容の変更は無く、格納先のみが変更されたと判断し、当該ファイルデータの移動情報のみを吸い上げる。そして、吸い上げたデータに基づいて、バックアップ処理を実行する。なお、バックアップ処理は、従来より行われている処理を用いるため、その詳細な説明は省略する。また、バックアップ用記憶装置30は、コンピュータ1内に装備された別のドライブ領域であってもよく、あるいは、他の外部記憶装置であってもよい。さらには、コンピュータ1にネットワークを介して接続された他の記憶装置であってもよい。
【0039】
[動作]
次に、上記構成のコンピュータ1の動作を、図4乃至図6のデータ構造図、及び、図7乃至図8のフローチャートを参照して説明する。はじめに、図4乃至図6、及び、図7を参照して、コンピュータ1による仮想ファイルデータの生成処理について説明する。
【0040】
まず、アプリケーション11からの指令に応じて、実ファイルデータ記憶部21内で、ファイルデータの生成や変更、移動、削除を行う(ステップS1)。すると、ファイルデータの生成・変更・削除が検知され(ファイル操作検知工程)、当該ファイルデータの格納先情報(パス)を含むファイル名情報、操作種別情報、ファイルデータ内に記憶されている以前のシグニチャ、を取得する(ステップS2)。なお、ファイル操作を検知するタイミングとしては、ファイルシステムを扱うオペレーティングシステムへのフック(割り込み処理)が生じたタイミングや、ウィルススキャンソフトとの連携によって当該ウィルススキャンソフトからの通知を受けたタイミングで行う。
【0041】
続いて、取得したファイルデータの操作種別情報から、新規生成・変更・削除のいずれであるかを判定する(ステップS3)。このとき、操作種別が、「新規作成」あるいは「変更」であった場合には(ステップS4でイエス)、ファイルデータの実データに基づいて、「MD5」などのハッシュ関数を用いてシグニチャを生成する(ステップS5、要約データ生成工程)。その後、生成したシグニチャをファイルデータ自体に含めて記憶する(ステップS6、図2参照)。このとき、ファイルデータに以前のシグニチャが存在している場合には、以前のものを削除して、最新のシグニチャのみを記憶する。なお、シグニチャは、必ずしもハッシュ関数を用いて算出生成されることに限定されず、ファイルデータの実データの内容を表す情報であればよい。
【0042】
続いて、ファイルデータの操作種別が、ここでは、「新規生成」であるとすると(ステップS7でノー)、ファイルデータに対応する仮想ファイルデータを上記シグニチャ等に基づいて生成して、新たに仮想ファイルデータ記憶部22内に記憶する(ステップS9、仮想ファイル管理工程)。例えば、図4の符号51に示すように、ファイルデータについて生成したシグニチャをファイル名51aとし、そのデータ内容をファイルデータへのパスデータ51bとした仮想ファイルデータ51を生成して、仮想ファイルデータ記憶部22内に記憶する。そして、図4では、同様にして、実ファイルデータ記憶部20内のファイルデータに対応して、仮想ファイルデータ52,53が記憶されていることとする。
【0043】
ここで、ファイルデータが変更されたときの動作、つまり、ステップS7で、操作種別が「変更」である場合を説明する(ステップS7でイエス)。なお、操作種別が「変更」とは、ファイルデータのデータ内容が変更された場合はもちろん、ファイルデータの内容が変更されずにデータ移動され、格納位置(パス)が変更されただけの場合も含むこととする。この場合には、まず、ファイル操作が検知されたファイルデータから取得したシグニチャと一致するファイル名の仮想ファイルデータを、仮想ファイルデータ記憶部22内から削除する(ステップS8、仮想ファイル削除工程)。例えば、変更されたファイルデータから取得された以前のシグニチャが、図5に示す仮想ファイルデータ51,52のファイル名と一致する場合には、当該仮想ファイルデータ51,52自体を削除する(図5の×印参照)。
【0044】
そして、その後は、変更されたファイルデータからステップS5で新たに生成されたシグニチャをファイル名とした仮想ファイルデータが生成され、仮想ファイルデータ記憶部22に記憶される(仮想ファイル管理工程)。その一例を図6に示す。例えば、図5において符号51に示す仮想ファイルデータに対応するファイルデータのデータ内容が変更されている場合には、図6に示す仮想ファイルデータ51’のファイル名であるシグニチャ51a’の値が異なっており、一方で、パスデータ51bは同一である。また、図5において符号52に示す仮想ファイルデータに対応するファイルデータの格納位置が移動されただけの場合には、図6に示す仮想ファイルデータ52’のファイル名であるシグニチャ52aの値が一致しており、一方で、パス51bは異なっている。
【0045】
なお、検知したファイルデータの操作種別が「削除」である場合には(ステップS4でノー、ステップS7でイエス)、そのファイルデータから取得したシグニチャと一致するファイル名の仮想ファイルデータを、仮想ファイルデータ記憶部22内から削除する(ステップS8、仮想ファイル削除工程)。その後は、このファイルデータに対してシグニチャが生成されていないため、仮想ファイルデータも新たには生成されない。
【0046】
次に、図8を参照して、バックアップアプリケーション16によるバックアップ動作を説明する。まず、ある時刻における仮想ファイルデータ記憶部22の内容として仮想ファイルデータを取得する(ステップS11)。ここでは、図4に示す仮想ファイルデータを取得したとする。その後、バックアップを行う一定時間が経過したり(ステップS12でイエス)、設定された時刻となると、その時刻における仮想ファイルデータ記憶部22の内容として仮想ファイルデータを取得する(ステップS13)。ここでは、図6に示す仮想ファイルデータを取得したこととする。
【0047】
続いて、取得した時間的に前後する仮想ファイルデータを比較する(ステップS14)。このとき、両者に含まれない仮想ファイルデータの新規のファイル名(シグニチャ)が存在する場合には(ステップS15でイエス)、この仮想ファイルデータのパスを参照して、当該仮想ファイルデータに対応するファイルデータを吸い上げる(ステップS16)。そして、全く新規のファイルデータであれば、そのファイルデータを新たにバックアップファイルとして生成する。一方で、図4の符号51と図6の符号51’のように、ファイル名51a,51a’は異なるもののパスデータ51bは一致するファイルデータの場合には、そのファイルデータのデータ内容が変更され更新されたものであると判断して、差分バックアップを実行する(ステップS17)。また、図4の符号52と図6の符号52’のように、ファイル名52aは一致するもののパスデータ52b,52b’は異なるファイルデータの場合には(ステップS19でイエス)、このファイルデータのデータ内容に変更は無く、データ移動だけが生じたものと考えられる。かかる場合には、該当するファイルデータの移動情報のみを吸い上げ(ステップS20)、バックアップファイル内で格納先を移動するなどのバックアップ処理を実行する(ステップS17)。そして、上述したバックアップ処理を、更新された仮想ファイルデータが無くなるまで実行することで(ステップS18)、バックアップ処理が完了する(バックアップ工程)。
【0048】
以上のように、本発明によると、ファイルデータのデータ内容に応じて生成されたシグニチャをファイル名とし、これに当該ファイルデータへのパスを含めて仮想ファイルデータとして管理することで、ファイルデータの更新等の有無を確実に判定することができる。特に、ファイルデータ自体のデータ内容を詳細に調べる必要が無く、つまり、ファイルデータ自体をスキャンする必要が無く、データ容量の少ない仮想ファイルデータを調べることでファイルデータの更新等の有無を判定でき、高速かつ低負荷、さらには、効率的なファイル管理を実現することができる。
【0049】
さらに、仮想ファイルデータを通常のファイルシステムと同様に読み書きできるよう構成しているため、バックアップアプリケーションに特殊なデータベースアクセス手段を組み込む必要がなく、バックアップを実現することができる。従って、あらゆるコンピュータにて利用可能であり、汎用性の向上を図ることができる。
【0050】
なお、上記では、ファイルデータが変更・削除された場合には、仮想ファイルデータの削除を行うよう例示したが、当該仮想ファイルデータを削除せずに蓄積してもよい。これにより、ファイルデータの変更履歴を蓄積することができ、後のファイル復元などに利用することも可能である。
【実施例2】
【0051】
次に、本発明の第2の実施例を、図9乃至図10を参照して説明する。図9は、本実施例における仮想ファイルデータの一例を示す図であり、図10は、本実施例におけるコンピュータ1の動作の一部を示すフローチャートである。
【0052】
本実施例では、仮想ファイル管理処理部15が、仮想ファイルデータ記憶部22に仮想ファイルデータを記憶する際に、ファイル名つまりファイルデータから生成したシグニチャが一致する仮想ファイルデータが存在するか否かを調べる。そして、シグニチャが一致する場合には、新たなシグニチャをディレクトリ名とするディレクトリを仮想ファイルデータ記憶部22内に生成し、このディレクトリ内に、シグニチャをファイル名としてファイルデータへのパスをデータ内容に有する仮想ファイルデータを記憶するよう作動する。その動作を図10のフローチャートに示し、仮想ファイルデータの一例を、図9に示す。
【0053】
まず、実施例1の図7のフローチャートを参照して説明したように、ファイルデータの操作が検出されると、シグニチャが生成され、このシグニチャがファイル名とされた仮想ファイルデータが仮想ファイルデータ記憶部22に記憶される(ステップS9)。このとき、本実施例では、まず、生成された仮想ファイルデータ(ステップS101)と同一のファイル名の仮想ファイルデータが既に仮想ファイルデータ記憶部22に存在するか否かを調べる(ステップS102)。例えば、図9の符号55に示す仮想ファイルデータが存在していた場合に、このファイル名55aと同一のシグニチャが生成されたとする(ステップS102でイエス)。なお、各シグニチャに対応するファイルデータは、たまたまシグニチャが一致しただけであって、ファイルデータ自体は異なるため、そのパスも異なる(符号55b,57b参照)。
【0054】
すると、新たに生成した仮想ファイルデータ57のファイル名57aとなったシグニチャを名称とするディレクトリ56が生成される(ステップS103)。そして、このディレクトリ56内に、シグニチャをファイル名57aとし、これに対応するファイルデータへのパス57bをデータ内容に含む仮想ファイルデータ57が記憶される(ステップS104)。これにより、各仮想ファイルデータに対応する各ファイルデータを区別することができる。なお、ディレクトリ56内には、シグニチャをファイル名として仮想ファイルデータを生成することに限定されず、少なくとも対応するファイルデータを特定する情報が含まれていればよい。
【0055】
以上のように、本発明によると、仮に、ファイルデータが異なっているにも関わらず、各ファイルデータに基づいて算出されたシグニチャ、つまり、仮想ファイルデータのファイル名が重複した場合であっても、ディレクトリ階層を異ならせることで、各仮想ファイルデータを区別することができる。従って、より確実に、ファイルデータの更新等を管理することができる。
【産業上の利用可能性】
【0056】
本発明は、大容量ファイルシステムを備えるコンピュータシステム、ファイルサーバ、さらには、パーソナルコンピュータなどで利用することができ、また、ファイルの変更履歴などを残し検索するシステムにも利用することができ、産業上の利用可能性を有する。
【図面の簡単な説明】
【0057】
【図1】実施例1におけるコンピュータの構成を示す機能ブロック図である。
【図2】図1に開示したファイルデータのデータ構造を示す図である。
【図3】図1に開示した仮想ファイルデータのデータ構造を示す図である。
【図4】図1に開示した仮想ファイルデータの具体的なデータ構造を示す図である。
【図5】図1に開示した仮想ファイルデータの具体的なデータ構造を示す図である。
【図6】図1に開示した仮想ファイルデータの具体的なデータ構造を示す図である。
【図7】図1に開示したコンピュータの動作を示すフローチャートである。
【図8】図1に開示したコンピュータの動作を示すフローチャートである。
【図9】実施例2における仮想ファイルデータの具体的なデータ構造を示す図である。
【図10】実施例2におけるコンピュータの動作を示す図である。
【符号の説明】
【0058】
1 コンピュータ
4 ファイルデータ
5 仮想ファイルデータ
10 演算装置
11 アプリケーション
12 ファイル操作処理部
13 ファイル操作検知処理部
14 シグニチャ生成処理部
15 仮想ファイル管理処理部
16 バックアップアプリケーション
20 記憶装置
21 実ファイルデータ記憶部
22 仮想ファイルデータ記憶部
30 バックアップ用記憶部
51,51’,52,52’,53,55,57 仮想ファイルデータ
56 ディレクトリ
51a,51a’,52a,55a,57a ファイル名
51b,52b,52b’,55b,57b パスデータ


【特許請求の範囲】
【請求項1】
所定の記憶装置に記憶されたファイルデータのデータ内容に応じた要約データを生成する要約データ生成手段と、
前記要約データと、当該要約データが生成された前記ファイルデータを特定するファイル特定データと、を関連付けて当該ファイルデータに対応する仮想ファイルデータとして記憶する仮想ファイル管理手段と、
を備えたことを特徴とするファイル管理システム。
【請求項2】
前記仮想ファイル管理手段は、前記要約データを前記仮想ファイルデータのファイル名として記憶する、
ことを特徴とする請求項1記載のファイル管理システム。
【請求項3】
前記要約データ生成手段は、前記ファイルデータのデータ内容に基づいて算出したハッシュ値を前記要約データとして生成する、
ことを特徴とする請求項2記載のファイル管理システム。
【請求項4】
前記仮想ファイル管理手段は、前記要約データをディレクトリ名としたディレクトリを生成すると共に、このディレクトリ内に前記仮想ファイルデータを記憶する、
ことを特徴とする請求項2又は3記載のファイル管理システム。
【請求項5】
前記仮想ファイル管理手段は、前記仮想ファイルデータに対応する前記ファイルデータの格納先を表すパスデータを前記ファイル特定データとして前記仮想ファイルデータに含める、
ことを特徴とする請求項1,2,3又は4記載のファイル管理システム。
【請求項6】
前記ファイルデータに対する操作処理を検知するファイル操作検知手段を備え、
前記要約データ生成手段及び前記仮想ファイル管理手段は、前記ファイル操作検知手段の検知結果に応じて作動する、
ことを特徴とする請求項1,2,3,4又は5記載のファイル管理システム。
【請求項7】
前記ファイル操作検知手段にて検知した前記ファイルデータに対する操作処理が変更又は削除である場合に、当該ファイルデータに対応する既存の前記仮想ファイルデータを削除する仮想ファイル削除手段を備えた、
ことを特徴とする請求項6記載のファイル管理システム。
【請求項8】
前記要約データ生成手段は、生成した前記要約データを前記ファイルデータに含めて記憶すると共に、
前記ファイル操作検知手段は、操作処理が行われた前記ファイルデータに記憶されている前記要約データを取得し、
前記仮想ファイル削除手段は、前記ファイル操作検知手段にて前記ファイルデータから取得した前記要約データに基づいて前記仮想ファイルデータの削除を行う、
ことを特徴とする請求項7記載のファイル管理システム。
【請求項9】
時間的に前後する前記仮想ファイルデータを比較して、その比較結果に基づいて前記仮想ファイルデータに対応する前記ファイルデータのバックアップ処理を行うバックアップ手段を備えた、
ことを特徴とする請求項1,2,3,4,5,6,7又は8記載のファイル管理システム。
【請求項10】
コンピュータが、所定の記憶装置に記憶されたファイルデータを管理する方法であって、
前記ファイルデータのデータ内容に応じた要約データを生成する要約データ生成工程と、
前記要約データと、当該要約データが生成された前記ファイルデータを特定するファイル特定データと、を関連付けて当該ファイルデータに対応する仮想ファイルデータとして記憶する仮想ファイル管理工程と、
を有することを特徴とするファイル管理方法。
【請求項11】
前記コンピュータが前記ファイルデータに対する操作処理を検知するファイル操作検知工程を有し、
このファイル操作検知工程による検知結果に応じて、前記要約データ生成工程及び前記仮想ファイル管理工程が作動する、
ことを特徴とする請求項10記載のファイル管理方法。
【請求項12】
前記仮想ファイル管理工程の前に、前記ファイル操作検知工程にて検知した前記ファイルデータに対する操作処理が変更又は削除である場合に、前記コンピュータが、当該ファイルデータに対応する既存の前記仮想ファイルデータを削除する仮想ファイル削除工程を有する、
ことを特徴とする請求項11記載のファイル管理方法。
【請求項13】
前記コンピュータが、時間的に前後してそれぞれ記憶された前記仮想ファイルデータを比較して、その比較結果に基づいて前記仮想ファイルデータに対応する前記ファイルデータのバックアップ処理を行うバックアップ工程を有する、
ことを特徴とする請求項10,11又は12記載のファイル管理方法。
【請求項14】
所定の記憶装置に記憶されたファイルデータを管理するコンピュータに、
前記ファイルデータのデータ内容に応じた要約データを生成する要約データ生成手段と、
前記要約データと、当該要約データが生成された前記ファイルデータを特定するファイル特定データと、を関連付けて当該ファイルデータに対応する仮想ファイルデータとして記憶する仮想ファイル管理手段と、
を実現させるためのプログラム。
【請求項15】
前記コンピュータに、前記ファイルデータに対する操作処理を検知するファイル操作検知手段を実現すると共に、
前記要約データ生成手段及び前記仮想ファイル管理手段は、前記ファイル操作検知手段の検知結果に応じて作動する、
ことを特徴とする請求項14記載のプログラム。
【請求項16】
前記コンピュータに、前記ファイル操作検知手段にて検知した前記ファイルデータに対する操作処理が変更又は削除である場合に、当該ファイルデータに対応する既存の前記仮想ファイルデータを削除する仮想ファイル削除手段、を実現させるための請求項15記載のプログラム。
【請求項17】
前記コンピュータに、時間的に前後する前記仮想ファイルデータを比較して、その比較結果に基づいて前記仮想ファイルデータに対応する前記ファイルデータのバックアップ処理を行うバックアップ手段、を実現させるための請求項14,15又は16記載のプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2008−234269(P2008−234269A)
【公開日】平成20年10月2日(2008.10.2)
【国際特許分類】
【出願番号】特願2007−72338(P2007−72338)
【出願日】平成19年3月20日(2007.3.20)
【出願人】(000004237)日本電気株式会社 (19,353)
【Fターム(参考)】