(57)【特許請求の範囲】
【請求項１】
所定の処理を実行する複数のジョブから成る業務プログラムと、該ジョブを実行するための入力データを格納する入力マスタファイル及び前記ジョブ実行により処理された出力データを格納する出力マスタファイルを格納する動的記録装置と、前記入力マスタファイル及び出力マスタファイルをメモリ空間上に展開する静的記憶装置と、前記複数のジョブを実行する手順及び入力マスタファイルから入力する入力データ及び出力マスタファイルに出力する出力データとを定義したジョブ定義情報と、該ジョブ定義情報に定義されたジョブ実行順並びに入力データ及び出力データを参照して前記業務プログラムのジョブを実行させるバッチ制御プログラムと、該バッチ制御プログラムを制御するコンピュータとを備えるバッチ処理実行システムのバッチ処理実行方法であって、
前記バッチ制御プログラムを、
前記ジョブ定義情報に定義したジョブを、一方ジョブの出力データが他方ジョブの入力データとなる順番に実行する非同期バッチ処理として実行する非同期処理用バッチ制御プログラム(バッチ用）と、
前記ジョブ定義情報に定義したジョブを、定義された順番に従って実行する同期処理用バッチ制御プログラム(オンライン用）とから構成し、
該同期処理用バッチ制御プログラム(オンライン用）が、同期バッチ処理の指令を受けたとき、
前記静的記憶装置のメモリ空間上に前記入力マスタファイル及び出力マスタファイルを生成する第１工程と、
第１工程により生成した入力マスタファイル及び出力マスタファイルに動的記憶装置に格納した入力データ及び出力データを複写する第２工程と、
前記ジョブ定義情報に定義した順番に従ったジョブが前記静的記憶装置に展開した入力マスタファイル及び出力マスタファイルの入力データ及び出力データを参照しながらジョブを実行させる第３工程とを行うバッチ処理実行方法。
【請求項２】
前記コンピュータシステムに、前記動的記憶装置又は静的記憶装置のどちらか一方へのジョブからのアクセスを切り替えるファイル入出力プログラムを設け、
前記同期処理用バッチ制御プログラム(オンライン用）が、同期バッチ処理の指令を受けたとき、前記ファイル入出力プログラムを用いてジョブからのアクセスを静的記憶装置に切り替える請求項１記載のバッチ処理実行方法。
【請求項３】
所定の処理を実行する複数のジョブから成る業務プログラムと、該ジョブを実行するための入力データを格納する入力マスタファイル及び前記ジョブ実行により処理された出力データを格納する出力マスタファイルを格納する動的記録装置と、前記入力マスタファイル及び出力マスタファイルをメモリ空間上に展開する静的記憶装置と、前記複数のジョブを実行する手順及び入力マスタファイルから入力する入力データ及び出力マスタファイルに出力する出力データとを定義したジョブ定義情報と、該ジョブ定義情報に定義されたジョブ実行順並びに入力データ及び出力データを参照して前記業務プログラムのジョブを実行させるバッチ制御プログラムと、該バッチ制御プログラムを制御するコンピュータとを備えるバッチ処理実行システムであって、
前記バッチ制御プログラムが、
前記ジョブ定義情報に定義したジョブを、一方ジョブの出力データが他方ジョブの入力データとなる順番に実行する非同期バッチ処理として実行する非同期処理用バッチ制御プログラム(バッチ用）と、
前記ジョブ定義情報に定義したジョブを、定義された順番に従って実行する同期処理用バッチ制御プログラム(オンライン用）とから構成され、
該同期処理用バッチ制御プログラム(オンライン用）に、同期バッチ処理の指令を受けたとき、
前記静的記憶装置のメモリ空間上に前記入力マスタファイル及び出力マスタファイルを生成する第１工程と、
第１工程により生成した入力マスタファイル及び出力マスタファイルに動的記憶装置に格納した入力データ及び出力データを複写する第２工程と、
前記ジョブ定義情報に定義した順番に従ったジョブが前記静的記憶装置に展開した入力マスタファイル及び出力マスタファイルの入力データ及び出力データを参照しながらジョブを実行させる第３工程とを行わせるバッチ処理実行システム。
【請求項４】
前記コンピュータシステムに、前記動的記憶装置又は静的記憶装置のどちらか一方へのジョブからのアクセスを切り替えるファイル入出力プログラムを設け、
前記同期処理用バッチ制御プログラム(オンライン用）に、同期バッチ処理の指令を受けたとき、前記ファイル入出力プログラムを用いてジョブからのアクセスを静的記憶装置に切り替えさせる請求項３記載のバッチ処理実行システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、所定の処理を実行する複数のジョブから成る業務プログラムをジョブ定義情報に従ってオンラインによるバッチ処理を行うことができるバッチ処理実行方法及びバッチ処理実行システムに関する。
【背景技術】
【０００２】
一般にメインフレームコンピュータシステムにおいては、ＪＣＬ（ジョブ制御言語）を用いてジョブステップ（ジョブを構成する最小単位となる処理プログラム）を組み合わせたジョブ定義情報を用意しておき、ジョブ開始コマンドが投入されたとき、メインフレームが前記ジョブ定義されたジョブステップを読み込み、定義された順に行プログラムを実行することが行われており、この処理手順はバッチ処理と呼ばれる。
【０００３】
このバッチ処理は、業務プログラムの処理手順がジョブ定義情報として管理されるために処理順の組替えや処理を追加することによる変更が容易であると共に、各プログラムが独立しているために保守性が高く、更に自動実行されるために例えば夜間のコンピュータシステムの空き時間に大量のデータ処理を自動的に実行することができると言う特性があり、大量データを長時間かけて処理するため、例えば地方自治体において所定の帳票を大量に発行する等の業務に好適である。
【０００４】
またメインフレームコンピュータシステムは、前記バッチ処理に限らず、オペレータの操作により要求された処理を即座に実行するオンライン処理があり、このオンライン処理はリアルタイム処理とも呼ばれる。
【０００５】
前述のバッチ処理では対象プログラムに対し実行コマンドが投入されると投入プログラムとは無関係に処理が実行され、オンライン処理では対象プログラムが完了するまで制御が投入プログラムに戻らない特性がある。
【０００６】
尚、前記オンライン処理とバッチ処理を切り替えるコンピュータシステムに関する技術が記載された文献としては下記特許文献１が挙げられ、該特許文献１には、バッチ処理開始指示に基づいてオンラインプログラム終了コマンドを発行するオンラインプログラム終了コマンド発行手段と、オンラインプログラム終了メッセージを受けてバッチ処理プログラムを起動する静止点プログラムとを設け、オンラインプログラム終了コマンド発行手段及び静止点プログラムとを用いてオンライン処理からバッチ処理に容易に移行する技術が記載されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平４−３４３１５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
前述の特許文献１には、オンライン処理からバッチ処理に移行することができるコンピュータシステムが記載されているものの、例えば前述のバッチ処理により行った１件のデータに変更が生じ、この訂正した１件のデータ処理を行うためにバッチ処理を行う場合、バッチ処理は長時間処理を前提としてプログラム間の制御や通信（プロセス間通信）を行うオーバーヘッド（余分な処理時間）が大きいため、数秒単位の待ち時間を前提としているオンライン処理には向かないと言う不具合があった。
【０００９】
これを具体的に説明すると、操作者が即時的処理を行うためのオンラインサーバ機能部及び前述のバッチ処理を行うためのバッチサーバ機能部とを含むコンピュータシステムにおいては、バッチ処理を行う場合、前述の特許文献１記載のようにオンライン機能部の実行中の処理を停止した後にバッチサーバ機能部に対してバッチ処理を命令すること、バッチサーバ機能部では複数のリソース及びジョブを同時に立ち上げること、データをファイルによって各ジョブ間で引き渡しを行うために磁気ディスク装置等への入出力時間を要すること、通信に要するオーバーヘッドを有すること、該バッチサーバ機能部が所定時間毎にバッチ処理が起動されたか否かをオンラインサーバ機能部側にポーリングにより問い合わせること等の多数の要因によって、多種のオーバーヘッドが生じ、結果的にオーバーヘッドによるオペレータの待ち時間が冗長となると言う不具合があった。
【００１０】
これは例えば前述の地方自治体の所定の帳票発行処理を行うバッチ処理を想定した場合、１件の帳票データの修正を行い、このデータを修正した帳票を１件分だけ再発行するためには、前述したオーバーヘッドによる待ち時間が冗長となり、オンライン処理に慣れている地方自治体の操作者にとって長時間待たなければならいと言う不具合があった。
【００１１】
また、オンライン機能部がバッチサーバ機能部によるバッチ処理を直接実行するためのオンライン機能部用のプログラムを開発することも考えられるが、この場合、多種多様の業務プログラムに対応したオンライン機能部用の多種プログラムを開発しなければならないと言う不具合もあった。
【００１２】
本発明の目的は、オンライン処理から同期的にバッチ処理を行うことができるバッチ処理実行方法及びバッチ処理実行システムを提供することである。
【課題を解決するための手段】
【００１３】
前記目的を達成するために本発明は、所定の処理を実行する複数のジョブから成る業務プログラムと、該ジョブを実行するための入力データを格納する入力マスタファイル及び前記ジョブ実行により処理された出力データを格納する出力マスタファイルを格納する動的記録装置と、前記入力マスタファイル及び出力マスタファイルをメモリ空間上に展開する静的記憶装置と、前記複数のジョブを実行する手順及び入力マスタファイルから入力する入力データ及び出力マスタファイルに出力する出力データとを定義したジョブ定義情報と、該ジョブ定義情報に定義されたジョブ実行順並びに入力データ及び出力データを参照して前記業務プログラムのジョブを実行させるバッチ制御プログラムと、該バッチ制御プログラムを制御するコンピュータとを備えるバッチ処理実行システムのバッチ処理実行方法であって、
前記バッチ制御プログラムを、
前記ジョブ定義情報に定義したジョブを、一方ジョブの出力データが他方ジョブの入力データとなる順番に実行する非同期バッチ処理として実行する非同期処理用バッチ制御プログラム（バッチ用）と、
前記ジョブ定義情報に定義したジョブを、定義された順番に従って実行する同期処理用バッチ制御プログラム（オンライン用）とから構成し、
該同期処理用バッチ制御プログラム（オンライン用）が、同期バッチ処理の指令を受けたとき、
前記静的記憶装置のメモリ空間上に前記入力マスタファイル及び出力マスタファイルを生成する第１工程と、
第１工程により生成した入力マスタファイル及び出力マスタファイルに動的記憶装置に格納した入力データ及び出力データを複写する第２工程と、
前記ジョブ定義情報に定義した順番に従ったジョブが前記静的記憶装置に展開した入力マスタファイル及び出力マスタファイルの入力データ及び出力データを参照しながらジョブを実行させる第３工程とを行うことを第１の特徴とする。
【００１４】
また本発明は、第１の特徴のバッチ処理実行方法において、前記コンピュータシステムに、前記動的記憶装置又は静的記憶装置のどちらか一方へのジョブからのアクセスを切り替えるファイル入出力プログラムを設け、前記同期処理用バッチ制御プログラム(オンライン用）が、同期バッチ処理の指令を受けたとき、前記ファイル入出力プログラムを用いてジョブからのアクセスを静的記憶装置に切り替えることを第２の特徴とする。
【００１５】
更に本発明は、所定の処理を実行する複数のジョブから成る業務プログラムと、該ジョブを実行するための入力データを格納する入力マスタファイル及び前記ジョブ実行により処理された出力データを格納する出力マスタファイルを格納する動的記録装置と、前記入力マスタファイル及び出力マスタファイルをメモリ空間上に展開する静的記憶装置と、前記複数のジョブを実行する手順及び入力マスタファイルから入力する入力データ及び出力マスタファイルに出力する出力データとを定義したジョブ定義情報と、該ジョブ定義情報に定義されたジョブ実行順並びに入力データ及び出力データを参照して前記業務プログラムのジョブを実行させるバッチ制御プログラムと、該バッチ制御プログラムを制御するコンピュータとを備えるバッチ処理実行システムであって、
前記バッチ制御プログラムが、
前記ジョブ定義情報に定義したジョブを、一方ジョブの出力データが他方ジョブの入力データとなる順番に実行する非同期バッチ処理として実行する非同期処理用バッチ制御プログラム(バッチ用）と、
前記ジョブ定義情報に定義したジョブを、定義された順番に従って実行する同期処理用バッチ制御プログラム(オンライン用）とから構成され、
該同期処理用バッチ制御プログラム（オンライン用）に、同期バッチ処理の指令を受けたとき、
前記静的記憶装置のメモリ空間上に前記入力マスタファイル及び出力マスタファイルを生成する第１工程と、
第１工程により生成した入力マスタファイル及び出力マスタファイルに動的記憶装置に格納した入力データ及び出力データを複写する第２工程と、
前記ジョブ定義情報に定義した順番に従ったジョブが前記静的記憶装置に展開した入力マスタファイル及び出力マスタファイルの入力データ及び出力データを参照しながらジョブを実行させる第３工程とを行わせることを第３の特徴とする。
【００１６】
また本発明は、第３の特徴のバッチ処理実行システムにおいて、前記動的記憶装置又は静的記憶装置のどちらか一方へのジョブからのアクセスを切り替えるファイル入出力プログラムを設け、前記同期処理用バッチ制御プログラム(オンライン用）に、同期バッチ処理の指令を受けたとき、前記ファイル入出力プログラムを用いてジョブからのアクセスを静的記憶装置に切り替えさせることを第４の特徴とする。
【発明の効果】
【００１７】
本発明によるバッチ処理実行方法及びバッチ処理実行システムは、バッチ制御プログラムを、ジョブ定義情報に定義したジョブを一方ジョブの出力データが他方ジョブの入力データとなる順番に実行する非同期バッチ処理として実行する非同期処理用バッチ制御プログラム（バッチ用）と、前記ジョブ定義情報に定義したジョブを定義された順番に従って実行する同期処理用バッチ制御プログラム(オンライン用）とから構成し、この同期処理用バッチ制御プログラム(オンライン用）が、同期バッチ処理の指令を受けたとき、静的記憶装置のメモリ空間上に前記入力マスタファイル及び出力マスタファイルを生成して動的記憶装置の入力データ及び出力データを複写し、該動的記憶装置の入力データ及び出力データを参照して同期バッチ処理を実行することによって、オンラインサーバから比較的高速にバッチ処理を実行することができる。
【図面の簡単な説明】
【００１８】
【図１】本発明によるオンラインバッチ処理を行うコンピュータシステムの説明図。
【図２】本実施形態によるオンラインバッチ処理の動作説明図。
【図３】本実施形態による処理形態切換による記憶手段切替の説明図。
【図４】本実施形態による非同期的処理によるバッチ処理の説明図。
【図５】本実施形態による同期的処理によるバッチ処理の説明図。
【発明を実施するための形態】
【００１９】
以下、本発明によるバッチ処理実行方法及びバッチ処理実行システムの一実施形態を図面を参照して詳細に説明する。本実施形態によるコンピュータシステムは、図１に示す如く、ハードウェア的には１台のコンピュータ内に複数の機能部として構成され、図示しないデータベースサーバ等に接続され、オペレータの操作により指示された処理を実行するオンラインサーバ機能部１００と、後述するオンラインサーバ機能部１００からのジョブ開始コマンドが投入されたとき、前述したジョブ定義を参照したバッチ処理を実行するバッチサーバ機能部３００と、前記オンラインサーバ機能部１００及びバッチサーバ機能部３００間に位置し、オンラインサーバ機能部１００から指示される従来の非同期処理による大量データのバッチ処理／オンラインサーバ機能部１００とオンライン状態を維持した状態でのオンラインバッチ処理を制御するオンラインバッチインタフェース（Ｉ／Ｆ）機能部２００とから構成される。尚、本明細書においては、前記バッチサーバ機能部３００が夜間等に大量データ処理を行うバッチ処理を非同期的処理と呼び、前記オンライン機能部１００がオペレータの操作により要求されたバッチ処理を即座に実行する処理を同期的処理又はオンラインバッチ処理と呼ぶ。
【００２０】
前記オンラインサーバ機能部１００は、各種機能を実行する複数のプログラム及びデータ格納部を有し、例えば、図１及び図２に示す如く、データ変換を行うデータ変換機能部１１１と、データ変換その他の設定パラメータを格納するパラメータ設定データ部１１２と、実行するジョブ番号の順番等のジョブ情報を格納するジョブ情報設定データ部１１３と、前記バッチサーバ機能部３００に対するバッチ処理のジョブ実行を命令するジョブ投入機能部１１４と、該ジョブ投入機能部１１４の投入によるバッチサーバ機能部３００によるバッチ処理の実行結果を監視するためのジョブ監視機能部１１５と、ファイル入出力プログラムその他プログラムを備える。
【００２１】
前記バッチサーバ機能部３００は、バッチ処理を実行するためのジョブステップを組み合わせたジョブ定義情報を格納するジョブ定義ファイル３３０と、該ジョブステップにより実行される複数の業務プログラム３４０と、該定義情報ら基づいた業務プログラム３４０を前記定義情報に基づいて実行する業務プログラム実行部３２０と、該業務プログラム実行部３２０により業務プログラムをバッチ処理するバッチ制御プログラム３１０と、前記業務プログラム３４０を実行する際に参照するデータを格納する入力マスタファイル３５０と、該業務プログラム３４０を実行した結果である結果データを格納する出力マスタファイル３６０とから構成される。
【００２２】
本実施形態における前記入力マスタファイル３５０及び出力マスタファイル３６０は、磁気ディスク装置等の磁気ヘッドと記録媒体との相対的移動によりデータの記録再生を行う物理ディスクである大容量な動的記録装置に格納されるものと、半導体メモリ等（例えば、ＲＡＭディスク）の比較的小容量の静的記録装置に格納されるものがあり、静的記録装置は動的記録装置に比べて高速にデータ記録再生が可能なものである。
【００２３】
前記バッチ制御プログラム３１０は、後述する大量のデータ処理を非同期で行うバッチ処理用の非同期処理用バッチ処理プログラム４１０と、オンライン接続された状態で少量データの処理を行う同期処理用オンラインバッチ処理プログラム４２０を含むものとする。
【００２４】
前記オンラインバッチインタフェース機能部２００は、オンラインサーバ機能部１００から指示される非同期処理による大量データのバッチ処理とオンライン状態を維持した状態でのオンラインバッチ処理を制御するものであって、前記オンラインサーバ機能部１００のジョブ投入機能部１１４によるジョブ投入によるオンラインでのバッチ処理を管理するジョブ管理部２１０と、該バッチ処理実行時のパラメータを管理するためのパラメータ管理部２２０と、前記バッチサーバ機能部３００のバッチ処理の経過を監視するためのステータス管理部２３０とから構成される。
【００２５】
このように構成された本実施形態によるコンピュータシステムは、図２に示す如く、ジョブ投入機能部１１４からオンラインバッチ処理が投入された場合、オンラインプログラム１１０がバッチ制御プログラム３１０（同期処理用バッチ制御プログラム）をオブジェクトとして生成し、オンラインプログラムとプロセス空間を共有させ、該バッチ制御プログラム３１０が、データ変換機能部１１１から読み出したデータ変換プログラムとパラメータ設定データ部１１２から読み出したパラメータとジョブ情報設定データ部１１３から読み出したジョブ情報とを抽出するステップａと、ジョブ定義ファイル３３０から読み出した定義情報と業務プログラム３４０とを抽出するステップｂと、前記ステップａ及びｂにより読み出したプログラム／データ／定義情報を業務プログラム実行部３２０に引き渡すステップｄと、磁気ディスク装置等の動的記録装置から入力マスタファイル３５０及び出力マスタファイル３６０を読み出して静的記憶装置であるＲＡＭディスクのメモリ空間上に展開するステップ（図示せず）と、業務プログラム実行部３２０が前記展開した入力マスタファイル３５０から入力データを読み出すステップｅと、これら読み出した入力マスタデータやジョブ定義情報等を基に業務プログラム３４０を業務プログラム実行部３２０によりジョブステップに従って順次実行するステップ（図示せず）と、該業務プログラム実行部３２０により実行した業務プログラム３４０の処理結果である結果データを前記展開した出力マスタファイル３６０に出力するステップｆと、前記業務プログラム３４０の実行経緯をジョブ監視機能部１１５に報告するステップｈとを実行する。
【００２６】
前述のバッチ制御プログラム３１０は、オンラインサーバ機能部１００からジョブ投入された処理が、大量のデータ処理を非同期処理用バッチ処理か、オンライン接続された状態で少量データの処理を行う同期処理用バッチ処理かによって、非同期用バッチ処理プログラムか同期処理用オンラインバッチ処理プログラムかを判定し、該判定結果によって何れか一方のバッチ制御プログラムを起動し、非同期バッチ処理か同期オンラインバッチ処理かによって磁気ディスク装置又はＲＡＭディスクの何れか一方の記録媒体を選択してファイル処理動作或いはパイプ処理動作を実行するものである。
【００２７】
この記録媒体の選択処理は、図３に示す如く、例えばバッチ用の非同期用バッチ制御プログラム（バッチ用）４１０のオンラインフラグがＯＦＦ、オンラインバッチ用の同期用バッチ制御プログラム（オンライン用）４２０のオンラインフラグがＯＮの場合、業務プログラム３４０がオンラインフラグがＯＮであることをファイル入出力プログラム４４０に通知し、この通知を受けたファイル入出力プログラム４４０が、磁気ディスク装置等の物理ディスク４５０をＯＦＦ、ＲＡＭディスク１２０をＯＮに設定（ＲＡＭディスクをメモリ上に作成することも含む）し、該ＲＡＭディスク１２０の入力マスタファイル３５０及び出力マスタファイル３６０を用いてデータの入出力を行うように動作する。
【００２８】
本実施形態によるバッチ処理実行方法によれば、ファイル入出力プログラム４４０が記録再生の高速なＲＡＭディスク１２０を用いてデータの入出力を行うため、オーバーヘッド時間を短縮し、オペレータの待ち時間を短縮してオンライン処理を行うことができる。
【００２９】
前記バッチ制御プログラム３１０が実行するプログラムを定義したジョブ定義情報３１１（ジョブ定義ファイル３３０に格納された定義情報）は、例えば図４に示す如く、プログラムであるＰＧＭ１がＦＩＬＥ０を出力するＳＴＥＰ１と、プログラムであるＰＧＭ２がＦＩＬＥ０からデータを入力し、ＦＩＬＥ１に出力するＳＴＥＰ２と、同ＰＧＭ３がＦＩＬＥ２を出力するＳＴＥＰ３とが定義され、ＳＴＥＰ１及びＳＴＥＰ３は同時処理可能であるものの、ＳＴＥＰ２はＳＴＥＰ１の出力（ＦＩＬＥ０）がされた後でないと処理を開始できないことを表し、前記非同期処理用バッチ制御プログラム（バッチ用）４１０が実行するものである。
【００３０】
このようにジョブ定義情報３１１は、ＳＴＥＰ１及びＳＴＥＰ３が入力ファイルを必要としない処理のために実行可能状態になっている一方、ＳＴＥＰ２はＳＴＥＰ１によってファイルが作成されないと実行可能状態にならないため、まず、ＳＴＥＰ１とＳＴＥＰ３を実行し、ＳＴＥＰ１の終了後にＳＴＥＰ２を実行する様に定義されている。これらジョブステップである各ＳＴＥＰはプロセスとして起動するため、非同期処理用バッチ制御プログラム（バッチ用）４１０は、実行中の各ジョブステップとプロセス間通信を行い、処理パラメータの送信や処理実行状況の受信などの監視を行い、ＳＴＥＰ１の処理が完了した後に、実行可能状態になったＳＴＥＰ２を起動するように動作する。
【００３１】
これに対して本実施形態によるオンライン時の処理である同期処理用バッチ制御プログラム（オンライン用）４２０は、図５に示す如く、ＰＧＭ１、ＰＧＭ２、ＰＧＭ３の順番にてプログラムを実行するものであり、このためオンライン処理として同期的に動作するため、まずジョブ定義情報３１１の先頭に記述されているＳＴＥＰ１のオブジェクトを生成してプログラムを実行し、ＳＴＥＰ１の処理が終わると、バッチ制御プログラム（オンライン用）４２０に制御が戻り、次にＳＴＥＰ２を実行し、該ＳＴＥＰ２が終了してからＳＴＥＰ３を実行するように動作する。このようにしてジョブ定義情報３１１の最上位行から順次ジョブステップを実行するものであり、ジョブステップ実行中、別プロセスではないのでプロセス間通信による監視は不要であり、処理結果はジョブステップオブジェクトの戻り値として取得することができ、結果的にオーバーヘッドを低減することができる。
【００３２】
即ち、本実施形態においては、非同期処理用バッチ制御プログラム（バッチ用）４１０においては、メモリを意識したジョブステップ実行数の制御やプロセス間通信を通じての処理ステータス監視、異常終了時の処理中ジョブステップ強制終了など各ジョブステップを非同期に同時実行していることに伴い発生する制御を必要とし、この制御のために多種のオーバーヘッドが発生して蓄積されるものであるのに対し、本実施形態による同期処理用バッチ制御プログラム（オンライン用）４２０においては、同期処理のために複雑な制御は必要にならず、単純にジョブ定義に記載の順にジョブステップオブジェクトを生成し、実行するため、非同期処理に比べてオーバーヘッドを低減することができる。
【００３３】
更に本実施形態においては、オンラインから実行時とバッチにより実行時において、ジョブ定義の変更やプログラム自体の変更を行う必要がなく、従ってバッチ作成者は、該当ジョブがオンラインから実行するかバッチで実行するか配慮する必要がないと言う効果も奏する。
また本実施形態は、オンラインからの実行時は全てのプログラムを元プロセス内で実行し、バッチから実行時は一つ一つのプログラムを別プロセスとして実行する。これは、プロセスを分けるとプロセス毎に割り当て分リソースを使用することができ、別プロセスが異常終了しても影響を受けないメリットがあるが、起動にオーバーヘッドがかかるため、本実施形態の如く、同一プロセスとして実行する。
【００３４】
以上述べた如く本実施形態によるバッチ処理実行方法及びバッチ処理実行システムは、バッチ制御プログラム３１０を、ジョブ定義情報３１１に定義したジョブを一方ジョブの出力データが他方ジョブの入力データとなる順番に実行する非同期バッチ処理として実行する非同期処理用バッチ制御プログラム（バッチ用）４１０と、前記ジョブ定義情報に定義したジョブを定義された順番に従って実行する同期処理用バッチ制御プログラム（オンライン用）４２０とから構成し、この同期処理用バッチ制御プログラム（オンライン用）４２０が、オンラインによる同期バッチ処理の指令を受けたとき、ＲＡＭディスクのメモリ空間上に入力マスタファイル及び出力マスタファイルを生成して磁気ディスク装置に格納している入力データ及び出力データを複写し、この複写した入力データ及び出力データを参照して同期バッチ処理を実行することによって、オンラインサーバ機能部１００からのオンライン状態を維持した状態で高速なオンラインバッチ処理を行うことができる。
【００３５】
また本実施形態においては、オンライン機能部がバッチサーバ機能部によるバッチ処理を直接実行するためのオンライン機能部用のプログラムを開発することなく、容易にオンライン環境下におけるバッチ処理を行うことができる。
【符号の説明】
【００３６】
１００：オンラインサーバ機能部、１１０：オンラインプログラム、１１１：データ変換機能部、１１２：パラメータ設定データ部、１１３：ジョブ情報設定データ部、１１４：ジョブ投入機能部、１１５：ジョブ監視機能部、１２０：ＲＡＭディスク、２００：オンラインバッチインタフェース機能部、２１０：ジョブ管理部、２２０：パラメータ管理部、２３０：ステータス管理部、３００：バッチサーバ機能部、３１０：バッチ制御プログラム、３１１：ジョブ定義情報、３２０：業務プログラム実行部、３３０：ジョブ定義ファイル、３４０：業務プログラム、３５０：入力マスタファイル、３６０：出力マスタファイル、４１０：バッチ制御プログラム（バッチ用）、４２０：バッチ制御プログラム（オンライン用）、４４０：ファイル入出力プログラム。
【図１】
0005420358.tif 000002
【図２】
0005420358.tif 000003
【図３】
0005420358.tif 000004
【図４】
0005420358.tif 000005
【図５】
0005420358.tif 000006