| 【発明の名称】 |
差分バックアップ方法および装置 |
| 【発明者】 |
【氏名】鈴木 憲明
|
| 【要約】 |
【課題】必要最小限の情報を記録するとともに、短時間でリストア処理を行うことのできる差分バックアップ方法および装置を提供する。
【解決手段】ファイリングサービス1に対する各種操作により発生する差分情報をオブジェクト管理データベース3に順次記録するとともに、各種操作により無意味となる差分情報を削除してバックアップする。 |
【特許請求の範囲】
【請求項1】 全体バックアップを行った後に発生したオブジェクトの操作に基づいて、全体バックアップ情報との差をバックアップする差分バックアップ方法において、前記全体バックアップ情報との間に生じた差を差分情報として記録するとともに、前記差分情報のうちオブジェクトの操作により前記差が打ち消された差分情報を抹消することを特徴とする差分バックアップ方法。 【請求項2】 前記オブジェクトは、該オブジェクトを識別する識別情報が付与され、前記差分情報は、前記識別情報に基づいて記録されることを特徴とする請求項1記載の差分バックアップ方法。 【請求項3】 前記差分情報は、前記オブジェクトの追加記録情報、削除記録情報、変更記録情報の1若しくは複数の組み合わせとして構成されることを特徴とする請求項1記載の差分バックアップ方法。 【請求項4】 前記追加記録情報と前記削除記録情報と前記変更記録情報は、それぞれ、同一のオブジェクトに対する情報を1つ以内だけ記録することを特徴とする請求項3記載の差分バックアップ方法。 【請求項5】 前記差分情報は、追加されたオブジェクトが削除された場合に、該オブジェクトの追加記録情報が抹消されることを特徴とする請求項3記載の差分バックアップ方法。 【請求項6】 前記差分情報は、オブジェクトの移動を該オブジェクトの削除記録情報および追加記録情報で表し、該移動されたオブジェクトが削除された場合に、該オブジェクトの追加記録情報が抹消されることを特徴とする請求項3記載の差分バックアップ方法。 【請求項7】 前記差分情報は、変更されたオブジェクトが削除された場合に、該オブジェクトの変更記録情報が抹消されることを特徴とする請求項3記載の差分バックアップ方法。 【請求項8】 前記差分情報は、オブジェクトの追加、削除、移動、変更の情報が記録され、追加、削除、移動、変更の順に差分バックアップ情報として保存されることを特徴とする請求項1記載のバックアップ方法。 【請求項9】 前記差分バックアップ情報は、オブジェクトの追加、削除、移動、変更の順にリストアされることを特徴とする請求項8記載の差分バックアップ方法。 【請求項10】 全体バックアップを行った後に発生したオブジェクトの操作に基づいて、全体バックアップ情報との差をバックアップする差分バックアップ装置において、受け付けた操作指示に基づいてオブジェクトの操作および管理を行うオブジェクト管理手段と、前記オブジェクト管理手段による操作により前記全体バックアップ情報との間に生じた差を差分情報として記録するとともに、前記差分情報のうちオブジェクトの操作により前記差が打ち消された差分情報を抹消する差分情報記録手段とを具備することを特徴とする差分バックアップ装置。 【請求項11】 前記オブジェクト管理手段は、前記オブジェクトに該オブジェクトを識別する識別情報を付与し、前記差分情報記録手段は、前記オブジェクト管理手段により付与された識別情報に基づいて前記差分情報を記録することを特徴とする請求項10記載の差分バックアップ装置。 【請求項12】 前記差分情報記録手段は、前記オブジェクトの追加記録情報、削除記録情報、変更記録情報の1若しくは複数の組み合わせとして前記差分情報を構成することを特徴とする請求項10記載の差分バックアップ装置。 【請求項13】 前記差分情報記録手段は、前記追加記録情報と前記削除記録情報と前記変更記録情報とのそれぞれに同一のオブジェクトに対する情報を1つ以内だけ記録することを特徴とする請求項12記載の差分バックアップ装置。 【請求項14】 前記差分情報記録手段は、追加されたオブジェクトが削除された場合に、該オブジェクトの追加記録情報を抹消することを特徴とする請求項12記載の差分バックアップ装置。 【請求項15】 前記差分情報記録手段は、オブジェクトの移動を該オブジェクトの削除記録情報および追加記録情報で記録し、該移動されたオブジェクトが削除された場合に、該オブジェクトの追加記録情報を抹消することを特徴とする請求項12記載の差分バックアップ装置。 【請求項16】 前記差分情報記録手段は、変更されたオブジェクトが削除された場合に、該オブジェクトの変更記録情報を抹消することを特徴とする請求項12記載の差分バックアップ装置。 【請求項17】 前記差分情報記録手段は、前記差分情報としてオブジェクトの追加、削除、移動、変更の各情報を記録し、該各情報を追加、削除、移動、変更の順に差分バックアップ情報として保存することを特徴とする請求項10記載のバックアップ装置。 【請求項18】 前記差分情報記録手段は、前記差分バックアップ情報をオブジェクトの追加、削除、移動、変更の順にリストアすることを特徴とする請求項17記載の差分バックアップ装置。
|
【発明の詳細な説明】【0001】 【発明の属する技術分野】この発明は、差分バックアップ方法および装置に関し、特に、ファイリングサービス等におけるバックアップおよびリストアの処理を高速に行う差分バックアップ方法および装置に関する。 【0002】 【従来の技術】ファイリングサービス等においては、格納(登録)されるオブジェクト等が随時変更されるため、差分バックアップ方式により、バックアップを行うことが多い。差分バックアップ方式は、全体のバックアップを行った後に、オブジェクトの変更等に伴う差分情報をバックアップするものである。 【0003】ここで、一般的な差分バックアップの手順について説明する。図20は、従来の差分バックアップ処理の流れを示すフローチャートである。差分バックアップ処理では、まず、ファイリングサービス全体のバックアップを行う(ステップ801)。なお、全体のバックアップをキャビネット等のデータ格納単位で行うシステムもある。 【0004】その後、オブジェクトの追加や変更、削除等の操作があると、その操作内容を時系列に差分情報として記録する(ステップ802)。この差分情報は、例えば、図21に示すような形態で記録される。 【0005】差分情報の記録は、所定の条件、例えば、一定時間の経過や差分情報の記録量が一定量を超える等の条件に適合するまでの間(ステップ803でNO)、オブジェクトに対する操作が生じる毎に行われる。そして、所定条件に適合すると(ステップ803でYES)、記録した差分情報をメディアに格納し(ステップ804)、その差分情報を削除して(ステップ805)、ステップ802の処理に戻り、差分情報の記録を続ける。 【0006】このようにして記録した差分情報に基づいて、ファイリングサービスに障害等が発生した場合に、リストアを行うことになる。 【0007】次に、差分情報に基づくリストアの手順について説明する。図22は、従来の差分リストア処理の流れを示すフローチャートである。ファイリングサービス等のリストアを行う場合には、まず、上述のステップ801で行った全体バックアップに基づいて、全体のリストアを行う(ステップ901)。 【0008】次に、全体リストアを行ったファイリングサービスに対して、上述のステップ804でメディアに格納した差分情報を反映させる(ステップ902)。この差分情報の反映は、差分情報を格納したメディアの全てに対して行い(ステップ903でYES)、全てのメディアに格納されている差分情報の反映を終了すると(ステップ903でNO)、ファイリングサービスの運用を開始する(ステップ904)。 【0009】このように、従来の差分バックアップ方式では、サービスの運用時の操作内容を差分情報として記録しておき、リストア時に記録しておいた差分情報に従って、オブジェクトに対する操作を再現していた。 【0010】なお、同様のバックアップを行うものとして、特開平7−230400号公報記載の「情報管理システムのバックアップ構造およびそれを用いた復旧方法」等がある。 【0011】 【発明が解決しようとする課題】上述のように、従来の差分バックアップ方式では、サービスの運用時の操作内容を差分情報として記録しておき、リストア時に記録しておいた差分情報に従って、オブジェクトに対する操作を再現していた。 【0012】しかしながら、上述の方法では、記録する差分情報として不要な情報を含むことがある。例えば、あるオブジェクトを追加登録した後に、当該オブジェクトが削除された場合、差分情報にはオブジェクトの登録と削除の両者の情報が記憶され、そのオブジェクト自体もバックアップされることになる。 【0013】同様に、リストアを行う際にも、操作内容を再現するため、オブジェクトを追加登録した後に当該オブジェクトを削除するといった処理が実行されることになり、このような無駄な処理を含めたリストア処理に要する時間が多大なものとなっていた。 【0014】そこで、この発明は、必要最小限の情報を記録するとともに、短時間でリストア処理を行うことのできる差分バックアップ方法および装置を提供することを目的とする。 【0015】 【課題を解決するための手段】上述した目的を達成するため、請求項1の発明は、全体バックアップを行った後に発生したオブジェクトの操作に基づいて、全体バックアップ情報との差をバックアップする差分バックアップ方法において、前記全体バックアップ情報との間に生じた差を差分情報として記録するとともに、前記差分情報のうちオブジェクトの操作により前記差が打ち消された差分情報を抹消することを特徴とする。 【0016】また、請求項2の発明は、請求項1の発明において、前記オブジェクトは、該オブジェクトを識別する識別情報が付与され、前記差分情報は、前記識別情報に基づいて記録されることを特徴とする。 【0017】また、請求項3の発明は、請求項1の発明において、前記差分情報は、前記オブジェクトの追加記録情報、削除記録情報、変更記録情報の1若しくは複数の組み合わせとして構成されることを特徴とする。 【0018】また、請求項4の発明は、請求項3の発明において、前記追加記録情報と前記削除記録情報と前記変更記録情報は、それぞれ、同一のオブジェクトに対する情報を1つ以内だけ記録することを特徴とする。 【0019】また、請求項5の発明は、請求項3の発明において、前記差分情報は、追加されたオブジェクトが削除された場合に、該オブジェクトの追加記録情報が抹消されることを特徴とする。 【0020】また、請求項6の発明は、請求項3の発明において、前記差分情報は、オブジェクトの移動を該オブジェクトの削除記録情報および追加記録情報で表し、該移動されたオブジェクトが削除された場合に、該オブジェクトの追加記録情報が抹消されることを特徴とする。 【0021】また、請求項7の発明は、請求項3の発明において、前記差分情報は、変更されたオブジェクトが削除された場合に、該オブジェクトの変更記録情報が抹消されることを特徴とする。 【0022】また、請求項8の発明は、請求項1の発明において、前記差分情報は、オブジェクトの追加、削除、移動、変更の情報が記録され、追加、削除、移動、変更の順に差分バックアップ情報として保存されることを特徴とする。 【0023】また、請求項9の発明は、請求項8の発明において、前記差分バックアップ情報は、オブジェクトの追加、削除、移動、変更の順にリストアされることを特徴とする。 【0024】また、請求項10の発明は、全体バックアップを行った後に発生したオブジェクトの操作に基づいて、全体バックアップ情報との差をバックアップする差分バックアップ装置において、受け付けた操作指示に基づいてオブジェクトの操作および管理を行うオブジェクト管理手段と、前記オブジェクト管理手段による操作により前記全体バックアップ情報との間に生じた差を差分情報として記録するとともに、前記差分情報のうちオブジェクトの操作により前記差が打ち消された差分情報を抹消する差分情報記録手段とを具備することを特徴とする。 【0025】また、請求項11の発明は、請求項10の発明において、前記オブジェクト管理手段は、前記オブジェクトに該オブジェクトを識別する識別情報を付与し、前記差分情報記録手段は、前記オブジェクト管理手段により付与された識別情報に基づいて前記差分情報を記録することを特徴とする。 【0026】また、請求項12の発明は、請求項10の発明において、前記差分情報記録手段は、前記オブジェクトの追加記録情報、削除記録情報、変更記録情報の1若しくは複数の組み合わせとして前記差分情報を構成することを特徴とする。 【0027】また、請求項13の発明は、請求項12の発明において、前記差分情報記録手段は、前記追加記録情報と前記削除記録情報と前記変更記録情報とのそれぞれに同一のオブジェクトに対する情報を1つ以内だけ記録することを特徴とする。 【0028】また、請求項14の発明は、請求項12の発明において、前記差分情報記録手段は、追加されたオブジェクトが削除された場合に、該オブジェクトの追加記録情報を抹消することを特徴とする。 【0029】また、請求項15の発明は、請求項12の発明において、前記差分情報記録手段は、オブジェクトの移動を該オブジェクトの削除記録情報および追加記録情報で記録し、該移動されたオブジェクトが削除された場合に、該オブジェクトの追加記録情報を抹消することを特徴とする。 【0030】また、請求項16の発明は、請求項12の発明において、前記差分情報記録手段は、変更されたオブジェクトが削除された場合に、該オブジェクトの変更記録情報を抹消することを特徴とする。 【0031】また、請求項17の発明は、請求項10の発明において、前記差分情報記録手段は、前記差分情報としてオブジェクトの追加、削除、移動、変更の各情報を記録し、該各情報を追加、削除、移動、変更の順に差分バックアップ情報として保存することを特徴とする。 【0032】また、請求項18の発明は、請求項17の発明において、前記差分情報記録手段は、前記差分バックアップ情報をオブジェクトの追加、削除、移動、変更の順にリストアすることを特徴とする。 【0033】 【発明の実施の形態】以下、この発明に係る差分バックアップ方法および装置の一実施の形態について、添付図面を参照して詳細に説明する。 【0034】図1は、この発明を適用するファイリングサービスの基本概念を示した図である。 【0035】ファイリングサービス1は、クライアント2(2−1〜2−n)からの指示に基づいてオブジェクト(画像およびその属性)を保管する。保管するオブジェクトは、その属性に基づいてオブジェクト管理データベース3を用いて管理を行い、画像データを画像データ格納部4に格納する。 【0036】オブジェクト管理データベース3では、オブジェクトに該オブジェクトをユニークに識別できるID情報(識別情報)を付して管理を行うが、このID情報の値を再利用することはない。また、オブジェクト管理データベース3は、ID情報を用いてオブジェクトの親子関係を保存し、これによりオブジェクトの階層構造を表現している。なお、各オブジェクトは、複数の親オブジェクトを持たないものとする。 【0037】まず、オブジェクト管理データベース3によるオブジェクトの管理方法について説明する。オブジェクト管理データベース3は、図2に示す属性テーブル(AttributeTable)31と、階層構造テーブル(HierarchyTable)32、画像ファイルテーブル(ImageFileTable)33により、各オブジェクトを管理している。 【0038】属性テーブル31は、オブジェクトの属性等を示すもので、オブジェクトに付したID情報とオブジェクトの名前、属性等が保存される。階層構造テーブル32は、オブジェクトの親子関係を示すもので、親となるオブジェクトのID情報(以下、親IDと称する)と、その子となるオブジェクトのID情報(以下、子IDと称する)等が保存される。画像ファイルテーブル33は、オブジェクトの実体を示すもので、オブジェクトのID情報と対応する画像ファイル名(画像ファイルは、画像ファイル格納部4に格納されている)等が保存される。 【0039】そして、オブジェクトの追加や削除、移動、変更等の操作があった場合には、属性テーブル31、階層構造テーブル32、画像ファイルテーブル33のそれぞれに保存されている内容を変更することで、オブジェクトの管理が行われる。 【0040】オブジェクトが追加された場合、例えば、ID情報の値が「0010」で名前が「0010」、属性が「ATR10」、対応する画像ファイルが「FILE0010」のオブジェクトが、ID情報の値が「0001」のオブジェクトの子として追加された場合には、図3に示す属性テーブル31−1、階層構造テーブル32−1、画像ファイルテーブル33−1のように、追加されたオブジェクトのID情報等が新たに保存される。 【0041】オブジェクトが削除された場合、例えば、ID情報の値が「0010」で名前が「0010」、属性が「ATR10」、対応する画像ファイルが「FILE0010」で、ID情報の値が「0001」のオブジェクトの子であるオブジェクトが削除された場合には、図4に示す属性テーブル31−2、階層構造テーブル32−2、画像ファイルテーブル33−2のように、削除されたオブジェクトのID情報等が抹消される。 【0042】オブジェクトが移動された場合、例えば、ID情報の値が「0010」で名前が「0010」、属性が「ATR10」、対応する画像ファイルが「FILE0010」で、ID情報の値が「0001」のオブジェクトの子であるオブジェクトが、ID情報の値が「0002」のオブジェクトの子として移動された場合には、図5に示す属性テーブル31−3と画像ファイルテーブル33−3のように、両テーブルには何ら変更は加えられず、同図の階層構造テーブル32−3には、ID情報の値が「0001」のオブジェクトの子である情報が抹消され、新たにID情報の値が「0002」のオブジェクトの子である情報が追加される。 【0043】オブジェクトが変更された場合、例えば、ID情報の値が「0010」で名前が「0010」のオブジェクトの属性が、属性が「ATR0010」に変更された場合には、図6に示す属性テーブル31−4のように、属性情報のみが変更される。また、オブジェクトの変更に際して、対応する画像データが更新された場合は、同図に示す画像ファイルテーブル33−4のように、対応する画像ファイル名も変更される。なお、オブジェクトの変更に際しては、図6に示すように、階層構造テーブル32−4には、変更が加えられない。 【0044】次に、図1に示したファイリングサービス1における差分バックアップ方法について説明する。差分バックアップは、全体のバックアップを行った後に操作された内容を差分情報として記録することで行うが、その差分情報は、図7(a)に示す追加記録テーブル(InsertLogTable)51と、図7(b)に示す削除記録テーブル(DeleteLogTable)52、図7(c)に示す変更記録テーブル(ModifiedLogTable)53に記録される。 【0045】追加記録テーブル51は、オブジェクトが追加された場合に、追加されたオブジェクトのID情報をその親オブジェクトのID情報と併せて記録する。削除記録テーブル52は、オブジェクトが削除された場合に、削除されたオブジェクトのID情報をその親オブジェクトのID情報と併せて記録する。変更記録テーブル53は、オブジェクトが変更された場合に、変更されたオブジェクトのID情報を記録するが、その際に画像データの更新があった場合には、その旨を併せて記録する。 【0046】追加記録テーブル51、削除記録テーブル52、変更記録テーブル53への差分情報の記録は、オブジェクトの追加や削除、移動、変更等の操作があった際に行われる。そこで、オブジェクトの追加、削除、移動、変更の操作があった場合を事例として、以下に差分情報の記録方法を説明する。 【0047】まず、図8および図9を参照して、オブジェクトが追加された際の差分情報の記録について説明する。図8は、オブジェクトが追加された際の差分情報の記録処理の流れを示すフローチャートであり、図9は、オブジェクトが追加された際の差分情報の記録例を示した図である。 【0048】オブジェクトが追加された際には、追加されたオブジェクトのID情報をその親オブジェクトのID情報とともに、追加記録テーブル(ILT)51に記録する(ステップ101)。 【0049】例えば、ID情報が「0010」のオブジェクトが、ID情報が「0001」の子として追加された場合には、追加記録テーブル51は、図9に示す追加記録テーブル51−1の状態から追加記録テーブル51−2の状態に変化する。 【0050】次に、図10乃至12を参照して、オブジェクトが削除された際の差分情報の記録について説明する。図10は、オブジェクトが削除された際の差分情報の記録処理の流れを示すフローチャートであり、図11および図12は、オブジェクトが削除された際の差分情報の記録例を示した図である。 【0051】オブジェクトが削除された際には、まず、削除されたオブジェクトのID情報が、追加記録テーブル(ILT)51に記録されているか否かを調べる(ステップ201)。 【0052】削除されたオブジェクトのID情報が、追加記録テーブル51に記録されていた場合には(ステップ201でYES)、追加記録テーブル51から対応する記録を抹消し(ステップ202)、処理を終了する。追加記録テーブル51にID情報が記録されているオブジェクトは、上述したように全体バックアップの後に新たに追加されたオブジェクトであるか、全体バックアップの後に移動されたオブジェクトである(オブジェクトが移動された場合の差分情報は後述する)。つまり、追加記録テーブル51に記録されているオブジェクトが削除された場合には、差分情報としては、追加されたという記録をキャンセルすることと同意となる。 【0053】例えば、ID情報が「0010」のオブジェクトが削除された際に、追加記録テーブル51が図11(a)に示す追加記録テーブル51−11の状態であった場合、当該オブジェクトは、全体バックアップの後に新たに追加されたオブジェクトであるため、その記録を抹消して追加記録テーブル51−12の状態とする。 【0054】また、ID情報が「0010」のオブジェクトが、ID情報が「0001」の子からID情報が「0002」の子として移動されていた場合には、追加記録テーブル51と削除記録テーブル52の状態が、それぞれ図11(b)に示す追加記録テーブル51−21、削除記録テーブル52−21の状態となっている(詳細は後述する)。この状態で当該オブジェクトが削除された場合には、削除記録テーブル52の状態はそのまま(52−21)で、追加記録テーブル51から当該オブジェクトの記録を抹消して追加記録テーブル51−22の状態とする。これにより、差分情報としては、削除記録テーブル52に記録されていた削除記録のみが残ることになる。 【0055】一方、削除されたオブジェクトのID情報が、追加記録テーブル51に記録されていなかった場合には(ステップ201でNO)、当該オブジェクトのID情報が、変更記録テーブル(MLT)53に記録されているか否かを調べ(ステップ203)、削除されたオブジェクトのID情報が、変更記録テーブル53に記録されていた場合には(ステップ203でYES)、対応する記録を抹消し(ステップ204)、その後、削除記録テーブル(DLT)52に削除されたオブジェクトのID情報を記録する(ステップ205)。また、削除されたオブジェクトのID情報が、変更記録テーブル53に記録されていなかった場合には(ステップ203でNO)、削除記録テーブル(DLT)52に削除されたオブジェクトのID情報を記録する(ステップ205)。 【0056】この場合には、いずれの場合も削除されたオブジェクトのID情報を削除記録テーブル52に記録することになるが、オブジェクトが削除された場合には、そのオブジェクトに対する変更の記録は無意味なものとなってしまうため、変更記録テーブル53に記録がある場合には、その記録を抹消している。 【0057】例えば、ID情報が「0003」のオブジェクトが削除された際に、変更記録テーブル53が図12(a)に示す変更記録テーブル53−31の状態であった場合、当該オブジェクトの変更記録は不要となるため、変更記録テーブル53から該当する記録を抹消して変更記録テーブル53−32にの状態とし、削除記録テーブル52にID情報が「0003」のオブジェクトの削除を記録し、その状態を削除記録テーブル52−31から削除記録テーブル52−32のように変更する。 【0058】また、ID情報が「0004」のオブジェクトが削除された際に、変更記録テーブル53に該当するID情報が記録されていなければ、削除記録テーブル52の状態を図12(b)に示す削除記録テーブル52−31から削除記録テーブル52−32のように変更する。 【0059】次に、図13および図14を参照して、オブジェクトが移動された際の差分情報の記録について説明する。図13は、オブジェクトが移動された際の差分情報の記録処理の流れを示すフローチャートであり、図14は、オブジェクトが移動された際の差分情報の記録例を示した図である。 【0060】オブジェクトが移動された際には、まず、移動されたオブジェクトのID情報が、追加記録テーブル(ILT)51に記録されているか否かを調べる(ステップ301)。 【0061】移動されたオブジェクトのID情報が、追加記録テーブル51に記録されていた場合には(ステップ301でYES)、追加記録テーブル51から対応する記録を抹消し、移動後の記録を新たに追加する(ステップ302)。また、この処理に代えて対応する記録を変更してもよい。追加記録テーブル51にID情報が記録されているオブジェクトは、上述したように全体バックアップの後に新たに追加されたオブジェクトであるか、全体バックアップの後に移動されたオブジェクトである。つまり、追加記録テーブル51に記録されているオブジェクトが移動された場合には、差分情報としては、該当するID情報のオブジェクトが、初めて追加されたという記録と同意となる。 【0062】例えば、ID情報が「0010」のオブジェクトが、ID情報が「0001」のオブジェクトの子からID情報が「0002」のオブジェクト子に移動された際には、追加記録テーブル51の状態は、図14(a)に示す追加記録テーブル51−51から追加記録テーブル51−52に変更される。この処理は、ID情報が「0001」のオブジェクトとの親子関係を抹消し、ID情報が「0002」のオブジェクトとの親子関係を記録したこととなる。 【0063】また、同様の場合に、追加記録テーブル51の状態を図14(b)に示す追加記録テーブル51−61から追加記録テーブル51−62に変更変更してもよい。これは、追加記録テーブル51の記録内容を変更する処理ではあるが、処理の内容としては図14(a)に示したものと同意である。 【0064】一方、移動されたオブジェクトのID情報が、追加記録テーブル51に記録されていなかった場合には(ステップ301でNO)、移動元の情報(旧親子関係)を削除記録テーブル(DLT)52に記録し、移動先の情報(新親子関係)を追加記録テーブル(ILT)51に記録する(ステップ303)。追加記録テーブル51にID情報が記録されていないオブジェクトは、全体バックアップの前から登録されていたオブジェクトであるため、移動元の親子関係を解消した記録と移動先に新たな親子関係が築かれた記録が必要となる。このため、移動したオブジェクトを一度削除して、新たに追加したことと同意となる記録を行う。 【0065】例えば、ID情報が「0018」のオブジェクトが、ID情報が「0001」のオブジェクトの子からID情報が「0002」のオブジェクト子に移動された際には、追加記録テーブル51と削除記録テーブル52は、それぞれ図14(c)に示す追加記録テーブル51−71の状態から追加記録テーブル51−72の状態に、削除記録テーブル52−71の状態から削除記録テーブル52−72の状態に変更される。 【0066】次に、図15および図16を参照して、オブジェクトが変更された際の差分情報の記録について説明する。図15は、オブジェクトが変更された際の差分情報の記録処理の流れを示すフローチャートであり、図16は、オブジェクトが変更された際の差分情報の記録例を示した図である。 【0067】オブジェクトが変更された際には、まず、変更されたオブジェクトのID情報が、追加記録テーブル(ILT)51に記録されているか否かを調べる(ステップ401)。 【0068】変更されたオブジェクトのID情報が、追加記録テーブル51に記録されていた場合には(ステップ401でYES)、差分情報の記録としては何ら処理を行わずに終了する。これは、追加記録テーブル51にID情報が記録されているオブジェクトは、上述したように全体バックアップの後に新たに追加されたオブジェクトであるか、全体バックアップの後に移動されたオブジェクトであるためで、差分情報としては、変更後のオブジェクトが、初めて追加されたという記録と同意となるためである。 【0069】変更されたオブジェクトのID情報が、追加記録テーブル51に記録されていなかった場合には(ステップ401でNO)、当該オブジェクトのID情報が変更記録テーブル(MLT)53に記録されているか否かを調べる(ステップ402)。 【0070】変更されたオブジェクトのID情報が、変更記録テーブル53に記録されていた場合には(ステップ402でYES)、オブジェクトの変更にともない画像データの更新が無ければ(ステップ403でNO)、差分情報の記録としては何ら処理を行わずに終了し、画像データの更新があれば(ステップ403でYES)、変更記録テーブル53に記録されている対象情報を「画像データ更新有り」に変更する(ステップ404)。この処理では、変更されたオブジェクトのID情報が、変更記録テーブル53に記録されていた場合には、改めて変更のあったことを記録しない。これは、一度変更されたオブジェクトが更に変更された場合は、直前の変更が無効となるためである。ただし、オブジェクトの変更に伴って画像データの更新があった場合には、その旨を記録しておく必要がある。 【0071】例えば、ID情報が「0006」のオブジェクトが変更された際に、画像データの更新があれば、変更記録テーブル53は、図16(a)に示す変更記録テーブル53−81の状態から変更記録テーブル53−82の状態に変更される。 【0072】一方、変更されたオブジェクトのID情報が、変更記録テーブル53に記録されていなかった場合には(ステップ402でNO)、変更記録テーブル53に新たに当該オブジェクトの変更を記録する(ステップ405)。このとき、オブジェクトの変更に伴って画像データの更新が有れば、その旨を併せて記録する。この処理は、全体バックアップの際に、既に登録されていたオブジェクトが、最初に変更された場合の処理となる。 【0073】例えば、ID情報が「0008」のオブジェクトが変更された際に、画像データの更新が無ければ、変更記録テーブル53は、図16(b)に示す変更記録テーブル53−91の状態から変更記録テーブル53−92の状態に変更され、画像データの更新が有れば、変更記録テーブル53は、図16(c)に示す変更記録テーブル53−101の状態から変更記録テーブル53−102の状態に変更される。 【0074】さて、これまでは、差分情報の記録について説明してきたが、差分情報を記録した後には、記録した差分情報に基づいてバックアップ処理が行われることになる。 【0075】ここで、差分情報に基づくバックアップ処理について説明する。図17は、バックアップ処理の流れを示すフローチャートである。なお、バックアップ処理の全体の流れとしては、図20を参照して説明した従来の流れと同様であり、図17のフローチャートは、図20のステップ804での処理に該当する。 【0076】さて、ファイリングサービス1の全体バックアップを行った後、運用の開始とともに差分情報の記録を開始する。そして、所定の条件に基づいて記録した差分情報をメディアに記録する際には、まず、追加記録テーブル51と削除記録テーブル52の両者にID情報が記録されているオブジェクト、つまり、移動されたオブジェクトの親子関係の情報をバックアップする(ステップ501)。バックアップする親子関係の情報は、移動元の親オブジェクトのID情報、移動先の親オブジェクトのID情報、移動したオブジェクトのID情報等である。 【0077】次に、削除記録テーブル52の記録に基づいて、削除されたオブジェクトのうち、親子関係が最上位のものを算出し、その親子関係をバックアップする(ステップ502)。最上位のオブジェクトの算出は、削除記録テーブル52に記録されているID情報のうち、追加記録テーブル51には記録が無く、かつ、親としてのID情報は記録されているが子としてのID情報が記録されていないオブジェクトを割り出す。この割り出されたオブジェクトが最上位のオブジェクトである(最上位のオブジェクトは、その親子関係に応じて複数存在する場合もある)。例えば、削除記録テーブル52の記録状態が、図18に示す削除記録テーブル52−111のようであったとすると、各オブジェクトの親子関係は、「0001」>「0010」>「0100」>「1000」となり、最上位のオブジェクトの親子関係は、「0001」>「0010」であることがわかる。実際、削除記録テーブル52−111には、「0001」は、親IDとしてしか記録されていない(上述の説明通り、ID情報「0001」のオブジェクトは、削除されたものではない)。なお、最上位のオブジェクトを算出する際に、追加記録テーブル51にID情報が記録されているオブジェクトを除外しているのは、当該オブジェクトが移動されたオブジェクトであるためである。 【0078】次に、変更記録テーブル53の記録に基づいて、変更されたオブジェクトのデータをバックアップする(ステップ503)。バックアップの対象となるのは、変更記録テーブル53に記録されているID情報と同一のID情報を持つオブジェクトの属性データの全てであって、この際に画像データが更新されているものに対しては、画像データのバックアップも行う。 【0079】最後に、追加記録テーブル51の記録に基づいて、追加されたオブジェクトのデータをバックアップする(ステップ504)。バックアップの対象となるのは、追加記録テーブル51にID情報が記録されているが、削除記録テーブル52にはID情報が記録されていないオブジェクトであり、その属性と親子関係、画像データの全てをバックアップする。なお、削除記録テーブル52にID情報が記録されているオブジェクトを除外しているのは、当該オブジェクトが移動されたオブジェクトであるためである。 【0080】このようにして、差分情報に基づくバックアップが終了すると、記録されていた差分情報を削除し、ファイリングサービス1は、通常の動作に戻る。 【0081】続いて、リストア処理について説明する。図19は、リストア処理の流れを示すフローチャートである。なお、リストア処理の全体の流れとしては、図22を参照して説明した従来の流れと同様であり、図19のフローチャートは、図22のステップ902での処理に該当する。 【0082】リストア処理では、まず、全体バックアップされたものをリストアし、その後、差分情報に基づくリストアを行う。 【0083】差分情報に基づくリストアでは、まず、移動されたオブジェクトをリストアする(ステップ601)。この処理では、バックアップ情報(ステップ501でバックアップされたもの)から、移動されたオブジェクトのID情報を取り出し、これに基づいて、旧親子関係を解消し、新たな親子関係を作成して移動処理を行う。 【0084】このとき、移動先となるオブジェクト、つまり、親オブジェクトが存在せず、移動処理を行うことが不可能であるオブジェクトに対しては(ステップ602でYES)、一時的に別の親オブジェクトの下にその親子関係を待避する(ステップ603)。なお、このようなオブジェクトは、新たに追加されたオブジェクトの下に移動されたオブジェクトである。 【0085】次に、削除されたオブジェクトのリストアを行う(ステップ604)。この処理では、バックアップ情報(ステップ502でバックアップされたもの)から削除されたオブジェクトの最上位のオブジェクトのID情報を取り出し、そのID情報に基づいて親子関係を辿り、そのID情報を持つオブジェクト以下のオブジェクトを全て削除する。この際に、取り出したID情報を持つオブジェクトが存在しなかった場合には、当該オブジェクトは既に削除されたものとみなして、この処理はスキップする。 【0086】次に、変更されたオブジェクトのリストアを行う(ステップ605)。この処理では、バックアップ情報(ステップ503でバックアップされたもの)から変更されたオブジェクトのID情報を取り出し、そのID情報を持つオブジェクトの属性をバックアップ情報に基づいてリストアする。この際に、画像データが更新された旨の記録があれば、画像データの更新を行う。 【0087】続いて、追加されたオブジェクトのリストアを行う(ステップ606)。この処理では、バックアップ情報(ステップ504でバックアップされたもの)から追加されたオブジェクトの親オブジェクトのID情報を取り出し、その子オブジェクトとして追加されたオブジェクトをリストアする。この際に、画像データも併せてリストアする。 【0088】最後に、ステップ603で待避したオブジェクトが存在する場合には(ステップ607でYES)、待避したオブジェクトの親子関係の情報に基づいて、再度、親オブジェクトのID情報の有無を確認した後に、待避したオブジェクトを移動する(ステップ608)。 【0089】このようなリストア処理を、差分バックアップ情報を格納したメディアの数だけ繰り返した後に、ファイリングサービス1の運用を開始する。 【0090】 【発明の効果】以上説明したように、この発明によれば、各種操作により発生する差分情報を順次記録するとともに、無意味となる差分情報を削除してバックアップする、例えば、新たにオブジェクトを追加する操作があった後に当該オブジェクトの削除操作があった場合には、その両者を差分情報から抹消したものをバックアップするように構成したので、バックアップする情報の情報量が少なくなるとともに、バックアップに要する時間が短くなる。 【0091】また、バックアップする情報の情報量が少なった結果、この情報に基づくリストアに要する時間も短縮される。
|
| 【出願人】 |
【識別番号】000005496 【氏名又は名称】富士ゼロックス株式会社
|
| 【出願日】 |
平成12年10月20日(2000.10.20) |
| 【代理人】 |
【識別番号】100071054 【弁理士】 【氏名又は名称】木村 高久
|
| 【公開番号】 |
特開2002−132561(P2002−132561A) |
| 【公開日】 |
平成14年5月10日(2002.5.10) |
| 【出願番号】 |
特願2000−321099(P2000−321099) |
|