JP4071678B2 - バッチアプリケーション実行制御方法,バッチアプリケーション実行制御装置およびバッチアプリケーション実行制御プログラム - Google Patents

バッチアプリケーション実行制御方法,バッチアプリケーション実行制御装置およびバッチアプリケーション実行制御プログラム Download PDF

Info

Publication number
JP4071678B2
JP4071678B2 JP2003161556A JP2003161556A JP4071678B2 JP 4071678 B2 JP4071678 B2 JP 4071678B2 JP 2003161556 A JP2003161556 A JP 2003161556A JP 2003161556 A JP2003161556 A JP 2003161556A JP 4071678 B2 JP4071678 B2 JP 4071678B2
Authority
JP
Japan
Prior art keywords
batch
execution
execution control
batch application
application
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
JP2003161556A
Other languages
English (en)
Other versions
JP2004362376A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2003161556A priority Critical patent/JP4071678B2/ja
Publication of JP2004362376A publication Critical patent/JP2004362376A/ja
Application granted granted Critical
Publication of JP4071678B2 publication Critical patent/JP4071678B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は,バッチアプリケーションを高速に実行処理するための方法,装置およびプログラムに関する。
【0002】
バッチアプリケーションとは,処理対象のデータを一括して処理するソフトウェアプログラムである。通常,業務アプリケーションの実行形態として,オンラインアプリケーションとバッチアプリケーションの二つの形態があり,オンラインアプリケーションでは,伝票などの処理をリアルタイムで行うのに対し,バッチアプリケーションでは,例えば一日の売上集計のように,蓄えられたデータをまとめて処理する。
【0003】
【従来の技術】
従来,例えばデータベース(以下,「DB」という)アクセスを行うクライアント・サーバシステムにおけるDBを用いたバッチアプリケーション処理を行う場合,バッチアプリケーション毎にDB(例えば「ORACLE」(登録商標))に対するコネクト/ディスコネクト処理を行っていた。ここで,コネクト処理とは,DBにアクセスするためにDB管理システムに接続する処理であり,ディスコネクト処理とは,DBへのアクセスを終了し,DB管理システムとの接続を切る処理である。
【0004】
図14は,従来のバッチアプリケーションの動作説明図である。図中,10はバッチアプリ情報ファイル,11はバッチアプリケーションを表す。バッチアプリ情報ファイル10は,バッチアプリケーション11の実行に必要な情報が格納されているファイルである。図14に示すように,従来は,バッチアプリ情報ファイル10を読み込み,バッチアプリケーション11を起動していた。各バッチアプリケーション11は,起動時にDBへのコネクト処理を,終了時にDBへのディスコネクト処理を実行していた。
【0005】
なお,上記バッチアプリケーションの動作処理に関して,実行時間を短縮して処理を高速化するための技術を記載した先行技術文献は,特に見当たらない。
【0006】
【発明が解決しようとする課題】
上記従来技術では,バッチアプリケーション毎にDBに対するコネクト/ディスコネクト処理を行っていたため,バッチアプリケーションの数に比例してその処理時間が長くなるという問題があった。
【0007】
すなわち,複数のジョブステップから構成される業務アプリケーションのバッチアプリケーションを動作させる場合,従来技術では,ジョブステップ単位に各バッチアプリケーションのプロセスを起動し,各ジョブステップのプロセス毎にDBコネクト/ディスコネクト処理を実行するため,DBコネクト/ディスコネクト処理に時間がかかり,バッチアプリケーションの処理が遅くなるという問題があった。なお,DBコネクト/ディスコネクト処理には,システム負荷によっては2〜3秒の処理時間がかかることがある。
【0008】
以上のようなDBコネクト/ディスコネクト処理に時間がかかるという問題に限らず,多量のバッチアプリケーションの実行に関して,次のような場合に,処理に時間がかかり,処理の負荷が大きくなるという問題があった。
(1)ジョブ実行制御の起動処理に時間(1秒程度の起動時間)がかかる。
(2)EJB(Enterprise-JavaBeans)との共通開発を図った場合,バッチアプリケーションをJava(登録商標)で開発することになるが,従来はバッチアプリケーションの各ジョブステップ毎にJava仮想マシン(JavaVM)の起動を行っており,JavaVMの起動処理に時間(1〜2秒)がかかる。
【0009】
オンラインアプリケーションは,リアルタイムでの応答が要求されるため,従来から高速化についての種々の工夫がなされていたが,ジョブの一括投入,処理結果の一括出力というオフライン処理のバッチアプリケーションでは,応答の即時性が要求されないため,処理の高速化に関する考慮はあまり払われていなかった。
【0010】
バッチアプリケーションとオンラインアプリケーションとを比較すると,バッチアプリケーションの処理速度は,オンラインアプリケーションの処理速度より格段に遅く,オンラインアプリケーションでは,100トランザクション/秒(TPS)の処理を狙えるが,バッチアプリケーションでは,100トランザクション/分(TPM)程度の処理時間がかかっていた。
【0011】
最近の業務アプリケーションでは,バッチアプリケーションの数が多くなる傾向にあるが,バッチアプリケーションの数が多くなると,バッチ処理といえども,これまでのように処理時間が長くかかることは望ましいことではない。
【0012】
本発明は,上記従来技術の問題点を解決し,多数のバッチアプリケーションの高速処理を可能にすることを目的とする。
【0013】
【課題を解決するための手段】
上記課題を解決するため,本発明は,複数のバッチアプリケーションの実行を制御するバッチアプリケーション実行制御方法であって,1または複数のプログラム実行制御部を生成するステップと,前記生成された1または複数のプログラム実行制御部が,該プログラム実行制御部で実行すべきバッチアプリケーションのうち最初に呼び出して実行するバッチアプリケーションを呼び出す前に,前記複数のバッチアプリケーションに共通に必要となる共通処理を実行するステップと,前記共通処理の実行後に,前記バッチアプリケーションを順次,一つのプログラム実行制御部が一つずつ呼び出して実行する処理を,終了の指示があるまで繰り返すステップとを有することを特徴とする。
【0014】
また,本発明は,複数のバッチアプリケーションの実行を制御するバッチアプリケーション実行制御方法であって,前記複数のバッチアプリケーションの実行を制御するためのバッチ実行プロセスを起動するステップと,前記バッチ実行プロセスが,プログラム実行制御部を複数生成するステップと,前記生成された複数のプログラム実行制御部毎に,該プログラム実行制御部で実行すべきバッチアプリケーションのうち最初に呼び出して実行するバッチアプリケーションを呼び出す前に,前記複数のバッチアプリケーションに共通に必要となる共通処理を実行するステップと,前記バッチ実行プロセスが,前記バッチアプリケーションの実行依頼を受け付けるステップと,前記バッチ実行プロセスが,前記実行依頼を受け付けたバッチアプリケーションの実行を,現在バッチアプリケーションを実行していないプログラム実行制御部に指示するステップと,前記実行指示を受けたプログラム実行制御部が,指示されたバッチアプリケーションを呼び出して実行するステップとを有することを特徴とする。
【0015】
また,上記発明において,前記プログラム実行制御部を複数生成するステップでは,前記バッチ実行プロセスの起動時に読み込んだ情報に含まれる実行多重度数分のプログラム実行制御部を生成することを特徴とする。
【0016】
また,本発明は,複数のバッチアプリケーションの実行を制御するバッチアプリケーション実行制御装置であって,バッチ実行制御手段と,複数のプログラム実行制御手段とを備え,前記バッチ実行制御手段は,前記バッチアプリケーションの実行依頼を受け付ける手段と,前記プログラム実行制御手段に対し,前記実行依頼を受け付けたバッチアプリケーションの実行指示を行う手段とを備え,前記複数のプログラム実行制御手段の各々は,該プログラム実行制御手段で実行すべきバッチアプリケーションのうち最初に呼び出して実行するバッチアプリケーションを呼び出す前に,前記複数のバッチアプリケーションに共通に必要となる共通処理を実行する手段と,前記バッチ実行制御手段からのバッチアプリケーションの実行指示に対し,指示されたバッチアプリケーションを呼び出して実行する手段とを備えることを特徴とする。
【0017】
以上のバッチアプリケーション実行制御方法の処理は,コンピュータとソフトウェアプログラムとによって実現することができ,そのプログラムをコンピュータ読み取り可能な記録媒体に記録して提供することも,ネットワークを通して提供することも可能である。
【0018】
【発明の実施の形態】
以下,図を用いて本発明の実施の形態を説明する。
【0019】
図1は,本発明を実施する装置の構成例を示す図である。図中,100はCPUおよびメモリなどからなるデータ処理装置,1はバッチアプリケーション,2はプログラム実行制御部(スレッド)を生成し,プログラム実行制御部に実行命令を出してバッチアプリケーションを実行させるバッチ実行プロセス,4,4’はバッチアプリケーションを実行するプログラム実行制御部(スレッド)である。
【0020】
バッチ実行プロセス2において,プログラム実行制御部生成部20は,あらかじめ定められた個数のプログラム実行制御部4,4’のスレッドを生成する。実行依頼受付け部21は,各バッチアプリケーション1の実行依頼を受け付ける。実行待ち管理部22は,バッチアプリケーション1の実行依頼を実行待ちキュー23にキューイングする。バッチアプリ実行命令部24は,プログラム実行制御部4,4’に空きがあれば,そのプログラム実行制御部4,4’に実行命令を出す。
【0021】
プログラム実行制御部4(4’も同様)は,バッチアプリ共通処理部40,41およびバッチアプリ呼出し部42を備える。バッチアプリ共通処理部40は,どのバッチアプリケーション1も共通に最初に実行しなければならない必須処理の実行部分であり,例えばバッチアプリケーション1がデータベースにアクセスするプログラムであった場合には,DBコネクト処理を実行する部分である。また,バッチアプリケーション1がJavaプログラムであった場合には,JavaVMの起動処理などを実行する部分である。
【0022】
バッチアプリ共通処理部41は,どのバッチアプリケーション1も共通に最後に実行しなければならない必須処理の実行部分であり,例えばバッチアプリケーション1がデータベースにアクセスするプログラムであった場合には,DBディスコネクト処理を実行する部分である。また,バッチアプリケーション1がJavaプログラムであった場合には,JavaVMを終了させる処理などを実行する部分である。
【0023】
バッチアプリ呼出し部42は,バッチ実行プロセス2のバッチアプリ実行命令部24からの実行命令により,指定されたバッチアプリケーション1を呼び出して実行する処理部である。バッチアプリケーション1は,プログラム実行制御部4のスレッド上で関数呼出し,もしくはサブルーチン呼出しのような形態で動作する。オブジェクト指向システムの場合には,バッチアプリケーション1は,一つまたは複数のオブジェクトとして実現されてもよい。
【0024】
プログラム実行制御部4は,バッチ実行プロセス2から生成され,起動されると,最初に一度だけバッチアプリ共通処理部40による処理を実行し,その後は,バッチアプリ実行命令部24からの実行命令によって一度に一つのバッチアプリケーション1を呼び出す。そのバッチアプリケーション1の処理が終了すると,次のバッチアプリケーション1の実行命令受付け可能状態になり,終了の指示があるまで,各実行命令に対し,バッチアプリ呼出し部42によるバッチアプリケーション1の呼び出しを繰り返す。バッチ実行プロセス2から実行終了指示があると,最後に一度だけバッチアプリ共通処理部41による処理を実行し,終了する。
【0025】
図1に示す例では,バッチアプリケーションA,B,C…の実行依頼に対して,プログラム実行制御部4が,最初にバッチアプリ共通処理部40による処理を実行した後,バッチアプリ実行命令部24からの実行命令(A)に対し,バッチアプリ呼出し部42によってバッチアプリケーションAを呼び出して処理させ,プログラム実行制御部4’は,バッチアプリ共通処理部40’の実行後,実行命令(B)に対し,バッチアプリ呼出し部42’によって,バッチアプリケーションBを呼び出して処理させている。他の実行依頼C,D,E,…は,実行待ちキュー23に接続されている。
【0026】
バッチアプリケーションAの実行が終了すると,バッチアプリ実行命令部24からの次の実行命令(C)により,プログラム実行制御部4のバッチアプリ呼出し部42は,バッチアプリケーションCを呼び出して処理させる。
【0027】
従来技術では,各バッチアプリケーション毎にDBコネクト処理などのバッチアプリ共通処理部40による処理を実行することが必要であったのに対し,本発明では,プログラム実行制御部4が実行するので,各バッチアプリケーション1におけるバッチアプリ共通処理部40の処理は不要となる。
【0028】
図2は,本発明の実施の形態によるバッチアプリケーションの実行制御の例を説明する図である。本実施の形態では,図1のバッチアプリ共通処理部40の処理がDBコネクトであり,バッチアプリ共通処理部41の処理がDBディスコネクトであるものとする。
【0029】
図中の3はバッチ実行プロセス2にバッチアプリケーションの実行依頼をする起動プロセス,5は起動プロセス3の起動に必要なパラメタが書き込まれたパラメタファイル,6は実行プログラム名等のバッチアプリケーションを特定する情報が書き込まれたバッチアプリ情報ファイル,7はバッチ実行プロセス2の初期化に必要な情報が書き込まれた初期化ファイル,8はバッチ実行プロセス名,実行多重度,ログファイルのファイル数等の情報が書き込まれたパラメタファイルである。
【0030】
パラメタファイル5は,起動プロセス3を起動させるために読み込まれる。また,初期化ファイル7およびパラメタファイル8は,バッチ実行プロセス2を起動させるために読み込まれる。
【0031】
以下,図2に示す(a)〜(f)に従って,本実施の形態の動作例を説明する。
(a)まず,初期化ファイル7の内容とパラメタファイル8の内容を読み込み,バッチ実行プロセス2を起動させる。
(b)バッチ実行プロセス2は,パラメタファイル8の内容をもとにプログラム実行制御部(スレッド)4を生成する。そして,バッチ実行プロセス2は,初期化ファイル7の内容をもとにプログラム実行制御部(スレッド)4に命令を出し,プログラム実行制御部(スレッド)4毎にDBコネクトさせる。
(c)その後,バッチアプリケーション1の実行依頼をするために,パラメタファイル5,バッチアプリ情報ファイル6を読み込み,起動プロセス3を立ち上げる。
(d)起動プロセスは3,パラメタファイル5とコマンド引数で渡されるバッチアプリ情報ファイル6の内容をもとに,バッチ実行プロセス2にバッチアプリケーション1の実行処理を依頼する。なお,起動プロセス3からバッチ実行プロセス2への実行依頼には,TCP/IPの通信プロトコルを用いる。
(e)バッチ実行プロセス2は起動プロセス3からの実行依頼を受けると,受け付けた実行依頼のパラメタを取り込み,実行可否の条件を判定し,現在空いているプログラム実行制御部(スレッド)4に実行命令を出す。現在空いているプログラム実行制御部(スレッド)4が存在しない場合には,受け付けた実行依頼を実行待ちキュー23にキューイングし,実行待ち状態にする。
(f)バッチアプリケーション1の実行命令を受けたプログラム実行制御部(スレッド)4は,指定された実行プログラム名のバッチアプリケーション1を起動する。バッチアプリケーション1の実行が終了した場合には,実行終了をバッチ実行プロセス2に報告し,次のバッチアプリケーション1の実行命令を待つ。
【0032】
すべてのバッチアプリケーション1の実行を終了した後に,プログラム実行制御部(スレッド)4は,バッチ実行プロセス2からの指示によりDBディスコネクトを行い,スレッドを閉じる。
【0033】
上記のように,本発明の実施の形態では,システムの起動時に生成した複数のプログラム実行制御部(スレッド)4毎に一度だけDBへの接続処理(コネクト)を実施し,システムの終了時に一度だけDBへの切断処理(ディスコネクト)を実施する。また,バッチアプリケーション1の実施の際には,必ずプログラム実行制御部(スレッド)4からバッチアプリケーション1を呼び出す。プログラム実行制御部(スレッド)4内では,すでにDBへのコネクト処理を完了し,コネクト状態が保持されているため,バッチアプリケーション1毎にDBへのコネクト/ディスコネクト処理をする必要がなくなる。
【0034】
図3は,本発明の実施の形態における初期処理のフローを示す図である。本システムを立ち上げる場合,まず,バッチ実行プロセス2を起動させるために,初期化ファイル7の読み込みを行う(ステップS1)。初期化ファイル7の一例(SUSVINIT)を図4に示す。初期化ファイル7には,例えば図4に示すように,DBアクセスするユーザ名,DBアクセスするユーザのパスワード,インスタンス名,ログファイルの最大サイズ,ログを出力するレベル,ログファイルの最大数,インスタンスのURL(Javaの場合),JDBC(Java Database Connectivity)のドライバ名(Javaの場合),また,COBOL業務アプリケーションを実行するかどうかの情報が書き込まれている。JDBCは,JavaプログラムからDBにアクセスするための標準アプリケーションプログラムインタフェース(API)である。
【0035】
次に,パラメタファイル8の読み込みを行う(ステップS2)。パラメタファイル8の一例(fbdef.txt )を図5に示す。パラメタファイル8には,例えば図5に示すように,バッチ実行プロセス名,C/COBOL/Javaといった言語の種別,ポート番号(No),生成するプログラム実行制御部(スレッド)4の数を示す実行多重度,実行待ちとして接続できる最大実行依頼数であるキューの最大数(MAXキュー),パラメタファイルを複写する作業フォルダ,ログファイルを書き込むフォルダ,ログファイルのファイル数等の情報が書き込まれている。
【0036】
上記初期化ファイル7,パラメタファイル8の読み込み処理(ステップS1,S2)が行われることにより,バッチ実行プロセス2の起動が行われる(ステップS3)。その後,バッチ実行プロセス2によって,パラメタファイル8で指定された実行多重度の数分のプログラム実行制御部(スレッド)4の生成が行われる(ステップS4)。
【0037】
図6は,本発明の実施の形態におけるプログラム実行制御部(スレッド)生成処理のフローを示す図である。まず,バッチ実行プロセス2は,パラメタファイル実行多重度数分のプログラム実行制御部(スレッド)4を生成する(ステップS11)。プログラム実行制御部(スレッド)4を開始する(ステップS12)。プログラム実行制御部(スレッド)4は,最初にDBコネクトして(ステップS13),実行命令を待つ。バッチ実行プロセス2は,すべてのプログラム実行制御部(スレッド)4を生成した後,実行依頼を待つ。
【0038】
図7は,本発明の実施の形態におけるバッチアプリケーション実行処理フローを示す図である。バッチアプリケーション1を実行させる場合,オペレータの指示により,またはシステムの自動起動処理により,起動プロセス3を起動させるために,まず,パラメタファイル5の読み込みを行う(ステップS21)。パラメタファイル5の一例(fbdef.txt )を図8に示す。パラメタファイル5には,例えば図8に示すように,バッチ実行プロセス名,C/COBOL/Javaといった言語の種別,ポート番号(No),実行多重度,キューの最大数が書き込まれている。
【0039】
次に,バッチアプリ情報ファイル6の読み込みを行う(ステップS22)。バッチアプリ情報ファイル6の一例(inp1.txt)を図9に示す。バッチアプリ情報ファイル6には,例えば図9に示すように,実行プログラム名,打切り経過時間,データ1,データ2,会社コード,拠点コードというように,バッチアプリケーション1の実行に必要な情報が書き込まれている。
【0040】
具体的には,図9に示すバッチアプリ情報ファイル6に書き込まれた情報中,「pgm=pgm1」は,バッチ実行プロセス2上で実行させるバッチアプリケーション名(「pgm1」)を探すキーであり,「time=20」は,バッチ実行プロセス2上で待ちの場合,待機させておくタイムアウトが20秒であることを示す。
【0041】
また,「data1=11111111」,「data2=2222222」は,実行させるバッチアプリケーション1固有の引数であり,「cdcompany=000」は,実行させるバッチアプリケーション1上で,DB領域への検索に使用する会社コードのキーであり,「cdstore=000」は,実行させるバッチアプリケーション1上で,DB領域への検索に使用する拠点コードのキーである。
【0042】
次に,起動プロセス3の起動が行われる(ステップS23)。その後,図10に示すバッチ実行プロセス処理が行われる(ステップS24)。バッチ実行プロセス2からの実行命令により,プログラム実行制御部(スレッド)4がバッチアプリケーション1の呼び出し処理を行い(ステップS25),バッチアプリケーション1を実行する(ステップS26)。
【0043】
図10は,図7のステップS24におけるバッチ実行プロセス処理のフローを示す図である。まず,バッチ実行プロセス2が,起動プロセス3から実行依頼を受ける(ステップS31)。次に,現在の実行待ちキュー23中の実行依頼数がMAXキューの値(最大待ち実行依頼数)になったかどうかを判定し(ステップS32),現在の待ち実行依頼数がMAXキューの値になった場合には,エラー情報設定をして,起動プロセス3に実行依頼を受け付けできない旨を通知する(ステップS35)。
【0044】
現在の待ち実行依頼数がMAXキューの値より小さい場合には,実行多重度とアクティブスレッド数が異なるか否かを判定する(ステップS33)。すなわち,現在バッチアプリケーション1を実行していない空きスレッドがあるかどうかを判定する。空きスレッドがあった場合,そのプログラム実行制御部(スレッド)4に実行命令を送り,バッチアプリケーション1を実行させる(ステップS34)。実行多重度とアクティブスレッドの数が同じであり,空きスレッドがない場合には,受け付けた実行依頼を実行待ちキュー23にキューイングし,空きスレッドができるまで待つ(ステップS36)。
【0045】
図11は,本発明の実施の形態における終了処理のフローを示す図である。すべてのバッチアプリケーション1の終了により,またはオペレータ等の指示により,バッチ実行プロセス2の終了指示が行われると(ステップS41),バッチ実行プロセス2は,まず,すべてのプログラム実行制御部(スレッド)4に終了指示を出す(ステップS42)。プログラム実行制御部(スレッド)4は,DBディスコネクトを行い(ステップS43),終了する(ステップS44)。バッチ実行プロセス2は,プログラム実行制御部(スレッド)4の終了を確認した後,終了する(ステップS45)。
【0046】
図12は,バッチアプリケーション起動までのデータの流れを示す図である。(1)図12(A)に示すバッチアプリ情報ファイル6を起動プロセス3に読み込ませる。
(2)起動プロセス3で読み込まれたデータをバッチ実行プロセス2にTCP/IP通信で図12(B)に示す電文形式で送信する。
(3)起動プロセス3から送信されたきた電文をもとに,バッチ実行プロセス2上で図12(C)に示すようなハッシュマップを作成する。ハッシュマップとは,バッチアプリケーション1の実行に必要なパラメタおよびキーを集めたデータである。
(4)空いているプログラム実行制御部(スレッド)4に,図12(C)に示すハッシュマップを送る。空きスレッドがない場合,タイムアウト値まで空きスレッドができるのを待つ。タイムアウト値を超えた場合には,処理をしないで,エラー終了とする。
(5)図12(D)に示すハッシュマップのデータを引数にして,バッチアプリケーション「pgm1」を実行させる。pgm1内の処理で,引数の各キーをもとにデータを入力する。
【0047】
図13は,本発明の実施の形態におけるバッチアプリケーション実行処理のシーケンス図である。図13では,DBにコネクトしてデータ操作を行い,操作終了後にDBからディスコネクトする処理を行う業務アプリケーションであるバッチアプリケーションAおよびバッチアプリケーションBの実行処理を例にとって説明する。また,業務アプリケーション(バッチアプリケーションA,バッチアプリケーションB)は,例えば,Javaで開発されているものとする。
【0048】
図13において,まず,バッチ実行プロセス2が起動すると(a),バッチ実行プロセス2は,プログラム実行制御部(スレッド)4を生成し,プログラム実行制御部(スレッド)4に命令を出してDBコネクトさせる(b)。
【0049】
次に,起動プロセス3が起動すると(c),起動プロセス3は,バッチ実行プロセス2に実行依頼を行う(d)。バッチ実行プロセス2は,現在空いているプログラム実行制御部(スレッド)4に実行命令を出す(e)。実行命令を受けたプログラム実行制御部(スレッド)4は,業務アプリクラスを生成し,バッチアプリケーションAを呼び出して実行する(f)。実行処理が完了すると,バッチ実行プロセス2が,プログラム実行制御部(スレッド)4から実行完了通知を受ける(g)。
【0050】
再度,起動プロセス3が起動すると(h),起動プロセス3は,バッチ実行プロセス2に実行依頼を行う(i)。バッチ実行プロセス2は,現在空いているプログラム実行制御部(スレッド)4に実行命令を出す(j)。実行命令を受けたプログラム実行制御部(スレッド)4は,業務アプリクラスを生成し,バッチアプリケーションBを呼び出して実行する(k)。
【0051】
バッチ実行プロセス2は,プログラム実行制御部(スレッド)4から実行完了通知を受け(l),その後,実行すべきバッチアプリケーションがないことを確認すると,プログラム実行制御部(スレッド)4に命令を出してDBディスコネクトさせ,終了処理を行う(m)。
【0052】
以上から把握できるように,本発明の実施の形態の特徴を述べると,以下のようである。
【0053】
(付記1)複数のバッチアプリケーションの実行を制御するバッチアプリケーション実行制御方法であって,
1または複数のプログラム実行制御部を生成するステップと,
前記生成された1または複数のプログラム実行制御部が,最初に前記複数のバッチアプリケーションに共通に必要となる共通処理を実行するステップと,
前記共通処理の実行後に,前記バッチアプリケーションを順次,一つのプログラム実行制御部が一つずつ呼び出して実行する処理を,すべてのバッチアプリケーションの実行が終了するまで繰り返すステップとを有する
ことを特徴とするバッチアプリケーション実行制御方法。
【0054】
(付記2)複数のバッチアプリケーションの実行を制御するバッチアプリケーション実行制御方法であって,
前記複数のバッチアプリケーションの実行を制御するためのバッチ実行プロセスを起動するステップと,
前記バッチ実行プロセスが,プログラム実行制御部を複数生成するステップと,
前記生成された複数のプログラム実行制御部毎に,最初に前記複数のバッチアプリケーションに共通に必要となる共通処理を実行するステップと,
前記バッチ実行プロセスが,前記バッチアプリケーションの実行依頼を受け付けるステップと,
前記バッチ実行プロセスが,前記実行依頼を受け付けたバッチアプリケーションの実行を,現在バッチアプリケーションを実行していないプログラム実行制御部に指示するステップと,
前記実行指示を受けたプログラム実行制御部が,指示されたバッチアプリケーションを呼び出して実行するステップとを有する
ことを特徴とするバッチアプリケーション実行制御方法。
【0055】
(付記3)付記2に記載のバッチアプリケーション実行制御方法において,
前記バッチ実行プロセスが,前記プログラム実行制御部を複数生成するステップでは,前記バッチ実行プロセスの起動時に読み込んだ情報に含まれる実行多重度数分のプログラム実行制御部を生成する
ことを特徴とするバッチアプリケーション実行制御方法。
【0056】
(付記4)付記1から付記3までのいずれか1項に記載のバッチアプリケーション実行制御方法において,
さらに,前記プログラム実行制御部が,終了する前に,前記バッチアプリケーションの終了時に共通に必要となる共通処理を実行するステップを有する
ことを特徴とするバッチアプリケーション実行制御方法。
【0057】
(付記5)複数のバッチアプリケーションの実行を制御するバッチアプリケーション実行制御装置であって,
バッチ実行制御手段と,複数のプログラム実行制御手段とを備え,
前記バッチ実行制御手段は,
前記バッチアプリケーションの実行依頼を受け付ける手段と,
前記プログラム実行制御手段に対し,前記実行依頼を受け付けたバッチアプリケーションの実行指示を行う手段とを備え,
前記複数のプログラム実行制御手段の各々は,
最初に前記複数のバッチアプリケーションに共通に必要となる共通処理を実行する手段と,
前記バッチ実行制御手段からのバッチアプリケーションの実行指示に対し,指示されたバッチアプリケーションを呼び出して実行する手段とを備える
ことを特徴とするバッチアプリケーション実行制御装置。
【0058】
(付記6)付記1から付記4までのいずれか1項に記載のバッチアプリケーション実行制御方法を,コンピュータに実行させるためのバッチアプリケーション実行制御プログラム。
【0059】
(付記7)付記1から付記4までのいずれか1項に記載のバッチアプリケーション実行制御方法を,コンピュータに実行させるためのバッチアプリケーション実行制御プログラムを記録したコンピュータ読み取り可能な記録媒体。
【0060】
【発明の効果】
本発明により,バッチアプリケーションを高速に処理することができるため,夜間時などに行う定期バッチアプリケーションの処理時間を短縮することが可能となる。
【0061】
また,本発明を用いることにより,例えば,データベースのコネクト/ディスコネクト処理やJavaVMの起動処理を,バッチアプリケーション毎に行わなくてよいので,システム全体の負荷を軽減することが可能となる。
【図面の簡単な説明】
【図1】本発明を実施する装置の構成例を示す図である。
【図2】本発明の実施の形態によるバッチアプリケーションの実行制御の例を説明する図である。
【図3】初期処理のフローを示す図である。
【図4】初期化ファイルの一例を示す図である。
【図5】パラメタファイルの一例を示す図である。
【図6】プログラム実行制御部(スレッド)生成処理のフローを示す図である。
【図7】バッチアプリケーション実行処理フローを示す図である。
【図8】パラメタファイルの一例を示す図である。
【図9】バッチアプリ情報ファイルの一例を示す図である。
【図10】バッチ実行プロセス処理のフローを示す図である。
【図11】終了処理のフローを示す図である。
【図12】バッチアプリケーション起動までのデータの流れを示す図である。
【図13】バッチアプリケーション実行処理のシーケンス図である。
【図14】従来のバッチアプリケーションの動作説明図である。
【符号の説明】
1,11 バッチアプリケーション
2 バッチ実行プロセス
3 起動プロセス
4 プログラム実行制御部(スレッド)
5 パラメタファイル
6,10 バッチアプリ情報ファイル
7 初期化ファイル
8 パラメタファイル
20 プログラム実行制御部生成部
21 実行依頼受付け部
22 実行待ち管理部
23 実行待ちキュー
24 バッチアプリ実行命令部
40,41 バッチアプリ共通処理部
42 バッチアプリ呼出し部
100 データ処理装置

