(57)【要約】データベース（２）の内容をデータベース（５）に複製する場合、抽出処理部（１５）がデータ（２１〜２３）を順次抽出し、データベース創成装置（４）に送信する。抽出処理部（１５）は、抽出を実行中のデータに対してのみ選択的に処理排他を獲得し、抽出済データおよび未抽出データに対する更新を許可する。ログ監視部（１３）は、抽出済データに対する更新を監視し、更新があった場合、更新ログを作成してログ記憶部（１６）に記憶する。修正処理部（１４）は、更新ログをもとに修正要求を発行し、データベース（４）に送信する。データベース創成装置（４）は、抽出データをもとにデータベース（５）にデータ（５１）およびデータ（５２）を形成し、さらに修正要求にしたがってデータの同期をとる。
2004031957.tif 000002
【特許請求の範囲】
【請求項１】
データベースに記憶されたデータ群を抽出してデータベースを複製するデータベース複製方法であって、
前記データ群に含まれる複数のデータを順次抽出するデータ抽出工程と、
前記データ抽出工程による抽出が終了したデータに対するデータ内容の更新の有無を監視する更新監視工程と、
前記更新監視工程によりデータ内容の更新が検出された場合に、該更新の内容を更新ログとして記憶する更新ログ記憶工程と、
前記データ抽出工程によって抽出したデータの内容を前記更新ログに基づいて修正する修正工程と、
を含むことを特徴とするデータベース複製方法。
【請求項２】
前記データ抽出工程は、ネットワークを介して接続された複製先データベースに前記抽出したデータを送信し、前記修正工程は、前記更新ログに対応したデータの修正を要求する修正要求を前記複製先データベースに送信することを特徴とする請求の範囲第１項に記載のデータベース複製方法。
【請求項３】
前記データ抽出工程による抽出が実行中であるデータに対する更新を禁止し、抽出を実行済みのデータおよび抽出の実行前のデータに対する更新を許可する排他制御工程をさらに含むことを特徴とする請求の範囲第１項または第２項に記載のデータベース複製方法。
【請求項４】
前記排他制御工程によって更新を禁止されているデータに対してデータ内容の更新がある場合に、該更新内容を一時的に記憶する一時記憶工程をさらに含むことを特徴とする請求の範囲第３項に記載のデータベース複製方法。
【請求項５】
前記修正工程は、前記一時記憶工程によって記憶された更新内容を、前記更新ログとして取り扱うことを特徴とする請求の範囲第４項に記載のデータベース複製方法。
【請求項６】
データベースに記憶されたデータ群を抽出してデータベースを複製するデータベース複製装置であって、
前記データ群に含まれる複数のデータを順次抽出するデータ抽出手段と、
前記データ抽出手段による抽出が終了したデータに対するデータ内容の更新の有無を監視する更新監視手段と、
前記更新監視手段によりデータ内容の更新が検出された場合に、該更新の内容を更新ログとして記憶する更新ログ記憶手段と、
前記データ抽出手段によって抽出したデータの内容を前記更新ログに基づいて修正する修正手段と、
を備えたことを特徴とするデータベース複製装置。
【請求項７】
前記データ抽出手段は、ネットワークを介して接続された複製先データベースに前記抽出したデータを送信し、前記修正手段は、前記更新ログに対応したデータの修正を要求する修正要求を前記複製先データベースに送信することを特徴とする請求の範囲第６項に記載のデータベース複製装置。
【請求項８】
前記データ抽出手段による抽出が実行中であるデータに対する更新を禁止し、抽出を実行済みのデータおよび抽出の実行前のデータに対する更新を許可する排他制御手段をさらに備えたことを特徴とする請求の範囲第６項または第７項に記載のデータベース複製装置。
【請求項９】
前記排他制御手段によって更新を禁止されているデータに対してデータ内容の更新がある場合に、該更新内容を一時的に記憶する一時記憶手段をさらに備えたことを特徴とする請求の範囲第８項に記載のデータベース複製装置。
【請求項１０】
前記修正手段は、前記一時記憶手段によって記憶された更新内容を、前記更新ログとして取り扱うことを特徴とする請求の範囲第９項に記載のデータベース複製装置。
【請求項１１】
前記一時記憶手段によって記憶される更新内容と前記更新ログとを同一の記憶領域に記憶することを特徴とする請求の範囲第１０項に記載のデータベース複製装置。
【請求項１２】
データベースに対して複数のデータを順次書き込み、当該書き込みが終了したデータに対する更新を許可するデータ書込工程と、
前記データ書込工程によって更新が許可されたデータに対して、更新処理をおこなう更新工程と、
を含むことを特徴とするデータベース創成方法。
【請求項１３】
データベースに対して複数のデータを順次書き込み、当該書き込みが終了したデータに対する更新を許可するデータ書込手段と、
前記データ書込手段によって更新が許可されたデータに対して、更新処理をおこなう更新手段と、
を備えたことを特徴とするデータベース創成装置。
【発明の詳細な説明】
【技術分野】  この発明は、データベースに記憶されたデータ群を抽出してデータベースを複製するデータベース複製方法およびデータベース複製装置、また、抽出されたデータをもとにデータベースを創成するデータベース創成方法およびデータベース創成装置に関し、特に、データベースに対する処理排他を短縮し、データベースの複製とデータベースの更新とを同時に実行可能なデータベース複製方法およびデータベース複製装置に関する。
【背景技術】  従来、データの共有化、統合管理、高い独立性を目的として、データをあらかじめ定義した形で集中して管理するデータベースが利用されてきた。一般に、データベースはネットワークなどを介して複数の端末に接続され、各端末が利用するデータを一元管理している。したがって各端末がデータベースに記憶した所望のデータの読み出しおよび書き込みをおこなうことで、複数の端末でデータの共有が実現できる。
このように、データベースを複数の端末で共有する場合、データベースが記憶したデータの二重更新を避けるため、排他制御をおこなう必要がある。排他制御は、データ管理において、複数の端末が同時に同じデータにアクセスできないようにする制御である。すなわち、データベースが記憶するデータに対してある端末がアクセスしている場合、アクセス終了までそのデータに対する他の端末からのアクセスを許可せずに待機させることにより、データが同時に更新されることを防止する。所定のデータに対して他のアクセスを許可しない状態にすることを、データに対して処理排他を獲得する、と言う。
近年、データベースの大容量化やネットワークの高速化によってデータベースの利用価値が上昇し、これにともなってデータベースのバックアップが重要視されている。データベースのバックアップとしてはデータベース全体を複製することが望ましい。しかし、データベース全体の複製などのように、データベースが記憶したデータを大量に読み出す場合、読み出すデータの量に応じて必要な時間が増大する。ここで、複製などの目的でデータベースからデータを読み出す操作をデータの抽出と言う。このようにデータの抽出に時間がかかる場合、データベースの複製開始からデータベースの複製終了までの間にデータベースの内容に変更が生じる可能性がある。
データベースの複製中におけるデータの更新を無制限に許可すると、複製元のデータベースと複製先のデータベースとに不整合が生じる。従来、この複製元のデータベースと複製先のデータベースとの不整合を避けるため、データベースの複製を実行している間、複製元のすべてのデータに対して処理排他を獲得していた。すなわち、従来のデータベース複製方法では、データベースの複製の間、複製元のデータベースの更新を停止する必要があるという問題点があった。
しかしながら、近年、データベースの規模の増大によって複製に必要な時間が増加する一方、データベースの利用価値の増加にともなってデータベースの利用時間が増加し、２４時間無停止のデータベースが求められている。
この発明は、上述した従来技術による問題点を解消するためになされたものであり、データベースに対する処理排他を短縮し、データベースの複製とデータベースの更新とを同時に実行可能なデータベース複製方法およびデータベース複製装置を提供することを目的とする。
【発明の開示】
上述した課題を解決し、目的を達成するため、本発明に係るデータベース複製方法およびデータベース複製装置は、データベースに記憶されたデータ群を抽出してデータベースを複製するデータベース複製方法およびデータベース複製装置であって、前記データ群に含まれる複数のデータを順次抽出するデータ抽出工程と、前記データ抽出工程による抽出が終了したデータに対するデータ内容の更新の有無を監視する更新監視工程と、前記更新監視工程によりデータ内容の更新が検出された場合に、該更新の内容を更新ログとして記憶する更新ログ記憶工程と、前記データ抽出工程によって抽出したデータの内容を前記更新ログに基づいて修正する修正工程と、を実行するように構成している。
この発明によれば、データベースが記憶した複数のデータを順次抽出し、抽出が終了したデータに対するデータ内容の更新を監視し、抽出済データに対して更新があった場合に更新内容を更新ログとして記憶し、この更新ログをもとに抽出したデータの内容を修正することで、抽出したデータの内容を常に最新の状態に保つことができる。
また、本発明に係るデータベース複製方法およびデータベース複製装置では、前記データ抽出工程は、ネットワークを介して接続された複製先データベースに前記抽出したデータを送信し、前記修正工程は、前記更新ログに対応したデータの修正を要求する修正要求を前記複製先データベースに送信するように構成している。
この発明によれば、ネットワークを介して接続された複製先データベースに抽出したデータを送信し、ネットワークを介して複製先データベースに修正要求を送信することで、ネットワークを介して接続されたデータベース間でデータ内容を同期させることができる。
また、本発明に係るデータベース複製方法およびデータベース複製装置では、前記データ抽出工程による抽出が実行中であるデータに対する更新を禁止し、抽出を実行済みのデータおよび抽出の実行前のデータに対する更新を許可する排他制御工程をさらに実行するように構成している。
この発明によれば、抽出を実行中のデータに対して選択的に処理排他を獲得し、抽出を実行済みのデータおよび抽出を実行前のデータに対する処理排他を開放するようにしている。
また、本発明に係るデータベース複製方法およびデータベース複製装置では、前記排他制御工程によって更新を禁止されているデータに対してデータ内容の更新がある場合に、該更新内容を一時的に記憶する一時記憶工程をさらに実行するように構成している。
この発明によれば、抽出を実行中のデータに対して更新があった場合、当該更新内容を一時的に記憶し、抽出終了後に更新を実行するようにしている。
また、本発明に係るデータベース複製方法およびデータベース複製装置では、前記修正工程は、前記一時記憶工程によって記憶された更新内容を、前記更新ログとして取り扱うように構成している。
この発明によれば、抽出を実行中のデータに対して発生した更新について、更新内容の一時的な記憶をもとに修正要求を発行する。
また、本発明に係るデータベース複製装置では、前記一時記憶手段によって記憶される更新内容と前記更新ログとを同一の記憶領域に記憶するように構成している。
この発明によれば、更新ログと一時記憶手段によって記憶される更新内容とを同一の記憶領域に記憶し、記憶領域の共用をおこなうようことができる。
また、本発明に係るデータベース創成方法およびデータベース創成装置では、データベースに対して複数のデータを順次書き込み、当該書き込みが終了したデータに対する更新を許可するデータ書込工程と、前記データ書込工程によって更新が許可されたデータに対して、更新処理をおこなう更新工程と、を実行するように構成している。
この発明によれば、データベースに対して複数のデータを順次書き込む場合に、書き込みが終了したデータについて順次処理排他を開放し、書込み終了後のデータを更新可能とすることができる。
【図面の簡単な説明】  第１図は、本実施の形態におけるデータベース複製装置の概要構成を示す概要構成図であり、第２図および第３図は、データベース複製方法を説明する説明図であり、第４図は、抽出処理部１５の動作について説明する説明図であり、第５図は、抽出処理部１５による抽出動作と、ログ監視部１３による監視とのタイミングチャートであり、第６図は、データベース創成装置４の概要構成を説明する説明図であり、第７図は、抽出データ処理部４２の処理動作を説明する説明図であり、第８図は、修正要求処理部４３の処理動作を説明する説明図である。
【発明を実施するための最良の形態】  以下に添付図面を参照して、この発明に係るデータベース複製方法およびデータベース複製装置の好適な実施の形態を詳細に説明する。
第１図は、本実施の形態におけるデータベース複製装置の概要構成を示す概要構成図である。第１図において、データベース複製装置１は、データベース２とネットワーク３とを接続している。同様に、データベース創成装置４は、データベース５とネットワーク３とを接続している。さらに、ネットワーク３には端末６が接続されている。
データベース複製装置１は、その内部に入出力処理部１１．更新処理部１２、ログ監視部１３、修正処理部１４、抽出処理部１５、ログ記憶部１６、抽出用バッファメモリ１７および排他制御部１８を備えている。
また、データベース２は、その内部にデータ２１，２２，２３を記憶し、データベース５は、その内部にデータ５１，５２を記憶している。データベース２およびデータベース５の内部におけるデータ管理は、ページと呼称される入出力単位を用いておこなう。
端末６がデータベース２に記憶されたデータを更新する場合、端末６はネットワーク３を介してデータベース複製装置１にアクセスする。データベース複製装置１内部の入出力処理部１１は、端末６からのアクセスを更新処理部１２に送信する。更新処理部１２は、端末６からのアクセスをもとに排他制御部１８を介して所望のデータを記憶するページの処理排他を獲得し、データの読み出しおよび書き込みをおこなう。
一方、データベース２に記憶したデータを抽出し、データベース５をデータベース２の複製とする場合、まず、抽出処理部１５が排他制御部１８を介して抽出するデータの処理排他を獲得する。つぎに、抽出処理部１５は、所望のデータを抽出し、このデータに対する処理排他を開放する。その後、抽出処理部１５は、抽出したデータをデータベース創成装置４に送信する。
ここで、抽出処理部１５は、データの抽出を実行するページに対してのみ処理排他を獲得し、他のページに対する処理排他は獲得しない。したがって、抽出処理部１５が抽出を実行しているデータは更新ができないが、他のデータは任意に更新可能となる。
具体的には、抽出処理部１５は、まずデータベース２が記憶するデータ２１に対して処理排他を獲得し、データ２１の内容を抽出用バッファメモリ１７に記憶させた後、データ２１に対する処理排他を開放する。つぎに、抽出処理部１５は、抽出用バッファメモリ１７に記憶したデータ２１の内容、ここでは「Ａ」を入出力処理部１１に出力する。入出力処理部１１は、データ２１の内容「Ａ」を、ネットワーク３を介してデータベース創成装置４に送信する。データベース創成装置４は受信したデータ２１の内容である「Ａ」を、データベース５のデータ５１の内容として書き込む。
抽出処理部１５は、データ２１の内容を送信した後、データ２２に対する処理排他を獲得し、データ２２の内容を抽出用バッファメモリ１７に記憶させ、データ２２に対する処理排他を開放する。その後、抽出処理部１５は、抽出用バッファメモリ１７に記憶したデータ２２の内容、ここでは「Ｂ」を入出力処理部１１に出力する。入出力処理部１１は、データ２２の内容「Ｂ」を、ネットワーク３を介してデータベース創成装置４に送信する。データベース創成装置４は受信したデータ２２の内容である「Ｂ」を、データベース５のデータ５２の内容として書き込む。
このように、抽出処理部１５は、データベース２が記憶する複数のデータに対して順次処理排他を獲得し、データの抽出を実行する。
したがって、更新処理部１２は、抽出処理部１５が抽出を実行中であるデータ以外は随時更新が可能である。この更新処理部１２が実行する更新によってデータベース２とデータベース５の内容に不整合が生じることを防ぐため、ログ監視部１３は、更新処理部１２による更新動作を監視する。
データベース２とデータベース５の内容に不整合が生じるのは、データベース２からの抽出が終了し、データベース創成装置４に送信されたデータ、すなわち抽出済データに対して更新があった場合であり、抽出が未実行であるデータ、すなわち未抽出データに対する更新はデータベース間の不整合を生じない。
したがって、ログ監視部１３は、抽出処理部１５がデータの抽出を実行した場合に、そのデータに対する更新の監視を開始する。ログ監視部１３は、抽出済データに更新があった場合、その更新内容を更新ログとしてログ記憶部１６に記憶する。
修正処理部１４は、この更新ログをもとに、データ内容の修正を要求する修正要求を作成し、入出力処理部１１を介してデータベース創成装置４に送信する。データベース創成装置４は、この修正要求を受信した場合に、データベース５内部のデータ内容の修正をおこなう。したがって、更新処理部１２が抽出済データに対して更新を実行した場合、その更新内容は修正要求としてデータベース創成装置４に送信され、データベース５に反映されることとなり、データの内容の同期をとることができる。
また、抽出処理部１５が処理排他を獲得しているデータに対して更新要求があった場合、更新処理部１２は、その更新内容をログ記憶部１６に記憶し、抽出処理部１５が処理排他を開放するのを待って更新を実行する。すなわち、更新処理部１２は、更新処理の対象となるデータに対して、抽出処理部１５がアクセスを実行している場合、ログ記憶部１６を一時的な記憶領域として使用する。
したがって、ログ記憶部１６は、ログ監視部１３による更新ログの記憶と、更新処理部１２による一時的な記憶とに共用されることとなる。ここで、修正処理部１４は、更新処理部１２が記録した一時的な記憶を、更新ログと同様に取り扱い、更新処理部１２が記録した一時的な記憶をもとに修正要求を発行する。このように、更新処理部１２が形成する一時記憶を更新ログとして取り扱うことで、ログ監視部１３が独立して更新ログを形成する必要を排し、使用する記憶容量を減少させることができる。
つぎに、第２図および第３図を参照し、データベース複製方法について具体的に説明する。データベース２の内容をデータベース５に複製する場合、第２図（ａ）に示すように、まず、抽出処理部１５がデータベース２のデータ２１に対する処理排他を獲得し、データ２１を読み出してデータベース創成装置４に送信する。つぎに、データベース創成装置４がデータベース５のデータ５１に対して処理排他を獲得し、書き込みを実行する。したがって、データ５１の内容は、データ２１と同一の「Ａ０」となる。
ここで、データベース２においては、データ２１に対して選択的に処理排他を獲得しているため、データ２２およびデータ２３は更新可能である。したがって、第２図（ｂ）に示すように、データ２３の内容を「Ｃ０」から「Ｃ１」に書き換える更新要求３１が発生した場合、データ２３の内容は「Ｃ１」に書き換えられる。
データ２１の内容をデータ５１に複製した後、第２図（ｃ）に示すように、データ２１およびデータ５１に対する処理排他を開放し、データ２２に対して処理排他を獲得する。つぎに、このデータ２２を読み出してデータベース創成装置４に送信する。データベース創成装置４は、データ５２に対して処理排他を獲得し、書き込みをおこなう。したがって、データ５２の内容は、データ２２と同一の「Ｂ０」となる。
このデータ２２の抽出中にデータ２２の内容を「Ｂ０」から「Ｂ１」に書き換える更新要求３２が発生した場合、抽出処理部１５によってデータ２２の処理排他が獲得されているため、データ２２の更新ができない。したがって、この更新要求３２は、更新処理部１２によって一時記憶３２ｂとしてログ記憶部１６に記憶される。
データ２２の内容をデータ５２に複製した後、第３図（ａ）に示すように、データ２２およびデータ５２に対する処理排他を開放する。ここで、データ２２に対する処理排他が開放されたので、更新処理部１２は、一時記憶３２ｂを用いてデータ２２の内容を「Ｂ０」から「Ｂ１」に書き換える。また、修正処理部１４は、一時記憶３２ｂをもとにデータベース創成装置４に修正要求を送信し、データ５２の内容を「Ｂ０」から「Ｂ１」に書き換える。
つぎに、抽出処理部１５は、データ２３に対して処理排他を獲得し、このデータ２３を読み出してデータベース創成装置４に送信する。データベース創成装置４は、データ５３に対して処理排他を獲得し、書き込みをおこなう。したがって、データ５３の内容は、データ２３と同一の「Ｃ１」となる。
このデータ２３の複製中にデータ２１の内容を「Ａ０」から「Ａ１」に書き換える更新要求３３が発生した場合、第３図（ｂ）に示すように、データ２１に対する処理排他は開放されているので、更新処理部１２は、データ２１の内容を「Ａ０」から「Ａ１」に書き換える。ここで、データ２１は、抽出処理部１５によって抽出が実行済みであるので、ログ監視部１３は、データ２１の更新内容を更新ログ３３ａとしてログ記憶部１６に記憶する。
修正処理部１４は、第３図（ｃ）に示すように、更新ログ３３ａをもとにデータベース創成装置４に修正要求を送信し、データ２１の内容を「Ａ０」から「Ａ１」に書き換える。したがって、データベース５の内容は、データベース２の更新を反映し、データベース２とデータベース５の内容の同一性が確保させることとなる。
つぎに、第４図を参照し、抽出処理部１５の動作について詳細に説明する。データベース２を複製する場合、抽出処理部１５は、まず、抽出するデータのうち、最初のページを抽出対象ページに指定する（ステップＳ１０１）。つぎに、抽出処理部１５は、抽出対象ページに対する処理排他を獲得し（ステップＳ１０２）、抽出対象ページの更新ログの取得を開始する（ステップＳ１０３）。
その後、抽出処理部１５は、抽出対象ページのページイメージ、すなわち抽出対象ページが記憶するデータの内容を抽出用バッファメモリ１７に記憶し（ステップＳ１０４）、抽出対象ページに対する処理排他を開放する（ステップＳ１０５）。
続いて、抽出処理部１５は、抽出用バッファメモリ１７に記憶したページイメージをデータベース創成装置４に送信する（ステップＳ１０６）。ここで、抽出処理部１５は、すべてのページを抽出したか、すなわちすべてのデータの抽出を完了したかを判定する（ステップＳ１０７）。
まだ抽出を完了していないデータがある場合（ステップＳ１０７，Ｎｏ）、抽出処理部１５は、つぎのページを抽出対象ページに指定し（ステップＳ１０８）、抽出対象ページに対する処理排他を獲得する（ステップＳ１０２）。
一方、すべてのページを抽出した場合（ステップＳ１０７，Ｙｅｓ）、抽出処理部１５は、抽出するデータ全体に対する処理排他を獲得する（ステップＳ１０９）。つぎに、更新ログの取得を終了し、データベース複製完了の処理をおこなった後（ステップＳ１１０）、データ全体に対する処理排他を開放し（ステップＳ１１１）、処理動作を終了する。
ここで、データベース複製完了の処理について説明する。複製元のデータベース２がメインとなるデータベースであり、複製先のデータベース５がバックアップとして機能する場合、データベースの複製後に端末６がアクセスするデータベースはデータベース２である。この場合、データベース複製完了の動作としては、ログ監視部１３による監視を終了し、更新処理部１２による更新処理を継続させればよい。
一方で、複製元のデータベース２がバックアップであり、複製先のデータベース５がメインのデータベースとして機能する場合、すなわち、データベースの複製がバックアップからのリカバリである場合、データベースの複製後に端末６がアクセスするデータベースはデータベース５となる。したがって、この場合のデータベース複製完了の処理としては、更新処理部１２による更新動作を終了し、端末６のアクセス先を切り替える処理が必要となる。
つぎに、ログ監視部１３による監視対象と、ログ記憶部１３に記憶される更新ログと、についてさらに説明する。ログ監視部１３は、抽出処理部１５による抽出処理が完了したデータについてその更新を監視する。したがって、抽出処理部１５がデータを抽出するごとに、ログ監視部１３の監視対象となるデータが増えることとなる。第５図に、抽出処理部１５による抽出動作と、ログ監視部１３による監視とのタイミングチャートを示す。
第５図に示すように、抽出処理部１５がデータ２１の抽出を開始した場合にログ監視部１３はデータ２１の監視を開始する。このログ監視部１３によるデータ２１の監視は、抽出処理部１５がデータ２１の抽出を完了した後も継続する。また、抽出処理部２１がデータ２２の抽出を開始した場合に、ログ監視部１３は、データ２２を監視対象に追加する。したがって、この時点でログ監視部１３は、データ２１およびデータ２２を共に監視することとなる。
さらに、抽出処理部１５がデータ２２の抽出を完了し、データ２３の抽出を開始した場合に、ログ監視部１３は、データ２３の監視を開始する。このように、ログ監視部１３の監視対象となるデータが増えていく。これらのデータの監視は、データベース複製の終了は、データベースの複製完了時に一括して行われるので、複製の完了直前には、ログ監視部１３は、全データを監視していることとなる。
この監視の実行中にデータの更新が行われた場合、その更新内容は更新ログとしてログ記憶部１６に記憶される。この更新ログは、修正処理部１４によって修正要求が発行され、データベース５に更新内容が反映された後は、任意に破棄可能である。修正処理部１４による修正要求の発行は、更新ログが形成される度に随時実行されるので、ログ記憶部１６は、更新ログを長時間蓄積する必要なく、使用する記憶容量を必要最小限とすることができる。
つぎに、データベース創成装置４によるデータベース５の構築について説明する。第６図は、データベース創成装置４の概要構成を説明する説明図である。データベース創成装置４は、その内部に入出力処理部４１、抽出データ処理部４２、修正要求処理部４３および排他制御部４６を備えている。
入出力処理部４１は、抽出処理部１５が抽出したページイメージ、すなわち抽出データを受信した場合、受信した抽出データを抽出データ処理部４２に送出する。また、入出力処理部４１は、修正処理部１４が送信した修正要求を受信した場合、この修正要求を修正要求処理部４３に送出する。
抽出データ処理部４２は、抽出データを受信した場合に、排他制御部４６を介してデータベース５に対する処理排他を獲得し、抽出データの内容をデータベース５に書き込む。また、抽出データ処理部４２は、抽出データを受信した場合に、修正要求処理部４３に対して修正処理の開始を指示する。
修正要求処理部４３は、抽出データ処理部４２の指示によって修正要求の受信を開始する。この後、修正要求を受信した場合に、修正要求処理部４３は、排他制御部４６を介してデータベース５に対する処理排他を獲得し、修正要求の内容をデータベース５に反映させる。
ここで第７図を参照し、抽出データ処理部４２の処理動作を具体的に説明する。第７図において、抽出データ処理部４２は、まず、データベース５の全ページに対して排他処理を獲得する（ステップＳ２０１）。つぎに、抽出データ処理部４２は、修正要求処理部４３に修正処理の開始要求を送信する（ステップＳ２０２）。つづいて、抽出データ処理部４２は、データベース５内におけるデータの書き込み位置を決定する（ステップＳ２０３）。
この書き込み位置の決定は、受信した抽出データに含まれるページイメージについて、その複製を作成する場所を決定するものであり、既にデータベース５の内部に必要なページが存在していれば、存在するページから書き込み先を選択し、データベース５の内部に必要なページが存在しない場合、必要なページを作成する。
つぎに、抽出データ処理部４２は、ページに対してデータの書き込みを実行し（ステップＳ２０４）、ページイメージの複製を作成する。つづいて、抽出データ処理部４２は、データの書き込みが終了したページに対する処理排他を開放する（ステップＳ２０５）。
その後、抽出データ処理部４２は、すべてのデータの書き込みが終了したか否かを判定し（ステップＳ２０６）、すべてのデータの書き込みが終了した場合（ステップＳ２０６，Ｙｅｓ）に、処理を終了する。一方、書き込みが終了していないデータが残っている場合（ステップＳ２０６，Ｎｏ）、抽出データ処理部４２は、データを書き込むページを決定し（ステップＳ２０３）、処理を継続する。
つぎに、第８図を参照し、修正要求処理部４３の処理動作を具体的に説明する。第８図において、修正要求処理部４３は、まず、抽出データ処理部４２から修正処理の開始要求を受信し、修正要求の受け付けを開始する（ステップＳ３０１）。つぎに、修正要求処理部４３は、データベース５の中から受信した修正要求に対応するページを特定し（ステップ３０２）、特定したページに対する処理排他を獲得する（ステップＳ３０３）。
つづいて、修正要求処理部４３は、修正要求の内容をもとにデータの書き込みを行い、修正要求の内容をデータベース５反映させる（ステップＳ３０４）。その後、修正要求処理部４３は、修正処理が終了したページに対する処理排他を開放する（ステップＳ３０５）。
つぎに、修正要求処理部４３は、すべての修正要求に対する処理を終了したか否かを判定し（ステップＳ３０６）、すべての修正要求に対する処理が終了した場合（ステップＳ３０６，Ｙｅｓ）に、処理動作を終了する。一方、処理が終了していない修正要求が残っている場合（ステップＳ３０６，Ｎｏ）、再度ステップＳ３０２に移行し、処理動作を継続する。
このデータベース創成装置４では、抽出データ処理部４２は、データの書き込みが終了したページに対する処理排他を順次開放していく。したがって、修正要求処理部４３は、抽出データ処理部４２によるデータベースの再構築と平行してデータベースの修正処理を実行することができる。
上述してきたように、本実施の形態にかかるデータベース複製装置１では、データベースの複製をおこなう場合に、抽出を実行中のデータに対してのみ処理排他を獲得し、さらに、抽出済データに対する更新を監視して更新ログを作成し、この更新ログをもとに、修正要求を発行することでデータベース２に対する更新をデータベース５に反映させるようにしているので、抽出処理と更新処理とを平行して実行することができ、データベースの更新を停止させることなくデータベースの複製を創成することができる。
また、データベース２の更新のための一時記憶と、データベース２とデータベース５との同期処理のための更新ログとを、共にログ記憶部１６に記憶することで装置構成を簡易化し、さらに修正処理部１４がデータベース２の更新のための一時記憶を更新ログとして取り扱うことで、ログ監視部１３が独立して更新ログを形成する必要を排し、使用する記憶容量を必要最小限とすることができる。
さらに、データベース創成装置４において、抽出データ処理部４２が、データの書き込みが終了したページに対する処理排他を順次開放するので、抽出データ処理部４２によるデータベースの再構築と平行してデータベースの同期処理を実行することができる。
なお、上述の実施の形態においては、説明を簡明にするため、データベース２が記憶するデータをデータ２１〜２３としたが、この記載はデータベース２のデータ記憶方式およびデータ量を規定するものではなく、任意の方式かつ任意のデータ量のデータベースについて本発明を適用することができる。
また、上述の実施の形態では、データベース２を複製元としてデータベース複製装置１を接続し、データベース５を複製先としてデータベース創成装置４を接続したが、データベース創成装置４が有する抽出データ処理部４２および修正要求処理部４３をデータベース複製装置１にさらに付加することで、データベースの複製および創成をともに実行可能なデータベース複製装置を得ることができる。
さらに、上述の実施の形態では、データベース複製方法の実行に特に適したデータベース複製装置について説明したが、この実施の形態に示した機能をソフトウェアによって実現することで、任意のコンピュータ端末上で実行可能なデータベース複製プログラムとして実施することができる。
以上説明したように、本発明によれば、データベースが記憶した複数のデータを順次抽出し、抽出が終了したデータに対するデータ内容の更新を監視し、抽出済データに対して更新があった場合に更新内容を更新ログとして記憶し、この更新ログをもとに抽出したデータの内容を修正することで、抽出したデータの内容を常に最新の状態に保つことができるので、データベース全体に対する処理排他を短縮し、データベースの複製とデータベースの更新とを同時に実行可能なデータベース複製方法およびデータベース複製装置を提供することができるという効果を奏する。
また、本発明によれば、ネットワークを介して接続された複製先データベースに抽出したデータを送信し、ネットワークを介して複製先データベースに修正要求を送信することで、ネットワークを介して接続されたデータベース間でデータ内容を同期させることができるので、ネットワーク経由のデータベース複製において、データベースに対する処理排他を短縮し、データベースの複製とデータベースの更新とを同時に実行可能とすることができるという効果を奏する。
また、本発明によれば、抽出を実行中のデータに対して選択的に処理排他を獲得し、抽出を実行済みのデータおよび抽出を実行前のデータに対する処理排他を開放するようにしているので、データベースに対する処理排他を短縮し、データベースの複製とデータベースの更新とを同時に実行可能なデータベース複製方法およびデータベース複製装置を提供することができるという効果を奏する。
また、本発明によれば、抽出を実行中のデータに対して更新があった場合、当該更新内容を一時的に記憶し、抽出終了後に更新を実行するようにしているので、データベースに対する処理排他を短縮し、データベースの複製とデータベースの更新とを同時に実行可能なデータベース複製方法およびデータベース複製装置を提供することができるという効果を奏する。
また、本発明によれば、抽出を実行中のデータに対して発生した更新について、更新内容の一時的な記憶をもとに修正要求を発行するので、データベースに対する処理排他を短縮し、データベースの複製とデータベースの更新とを同時に実行可能なデータベース複製方法およびデータベース複製装置を提供することができるという効果を奏する。
また、本発明によれば、更新ログと一時記憶手段によって記憶される更新内容とを同一の記憶領域に記憶し、記憶領域の共用をおこなうようことができるので、データベースに対する処理排他を短縮し、データベースの複製とデータベースの更新とを同時に実行可能で、かつ記憶領域の使用量の小さいデータベース複製装置を提供することができるという効果を奏する。
また、本発明によれば、データベースに対して複数のデータを順次書き込む場合に、書き込みが終了したデータについて順次処理排他を開放し、書込み終了後のデータを更新可能とすることができるので、データベースに対する処理排他を短縮し、データベースの構築とデータベースの同期とを平行して実行可能なデータベース創成方法およびデータベース創成装置を提供することができるという効果を奏する。
【産業上の利用可能性】  以上のように、本発明にかかるデータベース複製方法、データベース複製装置、データベース創成方法およびデータベース創成装置は、データベースの運用に対して有用であり、特に無停止稼動のデータベースの複製をおこなう場合に有用である。
【図１】
2004031957.tif 000003
【図２】
2004031957.tif 000004
【図３】
2004031957.tif 000005
【図４】
2004031957.tif 000006
【図５】
2004031957.tif 000007
【図６】
2004031957.tif 000008
【図７】
2004031957.tif 000009
【図８】
2004031957.tif 000010
【国際調査報告】
2004031957.tif 000011
2004031957.tif 000012