JP2014120123A - 情報処理装置及び情報処理方法 - Google Patents

情報処理装置及び情報処理方法 Download PDF

Info

Publication number
JP2014120123A
JP2014120123A JP2012277041A JP2012277041A JP2014120123A JP 2014120123 A JP2014120123 A JP 2014120123A JP 2012277041 A JP2012277041 A JP 2012277041A JP 2012277041 A JP2012277041 A JP 2012277041A JP 2014120123 A JP2014120123 A JP 2014120123A
Authority
JP
Japan
Prior art keywords
batch
job
execution
server
production server
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.)
Pending
Application number
JP2012277041A
Other languages
English (en)
Inventor
Takehiko Mori
壮彦 森
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2012277041A priority Critical patent/JP2014120123A/ja
Publication of JP2014120123A publication Critical patent/JP2014120123A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Hardware Redundancy (AREA)

Abstract

【課題】共有サーバを導入せずに、本番サーバの障害時にバッチジョブを継続させる。
【解決手段】バッチ実行プログラムを実行する本番サーバの異常時に、本番サーバに代わって前記バッチ実行プログラムを実行する情報処理装置は、前記本番サーバのバッチ実行プログラムの動作状況を確認する監視間隔と、本番サーバのバッチ実行プログラムの異常時に待機サーバに切り替えて前記バッチ実行プログラムを実行するまでに要する切替時間とを監視用データベースと、前記バッチ実行プログラムに含まれるバッチジョブと該バッチジョブの待機サーバにおける実行開始時刻とを対応付けてバッチ情報データベースに記憶する記憶部と、前記本番サーバにおける前記バッチジョブの開始時刻に前記監視間隔及び前記切替時間を加算した時刻を前記待機サーバにおける前記バッチジョブの実行開始時刻とする制御部と、を備える。
【選択図】図1

Description