Claims (5)

  1. 複数のバッチアプリケーションの実行を制御するバッチアプリケーション実行制御方法であって,
    1または複数のプログラム実行制御部を生成するステップと,
    前記生成された1または複数のプログラム実行制御部が,該プログラム実行制御部で実行すべきバッチアプリケーションのうち最初に呼び出して実行するバッチアプリケーションを呼び出す前に,前記複数のバッチアプリケーションに共通に必要となる共通処理を実行するステップと,
    前記共通処理の実行後に,前記バッチアプリケーションを順次,一つのプログラム実行制御部が一つずつ呼び出して実行する処理を,終了の指示があるまで繰り返すステップとを有する
    ことを特徴とするバッチアプリケーション実行制御方法。
  2. 複数のバッチアプリケーションの実行を制御するバッチアプリケーション実行制御方法であって,
    前記複数のバッチアプリケーションの実行を制御するためのバッチ実行プロセスを起動するステップと,
    前記バッチ実行プロセスが,プログラム実行制御部を複数生成するステップと,
    前記生成された複数のプログラム実行制御部毎に,該プログラム実行制御部で実行すべきバッチアプリケーションのうち最初に呼び出して実行するバッチアプリケーションを呼び出す前に,前記複数のバッチアプリケーションに共通に必要となる共通処理を実行するステップと,
    前記バッチ実行プロセスが,前記バッチアプリケーションの実行依頼を受け付けるステップと,
    前記バッチ実行プロセスが,前記実行依頼を受け付けたバッチアプリケーションの実行を,現在バッチアプリケーションを実行していないプログラム実行制御部に指示するステップと,
    前記実行指示を受けたプログラム実行制御部が,指示されたバッチアプリケーションを呼び出して実行するステップとを有する
    ことを特徴とするバッチアプリケーション実行制御方法。
  3. 請求項2に記載のバッチアプリケーション実行制御方法において,
    前記バッチ実行プロセスが,前記プログラム実行制御部を複数生成するステップでは,前記バッチ実行プロセスの起動時に読み込んだ情報に含まれる実行多重度数分のプログラム実行制御部を生成する
    ことを特徴とするバッチアプリケーション実行制御方法。
  4. 複数のバッチアプリケーションの実行を制御するバッチアプリケーション実行制御装置であって,
    バッチ実行制御手段と,複数のプログラム実行制御手段とを備え,
    前記バッチ実行制御手段は,
    前記バッチアプリケーションの実行依頼を受け付ける手段と,
    前記プログラム実行制御手段に対し,前記実行依頼を受け付けたバッチアプリケーションの実行指示を行う手段とを備え,
    前記複数のプログラム実行制御手段の各々は,
    該プログラム実行制御手段で実行すべきバッチアプリケーションのうち最初に呼び出して実行するバッチアプリケーションを呼び出す前に,前記複数のバッチアプリケーションに共通に必要となる共通処理を実行する手段と,
    前記バッチ実行制御手段からのバッチアプリケーションの実行指示に対し,指示されたバッチアプリケーションを呼び出して実行する手段とを備える
    ことを特徴とするバッチアプリケーション実行制御装置。
  5. 請求項1から請求項3までのいずれか1項に記載のバッチアプリケーション実行制御方法を,コンピュータに実行させるためのバッチアプリケーション実行制御プログラム。
