(57)【要約】【課題】特定日の度、スケジュールを組み替えることなく運用を可能とすること。【解決手段】所望の周期で実行タイミングを定められた複数のジョブをコンピュータで処理するシステムバッチジョブ処理方法において、複数のジョブを実行するためのスケジュールを日単位でまとめたものをマスタースケジュールとして用意し、該マスタースケジュールを元に日々のジョブスケジュールを用意すること、用意された該ジョブスケジュールに従ってジョブの実行を行う。又、コンピュータに、複数のジョブを実行するためのスケジュールを日単位でまとめられたマスタースケジュールを元に日々のジョブスケジュールを用意する機能と、用意された該ジョブスケジュールに従ってジョブの実行を行うため所望の周期で実行タイミングを定められた複数のジョブをコンピュータで処理する機能とを実現する。【選択図】図１
2006221317.tif 000002
【特許請求の範囲】
【請求項１】
所望の周期で実行タイミングを定められた複数のジョブをコンピュータで処理するシステムバッチジョブ処理方法において、
複数のジョブを実行するためのスケジュールを日単位でまとめたものをマスタースケジュールとし用意し、該マスタースケジュールを元に日々のジョブスケジュールを用意すること、用意された該ジョブスケジュールに従ってジョブの実行を行うことを特徴とするシステムバッチ処理方法。
【請求項２】
前記ジョブスケジュールは前記マスタースケジュールの複製によって用意されていることを特徴とする請求項１記載のシステムバッチ処理方法。
【請求項３】
夜間バッチ処理であることを特徴とする請求項１又は２記載のシステムバッチ処理方法。
【請求項４】
コンピュータに、複数のジョブを実行するためのスケジュールを日単位でまとめられたマスタースケジュールを元に日々のジョブスケジュールを用意する機能と、用意された該ジョブスケジュールに従ってジョブの実行を行うため所望の周期で実行タイミングを定められた複数のジョブをコンピュータで処理する機能を実現することを特徴とするシステムバッチ処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、システムバッチ処理方法及びシステムバッチ処理プログラムに関し、更に詳しくは、スケジュールに従ってコンピュータシステム上で稼働する業務システム等に適用可能なシステムバッチ処理方法及びシステムバッチ処理プログラムに関する。
【背景技術】
【０００２】
従来、バッチ処理を行う方法としては、実行すべきジョブをカタログ化して手動又は自動運転ツールによりコンピュータに順次投入することが行われている。この際、実行すべきジョブがカタログ記載の通りシリアルに行われる場合、先行して実行可能なジョブが待ち状態になる場合があるため、並行して処理できるジョブに関して効率良く処理可能なようにスケジュールファイルの実行条件情報を登録しておき、各ジョブの実行可否を判断して実行条件を満足しているジョブを順次コンピュータに投入することが知られている。
【０００３】
具体的には、実行順序が関連し合う複数のジョブＪＯＢ１〜ＪＯＢ８を投入する場合、図４に示されるように、ジョブＪＯＢ１の正常終了により、ジョブＪＯＢ２〜ＪＯＢ４を並列に投入し、ジョブＪＯＢ２の正常終了により、ジョブＪＯＢ５を投入し、又、ジョブＪＯＢ３の正常終了により、ジョブＪＯＢ６〜ＪＯＢ７を並列に投入し、ジョブＪＯＢ５とＪＯＢ７の正常終了によりジョブＪＯＢ８を投入するということを表している。尚、ここで、３０１は不定期に発生する随時ジョブであり、３０２は月次ジョブ、その他は日次ジョブを示している（例えば、特許文献１等参照）。
【０００４】
【特許文献１】特開平８−２７２６２６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記したようなバッチジョブ処理方法においては、実施可能なジョブをジョブ待ちさせることがなくなり並列処理が可能になる。又、ジョブの正常終了や異常終了を示す実行結果の情報を保持するようにできるため、異常処理が生じても再開時に異常終了となったジョブのみを指定し再投入することができるようになるという利点がある。
【０００６】
しかしながら、実際にどういうジョブが実行されたかを確認することは必ずしもできない。特に、次のジョブが実行されてしまうと、正常終了であったのか異常終了であったのかがその実行後に書き換えられるため、過去の状況の確認が難しい。
【０００７】
又、ジョブの関係は把握されているとは言え、未来の日付のジョブスケジュールを変更したいといった個々の日付の特別な要望を簡単に変更することが難しく、担当者が不在の場合等でも、通常のスケジュールのまま処理を実施せざるを得なかった。
【０００８】
バッチ処理を実行する際には、月末、月初等の特定の日のみに実行しなければならないジョブの他に、例えば昨日の処理の補完として本日のみ実行したいバッチ処理があった場合でも、ジョブスケジュールファイルの構成を訂正する必要があるため、所望の処理が終わった後は又ジョブスケジュールファイルを基に戻さなければならなかった。
【０００９】
そこで、本発明では、特定日の度、スケジュールを組み替えることなく運用が可能になるシステムバッチ処理方法及びシステムバッチ処理プログラムを提供することを目的とする。
【００１０】
又、本発明は、臨時に処理を組み込む、変更するといったケースに柔軟に対応できるシステムバッチ処理方法及びシステムバッチ処理プログラムを提供することを目的とする。
【００１１】
更に、本発明は、スケジュールの変更を前日のような任意の日から可能にするシステムバッチ処理方法及びシステムバッチ処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記目的を達成するため、本発明は、所望の周期で実行タイミングを定められた複数のジョブをコンピュータで処理するシステムバッチジョブ処理方法において、複数のジョブを実行するためのスケジュールを日単位でまとめたものをマスタースケジュールとして用意し、該マスタースケジュールを元に日々のジョブスケジュールを用意すること、用意された該ジョブスケジュールに従ってジョブの実行を行うことを特徴とする。
【００１３】
又、本発明のシステムバッチ処理プログラムは、コンピュータに、複数のジョブを実行するためのスケジュールを日単位でまとめられたマスタースケジュールを元に日々のジョブスケジュールを用意する機能と、用意された該ジョブスケジュールに従ってジョブの実行を行うため所望の周期で実行タイミングを定められた複数のジョブをコンピュータで処理する機能とを実現することを特徴とする。
【発明の効果】
【００１４】
本発明によれば、システムの夜間バッチ処理に適用することにより、運用負荷を軽減し、更には運用を全自動化することが可能なシステムを提供することができる。
【００１５】
又、本発明では、日々の運用に時間的な余裕を持たせることにより、作業確認時間を十分に取ることを可能にすることで、担当者のオペレーションミスを減少させより安定したシステムとなる。又、本発明では、未来のスケジュールを予め作成しておくことができるため、これによりスケジュールを事前に確認することが可能になる。
【００１６】
更に、本発明では、マスタースケジュールから毎日のスケジュールを複製しているため、所望の日のみ実行したい処理を複製されたスケジュールを変更することで可能になるばかりか、所望の日のスケジュールとして形成されるため、複写元のスケジュールを変更したり変更前に戻すといったような処理を不必要にすることが可能である。
【００１７】
このように本発明によれば、臨時の処理や調整といったスケジュールの変更が容易になり、スケジュールの事前確認、処理状況の確認も容易になる。
【発明を実施するための最良の形態】
【００１８】
以下に本発明の実施の形態を添付図面に基づいて説明する。尚、本発明は以下の実施の形態に適用が限定される訳ではなく、本発明の主旨の範囲において適宜変更、組み合わせが可能であることは言うまでもない。
【００１９】
図１は本発明のシステムバッチ処理の好適な一例を説明するための模式図である。
【００２０】
図１において、１０１はジョブをグループ化したマスタースケジュール、１０２〜１０４はそれぞれスケジュール、１０５はコンピュータシステムである。
【００２１】
マスタースケジュールは、これを基に複製を行うためのものである。基本的なジョブのスケジュール管理（実行ジョブ、実行順等）はこのマスタースケジュール１０１が行っている。スケジュール１０２は、当日の処理スケジュールとしてマスタースケジュール１０１からコピーされたスケジュールである。スケジュール１０３は、同じくマスタースケジュール１０１からコピーされたスケジュールであるが、ここでは昨日に実行されたの処理スケジュールの実行結果である。スケジュール１０４は、同じくマスタースケジュール１０１からコピーされたスケジュールであるが、ここでは翌日に実行予定の処理スケジュールである。１０５はコンピュータシステムであり、スケジュールを格納する器としても機能する。
【００２２】
勿論、このマスタースケジュール１０１は、複数のジョブを有することは必ずしも必要はない。ジョブが単数の場合でもマスタースケジュールを用意することで所望の日の特別なジョブの追加を行うようなことがあっても、コピーしたその日のみの変更を行えば済む。
【００２３】
又、マスタースケジュール１０１を用意することによって、変更されたスケジュールの内容を以前の状態に戻すことが容易になる。つまり、或る程度の期間恒常的にジョブの管理内容を変更したい場合はマスタースケジュール１０１のみを変更することで全てのスケジュールを変更できるだけでなく、マスタースケジュール１０１の複製を残しておくことで変更以前の上程に戻すことが容易に行えるようになる。
【００２４】
ところで、各種ジョブを管理することが可能なマスタースケジュール１０１は、運用するシステムの保守の都合やシステムの使用者の都合によって特定の日のみジョブ内容を変更したいという要望があった場合でも以下のように対応することができる。
【００２５】
例えば、スケジュール１０３、スケジュール１０４、スケジュール１０５をそれぞれ２００３年１月１９日、２００３年１月２０日、２００３年１月２１日に対応した処理スケジュールとした場合について説明する。
【００２６】
ジョブの内容は、ユーザが用意する１つのまとまった仕事をコンピュータシステムに要求する単位である。例えば、データ入力処理、データ集計処理、プリント出力処理等がそれぞれジョブの単位に当たる。これらのジョブは一連の処理プログラムから成るが、ここではプログラムを作成するためのプログラム言語の種類は限定されない。
【００２７】
このマスタースケジュール１０１を日別にコピー（複製）することで、スケジュール１０２、スケジュール１０３、スケジュール１０４となる大元のスケジュールを作成することができる。これらスケジュール１０２〜１０４はマスタースケジュール１０１の内容が必ずしも変更されている必要はなく、スケジュール管理のために所望のタイミングで自動的に生成されるようにすれば良い。従って、ジョブスケジュールに変更がなければマスタースケジュールの内容と同じスケジュールのままである。
【００２８】
尚、この日別のジョブ内容は運用する日全てを持つ必要はなく、必要な日数分保有するようにしておいて良い。例えば、本日が２００３年１月２０日であれば、６：００ａｍに日別のスケジュール１０４を作成するようにして良く、過去の実働状況を確認できるようにするためには、例えば、その時点で過去実働８日以前の実績を削除するようにすれば良い。必要な分の過去の実行結果を保有することができることで、必要な時に過去の処理結果を確認でき、更には処理時間の傾向を比較することも可能となる。
【００２９】
図１において、スケジュール１０４は、本日を２００３年１月２０日とすると、翌日に実行予定のスケジュールだが、マスタースケジュールから自動的に作成することによって翌日のスケジュールを予め確認することが可能になる。更には、生成されたスケジュールを利用して翌日のスケジュール１０４の内容をマスタースケジュールの内容から予め変更しておくことも可能である。これによって、バッチ処理を柔軟に変更することも可能となる。
【００３０】
尚、このようなマスタースケジュール１０１からのコピーは運用のためのカレンダー、例えば、会社や顧客の営業カレンダー等に合わせて生成するようにしても良い。本発明の場合はマスタースケジュール１０１を雛形としているため、同じ内容のジョブであれば何ら手を掛けずに実行されるジョブを予定することが可能である。
【００３１】
又、月末、休日、祭日等の特定な日についてジョブ内容を変更したい場合は複写したマスタースケジュール１０１を元にして必要箇所のみ容易に変更することが可能である。
【００３２】
ここで、図１に示されるスケジュールを元に更に説明する。
【００３３】
マスタースケジュール１０１から翌日の処理スケジュールを作成する処理を例えば毎日８：３０ａｍに実行されるようにすると、実質的に担当者が管理するのはこの作業だけで済む。
【００３４】
担当者が、昨日、２００３年１月２０日の処理結果を確認したい場合は、スケジュール１０３を参照すれば良い。スケジュール１０３には当日のジョブスケジュールの内容が上書きされることなく保存されているので、ジョブスケジュールは容易に確認することが可能である。又、スケジュール１０３の中に、ジョブの正常終了や異常終了等の情報を加入できるようにしておけば、ジョブスケジュールと共にジョブの処理状況が保存された状態で残ることになり、過去の処理状況の解析や事故等のフォローや対策を行うことができる。勿論、過去の処理結果をどれだけ保存するべきは担当者の判断等によって所望の範囲を設定可能にして良い。
【００３５】
スケジュールの変更が必要になった場合は、担当者はその変更が恒久的なものか、一時的なものか判断し、恒久的な変更である場合はマスタースケジュール１０１の内容を変更すれば良い。
【００３６】
スケジュールの変更がごく一時的な変更である場合はスケジュール１０２等の個々のスケジュールを変更すれば良い。変更が事前に分かっているのであれば、スケジュール１０４も作成してあるので、その日のスケジュール変更も前もって行うことができる。
【００３７】
勿論、中期的に変更を継続する場合はマスタースケジュール１０１を複写等した上でマスタースケジュール自身を変更することで対処することができるのは前述した通りである。
【００３８】
一連の流れを図２のフローチャートによって簡単に説明する。
【００３９】
先ず、所定の時間になるとマスタースケジュールの複写を行う（ステップ２０１）。次に、複写されたスケジュールの変更が必要であるか否かを判定する（ステップ２０２）。スケジュールの変更が必要な場合（「ｙｅｓ」）は変更を要するスケジュールに対して変更処理を行い（ステップ２０３）、フローは終了する。スケジュールの変更を要さない場合はステップ２０２において「ｎｏ」の場合は、そのままフローは終了する。
【００４０】
図３は上記処理を行うことができるコンピュータシステムの構成の好適な一例を説明する概略的構成図である。
【００４１】
コンピュータ１５００は、ＣＰＵ１５０１と、ＲＯＭ１５０２と、ＲＡＭ１５０３と、入力装置としてのキーボード（ＫＢ）１５０９のキーボードコントローラ（ＫＢＣ）１５０５と、表示部としてのＣＲＴディスプレイ（ＣＲＴ）１５１０のＣＲＴコントローラ（ＣＲＴＣ）１５０６と、ハードディスク（ＨＤ）１５１１及びフレキシブルディスク（ＦＤ）１５１２のディスクコントローラ（ＤＫＣ）１５０７と、ネットワーク１５２０との接続のためのネットワークインターフェースコントローラ（ＮＩＣ）１５０８とが、システムバス１５０４を介して互いに通信可能に接続された構成としている。
【００４２】
ＣＰＵ１５０１は、ＲＯＭ１５０２或いはＨＤ１５１１に記憶されたソフトウェア、或いはＦＤ１５１２より供給されるソフトウェアを実行することで、システムバス１５０４に接続された各構成部を総括的に制御する。即ち、ＣＰＵ１５０１は、所定の処理シーケンスに従った処理プログラムを、ＲＯＭ１５０２、或いはＨＤ１５１１、或いはＦＤ１５１２から読み出して実行することで、本実施の形態での動作を実現するための制御を行う。尚、図示していないがハードディスク、フレキシブルディスク以外にも光学的記録装置などの他のデバイスが接続されて良いのは言うまでもない。
【００４３】
ＲＡＭ１５０３は、ＣＰＵ１５０１の主メモリ或いはワークエリア等として機能する。ＫＢＣ１５０５は、ＫＢ１５０９や図示していないポインティングデバイス等からの指示入力を制御する。ＣＲＴＣ１５０６は、ＣＲＴ１５１０の表示を制御する。ＤＫＣ１５０７は、ブートプログラム、種々のアプリケーション、編集ファイル、ユーザファイル、ネットワーク管理プログラム及び本実施の形態における所定の処理プログラム等を記憶するＨＤ１５１１及びＦＤ１５１２とのアクセスを制御する。ＮＩＣ１５０８は、ネットワーク１５２０上の装置或いはシステムと双方向にデータをやり取りする。
【００４４】
本発明において、マスタースケジュールファイルは、通常はＨＤ１５１１に格納され、必要に応じてＲＡＭ１５０３に展開されて処理される。勿論、複写を行う際は、ＨＤ１５１１内のみならず、外部記憶装置にその情報を出力しておいて良く、ファイル情報を戻す際は同様に、ＨＤ１５１１からだけでなく外部記憶装置からマスタースケジュールファイルを書き換えることが可能である。
【００４５】
尚、本発明の実施を行うために必要なコンピュータ構成は、図３に示したコンピュータ構成に限定されることがないのは言うまでもない。
【図面の簡単な説明】
【００４６】
【図１】本発明に係るシステムバッチ処理を説明するための概略的構成図である。
【図２】本発明に係るシステムバッチ処理方法を説明するためのフローチャートである。
【図３】本発明に係るシステムバッチ処理方法を実施することができるコンピュータの一例を説明するためのブロック図である。
【図４】従来のバッチジョブ処理におけるジョブネットの一例を説明するための図である。
【符号の説明】
【００４７】
１０１    マスタースケジュール
１０２    スケジュール
１０３    スケジュール
１０４    スケジュール
１０５    コンピュータシステム
３０１    不定期に発生する随時ジョブ
３０２    毎月１回実行されるジョブ
【図１】
2006221317.tif 000003
【図２】
2006221317.tif 000004
【図３】
2006221317.tif 000005
【図４】
2006221317.tif 000006