本発明は、情報処理装置及び情報処理方法に関し、本番サーバのバッチ実行プログラムの稼働状況を監視する情報処理装置及び情報処理方法に適用して好適なるものである。
バッチ実行プログラムが登録されている本番サーバにおいて障害が発生した場合、バックアップ処理や出荷指示など、バッチ処理業務に影響が生じる。バッチ実行プログラムとは、予め処理手順が記述されたプログラムであり、本番サーバは、所定のタイミングで自動的にバッチ実行プログラムを起動する。バッチ実行プログラムでは、クリティカルなデータを扱うため、本番サーバに障害が発生した場合には、他のシステムなどに多大な影響が生じる。そこで、障害発生による甚大な被害を回避するために、ストレージ装置を導入して、クラスタ構成によりデータ部を冗長化することが一般的に行われている。
例えば、特許文献1では、本番サーバ、待機サーバ及び共有サーバから構成される計算機システムが開示されている。特許文献1では、共有サーバに本番サーバの実行結果が記録し、障害が発生した場合に、待機サーバが共有サーバに記録された実行結果を確認した後実行プログラムを開始する。これにより、本番サーバで実行されたバッチ実行プログラムを、待機サーバで継続して実行させることができるため、障害発生時に、本番サーバから待機サーバへ円滑にバッチジョブを引き継ぐことが可能となる。ここで、バッチジョブとは、業務処理に必要な複数の手順からなる処理を予め登録しておき、自動的に処理を実行させるための定義情報である。
特開2010−140106号公報
しかし、上記した特許文献1では、障害時にバッチジョブを継続させるために共有サーバを導入しなければならず、費用が嵩み、ユーザの負担が大きくなってしまうという問題があった。
本発明は以上の点を考慮してなされたもので、共有サーバを導入せずに、本番サーバの障害時にバッチジョブを継続させることが可能な情報処理装置及び情報処理方法を提案しようとするものである。
かかる課題を解決するために本発明においては、バッチ実行プログラムを実行する本番サーバの異常時に、本番サーバに代わって前記バッチ実行プログラムを実行する情報処理装置であって、前記本番サーバのバッチ実行プログラムの動作状況を確認する監視間隔と、本番サーバのバッチ実行プログラムの異常時に待機サーバに切り替えて前記バッチ実行プログラムを実行するまでに要する切替時間とを監視用データベースに記憶し、前記バッチ実行プログラムに含まれるバッチジョブと該バッチジョブの待機サーバにおける実行開始時刻とを対応付けてバッチ情報データベースに記憶する記憶部と、前記本番サーバにおける前記バッチジョブの開始時刻に前記監視間隔及び前記切替時間を加算した時刻を前記待機サーバにおける前記バッチジョブの実行開始時刻とする制御部と、を備えることを特徴とする、情報処理装置が提供される。
かかる構成によれば、待機サーバの記憶部に、本番サーバのバッチ実行プログラムの動作状況を確認する監視間隔と、本番サーバのバッチ実行プログラムの異常時に待機サーバに切り替えてバッチ実行プログラムを実行するまでに要する切替時間とを監視用データベースに記憶し、本番サーバにおけるバッチジョブの開始時刻に監視間隔及び切替時間を加算した時刻を待機サーバにおけるバッチジョブの実行開始時刻とし、本番サーバの異常時に、本番サーバに代わってバッチ実行プログラムを実行する。このように、共有サーバを導入することなく本番サーバの障害時にバッチジョブを継続させることを可能とすることにより、安価なシステムでバッチジョブの運用における信頼性を確保することができる。
本発明によれば、共有サーバを導入することなく本番サーバの障害時にバッチジョブを継続させて、安価なシステムでバッチジョブの運用における信頼性を確保することができる。
本発明の一実施形態に係る計算機システムの全体構成を示すブロック図である。 同実施形態にかかるバッチ実行管理本番サーバの構成を示すブロック図である。 同実施形態にかかるバッチ実行管理待機サーバの構成を示すブロック図である。 同実施形態にかかるバッチ情報データベースの一例を示す図表である。 同実施形態にかかるバッチ情報データベースの一例を示す図表である。 同実施形態にかかるバッチ情報データベースの一例を示す図表である。 同実施形態にかかるバッチ情報データベースの一例を示す図表である。 同実施形態にかかる監視用データベースの一例を示す図表である。 同実施形態にかかるテーブル情報の取得及び更新処理を示すフローチャートである。 同実施形態にかかるバッチジョブの実行結果取得処理の流れを示すフローチャートである。 同実施形態にかかるバッチ実行管理待機サーバの監視処理の流れを示すフローチャートである。 同実施形態にかかるバッチ実行管理待機サーバの監視処理の流れを示すフローチャートである。 同実施形態にかかる障害発生時のバッチジョブの実行タイミングを説明する概念図である。 同実施形態にかかる障害発生時のバッチジョブの実行タイミングを説明する概念図である。 同実施形態にかかる障害発生時のバッチジョブの実行タイミングを説明する概念図である。 同実施形態にかかる障害発生時のバッチジョブの実行タイミングを説明する概念図である。
以下図面について、本発明の一実施の形態を詳述する。
(1)本実施の形態の概要
バッチ実行プログラムが登録されている本番サーバにおいて障害が発生した場合、バックアップ処理や出荷指示など、バッチ処理業務に影響が生じる。バッチ実行プログラムとは、予め処理手順が記述されたプログラムであり、本番サーバは、所定のタイミングで自動的にバッチ実行プログラムを起動する。バッチ実行プログラムでは、クリティカルなデータを扱うため、本番サーバに障害が発生した場合には、他のシステムなどに多大な影響がある。障害発生による甚大な被害を回避するために、ストレージ装置を導入して、クラスタ構成によりデータ部を冗長化する方式が一般的である。
例えば、本番サーバ、待機サーバ及び共有サーバから構成される計算機システムでは、障害が発生しても本番サーバからバッチジョブを円滑に引き継ぐことができる。これは、共有サーバに本番サーバの実行結果が随時記録され、障害が発生した場合に、待機サーバが、共有サーバに記録された実行結果を確認した後実行プログラムを開始して、バッチジョブがどこまで実行されたかを即時に判断することが可能であるためである。ここで、バッチジョブとは、業務処理に必要な複数の手順からなる処理を予め登録しておき、自動的に処理を実行させるための定義情報である。
しかし、上記した技術では、障害時にバッチジョブを継続させるために共有サーバを導入しなければならず、費用が嵩み、ユーザの負担が大きくなってしまうという問題があった。そこで、本実施の形態では、共有サーバを導入せずに、本番サーバの障害時にバッチジョブを継続させることを可能としている。
(2)計算機システムの構成
次に、図1を参照して、本実施の形態にかかる計算機システム1の全体構成について説明する。図1に示すように、計算機システム1では、2つのサーバ(10、11)がネットワーク12を介して接続されている。2つのサーバは、平常時にバッチの実行を管理するサーバと、障害時にバッチの実行を管理するサーバである。前者をバッチ実行管理本番サーバ10と称し、後者をバッチ実行管理待機サーバ11と称して以下説明する。図1では、1つのバッチ実行管理本番サーバ10と1つのバッチ実行管理待機サーバ11とがネットワークを介して接続されているが、かかる例に限定されず、複数台のバッチ実行管理本番サーバ10と複数台のバッチ実行管理待機サーバ11とがネットワークを介して接続されていてもよい。
また、ネットワーク12は、企業内ネットワークなどのLAN(Local Area Network)でもよいし、インターネットや電話回線網、衛星通信等の公衆回線網であってもよい。また、ネットワーク12には、図示していない端末や通信装置などが接続されていてもよい。
平常時には、バッチ実行管理本番サーバ10は、バッチジョブの実行結果をバッチ実行管理待機サーバ11に送信する。バッチ実行管理本番サーバ10からバッチジョブの実行結果を受信したバッチ実行管理待機サーバ11は、受信したバッチジョブの実行結果をもとにバッチ実行管理本番サーバ10の稼働状況を監視する。なお、バッチ実行管理本番サーバ10及びバッチ実行管理待機サーバ11は、データセンタやサーバ室に設置される。
(3)サーバの構成
(3−1)バッチ実行管理本番サーバの構成
図2を参照して、バッチ実行管理本番サーバ10の構成について説明する。図2に示すように、バッチ実行管理本番サーバ10は、制御部200、記憶部201、入力部202、表示部203及びネットワークインタフェース部204などから構成される。
制御部200は、記憶部201に格納された各種プログラムを実行し、バッチ実行管理本番サーバ10内の動作全般を制御する。制御部200は、例えば、CPUやマイクロプロセッサなどである。
記憶部201は、ROM(Read Only Memory)やRAM(Random Access Memory)などであり、ROMは、制御部200が使用するプログラムや演算パラメータ等を記憶し、RAMは、制御部200の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を一次記憶する。また、HDD(Hard Disk Drive)などのストレージ装置であってもよい。
入力部202は、例えば、マウス、キーボード、タッチパネル、ボタン、マイク、スイッチおよびレバーなどユーザが情報を入力するための入力手段と、ユーザによる入力に基づいて入力信号を生成し、制御部200に出力する入力制御回路などから構成されている。
表示部203は、例えば、CRT(Cathode Ray Tube)ディスプレイ装置、液晶ディスプレイ(LCD)装置、OLED(Organic Light Emitting Display)装置およびランプなどの表示装置で構成される。
ネットワークインタフェース部204は、例えば、ネットワーク12に接続するための通信デバイス等で構成された通信インタフェースである。また、ネットワークインタフェース部は、無線LAN(Local Area Network)対応通信装置であっても、ワイヤレスUSB対応通信装置であっても、有線による通信を行うワイヤー通信装置であってもよい。ネットワークインタフェース部204は、ネットワーク12を介してバッチ実行管理待機サーバ11のネットワークインタフェース部212に接続される。
また、上記各部は、CPUバスなどから構成されるバス(BUS)により相互に接続されている。
記憶部201には、バッチ実行プログラム205やバッチ情報データベース206などが格納されている。バッチ実行プログラム205は、入力部202を介して入力されたバッチジョブの情報などを入力データとし、バッチジョブの内容や結果などを表示部203に表示させる。また、バッチ情報データベース206には、バッチ実行プログラム205により実行されるバッチジョブの情報が格納されている。
(3−2)バッチ実行管理待機サーバの構成
次に、図3を参照して、バッチ実行管理待機サーバ11の構成について説明する。図3に示すように、バッチ実行管理待機サーバ11は、制御部208、記憶部209、入力部210、表示部211及びネットワークインタフェース部212などから構成される。
制御部208は、記憶部209に格納された各種プログラムを実行し、バッチ実行管理待機サーバ11内の動作全般を制御する。制御部208は、例えば、CPUやマイクロプロセッサなどである。
記憶部209は、ROM(Read Only Memory)やRAM(Random Access Memory)などであり、ROMは、制御部208が使用するプログラムや演算パラメータ等を記憶し、RAMは、制御部208の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を一次記憶する。また、HDD(Hard Disk Drive)などのストレージ装置であってもよい。
入力部210は、例えば、マウス、キーボード、タッチパネル、ボタン、マイク、スイッチおよびレバーなどユーザが情報を入力するための入力手段と、ユーザによる入力に基づいて入力信号を生成し、制御部208に出力する入力制御回路などから構成されている。
表示部211は、例えば、CRT(Cathode Ray Tube)ディスプレイ装置、液晶ディスプレイ(LCD)装置、OLED(Organic Light Emitting Display)装置およびランプなどの表示装置で構成される。
ネットワークインタフェース部212は、例えば、ネットワーク12に接続するための通信デバイス等で構成された通信インタフェースである。また、ネットワークインタフェース部は、無線LAN(Local Area Network)対応通信装置であっても、ワイヤレスUSB対応通信装置であっても、有線による通信を行うワイヤー通信装置であってもよい。ネットワークインタフェース部212は、ネットワーク12を介してバッチ実行管理本番サーバ10のネットワークインタフェース部204に接続される。
また、上記各部は、CPUバスなどから構成されるバス(BUS)により相互に接続されている。
記憶部209には、バッチ実行プログラム213、バッチ情報データベース214及び監視用データベース215などが格納されている。バッチ実行プログラム213は、入力部220を介して入力されたバッチジョブの情報などを入力データとし、バッチジョブの内容や結果などを表示部222に表示させる。また、バッチ情報データベース214には、バッチ実行プログラム213により実行されるバッチジョブの情報が格納されている。
また、監視用データベース215は、バッチ実行管理本番サーバ10のバッチ実行プログラム205をバッチ実行管理待機サーバ11のバッチ実行プログラム213が状態監視する周期の情報が格納される。また、バッチ実行管理本番サーバ10のバッチ実行プログラム205が異常となった場合に、バッチジョブの実行をバッチ実行管理待機サーバ11に切替える際のバッチジョブの実行開始時間の情報が格納されている。
(4)各種データベース
次に、バッチ実行管理本番サーバ10及びバッチ実行管理待機サーバ11に格納されている各種データベースについて説明する。
バッチ実行管理本番サーバ10の記憶部201に格納されているバッチ情報データベース206は、バッチ実行プログラム205により実行されるバッチジョブの実行時間や実行場所の情報を管理するデータベースであって、入力部202から新規のジョブ情報が登録、変更または削除された場合に、バッチ実行プログラム205による更新されるデータベースである。
図4に示すように、バッチ情報データベース206は、開始時刻欄301、ジョブ名称欄302、実行時間欄303、再実行の可否欄304及び前提実行ジョブ欄305から構成されている。開始時刻欄301には、バッチ実行管理本番サーバ10で実行されるジョブの開始時刻が格納される。ジョブの開始時刻は、予め入力部202から入力される。ジョブ名称欄302には、バッチ実行管理本番サーバ10で実行されるジョブの名称が格納される。ジョブの名称は、予め入力部202から入力される。実行時間欄303には、バッチ実行管理本番サーバ10で実行されるジョブの実行時間が格納される。ジョブの実行時間は、予め入力部202から入力される。
再実行の可否欄304には、バッチ実行管理本番サーバ10で実行されるジョブがバッチ実行管理待機サーバ11に切り替えられた後、バッチ実行プログラム213により再実行されても問題ないか否かの情報が格納される。具体的に、再実行しても問題ない場合はYESが格納され、再実行してはいけない場合はNOが格納される。ジョブの再実行可否の情報は、予め入力部202から入力される。また、前提実行ジョブ欄305には、バッチ実行管理本番サーバ10で実行されるジョブの実行前に必ず処理を終了している必要のあるジョブがあるかを示す情報が格納される。具体的に、前提実行ジョブ欄305には、ジョブを実行する前に必ず処理する必要があるジョブ(前提実行ジョブ)がある場合には、該ジョブの名称が格納される。前提実行ジョブは、予め入力部202から入力される。
図4では、例えば、ジョブBは開始時刻が9時30分に設定され、ジョブの実行時間は15分、再実行は可(YES)、ジョブBの前提実行ジョブはジョブAに設定されていることがわかる。
次に、バッチ実行管理待機サーバ11の記憶部209に格納されているバッチ情報データベース214について説明する。バッチ情報データベース214は、バッチ実行プログラム213により実行されるバッチジョブの実行時間や実行場所の情報を管理するデータベースである。
図5Aに示すように、バッチ情報データベース214は、開始時刻欄306、ジョブ名称欄307、実行時間欄308、再実行の可否欄309、実行有無欄310及び前提実行ジョブ欄311から構成されている。開始時刻欄306には、バッチ実行管理待機サーバ11で実行されるジョブの開始時刻が格納される。ジョブの開始時刻は、バッチ実行管理本番サーバ10のバッチ情報データベース206の値と、監視用データベース215の監視間隔312と切替時間313とを加算した値である。開始時刻欄306に格納されるジョブの開始時刻については、後で詳細に説明する。ジョブ名称欄307には、バッチ実行管理本番サーバ10のバッチ情報データベース206から取得されたジョブの名称が格納される。実行時間欄308には、バッチ実行管理待機サーバ11で実行されるジョブの実行時間が格納される。
再実行の可否欄309には、バッチ実行管理本番サーバ10で実行されるジョブがバッチ実行管理待機サーバ11に切り替えられた後、バッチ実行プログラム213で再実行されても問題ないか否かの情報が格納される。具体的に、再実行しても問題ない場合はYESが格納され、再実行してはいけない場合はNOが格納される。実行有無欄310には、バッチ実行プログラム213で実行されたジョブの実行結果が格納される。具体的に、ジョブが実行されていない場合は未が格納され、ジョブが実行された場合には済が格納される。また、前提実行ジョブ欄311には、バッチ実行管理待機サーバ11で実行されるジョブの実行前に必ず処理を終了している必要のあるジョブがあるかを示す情報が格納される。具体的に、前提実行ジョブ欄311には、ジョブを実行する前に必ず処理する必要があるジョブ(前提実行ジョブ)がある場合には、該ジョブの名称が格納される。
バッチ実行プログラム213は、バッチ実行管理本番サーバ10のバッチ情報データベース206から値を取得して、バッチ実行管理待機サーバ11のバッチ情報データベース214に取得した値や、取得した値に基づく値を格納する。したがって、バッチ実行管理本番サーバ10のバッチ情報データベース206から値が取得される前には、図5Aの書き込み前に示すように、バッチ情報データベース214には、何らの値も格納されていない。そして、バッチ実行管理本番サーバ10のバッチ情報データベース206から値が取得された後には、図5Bの書き込み後に示すように、バッチ情報データベース214には、バッチ実行管理本番サーバ10のバッチ情報データベース206から取得された値が格納される。さらに、バッチ実行管理本番サーバ10でバッチジョブが実行されると、図5Cに示すように、バッチジョブの実行結果を示す情報が実行有無欄310に格納される。
図6に示す監視用データベース215は、バッチ実行管理待機サーバ11の記憶部209に格納されており、バッチ実行管理本番サーバ10のバッチ実行プログラム205の稼働状態を監視するためのテーブルである。
図6に示すように、監視用データベース215は、監視間隔欄312及び切替時間欄313から構成される。監視間隔欄312には、バッチ実行管理本番サーバ10のバッチ実行プログラム205の稼働状態を確認する監視間隔の情報が格納される。切替時間欄313には、バッチ実行管理本番サーバ10のバッチ実行プログラム205に異常が格納された場合に、バッチ実行管理待機サーバ11のバッチ実行プログラム213が動作を開始するまでの切替時間が格納される。切替時間欄313に格納される切替時間は、バッチ実行管理待機サーバ11の入力部210から予め入力される。
(5)サーバの動作の詳細
次に、バッチ実行管理本番サーバ10及びバッチ実行管理待機サーバ11の動作の詳細を説明する。まず、図7を参照して、バッチ実行管理待機サーバ11におけるバッチ情報データベース214のテーブル情報の取得処理及び更新処理について説明する。バッチ実行プログラム213は、入力部210により起動されて(S101)、バッチ実行管理本番サーバ10に格納されているバッチ情報データベース206の最新テーブルを更新する(S102)。
そして、バッチ情報データベース206は、バッチ実行管理本番サーバ10が正常時のジョブスケジュールテーブルからジョブ情報を取得して(S103)、ジョブの開始時刻に監視間隔及び切替時間を加算して再スケジュールテーブルに登録する(S104)。
具体的に、バッチ実行プログラム213は、ステップS103及びS104で、バッチ情報データベース206の各欄の値をバッチ情報データベース214の対応する欄に格納する。例えば、バッチ情報データベース206の開始時刻欄310の値を取得し、開始時刻欄310の値に監視間隔及び切替時間を加算してバッチ情報データベース214の開始時刻欄306に格納する。また、バッチ情報データベース206の実行時間欄303の値をバッチ情報データベース214の実行時間欄308に格納し、バッチ情報データベース206の再実行の可否欄304の値をバッチ情報データベース214の再実行の可否欄309に格納し、バッチ情報データベース206の前提実行ジョブ欄305の値をバッチ情報データベース214の前提実行ジョブ311欄に格納する。
そして、バッチ実行プログラム213は、バッチ情報データベース206の次の行を検索して、次のジョブがあるかを判定する(S105)。ステップS105において、次のジョブがあると判定された場合には、ステップS103及びステップS104の処理を繰り返し、同様にデータを取得してバッチ情報データベース214に格納する。一方、ステップS105において、次のジョブがないと判定された場合には、バッチ情報データベース206の検索を終了して、ステップS106の処理を実行する。
続いて、バッチ実行プログラム213は、監視間隔及び切替時間を取得して監視用データベース215に登録する(S106)。具体的に、バッチ実行プログラム213は、入力部210から入力された監視間隔及び切替時間を取得して監視用データベース215に登録する。既に監視用データベース215にデータ値が格納されている場合には、表示部211に格納されている監視間隔及び切替時間を表示部211に表示して、表示されたデータを登録するか否かをユーザに促すようにしてもよい。表示部211に監視間隔及び切替時間が表示され、ユーザにより、データが入力され、OKボタン等が押下された場合には、入力されたデータを監視間隔欄312及び切替時間欄313に格納する。
次に、バッチ実行管理本番サーバ10におけるバッチジョブの実行結果の取得処理について説明する。図8に示すように、バッチ実行管理本番サーバ10のバッチ実行プログラム205は、バッチ情報データベース206の開始時刻欄301の値及びジョブ名称欄302の値を読み取り(S201)、ステップS201において読み取った開始時刻にジョブを実行する(S202)。
そして、バッチ実行プログラム205は、ステップS202において実行したジョブの実行結果を取得する(S203)。具体的に、バッチ実行プログラム205は、実行結果として、バッチジョブのリターンコードを取得する。リターンコードが正常値の場合には、バッチジョブが正常に実行されたことを意味する。バッチ実行プログラム205は、ステップS203で取得した実行結果をバッチ実行管理待機サーバ11に送信する(S204)。
そして、バッチ実行プログラム205は、バッチ情報データベース206において、次に指定されているジョブがあるかを判定(S205)し、次のジョブがある場合にはステップS201以降の処理を繰り返す。一方、ステップS204において、次のジョブが指定されていないと判定された場合には、バッチ実行プログラム205は、処理を終了する。
ステップS204において、バッチジョブの実行結果を受信したバッチ実行管理待機サーバ11は、当該実行結果をバッチ情報データベース214の実行されたバッチジョブに対応する実行有無欄310に実行結果を格納する。具体的に、実行結果が正常値である場合には、実行有無欄310に済を示す値を格納する。
次に、バッチ実行管理待機サーバ11におけるバッチジョブの稼働状況監視処理について説明する。図9に示すように、まず、バッチ実行管理待機サーバ11のバッチ実行プログラム213は、監視用データベース215の監視間隔欄312に格納されている監視間隔でバッチ実行管理本番サーバ10のバッチ実行プログラム205の稼働状況を確認するためのコマンドをバッチ実行管理本番サーバ10に送信する(S301)。
図示していないが、バッチ実行管理本番サーバ10のバッチ実行プログラム205は、ステップS301において送信された稼働状況を確認するためのコマンドを受信し、バッチ実行プログラムの動作を確認して、バッチ実行プログラムの動作状況をバッチ実行管理待機サーバ11に送信する。
そして、バッチ実行管理待機サーバ11のバッチ実行プログラム213は、バッチ実行管理本番サーバ10から送信されたバッチ実行プログラムの動作状況を受信し(S302)、動作状況を示す返値が正常か異常かを判定する(S303)。ステップS303において、返値が正常であると判定された場合には、バッチ実行プログラム213は、ステップS301以降の処理を繰り返す。一方、ステップS303において、返値が異常であると判定された場合には、バッチ実行プログラム213は、再度、バッチ実行管理本番サーバ10のバッチ実行プログラム205の稼働状況を確認するためのコマンドをバッチ実行管理本番サーバ10に送信する(S304)。
図示していないが、バッチ実行管理本番サーバ10のバッチ実行プログラム205は、ステップS304において送信された稼働状況を確認するためのコマンドを受信し、バッチ実行プログラムの動作を確認して、バッチ実行プログラムの動作状況をバッチ実行管理待機サーバ11に送信する。
そして、バッチ実行管理待機サーバ11のバッチ実行プログラム213は、バッチ実行管理本番サーバ10から送信されたバッチ実行プログラムの動作状況を受信し(S305)、動作状況を示す返値が正常か異常か判定する(S306)。ステップS306において、返値が正常であると判定された場合には、バッチ実行プログラム213は、ステップS301以降の処理を繰り返す。一方、ステップS306において、返値が異常であると判定された場合には、バッチ実行プログラム213は、バッチジョブの実行サーバを、バッチ実行管理本番サーバ10からバッチ実行管理待機サーバ11に切り替えるための切替処理を行う(S307)。
上記処理では、ステップS306で返値が異常であった場合に、再度、ステップS312でバッチ実行管理本番サーバ10のバッチ実行プログラム動作状況を確認している。これは、ステップS306において、返値が異常値であっても、異常値が、バッチ実行管理一時的なエラーやキューが溜まっていることによるタイムアウトなどによるものである場合に、バッチ実行管理本番サーバ10が障害であると判断されることを防ぐためである。
一時的なエラーとしては、例えば、バッチジョブのプロセスを管理するプロセス管理部との通信時にエラーが発生した場合(リターンコード1)や、バッチジョブの実行権限がなく、一部のプロセスのみ起動している場合や、異常終了したプロセスがあるためバッチジョブが停止処理中である場合(リターンコード4)、すべてのプロセスが終了している場合(リターンコード8)、一時的なエラーによってバッチジョブ実行プログラムの状態が求まらない場合や、バッチジョブ実行プログラムの状態を取得するための要求処理がタイムアウトした場合(リターンコード12)などが挙げられる。
次に、図10を参照して、図9のステップS313における切替処理の詳細について説明する。図10に示すように、バッチ実行管理待機サーバ11のバッチ実行プログラム213は、まず、バッチ実行管理本番サーバ10に対してシャットダウンコマンドを実行する(S311)。ステップS311においてバッチ実行管理本番サーバ10をシャットダウンさせることにより、バッチ実行管理本番サーバ10が復帰した場合に、バッチ実行管理本番サーバ10とバッチ実行管理待機サーバ11とが同時にバッチジョブを実行することを防ぐことができる。
続いて、バッチ実行管理待機サーバ11のバッチ実行プログラム213は、現在時刻をOSから取得する(S312)。そして、バッチ実行プログラム213は、バッチ情報データベース214の開始時刻から、監視間隔と切替時間を減算して、本番機の開始時刻を算出する(S313)。
そして、バッチ実行プログラム213は、ステップS312において取得した現在時刻とステップS313において算出した開始時刻とを比較して、実行中のジョブを取得する(S314)。そして、バッチ実行プログラム213は、ステップS314で取得したジョブとバッチ実行管理本番サーバ10から送信された実行済ジョブとを照合する(S315)。
そして、バッチ実行プログラム213は、ステップS315で照合した結果、ステップS315で取得したジョブが終了済みかを判定する(S316)。ステップS316において、ジョブが終了済みであると判定された場合には、バッチ実行プログラム213は、バッチ情報データベース214を参照して、当該ジョブの次に実行されるジョブを取得して(S322)、ジョブを登録する(S323)。一方、ステップS316において、ジョブが終了済みではないと判定された場合には、バッチ実行プログラム213は、当該ジョブの再実行の可否を判定する(S317)。
ステップS317において、当該ジョブが再実行可能であると判定された場合には、バッチ実行プログラム213は、当該ジョブの再実行開始時刻を取得する(S318)。一方、ステップS317において、当該ジョブが再実行不可であると判定された場合には、バッチ実行プログラム213は、表示部211にジョブ入力画面を表示して(S319)、ジョブ入力画面から実行ジョブと実行開始時刻を入力させる(S320)。そして、バッチ実行プログラム213は、ステップS320で入力された実行ジョブと実行開始時刻を取得して(S321)、ジョブを登録する(S323)。
次に、図11A〜図11Cを参照して、上記した監視間隔及び切替時間のバッチジョブの開始時刻への加算について説明する。バッチ実行管理待機サーバ11において、バッチジョブの開始時刻に監視間隔及び切替時間を加算するのは、サーバの切替処理時にバッチジョブの実行漏れが発生することを防ぐためである。
図11Aは、バッチ実行管理本番サーバ10におけるバッチジョブの状態監視の直前でバッチ実行管理本番サーバ10のバッチ実行プログラム205に障害が発生した場合を示す。この場合には、切替にかかる時間分、バッチジョブの開始時刻をずらすことにより、障害発生後サーバ切替までの間に実行されるべきバッチジョブの実行漏れを防ぐことができる。
また、図11Bは、バッチ実行管理本番サーバ10におけるバッチジョブの状態監視と同じタイミングでバッチ実行管理本番サーバ10のバッチ実行プログラム205に障害が発生した場合を示す。この場合には、切替に係る時間分、バッチジョブの開始時刻をずらすことにより、障害発生後サーバ切替までの間に実行されるべきバッチジョブの実行漏れを防ぐことができる。
また、図11Cは、バッチ実行管理待機サーバ11のバッチ実行プログラム213からバッチ実行管理本番サーバ10のバッチ実行プログラム205の状態監視を行った直後に障害が発生した場合を示す。この場合には、切替に係る時間分に加えて、監視間隔も開始時刻に加算した時刻を、バッチ実行管理待機サーバ11におけるバッチジョブの開始時刻とする。これにより、状態監視を行った直後に障害が発生した場合でも、障害発生後、次の状態監視までの時間に実行されるバッチジョブ及び次の状態監視後サーバ切替までの間に実行されるべきバッチジョブの実行漏れを防ぐことができる。
本実施の形態では、図11A〜図11Cのいずれの場合であっても、バッチ実行管理待機サーバ11に切り替えられた後に実行されるべきバッチジョブの実行漏れを防ぐために、バッチジョブの開始時刻に監視間隔及び切替時間を加算した時刻をバッチ実行管理待機サーバ11のバッチジョブの実行開始時刻としている。
また、バッチジョブの処理時間が、状態監視間隔及び切替時間を加算した時間より長い場合も考えられる。例えば、図12に示すように、バッチジョブ1の開始後、状態監視時間及び切替時間を加算した時間より後に障害が発生した場合、バッチ実行管理待機サーバ11に切替後、バッチジョブ1の開始時刻は既に過ぎてしまっていることとなる。バッチ実行管理待機サーバ11のバッチ情報データベース214に設定されたバッチジョブ1の開始時刻は、バッチ実行管理本番サーバ10におけるバッチジョブ1の開始時刻に状態監視間隔及び切替時間を加算した時刻である。
したがって、バッチジョブ1の開始後、状態監視時間及び切替時間を加算した時間より後に障害が発生した場合、バッチ実行管理待機サーバ11に切替後には既にバッチジョブ1の開始時刻が経過してしまっている。そこで、状態監視間隔+切替時間より、バッチジョブの実行時間が長い場合には、バッチジョブのバッチ実行管理待機サーバ11における当該バッチジョブの開始時刻を状態監視間隔+切替時間+実行時間とすることにより、バッチジョブが状態監視間隔+切替時間であっても障害発生後、サーバ切替までの間に実行されるべきバッチジョブの実行漏れを防ぐことができる。
(6)本実施の形態の効果
以上のように、本実施の形態によれば、バッチ実行管理待機サーバ11の記憶部209には、本番サーバのバッチ実行プログラムの動作状況を確認する監視間隔と、バッチ実行管理本番サーバ10のバッチ実行プログラムの異常時にバッチ実行管理待機サーバ11に切り替えてバッチ実行プログラム213を実行するまでに要する切替時間とを監視用データベースに記憶し、前記本番サーバにおける前記バッチジョブの開始時刻に前記監視間隔及び前記切替時間を加算した時刻を前記待機サーバにおける前記バッチジョブの実行開始時刻とし、本番サーバの異常時に、本番サーバに代わってバッチ実行プログラムを実行する。これにより、共有サーバを導入することなく本番サーバの障害時にバッチジョブを継続させて、安価なシステムでバッチジョブの運用における信頼性を確保することができる。
(7)他の実施の形態
例えば、本明細書のバッチ実行管理本番サーバ10及びバッチ実行管理待機サーバ11の処理における各ステップは、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はない。すなわち、バッチ実行管理本番サーバ10及びバッチ実行管理待機サーバ11の処理における各ステップは、異なる処理であっても並列的に実行されてもよい。
また、バッチ実行管理本番サーバ10及びバッチ実行管理待機サーバ11などに内蔵されるCPU、ROMおよびRAMなどのハードウェアを、上述したバッチ実行管理本番サーバ10及びバッチ実行管理待機サーバ11の各構成と同等の機能を発揮させるためのコンピュータプログラムも作成可能である。また、該コンピュータプログラムを記憶させた記憶媒体も提供される。
また、上述の実施形態においては、バッチ実行管理本番サーバ10及びバッチ実行管理待機サーバ11に格納されている各種プログラムに基づいて、バッチ実行管理本番サーバ10及びバッチ実行管理待機サーバ11の制御部が本発明の各種機能を実現しているが、かかる例に限定されない。例えば、制御部をバッチ実行管理本番サーバ10及びバッチ実行管理待機サーバ11とは別体の他の装置に設けて、当該制御部と協同して各種機能を実現するようにしてもよい。また、バッチ実行管理本番サーバ10及びバッチ実行管理待機サーバ11に格納されている各種プログラムをバッチ実行管理本番サーバ10及びバッチ実行管理待機サーバ11とは別体の他の装置に設けて、当該プログラムが制御部に呼び出されることにより各種機能を実現するようにしてもよい。
1 計算機システム
10 バッチ実行管理本番サーバ
11 バッチ実行管理待機サーバ
200 制御部
201 記憶部
202 入力部
203 表示部
204 ネットワークインタフェース部
205 バッチ実行プログラム
206 バッチ情報データベース
208 制御部
209 記憶部
210 入力部
211 表示部
212 ネットワークインタフェース部
213 バッチ実行プログラム
214 バッチ情報データベース
215 監視用データベース
220 入力部
222 表示部

Claims (5)

  1. バッチ実行プログラムを実行する本番サーバの異常時に、本番サーバに代わって前記バッチ実行プログラムを実行する情報処理装置であって、
    前記本番サーバのバッチ実行プログラムの動作状況を確認する監視間隔と、本番サーバのバッチ実行プログラムの異常時に待機サーバに切り替えて前記バッチ実行プログラムを実行するまでに要する切替時間とを監視用データベースに記憶し、前記バッチ実行プログラムに含まれるバッチジョブと該バッチジョブの待機サーバにおける実行開始時刻とを対応付けてバッチ情報データベースに記憶する記憶部と、
    前記本番サーバにおける前記バッチジョブの開始時刻に前記監視間隔及び前記切替時間を加算した時刻を前記待機サーバにおける前記バッチジョブの実行開始時刻とする制御部と、
    を備えることを特徴とする、情報処理装置。
  2. 前記制御部は、
    前記監視間隔で前記本番サーバの前記実行プログラムの動作状況情報を取得し、該動作状況情報に基づいて前記本番サーバが異常であると判断した場合に、前記待機サーバで実行する前記バッチジョブを特定し、前記バッチ情報データベースを参照して、該バッチジョブに対応する実行開始時刻に該バッチジョブを実行する
    ことを特徴とする、請求項1に記載の情報処理装置。
  3. 前記制御部は、
    前記本番サーバが異常であると判断した場合に、前記本番サーバを停止させる
    ことを特徴とする、請求項2に記載の情報処理装置。
  4. 前記制御部は、
    前記バッチジョブの実行時間が前記監視間隔及び前記切替時間を加算した時間よりも長い場合に、前記本番サーバにおける前記バッチジョブの開始時刻に前記監視間隔及び前記切替時間及び該バッチジョブの実行時間を加算した時刻を前記待機サーバにおける前記バッチジョブの実行開始時刻とする、
    ことを特徴とする、請求項1に記載の情報処理装置。
  5. バッチ実行プログラムを実行する本番サーバの異常時に、本番サーバに代わって前記バッチ実行プログラムを実行する情報処理装置における情報処理方法であって、
    前記情報処理装置は、前記バッチ実行プログラムの実行を制御する制御部を備え、
    前記制御部が、前記本番サーバのバッチ実行プログラムの動作状況を確認する監視間隔と、本番サーバのバッチ実行プログラムの異常時に待機サーバに切り替えて前記バッチ実行プログラムを実行するまでに要する切替時間とを監視用データベースに記憶する第1のステップと、
    前記制御部が、前記本番サーバにおける前記バッチジョブの開始時刻に前記監視間隔及び前記切替時間を加算した時刻を前記待機サーバにおける前記バッチジョブの実行開始時刻として算出し、前記バッチ実行プログラムに含まれるバッチジョブと前記算出した前記待機サーバにおける前記実行開始時刻とを対応付けてバッチ情報データベースに記憶する第2のステップと、
    制御部が、前記監視間隔で前記本番サーバの前記実行プログラムの動作状況情報を取得する第3のステップと、
    制御部が、前記動作状況情報に基づいて前記本番サーバが異常であると判断した場合に、前記待機サーバで実行する前記バッチジョブを特定し、前記バッチ情報データベースを参照して、該バッチジョブに対応する実行開始時刻に該バッチジョブを実行する第4のステップと、
    を含むことを特徴とする、情報処理方法。
JP2012277041A 2012-12-19 2012-12-19 情報処理装置及び情報処理方法 Pending JP2014120123A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012277041A JP2014120123A (ja) 2012-12-19 2012-12-19 情報処理装置及び情報処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012277041A JP2014120123A (ja) 2012-12-19 2012-12-19 情報処理装置及び情報処理方法

Publications (1)

Publication Number Publication Date
JP2014120123A true JP2014120123A (ja) 2014-06-30

Family

ID=51174874

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012277041A Pending JP2014120123A (ja) 2012-12-19 2012-12-19 情報処理装置及び情報処理方法

Country Status (1)

Country Link
JP (1) JP2014120123A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016018350A (ja) * 2014-07-08 2016-02-01 株式会社野村総合研究所 バッチサーバメンテナンス方法
JP2016066303A (ja) * 2014-09-25 2016-04-28 沖電気工業株式会社 サーバ装置、冗長構成サーバシステム、情報引継プログラム及び情報引継方法
CN109669766A (zh) * 2018-09-11 2019-04-23 深圳平安财富宝投资咨询有限公司 批处理作业的处理方法、装置、设备及存储介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016018350A (ja) * 2014-07-08 2016-02-01 株式会社野村総合研究所 バッチサーバメンテナンス方法
JP2016066303A (ja) * 2014-09-25 2016-04-28 沖電気工業株式会社 サーバ装置、冗長構成サーバシステム、情報引継プログラム及び情報引継方法
CN109669766A (zh) * 2018-09-11 2019-04-23 深圳平安财富宝投资咨询有限公司 批处理作业的处理方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
US8880486B2 (en) Distributed database system utilizing an extended two-phase-commit process
US8775862B2 (en) Tenant rescue for software change processes in multi-tenant architectures
CN106940699B (zh) 一种内存数据的同步处理方法、装置、服务器及***
US9753717B2 (en) Timing report framework for distributed software upgrades
JP2014191604A5 (ja)
JP2011103030A (ja) インシデント管理方法および運用管理サーバ
JP2016095692A (ja) 障害管理システム、障害管理サーバー、および障害管理プログラム
JP2010224847A (ja) 計算機システム及び設定管理方法
US9612909B2 (en) Computer system
JP6558037B2 (ja) 運用管理プログラム、運用管理方法、および運用管理装置
JP2014120123A (ja) 情報処理装置及び情報処理方法
US9891909B2 (en) Dynamic reconnect of work processes in a zero downtime maintenance procedure
TW201435527A (zh) 可程式邏輯控制器、可程式邏輯控制系統及執行錯誤資訊作成方法
JP2009223519A (ja) クラスタシステム及び同システムにおいてマスタノードを選択する方法
CN112751693B (zh) 分布式存储***的数据处理方法、装置及电子设备
JP2007272383A (ja) プロセス制御システム
KR101653925B1 (ko) 엔지니어링 장치, 엔지니어링 시스템 및 다운로드 처리 방법
JP5436971B2 (ja) 電力系統の設備データ管理方法
CN112148447B (zh) 基于风险控制的任务处理方法、***、及电子设备
JP2009098715A (ja) 冗長システム装置並びに冗長システム装置におけるジョブの実行方法及び実行プログラム
JP6835763B2 (ja) メッセージ監視サーバ、方法、プログラム
JP2020119115A (ja) 情報処理装置、情報提供プログラム及び情報提供システム
WO2023100394A1 (ja) 進捗管理装置、システム及び、方法
JP2018128919A (ja) 作業計画作成システム、作業計画作成方法および作業計画作成プログラム
US20070220524A1 (en) Apparatus and method to manage system by processes using process data record