JP2003161556A 2003-06-06 2003-06-06 バッチアプリケーション実行制御方法,バッチアプリケーション実行制御装置およびバッチアプリケーション実行制御プログラム Expired - Fee Related JP4071678B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003161556A JP4071678B2 (ja) 2003-06-06 2003-06-06 バッチアプリケーション実行制御方法,バッチアプリケーション実行制御装置およびバッチアプリケーション実行制御プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003161556A JP4071678B2 (ja) 2003-06-06 2003-06-06 バッチアプリケーション実行制御方法,バッチアプリケーション実行制御装置およびバッチアプリケーション実行制御プログラム

Publications (2)

Publication Number Publication Date
JP2004362376A JP2004362376A (ja) 2004-12-24
JP4071678B2 true JP4071678B2 (ja) 2008-04-02

Family

ID=34053936

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003161556A Expired - Fee Related JP4071678B2 (ja) 2003-06-06 2003-06-06 バッチアプリケーション実行制御方法,バッチアプリケーション実行制御装置およびバッチアプリケーション実行制御プログラム

Country Status (1)

Country Link
JP (1) JP4071678B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4801761B2 (ja) 2009-08-12 2011-10-26 株式会社日立製作所 データベース管理方法およびシステム並びにその処理プログラム

Also Published As

