(57)【要約】【課題】共通の業務データベースに対してバッチ処理と常時稼動するオンライ処理とを並行して実行するシステムにおいて、バッチ処理の効率の低下を抑制しながら、オンライン処理を常に遅滞なく実行可能とする。【解決手段】複数の処理サーバ１３Ａ、１３Ｂ…の負荷の状態を監視する負荷監視プログラムＰ３及びその監視結果を記録する負荷管理データベースＤ２を備えると共に、この負荷管理データベースＤ２に記録されている負荷の状態に応じてバッチ処理を実行させる処理サーバを選定する割り当て制御プログラムＰ４と、バッチ処理の実行中に負荷が所定の状態を超えたときに、当該処理サーバを停止させると共に、その処理を他の処理サーバに実行させる再割り当て指示プログラムＰ５とを備え、各処理サーバ１３Ａ、１３Ｂ…に常に一定量の余裕を確保しながらバッチ処理を実行するように制御する。【選択図】          図２
2004280457.tif 000002
【特許請求の範囲】
【請求項１】
共通の業務データベースに対してバッチ処理と常時稼動するオンライ処理とを並行して実行するデータ管理システムであって、上記業務データベースを処理する複数のデータ処理装置と、外部端末から送信されるトランザクションメッセージを上記複数のデータ処理装置のいずれかに割り当てて処理させるオンライン制御装置と、入力ファイルから読み込んだトランザクションメッセージを上記複数のデータ処理装置のいずれかに割り当てて処理させるバッチ制御装置とを有し、かつ、このバッチ制御装置は、上記複数のデータ処理装置の負荷の状況を監視する負荷監視手段と、該監視手段で監視している負荷の状況に基づき、いずれかのデータ処理装置を選定してトランザクションメッセージの処理を割り当てる割り当て手段と、上記監視手段がデータ処理装置の動作中に負荷が所定値を超えたことを検出したときに、その装置によるトランザクションメッセージの処理を停止させると共に、その処理を他のデータ処理装置に割り当てる再割り当て手段とを有することを特徴とするデータ管理システム。
【請求項２】
バッチ制御装置は、全データ処理装置で負荷が所定値を超えているときにバッチ処理を停止させるバッチ処理停止手段を有することを特徴とする請求項１に記載のデータ管理システム。
【請求項３】
各データ処理装置は、オンライン制御装置又はバッチ制御装置によって割り当てられたトランザクションメッセージを１件ごとに処理する共通の業務アプリケーションプログラムを備えていることを特徴とする請求項１又は請求項２に記載のデータ管理システム。
【請求項４】
共通の業務データベースを処理する複数のデータ処理装置を対象として、常時稼動するオンライ処理と並行動作するバッチ処理の制御システムであって、入力ファイルから読み込んだトランザクションメッセージを記録するトランザクションメッセージ記録手段と、上記複数のデータ処理装置の負荷の状況を監視する負荷監視手段と、該監視手段で監視している負荷の状況に基づき、いずれかのデータ処理装置を選定してトランザクションメッセージの処理を割り当てる割り当て手段と、上記記録手段からトランザクションメッセージを読み出し、これを上記割り当て手段によって割り当てられたデータ処理装置で実行させるトランザクションメッセージ処理手段と、上記監視手段がデータ処理装置の動作中に負荷が所定値を超えたことを検出したときに、その装置によるトランザクションメッセージの処理を停止させると共に、その処理を他のデータ処理装置に割り当てる再割り当て手段とを有することを特徴とするバッチ制御システム。
【請求項５】
全データ処理装置で負荷が所定値を超えているときにバッチ処理を停止させるバッチ処理停止手段が設けられていることを特徴とする請求項４に記載のバッチ制御システム。
【請求項６】
割り当て手段は、負荷監視手段が各データ処理装置の負荷の状況として検出した現リソース使用率と、そのデータ処理装置について予め設定されている許容リソース使用率とを用いて算出した負荷の余裕度に応じてトランザクションメッセージを割り当てるデータ処理装置を選定し、再割り当て手段は、上記現リソース使用率が許容リソース使用率を超えているときに、その装置によるトランザクションメッセージの処理を停止させると共に、その処理を他のデータ処理装置に割り当て、かつ、バッチ処理停止手段は、全データ処理装置で現リソース使用率が許容リソース使用率を超えているときに、バッチ処理を停止させることを特徴とする請求項５に記載のバッチ制御システム。
【請求項７】
共通の業務データベースを処理する複数のデータ処理装置を対象として、常時稼動するオンライ処理と並行動作するバッチ処理の制御プラグラムであって、コンピュータを、入力ファイルから読み込んだトランザクションメッセージを記録するトランザクションメッセージ記録手段、上記複数のデータ処理装置の負荷の状況を監視する負荷監視手段、該監視手段で監視している負荷の状況に基づき、いずれかのデータ処理装置を選定してトランザクションメッセージの処理を割り当てる割り当て手段、上記記録手段からトランザクションメッセージを読み出し、これを上記割り当て手段によって割り当てられたデータ処理装置で実行させるトランザクションメッセージ処理手段、及び、上記監視手段がデータ処理装置の動作中に負荷が所定値を超えたことを検出したときに、その装置によるトランザクションメッセージの処理を停止させると共に、その処理を他のデータ処理装置に割り当てる再割り当て手段として機能させることを特徴とするバッチ制御プログラム。
【請求項８】
コンピュータを、全データ処理装置で負荷が所定値を超えているときにバッチ処理を停止させるバッチ処理停止手段として機能させることを特徴とする請求項７に記載のバッチ制御プログラム。
【請求項９】
コンピュータを割り当て手段として機能させるときは、負荷監視手段が各データ処理装置の負荷の状況として検出した現リソース使用率と、そのデータ処理装置について予め設定されている許容リソース使用率とを用いて算出した負荷の余裕度に応じてトランザクションメッセージを割り当てるデータ処理装置を選定するように機能させ、再割り当て手段として機能させるときは、上記現リソース使用率が許容リソース使用率を超えているときに、その装置によるトランザクションメッセージの処理を停止させると共に、その処理を他のデータ処理装置に割り当てるように機能させ、かつ、バッチ処理停止手段として機能させるときは、全データ処理装置でリソース使用率が許容リソース使用率を超えているときに、バッチ処理を停止させるように機能させることを特徴とする請求項８に記載のバッチ制御プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、共通の業務データベースに対し、複数のデータ処理装置を用いてバッチ処理と常時稼動のオンライ処理とを実行するデータ管理システム、並びに同種のシステムで用いられるバッチ制御システム及びバッチ制御プログラム等に関し、コンピュータを用いたデータ処理技術の分野に関する。
【０００２】
【従来の技術】
コンピュータを用いたデータ管理システムとして、オンライン処理とバッチ処理とを並行して実行するものが存在するが、従来のものは、両処理を１日の時間帯によって使い分けるものが通例であった。
【０００３】
これに対し、例えば引用文献１や引用文献２によれば、オンライン処理用の主システム又は現用系のデータ処理装置と、バッチ処理用の副システム又は待機系のデータ処理装置とを備えて、システムを二重化することにより、オンライン処理中にバッチ処理を実行可能としたものが提案されている。
【０００４】
【特許文献１】特開平４−２５６１４１号公報
【特許文献２】特開２００１−３３７８４４号公報
【発明が解決しようとする課題】
しかし、上記特許文献１、２に記載されたものは、いずれも、二重化されたシステム又は装置のそれぞれに業務データベースとしてマスタファイル又はデータファイルを備えると共に、所定の時期に両ファイルの同期をとるようにしたもので、ハードウエアの構成及び処理動作に無駄が多いという欠点があり、また、バッチ処理用に使用できる装置が一つであるため、十分なバッチ処理能力の実現が困難であり、しかも、上記ファイルの同期のために、オンライン処理の円滑な動作が阻害されるおそれがある等の問題がある。
【０００５】
そこで、本発明は、処理対象の業務データベースを共通化することにより同期処理を不要とすると共に、常時稼動するオンライ処理と並行して大量のバッチ処理を効率よく行うことができ、しかも、オンライン処理を遅延させることなく、常にリアルタイムで実行することができるシステムを実現することを課題とする。
【０００６】
【課題を解決するための手段】
上記課題を解決するため、本発明は次のように構成したことを特徴とする。
【０００７】
まず、本願の請求項１に記載の発明は、共通の業務データベースに対してバッチ処理と常時稼動するオンライ処理とを並行して実行するデータ管理システムに関するものであって、上記業務データベースを処理する複数のデータ処理装置と、外部端末から送信されるトランザクションメッセージを上記複数のデータ処理装置のいずれかに割り当てて処理させるオンライン制御装置と、入力ファイルから読み込んだトランザクションメッセージを上記複数のデータ処理装置のいずれかに割り当てて処理させるバッチ制御装置とを有し、かつ、このバッチ制御装置は、上記複数のデータ処理装置の負荷の状況を監視する負荷監視手段と、該監視手段で監視している負荷の状況に基づき、いずれかのデータ処理装置を選定してトランザクションメッセージの処理を割り当てる割り当て手段と、上記監視手段がデータ処理装置の動作中に負荷が所定値を超えたことを検出したときに、その装置によるトランザクションメッセージの処理を停止させると共に、その処理を他のデータ処理装置に割り当てる再割り当て手段とを有することを特徴とする。
【０００８】
ここで、上記再割り当て手段は、再割り当てするデータ処理装置を自ら選定する場合と、割り当て手段に再割り当てを指示する場合とがある。
【０００９】
この発明によれば、オンライン処理及びバッチ処理が複数のデータ処理装置に振り分けて実行されるので、共通の業務データベースに対し、オンライン処理の稼働下で、大量のトランザクションメッセージに基づくバッチ処理を効率よく実行することが可能となる。
【００１０】
そして、特にこの発明によれば、バッチ制御装置の割り当て手段が、複数のデータ処理装置のうちから負荷の状況に基づいていずれかの装置を選定し、その装置にトランザクションメッセージの処理を割り当てるので、例えば負荷に余裕があるデータ処理装置から優先的に選定することにより、各データ処理装置の稼働状況が均等化されて、システム全体としての処理効率が向上することになる。
【００１１】
また、いずれかのデータ処理装置でのバッチ処理中に、負荷が予め設定された所定値を超えたときには、再割り当て手段の動作により、その装置による処理が停止されると共に、その処理が負荷に余裕のある他の装置に再割り当てされて続行されることになるので、バッチ処理の停滞を回避しながら、各データ処理装置には常にオンライン処理のための余裕が確保されることになる。したがって、バッチ処理のためにオンライン処理が遅延するといった不具合が防止される。
【００１２】
また、請求項２に記載の発明は、上記請求項１に記載のデータ管理システムにおいて、バッチ制御装置は、全データ処理装置で負荷が所定値を超えているときにバッチ処理を停止させるバッチ処理停止手段を有することを特徴とする。
【００１３】
この発明によれば、バッチ処理の開始時において、全データ処理装置の負荷が所定値を超えているとき、或いはバッチ処理の途中で全データ処理装置の負荷が所定値を超えたときには、バッチ制御装置によるバッチ処理全体が停止されることになる。したがって、各データ処理装置には、オンライン処理のための余裕が常に確実に確保されることになり、オンライン処理の遅延が一層確実に防止されることになる。
【００１４】
さらに、請求項３に記載の発明は、上記請求項１又は請求項２に記載のデータ管理システムにおいて、各データ処理装置は、オンライン制御装置又はバッチ制御装置によって割り当てられたトランザクションメッセージを１件ごとに処理する共通の業務アプリケーションプログラムを備えていることを特徴とする。
【００１５】
この発明によれば、各データ処理装置に備えられてトランザクションメッセージを処理するプログラムがオンライン処理とバッチ処理とで共用され、ソフトウエアの構成が簡素化されることになる。
【００１６】
そして、特に大量のトランザクションメッセージを一括して実行するバッチ処理においても、オンライン処理の場合と同様に、トランザクションメッセージが１件ごとに処理されるので、例えば各トランザクションメッセージについての処理が複数のデータベースに亘る場合において、バッチ処理の途中でオンライン処理を割り込み実行するときに、各データベースの内容が不整合な状態でオンライン処理を実行することによる処理ミスが回避されることになる。
【００１７】
一方、請求項４に記載の発明は、共通の業務データベースを処理する複数のデータ処理装置を対象として、常時稼動するオンライ処理と並行動作するバッチ処理の制御システムに関するものであって、入力ファイルから読み込んだトランザクションメッセージを記録するトランザクションメッセージ記録手段と、上記複数のデータ処理装置の負荷の状況を監視する負荷監視手段と、該監視手段で監視している負荷の状況に基づき、いずれかのデータ処理装置を選定してトランザクションメッセージの処理を割り当てる割り当て手段と、上記記録手段からトランザクションメッセージを読み出し、これを上記割り当て手段によって割り当てられたデータ処理装置で実行させるトランザクションメッセージ処理手段と、上記監視手段がデータ処理装置の動作中に負荷が所定値を超えたことを検出したときに、その装置によるトランザクションメッセージの処理を停止させると共に、その処理を他のデータ処理装置に割り当てる再割り当て手段とを有することを特徴とする。
【００１８】
ここで、上記再割り当て手段は、再割り当てするデータ処理装置を自ら選定する場合と、割り当て手段に再割り当てを指示する場合とがある。また、トランザクションメッセージ処理手段は、各データ処理装置ごとに設ける場合と、各データ処理装置に共通のものを設ける場合とがある。
【００１９】
また、請求項５に記載の発明は、上記請求項４に記載のバッチ制御システムにおいて、全データ処理装置で負荷が所定値を超えているときにバッチ処理を停止させるバッチ処理停止手段が設けられていることを特徴とする。
【００２０】
この請求項４及び請求項５に記載の発明に係るバッチ制御システムは、上記請求項１及び請求項２に記載のデータ管理システムにおけるバッチ制御装置にそれぞれ対応するものであり、まず請求項４に記載の発明によれば、請求項１の発明と同様に、割り当て手段が、複数のデータ処理装置のうちから負荷の状況に基づいていずれかの装置を選定し、その装置にトランザクションメッセージの処理を割り当てるので、各装置の稼働状況が均等化されることになる。
【００２１】
また、いずれかのデータ処理装置でのバッチ処理中に、負荷が予め設定された所定値を超えたときには、再割り当て手段の動作により、その装置による処理が停止されると共に、その処理が負荷に余裕のある他の装置に再割り当てされて続行されるので、バッチ処理の停滞を回避しながら、各データ処理装置には常にオンライン処理のための余裕が確保されることになる。
【００２２】
そして、請求項５に記載の発明によれば、請求項２の発明と同様に、バッチ処理の開始時において、全データ処理装置の負荷が所定値を超えているとき、或いはバッチ処理の途中で全データ処理装置の負荷が所定値を超えたときには、バッチ制御装置によるバッチ処理全体が停止されるので、各データ処理装置にオンライン処理のための余裕が一層確実に確保されることになる。
【００２３】
また、請求項６に記載の発明は、上記請求項５に記載のバッチ制御システムにおいて、割り当て手段は、負荷監視手段が各データ処理装置の負荷の状況として検出した現リソース使用率と、そのデータ処理装置について予め設定されている許容リソース使用率とを用いて算出した負荷の余裕度に応じてトランザクションメッセージを割り当てるデータ処理装置を選定し、再割り当て手段は、上記現リソース使用率が許容リソース使用率を超えているときに、その装置によるトランザクションメッセージの処理を停止させると共に、その処理を他のデータ処理装置に割り当て、かつ、バッチ処理停止手段は、全データ処理装置で現リソース使用率が許容リソース使用率を超えているときに、バッチ処理を停止させることを特徴とする。
【００２４】
この発明によれば、トランザクションメッセージの処理を割り当てるデータ処理装置を選定するときに、データ処理装置のリソース使用率当に基づいて各装置の負荷の余裕度が厳密に判定され、また、いずれかのデータ処理装置による処理を停止させて他の装置に処理を再割り当てするときや、全データ処理装置を停止させるときにも、その判定が厳密に行われることになる。したがって、各データ処理装置の稼働状況の均等化や、オンライン処理のための余裕の確保等がより適正に行われることになる。
【００２５】
さらに、請求項７に記載の発明は、共通の業務データベースを処理する複数のデータ処理装置を対象として、常時稼動するオンライ処理と並行動作するバッチ処理の制御プラグラムに関するものであって、コンピュータを、入力ファイルから読み込んだトランザクションメッセージを記録するトランザクションメッセージ記録手段、上記複数のデータ処理装置の負荷の状況を監視する負荷監視手段、該監視手段で監視している負荷の状況に基づき、いずれかのデータ処理装置を選定してトランザクションメッセージの処理を割り当てる割り当て手段、上記記録手段からトランザクションメッセージを読み出し、これを上記割り当て手段によって割り当てられたデータ処理装置で実行させるトランザクションメッセージ処理手段、及び、上記監視手段がデータ処理装置の動作中に負荷が所定値を超えたことを検出したときに、その装置によるトランザクションメッセージの処理を停止させると共に、その処理を他のデータ処理装置に割り当てる再割り当て手段として機能させることを特徴とする。
【００２６】
ここで、このプログラムは、上記再割り当て手段として機能する場合に、再割り当てするデータ処理装置を自ら選定するように機能する場合と、割り当て手段に再割り当てを指示するように機能する場合とがある。また、このプログラムのうちのトランザクションメッセージ処理手段として機能する部分は、個々のデータ処理装置ごとに機能する場合と、全データ処理装置を対象として機能する場合とがある。
【００２７】
また、請求項８に記載の発明は、上記請求項７に記載のバッチ制御プログラムにおいて、コンピュータを、全データ処理装置で負荷が所定値を超えているときにバッチ処理を停止させるバッチ処理停止手段として機能させることを特徴とする。
【００２８】
さらに、請求項９に記載の発明は、上記請求項８に記載のバッチ制御プログラムにおいて、コンピュータを割り当て手段として機能させるときは、負荷監視手段が各データ処理装置の負荷の状況として検出した現リソース使用率と、そのデータ処理装置について予め設定されている許容リソース使用率とを用いて算出した負荷の余裕度に応じてトランザクションメッセージを割り当てるデータ処理装置を選定するように機能させ、再割り当て手段として機能させるときは、上記現リソース使用率が許容リソース使用率を超えているときに、その装置によるトランザクションメッセージの処理を停止させると共に、その処理を他のデータ処理装置に割り当てるように機能させ、かつ、バッチ処理停止手段として機能させるときは、全データ処理装置で現リソース使用率が許容リソース使用率を超えているときに、バッチ処理を停止させるように機能させることを特徴とする。
【００２９】
この請求項７から請求項９に記載の発明によれば、当該プログラムをコンピュータに搭載することにより、請求項４から請求項６のいずれかに記載のバッチ制御システムが構成されることになり、そのプログラムを実行することにより、請求項４から請求項６のいずれかに記載のバッチ制御システムについての上記作用と同様の作用が得られる。
【００３０】
【発明の実施の形態】
以下、本発明の実施の形態について説明する。なお、以下の実施の形態に係るデータ管理システムは、本発明をクレジットカードの管理システムに適用したもので、そのシステム全体は本発明のデータ管理システムの実施の形態を構成すると共に、その構成要素であるバッチ制御サーバ及び該サーバで実行されるプログラムは、本発明のバッチ制御システムやバッチ制御プログラムの実施の形態を構成する。
【００３１】
図１は本実施の形態に係るデータ管理システム１０の全体の構成を示すもので、このシステム１０は、バッチ制御用サーバコンピュータ（以下、「バッチ制御サーバ」と記す）１１と、オンライン制御用サーバコンピュータ（以下、「オンライン制御サーバ」と記す）１２と、複数のデータ処理用サーバコンピュータ（以下、「処理サーバ」と記す）１３（１３Ａ、１３Ｂ…）とを有し、また、これらのサーバ１１、１２、１３によるバッチ処理及びオンライン処理の対象となるデータベースを格納した記憶装置１４を有する。
【００３２】
上記バッチ制御サーバ１１は、売上情報ファイルＡから多量のトランザクションメッセージを読み込んで、上記データベースに対するバッチ処理を複数の処理サーバ１３Ａ、１３Ｂ…に割り当てて実行させ、また、オンライン制御サーバ１２は、外部端末Ｂからオンラインで投入されるトランザクションメッセージに基づいて、上記データベースに対するオンライン処理を、同じく複数の処理サーバ１３Ａ、１３Ｂ…に割り当てて実行させるようになっている。
【００３３】
上記バッチ制御サーバ１１の構成を詳しく説明すると、図２に示すように、該サーバ１１には、バッチ制御用データベースとして、トランザクションメッセージデータベースＤ１と、負荷管理データベースＤ２と、割り当て管理データベースＤ３とが備えられている。
【００３４】
また、バッチ制御用プログラムとして、スケジュール管理プログラムＰ１と、トランザクションメッセージ取得プログラムＰ２と、負荷監視プログラムＰ３と、割り当て制御プログラムＰ４と、再割り当て指示プログラムＰ５とが搭載されており、さらに、上記負荷監視プログラム起動用のクロックＣ１と、割り当て制御プログラム起動用のクロックＣ２とが備えられている。
【００３５】
一方、各処理サーバ１３Ａ、１３Ｂ…には、トランザクションメッセージ処理プログラムＰ６と、業務内容に応じた複数のプログラムでなる業務アプリケーションプログラム群Ｐ７とがそれぞれ搭載されている。
【００３６】
さらに、記憶装置１４には、オンライン処理及びバッチ処理の対象となる共通の業務データベースとして、加盟店月別売上情報データベースＤ４と、会員月別利用明細データベースＤ５とが備えられている。
【００３７】
ここで、上記各データベースＤ１〜Ｄ５の構成を説明すると、まず、バッチ制御サーバ１１に備えられたトランザクションメッセージデータベースＤ１は、バッチ処理の実行待ちメッセージを管理するキューであって、図３に示すように、メッセージの種類、換言すれば処理に用いる業務アプリケーションプログラムの種類を特定するためのトランザクションＩＤと、読み込んだメッセージに付される連番と、メッセージの内容とを１件ごとに記録するようになっている。
【００３８】
今、例えば売上情報ファイルＡの１件のレコードが、図４に示すように、クレジットカードを用いた１つの取引についての会員番号、加盟店番号、購入日、商品番号、及び金額の各データで構成されているものとすると、トランザクションメッセージデータベースＤ１の各レコードには、トランザクションＩＤとして、上記のようなデータ構成を示す例えば「Ａ０１０１」というトランザクションＩＤが記録されると共に、メッセージとして、上記会員番号から金額までの各データの内容をそれぞれ示す５つの数字が記録される。
【００３９】
また、負荷管理データベースＤ２は、各処理サーバ１３Ａ、１３Ｂ…の負荷の状況等を記録するもので、図５に示すように、各処理サーバ１３Ａ、１３Ｂ…について、そのＩＤをキーとして、予めその処理サーバについて設定された許容リソース使用率と、その処理サーバの処理能力に応じて設定された重みと、その処理サーバの現時点のリソース使用率とを記録するようになっている。ここで、重みの数値は、値が大きいほど当該処理サーバの処理能力が高いことを示し、また、許容リソース使用率が０％の処理サーバはオンライン処理専用に設定されていることを示す。
【００４０】
また、割り当て管理データベースＤ３は、図６に示すように、１処理単位ごとに付される処理ＩＤと、１つの処理を複数のプロセスに分割して並行処理する場合の各プロセスについて付されるプロセスＩＤと、そのプロセスに割り当てられた処理サーバのＩＤと、そのプロセスの現時点の状況を示すステータスとを記録するようになっている。
【００４１】
ここで、図例は、ＩＤ「Ａ−０１」で示される例えば図４の売上情報ファイルＡについての処理を５つのプロセスに分割して並行処理する場合を示すもので、この場合、プロセス１では、図３のトランザクションメッセージデータベースＤ１に記録されているメッセージのうち、連番が、１、６、１１、１６…のメッセージを処理し、プロセス２では、２、７、１２、１７…のメッセージを処理し、プロセス３では、３、８、１３、１８…のメッセージを処理し、プロセス４では、４、９、１４、１９…のメッセージを処理し、プロセス５では、５、１０、１５、２０…のメッセージを処理することになる。
【００４２】
なお、上記ステータスとしては、当該プロセスへの処理サーバの割り当てが完了していないことを示す「初期状態」、処理サーバが割り当てられて実行を開始したことを示す「実行開始」、処理サーバのリソース使用率が許容リソース使用率をオーバーしているために当該プロセスを他の処理サーバに割り当てるべきことを示す「再割り当て」、全処理サーバのリソース使用率が許容リソース使用率をオーバーしているために当該バッチ処理自体を停止する「停止」、及び当該プロセスが完了したことを示す「実行完了」とが設定されている。
【００４３】
また、記憶装置１４に備えられたデータベースのうち、加盟店売上情報データベースＤ４は、図７に示すように、加盟店番号と集計年月とをキーとし、各加盟店の売上金額を年月別に記録するようになっており、会員月別利用明細データベースＤ５は、図８に示すように、会員番号と集計年月とをキーとし、各会員のクレジットカード利用金額を年月別に記録するようになっている。
【００４４】
次に、本システム１０の動作、特にオンライン処理の実行中にバッチ処理が行われる場合の動作を、バッチ制御サーバ１１に搭載された各プログラムＰ２〜Ｐ５の動作に従って説明する。
【００４５】
まず、売上情報ファイルＡが投入されると、スケジュール管理プログラムＰ１からの指令を受けて、所定のタイミングで、トランザクションメッセージ取得プログラムＰ２が起動する。
【００４６】
このプログラムＰ２は、図９に示すフローチャートに従って動作し、まずステップＳ１で、図４に示す売上情報ファイルＡから売上データを１件読み込み、ステップＳ２で、これを新たなレコードとして、図３に示すトランザクションメッセージデータベースＤ１に書き込む。その場合に、今回のデータの種類を示すトランザクションＩＤと各レコードごとの連番とが付され、かつ、会員番号、加盟店番号、購入日、商品番号及び金額の各データの内容を示す数字がメッセージとして記録される。
【００４７】
そして、ステップＳ３で、売上情報ファイルＡの全データについての読み込み及び書き込みを終了したことを判定するまで、上記ステップＳ１、Ｓ２を繰り返す。これにより、上記売上情報ファイルＡの全データがトランザクションメッセージとしてデータベースＤ１に記録されることになる。
【００４８】
一方、バッチ制御サーバ１１が起動すると、負荷監視プログラムＰ３が動作する。このプログラムＰ３は、各処理サーバ１３Ａ、１３Ｂ…の負荷状態、即ち各サーバを構成するハードウエアやソフトウエア等のリソースの使用状況を監視するもので、クロックＣ１からの信号で、一定時間ごとに、図１０に示すフローチャートに従って動作する。
【００４９】
即ち、まずステップＳ１１で、１つの処理サーバ１３にアクセスして、そのサーバ１３におけるリソース使用率を取得し、ステップＳ１２で、そのリソース使用率を、図５の負荷管理データベースＤ２における当該処理サーバ１３についてのレコードの現リソース使用率の欄に記録する。その場合に、現リソース使用率としては、一定時間内の平均値が記録される。
【００５０】
そして、ステップＳ１３で、全処理サーバ１３Ａ、１３Ｂ…についての現リソース使用率の記録が終了したことを判定するまで上記ステップＳ１１、Ｓ１２を繰り返す。これにより、上記負荷管理データベースＤ２における各処理サーバ１３Ａ、１３Ｂ…の現リソース使用率が常に最新の値に更新されることになる。
【００５１】
このようにして、上記トランザクションメッセージ取得プログラムＰ２によるトランザクションメッセージの取得ないしデータベースＤ１への記録が終了し、かつ、負荷監視プログラムＰ３による各処理サーバ１３Ａ、１３Ｂ…の負荷の状態が常時監視されている状態で、上記スケジュール管理プログラムＰ１からの指令を受けて、割り当て制御プログラムＰ４が起動する。
【００５２】
このプログラムＰ４は、バッチ処理を実行する処理サーバ１３を処理のプロセス単位で選定するもので、図１１に示すフローチャートに従って動作する。
【００５３】
即ち、まずステップＳ２１で、今回の動作がバッチ処理の実行開始後、最初の動作であるか否かを判定する。そして、最初の動作である場合には、ステップＳ２２で、図６に示すように、割り当て管理データベースＤ３に、予め当該バッチ処理について設定されている並行処理数、即ち同時に並行処理するプロセス数に応じた数のレコードを新規作成し、各レコードの処理ＩＤ欄に、今回の処理のＩＤ、例えば「Ａ−０１」と書き込むと共に、プロセスＩＤの欄には、例えば並行処理数が「５」の場合、「１」〜「５」をそれぞれ書き込む。また、ステータスの欄には、いずれも「初期状態」と書き込む。
【００５４】
次に、ステップＳ２３で、上記割り当て管理データベースＤ３の今回の処理「Ａ−０１」に関する各レコードを参照し、ステップＳ２４で、全てのレコードのステータスが「実行完了」であるか否かを判定する。全てのレコードのステータスが「実行完了」である場合は、今回の処理が完了した場合であるので、バッチ制御サーバ１１自体の動作を終了する。
【００５５】
実行開始直後は、全てのレコードのステータスが「実行完了」ではないから、次にステップＳ２５を実行し、全レコードについて各プロセスへの処理サーバの割り当てが完了しているか否かを判定する。そして、実行開始直後は、割り当てが完了していないから、次にステップＳ２６以下の処理サーバの割り当て制御を実行する。
【００５６】
即ち、まずステップＳ２６で、割り当て管理データベースＤ３の処理「Ａ−０１」の１つのレコードのステータスを参照し、ステップＳ２７で、そのステータスが「初期状態」、「停止」、「再割り当て」のいずれかであるか否かを判定する。ステータスがこれ以外の「実行開始」又は「実行完了」である場合には、改めて処理サーバを割り当てる必要はないから、上記ステップＳ２５、Ｓ２６に戻って次のレコードについての割り当て制御に移行する。
【００５７】
バッチ制御システム１１の実行開始直後は、各プロセスについてのレコードのステータスはいずれも「初期状態」であるから、次にステップＳ２８を実行し、負荷管理データベースＤ２に記録されているデータに基づき、各処理サーバ１３Ａ、１３Ｂ…についての負荷計算として、負荷に対する余裕度を算出する。
【００５８】
ここで、この計算は、次式、
余裕度＝（許容リソース使用率−現リソース使用率）×重み
に従って行われ、各処理サーバ１３Ａ、１３Ｂ…の余裕度が算出される。
【００５９】
この計算の結果、余裕度がプラス、即ち現リソース使用率が許容リソース使用率未満である処理サーバ１３が１つでもあれば、次のステップＳ２９で、実行可能サーバ「あり」と判定される。そして、ステップＳ３０で、計算された余裕度の大きいものから優先的に処理サーバ１３を選定し、当該プロセスを割り当てる。
【００６０】
その場合に、余裕度が大きな処理サーバ１３については複数のプロセスが割り当てられることがあり、その割り当てプロセス数は、次式、
割り当てプロセス数＝
（１−現リソース使用率／許容リソース使用率）×並行処理プロセス数
に従って計算すされる。
【００６１】
今、例えば、並行処理プロセス数が５で、ある処理サーバ１３の許容リソース使用率が７０％、現リソース使用率が４０％であるとすると、割り当てプロセス数は約２．１となるので、その処理サーバ１３には２つのプロセスが割り当てられる。その場合に、小数点以下は切り捨てられるが、値が１未満のときは、割り当て数は１とされる。
【００６２】
以上のようにして、処理サーバ１３が割り当てられたプロセスについては、ステップＳ３１で、割り当て管理データベースＤ３の当該プロセスのレコードのサーバＩＤ欄に割り当てた処理サーバのＩＤを書き込むと共に、ステータスを「実行開始」とする。
【００６３】
そして、ステップＳ３２で、割り当てた処理サーバ１３で当該プロセスを処理するように、その処理サーバ１３のトランザクションメッセージ処理プログラムＰ６を起動する。
【００６４】
以上のようにして、割り当て管理データベースＤ３の各レコードに記録されたプロセスにいずれかの処理サーバ１３を割り当てれば、それらの処理サーバ１３でトランザクションメッセージの処理が開始されると共に、当該割り当て制御プログラムＰ４の状態は、上記ステップＳ２５からステップＳ３３に移行し、動作を一旦終了して、再起動のためのイベント待ち状態となる。
【００６５】
その場合に、この処理サーバ割り当て制御において、例えば５つのプロセスのうちの一部にいずれかの処理サーバ１３を割り当てた時点で、余裕度がプラスのサーバがなくなることがある。この場合、残りのプロセスについては、処理サーバ１３が割り当てられず、ステータスが「初期状態」のまま、ステップＳ３３のイベント待ち状態となる。
【００６６】
また、上記ステップＳ２９で、全ての処理サーバ１３Ａ、１３Ｂ…の現リソース使用率が許容リソース使用率を上回っていて、実行可能サーバ「なし」と判定されたときは、次にステップＳ３４を実行し、割り当て管理データベースＤ３の処理「Ａ−０１」に係る全レコードのステータスを「停止」とする。
【００６７】
そして、ステップＳ３５で、いずれの処理サーバ１３のトランザクションメッセージ処理プログラムＰ６も起動させることなく、即ち当該バッチ処理を全く実行することなく、クロックＣ２を始動させ、上記ステップＳ３３のイベント待ち状態に移行して、当該プログラムＰ４の動作を一旦停止する。
【００６８】
このイベント待ち状態は、イベントとしての上記クロックＣ２のタイムアウト、又はいずれかの処理サーバ１３におけるトランザクションメッセージ処理プログラムＰ６の動作終了により解消され、上記ステップＳ２３以下の処理サーバ割り当て制御が再開される。
【００６９】
したがって、前回の割り当て制御時に「初期状態」のままイベント待ち状態に移行したプロセスについても、各処理サーバ１３の余裕度の変動により、次回以降の割り当て制御時にいずれかの処理サーバ１３が割り当てられて「実行開始」となり、また、全プロセスのステータスが「停止」とされて、当該バッチ処理が全く実行されていないときでも、各処理サーバ１３の余裕度の変動により、全部又は一部のプロセスが「実行開始」となって、処理が開始されることになる。
【００７０】
また、以上の処理サーバ割り当て制御と並行して、再割り当て指示プログラムＰ５が動作する。
【００７１】
このプログラムＰ５は、クロックＣ１からの指令で負荷監視プログラムＰ３が起動し、負荷管理データベースＤ２の更新処理が行われたときに、これに連動して起動し、図１２に示すフローチャートに従って次のように動作する。
【００７２】
まず、ステップＳ４１で、負荷管理データベースＤ２から１つの処理サーバの現リソース使用率を読み取り、ステップＳ４２で、その値がその処理サーバについて予め設定されている許容リソース使用率を超えているか否かを判定する。
【００７３】
現リソース使用率が許容リソース使用率を超えている場合は、ステップＳ４３で、割り当て管理データベースＤ３に記録されている当該処理サーバが割り当てられているプロセスのステータスを「再割り当て」に変更する。そして、この動作を、ステップＳ４４で、全処理サーバについて終了したことを判定するまで繰り返す。
【００７４】
以上のようにして、バッチ制御サーバ１１においては、負荷監視プログラムＰ３により、各処理サーバ１３Ａ、１３Ｂ…の負荷の状態が管理され、また、割り当て制御プログラムＰ４により、当該バッチ処理の各プロセスの状態が管理されている状態で、これらのプロセスを並行処理する処理サーバが割り当てられる。そして、プロセスが割り当てられた処理サーバでは、トランザクションメッセージ処理プログラムＰ６が起動する。
【００７５】
このプログラムＰ６は、図１３に示すフローチャートに従い、次のように動作する。なお、１つの処理サーバに複数のプロセスが割り当てられている場合は、各プロセスについて次の動作を並行して実行する。
【００７６】
まず、ステップＳ５１で、割り当て管理データベースＤ３から割り当てられているプロセスのステータスを読み取り、ステップＳ５２で、そのステータスが「実行開始」か「再割り当て」かを判定する。ここで、このトランザクションメッセージ処理プログラムＰ６は、「実行開始」及び「再割り当て」以外のステータスで実行されることはない。
【００７７】
ステータスが「実行開始」の場合は、ステップＳ５３で、トランザクションメッセージデータベースＤ１から１件のメッセージを取り出すと共に、ステップＳ５４で、そのメッセージが、当該プロセスの処理を終了させるための終了メッセージであるか否かを判定する。そして、図３に示すような通常処理のためのメッセージである場合には、ステップＳ５５で、そのメッセージを、業務アプリケーションプログラム群Ｐ７のうちのトランザクションＩＤによって特定されるプログラムに受け渡し、後述するフローチャートに従って、記憶装置１４に設けられている加盟店月別売上情報データベースＤ４及び会員月別利用明細データベースＤ５に対する更新処理を実行させる。
【００７８】
割り当て管理データベースＤ３の当該プロセスのステータスが「実行開始」である間、上記ステップＳ５３〜Ｓ５５を繰り返し実行し、そのプロセスが処理すべきトランザクションメッセージ、例えばＩＤが「１」のプロセスを処理する処理サーバは、連番が１、６、１１のメッセージを順次処理し、上記加盟店月別売上情報データベースＤ４及び会員月別利用明細データベースＤ５を更新する。
【００７９】
そして、上記ステップＳ５３で、当該プロセスの最後に設けられた終了メッセージを取り出したときに、ステップＳ５４からステップＳ５６を実行し、そのプロセスについての処理が終了したことを示すために、割り当て管理データベースＤ３の当該プロセスのステータスを「実行完了」とし、この処理サーバ１３でのトランザクションメッセージ処理プログラムＰ６の動作を終了する。
【００８０】
一方、当該処理サーバの負荷が増大し、上記再割り当て指示プログラムＰ５によって、割り当て管理データベースＤ３における当該プロセスのステータスが「再割り当て」に変更され、ステップＳ５２で、ステータスが「再割り当て」に変更されたことを判定すると、トランザクションメッセージ処理プログラムＰ６は動作を終了し、当該処理サーバ１３によるトランザクションメッセージの処理を一旦停止する。
【００８１】
このとき、図１１の割り当て制御プログラムＰ４のステップＳ３３のイベント待ち状態が解消され、該割り当て制御プログラムＰ４が再起動する。
【００８２】
そして、この割り当て制御プログラムＰ４は、ステップＳ２３からステップＳ２６以下の割り当て制御を再び実行し、他に実行可能な処理サーバが見つかれば、ステップＳ３０〜Ｓ３２で、当該プロセスの処理を新たに見つかった処理サーバに割り当て、割り当て管理データベースＤ３の当該プロセスのレコードのサーバＩＤの欄にその処理サーバのＩＤを書き込むと共に、ステータスを「実行開始」とし、その新たな処理サーバのトランザクションメッセージ処理プログラムＰ６を起動させる。
【００８３】
また、図１３のトランザクションメッセージ処理プログラムＰ６が、割り当てられたプロセスを完了し、ステップＳ５６で割り当て管理データベースＤ３のステータスを「実行完了」に変更して動作を終了したときも、図１１の割り当て制御プログラムＰ４のステップＳ３３のイベント待ち状態が解消され、該割り当て制御プログラムＰ４が再起動する。
【００８４】
そして、プロセスの処理を割り当てられた各処理サーバ１３のトランザクションメッセージ処理プログラムＰ６が、いずれも割り当て管理データベースＤ３のステータスを「実行完了」として終了したときには、図１１の割り当て制御プログラムＰ４のステップＳ２４で、割り当て管理データベースＤ３の今回の処理に係る全レコードのステータスが「実行完了」であると判定され、当該バッチ処理が完全に終了する。
【００８５】
以上のように、バッチ制御サーバ１１においては、バッチ処理の開始時に、現リソース使用率が許容リソース使用率を超えている処理サーバについてはプロセスの割り当てが見合わされると共に、全ての処理サーバの現リソース使用率が許容リソース使用率を超えている場合、或いは処理の途中で全ての処理サーバの現リソース使用率が許容リソース使用率を超えた場合には、そのバッチ処理自体が停止されることになる。
【００８６】
また、バッチ処理の途中で、いずれかの処理サーバ１３の現リソース使用率が許容リソース使用率を超えたときには、その処理サーバ１３でのプロセスの処理が停止されると共に、現リソース使用率が許容リソース使用率を超えていない他の処理サーバ１３にそのプロセスが再割り当てされて、処理が続行されることになる。
【００８７】
したがって、バッチ処理の実行をいたずらに犠牲にすることなく、いずれの処理サーバも許容リソース使用率を超えた状態でバッチ処理を実行することが回避され、常に負荷に対する一定量の余裕が確保されることになる。
【００８８】
これにより、オンライン処理の常時稼動下で、バッチ処理を並行して実行するシステムにおいて、バッチ処理の効率の低下を抑制しながら、このバッチ処理のためにオンライン処理が遅延することが防止される。
【００８９】
なお、各処理サーバ１３において、上記トランザクションメッセージ処理プログラムＰ６のステップＳ５５で起動される業務アプリケーションプログラムＰ７は、図１４に示すフローチャートに従い、次のように動作する。
【００９０】
まず、ステップＳ６１で、上記ランザクションメッセージ処理プログラムＰ６のステップＳ５３で取得した１件のトランザクションメッセージを受け取り、ステップＳ６２で、そのメッセージが示す加盟店番号と購入日とを参照し、その加盟店番号と集計年月とをキーとして、図７に示す加盟店月別売上情報データベースＤ４から該当するレコードを検索する。
【００９１】
そして、ステップＳ６３で、そのレコードに記録されている売上金額に、上記トランザクションメッセージが示す金額を加算し、ステップ６４で、そのレコードの売上金額の欄を加算した金額に更新する。
【００９２】
また、ステップＳ６５で、上記トランザクションメッセージが示す会員番号と購入日とを参照し、その会員番号と集計年月とをキーとして、図８に示す会員月別利用明細データベースＤ５から該当するレコードを検索する。
【００９３】
そして、ステップＳ６６で、そのレコードに記録されている利用金額に、上記トランザクションメッセージが示す金額を加算し、ステップ６７で、そのレコードの利用金額の欄を加算した金額に更新する。
【００９４】
このようにして、売上情報ファイルＡから読み取ったデータに基づき、加盟店月別売上情報データベースＤ４と会員月別利用明細データベースＤ５の２つの業務データベースの更新処理がバッチ処理として実行されることになるが、その場合に、業務アプリケーションプログラムＰ７は、１トランザクションメッセージごとに上記の２つの業務データベースＤ４、Ｄ５に対する処理を完結するから、バッチ処理の途中にオンライン処理が割り込んでも、データベースＤ４、Ｄ５の内容が不整合な状態でオンライン処理が実行されることがない。
【００９５】
したがって、バッチ処理と常時稼動のオンライン処理とが並行して実行されるシステムにおいて、複数のデータベースの内容が不整合な状態でオンライン処理が実行されることによる処理ミスが防止される。
【００９６】
なお、以上の実施の形態では、データ処理装置としてサーバコンピュータを用いたが、トランザクションメッセージ処理プログラムＰ６や業務アプリケーションプログラムＰ７の搭載、及びバッチ制御サーバ１１やオンライン制御サーバ１２との接続が可能であり、かつ所要の処理機能を備えていれば、パーソナルコンピュータ等の使用も可能である。
【００９７】
【発明の効果】
以上のように本発明によれば、共通の業務データベースに対してバッチ処理と常時稼動するオンライ処理とを並行して実行するシステムにおいて、これらの処理が複数のデータ処理装置に振り分けて実行されることになるので、共通の業務データベースに対し、オンライン処理の稼働下で大量のバッチ処理用トランザクションメッセージを効率よく処理することが可能となる。
【００９８】
そして、特に本発明によれば、上記データ処理装置が所定の負荷状態を超えてバッチ処理を実行することが回避されて、各処理装置に常に一定量の余裕が確保されることになる。これにより、バッチ処理のためにオンライン処理が遅延するといった不具合が防止され、オンライン処理が常にリアルタイムで実行されることになる。
【図面の簡単な説明】
【図１】本発明に係るデータ管理システムの実施の形態の構成示すブロック図である。
【図２】同システムにおけるバッチ制御サーバ及び処理サーバの構成示すブロック図である。
【図３】同システムで用いられるトランザクションメッセージデータベースの構成を示すテーブルである。
【図４】売上情報ファイルの構成を示すテーブルである。
【図５】負荷管理データベースの構成を示すテーブルである。
【図６】割り当て管理データベースの構成を示すテーブルである。
【図７】加盟店月別売上情報データベースの構成を示すテーブルである。
【図８】会員月別利用明細データベースの構成を示すテーブルである。
【図９】トランザクションメッセージ取得プログラムの動作を示すフローチャートである。
【図１０】負荷監視プログラムの動作を示すフローチャートである。
【図１１】割り当て制御プログラムの動作を示すフローチャートである。
【図１２】再割り当て指示プログラムの動作を示すフローチャートである。
【図１３】トランザクションメッセージ処理プログラムの動作を示すフローチャートである。
【図１４】業務アプリケーションプログラムの動作を示すフローチャートである。
【符号の説明】
１０      データ管理システム
１１      バッチ制御装置（バッチ制御サーバ）
１２      オンライン制御装置（オンライン制御サーバ）
１３（１３Ａ、１３Ｂ…）  データ処理装置（処理サーバ）
１４      記憶装置
【図１】
2004280457.tif 000003
【図２】
2004280457.tif 000004
【図３】
2004280457.tif 000005
【図４】
2004280457.tif 000006
【図５】
2004280457.tif 000007
【図６】
2004280457.tif 000008
【図７】
2004280457.tif 000009
【図８】
2004280457.tif 000010
【図９】
2004280457.tif 000011
【図１０】
2004280457.tif 000012
【図１１】
2004280457.tif 000013
【図１２】
2004280457.tif 000014
【図１３】
2004280457.tif 000015
【図１４】
2004280457.tif 000016