JP5684745B2 - Batch job analysis device, batch job analysis method, batch processing monitoring device, and batch processing monitoring method - Google Patents
Batch job analysis device, batch job analysis method, batch processing monitoring device, and batch processing monitoring method Download PDFInfo
- Publication number
- JP5684745B2 JP5684745B2 JP2012027090A JP2012027090A JP5684745B2 JP 5684745 B2 JP5684745 B2 JP 5684745B2 JP 2012027090 A JP2012027090 A JP 2012027090A JP 2012027090 A JP2012027090 A JP 2012027090A JP 5684745 B2 JP5684745 B2 JP 5684745B2
- Authority
- JP
- Japan
- Prior art keywords
- job
- time
- checkpoint
- path
- batch processing
- 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
Landscapes
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Description
本発明は、バッチジョブ分析装置、バッチジョブ分析方法、バッチ処理監視装置およびバッチ処理監視方法に関する。 The present invention relates to a batch job analysis device, a batch job analysis method, a batch processing monitoring device, and a batch processing monitoring method.
ユーザがインターネットを介して株式売買や外貨取引を行えるオンラインサービスが普及している。その手軽さや手数料の低さから、オンラインサービスのユーザ数は年々増大している。ユーザ数の増大に伴い、オンラインサービスを提供する証券業務システムへの負荷も大きくなってきている。 Online services that allow users to buy and sell stocks and trade foreign currencies via the Internet are widespread. Due to its simplicity and low fees, the number of online service users is increasing year by year. As the number of users increases, the load on securities business systems that provide online services is also increasing.
証券業務システムは一般に、我が国の証券取引所が開いている日中はリアルタイム処理により顧客に情報を提供したり注文情報を収集したりする。そして証券取引所が閉まっている夕方から翌日早朝にかけて証券業務システムは夜間バッチ処理を行う。この夜間バッチ処理においては、例えば日中の注文情報等のデータベースへの反映が行われる。 In general, the securities business system provides information to customers and collects order information by real-time processing during the day when the Japanese stock exchange is open. From the evening when the stock exchange is closed to the early morning of the following day, the securities business system performs nighttime batch processing. In this nighttime batch processing, for example, reflection of daytime order information or the like is performed in a database.
証券業務システムにおいてサービス開始時刻を守ることは重要である。夜間バッチ処理において何らかの問題が発生すると、サービス開始が遅れる可能性がある。そこで従来では、事前に想定できる変動要因に応じたシミュレーションによってサービス開始時刻を予測する技術(例えば、特許文献1、2参照)や、ジョブ実行順序や優先度変更等の実行計画変更により「早く」する技術(例えば、特許文献2、3参照)が提案されている。
It is important to keep the service start time in the securities business system. If any problem occurs in the nighttime batch processing, the service start may be delayed. Therefore, conventionally, “early” is achieved by a technique (for example, see
特許文献1には、一連のジョブ実行のためのジョブネットのパフォーマンスを分析するためのパフォーマンス分析技術が開示されている。特許文献1に記載の技術では、パフォーマンスの分析に際しジョブ実行計画ログに基づいてクリティカルパスを算出している。
特許文献2には、ネット状に関連付けられた多数のバッチジョブの処理技術が開示されている。特許文献2に記載の技術では、処理件数から各ジョブの所要時間を予測し、それに応じてクリティカルパスを再計算し、目標終了時刻を満たさない場合にジョブの実行優先度を変更し早くすることを動的に実施することで、全体処理を早くし遅れないようにしている。 Patent Document 2 discloses a technique for processing a large number of batch jobs associated with a net. In the technique described in Patent Document 2, the required time of each job is predicted from the number of processes, the critical path is recalculated accordingly, and if the target end time is not satisfied, the job execution priority is changed and accelerated. Is implemented dynamically, so that the entire process is accelerated and not delayed.
特許文献3には、ジョブフローで目標終了時刻の設定されたジョブを迅速に実行完了させる技術が開示されている。特許文献3に記載の技術では、クリティカルパスや目標終了時刻を考慮し、複数ジョブが重なった際に処理完了を早くするよう、実行優先度に基づき実行対象や順序を制御するしている(処理資源の割り当て優先を制御)。 Patent Document 3 discloses a technique for quickly completing execution of a job having a target end time set in the job flow. In the technique described in Patent Document 3, the execution target and the order are controlled based on the execution priority so that the processing is completed earlier when a plurality of jobs are overlapped in consideration of the critical path and the target end time (processing) Control resource allocation priority).
夜間バッチ処理の実行中に何らかの問題が発生した場合、例えば特許文献2や3に記載されるようなジョブ実行の優先度操作によって、処理速度を高めてサービス開始を遅らせないようにすることが考えられる。しかしながら、証券業務システムではこのような手法は有効な解決手段とはならない場合が多い。なぜならば、証券業務システムは、工場システムなどの他のシステムとはサーバ環境が異なるからである。 If any problem occurs during the nighttime batch processing, it may be possible not to delay the service start by increasing the processing speed by, for example, job execution priority operations as described in Patent Documents 2 and 3. It is done. However, in the securities business system, such a method is often not an effective solution. This is because the securities business system has a different server environment from other systems such as a factory system.
特許文献2、3に記載されるようなジョブ実行の優先度制御による処理速度の向上は、同一資源(CPU(Central Processing Unit)やメモリ)をどのジョブに優先的にディスパッチするかで制御される。しかしながら、証券業務システムは、分散サーバ環境で稼動しており、サーバ数は一例では3000台に及び、そのそれぞれのサーバで別のシステムが稼動する場合が多い。そして異なるシステム間では資源の取り合いが発生しにくい。 The improvement in processing speed by priority control of job execution as described in Patent Documents 2 and 3 is controlled by which job the same resource (CPU (Central Processing Unit) or memory) is dispatched preferentially. . However, the securities business system is operating in a distributed server environment. The number of servers is, for example, 3000, and another system often operates on each server. And it is difficult for resources to conflict between different systems.
また、日々の処理件数の変動が激しい処理においては、当該処理の設計レベルで件数に応じて処理時間が純増・伸張しないように吸収されている。例えば、並列処理・多重度を上げることでシーケンシャルにならないようにしている。すなわち、システムレベルでの最適化はすでに十分になされており、改善の余地は少ない。 In addition, in a process in which the daily processing number fluctuates drastically, the processing time is absorbed so that the processing time does not increase or decrease in accordance with the number of cases at the design level of the processing. For example, by increasing parallel processing and multiplicity, it is prevented from becoming sequential. In other words, optimization at the system level has already been sufficiently performed, and there is little room for improvement.
本発明はこうした課題に鑑みてなされたものであり、その目的は、証券業務システムなどの分散サーバ環境で稼動するシステムで行われるバッチ処理をより適切に分析し、または監視する技術の提供にある。 The present invention has been made in view of these problems, and an object thereof is to provide a technique for more appropriately analyzing or monitoring batch processing performed in a system operating in a distributed server environment such as a securities business system. .
本発明のある態様はバッチジョブ分析装置に関する。このバッチジョブ分析装置は、バッチ処理で処理される先行後続関係が定義された複数のジョブの稼動時間の実績を保持する実績情報保持部と、起動されるべき起動予定時刻が予め指定されている起動時刻指定ジョブについて、その予め指定された起動予定時刻を保持する指定時刻情報保持部と、複数のジョブのなかから選択されたパス開始ジョブおよびパス終了ジョブの指定を受け付ける指定受付部と、パス開始ジョブとパス終了ジョブとの間に少なくともひとつの起動時刻指定ジョブが含まれるとき、実績情報保持部によって保持される実績および指定時刻情報保持部によって保持される起動予定時刻に基づいて、パス開始ジョブとパス終了ジョブとの間のジョブの起動予定時刻および終了予定時刻を決定する時刻決定部と、時刻決定部によって決定された起動予定時刻および終了予定時刻に基づいて、起動時刻指定ジョブと起動時刻指定ジョブに他のジョブを介さずに先行するジョブとの間に仮想的なジョブを設定する仮想ジョブ設定部と、仮想ジョブ設定部によって設定された仮想的なジョブを使用して、パス開始ジョブとパス終了ジョブとの間のクリティカルパスを特定するクリティカルパス特定部と、を備える。 One embodiment of the present invention relates to a batch job analysis apparatus. In this batch job analysis device, a result information holding unit that holds results of operation times of a plurality of jobs in which a preceding and succeeding relationship processed in batch processing is defined, and a scheduled start time to be started are designated in advance. A designated time information holding unit for holding a predetermined startup scheduled time, a designation receiving unit for accepting designation of a path start job and a path end job selected from a plurality of jobs, and a path When at least one start time designation job is included between the start job and pass end job, the pass start is based on the record held by the record information holding unit and the scheduled start time held by the specified time information holding unit. A time determination unit for determining a scheduled start time and a scheduled end time of a job between a job and a path end job, and a time determination unit A virtual job setting unit that sets a virtual job between a start time specified job and a job preceding the start time specified job without passing through another job based on the scheduled start time and end end time determined And a critical path identifying unit that identifies a critical path between the path start job and the path end job using the virtual job set by the virtual job setting unit.
この態様によると、パス開始ジョブとパス終了ジョブとの間に少なくともひとつの起動時刻指定ジョブが含まれる場合でもクリティカルパスを特定することができる。 According to this aspect, the critical path can be specified even when at least one start time designation job is included between the path start job and the path end job.
本発明の別の態様は、バッチ処理監視装置である。この装置は、バッチ処理で処理される先行後続関係が定義された複数のジョブのうち起動されるべき起動予定時刻が予め指定されている起動時刻指定ジョブについて、その起動時刻指定ジョブとその起動時刻指定ジョブに他のジョブを介さずに先行するジョブとの間に仮想的なジョブが設定され、複数のジョブのなかから選択されたパス開始ジョブとパス終了ジョブとの間のクリティカルパスは仮想的なジョブを含むとき、そのクリティカルパスを使用してバッチ処理を監視するバッチ処理監視装置であって、クリティカルパス上で仮想的なジョブに先行する位置にチェックポイントを設定するチェックポイント設定部と、チェックポイント設定部によって設定されたチェックポイント通過の基準となる基準時刻を設定する基準時刻設定部と、チェックポイント設定部によって設定されたチェックポイントにおいて、処理がそのチェックポイントを通過する前に、現在時刻と基準時刻設定部によって設定された基準時刻と仮想的なジョブの終了予定時刻と起動予定時刻との差とに基づいて、パス終了ジョブの終了が遅れるか否かを判定する終了遅延判定部と、を備える。 Another aspect of the present invention is a batch processing monitoring apparatus. This device includes a start time specification job and a start time for a start time specification job in which a scheduled start time to be started is specified in advance among a plurality of jobs in which a preceding and subsequent relationship is processed in batch processing. A virtual job is set between the specified job and the preceding job without passing through other jobs, and the critical path between the path start job and path end job selected from multiple jobs is virtual. A batch processing monitoring device that monitors batch processing using the critical path when including a critical job, and a checkpoint setting unit that sets a checkpoint at a position preceding a virtual job on the critical path; A reference time setting unit for setting a reference time as a reference for passing the checkpoint set by the checkpoint setting unit; At the checkpoint set by the checkpoint setting unit, before the process passes through the checkpoint, the current time, the reference time set by the reference time setting unit, the estimated end time of the virtual job, and the scheduled start time And an end delay determination unit that determines whether or not the end of the path end job is delayed based on the difference between
この態様によると、クリティカルパスが仮想的なジョブを含む場合にパス終了ジョブの終了が遅れるか否かを判定できる。 According to this aspect, when the critical path includes a virtual job, it can be determined whether or not the end of the path end job is delayed.
本発明のさらに別の態様は、バッチ処理監視装置である。この装置は、バッチ処理で処理される先行後続関係が定義された複数のジョブに対して定義されるクリティカルパス上に第1チェックポイントを設定し、かつ、第1チェックポイントに後続する位置であってクリティカルパスと準クリティカルパスとが分岐する位置に第2チェックポイントを設定するチェックポイント設定部と、第1チェックポイントおよび第2チェックポイントのそれぞれにおいてバッチ処理の終了が遅れるか否かを判定する終了遅延判定部と、を備える。終了遅延判定部は、第2チェックポイントにおいて、処理がその第2チェックポイントを通過する前に、現在時刻が第2チェックポイント通過の基準となる基準時刻を超えた場合かつ処理が第1チェックポイントを通過した場合、クリティカルパス上で第2チェックポイントに先行するジョブが終了しているか否かを判定する第1状態判定部と、第1状態判定部において終了していると判定された場合、準クリティカルパス上で第2チェックポイントに先行するジョブが終了しているか否かを判定する第2状態判定部と、を含む。終了遅延判定部は、第2状態判定部において終了していないと判定された場合、準クリティカルパス上で第2チェックポイントに先行するジョブの遅延の度合いに基づいて、バッチ処理の終了が遅れるか否かを判定する。 Yet another embodiment of the present invention is a batch processing monitoring apparatus. This device sets a first checkpoint on a critical path defined for a plurality of jobs in which a preceding and succeeding relationship is defined that is processed in batch processing, and is a position following the first checkpoint. A checkpoint setting unit for setting a second checkpoint at a position where the critical path and the semi-critical path branch, and whether the end of batch processing is delayed at each of the first checkpoint and the second checkpoint An end delay determination unit. The end delay determination unit determines that the process at the second checkpoint is performed when the current time exceeds a reference time that is a reference for passing the second checkpoint before the process passes the second checkpoint. If it is determined that the job preceding the second checkpoint on the critical path has ended, and the first state determination unit and the first state determination unit determine that the job has ended, And a second state determination unit that determines whether or not the job preceding the second check point is completed on the semi-critical path. If it is determined by the second state determination unit that the end delay determination unit has not ended, whether the end of the batch processing is delayed based on the degree of delay of the job preceding the second check point on the semi-critical path Determine whether or not.
この態様によると、この態様によると、準クリティカルパスのジョブの処理状態を参照してバッチ処理が遅れるか否かを判定できる。 According to this aspect, according to this aspect, it is possible to determine whether or not the batch processing is delayed with reference to the processing state of the job of the semi-critical path.
本発明のさらに別の態様は、バッチ処理監視装置である。この装置は、バッチ処理で処理される先行後続関係が定義された複数のジョブに対して定義されるクリティカルパス上に第1チェックポイントを設定し、かつ、クリティカルパス上で第1チェックポイントに後続する位置に第2チェックポイントを設定するチェックポイント設定部と、第1チェックポイント通過の基準となる第1基準時刻および第2チェックポイント通過の基準となる第2基準時刻を設定する基準時刻設定部と、第2チェックポイントを含む第1チェックポイントと第2チェックポイントとの間でクリティカルパスから分岐する分岐パス上に、通過の基準となる第3基準時刻が第1基準時刻と第2基準時刻との間となるように第3チェックポイントを設定する追加チェックポイント設定部と、第1チェックポイント、第2チェックポイントおよび第3チェックポイントのそれぞれにおいて、処理がそのチェックポイントを通過する前に、現在時刻とそのチェックポイントに対応する基準時刻との比較に基づいて、バッチ処理の終了が遅れるか否かを判定する終了遅延判定部と、を備える。 Yet another embodiment of the present invention is a batch processing monitoring apparatus. This device sets a first checkpoint on a critical path defined for a plurality of jobs in which a predecessor relation is processed in batch processing, and follows the first checkpoint on the critical path. A check point setting unit for setting a second check point at a position to be set, and a reference time setting unit for setting a first reference time as a reference for passing the first check point and a second reference time as a reference for passing the second check point And a third reference time as a reference for passage on the branch path that branches from the critical path between the first check point and the second check point including the second check point is the first reference time and the second reference time. An additional checkpoint setting unit for setting the third checkpoint so as to be between the first checkpoint and the second checkpoint. At each checkpoint and third checkpoint, determine whether the end of batch processing is delayed based on a comparison between the current time and the reference time corresponding to the checkpoint before the process passes the checkpoint And an end delay determination unit.
この態様によると、この態様によると、分岐パス上で第2チェックポイントに先行する第3チェックポイントにおいてバッチ処理の終了が遅れるか否かを判定できる。 According to this aspect, according to this aspect, it is possible to determine whether or not the end of the batch process is delayed at the third check point preceding the second check point on the branch path.
なお、以上の構成要素の任意の組み合わせや、本発明の構成要素や表現を装置、方法、システム、コンピュータプログラム、コンピュータプログラムを格納した記録媒体などの間で相互に置換したものもまた、本発明の態様として有効である。 It should be noted that any combination of the above-described constituent elements, or those obtained by replacing the constituent elements and expressions of the present invention with each other between apparatuses, methods, systems, computer programs, recording media storing computer programs, and the like are also included in the present invention. It is effective as an embodiment of
本発明によれば、証券業務システムなどの分散サーバ環境で稼動するシステムで行われるバッチ処理をより適切に分析し、または監視することができる。 According to the present invention, it is possible to more appropriately analyze or monitor batch processing performed in a system operating in a distributed server environment such as a securities business system.
以下、各図面に示される同一または同等の構成要素、部材、処理には、同一の符号を付するものとし、適宜重複した説明は省略する。 Hereinafter, the same or equivalent components, members, and processes shown in the drawings are denoted by the same reference numerals, and repeated description is appropriately omitted.
(証券業務システム200)
図1は、本実施の形態に係るバッチ処理分析監視システムによる分析および監視の対象となるバッチ処理が行われる証券業務システム200の構成を示す模式図である。証券業務システム200は、証券会社に設置され、顧客などのユーザからの証券の売買注文を受け付けたり、証券注文に役立つ様々な情報を提供するシステムである。
(Securities business system 200)
FIG. 1 is a schematic diagram showing a configuration of a
証券業務システム200は、プレゼンテーションレイヤ210とビジネスロジックレイヤ220とデータベースレイヤ230とを含む。プレゼンテーションレイヤ210は、主にクライアント端末202、204、206から入力されるデータを受け付けてビジネスロジックレイヤ220に渡したり、またはビジネスロジックレイヤ220から提供されるデータをウェブページに加工してクライアント端末202、204、206に提供する役割を有する。ビジネスロジックレイヤ220は、証券の売買注文や情報の提供などの実際の処理を担当する役割を有する。
The
プレゼンテーションレイヤ210は、複数のウェブサーバ212、214、216、218を含む。本実施の形態では、証券業務システム200に対するアクセスチャネル毎に、ウェブページの処理を実行するサーバのグループが準備されている。図1では、ウェブ経由の一般顧客、コールセンタ、支店からそれぞれのクライアント端末202、204、206を使用して証券業務システム200にアクセスする場合を想定している。したがって、プレゼンテーションレイヤ210は、一般顧客からのアクセスに対する処理を担当する一般用ウェブサーバ212と、コールセンタからのアクセスに対する処理を担当するコールセンタ用ウェブサーバ214と、支店からのアクセスに対する処理を担当する支店用ウェブサーバ216と、を備える。さらに、通常は休止している予備の予備ウェブサーバ218を準備しておいてもよい。各ウェブサーバ212、214、216、218は、複数のサーバで構成されてもよい。各ウェブサーバ212、214、216、218は、上記の機能の他、クライアント端末202、204、206からの要求に応じてプログラムを実行しその結果を送信する動的ページの生成機能やトランザクション管理機能などを実装している。
The
ビジネスロジックレイヤ220には、アクセスチャネル毎ではなく、所定のアプリケーションを専用に実行するサーバのグループが準備されている。ビジネスロジックレイヤ220は、現在および過去の株価や出来高、会社情報などの証券売買の際に必要となる情報をクライアント端末202、204、206に提供するアプリケーションを実行する情報提供アプリケーションサーバ222、株や投資信託などの売買注文を受け付けるアプリケーションを実行する注文処理アプリケーションサーバ224、ユーザのログインやログアウト、顧客情報などを管理するアプリケーションを実行する事務処理アプリケーションサーバ226を備える。これ以外にも、例えば、外部の新聞社のサイトなどと連携して経済ニュースを提供する外部連携アプリケーションサーバや、顧客毎に取引残高の報告書などを提供する報告書アプリケーションサーバなどを備えていてもよい。各アプリケーションサーバ222、224、226は、複数のサーバで構成されてもよい。各アプリケーションサーバ222、224、226は、上記の業務処理の機能の他、一般のアプリケーションサーバが有している機能、例えば、データベースレイヤ230のデータベースへの接続機能、複数の処理を連結するトランザクション管理機能なども実装している。
In the
データベースレイヤ230には、ビジネスロジックレイヤ220から参照されたり更新されたりするデータベース(database、DB)が準備されている。データベースレイヤ230は、ビジネスロジックレイヤ220の各サーバの主たるデータベースとなるメインDB232と、主に参照目的で設けられた情報系DB234と、を備える。
In the
各アプリケーションサーバ222、224、226では、複数のクライアント端末に対するサービス242、244、246、248、250、252が同時に実行される。例えば、情報提供アプリケーションサーバ222では、一般顧客に対して株価情報を提供するサービスA242と、コールセンタに対して株価情報を提供するサービスB244が同時に実行されてもよい。注文処理アプリケーションサーバ224では、コールセンタからの株式売買注文を処理するサービスC246と、店舗からの投資信託売買注文を処理するサービスD248が同時に実行されてもよい。
In each
一般顧客、コールセンタや支店の担当員は、それぞれのクライアント端末202、204、206からウェブブラウザなどのソフトウェアを使用し、インターネット等のネットワーク208を介して証券業務システム200にアクセスする。コールセンタや支店に備えられるクライアント端末204、206は、証券業務システム200と専用線209によって接続されていてもよい。
General customer, call center, and branch office staff use the software such as a web browser from the
クライアント端末202、204、206から証券業務システム200にアクセスすると、プレゼンテーションレイヤ210のアクセスチャネルに応じたウェブサーバ212、214、216によって作成されたウェブページが、クライアント端末202、204、206に送信される。クライアント端末202、204、206は、送信されたウェブページをディスプレイに表示する。ユーザがウェブページ上でログイン、情報の閲覧、売買注文などの操作を実行すると、その情報がウェブサーバ212、214、216を介してビジネスロジックレイヤ220のアプリケーションサーバ222、224、226に渡される。各アプリケーションサーバ222、224、226による処理の結果は、ウェブサーバ212、214、216によってウェブページに加工され、そのデータがクライアント端末202、204、206に送信される。こうしてユーザは、ウェブページに表示される種々の情報を参照したり、またはウェブページを通じて証券の売買注文をすることができる。
When the
上述したような証券業務システムは高度な分散サーバ環境(いわゆる、サーバ乱立)で稼動しており、一例では約3000サーバにジョブ処理実行環境が分散されており、そのジョブのトータル数は一例では約90万ジョブ/日程度となる。また、システム間連携(I/F)が多数存在し、この連携の順序は基本的には変更不可である。 The securities business system as described above operates in a highly distributed server environment (so-called server turbulence). In one example, the job processing execution environment is distributed to about 3000 servers, and the total number of jobs is about one in one example. It will be about 900,000 jobs / day. In addition, there are many inter-system linkages (I / F), and the linkage order is basically unchangeable.
一例では、数百システム間で何らかのI/F連携が発生している。システム間I/Fの順序は変えられない、例えばAシステムデータ−>Bシステムデータ−>Cシステムデータという順序は変えられないので、全体構造の実行計画自体は基本的には変更不可である。 In one example, some kind of I / F cooperation occurs between several hundred systems. The order of inter-system I / F cannot be changed. For example, the order of A system data-> B system data-> C system data cannot be changed. Therefore, the execution plan of the entire structure itself is basically unchangeable.
システム単体(数十〜数千ジョブを包含)のなかでの処理実行順序や優先度変更はできるかもしれないが、一般にシステム単体では既に最適化されている。したがって、平常時においては、それぞれのシステムバッチ処理時間の日による変動は発生しにくい(または、そうならないような設計が盛り込まれている)。 Although the processing execution order and priority may be changed in a single system (including several tens to several thousand jobs), generally the single system is already optimized. Therefore, in normal times, the fluctuation of each system batch processing time from day to day hardly occurs (or a design that does not do so is included).
そのような状況の下、従来のクリティカルパス分析技術では、事前に想定される要因(処理件数想定等)に対するサービス開始時刻の予測は実行できたとしても、バッチ処理当日に事前に想定できない事象(インシデント)が発生した際のサービス開始時刻予測は困難である。
想定できない事象とは主に
・基盤環境障害(サーバのディスクの損壊等)
・バグ起因による障害(アプリケーションロジックの不具合によるバッチ処理の異常終了等)
などの障害インシデントである。障害インシデントが発生したことおよび何の処理で障害インシデントが発生したか、については既存の監視装置で検出できるものの、障害インシデントによるサービス開始時刻への影響は分からなかった。
Under such circumstances, with the conventional critical path analysis technology, even if the service start time can be predicted for factors that are assumed in advance (assuming the number of processes, etc.), an event that cannot be predicted in advance on the day of batch processing ( It is difficult to predict the service start time when an incident occurs.
Unforeseeable events are mainly-Infrastructure environment failure (such as server disk damage)
-Failures caused by bugs (abnormal termination of batch processing due to application logic defects)
It is a failure incident such as. Although the existing monitoring device can detect the occurrence of the failure incident and what process the failure incident has occurred, the effect of the failure incident on the service start time was not known.
証券業務システムによるオンラインサービスが提供開始予定時刻までに提供開始とならないことが判明した際には、業務面においてのフォローが必要となる。例えば、ホームページへのお詫び等の掲載、各種業務での代替手段実施決断や、フォロー対応準備要否の判断、サービスレベルを落とすが起動を優先させるかの判断(一部の情報は古いがサービスを起動させる)、代替手段での業務のため通常よりも社員を早く出社させる必要があるかの判断、等である。したがって、夜間バッチ処理にて問題が発生した際に「朝何時にサービス開始する見込みか?」という情報を迅速に得ることが必要である。
なお、当日に必要な情報は「非常に精度が高い情報」ではなく、「ある程度精度(10分前後)は落ちても、どれくらいの時刻になりそうか?を、「より早く」知ること」である。
When it becomes clear that the online service by the securities business system will not be provided by the scheduled start time, follow-up on the business side is required. For example, posting apologies, etc. on homepages, deciding whether to implement alternatives in various operations, determining whether follow-up preparation is necessary, determining whether service level will be reduced but startup will be prioritized (some information is old but services are For example, determining whether it is necessary to bring an employee to work earlier than usual for work with alternative means. Therefore, when a problem occurs during nighttime batch processing, it is necessary to quickly obtain information such as “What time is the service expected to start in the morning?”.
In addition, the information required for the day is not "information with very high accuracy", but "to know earlier" how much time is likely to be reached even if the accuracy (around 10 minutes) drops to some extent. is there.
夜間バッチ処理にて想定できない事象が発生した際、従来は下記の理由によりサービス開始時刻の予想は困難であった。
・想定できない事象であるため、事前予測(シミュレーション)ができない。
・再計算をする時間が無い。例えばAM3時にインシデントが発生すると、開始リミット(例えばAM5時)まであまり時間が残されていない状況において、サービス開始予測時刻及び開始リミットへの影響の有無を算出することが必要となる。これに対して、従来では、まず時刻起動ジョブが絡むためクリティカルパスの計算では対応(再計算)できない。そして、再計算をするとしても、計算対象となるジョブ数が膨大なためかなり高速での計算が必要となる。そのような高性能の計算マシンを導入するにはコストがかかり過ぎる。また、通常性能の計算マシンで時間をかけて計算するということも考えられるが、それではそもそも非常時の業務準備に間に合わない可能性があるので採用しにくい。そして、そもそもクリティカルパスは結果情報であり、想定外インシデント発生中においては、どの経路がクリティカルパスになるかは特定できない。したがって、インシデント対応がクローズするまでは、インシデント発生処理が伸張し続けていることになる。
When an unforeseen event occurs during nighttime batch processing, it has been difficult to predict the service start time for the following reasons.
・ Because it is an event that cannot be assumed, prior prediction (simulation) is not possible.
・ There is no time for recalculation. For example, when an incident occurs at AM3, it is necessary to calculate the predicted service start time and whether there is an influence on the start limit in a situation where there is not much time left until the start limit (for example, AM5). On the other hand, conventionally, since a time-start job is first involved, it cannot be handled (recalculated) by calculating a critical path. Even if recalculation is performed, the number of jobs to be calculated is enormous, and calculation at a considerably high speed is required. It is too expensive to introduce such a high performance computing machine. In addition, although it is possible to calculate over time with a normal performance computer, it is difficult to adopt because it may not be in time for business preparations in an emergency. In the first place, the critical path is the result information, and it is not possible to identify which path becomes the critical path during an unexpected incident. Therefore, the incident occurrence process continues to expand until the incident response is closed.
インシデントクローズ時刻を見込みで再計算処理し、それが外れた場合は、下記のいずれかの対応をとることとなる。
・計算中止し再度見込み時間で再計算を繰り返す。
・複数処理計算を多重で計算できる位の処理能力を持たせる。
・インシデントがクローズしてから再計算を行う。
このため従来手法のひとつである「個々のジョブ処理時間の積み上げ再計算」方式シミュレーションでは当日の障害インシデント発生への対応は困難であった。
実施の形態に係るバッチ処理分析監視システムは、そのような対応を可能とするシステムである。
If the incident close time is recalculated with the expectation, and it is off, one of the following measures will be taken.
・ Stop the calculation and repeat the calculation again with the expected time.
・ Provide sufficient processing capability to calculate multiple processing calculations.
・ Recalculate after the incident is closed.
For this reason, it has been difficult to deal with the occurrence of a fault incident on that day in the “simultaneous recalculation of individual job processing times” method simulation, which is one of the conventional methods.
The batch processing analysis monitoring system according to the embodiment is a system that enables such a response.
証券業務システムにおいてバッチ処理で処理されるジョブは、起動されるべき起動予定時刻が予め指定されている起動時刻指定ジョブを含むことが多い。起動時刻指定ジョブが存在する場合、一般に、純粋な数学的クリティカルパス計算で有用なクリティカルパスを算出することは難しい。パスの途中に起動時刻指定ジョブが存在する場合、終点から逆算したクリティカルパスは、「起動時刻指定ジョブの待ちポイント」が起点とな(処理が詰まっていないから)ってしまうからである。 Jobs processed by batch processing in a securities business system often include an activation time designation job in which an expected activation time to be activated is designated in advance. When there is a start time designation job, it is generally difficult to calculate a useful critical path by pure mathematical critical path calculation. This is because, when a start time designation job exists in the middle of the path, the critical path calculated backward from the end point starts from the “waiting point of the start time designation job” (because the processing is not clogged).
起動時刻指定ジョブが発生する背景は、証券業務という業態や、そのシステム構成に特徴があり、特に以下の2つが挙げられる。
(1)締め処理が複数存在すること
例えば、マーケット後場は15時に終了し締め、支店での扱いはそこで終了する。一方で顧客ダイレクトのオンラインサービスは例えば26時まで継続しており例えば予約分を明日朝トップの取引対象に組み入れる必要がある。このようなXX締め処理が一例では数十はあり断続的に深夜にかけて続く。したがって、証券業務システムでは夜間バッチ処理と並行してリアルタイム処理が行われる。
The background of the start time designation job is characterized by the business condition of securities business and its system configuration, and there are the following two in particular.
(1) There are a plurality of closing processes For example, the market after market ends at 15:00 and the handling at the branch ends there. On the other hand, the customer direct online service continues until, for example, 26:00, and it is necessary to incorporate, for example, reservations into the top business tomorrow morning. There are several dozens of such XX fastening processes, which continue intermittently until midnight. Therefore, real-time processing is performed in parallel with nighttime batch processing in the securities business system.
締め処理は例えばバッチ処理に入力するためのデータを最終的に確定させる処理であってもよい。あるいはまた、締め処理は、オンライン処理の終了または確定に関する処理であってもよく、またはオンライン処理とバッチ処理との間に存在する処理であってもよい。 The tightening process may be a process for finally determining data to be input to the batch process. Alternatively, the tightening process may be a process related to completion or determination of the online process, or may be a process existing between the online process and the batch process.
起動時刻指定ジョブの指定起動時刻は、リアルタイム処理の結果が夜間バッチ処理に組み入れられるべき時刻に基づき設定されてもよい。例えば支店取引分のデータの受け取りに関するジョブおよびオンラインサービス分のデータの受け取りに関するジョブはそれぞれ異なる指定起動時刻を有する起動時刻指定ジョブとなる。 The designated activation time of the activation time designation job may be set based on the time at which the result of the real-time processing is to be incorporated into the nighttime batch processing. For example, a job related to reception of data for branch transactions and a job related to reception of data for online services are startup time designation jobs having different designated activation times.
(2)他社提供データI/F待ちが多数あること
XX時ごろに送信される他社提供データがあり、それを25時に取り込むことになっている等の状況である。この場合、他社提供データの取り込みに関するジョブは起動時刻指定ジョブとなる。すなわち、起動時刻指定ジョブの指定起動時刻は、証券業務システムとは異なるシステムからデータが提供されるべき時刻に基づき設定されてもよい。
(2) There are a lot of waiting for the data provided by other companies I / F There is data provided by other companies that is transmitted around XX, and it is assumed that the data is taken in at 25:00. In this case, the job related to importing data provided by other companies is a start time designation job. That is, the designated activation time of the activation time designation job may be set based on the time when data should be provided from a system different from the securities business system.
本実施の形態に係るバッチ処理分析監視システムはバッチジョブ分析装置100とバッチ処理監視装置300とを備える。バッチジョブ分析装置100は事前分析フェーズを担当し、バッチ処理で処理されるジョブのなかに起動時刻指定ジョブが存在するという状況においてクリティカルパスの特定を可能とする。バッチ処理監視装置300は当日監視フェーズを担当し、クリティカルパス上にチェックポイントを設けてバッチ処理の進行を監視する。バッチ処理監視装置300は処理の遅延が疑われる状況において、クリティカルパスの再計算は行わず、現在時刻と基準時刻との単純な比較によりサービス開始が遅れるか否かを判定する。これにより、障害インシデント発生に対してより素早い対応が可能となる。
The batch processing analysis monitoring system according to the present embodiment includes a batch
(バッチジョブ分析装置100)
図2は、バッチジョブ分析装置100およびそれに接続された部材の機能および構成を示すブロック図である。ここに示す各ブロックは、ハードウエア的には、コンピュータのCPUをはじめとする素子や機械装置で実現でき、ソフトウエア的にはコンピュータプログラム等によって実現されるが、ここでは、それらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックはハードウエア、ソフトウエアの組合せによっていろいろなかたちで実現できることは、本明細書に触れた当業者には理解されるところである。
(Batch job analyzer 100)
FIG. 2 is a block diagram illustrating functions and configurations of the batch
バッチジョブ分析装置100は証券業務システム200の内部に設けられてもよく、外部に設けられてもよい。本実施の形態では、バッチジョブ分析装置100は証券業務システム200の外部に設けられている。バッチジョブ分析装置100はマウスやキーボードなどの入力装置126およびディスプレイ128と接続される。
バッチジョブ分析装置100は、指定受付部102と、分析対象特定部104と、時刻決定部106と、仮想ジョブ設定部108と、クリティカルパス特定部110と、関係情報保持部112と、実績情報保持部114と、指定時刻情報保持部116と、を備える。
The batch
The batch
図3は、関係情報保持部112の一例を示すデータ構造図である。関係情報保持部112は、バッチ処理で処理されるジョブ間の先行後続関係を保持する。関係情報保持部112は、バッチ処理で処理されるジョブを特定するジョブIDと、そのジョブに直接後続するジョブを特定する直接後続ジョブIDと、を対応付けて保持する。バッチ処理において、ジョブとそのジョブに直接後続するジョブとには他のジョブは介在しない。言い換えると、ジョブの終了は、そのジョブに直接後続するジョブが開始される開始条件のひとつとなっている。同様に、ジョブとそのジョブに直接先行するジョブとには他のジョブは介在しない。本明細書では、ジョブIDをジョブを示す符号として採用する。
FIG. 3 is a data structure diagram illustrating an example of the relationship
図4は、実績情報保持部114の一例を示すデータ構造図である。実績情報保持部114は、バッチ処理で処理される各ジョブの稼動時間の実績または履歴を保持する。実績情報保持部114は、日付と、ジョブIDと、ジョブが起動されてから終了するまでの期間の長さである稼動時間と、を対応付けて保持する。本実施の形態ではバッチ処理は夜間バッチ処理などの一日に一回行われるバッチ処理である場合について説明するが、それ以外のバッチ処理についても本実施の形態に係る技術的思想を適用できることは、本明細書に接した当業者には明らかである。実績情報保持部114は毎日、バッチ処理の終了後に更新されてもよい。
FIG. 4 is a data structure diagram illustrating an example of the record
バッチ処理で処理されるジョブは、起動時刻指定ジョブを含む。起動時刻指定ジョブが起動されるべき起動予定時刻は、バッチ処理の管理者によって予め指定された指定起動時刻である。起動時刻指定ジョブは、例えば証券業務システム200におけるリアルタイム処理の結果を受け入れるジョブである。この場合、起動時刻指定ジョブの起動予定時刻はリアルタイム処理の結果がバッチ処理に組み入れられるべき時刻に基づき設定されてもよい。リアルタイム処理の結果は例えばリアルタイム処理を通じて確定されたデータであってもよい。あるいはまた、起動時刻指定ジョブは、証券業務システム200とは異なるシステム、例えばニュース配信システムからデータを受け入れるジョブであってもよい。この場合、起動時刻指定ジョブの起動予定時刻は、ニュース配信システムからデータが提供されるべき時刻に基づき設定されてもよい。
Jobs processed in batch processing include start time designation jobs. The scheduled activation time at which the activation time designation job should be activated is a designated activation time designated in advance by the administrator of the batch process. The start time designation job is a job that accepts a result of real-time processing in the
図5は、指定時刻情報保持部116の一例を示すデータ構造図である。指定時刻情報保持部116は、起動時刻指定ジョブを特定する起動時刻指定ジョブIDと、指定起動時刻と、を対応付けて保持する。
FIG. 5 is a data structure diagram illustrating an example of the designated time
図2に戻り、管理者は、バッチジョブ分析装置100を使用してバッチ処理を分析するに当たり、バッチ処理で処理されるジョブ全体の中から、クリティカルパスの開始点すなわち先頭となるべきパス開始ジョブと終了点すなわち末尾となるべきパス終了ジョブとを選択する。指定受付部102は、入力装置126を介して管理者から、パス開始ジョブを特定するパス開始ジョブIDおよびパス終了ジョブを特定するパス終了ジョブIDの指定を受け付ける。
Returning to FIG. 2, when analyzing the batch processing using the batch
分析対象特定部104は、関係情報保持部112によって保持される先行後続関係に基づき、パス開始ジョブとパス終了ジョブとの間に位置する中間ジョブを特定する。中間ジョブは、パス終了ジョブに先行しパス開始ジョブに後続するジョブである。特に分析対象特定部104は、関係情報保持部112に保持されるジョブID間の対応関係によりパス開始ジョブIDおよびパス終了ジョブIDの両方と関連付づけられるジョブIDを、中間ジョブの中間ジョブIDとして特定する。なお、分析対象特定部104は、パス開始ジョブIDまたはパス終了ジョブIDのいずれか一方とジョブID間の対応関係により関連付けられるジョブIDを、中間ジョブIDとして特定してもよい。
The analysis
以下、分析対象特定部104によって特定された中間ジョブは少なくともひとつの起動時刻指定ジョブを含む場合を説明する。
時刻決定部106は、実績情報保持部114によって保持される稼動時間の実績および指定時刻情報保持部116によって保持される指定起動時刻に基づいて、各中間ジョブの起動予定時刻および終了予定時刻を決定する。終了予定時刻は、ジョブが終了されるべき時刻である。時刻決定部106は、予測稼動時間算出部118と、指定起動時刻抽出部120と、指定時刻決定部122と、実績時刻決定部124と、を含む。
Hereinafter, a case where the intermediate job specified by the analysis
The
予測稼動時間算出部118は、実績情報保持部114によって保持される稼動時間の実績に基づいて、各中間ジョブの稼動時間の予測値を算出する。特に予測稼動時間算出部118は、各中間ジョブについて、1ヶ月や1年などの所定の期間に亘って過去の稼動時間を平均することにより得られる平均値を稼動時間の予測値として算出する。なお、予測稼動時間算出部118は、稼動時間の実績に公知の統計的手法を適用することにより予測値を算出してもよい。
The predicted working
指定起動時刻抽出部120は、分析対象特定部104によって特定された中間ジョブに含まれる起動時刻指定ジョブの指定起動時刻を指定時刻情報保持部116から抽出する。特に指定起動時刻抽出部120は、分析対象特定部104によって特定された各中間ジョブの中間ジョブIDと指定時刻情報保持部116に保持されている起動時刻指定ジョブIDとを比較し、それらが一致した場合に一致したIDに対応する指定起動時刻を抽出する。これにより、指定起動時刻抽出部120は、分析対象特定部104によって特定された中間ジョブに含まれる起動時刻指定ジョブを特定し、特定された起動時刻指定ジョブに対応する指定起動時刻を抽出する。
The designated activation
指定時刻決定部122は、指定起動時刻抽出部120によって特定された起動時刻指定ジョブの起動予定時刻を、指定起動時刻抽出部120によって抽出された指定起動時刻に基づき決定する。一例では、指定時刻決定部122は、起動時刻指定ジョブの起動予定時刻を指定起動時刻そのものとする。
The designated
実績時刻決定部124は、予測稼動時間算出部118によって算出された稼動時間の予測値および指定時刻決定部122によって決定された起動時刻指定ジョブの起動予定時刻に基づき、パス開始ジョブからパス終了ジョブに向けて順番に、各中間ジョブの起動予定時刻および終了予定時刻を決定する。
The actual
例えば第1中間ジョブが第2中間ジョブに直接先行し、第2中間ジョブが第3中間ジョブに直接先行する場合を考える。第3中間ジョブは起動時刻指定ジョブであるとする。実績時刻決定部124は、第1中間ジョブの起動予定時刻に第1中間ジョブの稼動時間の予測値を加算することにより、第1中間ジョブの終了予定時刻を決定する。実績時刻決定部124は、第2中間ジョブは起動時刻指定ジョブでないと判定し、第1中間ジョブの終了予定時刻を第2中間ジョブの起動予定時刻とする。実績時刻決定部124は、第2中間ジョブの起動予定時刻に第2中間ジョブの稼動時間の予測値を加算することにより、第2中間ジョブの終了予定時刻を決定する。実績時刻決定部124は、第3中間ジョブは起動時刻指定ジョブであると判定し、第3中間ジョブの起動予定時刻として指定時刻決定部122によって決定された起動予定時刻を採用する。実績時刻決定部124は、第3中間ジョブの起動予定時刻に第3中間ジョブの稼動時間の予測値を加算することにより、第3中間ジョブの終了予定時刻を決定する。
For example, consider a case where the first intermediate job directly precedes the second intermediate job and the second intermediate job directly precedes the third intermediate job. It is assumed that the third intermediate job is a start time designation job. The actual
クリティカルパス特定部110は、関係情報保持部112によって保持される中間ジョブ間の先行後続関係および時刻決定部106によって決定された各中間ジョブの起動予定時刻および終了予定時刻に基づき、パス開始ジョブとパス終了ジョブとの間のクリティカルパスを特定する。特にクリティカルパス特定部110は、パス終了ジョブからパス開始ジョブに向けて中間ジョブを辿り、分岐部分では終了予定時刻と起動予定時刻との差すなわち予測稼動時間がより長いほうの中間ジョブを選択する、というアルゴリズムにしたがってクリティカルパスを特定する。分岐部分は、例えばひとつの中間ジョブに2以上の中間ジョブが直接先行する部分である。
The critical
仮想ジョブ設定部108は、クリティカルパス特定部110によるクリティカルパス探索の過程で起動時刻指定ジョブが現れると、起動時刻指定ジョブと起動時刻指定ジョブに直接先行する中間ジョブとの間に仮想的なジョブを設定する。仮想ジョブ設定部108は、仮想的なジョブの起動予定時刻を起動時刻指定ジョブに直接先行する中間ジョブの終了予定時刻とする。仮想ジョブ設定部108は、仮想的なジョブの終了予定時刻を起動時刻指定ジョブの起動予定時刻とする。
When a startup time designation job appears in the process of critical path search by the critical
仮想ジョブ設定部108によって仮想的なジョブが設定されると、クリティカルパス特定部110は仮想的なジョブを使用してクリティカルパスを特定する。特に仮想ジョブ設定部108によって起動時刻指定ジョブに対して2以上の仮想的なジョブが設定された場合、クリティカルパス特定部110は、それらの2以上の仮想的なジョブのうち終了予定時刻と起動予定時刻との差(以下、仮想稼動時間と称す)がより小さい(言い換えると、仮想的なジョブに直接先行する中間ジョブの終了予定時刻がより遅い)仮想的なジョブを含むパスを優先的にクリティカルパスとして特定する。
クリティカルパス特定部110は、同様の手法で第1準クリティカルパスや第2準クリティカルパスを特定してもよい。
When a virtual job is set by the virtual
The critical
図6は、夜間バッチ処理で処理される14のジョブA〜J、W〜Zを時系列で示す模式図である。この例では、パス開始ジョブはジョブAであり、パス終了ジョブはジョブIである。残りのジョブは中間ジョブである。このような14のジョブA〜J、W〜Zの時系列への展開は、指定受付部102、分析対象特定部104および時刻決定部106により行われる。
FIG. 6 is a schematic diagram showing 14 jobs A to J and W to Z processed in the nighttime batch processing in time series. In this example, the path start job is job A, and the path end job is job I. The remaining jobs are intermediate jobs. Such development of the 14 jobs A to J and W to Z in time series is performed by the
クリティカルパス特定部110は、ジョブIからクリティカルパスの探索を始める。このクリティカルパス探索の過程でジョブFが現れる。このジョブFは起動時刻指定ジョブであり、それに先行するジョブDおよびジョブEのいずれとの間にもフロートが存在する。
The critical
図7は、夜間バッチ処理で処理される14のジョブA〜J、W〜Zおよび仮想的なジョブIJ1、IJ2を時系列で示す模式図である。図7は図6に対応する。仮想ジョブ設定部108は、ジョブFとジョブDとの間のフロートおよびジョブFとジョブEとの間のフロートをそれぞれ第1仮想ジョブIJ1、第2仮想ジョブIJ2として仮想ジョブ化する。クリティカルパス特定部110は、第1仮想ジョブIJ1、第2仮想ジョブIJ2のうち仮想稼動時間がより短い第1仮想ジョブIJ1を選択してクリティカルパスの探索を続行する。結果的に、クリティカルパス特定部110は、クリティカルパスとしてジョブA−ジョブB−ジョブD−第1仮想ジョブIJ1−ジョブF−ジョブG−ジョブIを特定する。また、クリティカルパス特定部110は、第1準クリティカルパスとしてジョブA−ジョブC−ジョブE−第2仮想ジョブIJ2−ジョブF−ジョブG−ジョブIを特定する。
FIG. 7 is a schematic diagram showing 14 jobs A to J and W to Z and virtual jobs IJ1 and IJ2 processed in the nighttime batch process in time series. FIG. 7 corresponds to FIG. The virtual
(バッチ処理監視装置300)
図8は、バッチ処理監視装置300およびそれに接続された部材の機能および構成を示すブロック図である。ここに示す各ブロックは、ハードウエア的には、コンピュータのCPUをはじめとする素子や機械装置で実現でき、ソフトウエア的にはコンピュータプログラム等によって実現されるが、ここでは、それらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックはハードウエア、ソフトウエアの組合せによっていろいろなかたちで実現できることは、本明細書に触れた当業者には理解されるところである。
(Batch processing monitoring device 300)
FIG. 8 is a block diagram showing functions and configurations of the batch
バッチ処理監視装置300は証券業務システム200の内部に設けられてもよく、外部に設けられてもよい。本実施の形態では、バッチ処理監視装置300は証券業務システム200の外部に設けられており、バッチ処理監視装置300と証券業務システム200とはネットワーク208を介して接続される。バッチ処理監視装置300は証券業務システム200からバッチ処理の進行状況などをネットワーク208を介して取得する。バッチ処理監視装置300はマウスやキーボードなどの入力装置324およびディスプレイ326と接続される。バッチ処理監視装置300は、バッチジョブ分析装置100によって特定されたクリティカルパスを使用して証券業務システム200のバッチ処理を監視する。
The batch
バッチ処理監視装置300は、チェックポイント設定部302と、標準通過時刻決定部328と、ワーニング経過時刻決定部330と、クリティカル経過時刻決定部332と、終了遅延判定部306と、遅延算出部310と、追加チェックポイント設定部312と、通過登録部304と、チェックポイント情報保持部314と、パス情報保持部316と、追加チェックポイント情報保持部322と、を備える。終了遅延判定部306は、クリティカルパス状態判定部334と、準クリティカルパス状態判定部336と、を含む。
The batch
図9は、パス情報保持部316の一例を示すデータ構造図である。パス情報保持部316は、バッチ処理全体の先頭のジョブをパス開始ジョブ、末尾のジョブをパス終了ジョブとして指定したときにバッチジョブ分析装置100によって特定されるクリティカルパス、第1準クリティカルパスおよび第2準クリティカルパスの情報を保持する。以下、バッチジョブ分析装置100によって特定されたクリティカルパスは少なくともひとつの仮想的なジョブを含む場合を説明する。パス情報保持部316は、パスの種別ごとに、パスに含まれるジョブを特定するジョブIDと、そのジョブの起動予定時刻と、そのジョブの終了予定時刻と、そのジョブが仮想的なジョブであるか否かを示す仮想フラグと、を対応付けて保持する。パスの種別は、クリティカルパス、第1準クリティカルパスまたは第2準クリティカルパスのいずれかである。仮想フラグが立てられたジョブは仮想的なジョブである。
FIG. 9 is a data structure diagram illustrating an example of the path
図10は、チェックポイント情報保持部314の一例を示すデータ構造図である。チェックポイント情報保持部314は、クリティカルパス上に設けられたチェックポイントに関する情報を保持する。チェックポイント情報保持部314は、チェックポイントを特定するチェックポイントIDと、チェックポイント通過に関連する関連ジョブを特定する関連ジョブIDと、チェックポイントの通過の契機と、標準通過時刻と、ワーニング経過時刻と、クリティカル経過時刻と、実績通過時刻と、を対応付けて保持する。チェックポイントの通過の契機は、例えば関連ジョブの起動または終了である。標準通過時刻は、例えば通過の契機が起動であれば関連ジョブの起動予定時刻であり、通過の契機が終了であれば関連ジョブの終了予定時刻である。ワーニング経過時刻は、チェックポイント通過前に現在時刻がこの時刻を過ぎると、バッチ処理の管理者にチェックポイントにおいて遅れが生じていることを警告する時刻であり、チェックポイントに後続する仮想的なジョブの仮想稼動時間に基づき設定される。クリティカル経過時刻は、チェックポイント通過前に現在時刻がこの時刻を過ぎると、バッチ処理の管理者にバッチ処理の終了が遅れる蓋然性が高いことを警告する時刻であり、チェックポイントに後続する仮想的なジョブの仮想稼動時間に基づき設定される。実績通過時刻は、当日のバッチ処理の監視中に処理がチェックポイントを実際に通過した時刻である。本明細書では、チェックポイントIDをチェックポイントを示す符号として採用する。
FIG. 10 is a data structure diagram illustrating an example of the checkpoint
追加チェックポイント情報保持部322は、クリティカルパスから分岐する分岐パス、例えば第1準クリティカルパスや第2準クリティカルパス上に設けられた追加チェックポイントに関する情報を保持し、チェックポイント情報保持部314と同様のデータ構造を有する。
The additional checkpoint
以下、図11から図14を参照して各部の機能を説明する。
(予想クリティカルパスのチェックポイントに基づく当日実績情報比較検出(当日リアル稼動))
図11は、夜間バッチ処理で処理される14のジョブA〜J、W〜Zおよび仮想的なジョブIJ1、IJ2を時系列で示す模式図である。図11は図7に対応する。パス開始ジョブはジョブA、パス終了ジョブはジョブIである。クリティカルパスは、ジョブA−ジョブB−ジョブD−第1仮想ジョブIJ1−ジョブF−ジョブG−ジョブIである。第1準クリティカルパスは、ジョブA−ジョブC−ジョブE−第2仮想ジョブIJ2−ジョブF−ジョブG−ジョブIである。
Hereinafter, the function of each unit will be described with reference to FIGS.
(Same-day actual information comparison detection based on expected critical path checkpoints (real operation on the day))
FIG. 11 is a schematic diagram showing 14 jobs A to J and W to Z and virtual jobs IJ1 and IJ2 processed in the nighttime batch process in time series. FIG. 11 corresponds to FIG. The path start job is job A, and the path end job is job I. The critical paths are job A-job B-job D-first virtual job IJ1-job F-job G-job I. The first semi-critical path is job A-job C-job E-second virtual job IJ2-job F-job G-job I.
管理者は、夜間バッチ処理を始める前に、チェックポイントを配置すべきクリティカルパス上の位置であるチェックポイント位置を決定する。チェックポイント位置の決定の基準は以下の2つの基準を含む。
(1)クリティカルパスに含まれる仮想的なジョブ(図11の場合、第1仮想ジョブIJ1)に先行する少なくともひとつの位置(以下、仮想先行位置と称す)を含める。
(2)仮想先行位置に後続する位置であってクリティカルパスと第1準クリティカルパスとが分岐する位置(以下、クリティカル分岐位置と称す)を含める。
The administrator determines a checkpoint position, which is a position on the critical path where the checkpoint is to be placed, before starting nighttime batch processing. The criteria for determining the checkpoint position include the following two criteria.
(1) Include at least one position preceding the virtual job (first virtual job IJ1 in the case of FIG. 11) included in the critical path (hereinafter referred to as a virtual leading position).
(2) A position following the virtual preceding position and including a position where the critical path and the first semi-critical path branch (hereinafter referred to as a critical branch position) is included.
チェックポイント設定部302は、入力装置324を介して管理者から、決定されたチェックポイント位置の情報を取得し、取得されたチェックポイント位置にチェックポイントを設定する。この際、チェックポイント設定部302は、上記2つの決定の基準が満たされるよう管理者の入力動作を制御する。例えば、チェックポイント設定部302は、管理者によって入力されたチェックポイント位置が上記2つの決定の基準を満たさない場合、管理者に警告してもよい。
The check
チェックポイント設定部302は、取得されたチェックポイント位置の情報に基づき、チェックポイントの関連ジョブおよび通過の契機を決定する。例えば、取得されたチェックポイント位置の情報が「ジョブDの起動位置」である場合、チェックポイント設定部302は関連ジョブIDを「D」、通過の契機を「起動」に、それぞれ決定する。
The
チェックポイント設定部302は、チェックポイントIDを採番し、採番されたチェックポイントIDと、決定された関連ジョブIDと、決定された通過の契機と、を対応付けてチェックポイント情報保持部314に登録する。図11の例ではチェックポイント設定部302によって、ジョブDの起動位置に第1チェックポイントCP1、ジョブFの起動位置に第2チェックポイントCP2、ジョブIの起動位置に第3チェックポイントCP3がそれぞれ設定される。第1チェックポイントCP1はクリティカルパスに含まれる第1仮想ジョブIJ1に先行する位置に設けられる。第2チェックポイントCP2は第1チェックポイントCP1に後続し、クリティカルパスと第1準クリティカルパスとが分岐する位置に設けられる。
The
標準通過時刻決定部328は、チェックポイント設定部302によって設定されたチェックポイントの通過の基準となる基準時刻すなわち標準通過時刻を設定する。標準通過時刻決定部328は、チェックポイント情報保持部314およびパス情報保持部316を参照し、チェックポイント設定部302によって設定されたチェックポイントの関連ジョブと通過の契機との組み合わせに対応する標準通過時刻を決定する。例えば、通過の契機が「起動」(「終了」)である場合、標準通過時刻決定部328は関連ジョブの起動予定時刻(終了予定時刻)を標準通過時刻として決定する。標準通過時刻決定部328は、決定された標準通過時刻をチェックポイント情報保持部314に登録する。
The standard passage
ワーニング経過時刻決定部330は、チェックポイント設定部302によって設定されたチェックポイントに対応するワーニング経過時刻を算出する。ワーニング経過時刻決定部330は、パス情報保持部316を参照し、クリティカルパス上でチェックポイント設定部302によって設定されたチェックポイントの後続となる全ての仮想的なジョブの仮想稼動時間の和であるトータルフロートを算出する。ワーニング経過時刻決定部330は、算出されたトータルフロートに1より小さい所定の比率、例えば0.5を乗じることにより得られる時間を標準通過時刻に加える。ワーニング経過時刻決定部330は、そのような加算の結果得られる時刻に所定のマージン、例えば1分を加えた時刻をワーニング経過時刻として決定する。マージンは、後続となる仮想的なジョブが存在しない場合に、標準通過時刻とワーニング経過時刻とが同一とならないようにするために設定される。ワーニング経過時刻決定部330は、決定されたワーニング経過時刻をチェックポイント情報保持部314に登録する。
The warning elapsed
図11の例では、ワーニング経過時刻決定部330は第1チェックポイントCP1に対して、それに後続する仮想的なジョブとして第1仮想ジョブIJ1を抽出する。ワーニング経過時刻決定部330は第1仮想ジョブIJ1の仮想稼動時間である60分を第1チェックポイントCP1についてのトータルフロートとして決定する。ワーニング経過時刻決定部330はトータルフロート60分に0.5を乗じて30分を得る。そしてワーニング経過時刻決定部330は第1チェックポイントCP1の標準通過時刻である21:30に30分を加算して22:00を得、それにマージン1分をさらに加算してワーニング経過時刻22:01を得る。
In the example of FIG. 11, the warning elapsed
クリティカル経過時刻決定部332は、チェックポイント設定部302によって設定されたチェックポイントに対応するクリティカル経過時刻を算出する。クリティカル経過時刻決定部332は、パス情報保持部316を参照し、チェックポイント設定部302によって設定されたチェックポイントについてのトータルフロートを算出する。クリティカル経過時刻決定部332は、算出されたトータルフロートを標準通過時刻に加える。クリティカル経過時刻決定部332は、そのような加算の結果得られる時刻に所定のマージン、例えば1分を加えた時刻をクリティカル経過時刻として決定する。マージンは、後続となる仮想的なジョブが存在しない場合に、標準通過時刻とクリティカル経過時刻とが同一とならないようにするために設定される。クリティカル経過時刻決定部332は、決定されたクリティカル経過時刻をチェックポイント情報保持部314に登録する。
The critical elapsed
図11の例では、クリティカル経過時刻決定部332は第1チェックポイントCP1に対して、それに後続する仮想的なジョブとして第1仮想ジョブIJ1を抽出する。クリティカル経過時刻決定部332は第1仮想ジョブIJ1の仮想稼動時間である60分を第1チェックポイントCP1についてのトータルフロートとして決定する。クリティカル経過時刻決定部332は仮想稼動時間の和60分を第1チェックポイントCP1の標準通過時刻である21:30に加算して22:30を得、それにマージン1分をさらに加算してクリティカル経過時刻22:31を得る。
In the example of FIG. 11, the critical elapsed
チェックポイント情報保持部314にチェックポイントに関する情報を登録した後、管理者はバッチ処理監視装置300を使用してバッチ処理の監視を開始する。
図12は、夜間バッチ処理で処理される14のジョブA〜J、W〜Zおよび仮想的なジョブIJ1、IJ2の処理状態を示す模式図である。図12は図11に対応する。図12において現在時刻までに進行した処理には斜線によるハッチングを施している。
After registering information on checkpoints in the checkpoint
FIG. 12 is a schematic diagram showing processing states of 14 jobs A to J and W to Z and virtual jobs IJ1 and IJ2 processed in the nighttime batch processing. FIG. 12 corresponds to FIG. In FIG. 12, the processing that has progressed up to the present time is hatched with diagonal lines.
終了遅延判定部306は、チェックポイント情報保持部314に登録されている各チェックポイントにおいて処理の遅れを監視する。終了遅延判定部306は、第1チェックポイントCP1において、処理が第1チェックポイントCP1を通過する前に、現在時刻と標準通過時刻とトータルフロートとに基づいて、パス終了ジョブの終了が遅れるか否かすなわち夜間バッチ処理の終了が遅れるか否かを判定する。特に終了遅延判定部306は、現在時刻から標準通過時刻を減じることで得られる差である経過時間がトータルフロートよりも大きい場合、夜間バッチ処理の終了が遅れると判定する。
The end
終了遅延判定部306は、第1チェックポイントCP1において、現在時刻とワーニング経過時刻とを比較し、前者が後者を超えるとディスプレイ326にワーニング画面(図15で後述)を表示させるなどして管理者に警告する。
The end
終了遅延判定部306は、第1チェックポイントCP1において、現在時刻とクリティカル経過時刻とを比較し、前者が後者を超えると夜間バッチ処理の終了が遅れると判定し、ディスプレイ326にサービス遅延警告画面(図16で後述)を表示させるなどして管理者に警告する。なお、
クリティカル経過時刻 = 標準通過時刻 + トータルフロート + マージン
であるから、
現在時刻 > クリティカル経過時刻
である場合、
経過時間 = 現在時刻 − 標準通過時刻 > トータルフロート + マージン
となる。
The end
Since critical elapsed time = standard transit time + total float + margin,
If current time> critical elapsed time,
Elapsed time = current time-standard transit time> total float + margin.
現在時刻とクリティカル経過時刻との比較の代わりに経過時間とトータルフロートとの比較の観点から説明すると、終了遅延判定部306は、第1チェックポイントCP1において、標準通過時刻からの超過分である経過時間ΔT1を第1仮想ジョブIJ1の仮想稼動時間の部分ΔT2で相殺しようと試みる。終了遅延判定部306は、経過時間ΔT1が第1仮想ジョブIJ1の仮想稼動時間を超過していなければ、夜間バッチ処理の終了予定時刻に変化はないと判定する。終了遅延判定部306は、経過時間ΔT1が第1仮想ジョブIJ1の仮想稼動時間を超過した場合、夜間バッチ処理の終了が遅れると判定する。これはすなわち純粋なクリティカルパスが発生していることを意味する。
In terms of the comparison between the elapsed time and the total float instead of the comparison between the current time and the critical elapsed time, the end
遅延算出部310は、終了遅延判定部306において夜間バッチ処理の終了が遅れると判定された場合、経過時間とトータルフロートとの差に基づいて夜間バッチ処理の終了の遅延の度合いを算出する。特に遅延算出部310は現在時刻とクリティカル経過時刻との差を遅延量として算出し、算出された遅延量をサービス遅延警告画面に含める。
When the end
より具体的には、遅延算出部310は、経過時間ΔT1と第1仮想ジョブIJ1の仮想稼動時間との差を、夜間バッチ処理の終了の遅延分として計上する。あるいはまた遅延算出部310は、夜間バッチ処理の終了予定時刻にその差を加算して新たな終了予定時刻を得てもよい。
More specifically, the
通過登録部304は、処理が第1チェックポイントCP1を通過すると、その実績通過時刻をチェックポイント情報保持部314に登録する。通過登録部304は、処理が第1チェックポイントCP1を通過すると、その実績通過時刻に第1チェックポイントCP1以降のジョブの稼動時間の総和を加算し、夜間バッチ処理の終了時刻を予想してもよい。この場合、チェックポイントが進むほど、実績確定部分が増えるため変動要因が減り、終了時刻予想の精度は高まる。
When the process passes the first checkpoint CP1, the
(準クリティカルパスからの予測補正及び、各チェックポイントの先行処理チェック機能)
パス情報保持部316に保持されている事前分析により得られたクリティカルパスは実績から導きだしたものであり、当日はこれから稼動予定となるため、それ以外のパスがクリティカルパスとなる可能性がある。事前分析により得られたクリティカルパス(すなわちメインでマークしているパス)でない、別のパスが当日のクリティカルパスとなった場合、メインでマークしているパスのチェックポイントのどこかで検知可能である。
(Prediction correction from quasi-critical path and advance processing check function for each checkpoint)
The critical path obtained by the preliminary analysis held in the path
これに対応して、バッチ処理監視装置300は上記チェック機能に加えて、以下に説明される、クリティカルパスから分岐する分岐パスからの寄与を考慮した予測補正機能を有する。
Correspondingly, in addition to the above check function, the batch
図13は、夜間バッチ処理で処理される14のジョブA〜J、W〜Zおよび仮想的なジョブIJ1、IJ2の処理状態を示す模式図である。図13は図11に対応する。図13において現在時刻までに進行した処理には斜線によるハッチングを施している。 FIG. 13 is a schematic diagram showing processing states of 14 jobs A to J and W to Z and virtual jobs IJ1 and IJ2 processed in the nighttime batch processing. FIG. 13 corresponds to FIG. In FIG. 13, the processing that has progressed up to the current time is hatched with diagonal lines.
終了遅延判定部306は、第2チェックポイントCP2において、処理が第2チェックポイントCP2を通過する前に、現在時刻と標準通過時刻との比較に基づいて、夜間バッチ処理の終了が遅れるか否かを判定する。
The end
終了遅延判定部306のクリティカルパス状態判定部334は、第2チェックポイントCP2において、処理が第2チェックポイントCP2を通過する前に、現在時刻が標準通過時刻を超えた場合かつ処理が第1チェックポイントCP1を通過した場合、クリティカルパス上で第2チェックポイントCP2に先行するジョブDが終了しているか否かを判定する。ここでクリティカルパス状態判定部334は、クリティカルパス上で第2チェックポイントCP2に先行するジョブを探索する際、仮想的なジョブ(第1仮想ジョブIJ1)は無視する。
The critical path
より具体的には、クリティカルパス状態判定部334は、現在時刻と標準通過時刻とを比較する。クリティカルパス状態判定部334は、前者が後者を超えると、チェックポイント情報保持部314を参照して処理が第1チェックポイントCP1を通過しているか否かすなわち第1チェックポイントCP1に対応する実績通過時刻が登録されているか否かを判定する。処理が第1チェックポイントCP1を通過していないと判定された場合、クリティカルパス状態判定部334はその旨を管理者に通知した上で処理が第1チェックポイントCP1を通過するまで待機してもよい。処理が第1チェックポイントCP1を通過したと判定された場合、クリティカルパス状態判定部334はジョブDの処理状態を参照する。ジョブDが終了していない場合のクリティカルパス状態判定部334の処理は終了遅延判定部306の第1チェックポイントCP1における処理に準じる。
More specifically, the critical path
クリティカルパス状態判定部334においてジョブDが終了していると判定された場合、終了遅延判定部306の準クリティカルパス状態判定部336は、第1準クリティカルパス上で第2チェックポイントCP2に先行するジョブEが終了しているか否かを判定する。ここで準クリティカルパス状態判定部336は、第1準クリティカルパス上で第2チェックポイントCP2に先行するジョブを探索する際、仮想的なジョブ(第2仮想ジョブIJ2)は無視する。
When the critical path
準クリティカルパス状態判定部336は、ジョブEが終了していると判定された場合、その旨を管理者に通知してもよいし、第2チェックポイントCP2が第2準クリティカルパスとの分岐部分でもある場合は第2準クリティカルパス上で第2チェックポイントCP2に先行するジョブの状態を参照してもよい。
When it is determined that the job E has been completed, the semi-critical path
準クリティカルパス状態判定部336は、ジョブEが終了していないと判定された場合、ジョブEの遅延の度合いに基づいて、夜間バッチ処理の終了が遅れるか否かを判定する。準クリティカルパス状態判定部336は、ジョブEの実行状況を解析することにより得られるジョブEの更新された終了予定時刻が第2チェックポイントCP2のクリティカル経過時刻を超えると夜間バッチ処理の終了が遅れると判定し、管理者に警告する。
If it is determined that the job E has not ended, the semi-critical path
遅延算出部310は、準クリティカルパス状態判定部336において夜間バッチ処理の終了が遅れると判定された場合、ジョブEの遅延の度合いに基づいて夜間バッチ処理の終了の遅延の度合いを算出する。
When the semi-critical path
通過登録部304は、処理が第2チェックポイントCP2を通過すると、その実績通過時刻をチェックポイント情報保持部314に登録する。通過登録部304は、処理が第2チェックポイントCP2を通過すると、その実績通過時刻に第2チェックポイントCP2以降のジョブの稼動時間の総和を加算し、夜間バッチ処理の終了時刻を予想してもよい。
When the process passes the second checkpoint CP2, the
第2チェックポイントCP2に先行する第1チェックポイントCP1を問題なく通過しているにもかかわらず処理が第2チェックポイントCP2を通過しない原因には以下の2つが考えられる。
原因1:処理Dの遅延。この場合、第1チェックポイントCP1における遅延予測に準じた手法で夜間バッチ処理の遅延を予測すればよい。
原因2:クリティカルパスとして特定していなかったパスが当日のクリティカルパスとなった。この場合、クリティカルパスとは別の、第2チェックポイントCP2に至るパスで遅延が発生している。したがって、遅延算出部310は、ジョブEの完了見込み時刻に第2チェックポイントCP2以降の所要見込み時間を加算することで、夜間バッチ処理の終了予定時刻を予測する。この場合、クリティカルパスの再分析や再計算を行うことなく夜間バッチ処理の終了の遅れを予測できる。
There are two possible reasons why the process does not pass through the second check point CP2 even though the first check point CP1 preceding the second check point CP2 has passed without any problem.
Cause 1: Processing D is delayed. In this case, the night batch processing delay may be predicted by a method according to the delay prediction at the first check point CP1.
Cause 2: A path that was not identified as a critical path became a critical path for the day. In this case, a delay occurs in a path that is different from the critical path and reaches the second check point CP2. Therefore, the
図13に示される状況では、ジョブCの処理が大幅に遅延し、いわゆる玉突きによりジョブEがおしているすなわち遅延している(符号350)。準クリティカルパス状態判定部336は、ジョブEの完了見込み時刻が第2チェックポイントCP2のクリティカル経過時刻を超えているので、夜間バッチ処理の終了が遅れると判定する。
In the situation shown in FIG. 13, the processing of job C is greatly delayed, so that job E is delayed by so-called ball hitting (reference numeral 350). The semi-critical path
なお、微妙な処理時間差において、事前分析では第1準クリティカルパスや第2準クリティカルパスであったパスが当日のクリティカルパスとなる場合がある。したがって、チェックポイント設定部302はクリティカルパスと第2準クリティカルパスとの分岐部分にチェックポイントを設定し、終了遅延判定部306は、第2準クリティカルパスについても上記と同様にして夜間バッチ処理の終了が遅れるか否かを判定してもよい。
Note that in a subtle processing time difference, the path that was the first quasi-critical path or the second quasi-critical path in the prior analysis may become the critical path of the day. Therefore, the
また、終了遅延判定部306は、クリティカルパス、第1準クリティカルパスおよび第2準クリティカルパスのそれぞれについて夜間バッチ処理の終了予定時刻を算出し、それらの算出値を比較してもよい。この比較においていずれの結果も同じである場合は当日のクリティカルパスは事前分析により得られたクリティカルパスであり、第1または第2準クリティカルパスについて算出された終了予定時刻がクリティカルパスについて算出された終了予定時刻よりも遅い場合は当日のクリティカルパスは最も遅い終了予定時刻が算出されたパスとなる。
。
Further, the end
.
(クリティカルパス、準クリティカルパスからも外れた際の予防チェック)
主に基盤系障害が発生した際は、通常はクリティカルパスとならないパスが突発的にクリティカルパスへ躍り出ることがある(計算上、第1000番目の候補が、その日は障害により進行しないためクリティカルパスになる等)。このため、バッチ処理監視装置300では、クリティカルパスや準クリティカルパスのチェックポイントに対して追加チェックポイントを設けることにより、先行処理の進行チェックを実現している。
(Preventive check when a critical path or semi-critical path is deviated)
When a base failure occurs mainly, a path that does not normally become a critical path may suddenly jump to a critical path (calculation: the 1000th candidate is not a critical path because the day does not progress due to a fault) Etc.) For this reason, in the batch
なお、理論上は、この構造を全ての対象に対して実施するとクリティカルパスの再計算と同じとなってしまい、処理件数が爆発的に膨らみ「超高速で算出する」ことが非常に困難となる。したがって、バッチ処理監視装置300では、チェックポイントに対する先行チェックは、全てを遡るのではなく、先行するチェックポイントの標準通過時刻までとしている。
Theoretically, if this structure is applied to all targets, it becomes the same as the recalculation of the critical path, and the number of processing cases expands explosively, making it extremely difficult to "calculate at ultra high speed". . Therefore, in the batch
追加チェックポイントの設定基準は以下の通りである。
・基本的には既存のチェックポイントの直前のジョブに対して設定する。
・ただし、チェックポイントの標準通過時刻と追加チェックポイントの標準通過時刻との差が比較的小さい場合は、検知早期化の価値が比較的低くなるため、更にその前にも追加チェックポイントを設定する。
・先行するチェックポイントの標準通過時刻より遅いジョブに設定する。
The criteria for setting additional checkpoints are as follows.
・ Basically, it is set for the job immediately before the existing checkpoint.
・ However, if the difference between the standard passing time of the checkpoint and the standard passing time of the additional checkpoint is relatively small, the value of early detection is relatively low, so an additional checkpoint is set before that. .
-Set the job later than the standard passing time of the preceding checkpoint.
図14は、夜間バッチ処理で処理される14のジョブA〜J、W〜Zおよび仮想的なジョブIJ1、IJ2を時系列で示す模式図である。図14は図11に対応する。
追加チェックポイント設定部312は、第2チェックポイントCP2に対して、標準通過時刻が第1チェックポイントCP1の標準通過時刻と第2チェックポイントCP2の標準通過時刻との間となるように第1準クリティカルパス上に第2追加チェックポイントACP2を設定する。追加チェックポイント設定部312は、第1チェックポイントCP1および第3チェックポイントCP3に対しても同様に追加チェックポイントACP1、ACP3を設定する。なお、追加チェックポイント設定部312における設定処理がユーザの入力に基づくことは、チェックポイント設定部302と同様である。
FIG. 14 is a schematic diagram showing 14 jobs A to J, W to Z and virtual jobs IJ1 and IJ2 processed in the nighttime batch process in time series. FIG. 14 corresponds to FIG.
The additional
なお、図14の例では第3追加チェックポイントACP3の標準通過時刻は第3チェックポイントCP3の標準通過時刻とあまり変わらないため(符号352)、追加チェックポイントとしての有効性は比較的低い。すなわち、第3チェックポイントCP3において「第3追加チェックポイントACP3に至るパス(ジョブW、ジョブX、ジョブY、ジョブZのあたり)」の異常を検知しても遅すぎる。したがって、追加チェックポイント設定部312は、新たな第3追加チェックポイントACP3’を設定する。この新たな第3追加チェックポイントACP3’を設定する際の基準は、第2チェックポイントCP2により近いタイミングで新たな追加チェックポイントを設けることである。第2チェックポイントCP2自体が想定クリティカルパス上にあるため、これより前に追加チェックポイントを設けるのは非効率であり価値が低いからである。
In the example of FIG. 14, the standard passage time of the third additional checkpoint ACP3 is not much different from the standard passage time of the third checkpoint CP3 (reference numeral 352), so the effectiveness as an additional checkpoint is relatively low. That is, it is too late to detect an abnormality in the “path to the third additional checkpoint ACP3 (around job W, job X, job Y, job Z)” at the third checkpoint CP3. Therefore, the additional
終了遅延判定部306は、第2追加チェックポイントACP2において、処理が第2追加チェックポイントACP2を通過する前に、現在時刻と標準通過時刻との比較に基づいて、夜間バッチ処理の終了が遅れるか否かを判定する。終了遅延判定部306は、第1追加チェックポイントACP1、第3追加チェックポイントACP3、新たな第3追加チェックポイントACP3’においても同様に夜間バッチ処理が遅れるか否かを判定する。追加チェックポイントにおける夜間バッチ処理の終了判定はチェックポイントにおける夜間バッチ処理の終了判定に準じる。
The end
図15は、ワーニング画面402の代表画面図である。ワーニング画面402は、現在時刻がワーニング経過時刻を超えたチェックポイントの名前を含む。
図16は、サービス遅延警告画面404の代表画面図である。サービス遅延警告画面404は、現在時刻がクリティカル経過時刻を超えたチェックポイントの名前および遅延算出部310によって算出された遅延量406を含む。
FIG. 15 is a representative screen diagram of the
FIG. 16 is a representative screen diagram of the service
本実施の形態に係るバッチ処理分析監視システムに含まれるバッチジョブ分析装置100によると、バッチ処理で処理されるジョブのなかに起動時刻指定ジョブが含まれるという状況において、適切にクリティカルパスを導出することができる。
According to the batch
通常、バッチ処理で処理されるジョブのなかに起動時刻指定ジョブが含まれていると、起動時刻指定ジョブとそれに先行するジョブとの間にフロートが形成される。クリティカルパスはフロートがないパスとして定義されるのが一般的であるため、従来のクリティカルパス解析では、クリティカルパスの探索の途中で起動時刻指定ジョブが現れるとそこでクリティカルパスの探索が止まってしまう。 Normally, when a start time designation job is included in jobs processed in batch processing, a float is formed between the start time designation job and a job preceding it. Since the critical path is generally defined as a path having no float, in the conventional critical path analysis, when a start time designation job appears in the middle of searching for a critical path, the search for the critical path stops there.
そこで、本実施の形態に係るバッチ処理分析監視システムに含まれるバッチジョブ分析装置100によると、クリティカルパスの探索の途中で起動時刻指定ジョブが現れても、それに対して仮想的なジョブを設定することにより、クリティカルパスの探索を続行することができる。その結果、起動時刻指定ジョブを含むジョブネットワークを解析するために特殊で複雑なアルゴリズムを使用する必要はなく、起動時刻指定ジョブを含まないジョブネットワークを解析するときに使用されるアルゴリズムと同等のアルゴリズムを使用することができる。
Therefore, according to the batch
また、本実施の形態に係るバッチ処理分析監視システムに含まれるバッチジョブ分析装置100では、2以上の仮想的なジョブのうち仮想稼動時間がより小さい仮想的なジョブを含むパスが優先的にクリティカルパスとして特定される。したがって、よりフロートの短いすなわち余裕の少ないパスがクリティカルパスとして特定される。その結果、そのように特定されたクリティカルパスを使用することで、より精度の高いまたは安全サイドに立ったバッチ処理の進行監視などが可能となる。
Also, in the batch
本実施の形態に係るバッチ処理分析監視システムに含まれるバッチ処理監視装置300では、クリティカルパスに仮想的なジョブが含まれているという状況において、その仮想的なジョブに先行する位置にチェックポイントを設け、そのチェックポイントにおける遅延判定に仮想的なジョブの仮想稼動時間を組み入れている。したがって、クリティカルパスに仮想的なジョブが含まれているすなわちクリティカルパスがフロートを含むという状況において適切にバッチ処理を監視することができる。
In the batch
また、各チェックポイントにおいて、現在時刻とクリティカル経過時刻との比較または経過時間とトータルフロートとの比較という比較的単純な演算によりバッチ処理の終了が遅れるか否かが判定される。また、遅れると判定された場合は、現在時刻とクリティカル経過時刻との差または経過時間とフロートとの差によりどの程度遅延するかが求められる。このように、本実施の形態では、比較的単純な計算により遅延予測が可能となるので、例えばクリティカルパスの再計算に頼る手法と比較してより計算処理数を低減してより高速な遅延予測が可能となる。 Further, at each check point, it is determined whether or not the end of the batch processing is delayed by a comparatively simple operation of comparing the current time with the critical elapsed time or comparing the elapsed time with the total float. If it is determined to be delayed, the degree of delay is determined by the difference between the current time and the critical elapsed time or the difference between the elapsed time and the float. As described above, in this embodiment, delay prediction can be performed by relatively simple calculation. Therefore, for example, compared with a method that relies on recalculation of a critical path, the number of calculation processes is further reduced and faster delay prediction is performed. Is possible.
また、本実施の形態に係るバッチ処理分析監視システムに含まれるバッチ処理監視装置300では、クリティカルパスと第1準クリティカルパスとが分岐する位置に第2チェックポイントCP2が設けられる。したがって、当日のクリティカルパスが事前分析により得られたクリティカルパス(ジョブA−ジョブB−ジョブD−第1仮想ジョブIJ1−ジョブF−ジョブG−ジョブI)から第1準クリティカルパス(ジョブA−ジョブC−ジョブE−第2仮想ジョブIJ2−ジョブF−ジョブG−ジョブI)へ変わったとしてもそれを素早く正確に検知することが可能となる。また、この場合、第1準クリティカルパス上のジョブの遅延の度合いに基づいてバッチ処理の終了が遅れるか否かが判定される。したがって、当日のクリティカルパスが変動しても、クリティカルパスを再計算することなくより高速な遅延予測が可能となる。
Further, in the batch
例えば図13に示される第1準クリティカルパス(ジョブA−ジョブC−ジョブE−第2仮想ジョブIJ2−ジョブF−ジョブG−ジョブI)は、当日は結果的にクリティカルパスとなったが、事前にはクリティカルパスとして特定されていないパスである。実際のバッチ処理は動的に進行するため、クリティカルパスは生来的に結果情報である。従来では、クリティカルパスが想定されていたものから変動したことが確定した場合にクリティカルパスを再計算することが多い。しかしながら、これでは計算に時間がかかる。そこで、本実施の形態に係るバッチ処理監視装置300では、クリティカルパスが実際どのようなパスであったかについては事後分析に任せ、バッチ処理の進行中は「何時にバッチ処理が終了するか」すなわち「何時にバッチ処理の結果に基づくサービスが起動するか」をより素早く算出する。
For example, the first semi-critical path (job A-job C-job E-second virtual job IJ2-job F-job G-job I) shown in FIG. The path is not specified as a critical path in advance. Since the actual batch processing proceeds dynamically, the critical path is inherently result information. Conventionally, the critical path is often recalculated when it is determined that the critical path has changed from what was assumed. However, this takes time to calculate. Therefore, in the batch
また、本実施の形態に係るバッチ処理分析監視システムに含まれるバッチ処理監視装置300では、事前分析により得られたクリティカルパス上に設けられたチェックポイントに繋がる先行処理に対して追加チェックポイントが設けられる。これにより、クリティカルパスが想定から変動する可能性を早期に検知できる。さらに、追加チェックポイントで異常が検知された場合には、当該処理の終了見込み情報(どれくらい遅れて終了しそうか)を元に、想定クリティカルパスからの変動予測に加えて、バッチ処理の終了時刻も予測することができる。そして、追加チェックポイントによる補強を行ったとしても、クリティカルパスの再計算は実施しないため、計算処理のボリュームは比較的小さい。その結果、より高速にバッチ処理の終了時刻を予測できる。
In addition, in the batch
以上、実施の形態に係るバッチ処理分析監視システムの構成と動作について説明した。この実施の形態は例示であり、その各構成要素や各処理の組み合わせにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。 The configuration and operation of the batch processing analysis monitoring system according to the embodiment have been described above. This embodiment is an exemplification, and it is understood by those skilled in the art that various modifications can be made to each component and combination of processes, and such modifications are within the scope of the present invention.
実施の形態では、クリティカルパス特定部110はパス終了ジョブから遡ることによりクリティカルパスを特定する場合について説明したが、これに限られない。例えば、仮想ジョブ設定部はパス開始ジョブとパス終了ジョブとの間の全ての起動時刻指定ジョブについて仮想的なジョブを設定してもよい。クリティカルパス特定部は、パス開始ジョブとパス終了ジョブとの間の可能なパスを全て決定してもよい。クリティカルパス特定部は、決定されたパスのなかに仮想的なジョブを含まないパスがあればそれをクリティカルパスとして特定してもよい。また、クリティカルパス特定部は、そのようなパスがなければ、含んでいる仮想的なジョブの仮想稼動時間の総和が最も小さいパスをクリティカルパスとして特定してもよい。すなわち、クリティカルパス特定部110が仮想的なジョブを使用してクリティカルパスを特定した結果、そのように特定されたクリティカルパスは仮想的なジョブを含まない場合がある。
In the embodiment, the case where the critical
実施の形態では、チェックポイント設定部302はクリティカルパス上に3つのチェックポイントを設定する場合について説明したが、これに限られず、チェックポイントの数に制限はない。一例では数十から数百のチェックポイントが設定されてもよい。
In the embodiment, a case has been described in which the
100 バッチジョブ分析装置、 102 指定受付部、 106 時刻決定部、 108 仮想ジョブ設定部、 110 クリティカルパス特定部、 114 実績情報保持部、 116 指定時刻情報保持部、 200 証券業務システム、 300 バッチ処理監視装置、 302 チェックポイント設定部、 306 終了遅延判定部、 310 遅延算出部、 312 追加チェックポイント設定部。
DESCRIPTION OF
Claims (21)
起動されるべき起動予定時刻が予め指定されている起動時刻指定ジョブについて、その予め指定された起動予定時刻を保持する指定時刻情報保持部と、
複数のジョブのなかから選択されたパス開始ジョブおよびパス終了ジョブの指定を受け付ける指定受付部と、
パス開始ジョブとパス終了ジョブとの間に少なくともひとつの起動時刻指定ジョブが含まれるとき、前記実績情報保持部によって保持される実績および前記指定時刻情報保持部によって保持される起動予定時刻に基づいて、パス開始ジョブとパス終了ジョブとの間のジョブの起動予定時刻および終了予定時刻を決定する時刻決定部と、
前記時刻決定部によって決定された起動予定時刻および終了予定時刻に基づいて、起動時刻指定ジョブと起動時刻指定ジョブに他のジョブを介さずに先行するジョブとの間に仮想的なジョブを設定する仮想ジョブ設定部と、
前記仮想ジョブ設定部によって設定された仮想的なジョブを使用して、パス開始ジョブとパス終了ジョブとの間のクリティカルパスを特定するクリティカルパス特定部と、を備えることを特徴とするバッチジョブ分析装置。 A track record information holding unit that holds track records of the operation time of multiple jobs in which the preceding / following relationship to be processed in batch processing is defined;
A designated time information holding unit for holding a predetermined startup scheduled time for a startup time designation job in which a scheduled startup time to be started is specified in advance;
A designation receiving unit for accepting designation of a path start job and a path end job selected from a plurality of jobs;
When at least one start time designation job is included between the pass start job and the pass end job, based on the record held by the record information holding unit and the scheduled start time held by the specified time information holding unit A time determination unit for determining a scheduled start time and a scheduled end time of a job between the path start job and the path end job;
Based on the scheduled start time and the scheduled end time determined by the time determination unit, a virtual job is set between the start time specified job and the job preceding the start time specified job without passing through another job. A virtual job setting section;
A batch job analysis comprising: a critical path identifying unit that identifies a critical path between a path start job and a path end job using a virtual job set by the virtual job setting unit apparatus.
起動されるべき起動予定時刻が予め指定されている起動時刻指定ジョブについて、その予め指定された起動予定時刻を指定時刻情報保持部に保持させるステップと、
複数のジョブのなかから選択されたパス開始ジョブおよびパス終了ジョブの指定を受け付けるステップと、
パス開始ジョブとパス終了ジョブとの間に少なくともひとつの起動時刻指定ジョブが含まれるとき、前記実績情報保持部によって保持される実績および前記指定時刻情報保持部によって保持される起動予定時刻に基づいて、パス開始ジョブとパス終了ジョブとの間のジョブの起動予定時刻および終了予定時刻を決定するステップと、
決定された起動予定時刻および終了予定時刻に基づいて、起動時刻指定ジョブと起動時刻指定ジョブに他のジョブを介さずに先行するジョブとの間に仮想的なジョブを設定するステップと、
設定された仮想的なジョブを使用して、パス開始ジョブとパス終了ジョブとの間のクリティカルパスを特定するステップと、を含むことを特徴とするバッチジョブ分析方法。 A step of holding the results of the operation time of a plurality of jobs in which the preceding / following relationship processed in batch processing is defined in the result information holding unit;
For a startup time designation job in which a scheduled startup time to be started is specified in advance, the step of holding the predetermined startup scheduled time in a specified time information holding unit;
Receiving a designation of a path start job and a path end job selected from a plurality of jobs;
When at least one start time designation job is included between the pass start job and the pass end job, based on the record held by the record information holding unit and the scheduled start time held by the specified time information holding unit Determining a scheduled start time and a scheduled end time of a job between the path start job and the path end job;
A step of setting a virtual job between a startup time designation job and a job preceding the startup time designation job without passing through another job based on the determined scheduled startup time and scheduled termination time;
Identifying a critical path between a path start job and a path end job using a set virtual job, and a batch job analysis method comprising:
起動されるべき起動予定時刻が予め指定されている起動時刻指定ジョブについて、その予め指定された起動予定時刻を指定時刻情報保持部に保持させる機能と、
複数のジョブのなかから選択されたパス開始ジョブおよびパス終了ジョブの指定を受け付ける機能と、
パス開始ジョブとパス終了ジョブとの間に少なくともひとつの起動時刻指定ジョブが含まれるとき、前記実績情報保持部によって保持される実績および前記指定時刻情報保持部によって保持される起動予定時刻に基づいて、パス開始ジョブとパス終了ジョブとの間のジョブの起動予定時刻および終了予定時刻を決定する機能と、
決定された起動予定時刻および終了予定時刻に基づいて、起動時刻指定ジョブと起動時刻指定ジョブに他のジョブを介さずに先行するジョブとの間に仮想的なジョブを設定する機能と、
設定された仮想的なジョブを使用して、パス開始ジョブとパス終了ジョブとの間のクリティカルパスを特定する機能と、をコンピュータに実現させることを特徴とするコンピュータプログラム。 A function for holding the results of the operation time of a plurality of jobs in which the preceding / following relationship processed in batch processing is defined in the result information holding unit;
A function for causing the designated time information holding unit to hold the scheduled startup time for a startup time designation job in which the scheduled startup time to be started is specified in advance;
A function for accepting designation of a path start job and a path end job selected from a plurality of jobs;
When at least one start time designation job is included between the pass start job and the pass end job, based on the record held by the record information holding unit and the scheduled start time held by the specified time information holding unit A function for determining a scheduled start time and a scheduled end time of a job between a path start job and a path end job;
A function for setting a virtual job between a startup time designation job and a job preceding the startup time designation job without passing through another job based on the determined scheduled startup time and scheduled termination time;
A computer program for causing a computer to realize a function of specifying a critical path between a path start job and a path end job using a set virtual job.
クリティカルパス上で仮想的なジョブに先行する位置にチェックポイントを設定するチェックポイント設定部と、
前記チェックポイント設定部によって設定されたチェックポイント通過の基準となる基準時刻を設定する基準時刻設定部と、
前記チェックポイント設定部によって設定されたチェックポイントにおいて、処理がそのチェックポイントを通過する前に、現在時刻と前記基準時刻設定部によって設定された基準時刻と仮想的なジョブの終了予定時刻と起動予定時刻との差とに基づいて、パス終了ジョブの終了が遅れるか否かを判定する終了遅延判定部と、を備えることを特徴とするバッチ処理監視装置。 Of the multiple jobs that have been defined in the batch process and that have a predecessor-success relationship defined, the startup time specification job for which the scheduled startup time to be started is specified in advance, and the startup time specification job and the startup time specification job A virtual job is set between the preceding jobs without passing through the job, and the critical path between the path start job and the path end job selected from the plurality of jobs includes the virtual job. A batch processing monitoring device that monitors batch processing using the critical path,
A checkpoint setting unit for setting a checkpoint at a position preceding a virtual job on the critical path;
A reference time setting unit for setting a reference time as a reference for passing the checkpoint set by the checkpoint setting unit;
At the checkpoint set by the checkpoint setting unit, before the process passes the checkpoint, the current time, the reference time set by the reference time setting unit, the estimated end time of the virtual job, and the start schedule A batch processing monitoring apparatus comprising: an end delay determining unit that determines whether or not the end of a path end job is delayed based on a difference from time.
クリティカルパス上で仮想的なジョブに先行する位置にチェックポイントを設定するステップと、
設定されたチェックポイント通過の基準となる基準時刻を設定するステップと、
設定されたチェックポイントにおいて、処理がそのチェックポイントを通過する前に、現在時刻と設定された基準時刻と仮想的なジョブの終了予定時刻と起動予定時刻との差とに基づいて、パス終了ジョブの終了が遅れるか否かを判定するステップと、を含むことを特徴とするバッチ処理監視方法。 Of the multiple jobs that have been defined in the batch process and that have a predecessor-success relationship defined, the startup time specification job for which the scheduled startup time to be started is specified in advance, and the startup time specification job and the startup time specification job A virtual job is set between the preceding jobs without passing through the job, and the critical path between the path start job and the path end job selected from the plurality of jobs includes the virtual job. A batch processing monitoring method that uses the critical path to monitor batch processing,
Setting a checkpoint at a position preceding the virtual job on the critical path;
Setting a reference time as a reference for passing the set checkpoint;
At the set checkpoint, before the process passes through the checkpoint, the pass end job is determined based on the difference between the current time, the set reference time, and the estimated end time of the virtual job and the expected start time. And a step of determining whether or not the end of the process is delayed.
クリティカルパス上で仮想的なジョブに先行する位置にチェックポイントを設定する機能と、
設定されたチェックポイント通過の基準となる基準時刻を設定する機能と、
設定されたチェックポイントにおいて、処理がそのチェックポイントを通過する前に、現在時刻と設定された基準時刻と仮想的なジョブの終了予定時刻と起動予定時刻との差とに基づいて、パス終了ジョブの終了が遅れるか否かを判定する機能と、を前記コンピュータに実現させることを特徴とするコンピュータプログラム。 Of the multiple jobs that have been defined in the batch process and that have a predecessor-success relationship defined, the startup time specification job for which the scheduled startup time to be started is specified in advance, and the startup time specification job and the startup time specification job A virtual job is set between the preceding jobs without passing through the job, and the critical path between the path start job and the path end job selected from the plurality of jobs includes the virtual job. A computer program that causes a computer to implement a function for monitoring batch processing using the critical path,
A function to set a checkpoint at a position preceding a virtual job on the critical path;
A function for setting a reference time that is a reference for passing the set checkpoint;
At the set checkpoint, before the process passes through the checkpoint, the pass end job is determined based on the difference between the current time, the set reference time, and the estimated end time of the virtual job and the expected start time. A computer program for causing the computer to realize a function of determining whether or not the end of the process is delayed.
第1チェックポイントおよび第2チェックポイントのそれぞれにおいてバッチ処理の終了が遅れるか否かを判定する終了遅延判定部と、を備え、
前記終了遅延判定部は、
第2チェックポイントにおいて、処理がその第2チェックポイントを通過する前に、現在時刻が第2チェックポイント通過の基準となる基準時刻を超えた場合かつ処理が第1チェックポイントを通過した場合、クリティカルパス上で第2チェックポイントに先行するジョブが終了しているか否かを判定する第1状態判定部と、
前記第1状態判定部において終了していると判定された場合、準クリティカルパス上で第2チェックポイントに先行するジョブが終了しているか否かを判定する第2状態判定部と、を含み、
前記終了遅延判定部は、前記第2状態判定部において終了していないと判定された場合、準クリティカルパス上で第2チェックポイントに先行するジョブの遅延の度合いに基づいて、バッチ処理の終了が遅れるか否かを判定することを特徴とするバッチ処理監視装置。 A first checkpoint is set on a critical path defined for a plurality of jobs for which a preceding / following relationship is defined that is processed in batch processing, and a position that follows the first checkpoint is a critical path A checkpoint setting unit that sets a second checkpoint at a position where the semi-critical path branches;
An end delay determination unit that determines whether the end of batch processing is delayed at each of the first check point and the second check point;
The end delay determination unit
Critical at the second checkpoint if the current time exceeds a reference time that is a reference for passing the second checkpoint and the process passes the first checkpoint before the process passes the second checkpoint. A first state determination unit that determines whether or not the job preceding the second checkpoint on the path has ended;
A second state determination unit that determines whether or not the job preceding the second checkpoint on the semi-critical path has ended when it is determined that the first state determination unit has ended;
If the end delay determination unit determines that the second state determination unit has not ended, the end delay determination unit determines that the end of the batch processing is based on the degree of delay of the job preceding the second check point on the semi-critical path. A batch processing monitoring apparatus for determining whether or not to delay.
前記終了遅延判定部は、第3チェックポイントにおいて、処理が第3チェックポイントを通過する前に、現在時刻と第3基準時刻との比較に基づいて、バッチ処理の終了が遅れるか否かを判定することを特徴とする請求項16または17に記載のバッチ処理監視装置。 On the quasi-critical path so that the third reference time that is the reference for passage is between the first reference time that is the reference for passing the first checkpoint and the second reference time that is the reference for passing the second checkpoint An additional checkpoint setting section for setting a third checkpoint;
The end delay determination unit determines whether or not the end of the batch processing is delayed based on a comparison between the current time and the third reference time before the process passes the third check point at the third check point. The batch processing monitoring apparatus according to claim 16 or 17, characterized in that:
第1チェックポイントおよび第2チェックポイントのそれぞれにおいてバッチ処理の終了が遅れるか否かを判定するステップと、を含み
前記判定するステップは、
第2チェックポイントにおいて、処理がその第2チェックポイントを通過する前に、現在時刻が第2チェックポイント通過の基準となる基準時刻を超えた場合かつ処理が第1チェックポイントを通過した場合、クリティカルパス上で第2チェックポイントに先行するジョブが終了しているか否かを判定するステップと、
クリティカルパス上で第2チェックポイントに先行するジョブが終了していると判定された場合、準クリティカルパス上で第2チェックポイントに先行するジョブが終了しているか否かを判定するステップと、
準クリティカルパス上で第2チェックポイントに先行するジョブが終了していないと判定された場合、準クリティカルパス上で第2チェックポイントに先行するジョブの遅延の度合いに基づいて、バッチ処理の終了が遅れるか否かを判定するステップと、を含むことを特徴とするバッチ処理監視方法。 A first checkpoint is set on a critical path defined for a plurality of jobs for which a preceding / following relationship is defined that is processed in batch processing, and a position that follows the first checkpoint is a critical path Setting a second checkpoint at a position where the semi-critical path branches;
Determining whether or not the end of batch processing is delayed at each of the first check point and the second check point,
Critical at the second checkpoint if the current time exceeds a reference time that is a reference for passing the second checkpoint and the process passes the first checkpoint before the process passes the second checkpoint. Determining whether the job preceding the second checkpoint on the path has ended;
When it is determined that the job preceding the second checkpoint on the critical path has ended, determining whether the job preceding the second checkpoint on the semi-critical path has ended;
If it is determined that the job preceding the second checkpoint on the semi-critical path has not ended, the batch process is terminated based on the degree of delay of the job preceding the second check point on the semi-critical path. And a step of determining whether or not it is delayed.
第1チェックポイントおよび第2チェックポイントのそれぞれにおいてバッチ処理の終了が遅れるか否かを判定する機能と、をコンピュータに実現させ、
前記判定する機能は、
第2チェックポイントにおいて、処理がその第2チェックポイントを通過する前に、現在時刻が第2チェックポイント通過の基準となる基準時刻を超えた場合かつ処理が第1チェックポイントを通過した場合、クリティカルパス上で第2チェックポイントに先行するジョブが終了しているか否かを判定する機能と、
クリティカルパス上で第2チェックポイントに先行するジョブが終了していると判定された場合、準クリティカルパス上で第2チェックポイントに先行するジョブが終了しているか否かを判定する機能と、
準クリティカルパス上で第2チェックポイントに先行するジョブが終了していないと判定された場合、準クリティカルパス上で第2チェックポイントに先行するジョブの遅延の度合いに基づいて、バッチ処理の終了が遅れるか否かを判定する機能と、を含むことを特徴とするコンピュータプログラム。 A first checkpoint is set on a critical path defined for a plurality of jobs for which a preceding / following relationship is defined that is processed in batch processing, and a position that follows the first checkpoint is a critical path A function for setting a second checkpoint at a position where the semi-critical path branches;
A function of determining whether or not the end of batch processing is delayed at each of the first check point and the second check point;
The determination function is as follows.
Critical at the second checkpoint if the current time exceeds a reference time that is a reference for passing the second checkpoint and the process passes the first checkpoint before the process passes the second checkpoint. A function for determining whether or not the job preceding the second checkpoint on the path has ended;
A function for determining whether or not the job preceding the second checkpoint on the semi-critical path has ended when it is determined that the job preceding the second checkpoint on the critical path has ended;
If it is determined that the job preceding the second checkpoint on the semi-critical path has not ended, the batch process is terminated based on the degree of delay of the job preceding the second check point on the semi-critical path. And a function for determining whether or not to delay.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012027090A JP5684745B2 (en) | 2012-02-10 | 2012-02-10 | Batch job analysis device, batch job analysis method, batch processing monitoring device, and batch processing monitoring method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012027090A JP5684745B2 (en) | 2012-02-10 | 2012-02-10 | Batch job analysis device, batch job analysis method, batch processing monitoring device, and batch processing monitoring method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013164712A JP2013164712A (en) | 2013-08-22 |
JP5684745B2 true JP5684745B2 (en) | 2015-03-18 |
Family
ID=49176028
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012027090A Expired - Fee Related JP5684745B2 (en) | 2012-02-10 | 2012-02-10 | Batch job analysis device, batch job analysis method, batch processing monitoring device, and batch processing monitoring method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5684745B2 (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2015247375B2 (en) * | 2014-04-17 | 2020-03-26 | Ab Initio Technology Llc | Integrated monitoring and control of processing environment |
JP7056193B2 (en) * | 2018-02-06 | 2022-04-19 | 富士通株式会社 | Judgment program, judgment method, and judgment device |
CN112005220A (en) * | 2018-04-27 | 2020-11-27 | 三菱电机株式会社 | Data processing apparatus, monitoring method, and program |
JP7449779B2 (en) | 2020-06-03 | 2024-03-14 | 株式会社日立製作所 | Job management method and job management device |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4102695B2 (en) * | 2003-03-28 | 2008-06-18 | 株式会社日本総合研究所 | Batch job management system and batch job management program |
-
2012
- 2012-02-10 JP JP2012027090A patent/JP5684745B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2013164712A (en) | 2013-08-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8005736B2 (en) | Multi-level transaction flow monitoring | |
US20150347217A1 (en) | Determining an anomalous state of a system at a future point in time | |
US9424157B2 (en) | Early detection of failing computers | |
JP4859558B2 (en) | Computer system control method and computer system | |
US20160378894A1 (en) | Method and apparatus for analyzing economics of power demand management business project using smart power demand resources modeling data simulation module | |
US8365182B2 (en) | Method and system for provisioning of resources | |
US8099379B2 (en) | Performance evaluating apparatus, performance evaluating method, and program | |
US8224624B2 (en) | Using application performance signatures for characterizing application updates | |
US7904753B2 (en) | Method and system to eliminate disruptions in enterprises | |
US20080092122A1 (en) | Automated performance monitoring | |
Mesbahi et al. | Highly reliable architecture using the 80/20 rule in cloud computing datacenters | |
US8171348B2 (en) | Data consistency in long-running processes | |
JP5684745B2 (en) | Batch job analysis device, batch job analysis method, batch processing monitoring device, and batch processing monitoring method | |
KR20240042593A (en) | Method, Apparatus and System for managing deposit | |
US7954062B2 (en) | Application status board mitigation system and method | |
US8924343B2 (en) | Method and system for using confidence factors in forming a system | |
CA3182205A1 (en) | Financial risk assessment | |
Shepperd et al. | Metrics, outlier analysis and the software design process | |
JP2007265244A (en) | Performance monitoring device for web system | |
WO2018061136A1 (en) | Demand forecasting method, demand forecasting system, and program therefor | |
Williams et al. | QSEMSM: Quantitative scalability evaluation method | |
CN111914002B (en) | Machine room resource information processing method and device and electronic equipment | |
US20080109268A1 (en) | Method and apparatus for examining workflow processes | |
CN111680835A (en) | Risk prediction method and device, storage medium and electronic equipment | |
JP7073766B2 (en) | Information processing program, information processing method and information processing equipment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140228 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20141128 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20141202 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20141216 |
|
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: 20150113 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150115 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5684745 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |