(57)【要約】【課題】  順序性を持つ情報からなる情報群のデータ変更を，多数の差分情報であっても処理負担を抑制して実行できるようにする。【解決手段】  差分情報抽出部１３は，第１データ群から変更元位置と変更結果位置を得て該当する範囲の差分情報を抽出する。合成対象設定部１５は，順序位置がより先頭に近い差分情報を取り出して前の合成対象に，その次の差分情報を後の合成対象に設定する。  合成差分情報生成部１７は，所定の差分情報合成規則に従って，前の合成対象の対を後の合成対象の差分情報と合成し合成差分情報を生成し，前の合成対象の次の次に位置する差分情報が存在する間はこの合成処理を繰り返し，当該次の次に位置する差分情報が存在しなければ，後の合成対象の差分情報の未処理の対を合成差分情報に追加し，データ変更部１１は，第２データ群から変更元順序位置のデータを取得して合成差分情報による操作を行いデータを変更する。【選択図】  図１
2009086853.tif 000002
【特許請求の範囲】
【請求項１】
データが直列の順序性を持って構成されるデータ群におけるデータ変更情報を用いて順序位置が異なるデータ間の差分情報を生成するデータ合成処理装置であって，
前記データ群を各データの直列の順序性を保持して記憶する第１データ群記憶部と，
前記データ群の各データに対する操作および当該操作対象となった項目の対が記録された差分情報を記憶する差分情報記憶部と，
前記データ群から変更元に指定されたデータの順序位置と，変更結果に指定されたデータの順序位置の入力を受け付けて，当該変更元から当該変更結果までの順序位置間のデータに対する差分情報全てを前記差分情報記憶部から抽出する差分情報抽出部と，
前記抽出された複数の差分情報から，順序位置がより先頭に近い差分情報を取り出して前の合成対象に設定し，当該前の合成対象である差分情報の次の差分情報を後の合成対象に設定する合成対象設定部と，
予め用意された，前の合成対象での操作と後の合成対象での操作と関係にもとづいて合成後の対となる操作および対象を特定する規則を示す差分情報合成規則に従って，前記前の合成対象の差分情報の対を前記後の合成対象の差分情報と合成し，合成差分情報を生成する合成差分情報生成部とを備え，
前記合成差分情報生成部による前記前の合成対象の差分情報のすべての対の処理終了後に，前記合成対象設定部は，前の合成対象の次の次に位置する差分情報が存在する場合に，前記前の合成対象の次の次に位置する差分情報を後の対象に設定し，かつ当該後の合成対象の一つ前に位置する合成対象の対のうち前記合成差分情報生成部による処理がなされていない対および前記合成差分情報を前の合成対象に設定し，前の合成対象の次の次に位置する差分情報が存在しない場合に，前および後の合成対象の設定を停止し，
前記合成差分情報生成部は，前記前の合成対象となった差分情報の未処理の対および合成差分情報の全ての対を前記後の合成対象の差分情報と合成して合成差分情報を生成し，当該前の合成対象である差分情報の次の次に位置する差分情報が存在しないときは，生成した合成差分情報に前記後の合成対象の差分情報の未処理の対を追加する
ことを特徴とするデータ合成処理装置。
【請求項２】
前記データ群の射影であり，同じ順序性を保持するデータで構成される第２データ群を記憶する第２データ群記憶部と，
前記変更元の順序位置に該当する前記第２のデータ群のデータを取得し，当該取得したデータに対し，前記合成差分情報の操作を行って，前記変更結果となるデータを生成するデータ変更部とを備える
ことを特徴とする請求項１に記載のデータ合成処理装置。
【請求項３】
前記差分情報合成規則は，対の操作として追加操作，削除操作，移動操作および更新操作を設定し，前記前の合成対象の操作の対象が後の合成対象の操作の対象である場合に，当該前の合成対象の操作と後の合成対象の操作の組み合わせにもとづいて，前記合成後の対となる操作および対象を特定する規則である
ことを特徴とする請求項１または請求項２に記載のデータ合成処理装置。
【請求項４】
データが直列の順序性を持って構成されるデータ群を記憶する第１データ群記憶部と，前記データ群の各データに対する操作および当該操作対象となった項目の対が記録された差分情報を記憶する差分情報記憶部とを備えるコンピュータに，
前記データ群から変更元に指定されたデータの順序位置と，変更結果に指定されたデータの順序位置の入力を受け付けて，当該変更元から当該変更結果までの順序位置間のデータに対する差分情報全てを前記差分情報記憶部から抽出する処理と，
前記抽出された複数の差分情報から，順序位置がより先頭に近い差分情報を取り出して前の合成対象に設定し，当該前の合成対象である差分情報の次の差分情報を後の合成対象に設定する処理と，
予め用意された，前の合成対象での操作と後の合成対象での操作と関係にもとづいて合成後の対となる操作および対象を特定する規則を示す差分情報合成規則に従って，前記前の合成対象の差分情報の対を前記後の合成対象の差分情報と合成し，合成差分情報を生成する処理と，
前記前の合成対象の差分情報のすべての対の処理終了後に，前の合成対象の次の次に位置する差分情報が存在する場合に，前記前の合成対象の次の次に位置する差分情報を後の対象に設定し，かつ当該後の合成対象の一つ前に位置する合成対象の対のうち前記合成差分情報生成部による処理がなされていない対および前記合成差分情報を前の合成対象に設定し，前の合成対象の次の次に位置する差分情報が存在しない場合に，前および後の合成対象の設定を停止する処理と，
前記前の合成対象となった差分情報の未処理の対および合成差分情報の全ての対を前記後の合成対象の差分情報と合成して合成差分情報を生成し，当該前の合成対象である差分情報の次の次に位置する差分情報が存在しないときは，生成した合成差分情報に前記後の合成対象の差分情報の未処理の対を追加する処理とを，
実行させるためのデータ合成処理プログラム。
【請求項５】
前記コンピュータに，さらに
前記データ群の射影であり，同じ順序性を保持するデータで構成される第２データ群を記憶する第２データ群記憶部から，前記変更元の順序位置に該当する前記第２のデータ群のデータを取得し，当該取得したデータに対し，前記合成差分情報の操作を行って，前記変更結果となるデータを生成するデータ処理を，
実行させるための請求項４記載のデータ合成処理プログラム。
【請求項６】
データが直列の順序性を持って構成されるデータ群を記憶する第１データ群記憶部と，前記データ群の各データに対する操作および当該操作対象となった項目の対が記録された差分情報を記憶する差分情報記憶部とを備えるコンピュータが，
前記データ群から変更元に指定されたデータの順序位置と，変更結果に指定されたデータの順序位置の入力を受け付けて，当該変更元から当該変更結果までの順序位置間のデータに対する差分情報全てを前記差分情報記憶部から抽出する処理過程と，
前記抽出された複数の差分情報から，順序位置がより先頭に近い差分情報を取り出して前の合成対象に設定し，当該前の合成対象である差分情報の次の差分情報を後の合成対象に設定する処理過程と，
予め用意された，前の合成対象での操作と後の合成対象での操作と関係にもとづいて合成後の対となる操作および対象を特定する規則を示す差分情報合成規則に従って，前記前の合成対象の差分情報の対を前記後の合成対象の差分情報と合成し，合成差分情報を生成する処理過程と，
前記前の合成対象の差分情報のすべての対の処理終了後に，前の合成対象の次の次に位置する差分情報が存在する場合に，前記前の合成対象の次の次に位置する差分情報を後の対象に設定し，かつ当該後の合成対象の一つ前に位置する合成対象の対のうち前記合成差分情報生成部による処理がなされていない対および前記合成差分情報を前の合成対象に設定し，前の合成対象の次の次に位置する差分情報が存在しない場合に，前および後の合成対象の設定を停止する処理過程と，
前記前の合成対象となった差分情報の未処理の対および合成差分情報の全ての対を前記後の合成対象の差分情報と合成して合成差分情報を生成し，当該前の合成対象である差分情報の次の次に位置する差分情報が存在しないときは，生成した合成差分情報に前記後の合成対象の差分情報の未処理の対を追加する処理過程とを，
実行するデータ合成処理方法。
【請求項７】
前記コンピュータに，さらに
前記データ群の射影であり，同じ順序性を保持するデータで構成される第２データ群を記憶する第２データ群記憶部から，前記変更元の順序位置に該当する前記第２のデータ群のデータを取得し，当該取得したデータに対し，前記合成差分情報の操作を行って，前記変更結果となるデータを生成するデータ処理過程を
実行する請求項６記載のデータ合成処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，データが直列の順序性を持って構成されるデータ群におけるデータ変更情報を用いて順序位置が異なるデータ間の差分情報を生成するデータ合成処理装置，プログラムおよび処理方法に関する。より詳しくは，データ同士が直列の順序性を持つデータで構成されるデータ群における各データ間の差分情報を用いて，変更元のデータから変更先のデータへの差分情報を生成し，さらに，生成された差分情報をもとに，当該データ群の射影であって同じ順序位置を保持する第２のデータ群のデータを変更するデータ合成処理装置，プログラム，および処理方法に関する。
【背景技術】
【０００２】
図１２は，直列の順序性を持つデータ群におけるデータ変更処理を説明するための図である。
【０００３】
データ同士が直列の順序性を持つ第１のデータ群について，当該データの変更処理によって生じた相違，すなわち，順序位置が隣り合うデータ同士の相違を示す差分情報（更新情報）を蓄積し，当該差分情報をもとに，第１のデータ群と同じ順序性を持つ第２のデータ群を構成するデータを変更する処理手法が知られている。
【０００４】
図１２に示すように，第１のデータ群は，直列の順序性を持つ複数の情報ａ１，ａ２，ａ３，…，ａｘのまとまりである情報群Ａとする。第２のデータ群は，情報群Ａの完全な複製あるいは射影に他の情報を付加した情報である情報ｂ１，ｂ２，…のまとまりである情報群Ｂとする。情報群Ｂの各情報間の順序性は情報群Ａと同じであるとする。
【０００５】
なお，このとき，情報群Ａと情報群Ｂとが，物理的または論理的に異なる情報であるか，同一の情報であるかは問わない。
【０００６】
情報群Ａの順序が隣り合う情報の変更差分である差分情報ｄは，差分情報群Ｄにまとめられる。ここで，情報ａ１と順序位置が直後の情報ａ２との差分情報は，差分情報ｄ１−２と表現する。また，差分情報群Ｄの各差分情報ｄは，情報群Ｂにおける変更差分と同じである。例えば，情報ａ１の順序位置に対応するのは情報ｂ１である。
【０００７】
情報群Ｂにおいて最後の情報ｂｚは，情報群Ａの最後の情報ａｘより，その順序位置が先頭に近いものであると仮定する。このとき，情報群Ｂにおいて，情報ｂｚから，情報ａｘの順序位置に対応する情報ｂｘを生成するためには，以下の操作を行う。
（１）情報ｂｚに対応する順序位置にある情報を情報ａｚとする。
（２）情報ａｚから情報ａｘまでの差分情報ｄのうち，順序位置が最も先頭に近い情報ｄｎを情報ｂｚに適用する。
（３）上記（２）で生成した情報に対して，上記（２）の次の差分情報ｄｎ＋１を適用する。
（４）情報ｂｘになるまで，上記（２），（３）と同様に，差分情報ｄｎ＋２，ｄｎ＋３を順序位置が先頭に近いほうから順に適用していく。
【０００８】
また，従来のデータ変更手法の一例を示す特許文献１では，データベースの前回のバージョンを保持するワークステーションｘでその終了情報を記憶し，前回以前のバージョンを保持するワークステーションｙでは前回のバージョンへ更新するための管理情報を記憶しておき，上記装置が最新のバージョンのマスタデータのみを記憶した時点で，ワークステーションｙでは，その管理情報にもとづいて生成された最新バージョンへの今回管理情報を記憶し，ワークステーションｘでは，最新バージョンへの今回管理情報を記憶することによって，各ワークステーションにデータ変更を反映させている。
【特許文献１】特許第３３５９０５７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
図１２に示すように，情報群Ｂの最後の情報ｂｚと情報群Ａの最後の情報ａｘに対応する情報ｂｘを生成するためには，情報ｂｚの順序位置と情報ａｘの順序位置との間の差分情報ｄ（ｄ１−２，ｄ２−３，ｄ３−４，…，ｄｘ−ｙ）の個数に比例した回数のデータ変換処理を行う必要がある。
【００１０】
そのため，情報ｂｚと情報ａｘとの順序位置が離れる程，情報ｂｚから情報ｂｘを生成するためのデータ変換処理回数が増加することになり，データ変更処理機能が低下するという問題が生じる。
【００１１】
本発明の目的は，情報ｂｚと情報ａｘとの順序位置が離れ，多数の差分情報が存在する場合でも，処理負担が増大しないようにデータ変更処理を行える処理技術を提供することである。
【課題を解決するための手段】
【００１２】
本発明にかかる処理装置は，データが直列の順序性を持って構成されるデータ群におけるデータ変更情報を用いて順序位置が異なるデータ間の差分情報を生成するデータ合成処理装置であって，１）前記データ群を各データの直列の順序性を保持して記憶する第１データ群記憶部と，２）前記データ群の各データに対する操作および当該操作対象となった項目の対が記録された差分情報を記憶する差分情報記憶部と，３）前記データ群から変更元に指定されたデータの順序位置と，変更結果に指定されたデータの順序位置の入力を受け付けて，当該変更元から当該変更結果までの順序位置間のデータに対する差分情報全てを前記差分情報記憶部から抽出する差分情報抽出部と，４）前記抽出された複数の差分情報から，順序位置がより先頭に近い差分情報を取り出して前の合成対象に設定し，当該前の合成対象である差分情報の次の差分情報を後の合成対象に設定する合成対象設定部と，５）予め用意された，前の合成対象での操作と後の合成対象での操作と関係にもとづいて合成後の対となる操作および対象を特定する規則を示す差分情報合成規則に従って，前記前の合成対象の差分情報の対を前記後の合成対象の差分情報と合成し，合成差分情報を生成する合成差分情報生成部とを備える。
【００１３】
そして，合成差分情報生成部による前の合成対象の差分情報のすべての対の処理終了後に，合成対象設定部は，前の合成対象の次の次に位置する差分情報が存在する場合に，前の合成対象の次の次に位置する差分情報を後の対象に設定し，かつ，当該後の合成対象の一つ前に位置する合成対象の対のうち合成差分情報生成部による処理がなされていない対および合成差分情報を前の合成対象に設定し，前の合成対象の次の次に位置する差分情報が存在しない場合に，前および後の合成対象の設定を停止し，合成差分情報生成部は，前の合成対象となった差分情報の未処理の対および合成差分情報の全ての対を後の合成対象の差分情報と合成して合成差分情報を生成し，当該前の合成対象である差分情報の次の次に位置する差分情報が存在しないときは，生成した合成差分情報に前記後の合成対象の差分情報の未処理の対を追加するものである。
【００１４】
この処理装置の差分情報抽出部は，データ群（第１データ群）から変更元に指定されたデータの順序位置と，変更結果に指定されたデータの順序位置の入力を受け付けて，変更元から変更結果までの順序位置間のデータに対する差分情報全てを差分情報記憶部から抽出する。
【００１５】
そして，合成対象設定部は，抽出された複数の差分情報から，順序位置がより先頭に近い差分情報を取り出して前の合成対象に設定し，当該前の合成対象である差分情報の次の差分情報を後の合成対象に設定する。
【００１６】
合成差分情報生成部は，前の合成対象での操作と後の合成対象での操作との関係にもとづいて合成後の対となる操作および対象を特定する規則を示す差分情報合成規則を予め用意しておく。そして，前の合成対象の対を１つずつ取り出して，差分情報合成規則に従って取り出した対と後の合成対象の差分情報を合成し，合成差分情報を生成する。
【００１７】
そして，合成差分情報生成部による前の合成対象の差分情報のすべての対の処理終了後に，合成対象設定部は，前の合成対象の次の次に位置する差分情報が存在する場合に，前の合成対象の次の次に位置する差分情報を後の対象に設定し，かつ当該後の合成対象の一つ前に位置する合成対象の対のうち，合成差分情報生成部による処理がなされていない対および合成差分情報を前の合成対象に設定する。一方，前の合成対象の次の次に位置する差分情報が存在しない場合に，前および後の合成対象の設定を停止する。
【００１８】
次に，合成差分情報生成部は，前記前の合成対象となった差分情報の未処理の対および合成差分処理の全ての対を前記後の合成対象の差分情報と合成して合成差分情報を生成し，当該前の合成対象である差分情報の次の次に位置する差分情報が存在しないときは，生成した合成差分情報に後の合成対象の差分情報の未処理の対を追加する。
【００１９】
これにより，前記の処理装置では，第１データ群の変更元となるデータと変更結果とするデータとの間に複数の差分情報が存在する場合でも，これらの差分情報を合成した１つの合成差分情報を自動的に生成することができる。
【００２０】
また，データ群で順序位置が隣り合わないデータ間の差分情報を，人手によらず，自動的に生成することができる。
【００２１】
さらに，本発明にかかる処理装置は，６）前記データ群の射影であり，同じ順序性を保持するデータで構成される第２データ群を記憶する第２データ群記憶部と，７）前記変更元の順序位置に該当する前記第２のデータ群のデータを取得し，当該取得したデータに対し，前記合成差分情報の操作を行って，前記変更結果となるデータを生成するデータ変更部とを備える。
【００２２】
データ変更部は，データ群（第１のデータ群）の変更元の順序位置に該当する別のデータ群（第２のデータ群）のデータを取得し，取得したデータに対し合成差分情報にもとづく操作を行って，変更結果となるデータ（変更後データ）を生成する。
【００２３】
これによって，変更元のデータから変更先とするデータへの順序位置が離れている場合でも，変更元のデータから，複数の差分情報から合成した１つの差分情報（合成差分情報）にもとづいてデータ変更を行うことができるため，データ更新処理の性能低下を抑止することができる。
【００２４】
具体的には，図１２の情報群Ａ（第１データ群）のデータおよびその差分情報群を用いて情報群Ｂの情報ｂ１から情報ｂ４を生成する場合に，情報ｂ１の順序位置にある情報群Ａの情報ａ１を更新元に設定し，情報ｂ４の順序位置に相当する情報群Ａの情報ａ４を変更結果とする。
【００２５】
そして，図１３に示すように，情報ａ１と情報ａ４の間に位置する差分情報ｄ１−２，ｄ２−３，ｄ３−４を取り出し，差分情報ｄ１−２を前の合成対象とし，差分情報ｄ２−３を後の合成対象として合成差分情報ｄ１−３を生成する。次に，合成差分情報ｄ１−３を前の合成対象とし，差分情報ｄ３−４を後の合成対象として合成差分情報ｄ１−４を生成する。
【００２６】
その後，変更元の情報ｂ１に対して，合成差分情報ｄ１−４にもとづく操作が行われてデータが変更されると，変更結果として情報ｂ４が生成される。
【００２７】
このように，変更元のデータの順序位置と変更結果となるデータの順序位置とが離れている場合でも，１つの合成差分情報をもとにデータ変更を行うことができる。
【００２８】
本発明は，別の態様として，コンピュータを前述の処理装置として機能させるためのプログラムである。また，コンピュータが前述の処理装置で実行される各処理過程を実行する処理方法である。
【００２９】
本発明を構成する処理部や処理過程などの要素は，コンピュータとソフトウェアプログラムとによって実現することができる。また，本発明にかかるプログラムは，コンピュータが読み取り可能な可搬媒体メモリ，半導体メモリ，ハードディスクなどの適当な記録媒体に記録することができ，これらの記録媒体に記録して提供され，または，通信インタフェースを介して種々の通信網を利用した送受信により提供される。
【発明の効果】
【００３０】
本発明によれば，更新元のデータから更新結果とするデータの間に複数のデータ変更が行われる環境下において，更新元と更新結果との順序位置，すなわちバージョンが離れて差分情報が多数存在するような場合でも，複数の差分情報を合成して１つの新たな差分情報を生成することができる。
【００３１】
さらに，データ変更処理の場合に，差分情報ごとにデータ変更処理を行うことなく，１つの合成差分情報をもとにデータ変換処理を行うため，データ変換処理回数を減らすことができる。よって，頻繁なデータ更新によって差分情報が増加するようなデータ群の管理においても，データ変更処理機能の低下を防ぐことができる。
【００３２】
また，本発明によれば，順序位置が隣り合わないデータ間の差分情報が自動生成されるため，変更元のデータから任意の変更結果への各データ変更に対する差分情報を人手によって生成したり管理したりする必要がなく，データ変更に伴うコストを抑制することができる。
【００３３】
例えば，情報群Ａ（第１データ群）と情報群Ｂ（第２データ群）とが親子関係にあり，情報群Ａと情報群Ａの差分情報群に情報が同時またはほぼ同時に追加される環境下において，情報群Ｂの情報の追加が情報群Ａの情報の追加に比べてまれである場合に，差分情報群をもとに情報群Ｂの情報生成に利用することができる。
【００３４】
また，本発明は名寄せ処理に応用することができる。名寄せの対象となる情報が複数件あり，名寄せ処理のルールが複数ある場合に，名寄せルールを差分情報として扱うことができるため，複数件についての全ての組み合わせにおける名寄せ処理のルールを横断的に導出することができる。
【００３５】
また，本発明は，地図データ生成に応用することができる。定期的に更新される地図データをもとに，不定期に生成される特定用途の地図データを生成する場合に，定期更新される地図データの複数の差分情報を１つの合成差分情報としてまとめてデータ更新を行うことにより，特定用途の地図データの生成処理の時間的処理的コストを軽減することができる。
【００３６】
また，本発明は，ＣＡＳＥ（Computer Aided Software Engineering）ツールに応用することができる。ＣＡＳＥツールのように，複数レイヤ間で固有のリポジトリを持ち，各レイヤで使用するデータの一部に共通リポジトリを使用しているケースの場合に，あるレイヤでの変更が共通リポジトリに及ぶときは，関連する別レイヤのデータに，共通リポジトリの変更を非同期に反映させることができる。
【発明を実施するための最良の形態】
【００３７】
以下に，本発明の最良の実施の形態を説明する。
【００３８】
図１は，本発明にかかるデータ合成処理装置１の構成例を示す図である。
【００３９】
データ合成処理装置１は，ＣＰＵおよびメモリからなるコンピュータであり，ソフトウェアプログラムなどによって構成される差分情報合成部１０，データ変更部１１，第１データ群記憶部２１，第２データ群記憶部２３，および差分情報記憶部２５を備える。
【００４０】
第１データ群記憶部２１は，複数のデータが直列の順序性を持って構成される第１データ群を（情報群Ａ）を記憶する記憶部である。
【００４１】
第２データ群記憶部２３は，複数のデータが，情報群Ａの複写または射影に情報が追加されたものであって，情報群Ａと同じ順序位置を持って構成される第２データ群（情報群Ｂ）を記憶する記憶部である。
【００４２】
差分情報記憶部２５は，情報群Ａを構成する情報の変更差分であり，順序が前の情報ａ１に対する操作と，その操作の対象となる情報ａ１の項目との対で構成される差分情報ｄを複数含む差分情報群Ｄを記憶する記憶部である。
【００４３】
差分情報抽出部１３は，第１データ群記憶部２１に記憶された情報群Ａのデータから変更元に指定されたデータの順序位置（変更元順序位置）と，変更結果に指定されたデータの順序位置（変更先順序位置）の入力を受け付け，変更元順序位置から変更先順序位置までのデータに対する差分情報全てを差分情報記憶部２５から抽出する処理部である。
【００４４】
差分情報合成部１０は，合成対象設定部１５，および合成差分情報生成部１７を備える。
【００４５】
合成対象設定部１５は，抽出された複数の差分情報から，順序位置が先頭に近い差分情報を前の合成対象に設定し，当該前の合成対象の次に位置する差分情報を後の合成対象として設定する処理部である。
【００４６】
また，合成対象設定部１５は，合成差分情報生成部１７により前の合成対象の差分情報の全ての対の合成処理が終了すると，前の合成対象の次の次に位置する差分情報が存在する場合に，前の合成対象の次の次に位置する差分情報を後の対象に設定し，かつ当該後の合成対象の一つ前に位置する合成対象の対のうち前記合成差分情報生成部による処理がなされていない対および合成差分情報を前の合成対象に設定する。一方，前の合成対象の次の次に位置する差分情報が存在しない場合に，前および後の合成対象の設定を停止する。
【００４７】
合成差分情報生成部１７は，前の合成対象での操作と後の合成対象での操作との関係にもとづいて合成後の対となる操作および対象を特定する規則を示す差分情報合成規則を予め用意し，この差分情報合成規則に従って，前記前の合成対象の対を前記後の合成対象の差分情報と合成し，合成差分情報を生成する処理部である。
【００４８】
また，合成差分情報生成部１７は，前の合成対象の次の次に位置する差分情報が存在しない場合に，生成された合成差分情報に，後の合成対象の差分情報の未処理の対を追加し，この合成差分情報をデータ変更部１１に渡す。
【００４９】
データ変更部１１は，変更元順序位置に該当する第２データ群（情報群Ｂ）のデータ（情報ｂ１）を取得し，取得したデータに対して合成差分情報にもとづく操作を行い，変更結果となるデータ（変更後データ）を生成し出力する処理部である。
【００５０】
次に，図２および図３を用いて，合成差分情報生成部１７で使用する差分情報合成規則を説明する。本形態では，差分情報合成規則が，情報群Ａおよび情報群Ｂのデータ内の項目のならびに順序性がある場合（以下，「移動パターン」という）に用いるものと順序性がない場合（以下，「更新パターン」という）に用いるものとに分けて用意される。
【００５１】
図２（Ａ）は，処理対象の情報群が移動パターンの場合の差分情報の構成例，図２（Ｂ）は，同じく差分情報合成規則の構成例を示す図である。
【００５２】
図２（Ａ）に示すように，情報群Ａの差分情報の各要素は，一対の操作とその対象とからなる。操作として「追加，削除，移動」のいずれかが設定される。
【００５３】
「追加」は，操作前に存在しない項目をデータに追加する処理である。「追加」の対象は，操作によってデータに追加される項目が記録される。図２（Ａ）の例では，情報ａ１に項目ａを追加する操作が行われ，情報ａ２が項目ａを含むことを意味する。
【００５４】
「削除」は，操作前にデータに存在する項目を削除する処理である。「削除」の対象は，操作によってデータから削除される項目が記録される。図２（Ａ）の例では，情報ａ１から項目ｂを削除する操作が行われ，情報ａ２に項目ｂはないことを意味する。
【００５５】
「移動」は，操作前に存在するデータの項目を移動する処理である。操作後に，データの項目の順序が変わっている。図２（Ａ）の例では，情報ａ１の項目ｃ１を項目ｃ２の位置へ移動する操作が行われ，情報ａ２では項目ｃ２，項目ｃ１となっていることを意味する。
【００５６】
図２（Ｂ）に示す差分情報合成規則は，「追加，削除，移動」のいずれかの操作を２回繰り返した結果について，操作前と２回操作の後を比較すると，「追加，削除，移動」のいずれかの操作または「操作なし」のいずれかになっていることにもとづいている。
【００５７】
差分情報合成規則は，前の操作，後の操作，生成される操作，生成される対象で構成される。前の操作は，前の合成対象（差分情報または合成差分情報）の対での操作を示す。後の操作は，後の合成対象（差分情報）の対での操作を示す。生成される操作および生成される対象は，合成差分情報に記録される合成後の対の操作および対象を示す。
【００５８】
図２（Ｂ）の例で，「操作なし」は，情報の項目が，前または後の合成対象の差分情報のいずれか一方にのみ操作対象として記録されているが，もう一方には記録されていない状態を示すものである。
【００５９】
例えば，図２（Ｂ）の上から１番目の規則において，前の合成対象の差分情報において，ある項目が「追加」の対象となっているが，後の合成対象の差分情報では操作の対象となっていないことを示す。この場合に，合成差分情報の対（合成後の対）での操作は「追加」，対象は「前の操作の項目」であり，「データに前の操作の項目を追加する」ことを意味する。
【００６０】
また，図２（Ｂ）の上から４番目の規則において，前の合成対象の差分情報において，ある項目が「追加」の対象であり，後の合成対象の差分情報では「移動」の対象となっている場合に，合成差分情報の対（合成後の対）での操作は「追加」，対象は「後の操作後の項目」であり，「データに後の操作（移動）後の項目を追加する」ことを意味する。
【００６１】
また，図２（Ｂ）の上から５番目の規則において，前の合成対象の差分情報において，ある項目が「移動」の対象であり，後の合成対象の差分情報では「移動」の対象となっている場合に，合成差分情報の対（合成後の対）での操作は「移動」，対象は「前の操作前の項目→後の操作後の項目」であり，「データ内の前の操作（移動）前の項目から後の操作（移動）後の項目へ移動する」ことを意味する。
【００６２】
また，図２（Ｂ）の上から６番目の規則において，前の合成対象の差分情報において，ある項目が「追加」の対象であり，後の合成対象の差分情報では「削除」の対象となっている場合に，合成差分情報に対（合成後の対）を作成しないことを意味する。
【００６３】
また，図２（Ｂ）の上から７番目の規則において，前の合成対象の差分情報において，ある項目が「移動」の対象であり，後の合成対象の差分情報では「削除」の対象となっている場合に，合成差分情報の対（合成後の対）での操作は「削除」，対象は「前の操作前の項目」であり，「前の操作（移動）前の項目を削除する」ことを意味する。
【００６４】
図３（Ａ）は，処理対象の情報群が更新パターンの場合の差分情報の構成例，図３（Ｂ）は，同じく差分情報合成規則の構成例を示す図である。
【００６５】
図３（Ａ）の差分情報の各要素は，図２（Ａ）に示す差分情報と同様に，一対の操作とその対象とからなる。操作として「追加，削除，更新」のいずれかが設定される。
【００６６】
「更新」は，操作前に存在するデータの項目の値を変更する処理である。図３（Ａ）の例では，情報ａ１の項目ｃの値２が値３に変更されることを意味する。
【００６７】
図３（Ｂ）に示す差分情報合成規則は，「追加，削除，更新」のいずれかの操作を２回繰り返した結果について，操作前と２回操作の後を比較すると，「追加，削除，更新」のいずれかの操作または「操作なし」のいずれかになっていることにもとづいている。
【００６８】
図３（Ｂ）の上から１番目の規則は，図２（Ｂ）の規則の上から１番目の規則と同じ意味である。
【００６９】
また，図３（Ｂ）の上から４番目の規則において，前の合成対象の差分情報において，ある項目が「追加」の対象であり，後の合成対象の差分情報では「更新」の対象となっている場合に，合成差分情報の対（合成後の対）での操作は「追加」，対象は「後の操作後の値」であり，「データに後の操作（更新）後の値を追加する」ことを意味する。
【００７０】
また，図３（Ｂ）の上から５番目の規則において，前の合成対象の差分情報において，ある項目が「更新」の対象であり，後の合成対象の差分情報では「更新」の対象となっている場合に，合成差分情報の対（合成後の対）での操作は「更新」であり，対象は「後の操作後の項目および値」であり，「データの後の操作（更新）後の値へ変更する」ことを意味する。
【００７１】
また，図３（Ｂ）の上から７番目の規則において，前の合成対象の差分情報において，ある項目が「更新」の対象であり，後の合成対象の差分情報では「削除」の対象となっている場合に，合成差分情報の対（合成後の対）での操作は「削除」，対象は「前の操作前の項目，または，後の操作の項目」であり，「前の操作（更新）前の項目または後の操作の項目を削除する」ことを意味する。
【００７２】
図４および図５を用いて，移動パターンの場合の合成差分情報およびデータ群のデータの変遷の例を説明する。
【００７３】
図４に示すように，第１データ群記憶部２１に記憶されている情報群Ａは，情報ａ１，ａ２，ａ３で構成されているとする。第２データ群記憶部２３の情報群Ｂは，情報群Ａの射影であり，情報ｂ１のみで構成されていて，情報ａ２，ａ３に対応する情報ｂ２，ｂ３がないとする。
【００７４】
また，差分情報記憶部２５に，差分情報群Ｄとして，情報群Ａの情報ａ１と情報ａ２の差分情報ｄ１−２，情報ａ２と情報ａ３の差分情報ｄ２−３が記憶されているとする。
【００７５】
差分情報ｄ１−２は，以下の対で構成される。
「追加：項目４，
削除：項目３，
移動：項目１→項目５」
差分情報ｄ２−３は，以下の対で構成される。
「移動：項目２→項目４，
移動：項目４→項目２，
追加：項目６」
情報群Ａの情報ａ１が，項目１（値１），項目２（値２），項目３（値３）で構成されている。
【００７６】
情報ａ１は，差分情報ｄ１−２によって，項目１が項目５（値１）に移動，項目３が削除，項目４が追加される。したがって，情報ａ１の次の情報ａ２は，項目２（値２），項目４（値なし），項目５（値１）の構成となる。
【００７７】
さらに，情報ａ２は，差分情報ｄ２−３によって，項目２（値２）は項目４へ移動，項目４（値なし）は項目２へ移動，項目６（値なし）が追加される。情報ａ２の次の情報ａ３は，項目２（値なし），項目４（値２），項目５（値１），項目６（値なし）の構成となる。
【００７８】
図５に示すように，この場合に，情報群Ｂの情報ｂ１のデータを変更して情報ｂ３を得るとする。
【００７９】
差分情報抽出部１３は，変更元位置（情報ａ１の位置）と，変更先位置（情報ａ３の位置）との入力を受け付け，差分情報群Ｄから変更元位置と変更先位置のデータ間の差分情報である，差分情報ｄ１−２，差分情報ｄ２−３を抽出する。
【００８０】
そして，合成対象設定部１５は，差分情報ｄ１−２前の合成対象に設定し，差分情報ｄ２−３を後の差分情報に設定する。
【００８１】
合成差分情報生成部１７は，移動パターン時の差分情報合成規則に従って，差分情報ｄ１−２の各対を差分情報ｄ２−３と合成し，合成後の対を合成差分情報（差分情報ｄ１−３）に追加する。
【００８２】
ここで，差分情報ｄ１−２の「操作：削除，対象：項目３」の対は，そのまま合成差分情報（差分情報ｄ１−３）に記録する。
【００８３】
また，「操作：追加，対象：項目４」の対は，後の合成対象（差分情報ｄ２−３）において，対象（項目４）が「操作：移動」の操作前の対象となっているので，差分情報合成規則をもとに，「操作：追加，対象：項目２（後の操作後の項目）」の対を生成して合成差分情報（差分情報ｄ１−３）に追加する。
【００８４】
この合成処理の結果，合成差分情報（差分情報ｄ１−３）は，以下の対で構成される。
「追加：項目２，
削除：項目３，
移動：項目１→項目５」
ここで，合成対象設定部１５は，差分情報ｄ１−２の次の次に位置する差分情報ｄが存在しないので，合成対象の設定を行わない。
【００８５】
すると，合成差分情報生成部１７は，後の合成対象の差分情報ｄ２−３の未処理の対を合成差分情報（差分情報ｄ１−３）に追加する。
【００８６】
この追加処理の結果，合成差分情報（差分情報ｄ１−３）は，以下の対で構成される。
「追加：項目２，
削除：項目３，
移動：項目１→項目５，
移動：項目２→項目４，
追加：項目６」
このように，３つ以上の差分情報が抽出されている場合には，順序位置が前の差分情報から，前および後の合成対象として２つずつ合成していく処理を繰り返すことによって最終的な合成差分処理を生成する。
【００８７】
その後，データ変更部１１は，第２データ群記憶部２３から取り出した情報ｂ１を，合成差分情報（差分情報ｄ１−３）の対にしたがって操作を行い，データを変更する。
【００８８】
情報ｂ１が，項目１（値１），項目２（値２），項目ｂ１（値９）で構成されている場合，合成差分情報（差分情報ｄ１−３）によるデータ変更で，項目１が項目５に，前の操作前の項目２が項目４にそれぞれ移動し，項目２，項目６が追加される。
【００８９】
その結果，項目２（値なし），項目４（値２），項目５（値１），項目６（値なし），項目ｂ１（値９）で構成される情報ｂ３が生成される。
【００９０】
次に，図６および図７を用いて，更新パターンの場合の合成差分情報およびデータ群のデータの変遷を説明する。
【００９１】
図６に示す情報群Ａ（情報ａ１，ａ２，ａ３），情報群Ａの射影である情報群Ｂ（情報ｂ１）は移動パターンの場合と同様である。
【００９２】
差分情報群Ｄ（差分情報ｄ１−２，差分情報ｄ２−３）は，それぞれ，以下の対で構成されるとする。
【００９３】
差分情報ｄ１−２は，以下の対で構成される。
「追加：項目４，
削除：項目３，
移動：項目１  値５」
差分情報ｄ２−３は，以下の対で構成される。
「更新：項目２  値（空），
更新：項目４  値２，
追加：項目６」
情報ａ１（項目１（値１），項目２（値２），項目３（値３））は，差分情報ｄ１−２によって，項目１の値を更新，項目３が削除，項目４が追加される。したがって，情報ａ１の次の情報ａ２は，項目１（値５），項目２（値２），項目４（値なし）の構成となる。
【００９４】
さらに，情報ａ２は，差分情報ｄ２−３によって，項目２の値を更新，項目４の値を更新，項目６（値なし）が追加される。情報ａ２の次の情報ａ３は，項目１（値５），項目２（空），項目４（値２），項目６（値なし）の構成となる。
【００９５】
図７に示すように，情報群Ｂの情報ｂ１のデータを変更して情報ｂ３を得るとする。
【００９６】
差分情報抽出部１３および合成対象設定部１５は，移動パターンの場合と同様に動作する。
【００９７】
合成差分情報生成部１７は，更新パターン時の差分情報合成規則に従って，差分情報ｄ１−２の対を差分情報ｄ２−３と合成し，合成後の対を合成差分情報（差分情報ｄ１−３）に追加する。
【００９８】
ここで，差分情報ｄ１−２の「操作：削除，対象：項目３」の対は，そのまま合成後の対として合成差分情報（差分情報ｄ１−３）に記録する。
【００９９】
また，「操作：追加，対象：項目４」の対は，後の合成対象（差分情報ｄ２−３）において対象（項目４）が「操作：更新」の対象となっているので，「操作：追加，対象：項目４  値２（後の操作後の値）」の対を生成する。
【０１００】
合成差分情報（差分情報ｄ１−３）は，以下の対で構成される。
「追加：項目４  値２，
削除：項目３，
更新：項目１  値５」
ここで，合成対象設定部１５は，差分情報ｄ１−２の次の次に位置する差分情報ｄが存在しないので，合成対象の設定を行わない。
【０１０１】
すると，合成差分情報生成部１７は，後の合成対象の差分情報ｄ２−３の未処理の対を合成差分情報（差分情報ｄ１−３）に追加する。
【０１０２】
合成差分情報生成部１７は，後の合成対象の差分情報ｄ２−３の未処理の対を合成差分情報（差分情報ｄ１−３）に追加する。
【０１０３】
この追加処理の結果，合成差分情報（差分情報ｄ１−３）は，以下の対で構成される。
「追加：項目４  値２，
削除：項目３，
更新：項目１  値５，
更新：項目２  値（空），
追加：項目６」
その後，データ変更部１１は，移動パターンの場合と同様に，第２データ群記憶部２３から取り出した情報ｂ１を，合成差分情報（差分情報ｄ１−３）の対にしたがってデータを変更する。
【０１０４】
情報ｂ１が，項目１（値１），項目２（値２），項目ｂ１（値９）で構成されている場合に，項目が１つずつ取り出され，合成差分情報（差分情報ｄ１−３）の対象に該当する項目について，該当する操作に従って変更し，変更後データとする。データ変更処理の結果，情報ｂ３は，項目１（値５），項目２（値なし），項目４（値２），項目６（値なし），項目ｂ１（値９）で構成される情報ｂ３が変更後データとして生成される。
【０１０５】
図８を用いて，複数の差分情報の合成処理を説明する。
【０１０６】
差分情報Ｖ１−Ｖ２は，前の情報Ｖ１と情報Ｖ１の次の情報Ｖ２との変更差分である。まず，前の合成対象に差分情報Ｖ１−Ｖ２が，後の合成対象に差分情報Ｖ２−Ｖ３（情報Ｖ２と次の情報Ｖ３との差分情報）が設定され，差分情報Ｖ１−Ｖ２と差分情報Ｖ２−Ｖ３とが合成されて合成差分情報Ｖ１−Ｖ３が生成される。
【０１０７】
次に，後の合成対象の差分情報Ｖ２−Ｖ３の未処理の対と合成差分対象Ｖ１−Ｖ３が前の合成対象に設定される。後の合成対象に差分情報Ｖ３−Ｖ４（情報Ｖ３と次の情報Ｖ４との差分情報）が設定される。差分情報Ｖ２−Ｖ３，合成差分情報Ｖ１−Ｖ３と，差分情報Ｖ３−Ｖ４とが合成されて合成差分情報Ｖ１−Ｖ４が生成される。
【０１０８】
さらに，同様に，後の合成対象の差分情報Ｖ３−Ｖ４の未処理の対と合成差分対象Ｖ１−Ｖ４が前の合成対象に設定される。後の合成対象に差分情報Ｖ４−Ｖ５（情報Ｖ４と次の情報Ｖ５との差分情報）が設定される。差分情報Ｖ３−Ｖ４，合成差分情報Ｖ１−Ｖ４と，差分情報Ｖ４−Ｖ５とが合成されて合成差分情報Ｖ１−Ｖ５が生成される。ここで，後の合成対象となる差分情報がなければ，差分情報Ｖ４−Ｖ５の未処理の要素を合成差分情報Ｖ１−Ｖ５に追加する。
【０１０９】
このようにして，差分情報合成規則に従って，差分情報Ｖ１−Ｖ２から差分情報Ｖ４−Ｖ５までの変更差分を１つの差分情報にまとめることができる。
【０１１０】
図９および図１０に，合成差分情報生成処理の処理フローを示す。なお，図９および図１０に示す処理フローは，前述の移動パターンおよび更新パターンの場合の処理の流れを示すものである。
【０１１１】
差分情報合成部１０の合成対象設定部１５は，差分情報抽出部１３によって取り出された複数の差分情報から，より先頭に近い差分情報を前の合成対象とする（ステップＳ１）。さらに，前の合成対象とした差分情報の次の差分情報を後の合成対象とする（ステップＳ２）。
【０１１２】
そして，前の合成対象の差分情報から，未処理の要素（対）を１つ取り出す（ステップＳ３）。取り出した要素と，対応する後の合成対象の差分情報の要素とを，差分情報合成規則に従って合成し，新しい差分情報の要素（合成差分情報）を生成する（ステップＳ４）。
【０１１３】
前の合成対象の差分情報の要素を全て処理するまで，ステップＳ３，Ｓ４の処理を繰り返し（ステップＳ５のＮＯ），全ての要素を処理したら（ステップＳ５のＹＥＳ），ステップＳ６の処理へ進む。
【０１１４】
その後，前の合成対象（差分情報）の次の次に位置する差分情報があれば（ステップＳ６のＹＥＳ），前の合成対象（差分情報）の次の次に位置する差分情報を後の合成対象とする（ステップＳ７）。
【０１１５】
そして，ステップＳ７の処理によって後の合成対象となった差分情報の一つ前の差分情報の要素のうちステップＳ４の処理が未だ行われていない要素，およびステップＳ３，Ｓ４の処理で生成された新しい差分情報（合成差分情報）を，前の合成対象とする（ステップＳ８）。
【０１１６】
前の合成対象の差分情報の要素のうち未処理の要素を１つ取り出す（ステップＳ９）。取り出した要素と，対応する後の合成対象の差分情報の要素とを，差分情報合成規則に従って合成し，新しい差分情報の要素を生成（合成差分情報）する（ステップＳ１０）。
【０１１７】
前の合成対象の差分情報の要素を全て処理するまで，ステップＳ９，Ｓ１０の処理を繰り返し（ステップＳ１１のＮＯ），全ての要素を処理したら（ステップＳ１１のＹＥＳ），ステップＳ６の処理へ戻る。
【０１１８】
そして，前の合成対象（差分情報）の次の次に位置する差分情報が存在する間（ステップＳ６のＹＥＳ），ステップＳ７〜Ｓ１１の処理を繰り返し，前の合成対象（差分情報）の次の次に位置する差分情報が存在しなければ（ステップＳ６のＮＯ），後の合成対象（差分情報）の未処理の要素を，新しい差分情報に追加し，合成差分情報として出力する（ステップＳ１２）。
【０１１９】
図１１に，情報群Ｂのデータ変更処理の処理フローを示す。
【０１２０】
データ変更部１１は，第２データ群記憶部２３から，第１データ群記憶部２１の情報群Ａの変更元順序位置に対応する情報群Ｂのデータを取得する（ステップＳ２１）。取得したデータのうち，ステップＳ２３の判定処理が行われていない項目を取り出し，変更候補とする（ステップＳ２２）。
【０１２１】
変更候補の項目が，合成差分情報の要素（対）の対象に該当するかを判定し（ステップＳ２３），該当する場合には（ステップＳ２３のＹＥＳ），該当する合成差分情報の対の操作に従って，変更候補の項目を変更し，変更後データに追加する（ステップＳ２４）。一方，変更候補の項目が合成差分情報の要素（対）の対象に該当しなければ（ステップＳ２３のＮＯ），ステップＳ２２へ戻り処理を繰り返す。
【０１２２】
そして，取得したデータの全ての項目についてステップＳ２３の判定を行っていなければ（ステップＳ２５のＮＯ），ステップＳ２２へ戻り処理を繰り返し，取得したデータの全ての項目についてステップＳ２３の判定を行ったら（ステップＳ２５のＹＥＳ），合成差分情報の対の操作が「追加」となっている項目を変更後データに追加し（ステップＳ２６），処理を終了する。
【０１２３】
以上，本発明をその実施の形態により説明したが，本発明はその主旨の範囲において種々の変形が可能であることは当然である。
【図面の簡単な説明】
【０１２４】
【図１】本発明にかかるデータ合成処理装置の構成例を示す図である。
【図２】移動パターンの場合の差分情報の構成例および差分情報合成規則の構成例を示す図である。
【図３】更新パターンの場合の差分情報の構成例および差分情報合成規則の構成例を示す図である。
【図４】移動パターンの場合の差分情報およびデータ群のデータの変遷の例を示す図である。
【図５】移動パターンの場合の差分情報の合成の例を示す図である。
【図６】更新パターンの場合の差分情報およびデータ群のデータの変遷の例を示す図である。
【図７】更新パターンの場合の差分情報の合成の例を示す図である。
【図８】複数の差分情報の合成処理を説明するための図である。
【図９】合成差分情報生成処理の処理フロー図である。
【図１０】合成差分情報生成処理の処理フロー図である。
【図１１】情報群Ｂのデータ変更処理の処理フロー図である。
【図１２】従来の差分情報によるデータ変更処理を説明するための図である。
【図１３】本発明の合成差分情報によりデータ変更処理を説明するための図である。
【符号の説明】
【０１２５】
１  データ合成処理装置
１０  差分情報合成部
１１  データ変更部
１３  差分情報抽出部
１５  合成対象設定部
１７  合成差分情報生成部
２１  第１データ群記憶部
２３  第２データ群記憶部
２５  差分情報記憶部
【図１】
2009086853.tif 000003
【図２】
2009086853.tif 000004
【図３】
2009086853.tif 000005
【図４】
2009086853.tif 000006
【図５】
2009086853.tif 000007
【図６】
2009086853.tif 000008
【図７】
2009086853.tif 000009
【図８】
2009086853.tif 000010
【図９】
2009086853.tif 000011
【図１０】
2009086853.tif 000012
【図１１】
2009086853.tif 000013
【図１２】
2009086853.tif 000014
【図１３】
2009086853.tif 000015