(57)【要約】【課題】複数世代のボリューム上の、ディレクトリ構造を持ったファイルシステムにおいて、指定したデータを高速に検索する。【解決手段】複数世代のボリュームを保持できるディスク装置と、管理情報テーブルを保持するディスクまたはディスク装置と、検索処理を行う処理装置と、データの検索条件と検索結果を表示する端末装置から構成し、世代ボリュームごとの差分のデータと、ボリューム領域上のファイル・ディレクトリの配置からなる管理情報テーブルを作成し、端末装置からの検索要求に応じて検索処理装置から管理情報テーブルを使用することにより、複数世代のファイルシステムから、データ及び履歴の情報を高速に探索しその結果の情報を端末装置に表示する。【選択図】図１
2010079601.tif 000002
【特許請求の範囲】
【請求項１】
多世代のファイルシステムと検索に使用するテーブル群を保持できる多世代ボリューム格納装置と、検索に使用するテーブル群を保持するテーブル群格納装置と、検索処理を行う処理装置と、検索結果を表示する端末装置とから成る多世代ファイル探索システムであって、
前記テーブル群格納装置には、
ファイルシステム世代間の差分のある領域の情報と、
ファイルシステム全体が配置されている領域のデバイス上のアドレス情報と、
ファイルシステム世代間で差分のある領域のデバイス上のアドレス情報と、
ファイルシステム世代間で差分のある領域に配置されているファイル・ディレクトリの情報と、
ファイル・ディレクトリの移動情報の情報と、
探索結果の情報と
が格納され、
前記処理装置は、
前記端末装置に検索画面を表示する検索画面表示手段と、
検索のための探索テーブル群を作成する探索テーブル群作成手段と、
該探索テーブル群作成手段が作成した探索テーブル群に基づいて、前記端末装置からの検索要求に応じて指定されたデータを持つファイルを探索するデータ探索手段と、
前記探索テーブル群に基づいて指定されたファイル名称からファイルを探索する名称探索手段と、
探索テーブル群をもとに指定したファイルの履歴を探索する履歴探索手段と、
探索した結果を前記端末装置の画面に表示する探索結果表示手段と
を有する多世代ファイル探索システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ディレクトリ構造を持ったファイルシステム一般において、求めるファイルについて妥当な世代が検索できるようにする多世代ファイル検索システムに関する。
【背景技術】
【０００２】
現在ハードディスクの大容量化や価格の低下に伴い、データの保管量が著しく増加しつつある。またそのデータは、数十世代管理もされているが、この保管量の増加に比例するように世代数も拡大しつつある。このような状況では妥当な世代の対象のデータを探索するのは困難になっているため、DBでファイルとキーと世代番号を対応付けて記憶・検索する技術が発明され知られている。その発明の公知技術文献としては下記の特許文献１がある。
【０００３】
【特許文献１】特開平７−１９１８８９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところが、この方法では特定の機能を持ったDBによって管理することを前提としており、一般的な世代管理では使えない。
【０００５】
そのため、現在普及しつつある大量の世代を持ったファイルシステムに対しては適用できないという問題がある。
【０００６】
本発明の目的はディレクトリ構造を持ったファイルシステム一般において多数の世代が存在した場合でも、効率的な探索方法を提供することにある。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明の多世代ファイルシステム探索システムは、多世代のファイルシステムと検索に使用するテーブル群を保持できる多世代ボリューム格納装置と、検索に使用するテーブル群を保持するテーブル群格納装置と、検索処理を行う処理装置と、検索結果を表示する端末装置とから成る多世代ファイル探索システムであって、前記テーブル群格納装置には、ファイルシステム世代間の差分のある領域の情報と、ファイルシステム全体が配置されている領域のデバイス上のアドレス情報と、ファイルシステム世代間で差分のある領域のデバイス上のアドレス情報と、ファイルシステム世代間で差分のある領域に配置されているファイル・ディレクトリの情報と、ファイル・ディレクトリの移動情報の情報と、探索結果の情報とが格納され、前記処理装置は、前記端末装置に検索画面を表示する検索画面表示手段と、検索のための探索テーブル群を作成する探索テーブル群作成手段と、該探索テーブル群作成手段が作成した探索テーブル群に基づいて、前記端末装置からの検索要求に応じて指定されたデータを持つファイルを探索するデータ探索手段と、前記探索テーブル群に基づいて指定されたファイル名称からファイルを探索する名称探索手段と、探索テーブル群をもとに指定したファイルの履歴を探索する履歴探索手段と、探索した結果を前記端末装置の画面に表示する探索結果表示手段とを有するものである。
【発明の効果】
【０００８】
本発明の多世代ファイルシステム探索システムによれば、次のような効果がある。
【０００９】
（１）複数世代のボリュームの関係で管理することにより、膨大な数のボリュームの中から目的のデータを探索することが容易になる。
【００１０】
（２）世代間のボリューム間の差分として管理することで、探索する範囲を差分領域に限定でき、またボリューム上のデータをシーケンシャルに探索することができるようなり、ディスクへのＩ／Ｏを連続させることで処理効率を上げ探索時間を短縮できる。
【００１１】
（３）ボリュームの世代間の差分を管理することで、その情報を元に変更情報を探索することにより、任意のファイルの変更や移動などの履歴情報を探索することが容易になる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の実施の形態について図面に基づいて説明する。
【００１３】
図１は、本発明の一実施形態を示すシステム構成図である。この実施形態の多世代ファイル探索システムは、物理的なケーブルを通じて電気的もしくは光学信号により探索システム00001と探索画面や結果を表示するための端末装置00000と、複数世代のボリュームが格納されているディスク装置（多世代ボリューム格納装置）00006が接続され相互に通信できるように構成されている。ディスク装置は、主にＨＤＤ（ハードディスクドライブ）を想定するが、他のディスク装置であってもかまわない。
【００１４】
ディスク装置00006では、複数世代のボリューム00007,00008,00009に現在および過去のデータを保管している。ディスク装置00006内ではそれぞれのボリューム上のデータは、ファイルシステム管理手段により木構造のデータとして管理されており、ファイルシステム管理手段00012はボリューム管理手段00013を介してアクセスする構成となっている。これらディスク装置00006内の二つの手段は、ディスク装置00006の基板上の回路により構成される。
【００１５】
探索システム00001はこのディスク装置00006のデータから、端末00000からの入力をもとに、ディスク装置内のデータについてデータの探索、名前探索及び変更履歴の探索を行う機能を実現する。この機能実現は、具体的には、ＣＰＵ（中央処理装置）が必要なコンピュータプログラムを読み込んで、その内容を実行することによりなされる。探索処理の実現のために、探索システムは端末00000へ入力を促すための画面を表示させる検索画面表示手段00002、検索を高速に行うためのテーブルを作成する探索テーブル作成手段00003と、探索テーブル作成手段00003により作成されたテーブルをもとに検索を行うためのデータ探索手段00004と、検索実施後の結果を表示するための結果表示手段00005とを有する。また、探索テーブル作成手段により作成されたテーブル群は外部ディスク00010もしくは、ディスク装置00006内のボリューム（00011）に保存され、システム再起動後も使用できるようになっている。外部ディスク00010又はディスク装置00006内のボリューム00011は、特許請求の範囲及び課題解決手段に記載したテーブル群格納装置に該当する。
【００１６】
図２は、ディスク装置10000上のボリューム10002,10003,10004とファイルシステム管理手段10001とのデータ管理についての説明である。ディスク装置10000内ではファイルシステム管理手段10001によりデータを管理している。ボリューム10002,10003,10004上のデータはファイルシステムの構造10005,10006,10007により管理されボリュームの物理的な領域アドレスを、ファイルとして対応づけが行われている（10009,10010）。また各ファイルはディレクトリに属するものとして木構造による管理をおこなう。このディレクトリの情報及びファイルの管理情報もボリューム上に保存されている（10008,10011）。
【００１７】
図３は、本発明の探索動作の全体概要を示す図である。
【００１８】
本発明に係る多世代ファイル探索システムでは、ディスクシステム11006上のファイルシステム管理機能11007によるデータの管理構造11008,11009,11010と、ボリューム11011,11012,11013へのデータの更新の関係を利用して、検索用のテーブル群11021を作成し、それを使用したデータの探索を行う。2008/02/23 06:00〜2008/02/23 18:00時点のファイルシステムの例11009に示すように、あるファイルへのデータ更新11023が行われると、そのデータはボリュームへ記録される11025。それにより、2008/02/23 06:00以前のファイルシステム11010のボリューム11013との差分11015が発生する。また、現在のファイルシステムの例11008に示すように、ファイルの移動11022が発生した場合も、管理情報が更新されるため、管理情報がボリュームへ記録11024される。それにより、2008/02/23 18:00時点のファイルシステム11009のボリューム11012と現在のボリューム11011の間で差分11014が発生する。この差分の発生とデータの更新の関係を利用して、ボリューム11011,11012,11013上のデータからファイルシステム上のデータの変更や構成の変更を取り出してそれを管理する。
【００１９】
探索システム11001では探索テーブル作成手段11003により、ボリューム11011,11012,11013間の差分である、DIFER(N-1) 11017、DIFFER(N-2) 11018を抽出しテーブルとしてテーブル群11021に記録する（11019）。またファイルシステム管理からその差分の領域11017,11018上に存在するファイル及びディレクトリの情報を取得11020して、テーブルとしてテーブル群11021に記録する。また、ボリュームの使用領域の情報ALLAREA 11016を取得してテーブルとしてテーブル群11021に記録する。
【００２０】
テーブル群が作成された状態で、端末11000からの要求に応じて、データ探索手段11004はテーブル群11021及び各世代のボリューム11011,11012,11013の情報を参照しデータを探索して、結果を端末11000に出力する。このしくみにより、複雑なファイルシステムの構造からの検索よりも高速に、かつ最小限の範囲でのデータ探索を行うことができる。
【００２１】
図４は、探索部で使用するデータの構成一覧である。
【００２２】
図に示すように領域情報テーブル03000は探索システムで管理するボリュームの領域名称を保持しており、ボリュームの日付03001、管理する領域の名称03002、ファイルシステムの世代番号03003を記録する。
【００２３】
このテーブルには、管理対象となる新しい世代のファイルシステムが追加される際にレコードが追加される。
【００２４】
ボリューム領域アドレステーブル03004は最新のボリュームの領域情報を管理するテーブルである。テーブルは領域名称03005とデバイスアドレス03006が登録される。このテーブルは最新のボリュームが追加されるたびにそのボリュームの情報により上書きされる。
【００２５】
差分領域アドレステーブル03007は、世代ボリューム間で差異のある領域を管理するためのテーブルで、領域名称03008と差分箇所のデバイス上の位置03009が登録される。このテーブルは最新のボリュームが追加されるたびにレコードが追加される。
【００２６】
ファイル・ディレクトリ配置情報テーブル03010,03013は差分領域上に配置されるファイル及びディレクトリのパスを管理する。テーブルは領域毎に作成され、デバイスのアドレス03011とそこに配置されているファイルまたはディレクトリのパスの情報03012が登録される。このテーブルは最新のボリュームが追加されるたびに作成される。
【００２７】
履歴探索データテーブル03017は指定されたファイルの履歴について、システムが保持している領域情報テーブル03000及び、差分領域アドレステーブル03007、ファイル・ディレクトリ配置情報テーブル03010とボリュームの情報を元に探索を行った結果が記録される。テーブルには指定された条件で見つかった変更前のパス情報03014と、変更後のパス情報03015と変更が発生した世代番号03016が記録される。このテーブルは検索処理が行われるたびに作成される。
【００２８】
図５は、探索結果テーブルを示す図である。探索結果テーブル03018は、データ及び名前で検索を行った結果が格納される。テーブルには検索で見つかったファイルのパス03019及び、見つかった世代の番号03020が記録される。
【００２９】
図６は、探索処理全体の概要を示すフローチャートである。
【００３０】
システムは初期の起動時、探索システムに存在する全てのボリュームを登録するシステム初期設定を行う（ステップ04000）。初期設定終了後時間経過と共に新しい世代が発生する。その際システムは該当のボリュームを登録するためのボリューム追加処理を行う（ステップ04001,04002）。システムはユーザから探索要求が発生した事を検知する（ステップ04003）。探索要求が名称による探索であった場合は名称探索処理を起動する（ステップ04004,04005）。探索要求がデータを探索する要求であった場合にはデータ探索処理を起動する（ステップ04006,04007）。探索要求が任意のファイルの変更履歴を探索する要求であった場合には履歴探索処理を起動する（ステップ04008,04009）。探索処理終了後画面の表示を行う（ステップ04010）。
【００３１】
図７は、システム初期設定処理のフローチャートである。システムの初期設定処理では検索システム上に検索を行うための管理情報の作成を行う。
【００３２】
はじめに最新のファイルシステム世代番号を内部変数のNに登録する（ステップ04100）。
【００３３】
最新の世代NのデバイスV(N)をシステムに接続する（ステップ04101）。
【００３４】
V(N)上でファイルシステムが配置されている領域を計算し、この領域の名称をALLAREAとしてボリューム領域アドレステーブル03004に名称と領域のアドレスを登録する（ステップ04102）。このときの領域はボリューム全体の領域となる。また領域情報テーブル03000に最新のボリュームとしてV(N)の日付Data(N)と名称ALLAREA、世代番号Nを登録する（ステップ04103）。
【００３５】
Nより一つ古い世代のボリュームV(N-1)が存在する事を確認し、存在しない場合は処理が終了する（ステップ04104）。
【００３６】
V(N-1)が存在した場合はシステムに接続する（ステップ04105）。デバイスV(N-1)とデバイスV(N)で変更が行われている領域名称をDIFFER(N)とする（ステップ04106）。
【００３７】
デバイスV(N)上でDIFFER(N)が配置されているアドレスの番号をDIFFERAREA(N)として保持する（ステップ04107）。
【００３８】
デバイスV(N-1)の日付Date(N-1)を取得する（ステップ04108）。
【００３９】
差分領域の名称DIFFER(N)と領域のアドレスDIFFERAREA(N)を差分領域アドレステーブル03007に登録する（ステップ04109）。領域情報テーブル03000にボリュームV(N-1)のボリューム日付Date(N-1)と領域名称DIFFER(N)と世代番号N-1を登録する（ステップ04110）。差分領域DIFFER(N)上に位置するファイルfile(m0)・・・file(mn)のV(N)上の位置とパスの情報をV(N)から取得する（ステップ04111）。ファイル・ディレクトリ配置情報テーブル03010,03013にステップ04111で取得したファイル名と領域の情報を記録する（ステップ4112）。次に古い世代のボリュームを接続するために、変数Ｎに次の世代の番号を入力する（ステップ4113）。
【００４０】
図８は、システム情報追加処理のフローチャートである。新たな世代が発生するとその情報をシステムに登録する必要がある。処理は新規に追加されたファイルシステムのボリュームV(NEW)と一つ前の世代のファイルシステムが配置されてボリュームV(N)を接続する（ステップ04200）。V(NEW)上のファイルシステムで使用している領域FS(NEW)の領域を計算する（ステップ04201）。V(NEW)とV(N)で差分のある領域DIFFER(N+1)を計算する（ステップ04202）。
【００４１】
領域情報テーブル03000に差分領域の識別名称DIFFERAREA(N+1)とV(NEW)のボリューム日付Date(New)及び世代番号Newを登録する（ステップ04203）。
【００４２】
差分のある領域DIFFER(N+1)のＶ(NEW)上の位置DIFFAREA(N+1)を計算する（ステップ04204）。差分領域アドレステーブル03007に差分の名称DIFFER(N+1)とDIFFAREA(N+1)を登録する（ステップ04205）。DIFFAREA(N+1)に配置されてファイルFile(0)…File(m)とそのファイルが配置されているデバイスのアドレスをファイル配置情報テーブル03010,03013,030104に登録する（ステップ04206）。領域情報テーブル03000の差分領域名称がALLAREAと成っているものの日付の項目を追加するボリュームの日付Date(New)、世代番号の項目をＮＥＷに置き換える（ステップ04207）。ボリュームV(NEW)とV(N)をシステムから切り離す（ステップ04208）。
【００４３】
図９は、データ探索処理のフローチャートである。データ探索処理は指定されたデータを含むファイルを探索する。
【００４４】
システムに最新世代のボリュームV(N)を接続する（ステップ04400）。ボリューム内にてファイルシステムで使用している領域内でデータを探索する（ステップ04401）。領域中にデータが見つかった場合はデータが一致した領域に配置されているファイルパスを取得する（ステップ04402,04403）。対象が一つのファイル内で構成されている場合は、探索結果テーブル03018に世代番号とパスの情報を登録する（ステップ04404,04405）。次の世代のボリュームV(N-1)が存在する場合には処理を継続する。存在しない場合は処理を終了する（ステップ04406）。次の世代のボリュームV(N-1)を接続する（ステップ04407）。領域情報テーブル03000から世代番号N-1に対応する差分領域名称を取得し、差分領域アドレステーブル03007から対応する差分の領域を取得する（ステップ04408）。V(N-1)内の差分領域と探索で指定されたデータの大きさ分を探索する（ステップ04409）。領域中にデータが見つかった場合には探索結果テーブル03018に世代番号Ｎ-1とパスの情報を記録する（ステップ04410,04411）。探索結果テーブル03018の情報を元に画面表示01005を行う（ステップ04412）。
【００４５】
図１０は、名前探索処理のフローチャートである。名前探索処理は指定された名称のファイルを探索する。
【００４６】
システムに最新世代のボリュームV(N)を接続する（ステップ04500）。接続したボリュームV(N)上のファイルシステムから名称でファイルを検索する（ステップ04501）。名称が一致するファイルが存在した場合、探索結果テーブル03018に世代番号Ｎとファイルのパスの情報を登録する（ステップ04502,04503）。探索対象としたボリュームの次に新しいボリュームが存在しなければ処理を終了する。存在する場合は処理を継続する（ステップ04504）。次に新しい世代のボリュームV(N-1)を探索対象に設定する（ステップ04505）。領域情報テーブル03000からボリュームＶ(N-1)の世代番号で差分領域名称を取得し、対応するファイル・ディレクトリ配置情報テーブル03010,03013から探索対象のファイル名を探索する（ステップ04506）。対象が存在した場合は、探索結果テーブル03018に世代番号Ｎ−１とパスの情報を登録する（ステップ04507,04508）。探索結果テーブル03018に登録された情報を元に画面表示01005を行う（ステップ04509）。
【００４７】
図１１は、履歴情報探索処理のフローチャートである。履歴情報探索は画面より指定されたファイルの世代間の変更履歴を探索する。
【００４８】
探索対象のボリュームV(N)が存在しない場合は処理を終了する。存在する場合には処理を継続する（ステップ04600）。探索対象ボリュームV(N)を接続する（ステップ04601）。Ｖ(N)上に探索対象のファイルが存在するかを確認し存在しないなら処理を終了、存在するなら処理を継続する（ステップ04602）。履歴探索データテーブル03017の編前パスに“-”変更後パスに探索対象のパス、世代番号にＮを登録する（ステップ04603）。探索中のボリュームより一つ前の世代のボリュームが存在するかを確認し存在しない場合は処理を終了し、存在する場合は処理を継続する（ステップ04604）。領域情報テーブル03000から一つ前の世代のボリュームV(N-1)に対応する領域名称を取得し、対応するファイル・ディレクトリ配置情報テーブル03010,03013にパスがあるかを確認し、存在する場合は処理を継続し、存在しない場合は次に古い世代のボリュームに探索対象を移す（ステップ04605）。履歴探索データテーブル03017の編前パスに“-”変更後パスに探索対象のパス、世代番号にＮを登録する（ステップ04606）。領域情報テーブル03000から一つ前の世代のボリュームV(N-1)に対応する領域名称を取得し、対応するファイル・ディレクトリ配置情報テーブル03010,03013に探索対象のデータの親ディレクトリが含まれるかを確認し、含まれる場合は処理を継続し、含まれない場合は処理を終了する（ステップ04607）。V(N−１)から探索対象のデータと親の領域のデータを取得する（ステップ04608）。V(N)から探索対象のデータと親の領域のデータを取得する（ステップ04609）。履歴探索データテーブル03017の（ステップ04606）で登録済みのレコードについて、変更前パスにV(N-1)上のパス情報、変更後パスをV(N)のパス情報、世代番号にＮで更新する（ステップ04610）。探索対象のパスをＶ(N-1)で見つかった変更前のパスに切り替える（ステップ04611）。探索結果テーブル03018に登録された情報を元に画面表示01009を行う（ステップ04612）。
【００４９】
領域情報テーブル03000から一つ新しい世代のボリュームV(N-1)の世代番号の差分領域名称を取得して、対応するファイル・ディレクトリ配置情報テーブル03010,03013にパスがある場合は世代番号を記録する。
【００５０】
図１２は、探索条件の入力画面、探索結果の表示についての説明である。探索条件入力画面01000では探索するデータを入力する項目01001、検索ファイル名を入力するための項目01002、履歴をたどる対象を選択する項目01003を表示する。この入力後に実行ボタン01004を押すと、入力された情報を元にシステムは探索処理を行う。
【００５１】
探索実施後結果を表示するために画面を表示する。データでの検索かファイル名での検索を行うと、指定した探索条件01006及び探索の結果見つかったファイルのフルパス名と、そのファイルが存在したボリュームの日付の項目01007・01008を表示する画面01005を表示する。履歴探索で探索を行うと、選択したファイルの存在した期間毎に、トップディレクトリ01010からのパスの情報01011・01012・01013を表示するための画面01009を表示する。
【００５２】
このシステム動作により高速な探索処理を行う。
【産業上の利用可能性】
【００５３】
当初から論理的に設計されたのではなく、無作為に作成された複数世代のファイルシステムに対しても利用可能であって、効率的な世代データの検索が行える。
【図面の簡単な説明】
【００５４】
【図１】探索システムのシステム構成図である。
【図２】ディスク装置上のボリュームとファイルシステム管理機能とのデータ管理についての説明図である。
【図３】本発明の探索動作の全体概要を示す図である。
【図４】探索処理で使用するデータの構成一覧である。
【図５】探索結果テーブルを示す図である。
【図６】探索処理全体の概要を示すフローチャートである。
【図７】システム初期設定処理のフローチャートである。
【図８】システム情報追加処理のフローチャートである。
【図９】データ探索処理のフローチャートである。
【図１０】名前探索処理のフローチャートである。
【図１１】履歴情報探索処理のフローチャートである。
【図１２】探索結果の表示方法を示す図である。
【符号の説明】
【００５５】
00000  端末装置
00001  探索システム
00002  検索画面表示手段
00003  探索テーブル作成手段
00004  データ探索機能
00005  結果表示手段
00006  ディスク装置
00010,00011  テーブル群
【図１】
2010079601.tif 000003
【図２】
2010079601.tif 000004
【図３】
2010079601.tif 000005
【図４】
2010079601.tif 000006
【図５】
2010079601.tif 000007
【図６】
2010079601.tif 000008
【図７】
2010079601.tif 000009
【図８】
2010079601.tif 000010
【図９】
2010079601.tif 000011
【図１０】
2010079601.tif 000012
【図１１】
2010079601.tif 000013
【図１２】
2010079601.tif 000014