JP5884566B2 - バッチ処理システム、進捗状況確認装置、進捗状況確認方法、及びプログラム - Google Patents

バッチ処理システム、進捗状況確認装置、進捗状況確認方法、及びプログラム Download PDF

Info

Publication number
JP5884566B2
JP5884566B2 JP2012052464A JP2012052464A JP5884566B2 JP 5884566 B2 JP5884566 B2 JP 5884566B2 JP 2012052464 A JP2012052464 A JP 2012052464A JP 2012052464 A JP2012052464 A JP 2012052464A JP 5884566 B2 JP5884566 B2 JP 5884566B2
Authority
JP
Japan
Prior art keywords
batch processing
data
processing
task
progress
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
Application number
JP2012052464A
Other languages
English (en)
Other versions
JP2013186765A (ja
Inventor
雅彦 高木
雅彦 高木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2012052464A priority Critical patent/JP5884566B2/ja
Publication of JP2013186765A publication Critical patent/JP2013186765A/ja
Application granted granted Critical
Publication of JP5884566B2 publication Critical patent/JP5884566B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Description

本発明は、バッチ処理によって複数のタスクを実行するバッチ処理システム、それに用いられる進捗状況確認装置、進捗状況確認方法、及びこれらを実現するためのプログラムに関する。
バッチ処理は、通常、複数のタスクで構成され、あらかじめ定められたタイミングで開始される。更に、バッチ処理では、定められた範囲のデータに対して繰り返し同じ処理が行なわれ、それによって結果が得られる。加えて、バッチ処理では、定められた時間内で全ての処理を終わらせることが求められている。
また、最近では、データの大規模化、バッチ処理の複雑化に伴い、定められた時間内でバッチ処理を終わらせることが困難になってきたため、複数のサーバに処理を分散させる同時並列実行処理が行なわれる場合もある。但し、処理を分散しても1データに対する処理自体はそれほど高速化されていないため、ボトルネックとなる「データの入出力」を高速化する技術が提案されている。
具体的には、まず、バッチ処理の対象データに対して、当該データの行う「振る舞い」を特定する情報が付与される。そして、その振る舞いに準じてデータの先読みを行なう処理が行われたり、データが別のタスク処理で利用される場合においては、データの再読み込みが行われないようにデータを保持する処理が行われたりする。このような処理によれば、バッチ処理自体は高速化されると考えられる。
また、バッチ処理においては、システムの運用者は、バッチ処理に異常が発生していないかどうか、又はバッチ処理が時間内に終了するかどうかを推測するため、バッチ処理の進捗状況を常に確認できることを求めている。なお、本明細書でいう「進捗状況」には、以下の(1)〜(3)が含まれる。
(1)各タスクの処理の進み具合(各タスクにおける処理データの内、どのくらいのデータ処理が終了しているか)
(2)トランザクションにおけるタスク毎の正常処理の割合と異常処理の割合(即ち、正常処理が何件行われたか、異常処理が何件行われたか、どのくらいの頻度で異常処理が発生したか)
(3)全タスクを考慮した処理の進み具合(即ち、全処理データの内、どのくらいのデータ処理が終了しているか)
ここで、図11を用いて、従来からのバッチ処理を実行するためのシステムについて説明する。図11は、従来からのバッチ処理を実行するシステムの構成を示すブロック図である。図11に示すバッチシステム200は、サーバ210と、データストアサーバ240とを備えている。また、サーバ210には、バッチ処理の実行の指示に用いられる端末250と、バッチ処理の進捗状況の確認に用いられる端末260とが接続されている。
図1に示すように、サーバ210には、プログラムによってバッチ基盤220が構築されている。バッチ基盤220は、端末250を介して指示を受けると、複数のタスクを実行し、タスク毎にその内容に応じて、データストアサーバ240からデータの読み込みと、データストアサーバ240へのデータの書き込みとを実行する。
また、図11に示すバッチシステム200において、バッチ処理の進捗状況を端末260によって常に確認するようにするための手法としては、以下の第1の手法〜第3の手法がある。
第1の手法は、サーバ210内に、プログラムによって進捗状況確認部230を構築する手法である(例えば、特許文献1参照)。この場合、進捗状況確認部230は、処理されたタスクの件数をカウントし、全体の処理件数における、カウントされた処理件数の割合を求め、求めた割合を進捗状況として、端末260に送信する。
また、第2の手法は、データストア装置240内に、タスクの進捗状況を登録するためのリポジトリ270を構築しておく手法である。この場合、データストア装置240は、サーバ210によってバッチ処理が1トランザクション実行される毎に、リポジトリ270に進捗状況を記録する。システムの管理者は、タスクの進捗状況を知りたい場合は、端末260からリポジトリ270にアクセスして、必要な情報を取得する。
更に、第3の手法は、サーバ210に新たな装置を接続し、この装置によって、サーバ210の進捗状況を確認する手法である(例えば、特許文献2参照。)。具体的には、装置は、まず、ジョブ毎のジョブ名、開始予定時刻、終了予定時刻を含むログデータを取得し、取得したログデータから、ジョブ間の順序関係を特定する。次に、装置は、サーバ210から、バッチ処理の処理状況を特定する情報を取得し、この情報と特定した順序関係とに基づいて、各ジョブの実際の終了時刻を推定する。
特開2003−6156号公報 特開2011−118794号公報
上述した第1の手法〜第3の手法によれば、バッチ処理の進捗状況を確認することが可能になると考えられるが、これらの手法では、バッチ処理の処理効率に影響を与えることなく進捗具合を確認することは困難である。この点について以下に説明する。
まず、第1の手法では、タスクが動作しているサーバによって、処理されたタスクの件数をカウントするために、サーバのリソースが使用される。また、端末260からサーバに対して進捗状況の確認について問い合わせがあった場合、サーバは、タスク処理と並行して進捗状況の確認処理を行う必要がある。このため、第1の手法では、バッチ処理の処理効率が低下してしまう。
また、第2の手法では、データストア装置240が進捗状況をリポジトリ270に登録するために時間がかかるため、まず、その分、バッチ処理の処理効率が低下してしまう。更に、管理者は進捗具合を確認するためにリポジトリに対してアクセスする必要があり、それによってネットワークリソースが使用される。このとき、ネットワークリソースに余裕がない場合は、サーバ210によるタスクの読み込み処理とタスクの書き込み処理とが、ネットワークリソースの解放を待たなければ実行できない状態となる。結果、ネットワークリソースの使用によっても、バッチ処理の処理効率は低下してしまう。
更に、第3の手法では、サーバはバッチ処理の処理状況を特定する情報を登録する必要があり、第1の手法と同様に、進捗状況の確認にサーバのリソースが使用される。また、第3の手法では、装置は、ログデータを取得するために、サーバ210にアクセスする必要があり、第2の手法と同様に、ネットワークリソースが使用される。つまり、第3の手法によっても、第1の手法及び第2の手法と同様に、バッチ処理の処理効率が低下してしまう。
本発明の目的の一例は、上記問題を解消し、バッチ処理の処理効率を低下させることなく、バッチ処理の進捗状況の確認を可能にし得る、バッチ処理システム、進捗状況確認装置、進捗状況確認方法、及びプログラムを提供することにある。
上記目的を達成するため、本発明の一側面におけるバッチ処理システムは、
複数のタスクをバッチ処理によって実行する、バッチ処理サーバと、
前記複数のタスクそれぞれからの要求に応じてデータの読み出し処理及び書き込み処理を実行し、そして、処理の終了時に前記バッチ処理サーバに送信するパケットに、処理内容を示すデータを付加する、データストア装置と、
前記バッチ処理サーバと前記データストア装置との通信を監視して、前記パケットを取得し、取得した前記パケットに付加された前記データに基づいて、前記タスクの進捗状況を特定する、進捗状況確認装置と、を備えていることを特徴とする。
上記目的を達成するため、本発明の一側面における進捗状況確認装置は、
複数のタスクをバッチ処理によって実行する、バッチ処理サーバと、前記複数のタスクそれぞれからの要求に応じてデータの読み出し処理及び書き込み処理を実行し、そして、処理の終了時に前記バッチ処理サーバに送信するパケットに、処理内容を示すデータを付加する、データストア装置との、通信を監視して、前記パケットを取得する、通信監視部と、
取得した前記パケットに付加された前記データに基づいて、前記タスクの進捗状況を特定する、進捗状況特定部と、を備えていることを特徴とする。
また、上記目的を達成するため、本発明の一側面における進捗状況確認方法は、
(a)複数のタスクをバッチ処理によって実行する、バッチ処理サーバと、前記複数のタスクそれぞれからの要求に応じてデータの読み出し処理及び書き込み処理を実行し、そして、処理の終了時に前記バッチ処理サーバに送信するパケットに、処理内容を示すデータを付加する、データストア装置との、通信を監視して、前記パケットを取得する、ステップと、
(b)前記(a)のステップで取得した前記パケットに付加された前記データに基づいて、前記タスクの進捗状況を特定する、ステップと、を有することを特徴とする。
更に、上記目的を達成するため、本発明の一側面におけるプログラムは、
コンピュータに、
(a)複数のタスクをバッチ処理によって実行する、バッチ処理サーバと、前記複数のタスクそれぞれからの要求に応じてデータの読み出し処理及び書き込み処理を実行し、そして、処理の終了時に前記バッチ処理サーバに送信するパケットに、処理内容を示すデータを付加する、データストア装置との、通信を監視して、前記パケットを取得する、ステップと、
(b)前記(a)のステップで取得した前記パケットに付加された前記データに基づいて、前記タスクの進捗状況を特定する、ステップと、を実行させることを特徴とする。
以上のように、本発明によれば、複数のタスクをバッチ処理によって実行する場合において、バッチ処理の処理効率を低下させることなく、バッチ処理の進捗状況の確認が可能となる。
図1は、本発明の実施の形態におけるバッチ処理システムの全体構成を示すブロック図である。 図2は、本発明の実施の形態におけるバッチ処理システムの具体構成を示すブロック図である。 図3は、本発明の実施の形態においてバッチ処理サーバとデータストア装置との間でやり取りされるパケットの一例を示す図である。 図4(a)〜(c)は、それぞれ、本発明の実施の形態において進捗状況確認装置が保持する設定情報の一例を示している。 図5は、本発明の実施の形態において進捗状況確認装置が保持する進捗情報の一例を示している。 図6は、本発明の実施の形態における進捗状況確認装置の動作を示すフロー図である。 図7は、本発明の実施の形態における進捗状況確認装置の動作を概略的に示す説明図である。 図8は、本発明の実施の形態における変形例で使用されるプロセス優先度情報の一例を示す図である。 図9(a)〜図9(c)は、本発明の実施の形態における変形例で進捗状況確認装置が保持する設定情報の一例を示す図であり、図9(d)は、本発明の実施の形態における変形例で進捗状況確認装置が保持する進捗情報の一例を示す図である。 図10は、本発明の実施の形態における進捗状況確認装置を実現するコンピュータの一例を示すブロック図である。 図11は、従来からのバッチ処理を実行するシステムの構成を示すブロック図である。
(実施の形態)
以下、本発明の実施の形態における、バッチ処理システム、進捗状況確認装置、進捗状況確認方法、及びプログラムについて、図1〜図10を参照しながら説明する。
[バッチ処理システムの構成]
最初に本発明の実施の形態における、バッチ処理システムの構成について図1を用いて説明する。図1は、本発明の実施の形態におけるバッチ処理システムの全体構成を示すブロック図である。
図1に示すように、本実施の形態におけるバッチ処理システム1は、複数のタスクをバッチ処理によって実行するバッチ処理サーバ100と、データストア装置40と、進捗状況確認装置30とを備え、これらはネットワークを介して接続されている。
また、図1に示すように、バッチ処理サーバ100は、バッチ基盤10と、振る舞いエンジン20とを備えている。バッチ基盤10及び振る舞いエンジン20は、共に、プログラムによって、バッチ処理サーバ100のOS上に構築されている。
バッチ基盤10は、予め定められたスケジュールに基づいて、各タスクをバッチ処理によって実行する。図1の例では、実行中のタスクとして、タスクA、タスクBが図示されている。また、本実施の形態では、各タスクは、細分され、細分化された部分(例えば、タスクA−1、タスクA−2、タスクB−1等)毎に実行される。
振る舞いエンジン20は、バッチ基盤10によるバッチ処理の実行を高速化するエンジンであり、振る舞いハンドラ21と、これらを制御するコントローラ24と、データストア装置40との通信に用いるソケット22とを備えている。また、振る舞いハンドラ21は、実行されるタスクの振る舞いに応じて、複数種類が用意されており、図1の例では、SROハンドラ、SWOハンドラ、SRWハンドラ、及びWOハンドラが図示されている。
コントローラ24は、各タスクが実行されると、その振る舞い(データの読み込み、データの書込み等)に対応する振る舞いハンドラ21を起動させる。また、起動した振る舞いハンドラ21は、ソケット22を用いて、タスク実行のために、データストア装置40との通信を行なう。なお、図1の例では、バッチ処理サーバ10は、複数台備えられているが、その台数は特に限定されるものではない。バッチ処理サーバ10は、1台であっても良い。
データストア装置40は、バッチ処理の処理対象となるデータを格納するデータストア41を備えている。データストア装置40は、複数のタスクそれぞれからの要求に応じて、データストア41からのデータの読み出し処理、及びデータストア41へのデータの書き込み処理を実行する。また、データストア41は、これらの処理の終了時にバッチ処理サーバに送信するパケット(具体的にはFINパケット)に、処理内容を示すデータを付加する。
進捗状況確認装置30は、バッチ処理サーバ100とデータストア装置40との通信を監視して、FINパケットを取得し、取得したFINパケットに付加されたデータに基づいて、タスクの進捗状況を特定する。また、バッチ処理システム1の管理者は、端末を介して、進捗状況確認装置30にアクセスし、進捗状況を確認する。
このように、本実施の形態では、タスクの進捗状況の確認のために、バッチ処理サーバ100のリソースと、ネットワークリソースとが使用されることはない。更に、データストア装置40に、進捗状況のためのリポジトリを構築する必要もない。このため、本実施の形態によれば、複数のタスクをバッチ処理によって実行する場合において、バッチ処理の処理効率を低下させることなく、バッチ処理の進捗状況の確認が可能となる。
続いて、本実施の形態におけるバッチ処理システムの構成について図2〜図5を用いて更に具体的に説明する。図2は、本発明の実施の形態におけるバッチ処理システムの具体構成を示すブロック図である。
[バッチ処理サーバ]
図1に示したように、本実施の形態では、バッチ処理システム1は、複数のバッチ処理サーバ100を備えているが、各バッチ処理サーバ100は、全て同様の処理を実行するため、図2の例では、1台のバッチ処理サーバ100のみが代表して例示されている。
図2に示すように、バッチ処理サーバ100は、図1において述べたように、バッチ処理基盤10と、振る舞いエンジン20とを備えている。本実施の形態では、バッチ処理基盤10は、バッチ処理部11と、格納部16とを備えている。
バッチ処理部11は、格納部16に格納されているスケジュール13を読み出し、スケジュール13で定められた日時に到達すると、格納部16に格納されている設定情報14に基づいて、対応するタスク12をバッチ処理によって実行する。また、バッチ処理部11は、タスクを実行すると、その実行履歴を格納部16に格納する。
なお、バッチ処理部11は、外部の端末からの指示に応じて、バッチ処理を開始することも可能である。また、設定情報14は、タスク間の相関関係、目標処理件数等を含んでいる。
振る舞いエンジン20は、図1において説明したように、振る舞いハンドラ21と、コントローラ24と、ソケット22とに加えて、更に、格納部27を備えている。
コントローラ24は、バッチ処理実行部11によってタスク12が実行され、振る舞いエンジン20に対してデータの読み込み処理又は書き込み処理を要求すると、振る舞いハンドラ21を起動する。そして、振る舞いハンドラ21は、要求された処理についてのデータ23(例えば、読み込み対象となるファイル名、書き込み対象となるファイル名等)を一旦格納部27に格納する。その後、振る舞いハンドラ21は、データ23に基づいて、対応するソケット22を用いてデータストア装置40にアクセスし、要求された処理を実行する。
また、振る舞いハンドラ21は、データストア装置40から送信されてきたデータにメタ情報を付加し、メタ情報が付加されたデータを、処理を要求したタスク12に返信する。メタ情報には、タスク12が必要としているデータ、データストア装置40が一度に読み込み又は書き込みを行なうことができる件数、等が含まれている。
また、格納部27には、データ23の他に、設定情報25と、振る舞いハンドラで行なわれた処理の実行履歴26とが格納されている。設定情報25は、タスク毎の対応する振る舞いハンドラの種類、各ソケットのIPアドレス及びポート番号、等を含んでいる。
[データストア装置]
データストア装置40は、バッチ処理の処理対象となるデータを格納するデータストア41と、ハンドラ42とを備えている。具体的には、本実施の形態では、データストア装置40は、サーバコンピュータによって構築されており、データストア41は、例えば、ハードディスクドライブ及びメモリといったローカルのコンピュータリソースによって実現される。
また、データストア41は、リモートのコンピュータリソースによって実現されていても良い。リモートのコンピュータリソースとしては、ネットワークを介して、データ管理ソフトウェアを用いて利用できるファイルシステム、データベース等が挙げられる。更に、データストア41は、実際のデータの格納先及び格納形式が隠蔽されており、且つ、当該データへのアクセス方法のみが公開された、Webサービス等によって提供されるコンピュータリソースであっても良い。
また、データストア装置40において、ハンドラ42は、バッチ処理サーバ100からの処理命令が送信されると、これを受信し、データストア41に対して要求された処理命令を実行する。そして、ハンドラ42は、処理命令の実行によって得られたデータを、バッチ処理サーバ100に返信する。この時、ハンドラ42は、処理内容を記憶する。記憶される処理内容としては、データの種類(Read/Write)、データの処理結果(Commit/Rollback)、終了状態(正常終了/異常終了)等が挙げられる。
また、バッチ処理サーバ100とデータストア装置40との間でクローズ処理が行なわれる場合は、図3に示すように、いずれか一方から、FINパケットが送信される。図3は、本発明の実施の形態においてバッチ処理サーバとデータストア装置との間でやり取りされるパケットの一例を示す図である。
そして、データストア装置40からバッチ処理サーバ100へとFINパケットが送信される場合に、ハンドラ42は、記憶している処理内容を示すデータ(以下「処理内容データ」と表記する。)をFINパケットに付加する。更に、ハンドラ42は、処理内容データが付加されたFINパケットを、クローズ処理を行うソケット22に送信する。
なお、バッチ処理サーバ100においては、このFINパケットに付加された処理内容データに対する処理は行なわれないが、進捗状況確認装置30では、上述したように、この付加された処理内容データが、進捗状況の確認に必要なデータとなる。
また、本実施の形態では、データストア装置40は、データの生成、読み込み、更新、削除が可能なデータの保持先としての機能と、接続をクローズする際のFINパケットに処理内容データを付加する機能とを備えていれば良い。データストア装置40は、上述したサーバコンピュータであっても良いし、パーソナルコンピュータであっても良い。
[進捗状況確認装置]
図2に示すように、本実施の形態では、進捗状況確認装置30は、通信監視部31と、進捗状況確認部32と、格納部35とを備えている。また、進捗状況確認装置30は、コンピュータに、後述するプログラムをインストールすることによって構築できる。
格納部35は、設定情報33と、進捗情報34とを格納している。設定情報33としては、処理の対象となるタスク及びそれによって処理されるデータに関するメタ情報が挙げられる。具体的には、設定情報33には、図4(a)〜(c)に示すように、以下の4つの情報(A)〜(D)が含まれている。図4(a)〜(c)は、それぞれ、本発明の実施の形態において進捗状況確認装置が保持する設定情報の一例を示している。
(A)どのタスクがどの振る舞いハンドラ(SROハンドラ、SWOハンドラ等)を利用してデータの処理を行っているかを特定する情報(各タスクがデータ処理において利用する振る舞いハンドラを特定する情報:図7(a)参照)
(B)どの振る舞いハンドラがどのソケットを利用してデータストア装置40から処理データを取得しているかを特定する情報(各振る舞いハンドラがデータストア装置40からの処理データの取得に利用するソケットを特定する情報:図7(b)参照)
(C)進捗状況を確認するために確認すべき通信の情報(進捗状況の確認に必要な通信を特定する情報:図7(c)参照)
(D)1回の通信処理でデータをどのくらい処理するのかを特定する情報(1回の通信処理で処理されるデータ量を特定する情報:図7(d)参照)
通信監視部31は、本実施の形態では、図3に示すように、ネットワーク上において、バッチ処理サーバ100とデータストア装置40との間でやりとりされるパケットをモニタリングして、FINパケットを取得する。そして、通信監視部31は、取得したFINパケットの送付先(IPアドレス、ポート番号)を特定し、更に処理内容データを解析する。
具体的には、本実施の形態では、FINパケットに付加されている処理内容データは、データの種類(Read/Write)、データの処理結果(Commit/Rollback)、終了状態(正常終了/異常終了)を含むことから、通信監視部31は、これらを特定する。そして、通信監視部31は、特定した情報をFINパケットの送付先の情報と共に、進捗状況確認部32に渡す(図3参照)。
進捗状況確認部32は、本実施の形態では、通信監視部31から情報に基づき、まず、FINパケットの送付先(IPアドレス、ポート番号)を設定情報33に照合し、データストア装置40の通信先となったバッチ処理サーバ100及びそのソケットを確認する。そして、進捗状況確認部32は、設定情報33に基づいて、確認されたソケットが進捗状況の確認対象であるかどうかを判定し、確認対象でない場合は、先に取得したFINパケットを破棄する。
一方、進捗状況確認部32は、確認されたソケットが進捗状況の確認対象である場合は、Commit及びRollbackのいずれであるかと、正常終了及び異常終了のいずれであるかと、を確認する。次に、進捗状況確認部32は、「正常終了」であり、且つ、「Commit」であるならば、設定情報33を参照して、対象となった処理における「1回の通信処理で処理されるデータ量(データ処理件数)」を確認し、格納部35に格納されている進捗情報34を更新する。
また、本実施の形態では、格納部35には、図5に示すように、タスク毎のデータ処理の件数(処理済件数)が、進捗情報34として格納されている。よって、進捗状況確認部32は、該当するタスクにおいて、確認した「1回の通信処理で処理されるデータ処理件数」を加算する。図5は、本発明の実施の形態において進捗状況確認装置が保持する進捗情報の一例を示している。
また、本実施の形態においては、進捗情報34は、図5の例に限定されるものではない。本実施の形態では、進捗状況確認部32は、進捗情報34として、タスク毎の、処理すべきデータ処理の全件数に対する、処理済のデータ処理の件数の割合(以下「進捗率」と表記する。)を算出することもできる。
ここで、バッチ処理のタスク発生時にプロセスが生成され、通信監視部31による監視の開始までについて説明する。まず、そのプロセスが生成した時に、バッチ処理サーバ100において、振る舞いエンジン20上で、プロセスに対応する振る舞いハンドラ21が生成(起動)される。そして、振舞いエンジン20は、その振る舞いハンドラ21が利用するソケット22を特定する情報、振る舞いハンドラ21が利用するデータ23を進捗状況確認装置30に送信する。
続いて、進捗状況確認装置30は、送信されてきた新規プロセスに関する情報に基づいて、自身が保持する設定情報33を更新し、更に、送信されてきた情報に基づいて、進捗状況の確認対象となるデータの通信に用いられるソケット22を特定する。そして、通信監視部31は、特定したソケット22上でやりとりされる情報を監視する。
なお、バッチ処理サーバ100において、振る舞いエンジン20が、進捗状況確認装置30に対して情報を送信する処理は、タスクが開始されるまでの初期化処理の延長上で実施される。このため、当該処理によって、バッチ処理の処理効率が低下することはない。
[進捗状況確認装置の動作]
次に、本発明の実施の形態における進捗状況確認装置30の動作について図6及び図7を用いて説明する。図6は、本発明の実施の形態における進捗状況確認装置の動作を示すフロー図である。図7は、本発明の実施の形態における進捗状況確認装置の動作を概略的に示す説明図である。
以下の説明においては、適宜図1〜図5を参酌する。また、本実施の形態では、進捗状況確認装置30を動作させることによって、進捗状況確認方法が実施される。よって、本実施の形態における進捗状況確認方法の説明は、以下の進捗状況確認装置30の動作説明に代える。
まず、バッチ処理サーバ100において、新たなプロセスが生成され、振舞いエンジン20が、振る舞いハンドラ21が利用するソケット22を特定する情報と、振る舞いハンドラ21が利用するデータ23とを進捗状況確認装置30に送信する。これにより、図6に示すように、通信監視部31は、送信されてきた情報に基づいて、設定情報33を更新する(ステップA1)。
次に、通信監視部31は、ステップA1で更新した設定情報33に基づいて、監視対象となるソケット22を特定し、特定したソケットを用いたバッチ処理サーバ100とデータストア装置40との通信を監視する(ステップA2:図7参照)。
次に、通信監視部31は、特定したソケットを用いてパケットが送信されると、送信されたパケットがFINパケットであるかどうかを判定する(ステップA3:図7参照)。ステップA3の判定の結果、FINパケットでない場合は、通信監視部31は、再度ステップA2を実行する。一方、ステップA3の判定の結果、FINパケットである場合は、通信監視部31は、このFINパケットを取得する(ステップA4)。
次に、通信監視部31は、取得したFINパケットの送付先(IPアドレス、ポート番号)を特定し、更に処理内容データを解析する(ステップA5)。また、ステップA5では、通信監視部31は、解析によって特定した情報と、特定したFINパケットの送付先の情報とを、進捗状況確認部32に渡す。
次に、進捗状況確認部32は、通信監視部31から情報に基づき、まず、FINパケットの送付先(IPアドレス、ポート番号)を設定情報33に照合して、データストア装置40の通信先となったバッチ処理サーバ100及びそのソケットを確認する。そして、進捗状況確認部32は、設定情報33に基づいて、確認されたソケットが進捗状況の確認対象であるかどうかを判定する(ステップA6)。
ステップA6の判定の結果、確認されたソケットが、進捗状況の確認対象でない場合は、進捗状況確認部32は、ステップA4で取得したFINパケットを破棄する(ステップA9)。その後、再度、通信監視部32によってステップA2が実行される。一方、ステップA6の判定の結果、確認されたソケットが、進捗状況の確認対象である場合は、進捗状況確認部32は、処理内容データが「正常終了」及び「Commit」を含んでいるかどうかを判定する(ステップA7)。
ステップA7の判定の結果、処理内容データが「正常終了」及び「Commit」を含んでいない場合は、再度、通信監視部32によってステップA2が実行される。一方、ステップA7の判定の結果、処理内容データが「正常終了」及び「Commit」を含んでいる場合は、進捗状況確認部32は、設定情報32から、プロセスでの「1回の通信処理で処理されるデータ量(データ処理件数)」を確認し、格納部35に格納されている進捗情報34を更新する(ステップA8)。
以上のステップA1〜A8は、バッチ処理サーバ100において実行されるタスク毎に行なわれる。よって、バッチ処理システム1の管理者は、進捗状況確認装置30に格納されている進捗情報34を確認することで、バッチ処理の進捗状況を簡単に確認することができる。
以上のように本実施の形態によれば、管理者は、複数のタスクを同一環境で実行しているバッチ基盤10に負荷をかけることなく、実行処理の進捗状況をリアルタイムに確認することができる。また、ネットワークリソースが使用されることもなく、更に、データストア装置40に、進捗状況のためのリポジトリを構築する必要もない。
[変形例1]
本実施の形態においては、バッチ処理基盤10は、格納部16に、図8に示すプロセス優先度情報を格納することができる。図8の例では、プロセスの優先度は、「高」「中」「低」の三段階で設定されている。図8は、本発明の実施の形態における変形例で使用されるプロセス優先度情報の一例を示す図である。
また、この場合、進捗状況確認装置30は、格納部35において、設定情報33として図9(c)に示す「タスク−データマッピング情報」を格納することができる。この情報は、タスクの相関関係、例えば、「タスクAは他タスクに影響なく処理できる」、「タスクCはタスクBの処理データを元に処理を実行する」といった関係を表わしている。
この場合、進捗状況特定部32は、タスクの相関関係に基づいて、他のタスクに影響を与える可能性があり、且つ、進捗状況(進捗率等)が設定値に達していない、タスクを特定する。なお、「他のタスクに影響を与える可能性があるタスク」とは、そのタスクが完了しないと次のタスクの処理を進まないタスク等を意味する。また、進捗状況の設定値は、管理者が適宜設定することができる。
具体的には、進捗状況特定部32は、図9(c)に示す「タスク−データマッピング情報」に加えて、図9(b)に示す「サーバ−タスクマッピング情報」と、図9(d)に示す進捗情報とを用いて、該当するタスクを特定する。図9(a)〜(d)の例では、タスクB−1が特定される。なお、図9(a)は、図7(a)と同様に、各タスクがデータ処理において利用する振る舞いハンドラを特定する情報を示している。
また、図9(a)〜図9(c)は、本発明の実施の形態における変形例で進捗状況確認装置が保持する設定情報の一例を示す図であり、図9(d)は、本発明の実施の形態における変形例で進捗状況確認装置が保持する進捗情報の一例を示す図である。
そして、進捗状況特定部32は、特定したタスクの優先度を上げるように、バッチ処理サーバ100のバッチ処理基盤10に指示を行なう。このように、変形例1によれば、進捗状況確認装置30を、バッチ処理システム100におけるプロセス全体の進行を制御するコントローラとして機能させることができる。
[変形例2]
また、上述した例では、図1に示したように、進捗状況確認装置30は、タスクA−1、タスクA−2といった細分化されたタスク毎に、進捗状況を確認しているが、本実施の形態は、これに限定される趣旨ではない。タスクA、タスクBといった、細分化される前のタスク毎に、進捗状況の確認が行なわれていても良い。
[プログラム]
本実施の形態におけるプログラムは、コンピュータに、図6に示すステップA1〜A9を実行させるプログラムであれば良い。このプログラムをコンピュータにインストールし、実行することによって、本実施の形態における進捗状況確認装置30と進捗状況確認方法とを実現することができる。この場合、コンピュータのCPU(Central Processing Unit)は、通信監視部31及び進捗状況特定部32として機能し、処理を行なう。また、コンピュータに備えられたハードディスク等の記憶装置が、格納部35として機能する。
ここで、本実施の形態におけるプログラムを実行することによって、進捗状況確認装置30を実現するコンピュータについて図10を用いて説明する。図10は、本発明の実施の形態における進捗状況確認装置を実現するコンピュータの一例を示すブロック図である。
図10に示すように、コンピュータ110は、CPU111と、メインメモリ112と、記憶装置113と、入力インターフェイス114と、表示コントローラ115と、データリーダ/ライタ116と、通信インターフェイス117とを備える。これらの各部は、バス121を介して、互いにデータ通信可能に接続される。
CPU111は、記憶装置113に格納された、本実施の形態におけるプログラム(コード)をメインメモリ112に展開し、これらを所定順序で実行することにより、各種の演算を実施する。メインメモリ112は、典型的には、DRAM(Dynamic Random Access Memory)等の揮発性の記憶装置である。また、本実施の形態におけるプログラムは、コンピュータ読み取り可能な記録媒体120に格納された状態で提供される。なお、本実施の形態におけるプログラムは、通信インターフェイス117を介して接続されたインターネット上で流通するものであっても良い。
また、記憶装置113の具体例としては、ハードディスクドライブの他、フラッシュメモリ等の半導体記憶装置が挙げられる。入力インターフェイス114は、CPU111と、キーボード及びマウスといった入力機器118との間のデータ伝送を仲介する。表示コントローラ115は、ディスプレイ装置119と接続され、ディスプレイ装置119での表示を制御する。
データリーダ/ライタ116は、CPU111と記録媒体120との間のデータ伝送を仲介し、記録媒体120からのプログラムの読み出し、及びコンピュータ110における処理結果の記録媒体120への書き込みを実行する。通信インターフェイス117は、CPU111と、他のコンピュータとの間のデータ伝送を仲介する。
また、記録媒体120の具体例としては、CF(Compact Flash(登録商標))及びSD(Secure Digital)等の汎用的な半導体記憶デバイス、フレキシブルディスク(Flexible Disk)等の磁気記憶媒体、又はCD−ROM(Compact Disk Read Only Memory)などの光学記憶媒体が挙げられる。
上述した実施の形態の一部又は全部は、以下に記載する(付記1)〜(付記16)によって表現することができるが、以下の記載に限定されるものではない。
(付記1)
複数のタスクをバッチ処理によって実行する、バッチ処理サーバと、
前記複数のタスクそれぞれからの要求に応じてデータの読み出し処理及び書き込み処理を実行し、そして、処理の終了時に前記バッチ処理サーバに送信するパケットに、処理内容を示すデータを付加する、データストア装置と、
前記バッチ処理サーバと前記データストア装置との通信を監視して、前記パケットを取得し、取得した前記パケットに付加された前記データに基づいて、前記タスクの進捗状況を特定する、進捗状況確認装置と、
を備えていることを特徴とするバッチ処理システム。
(付記2)
前記進捗状況確認装置が、前記タスクの進捗状況として、タスク毎の、処理済のデータ処理の件数を特定する、付記1に記載のバッチ処理システム。
(付記3)
前記進捗状況確認装置が、取得した前記パケットの送信先から確認対象となるタスクを特定し、そして、前記データに基づいて、処理内容が、正常終了及びコミットの両方を満たしているか否かを判定し、満たしている場合に、前記確認対象となるタスクにおける処理済のデータ処理の件数を増加させる、付記2に記載のバッチ処理システム。
(付記4)
前記進捗状況確認装置が、前記タスクの相関関係に基づいて、他のタスクに影響を与える可能性があり、且つ、前記割合が設定値よりも低い、タスクを特定し、特定した前記タスクの優先度を上げるように、前記バッチ処理サーバに指示する、
付記1〜3のいずれか記載のバッチ処理システム。
(付記5)
複数のタスクをバッチ処理によって実行する、バッチ処理サーバと、前記複数のタスクそれぞれからの要求に応じてデータの読み出し処理及び書き込み処理を実行し、そして、処理の終了時に前記バッチ処理サーバに送信するパケットに、処理内容を示すデータを付加する、データストア装置との、通信を監視して、前記パケットを取得する、通信監視部と、
取得した前記パケットに付加された前記データに基づいて、前記タスクの進捗状況を特定する、進捗状況特定部と、
を備えていることを特徴とする進捗状況確認装置。
(付記6)
前記進捗状況特定部が、前記タスクの進捗状況として、タスク毎の、処理済のデータ処理の件数を特定する、付記5に記載の進捗状況確認装置。
(付記7)
前記進捗状況特定部が、取得した前記パケットの送信先から確認対象となるタスクを特定し、そして、前記データに基づいて、処理内容が、正常終了及びコミットの両方を満たしているか否かを判定し、満たしている場合に、前記確認対象となるタスクにおける処理済のデータ処理の件数を増加させる、付記6に記載の進捗状況確認装置。
(付記8)
前記進捗状況特定部が、前記タスクの相関関係に基づいて、他のタスクに影響を与える可能性があり、且つ、前記進捗状況が設定値に達していない、タスクを特定し、特定した前記タスクの優先度を上げるように、前記バッチ処理サーバに指示する、付記5〜7のいずれかに記載の進捗状況確認装置。
(付記9)
(a)複数のタスクをバッチ処理によって実行する、バッチ処理サーバと、前記複数のタスクそれぞれからの要求に応じてデータの読み出し処理及び書き込み処理を実行し、そして、処理の終了時に前記バッチ処理サーバに送信するパケットに、処理内容を示すデータを付加する、データストア装置との、通信を監視して、前記パケットを取得する、ステップと、
(b)前記(a)のステップで取得した前記パケットに付加された前記データに基づいて、前記タスクの進捗状況を特定する、ステップと、
を有することを特徴とする進捗状況確認方法。
(付記10)
前記(b)のステップにおいて、前記タスクの進捗状況として、タスク毎の、処理済のデータ処理の件数を特定する、付記9に記載の進捗状況確認方法。
(付記11)
前記(b)のステップにおいて、取得した前記パケットの送信先から確認対象となるタスクを特定し、そして、前記データに基づいて、処理内容が、正常終了及びコミットの両方を満たしているか否かを判定し、満たしている場合に、前記確認対象となるタスクにおける処理済のデータ処理の件数を増加させる、付記10に記載の進捗状況確認方法。
(付記12)
(c)前記タスクの相関関係に基づいて、他のタスクに影響を与える可能性があり、且つ、前記進捗状況が設定値に達していない、タスクを特定し、特定した前記タスクの優先度を上げるように、前記バッチ処理サーバに指示する、ステップを更に有する、付記9〜11のいずれかに記載の進捗状況確認方法。
(付記13)
コンピュータに、
(a)複数のタスクをバッチ処理によって実行する、バッチ処理サーバと、前記複数のタスクそれぞれからの要求に応じてデータの読み出し処理及び書き込み処理を実行し、そして、処理の終了時に前記バッチ処理サーバに送信するパケットに、処理内容を示すデータを付加する、データストア装置との、通信を監視して、前記パケットを取得する、ステップと、
(b)前記(a)のステップで取得した前記パケットに付加された前記データに基づいて、前記タスクの進捗状況を特定する、ステップと、
を実行させるプログラム。
(付記14)
前記(b)のステップにおいて、前記タスクの進捗状況として、タスク毎の、処理済のデータ処理の件数を特定する、付記13に記載のプログラム。
(付記15)
前記(b)のステップにおいて、取得した前記パケットの送信先から確認対象となるタスクを特定し、そして、前記データに基づいて、処理内容が、正常終了及びコミットの両方を満たしているか否かを判定し、満たしている場合に、前記確認対象となるタスクにおける処理済のデータ処理の件数を増加させる、付記14に記載のプログラム。
(付記16)
(c)前記タスクの相関関係に基づいて、他のタスクに影響を与える可能性があり、且つ、前記進捗状況が設定値に達していない、タスクを特定し、特定した前記タスクの優先度を上げるように、前記バッチ処理サーバに指示する、ステップを、前記コンピュータに更に実行させる、付記13〜15のいずれかに記載のプログラム。
本発明によれば、バッチ処理の処理効率を低下させることなく、バッチ処理の進捗状況の確認が可能となる。本発明は、複数のタスクをバッチ処理によって実行するバッチ処理サーバに有用である。
1 バッチ処理システム
10 バッチ処理基盤
11 バッチ処理部
12 タスク
13 スケジュール
14 設定情報
15 実行履歴
16 格納部
20 振る舞いエンジン
21 振る舞いハンドラ
22 ソケット
23 データ
24 コントローラ
25 設定情報
26 実行履歴
27 格納部
30 進捗状況確認装置
31 通信監視部
32 進捗状況特定部
33 設定情報
34 進捗情報
35 格納部
40 データストアサーバ
41 データストア
42 ハンドラ
43 データ
100 バッチ処理サーバ
110 コンピュータ
111 CPU
112 メインメモリ
113 記憶装置
114 入力インターフェイス
115 表示コントローラ
116 データリーダ/ライタ
117 通信インターフェイス
118 入力機器
119 ディスプレイ装置
120 記録媒体
121 バス

Claims (7)

  1. 複数のタスクをバッチ処理によって実行する、バッチ処理サーバと、
    前記複数のタスクそれぞれからの要求に応じてデータの読み出し処理及び書き込み処理を実行し、そして、処理の終了時に前記バッチ処理サーバに送信するパケットに、処理内容を示すデータを付加する、データストア装置と、
    前記バッチ処理サーバと前記データストア装置との通信を監視して、前記パケットを取得し、取得した前記パケットに付加された前記データに基づいて、前記タスクの進捗状況を特定する、進捗状況確認装置と、
    を備えていることを特徴とするバッチ処理システム。
  2. 前記進捗状況確認装置が、前記タスクの進捗状況として、タスク毎の、処理済のデータ処理の件数を特定する、請求項1に記載のバッチ処理システム。
  3. 前記進捗状況確認装置が、取得した前記パケットの送信先から確認対象となるタスクを特定し、そして、前記データに基づいて、処理内容が、正常終了及びコミットの両方を満たしているか否かを判定し、満たしている場合に、前記確認対象となるタスクにおける処理済のデータ処理の件数を増加させる、請求項2に記載のバッチ処理システム。
  4. 前記進捗状況確認装置が、前記タスクを実行する際に他のタスクに与える影響を予め特定している相関関係に基づいて、他のタスクに影響を与える可能性があり、且つ、前記進捗状況が設定値よりも低い、タスクを特定し、特定した前記タスクの優先度を上げるように、前記バッチ処理サーバに指示する、
    請求項1〜3のいずれか記載のバッチ処理システム。
  5. 複数のタスクをバッチ処理によって実行する、バッチ処理サーバと、前記複数のタスクそれぞれからの要求に応じてデータの読み出し処理及び書き込み処理を実行し、そして、処理の終了時に前記バッチ処理サーバに送信するパケットに、処理内容を示すデータを付加する、データストア装置との、通信を監視して、前記パケットを取得する、通信監視部と、
    取得した前記パケットに付加された前記データに基づいて、前記タスクの進捗状況を特定する、進捗状況特定部と、
    を備えていることを特徴とする進捗状況確認装置。
  6. 数のタスクをバッチ処理によって実行する、バッチ処理サーバと、前記複数のタスクそれぞれからの要求に応じてデータの読み出し処理及び書き込み処理を実行し、そして、処理の終了時に前記バッチ処理サーバに送信するパケットに、処理内容を示すデータを付加する、データストア装置とに、ネットワークを介して接続されたコンピュータを用い、
    (a)前記コンピュータによって、前記ネットワーク上における、前記バッチ処理サーバと、前記データストア装置との通信を監視して、前記パケットを取得する、ステップと、
    (b)前記コンピュータによって、前記(a)のステップで取得した前記パケットに付加された前記データに基づいて、前記タスクの進捗状況を特定する、ステップと、
    を有することを特徴とする進捗状況確認方法。
  7. 数のタスクをバッチ処理によって実行する、バッチ処理サーバと、前記複数のタスクそれぞれからの要求に応じてデータの読み出し処理及び書き込み処理を実行し、そして、処理の終了時に前記バッチ処理サーバに送信するパケットに、処理内容を示すデータを付加する、データストア装置とに、ネットワークを介して接続されたコンピュータに、
    (a)前記ネットワーク上において、前記バッチ処理サーバと、前記データストア装置との、通信を監視して、前記パケットを取得する、ステップと、
    (b)前記(a)のステップで取得した前記パケットに付加された前記データに基づいて、前記タスクの進捗状況を特定する、ステップと、
    を実行させるプログラム。
JP2012052464A 2012-03-09 2012-03-09 バッチ処理システム、進捗状況確認装置、進捗状況確認方法、及びプログラム Expired - Fee Related JP5884566B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012052464A JP5884566B2 (ja) 2012-03-09 2012-03-09 バッチ処理システム、進捗状況確認装置、進捗状況確認方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012052464A JP5884566B2 (ja) 2012-03-09 2012-03-09 バッチ処理システム、進捗状況確認装置、進捗状況確認方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2013186765A JP2013186765A (ja) 2013-09-19
JP5884566B2 true JP5884566B2 (ja) 2016-03-15

Family

ID=49388112

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012052464A Expired - Fee Related JP5884566B2 (ja) 2012-03-09 2012-03-09 バッチ処理システム、進捗状況確認装置、進捗状況確認方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP5884566B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016177567A (ja) * 2015-03-20 2016-10-06 株式会社リコー タスク管理装置、方法及びプログラム
JP2016189101A (ja) * 2015-03-30 2016-11-04 鉄道情報システム株式会社 バッチ処理システム、バッチ処理方法、バッチ処理プログラムおよびバッチ処理プログラムが記憶されたコンピュータで読み取り可能な記憶媒体
CN112506632A (zh) * 2020-12-03 2021-03-16 中国人寿保险股份有限公司 分布式系统中批任务的调度方法和系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4610240B2 (ja) * 2004-06-24 2011-01-12 富士通株式会社 分析プログラム、分析方法及び分析装置
JP5062896B2 (ja) * 2008-05-22 2012-10-31 株式会社日立製作所 バッチ処理監視装置、バッチ処理監視方法及びプログラム
US9251032B2 (en) * 2011-11-03 2016-02-02 Fujitsu Limited Method, computer program, and information processing apparatus for analyzing performance of computer system

Also Published As

Publication number Publication date
JP2013186765A (ja) 2013-09-19

Similar Documents

Publication Publication Date Title
US8516509B2 (en) Methods and computer program products for monitoring system calls using safely removable system function table chaining
US9641413B2 (en) Methods and computer program products for collecting storage resource performance data using file system hooks
EP2989543B1 (en) Method and device for updating client
JP5731334B2 (ja) インシデント・プールの管理方法、システムおよびコンピュータ・プログラム
US8589537B2 (en) Methods and computer program products for aggregating network application performance metrics by process pool
US7698602B2 (en) Systems, methods and computer products for trace capability per work unit
US8909761B2 (en) Methods and computer program products for monitoring and reporting performance of network applications executing in operating-system-level virtualization containers
JP2010218049A (ja) 情報処理装置、情報処理方法及びプログラム
US8280197B1 (en) Managed background loading of image resources in resource-constrained devices
WO2019148727A1 (zh) 电子装置、基于redis的异常预警方法及存储介质
JP5652480B2 (ja) データベース更新通知方法
JP2009536403A (ja) ワーク・アイテム・イベント処理
JP6268991B2 (ja) 情報処理システム、情報処理装置及びプログラム
JP5268589B2 (ja) 情報処理装置及び情報処理装置の運用方法
US8468386B2 (en) Detecting and recovering from process failures
JP5884566B2 (ja) バッチ処理システム、進捗状況確認装置、進捗状況確認方法、及びプログラム
JP2011159011A (ja) ジョブ監視システム及びジョブ監視プログラム
US7882508B1 (en) Tracing information flow using a signature
CN108566293B (zh) 电子装置、zk节点信息通知方法及存储介质
CN115220640A (zh) 用于处理数据的方法、电子设备和计算机程序产品
JP7030412B2 (ja) 情報処理システム、及び制御方法
JP6115253B2 (ja) プリントシステム、スプールサーバ、スプール方法、及びプログラム
JP2010026626A (ja) データを記録する方法、システム及びプログラム
JP2011008361A (ja) 機器管理装置、機器管理システム、機器設定方法、機器設定プログラム、及びそのプログラムを記録した記録媒体
JP2024037585A (ja) トランザクション管理方法及びトランザクション管理装置

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20150123

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150209

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150819

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150908

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151106

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: 20160112

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160125

R150 Certificate of patent or registration of utility model

Ref document number: 5884566

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees