(57)【要約】【課題】  分散配置データベースにおいて、低コスト短時間でのバックアップを可能とする非同期バックアップ方法を提供する。【解決手段】  通常業務を遂行するフロントシステムとデータバックアップを行うバックアップシステムからなり、フロントシステムのデータベースの更新ログのうちレコードが重複した場合に上書き更新可能なレコードか否かを更新ログに付与し、上書き更新可能であればバックアップシステムへの送信前に更新ログの重複レコードを最新のレコードで上書き更新することで送信データ量を削減する。同様の処理をバックアップシステム受信後にも行い、バックアップシステムのデータベースへの更新ログ反映時間も短縮する。【選択図】      図１
2013178685.tif 000002
【特許請求の範囲】
【請求項１】
データ処理を実行するフロントシステムと、
前記フロントシステムのデータバックアップを行うバックアップシステムと、
を含み、
前記フロントシステムは、
前記フロントシステム内にて随時更新されるフロントシステムデータベースと、
前記バックアップシステム内にて、前記フロントシステムデータベースをバックアップするバックアップシステムデータベースと、
前記バックアップシステムにフロントシステムデータベースの更新ログを送る際、重複したレコードに関し後のレコードで上書き更新する対象か否かを記録した更新ログ削減対象管理表を保存管理する更新ログ削減対象管理部と、
前記フロントシステムデータベースの更新ログを更新ログテーブルとして記憶する更新ログテーブル記憶部と、
前記フロントシステムデータベースの更新ログをレコードキー、レコード内容に整理し、かつ前記更新ログ削減対象管理部の管理表を参照し、上書き更新対象のレコードか否かを更新ログに付加し、上書き更新対象レコードであれば重複するレコードは後のレコードで上書きし前記更新ログテーブル記憶部に出力し、前記フロントシステムデータベースを更新していたアプリケーションが更新をコミットした時点で更新ログを更新ログ送信制御部に送信するデータベース更新制御部と、
前記データベース更新制御部から送信された更新ログを、更新ログ格納表として記憶するフロントシステム更新ログ格納表記憶部と、
前記データベース更新制御部から送信された更新ログの更新があった場合、バックアップシステムへ送信する単位にまとめ、上書き更新対象レコードであれば重複するレコードは後のレコードで上書きし、前記バックアップシステムに更新ログを送信する更新ログ送信制御部と、
を含み、
前記バックアップシステムは、
前記フロントシステムから送信された更新ログを更新ログ格納表として記憶するバックアップシステム更新ログ格納表記憶部と、
前記更新ログ送信制御部から送信された更新ログの更新があった場合、上書き更新対象レコードであれば重複するレコードは後のレコードで上書きし、システム管理者によって設定されたタイミングで前記バックアップシステムデータベースを更新ログ格納表の更新ログの内容で更新する更新ログ受信制御部と
を含む非同期バックアップシステム。
【請求項２】
前記フロントシステムと前記バックアップシステムが分散配置データベースで構成され、前記更新ログのレコードキーによって並列処理を行う請求項１記載の非同期バックアップシステム。
【請求項３】
データ処理を実行するフロントシステムと、
前記フロントシステムのデータバックアップを行うバックアップシステムと、
を含むデータ処理システムにおける前記フロントシステムであって、
前記フロントシステム内にて随時更新されるフロントシステムデータベースと、
前記バックアップシステムにフロントシステムデータベースの更新ログを送る際、重複したレコードに関し後のレコードで上書き更新する対象か否かを記録した更新ログ削減対象管理表を保存管理する更新ログ削減対象管理部と、
前記フロントシステムデータベースの更新ログを更新ログテーブルとして記憶する更新ログテーブル記憶部と、
前記フロントシステムデータベースの更新ログをレコードキー、レコード内容に整理し、かつ前記更新ログ削減対象管理部の管理表を参照し、上書き更新対象のレコードか否かを更新ログに付加し、上書き更新対象レコードであれば重複するレコードは後のレコードで上書きし前記更新ログテーブル記憶部に出力し、前記フロントシステムデータベースを更新していたアプリケーションが更新をコミットした時点で更新ログを更新ログ送信制御部に送信するデータベース更新制御部と、
前記データベース更新制御部から送信された更新ログを、更新ログ格納表として記憶するフロントシステム更新ログ格納表記憶部と、
前記データベース更新制御部から送信された更新ログの更新があった場合、バックアップシステムへ送信する単位にまとめ、上書き更新対象レコードであれば重複するレコードは後のレコードで上書きし、前記バックアップシステムに更新ログを送信する更新ログ送信制御部と、
を含むフロントシステム。
【請求項４】
データベース更新制御部がフロントシステムデータベースの更新ログをレコードキー、レコード内容に整理し、
前記データベース更新制御部が更新ログ削減対象管理部の管理表を参照し、上書き更新対象のレコードか否かを前記更新ログに付加し更新ログテーブルに追加し、
上書き更新対象レコードであれば、前記データベース更新制御部が重複するレコードは後のレコードで上書きし前記更新ログテーブルを更新し、
前記フロントシステムデータベースを更新していたアプリケーションが更新をコミットした時点で前記データベース更新制御部が前記更新ログテーブルの更新ログを更新ログ送信制御部に送信し、
前記更新ログ送信制御部が受信した更新ログをバックアップシステムへ送信する単位にまとめフロントシステム更新ログ格納表記憶部の更新ログ格納表に追加し、
上書き更新対象レコードであれば、前記更新ログ送信制御部が重複するレコードは後のレコードで上書きし前記更新ログ格納表を更新し、
前記バックアップシステムに更新ログ格納表の内容で前記更新ログを送信し、
更新ログ受信制御部が前記更新ログを受信し、バックアップシステム更新ログ格納表記憶部の更新ログ格納表に追加し、
上書き更新対象レコードであれば、前記更新ログ受信制御部が重複するレコードは後のレコードで上書きし前記バックアップシステム更新ログ格納表記憶部の更新ログ格納表を更新し、
前記バックアップシステムデータベースを前記更新ログ格納表の更新ログの内容で更新する
非同期バックアップ方法。
【請求項５】
データベース更新制御部がフロントシステムデータベースの更新ログをレコードキー、レコード内容に整理し、
前記データベース更新制御部が更新ログ削減対象管理部の管理表を参照し、上書き更新対象のレコードか否かを前記更新ログに付加し更新ログテーブルに追加し、
上書き更新対象レコードであれば、前記データベース更新制御部が重複するレコードは後のレコードで上書きし前記更新ログテーブルを更新し、
前記フロントシステムデータベースを更新していたアプリケーションが更新をコミットした時点で前記データベース更新制御部が前記更新ログテーブルの更新ログを更新ログ送信制御部に送信し、
前記更新ログ送信制御部が受信した更新ログをバックアップシステムへ送信する単位にまとめフロントシステム更新ログ格納表記憶部の更新ログ格納表に追加し、
上書き更新対象レコードであれば、前記更新ログ送信制御部が重複するレコードは後のレコードで上書きし前記更新ログ格納表を更新し、
前記バックアップシステムに更新ログ格納表の内容で前記更新ログを送信し、
更新ログ受信制御部が前記更新ログを受信し、バックアップシステム更新ログ格納表記憶部の更新ログ格納表に追加し、
上書き更新対象レコードであれば、前記更新ログ受信制御部が重複するレコードは後のレコードで上書きし前記バックアップシステム更新ログ格納表記憶部の更新ログ格納表を更新し、
前記バックアップシステムデータベースを前記更新ログ格納表の更新ログの内容で更新する処理
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、非同期バックアップ機能を有するデータ処理システム、そのシステムに使用されるフロントシステム、バックアップ方法、及びそのためのプログラムに関する。
【背景技術】
【０００２】
分散配置データベースにおいて、非同期バックアップを実施する技術が知られている。この技術は、フロントシステムのデータベースが更新された場合、バックアップシステムのデータベースの更新を待たずにフロントシステムのデータベースの更新を許可するシステムである。フロントシステムのデータベースの更新不可時間が最小限に抑えられる一方、バックアップシステムへ送信する更新ログのデータサイズが大きいとバックアップシステムの更新に要する時間が長くなり、データベース間の不整合が発生しやすくなる問題がある。
【０００３】
非同期バックアップ技術の一例が特許文献１に記載されている。特許文献１に記載された非同期バックアップ技術において、フロントシステムは、バックアップの際、更新ログであるトランザクションログ（Ｔログ）と、更新前イメージログ（Ｂログ）と、更新後イメージログ（Ａログ）をバックアップシステムであるセカンダリーシステムに送付し、データの同期を保つ。これにより、ファイル全体をバックアップする場合と比べて短時間低コストでのバックアップが可能となる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００１−３５６９４５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した特許文献１に記載された技術は、フロントシステムの更新のたびに、トランザクションログ（Ｔログ）と更新前イメージログ（Ｂログ）と更新後イメージログ（Ａログ）の３点をバックアップシステムに送付する必要がある。したがって、フロントシステムの更新がなされている間は常にフロントシステムからバックアップシステムにデータが送信されている状態となる。したがって、技術文献１に記載された技術は、フロントシステムとバックアップシステムとのバックアップデータの通信量が莫大となり、短時間でのバックアップができない。また、通信量が膨大になることにより、通信費が高くなり、低コストとは言えないという問題点がある。
【０００６】
本発明の目的の一例は、上述した問題点を解決できる非同期バックアップ機能を有するデータ処理システム、バックアップ方法、及びそのためのプログラムを提供することにある。
【課題を解決するための手段】
【０００７】
本発明の一形態における第一の非同期バックアップシステムは、
通常業務を遂行するフロントシステムと、
前記フロントシステムのデータバックアップを行うバックアップシステムと、
前記フロントシステム内にて随時更新されるフロントシステムデータベースと、
前記バックアップシステム内にて、前記フロントシステムデータベースをバックアップするバックアップシステムデータベースと、
前記バックアップシステムにフロントシステムデータベースの更新ログを送る際、重複したレコードに関し後のレコードで上書き更新する対象か否かを記録した更新ログ削減対象管理表を保存管理する更新ログ削減対象管理部と、
前記フロントシステムデータベースを更新していたアプリケーションが更新をコミットするまで、前記フロントシステムデータベースの更新ログを更新ログテーブルとして記憶する更新ログテーブル記憶部と、
前記フロントシステムデータベースの更新ログをレコードキー、レコード内容に整理し、かつ前記更新ログ削減対象管理部の管理表を参照し、上書き更新対象のレコードか否かを更新ログに付加し、上書き更新対象レコードであれば重複するレコードは後のレコードで上書きし前記更新ログテーブル記憶部に出力し、前記フロントシステムデータベースを更新していたアプリケーションが更新をコミットした時点で更新ログを更新ログ送信制御部に送信するデータベース更新制御部と、
前記データベース更新制御部から送信された更新ログを、更新ログ格納表として記憶するフロントシステム更新ログ格納表記憶部と、
前記データベース更新制御部から送信された更新ログの更新があった場合、バックアップシステムへ送信する単位にまとめ、上書き更新対象レコードであれば重複するレコードは後のレコードで上書きし、あらかじめシステム管理者によって設定された送信のタイミングで前記バックアップシステムに更新ログを送信する更新ログ送信制御部と、
前記フロントシステムから送信された更新ログを更新ログ格納表として記憶するバックアップシステム更新ログ格納表記憶部と、
前記更新ログ送信制御部から送信された更新ログの更新があった場合、上書き更新対象レコードであれば重複するレコードは後のレコードで上書きし、システム管理者によって設定されたタイミングで前記バックアップシステムデータベースを更新ログ格納表の更新ログの内容で更新する更新ログ受信制御部と
を含む。
【０００８】
本発明の一形態における第一の分散配置データベースにおける非同期バックアップ方法は、
データベース更新制御部がフロントシステムデータベースの更新ログをレコードキー、レコード内容に整理し、
データベース更新制御部が更新ログ削減対象管理部の管理表を参照し、上書き更新対象のレコードか否かを更新ログに付加し更新ログテーブルに追加し、
上書き更新対象レコードであれば、データベース更新制御部が重複するレコードは後のレコードで上書きし前記更新ログテーブルを更新し、
前記フロントシステムデータベースを更新していたアプリケーションが更新をコミットした時点でデータベース更新制御部が前記更新ログテーブルの更新ログを更新ログ送信制御部に送信し、
更新ログ送信制御部が受信した更新ログをバックアップシステムへ送信する単位にまとめフロントシステム更新ログ格納表記憶部の更新ログ格納表に追加し、
上書き更新対象レコードであれば、前記更新ログ送信制御部が重複するレコードは後のレコードで上書きし前記更新ログ格納表を更新し、
システム管理者によって設定されたタイミングで前記バックアップシステムに更新ログ格納表の内容で更新ログを送信し、
更新ログ受信制御部が更新ログを受信し、
上書き更新対象レコードであれば、前記更新ログ受信制御部が重複するレコードは後のレコードで上書きし更新ログ格納表を更新し、
システム管理者によって設定されたタイミングで前記バックアップシステムデータベースを前記更新ログ格納表の更新ログの内容で更新する。
【０００９】
本発明の一形態における第一の分散配置データベースにおける非同期バックアッププログラムは、コンピュータに、
データベース更新制御部がフロントシステムデータベースの更新ログをレコードキー、レコード内容に整理し、
データベース更新制御部が更新ログ削減対象管理部の管理表を参照し、上書き更新対象のレコードか否かを更新ログに付加し更新ログテーブルに追加し、
上書き更新対象レコードであれば、データベース更新制御部が重複するレコードは後のレコードで上書きし前記更新ログテーブルを更新し、
前記フロントシステムデータベースを更新していたアプリケーションが更新をコミットした時点でデータベース更新制御部が前記更新ログテーブルの更新ログを更新ログ送信制御部に送信し、
更新ログ送信制御部が受信した更新ログをバックアップシステムへ送信する単位にまとめフロントシステム更新ログ格納表記憶部の更新ログ格納表に追加し、
上書き更新対象レコードであれば、前記更新ログ送信制御部が重複するレコードは後のレコードで上書きし前記更新ログ格納表を更新し、
システム管理者によって設定されたタイミングで前記バックアップシステムに更新ログ格納表の内容で更新ログを送信し、
更新ログ受信制御部が更新ログを受信し、
上書き更新対象レコードであれば、前記更新ログ受信制御部が重複するレコードは後のレコードで上書きし更新ログ格納表を更新し、
システム管理者によって設定されたタイミングで前記バックアップシステムデータベースを前記更新ログ格納表の更新ログの内容で更新する処理
を実行させる。
【発明の効果】
【００１０】
本発明によれば、フロントシステムからバックアップシステムへのデータ転送量が少なくなり低コストとなる。また、転送データが小さくなることからバックアップにかかる時間が短くなり、フロントシステム−バックアップシステム間でデータの同期ができていない時間が短縮されるという効果が得られる。
【図面の簡単な説明】
【００１１】
【図１】図１は、本発明の第一の実施形態のデータ処理システムの構成を示すブロック図である。
【図２】図２は、第一の実施の形態におけるデータ処理システムをコンピュータ装置とその周辺装置で実現したハードウェア構成を示す図である。
【図３】図３は、第一の実施の形態における更新ログ削減対象管理部１０３に格納される更新ログ削減対象管理表１０３０の一例を示す図である。
【図４】図４は、第一の実施の形態における更新ログテーブル記憶部１０４に格納される更新ログテーブル１０４０、１０４１の一例を示す図である。
【図５】図５は、第一の実施の形態におけるフロントシステム更新ログ格納表記憶部１０５に格納される更新ログ格納表１０５０、１０５１の一例を示す図である。
【図６】図６は、第一の実施の形態におけるデータベース更新制御部１０１での更新ログ生成の動作を示すフローチャートである。
【図７】図７は、第一の実施の形態における更新ログ送信制御部１０２での更新ログのバックアップシステム２への送信の動作を示すフローチャートである。
【図８】図８は、第一の実施の形態における更新ログ受信制御部２０１での更新ログのバックアップシステムデータベース２００への反映の動作を示すフローチャートである。
【図９】図９は、第二の実施の形態におけるデータ処理システムをコンピュータ装置とその周辺装置で実現したハードウェア構成を示す図である。
【発明を実施するための形態】
【００１２】
次に、本発明の実施形態について図面を参照して詳細に説明する。
【００１３】
［第１の実施の形態］
図１は、本発明の第１の実施の形態におけるデータ処理システムの構成を示すブロック図である。図１を参照すると、データ処理システム１０００は、データ処理を実行するフロントシステム１と、そのデータバックアップのためのバックアップシステム２を備える。フロントシステム１は、ネットワーク３を経由してバックアップシステム２に接続される。フロントシステム１は、フロントシステムデータベース１００と、データベース更新制御部１０１と、更新ログ送信制御部１０２と、更新ログ削減対象管理部１０３と、更新ログテーブル記憶部１０４と、フロントシステム更新ログ格納表記憶部１０５を備える。また、バックアップシステム２は、バックアップシステムデータベース２００と、更新ログ受信制御部２０１と、バックアップシステム更新ログ格納表記憶部２０２を備える。
【００１４】
フロントシステム１およびバックアップシステム２は、それぞれ分散配置データベースにおけるコンピュータ装置またはサーバであるが、それ以外のデータ処理システムでのコンピュータ装置でも良い。分散配置データベースは、更新対象のレコードのキーごとに更新先のデータベースが決められているシステムである。フロントシステム１の各部は、処理系列ごとに存在し、バックアップ更新ログの反映は、並列に処理できるようにしてもよい。
【００１５】
次に、フロントシステム１の構成について説明する。
【００１６】
フロントシステムデータベース１００は、様々なアプリケーションから呼び出されるデータの集合体であり、複数のユーザによって共有される。本実施形態のデータ処理システム１０００は、フロントシステムデータベースのバックアップを実行する。そして、バックアップ先がバックアップシステムデータベース２００である。
【００１７】
データベース更新制御部１０１は、アプリケーションの実行によってフロントシステムデータベース１００におけるデータが更新されるとき、フロントシステムデータベース１００の更新ログのレコードキー、レコード内容を、データ更新に応じて生成する。また、データベース更新制御部１０１は、更新ログ削減対象管理部１０３の後述する管理表を参照し、更新ログのレコードが上書き更新対象のレコードか否かを判定する。さらに、データベース更新制御部１０１は、判定結果の情報を更新ログに付加し、更新ログテーブル記憶部１０４の更新ログテーブル１０４０（後述）に追加登録する。この場合、レコードが上書き更新対象レコードであれば、データベース更新制御部１０１は、更新ログのうちの重複するレコードを後のレコードで上書きすることで、更新ログテーブル１０４０を更新後の更新ログテーブル１０４１（後述）に更新する。さらに、データベース更新制御部１０１は、フロントシステムデータベース１００におけるデータを更新していたアプリケーションが更新をコミットした時点で、更新後の更新ログテーブル１０４１における更新ログを更新ログ送信制御部１０２に送信する。
【００１８】
更新ログ送信制御部１０２は、データベース更新制御部１０１から更新ログを受信し、更新ログをバックアップシステム２へ送信する単位（バックアップ先で反映できるトランザクション単位）に統合し、フロントシステム更新ログ格納表記憶部１０５の更新ログ格納表１０５０に記憶する。この場合、更新ログ送信制御部１０２は、受信した更新ログが上書き更新対象レコードであれば、更新ログのうちの重複するレコードを後のレコードで上書きすることで更新ログ格納表１０５０を更新ログ格納表１０５１に更新して登録する。さらに、更新ログ送信制御部１０２は、更新ログ格納表１０５から更新ログを読み出し、システム管理者によって設定されたタイミングで、バックアップシステム２の更新ログ受信制御部２０１に更新ログを送信する。
【００１９】
更新ログ削減対象管理部１０３は、バックアップシステム２にフロントシステムデータベース１００の更新ログを送る際、重複したレコードに関し後のレコードで上書き更新する対象か否かの情報を記録した更新ログ削減管理表１０３０を保存管理する。
【００２０】
更新ログテーブル記憶部１０４は、フロントシステムデータベース１００を更新していたアプリケーションが更新をコミットするまで、フロントシステムデータベース１００の更新ログを更新ログテーブル１０４０、１０４１として記憶する。
【００２１】
フロントシステム更新ログ格納表記憶部１０５は、データベース更新制御部１０１から受信された更新ログを更新ログ格納表１０５０、１０５１として記憶する。
【００２２】
次にバックアップシステム２の構成について説明する。
【００２３】
更新ログ受信制御部２０１は、更新ログ送信制御部１０２から更新ログを受信する。また、更新ログ受信制御部２０１は、受信した更新ログをバックアップシステム更新ログ格納表記憶部２０２の更新ログ格納表１０５０に追加する。この場合、更新ログ受信制御部２０１は、更新ログの更新があった場合、上書き更新対象レコードであれば重複するレコードは後のレコードで上書きし更新ログ格納表１０５１に更新し、システム管理者によって設定されたタイミングでバックアップシステムデータベース２００を更新ログの内容で更新する。
【００２４】
バックアップシステム更新ログ格納表記憶部２０２は、フロントシステム１から受信した更新ログを更新ログ格納表１０５０、１０５１として記憶する。
【００２５】
次に、更新ログ削減対象管理部１０３と更新ログテーブル記憶部１０４とフロントシステム更新ログ格納表記憶部１０５とバックアップシステム更新ログ格納表記憶部２０２に格納されるデータについて説明する。
【００２６】
図３は、本実施の形態に係る更新ログ削減対象管理部１０３に格納される更新ログ削減対象管理表１０３０の一例を示す図である。
【００２７】
図３に示す更新ログ削減対象管理表１０３０は、テーブル名と更新ログ削減対象のカラムのデータからなり、更新ログのどのテーブルが削減対象（上書き対象）であるかを示した記憶データである。「対象」と示されたテーブルの更新ログは、データベース更新制御部１０１、更新ログ送信制御部１０２および更新ログ受信制御部２０１によって、次のように処理される。すなわち、更新ログのうち重複するレコードは後のレコードで上書きされる。この結果、上書き前の重複するレコードは削減される。以降の説明で、この削除を上書き削除ともいう。
【００２８】
図４は、本実施の形態に係る更新ログテーブル記憶部１０４に格納される更新ログテーブル１０４０、１０４１の一例を示す図である。
【００２９】
図４に示す更新ログテーブル１０４０、１０４１は、レコードキー、テーブル名、上書き更新対象とレコード内容のカラムからなる。更新ログテーブル１０４０は、データベース更新制御部１０１で更新ログがレコードキー、レコード内容ごとに整理され生成された複数のレコードを記憶する。各レコードは、データベース更新制御部１０１によって上書き更新対象のレコードか否かの情報（上書き更新対象）も付加されている。この更新ログテーブル１０４０に対し、データベース更新制御部１０１は上書き更新対象レコードであれば重複するレコードは後のレコードで上書き削減し、更新ログテーブル１０４１を出力する。
【００３０】
図５は、本実施の形態に係るフロントシステム更新ログ格納表記憶部１０５に格納される更新ログ格納表１０５０、１０５１の一例を示す図である。
【００３１】
図５に示す更新ログ格納表１０５０、１０５１は、通番、更新通番、レコードキー、上書き更新対象とレコード内容のカラムのデータからなる。更新ログ格納表１０５０は、データベース更新制御部１０１が新たな更新ログを受信するたびに更新通番を新たに付加されたデータである。この更新ログ格納表１０５０に対し、更新ログ送信制御部１０２は、更新ログの更新があった場合、バックアップシステム２へ送信する単位に統合し、上書き更新対象レコードであれば重複するレコードは後のレコードで上書き削減する。更新ログ格納表１０５１は、上書き削除後の更新ログ格納表を示す。
【００３２】
図２は、本発明の第一の実施の形態におけるフロントシステム１およびバックアップシステム２をコンピュータおよびその周辺装置で実現したハードウェア構成を示す図である。図２に示されるように、フロントシステム１およびバックアップシステム２は、それぞれＣＰＵ１１、２１、出力装置１２、２２、入力装置１３、２３、主記憶装置１４、２４、二次記憶装置１５、２５を含む。また、フロントシステム１およびバックアップシステム２は、それぞれネットワークインタフェース１０、２０を介してネットワーク３に接続されている。
【００３３】
ＣＰＵ１１、２１は、オペレーティングシステムを動作させて本発明の第一の実施の形態に係るそれぞれフロントシステム１およびバックアップシステム２の全体を制御する。また、ＣＰＵ１１、２１は、例えば二次記憶装置１５、２５から主記憶装置１４、２４にプログラムやデータを読み出し、第一の実施の形態におけるデータベース更新制御部１０１、更新ログ送信制御部１０２、および更新ログ受信制御部２０１として各種の処理を実行する。
【００３４】
二次記憶装置１５、２５は、例えば光ディスク、フレキシブルディスク、磁気光ディスク、外付けハードディスク、または半導体メモリ等であって、コンピュータプログラムをコンピュータ読み取り可能に記録する。また、コンピュータプログラムは、通信網に接続されている図示しない外部コンピュータからダウンロードされてもよい。
【００３５】
入力装置１３、２３は、例えばマウスやキーボード、内蔵のキーボタンなどで実現され、入力操作に用いられる。入力装置１３、２３は、マウスやキーボード、内蔵のキーボタンに限らず、例えばタッチパネルでもよい。
【００３６】
出力装置１２、２２は、例えばディスプレイで実現され、出力を確認するために用いられる。
【００３７】
なお、第一の実施の形態の説明において利用されるブロック図（図１）には、ハードウェア単位の構成ではなく、機能単位のブロックが示されている。これらの機能ブロックは図２に示されるハードウェア構成によって実現される。ただし、フロントシステム１およびバックアップシステム２が備える各部の実現手段は特に限定されない。すなわち、フロントシステム１およびバックアップシステム２は、物理的に結合した一つの装置により実現されてもよいし、物理的に分離した二つ以上の装置を有線または無線で接続し、これら複数の装置により実現されてもよい。
【００３８】
また、ＣＰＵ１１、２１は、二次記憶装置１５、２５に記録されているコンピュータプログラムを読み込み、そのプログラムにしたがって、データベース更新制御部１０１、更新ログ送信制御部１０２、および更新ログ受信制御部２０１として動作してもよい。
【００３９】
また、前述のプログラムのコードを記録した記録媒体（または記憶媒体）が、フロントシステム１およびバックアップシステム２に供給され、フロントシステム１およびバックアップシステム２が記録媒体に格納されたプログラムのコードを読み出し実行してもよい。すなわち、本発明は、第一の実施の形態におけるフロントシステム１およびバックアップシステム２が実行するためのソフトウェア（分散配置データベースにおける非同期バックアッププログラム）を一時的に記憶するまたは非一時的に記憶する二次記憶装置１５、２５も含む。
【００４０】
以上のように構成されたフロントシステム１およびバックアップシステム２の動作について、図６、図７、図８のフローチャートを参照して説明する。
【００４１】
図６は、第一の実施の形態におけるデータベース更新制御部１０１での更新ログ生成の動作の概要を示すフローチャートである。尚、このフローチャートによる処理は、前述したＣＰＵによるプログラム制御に基づいて、実行されても良い。
【００４２】
図６に示すように、まず、データベース更新制御部１０１は、フロントシステムデータベース１００を監視し、更新されているかを確認する（ステップＳ１０１）。更新されていなければ監視を継続する。
【００４３】
フロントシステムデータベース１００が更新された場合、フロントシステムデータベース１００の更新ログを入手（読み出すことをいう）する（ステップＳ１０２）。
【００４４】
次に、データベース更新制御部１０１は、更新ログ削減対象管理部１０３から更新ログ削減対象管理表１０３０を入手する（ステップＳ１０３）。
【００４５】
次に、データベース更新制御部１０１は、更新ログ削減対象管理表１０３０の情報を元にしてフロントシステムデータベース１００の更新ログに上書き更新対象のレコードか否かの情報（対象、対象外）を付加し、更新ログテーブル記憶部１０４の更新ログテーブル１０４０に追加する（ステップＳ１０４）。
【００４６】
更に、重複する上書き更新対象レコードがあれば、データベース更新制御部１０１は、最新のレコードで上書きし、更新ログテーブル１０４１として更新する（ステップＳ１０４）。
【００４７】
フロントシステムデータベース１００が更新中のアプリケーションによってコミットされていない場合（ステップＳ１０６）、データベース更新制御部１０１は、再度フロントシステムデータベース１００を監視し、コミットされたか（ステップＳ１０６）もしくは更なる更新があるか（ステップＳ１０７）を確認する。更なる更新やコミットがされていなければ監視を継続する。更なる更新があれば、データベース更新制御部１０１は、ステップＳ１０２に戻って処理を実行する。コミットされた場合、最後にデータベース更新制御部１０１は更新ログテーブル１０４１の更新ログを更新ログ送信制御部１０２に送信する（ステップＳ１０８）。
【００４８】
以上で、データベース更新制御部１０１は、更新ログ生成の動作を終了する。
【００４９】
図７は、第一の実施の形態における更新ログ送信制御部１０２での更新ログのバックアップシステム２への送信の動作の概要を示すフローチャートである。尚、このフローチャートによる処理は、前述したＣＰＵによるプログラム制御に基づいて、実行されても良い。
【００５０】
図７に示すように、まず、更新ログ送信制御部１０２は、データベース更新制御部１０１から更新ログを受信しているかを確認する（ステップＳ２０１）。受信していなければ受信するまで待機する。
【００５１】
更新ログを受信した場合、更新ログ送信制御部１０２は、バックアップシステム２へ送信する単位に統合し、フロントシステム更新ログ格納表記憶部１０５の更新ログ格納表１０５０に追加する（ステップＳ２０２）。
【００５２】
更に、重複する上書き更新対象レコードがあれば、更新ログ送信制御部１０２は、最新のレコードで上書きし、更新ログ格納表１０５１として更新する（ステップＳ２０３）。
【００５３】
システム管理者によって設定された送信のタイミングに至っていない場合（ステップＳ２０４）、更新ログ送信制御部１０２は、再度データベース更新制御部１０１から更に更新ログを受信しているか（ステップＳ２０５）もしくは送信のタイミングに至ったか（ステップＳ２０４）を確認する。更なる更新ログ受信や送信のタイミングに至っていなければ監視を継続する。更なる更新ログ受信があればステップＳ２０２に戻って処理を実行する。送信のタイミングに至った場合、最後に更新ログ送信制御部１０２は更新ログ格納表１０５１の更新ログをバックアップシステム２の更新ログ受信制御部２０１に送信する（ステップＳ２０６）。
【００５４】
以上で、更新ログ送信制御部１０２は、更新ログのバックアップシステム２への送信の動作を終了する。
【００５５】
図８は、第一の実施の形態における更新ログ受信制御部２０１での更新ログのバックアップシステムデータベース２００への反映の動作の概要を示すフローチャートである。尚、このフローチャートによる処理は、前述したＣＰＵによるプログラム制御に基づいて、実行されても良い。
【００５６】
図８に示すように、まず、更新ログ受信制御部２０１は、フロントシステム１の更新ログ送信制御部１０２から更新ログを受信しているかを確認する（ステップＳ３０１）。受信していなければ受信するまで待機する。
【００５７】
更新ログを受信した場合、更新ログ受信制御部２０１は、バックアップシステム更新ログ格納表記憶部２０２の更新ログ格納表１０５０に追加する（ステップＳ３０２）。
【００５８】
更に、重複する上書き更新対象レコードがあれば最新のレコードで上書きし、更新ログ格納表１０５１として更新する（ステップＳ３０３）。
【００５９】
システム管理者によって設定されたバックアップシステムデータベース更新のタイミングに至っていない場合（ステップＳ２０４）、更新ログ受信制御部２０１は、再度フロントシステム１の更新ログ送信制御部１０２から更に更新ログを受信しているか（ステップＳ３０５）もしくはデータベース更新のタイミングに至ったか（ステップＳ３０４）を確認する。更なる更新ログ受信やデータベース更新のタイミングに至っていなければ監視を継続する。更なる更新ログ受信があればステップＳ３０２に戻って処理を実行する。データベース更新のタイミングに至った場合、最後に更新ログ受信制御部２０１はバックアップシステムデータベース２００を更新ログ格納表１０５１の更新ログの内容で更新する（ステップＳ３０６）。
【００６０】
以上で、更新ログ受信制御部２０１は、更新ログのバックアップシステムデータベース２００への反映の動作を終了する。
【００６１】
次に、本発明の第１の実施の形態の効果について説明する。
【００６２】
上述した本実施形態におけるフロントシステムおよびバックアップシステムは、短時間低コストでの非同期バックアップができる。
【００６３】
その理由は、以下のような構成を含むからである。即ち、第１に更新ログ削減対象管理部は、更新ログのどのテーブルが削減対象（上書き対象）であるかを管理表として記憶する。第２に、データベース更新制御部、更新ログ送信制御部、更新ログ受信制御部は、更新ログ削減対象管理部の管理表の指示に沿って、重複する上書き更新対象レコードがあれば最新のレコードで上書きする。これにより、更新ログは常に冗長なデータが削減されてバックアップシステムデータベースに送られるので、フロントシステムからバックアップシステムへのデータ転送量が少なくなり低コストとなる。また、転送データが小さくなることからバックアップにかかる時間が短くなり、フロントシステム−バックアップシステム間でデータの同期ができていない時間が短縮されるという効果が得られる。
【００６４】
［第２の実施の形態］
第１の実施の形態では単一ＣＰＵによるデータベースシステムの非同期バックアップの方法を示した。本実施形態では複数のＣＰＵが並行処理を行う分散配置データベースシステムの場合を考えてみる。なお、第１の実施の形態と同様となる説明は省略する。
【００６５】
図９は、本発明の第２の実施の形態におけるフロントシステム１およびバックアップシステム２をコンピュータおよびその周辺装置で実現したハードウェア構成を示す図である。なお、説明に関与しない周辺機器に関しては図２と同等であるため記載を省略している。
【００６６】
フロントシステム１ではデータベースである二次記憶装置１５に複数のＣＰＵ１１ａ〜１１ｄが接続されている。図９では４台接続しているが接続数は任意である。それぞれのＣＰＵ１１ａ〜１１ｄに対してネットワークインタフェース１０ａ〜１０ｄが接続されている。バックアップシステム２についても同様のハードウェア構成である。図２同様、フロントシステム１とバックアップシステム２とはネットワーク３にて接続されている。その他に関しては第１の実施の形態と同様とする。また、本発明の第２の実施の形態におけるフロントシステム１およびバックアップシステム２の機能的構成は、図１に示す各構成要素を含む。したがって、以下の説明では、図１の各構成要素と図９、さらに図７、図８を併用して説明する。
【００６７】
第２の実施の形態における更新ログ送信制御部１０２での更新ログのバックアップシステム２への送信の動作において、更新ログ送信制御部１０２は更新ログを受信した場合、バックアップシステム２へ送信する単位に統合し、フロントシステム更新ログ格納表記憶部１０５の更新ログ格納表１０５０に追加する（図７のステップＳ２０２）。更に、重複する上書き更新対象レコードがあれば、最新のレコードで上書きし、更新ログ格納表１０５１として更新する（ステップＳ２０３）。この際に更新ログ内の更新されたレコードのキーに対してそれぞれ別のＣＰＵ１１ａ〜１１ｄが割り当てられる。これはステップＳ２０３においてレコードの上書き更新は同じキーのレコードに対してのみ行われるためであり、異なるキー間の上書き更新処理は互いに干渉しない。そのため更新ログ送信制御部１０２は、キーごとにＣＰＵを割り当てることで、複数のＣＰＵによる並列処理が可能となるためである。
【００６８】
次に更新ログ送信制御部１０２は更新ログ格納表１０５１の更新ログをそれぞれのＣＰＵ１１ａ〜１１ｄに接続されたネットワークインタフェース１０ａ〜１０ｄによりバックアップシステム２の更新ログ受信制御部２０１に送信する（ステップＳ２０６）。
【００６９】
受信するバックアップシステム２側でもフロントシステム１と同様のハードウェア構成になっており、それぞれのキーに対して処理を行うＣＰＵ２１ａ〜２１ｄとネットワークインタフェース２０ａ〜２０ｄが決定されている。フロントシステム１が送信した更新ログはキーごとにネットワークインタフェース２０ａ〜２０ｄを介してバックアップシステム２が受信する。受信した更新ログに対してフロントシステム１同様、ＣＰＵ２１ａ〜２１ｄは更新レコードのキーごとにステップＳ３０２〜Ｓ３０６を実行し更新ログの上書き更新とバックアップシステムデータベース２００への反映を行う。
【００７０】
上述した本実施形態におけるフロントシステムおよびバックアップシステムは、処理の分散化によって更に非同期バックアップを短時間で行うことができる。
【００７１】
以上説明した、本発明の各実施形態における各構成要素は、その機能をハードウェア的に実現することはもちろん、プログラム制御に基づくコンピュータ装置、ファームウェアで実現することができる。プログラムは、磁気ディスクや半導体メモリなどのコンピュータ可読記録媒体に記録されて提供され、コンピュータの立ち上げ時などにコンピュータに読み取られる。この読み取られたプログラムは、そのコンピュータの動作を制御することにより、そのコンピュータを前述した各実施の形態における構成要素として機能させる。
【００７２】
以上、各実施の形態を参照して本発明を説明したが、本発明は上記実施の形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解しえる様々な変更をすることができる。
【００７３】
たとえば、以上の各実施形態で説明した各構成要素は、必ずしも個々に独立した存在である必要はない。例えば、各構成要素は、複数の構成要素が１個のモジュールとして実現されたり、一つの構成要素が複数のモジュールで実現されたりしてもよい。また、各構成要素は、ある構成要素が他の構成要素の一部であったり、ある構成要素の一部と他の構成要素の一部とが重複していたり、といったような構成であってもよい。
【００７４】
また、以上説明した各実施形態では、複数の動作をフローチャートの形式で順番に記載してあるが、その記載の順番は複数の動作を実行する順番を限定するものではない。このため、各実施形態を実施するときには、その複数の動作の順番は内容的に支障しない範囲で変更することができる。
【００７５】
さらに、以上説明した各実施形態では、複数の動作は個々に相違するタイミングで実行されることに限定されない。例えば、ある動作の実行中に他の動作が発生したり、ある動作と他の動作との実行タイミングが部分的に乃至全部において重複していたりしていてもよい。
【００７６】
さらに、以上説明した各実施形態では、ある動作が他の動作の契機になるように記載しているが、その記載はある動作と他の動作の全ての関係を限定するものではない。このため、各実施形態を実施するときには、その複数の動作の関係は内容的に支障のない範囲で変更することができる。また各構成要素の各動作の具体的な記載は、各構成要素の各動作を限定するものではない。このため、各構成要素の具体的な各動作は、各実施形態を実施する上で機能的、性能的、その他の特性に対して支障をきたさない範囲内で変更されて良い。
【符号の説明】
【００７７】
１    フロントシステム
２    バックアップシステム
３    ネットワーク
１０、２０、１０ａ、１０ｂ、１０ｃ、１０ｄ、２０ａ、２０ｂ、２０ｃ、２０ｄ    ネットワークインタフェース
１１、２１、１１ａ、１１ｂ、１１ｃ、１１ｄ、２１ａ、２１ｂ、２１ｃ、２１ｄ    ＣＰＵ
１２、２２    出力装置
１３、２３    入力装置
１４、２４    主記憶装置
１５、２５    二次記憶装置
１００    フロントシステムデータベース
１０１    データベース更新制御部
１０２    更新ログ送信制御部
１０３    更新ログ削減対象管理部
１０４    更新ログテーブル記憶部
１０５    フロントシステム更新ログ格納表記憶部
２００    バックアップシステムデータベース
２０１    更新ログ受信制御部
２０２    バックアップシステム更新ログ格納表記憶部
【図１】
2013178685.tif 000003
【図２】
2013178685.tif 000004
【図３】
2013178685.tif 000005
【図４】
2013178685.tif 000006
【図５】
2013178685.tif 000007
【図６】
2013178685.tif 000008
【図７】
2013178685.tif 000009
【図８】
2013178685.tif 000010
【図９】
2013178685.tif 000011