(57)【要約】【課題】  検索対象ファイルと同じ内容の同一ファイルが、対象のハードディスク等に存在するか否か、または、存在していたか否かを示すことができ、かつ、処理速度が改善されたファイル検索システム、ファイル検索方法およびファイル検索プログラムを提供する。【解決手段】  本発明のファイル検索システムは、バイナリ形式の検索対象ファイルのデータを、複数のブロックに分割するファイル分割部と、前記ブロックのデータを、バイナリ形式の検索先ファイルから検索するブロック検索部と、前記ブロック検索部により検索された結果を出力する検索結果出力部とを備える。【選択図】  図１
2014199615.tif 000002
【特許請求の範囲】
【請求項１】
バイナリ形式の検索対象ファイルのデータを、複数のブロックに分割するファイル分割部と、
前記ブロックのデータを、バイナリ形式の検索先ファイルから検索するブロック検索部と、
前記ブロック検索部により検索された結果を出力する検索結果出力部と
を備えるファイル検索システム。
【請求項２】
前記ブロック検索部は、前記ブロックのデータと、前記検索先ファイルの、前記ブロックと同じサイズの検索先データとを、該検索先データを、前記検索先ファイルの先頭から１バイトずつずらしながら順に比較することを特徴とする請求項１に記載のファイル検索システム。
【請求項３】
前記ファイル検索システムは、さらに、
前記ファイル分割部により分割されたブロックに対し、検索前の事前処理を行う事前処理部を備えることを特徴とする請求項２に記載のファイル検索システム。
【請求項４】
前記事前処理部は、前記ファイル分割部により分割されたブロックの中で、同じ内容の同一ブロックが複数存在する場合、前記同一ブロックのうち、一のブロックのみを検索の対象とし、他のブロックを検索の対象外とすることを特徴とする請求項３に記載のファイル検索システム。
【請求項５】
前記事前処理部は、前記ブロックのうち、データが、すべて同じバイトであるブロックは検索の対象外とすることを特徴とする請求項３または４に記載のファイル検索システム。
【請求項６】
前記事前処理部は、前記ブロックの先頭から所定のサイズのデータに基づいて、前記ブロックを分類し、該所定のサイズのデータをキーとして、辞書を作成することを特徴とする請求項３〜５のいずれか一項に記載のファイル検索システム。
【請求項７】
前記ブロック検索部は、前記検索先ファイルの、先頭から前記所定のサイズのデータと、前記キーとを比較し、該比較の結果に基づいて、前記辞書から対象のブロックを取り出し、該ブロックと、前記検索先ファイルとを比較することを特徴とする請求項６に記載のファイル検索システム。
【請求項８】
前記事前処理部は、前記ブロックのデータが、先頭から１つ以上の０を含む場合、該１つ以上の０を除いて前記辞書を作成することを特徴とする請求項６または７に記載のファイル検索システム。
【請求項９】
前記所定のサイズは、８バイトであることを特徴とする請求項６〜８のいずれか一項に記載のファイル検索システム。
【請求項１０】
前記ファイル分割部は、前記検索対象ファイルを、５１２バイト単位で分割することを特徴とする請求項１〜９のいずれか一項に記載のファイル検索システム。
【請求項１１】
バイナリ形式の検索対象ファイルのデータを、複数のブロックに分割するファイル分割ステップと、
前記ブロックのデータを、バイナリ形式の検索先ファイルから検索するブロック検索ステップと、
前記ブロック検索ステップにより検索された結果を出力する検索結果出力ステップと
を備えるファイル検索方法。
【請求項１２】
コンピュータに、
バイナリ形式の検索対象ファイルのデータを、複数のブロックに分割するファイル分割ステップと、
前記ブロックのデータを、バイナリ形式の検索先ファイルから検索するブロック検索ステップと、
前記ブロック検索ステップにより検索された結果を出力する検索結果出力ステップと
を実行させるためのファイル検索プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ファイル検索システム、ファイル検索方法およびファイル検索プログラムに関する。
【背景技術】
【０００２】
コンピュータ等に関する法的紛争等が生じた場合、コンピュータのハードディスクやデジタル記憶媒体（以下、「ハードディスク等」という。）に、特定のファイルが存在していることを示す必要がある場合がある。
【０００３】
具体的には、対象のファイル（以下、「検索対象ファイル」という。）と同じ内容のファイル（以下、「同一ファイル」という。）が、対象のハードディスク等に存在するか否かを調べる必要がある。
【０００４】
ハードディスク等から、検索対象ファイルと同じ内容の同一ファイルを検索する技術の一例として、特許文献１には、すべてのファイルについてインデックスファイルを作成する技術が開示されている。しかしながら、多くの検索対象ファイルを処理する必要がある場合、上記技術では処理速度に問題がある。
【０００５】
さらに、上記同一ファイルの内容の一部が失われ、復元が困難な場合もある。このような場合であっても、上記同一ファイルが存在していたことを示すことは、証拠として有効な場合もある。
【０００６】
このように、検索対象ファイルと同じ内容の同一ファイルが、対象のハードディスク等に存在するか否か、または、存在していたか否かを示すための技術であって、上記同一ファイルの検索の処理速度を改善することができる技術が求められていた。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００３−１６２５４５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
本発明の目的は、検索対象ファイルと同じ内容の同一ファイルが、対象のハードディスク等に存在するか否か、または、存在していたか否かを示すことができ、かつ、処理速度が改善されたファイル検索システム、ファイル検索方法およびファイル検索プログラムを提供することにある。
【課題を解決するための手段】
【０００９】
本発明のファイル検索システムは、バイナリ形式の検索対象ファイルのデータを、複数のブロックに分割するファイル分割部と、ブロックのデータを、バイナリ形式の検索先ファイルから検索するブロック検索部と、ブロック検索部により検索された結果を出力する検索結果出力部とを備える。
【００１０】
上記ブロック検索部は、ブロックのデータと、検索先ファイルの、ブロックと同じサイズの検索先データとを、検索先データを、検索先ファイルの先頭から１バイトずつずらしながら順に比較することができる。
【００１１】
上記ファイル検索システムは、さらに、ファイル分割部により分割されたブロックに対し、検索前の事前処理を行う事前処理部を備えることができる。
【００１２】
上記事前処理部は、ファイル分割部により分割されたブロックの中で、同じ内容の同一ブロックが複数存在する場合、同一ブロックのうち、一のブロックのみを検索の対象とし、他のブロックを検索の対象外とすることができる。
【００１３】
上記事前処理部は、ブロックのうち、データが、すべて同じバイトであるブロックは検索の対象外とすることができる。
【００１４】
上記事前処理部は、ブロックの先頭から所定のサイズのデータに基づいて、ブロックを分類し、所定のサイズのデータをキーとして、辞書を作成することができる。
【００１５】
上記ブロック検索部は、検索先ファイルの、先頭から所定のサイズのデータと、キーとを比較し、比較の結果に基づいて、辞書から対象のブロックを取り出し、ブロックと、検索先ファイルとを比較することができる。
【００１６】
上記事前処理部は、ブロックのデータが、先頭から１つ以上の０を含む場合、１つ以上の０を除いて辞書を作成することができる。
【００１７】
上記所定のサイズは、８バイトとすることができる。
【００１８】
上記ファイル分割部は、検索対象ファイルを、５１２バイト単位で分割することができる。
【００１９】
本発明のファイル検索方法は、バイナリ形式の検索対象ファイルのデータを、複数のブロックに分割するファイル分割ステップと、ブロックのデータを、バイナリ形式の検索先ファイルから検索するブロック検索ステップと、ブロック検索ステップにより検索された結果を出力する検索結果出力ステップとを備える。
【００２０】
本発明のファイル検索プログラムは、コンピュータに、バイナリ形式の検索対象ファイルのデータを、複数のブロックに分割するファイル分割ステップと、ブロックのデータを、バイナリ形式の検索先ファイルから検索するブロック検索ステップと、ブロック検索ステップにより検索された結果を出力する検索結果出力ステップとを実行させる。
【発明の効果】
【００２１】
本発明のファイル検索システム、ファイル検索方法およびファイル検索プログラムによれば、検索対象ファイルと同じ内容の同一ファイルが、対象のハードディスク等に存在するか否か、または、存在していたか否かを示すことができ、かつ、処理速度を改善することができる。
【図面の簡単な説明】
【００２２】
【図１】本発明のファイル検索システムの実施形態に従うブロック図
【図２】本発明のファイル検索システムの一例を示す概念図
【図３】本発明のファイル検索システムの検索結果出力部によるレポートの一例を示す概略図
【図４】本発明の一の実施形態に従うフローチャート
【図５】本発明の他の実施形態に従うフローチャート
【発明を実施するための形態】
【００２３】
本発明のファイル検索システムの実施形態について、図面を参照しながら説明する。
図１は、本発明のファイル検索システムの実施形態に従うブロック図を示したものである。
【００２４】
図１に示すように、本発明のファイル検索システム１００は、バイナリ形式の検索対象ファイルのデータを、複数のブロックに分割するファイル分割部１０１と、ブロックのデータを、バイナリ形式の検索先ファイルから検索するブロック検索部１０２と、ブロック検索部により検索された結果を出力する検索結果出力部１０３とを備える。
【００２５】
上記バイナリ形式の検索対象ファイルおよびバイナリ形式の検索先ファイルは、２進数であらわされたデータであるバイナリデータからなるファイルのことをいう。ここでいうバイナリデータからなるファイルは、画像ファイル、音声ファイル、テキストファイル等の、コンピュータが扱うすべてのファイルを含むものとする。
【００２６】
また、検索対象ファイルは、異なる複数の検索対象ファイルで構成される検索対象ファイル群としてもよい。
【００２７】
また、検索先ファイルは、複数の検索先ファイルで構成される検索先ファイル群としてもよい。この検索先ファイル群は、例えば、コンピュータのハードディスクや記憶デバイス等に記録されたものとすることができる。
【００２８】
ブロック検索部１０２は、検索の漏れがないよう、ブロックのデータと、検索先ファイルの、上記ブロックと同じサイズの検索先データとを、検索先データを、検索先ファイルの先頭から１バイトずつずらしながら順に比較するのが好ましい。
【００２９】
本発明のファイル検索システム１００は、さらに、ファイル分割部１０１により分割されたブロックに対し、検索前の事前処理を行う事前処理部１０４を備えるのが好ましい。検索処理の速度を高めるためである。
【００３０】
事前処理部１０４は、ファイル分割部１０１により分割されたブロックの中で、同じ内容の同一ブロックが複数存在する場合、同一ブロックのうち、一のブロックのみを検索の対象とし、他のブロックを検索の対象外とするのが好ましい。これにより、検索の対象となるブロックの数を削減することができ、検索処理の速度を高めることができる。
【００３１】
事前処理部１０４は、ブロックのうち、データがすべて同じバイトであるブロックは検索の対象外とするのが好ましい。例えば、0x00、0xFF、0xAA等のバイトが連続するブロックなどが挙げられる。また、データがすべて０であるブロックは、例えばハードディスクの未使用領域に存在する検索先ファイルに多く存在する。そのため、このようなブロックを検索の対象外とすることにより、検索処理の速度をより高めることができる。
【００３２】
本発明のファイル検索システム１００は、さらに、除外すべきパターンのファイルのデータを、複数の除外ブロックに分割し、事前処理部１０４は、ファイル分割部１０１により分割されたブロックの中で、除外ブロックと同じ内容のブロックが存在する場合、ブロックを検索対象外とするのが好ましい。
【００３３】
検索対象ファイルの中に、他のファイルにも多くみられるような内容のデータが含まれる場合、このデータを含むブロックを検索の対象とすると、検索処理に時間がかかってしまうおそれがある。そのため、このようなブロックを検索の対象外とするため、除外すべきパターンのファイルを予め用意し、検索対象ファイルの中の、この除外すべきパターンのファイルを分割した除外ブロックと同じ内容のブロックを、検索の対象外とする。
【００３４】
また、事前処理部１０４は、ブロックの先頭から所定のサイズのデータに基づいて、ブロックを分類し、これら所定のサイズのデータをキーとして、辞書を作成するのが好ましい。
【００３５】
ブロック検索部１０２は、検索先ファイルの、先頭から所定のサイズのデータと、キーとを比較し、この比較の結果に基づいて、辞書から対象のブロックを取り出し、ブロックと、検索先ファイルとを比較するのが好ましい。これにより、検索処理の速度を高めることができる。
【００３６】
事前処理部１０４は、ブロックのデータが、先頭から１つ以上の０を含む場合、これら１つ以上の０を除いて辞書を作成するのが好ましい。
【００３７】
上記所定のサイズは、任意のサイズとすることができるが、検索処理の速度を高めるため、８バイトとするのがより好ましい。
【００３８】
また、ファイル分割部１０１は、検索対象ファイルを、ハードディスクの１セクタである５１２バイト単位で分割することができる。
【００３９】
また、検索結果出力部１０３は、ブロック毎のヒット数と、検索先ファイル内の一致位置および検索対象ファイル内での位置の対応表とを、例えばＣＳＶ等の形式で出力するものとすることができる。
【００４０】
さらに、本発明のファイル検索システム１００は、入力部１０５および表示部１０６を備えるのが好ましい。入力部１０５としては、キーボードやマウス等を用いることができ、表示部１０６としては、ディスプレイや液晶モニタ等を用いることができる。
【００４１】
図２は、本発明のファイル検索システムの一例を示す概略図である。図２に示すように、本発明のファイル検索システム２００は、検索対象ファイル２１０のデータを、複数のブロック、ここでは、５１２バイト単位で９つのブロックＢ１〜Ｂ９に分割する。次に、同じ内容を有するブロックＢ２，４，６，８のうち、ブロックＢ２のみを検索の対象とし、他のブロックＢ４，６，８を検索の対象外とする。次に、ブロックＢ１〜３，５，７，９について、検索先ファイル２２１〜２２３で構成される検索先ファイル群２２０から検索する。最後に、上記検索結果をレポート２３０として出力する。
【００４２】
図３は、本発明のファイル検索システムの検索結果出力部によるレポートの一例を示す概略図である。図３に示す例では、検索対象ファイルを１６０６個のブロックに分割し、検索先ファイル群内を検索した。その結果、２３個のブロックがヒットし、そのうち、ユニークなブロックは２２個であった。これらを可視化すると、図３に示すようなレポートとなる。このように、本発明のファイル検索システムによれば、ファイルの内容の一部が失われ、復元が困難な場合であっても、ファイルの断片を確認することができ、ファイルが存在していたことを示すことができる。
【００４３】
次に、本発明のファイル検索方法の実施形態について、図面を参照しながら説明する。
【００４４】
本発明のファイル検索方法は、一例として図４に示すように、バイナリ形式の検索対象ファイルのデータを、複数のブロックに分割するファイル分割ステップ（Ｓ１１０）と、ブロックのデータを、バイナリ形式の検索先ファイルから検索するブロック検索ステップ（Ｓ１２０）と、ブロック検索ステップにより検索された結果を出力する検索結果出力ステップ（Ｓ１３０）とを備える。さらに、本発明のファイル検索方法は、ファイル分割ステップにおいて分割されたブロックに対し、検索前の事前処理を行う事前処理ステップ（Ｓ１４０）を備えるのが好ましい。各ステップにおける詳細については、上述したファイル検索システムと同様である。
【００４５】
次に、本発明のファイル検索プログラムの実施形態について説明する。
【００４６】
本発明のファイル検索プログラムは、コンピュータに、バイナリ形式の検索対象ファイルのデータを、複数のブロックに分割するファイル分割ステップと、ブロックのデータを、バイナリ形式の検索先ファイルから検索するブロック検索ステップと、ブロック検索ステップにより検索された結果を出力する検索結果出力ステップとを実行させる。各ステップにおける詳細については、上述したファイル検索システムと同様である。
【００４７】
図５は、本発明のファイル検索方法の他の実施形態の一例を示すフローチャートである。図５に示すように、他の実施形態に従うファイル検索方法では、初めに、検索対象ファイルで構成された検索対象ファイル群と、検索先ファイルで構成された検索先ファイル群とが選択され、コンピュータに入力される（Ｓ２１０）。
【００４８】
次に、ファイル分割ステップにおいて、バイナリ形式の検索対象ファイルのデータは、複数のブロックに分割される（Ｓ２２０）。すなわち、検索対象ファイルは、５１２バイト単位のブロックに分割される。このステップＳ２２０は、検索対象ファイルの数だけ繰り返し行われる。
【００４９】
続いて、事前処理ステップにおいて、ファイル分割ステップにより分割されたブロックに対し、検索前の事前処理が行われる（Ｓ２３０）。事前処理として、ファイル分割ステップにおいて分割されたブロックの中で、同じ内容の同一ブロックが複数存在する場合、同一ブロックのうち、一のブロックのみを検索の対象とし、他のブロックを検索の対象外とする処理が行われる。さらに、ブロックの先頭から８バイトのデータに基づいて、ブロックを分類し、この８バイトのデータをキーとして、辞書を作成する処理が行われる。なお、ブロックのデータが、先頭から１つ以上の０を含む場合、これら１つ以上の０を除いて辞書が作成される。
【００５０】
次に、検索先ファイルの検索先ファイルのデータが、先頭から１つ以上の０を含む場合、これら１つ以上の０は除かれる（Ｓ２４０）。
【００５１】
次に、ブロック検索ステップにおいて、ブロックのデータは、バイナリ形式の検索先ファイルから検索される（Ｓ２５０）。ブロック検索ステップにおいて、検索先ファイルの、先頭から８バイトのデータと、上記キーとが比較され、この比較の結果に基づいて、辞書から対象のブロックを取り出し、このブロックと、検索先ファイルとを比較する。このとき、検索先ファイルのデータが、先頭から１つ以上の０を含む場合、これら１つ以上の０を除いた後の先頭から８バイトのデータが用いられる（以下、除かれたデータを「オフセット」と呼ぶ。）。
【００５２】
続いて、第一の検索結果出力ステップにおいて、ブロック検索ステップにおいて検索された結果が出力される（Ｓ２６０）。具体的には、一致するブロックが存在した場合、一致した位置の情報がレポートとして出力される。
【００５３】
その後、ブロック検索ステップにおいて、ブロックのデータと、検索先ファイルの、ブロックと同じサイズの検索先データとを、検索先データを、検索先ファイルの先頭から１バイトずらしながら順に比較する（Ｓ２７０）。すなわち、上記オフセットを１つずつ増やしていく。
【００５４】
上記ステップＳ２５０およびＳ２６０は、検索先ファイル内のすべてのデータの比較が終わるまで繰り返される。
【００５５】
また、上記ステップＳ２４０〜Ｓ２７０は、検索先ファイルの数だけ繰り返される。
【００５６】
最後の検索結果出力ステップにおいて、ブロックごとの検索結果を出力する（Ｓ２８０）。
【００５７】
本発明のファイル検索システム、ファイル検索方法およびファイル検索プログラムによれば、検索対象ファイルと同じ内容の同一ファイルが、対象のハードディスク等に存在するか否か、または、存在していたか否かを示すことができ、かつ、処理速度を改善することができる。
【符号の説明】
【００５８】
１００    ファイル検索システム
１０１    ファイル分割部
１０２    ブロック検索部
１０３    検索結果出力部
１０４    事前処理部
１０５    入力部
１０６    表示部
２００    ファイル検索システム
２１０    検索対象ファイル
２２０    検索先ファイル群
２３０    検索結果
Ｓ１１０  ファイル分割ステップ
Ｓ１２０  ブロック検索ステップ
Ｓ１３０  検索結果出力ステップ
Ｓ１４０  事前処理ステップ
Ｓ２１０  ファイル入力ステップ
Ｓ２２０  ブロック分割ステップ
Ｓ２３０  事前処理ステップ
Ｓ２４０  対象オフセット設定ステップ
Ｓ２５０  ブロック検索ステップ
Ｓ２６０  第１の検索結果出力ステップ
Ｓ２７０  対象オフセット追加ステップ
Ｓ２８０  第２の検索結果出力ステップ
【図１】
2014199615.tif 000003
【図２】
2014199615.tif 000004
【図３】
2014199615.tif 000005
【図４】
2014199615.tif 000006
【図５】
2014199615.tif 000007