JP2009282604A - 重複データ排除システム、重複データ排除方法及び重複データ排除プログラム - Google Patents
重複データ排除システム、重複データ排除方法及び重複データ排除プログラム Download PDFInfo
- Publication number
- JP2009282604A JP2009282604A JP2008131894A JP2008131894A JP2009282604A JP 2009282604 A JP2009282604 A JP 2009282604A JP 2008131894 A JP2008131894 A JP 2008131894A JP 2008131894 A JP2008131894 A JP 2008131894A JP 2009282604 A JP2009282604 A JP 2009282604A
- Authority
- JP
- Japan
- Prior art keywords
- directory
- identifier
- file
- file system
- directory identifier
- 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.)
- Withdrawn
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】基準ファイルシステムと対象ファイルシステム間の重複データ排除において、重複排除に掛かる時間を短縮する。
【解決手段】基準ファイルシステム及び対象ファイルシステム内に含まれているディレクトリごとに、ディレクトリの様相を示すために決定される一意の識別子であるディレクト識別子を生成する。基準ファイルシステム内ディレクトリのディレクトリ識別子と、対象ファイルシステム内ディレクトリのディレクトリ識別子の比較を行う。比較結果に基づいて前記基準ファイルシステム及び前記対象ファイルシステム内に含まれているファイルごとに、それぞれのファイルを識別するためのファイル識別子を生成する。ファイル識別子の比較を行う。ファイル識別子が一致したファイル同士のファイルデータの比較を行う。比較結果に基づいてデータの重複を排除する。
【選択図】図1
【解決手段】基準ファイルシステム及び対象ファイルシステム内に含まれているディレクトリごとに、ディレクトリの様相を示すために決定される一意の識別子であるディレクト識別子を生成する。基準ファイルシステム内ディレクトリのディレクトリ識別子と、対象ファイルシステム内ディレクトリのディレクトリ識別子の比較を行う。比較結果に基づいて前記基準ファイルシステム及び前記対象ファイルシステム内に含まれているファイルごとに、それぞれのファイルを識別するためのファイル識別子を生成する。ファイル識別子の比較を行う。ファイル識別子が一致したファイル同士のファイルデータの比較を行う。比較結果に基づいてデータの重複を排除する。
【選択図】図1
Description
本発明は重複データ排除システム、重複データ排除方法及び重複データ排除プログラムに関し、より詳細には、複数のファイルシステム間で、高速に重複データの排除が可能な重複データ排除システム、重複データ排除方法及び重複データ排除プログラムに関する。
記憶容量の小さい記憶装置を備えた情報処理装置において、なるべく多くのデータを保存するためには、記憶装置内で重複するファイルを削除する重複データ排除の仕組みが有用である。
関連する重複データ排除システムの一例が、特許文献1に記載されている。特許文献1では、2つのファイルシステム間で重複するファイルを削除するために、まず基準ファイルシステム内のファイルに関する内容識別情報と、対象ファイルシステム内のファイルに関する内容識別情報を比較する。なお、ここでいう内容識別情報とは、SHA−1(SecureHashAlgorithm1)ハッシュなど、ファイルデータが同じであれば、同じ値を示すもののことをいう。
そして、特許文献1に記載のシステムは、比較の結果一致したファイルが見つかった場合に、対象ファイルシステム内の該当ファイルを、基準ファイルシステムの該当ファイルへの参照情報に置き換えることにより重複データの排除を行っている。
また別の重複排除システムの一例が、特許文献2に記載されている。特許文献2では、バックアップ用ファイルシステムにおけるデータの重複を削除するために、バックアップ済みファイルのハッシュ値データベースを用意しておく。そして、新たにバックアップを行おうとしているファイルのハッシュ値が、すでにハッシュ値データベースに登録されているかチェックする。すでに登録されている場合には、該当ファイルをバックアップ用ファイルシステムに新規保存しないことにより、バックアップ用ファイルシステム内での重複データの排除を行っている。
特開2005−202443号公報
特表2003−524243号公報
前述した関連技術には、以下のような問題点があった。
問題点は、重複排除全体に要する時間が、長く掛かってしまうということである。前述した関連技術では、重複データを排除するために、基準ファイルシステム及び対象ファイルシステム内のファイルデータに関してハッシングをする必要がある。この点、ハッシングを行うためにはハッシング対象のファイルデータを一度メモリ上に展開する必要がある。例えば、100GBのファイルシステムのハッシングを行うためには、100GBのファイルデータを段階的に少しずつメモリにロードした上で、最終的に100GB分のファイルデータ全てをハッシングする必要がある。しかし、ファイルシステムを保存するための記憶装置としてHDD(ハードディスクドライブ)などのディスク装置を使用した場合はディスクへのアクセス速度が遅いため、ハッシングに掛かる時間が長くなる。ハッシングに掛かる時間が長くなるということは、重複データ排除システム全体として処理に掛かる時間が長くなってしまい問題である。
そこで、本発明は重複データの排除に掛かる時間が短い、重複データ排除システム、重複データ排除方法及び重複データ排除プログラムを提供することを目的とする。
本発明の第1の観点によれば、システムとして基準ファイルシステムと対象ファイルシステムを用いて基準ファイルシステムと対象ファイルシステム間でのデータの重複を排除する重複データ排除システムであって、前記基準ファイルシステム及び前記対象ファイルシステム内に含まれているディレクトリごとに、ディレクトリの様相を示すために決定される一意の識別子であるディレクト識別子を生成するディレクトリ識別子生成手段と、前記基準ファイルシステム内ディレクトリの前記ディレクトリ識別子と、前記対象ファイルシステム内ディレクトリの前記ディレクトリ識別子の比較を行うディレクトリ識別子比較手段と、前記ディレクトリ識別子比較手段における比較結果に基づいて前記基準ファイルシステム及び前記対象ファイルシステム内に含まれているファイルごとに、それぞれのファイルを識別するためのファイル識別子を生成するファイル識別子生成手段と、前記ファイル識別子の比較を行うファイル識別子比較手段と、前記ファイル識別子が一致したファイル同士のファイルデータの比較を行うファイルデータ比較手段と、前記ファイルデータ比較手段における比較結果に基づいてデータの重複を排除するファイル重複排除手段と、を備えることを特徴とする重複データ排除システムが提供される。
本発明の第2の観点によれば、方法として基準ファイルシステムと対象ファイルシステムを用いて基準ファイルシステムと対象ファイルシステム間でのデータの重複を排除するシステムにおける、重複データ排除方法であって、前記基準ファイルシステム及び前記対象ファイルシステム内に含まれているディレクトリごとに、ディレクトリの様相を示すために決定される一意の識別子であるディレクト識別子を生成するディレクトリ識別子生成ステップと、前記基準ファイルシステム内ディレクトリの前記ディレクトリ識別子と、前記対象ファイルシステム内ディレクトリの前記ディレクトリ識別子の比較を行うディレクトリ識別子比較ステップと、前記ディレクトリ識別子比較ステップにおける比較結果に基づいて前記基準ファイルシステム及び前記対象ファイルシステム内に含まれているファイルごとに、それぞれのファイルを識別するためのファイル識別子を生成するファイル識別子生成ステップと、前記ファイル識別子の比較を行うファイル識別子比較ステップと、前記ファイル識別子が一致したファイル同士のファイルデータの比較を行うファイルデータ比較ステップと、前記ファイルデータ比較ステップにおける比較結果に基づいてデータの重複を排除するファイル重複排除ステップと、を備えることを特徴とする重複データ排除方法が提供される。
本発明の第3の観点によれば、プログラムとして基準ファイルシステムと対象ファイルシステムを用いて基準ファイルシステムと対象ファイルシステム間でのデータの重複を排除する重複データ排除システムとしてコンピュータを機能させるための重複データ排除プログラムであって、前記基準ファイルシステム及び前記対象ファイルシステム内に含まれているディレクトリごとに、ディレクトリの様相を示すために決定される一意の識別子であるディレクト識別子を生成するディレクトリ識別子生成手段と、前記基準ファイルシステム内ディレクトリの前記ディレクトリ識別子と、前記対象ファイルシステム内ディレクトリの前記ディレクトリ識別子の比較を行うディレクトリ識別子比較手段と、前記ディレクトリ識別子比較手段における比較結果に基づいて前記基準ファイルシステム及び前記対象ファイルシステム内に含まれているファイルごとに、それぞれのファイルを識別するためのファイル識別子を生成するファイル識別子生成手段と、前記ファイル識別子の比較を行うファイル識別子比較手段と、前記ファイル識別子が一致したファイル同士のファイルデータの比較を行うファイルデータ比較手段と、前記ファイルデータ比較手段における比較結果に基づいてデータの重複を排除するファイル重複排除手段と、を備えることを特徴とする重複データ排除システムとしてコンピュータを機能させるための重複データ排除プログラムが提供される。
本発明によれば、重複データの排除に掛かる時間を短縮することが可能となる。その理由は、ディレクトリ識別子が一致するディレクトリ内に含まれるファイルについては、ディレクトリ識別子の生成及び比較より時間が掛かるファイル識別子の生成及び比較を省略できるためである。
次に、発明を実施するための最良の形態について図面を参照して詳細に説明する。
[第1の実施の形態]
図1を参照すると、本発明の第1の実施の形態は、プログラム制御により動作するデータ処理装置100、記憶装置200、メモリ300、通信装置400、入力装置500、及び出力装置600を含む。
図1を参照すると、本発明の第1の実施の形態は、プログラム制御により動作するデータ処理装置100、記憶装置200、メモリ300、通信装置400、入力装置500、及び出力装置600を含む。
記憶装置200は、基準ファイルシステム210及び対象ファイルシステム220を含む。なお記憶装置は、HDDやフラッシュメモリなどの外部記憶装置であれば何でも良い。また、基準ファイルシステム210及び対象ファイルシステム220は、例えばExt2(second extended file system)、Ext3(third extended file system)等のファイルシステムである。
基準ファイルシステム210は、重複排除における比較元となるファイルシステムである。対象ファイルシステム220は、重複排除を行う対象となるファイルシステムである。
より詳細に説明すると、基準ファイルシステム210は、基準ファイルシステム管理部211と基準ファイルシステムデータ部212を有する。
より詳細に説明すると、基準ファイルシステム210は、基準ファイルシステム管理部211と基準ファイルシステムデータ部212を有する。
基準ファイルシステム管理部211は、基準ファイルシステム210内に格納されているファイルのメタ情報が格納されている部分である。ここでメタ情報とは、あるデータが付随して持つそのデータ自身についての抽象度の高い付加的なデータ情報であり、例えば、ファイル名やファイルサイズなどが挙げられる。
基準ファイルシステムデータ部212は、基準ファイルシステム210内に格納されているファイルのファイルデータが格納されている部分である。なお一般的に、基準ファイルシステムデータ部212のデータ量は、基準ファイルシステム管理部211のデータ量より大きくなることが多い。
こうした内部構成は、対象ファイルシステム220でも同様である。すなわち、対象ファイルシステム220は、対象ファイルシステム管理部221と対象ファイルシステムデータ部222を有する。
一方データ処理装置100は、ディレクトリ識別子生成部110とディレクトリ識別子比較部120、ファイル識別子生成部130、ファイル識別子比較部140、ファイルデータ比較部150及びファイル重複排除部160を含む。なおデータ処理装置100は、例えばCPU(Central Processing Unit)等の演算装置である。
ディレクトリ識別子生成部110は、まず基準ファイルシステム管理部211に記憶されているメタ情報を参照し、基準ファイルシステム210内のディレクトリごとに、特定のディレクトリ階層までディレクトリ識別子を生成する。そして当該生成したディレクトリ識別子をフルパスディレクトリ名と共にディレクトリ識別子管理テーブルに追加する。ディレクトリ識別管理テーブルの一例を図2に示す。次に、ディレクトリ識別子生成部110は、対象ファイルシステム管理部221に保存されているメタ情報を参照し、対象ファイルシステム220内のディレクトリごとに、特定のディレクトリ階層までディレクトリ識別子を生成する。そして当該生成したディレクトリ識別子をディレクトリ名と共にディレクトリ識別子管理テーブルに追加する。
ここでディレクトリ識別子とは、ディレクトリの様相を示すために決定される一意の識別子である。ディレクトリ識別子を生成する手法としては、各ファイルシステムのデータ管理部を使用する方法であれば、どのような方法を用いても良い。例えばLinux(登録商標)OS(Operating System:オペレーティングシステム)上でディレクトリ識別子を生成する場合、対象ディレクトリでduコマンドを実行し、出力されるファイル名及びファイルサイズの文字列をハッシングするという方法がある。またディレクトリ識別子の生成は、上述したように基準ファイルシステム210のディレクトリ識別子生成を先に行っても良いし、対象ファイルシステム220のディレクトリ識別子生成を先に行っても良い。
ディレクトリ識別子比較部120は、ディレクトリ識別子管理テーブルを参照し、基準ファイルシステム210のディレクトリ識別子と、対象ファイルシステム220のディレクトリ識別子の比較を行う。比較の結果、同じ値を示すディレクトリ識別子があった場合、それぞれのファイルシステムでのフルパスディレクトリ名を、識別子一致ディレクトリ管理テーブルに追加する。識別子一致ディレクトリ管理テーブルの一例を図4−Aに示す。
ファイル識別子生成部130は、まず基準ファイルシステムデータ部212に記憶されているファイルデータをもとに、基準ファイルシステム210内のファイルごとにファイル識別子を生成する。そして当該生成したファイル識別子をフルパスファイル名と共にファイル識別子管理テーブルに追加する。ファイル識別子管理テーブルの一例を図3に示す。次に、ファイル識別子生成部130は、対象ファイルシステムデータ部222に記憶されているファイルデータをもとに、対象ファイルシステム220内のファイルごとにファイル識別子を生成する。そして当該生成したファイル識別子をファイル名と共にファイル識別子管理テーブルに追加する。
ここでファイル識別子とは、ファイルの様相を示すために決定される一意の識別子である。ファイル識別子を生成する方法としては、どのような方法を用いても良い。ファイル識別子を生成する方法の例としては、ファイルのファイルデータのハッシュ値をとる方法などがある。
またファイル識別子の生成は、上述したディレクトリ識別子生成と同様に、基準ファイルシステム210のディレクトリ識別子生成を先に行っても良いし、対象ファイルシステム220のファイル識別子生成を先に行っても良い。ただしディレクトリ識別子が一致したディレクトリ(識別子一致ディレクトリ管理テーブルに追加されているディレクトリ)内のファイルに関しては、ファイル識別子の生成は行わない。
ファイル識別子比較部140は、ファイル識別子管理テーブルを参照し、基準ファイルシステム210のファイル識別子と、対象ファイルシステム220のファイル識別子を比較する。比較の結果、同じ値を示すファイル識別子があった場合、それぞれのファイルシステムでのフルパスファイル名を、識別子一致ファイル管理テーブルに追加する。識別子一致ファイル管理テーブルの一例を図4−Bに示す。
ファイルデータ比較部150は、まず識別子一致ディレクトリ管理テーブルを参照し、各エントリに記憶されている両ファイルシステムのディレクトリに関して、それぞれのディレクトリに含まれるファイルのファイルデータの比較を行う。比較の結果ファイルデータが一致した場合、それぞれのファイルシステムでのフルパスファイル名をデータ一致ファイル管理テーブルに追加する。データ一致ファイル管理テーブルの一例を図4−Cに示す。次に、ファイルデータ比較部150は、識別子一致ファイル管理テーブルを参照し、各エントリに記憶されている両ファイルシステムのファイルに関して、ファイルデータの比較を行う。比較の結果ファイルデータが一致した場合、それぞれのファイルシステムでのフルパスファイル名をデータ一致ファイル管理テーブルに追加する。
ファイル重複排除部160は、データ一致ファイル管理テーブルに記憶されているファイルを、対象ファイルシステム220から排除し、基準ファイルシステム210へのポインタ情報(基準ファイルシステムの該当ファイルへの参照情報)に置き換える。
メモリ300は、計算機内でデータやプログラムを記憶する装置である。例えばSDRAM(Synchronous Dynamic Random Access Memory)等がこれに相当する。
通信装置400は、外部の計算機とデータの送受信を行うための装置である。例えばネットワークカード等がこれに相当する。
入力装置500は、ユーザから計算機に対する要求を受け取り、データ処理装置に伝えるための装置である。例えばキーボードやマウス等がこれに相当する。
出力装置600は、計算機での処理結果をユーザに対して示すための装置である。例えばディスプレイ等がこれに相当する。
なお本実施の形態には、本発明の技術的思想の範囲内において、上述したこれら構成要素以外の構成要素が更に備わっていても良い。
次に、図1のブロック図と、図5から図9のフローチャートを参照して本実施の形態の全体の動作について説明する。
本実施の形態の動作は、図5で示すように、ディレクトリ識別子比較(図5のステップS100)フェーズ、ファイル識別子比較(ステップS200)フェーズ、重複排除(ステップS230)フェーズという3つのフェーズから構成される。以下の説明では、それぞれのフェーズごと順次説明する。
まず図6を参照して、ディレクトリ識別子比較フェーズ(図5のステップS100)について説明する。
まずディレクトリ識別子生成部110が、基準ファイルシステム管理部211に含まれている情報をもとに、基準ファイルシステム210内のディレクトリごとにディレクトリ識別子を生成し、ディレクトリ識別子管理テーブルに追加する(図6のステップS101)。
ディレクトリ識別子生成部110は、次に、対象ファイルシステム220管理部に含まれている情報をもとに、対象ファイルシステム220内のディレクトリごとにディレクトリ識別子を生成し、ディレクトリ識別子管理テーブルに追加する(ステップS102)。
次に、ディレクトリ識別子比較部120が、ディレクトリ識別子管理テーブルを参照し、まだ比較を行っていない基準ファイルシステム210のディレクトリ識別子と対象ファイルシステム220のディレクトリ識別子の組があるかチェックする(ステップS103)。比較していない組がある場合(ステップS103においてYES)、両ディレクトリ識別子の比較を行う(ステップS104)。ディレクトリ識別子が一致する場合(ステップS104においてYES)、それぞれのファイルシステムでのフルパスディレクトリ名を一組として、識別子一致ディレクトリ管理テーブルに追加する(ステップS105)。
一方、ステップS104においてディレクトリ識別子が一致しない場合(ステップS104においてNO)、別のディレクトリ識別子間で比較を行うため、再度ステップS103における判定を行う(ステップS103)。また、ステップS103において、比較していないディレクトリ識別子がない場合(ステップS103においてNO)、ディレクトリ識別子比較フェーズの動作は終了する。
次に、図7を参照して、ファイル識別子比較フェーズ(図5のステップS200)について説明する。
まずファイル識別子生成部130が、基準ファイルシステム210内ファイルごとにファイル識別子を生成し、ファイル識別子管理テーブルに追加する(図7のステップS201)。ただし識別子一致ディレクトリ管理テーブルに記憶されているディレクトリに関しては、ファイル識別子の生成処理は行わない。
次に、対象ファイルシステム220内ファイルごとにファイル識別子を生成し、ファイル識別子管理テーブルに追加する(ステップS202)。ただし識別子一致ディレクトリ管理テーブルに記憶されているディレクトリに関しては、ファイル識別子の生成処理は行わない。
次に、ファイル識別子比較部140が、ファイル識別子管理テーブルを参照し、まだ比較を行っていない基準ファイルシステム210内のファイル識別子と対象ファイルシステム220内のファイル識別子の組があるかチェックする(ステップS203)。比較していないファイル識別子がある場合(ステップS203においてYES)、両ファイル識別子の比較を行う(ステップS204)。ファイル識別子が一致する場合(ステップS204においてYES)、そのファイル識別子に該当する、それぞれのファイルシステムでのフルパスファイル名を一組として、識別子一致ファイル記憶部270に追加する(ステップS205)。一方、ステップS204においてファイル識別子が一致しない場合(ステップS204においてNO)、別のファイル識別子間で比較を行うために、再度ステップS203における判定を行う(ステップS203)。ステップS203において、比較していないファイル識別子がない場合(ステップS203においてNO)、ファイル識別子比較フェーズは終了する。
次に、図8及び図9を参照して、重複排除フェーズ(図5のステップS300)について説明する。
まずファイルデータ比較部150が、識別子一致ディレクトリ管理テーブルを参照し、ディレクトリ識別子のエントリが記憶されているかチェックする(図8のステップS301)。エントリが記憶されている場合(ステップS301においてYES)、エントリで指定された両ディレクトリ内のファイルで、まだファイルデータの比較を行っていないものがあるかどうかをチェックする(ステップS302)。まだ比較していないファイルがある場合(ステップS302においてYES)、ファイルデータの比較を行う(ステップS303)。ファイルデータが一致する場合(ステップS303においてYES)、それぞれのファイルシステムでのフルパスファイル名を一組として、データ一致ファイル管理テーブルに追加する(ステップS304)。ファイルデータが一致しない場合(ステップS303のNO)、別のファイル間でファイルデータの比較を行うため、再度ステップS302における判定を行う(ステップS302)。ステップS302において、まだ比較していないファイルがない場合(ステップS302においてNO)、再度ステップS301における判定を行う(ステップS301)。ステップS301において、比較していないディレクトリがない場合(ステップS301においてNO)、次の動作に続く。
次に図9を用いて重複排除フェーズにおける動作の説明を続ける。ファイルデータ比較部150が、識別子一致ファイル管理テーブルを参照し、ファイル識別子のエントリが記憶されているかチェックする(図9のステップS305)。
エントリが記憶されている場合(YES)、エントリで指定された両ファイルのファイルデータの比較を行う(ステップS306)。ファイルデータが一致する場合(YES)、それぞれのファイルシステムでのフルパスファイル名を一組として、データ一致ファイル管理テーブルに追加する(ステップS304)。ファイルデータが一致しない場合(ステップS306のNO)、別のファイル間でファイルデータの比較を行うため、再度ステップS305における判定を行う(ステップS305)。ステップS305において、比較していないファイルがない場合(ステップS305においてNO)は、ファイル重複排除部160が、データ一致ファイル管理テーブルに記憶されているファイルを、対象ファイルシステム220から排除し(ステップS308)、基準ファイルシステム210へのポインタ情報(基準ファイルシステムの該当ファイルへの参照情報)に置き換える(ステップS309)。
ファイルデータ比較部150に関する動作説明が長くなったので、ここで要約する。
ファイルデータ比較部150は、まずディレクトリ識別子が一致した両ファイルシステムのディレクトリに関して、ディレクトリの内容(ディレクトリ以下に置かれた全ファイルのファイルデータ)が本当に一致しているかどうかをチェックする。次に、ディレクトリ識別子は一致しなかったものの、ファイル識別子の生成及び比較によってファイル識別子が一致していると判断された両ファイルシステムのファイルに関して、ファイルの内容(ファイルデータ)が本当に一致しているかをチェックする。
本実施の形態では、ファイル識別子の生成及び比較の前に、データ量が小さい基準ファイルシステム管理部211及び対象ファイルシステム管理部221をもとに、ディレクトリ識別子の生成及び比較を行う。そしてディレクトリ識別子が一致したディレクトリ内に含まれるファイルについては、ディスクアクセスが大量に発生するファイル識別子の生成及び比較を省略する構成になっているため、重複排除全体に掛かる時間を短縮することができる。
では従来の重複排除方式、つまりS200以降のファイル識別子比較フェーズ及び重複排除フェーズのみを経ることにより重複排除を行う方式と、本発明の実施形態であるディレクトリ識別子比較フェーズを追加した重複排除方式とによって、どれほど重複排除に要する時間に差が生じるかを説明する。
なお説明を簡略化するため、ディレクトリ識別子比較部120でディレクトリ識別子が一致したディレクトリ、ファイル識別子比較部140でファイル識別子が一致したファイルは、それぞれファイルデータ比較部150においてファイルデータも一致しているものとする。これは現実には必ずしも真ではないが、ディレクトリ識別子とファイル識別子の拡散空間を大きく取れば真に漸近することができる。例えばハッシュ計算を用いてディレクトリ識別子とファイル識別子を算出する場合、ハッシュ空間を大きく取れば取るほどこの真に漸近できる。これを真と考えることで、ファイルデータ比較部150以降(すなわち本発明でいう重複排除フェーズ)で掛かる時間は、従来の重複排除方式と、本実施の重複排除方式は変わらないと考えることができる。よってここでは、ファイル識別子比較部140までに掛かった時間の比較を行うことで、重複排除全体に掛かる時間が短縮されることを示す。
ではディレクトリ識別子の生成及び比較を行わない従来の重複排除方式と、本発明の実施形態の重複排除方式における、ファイル識別子比較部140までに掛かった時間の比較を行う。
まず初めに図10に示すように変数を設定する。
基準ファイルシステム210及び対象ファイルシステム220にはNf個のファイルが含まれており、それぞれのファイルシステムでトップディレクトリ以下にNd個のディレクトリが置かれている。この中のNf’個のファイルが含まれているディレクトリが、基準ファイルシステム210及び対象ファイルシステム220で一致しているとする。
更に1回のディレクトリ識別子生成に掛かる時間をTdg、1回のディレクトリ識別子比較に掛かる時間をTdc、1回のファイル識別子生成に掛かる時間をTfg、1回のファイル識別子比較に掛かる時間をTfcとする。
すると、従来の重複排除方式に掛かる時間は2NfTfg+Nf2Tfcとなる。一方、本発明の実施形態の重複排除方式に掛かる時間は、2NdTdg+Nd2Tdc+2(Nf−Nf’)Tfg+(Nf−Nf’)2Tfcとなる。
具体的に、Nf=10000、Nd=10、Nf’=1000を代入すると、従来の重複排除方式に掛かる時間は20000Tfg+100000000Tfcとなる。一方、本発明の実施形態の重複排除方式に掛かる時間は、20Tdg+100Tdc+18000Tfg+81000000Tfcとなる。
ここでディレクトリ識別子同士の比較もファイル識別子の比較も、どちらも単純な数値の比較であるため、Tdc=Tfcと見なすことができる。よって、本発明の実施形態の重複排除方式に掛かる時間は、20Tdg+18000Tfg+81000100Tfcとなる。
こうして算出した時間を、ディレクトリ識別子及びファイル識別子の生成と、ディレクトリ識別子及びファイル識別子の比較に掛かる時間とに分けて比較する。
まずディレクトリ識別子及びファイル識別子の比較に掛かる時間を比べると、従来の重複排除方式では100000000Tfcであるのに対して、本発明の実施形態の重複排除方式では81000100Tfcである。従って、本発明の実施形態の重複排除方式では、1回の識別子の比較に掛かる時間が、約100分の81に短縮されていることが分かる。
次に、ディレクトリ識別子及びファイル識別子の生成に掛かる時間を比べると、従来の重複排除方式では20000Tfgであるのに対して、本発明の実施形態の重複排除方式では20Tdg+18000Tfgである。Tfg及びTdgは識別子の生成手法等によって変わる値であるため、必ずしも本実施の重複排除方式の方が短いとは言えない。しかしTdg<100Tfg、つまりファイル識別子生成手法100回分より短い時間でディレクトリ識別子の生成を行える手法を、ディレクトリ識別子の生成手法として採用していれば、本発明の実施形態の重複排除方式の方が時間短縮されることになる。
つまりTdg<100Tfgが満たされる環境であれば、ディレクトリ識別子及びファイル識別子の生成に掛かる時間に関しても本発明の実施形態の重複排除方式の方が時間短縮されることになる。
[第2の実施の形態]
次に、本発明の第2の実施の形態について、図面を参照して詳細に説明する。
次に、本発明の第2の実施の形態について、図面を参照して詳細に説明する。
図11を参照すると、本実施の形態は、図1で示した第1の実施の形態と比較して、データ処理装置100にシステムファイル参照部170が含まれており、記憶装置200に類似性検証テーブル記憶部230が含まれている点で異なるが、それ以外の構成は第1の実施の形態と同じであるので、ここでは異なる点のみ説明する。
類似性検証テーブル記憶部230は、基準ファイルシステム210及び対象ファイルシステム220の種別ごとに、トップディレクトリからどのディレクトリ階層まで、ディレクトリ識別子の生成を行うかについて記憶されている。
類似性検証テーブルの一例を、図12に示す。図12によると、基準ファイルシステム210がRHEL(Red Hat Enterprise Linux)4として使用されており、対象ファイルシステム220がRHEL5として使用されているならば、トップディレクトリから5階層目までディレクトリ識別子の生成ならびに比較を行う。なぜならば、RHEL4とRHEL5のようにOSが類似しているファイルシステム間では、上位のディレクトリでのディレクトリ識別子が異なっていた場合であっても、より下位のディレクトリでディレクトリ識別子が一致する可能性があるためである。
逆に、OSが類似していないファイルシステム間では(例えば、Windows(登録商標)XPとRHEL5間では)、上位のディレクトリでのディレクトリ識別子が異なっているのであれば、更に下位のディレクトリまでディレクトリ識別子の生成ならびに比較を行ったとしてもディレクトリ識別子が一致する可能性が低い。そのため、ディレクトリ識別子の生成及び比較は、浅い階層のディレクトリまでとした方が効率が良い。
システムファイル参照部170は、基準ファイルシステムデータ部212及び対象ファイルシステムデータ部222内に含まれるシステムファイルをもとに、類似性検証テーブル記憶部230を参照し、ディレクトリ識別子の生成を行うディレクトリ階層を変更する。
なおシステムファイルとはファイルシステムに含まれるOSを識別するための情報ファイルである。例えばRHEL4であれば、/etc/redhat−releaseファイルがシステムファイルに該当する。このファイルには、”Red Hat Enterprise Linux ESrelease 4(Nahant)”といった文字列が含まれており、このファイルを参照することで、このファイルシステムがRHEL4で使用されていることが分かる。
次に、本実施の形態の動作を、図面を参照して詳細に説明する。
本実施の形態の動作は、第1の実施の形態と同様、ディレクトリ識別子比較フェーズ、ファイル識別子比較フェーズ、重複排除フェーズという3つのフェーズから構成される。このうちファイル識別子比較フェーズ及び重複排除フェーズについては、第1の実施の形態の動作と同じであるので説明を省略し、動作に違いのあるディレクトリ識別子比較フェーズについてのみ説明する。
図13を参照すると、ディレクトリ識別子比較フェーズでは、まずシステムファイル参照部170が、基準ファイルシステムデータ部212及び対象ファイルシステムデータ部222にシステムファイルが含まれているかどうかチェックする(ステップS111)。システムファイルが含まれているならば(ステップS111においてYES)、そのシステムファイルをもとに類似性検証テーブル記憶部230を参照し、ディレクトリ識別子の生成及び比較を行うディレクトリ階層を変更する(ステップS112)。一方、システムファイルが含まれていないならば(ステップS112においてNO)、特別な動作は何も行わない。これ以降の動作は、第1の実施の形態におけるステップS101からステップS105と同じであるので、説明は省略する。
本実施の形態では、第1の実施の形態と同様の効果を奏する。
加えて、本実施の形態では、システムファイル参照部170がファイルシステム内に含まれているOS情報を参照し、それによってディレクトリ識別子の生成及び比較を行う対象とするディレクトリ階層を決定するように構成されていることから、ファイルシステムの使用方法を踏まえた上で、重複排除に掛かる時間を短縮することができる。
[第3の実施の形態]
次に、本発明の第3の実施の形態について、図面を参照して詳細に説明する。
次に、本発明の第3の実施の形態について、図面を参照して詳細に説明する。
図14を参照すると、本実施の形態は、図1で示した第1の実施の形態と比較し、データ処理装置100に時間計測部180が備わっている点で異なる。またこれに伴いディレクトリ識別子生成部110及びディレクトリ識別子比較部120の動作が異なる。
時間計測部180は、ディレクトリ識別子の生成及び比較に掛けて良い時間(以下制限時間と表記する。)を有している。そして時間計測部180は、前記ディレクトリ識別子の生成を開始してからの時間が、制限時間に達した時点で、ディレクトリ識別子生成部110もしくはディレクトリ識別子比較部120に対して処理の終了を指示する。
ディレクトリ識別子生成部110は、時間計測部180から終了指示を受け取ると、ディレクトリ識別子の生成処理を終了させ、ファイル識別子生成処理に移る。
ディレクトリ識別子比較部120も、時間計測部180から終了指示を受け取ると、ディレクトリ識別子の比較処理を終了させ、ファイル識別子生成処理に移る。またディレクトリ識別子比較部120は、ディレクトリ識別子比較の処理が終了すると、ディレクトリ識別子生成部110に対して、さらに深いディレクトリ階層に関するディレクトリ識別子を生成するよう指示する。
次に、本実施の形態の動作を、図面を参照して詳細に説明する。
本実施の形態の動作は、第1の実施の形態と同様、ディレクトリ識別子比較フェーズ、ファイル識別子比較フェーズ、重複排除フェーズという3つのフェーズから構成される。このうちファイル識別子比較フェーズ及び重複排除フェーズについては、第1の実施の形態の動作と同じであるので説明は省略し、第1の実施の形態と違いのあるディレクトリ識別子比較フェーズについてのみ説明する。
図15−Aを参照すると、時間計測部180は、ディレクトリ識別子生成部110がディレクトリ識別子の生成を開始した時点で、時間計測を開始する(ステップS121)。
そして制限時間に達すると、ディレクトリ識別子生成部110若しくはディレクトリ比較部120に対して終了指示を出す(ステップS122)。この時ディレクトリ識別子生成部110が実行中ならば(ステップS123においてYES)、ディレクトリ識別子生成部110を終了する(ステップS124)。一方、ディレクトリ識別子生成部が実行中でない場合は(ステップS123においてNO)、ディレクトリ識別子比較部120が実行中なので、ディレクトリ識別子比較部120を終了する(ステップS125)。
こうしてディレクトリ識別子生成部110若しくはディレクトリ識別比較部120が終了すると、ファイル識別子比較フェーズに移行する(ステップS126)。
また第1の実施の形態でディレクトリ識別子比較部120は、ディレクトリ識別子の比較が全て終わると、ファイル識別子比較フェーズに移行していた。しかし本実施の形態では第1の実施の形態とは異なり、以下のような動作をとる。
図15−Bを参照すると、ディレクトリ識別子比較部120はディレクトリ識別子の比較が全て終わると、基準ファイルシステム及び対象ファイルシステム内に、まだディレクトリ識別子を生成していない、より深い階層があるかチェックする(ステップS131)。深い階層があるならば(ステップS131においてYES)、再度ディレクトリ識別子生成部110によってディレクトリ識別子の生成を行う(ステップS132)。一方、深い階層がないならば(ステップS131においてNO)、ファイル識別子比較フェーズに移行する(ステップS133)。
本実施の形態では、まず第1の実施の形態と同様の効果を奏する。
更に本実施の形態では、時間計測部が、ディレクトリ識別子の生成及び比較に掛かる時間に応じて、更に深いディレクトリ階層に関するディレクトリ識別子の生成及び比較を行うよう指示を行うことから、システムユーザから指定された制限時間内に、ディレクトリ識別子の生成及び比較に掛かる時間を抑えることができる。
[第4の実施の形態]
次に、本発明の第4の実施の形態について、図面を参照して詳細に説明する。
次に、本発明の第4の実施の形態について、図面を参照して詳細に説明する。
本実施の形態は、図1で示した第1の実施の形態と同じ構成である。ただディレクトリ識別子生成部110の動作が異なるのでこの点について説明する。
本実施の形態におけるディレクトリ識別子生成部110は、第1の実施の形態におけるディレクトリ識別子生成部110と同様、基準ファイルシステム210及び対象ファイルシステム220内のディレクトリごとにディレクトリ識別子の生成及びディレクトリ識別子管理テーブルへの登録を行う。加えて、あるディレクトリのディレクトリ識別子を生成中に、識別子の作成対象である当該ディレクトリにサブディレクトリが含まれていることを発見した場合、そのサブディレクトリのディレクトリ識別子もディレクトリ識別子管理テーブルに登録する。
例えばディレクトリ識別子生成手法として、Linuxのduコマンドにより、ディレクトリ識別子生成対象ディレクトリ以下の全ファイル名とファイルサイズを出力し、その出力文字列をSHA1ハッシュでハッシングする手法を利用したとする(図16参照)。
本発明の第1の実施の形態では、ディレクトリ識別子生成対象のディレクトリに関してのみ、生成されたディレクトリ識別子を、ディレクトリ識別子管理テーブルに登録していた。しかし本実施の形態では、duコマンドにより出力されるファイル名とファイルサイズのうち、サブディレクトリごとにもSHA1ハッシュでファイル名とファイルサイズをハッシングし、ディレクトリ管理テーブルに登録する。
次に、本実施の形態の動作を、図面を参照して詳細に説明する。
本実施の形態の動作は、第1の実施の形態と同様、ディレクトリ識別子比較フェーズ、ファイル識別子比較フェーズ、重複排除フェーズという3つのフェーズから構成される。
このうちファイル識別子比較フェーズ及び重複排除フェーズについては、第1の実施の形態の動作と同じであるので説明は省略し、第1の実施の形態と違いのあるディレクトリ識別子比較フェーズについてのみ説明する。
図6を参照すると、まずディレクトリ識別子生成部110が、基準ファイルシステム管理部211に含まれている情報をもとに、基準ファイルシステム210内のディレクトリごとにディレクトリ識別子を生成し、ディレクトリ識別子管理テーブルに追加する。
この時識別子生成対象のディレクトリにサブディレクトリが含まれている場合、そのサブディレクトリに関するディレクトリ識別子も生成し、ディレクトリ識別子管理テーブルに登録する(図6のステップS101)。
次に、対象ファイルシステム220管理部に含まれている情報をもとに、対象ファイルシステム220内のディレクトリごとにディレクトリ識別子を生成し、ディレクトリ識別子管理テーブルに追加する。この時識別子生成対象のディレクトリにサブディレクトリが含まれている場合、そのサブディレクトリに関するディレクトリ識別子も生成し、ディレクトリ識別子管理テーブルに登録する(ステップS102)。
これ以降の動作は、第1の実施の形態におけるディレクトリ識別子比較フェーズと同様であるので、説明は省略する。
本実施の形態では、第1の実施の形態と同様の効果を奏する。
更に本実施の形態では、ディレクトリ識別子生成部110が、識別子生成対象ディレクトリのディレクトリ識別子生成中に、サブディレクトリのディレクトリ識別子も生成するよう構成されている。そのため識別子生成ディレクトリ及びそのサブディレクトリに関するディレクトリ識別子生成が求められる場合であっても、まず対象ディレクトリのディレクトリ識別子生成を行い、次にサブディレクトリのディレクトリ識別子を生成する、というように2度に分けてディレクトリ識別子を生成する方法に比べて、ディレクトリ識別子生成に掛かる時間を短縮することができる。
[第5の実施の形態]
次に、本発明の第5の実施の形態について、図面を参照して詳細に説明する。
次に、本発明の第5の実施の形態について、図面を参照して詳細に説明する。
本実施の形態は、上述した第1の実施の形態において、単一の計算機上で実施していた重複排除システムを、複数の計算機上で分割して実現した形態である。よって以下の本実施の形態の構成は、第1の実施の形態の構成(図1)を参照して説明する。
図17に本実施の形態の構成を示す。図17を参照すると、本実施の形態は、第1の計算機710と第2の計算機720と第3の計算機730と、それらの計算機をつなぐネットワークを有している。
第1の計算機710は第1のデータ処理装置711と第1の記憶装置712を有する。第2の計算機720は第2のデータ処理装置721と第2の記憶装置722とを有する。第3の計算機730は第3のデータ処理装置731と第3の記憶装置732とを有する。
まず第1の計算機710の構成について説明する。第1の記憶装置712は、基準ファイルシステムを記憶するための記憶装置である。第1のデータ処理装置711は、基準ファイルシステムに関するディレクトリ識別子の生成を行う装置である。つまり第1のデータ処理装置711は、第1の実施の形態におけるディレクトリ識別子生成部110に相当する。
次に第2の計算機720の構成について説明する。第2の記憶装置722は、対象ファイルシステムを記憶するための記憶装置である。第2のデータ処理装置721は、対象ファイルシステムに関するディレクトリ識別子の生成を行う装置である。つまり第2のデータ処理装置721も、第1のデータ処理装置711と同様、第1の実施の形態におけるディレクトリ識別子生成部110に相当する。
最後に第3の計算機730の構成について説明する。第3の記憶装置732は、第1の計算機710及び第2の計算機720からネットワークを介して受信した基準ファイルシステム及び対象ファイルシステムを記憶するための記憶装置である。
第3のデータ処理装置731は、第1の計算機710及び第2の計算機720からネットワークを介して受信した基準ファイルシステムと対象ファイルシステムの間で、ディレクトリ識別子比較、ファイル識別子生成、ファイル識別子比較、ファイルデータ比較、ファイル重複排除を行う。つまり、第3のデータ処理装置731は、第1の実施の形態におけるディレクトリ識別子比較部120からファイル重複排除部160までの処理を行う。
次に本実施の形態の動作について説明する。
まず第1のデータ処理装置711が、基準ファイルシステムに関するディレクトリ識別子の生成を行う。これは第1の実施の形態におけるディレクトリ識別子生成部と同様の動作であり、生成したディレクトリ識別子をディレクトリ識別子管理テーブルに追加する。すなわち、第1のデータ処理装置711の動作は、図6のステップS101の動作を、異なる計算機上で行った時の動作と言うことができる。
次に第2のデータ処理装置721が、対象ファイルシステムに関するディレクトリ識別子の生成を行う。これは第1の実施の形態におけるディレクトリ識別子生成部と同様の動作であり、生成したディレクトリ識別子をディレクトリ識別子管理テーブルに追加する。すなわち、第1のデータ処理装置711の動作は、図6のステップS101の動作を、異なる計算機上で行った時の動作と言うことができる。
次に第3のデータ処理装置731が、第1計算機710からネットワークを介して、基準ファイルシステム本体と基準ファイルシステムのディレクトリ識別子管理テーブル、ファイル識別子管理テーブルを受信する。同様に第2の計算機720からネットワークを介して、対象ファイルシステム本体と対象ファイルシステムのディレクトリ識別子管理テーブル、ファイル識別子管理テーブルを受信する。
次に、第3のデータ処理装置731は、ディレクトリ識別子比較、ファイル識別子生成、ファイル識別子比較、ファイルデータ比較、ファイル重複排除の動作を行うが、これらの動作は、図6のステップS102以降の動作と同じであるのでここでは省略する。
本実施の形態では、第1の実施の形態と同様の効果を奏する。
更に本実施の形態では、ファイルシステムのディレクトリ識別子生成処理を複数の計算機で分散して処理するよう構成されている。これにより、ファイルシステムの重複データ排除を実行する計算機(第3計算機730)が複数存在する場合であっても、複数存在する当該計算機上でそれぞれの計算機がその都度ディレクトリ識別子を生成する必要がなくなり、重複データ排除処理に掛かる時間を短縮することができる。
なお本実施の形態では、ファイル識別子の生成を第3のデータ処理装置731で実行したが、第1のデータ処理装置711もしくは第2のデータ処理装置721がファイル識別子の生成を行うようにしてもよい。
[第6の実施の形態]
次に、本発明の第6の実施の形態について、図面を参照して詳細に説明する。
次に、本発明の第6の実施の形態について、図面を参照して詳細に説明する。
図18を参照すると、本実施の形態は、図1で示した第1の実施形態と同様にデータ処理装置100と記憶装置200、メモリ300、通信装置400、入力装置500、出力装置600を有し、更に重複排除プログラム800を有する。
重複排除プログラム800は、データ処理装置100に読み込まれ、データ処理装置100の動作を制御するプログラムである。データ処理装置100は、重複排除プログラム800の制御により、第1乃至第3の実施の形態におけるデータ処理装置100と同一の処理を実行する。本実施の形態の構成のようにすることにより、プログラムにより本発明の実現を図ることができる。また、本実施の形態と第5の実施の形態を組み合わせることも可能である。この場合は第5の実施の形態における第3の計算機730に重複排除プログラム800が読み込まれる。そして、第3の計算機730は重複排除プログラム800の制御により動作する。
以上説明した本発明の実施形態は以下の様な効果を奏する。
第1の効果は、重複データの排除に掛かる時間を短縮できることにある。その理由は、ディレクトリ識別子が一致するディレクトリ内に含まれるファイルについては、ディレクトリ識別子の生成及び比較より時間が掛かるファイル識別子の生成及び比較を省略することができるからである。
第2の効果は、比較を行う両ファイルシステム内に含まれるOS情報をもとに、重複データ排除に掛かる時間をより短縮できることにある。その理由は、ファイルシステム内に含まれるOS情報を参照し、それによってディレクトリ識別子の生成及び比較を行うディレクトリ階層が決定されるよう構成されているためである。
第3の効果は、システムユーザから指定された制限時間内に、ディレクトリ識別子の生成及び比較に掛かる時間を抑えられることにある。その理由は、ディレクトリ識別子の生成、比較に掛かる時間及び指定された制限時間内に応じて、更に深いディレクトリ階層に関するディレクトリ識別子の生成及び比較を行うよう構成されているからである。
第4の効果は、識別子生成ディレクトリ及びそのサブディレクトリに関するディレクトリ識別子生成が求められる場合において、ディレクトリ識別子生成に掛かる時間を短縮できることにある。その理由は、識別子生成対象ディレクトリのディレクトリ識別子生成中に、サブディレクトリのディレクトリ識別子も生成するよう構成されているからである。
第5の効果は、ファイルシステムの重複データ排除を行う計算機が複数存在する場合、重複データ排除に掛かる時間を短縮することができる。その理由は、ファイルシステムのディレクトリ識別子生成処理を複数の計算機で分散して処理するよう構成されているからである。
なお、本発明の実施形態である重複データ排除システムは、ハードウェア、ソフトウェア又はこれらの組合せにより実現することができる。
また、本発明の重複データ排除システムを、ファイル識別子の生成及び比較を行う前に、基準ファイルシステム管理部及び対象ファイルシステム管理部に記憶されている情報をもとに、両ファイルシステムのディレクトリごとにディレクトリ識別子を生成及び比較を行い、ディレクトリ識別子が一致するディレクトリ内のファイルは、ファイル識別子生成及び比較の対象外とすることで、本発明の目的を達成することもできる。
更に、本発明の重複データ排除システム変形例として、上述の重複データ排除システムの構成に加え、基準ファイルシステム及び対象ファイルシステム内にOS情報が含まれている場合、OS情報をもとに、基準ファイルシステム及び前記対象ファイルシステムの種別ごとに、トップディレクトリからどのディレクトリ階層まで、ディレクトリ識別子の生成を行うか記憶されている類似性検証テーブル記憶部を参照し、ディレクトリ識別子の生成及び比較を行うディレクトリ階層を制御することで、ディレクトリ識別子の生成を行うディレクトリを変更するという手段でも、本発明の目的を達成することができる。
更に、本発明の重複データ排除システム変形例として、上述の重複データ排除システムの構成に加え、ディレクトリ識別子の生成及び比較に掛かった時間を計測し、制限時間に達すると、ディレクトリ識別子の生成ならびに比較を終了させて、ファイル識別子の生成及び比較に移行させることでも、本発明の目的を達成することができる。
更に、本発明の重複データ排除システム変形例として、上述の重複データ排除システムの構成に加え、あるディレクトリのディレクトリ識別子を生成中にサブディレクトリを発見した場合、そのサブディレクトリのディレクトリ識別子もディレクトリ識別子管理テーブルに登録させることでも、本発明の目的を達成することができる。
更に、本発明の重複データ排除システム変形例として、上述の重複データ排除システムにおいて、基準ファイルシステムのディレクトリ識別子を生成する第1計算機と、対象ファイルシステムのディレクトリ識別子を生成する第2計算機と、それ以外の処理を、第1計算機及び第2計算機とネットワークを介して接続された第3計算機で行うことでも、本発明の目的を達成することができる。
本発明によれば、複数のファイルシステムが存在する計算機において、重複するファイルデータを排除し記憶装置の使用量を節約するといった用途や、計算機が複数の仮想計算機のディスクイメージを有する時に、仮想計算機のディスクイメージを重複排除し記憶装置の使用量を節約するといった用途にも適用可能である。
100 データ処理装置
110 ディレクトリ識別子生成部
120 ディレクトリ識別子比較部
130 ファイル識別子生成部
140 ファイル識別子比較部
150 ファイルデータ比較部
160 ファイル重複排除部
170 システムファイル参照部
180 時間計測部
200 記憶装置
210 基準ファイルシステム
211 基準ファイルシステム管理部
212 基準ファイルシステムデータ部
220 対象ファイルシステム
221 対象ファイルシステム管理部
222 対象ファイルシステムデータ部
230 類似性検証テーブル記憶部
300 メモリ
400 通信装置
500 入力装置
600 出力装置
700 ネットワーク
710 第1計算機
711 第1データ処理装置
712 第1記憶装置
720 第2計算機
721 第2データ処理装置
722 第2記憶装置
730 第3計算機
731 第3データ処理装置
732 第3記憶装置
800 重複排除プログラム
110 ディレクトリ識別子生成部
120 ディレクトリ識別子比較部
130 ファイル識別子生成部
140 ファイル識別子比較部
150 ファイルデータ比較部
160 ファイル重複排除部
170 システムファイル参照部
180 時間計測部
200 記憶装置
210 基準ファイルシステム
211 基準ファイルシステム管理部
212 基準ファイルシステムデータ部
220 対象ファイルシステム
221 対象ファイルシステム管理部
222 対象ファイルシステムデータ部
230 類似性検証テーブル記憶部
300 メモリ
400 通信装置
500 入力装置
600 出力装置
700 ネットワーク
710 第1計算機
711 第1データ処理装置
712 第1記憶装置
720 第2計算機
721 第2データ処理装置
722 第2記憶装置
730 第3計算機
731 第3データ処理装置
732 第3記憶装置
800 重複排除プログラム
Claims (40)
- 基準ファイルシステムと対象ファイルシステムを用いて基準ファイルシステムと対象ファイルシステム間でのデータの重複を排除する重複データ排除システムであって、
前記基準ファイルシステム及び前記対象ファイルシステム内に含まれているディレクトリごとに、ディレクトリの様相を示すために決定される一意の識別子であるディレクトリ識別子を生成するディレクトリ識別子生成手段と、
前記基準ファイルシステム内ディレクトリの前記ディレクトリ識別子と、前記対象ファイルシステム内ディレクトリの前記ディレクトリ識別子の比較を行うディレクトリ識別子比較手段と、
前記ディレクトリ識別子比較手段における比較結果に基づいて前記基準ファイルシステム及び前記対象ファイルシステム内に含まれているファイルごとに、それぞれのファイルを識別するためのファイル識別子を生成するファイル識別子生成手段と、
前記ファイル識別子の比較を行うファイル識別子比較手段と、
前記ファイル識別子が一致したファイル同士のファイルデータの比較を行うファイルデータ比較手段と、
前記ファイルデータ比較手段における比較結果に基づいてデータの重複を排除するファイル重複排除手段と、
を備えることを特徴とする重複データ排除システム。 - 前記重複排除手段におけるデータの重複の排除は、前記ファイルデータが一致したファイルを前記対象ファイルシステムから削除し、前記基準ファイルシステムへのポインタ情報に置き換えることにより行われることを特徴とする請求項1に記載の重複データ排除システム。
- 前記ファイル識別子生成手段における、前記ディレクトリ識別子比較手段における比較結果に基づいてとは、前記ディクレトリ識別子比較手段によって前記ディレクトリ識別子が同じであると判断されたディレクトリについては、ディレクトリ内のファイルに対するファイル識別子の生成を行わないことであることを特徴とする請求項1又は2に記載の重複データ排除システム。
- 前記ディレクトリ識別子生成手段は、前記基準ファイルシステムにおいてファイルのメタ情報を管理している基準ファイルシステム管理部と、前記対象ファイルシステムにおいてファイルのメタ情報を管理している対象ファイルシステム管理部を参照して、前記ディレクトリ識別子を生成することを特徴とする請求項1乃至3の何れか1項に記載の重複データ排除システム。
- 前記ディレクトリ識別子生成手段は、特定のディレクトリ階層まで前記ディレクトリ識別子の生成を行うことを特徴とする請求項1乃至4の何れか1項に記載の重複データ排除システム。
- 前記ファイル識別子生成手段は、前記基準ファイルシステムにおいてファイルデータを管理している基準ファイルシステムデータ部と、前記対象ファイルシステムにおいてファイルデータを管理している対象ファイルシステム管理部を参照して、前記ファイル識別子を生成することを特徴とする請求項1乃至5の何れか1項に記載の重複データ排除システム。
- 前記基準ファイルシステムと前記対象ファイルシステムに含まれるオペレーティングシステム情報の関係により、それぞれのファイルシステムに関して、トップディレクトリからどのディレクトリ階層まで前記ディレクトリ識別子の生成を行うかといった情報が記憶されている類似性検証テーブル記憶部と、
前記基準ファイルシステム及び前記対象ファイルシステム内に前記オペレーティングシステム情報が含まれている場合、前記オペレーティングシステム情報をもとに、前記類似性検証テーブル記憶部を参照することで、ディレクトリ識別子の生成を行うディレクトリ階層を変更するシステムファイル参照手段と、
を更に備えることを特徴とする請求項1乃至6の何れか1項に記載の重複データ排除システム。 - 前記ディレクトリ識別子の生成及び比較に掛かった時間を計測し、当該計測した時間が、規定された制限時間に達すると、前記ディレクトリ識別子の生成並びに前記ディレクトリ識別子の比較を終了させ、前記ファイル識別子の生成及び比較を行うことを特徴とする請求項1乃至7の何れか1項に記載の重複データ排除システム。
- 前記ディレクトリ識別子比較手段は、前記ディレクトリ識別子の比較が終わっても、まだ前記ディレクトリ識別子を生成していない深いディレクトリ階層がある場合は、当該深いディレクトリ階層のディレクトリを対象として再度ディレクトリ識別子の生成並びに比較を行うことを特徴とする請求項8に記載の重複データ排除システム。
- 前記ディレクトリ識別子生成手段が、あるディレクトリの前記ディレクトリ識別子を生成中にサブディレクトリを発見した場合、前記サブディレクトリを対象として前記ディレクトリ識別子の生成を行うことを特徴とする請求項1乃至9の何れか1項に記載の重複データ排除システム。
- 前記基準ファイルシステムの前記ディレクトリ識別子を生成する前記ディレクトリ識別子生成手段を備える第1計算機と、前記対象ファイルシステムの前記ディレクトリ識別子を生成する前記ディレクトリ識別子生成手段を備える第2計算機と、それ以外の前記各手段を備える第3計算機がネットワークを介して接続されていることを特徴とする請求項1乃至10の何れか1項に記載の重複データ排除システム。
- 前記基準ファイルシステムの前記ディレクトリ識別子及び前記ファイル識別子を生成する前記ディレクトリ識別子生成手段を備える前記第1計算機と、前記対象ファイルシステムの前記ディレクトリ識別子及び前記ファイル識別子を生成する前記ディレクトリ識別子生成手段を備える前記第2計算機と、それ以外の前記各手段を備える前記第3計算機がネットワークを介して接続されていることを特徴とする請求項1乃至10の何れか1項に記載の重複データ排除システム。
- 基準ファイルシステムと対象ファイルシステムを用いて基準ファイルシステムと対象ファイルシステム間でのデータの重複を排除するシステムにおける、重複データ排除方法であって、
前記基準ファイルシステム及び前記対象ファイルシステム内に含まれているディレクトリごとに、ディレクトリの様相を示すために決定される一意の識別子であるディレクトリ識別子を生成するディレクトリ識別子生成ステップと、
前記基準ファイルシステム内ディレクトリの前記ディレクトリ識別子と、前記対象ファイルシステム内ディレクトリの前記ディレクトリ識別子の比較を行うディレクトリ識別子比較ステップと、
前記ディレクトリ識別子比較ステップにおける比較結果に基づいて前記基準ファイルシステム及び前記対象ファイルシステム内に含まれているファイルごとに、それぞれのファイルを識別するためのファイル識別子を生成するファイル識別子生成ステップと、
前記ファイル識別子の比較を行うファイル識別子比較ステップと、
前記ファイル識別子が一致したファイル同士のファイルデータの比較を行うファイルデータ比較ステップと、
前記ファイルデータ比較ステップにおける比較結果に基づいてデータの重複を排除するファイル重複排除ステップと、
を備えることを特徴とする重複データ排除方法。 - 前記重複排除ステップにおけるデータの重複の排除は、前記ファイルデータが一致したファイルを前記対象ファイルシステムから削除し、前記基準ファイルシステムへのポインタ情報に置き換えることにより行われることを特徴とする請求項13に記載の重複データ排除方法。
- 前記ファイル識別子生成ステップにおける、前記ディレクトリ識別子比較ステップにおける比較結果に基づいてとは、前記ディクレトリ識別子比較ステップによって前記ディレクトリ識別子が同じであると判断されたディレクトリについては、ディレクトリ内のファイルに対するファイル識別子の生成を行わないことであることを特徴とする請求項13又は14に記載の重複データ排除方法。
- 前記ディレクトリ識別子生成ステップでは、前記基準ファイルシステムにおいてファイルのメタ情報を管理している基準ファイルシステム管理部と、前記対象ファイルシステムにおいてファイルのメタ情報を管理している対象ファイルシステム管理部を参照して、前記ディレクトリ識別子を生成することを特徴とする請求項13乃至15の何れか1項に記載の重複データ排除方法。
- 前記ディレクトリ識別子生成ステップでは、特定のディレクトリ階層まで前記ディレクトリ識別子の生成を行うことを特徴とする請求項13乃至16の何れか1項に記載の重複データ排除方法。
- 前記ファイル識別子生成ステップでは、前記基準ファイルシステムにおいてファイルデータを管理している基準ファイルシステムデータ部と、前記対象ファイルシステムにおいてファイルデータを管理している対象ファイルシステム管理部を参照して、前記ファイル識別子を生成することを特徴とする請求項13乃至17の何れか1項に記載の重複データ排除方法。
- 前記基準ファイルシステムと前記対象ファイルシステムに含まれるオペレーティングシステム情報の関係により、それぞれのファイルシステムに関して、トップディレクトリからどのディレクトリ階層まで前記ディレクトリ識別子の生成を行うかといった情報が記憶されている類似性検証テーブル記憶部を用意するステップと、
前記基準ファイルシステム及び前記対象ファイルシステム内に前記オペレーティングシステム情報が含まれている場合、前記オペレーティングシステム情報をもとに、前記類似性検証テーブル記憶部を参照することで、ディレクトリ識別子の生成を行うディレクトリ階層を変更するシステムファイル参照ステップと、
を更に備えることを特徴とする請求項13乃至18の何れか1項に記載の重複データ排除方法。 - 前記ディレクトリ識別子の生成及び比較に掛かった時間を計測し、当該計測した時間が、規定された制限時間に達すると、前記ディレクトリ識別子の生成並びに前記ディレクトリ識別子の比較を終了させ、前記ファイル識別子の生成及び比較を行うことを特徴とする請求項13乃至19の何れか1項に記載の重複データ排除方法。
- 前記ディレクトリ識別子比較ステップでは、前記ディレクトリ識別子の比較が終わっても、まだ前記ディレクトリ識別子を生成していない深いディレクトリ階層がある場合は、当該深いディレクトリ階層のディレクトリを対象として再度ディレクトリ識別子の生成並びに比較を行うことを特徴とする請求項20に記載の重複データ排除方法。
- 前記ディレクトリ識別子生成ステップで、あるディレクトリの前記ディレクトリ識別子を生成中にサブディレクトリを発見した場合、前記サブディレクトリを対象として前記ディレクトリ識別子の生成を行うことを特徴とする請求項13乃至21の何れか1項に記載の重複データ排除方法。
- 前記基準ファイルシステムの前記ディレクトリ識別子を生成する前記ディレクトリ識別子生成ステップを行う第1計算機と、前記対象ファイルシステムの前記ディレクトリ識別子を生成する前記ディレクトリ識別子生成ステップを行う第2計算機と、それ以外の前記各ステップを行う第3計算機がネットワークを介して接続されていることを特徴とする請求項13乃至22の何れか1項に記載の重複データ排除方法。
- 前記基準ファイルシステムの前記ディレクトリ識別子及び前記ファイル識別子を生成する前記ディレクトリ識別子生成ステップを行う前記第1計算機と、前記対象ファイルシステムの前記ディレクトリ識別子及び前記ファイル識別子を生成する前記ディレクトリ識別子生成ステップを行う前記第2計算機と、それ以外の前記各ステップを行う前記第3計算機がネットワークを介して接続されていることを特徴とする請求項13乃至22の何れか1項に記載の重複データ排除方法。
- 基準ファイルシステムと対象ファイルシステムを用いて基準ファイルシステムと対象ファイルシステム間でのデータの重複を排除する重複データ排除装置としてコンピュータを機能させるための重複データ排除プログラムであって、
前記基準ファイルシステム及び前記対象ファイルシステム内に含まれているディレクトリごとに、ディレクトリの様相を示すために決定される一意の識別子であるディレクトリ識別子を生成するディレクトリ識別子生成手段と、
前記基準ファイルシステム内ディレクトリの前記ディレクトリ識別子と、前記対象ファイルシステム内ディレクトリの前記ディレクトリ識別子の比較を行うディレクトリ識別子比較手段と、
前記ディレクトリ識別子比較手段における比較結果に基づいて前記基準ファイルシステム及び前記対象ファイルシステム内に含まれているファイルごとに、それぞれのファイルを識別するためのファイル識別子を生成するファイル識別子生成手段と、
前記ファイル識別子の比較を行うファイル識別子比較手段と、
前記ファイル識別子が一致したファイル同士のファイルデータの比較を行うファイルデータ比較手段と、
前記ファイルデータ比較手段における比較結果に基づいてデータの重複を排除するファイル重複排除手段と、
を備えることを特徴とする重複データ排除装置としてコンピュータを機能させるための重複データ排除プログラム。 - 前記重複排除手段におけるデータの重複の排除は、前記ファイルデータが一致したファイルを前記対象ファイルシステムから削除し、前記基準ファイルシステムへのポインタ情報に置き換えることにより行われることを特徴とする請求項25に記載の重複データ排除プログラム。
- 前記ファイル識別子生成手段における、前記ディレクトリ識別子比較手段における比較結果に基づいてとは、前記ディクレトリ識別子比較手段によって前記ディレクトリ識別子が同じであると判断されたディレクトリについては、ディレクトリ内のファイルに対するファイル識別子の生成を行わないことであることを特徴とする請求項25又は26に記載の重複データ排除プログラム。
- 前記ディレクトリ識別子生成手段は、前記基準ファイルシステムにおいてファイルのメタ情報を管理している基準ファイルシステム管理部と、前記対象ファイルシステムにおいてファイルのメタ情報を管理している対象ファイルシステム管理部を参照して、前記ディレクトリ識別子を生成することを特徴とする請求項25乃至27の何れか1項に記載の重複データ排除プログラム。
- 前記ディレクトリ識別子生成手段は、特定のディレクトリ階層まで前記ディレクトリ識別子の生成を行うことを特徴とする請求項25至28の何れか1項に記載の重複データ排除プログラム。
- 前記ファイル識別子生成手段は、前記基準ファイルシステムにおいてファイルデータを管理している基準ファイルシステムデータ部と、前記対象ファイルシステムにおいてファイルデータを管理している対象ファイルシステム管理部を参照して、前記ファイル識別子を生成することを特徴とする請求項25乃至29の何れか1項に記載の重複データ排除プログラム。
- 前記重複データ排除装置を、
前記基準ファイルシステムと前記対象ファイルシステムに含まれるオペレーティングシステム情報の関係により、それぞれのファイルシステムに関して、トップディレクトリからどのディレクトリ階層まで前記ディレクトリ識別子の生成を行うかといった情報が記憶されている類似性検証テーブル記憶部と、
前記基準ファイルシステム及び前記対象ファイルシステム内に前記オペレーティングシステム情報が含まれている場合、前記オペレーティングシステム情報をもとに、前記類似性検証テーブル記憶部を参照することで、ディレクトリ識別子の生成を行うディレクトリ階層を変更するシステムファイル参照手段と、
を更に備えることを特徴とする重複データ排除システムとして機能させることを特徴とする請求項25乃至30の何れか1項に記載の重複データ排除プログラム。 - 前記ディレクトリ識別子の生成及び比較に掛かった時間を計測し、当該計測した時間が、規定された制限時間に達すると、前記ディレクトリ識別子の生成並びに前記ディレクトリ識別子の比較を終了させ、前記ファイル識別子の生成及び比較を行うことを特徴とする請求項25乃至31の何れか1項に記載の重複データ排除プログラム。
- 前記ディレクトリ識別子比較手段は、前記ディレクトリ識別子の比較が終わっても、まだ前記ディレクトリ識別子を生成していない深いディレクトリ階層がある場合は、当該深いディレクトリ階層のディレクトリを対象として再度ディレクトリ識別子の生成並びに比較を行うことを特徴とする請求項32に記載の重複データ排除プログラム。
- 前記ディレクトリ識別子生成手段が、あるディレクトリの前記ディレクトリ識別子を生成中にサブディレクトリを発見した場合、前記サブディレクトリを対象として前記ディレクトリ識別子の生成を行うことを特徴とする請求項25乃至33の何れか1項に記載の重複データ排除プログラム。
- 請求項25乃至34の何れか1項に記載の重複データ排除プログラムであって、
前記基準ファイルシステムの前記ディレクトリ識別子を生成する前記ディレクトリ識別子生成手段を備える装置としてコンピュータを機能させるための重複データ排除プログラム。 - 請求項25乃至34の何れか1項に記載の重複データ排除プログラムであって、
前記対象ファイルシステムの前記ディレクトリ識別子を生成する前記ディレクトリ識別子生成手段を備える装置としてコンピュータを機能させるための重複データ排除プログラム。 - 請求項25乃至34の何れか1項に記載の重複データ排除プログラムであって、
前記基準ファイルシステム及び前記対象ファイルシステムに対しての、前記ディレクトリ識別子を生成する前記ディレクトリ識別子生成手段以外の前記各手段を備える装置としてコンピュータを機能させるための重複データ排除プログラム。 - 請求項25乃至34の何れか1項に記載の重複データ排除プログラムであって、
前記基準ファイルシステムの前記ディレクトリ識別子及び前記ファイル識別子を生成する前記ディレクトリ識別子生成手段を備える装置としてコンピュータを機能させるための重複データ排除プログラム。 - 請求項25乃至34の何れか1項に記載の重複データ排除プログラムであって、
前記対象ファイルシステムの前記ディレクトリ識別子及び前記ファイル識別子を生成する前記ディレクトリ識別子生成手段を備える装置としてコンピュータを機能させるための重複データ排除プログラム。 - 請求項25乃至34の何れか1項に記載の重複データ排除プログラムであって、
前記基準ファイルシステム及び前記対象ファイルシステムに対しての、前記ディレクトリ識別子及び前記ファイル識別子を生成する前記ディレクトリ識別子生成手段以外の前記各手段を備える装置としてコンピュータを機能させるための重複データ排除プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008131894A JP2009282604A (ja) | 2008-05-20 | 2008-05-20 | 重複データ排除システム、重複データ排除方法及び重複データ排除プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008131894A JP2009282604A (ja) | 2008-05-20 | 2008-05-20 | 重複データ排除システム、重複データ排除方法及び重複データ排除プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009282604A true JP2009282604A (ja) | 2009-12-03 |
Family
ID=41453032
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008131894A Withdrawn JP2009282604A (ja) | 2008-05-20 | 2008-05-20 | 重複データ排除システム、重複データ排除方法及び重複データ排除プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009282604A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8812460B2 (en) | 2010-10-25 | 2014-08-19 | International Business Machines Corporation | File deduplication in a file system |
JP2015503777A (ja) * | 2012-01-25 | 2015-02-02 | 株式会社日立製作所 | ファイルクローンを利用したシングルインスタンス化方法及びそれを用いたファイルストレージ装置 |
KR20150064593A (ko) * | 2013-12-03 | 2015-06-11 | 삼성전자주식회사 | 데이터 연관정보를 이용한 중복제거 방법 및 시스템 |
JP2016071560A (ja) * | 2014-09-29 | 2016-05-09 | 富士通株式会社 | 比較プログラム、比較方法および情報処理装置 |
-
2008
- 2008-05-20 JP JP2008131894A patent/JP2009282604A/ja not_active Withdrawn
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8812460B2 (en) | 2010-10-25 | 2014-08-19 | International Business Machines Corporation | File deduplication in a file system |
US9256610B2 (en) | 2010-10-25 | 2016-02-09 | International Business Machines Corporation | File deduplication in a file system |
US9710336B2 (en) | 2010-10-25 | 2017-07-18 | International Business Machines Corporation | File deduplication in a file system |
JP2015503777A (ja) * | 2012-01-25 | 2015-02-02 | 株式会社日立製作所 | ファイルクローンを利用したシングルインスタンス化方法及びそれを用いたファイルストレージ装置 |
KR20150064593A (ko) * | 2013-12-03 | 2015-06-11 | 삼성전자주식회사 | 데이터 연관정보를 이용한 중복제거 방법 및 시스템 |
KR102187127B1 (ko) * | 2013-12-03 | 2020-12-04 | 삼성전자주식회사 | 데이터 연관정보를 이용한 중복제거 방법 및 시스템 |
JP2016071560A (ja) * | 2014-09-29 | 2016-05-09 | 富士通株式会社 | 比較プログラム、比較方法および情報処理装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11544094B2 (en) | Container management system with a composite engine interface | |
US9081846B2 (en) | Generating a local copy of a virtualized application package from a local installation | |
US8898114B1 (en) | Multitier deduplication systems and methods | |
US10496611B1 (en) | Method and system for file name based command execution in a storage system | |
US10366091B2 (en) | Efficient image file loading and garbage collection | |
US10776321B1 (en) | Scalable de-duplication (dedupe) file system | |
EP3369010A1 (en) | Reducing resource consumption associated with storage and operation of containers | |
US9946724B1 (en) | Scalable post-process deduplication | |
US11347681B2 (en) | Enhanced reading or recalling of archived files | |
US20130282676A1 (en) | Garbage collection-driven block thinning | |
US11681653B2 (en) | Namespace representation and enhanced browsability for replicated file systems | |
US9535925B2 (en) | File link migration | |
TW201346601A (zh) | 與位置獨立之檔案 | |
US9749193B1 (en) | Rule-based systems for outcome-based data protection | |
US20210279330A1 (en) | Secure runtime for virtual machines | |
US10185573B2 (en) | Caching based operating system installation | |
US12001393B2 (en) | Directory snapshots based on directory level inode virtualization | |
US11263082B2 (en) | Data recovery of guest virtual machines | |
JP2009282604A (ja) | 重複データ排除システム、重複データ排除方法及び重複データ排除プログラム | |
US11989159B2 (en) | Hybrid snapshot of a global namespace | |
US9971797B1 (en) | Method and system for providing clustered and parallel data mining of backup data | |
US10108647B1 (en) | Method and system for providing instant access of backup data | |
US9740596B1 (en) | Method of accelerated test automation through unified test workflows | |
US9665582B2 (en) | Software, systems, and methods for enhanced replication within virtual machine environments | |
US9830471B1 (en) | Outcome-based data protection using multiple data protection systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20100727 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20100727 |
|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20110802 |