(57)【要約】【課題】差分バックアップ処理の処理時間を短縮する差分バックアップシステムを提供する。【解決手段】本発明の差分バックアップシステムは、データ部と、編集履歴部を有するファイル編集データを対象とした差分バックアップシステムである。ブロック分割部と、編集量測定部と、編集量抽象化部と、変化量算出ｔａｂｌｅ作成部と、変化量加算部と、抽象化種別単位変化判定部と、ブロック単位変化判定部と、変化不明ブロック番号抽出部と、ブロック比較部と、差分バックアップ実行部とを備える。ブロック比較部が、差分があることが確定しているブロック番号のデータに対しては比較を行わないようにすることで、差分バックアップ処理の処理時間を短縮する。【選択図】図１
2013073526.tif 000002
【特許請求の範囲】
【請求項１】
データ部と、編集履歴部を有するファイル編集データの差分バックアップシステムであって、
前記ファイル編集データを読み込み、前記ファイル編集データを、所定のデータサイズのブロックに分割し、ブロック編集履歴データを出力するブロック分割部と、
前記ブロック編集履歴データを読み込み、編集種別毎に編集量を算出し、前記編集種別と、前記編集量とを含む編集量データを出力する編集量測定部と、
前記編集量データを読み込み、前記編集種別毎に、前記編集種別を抽象化した種別である抽象化種別を対応させ、前記編集種別と、前記抽象化種別と、前記編集量とを含む抽象化編集量データを出力する編集量抽象化部と、
前記抽象化編集量データを読み込み、変化量算出ルールに基づいて、前記編集種別と、前記編集量から変化量を算出し、前記編集種別と、前記抽象化種別と、前記変化量とを含む変化量算出ｔａｂｌｅを出力する変化量算出ｔａｂｌｅ作成部と、
前記変化量算出ｔａｂｌｅを参照し、前記抽象化種別が「入力」であるデータの前記変化量の総和を算出し、前記変化量の総和を含む入力変化量総和データを出力し、前記抽象化種別が、「属性変更」であるデータに対して、前記編集種別毎の前記変化量の総和を算出し、前記編集種別毎の前記変化量の総和を含む属性変更変化量総和データを出力する変化量加算部と、
前記入力変化量総和データと、前記属性変更変化量総和データを読み込み、抽象化種別単位変化判定ルールに基づいて、抽象化種別毎の変化判定結果を含む抽象化種別単位変化判定結果を出力する抽象化種別単位変化判定部と、
前記抽象化種別単位変化判定結果を読み込み、ブロック単位変化判定ルールに基づいて、ブロック単位の変化判定結果を含むブロック単位変化判定結果を出力するブロック単位変化判定部と、
前記ブロック単位変化判定結果を読み込み、前記変化判定結果が、「変化不明」であるブロック番号を含む変化不明ブロック番号データを出力し、前記変化判定結果が、「変化有り」であるブロック番号を含む変化確定ブロック番号データを出力する変化不明ブロック番号抽出部と、
前記変化不明ブロック番号データに含まれるブロック番号のデータに対して、前回の差分バックアップ時に取得したデータと比較し、差分がある場合には、バックアップ対象ブロック番号データを出力するブロック比較部と、
前記バックアップ対象ブロック番号データと、前記変化確定ブロック番号データに基づいて差分バックアップを実行する差分バックアップ実行部と
を備える差分バックアップシステム。
【請求項２】
前記変化量算出ルールは、
前記編集種別が、「入力」である場合には、前記変化量は、前記編集量と同一とし、
前記編集種別が、「削除」である場合には、前記変化量は、前記編集量×（−１）とするルールを含む請求項１に記載の差分バックアップシステム。
【請求項３】
前記抽象化種別単位変化判定ルールは、
前記抽象化種別が「入力」である場合には、前記変化量の総和が０の場合に、「変化不明」と判定し、前記変化量の総和が０以外の場合に、「変化有り」と判定し、
前記抽象化種別が「属性変更」である場合には、前記編集種別毎に、前記変化量の総和が、１の場合に「変化有り」と判定し、前記変化量の総和が、２以上の場合に「変化不明」と判定し、「変化有り」の前記編集種別が、１つ以上の場合に、前記抽象化種別が「属性変更」の変化判定を、「変化有り」と判定し、「変化有り」の前記編集種別が、０の場合に、前記抽象化種別が「属性変更」の変化判定を、「変化不明」と判定するルールを含む
請求項１又は２に記載の差分バックアップシステム。
【請求項４】
前記ブロック単位変化判定ルールは、
前記抽象化種別毎の判定結果において、「変化有り」の前記抽象化種別が１つ以上の場合に、ブロック単位の変化判定を、「変化有り」と判定し、「変化有り」の前記抽象化種別が０の場合に、ブロック単位の変化判定を、「変化不明」と判定するルールを含む
請求項１乃至３のいずれか１項に記載の差分バックアップシステム。
【請求項５】
データ部と、編集履歴部を有するファイル編集データの差分バックアップシステムであって、
ブロック分割部が、前記ファイル編集データを、所定のデータサイズのブロックに分割するステップと、
ブロック分割部が、ブロック編集履歴データを出力するステップと、
編集量測定部が、前記ブロック編集履歴データを読み込むステップと、
編集量測定部が、編集種別毎に編集量を算出するステップと、
編集量測定部が、前記編集種別と、前記編集量とを含む編集量データを出力するステップと、
編集量抽象化部が、前記編集量データを読み込むステップと、
編集量抽象化部が、前記編集種別毎に、前記編集種別を抽象化した種別である抽象化種別を対応させるステップと、
編集量抽象化部が、前記編集種別と、前記抽象化種別と、前記編集量とを含む抽象化編集量データを出力するステップと、
変化量算出ｔａｂｌｅ作成部が、前記抽象化編集量データを読み込むステップと、
変化量算出ｔａｂｌｅ作成部が、変化量算出ルールに基づいて、前記編集種別と、前記編集量から変化量を算出するステップと、
変化量算出ｔａｂｌｅ作成部が、前記編集種別と、前記抽象化種別と、前記変化量とを含む変化量算出ｔａｂｌｅを出力するステップと、
変化量加算部が、前記変化量算出ｔａｂｌｅを参照するステップと、
変化量加算部が、前記抽象化種別が「入力」であるデータの前記変化量の総和を算出するステップと、
変化量加算部が、前記変化量の総和を含む入力変化量総和データを出力するステップと、
変化量加算部が、前記抽象化種別が、「属性変更」であるデータに対して、前記編集種別毎の前記変化量の総和を算出するステップと、
変化量加算部が、前記編集種別毎の前記変化量の総和を含む属性変更変化量総和データを出力するステップと、
抽象化種別単位変化判定部が、前記入力変化量総和データと、前記属性変更変化量総和データを読み込むステップと、
抽象化種別単位変化判定部が、抽象化種別単位変化判定ルールに基づいて、抽象化種別毎の変化判定結果を含む抽象化種別単位変化判定結果を出力するステップと、
ブロック単位変化判定部が、前記抽象化種別単位変化判定結果を読み込むステップと、
ブロック単位変化判定部が、ブロック単位変化判定ルールに基づいて、ブロック単位の変化判定結果を含むブロック単位変化判定結果を出力するステップと、
変化不明ブロック番号抽出部が、前記ブロック単位変化判定結果を読み込むステップと、
変化不明ブロック番号抽出部が、前記変化判定結果が、「変化不明」であるブロック番号を含む変化不明ブロック番号データを出力するステップと、
変化不明ブロック番号抽出部が、前記変化判定結果が、「変化有り」であるブロック番号を含む変化確定ブロック番号データを出力するステップと、
ブロック比較部が、前記変化不明ブロック番号データに含まれるブロック番号のデータに対して、前回の差分バックアップ時に取得したデータと比較するステップと、
差分バックアップ実行部が、前記バックアップ対象ブロック番号データと、前記変化確定ブロック番号データに基づいて、差分バックアップを実行するステップと
を含む差分バックアップ方法。
【請求項６】
前記変化量算出ルールは、
前記編集種別が、「入力」である場合には、前記変化量は、前記編集量と同一とし、
前記編集種別が、「削除」である場合には、前記変化量は、前記編集量×（−１）とするルールを含む請求項５に記載の差分バックアップ方法。
【請求項７】
前記抽象化種別単位変化判定ルールは、
前記抽象化種別が「入力」である場合には、前記変化量の総和が０の場合に、「変化不明」と判定し、前記変化量の総和が０以外の場合に、「変化有り」と判定し、
前記抽象化種別が「属性変更」である場合には、前記編集種別毎に、前記変化量の総和が、１の場合に「変化有り」と判定し、前記変化量の総和が、２以上の場合に「変化不明」と判定し、「変化有り」の前記編集種別が、１つ以上の場合に、前記抽象化種別が「属性変更」の変化判定を、「変化有り」と判定し、「変化有り」の前記編集種別が、０の場合に、前記抽象化種別が「属性変更」の変化判定を、「変化不明」と判定するルールを含む
請求項５又は６に記載の差分バックアップ方法。
【請求項８】
前記ブロック単位変化判定ルールは、
前記抽象化種別毎の判定結果において、「変化有り」の前記抽象化種別が１つ以上の場合に、ブロック単位の変化判定を、「変化有り」と判定し、「変化有り」の前記抽象化種別が０の場合に、ブロック単位の変化判定を、「変化不明」と判定するルールを含む
請求項５乃至７のいずれか１項に記載の差分バックアップ方法。
【請求項９】
請求項５乃至８のいずれか１項に記載の差分バックアップ方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、差分バックアップシステムに関し、特に、差分バックアップ処理の処理時間を短縮する差分バックアップシステムに関する。
【背景技術】
【０００２】
人為的なファイル編集ミスや、記憶媒体の物理的な破壊、コンピュータウイルスの感染等によって失われたファイルを復旧できるようにするために、コンピュータ装置の記憶媒体に記憶されているファイルのバックアップが行われている。
【０００３】
ファイルのバックアップ方式には、様々な方式がある。例えば、ファイルのバックアップが行われるタイミングとしては、定期的に行われる場合と、不定期的に行われる場合がある。また、バックアップデータの管理機能として、バックアップデータの世代管理を行うことができるバックアップシステムもある。
【０００４】
バックアップデータの世代管理では、数世代前までのデータの全てが保存されるため、世代管理数が増大するとバックアップ用の記憶容量が増大する。そのため、前回バックアップされたファイルデータと、今回バックアップされるファイルデータの差分を検出し、その差分を前回のファイルデータに追加して記録することにより、バックアップ用の記憶容量を少なくする差分バックアップシステムが普及している。
【０００５】
差分バックアップシステムの運用例として、例えば、月曜日から金曜日までの日中に業務を行うような会社の場合には、金曜日の夜にフルバックアップを行い、月曜日〜木曜日の夜は、差分バックアップを行う方法が考えられる。この場合、火曜日の業務終了後の復旧データを得るためには、まず、前週の金曜日の夜のバックアップデータを復元し、更に、月曜日の夜の差分バックアップデータと、火曜日の夜の差分バックアップデータを復元する必要がある。
【０００６】
差分バックアップシステムが、差分バックアップを行う場合には、当該差分バックアップシステムが、差分のあるファイルを認識する必要がある。
【０００７】
特開２０１０−２０５１００号公報（特許文献１）には、バックアップ対象データを複数のブロックに分割し、各ブロックに対応するハッシュ値と、前回バックアップしたデータの各ブロックに対応するハッシュ値を比較することにより、差分データを検出する差分バックアップシステムの発明が開示されている。
【０００８】
特開平０９−０９１０５４号公報（特許文献２）には、情報の利用に対して課金する情報処理システムで使用される利用量策定方法の発明が開示されている。この発明では、課金対象のファイルの利用量の策定を、課金対象のファイルのファイルサイズの差分に基づいて行っている。
【０００９】
差分バックアップシステムにおいて、差分のあるファイルを認識する際に、常に、全ブロックに対してハッシュ値の比較を実施すると、差分のあるファイルを認識する処理に時間が掛かる。また、ファイルサイズの変化に基づいて差分のあるファイルを判定すると、ファイルを編集したにも関わらず、当該ファイルのファイルサイズが変わらなかった場合には、差分のあるファイルを正確に判定することができない。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２０１０−２０５１００号公報
【特許文献２】特開平０９−０９１０５４号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
本発明の目的は、差分バックアップ処理の処理時間を短縮する差分バックアップシステムを提供することにある。
【課題を解決するための手段】
【００１２】
本発明の差分バックアップシステムは、データ部と、編集履歴部を有するファイル編集データの差分バックアップシステムであって、前記ファイル編集データを読み込み、前記ファイル編集データを、所定のデータサイズのブロックに分割し、ブロック編集履歴データを出力するブロック分割部と、前記ブロック編集履歴データを読み込み、編集種別毎に編集量を算出し、前記編集種別と、前記編集量とを含む編集量データを出力する編集量測定部と、前記編集量データを読み込み、前記編集種別毎に、前記編集種別を抽象化した種別である抽象化種別を対応させ、前記編集種別と、前記抽象化種別と、前記編集量とを含む抽象化編集量データを出力する編集量抽象化部と、前記抽象化編集量データを読み込み、変化量算出ルールに基づいて、前記編集種別と、前記編集量から変化量を算出し、前記編集種別と、前記抽象化種別と、前記変化量とを含む変化量算出ｔａｂｌｅを出力する変化量算出ｔａｂｌｅ作成部と、前記変化量算出ｔａｂｌｅを参照し、前記抽象化種別が「入力」であるデータの前記変化量の総和を算出し、前記変化量の総和を含む入力変化量総和データを出力し、前記抽象化種別が、「属性変更」であるデータに対して、前記編集種別毎の前記変化量の総和を算出し、前記編集種別毎の前記変化量の総和を含む属性変更変化量総和データを出力する変化量加算部と、前記入力変化量総和データと、前記属性変更変化量総和データを読み込み、抽象化種別単位変化判定ルールに基づいて、抽象化種別毎の変化判定結果を含む抽象化種別単位変化判定結果を出力する抽象化種別単位変化判定部と、前記抽象化種別単位変化判定結果を読み込み、ブロック単位変化判定ルールに基づいて、ブロック単位の変化判定結果を含むブロック単位変化判定結果を出力するブロック単位変化判定部と、前記ブロック単位変化判定結果を読み込み、前記変化判定結果が、「変化不明」であるブロック番号を含む変化不明ブロック番号データを出力し、前記変化判定結果が、「変化有り」であるブロック番号を含む変化確定ブロック番号データを出力する変化不明ブロック番号抽出部と、前記変化不明ブロック番号データに含まれるブロック番号のデータに対して、前回の差分バックアップ時に取得したデータと比較し、差分がある場合には、バックアップ対象ブロック番号データを出力するブロック比較部と、前記バックアップ対象ブロック番号データと、前記変化確定ブロック番号データに基づいて差分バックアップを実行する差分バックアップ実行部とを備える。
【００１３】
本発明の差分バックアップ方法は、データ部と、編集履歴部を有するファイル編集データを対象とした差分バックアップシステムにより実施される差分バックアップ方法である。
【００１４】
ブロック分割部が、前記ファイル編集データを、所定のデータサイズのブロックに分割するステップと、ブロック分割部が、ブロック編集履歴データを出力するステップと、編集量測定部が、前記ブロック編集履歴データを読み込むステップと、編集量測定部が、編集種別毎に編集量を算出するステップと、編集量測定部が、前記編集種別と、前記編集量とを含む編集量データを出力するステップと、編集量抽象化部が、前記編集量データを読み込むステップと、編集量抽象化部が、前記編集種別毎に、前記編集種別を抽象化した種別である抽象化種別を対応させるステップと、編集量抽象化部が、前記編集種別と、前記抽象化種別と、前記編集量とを含む抽象化編集量データを出力するステップと、変化量算出ｔａｂｌｅ作成部が、前記抽象化編集量データを読み込むステップと、変化量算出ｔａｂｌｅ作成部が、変化量算出ルールに基づいて、前記編集種別と、前記編集量から変化量を算出するステップと、変化量算出ｔａｂｌｅ作成部が、前記編集種別と、前記抽象化種別と、前記変化量とを含む変化量算出ｔａｂｌｅを出力するステップと、変化量加算部が、前記変化量算出ｔａｂｌｅを参照するステップと、変化量加算部が、前記抽象化種別が「入力」であるデータの前記変化量の総和を算出するステップと、変化量加算部が、前記変化量の総和を含む入力変化量総和データを出力するステップと、変化量加算部が、前記抽象化種別が、「属性変更」であるデータに対して、前記編集種別毎の前記変化量の総和を算出するステップと、変化量加算部が、前記編集種別毎の前記変化量の総和を含む属性変更変化量総和データを出力するステップと、抽象化種別単位変化判定部が、前記入力変化量総和データと、前記属性変更変化量総和データを読み込むステップと、抽象化種別単位変化判定部が、抽象化種別単位変化判定ルールに基づいて、抽象化種別毎の変化判定結果を含む抽象化種別単位変化判定結果を出力するステップと、ブロック単位変化判定部が、前記抽象化種別単位変化判定結果を読み込むステップと、ブロック単位変化判定部が、ブロック単位変化判定ルールに基づいて、ブロック単位の変化判定結果を含むブロック単位変化判定結果を出力するステップと、変化不明ブロック番号抽出部が、前記ブロック単位変化判定結果を読み込むステップと、変化不明ブロック番号抽出部が、前記変化判定結果が、「変化不明」であるブロック番号を含む変化不明ブロック番号データを出力するステップと、変化不明ブロック番号抽出部が、前記変化判定結果が、「変化有り」であるブロック番号を含む変化確定ブロック番号データを出力するステップと、ブロック比較部が、前記変化不明ブロック番号データに含まれるブロック番号のデータに対して、前回の差分バックアップ時に取得したデータと比較するステップと、差分バックアップ実行部が、前記バックアップ対象ブロック番号データと、前記変化確定ブロック番号データに基づいて、差分バックアップを実行するステップとを含む。
【発明の効果】
【００１５】
本発明によれば、差分バックアップ処理の処理時間を短縮する差分バックアップシステムを提供することができる。
【図面の簡単な説明】
【００１６】
【図１】図１は、本発明の実施形態における差分バックアップシステム１０のブロック図である。
【図２】図２は、本発明の実施形態の差分バックアップシステム１０における編集履歴測定部３のブロック図である。
【図３】図３は、本発明の実施形態の差分バックアップシステム１０において、ファイル編集データ１１を、ブロックに分割した例である。
【図４】図４は、本発明の実施形態の差分バックアップシステム１０において、編集量データ１３を測定した例である。
【図５】図５は、本発明の実施形態の差分バックアップシステム１０における編集履歴変換ルールの例である。
【図６】図６は、本発明の実施形態の差分バックアップシステム１０における編集量算出ルールの例である。
【図７】図７は、本発明の実施形態の差分バックアップシステム１０において、抽象化編集量データ１４を測定した例である。
【図８】図８は、本発明の実施形態の差分バックアップシステム１０における編集種別データ変換ルールの例である。
【図９】図９は、本発明の実施形態の差分バックアップシステム１０における変化量算出部４のブロック図である。
【図１０】図１０は、本発明の実施形態の差分バックアップシステム１０において、変化量算出ｔａｂｌｅ１５を算出した例である。
【図１１】図１１は、本発明の実施形態の差分バックアップシステム１０における変化量算出ルールの例である。
【図１２】図１２は、本発明の実施形態の差分バックアップシステム１０において、入力変化量総和データ１６と属性変更変化量総和データ１７を算出した例である。
【図１３】図１３は、本発明の実施形態の差分バックアップシステム１０における変化量総和算出ルールの例である。
【図１４】図１４は、本発明の実施形態の差分バックアップシステム１０における比較有無判定部５のブロック図である。
【図１５】図１５は、本発明の実施形態の差分バックアップシステム１０において、抽象化種別単位変化判定結果１８を算出した例である。
【図１６】図１６は、本発明の実施形態の差分バックアップシステム１０における変化判定ルールの例である。
【図１７】図１７は、本発明の実施形態の差分バックアップシステム１０において、ブロック単位変化判定結果１９を算出した例である。
【図１８】図１８は、本発明の実施形態の差分バックアップシステム１０におけるブロック単位変化判定ルールの例である。
【図１９】図１９は、本発明の実施形態の差分バックアップシステム１０において、変化不明ブロック番号データ２０を算出した例である。
【図２０】図２０は、本発明の実施形態の差分バックアップシステム１０における差分バックアップ方法のフローチャートである。
【発明を実施するための形態】
【００１７】
添付図面を参照して、本発明の実施形態による差分バックアップシステム１０を以下に説明する。
【００１８】
［構成の説明］
はじめに、本実施形態における差分バックアップシステム１０の構成の説明を行う。図１は、本発明の実施形態における差分バックアップシステム１０のブロック図である。本実施形態の差分バックアップシステム１０は、ファイル編集部１、記憶部２、編集履歴測定部３、変化量算出部４、比較有無判定部５、ブロック比較部６、及び差分バックアップ実行部７を備える。
【００１９】
ファイル編集部１は、文書作成ソフトウェア等で実現され、ファイル編集データ１１を編集する。ファイル編集データ１１は、編集履歴部と、データ部とを有する。編集履歴部は、ファイル編集データ１１の編集履歴に関するデータである。データ部は、ファイル編集データ１１の編集履歴以外のデータ（文書データ等のコンテンツそのもののデータ）である。編集履歴部に含まれるデータは、データ部に対する編集（文字の挿入、削除等）の履歴と、編集箇所の情報が紐付けられている。なお、ファイル編集部１は、文書作成ソフトウェアに限られず、扱われるファイルのデータ形式が、ファイル編集データ１１と同等のデータ構造を持っていれば、どのようなソフトウェアであってもよい。
【００２０】
記憶部２は、ファイル編集データ１１を記憶する。編集履歴測定部３は、ファイル編集データ１１を読み込み、抽象化編集量データ１４を出力する。変化量算出部４は、抽象化編集量データ１４を読み込み、入力変化量総和データ１６と、属性変化量総和データ１７を出力する。比較有無判定部５は、入力変化量総和データ１６と、属性変更変化量総和データ１７を読み込み、変化不明ブロック番号データ２０と、変化確定ブロック番号データ２１を出力する。ブロック比較部６は、変化不明ブロック番号データ２０を読み込み、バックアップ対象ブロック番号データ２２を出力する。差分バックアップ実行部７は、変化確定ブロック番号データ２１と、バックアップ対象ブロック番号データを読み込み、差分バックアップを実行する。
【００２１】
図２は、本発明の実施形態の差分バックアップシステム１０における編集履歴測定部３のブロック図である。編集履歴測定部３は、ブロック分割部３１、編集量測定部３２、及び編集量抽象化部３３を備える。
【００２２】
ブロック分割部３１は、ファイル編集データ１１のデータサイズを、所定のブロック単位に分割する。図３は、本発明の実施形態の差分バックアップシステム１０において、ファイル編集データ１１を、ブロックに分割した例である。本実施形態の差分バックアップシステム１０では、ブロック単位で、前回バックアップ時の状態からの差分があったかどうかを判定する。
【００２３】
編集量測定部３２は、ブロック編集履歴データ１２を読み込み、編集履歴変換ルールと、編集量算出ルールに基づいて、編集量データ１３を測定する。
【００２４】
図４は、本発明の実施形態の差分バックアップシステム１０において、編集量データ１３を測定した例である。図５は、本発明の実施形態の差分バックアップシステム１０における編集履歴変換ルールの例である。図６は、本発明の実施形態の差分バックアップシステム１０における編集量算出ルールの例である。
【００２５】
例えば、図４のブロック編集履歴データ１２に含まれている“「あ」入力”の編集量は、編集量測定部３２により、次のように算出される。まず、編集量測定部３２は、図５の編集履歴変換ルールを参照し、編集内容から、編集種別を特定する。“「あ」入力”の編集内容は、編集内容＝“１文字の入力”に該当するため、編集種別＝“入力”となる。次に、編集量測定部３２は、図６の編集量算出ルールを参照し、編集種別から、編集量を算出する。編集種別＝“入力”の編集量は、編集量＝“入力した文字数”となる。したがって、編集量測定部３２は、“「あ」入力”に対応する編集量データ１３として、編集種別＝“入力”、編集量＝“１”を作成する。
【００２６】
編集量抽象化部３３は、ブロック単位で、編集量データ１３を読み込み、編集種別データ変換ルールに基づいて、編集種別に抽象化種別を対応させる。編集量抽象化部３３は、編集量データ１３に、当該抽象化種別を追加した抽象化編集量データ１４を出力する。図７は、本発明の実施形態の差分バックアップシステム１０において、抽象化編集量データ１４を測定した例である。図８は、本発明の実施形態の差分バックアップシステム１０における編集種別データ変換ルールの例である。
【００２７】
例えば、図７の編集量データ１３に含まれている編集種別＝“大きさ変更”の抽象化種別は、編集量抽象下部３３により、次のように決定される。編集量抽象化部３３は、図８の編集種別データ変換ルールを参照し、編集種別から、抽象化種別を決定する。“大きさ変更”は、抽象化種別＝“属性変更”となる。したがって、編集量抽象化部３３は、ブロック番号＝“２”、編集種別＝“大きさ変更”、編集量＝“１”に対応する抽象化編集量データ１４として、ブロック番号＝“２”、編集種別＝“大きさ変更”、抽象化種別＝”属性変更”、編集量＝“１”を作成する。
【００２８】
図９は、本発明の実施形態の差分バックアップシステム１０における変化量算出部４のブロック図である。変化量算出部４は、変化量算出ｔａｂｌｅ作成部４１、及び変化量加算部４２を備える。
【００２９】
変化量算出ｔａｂｌｅ作成部４１は、変化量算出ルールに基づいて、変化量算出ｔａｂｌｅを作成する。図１０は、本発明の実施形態の差分バックアップシステム１０において、変化量算出ｔａｂｌｅ１５を算出した例である。図１１は、本発明の実施形態の差分バックアップシステム１０における変化量算出ルールの例である。
【００３０】
例えば、図１０の抽象化編集量データ１４に含まれているブロック番号＝“２”、編集種別＝“削除”、抽象化種別＝“入力”、編集量＝“３”に対応する変化量算出ｔａｂｌｅ１５のデータは、次のように決定される。変化量算出ｔａｂｌｅ作成部４１は、図１１の変化量算出ルールを参照し、編集種別から、変化量を算出する。編集種別＝“削除”、編集量＝“３”の変化量は、変化量＝３×（−１）＝−３となる。したがって、変化量算出ｔａｂｌｅ作成部４１は、ブロック番号＝“２”、編集種別＝“削除”、抽象化種別＝“入力”、編集量＝“３”に対応する変化量算出ｔａｂｌｅ１５として、ブロック番号＝“２”、編集種別＝“削除”、抽象化種別＝”入力”、変化量＝“−３”を作成する。
【００３１】
変化量加算部４２は、変化量総和算出ルールに基づいて、入力変化量総和データ１６と属性変更変化量総和データ１７を算出する。図１２は、本発明の実施形態の差分バックアップシステム１０において、入力変化量総和データ１６と属性変更変化量総和データ１７を算出した例である。図１３は、本発明の実施形態の差分バックアップシステム１０における変化量総和算出ルールの例である
【００３２】
まず、図１２の変化量算出ｔａｂｌｅ１５を例にして、入力変化量総和データ１６の算出方法について説明する。変化量加算部４２は、変化量算出ｔａｂｌｅ１５を参照して、抽象化種別＝“入力”であるレコードの変化量の総和を算出する。変化量加算部４２は、入力変化量総和データ１６として、抽象化種別＝“入力”、変化量総和＝“０”のデータを作成する。
【００３３】
次に、図１２の変化量算出ｔａｂｌｅ１５を例にして、属性変更変化量総和データ１７の算出方法について説明する。変化量加算部４２は、変化量算出ｔａｂｌｅ１５を参照して、抽象化種別＝“属性変更”であるレコードに対して、編集種別毎の変化量の総和を算出する。変化量加算部４２は、属性変更変化量総和データ１７として、編集種別＝“大きさ変更”、変化量総和＝“＋２”のデータ、編集種別＝“色変更”、変化量総和＝“＋１”のデータ、及び、編集種別＝“フォント変更”、変化量総和＝“＋１”のデータを作成する。
【００３４】
図１４は、本発明の実施形態の差分バックアップシステム１０における比較有無判定部５のブロック図である。比較有無判定部５は、抽象化種別単位変化判定部５１、ブロック単位変化判定部５２、及び変化不明ブロック番号抽出部５３を備える。
【００３５】
抽象化種別単位変化判定部５１は、抽象化種別単位変化判定ルールに基づいて、抽象化種別単位変化判定結果１８を算出する。図１５は、本発明の実施形態の差分バックアップシステム１０において、抽象化種別単位変化判定結果１８を算出した例である。図１６は、本発明の実施形態の差分バックアップシステム１０における抽象化種
別単位変化判定ルールの例である。
【００３６】
図１５の入力変化量総和データ１６と、属性変更変化量総和データ１７を例にして、抽象化種別単位変化判定結果１８の算出方法について説明する。まず、入力変化量総和データ１６から判定する場合について説明する。抽象化種別単位変化判定部５１は、入力変化量総和データ１６の変化量総和を参照する。抽象化種別単位変化判定部５１は、変化量総和が“０”以外の場合は、「変化有り」と判定し、変化量総和が“０”の場合は、「変化不明」と判定する。したがって、図１５の入力変化量総和データ１６の場合には、変化量総和＝“０”であるため、抽象化種別単位変化判定結果１８として、ブロック番号＝“２”、抽象化種別＝“入力”、判定＝“変化不明”のデータを作成する。
【００３７】
次に、属性変更変化量総和データ１７から判定する場合について説明する。抽象化種別単位変化判定部５１は、編集種別毎に、変化量総和を参照する。抽象化種別単位変化判定部５１は、編集種別毎に、変化量総和が“１”の場合は、「変化有り」と判定し、変化量総和が“２”以上の場合は、「変化不明」と判定する。次に、抽象化種別単位変化判定部５１は、抽象化種別＝“属性変更”としての判定を、各編集種別毎の判定結果を参照し、１つ以上「変化有り」が存在する場合に、「変化有り」と判定し、全て「変化不明」の場合に、「変化不明」と判定する。したがって、図１５の属性変更変化量総和データ１７の場合には、図１６の抽象化種別単位変化判定ルールに基づいて判定すると、編集種別＝“色変更”と、編集種別＝“フォント変更”で、「変化有り」と判定される。そのため、抽象化種別単位変化判定部５１は、抽象化種別単位変化判定結果１８として、ブロック番号＝“２”、抽象化種別＝“属性変更”、判定＝“変化有り”のデータを作成する。
【００３８】
ブロック単位変化判定部５２は、ブロック単位変化判定ルールに基づいて、ブロック単位変化判定結果１９を算出する。図１７は、本発明の実施形態の差分バックアップシステム１０において、ブロック単位変化判定結果１９を算出した例である。図１８は、本発明の実施形態の差分バックアップシステム１０におけるブロック単位変化判定ルールの例である。
【００３９】
図１８のブロック単位変化判定ルールの例では、抽象化種別単位変化判定結果１８において、抽象化種別＝“入力”が、「変化有り」であり、抽象化種別＝“属性変更”が、「変化有り」の場合には、ブロック単位変化判定＝“変化有り”と定義している。
【００４０】
抽象化種別＝“入力”が、「変化不明」であり、抽象化種別＝“属性変更”が、「変化有り」の場合には、ブロック単位変化判定＝“変化有り”と定義している。
【００４１】
抽象化種別＝“入力”が、「変化有り」であり、抽象化種別＝“属性変更”が、「変化不明」の場合には、ブロック単位変化判定＝“変化有り”と定義している。
【００４２】
抽象化種別＝“入力”が、「変化不明」であり、抽象化種別＝“属性変更”が、「変化不明」の場合には、ブロック単位変化判定＝“変化不明”と定義している。
【００４３】
したがって、図１７の抽象化種別単位変化判定結果１８の場合には、ブロック単位変化判定結果１９として、ブロック番号＝“２”、判定＝“変化有り”のデータが作成される。
【００４４】
変化不明ブロック番号抽出部５３は、ブロック単位変化判定結果１９から、判定結果が、「変化不明」であるブロック番号を抽出し、変化不明ブロック番号データ２０を出力する。また、判定結果が、「変化有り」であるブロック番号を抽出し、変化確定ブロック番号データ２１を出力する。図１９は、本発明の実施形態の差分バックアップシステム１０において、変化不明ブロック番号データ２０を算出した例である。図１９の例では、ブロック番号＝“１”のみ、判定＝“変化不明”であるため、変化不明ブロック番号データ２０には、比較用ブロック番号＝“１”のみが含まれる。
【００４５】
［動作方法の説明］
次に、本実施形態における差分バックアップシステム１０において、差分バックアップ方法の説明を行う。図２０は、本発明の実施形態の差分バックアップシステム１０における差分バックアップ方法のフローチャートである。
【００４６】
（ステップＳ１）
編集履歴測定部３のブロック分割部３１が、ファイル編集データ１１を読み込み、所定のデータサイズのブロックに分割して、ブロック編集履歴データ１２を出力する。
【００４７】
（ステップＳ２）
編集履歴測定部３の編集量測定部３２が、ブロック編集履歴データ１２を読み込み、図５の編集履歴変換ルールと、図６の編集量算出ルールに基づいて、編集種別毎の編集量を算出する。編集履歴測定部３は、当該編集種別毎の編集量を含む編集量データ１３を出力する。
【００４８】
（ステップＳ３）
編集履歴測定部３の編集量抽象化部３３が、編集量データ１３を読み込み、図８の編集種別データ変換ルールに基づいて、編集量データ１３に抽象化種別を付加した抽象化編集量データ１４を出力する。
【００４９】
（ステップＳ４）
変化量算出部４の変化量算出ｔａｂｌｅ作成部４１が、抽象化編集量データ１４を読み込み、図１１の変化量算出ルールに基づいて、抽象化編集量データ１４の編集量を、変化量に置き換えた変化量算出ｔａｂｌｅ１５を出力する。
【００５０】
（ステップＳ５）
変化量算出部４の変化量加算部４２が、変化量算出ｔａｂｌｅ１５を読み込み、図１３の変化量総和算出ルールに基づいて、入力変化量総和データ１６と、属性変更変化量総和データ１７を出力する。
【００５１】
（ステップＳ６）
比較有無判定部５の抽象化種別単位変化判定部５１は、入力変化量総和データ１６を読み込み、図１６の抽象化種別単位変化判定ルールに基づいて、抽象化種別＝“入力”の変化判定を行う。同様に、抽象化種別単位変化判定部５１は、属性変更変化量総和データ１７を読み込み、図１６の抽象化種別単位変化判定ルールに基づいて、抽象化種別＝“属性変更”の変化判定を行う。抽象化種別単位変化判定部５１は、抽象化種別＝“入力”と、抽象化種別＝“属性変更”の変化判定結果を含む抽象化種別単位変化判定結果１８を出力する。
【００５２】
（ステップＳ７）
比較有無判定部５のブロック単位変化判定部５２は、抽象化種別単位変化判定結果１８を読み込み、図１８のブロック単位変化判定ルールに基づいて、ブロック単位の変化判定を行い、ブロック単位変化判定結果１９を出力する。
【００５３】
（ステップＳ８）
比較有無判定部５の変化不明ブロック番号抽出部５３は、ブロック単位変化判定結果１９を読み込み、変化判定結果が、「変化不明」であるブロック番号を抽出し、変化不明ブロック番号データ２０を出力する。
【００５４】
（ステップＳ９）
比較有無判定部５の変化不明ブロック番号抽出部５３は、ブロック単位変化判定結果１９を読み込み、変化判定結果が、「変化有り」であるブロック番号を抽出し、変化確定ブロック番号データ２１を出力する。
【００５５】
（ステップＳ１０）
ブロック比較部６は、変化不明ブロック番号データ２０に含まれるブロック番号のブロックのデータに対して、前回の差分バックアップ時に取得したデータと比較し、差分があるかどうかを比較する。ブロック比較部６は、データに差分が有るブロック番号を、バックアップ対象ブロック番号データ２２として出力する。
【００５６】
（ステップＳ１１）
差分バックアップ実行部７は、変化確定ブロック番号データ２１と、バックアップ対象ブロック番号データ２２に基づいて、差分バックアップを実行する。
【００５７】
本発明の実施形態では、ファイル編集データ１１を、所定のデータサイズのブロック単位に分割し、差分バックアップを行うが、前回のバックアップ時との差分があることが確定しているブロック番号（変化確定ブロック番号データ２１）のデータは、ブロック比較部６による比較を行わない。そのため、差分バックアップ処理の処理時間を短縮することができる。
【００５８】
以上、本発明の実施の形態が添付の図面を参照することにより説明された。但し、本発明は、上述の実施の形態に限定されず、要旨を逸脱しない範囲で当業者により適宜変更され得る。
【符号の説明】
【００５９】
１  ファイル編集部
２  記憶部
３  編集履歴測定部
４  変化量算出部
５  比較有無判定部
６  ブロック比較部
１１  ファイル編集データ
１２  ブロック編集履歴データ
１３  編集量データ
１４  抽象化編集量データ
１５  変化量算出ｔａｂｌｅ
１６  入力変化量総和データ
１７  属性変更変化量総和データ
１８  抽象化種別単位変化判定結果
１９  ブロック単位変化判定結果
２０  変化不明ブロック番号データ
２１  変化確定ブロック番号データ
２２  バックアップ対象ブロック番号データ
３１  ブロック分割部
３２  編集量測定部
３３  編集量抽象化部
４１  変化量算出ｔａｂｌｅ作成部
４２  変化量加算部
５１  抽象化種別単位変化判定部
５２  ブロック単位変化判定部
５３  変化不明ブロック番号抽出部
【図１】
2013073526.tif 000003
【図２】
2013073526.tif 000004
【図３】
2013073526.tif 000005
【図４】
2013073526.tif 000006
【図５】
2013073526.tif 000007
【図６】
2013073526.tif 000008
【図７】
2013073526.tif 000009
【図８】
2013073526.tif 000010
【図９】
2013073526.tif 000011
【図１０】
2013073526.tif 000012
【図１１】
2013073526.tif 000013
【図１２】
2013073526.tif 000014
【図１３】
2013073526.tif 000015
【図１４】
2013073526.tif 000016
【図１５】
2013073526.tif 000017
【図１６】
2013073526.tif 000018
【図１７】
2013073526.tif 000019
【図１８】
2013073526.tif 000020
【図１９】
2013073526.tif 000021
【図２０】
2013073526.tif 000022