(57)【要約】【課題】この発明は、マスタデータベースの完全な複製を不要とし、複製作成に必要な領域・時間・手間を節約するデータベースサブシステムを提供することを課題とする。【解決手段】マスタデータベース３が稼働中の場合、トランザクション処理手段２はマスタデータベース３を参照してチェックを行い、トランザクション処理ログ４を出力する（矢印ａ）。このログ４をもとに簡易マスタデータベース６が作成される（矢印ｂ）。  マスタデータベース３が停止中の場合、トランザクション処理手段２は簡易マスタデータベース６を参照してチェックを行い、一括処理用データ７を作成する（矢印ｃ）。  停止していたマスタデータベースが稼働を再開した場合、一括処理手段８がデータの処理を行う（矢印ｄ）。【選択図】図５
2005250592.tif 000002
【特許請求の範囲】
【請求項１】
外部のマスタデータベースを参照するデータベースサブシステムであって、
外部からデータを受け取って処理するトランザクション処理手段と、
前記トランザクション処理手段から出力される前記データおよび前記トランザクション処理手段の処理結果がトランザクション処理ログとして記録されるトランザクション処理ログ保存手段と、
前記トランザクション処理ログに基づいて簡易マスタデータベースを作成する簡易マスタデータ作成手段と、
前記簡易マスタデータ作成手段によって作成される簡易マスタデータベースとを備え、
前記マスタデータベースが停止中である場合には、前記トランザクション処理手段は前記簡易マスタデータベースを参照することを特徴とするデータベースサブシステム。
【請求項２】
前記マスタデータベース停止中に入力されたデータを一括処理する一括処理手段と、
前記一括処理手段の入力となるデータが格納される一括処理用データ格納手段とを備え、
前記マスタデータベースが停止中である場合には、前記トランザクション処理手段は前記一括処理用データを作成し、
前記マスタデータベースが稼働を再開した場合には、前記一括処理手段は、前記一括処理用データを処理することを特徴とする請求項１に記載のデータベースサブシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、データベースサブシステムに関し、特に特定データベースの停止中に入力されたトランザクションの処理に関する。
【背景技術】
【０００２】
従来の技術において、トランザクション実行時にデータの整合性等をチェックするために参照するマスタデータベースがメンテナンス等により停止中である場合にトランザクション実行が要求された際、マスタデータベースをもとにしたチェックを行わずに一括処理用データとして保存しておき、マスタデータベース稼働後に一括して正確性チェックおよびエラー処理・データベース更新を実施する方法がある。この方法につき、図８および図９を用いて以下に説明する。
はじめに、図８においてメインシステム内のマスタデータベース稼働中の処理を示す。入力されたデータ（１．データの入力）は、マスタデータベースの内容と照合され（２．入力データのチェック）、整合性が確認できた場合はデータベースの更新を行う（３．データベースの更新）。エラーの場合はその旨をユーザーに通知し、データベースの更新は行わない。
次に、図９においてマスタデータベース停止中および稼働再開時の処理を示す。マスタデータベース停止中にもデータが入力されるが（１．データの入力）、マスタデータベースは停止中であり入力データの照合を実行することが不可能である（２．参照不可）。そこでサブシステム内で一括処理用データが作成される（３．一括処理用データの作成）。
その後、メインシステム稼働後に一括処理プログラムを作動させ、停止時に作成された一括処理用データを読み込む（４．一括処理用データの入力）。一括処理プログラムは入力されたデータを、マスタデータベースの内容と照合し（５．入力データのチェック）、整合性が確認できた場合はデータベースの更新を行う（６．データベースの更新）。エラーが発生した入力データはデータベースへの更新は行わない。
【０００３】
また、マスタデータベース停止中においてもマスタデータベースと同じ情報を参照する方法として、事前に複製されたローカルマスタデータベースを使用する方法などがある。この方法につき、図１０および図１１を用いて以下に説明する。
はじめに、図１０においてメインシステム内のマスタデータベース稼働中の処理を示す。（１．データの入力）から（３．データベースの更新）までの処理は上記で説明した一括処理を用いる場合と同じ処理である。任意のタイミングで（４．複製）にてマスタデータベースの完全なコピーを作成し、ローカルマスタデータベースとする。このローカルマスタデータベースはマスタデータベース停止中に使用するものである。
次に、図１１においてマスタデータベース停止中および稼働再開時の処理を示す。（１．データの入力）にてデータが入力されるが、（２．参照不可）で、マスタデータベースは停止中であり入力データの照合を実行することが不可能である。そこで（３．入力データのチェック）でローカルマスタデータベースを参照し入力データをチェックする。整合性が確認できた場合（４．データベースの更新）を行う。エラーの場合はその旨をユーザーに通知し、データベースの更新は行わない。
その後、メインシステム稼働後に（５.データベースの更新）で、メインシステム停止中に更新されたデータベースの内容をメインシステム内のデータベースに反映させる。
【０００４】
上記２つの従来技術の他、特許文献１にはデータベースのレプリカを作成する際に更新データの間で優先順位付けを行う方法が開示されており、このレプリカは上記従来技術におけるローカルマスタデータベースとしても使用可能である。
【０００５】
【特許文献１】特開２００１―１７５６８１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述した方法では以下のような問題点がある。
図８、図９に示されるマスタデータベース稼働後に一括処理を行う方法においては、入力時点でチェックが行えず、一括処理時に多くのエラーが発生するという問題点がある。
また図１０、図１１に示されるローカルマスタデータベースを作成する方法においては、完全なマスタデータベースのコピーを作成するため、コピー処理のために多くの領域、時間、手間が必要になるという問題点がある。
また特許文献１に記載の方法は、レプリカすなわちある一時点におけるマスタデータベースの完全なコピーの存在を前提とし、またこのレプリカ更新の際にデータの優先順位付けは行うが最終的にはマスタデータベースと同一の内容にまでレプリカを更新することを目的としたものであるため、上記ローカルマスタデータベースを作成する従来技術と同様に多くの領域、時間、手間が必要になるという問題点がある。
【０００７】
この発明は、このような問題点を解決するためになされたものであり、マスタデータベース停止中におけるデータ入力に対し、マスタデータベースの完全な複製を作成することなく、完全な複製作成に必要な領域、時間、手間を節約しつつトランザクション処理を可能にするデータベースサブシステムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
この発明に係るデータベースサブシステムは、外部のマスタデータベースを参照するものであって、外部からデータを受け取って処理するトランザクション処理手段と、トランザクション処理手段から出力されるデータおよびトランザクション処理手段の処理結果がトランザクション処理ログとして記録されるトランザクション処理ログ保存手段と、トランザクション処理ログに基づいて簡易マスタデータベースを作成する簡易マスタデータ作成手段と、簡易マスタデータ作成手段によって作成される簡易マスタデータベースとを備え、マスタデータベースが停止中である場合には、トランザクション処理手段は簡易マスタデータベースを参照することを特徴とするものである。
【０００９】
マスタデータベース停止中に入力されたデータを一括処理する一括処理手段と、一括処理手段の入力となるデータが格納される一括処理用データ格納手段とをさらに備え、マスタデータベースが停止中である場合には、トランザクション処理手段は一括処理用データを作成し、マスタデータベースが稼働を再開した場合には、一括処理手段は、一括処理用データを処理することを特徴としてもよい。
【発明の効果】
【００１０】
この発明によれば、データベースサブシステムは、トランザクション処理ログに基づいて簡易マスタデータベースを作成し、マスタデータベース停止中のトランザクション処理については簡易マスタデータベースを参照するので、マスタデータベースの完全な複製を作成することなく、完全な複製作成に必要な領域、時間、手間を節約しつつトランザクションを処理することが可能である。
【発明を実施するための最良の形態】
【００１１】
以下、この発明の実施の形態を添付図面に基づいて説明する。
実施の形態１．
図１にこの発明の実施に係るデータベースサブシステム２０を適用したシステム全体を示す。
【００１２】
メインシステム１０は、マスタデータを格納するマスタデータベース３および更新対象データを格納する更新対象データベース９を備える。サブシステム２０は、トランザクション処理手段２、トランザクション処理ログ保存手段４、簡易マスタデータ作成手段５、簡易マスタデータベース６、一括処理用データの格納手段７、一括処理手段８を備える。また、サブシステム２０およびメインシステム１０は、互いにデータの授受を行う手段を有する。
【００１３】
サブシステム２０において、トランザクション処理手段２は、入力されたデータ１を受け取り、これをチェックするためにマスタデータベース３もしくは簡易マスタデータベース６を参照し、更新対象データベース９に更新を加える。また、このトランザクション処理手段２は、トランザクションの処理結果をトランザクション処理ログ保存手段４に保存するとともに、一括処理用データの格納手段７にも格納する。
簡易マスタデータ作成手段５は、トランザクション処理ログ保存手段４からデータを抽出し、簡易マスタデータベース６に格納する。
一括処理手段８は、一括処理用データの格納手段７から一括処理用データを入力し、これをチェックするためにマスタデータベース３を参照し、更新対象データベース９に更新を加える。
【００１４】
次に、この実施の形態に係るデータベースサブシステムの動作を図１〜図５に基づいて説明する。
はじめに、マスタデータベースが稼働中である場合の動作を図２に基づいて説明する。  まずサブシステム２０内にデータ１が入力される（ステップＳ１）。トランザクション処理手段２はトランザクションプログラムによりこのデータを処理する。このプログラムは入力されたデータの一部であるマスタデータ照合部をマスタデータベース３の内容と照合する（ステップＳ２）。
整合性が確認できた場合はデータベース９の更新を行う（ステップＳ３）。一方、データ照合の結果、照合確認できずエラーと判定した場合その旨をユーザーに通知し、データベース９の更新は行わない。その後、ステップＳ１の入力データ１およびステップＳ２・Ｓ３における処理の結果を、トランザクション処理ログ保存手段４に出力し、トランザクション処理ログファイルが作成される（ステップＳ４）。
その後、簡易マスタデータ作成手段５により簡易マスタデータベース作成プログラムが実行され、トランザクション処理ログ保存手段４からログデータを入力し（ステップＳ５）、一定の条件にてマスタデータを抽出し、抽出されたデータをもとに簡易マスタデータベースを作成する（ステップＳ６）。なお、簡易マスタデータベースを作成する、上述した条件の例としては、１週間の間に９時から１７時まで作業を行った従業員番号などが挙げられる。
【００１５】
次に、マスタデータベースが停止中である場合の動作を図３に基づいて説明する。
まずサブシステム２０内にデータ１が入力される（ステップＳ１０）。トランザクション処理手段２はトランザクションプログラムによりこのデータを処理する。このプログラムは入力されたデータの一部であるマスタデータ照合部をマスタデータベース３の内容と照合するためにマスタデータベース３へのアクセスを実行するがマスタデータベースは停止中であり入力データの照合を実行することが不可能であると判明する（ステップＳ１１）。そこで簡易マスタデータベース６を参照し入力データ１をチェックする（ステップＳ１２）。その後、マスタデータベース３稼働後の一括処理のために一括処理用データ７を作成する（ステップＳ１３）。
【００１６】
最後に、停止していたマスタデータベースが稼働を再開した際の動作を図４に基づいて説明する。サブシステム内の一括処理プログラム８が、停止時に作成された一括処理用データを入力として読み込む（ステップＳ２０）。一括処理プログラムは入力されたデータが持っているデータのマスタデータ照合部を、マスタデータベース３の内容と照合する（ステップＳ２１）。整合性が確認できた場合はデータベース９の更新を行う（ステップＳ２２）。整合性が確認できずエラーが発生した入力データはデータベースへの更新は行わない。
【００１７】
以上説明した、この実施の形態に係るデータベースサブシステムの動作について、図５を用いてまとめてみる。
たとえば、まずメインシステム１０が稼働中の場合、データ１を受け取ったトランザクション処理手段２はマスタデータベース３を参照してデータチェックを行い、更新対象データベース９を更新し、結果をトランザクション処理ログ保存手段４に格納する（矢印ａ）。この後、簡易マスタデータ作成手段５がログデータを読み込み、簡易マスタデータベース６を作成する（矢印ｂ）。
またメインシステム１０が停止中の場合、データ１を受け取ったトランザクション処理手段２は簡易マスタデータベース６を参照してデータチェックを行い、その後の処理結果を一括処理用データの格納手段７に格納する（矢印ｃ）。
さらに停止していたメインシステム１０が稼働を再開した際は、一括処理手段８がデータを読み込み、更新対象データベース９を更新する（矢印ｄ）。
【００１８】
以上のように、上述した実施の形態によれば、マスタデータベース停止中のトランザクション処理については、過去のログデータを基に、簡易マスタデータベースを参照するので、マスタデータベースの完全な複製作成に必要な領域、時間、手間を節約することができる。
また、マスタデータが参照できない時に入力されたトランザクションデータについても簡易マスタデータを参照することによりチェックが可能となる。この簡易マスタデータベースは、マスタデータベースの内容と完全に一致する保障はないが、過去の処理実績から作成されたものであり、参照結果にある程度の信頼性を持ち、マスタデータベース稼働再開時の一括処理の際に発生するエラーの数を減らすことができる。
【００１９】
実施の形態２．
実施の形態１においては、マスタデータベースが停止中である場合の動作として、更新対象データの更新までしか行わないが、この後の処理を図６に示すように行うこともできる。すなわち、トランザクション処理手段２の処理結果に応じて、簡易マスタデータベースの更新もしくは新規作成を行ってもよい。
図６においてトランザクション処理手段２は、外部からの入力データとトランザクション処理手段２による処理の結果をトランザクション処理ログ保存手段４に出力する（ステップＳ３０）。
その後、簡易マスタデータ作成手段５により簡易マスタデータベース作成プログラムが実行され、トランザクション処理ログ保存手段４からログデータを入力し（ステップＳ３１）、一定の条件にてマスタデータを抽出し、抽出されたデータをもとに簡易マスタデータベース６を更新もしくは新規作成する（ステップＳ３２）。
上述した実施の形態２により、マスタデータベース停止中に入力されたデータについてもトランザクション処理ログから簡易マスタデータが抽出されるため、簡易マスタデータベースの正確性を向上させることができる。
【００２０】
実施の形態３．
実施の形態１においては、停止していたマスタデータベースが稼働を再開した際の動作として、更新対象データの更新までしか行わないが、この後の処理を図７に示すように行うこともできる。すなわち、一括処理手段８の処理結果に応じて、簡易マスタデータベースの更新もしくは新規作成を行ってもよい。
図７において一括処理手段８が、一括処理用データの格納手段７からの入力データと一括処理手段８による処理の結果をトランザクション処理ログ保存手段４に出力する（ステップＳ４０）。その後、簡易マスタデータ作成手段５により簡易マスタデータベース作成プログラムが実行され、トランザクション処理ログ保存手段４からログデータを入力し（ステップＳ４１）、一定の条件にてマスタデータを抽出し、抽出されたデータをもとに簡易マスタデータベース６を更新もしくは新規作成する（ステップＳ４２）。
上述した実施の形態３により、マスタデータベース稼働再開時に一括処理の対象となったデータについてもトランザクション処理ログから簡易マスタデータが抽出されるため、簡易マスタデータベースの正確性を向上させることができる。
【００２１】
なお、この発明は、上述した実施の形態１〜３に限定されるものではなく、様々な改変を施すことができる。
たとえば、マスタデータベースは、メインシステムでなくサブシステムに含まれていてもよい。
また簡易マスタデータベースに格納されるデータの選択基準例として、１週間の間に９時から１７時まで作業を行った従業員番号のみを挙げたが、この選択基準は他のもの、たとえば３日以内に作成された伝票番号などを用いてもよい。
【図面の簡単な説明】
【００２２】
【図１】実施の形態１に係るデータベースサブシステムを用いたシステムの構成を示す図である。
【図２】実施の形態１における、マスタデータベース稼働中の処理の流れを示す図である。
【図３】実施の形態１における、マスタデータベース停止中の処理の流れを示す図である。
【図４】実施の形態１における、マスタデータベース稼働再開時の処理の流れを示す図である。
【図５】この発明の実施の形態１に係るデータベースサブシステムの動作を説明する図である。
【図６】実施の形態２における、マスタデータベース停止中の処理の流れを示す図である。
【図７】実施の形態３における、マスタデータベース稼働再開時の処理の流れを示す図である。
【図８】従来のマスタデータベース稼働中における処理の流れを示す図である。
【図９】従来のマスタデータベース停止中および稼働再開時における処理の流れを示す図である。
【図１０】従来のマスタデータベース稼働中における処理の流れを示す図である。
【図１１】従来のマスタデータベース停止中および稼働再開時における処理の流れを示す図である。
【符号の説明】
【００２３】
１  データ、２  トランザクション処理手段、３  マスタデータベース、４  トランザクション処理ログ保存手段、５  簡易マスタデータ作成手段、６  簡易マスタデータベース、７  一括処理用データの格納手段、８  一括処理手段、１０  メインシステム、２０  サブシステム。
【図１】
2005250592.tif 000003
【図２】
2005250592.tif 000004
【図３】
2005250592.tif 000005
【図４】
2005250592.tif 000006
【図５】
2005250592.tif 000007
【図６】
2005250592.tif 000008
【図７】
2005250592.tif 000009
【図８】
2005250592.tif 000010
【図９】
2005250592.tif 000011
【図１０】
2005250592.tif 000012
【図１１】
2005250592.tif 000013