(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-11
(45)【発行日】2024-03-19
(54)【発明の名称】情報処理方法
(51)【国際特許分類】
G06F 11/14 20060101AFI20240312BHJP
【FI】
G06F11/14 653
(21)【出願番号】P 2020020543
(22)【出願日】2020-02-10
【審査請求日】2023-01-06
(73)【特許権者】
【識別番号】000232092
【氏名又は名称】NECソリューションイノベータ株式会社
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100124811
【氏名又は名称】馬場 資博
(74)【代理人】
【識別番号】100088959
【氏名又は名称】境 廣巳
(74)【代理人】
【識別番号】100097157
【氏名又は名称】桂木 雄二
(74)【代理人】
【識別番号】100187724
【氏名又は名称】唐鎌 睦
(72)【発明者】
【氏名】澤 政典
【審査官】坂東 博司
(56)【参考文献】
【文献】特開2000-200208(JP,A)
【文献】特開2012-093827(JP,A)
【文献】特開2008-234269(JP,A)
【文献】特開2009-245264(JP,A)
【文献】特表2012-506582(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 11/14
(57)【特許請求の範囲】
【請求項1】
情報処理装置が、
バックアップ先領域に格納されているデータのパス名と、データごとに一意に与えられるユニーク情報と、を対応づけた第1情報を取得し、
バックアップ元領域に格納されているデータのパス名と、データごとに一意に与えられるユニーク情報と、を対応づけた第2情報を取得し、
取得した前記第1情報と前記第2情報とを照合し、
バックアップ元領域に格納されたデータをバックアップ先領域に複製する前に、バックアップ先領域に格納されたデータのパス名に対する照合結果に基づく処理を行
い、
前記第1情報に含まれるパス名とユニーク情報との組み合わせごとに、同一のパス名、ユニーク情報が前記第2情報に含まれるか否か確認する照合を行う
情報処理方法。
【請求項2】
請求項1に記載の情報処理方法であって、
照合結果に基づく処理として、パス名を変更するデータ移動処理を行う
情報処理方法。
【請求項3】
請求項1
または請求項2に記載の情報処理方法であって、
前記第1情報と前記第2情報とを照合することで、前記第1情報に含まれるパス名とユニーク情報との組み合わせごとに、前記第2情報においてパス名が一致する数を示すパス名一致数とチェックサムが一致する数を示すチェックサム一致数とを算出する
情報処理方法。
【請求項4】
請求項
3に記載の情報処理方法であって、
照合結果に基づく処理として、前記パス名一致数と前記チェックサム一致数とに応じた処理を行う
情報処理方法。
【請求項5】
請求項
4に記載の情報処理方法であって、
前記チェックサム一致数の方が前記パス名一致数よりも多い場合、照合結果に基づく処理として、バックアップ先領域に格納されているデータのパス名を変更するデータ移動処理を行う
情報処理方法。
【請求項6】
請求項
4または請求項
5に記載の情報処理方法であって、
前記チェックサム一致数が複数である場合、照合結果に基づく処理として、バックアップ先領域内でデータをコピーする処理を少なくとも行う
情報処理方法。
【請求項7】
請求項1から請求項
6までのいずれか1項に記載の情報処理方法であって、
前記ユニーク情報は、データの内容に基づいて算出されるチェックサムである
情報処理方法。
【請求項8】
請求項1から請求項
7までのいずれか1項に記載の情報処理方法であって、
バックアップ先領域に格納されているデータに基づいて前記第1情報を生成し、バックアップ元領域に格納されているデータに基づいて前記第2情報を生成し、
生成した前記第1情報と、生成した前記第2情報と、を照合する
情報処理方法。
【請求項9】
請求項1から請求項
8までのいずれか1項に記載の情報処理方法であって、
照合結果に基づく処理を行った後、バックアップ先領域に存在しないデータをバックアップ元領域からバックアップ先領域に複製する
情報処理方法。
【請求項10】
請求項1から請求項
9までのいずれか1項に記載の情報処理方法であって、
照合結果に基づく処理としてデータを削除する処理を行う際、データの削除の代わりに、データに削除フラグを付与する、または、データを世代前フォルダに移動させる、処理を行う
情報処理方法。
【請求項11】
請求項1から請求項
10までのいずれか1項に記載の情報処理方法であって、
照合結果に基づく処理として、前記ユニーク情報が一致するデータを重複してバックアップ先領域に記憶しない重複排除処理を行う
情報処理方法。
【請求項12】
バックアップ先領域に格納されているデータのパス名と、データごとに一意に与えられるユニーク情報と、を対応づけた第1情報と、バックアップ元領域に格納されているデータのパス名と、データごとに一意に与えられるユニーク情報と、を対応づけた第2情報と、を取得する取得部と、
前記取得部が取得した前記第1情報と前記第2情報とを照合する照合部と、
バックアップ元領域に格納されたデータをバックアップ先領域に複製する前に、バックアップ先領域に格納されたデータのパス名に対する照合結果に基づく処理を行う前処理部と、
を有
し、
前記照合部は、前記第1情報に含まれるパス名とユニーク情報との組み合わせごとに、同一のパス名、ユニーク情報が前記第2情報に含まれるか否か確認する照合を行う
情報処理装置。
【請求項13】
情報処理装置に、
バックアップ先領域に格納されているデータのパス名と、データごとに一意に与えられるユニーク情報と、を対応づけた第1情報と、バックアップ元領域に格納されているデータのパス名と、データごとに一意に与えられるユニーク情報と、を対応づけた第2情報と、を取得する取得部と、
前記取得部が取得した前記第1情報と前記第2情報とを照合する照合部と、
バックアップ元領域に格納されたデータをバックアップ先領域に複製する前に、バックアップ先領域に格納されたデータのパス名に対する照合結果に基づく処理を行う前処理部と、
を実現
させ、
前記照合部は、前記第1情報に含まれるパス名とユニーク情報との組み合わせごとに、同一のパス名、ユニーク情報が前記第2情報に含まれるか否か確認する照合を行う
プログラム。
【請求項14】
情報処理装置が、
バックアップ先領域に格納されているデータのパス名と、データごとに一意に与えられるユニーク情報と、を対応づけた第1情報を取得し、
バックアップ元領域に格納されているデータのパス名と、データごとに一意に与えられるユニーク情報と、を対応づけた第2情報を取得し、
取得した前記第1情報と前記第2情報とを照合し、
バックアップ元領域に格納されたデータをバックアップ先領域に複製する前に、バックアップ先領域に格納されたデータのパス名に対する照合結果に基づく処理を行い、
前記第1情報と前記第2情報とを照合することで、前記第1情報に含まれるパス名とユニーク情報との組み合わせごとに、前記第2情報においてパス名が一致する数を示すパス名一致数とチェックサムが一致する数を示すチェックサム一致数とを算出する
情報処理方法。
【請求項15】
情報処理装置が、
バックアップ先領域に格納されているデータのパス名と、データごとに一意に与えられるユニーク情報と、を対応づけた第1情報を取得し、
バックアップ元領域に格納されているデータのパス名と、データごとに一意に与えられるユニーク情報と、を対応づけた第2情報を取得し、
取得した前記第1情報と前記第2情報とを照合し、
バックアップ元領域に格納されたデータをバックアップ先領域に複製する前に、バックアップ先領域に格納されたデータのパス名に対する照合結果に基づく処理を行い、
照合結果に基づく処理を行った後、バックアップ先領域に存在しないデータをバックアップ元領域からバックアップ先領域に複製する
情報処理方法。
【請求項16】
情報処理装置が、
バックアップ先領域に格納されているデータのパス名と、データごとに一意に与えられるユニーク情報と、を対応づけた第1情報を取得し、
バックアップ元領域に格納されているデータのパス名と、データごとに一意に与えられるユニーク情報と、を対応づけた第2情報を取得し、
取得した前記第1情報と前記第2情報とを照合し、
バックアップ元領域に格納されたデータをバックアップ先領域に複製する前に、バックアップ先領域に格納されたデータのパス名に対する照合結果に基づく処理を行い、
照合結果に基づく処理としてデータを削除する処理を行う際、データの削除の代わりに、データに削除フラグを付与する、または、データを世代前フォルダに移動させる、処理を行う
情報処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理方法、情報処理装置、プログラムに関する。
【背景技術】
【0002】
ファイルシステム間においてファイル単位のバックアップを行うことがある。
【0003】
上記のようなバックアップは、例えば、UNIX(登録商標)における「rsync」コマンドやWindows(登録商標)における「robocopy」コマンドなどを用いて行うことが出来る。「rsync」コマンドや「robocopy」コマンドを用いる一例としては、例えば、特許文献1がある。また、「rsync」コマンドについて記載された文献としては、非特許文献1があり、「robocopy」コマンドについて記載された文献としては、非特許文献2がある。
【先行技術文献】
【特許文献】
【0004】
【非特許文献】
【0005】
【文献】rsync[online],[令和2年1月17日検索],インターネット<URL:https://rsync.samba.org/>
【文献】Microsoft[online],[令和2年1月17日検索],インターネット<URL:https://docs.microsoft.com/ja-jp/windows-server/administration/windows-commands/robocopy>
【発明の概要】
【発明が解決しようとする課題】
【0006】
特許文献1、非特許文献1、非特許文献2に記載されているような「rsync」コマンドや「robocopy」コマンドを用いる方式では、バックアップ元ファイルのファイル名変更やディレクトリ変更のたびに、バックアップ先にファイルが存在しなくなるため、ファイルの削除と再コピーが発生していた。その結果、ファイル名やディレクトリ名を変更するだけで、バックアップ先領域のデータの削除・再コピーが発生し、バックアップ時間が無駄に遅くなる、という課題が生じていた。
【0007】
そこで、本発明の目的は、ファイル名やディレクトリ名の変更を行った際に、バックアップ時間が遅くなるおそれがある、という課題を解決する情報処理方法、情報処理装置、プログラムを提供することにある。
【課題を解決するための手段】
【0008】
かかる目的を達成するため本発明の一形態である情報処理方法は、
情報処理装置が、
バックアップ先領域に格納されているデータのパス名と、データごとに一意に与えられるユニーク情報と、を対応づけた第1情報を取得し、
バックアップ元領域に格納されているデータのパス名と、データごとに一意に与えられるユニーク情報と、を対応づけた第2情報を取得し、
取得した前記第1情報と前記第2情報とを照合し、
バックアップ元領域に格納されたデータをバックアップ先領域に複製する前に、バックアップ先領域に格納されたデータのパス名に対する照合結果に基づく処理を行う
という構成をとる。
【0009】
また、本発明の他の形態である情報処理装置は、
バックアップ先領域に格納されているデータのパス名と、データごとに一意に与えられるユニーク情報と、を対応づけた第1情報と、バックアップ元領域に格納されているデータのパス名と、データごとに一意に与えられるユニーク情報と、を対応づけた第2情報と、を取得する取得部と、
前記取得部が取得した前記第1情報と前記第2情報とを照合する照合部と、
バックアップ元領域に格納されたデータをバックアップ先領域に複製する前に、バックアップ先領域に格納されたデータのパス名に対する照合結果に基づく処理を行う前処理部と、
を有する
という構成をとる。
【0010】
また、本発明の他の形態であるプログラムは、
情報処理装置に、
バックアップ先領域に格納されているデータのパス名と、データごとに一意に与えられるユニーク情報と、を対応づけた第1情報と、バックアップ元領域に格納されているデータのパス名と、データごとに一意に与えられるユニーク情報と、を対応づけた第2情報と、を取得する取得部と、
前記取得部が取得した前記第1情報と前記第2情報とを照合する照合部と、
バックアップ元領域に格納されたデータをバックアップ先領域に複製する前に、バックアップ先領域に格納されたデータのパス名に対する照合結果に基づく処理を行う前処理部と、
を実現するためのプログラムである。
【発明の効果】
【0011】
本発明は、以上のように構成されることにより、ファイル名やディレクトリ名の変更を行った際に、バックアップ時間が遅くなるおそれがある、という課題を解決する情報処理方法、情報処理装置、プログラムを提供することが可能となる。
【図面の簡単な説明】
【0012】
【
図1】本発明の第1の実施形態におけるシステム全体の構成の一例を示している。
【
図2】
図1で示すバックアップ元装置の構成の一例を示すブロック図である。
【
図5】インデックス照合部による照合処理の一例を説明するための図である。
【
図6】前処理部による前処理の一例を説明するための図である。
【
図7】バックアップ先装置の構成の一例を示すブロック図である。
【
図8】本発明の第1の実施形態におけるバックアップ元装置の動作の一例を示すフローチャートである。
【
図9】本発明の第2の実施形態における情報処理装置のハードウェア構成の一例を示す図である。
【
図10】本発明の第2の実施形態における情報処理装置の構成の一例を示すブロック図である。
【発明を実施するための形態】
【0013】
[第1の実施形態]
本発明の第1の実施形態を
図1から
図8までを参照して説明する。
図1は、本発明の第1の実施形態におけるシステム全体の構成の一例を示している。
図2は、バックアップ元装置100の構成の一例を示しブロック図である。
図3は、インデックスLの一例を示す図である。
図4は、インデックスBの一例を示す図である。
図5は、インデックス照合部120による照合処理の一例を説明するための図である。
図6は、前処理部130による前処理の一例を説明するための図である。
図7は、バックアップ先装置200の構成の一例を示すブロック図である。
図8は、バックアップ元装置100の動作の一例を示すフローチャートである。
【0014】
本発明の第1の実施形態においては、バックアップ元からバックアップ先へファイルコピーを行うシステムについて説明する。後述するように、バックアップ元装置100は、バックアップ元領域内ファイルのパス名、チェックサムに基づいて第2情報であるインデックスLを生成するとともに、バックアップ先領域内ファイルのパス名、チェックサムに基づいて第1情報であるインデックスBを生成する。また、バックアップ元装置100は、生成したインデックスLとインデックスBとを照合する。そして、バックアップ元装置100は、照合した結果に基づいて所定の前処理を行った後、上書きなしの条件でファイルコピーを行う。このように照合結果に基づく前処理を行っておくことで、バックアップ元装置100は、ファイル名やディレクトリ名の変更により無駄な削除・再コピーが生じることなどを抑制する。これにより、例えば、RAID、スナップショット、重複排除対応のストレージなどを導入しない場合でも、ファイル名やディレクトリ名の変更を行った際のバックアップ時間の遅延を抑制することが出来る。
【0015】
図1は、システム全体の構成の一例を示している。
図1を参照すると、システムは、例えば、バックアップ元装置100とバックアップ先装置200とを有している。
図1で示すように、バックアップ元装置100とバックアップ先装置200とは、例えば、互いに通信可能なように接続されている。
【0016】
バックアップ元装置100は、ファイルなどのデータを記憶する情報処理装置である。バックアップ元装置100は、例えば、パーソナルコンピュータ、タブレット、スマートフォンなどであって構わない。
【0017】
図2は、バックアップ元装置100の構成の一例を示している。
図2を参照すると、バックアップ元装置100は、例えば、インデックス生成部110と、インデックス照合部120と、前処理部130と、ファイルコピー部140と、を有している。また、バックアップ元装置100は、記憶装置150を有している。記憶装置150に形成されたバックアップ元領域内には、バックアップ元領域内ファイル151が格納されている。
【0018】
バックアップ元装置100は、例えば、CPU(Central Processing Unit)などの演算装置と、記憶装置と、を有している。例えば、バックアップ元装置100は、記憶装置に格納されたプログラムを演算装置が実行することで、上述した処理部を実現する。
【0019】
インデックス生成部110は、記憶装置150に格納されたバックアップ元領域内ファイル151に基づいてインデックスLを生成する。また、インデックス生成部110は、後述する記憶装置220に格納されたバックアップ先領域内ファイル221に基づいてインデックスBを生成する。
【0020】
例えば、インデックス生成部110は、記憶装置150に形成されたバックアップ元領域内に格納された各バックアップ元領域内ファイル151のパス名と、ファイル内容に基づいて算出されるチェックサムと、を取得する。そして、インデックス生成部110は、取得したパス名、チェックサムに基づいて、インデックスLを生成する。
【0021】
図3は、インデックス生成部110が生成するインデックスLの一例を示している。
図3を参照すると、インデックス生成部110が生成するインデックスLでは、ファイルのパス名と、ファイルのチェックサムと、が対応づけられている。例えば、
図3の1行目は、パス名「/directoryA/directoryC/file.text」のファイルのチェックサムが「62」であることを示している。
【0022】
また、インデックス生成部110は、バックアップ先領域内ファイル221のパス名、チェックサムをバックアップ先装置200から取得する。そして、インデックス生成部110は、取得したパス名、チェックサムに基づいて、インデックスBを生成する。
【0023】
図4は、インデックス生成部110が生成するインデックスBの一例を示している。
図4を参照すると、インデックス生成部110が生成するインデックスBでは、インデックスLと同様に、ファイルのパス名と、ファイルのチェックサムと、が対応づけられている。例えば、
図4の1行目は、パス名「/directoryA/directoryB/file.text」のファイルのチェックサムが「23」であることを示している。
【0024】
なお、チェックサムは、ファイルの内容に基づいて予め算出されていても構わないし、例えば、インデックス生成部110がファイル内容に基づいて算出するよう構成しても構わない。また、インデックス生成部110は、バックアップ先装置200で生成されたインデックスBを受信するよう構成しても構わない。つまり、インデックス生成部110は、外部装置で生成されたインデックスBを受信するよう構成されていても構わない。
【0025】
インデックス照合部120は、インデックス生成部110が生成したインデックスLとインデックスBとを照合する。例えば、インデックス照合部120は、インデックスBに含まれるパス名、チェックサムの組み合わせごとに、同一のパス名、チェックサムがインデックスLに含まれるか否か確認することで上記照合を行う。
【0026】
図5は、インデックス照合部120による照合処理の一例を示している。例えば、
図5を参照すると、インデックス照合部120は、インデックスBに含まれる組み合わせパス名「/directoryA/directoryB/file.txt」チェックサム「23」について、同一のパス名やチェックサムがインデックスLに含まれるか否か確認する。
図5で示す場合、インデックスLには、パス名「/directoryA/directoryB/file.txt」もチェックサム「23」も含まれていない。そのため、インデックス照合部120は、パス名「/directoryA/directoryB/file.txt」チェックサム「23」の組み合わせについて、チェックサム一致数が0であり、パス名一致数も0であると判断する。
【0027】
同様に、インデックス照合部120は、インデックスBに含まれる組み合わせパス名「/directoryA/directoryC/file.txt」チェックサム「40」について、同一のパス名やチェックサムがインデックスLに含まれるか否か確認する。
図5で示す場合、インデックスLには、パス名「/directoryA/directoryC/file.txt」が含まれており、チェックサム「40」は含まれていない。そのため、インデックス照合部120は、パス名「/directoryA/directory/file.txt」チェックサム「40」の組み合わせについて、チェックサム一致数が0であり、パス名一致数が1であると判断する。
【0028】
同様に、インデックス照合部120は、インデックスBに含まれる組み合わせパス名「/directoryD/directoryE/file.txt」チェックサム「55」について、同一のパス名やチェックサムがインデックスLに含まれるか否か確認する。
図5で示す場合、インデックスLには、チェックサム「55」が含まれており、パス名「/directoryD/directoryE/file.txt」は含まれていない。そのため、インデックス照合部120は、パス名「/directoryD/directoryE/file.txt」チェックサム「55」の組み合わせについて、チェックサム一致数が1であり、パス名一致数が0であると判断する。
【0029】
同様に、インデックス照合部120は、インデックスBに含まれる組み合わせパス名「/directoryF/directoryG/file.txt」チェックサム「77」について、同一のパス名やチェックサムがインデックスLに含まれるか否か確認する。
図5で示す場合、インデックスLには、パス名「/directoryF/directoryG/file.txt」が含まれており、チェックサム「77」も含まれている。そのため、インデックス照合部120は、パス名「/directoryF/directoryG/file.txt」チェックサム「77」の組み合わせについて、チェックサム一致数が1であり、パス名一致数が1であると判断する。
【0030】
同様に、インデックス照合部120は、インデックスBに含まれる組み合わせパス名「/directoryH/directoryI/file.txt」チェックサム「13」について、同一のパス名やチェックサムがインデックスLに含まれるか否か確認する。
図5で示す場合、インデックスLには、チェックサム「13」が2つ含まれており、パス名「/directoryH/directoryI/file.txt」は含まれていない。そのため、インデックス照合部120は、パス名「/directoryH/directoryI/file.txt」チェックサム「13」の組み合わせについて、チェックサム一致数が2であり、パス名一致数が0であると判断する。
【0031】
同様に、インデックス照合部120は、インデックスBに含まれる組み合わせパス名「/directoryA/directoryH/file.txt」チェックサム「39」について、同一のパス名やチェックサムがインデックスLに含まれるか否か確認する。
図5で示す場合、インデックスLには、パス名「/directoryA/directoryH/file.txt」が含まれており、チェックサム「39」は2つ含まれている。そのため、インデックス照合部120は、パス名「/directoryA/directoryH/file.txt」チェックサム「39」の組み合わせについて、チェックサム一致数が2であり、パス名一致数が1であると判断する。
【0032】
例えば、以上説明したように、インデックス照合部120は、インデックスBに含まれるパス名、チェックサムの組み合わせごとに、同一のパス名、チェックサムがインデックスLに含まれるか否か確認することで、インデックスLとインデックスBとの照合を行う。換言すると、インデックス照合部120は、インデックスBに含まれるパス名、チェックサムの組み合わせごとに、インデックスLと照合することで、パス名が一致する数を示すパス名一致数とチェックサムが一致する数を示すチェックサム一致数とを確認する。
【0033】
前処理部130は、インデックス照合部120による照合の結果に応じた処理を行う。例えば、前処理部130は、バックアップ先領域に格納されたバックアップ先領域内ファイル221のパス名に対する照合結果に応じた処理を行う。なお、前処理部130による処理は、ファイルコピー部140によるファイルコピーの前に行われる。
【0034】
例えば、前処理部130は、インデックス照合部120がチェックサム一致数0、パス名一致数0と判断、または、チェックサム一致数0、パス名一致数1と判断したなど、チェックサム一致数0と判断した組み合わせがある場合、当該組み合わせに対応するバックアップ先領域内ファイル221をバックアップ先領域から削除する。例えば、
図5で示す場合、パス名「/directoryA/directoryB/file.txt」チェックサム「23」の組み合わせは、チェックサム一致数0、パス名一致数0の組み合わせである。また、
図5で示す場合、パス名「/directoryA/directoryC/file.txt」チェックサム「40」の組み合わせは、チェックサム一致数0、パス名一致数1の組み合わせである。従って、前処理部130は、
図6で示すように、パス名「/directoryA/directoryB/file.txt」チェックサム「23」の組み合わせと、「/directoryA/directoryC/file.txt」チェックサム「40」の組み合わせに対応するバックアップ先領域内ファイル221をバックアップ先領域から削除する。このように、前処理部130は、インデックス照合部120によりチェックサム一致数が0であると判断された組み合わせに対応するバックアップ先領域内ファイル221をバックアップ先領域から削除する。
【0035】
また、例えば、前処理部130は、インデックス照合部120がチェックサム一致数1、パス名一致数0と判断した組み合わせがある場合、当該組み合わせに対応するバックアップ先領域内ファイル221を、バックアップ先領域においてインデックスLのパスにファイル移動する。例えば、
図5で示す場合、パス名「/directoryD/directoryE/file.txt」チェックサム「55」の組み合わせは、チェックサム一致数1、パス名一致数0の組み合わせである。従って、前処理部130は、
図6で示すように、パス名「/directoryD/directoryE/file.txt」チェックサム「55」の組み合わせに対応するバックアップ先領域内ファイル221を、対応するインデックスLのパスとなるようにファイル移動する。つまり、前処理部130は、インデックスLにおけるチェックサム「55」のパス名「/directoryD/directoryZ/file.txt」が示すパスとなるようにファイル移動する。
【0036】
また、例えば、前処理部130は、インデックス照合部120がチェックサム一致数1、パス名一致数1と判断した組み合わせがある場合、当該組み合わせに対応するバックアップ先領域内ファイル221に対して何らかの前処理を行わない。例えば、
図5で示す場合、パス名「/directoryF/directoryG/file.txt」チェックサム「77」の組み合わせは、チェックサム一致数1、パス名一致数1の組み合わせである。従って、前処理部130は、
図6で示すように、パス名「/directoryF/directoryG/file.txt」チェックサム「77」の組み合わせに対応するバックアップ先領域内ファイル221をそのままにする。
【0037】
また、例えば、前処理部130は、インデックス照合部120がチェックサム一致数2、パス名一致数0と判断した組み合わせがあるなど、チェックサム一致数が複数ある組合せがある場合、当該組み合わせに対応するバックアップ先領域内ファイル221をバックアップ先領域内で閉じた処理として複製した後、パスの変更を行う。例えば、
図5で示す場合、パス名「/directoryH/directoryI/file.txt」チェックサム「13」の組み合わせは、チェックサム一致数2、パス名一致数0の組み合わせである。従って、前処理部130は、
図6で示すように、パス名「/directoryH/directoryI/file.txt」チェックサム「13」の組み合わせに対応するバックアップ先領域内ファイル221を、バックアップ先領域において複製する。そして、前処理部130は、複製した各バックアップ先領域内ファイル221が対応するインデックスLのパスとなるようにファイル移動する。例えば、
図6で示す場合、前処理部130は、一方のバックアップ先領域内ファイル221のパス名が「/directoryA/directoryZ/file.txt」となるようにファイル移動するとともに、他方のバックアップ先領域内ファイル221のパス名が「/directoryA/directoryY/file.txt」となるようにファイル移動する。このように、前処理部130は、チェックサム一致数が複数ありパス名一致数が0である場合、チェックサム一致数に応じた複製処理を行うとともに、インデックスLに含まれる複数のパス名に応じたファイル移動処理を行う。
【0038】
また、例えば、前処理部130は、インデックス照合部120がチェックサム一致数2、パス名一致数1と判断した組み合わせがある場合、当該組み合わせに対応するバックアップ先領域内ファイル221を、バックアップ先領域内で閉じた処理として複製した後、パスの変更を行う。例えば、
図5で示す場合、パス名「/directoryA/directoryH/file.txt」チェックサム「39」の組み合わせは、チェックサム一致数2、パス名一致数1の組み合わせである。従って、前処理部130は、
図6で示すように、パス名「/directoryA/directoryH/file.txt」チェックサム「39」の組み合わせに対応するバックアップ先領域内ファイル221を、バックアップ先領域において複製する。そして、前処理部130は、複製したバックアップ先領域内ファイル221が対応するインデックスLのパスとなるようにファイル移動する。例えば、
図6で示す場合、前処理部130は、複製の後、一方のバックアップ先領域内ファイル221のパス名が「/directoryJ/directoryJ/file.txt」となるようにファイル移動する。また、前処理部130は、パス名が一致しているバックアップ先領域内ファイル221についてはファイル移動しない。このように、前処理部130は、チェックサム一致数が複数ありパス名が一致するものもある場合、チェックサム一致数に応じた複製処理を行うとともに、インデックスLに含まれるパス名に応じたファイル移動処理をパス名が一致しないファイルに対して行う。
【0039】
例えば、前処理部130は、以上説明したように、インデックス照合部120による照合の結果に応じた処理を行う。つまり、前処理部130は、チェックサム一致数の方がパス名一致数よりも多い場合、照合結果に応じた処理として、少なくともパス名を変更するためのファイル移動処理を行う。また、前処理部130は、チェックサム一致数が複数ある場合、照合結果に応じた処理として、バックアップ先領域内で閉じた処理として複製する。
【0040】
ファイルコピー部140は、前処理部130による処理の後、必要なファイルコピーを行う。例えば、ファイルコピー部140は、記憶装置150に形成されたバックアップ元領域からバックアップ先領域に対して、上書きなし(つまり、既存ファイルがあればコピーしない)条件で、ファイルコピーを実施する。上述したように前処理部130が前処理を行っているため、ファイルコピー部140は、前回のバックアップからファイルの内容が変更されたファイル、または、新規に作成されたファイルについて、ファイルコピーすることになる。
【0041】
記憶装置150は、ディスク装置などの記憶装置である。記憶装置150には、バックアップ元領域が形成されている。
図2で示すように、バックアップ元領域には、バックアップ元領域内ファイル151が格納されている。
【0042】
以上が、バックアップ元装置100の構成の一例である。
【0043】
バックアップ先装置200は、ファイルなどのデータを記憶する情報記憶装置である。バックアップ先装置200は、例えば、USB(Universal Serial Bus)メモリ、外付けハードディスク、ディスク装置などであって構わない。
【0044】
図7は、バックアップ先装置200の構成の一例を示している。
図7を参照すると、バックアップ先装置200は、データ制御部210を有している。また、バックアップ先装置200は、記憶装置220を有している。記憶装置220に形成されたバックアップ先領域内には、バックアップ先領域内ファイル221が格納されている。
【0045】
例えば、バックアップ先装置200は、CPUやコントローラIC(Integrated Circuit)などの演算装置と、記憶装置と、を有している。例えば、バックアップ先装置200は、記憶装置に格納されたプログラムを演算装置が実行することで、上述した処理部を実現する。
【0046】
データ制御部210は、バックアップ元装置100からの指示に基づいて、記憶装置220に格納されているバックアップ先領域内ファイル221を制御する。例えば、データ制御部210は、バックアップ元装置100からの指示に基づいて、記憶装置220に格納されているバックアップ先領域内ファイル221のコピーを行ったり、削除を行ったり、ファイル移動を行ったりする。
【0047】
記憶装置220は、メモリ、ディスクなどの記憶装置である。記憶装置220には、バックアップ先領域が形成されている。
図7で示すように、バックアップ先領域には、バックアップ先領域内ファイル221が格納されている。
【0048】
以上が、バックアップ先装置200の構成の一例である。
【0049】
続いて、
図8を参照して、バックアップ元からバックアップ先へファイルコピーを行う際のバックアップ元装置100の動作の一例について説明する。
【0050】
図8を参照すると、バックアップ元装置100のインデックス生成部110は、バックアップ元領域内に格納されたバックアップ元領域内ファイル151のパス名、チェックサムに基づいて、インデックスLを生成する。また、インデックス生成部110は、バックアップ先領域内に格納されたバックアップ先領域内ファイル221のパス名、チェックサムに基づいて、インデックスBを生成する。このように、インデックス生成部110は、インデックスLとインデックスBを生成する(ステップS101)。
【0051】
インデックス照合部120は、インデックス生成部110が生成したインデックスLとインデックスBとを照合する(ステップS102)。例えば、インデックス照合部120は、インデックスBに含まれるパス名、チェックサムの組み合わせごとに、インデックスLと照合することで、パス名が一致する数を示すパス名一致数とチェックサムが一致する数を示すチェックサム一致数とを確認する。
【0052】
前処理部130は、インデックス照合部120による照合の結果に応じた前処理を行う(ステップS103)。例えば、前処理部130は、パス名一致数とチェックサム一致数とに応じた前処理を行う。
【0053】
ファイルコピー部140は、前処理部130による処理の後、必要なファイルコピーを行う(ステップS104)。例えば、ファイルコピー部140は、記憶装置150に形成されたバックアップ元領域からバックアップ先領域に対して、上書きなし(つまり、既存ファイルがあればコピーしない)条件で、ファイルコピーを実施する。
【0054】
以上が、バックアップ元からバックアップ先へファイルコピーを行う際のバックアップ元装置100の動作の一例である。
【0055】
このように、バックアップ元装置100は、インデックス照合部120と、前処理部130と、ファイルコピー部140と、を有している。このような構成により、ファイルコピー部140は、インデックス照合部120による照合の結果に応じて前処理部130が前処理を行った後に、必要なファイルコピーを行うことが出来る。その結果、前処理としてファイル移動などを事前に行うことが可能となり、ファイル名やディレクトリ名の変更を行った際に生じるファイル削除・コピーを抑制することが可能となる。これにより、バックアップ時間が遅くなるおそれがある、という課題を解決することが出来る。
【0056】
具体的には、例えば、前処理部130は、チェックサム一致数が1でありパス名一致数が0である場合、前処理として、インデックスLのパスにファイル移動するよう構成されている。このように前処理を行っておくと、例えば、前回バックアップ実施後にパス名だけを変更した際などにおいて、無駄にファイルを削除して無駄なファイルコピーが生じる事態を抑制することが出来る。
【0057】
また、例えば、前処理部130は、チェックサム一致数が複数ある場合、バックアップ先領域内に閉じた処理として対象ファイルを複製した後、必要に応じてインデックスLのパスにファイル移動するよう構成されている。このように前処理を行っておくと、転送処理を抑制することが可能となり、バックアップ時間を高速にすることが可能となる。
【0058】
なお、ファイルコピー部140は、ファイルコピーを行う際に、インデックスLなどを活用しても構わない。例えば、インデックスLにチェックサムが同一のファイルが複数含まれる場合、ファイルコピー部140は、バックアップ先領域に対して1つのファイルを転送した後、バックアップ先領域内で閉じた処理として、必要な分転送したファイルを複製するよう構成しても構わない。
【0059】
また、本実施形態においては、ファイル(データ)ごとに一意に与えられるユニークな情報としてチェックサムを用いる場合について説明した。しかしながら、本発明は、例えば、ファイルの更新日時などの時刻ベースの識別子をチェックサムの代わりに用いるよう構成しても構わない。このように、ユニーク情報は、本実施形態において説明した以外の情報であっても構わない。
【0060】
また、システムの構成は、本実施形態において説明した場合に限定されない。例えば、バックアップ元装置100は、複数台の情報処理装置から構成されても構わない。また、バックアップ元装置100は、例えば、外部装置が生成したインデックスLとインデックスBを取得して照合するなど、本実施形態で説明した機能のうちの一部のみを有していても構わない。
【0061】
また、前処理部130は、バックアップ先領域内ファイル221をバックアップ先領域から削除する際、削除する処理の代わりに、当該ファイルに削除フラグを追加する、または、当該ファイルを世代前フォルダなどの他のフォルダに移動させる、処理などを行うよう構成しても構わない。例えば、/directoryZ/file.txtが削除対象のファイルであるとする。この場合、前処理部130は、例えば、上記ファイル(/directoryZ/file.txt)を削除せず、/bak_2019-10-10-12-00-00/directoryZ/file.txtなどに移動させるよう構成することが出来る。上記のように構成することで、例えば、世代前ファイルを入手したい場合に、削除フラグ付きまたは世代前フォルダ内のファイルをバックアップ先からバックアップ元にコピーすることで、世代前のファイルに復元することが可能となる。なお、上記のように構成する場合、バックアップ元装置100などは、バックアップ先領域の容量に基づいて、削除フラグが追加されているファイルや世代前フォルダ中のファイルなどを削除するよう構成しても構わない。
【0062】
また、例えば、本実施形態において説明したシステムにリストア機能を追加する場合などにおいて、バックアップ先領域で同じチェックサムかつパス名不一致のファイルについて、重複排除的に処理するよう構成しても構わない。例えば、前処理部130は、チェックサムが一致するファイルを重複してバックアップ先領域に記憶しないように、重複排除処理を行うことが出来る。
【0063】
[第2の実施形態]
次に、本発明の第2の実施形態について、
図9、
図10を参照して説明する。
図9、
図10は、ストレージ装置500の構成の一例を示している。
【0064】
図9は、情報処理装置300のハードウェア構成の一例を示している。
図9を参照すると、情報処理装置300は、1台又は複数台の情報処理装置にて構成されており、一例として、以下のようなハードウェア構成を有している。
・CPU(Central Processing Unit)301(演算装置)
・ROM(Read Only Memory)302(記憶装置)
・RAM(Random Access Memory)303(記憶装置)
・RAM303にロードされるプログラム群304
・プログラム群304を格納する記憶装置305
・情報処理装置外部の記録媒体310の読み書きを行うドライブ装置306
・情報処理装置外部の通信ネットワーク311と接続する通信インタフェース307
・データの入出力を行う入出力インタフェース308
・各構成要素を接続するバス309
【0065】
また、情報処理装置300は、プログラム群304をCPU301が取得して当該CPU301が実行することで、
図10に示す取得部321、照合部22、前処理部323、としての機能を実現することが出来る。なお、プログラム群304は、例えば、予め記憶装置305やROM302に格納されており、必要に応じてCPU301がRAM303などにロードして実行する。また、プログラム群304は、通信ネットワーク311を介してCPU301に供給されてもよいし、予め記録媒体310に格納されており、ドライブ装置306が該プログラムを読み出してCPU301に供給してもよい。
【0066】
なお、
図9は、情報処理装置300のハードウェア構成の一例を示しており、情報処理装置300のハードウェア構成は上述した場合に限定されない。例えば、情報処理装置300は、ドライブ装置306を有さないなど、上述した構成の一部から構成されてもよい。
【0067】
取得部321は、バックアップ先領域に格納されているデータのパス名と、データごとに一意に与えられるユニーク情報と、を対応づけた第1情報と、バックアップ元領域に格納されているデータのパス名と、データごとに一意に与えられるユニーク情報と、を対応づけた第2情報と、を取得する。
【0068】
照合部322は、取得部321が取得した第1情報と第2情報とを照合する。
【0069】
前処理部323は、バックアップ元領域に格納されたデータをバックアップ先領域に複製する際に、照合部322が照合した結果に基づく前処理を行う。
【0070】
このように、情報処理装置300は、照合部322と前処理部323を有している。このような構成により、前処理部323は、バックアップ元領域に格納されたデータをバックアップ先領域に複製する際に、照合部322が照合した結果に基づく前処理を行うことが出来る。これにより、例えば、パス名を変更するデータ移動処理を前処理として行うことなどが可能となる。その結果、例えば、ファイル名やディレクトリ名の変更を行っただけの場合、前処理としてパス名を変更しておくことで、無駄にデータの削除・再コピーが生じる事態を抑制すること可能となり、バックアップ時間の遅延を抑制することが可能となる。
【0071】
なお、上述した情報処理装置300は、当該情報処理装置300に所定のプログラムが組み込まれることで実現できる。具体的に、本発明の他の形態であるプログラムは、情報処理装置300に、バックアップ先領域に格納されているデータのパス名と、データごとに一意に与えられるユニーク情報と、を対応づけた第1情報と、バックアップ元領域に格納されているデータのパス名と、データごとに一意に与えられるユニーク情報と、を対応づけた第2情報と、を取得する取得部321と、取得部321が取得した第1情報と第2情報とを照合する照合部322と、バックアップ元領域に格納されたデータをバックアップ先領域に複製する際に、照合部322が照合した結果に基づく前処理をデータの複製前に行う前処理部323と、を実現するためのプログラムである。
【0072】
また、上述した情報処理装置300により実行される情報処理方法は、情報処理装置300が、バックアップ先領域に格納されているデータのパス名と、データごとに一意に与えられるユニーク情報と、を対応づけた第1情報を取得し、バックアップ元領域に格納されているデータのパス名と、データごとに一意に与えられるユニーク情報と、を対応づけた第2情報を取得し、取得した第1情報と第2情報とを照合し、バックアップ元領域に格納されたデータをバックアップ先領域に複製する際に、照合結果に基づく前処理をデータの複製前に行う、という方法である。
【0073】
上述した構成を有する、プログラム、又は、情報処理方法、の発明であっても、上記情報処理装置300と同様の作用・効果を有するために、上述した本発明の目的を達成することが出来る。
【0074】
<付記>
上記実施形態の一部又は全部は、以下の付記のようにも記載されうる。以下、本発明における情報処理方法などの概略を説明する。但し、本発明は、以下の構成に限定されない。
【0075】
(付記1)
情報処理装置が、
バックアップ先領域に格納されているデータのパス名と、データごとに一意に与えられるユニーク情報と、を対応づけた第1情報を取得し、
バックアップ元領域に格納されているデータのパス名と、データごとに一意に与えられるユニーク情報と、を対応づけた第2情報を取得し、
取得した前記第1情報と前記第2情報とを照合し、
バックアップ元領域に格納されたデータをバックアップ先領域に複製する前に、バックアップ先領域に格納されたデータのパス名に対する照合結果に基づく処理を行う
情報処理方法。
(付記2)
請求項1に記載の情報処理方法であって、
照合結果に基づく処理として、パス名を変更するデータ移動処理を行う
情報処理方法。
(付記3)
付記1または付記2に記載の情報処理方法であって、
前記第1情報に含まれるパス名とユニーク情報との組み合わせごとに、同一のパス名、ユニーク情報が前記第2情報に含まれるか否か確認する照合を行う
情報処理方法。
(付記4)
付記1から付記3までのいずれか1項に記載の情報処理方法であって、
前記第1情報と前記第2情報とを照合することで、前記第1情報に含まれるパス名とユニーク情報との組み合わせごとに、前記第2情報においてパス名が一致する数を示すパス名一致数とチェックサムが一致する数を示すチェックサム一致数とを算出する
情報処理方法。
(付記5)
付記4に記載の情報処理方法であって、
照合結果に基づく処理として、前記パス名一致数と前記チェックサム一致数とに応じた処理を行う
情報処理方法。
(付記6)
付記5に記載の情報処理方法であって、
前記チェックサム一致数の方が前記パス名一致数よりも多い場合、照合結果に基づく処理として、バックアップ先領域に格納されているデータのパス名を変更するデータ移動処理を行う
情報処理方法。
(付記7)
付記5または付記6に記載の情報処理方法であって、
前記チェックサム一致数が複数である場合、照合結果に基づく処理として、バックアップ先領域内でデータをコピーする処理を少なくとも行う
情報処理方法。
(付記8)
付記1から付記7までのいずれか1項に記載の情報処理方法であって、
前記ユニーク情報は、データの内容に基づいて算出されるチェックサムである
情報処理方法。
(付記9)
付記1から付記8までのいずれか1項に記載の情報処理方法であって、
バックアップ先領域に格納されているデータに基づいて前記第1情報を生成し、バックアップ元領域に格納されているデータに基づいて前記第2情報を生成し、
生成した前記第1情報と、生成した前記第2情報と、を照合する
情報処理方法。
(付記10)
付記1から付記9までのいずれか1項に記載の情報処理方法であって、
照合結果に基づく処理を行った後、バックアップ先領域に存在しないデータをバックアップ元領域からバックアップ先領域に複製する
情報処理方法。
(付記11)
付記1から付記10までのいずれか1項に記載の情報処理方法であって、
照合結果に基づく処理としてデータを削除する処理を行う際、データの削除の代わりに、データに削除フラグを付与する、または、データを世代前フォルダに移動させる、処理を行う
情報処理方法。
(付記12)
付記1から付記11までのいずれか1項に記載の情報処理方法であって、
照合結果に基づく処理として、前記ユニーク情報が一致するデータを重複してバックアップ先領域に記憶しない重複排除処理を行う
情報処理方法。
(付記13)
バックアップ先領域に格納されているデータのパス名と、データごとに一意に与えられるユニーク情報と、を対応づけた第1情報と、バックアップ元領域に格納されているデータのパス名と、データごとに一意に与えられるユニーク情報と、を対応づけた第2情報と、を取得する取得部と、
前記取得部が取得した前記第1情報と前記第2情報とを照合する照合部と、
バックアップ元領域に格納されたデータをバックアップ先領域に複製する前に、バックアップ先領域に格納されたデータのパス名に対する照合結果に基づく処理を行う前処理部と、
を有する
情報処理装置。
(付記14)
情報処理装置に、
バックアップ先領域に格納されているデータのパス名と、データごとに一意に与えられるユニーク情報と、を対応づけた第1情報と、バックアップ元領域に格納されているデータのパス名と、データごとに一意に与えられるユニーク情報と、を対応づけた第2情報と、を取得する取得部と、
前記取得部が取得した前記第1情報と前記第2情報とを照合する照合部と、
バックアップ元領域に格納されたデータをバックアップ先領域に複製する前に、バックアップ先領域に格納されたデータのパス名に対する照合結果に基づく処理を行う前処理部と、
を実現するためのプログラム。
【0076】
なお、上記各実施形態及び付記において記載したプログラムは、記憶装置に記憶されていたり、コンピュータが読み取り可能な記録媒体に記録されていたりする。例えば、記録媒体は、フレキシブルディスク、光ディスク、光磁気ディスク、及び、半導体メモリ等の可搬性を有する媒体である。
【0077】
以上、上記各実施形態を参照して本願発明を説明したが、本願発明は、上述した実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明の範囲内で当業者が理解しうる様々な変更をすることが出来る。
【符号の説明】
【0078】
100 バックアップ元装置
110 インデックス生成部
120 インデックス照合部
130 前処理部
140 ファイルコピー部
150 記憶装置
151 バックアップ元領域内ファイル
200 バックアップ先装置
210 データ制御部
220 記憶装置
221 バックアップ先領域内ファイル
300 情報処理装置
301 CPU
302 ROM
303 RAM
304 プログラム群
305 記憶装置
306 ドライブ装置
307 通信インタフェース
308 入出力インタフェース
309 バス
310 記録媒体
311 通信ネットワーク
321 取得部
322 照合部
323 前処理部