Publication number Publication date
JP2004362376A (ja) 2004-12-24

Similar Documents

Publication Publication Date Title
US8332845B2 (en) Compile timing based on execution frequency of a procedure
KR100763316B1 (ko) 그리드에서 상태 정보를 입수하기 위한 방법 및 장치
US7330872B2 (en) Method for distributed program execution with web-based file-type association
US7117243B2 (en) Methods for distributed program execution with file-type association in a client-server network
US6237005B1 (en) Web server mechanism for processing multiple transactions in an interpreted language execution environment
US5504898A (en) Threaded environment for AS/400
US6952714B2 (en) Method for distributed program execution with server-based file type association
CA2462271C (en) Methods for distributed program execution with file-type association in a client-server network
JP5347016B2 (ja) 仮想サーバを効率的に管理および構成するための方法ならびにシステム
JP4242458B2 (ja) ライセンス管理システム
US8458727B2 (en) Asynchronous client to server updates
US8136127B1 (en) System and method for linearly managing client-server communication
CN112668386A (zh) 使用机器人过程自动化用于文档处理的长时间运行工作流
US8789058B2 (en) System and method for supporting batch job management in a distributed transaction system
JP2001249907A (ja) 起動処理方式
TW200828118A (en) Method and process for using common preinstallation environment for heterogeneous operating systems
US6938257B1 (en) Apparatus and method to provide persistence for application interfaces
WO2021022714A1 (zh) 跨区块链节点的消息处理方法及装置、设备、介质
JP3307329B2 (ja) ネットワーク構成管理対象アクセスシステム及び方法
US20040049544A1 (en) In-context launch management method, system therefor, and computer-readable storage medium
JP4071678B2 (ja) バッチアプリケーション実行制御方法,バッチアプリケーション実行制御装置およびバッチアプリケーション実行制御プログラム
JP2007141056A (ja) 情報処理システムおよびライセンス管理方法
JP2013186765A (ja) バッチ処理システム、進捗状況確認装置、進捗状況確認方法、及びプログラム
JP3586943B2 (ja) プログラムロード装置と方法
WO2011118048A1 (ja) プログラム実行方法、計算機システム及びプログラム実行制御プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051222

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070612

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070808

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080117

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4071678

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110125

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110125

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120125

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130125

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130125

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140125

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees