(57)【要約】【課題】データウェアハウスを構築するバッチジョブの性能見積りを行う場合、性能算出ルールが自明であり算出ルールを必ず入力する必要がない、ジョブの処理日と処理時間を事前に入力することが困難である、処理日及び処理時間帯毎のＣＰＵ利用時間からではハードウェアの選定を行うことができない。【解決手段】バッチ性能見積りにおいて、データフロー入力ステップと、マシン性能単価入力ステップと、プロパティ設定ステップと、ジョブ単独実行時間算出ステップと、ジョブスケジュール入力ステップと、ジョブ全体実行時間算出ステップと、ジョブ実行許容時間入力ステップと、マシン選択ステップを設ける。【選択図】　図１
2004005288.tif 000002
【特許請求の範囲】
【請求項１】
システムの設計時にシステムの性能を見積る方法であって、
システム仕様設計の際に作成するテーブルとジョブとを並べて業務データの流れを表現したデータフローを入力するデータフロー入力ステップと、
マシン毎の性能単価を入力するマシン性能単価入力ステップと、
該データフローに含まれるジョブの入力データ件数及び出力データ件数を設定するプロパティ設定ステップと、
該データフローに含まれるジョブの入力データ件数及び出力データ件数と該マシン性能単価入力ステップを用いて入力したマシン性能単価とから各ジョブの実行予想時間を算出するジョブ単独実行時間算出ステップと、
を有することを特徴とするバッチ性能見積り方法。
【請求項２】
請求項１記載のバッチ性能見積り方法において、さらに、
ジョブのスケジュールを入力するジョブスケジュール入力ステップと、
該ジョブスケジュール入力ステップを用いて入力したジョブスケジュールと各ジョブの実行予想時間からジョブ全体の実行時間を算出するジョブ全体実行時間算出ステップと、
を有することを特徴とするバッチ性能見積り方法。
【請求項３】
請求項２記載のバッチ性能見積り方法において、さらに、
ジョブの実行許容時間を入力するジョブ実行許容時間入力ステップと、
マシン性能単価入力ステップを用いて入力した各マシン毎にジョブ全体の実行予想時間を算出し、各マシン毎の実行予想時間と該ジョブ実行許容時間を突き合わせることによりジョブ実行推奨マシン情報を出力するマシン選択ステップと、
を有することを特徴とするバッチ性能見積り方法。
【請求項４】
システムの設計時にシステムの性能を見積る装置であって、
システム仕様設計の際に作成する、テーブルとジョブとを並べて業務データの流れを表現したデータフローを入力するデータフロー入力手段と、
マシン毎の性能単価を入力するマシン性能単価入力ステップと、
該データフローに含まれるジョブの入力データ件数及び出力データ件数を設定するプロパティ設定手段と、
該データフローに含まれるジョブの入力データ件数及び出力データ件数と該マシン性能単価入力手段を用いて入力したマシン性能単価とから各ジョブの実行予想時間を算出するジョブ単独実行時間算出手段と、
を備えたことを特徴とするバッチ性能見積り装置。
【請求項５】
請求項４記載のバッチ性能見積り装置において、さらに、
ジョブのスケジュールを入力するジョブスケジュール入力手段と、
該ジョブスケジュール入力手段を用いて入力したジョブスケジュールと各ジョブの実行予想時間からジョブ全体の実行時間を算出するジョブ全体実行時間算出手段と、
を備えたことを特徴とするバッチ性能見積り装置。
【請求項６】
請求項５記載のバッチ性能見積り装置において、さらに、
ジョブの実行許容時間を入力するジョブ実行許容時間入力手段と、
マシン性能単価入力ステップを用いて入力した各マシン毎にジョブ全体の実行予想時間を算出し、各マシン毎の実行予想時間と該ジョブ実行許容時間を突き合わせることによりジョブ実行推奨マシン情報を出力するマシン選択手段と、
を備えたことを特徴とするバッチ性能見積り装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、設計段階でシステム性能を見積るための性能見積り方法及び装置に関し、特にデータウェアハウスシステム等の構築のためのバッチジョブの性能見積り方法及び装置に関する。
【０００２】
【従来の技術】
システムの性能を設計段階で見積るための性能見積り方法及び装置としては、特開２００１−１２５７８４号公報に開示されるように、（１）データフロー図とレコード仕様定義、該データフローに含まれる各プロセスの処理概要を表す処理パターン、当該プロセスが扱うデータ件数、プロセスの算出時間を見積る算出ルールを入力し各プロセスの予測実行時間（ＣＰＵ処理時間）を算出する、（２）プロセスの処理日と処理時間帯を設定する手段と（１）で算出したＣＰＵ処理時間から、各処理時間帯毎のＣＰＵ処理時間を算出する、及び、（３）ハードウェアの性能情報と（２）で算出した各処理時間帯毎のＣＰＵ処理時間から、ハードウェア選定へのアドバイス情報を出力する性能見積り方法及び装置が知られている。
【０００３】
【発明が解決しようとする課題】
上記公知例は、オンラインアプリケーションの設計における性能見積り方法及び装置を前提としており、データウェアハウスを構築するバッチジョブに適用しようとした場合、（１）データウェアハウス構築のバッチ処理はデータの入出力性能に縛られるため、性能算出ルールが自明であり算出ルールを必ず入力する必要がない、（２）バッチ処理は該データフローとは別に定義されたジョブの実行順序に基づいて実行され、ジョブがどの時間帯に実行されるかは該ジョブの前に実行されるジョブの実行時間により決定されるため、ジョブの処理日と処理時間を事前に入力することが困難である、（３）ハードウェア選定は、バッチ処理をどれくらいの時間で完了させる必要があるかにより決定されるため、処理日及び処理時間帯毎のＣＰＵ利用時間からではハードウェアの選定を行うことができない、という課題がある。
【０００４】
本発明の第一の目的は、データウェアハウスシステム等の見積りや設計段階において、ハードの性能単価情報とデータフロー図、ジョブが扱うデータ件数、ジョブスケジュール、ジョブ実行時間の目標値から、バッチ処理の処理時間及びジョブ実行時間を満たすハードを算出・提示し、見積りや設計段階での性能評価を可能とすることにより、開発工程上の手戻りを削減する性能見積り方法を提供することである。
【０００５】
本発明の第二の目的は、データウェアハウスシステムの見積りや設計段階において、ハードの性能単価情報とデータフロー図、ジョブが扱うデータ件数、ジョブスケジュール、ジョブ実行時間の目標値から、バッチ処理の処理時間及びジョブ実行時間を満たすハードを算出・提示し、見積りや設計段階での性能評価を可能とすることにより、開発工程上の手戻りを削減する性能見積り装置を提供することである。
【０００６】
【課題を解決するための手段】
上記の第１の目的は、システム仕様設計の際に作成する、テーブルとジョブとを並べて業務データの流れを表現したデータフローを入力するデータフロー入力ステップと、マシン毎の性能単価を入力するマシン性能単価入力ステップと、データフローに含まれるジョブの入力データ件数及び出力データ件数を設定するプロパティ設定ステップと、データフローに含まれるジョブの入力データ件数及び出力データ件数と、マシン性能単価入力ステップを用いて入力したマシン性能単価とから各ジョブの実行予想時間を算出するジョブ単独実行時間算出ステップと、ジョブのスケジュールを入力するジョブスケジュール入力ステップと、ジョブスケジュール入力ステップを用いて入力したジョブスケジュールと、各ジョブの実行予想時間からジョブ全体の実行時間を算出するジョブ全体実行時間算出ステップと、ジョブの実行許容時間を入力するジョブ実行許容時間入力ステップと、マシン性能単価入力ステップを用いて入力した各マシン毎にジョブ全体の実行予想時間を算出し、各マシン毎の実行予想時間とジョブ実行許容時間を突き合わせることによりジョブ実行推奨マシン情報を出力するマシン選択ステップを有する性能見積り方法により達成できる。
【０００７】
上記の第２の目的は、システム仕様設計の際に作成するテーブルとジョブとを並べて業務データの流れを表現したデータフローを入力するデータフロー入力手段と、マシン毎の性能単価を入力するマシン性能単価入力手段と、データフローに含まれるジョブの入力データ件数及び出力データ件数を設定するプロパティ設定手段と、データフローに含まれるジョブの入力データ件数及び出力データ件数と該マシン性能単価入力ステップを用いて入力したマシン性能単価とから各ジョブの実行予想時間を算出するジョブ単独実行時間算出手段と、ジョブのスケジュールを入力するジョブスケジュール入力手段と、ジョブスケジュール入力手段を用いて入力したジョブスケジュールと各ジョブの実行予想時間からジョブ全体の実行時間を算出するジョブ全体実行時間算出手段と、ジョブの実行許容時間を入力するジョブ実行許容時間入力手段と、マシン性能単価入力ステップを用いて入力した各マシン毎にジョブ全体の実行予想時間を算出し、各マシン毎の実行予想時間とジョブ実行許容時間を突き合わせることによりジョブ実行推奨マシン情報を出力するマシン選択手段を備える性能見積り装置により達成できる。
【０００８】
【発明の実施の形態】
以下、本発明の一実施の形態について、図面を用いて詳細に説明する。図１は、本発明のバッチ性能見積り方法の機能構成を示すものである。
【０００９】
図１において、バッチ性能見積り方法は、性能算出ステップ１、データフロー記述ＧＵＩ２、データフローテーブル３、ジョブ全体実行許容時間テーブル４、マシン別性能単価テーブル５、ジョブ単独実行予想時間テーブル６、ジョブ全体実行予想時間テーブル７、ジョブ実行推奨マシンテーブル８を有し、さらに性能算出ステップ１は、ジョブ単独実行時間算出ステップ９、ジョブ全体実行時間算出ステップ１０、全てのマシンについてジョブ全体実行時間を算出したか否かを判断する判断ステップ１１、及びマシン選択ステップ１２から構成され、データフローテーブル３はさらにデータテーブル３１、アローテーブル３２、ジョブテーブル３３、及びジョブスケジュールテーブル３４から構成される。なお、データフロー入力ステップ、プロパティ設定ステップ、ジョブスケジュール入力ステップ、マシン性能単価入力ステップ、及びジョブ全体実行許容時間入力ステップは、データフロー記述ＧＵＩ２に存在する。
【００１０】
図１３は、本発明を格納した性能算出プログラム１が実施される装置の構成例を示したものである。該装置は、ＣＰＵ１３０１、主記憶１３０２、キーボード及びマウス１３０３、ディスプレイ１３０４、バス１３０５、ＣＤ−ＲＯＭ又はＦＤＤ１３０６、及びハードディスク１３０７から構成される。
【００１１】
本発明を格納した性能算出プログラム１は、ＣＤ−ＲＯＭ又はＦＤＤ１３０６から読込まれ、バス１３０５を経由してハードディスク１３０７に格納される。性能算出プログラム１は、実行時には主記憶１３０２に読込まれ、ＣＰＵ１３０１により実行される。
【００１２】
データフローテーブル３、ジョブ全体実行許容時間テーブル４、及び、マシン別性能単価テーブル５のデータは、キーボード及びマウス１３０３により入力され、ハードディスク１３０７に格納される。また、これらのデータは主記憶１３０２中に一次保持される。
【００１３】
さらに、ジョブ単独実行予想時間テーブル６、ジョブ全体実行予想時間テーブル７、ジョブ実行推奨マシンテーブル８のデータは、主記憶１３０２に保持された後、ＣＰＵ１３０１によりハードディスク１３０７に格納される。また、ジョブ単独実行予想時間テーブル６、ジョブ全体実行予想時間テーブル７、ジョブ実行推奨マシンテーブル８のデータは、ＣＰＵ１３０１により処理され、ディスプレイ１３０４上に表示される。
【００１４】
図２は、データテーブル３１の構成例を示したものである。データテーブル３１は、データフロー図中のデータの情報を記憶するテーブルであり、データの名称を記憶する名称フィールド３１１から構成される。
【００１５】
図３は、アローテーブル３２の構成例を示したものである。アローテーブル３２は、データフロー中のアローの情報を記憶するテーブルであり、アローの入力又は出力となるジョブの名称を記憶するジョブ名フィールド３２１、アローの入力又は出力となるデータの名称を記憶するデータ名フィールド３２２、ジョブに入力されるデータ件数又はジョブが出力するデータ件数を記憶する処理レコード数フィールド３２３、及び、ジョブへの入力データかジョブからの出力データかを示す入出力区分フィールド３２４から構成される。
【００１６】
図４は、ジョブテーブル３３の構成例を示したものである。ジョブテーブル３３は、データフロー中のジョブの情報を記憶するテーブルであり、ジョブの名称を記憶する名称フィールド３３１から構成される。
【００１７】
図５は、ジョブスケジュールテーブル３４の構成例を示したものである。ジョブスケジュールテーブル３４は、ジョブの実行順序を記憶するテーブルであり、前ジョブフィールド３４１と次ジョブフィールド３４２から構成される。
【００１８】
図６は、マシン別性能単価テーブル５の構成例を示したものである。マシン別性能単価テーブル５は、マシン名フィールド５０１、秒当りレコードＩＯ数フィールド５０２、秒当り処理レコード数フィールド５０３から構成される。
【００１９】
図７は、ジョブ単独実行予想時間テーブル６の構成例を示したものである。ジョブ単独実行予想時間テーブル６は、ジョブ名フィールド６０１、マシン名フィールド６０２、実行時間予測値フィールド６０３から構成される。
【００２０】
図８は、ジョブ全体実行予想時間テーブル７の構成例を示したものである。ジョブ全体実行予想時間テーブル７は、マシン名フィールド７０１と実行時間予測値フィールド７０２とから構成される。
【００２１】
図９は、ジョブ単独実行時間算出ステップ９で実施される処理を示すフローチャートである。まず、マシン別性能単価テーブル５から１レコード取得し（ステップ９０１）、レコードが取得できたかどうかを判定する。該ステップは、図１のステップ１１のステップである。レコードが取得できた場合は、ジョブテーブル３３から１レコード取得し（ステップ９０３）、レコードが取得できたかどうかを判定する（ステップ９０４）。レコードが取得できた場合、ステップ９０３で取得したレコードの名称フィールド３３１の値を、ジョブ名フィールド３２１に持つレコードをアローテーブル３２から取得する（ステップ９０５）。
【００２２】
その後、ステップ９０６で実行予想時間の算出を行う。実行予想時間は、ステップ９０５で取得したレコードの処理レコード数フィールド３２３の和を、ステップ９０１で取得したレコードの秒当りデータＩＯ数フィールド５０２の値で除した値と、ステップ９０５で取得したレコードのうち、入出力区分フィールド３２４の値が“入力”であるレコードの処理レコード数フィールド３２３の和をステップ９０１で取得したレコードの秒当り処理レコード数５０３の値で除した値との和として算出する。
【００２３】
その後、ステップ９０６で求めた実行予想時間を、図６のジョブ単独実行予想時間テーブル６の実行時間予測値フィールド６０３に、ステップ９０３で取得したレコードの名称フィールド３３１の値を、ジョブ単独実行予想時間テーブル６のジョブ名フィールド６０１に、ステップ９０１で取得したレコードのマシン名フィールド５０１の値を、ジョブ単独実行予想時間テーブル６のマシン名フィールド６０２にそれぞれ設定する。
【００２４】
その後、ジョブ全体実行時間算出ステップ１０を実行し、ステップ９０３に戻る。ステップ９０４でレコードが取得できなかった場合は、ステップ９０１に戻る。ステップ１１でレコードが取得できなかった場合は、処理を終了する。なお、ステップ９０１及びステップ９０３では、１レコード取得する毎にレコードの読取り位置を増加させており、全てのレコードが読取られた場合に、ステップ１１及びステップ９０４でレコードなしと判定される。
【００２５】
図１０は、ジョブ全体実行時間算出ステップ１０で実施される処理を示すフローチャートである。まず、図５に示したジョブスケジュールテーブル３４を参照し、ジョブの実行順序を表すグラフを作成する（ステップ１００１）。図５の例では、ジョブＪＯＢ００１の次にＪＯＢ００２が繋がるグラフが生成される。
【００２６】
次に、ステップ１００１で作成したグラフの始点ノードから終点ノードに到達するまでの全てのパスを求める（ステップ１００２）。始点ノードはＪＯＢ００１、終点ノードはＪＯＢ００２であり、求まるパスはＪＯＢ００１からＪＯＢ００２に至るパスである。その後、実行時間の計算結果を示す領域に０を設定する（ステップ１００３）。
【００２７】
次に、パスがまだ存在するかどうかを判定し（ステップ１００４）、パスが存在する場合は、図９のステップ９０１で求めたレコードのマシン名をマシン名フィールド６０２に持ち、かつ、ステップ１００２で求めたパスのうち現在処理中のパス上に存在する各ジョブについて、それぞれの実行予想時間をジョブ単独実行予想時間テーブル６から求める（ステップ１００５）。
【００２８】
その後、ステップ１００５で求めた各ジョブの実行予想時間を合計する（ステップ１００６）。実行時間の計算結果を示す領域に格納された値がステップ１００６で求めた値より小さい場合は（ステップ１００７）、当該領域にステップ１００６で求めた値を格納する（ステップ１００８）。ステップ１００７で実行時間の計算結果を示す領域に格納された値が、ステップ１００６で求めた値と等しいか大きいと判定した場合は、ステップ１００４に戻る。ステップ１００４で、ステップ１００２で求めた全てのパスについて実行時間の算出を行っていると判定すれば（判定結果がＮ）、図９のステップ９０１で求めたレコードのマシン名フィールド６０２の値を、図８のジョブ全体実行予想時間テーブル７のマシン名フィールド７０１に、ステップ１００９実行時点での実行時間の計算結果を示す領域に格納された値を、ジョブ全体実行予想時間テーブル７の実行時間予測値フィールド７０２に、それぞれ格納する。
【００２９】
図１１は、図１のマシン選択ステップ１２で実施される処理の例である。マシン選択ステップ１２では、ジョブ全体実行許容時間４の値を超えず、かつ、図８のジョブ全体実行予想時間テーブル７の実行時間予測値の値が、ジョブ全体実行許容時間４の値に近いレコードのマシン名フィールド７０１の値を求める（ステップ１１０１）。
【００３０】
図１２は、図１のデータフロー記述ＧＵＩ２の例を示す図である。データフロー記述ＧＵＩ２は、データフローを入力するデータフロー入力手段１２０１、データフロー中のテーブル、ジョブ、及び、アローのプロパティを設定するプロパティ設定手段１２０２、ジョブ許容実行時間を入力するジョブ許容実行時間入力手段１２０３、マシン性能単価入力手段１２０４、ジョブスケジュールを入力するジョブスケジュール入力手段１２０９、図７のジョブ単独実行予想時間テーブル６のデータを表示するジョブ単独実行予想時間結果表示手段１２０５、図８のジョブ全体実行予想時間テーブル７のデータを表示するジョブ全体実行予想時間結果表示手段１２０７、及び、図１のジョブ実行推奨マシン８のデータを表示する推奨マシン表示手段１２０８から構成される。
【００３１】
なお、データフロー入力手段１２０１、及び、プロパティ設定手段１２０２で入力されたデータは、入力対象がテーブル１２１０の場合は、データテーブル３１のレコード３１０として、アロー１２１２の場合は、アローテーブル３３のレコード３２０として、ジョブ１２１１の場合は、ジョブテーブル３３のレコード３３０として格納される。
【００３２】
図１２に示したデータフローを例に取ると、このデータフローでは、テーブル１（１２１０ａ）、テーブル２（１２１０ｂ），テーブル３（１２１０ｃ），テーブル４（１２１０ｄ）、ジョブＪＯＢ００１（１２１１ａ）、ジョブＪＯＢ００２（１２１１ｂ）があり、テーブル１２１０ａからジョブ１２１１ａへデータが流れることを示すアロー１２１２ａ、ジョブ１２１１ａからテーブル１２１０ｂへデータが流れることを示すアロー１２１２ｂ、テーブル１２１０ｂからジョブ１２１１ｂへデータが流れることを示すアロー１２１２ｃ、ジョブ１２１１ｂからテーブル１２１０ｃへデータが流れることを示すアロー１２１２ｄ、ジョブ１２１１ｂからテーブル１２１０ｄへデータが流れることを示すアロー１２１２ｅが存在し、テーブル１２１０ａのデータは、データテーブル３１のレコード３１ａに、テーブル１２１０ｂのデータは、データテーブル３１のレコード３１ｂに、テーブル１２１０ｃのデータは、データテーブル３１のレコード３１ｃに、テーブル１２１０ｄのデータは、データテーブル３１のレコード３１ｄに、ジョブ１２１１ａのデータは、ジョブテーブル３３のレコード３３ａに、ジョブ１２１１ｂのデータは、ジョブテーブル３３のレコード３３ｂに、アロー１２１２ａのデータは、アローテーブル３２のレコード３２ａに、アロー１２１２ｂのデータは、アローテーブル３２のレコード３２ｂに、アロー１２１２ｃのデータは、アローテーブル３２のレコード３２ｃに、アロー１２１２ｄのデータは、アローテーブル３２のレコード３２ｄに、アロー１２１２ｅのデータは、アローテーブル３２のレコード３２ｅに、データフロー入力ステップによってそれぞれ格納される。
【００３３】
また、マシン性能単価入力手段１２０４に入力されたデータは、マシン性能単価入力ステップによりマシン別性能単価テーブルのレコード５１として格納される。
【００３４】
図６の例では、２つのマシンＳＶ００１及びＳＶ００２が存在し、それぞれの秒当りレコードＩＯ数、秒当り処理レコード数はそれぞれ１０、１０００００、１００、１０００００である。
【００３５】
ジョブ許容実行時間入力手段１２０３に入力されたデータは、ジョブ許容実行時間入力ステップにより、図１のジョブ全体実行許容時間テーブル４に格納される。ジョブスケジュール入力手段１２０９に入力されたデータは、ジョブスケジュール入力ステップにより、図５のジョブスケジュールテーブル３４のレコード３４１，３４２として入力される。図５の例では、ジョブＪＯＢ００１の次にジョブＪＯＢ００２が実行されることがレコード３４ａにより示されている。
【００３６】
以下、図１２に示したデータフローと、図５に示したジョブスケジュール、及び、図６に示したマシン別性能単価から、各ジョブの単独実行予想時間を算出する例について示す。
【００３７】
まず、図９に示すジョブ単独実行予想時間算出ステップ９のステップ９０１において、図６のマシン別性能単価テーブル５からレコード５１ａを取得する。レコードが取得できたのでステップ１１はＹとなり、次にステップ９０３で図４のジョブテーブル３３からレコード３３ａを取得する。レコードが取得できたのでステップ９０４はＹとなる。
【００３８】
次に、ステップ９０５を実行するが、ステップ９０３で取得したレコード３３ａの名称フィールド３３１の値は“ＪＯＢ００１”であるため、“ＪＯＢ００１”をジョブ名フィールド３２１に持つレコードを、図３のアローテーブル３２から取得する。この場合は、レコード３２ａとレコード３２ｂが求まる。
【００３９】
次に、ステップ９０６でジョブの実行予想時間を求めるが、まず、レコード３２ａと３２ｂの処理レコード数フィールド３２３の和を求める。この場合は１１０００となる。
【００４０】
次に、これをステップ９０１で取得したレコード５１ａの秒当りレコードＩＯ数フィールドの値１０で除した値を求める。この場合は１１０００÷１０であり結果は１１００となる。
【００４１】
次に、レコード３２ａと３２ｂのうち、入出力区分３２４の値が“入力”であるレコードを選ぶが、この場合はレコード３２ａが該当する。このレコード３２ａの処理レコード数フィールド３２３の値を、レコード５１ａの秒当り処理レコード数で除した値を求める。この場合は、１００００÷１０００００であり、結果は０．１となる。次に、先に求めた１１００と０．１を加えてジョブの実行予想時間とするが、この例では、小数点以下を切り捨てて、１１００をジョブの実行予想時間の値とする。
【００４２】
その後、ステップ９０７で、この値とジョブ名、マシン名を図７のジョブ単独実行予想時間テーブル６のレコード６１ａとして書込む。その後、ジョブ全体実行時間算出ステップ１０を実行し、ステップ９０３に戻る。ジョブ全体実行時間算出ステップ１０の実行例は後述する。
【００４３】
その後、図４のジョブテーブル３３のレコード３３ｂについて同様の処理を行い、図７のジョブ単独実行予想時間テーブル６のレコード６１ｂを追加する。
【００４４】
その後、図６のマシン別性能単価テーブル５のレコード５１ｂについて同様の処理を行い、図７のレコード６１ｃ，６１ｄを生成する。これらのレコード６１ａ〜ｄは、図１２のジョブ単独実行予想時間結果表示手段１２０５に表示される。
【００４５】
次に、ジョブ全体の実行予想時間を求める場合の例について示す。まず、図１０のステップ１００１で、図５のジョブスケジュールテーブルから、ジョブの実行順序を示すグラフを生成する。この場合は、図１４に示すように、ジョブＪＯＢ００１を示すノード１４０１と、ジョブＪＯＢ００２を示すノード１４０２、及びノード１４０１からノード１４０２への向きにノードを接続するエッジ１４０３からなるグラフとなる。
【００４６】
次に、ステップ１００２で、該グラフの始点ノードから終点ノードに至るパスを求めるが、この場合は、パスは一つであり、図１４に示した通りとなる。
【００４７】
次に、実行時間に０を設定し（ステップ１００３）、ステップ１００２で求めたパスを一つ取出し（ステップ１００４）、ステップ１００５で当該パス上のジョブの単独実行時間を求める。図１４では、ジョブノード１４０１とジョブノード１４０２のジョブについて、それぞれ単独実行時間を求める。ジョブノード１４０１の場合は、ステップ９０１で求めたレコード５１ａ（図６）のマシン名フィールド５０１の値“ＳＶ００１”を、図７のマシン名フィールド６０２に持ち、かつ、ジョブノード１４０１の名称“ＪＯＢ００１”を持つレコードを、図７のジョブ単独実行予想時間テーブル６から求めるが、この場合は、レコード６１ａが該当し、次に、該レコード６１ａの実行予想時間フィールド６０３の値１１００を取得する。同様に、ジョブノード１４０２についても実行予想時間を取得し、この場合は、５６０となる。
【００４８】
次に、これらの値を合計しジョブ全体の実行時間として１６６０を得る（ステップ１００６）。次に、ステップ１００７を実行するが、この時点では、実行時間は０であるため判定結果はＹとなり、ステップ１００８で実行時間に１６６０を設定する。ステップ１００２で２つ以上のパスが存在する場合は、さらにこれらの処理を繰返し（ステップ１００４の結果がＮとなる）、その最も値の大きい時間を得る。この例では、実行時間は１６６０となる。
【００４９】
その後、ステップ１００９で実行時間１６６０を、図７のジョブ全体実行予想時間テーブルのレコード７１ａのフィールド７０２に、マシン名ＳＶ００１をマシン名フィールド７０１にそれぞれ設定する。
【００５０】
その後、図９のフローからマシンＳＶ００２について再度ジョブ全体実行時間算出ステップ１０が呼出され、図８のレコード７１ｂが生成される。
【００５１】
最後に、マシン選択ステップ１２により、ジョブ実行推奨マシンを算出する場合の例について示す。
【００５２】
まず、ジョブ全体実行許容時間として１８００が図１２のジョブ許容実行時間入力手段１２０３から入力された場合、この値はジョブ全体実行許容時間テーブル４に格納される。マシン選択ステップ１２では、ステップ１１０１が実施されるが、図８のレコード７１から、実行時間予測値フィールド７０２の値が１８００を超えず、かつ、最も値が大きいレコードを選択する。この場合、レコード７１ａが該当し、ジョブ実行推奨マシンは該レコード７１ａのマシン名フィールド７０１の値“ＳＶ００１”となる。
【００５３】
次に、ジョブ全体実行許容時間として２００が入力された場合は、実行時間予測値フィールド７０２の値が２００を超えず、かつ、最も値が大きいレコードとして７１ｂが選択され、ジョブ実行推奨マシンはＳＶ００２となる。ジョブ全体実行許容時間として２０が入力された場合は、実行時間予測値フィールド７０２の値が２０を超えないレコードはないため該当マシンはなしとなる。　本実施の形態では、データウェアハウスシステムの見積りや設計段階において、ハードの性能単価情報とデータフロー図、ジョブが扱うデータ件数、ジョブスケジュール、ジョブ実行時間の目標値から、バッチ処理の処理時間及びジョブ実行時間を満たすハードを算出・提示することができる。この結果、見積りや設計段階での性能評価を可能とすることにより開発工程上の手戻りを削減することができる
【００５４】
【発明の効果】
以上説明したように、本発明によれば、データウェアハウスシステムの見積りや設計段階において、ハードの性能単価情報とデータフロー図、ジョブが扱うデータ件数、ジョブスケジュール、ジョブ実行時間の目標値から、バッチ処理の処理時間及びジョブ実行時間を満たすハードを算出・提示することが可能となることが示された。この結果、見積りや設計段階での性能評価を可能とすることにより開発工程上の手戻りを削減することができるという効果が得られる。
【図面の簡単な説明】
【図１】本発明が実施される性能見積り方法及び装置の構成例を示す図である。
【図２】データテーブル３１の構成例を説明するための図である。
【図３】アローテーブル３２の構成例を説明するための図である。
【図４】ジョブテーブル３３の構成例を説明するための図である。
【図５】ジョブスケジュールテーブル３４の構成例を説明するための図である。
【図６】マシン別性能単価テーブル５の構成例を説明するための図である。
【図７】ジョブ単独実行予想時間テーブル６の構成例を説明するための図である。
【図８】ジョブ全体実行予想時間テーブル７の構成例を説明するための図である。
【図９】ジョブ単独実行時間算出ステップ９で実施される処理を示すフローチャートである。
【図１０】ジョブ全体実行時間算出ステップ１０で実施される処理を示すフローチャートである。
【図１１】マシン選択ステップ１２で実施される処理を示すフローチャートである。
【図１２】データフロー記述ＧＵＩ２の例を説明するための図である。
【図１３】本発明が実施されるシステムの構成例を示す図である。
【図１４】ジョブの実行順序を示すネットワークの例を示す図である。
【符号の説明】
１…性能算出ステップ、２…データフロー記述ＧＵＩ、３…データフローテーブル、３１…データテーブル、３２…アローテーブル、３３…ジョブテーブル、３４…ジョブスケジュールテーブル、４…ジョブ全体実行許容時間テーブル、５…マシン別性能単価テーブル、６…ジョブ単独実行予想時間テーブル、７…ジョブ全体実行予想時間テーブル、８…ジョブ実行推奨マシンテーブル、９…ジョブ単独実行時間算出ステップ、１０…ジョブ全体実行時間算出ステップ、１１…全てのマシンについてジョブ全体実行時間を算出したか否かを判定するステップ、１２…マシン選択ステップ。
【図１】
2004005288.tif 000003
【図２】
2004005288.tif 000004
【図３】
2004005288.tif 000005
【図４】
2004005288.tif 000006
【図５】
2004005288.tif 000007
【図６】
2004005288.tif 000008
【図７】
2004005288.tif 000009
【図８】
2004005288.tif 000010
【図９】
2004005288.tif 000011
【図１０】
2004005288.tif 000012
【図１１】
2004005288.tif 000013
【図１２】
2004005288.tif 000014
【図１３】
2004005288.tif 000015
【図１４】
2004005288.tif 000016