JP6260130B2 - ジョブ遅延検知方法、情報処理装置、およびプログラム - Google Patents
ジョブ遅延検知方法、情報処理装置、およびプログラム Download PDFInfo
- Publication number
- JP6260130B2 JP6260130B2 JP2013154768A JP2013154768A JP6260130B2 JP 6260130 B2 JP6260130 B2 JP 6260130B2 JP 2013154768 A JP2013154768 A JP 2013154768A JP 2013154768 A JP2013154768 A JP 2013154768A JP 6260130 B2 JP6260130 B2 JP 6260130B2
- Authority
- JP
- Japan
- Prior art keywords
- job
- execution
- file
- extraction
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
- G06F9/4887—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
- G06F11/3419—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/865—Monitoring of software
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Debugging And Monitoring (AREA)
Description
例えば以下の手順で遅延監視が行われる。
1.システムの管理者が、過去の実行履歴データ(稼働実績)を元に、クリティカルパスを導出し、クリティカルパス上のジョブの実行状況を監視する。クリティカルパスとは、ジョブの実行の前後関係に関する制約を有するジョブ群(ジョブネット)のうち、実行の終了時刻が最後となるジョブが実行させるまでの、ジョブの実行順を示す情報である。クリティカルパスに含まれるジョブの実行が遅延すると、ジョブネット全体の処理完了時刻が遅れることとなる。そこで管理者は、クリティカルパス上の任意のジョブを監視対象ジョブとして選定する。例えば、長時間走行するジョブや、実行時間が大きく変動する可能性が高いジョブが、管理対象ジョブとして選定される。
2.管理者は、監視対象ジョブを、遅延判断基準となる終了予測時間などと共に、監視対象としてシステムに定義する。
3.システムでは、終了予測時間になっても監視対象ジョブの実行が終了しない場合にアラームを出力する。
〔第1の実施の形態〕
図1は、第1の実施の形態に係る情報処理装置の機能構成例を示す図である。第1の実施の形態に係る情報処理装置10は、特定手段11、期限設定手段12、監視手段13、および予測手段14を有している。
抽出ジョブには、入力ファイル内のすべてのレコードを、所定量ずつ読み込むという特徴がある。そこで特定手段11は、例えば、ジョブを実行した場合に、入力ファイル内のすべてのレコードを、所定量ずつ読み込むか否かに基づいて、該ジョブを第1のジョブとして特定するかどうかを判断することができる。
以上のようにして、第1の実施の形態によれば、長時間化するジョブが実行開始する前の段階での遅延予測を実現することができる。すなわち、加工処理が長時間化するかどうかは、先行ジョブである抽出処理の結果による。抽出処理結果の抽出データの大きさが大きいほど、以降の処理の実行時間が長くなる。よって、抽出処理を行うジョブを検出し、その出力データ量に着目することで、長時間化するジョブの実行開始前に遅延予測が可能となる。
次に第2の実施の形態について説明する。第2の実施の形態は、テスト環境のサーバにおいて評価関数式などの、ジョブの遅延検出に利用する情報を生成し、運用環境のサーバで、その情報に基づいてバッチ業務中のジョブの遅延を検出するものである。
<処理対象データが巨大化し、長時間実行するジョブが増加>
例えば、経営活動を支えるICT(Information and Communication Technology)システム内のバッチ業務において、基幹業務処理以外の情報系処理が増加している。基幹業務処理とは、例えば、POS(Point Of Sales system)データ(店舗売上データ)から在庫引き当てし、不足在庫を発注するなどの処理である。情報系処理とは、例えば、過去分を含むPOSデータの売上推移やブログなど口コミ情報など多様・多量の情報を分析し、売れ筋商品を予測するなどの処理である。
情報系処理のバッチ処理で実行されるアプリケーションは、基幹系と異なりライフサイクルが非常に短い。例えば情報系処理では、新しいデータ種別を分析の入力として追加するなど、高い頻度で改変される。また、開発環境やFW(フレームワーク)の進化により、コーディング量も減少している。そのため、アプリケーションのリリース間隔が短期化している。例えば、更新されたアプリケーションが毎週リリースされることさえある。
銀行業務であれば、外的要因によりデータ量が一時的に増大することがある。例えば、災害時に、義援金の振り込みが殺到すると、想定を遥かに超えたデータ入力が行われる。その結果、バッチ業務が遅延し、オンライン業務が停止する自体が想定される。特に銀行システムのように社会基盤を支えているシステムにおいては、想定を遥かに超えた突発的なデータ量増加であっても、問題なく処理できることが重要となる。
<テスト運用時>
[第1工程]サーバ200が、全ジョブの中から抽出ジョブを自動検知すると共に、全ジョブの稼働実績データを採取する。
[第2工程]サーバ200が、抽出ジョブによる抽出データのサイズと後続の加工処理を行うジョブ(加工ジョブ)の実行時間の関係を分析し、加工ジョブの属性情報として、相関関係式を記憶する。
[第3工程]サーバ100が、加工ジョブを「監視対象候補」として表示する。その際、サーバ100は、設定の優先順位が分かるよう、実行時間の長いものから一覧表示する。運用に従事する管理者が、監視対象候補の終了予定時刻を、サーバ100内に設定する。
[第4工程]サーバ100が、抽出ジョブからの抽出データサイズを監視する。
以上のような構成で、ジョブ遅延の早期の予測検知が可能となる。なお、第2工程を運用環境のサーバ100で行ってもよい。また第3工程をテスト環境のサーバ200で行ってもよい。
図5は、サーバのハードウェアの一構成例を示す図である。サーバ100は、プロセッサ101によって装置全体が制御されている。プロセッサ101には、バス109を介してメモリ102と複数の周辺機器が接続されている。プロセッサ101は、マルチプロセッサであってもよい。プロセッサ101は、例えばCPU(Central Processing Unit)、MPU(Micro Processing Unit)、またはDSP(Digital Signal Processor)である。プロセッサ101の機能の少なくとも一部を、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)などの電子回路で実現してもよい。
図6は、テスト環境で動作するサーバの機能を示すブロック図である。サーバ200は、管理DB210、ジョブ管理部220、アプリケーション記憶部230、業務データ記憶部240、アプリケーション実行部250を有する。
稼働実績管理表212は、テスト運用によるジョブの稼働実績が登録されたデータテーブルである。稼働実績としては、例えば、実行時間や入出力されたファイルのサイズが登録される。
実行時間情報リスト214は、監視対象ジョブとして指定されたジョブの、テスト運用時の実行時間を示す情報である。
図7は、ジョブ定義情報の一例を示す図である。ジョブ定義情報211には、ジョブネット名、ジョブ名、入力ファイル、出力ファイル、および抽出ジョブ判定フラグの欄が設けられている。
抽出ジョブの欄には、抽出ジョブが属するジョブネットの名称(ジョブネット名)と、抽出ジョブの名称(ジョブ名)とが設定される。抽出ファイルの欄には、抽出ジョブで抽出されたデータが格納されるファイル(抽出ファイル)の識別情報が設定される。加工ジョブの欄には、抽出ファイルを入力ファイルとする加工ジョブが属するジョブネットの名称(ジョブネット名)と、抽出ジョブの名称(ジョブ名)とが設定される。このような相関関係表213により、抽出ジョブと加工ジョブとの実行順の前後関係が明らかになる。
[ステップS101]ジョブ管理部220は、バッチ業務として指定されたジョブネットの中から、未処理のジョブネットの1つを選択する。
[ステップS103]ジョブ管理部220は、選択したジョブネットのテスト運用を開始する。バッチ業務のテスト運用の実行により、ジョブ定義情報211や稼働実績管理表212が作成される。この処理の詳細は後述する(図14〜図20参照)。
[ステップS107]ジョブ管理部220は、バッチ業務の未処理のジョブネットがあるか否かを判断する。未処理のジョブネットがあれば、処理がステップS101に進められる。すべてのジョブネットについて処理が終了していれば、処理が終了する。
まず、テスト運用時の処理について説明する。バッチ業務のテスト運用時、実際にジョブが起動され、指定されたアプリケーションに基づいてジョブが順次実行される。そしてジョブの実行中にOSに対して発行される処理要求の一部が分析され、実行しているジョブが抽出ジョブか否かが自動識別される。
抽出ジョブか否かの判断は、実行しているジョブが、抽出ジョブとしての仕様または特性を有しているか否かによって判断される。抽出ジョブの特性として、以下の4つが挙げられる。
[特性a]抽出ジョブの実行時には、入力ファイルが最初から最後まで、レコード単位、もしくは、ある一定のサイズで、ファイルの最初から順番に読み込まれる。
[特性b]抽出ジョブの実行時には、レコードのあるカラムの値が、抽出アプリケーションに指定された抽出条件に一致した場合に、該当のレコードが出力ファイルへ、レコード単位もしくは、ある一定のサイズで、順番に書き込まれる。この際、レコードの加工は行われない。
[特性c]抽出ジョブの実行時には、1つの出力ファイル固定ではなく、抽出条件に従って、複数の出力ファイルにデータが振り分けられる場合がある。複数の出力ファイルが存在する場合、抽出条件と出力ファイルの関係が、抽出条件定義ファイルに定義されている。
[特性d]抽出条件定義ファイルの読み込みは、一回の読み込み処理で行われ、メモリへ展開される。
図12に示すような処理過程におけるアプリケーション実行部250からOS260への指示を、抽出ジョブ特定部222が監視する。例えば、アプリケーション実行部250から、データの読み出しまたは書き込みの呼び出しイベントが発生すると、呼び出し対象の関数の実行前に、データの読み出しまたは書き込みの内容を取得する割り込み処理(トラップ処理)が実行されるようにする。そしてジョブ実行中のトラップ処理によって取得した情報を解析することで、そのとき実行されているジョブが抽出ジョブか否かが判断される。
[特性a/d特定処理1]
抽出ジョブ特定部222は、ジョブとして実行するアプリケーションの読み込み処理/ファイルオフセット設定処理/クローズ処理をトラップし、読み込みデータの分析処理を経由するよう共用ライブラリの関係を変更する。その後、抽出ジョブ特定部222は、アプリケーション実行部250に、アプリケーションの実行を指示する。するとアプリケーション実行部250は、アプリケーションに従ってジョブを実行する。
[特性a/d特定処理2]
抽出ジョブ特定部222は、読み込み処理で読み込むファイルの種別(入力ファイル、抽出条件ファイル)を区別する。例えば抽出ジョブ特定部222は、以下の判断により、入力ファイルなのか、抽出条件ファイルであるかを切り分ける。
・入力ファイル:読み込み処理で指定されたデータサイズ<読み込み対象のファイルのサイズ
・抽出条件ファイル:読み込み処理で指定されたデータサイズ≧読み込み対象のファイルのファイルサイズ
すなわち、入力ファイルの場合にはファイルサイズが大きくなり、ファイルの読み込み処理は複数回に分けて行われる。そのため、読み込み処理で指定されたデータサイズが、読み込み対象のファイルのサイズに満たなければ、読み込み対象のファイルが入力ファイルであると判定できる。他方、抽出条件ファイルは、ファイルサイズはあまり大きくならず、1回の読み込み処理によって読み込むことができる。そのため、読み込み処理で指定されたデータサイズが、読み込み対象のファイルのサイズ以上であれば、読み込み対象のファイルが抽出条件ファイルであると判定できる。
[特性a/d特定処理3]
抽出ジョブ特定部222は、ファイルオフセット設定処理が入力ファイルに対して呼び出された場合に、ランダムアクセスしているため、抽出アプリケーションではないと判断する。この「特性a/d特定処理3」は、特定対象アプリケーションが抽出アプリケーションであるか否かを直接的に判定している。「特性a/d特定処理3」を実行することで、抽出ジョブの判定精度が向上する。
[特性a/d特定処理4]
抽出ジョブ特定部222は、入力ファイルに対して、ファイルの途中で読み込みを終了した場合(読み込み処理がat-end未検出)には、抽出ジョブではないものと判断する。
「特性a/d特定処理4」を実施しない場合、入力ファイルを終端まで処理しているのか否かを判断できない。このため、入力ファイルの先頭から順次レコードを読み込み、何らかの目的で情報を1件だけ取り出して読み込みを終了するジョブを、誤って抽出ジョブと判断してしまう場合がある。入力ファイルから情報を1件だけ取り出して読み込みを終了するジョブとしては、例えば、注文番号や伝票番号など業務データに対して割り当てられた一意に識別可能な番号をキーワードに、該当データを取り出すジョブがある。このようなジョブは常に1件のデータしか取り出さず、取り出したデータを加工するジョブの処理時間への影響が少ない。そのため入力ファイルから情報を1件だけ取り出して読み込みを終了するジョブについては、ジョブの処理の遅延検知の観点からは、抽出ジョブではないと判定するのが適切である。
[特性b特定処理1]
抽出ジョブ特定部222は、ジョブとして実行するアプリケーションの書き込み処理/ファイルオフセット設定処理をトラップし、書き込みデータの分析処理を経由するよう共用ライブラリの関係を変更する。その後、抽出ジョブ特定部222は、アプリケーション実行部250に、アプリケーションの実行を指示する。するとアプリケーション実行部250は、アプリケーションに従ってジョブを実行する。なお、この処理は「特性a/d特定処理1」でも実施される処理であり、特性a/dの特定処理としてすでに実行されていれば、実行せずにすむ。
[特性b特定処理2]
抽出ジョブ特定部222は、書き込み処理が呼び出されるまで、「特性a/dの特定処理」で読み込んだ入力ファイルのデータをメモリ上に保持する。そのうえで、書き込み処理が呼び出された場合、抽出ジョブ特定部222は、書き込みデータをレコード単位(例えば改行コードをレコードの区切りと認識)に分割する。そして抽出ジョブ特定部222は、レコード単位に分割したデータが、メモリ上に保持したデータ内に完全一致する形で存在するか否かを確認する。存在しない場合、抽出ジョブではないと判断する。
「特性b特定処理2」を実施しない場合、入力データに対して加工処理を実施したか否かを判断できない。このため、入力ファイルの先頭から順次レコードを読み込み、集計やデータ変換など何らかの加工処理を実施して出力ファイルに順次書き出すジョブを抽出ジョブと判断してしまう可能性がある。従って、「特性b特定処理2」を実施することで、抽出ジョブの判定精度が向上する。
[特性b特定処理3]
出力ファイルに対してファイルオフセット設定処理が呼び出された場合には、ランダムアクセスをしていると考えられる。そこで、出力ファイルに対してファイルオフセット設定処理が呼び出された場合、抽出ジョブ特定部222は、抽出ジョブではないと判断する。「特性b特定処理3」は、特定対象のジョブが抽出ジョブであるか否かを直接的に判定している処理である。
抽出ジョブ特定部222は、「特性a/dの特定処理」において抽出条件ファイルと判断したファイルについて、読み込み処理で読み出したデータに、書き込み処理に指定したファイル名が含まれるか否かを確認する。含まれない場合には、抽出ジョブ特定部222は、実行しているジョブは抽出ジョブではないと判断する。この特性cの特定処理は、「特性a/d特定処置2」と合わせて実行することで、抽出ジョブかどうかの判定が可能となる。
・入力ファイルサイズ:ジョブ開始時
・出力ファイルサイズ:ジョブ終了時
・実行時間 :ジョブ終了時
テスト運用は、例えば、異なる複数の条件で複数回実施される。例えば大量データ時の負荷テスト(性能テスト)などが実施される。テストが実施された回数分、稼働実績管理表212に稼働実績データを記録する。テストが3回実施された場合、図8に示すように、1つのジョブに対して3回分の稼働実績データが稼働実績管理表212に記録される。
[ステップS111]ジョブ実行制御部221は、ジョブ定義情報211を作成する。例えばジョブ実行制御部221は、バッチ業務の内容を示すジョブネットの情報に基づいて、ジョブネットに含まれるジョブのジョブ名、入力ファイル、出力ファイルを抽出し、ジョブ定義情報211を作成する。ジョブ実行制御部221は、作成したジョブ定義情報211を、管理DB210に格納する。
[ステップS113]ジョブ実行制御部221は、ジョブネットに示される実行順に沿って、次に実行するジョブの実行開始を、アプリケーション実行部250に指示する。するとアプリケーション実行部250により、実行するジョブに対応するアプリケーションに基づいてジョブの実行が開始される。
[ステップS124]抽出ジョブ特定部222は、「抽出ジョブではない」と判定されていないジョブを「抽出ジョブ」と判定し、ジョブ定義情報211に設定する。例えば抽出ジョブ特定部222は、ジョブ定義情報211において、抽出ジョブ判定フラグが未設定のジョブに、抽出ジョブ判定フラグ「OFF」を設定する。
[ステップS137]アプリケーション実行部250は、読み込んだレコードが、ファイルの終端を示す識別子(例えば「at-end」)か否かを判断する。読み込んだレコードがファイルの終端を示す識別子であれば、処理がステップS141に進められる。読み込んだレコードがファイルの終端を示す識別子でなければ、処理がステップS138に進められる。
[ステップS140]アプリケーション実行部250は、入力ファイル242を最後まで読み込んだか否かを判断する。最後まで読み込んだ場合、処理がステップS141に進められる。最後まで読み込まれていなければ、処理がステップS136に進められる。
図15のステップS133,S136に示した抽出条件ファイル241または入力ファイル242の読み込み時には、抽出ジョブ特定部222で以下のような処理が行われる。
[ステップS151]抽出ジョブ特定部222は、アプリケーション実行部250からOS260への、読み込み処理の呼び出しの内容を取得する。
ファイルの欄には、読み込まれたファイルの識別情報(例えばディレクトリ名+ファイル名)が設定される。種別の欄には、読み込まれたファイルの種別が設定される。ファイルの種別には、入力ファイルと抽出条件ファイルとがある。読み込みデータの欄には、読み込まれたファイル内のデータが設定される。抽出条件ファイルが読み込まれた場合、読み込みデータの欄には、抽出条件や、出力ファイルの識別情報(ディレクトリ名+ファイル名)が設定される。
図18は、書き込み解析処理の手順の一例を示すフローチャートである。
[ステップS161]抽出ジョブ特定部222は、アプリケーション実行部250からOS260への、書き込み処理の呼び出しの内容を取得する。
図19は、ファイルオフセット設定解析処理の手順の一例を示すフローチャートである。
[ステップS172]抽出ジョブ特定部222は、現在実行中のジョブを、抽出ジョブではない(非抽出ジョブ)として記録する。例えば抽出ジョブ特定部222は、ジョブ定義情報211における、現在実行中のジョブの抽出ジョブ判定フラグに、抽出ジョブではないことを示す値「OFF」を設定する。その後、ファイルオフセット設定解析処理が終了する。
図20は、ファイルクローズ設定解析処理の手順の一例を示すフローチャートである。
[ステップS181]抽出ジョブ特定部222は、アプリケーション実行部250からOS260への、ファイルクローズ処理の呼び出しの内容を取得する。
[ステップS201]相関関係解析部223は、ジョブ定義情報211から、未選択のジョブを1件選択する。
[ステップS207]相関関係解析部223は、加工ジョブの実行時間の統計値を、実行時間情報リスト214に登録する。例えば相関関係解析部223は、稼働実績管理表212に基づいて、加工ジョブの平均実行時間、最短実行時間、および最大実行時間を求める。平均実行時間は「実行時間の合計÷テスト回数」である。最短実行時間は、全実行時間の内、最も小さい値である。最大実行時間は、全実行時間の内、最も大きい値である。そして相関関係解析部223は、まず加工ジョブのジョブネット名、ジョブ名、平均実行時間、最短実行時間、最大実行時間の組を新たなレコードとして、実行時間情報リスト214に登録する。
図22は、更新された稼働実績管理表の一例を示す図である。図22に示すように、図8に示した稼働実績管理表212に対して、入力ファイルサイズ比率、実行時間比率、および相関値の欄が追加されている。入力ファイルサイズ比率は、稼働実績データに示される入力ファイルサイズの基準ファイルサイズに対する比率である。実行時間比率は、稼働実績データに示される実行時間の基準実行時間に対する比率である。相関値は、実行時間比率を入力ファイルサイズ比率で除算した値である。また相関値の欄には、稼働実績データとは別に、相関値の平均値(平均相関値)が設定されている。
[ステップS213]相関関係解析部223は、加工ジョブが指定された時間内に処理可能な入力ファイルのサイズを求めるための相関関係式を作成する。例えば相関関係解析部223は、基準実行時間、基準ファイルサイズ、平均相関値を用いて、相関関係式を作成する。相関関係式は、加工ジョブを実行可能な時間を「&time(変数)」とし、&timeを基準実行時間と平均相関値とで除算した結果に、基準ファイルサイズを乗算する式である。具体的には以下の通りである。
相関関係式「&time/基準実行時間/平均相関値×基準ファイルサイズ」
例えば、図22の例であれば、相関関係式は「&time/611秒/1.043838×1.33GB」となる。運用時に加工ジョブの実行に当てられる時間を「&time」に代入して、相関関係式を計算すると、その時間で処理可能な入力データ量が算出できる。また、相関関係式の計算結果が抽出ジョブの出力データ量となるような「&time」の値を逆算することもできる。このとき得られた「&time」は、出力データ量を加工ジョブが処理するのに要する時間(実行予測時間)を表している。相関関係解析部223は、作成した相関関係式を、ジョブ定義情報211に設定する。
[ステップS214]相関関係解析部223は、すべての加工ジョブを処理したか否かを判断する。すべての加工ジョブを処理した場合、処理がステップS215に進められる。未処理の加工ジョブがある場合、処理がステップS205に進められる。
図24は、加工ジョブ探索処理の手順の一例を示すフローチャートである。
[ステップS223]相関関係解析部223は、抽出ジョブの出力ファイルの識別情報が、取得したレコードの入力ファイルの識別情報と一致するか否かを判断する。一致する場合、処理がステップS224に進められる。一致しない場合、処理がステップS225に進められる。
[ステップS225]相関関係解析部223は、ジョブ定義情報211に登録されているすべてのジョブについて処理したか否かを判断する。すべてのジョブについて処理が終了した場合、加工ジョブ探索処理が終了する。未処理のジョブがあれば、処理がステップS222に進められる。
図26は、運用環境で動作するサーバの機能を示す図である。サーバ100は、管理DB110、ジョブ管理部120、アプリケーション記憶部130、業務データ記憶部140、およびアプリケーション実行部150を有している。
図27は、本運用の処理手順の一例を示すフローチャートである。
[ステップS301]監視対象ジョブ設定部121は、監視対象ジョブ設定処理を行う。この処理の詳細は後述する(図28参照)。
次に監視対象ジョブ設定処理について詳細に説明する。
図28は、監視対象ジョブ設定処理の手順の一例を示すフローチャートである。
[ステップS312]監視対象ジョブ設定部121は、ユーザ(例えばシステムの管理者)が使用する端末装置31に監視対象候補一覧画面を表示する。
[ステップS315]監視対象ジョブ設定部121は、監視対象ジョブリスト115を作成する。例えば監視対象ジョブ設定部121は、相関関係表113に設定されたレコードをコピーする。そして監視対象ジョブ設定部121は、コピーしたレコードに、ジョブ定義情報111に示される監視対象ジョブの終了予定時刻と相関関係式とを追加し、監視対象ジョブリストとする。
図29は、ソートされた実行時間情報リストの一例を示す図である。図29に示すように、実行時間情報リスト114内のレコードが、最大実行時間の値が大きいほど上位に並べ替えられている。最大実行時間が同じ値のレコードが複数ある場合、例えば平均実行時間の値が大きいほど上位に並べ替えられる。
図30は、監視対象候補一覧画面の一例を示す図である。監視対象候補一覧画面50には、監視対象候補表示部51と設定ボタン52とが設けられている。
設定ボタン52は、入力された終了予定時刻の設定をサーバ100に指示するためのボタンである。設定ボタン52が押下されると、端末装置31からサーバ100に、監視対象とする加工ジョブの終了予定時刻が送信される。
図32は、監視対象ジョブリストの一例を示す図である。監視対象ジョブリスト115は、例えば相関関係表113に終了予定時刻と相関関係式との欄を追加したデータ構造となっている。終了予定時刻の欄には、監視対象ジョブの終了予定時刻が設定される。相関関係式の欄には、監視対象ジョブの相関関係式が設定される。
図33は、遅延予測処理の手順の一例を示すフローチャートである。
[ステップS327]遅延予測部123は、抽出データサイズが上限値より大きいか否かを判断する。抽出データサイズが上限値より大きい場合、処理がステップS333に進められる。抽出データサイズが上限値以下であれば、処理がステップS328に進められる。
[ステップS330]実行している抽出ジョブに終了予定時刻が設定されていない場合、遅延予測部123は、実行時間情報リスト114から、その抽出ジョブに対応する加工ジョブの最大実行時間を取得する。
図35は、アラーム出力時の監視対象ジョブリストの一例を示す図である。図35の例では、ジョブ名「job001」の抽出ジョブについて、抽出データサイズが、データサイズの上限値より大きくなっている。
図36は、アラーム表示画面の一例を示す図である。アラーム表示画面60には、検知時刻、遅延が発生するジョブネット名、実行ジョブ名、監視対象ジョブ名、監視対象ジョブ実行予測時間、監視対象ジョブ実行終了見込み時刻、監視対象ジョブの状態が含まれる。
以上、実施の形態を例示したが、実施の形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。さらに、前述した実施の形態のうちの任意の2以上の構成(特徴)を組み合わせたものであってもよい。
2a,2b 入力ファイル
3a,3b 出力ファイル
10 情報処理装置
11 特定手段
12 期限設定手段
13 監視手段
14 予測手段
15 アラーム
Claims (11)
- コンピュータに、
実行予定の複数のジョブの中から、入力ファイルからの抽出条件に合致するレコードの抽出、および抽出したレコードの出力を行うジョブを、第1のジョブとして特定し、
前記第1のジョブの実行中に、前記第1のジョブの実行により出力されたデータ量を監視し、
前記第1のジョブの実行により出力されたデータ量に基づいて、前記第1のジョブの実行により出力されたデータを用いた処理を行う第2のジョブの実行が、予め設定された期限までに終了できるかどうかを予測する、
処理を実行させるプログラム。 - ジョブの特定では、ジョブを実行した場合に、入力ファイル内のすべてのレコードを、所定量ずつ読み込むか否かに基づいて、該ジョブを前記第1のジョブとして特定するかどうかを判断することを特徴とする請求項1記載のプログラム。
- ジョブの特定では、ジョブを実行した場合に、入力ファイル内の複数のレコードのうち、前記抽出条件に適合するレコードを、加工せずに出力するか否かに基づいて、該ジョブを前記第1のジョブとして特定するかどうかを判断することを特徴とする請求項1または2記載のプログラム。
- ジョブの特定では、ジョブの実行によりデータの出力先となるファイルの識別情報が、前記抽出条件を定義するファイルで指定されているか否かに基づいて、該ジョブを前記第1のジョブとして特定するかどうかを判断することを特徴とする請求項1乃至3のいずれかに記載のプログラム。
- ジョブの特定では、ジョブを実行した場合に、前記抽出条件を定義するファイルが1回の読み込み処理で読み込まれたか否かに基づいて、該ジョブを前記第1のジョブとして特定するかどうかを判断することを特徴とする請求項1乃至4のいずれかに記載のプログラム。
- 予測では、前記第1のジョブの実行により出力されたデータ量と、前記期限までに前記第2のジョブの実行により処理を施すことが可能なデータ量とを比較することを特徴とする請求項1乃至5のいずれかに記載のプログラム。
- 予測では、前記第1のジョブの実行により出力されたデータ量が、前記期限までに前記第2のジョブの実行により処理を施すことが可能なデータ量を超えた時点で、アラームを出力することを特徴とする請求項1乃至6のいずれかに記載のプログラム。
- 予測では、前記第1のジョブの実行により出力されたデータ量に基づいて、前記第2のジョブの実行時間を予測し、予測された該実行時間に基づいて、予め設定された期限までに終了できるかどうかを予測することを特徴とする請求項1乃至7のいずれかに記載のプログラム。
- 前記コンピュータに、さらに、
前記第1のジョブの実行により出力されるレコードを用いた処理を前記第2のジョブとして特定し、
特定された前記第2のジョブを表示して、前記第2のジョブの前記期限の入力を受け付ける、
処理を実行させることを特徴とする請求項1乃至8のいずれかに記載のプログラム。 - コンピュータが、
実行予定の複数のジョブの中から、入力ファイルからの抽出条件に合致するレコードの抽出、および抽出したレコードの出力を行うジョブを、第1のジョブとして特定し、
前記第1のジョブの実行中に、前記第1のジョブの実行により出力されたデータ量を監視し、
前記第1のジョブの実行により出力されたデータ量に基づいて、前記第1のジョブの実行により出力されたデータを用いた処理を行う第2のジョブの実行が、予め設定された期限までに終了できるかどうかを予測する、
ジョブ遅延検知方法。 - 実行予定の複数のジョブの中から、入力ファイルからの抽出条件に合致するレコードの抽出、および抽出したレコードの出力を行うジョブを、第1のジョブとして特定する特定手段と、
前記第1のジョブの実行中に、前記第1のジョブの実行により出力されたデータ量を監視する監視手段と、
前記第1のジョブの実行により出力されたデータ量に基づいて、前記第1のジョブの実行により出力されたデータを用いた処理を行う第2のジョブの実行が、予め設定された期限までに終了できるかどうかを予測する予測手段と、
を有する情報処理装置。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2013154768A JP6260130B2 (ja) | 2013-07-25 | 2013-07-25 | ジョブ遅延検知方法、情報処理装置、およびプログラム |
| US14/331,804 US9715409B2 (en) | 2013-07-25 | 2014-07-15 | Job delay detection method and information processing apparatus |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2013154768A JP6260130B2 (ja) | 2013-07-25 | 2013-07-25 | ジョブ遅延検知方法、情報処理装置、およびプログラム |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2015026197A JP2015026197A (ja) | 2015-02-05 |
| JP6260130B2 true JP6260130B2 (ja) | 2018-01-17 |
Family
ID=52391621
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2013154768A Expired - Fee Related JP6260130B2 (ja) | 2013-07-25 | 2013-07-25 | ジョブ遅延検知方法、情報処理装置、およびプログラム |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US9715409B2 (ja) |
| JP (1) | JP6260130B2 (ja) |
Families Citing this family (16)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2015095132A (ja) * | 2013-11-13 | 2015-05-18 | 富士通株式会社 | 情報処理システム、情報処理システムの制御方法及び管理装置の制御プログラム |
| WO2016132497A1 (ja) * | 2015-02-19 | 2016-08-25 | 株式会社日立製作所 | データ分析システム及びデータ分析方法 |
| JP2016189101A (ja) * | 2015-03-30 | 2016-11-04 | 鉄道情報システム株式会社 | バッチ処理システム、バッチ処理方法、バッチ処理プログラムおよびバッチ処理プログラムが記憶されたコンピュータで読み取り可能な記憶媒体 |
| JP6686602B2 (ja) * | 2016-03-24 | 2020-04-22 | 富士通株式会社 | 制御方法、制御プログラムおよび制御装置 |
| JP6790552B2 (ja) | 2016-07-28 | 2020-11-25 | 富士通株式会社 | データ特定プログラム、データ特定方法、及びデータ特定装置 |
| FR3061571B1 (fr) * | 2016-12-29 | 2019-04-19 | Bull Sas | Procede et systeme de surveillance de traitements par lots d'applications executees dans une infrastructure informatique |
| CN107688531B (zh) * | 2017-06-20 | 2019-02-22 | 平安科技(深圳)有限公司 | 数据库集成测试方法、装置、计算机设备及存储介质 |
| US10810046B2 (en) * | 2017-08-14 | 2020-10-20 | Tata Consultancy Services Limited | Automated system for optimizing batch processing time |
| CN110381146B (zh) * | 2019-07-23 | 2021-09-03 | 腾讯科技(深圳)有限公司 | 批量操作处理方法、装置及存储介质 |
| JP7449779B2 (ja) * | 2020-06-03 | 2024-03-14 | 株式会社日立製作所 | ジョブ管理方法、及びジョブ管理装置 |
| US11487578B2 (en) | 2020-09-14 | 2022-11-01 | Shopify Inc. | Systems and methods for dynamic scheduling of data processing |
| CN113254176B (zh) * | 2021-05-28 | 2023-02-07 | 平安普惠企业管理有限公司 | 项目管理方法、装置、计算机设备及存储介质 |
| EP4163790B1 (en) * | 2021-10-05 | 2026-01-28 | Tata Consultancy Services Limited | Method and system for predicting batch processes |
| WO2023130300A1 (en) * | 2022-01-06 | 2023-07-13 | Citrix Systems, Inc. | Systems and methods for completing tasks |
| US12164366B2 (en) * | 2022-12-08 | 2024-12-10 | Dell Products L.P. | Disk failure prediction using machine learning |
| CN117520110A (zh) * | 2023-12-11 | 2024-02-06 | 北京火山引擎科技有限公司 | 基线监控告警的方法、装置、计算机设备及存储介质 |
Family Cites Families (15)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3337131B2 (ja) * | 1999-02-05 | 2002-10-21 | セイコーエプソン株式会社 | プリンタの制御装置およびタスク制御方法並びにプログラムを記録した記録媒体 |
| US20030005023A1 (en) * | 2001-06-01 | 2003-01-02 | John Gilbert | Batch access method and system |
| US7086063B1 (en) * | 2003-03-25 | 2006-08-01 | Electric Cloud, Inc. | System and method for file caching in a distributed program build environment |
| JP4102695B2 (ja) * | 2003-03-28 | 2008-06-18 | 株式会社日本総合研究所 | バッチジョブ管理システム及びバッチジョブ管理プログラム |
| US7721288B2 (en) * | 2004-08-31 | 2010-05-18 | Sap Ag | Organizing transmission of repository data |
| US8832706B2 (en) * | 2006-12-22 | 2014-09-09 | Commvault Systems, Inc. | Systems and methods of data storage management, such as dynamic data stream allocation |
| US8181178B2 (en) * | 2008-08-14 | 2012-05-15 | Yahoo! Inc. | Online batch execution |
| EP2338112B1 (en) * | 2008-10-15 | 2015-10-14 | Oracle International Corporation | Batch processing system |
| JP2011053995A (ja) * | 2009-09-03 | 2011-03-17 | Hitachi Ltd | データ処理制御方法および計算機システム |
| JP5463885B2 (ja) * | 2009-12-07 | 2014-04-09 | 富士通株式会社 | バッチジョブ処理時間推定プログラム、方法及び装置 |
| US8473951B2 (en) * | 2009-12-30 | 2013-06-25 | Bmc Software, Inc. | Method and system for traversing in reverse chronological order along a critical path of a plurality of jobs, and reducing time gaps between jobs until an estimated end time of the last job is less than or equal to a target end time |
| JP2012128770A (ja) | 2010-12-17 | 2012-07-05 | Hitachi Ltd | バッチジョブ管理サーバ、バッチジョブ処理システム及びバッチジョブ実行方法 |
| US9307048B2 (en) * | 2010-12-28 | 2016-04-05 | Microsoft Technology Licensing, Llc | System and method for proactive task scheduling of a copy of outlier task in a computing environment |
| JP5298150B2 (ja) | 2011-02-17 | 2013-09-25 | みずほ情報総研株式会社 | ジョブシミュレーションシステム、ジョブシミュレーション方法及びジョブシミュレーションプログラム |
| US9152469B2 (en) * | 2013-01-28 | 2015-10-06 | Hewlett-Packard Development Company, L.P. | Optimizing execution and resource usage in large scale computing |
-
2013
- 2013-07-25 JP JP2013154768A patent/JP6260130B2/ja not_active Expired - Fee Related
-
2014
- 2014-07-15 US US14/331,804 patent/US9715409B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2015026197A (ja) | 2015-02-05 |
| US20150033233A1 (en) | 2015-01-29 |
| US9715409B2 (en) | 2017-07-25 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP6260130B2 (ja) | ジョブ遅延検知方法、情報処理装置、およびプログラム | |
| US8516499B2 (en) | Assistance in performing action responsive to detected event | |
| JP5874936B2 (ja) | 運用管理装置、運用管理方法、及びプログラム | |
| US10713107B2 (en) | Detecting a possible underlying problem among computing devices | |
| CN108255620B (zh) | 一种业务逻辑处理方法、装置、业务服务器及系统 | |
| US10977108B2 (en) | Influence range specifying method, influence range specifying apparatus, and storage medium | |
| JP7218797B2 (ja) | 情報処理装置およびapi使用履歴表示プログラム | |
| US12124353B2 (en) | Operation logs acquiring device, operation logs acquiring method, and operation logs acquiring program | |
| CN112433888A (zh) | 数据处理方法及装置、存储介质和电子设备 | |
| US20150278656A1 (en) | Job discrimination method and device | |
| CN102792278A (zh) | 计算环境中的诊断数据捕获 | |
| KR102936701B1 (ko) | 장애대응방안 제공방법 및 이를 이용하는 장애대응서버 | |
| CN119668813A (zh) | 一种批量中断任务的处理方法、装置、设备、介质及产品 | |
| JP6845657B2 (ja) | 管理サーバ、管理方法及びそのプログラム | |
| CN114020524B (zh) | 一种存储系统的容灾方法、装置、设备和介质 | |
| JP2021135541A (ja) | モデル生成装置、モデル生成方法、及びモデル生成プログラム | |
| JP5623950B2 (ja) | It障害予兆検知装置及びプログラム | |
| JP2017129970A (ja) | 管理装置,管理方法および管理プログラム | |
| JP2020155008A (ja) | 制御方法,情報処理装置および制御プログラム | |
| CN116069601A (zh) | 一种卡顿分析数据的获取方法、装置、设备及存储介质 | |
| JP2018063518A5 (ja) | ||
| CN114924832A (zh) | 虚拟机调度方法、电子设备和存储介质 | |
| JP2009181494A (ja) | ジョブ処理システムおよびジョブ情報取得方法 | |
| JP2022140929A (ja) | 情報処理プログラム、情報処理方法、および情報処理装置 | |
| JP6508202B2 (ja) | 情報処理装置、情報処理方法、及び、プログラム |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160405 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170215 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170228 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170428 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170829 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20171030 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20171114 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20171127 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 6260130 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| LAPS | Cancellation because of no payment of annual fees |