(57)【要約】【課題】  より効率的なデータ集約処理を可能とする。【解決手段】  データ集約管理サーバ５は、各データ管理サーバ１により管理されている各データを集約ＤＢ６に集約するためのジョブが登録されているジョブリストと、ジョブリストに登録されている各ジョブについて分割数と全処理件数の情報と、を記憶部に記憶する。データ集約管理サーバ５は、ジョブリストから処理対象のジョブを順次選択し、選択した処理対象のジョブについて、全処理件数と、分割数と、に基づいて、そのジョブを複数のタスクに分割したときのタスク毎の処理件数を求める。そして、データ集約管理サーバ５は、各処理サーバ３の並列処理数の限度値、各データ管理サーバ１の並列処理数の限度値等に基づいて、ジョブを構成する各タスクを処理サーバ３の各々に割り振る。【選択図】  図１
2006268407.tif 000002
【特許請求の範囲】
【請求項１】
データ管理コンピュータにより管理されている各データを集約用データベースに集約するためのジョブが登録されているジョブリストを記憶する手段と、
前記ジョブリストに登録されている各ジョブについて、当該ジョブの分割数と全処理件数の情報を記憶する手段と、
前記ジョブリストから処理対象のジョブを順次選択する手段と、
前記選択した処理対象のジョブについて、全処理件数と、分割数と、に基づいて、当該ジョブを複数のタスクに分割したときのタスク毎の処理件数を求める手段と、
各前記タスクを、データの集約処理を行う処理コンピュータの各々に割り振る割り振り手段と、
を備えることを特徴とするデータ集約管理システム。
【請求項２】
各前記処理コンピュータについて、当該処理コンピュータの並列処理数の限度値の情報を記憶する手段をさらに備え、
前記割り振り手段は、各前記処理コンピュータに対して、当該処理コンピュータの並列処理数の限度値を超過しない範囲で各前記タスクを割り振る、
ことを特徴とする請求項１に記載のデータ集約管理システム。
【請求項３】
各データ管理コンピュータについて、当該データ管理コンピュータの並列処理数の限度値の情報を記憶する手段をさらに備え、
前記割り振り手段は、各データ管理コンピュータの並列処理数の限度値を超過しない範囲で各前記タスクを割り振る、
ことを特徴とする請求項１又は２に記載のデータ集約管理システム。
【請求項４】
データ管理コンピュータにより管理されている各データを集約用データベースに集約するためのジョブが登録されているジョブリストを記憶するステップと、
前記ジョブリストに登録されている各ジョブについて、当該ジョブの分割数と全処理件数の情報を記憶するステップと、
前記ジョブリストから処理対象のジョブを順次選択するステップと、
前記選択した処理対象のジョブについて、全処理件数と、分割数と、に基づいて、当該ジョブを複数のタスクに分割したときのタスク毎の処理件数を求めるステップと、
各前記タスクを、データの集約処理を行う処理コンピュータの各々に割り振るステップと、
を備えることを特徴とするデータ集約管理方法。
【請求項５】
コンピュータを、
データ管理コンピュータにより管理されている各データを集約用データベースに集約するためのジョブが登録されているジョブリストを記憶する手段、
前記ジョブリストに登録されている各ジョブについて、当該ジョブの分割数と全処理件数の情報を記憶する手段、
前記ジョブリストから処理対象のジョブを順次選択する手段、
前記選択した処理対象のジョブについて、全処理件数と、分割数と、に基づいて、当該ジョブを複数のタスクに分割したときのタスク毎の処理件数を求める手段、
各前記タスクを、データの集約処理を行う処理コンピュータの各々に割り振る割り振り手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ジョブリストに基づいてデータを所定のデータベースに集約するためのデータ集約管理システム等に関する。
【背景技術】
【０００２】
従来、データの集約を効率的に行うことを目的として、夜間等の比較的コンピュータが使用されていな時間帯に、各データベースからサーバ等が各種データを吸い上げて所定のデータベースに集約するデータ集約処理が行われていた。このようなデータ集約処理では、例えば、予め作成されたジョブリストをバッチ処理により実行させる。
【０００３】
例えば、情報処理システム全体において必要とされる情報処理を、サブシステムと中央システムで実行することにより、情報処理の効率化を図るシステムもある（特許文献１）。
【０００４】
【特許文献１】特開２００２−１０８６８２号公報（第４，５頁、第２図）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
データを集約するシステムでは、集約対象のデータ量が増大しても、夜間等の制約された時間内にデータ集約処理を完了させなければならず、より効率的なデータ集約処理が可能となる仕組みの実現が求められていた。
【０００６】
本発明は、上記実状に鑑みてなされたものであり、より効率的なデータ集約処理を可能とするデータ集約管理システム等を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、この発明の第１の観点に係るデータ集約管理システムは、
データ管理コンピュータにより管理されている各データを集約用データベースに集約するためのジョブが登録されているジョブリストを記憶する手段と、
前記ジョブリストに登録されている各ジョブについて、当該ジョブの分割数と全処理件数の情報を記憶する手段と、
前記ジョブリストから処理対象のジョブを順次選択する手段と、
前記選択した処理対象のジョブについて、全処理件数と、分割数と、に基づいて、当該ジョブを複数のタスクに分割したときのタスク毎の処理件数を求める手段と、
各前記タスクを、データの集約処理を行う処理コンピュータの各々に割り振る割り振り手段と、
を備えることを特徴とする。
【０００８】
各前記処理コンピュータについて、当該処理コンピュータの並列処理数の限度値の情報を記憶する手段をさらに備えてもよく、
前記割り振り手段は、各前記処理コンピュータに対して、当該処理コンピュータの並列処理数の限度値を超過しない範囲で各前記タスクを割り振ってもよい。
【０００９】
各データ管理コンピュータについて、当該データ管理コンピュータの並列処理数の限度値の情報を記憶する手段をさらに備えてもよく、
前記割り振り手段は、各データ管理コンピュータの並列処理数の限度値を超過しない範囲で各前記タスクを割り振ってもよい。
【００１０】
また、この発明の第２の観点に係るデータ集約管理方法は、
データ管理コンピュータにより管理されている各データを集約用データベースに集約するためのジョブが登録されているジョブリストを記憶するステップと、
前記ジョブリストに登録されている各ジョブについて、当該ジョブの分割数と全処理件数の情報を記憶するステップと、
前記ジョブリストから処理対象のジョブを順次選択するステップと、
前記選択した処理対象のジョブについて、全処理件数と、分割数と、に基づいて、当該ジョブを複数のタスクに分割したときのタスク毎の処理件数を求めるステップと、
各前記タスクを、データの集約処理を行う処理コンピュータの各々に割り振るステップと、
を備えることを特徴とする。
【００１１】
また、この発明の第３の観点に係るプログラムは、
コンピュータを、
データ管理コンピュータにより管理されている各データを集約用データベースに集約するためのジョブが登録されているジョブリストを記憶する手段、
前記ジョブリストに登録されている各ジョブについて、当該ジョブの分割数と全処理件数の情報を記憶する手段、
前記ジョブリストから処理対象のジョブを順次選択する手段、
前記選択した処理対象のジョブについて、全処理件数と、分割数と、に基づいて、当該ジョブを複数のタスクに分割したときのタスク毎の処理件数を求める手段、
各前記タスクを、データの集約処理を行う処理コンピュータの各々に割り振る割り振り手段、
として機能させる。
【発明の効果】
【００１２】
本発明によれば、より効率的なデータ集約処理を可能とする。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の実施形態に係るデータ集約管理システムについて図面を参照して説明する。
本発明の実施形態に係るデータ集約管理システムの構成例を図１に示す。このデータ集約管理システムは、複数のデータ管理サーバ１と、複数の処理サーバ３と、データ集約管理サーバ５と、を備え、これらはＬＡＮ等のネットワーク１０により接続されている。
【００１４】
データ管理サーバ１は、集約対象のデータが格納されているデータベース（処理ＤＢ）１１を保持するサーバであり、制御部、記憶部、通信制御部、を備えるコンピュータから構成される。データ管理サーバ１の制御部は、処理サーバ３からデータの読み出し要求を受信すると、記憶部における処理ＤＢ１１から、指定されたデータを読み出し、要求元の処理サーバ３にネットワーク１０を介して送信する。
【００１５】
処理サーバ３は、データの集約処理を行うサーバであり、制御部、記憶部、通信制御部、を備えるコンピュータから構成される。処理サーバ３の制御部は、データ集約管理サーバ５からの集約指示データを受信すると、指定されたデータ管理サーバ１に対してデータの読み出し要求を送信して、読み出されたデータをデータ管理サーバ１から受信する。そして、受信した読み出しデータをデータ集約管理サーバ５に送信して集約ＤＢ６に格納する。
【００１６】
データ集約管理サーバ５は、データが集約されるデータベース（集約ＤＢ６）を備えるサーバであり、例えば図２に示すように、制御部５１、記憶部５２、通信制御部５３を備えるコンピュータから構成される。
制御部５１は、ＣＰＵ（Central Processing Unit）、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）等より構成され、記憶部５２に記憶されるプログラム等を読み込んで実行することにより、ジョブリスト等に基づくデータ集約管理処理を予め設定されたタイミングで行う。
【００１７】
このデータ集約管理処理では、制御部５１は、記憶部５２に記憶されているジョブリストを参照し、ジョブリストから処理対象のジョブを選択し、選択したジョブを実行するための処理（ジョブ実行処理）を行う。ジョブリストは、実行対象のジョブの一覧データであり、例えば図３に示すように、各ジョブのジョブナンバ、処理ＤＢ１１のＤＢ名、実行スケジュール（実行時刻）、ステータス等の情報が設定される。処理対象のジョブの選択では、制御部５１は、ジョブリストの「実行スケジュール（実行時刻）」と「ステータス」を参照し、現在時刻が設定されている実行時刻と合致し、ステータスが”開始前”に設定されている１つのジョブを選択する。実行対象のジョブが複数ある場合には、例えば、ジョブナンバ順にジョブを選択する。
【００１８】
ジョブ実行処理では、制御部５１は、ジョブリストから処理対象のジョブに対応する処理ＤＢ１１のＤＢ名（処理ＤＢ名）を読み出し、記憶部５２に記憶されているデータリストに設定されている、処理ＤＢ名に対応する全処理件数と、ジョブ多重度と、に基づいて、ジョブを構成する各タスクの処理件数を求める。具体的には、例えば、データリストにおける全処理件数をジョブ多重度で除算した値を各タスクの処理件数としてもよい。
データリストは、例えば図４に示すように、ジョブリストに登録されている各ジョブに関し、処理ＤＢ名、全処理件数、ジョブを分割する際の分割数（ジョブ多重度）、ジョブを分割して形成されたタスクのうち現時点で実行されているタスク数（ジョブ現在多重度）、データ管理サーバ１のサーバ名等の情報が設定される。
【００１９】
そして、制御部５１は、各タスクを処理サーバ３の各々に順次振り分けて、各タスクを起動する。具体的には、データ管理サーバ１のサーバ名、処理ＤＢ名、処理内容（処理開始ポインタ、処理終了ポインタ等）等のデータを含む集約指示データを各処理サーバ３に送信する。また、制御部５１は、各データ管理サーバ１について記憶部５２のデータ管理サーバリストに設定されている並列処理数の限度値（データ管理サーバ最大多重度）と、各処理サーバ３について設定されている並列処理数の限度値（処理サーバ最大多重度）と、に基づいて、各データ管理サーバ１と各処理サーバ３での実行タスク数がそれぞれの多重度を超過しないよう制御する。
データ管理サーバリストは、例えば図５に示すように、サーバ名、データ管理サーバ最大多重度、現時点の実行中のタスク数（データ管理サーバ現在多重度）等の情報が設定される。処理サーバリストは、例えば図６に示すように、サーバナンバ、サーバ名、処理サーバ最大多重度、現時点の実行中のタスク数（処理サーバ現在多重度）等の情報が設定される。
【００２０】
記憶部５２は、ハードディスク装置等からなり、制御部５１により実行されるプログラム及び各種データ、ジョブリスト、データリスト、データ管理サーバリスト、処理サーバリスト等のデータを記憶する。
通信制御部５３は、他のコンピュータ（処理サーバ３等）とのネットワーク１０を介した通信を制御する。
【００２１】
次に、データ集約管理サーバ５によるデータ集約管理処理について図７のフローチャートを参照して説明する。
まず、制御部５１は、初期設定として、実行対象のジョブのジョブナンバを示す変数ＪＮに１を設定し（ステップＳ１）、また、タスクの割り振り先の処理サーバ３のサーバナンバを示す変数ＳＥＱに１を設定する（ステップＳ２）。
次に、制御部５１は、記憶部５２のジョブリストからジョブナンバ＝ＪＮのジョブを選択し、その実行スケジュールを参照して、実行するか否かを判別する（ステップＳ３）。具体的には、実行スケジュールが示す実行時刻と現在時刻が合致するか等をチェックし、合致する場合等には、そのジョブ（ＪＮ）を実行すると判別する。
ステップＳ３において、選択したジョブ（ＪＮ）を実行すると判別した場合（Ｓ３：ＹＥＳ）、制御部５１は、選択したジョブ（ＪＮ）について、ジョブ実行処理を行う（Ｓ４）。
【００２２】
ここで、ジョブ実行処理を図８のフローチャートを参照して説明する。
まず、制御部５１は、ジョブリストとデータリストを参照して、ジョブ（ＪＮ）について、ジョブを分割した際のタスク毎の処理件数を算出する（ステップＳ１１）。具体的には、例えば、全処理件数をジョブ多重度で除算した値を各タスクの処理件数としてもよい。
次に、制御部５１は、実行対象のタスクを特定するための変数ＴＮに０を設定する（ステップＳ１２）。そして、開始ポイント（何件目からか）と、終了ポイント（何件目までか）をそれぞれ設定する（ステップＳ１３、Ｓ１４）。例えば、開始ポイントについては、１タスクの処理件数とＴＮの値を掛け合わせた値に１を加算することにより求め、終了ポイントについては、開始ポイントに１タスクの処理件数を加算した値から１を減算することにより求める。
【００２３】
次に、制御部５１は、ジョブＪＮに対応するデータ管理サーバ１のデータ管理サーバ現在多重度が、データ管理サーバ最大多重度より小さいかを、データリストを参照して判別し（ステップＳ１５）、データ管理サーバ現在多重度の方が小さい場合には（ステップＳ１５：ＹＥＳ）、処理サーバ（ＳＥＱ）３の処理サーバ現在多重度が、処理サーバ最大多重度より小さいかを、判別する（ステップＳ１６）。
【００２４】
ステップＳ１６において処理サーバ現在多重度の方が小さい場合（ステップＳ１６：ＹＥＳ）、制御部５１は、処理サーバ（ＳＥＱ）３に、データ管理サーバ１のサーバ名、処理ＤＢ名、処理内容（処理開始ポインタ、処理終了ポインタ等）等のデータを含む集約指示データを送信することにより、タスク（ＴＮ）を起動する（ステップＳ１７）。集約指示データを受信した処理サーバ（ＳＥＱ）３は、タスク処理を実行する。なお、制御部５１は、タスク起動時には、データリストのジョブ現在多重度、データ管理サーバリストのデータ管理サーバ現在多重度、処理サーバリストの処理サーバ現在多重度のそれぞれに１だけ加算する。また、タスク終了時（例えば、処理サーバ３から処理完了の通知を受信した場合等）には、各多重度（ジョブ現在多重度、データ管理サーバ現在多重度、処理サーバ現在多重度）からそれぞれ１を減算する。タスク起動時においてＴＮ＝０の場合には、ジョブリストのジョブ（ＪＮ）ステータスに「処理中」を設定する。また、最終タスク（ＴＮ＝ジョブ最大多重度）の終了時には、ジョブリストのジョブ（ＪＮ）のステータスに「完了」を設定する。
【００２５】
次に、制御部５１は、タスクナンバＴＮに１を加算し（ステップＳ１８）、また、サーバナンバＳＥＱに１を加算する（ステップＳ１９）。なお、ステップＳ１９において、サーバナンバＳＥＱが処理サーバリストの最終ナンバである場合には、１を加算せず、ＳＥＱ＝１とする。
全タスクを起動したか、即ち、タスクナンバＴＮ＝ジョブ最大多重度か、を判別する（ステップＳ２０）。全タスクを起動した場合（ステップＳ２０：ＹＥＳ）、制御部５１は、ジョブ実行処理を終了し、メインフロー（データ集約管理処理）に戻る。また、全タスク処理を起動していない場合（ステップＳ２０：ＮＯ）、ステップＳ１３に戻り、次のタスクについて上述の処理を行う。
【００２６】
また、ステップＳ１５で、データ管理サーバ現在多重度がデータ管理サーバ最大多重度より小さくない場合（ステップＳ１５：ＮＯ）、起動したタスクが０か、即ち、タスクナンバＴＮが０か、を判別し（ステップＳ２１）、ＴＮが０でない場合（ステップＳ２１：ＮＯ）、ステップＳ２０に移行する。また、ＴＮが０の場合（ステップＳ２１：ＹＥＳ）、ジョブＴＮの再スケジュールを行い（ステップＳ２２）、メインフローに戻る。再スケジュール処理では、例えば、そのジョブのジョブナンバを、ステータスが「開始前」の他のジョブのジョブナンバと入れ替えてもよく、また、ジョブリストの最後尾にまわしてもよい。
以上、ジョブ実行処理について説明した。
【００２７】
データ集約処理（図７）において、ジョブ実行処理（ステップＳ４）の後、制御部５１は、ジョブナンバに１を加算し（ステップＳ５）、全ジョブについてジョブ実行処理が完了したかを判別し（ステップＳ６）、終了していない場合（ステップＳ６：ＮＯ）、ステップＳ３に戻り、終了した場合には（ステップＳ６：ＹＥＳ）、データ集約処理を終了する。
【００２８】
以上説明したように、本発明によれば、データ集約処理に関するジョブを分割することにより総処理時間の短縮が可能となり、データ集約処理の処理効率を向上することができる。また、データ管理サーバ最大多重度を設定してデータ管理サーバ１の負荷をコントロールすることにより、安定した処理速度でデータ読み出しが可能となる。また、処理サーバ最大多重度を設定して処理サーバ３の負荷をコントロールすることにより、安定した速度での集約処理が可能となる。
【００２９】
なお、本発明は種々の変形及び応用が可能である。
例えば、処理サーバのうちの１台が、管理サーバの機能を有する構成としてもよい。
また、上記説明では、各データ管理サーバ１が処理ＤＢ１１を備える構成としているが、これに限定されず、例えば、各データ管理サーバ１が、処理ＤＢ１１を保持する各ＤＢサーバに接続される構成としてもよい。
また、上記説明では、データ集約管理サーバ５が集約ＤＢ６を備える構成としているが、これに限定されず、例えば、集約ＤＢ６を保持するＤＢサーバがネットワーク１０に接続される構成としてもよい。
【００３０】
なお、この発明のシステムは、専用のシステムによらず、通常のコンピュータシステムを用いて実現可能である。例えば、上述の動作を実行するためのプログラムをコンピュータ読み取り可能な記録媒体（ＦＤ、ＣＤ−ＲＯＭ、ＤＶＤ等）に格納して配布し、該プログラムをコンピュータにインストールすることにより、上述の処理を実行するデータ管理サーバ、処理サーバ、管理サーバ等を構成してもよい。また、インターネット等のネットワーク上のサーバ装置が有するディスク装置に格納しておき、例えばコンピュータにダウンロード等するようにしてもよい。
また、上述の機能を、ＯＳが分担又はＯＳとアプリケーションの共同により実現する場合等には、ＯＳ以外の部分のみを媒体に格納して配布してもよく、また、コンピュータにダウンロード等してもよい。
【図面の簡単な説明】
【００３１】
【図１】本発明の実施形態に係るデータ集約管理システムの構成を例示する図である。
【図２】データ集約管理サーバの物理的構成を例示する図である。
【図３】ジョブリストを説明するための図である。
【図４】データリストを説明するための図である。
【図５】データ管理サーバリストを説明するための図である。
【図６】処理サーバリストを説明するための図である。
【図７】データ集約管理処理のフローチャートである。
【図８】ジョブ実行処理のフローチャートである。
【符号の説明】
【００３２】
１          データ管理サーバ
３          処理サーバ
５          データ集約管理サーバ
６          集約ＤＢ
１０        ネットワーク
１１        処理ＤＢ
５１        制御部
５２        記憶部
５３        通信制御部
【図１】
2006268407.tif 000003
【図２】
2006268407.tif 000004
【図３】
2006268407.tif 000005
【図４】
2006268407.tif 000006
【図５】
2006268407.tif 000007
【図６】
2006268407.tif 000008
【図７】
2006268407.tif 000009
【図８】
2006268407.tif 000010