(57)【特許請求の範囲】
【請求項１】
複数の文書データを管理する文書管理システムであって、
前記複数の文書データに含まれる２つの文書データについて、各文書データの間の差分情報を生成する差分情報生成手段と、
前記複数の文書データの中から代表文書の候補となる少なくとも一つの代表文書候補データを含む代表文書候補グループを選択する代表文書候補選択手段と、
前記代表文書候補グループに含まれない代表文書候補外データのそれぞれについて、前記代表文書候補データとの間の差分情報のデータ量を表す値が最も少なくなるような前記代表文書候補データを、前記代表文書候補外データに対応づける対応代表文書候補決定手段と、
前記各代表文書候補データのデータ量を表す値と、前記各代表文書候補外データに対応する前記差分情報のデータ量を表す値と、の合計値が最も少なくなるような前記代表文書候補グループを、代表文書グループとして決定する代表文書決定手段と、
前記代表文書グループに含まれる代表文書データの情報と、前記代表文書グループに含まれない代表文書外データのそれぞれに対応する前記代表文書データとの間の差分情報と、を記録する文書データ記録手段と、
を含むことを特徴とする文書管理システム。
【請求項２】
請求項１に記載の文書管理システムにおいて、
前記文書データに含まれる各行を、所定の文書区切り位置に基づいて少なくとも一つの文要素に分割する文書分割手段をさらに含み、
前記差分情報生成手段は、各文書データのそれぞれの前記文要素を比較することで差分情報を生成することを特徴とする文書管理システム。
【請求項３】
複数の文書データに含まれる２つの文書データについて、各文書データの間の差分情報を生成する差分情報生成手段、
前記複数の文書データの中から代表文書の候補となる少なくとも一つの代表文書候補データを含む代表文書候補グループを選択する代表文書候補選択手段、
前記代表文書候補グループに含まれない代表文書候補外データのそれぞれについて、前記代表文書候補データとの間の差分情報のデータ量を表す値が最も少なくなるような前記代表文書候補データを、前記代表文書候補外データに対応づける対応代表文書候補決定手段、
前記各代表文書候補データのデータ量を表す値と、前記各代表文書候補外データに対応する前記差分情報のデータ量を表す値と、の合計値が最も少なくなるような前記代表文書候補グループを、代表文書グループとして決定する代表文書決定手段、及び
前記代表文書グループに含まれる代表文書データの情報と、前記代表文書グループに含まれない代表文書外データのそれぞれに対応する前記代表文書データとの間の差分情報と、を記録する文書データ記録手段、
としてコンピュータを機能させるための文書管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の文書データを管理する文書管理システム、文書管理方法及び文書管理プログラムに関する。
【背景技術】
【０００２】
文書データを長期的に保管する文書管理システムにおいては、有限の記憶領域にできる限り多くの文書データを記憶させるために、文書を登録する際に既存の文書データとの差分を抽出して得られた差分情報のみを記録することで、文書データを保管するために必要な記憶領域を節約する技術がある（例えば、特許文献１及び２参照）。
【特許文献１】特開平０４‐１１１０５３号公報
【特許文献２】特開平０６‐３１８２０２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、上記従来例の技術においては、順次文書データを追加して登録する場合に追加する文書データを差分情報として記録するので、差分情報として一旦登録された文書データについては、たとえその後に新たに追加された文書データに対する差分として保管したほうが差分情報のデータ量が少なくなる場合であっても、差分をとる対象となる文書データの見直しは行われない。そのため、差分をとる対象として望ましい文書データが選択されず、差分情報のデータ量が必要以上に大きくなってしまい、文書データ保管の効率がよくない場合がある。
【０００４】
また、特許文献１の技術においては差分情報の生成は文章の構文解析によって行われるが、明らかに２つの文書データに同じ文章が含まれている場合も構文解析を行うなど、処理が複雑になる場合がある。一方で、単に行単位で文章を比較する場合、似通った文章であっても僅かな差異があれば当該行を全て保管するため、差分情報が必要以上に大きくなってしまう場合がある。
【０００５】
本発明は上記実情に鑑みてなされたものであって、その目的の一つは、複数の文書データを記録する場合に、効率よく記録できる文書管理システム、文書管理方法及び文書管理プログラムを提供することにある。
【０００６】
また、本発明の他の目的は、文書データの差分情報を生成して保管する場合に、簡易な処理で効率のよい差分情報を生成できる文書管理システム、文書管理方法及び文書管理プログラムを提供することにある。
【課題を解決するための手段】
【０００７】
上記課題を解決するための本発明に係る文書管理システムは、複数の文書データを管理する文書管理システムであって、前記複数の文書データに含まれる２つの文書データについて、各文書データの間の差分情報を生成する差分情報生成手段と、前記複数の文書データの中から代表文書の候補となる少なくとも一つの代表文書候補データを含む代表文書候補グループを選択する代表文書候補選択手段と、前記代表文書候補グループに含まれない代表文書候補外データのそれぞれについて、前記代表文書候補データとの間の差分情報のデータ量を表す値が最も少なくなるような前記代表文書候補データを、前記代表文書候補外データに対応づける対応代表文書候補決定手段と、前記各代表文書候補データのデータ量を表す値と、前記各代表文書候補外データに対応する前記差分情報のデータ量を表す値と、の合計値が最も少なくなるような前記代表文書候補グループを、代表文書グループとして決定する代表文書決定手段と、前記代表文書グループに含まれる代表文書データの情報と、前記代表文書グループに含まれない代表文書外データのそれぞれに対応する前記代表文書データとの間の差分情報と、を記録する文書データ記録手段と、を含むことを特徴とする。
【０００８】
これにより、本発明に係る文書管理システムは、代表文書データを保管対象となる文書データの中から適切に選択することで差分情報のデータ量を必要最小限に抑えることができ、複数の文書データを記録する場合に、効率よく記録できる。
【０００９】
ここで、上記文書管理システムは、前記文書データに含まれる各行を、所定の文書区切り位置に基づいて少なくとも一つの文要素に分割する文書分割手段をさらに含み、前記差分情報生成手段は、各文書データのそれぞれの前記文要素を比較することで差分情報を生成することとしてもよい。
【００１０】
また、本発明に係る他の文書管理システムは、複数の文書データを管理する文書管理システムであって、前記文書データに含まれる各行を、所定の文書区切り位置に基づいて少なくとも一つの文要素に分割する文書分割手段と、前記複数の文書データに含まれる２つの文書データについて、各文書データの間で前記文要素を比較することで差分情報を生成する差分情報生成手段と、前記差分情報に基づいて前記各文書データを記録する文書データ記録手段と、を含むことを特徴とする。
【００１１】
これにより、本発明に係る文書管理システムは、文書データの各行を所定の文書区切り位置により分割することで、差分情報を生成する単位となる文要素を容易に取得でき、簡易な処理で効率のよい差分情報を生成できる。
【００１２】
また、本発明に係る文書管理方法は、コンピュータを用いて、複数の文書データを管理する文書管理方法であって、前記複数の文書データに含まれる２つの文書データについて、各文書データの間の差分情報を生成するステップと、前記複数の文書データの中から代表文書の候補となる少なくとも一つの代表文書候補データを含む代表文書候補グループを選択するステップと、前記代表文書候補グループに含まれない代表文書候補外データのそれぞれについて、前記代表文書候補データとの間の差分情報のデータ量を表す値が最も少なくなるような前記代表文書候補データを、前記代表文書候補外データに対応づけるステップと、前記各代表文書候補データのデータ量を表す値と、前記各代表文書候補外データに対応する前記差分情報のデータ量を表す値と、の合計値が最も少なくなるような前記代表文書候補グループを、代表文書グループとして決定するステップと、前記代表文書グループに含まれる代表文書データの情報と、前記代表文書グループに含まれない代表文書外データのそれぞれに対応する前記代表文書データとの間の差分情報と、を記録するステップと、を含むことを特徴とする。
【００１３】
また、本発明に係る文書管理プログラムは、複数の文書データを管理する文書管理プログラムであって、前記複数の文書データに含まれる２つの文書データについて、各文書データの間の差分情報を生成する差分情報生成手段、前記複数の文書データの中から代表文書の候補となる少なくとも一つの代表文書候補データを含む代表文書候補グループを選択する代表文書候補選択手段、前記代表文書候補グループに含まれない代表文書候補外データのそれぞれについて、前記代表文書候補データとの間の差分情報のデータ量を表す値が最も少なくなるような前記代表文書候補データを、前記代表文書候補外データに対応づける対応代表文書候補決定手段、前記各代表文書候補データのデータ量を表す値と、前記各代表文書候補外データに対応する前記差分情報のデータ量を表す値と、の合計値が最も少なくなるような前記代表文書候補グループを、代表文書グループとして決定する代表文書決定手段、及び前記代表文書グループに含まれる代表文書データの情報と、前記代表文書グループに含まれない代表文書外データのそれぞれに対応する前記代表文書データとの間の差分情報と、を記録する文書データ記録手段、としてコンピュータを機能させることを特徴とする。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の好適な実施の形態について、図面を参照しながら説明する。
【００１５】
本発明の実施の形態に係る文書管理システムは、図１に示すように、制御部１１、記憶部１２、操作部１３及び表示部１４を含んで構成されている。
【００１６】
ここで、制御部１１は、例えばＣＰＵ等であり、記憶部１２に格納されているプログラムに従って動作する。本実施の形態においては、制御部１１は複数の文書データの中から代表文書データを選択するとともに、代表文書データ以外の各文書データについて代表文書データのいずれかに対する差分情報を生成することで、複数の文書データを記録する処理を行う。制御部１１が実行する処理の内容については、後に詳しく述べる。
【００１７】
記憶部１２は、ＲＡＭやＲＯＭ等のメモリ素子とディスクデバイス等との少なくとも一方を含んで構成されている。この記憶部１２には、制御部１１によって実行されるプログラムや本実施の形態において処理の対象となる文書データなどが格納されている。また、記憶部１２は、制御部１１のワークメモリとしても動作する。
【００１８】
操作部１３は、キーボードやマウス等であり、利用者の指示操作を受け付けて、当該指示操作の内容を制御部１１に出力する。表示部１４は、ディスプレイ等であり、制御部１１からの指示に従って、情報の表示を行う。
【００１９】
本発明の実施の形態に係る文書管理システムは、機能的には、図２に示すように、文書分割部２１、差分情報生成部２２、代表文書選択部２３、文書データ記録部２４及び文書データ復元部２５を含んで構成されている。これらの機能は、制御部１１が記憶部１２に格納されたプログラムを実行することにより実現できる。
【００２０】
文書分割部２１は、本実施の形態に係る文書管理システムによる保管の対象となる各文書データについて、その各行を所定の文書区切り位置に基づいて文要素に分割する。文書分割部２１により得られる分割文書データは差分情報生成部２２が差分情報を生成するために用いるが、差分情報の生成方法によっては各行を分割する必要はないため、この場合文書分割部２１はなくともよい。
【００２１】
具体的に、文書分割部２１は、文書データの各行から文書区切り位置を検索し、当該文書区切り位置に例えば改行コードを挿入することで、各行を分割する。文書区切り位置は、例えば「。」や「、」や「．」などの句読点のある位置であってもよいし、対象とする文書データの内容によっては、「／」や空白文字などの所定の記号や文字列のある位置であってもよい。また、所定の値ｎに基づいて、各行の行頭からｎ文字目の位置を文書区切り位置としてもよい。なお、句読点などの位置を文書区切り位置として文書データを分割する場合、文書データに含まれる改行コードを最初に削除したうえで、文書区切り位置に改行コードを挿入することで各行を分割する。あるいは、改行コードはそのまま残して、各行の行末にある句読点や所定の記号は文書区切り位置とはみなさないこととすることで、各行を分割してもよい。句読点のある位置を文書区切り位置とした場合、例えば「Ａ社が開発した、プログラミング言語。」という文章は、「Ａ社が開発した、」と「プログラミング言語。」という２つの文要素に分割される。これにより、文書分割部２１は、簡易な処理で、文書データの内容を他の文書データと共通する可能性が高い意味的にまとまりのある文要素に分割することができる。なお、文書区切り位置のない行については、分割されず行全体が一つの文要素となる。各行を分割して得られる分割文書データは、一つの文要素が一つの行で表されるデータとなる。
【００２２】
また、文書分割部２１は、分割文書データとともに、元の文書データの各行の行頭の位置情報を表すデータを行頭位置情報データとして生成する。この行頭位置情報データは、分割文書データを文書データ復元部２５が元の文書データに復元する際に用いられる。ここで、行頭位置の情報は、文字数やバイト数などにより表され、分割文書データを生成する際に削除する改行コードは文字数やバイト数に含めないこととする。
【００２３】
差分情報生成部２２は、保管対象となる文書データに含まれる２つの文書データについて、当該２つの文書データ間でデータ内容の異なる部分を検出して差分情報を生成する。差分情報を生成する方法として、ここでは文書分割部２１が生成した分割文書データを用いることとする。
【００２４】
文書分割部２１が生成した分割文書データは、各行が分割した一つの文要素に対応する文書データである。そこで、差分情報生成部２２が分割文書データを用いて差分情報を生成する場合には、２つの文書データからそれぞれ生成された分割文書データに対して、その各行を比較することで、内容の異なる行の位置と内容を差分情報データとして生成する。この各行を比較して差分情報を生成する処理は、例えばＵＮＩＸ（登録商標）のシステムにおけるdiffコマンドに相当する機能などにより、実現できる。
【００２５】
また、差分情報生成部２２は、併せて差分情報データのデータ量を表す値である差分値を算出する。差分値は、具体的には差分情報データのデータ容量であってもよいし、差分情報データに含まれる２つの分割文書データから得られた内容の異なる行の行数や文字数であってもよい。
【００２６】
代表文書選択部２３は、差分情報生成部２２が生成した差分情報を用いて、保管対象となる複数の文書データの中から差分情報生成の対象とする少なくとも一つの代表文書データを選択する。また、代表文書データ以外の文書データである代表文書外データのそれぞれについて、差分情報を保持する対象となる対応する代表文書データ（対応代表文書データ）を選択する。これにより、代表文書選択部２３は、保管対象となる全ての文書データについて、当該文書データが代表文書データであるか、もしくは当該文書データが代表文書外データであれば対応代表文書データはどれか、を決定することとなる。ここで、代表文書選択部２３は、全ての文書データを復元するために保管すべき差分情報のデータ量が少なくなるように、代表文書データ及び各対応代表文書データを選択する。代表文書選択部２３が代表文書データを選択する処理の詳細については、後に説明する。
【００２７】
文書データ記録部２４は、保管対象となる文書データの内容を復元するために必要な文書データに関する情報を、記憶部１２に記録する。具体的に文書データ記録部２４が記録するのは、代表文書データについては当該文書データに対する分割文書データ及び行頭位置情報データであり、代表文書外データについては差分情報データ、対応代表文書データを特定するための文書識別子、及び行頭位置情報データである。これにより、代表文書選択部２３が代表文書データとして選択した文書データについては、その全文が文書データ記録部２４により記録される。また、代表文書外データについては、代表文書選択部２３が対応代表文書データとして選択した文書データに対する差分情報のみが文書データ記録部２４により記録され、文書データの全部は必ずしも記憶されない。
【００２８】
文書データ復元部２５は、ユーザの操作部１３に対する指示操作等に基づいて、文書データ記録部２４が記録した情報から文書データの復元を行い、その結果を出力する。具体的には、復元すべき文書データが代表文書データである場合には、文書データ記録部２４が記録した分割文書データから改行コードを削除し、行頭位置情報データに基づいて本来あった位置に改行コードを挿入することにより元の文書データを復元する。復元すべき文書データが代表文書外データの場合には、文書データ記録部２４が記録した差分情報データと、当該文書データの対応代表文書データに対する分割文書データの内容に基づいて、元の文書データに対する分割文書データの内容を復元する。そして、この分割文書データと行頭位置情報データに基づいて、代表文書データの場合と同様の処理により、元の文書データを復元する。
【００２９】
以下では、本実施の形態に係る文書管理システムを用いて代表文書データを決定し、代表文書データ及び差分情報データを記録する場合の例について、図３のフロー図に基づいて説明する。ここでは、例として図４に示す文書Ｂ１から文書Ｂ５までの５つの文書データが保管対象であるとする。また、それぞれの文書データの文書識別子は１から５までの数字であるとする。
【００３０】
まず、文書分割部２１が、保管対象となる５つの文書データのそれぞれについて、行頭位置情報データを生成する（Ｓ１）。具体的には、例えば文書Ｂ１については、行頭位置情報データとして、０バイト目、５０バイト目、１０８バイト目というデータを生成する。続いて、文書分割部２１は、保管対象となる全ての文書データを、文書区切り位置に基づいて文要素に分割する（Ｓ２）。これにより、文書Ｂ１から文書Ｂ５までの５つの文書データに応じて、図５に示すような分割文書データＣ１からＣ５までの５つの分割文書データが得られる。
【００３１】
次に、差分情報生成部２２が、保管対象となる文書データに含まれる２つの文書データの組について、差分情報を生成する（Ｓ３）。ここで、差分情報生成部２２は、保管対象となる文書データから２つの文書データを選ぶ全ての組み合わせについて、分割文書データの各行を比較して内容の異なる行の位置と内容を抽出することにより、差分情報を生成する。ここでは保管対象となる文書データは５つあるので、５Ｃ２＝１０により１０個の文書データの組み合わせについて差分情報の生成を行う。
【００３２】
Ｓ３の処理の結果得られたそれぞれの文書データの組に対する差分情報データの内容と差分値は、記憶部１２に一時的に保持される。なお、ここでは差分値として２つの文書データに含まれる内容の異なる行の行数を用いることとする。ここで、ｉ，ｊを文書識別子を表す１から５までの整数とし、分割文書データＣｉ及びＣｊの差分をとることにより得られる差分情報データをＤＩｉ，ｊ，差分値をＤＬｉ，ｊと表すとする。例えば差分情報生成部２２が差分情報をdiffコマンドにより生成する場合、ＤＩ１，２はＣ１とＣ２が一致するので空データとなり、ＤＩ３，４の内容は図６に示すようなものになる。ここで、１行目の「1c1」は内容の一致しない行の位置を表しており、分割文書データＣ３の１行目と分割文書データＣ４の１行目の内容が異なることを表している。この場合、Ｃ３とＣ４の間で内容の異なる行は２行あるので、差分値はＤＬ３，４＝２となる。
【００３３】
差分情報が生成されると、次に代表文書選択部２３が、Ｓ４からＳ８までの処理により代表文書データを選択する。まず、代表文書選択部２３は、保管対象となる文書データの中から代表文書データの候補となる代表文書候補データを選択する（Ｓ４）。ここで、選択された代表文書候補データをまとめて代表文書候補グループとする。代表文書候補グループに含まれる代表文書候補データの数は、１から全文書データ数までの値を取りうる。ただし、代表文書候補データの数の上限を、所定の数又は全文書データ数に対して所定の割合以下の数としてもよい。
【００３４】
Ｓ４の処理において代表文書選択部２３は、可能な全ての文書データの組み合わせを順に代表文書候補グループとして選択する。すなわち、第１回目のＳ４の処理においては、例えば文書Ｂ１のみを含むグループを代表文書候補グループとして選択し、この代表文書候補グループに対してＳ５からＳ７までの処理を行う。第２回目のＳ４の処理においては、文書Ｂ２のみを含むグループを代表文書候補グループとして選択し、同様の処理を行う。これを、全ての可能な代表文書候補グループについて行うことで、一つの代表文書グループを決定する。ここでは５つの文書データの中から１乃至５の文書を代表文書候補データとして選択するので、５Ｃ１＋５Ｃ２＋５Ｃ３＋５Ｃ４＋５Ｃ５＝３１により、代表文書選択部２３は代表文書候補グループとして３１通りの文書データの組み合わせをそれぞれ選択し、それぞれの代表文書候補グループについてＳ５からＳ７までの処理を繰り返して、３１の代表文書候補グループの中から１の代表文書グループを決定する。
【００３５】
代表文書候補グループを選択すると、代表文書選択部２３は、代表文書候補グループに含まれない代表文書候補外データのそれぞれについて、代表文書候補データの中から差分情報を保管する対象とする文書データを対応代表文書候補データとして一つ選択し、対応づける（Ｓ５）。具体的には、例えばＳ４の処理において代表文書候補データとして文書Ｂ１及びＢ３を選択している場合、代表文書選択部２３は、代表文書候補外データである文書Ｂ２，Ｂ４及びＢ５の３つの文書データのそれぞれについて、Ｂ１及びＢ３のいずれかを対応代表文書候補データとして選択する。ここで、対応代表文書候補データの選択は、差分情報生成部２２が生成した差分情報に基づいて行う。例えば、文書Ｂ２に対応する対応代表文書候補データを選択する場合は、文書Ｂ２と文書Ｂ１との間の差分情報データの差分値ＤＬ１，２と、文書Ｂ２と文書Ｂ３との間の差分情報データの差分値ＤＬ２，３とを比較し、より差分値の小さい文書データを文書Ｂ２の対応代表文書候補データとする。ここではＤＬ１，２＝０、ＤＬ２，３＝６なので、文書Ｂ２の対応代表文書候補データは文書Ｂ１となる。同様にして、文書Ｂ４の対応代表文書候補データは文書Ｂ３となる。また、文書Ｂ５についてはＤＬ１，５＝ＤＬ３，５＝５となり、差分値はどの代表文書候補データについても等しくなるため、どちらを対応代表文書候補データとしてもよい。ここでは文書識別子の若い文書Ｂ１を対応代表文書データとする。
【００３６】
続いて、代表文書選択部２３は、Ｓ４の処理により選択した代表文書候補データの情報と、Ｓ５の処理により決定した代表文書候補外データについての対応代表文書データの情報とに基づいて、文書データの保管に必要なデータ量を表す値の算出を行う（Ｓ６）。具体的には、全ての代表文書候補データについての分割文書データの行数と、全ての代表文書候補外データについての対応代表文書候補データに対する差分情報の差分値と、を合計した値を算出する。前述の代表文書候補データとして文書Ｂ１及びＢ３を選択した場合の例においては、文書Ｂ１に対する分割文書データＣ１の行数３、文書Ｂ３に対する分割文書データＣ３の行数３、文書Ｂ２の対応代表文書候補データＢ１に対する差分値０、文書Ｂ４の対応代表文書候補データＢ３に対する差分値２、及び文書Ｂ５の対応代表文書候補データＢ１に対する差分値５を全て合計することで、データ量を表す値として１３を得る。
【００３７】
なお、ここでは文書データの保管に必要なデータ量を表す値として、分割文書データの行数を用いたが、これに代えて分割文書データの文字数やデータ容量を用いてもよい。この場合、Ｓ３の処理において算出する差分値も、文字数又はデータ容量を単位として算出する。
【００３８】
次に、代表文書選択部２３は、Ｓ６の処理で算出したデータ量を表す値を現在代表文書グループとして仮決定している代表文書候補グループについて算出した値と比較し、比較結果に基づいて代表文書グループとして仮決定したグループを更新する（Ｓ７）。具体的には、まず第１回目の処理においてはまだ代表文書グループとして仮決定した代表文書候補グループはないので、現在の代表文書候補グループをそのまま代表文書グループとして仮決定するとともに、Ｓ５の処理により決定した代表文書候補外データに対する対応代表文書候補データの情報、及びＳ６の処理により算出したデータ量を表す値の合計値を一時データとして記憶する。第２回目以降の処理においては、代表文書グループとして仮決定している代表文書候補グループについて算出したデータ量を表す値と、現在の代表文書候補グループに対してＳ６の処理により算出したデータ量を表す値とを比較し、現在の代表文書候補グループの値の方が小さければ、現在の代表文書候補グループを代表文書グループとして仮決定するように変更する。この処理を全ての代表文書候補グループについて繰り返すことにより、代表文書選択部２３はデータ量を表す値が最も小さくなる代表文書候補グループを代表文書グループとして決定できる。
【００３９】
Ｓ７までの処理が終わると、代表文書選択部２３は全ての選択可能な代表文書候補グループについてＳ４からＳ７までの繰り返し処理を実行したか否か判定する（Ｓ８）。まだ全ての代表文書候補グループについて繰り返し処理を実行していなければ、Ｓ４に戻って処理を続行する。全ての代表文書候補グループについて繰り返し処理を終えると、現在Ｓ７の処理において代表文書グループとして仮決定している代表文書候補グループを代表文書グループとして最終的に決定し、Ｓ９の処理に進む。ここでは代表文書候補グループとして３１個のグループを選択できるので、繰り返し処理を３１回実行すると次のＳ９の処理に進むことになる。このとき、代表文書グループは文書Ｂ１，Ｂ３及びＢ５を含むグループであり、文書Ｂ２に対する対応代表文書データは文書Ｂ１、文書Ｂ４に対する対応代表文書データは文書Ｂ３となる。
【００４０】
代表文書選択部２３が代表文書グループを決定すると、文書データ記録部２４が、保管対象となる全ての文書データを復元するために必要な文書データに関する情報を記憶部１２に記録する（Ｓ９）。記録する情報は、各文書データについての行頭位置情報データと、代表文書データについては分割文書データ、代表文書外データについては対応代表文書データの文書識別子と、対応代表文書データとの間の差分情報データである。ここでは、代表文書データである文書Ｂ１，Ｂ３及びＢ５のそれぞれについては対応する分割文書データＣ１，Ｃ３及びＣ５、代表文書外データの文書Ｂ２については対応代表文書データＢ１の文書識別子１及び文書Ｂ１との間の差分情報データＢＩ１，２、代表文書外データの文書Ｂ４については対応代表文書データＢ３の文書識別子３及び文書Ｂ３との間の差分情報データＢＩ３，４が記録する対象となる。図７は、上述した例において文書データ記録部２４が記録する情報を文書データベースに格納した場合の例を表す図である。なお、ここでは保管対象データとして、代表文書データについては当該文書データの分割文書データ、代表文書外データについては対応代表文書データに対する差分情報データを共通のレコードに記録している。また、代表文書データについては自分自身の文書識別子を対応代表文書データの識別子として記録することで、代表文書データか代表文書外データかの識別を可能としている。
【００４１】
次に、本実施の形態に係る文書管理システムを用いて、前述の例により記録した文書データを復元する場合の例について、図８のフロー図に基づいて説明する。
【００４２】
まず、ユーザが操作部１３に対する指示操作等により、復元する対象となる文書データ（復元対象データ）を指定する（Ｓ１１）。復元対象データが指定されると、文書データ復元部２５は、図７に示す文書データベースを参照し、復元対象データに対応づけられた対応代表文書データの文書識別子を取得する（Ｓ１２）。
【００４３】
次に、文書データ復元部２５は、Ｓ１２により取得した文書識別子が復元対象データの文書識別子と等しいか否かを判定する（Ｓ１３）。文書識別子が等しければ復元対象データは代表文書データであることになり、文書識別子が異なれば復元対象データは代表文書外データである。
【００４４】
Ｓ１３の処理により文書識別子が等しいと判定した場合、文書データ復元部２５は文書データベースを参照して復元対象データについての保管対象データを取得する（Ｓ１４）。ここで、保管対象データは復元対象データについての分割文書データそのものである。
【００４５】
一方、Ｓ１３の処理により文書識別子が等しくないと判定した場合、文書データ復元部２５は文書データベースを参照して復元対象データについての保管対象データと、対応代表文書データについての保管対象データとを取得する（Ｓ１５）。ここで、復元対象データについての保管対象データは差分情報データであり、対応代表文書データについての保管対象データは分割文書データである。次いで、文書データ復元部２５は、取得した対応代表文書データの分割文書データと差分情報データとに基づいて、復元対象データに対する分割文書データを復元する（Ｓ１６）。
【００４６】
次に、文書データ復元部２５は、Ｓ１４の処理又はＳ１６の処理により得られた復元対象データに対する分割文書データに基づいて、元の文書データを復元する（Ｓ１７）。具体的には、まず分割文書データから全ての改行コードを削除する。そして、文書データベースから取得した復元対象データについての行頭位置情報データに基づいて、行頭位置の手前に改行コードを挿入する。あるいは、分割文書データから全ての改行コードを削除する処理に代えて、行頭位置情報データにより表される行頭位置以外の位置にある改行コードのみを削除することにより、元の文書データを復元してもよい。これにより、文書データ復元部２５は元の文書データの内容を復元し、その結果を出力する。
【００４７】
以上説明した本実施の形態によれば、保管対象となる文書データの中から望ましい代表文書データを選択することで、差分情報のデータ量を必要最小限に抑えることができ、複数の文書データを記録する場合に効率よく記録できる。また、文書区切り位置に基づいて文書データ中の各行を文要素に分割した上で差分情報を生成することで、簡易な処理で効率のよい差分情報を生成できる。
【図面の簡単な説明】
【００４８】
【図１】本発明の実施の形態に係る文書管理システムの概略の構成を表すブロック図である。
【図２】本発明の実施の形態に係る文書管理システムの機能を表す機能ブロック図である。
【図３】本発明の実施の形態に係る文書管理システムによって実行される文書データを記録する処理の一例を示すフロー図である。
【図４】本発明の実施の形態に係る文書管理システムによる処理の対象となる文書データの一例を表す図である。
【図５】文書分割部２１が生成する分割文書データの一例を表す図である。
【図６】差分情報生成部２２が生成する差分情報データの一例を表す図である。
【図７】文書データ記録部２４が記録する文書データに関する情報の一例を表す図である。
【図８】本発明の実施の形態に係る文書管理システムによって実行される文書データを復元する処理の一例を示すフロー図である。
【符号の説明】
【００４９】
１１  制御部、１２  記憶部、１３  操作部、１４  表示部、２１  文書分割部、２２  差分情報生成部、２３  代表文書選択部、２４  文書データ記録部、２５  文書データ復元部。
【図１】
0004752388.tif 000002
【図２】
0004752388.tif 000003
【図３】
0004752388.tif 000004
【図４】
0004752388.tif 000005
【図５】
0004752388.tif 000006
【図６】
0004752388.tif 000007
【図７】
0004752388.tif 000008
【図８】
0004752388.tif 000009