JP2014112300A - 処理実行装置、処理実行方法 - Google Patents

処理実行装置、処理実行方法 Download PDF

Info

Publication number
JP2014112300A
JP2014112300A JP2012266281A JP2012266281A JP2014112300A JP 2014112300 A JP2014112300 A JP 2014112300A JP 2012266281 A JP2012266281 A JP 2012266281A JP 2012266281 A JP2012266281 A JP 2012266281A JP 2014112300 A JP2014112300 A JP 2014112300A
Authority
JP
Japan
Prior art keywords
execution
batch
completion information
processing
unit
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.)
Granted
Application number
JP2012266281A
Other languages
English (en)
Other versions
JP5876406B2 (ja
Inventor
Hiroyuki Minamizawa
広之 南澤
Tomoko Horinouchi
知子 堀之内
Yu Nakayama
悠 中山
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.)
NTT Data Wave Corp
Original Assignee
NTT Data Wave 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 NTT Data Wave Corp filed Critical NTT Data Wave Corp
Priority to JP2012266281A priority Critical patent/JP5876406B2/ja
Publication of JP2014112300A publication Critical patent/JP2014112300A/ja
Application granted granted Critical
Publication of JP5876406B2 publication Critical patent/JP5876406B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Programmable Controllers (AREA)

Abstract

【課題】情報システムのコストを削減する処理実行装置、処理実行方法を提供することを目的としている。
【解決手段】処理実行装置は、自処理実行装置が実行する自処理と並列処理される他の処理実行装置による他処理の実行が完了したことを示す実行完了情報に基づいて、並列処理される自処理と他処理とを含む前段処理の実行が完了しているか否かを判定し、前段処理に含まれるすべての処理が完了していると判定した場合に、前段処理の後に実行される後段処理を起動する判定部を備える。
【選択図】図1

Description

本発明は、処理実行装置、処理実行方法に関する。
近年、ネットワークに接続された複数のコンピュータによる情報システムが用いられている。このような情報システムでは、各コンピュータには用途に応じたアプリケーションプログラムが配備されている。
例えば、特許文献1に記載の技術では、ジョブ管理装置のマネージャープログラムが、複数の第1〜第3の計算機に配備されている各アプリケーションプログラム(以下、ジョブ、またはバッチともいう)の起動、実行制御、および監視などを行っている。特許文献1に記載の技術では、第1の計算機にジョブA1が配置され、第2の計算機にはジョブA2が配置され、第3の計算機にはジョブA3が配備されている。また、特許文献1に記載の技術では、ジョブ管理装置のマネージャープログラムは、ジョブの実行順番やジョブの起動時刻などの設定情報を有している。
特許文献1に記載の技術では、ジョブ管理装置のマネージャープログラムが、設定情報に応じて第1の計算機に配備されているジョブA1を実行する。そして、特許文献1に記載の技術では、ジョブ管理装置のマネージャープログラムが、ジョブA1が終了後、ジョブA1の出力をジョブA2へ入力し、ジョブA2を起動する。
特開2006-244172号公報
しかしながら、特許文献1に記載の技術では、ジョブ管理装置が各計算機に配備されているジョブを起動、実行制御および監視している。このため、特許文献1に記載の技術では、ジョブ管理装置が必要なため、情報システムのコストが高いという課題があった。
本発明は上記の点に鑑みてなされたものであり、情報システムのコストを削減する処理実行装置、処理実行方法を提供することを目的としている。
(1)上記目的を達成するため、本発明の一態様に係る処理実行装置は、自処理実行装置が実行する自処理と並列処理される他の処理実行装置による他処理の実行が完了したことを示す実行完了情報に基づいて、並列処理される前記自処理と前記他処理とを含む前段処理の実行が完了しているか否かを判定し、前記前段処理に含まれるすべての処理が完了していると判定した場合に、前記前段処理の後に実行される後段処理を起動する判定部を備えることを特徴としている。
(2)また、本発明の一態様に係る処理実行装置において、前記判定部は、前記自処理の実行の完了を前記判定の開始条件にして、前記前段処理に含まれるすべての処理の実行が完了しているか否かを判定するようにしてもよい。
(3)また、本発明の一態様に係る処理実行装置において、前記自処理の実行が完了したときに、当該自処理の実行が完了したことを示す前記実行完了情報を記憶部に書き込む実行完了情報書込部を備え、前記判定部は、前記記憶部に記憶されている前記実行完了情報を読み出し、読み出した前記実行完了情報に基づいて、前記前段処理に含まれるすべての処理の実行が完了しているか否かを判定するようにしてもよい。
(4)また、本発明の一態様に係る処理実行装置において、前記実行完了情報書込部は、前段処理の実行が完了したとき、予め定められる書込み順序に基づいて前記実行完了情報を前記記憶部に書き込むようにしてもよい。
(5)また、本発明の一態様に係る処理実行装置において、前記前段処理の開始時に起動回数を計数する起動カウンタを備え、前記実行完了情報書込部は、前段処理の実行が完了したときに、前記実行完了情報と前記起動カウンタが計数した起動回数とを関連づけて前記記憶部に書き込むようにしてもよい。
(6)また、本発明の一態様に係る処理実行装置において、前記判定部は、前記記憶部に記憶されている自装置の起動回数と同じ値の前記起動回数に関連づけられている前記実行完了情報を読み出し、読み出した前記実行完了情報に基づいて、複数の前記前段処理の実行が完了しているか否かを判定するようにしてもよい。
(7)上記目的を達成するため、本発明の一態様に係る処理実行方法は、判定部が、自処理実行装置が実行する自処理と並列処理される他の処理実行装置による他処理の実行が完了したことを示す実行完了情報に基づいて、並列処理される前記自処理と前記他処理とを含む前段処理の実行が完了しているか否かを判定し、前記前段処理に含まれるすべての処理が完了していると判定した場合に、前記前段処理の後に実行される後段処理を起動する判定手順を有することを特徴とする。
本発明の態様(1)および(7)によれば、複数のバッチが並列に処理されていた場合であっても、判定部が互いにバッチが終了したか判定し、すべてのバッチが終了したと判定した場合に、判定した判定部が、次のバッチを起動するようにした。この結果、バッチ管理装置が不要になり情報システムのコストを削減できる。
本発明の態様(2)によれば、自処理の実行の完了を判定の開始条件にするため、前段処理に含まれるすべての処理の実行が完了しているか否かの判定を常時行うことが不要になり処理装置の処理実行負荷を低減できる。
本発明の態様(3)によれば、複数のバッチが並列に処理されていた場合であっても、判定部が互いにバッチが終了したか否かを記憶部に記憶されている実行完了情報に基づいて判定できる。この結果、バッチの終了を監視するためのバッチ管理装置が不要になり情報システムのコストを削減できる。
本発明の態様(4)によれば、複数のバッチが並列に処理されて同時に終了した場合であっても、記憶部に実行完了情報を書き込む順番を調停できる。判定部は、互いに記憶部に記憶されている実行完了情報を確認することができる。この結果、バッチ管理装置が不要になり情報システムのコストを削減できる。
本発明の態様(5)および(6)によれば、処理実行装置が各々、起動カウンタを備え、バッチの起動毎に起動回数を加算する。このようにバッチの起動回数をお互いに監視しあうことで、バッチのネット構成が複数回起動されても、起動回数に合わせてネット構成を起動することができる。
第1実施形態に係る処理実行装置および処理実行システムの概略構成例を説明する図である。 第1実施形態に係る記憶部に記憶されている設定情報の例を説明する図である。 第1実施形態に係る記憶装置に記憶されている情報の例を説明する図である。 第1実施形態に係るバッチの連携を説明する図である。 第1実施形態に係る処理実行装置、記憶装置間の処理のシーケンスの一例である。 第2実施形態に係る処理実行装置および処理実行システムの概略構成例を説明する図である。 第2実施形態に係る処理実行装置、記憶装置間の処理のシーケンスの一例である。 第3実施形態に係るバッチの連携の概要を説明する図である。 第3実施形態に係る処理実行装置および処理実行システムの概略構成例を説明する図である。 第3実施形態に係る記憶装置に記憶されている情報の例を説明する図である。 第3実施形態に係る複数のバッチの連携の構成の一例を説明する図である。 第3実施形態に係るバッチ異常終了時の構成の一例を説明する図である。 第3実施形態に係るバッチ処理の連動の一例を説明する図である。
[第1の実施形態]
以下、図面を参照しながら本発明の実施形態について説明する。
図1は、本実施形態に係る処理実行装置および処理実行システムの概略構成例を説明する図である。
図1に示すように、処理実行システム1は、n(nは2以上の整数)台の処理実行装置10−n、および記憶装置20を備えている。処理実行装置10−nは、各々、通信ネットワーク30を介して接続されている。通信ネットワーク30は、有線ネットワーク、または無線ネットワークである。図1に示した例では、処理実行装置10−nが4台(n=4)接続されている例を示したが、処理実行装置10−nの台数は、2台以上であればよい。
記憶装置20は、記憶部201を備えている。記憶部201には、実行完了情報が記憶されている。なお、記憶部201に記憶されている情報については、図3を参照して後述する。
処理実行装置10−nは、各々、操作部101−n、通信部102−n、処理部103−n、判定部104−n、実行完了情報書込部105−nおよび記憶部106−nを備えている。
操作部101−nは、処理実行システム1の利用者の操作を検出し、検出した検出結果を処理部103−nに出力する。この検出結果には、記憶部106−nに記憶されているアプリケーションプログラム(ジョブ、またはバッチともいう)の起動指示が含まれている。操作部101−nとは、例えば、キーボード、マウス、タッチパネルセンサを有する表示部等である。ここで、起動指示とは、バッチを起動する指示である。バッチとは、処理目的ごとに区切られた1つの流れのプログラム群である。
通信部102−nは、他の処理実行装置10−nとの通信を、通信ネットワーク30を介して行う。以下、説明の対象としている処理実行装置10−nを自装置(または、自処理実行装置)ともいい、この自装置と通信ネットワーク30を介して情報の送受信を行う他の処理実行装置10−nを他装置ともいう。また、この自装置が実行している処理を自処理ともいい、他装置が実行している処理を他処理ともいう。
処理部103−nは、自装置の操作部101−nから入力された起動指示、または他装置の判定部104−nから入力された起動指示に応じて、自装置の記憶部106−nに記憶されているバッチの実行制御を行う。なお、他装置が起動指示を出力する仕組みについては後述する。処理部103−nは、バッチの実行制御の終了後、バッチが終了したことを示すバッチ終了情報を自装置の判定部104−nに出力する。
判定部104−nは、自装置の処理部103−nから入力されたバッチ終了情報に応じて、自装置のバッチが終了したと判定する。
ここで、自装置と並列に行う処理を並列処理という。すなわち並列処理とは、異なる2台の処理実行装置10−nが各々、バッチを実行することである。並列処理されるバッチは、例えば1台の処理実行装置10−nが出力した起動指示に応じて実行が開始される第1のバッチと第2のバッチであってもよい。あるいは、第1のバッチと第2のバッチが、1台の処理実行装置10−nが出力した起動指示に応じて実行が開始され、第2のバッチが終了した後、第2のバッチを実行していた処理実行装置10−nが出力した起動指示により第3のバッチが実行される場合、並列処理されるバッチは、第1のバッチと、第3のバッチであってもよい。
判定部104−nは、自装置におけるバッチが終了したと判定した場合、記憶装置20の記憶部201に実行完了情報を書き込む指示を自装置の実行完了情報書込部105−nに対して出力する。ここで、実行完了情報とは、バッチが終了したことを示す情報である。
実行完了情報書込部105−nは、判定部104−nから入力された実行完了情報を書き込む指示に応じて、実行完了情報を記憶装置20の記憶部201に書き込む。
判定部104−nの説明に戻って、判定部104−nは、自装置の記憶部106−nに記憶されている設定情報の中から監視対象のバッチ名を読み出す。判定部104−nは、自装置および並列して処理されている他装置におけるすべてのバッチが終了したか否かを、監視対象のバッチ名と関連づけて記憶部201に記憶されている実行完了情報に基づいて判定する。すなわち、判定部104−nは、自処理の実行の完了を判定の開始条件にして、前段処理に含まれるすべての処理の実行が完了しているか否かを判定する。
判定部104−nは、自装置および並列して処理されている他装置におけるすべてのバッチが終了したと判定した場合、自装置の記憶部106−nに記憶されている設定情報に応じて次に実行するバッチに対する起動指示を、通信ネットワーク30を介して他の装置に送信する。設定情報に記述されている次に実行するバッチが複数の場合、判定部104−nは、設定情報に記述されている複数のバッチ毎に起動指示を他装置に送信する。なお、設定情報については、図2を参照して後述する。
記憶部106−nには、アプリケーションプログラムおよび設定情報が記憶されている。例えば、記憶部106−1には、アプリケーションA(バッチAともいう)が記憶され、記憶部106−2には、アプリケーションB(バッチBともいう)が記憶されている。記憶部106−3には、アプリケーションC(バッチCともいう)が記憶され、記憶部106−4には、アプリケーションD(バッチDともいう)が記憶されている。
図2は、本実施形態に係る記憶部106−nに記憶されている設定情報の例を説明する図である。図2に示すように、記憶部106−nには、バッチの実行順番、実行するバッチ、バッチを実行する処理実行装置名、バッチ起動時刻、監視対象のバッチ名、次に実行するバッチ、およびアプリケーションプログラムが関連づけられて記憶されている。設定情報とは、バッチの実行順番、実行するバッチ、バッチを実行する処理実行装置名、バッチ起動時刻、監視対象のバッチ、次に実行するバッチである。
例えば符号301に示すように、記憶部106−nに記憶されている情報は、バッチの実行順番が1であり、実行するバッチがバッチAであり、バッチを実行する処理実行装置名が処理実行装置10−1である。また、バッチ起動時刻が10時00分00秒であり、監視対象のバッチ名がAであり、次に実行するバッチがバッチBとバッチCである。また、記憶部106−nにはバッチAが記憶されている。
例えば符号302に示すように、記憶部106−nに記憶されている情報は、バッチの実行順番が2であり、実行するバッチがバッチBであり、バッチを実行する処理実行装置名が処理実行装置10−2である。また、バッチ起動時刻は記述無しであり、監視対象のバッチ名がBおよびCであり、次に実行するバッチがバッチDである。また、記憶部106−nにはバッチBが記憶されている。
例えば符号303に示すように、記憶部106−nに記憶されている情報は、バッチの実行順番が2であり、実行するバッチがバッチCであり、バッチを実行する処理実行装置名が処理実行装置10−3である。また、バッチ起動時刻は記述無しであり、監視対象のバッチ名がBおよびCであり、次に実行するバッチがバッチDである。また、記憶部106−nにはバッチCが記憶されている。
例えば符号304に示すように、記憶部106−nに記憶されている情報は、バッチの実行順番が3であり、実行するバッチがバッチDであり、バッチを実行する処理実行装置名が処理実行装置10−4である。また、バッチ起動時刻は記述無しであり、監視対象のバッチ名がDであり、次に実行するバッチは記述無しである。また、記憶部106−nにはバッチDが記憶されている。
なお、図2に示した情報すべてが、各処理実行装置10−nの各記憶部106−nに記憶されていてもよい。あるいは、自装置分の情報のみが記憶部106−nに記憶されていてもよく、例えば符号301に示した情報のみが処理実行装置10−1の記憶部106−1に記憶されていてもよい。
図3は、本実施形態に係る記憶装置20に記憶されている情報の例を説明する図である。図3に示すように、記憶装置20の記憶部201には、バッチ名と実行完了情報とが関連づけられて記憶されている。例えば、記憶部201には、バッチ名Aと実行完了情報とが関連づけられて記憶されている。
図4は、本実施形態に係るバッチの連携を説明する図である。符号401はバッチAであり、符号403はバッチBであり、符号404はバッチCであり、符号407はバッチDである。また、符号402は、判定部104−1が行うバッチ完了判定と次のバッチ起動処理を示し、符号405は、判定部104−2が行うバッチ完了判定と次のバッチ起動処理を示す。符号406は、判定部104−3が行うバッチ完了判定と次のバッチ起動処理を示す。
図4に示すように、まず処理実行装置10−1の処理部103−1は、バッチAを起動する。次に、判定部104−1は、バッチAが終了したか判定し、バッチAが終了した場合、バッチBとバッチCに対する起動指示を処理実行装置10−1と処理実行装置10−2に送信する。
次に、処理実行装置10−2の処理部103−2はバッチBを起動し、処理実行装置10−3の処理部103−3はバッチCを起動する。
次に、判定部104−2と判定部104−3は、互いにバッチが終了したかを判定し、最後にバッチを終了したと判定した方の判定部104が、バッチDに対する起動指示を処理実行装置10−4に送信する。
図5は、本実施形態に係る処理実行装置10−n、記憶装置20間の処理のシーケンスの一例である。図5に示した例では、図1に示したように処理実行装置10−1〜10−4、記憶装置20が通信ネットワーク30を介して接続されている。また、処理実行装置10−nの各記憶部106−nには、図2に示した情報が記憶されている。
(ステップS1)処理実行装置10−1の処理部103−1は、記憶部106−1に記憶されている設定情報に応じて実行するバッチAを記憶部106−1から読み出す。次に処理部103−1は、読み出したバッチAを起動する。処理部103−1は、ステップS1終了後、処理をステップS2に進める。
(ステップS2)処理部103−1は、バッチAを実行制御する。処理部103−1は、ステップS2終了後、処理をステップS3に進める。
(ステップS3)処理部103−1は、バッチAが終了した際、バッチ終了情報を判定部104−1に出力する。次に、判定部104−1は、処理部103−1から入力されたバッチ終了情報に応じてバッチAが終了したと判定する。処理部103−1は、ステップS3終了後、処理をステップS4に進める。
(ステップS4)判定部104−1は、記憶装置20に実行完了情報を書き込む指示を実行完了情報書込部105−1に対して出力する。次に、実行完了情報書込部105−1は、判定部104−1から入力された実行完了情報を書き込む指示に応じて、バッチ名Aと実行完了情報とを関連づけて記憶装置20の記憶部201に書き込む。処理部103−1は、ステップS4終了後、処理をステップS5に進める。
(ステップS5)判定部104−1は、記憶部106−1に記憶されている設定情報のうち、監視対象のバッチ名Aを読み出す。次に、判定部104−1は、バッチ名Aに関連づけられた実行完了情報が記憶部201に記憶されているか否かを確認する。図5に示した例では、監視対象のバッチ名Aに関連づけられた実行完了情報が記憶部201に記憶されている。このため判定部104−1は、自装置および並列して処理されている他装置におけるすべてのバッチが終了したと判定し、処理をステップS6に進める。
(ステップS6)判定部104−1は、記憶部106−1に記憶されている設定情報に応じて、バッチBに対する起動指示を処理実行装置10−2に送信し、バッチCに対する起動指示を処理実行装置10−3に送信する。
(ステップS7)処理実行装置10−2の処理部103−2は、処理実行装置10−1から入力されたバッチBに対する起動指示に応じて、記憶部106−2に記憶されている設定情報に基づいてバッチBを読み出す。処理部103−2は、読み出したバッチBを起動する。
(ステップS8)処理実行装置10−3の処理部103−3は、処理実行装置10−1から入力されたバッチCに対する起動指示に応じて、記憶部106−3に記憶されている設定情報に基づいてバッチCを読み出す。処理部103−3は、読み出したバッチCを起動する。これにより、バッチBとバッチCとが並列処理される。
(ステップS9)処理部103−2は、バッチBを実行制御する。処理部103−2は、ステップS9終了後、処理をステップS11に進める。
(ステップS10)処理部103−3は、バッチCを実行制御する。処理部103−3は、ステップS10終了後、処理をステップS14に進める。
(ステップS11)処理部103−2は、バッチBが終了した際、バッチ終了情報を判定部104−2に出力する。次に、判定部104−2は、処理部103−2から入力されたバッチ終了情報に応じてバッチBが終了したと判定する。処理部103−2は、ステップS11終了後、処理をステップS12に進める。
(ステップS12)判定部104−2は、バッチBが終了したと判定した場合、記憶部201に実行完了情報を書き込む指示を実行完了情報書込部105−2に対して出力する。次に、実行完了情報書込部105−2は、判定部104−2から入力された実行完了情報を書き込む指示に応じて、バッチ名Bと実行完了情報とを関連づけて記憶部201に書き込む。処理部103−2は、ステップS12終了後、処理をステップS13に進める。
(ステップS13)判定部104−2は、記憶部106−2に記憶されている設定情報のうち、監視対象のバッチ名BとCを読み出す。次に、判定部104−2は、監視対象であるバッチ名BとCに各々関連づけられて記憶されている実行完了情報が記憶部201に記憶されているか否か確認する。図5に示した例では、記憶部201に監視対象のバッチ名Bに関連づけられた実行完了情報が記憶されているが、監視対象のバッチ名Cに関連づけられた実行完了情報が記憶されていない。このため判定部104−2は、自装置および並列して処理されている他装置におけるすべてのバッチが終了していないと判定する。
(ステップS14)処理部103−3は、バッチCが終了した際、バッチ終了情報を判定部104−3に出力する。次に、判定部104−3は、処理部103−3から入力されたバッチ終了情報に応じてバッチCが終了したと判定する。処理部103−3は、ステップS14終了後、処理をステップS15に進める。
(ステップS15)判定部104−3は、バッチCが終了したと判定した場合、記憶部201に実行完了情報を書き込む指示を実行完了情報書込部105−3に対して出力する。次に、実行完了情報書込部105−3は、判定部104−3から入力された実行完了情報を書き込む指示に応じて、バッチ名Cと実行完了情報とを関連づけて記憶部201に書き込む。処理部103−3は、ステップS15終了後、処理をステップS16に進める。
(ステップS16)判定部104−3は、記憶部106−3に記憶されている設定情報のうち、監視対象のバッチ名BとCを読み出す。次に、判定部104−3は、監視対象であるバッチ名BとCに各々関連づけられて記憶されている実行完了情報が記憶部201に記憶されているか否か確認する。図5に示した例では、記憶部201に監視対象のバッチ名Bに関連づけられた実行完了情報が記憶され、監視対象のバッチ名Cに関連づけられた実行完了情報が記憶されている。このため判定部104−3は、自装置および並列して処理されている他装置におけるすべてのバッチが終了したと判定する。処理部103−3は、ステップS16終了後、処理をステップS17に進める。
(ステップS17)判定部104−3は、記憶部106−3に記憶されている設定情報に応じて、バッチDに対する起動指示を処理実行装置10−4に送信する。
(ステップS18)処理実行装置10−4の処理部103−4は、処理実行装置10−3から入力されたバッチDに対する起動指示に応じて、記憶部106−4に記憶されている設定情報に基づいてバッチDを読み出す。処理部103−4は、読み出したバッチDを起動する。処理部103−4は、ステップS18終了後、処理をステップS19に進める。
(ステップS19)処理部103−4は、バッチDを実行制御する。
以上のように、本実施形態の処理実行装置10−nは、前段処理の実行が完了したことを示す実行完了情報に基づいて、複数の前段処理の実行が完了しているか否かを互いに判定し、すべての前段処理が完了していると判定した場合に、前段処理の後に実行される後段処理を起動する判定部104−nを備える。
これにより、複数のバッチが並列に処理されていた場合であっても、判定部104−nが互いにバッチが終了したか判定し、すべてのバッチが終了したと判定した場合に、判定した判定部104−nが、次のバッチを起動するようにした。この結果、バッチ管理装置が不要になり情報システムのコストを削減できる。
また、本実施形態の処理実行装置10−nは、前段処理の実行が完了したとき、実行完了情報を記憶部(201または106−n)に書き込む実行完了情報書込部105−nを備え、判定部104−nは、記憶部(201または106−n)に記憶されている実行完了情報を読み出し、読み出した実行完了情報に基づいて、複数の前段処理の実行が完了しているか否かを互いに判定する。
これにより、複数のバッチが並列に処理されていた場合であっても、判定部104−nが互いにバッチが終了したか否かを記憶装置20の記憶部201に記憶されている実行完了情報に基づいて判定できる。この結果、バッチの終了を監視するためのバッチ管理装置が不要になり情報システムのコストを削減できる。
なお、本実施形態では、各バッチの実行完了情報を、記憶装置20の記憶部201に記憶させる例を説明したが、これに限られない。例えば、実行完了情報書込部105−2は、バッチB終了後、実行終了情報を自装置の記憶部106−2に記憶させるようにしてもよい。そして、判定部104−3は、バッチC終了後、バッチB関連づけられた実行終了情報が記憶部106−2に記憶されているか否かを確認することで、バッチBが終了しているか否かを判定するようにしてもよい。同様に、実行完了情報書込部105−3は、バッチC終了後、実行終了情報を自装置の記憶部106−3に記憶させるようにしてもよい。そして、判定部104−2は、バッチB終了後、バッチCに関連づけられた実行終了情報が記憶部106−3に記憶されているか否かを確認することで、バッチCが終了しているか否かを判定するようにしてもよい。
なお、図4または図5に示した例において、バッチ終了後、判定部104−nは、各バッチで得られた値を、次のバッチに引き渡すようにしてもよい。例えば、バッチA終了後、判定部104−1は、バッチBを実行する処理実行装置10−2と、バッチCを実行する処理実行装置10−3へバッチAで得られた値を引き渡すようにしてもよい。また、バッチBおよびバッチC終了後、判定部104−2または判定部104−3は、バッチDを実行する処理実行装置10−4へバッチBおよびバッチCで得られた値を引き渡すようにしてもよい。
なお、本実施形態では、各バッチが、各処理実行装置10−nの記憶部106−nに記憶されている例を説明したが、これに限られない。例えば、1台の処理実行装置10−1の記憶部106−1にバッチA〜バッチDが記憶されていてもよい。この場合、処理部103−1は、まずバッチAを起動するようにしてもよい。そして、判定部104−1はバッチA終了後に、バッチBとバッチCを起動するようにしてもよい。処理部103−1は、バッチBとバッチCとを並列処理するようにしてもよい。そして、判定部104−1は、バッチBとバッチCとが終了したと判定した後、バッチDを起動するようにしてもよい。
また、バッチが異常終了した場合、処理部103−nは、実行していたバッチを再実行(リラン;Rerun)するようにしてもよい。例えば、バッチの実行途中の所定の位置にコミットポイントを設けるようにしてもよい。ここで、コミットポイントとは、バッチをいくつかに小分けた場合、小分けたバッチが終了したポイントを示す情報である。処理部103−nは、バッチ実行中、実行が終了したコミットポイントを記憶部106−nに記憶させるようにしてもよい。そして、バッチが異常終了した場合、処理部103−nは、記憶部106−nに記憶されているコミットポイントに応じて、異常終了した前の処理からバッチを継続するようにしてもよい。このように、バッチが異常終了した場合であっても、バッチを先頭からすべて再実行しなくてすむため、バッチの実行にかかる時間を軽減することができる。
[第2の実施形態]
第1実施形態では、複数のバッチが並列処理されて、終了するタイミングが異なる例を説明した。本実施形態では、複数のバッチが並列処理されて、終了するタイミングが同じ場合の例を説明する。
図6は、本実施形態に係る処理実行装置および処理実行システム1Aの概略構成例を説明する図である。
図6に示すように、処理実行システム1Aは、n(nは2以上の整数)台の処理実行装置10−n、および記憶装置20Aを備えている。第1実施形態における処理実行システム1と同じ機能を有する機能部は、同じ符号を用いて説明を省略する。第1実施形態の処理実行システム1とことなる機能部は、記憶装置20Aである。
記憶装置20Aは、記憶部201Aおよび調停部202を備えている。
調停部202は、複数の実行完了情報書込部105−nからアクセスがあった場合、実行完了情報の書き込み順番を調停する。例えば、調停部202は、複数の実行完了情報書込部105−nからアクセスがあった場合、予め定められている書き込み順位に従って、実行完了情報の書き込みを受け付ける。ここで、予め定められている書き込み順位とは、並列処理される複数のバッチに対して予め定めてある順位である。予め定められている書き込み順位は、例えば、処理実行装置10−nに識別情報が割り振られている場合、並列処理されている処理実行装置10−nのうち、識別番号が小さい方を優先する順番であってもよい。
例えば、図4に示したように、バッチBとバッチCが並列処理される場合、予め定められている書き込み順位として、バッチBがバッチCに優先するようにしてもよい。そしてバッチBとバッチCとが同時に終了した場合、調停部202は、実行完了情報書込部105−2からの書き込みを優先して受け付け、バッチ名Bに対応する実行完了情報を記憶部201Aに記憶させる。また、調停部202は、同時にアクセスしてきた実行完了情報書込部105−3に対して、所定の時間後に再アクセスする指示を送信するようにしてもよい。
図7は、本実施形態に係る処理実行装置10−n、記憶装置20A間の処理のシーケンスの一例である。図7に示した例では、図1に示したように処理実行装置10−1〜10−4、記憶装置20Aが通信ネットワーク30を介して接続されている。また、処理実行装置10−nの各記憶部106−nには、図2に示した設定情報が記憶されている。
ステップS1〜S10は、第1実施形態と同様に処理を行う。
(ステップS101)判定部104−2は、処理部103−2が出力したバッチ終了情報に応じてバッチBが終了したと判定する。処理部103−2は、ステップS101終了後、処理をステップS102に進める。
(ステップS102)判定部104−2は、バッチBが終了したと判定した場合、記憶装置20Aの記憶部201Aに実行完了情報を書き込む指示を実行完了情報書込部105−2に対して出力する。次に、実行完了情報書込部105−2は、判定部104−2から入力された実行完了情報を書き込む指示に応じて、記憶装置20Aにアクセスする。
(ステップS103)判定部104−3は、処理部103−3が出力したバッチ終了情報に応じてバッチCが終了したと判定する。処理部103−3は、ステップS103終了後、処理をステップS104に進める。
(ステップS104)判定部104−3は、バッチCが終了したと判定した場合、記憶部201Aに実行完了情報を書き込む指示を実行完了情報書込部105−3に対して出力する。次に、実行完了情報書込部105−3は、判定部104−3から入力された実行完了情報を書き込む指示に応じて、記憶装置20Aにアクセスする。
(ステップS105)記憶装置20Aの調停部202は、実行完了情報書込部105−2と実行完了情報書込部105−3から同時にアクセスがあった場合、予め定められている書き込み順位に従って、アクセスを受け付ける。図7に示した例では、調停部202は、実行完了情報書込部105−2のアクセスを優先的に受け付ける。
(ステップS106)調停部202は、同時にアクセスしてきた実行完了情報書込部105−3に対して、所定の時間後に再アクセスする指示を送信する。
(ステップS107)調停部202は、実行完了情報書込部105−2からのアクセスに応じて、バッチ名Bと実行完了情報とを関連づけて記憶部201Aに記憶させる。
(ステップS108)判定部104−2は、記憶部106−2に記憶されている設定情報のうち、監視対象のバッチ名BとCを読み出す。次に、判定部104−2は、バッチ名BとBに各々関連づけられた実行完了情報が記憶部201Aに記憶されているか否かを確認する。図7に示した例では、監視対象のバッチ名Bに関連づけられた実行完了情報が記憶部201Aに記憶されているが、監視対象のバッチ名Cに関連づけられた実行完了情報が記憶されていない。このため判定部104−2は、自装置および並列して処理されている他装置におけるすべてのバッチが終了していないと判定する。
(ステップS109)実行完了情報書込部105−3は、所定時間が経過後、実行完了情報を書き込むため記憶装置20Aに再アクセスし、バッチ名Cと実行完了情報とを関連づけて記憶部201Aに書き込む。判定部104−3は、ステップS109終了後、処理をステップS110に進める。
(ステップS110)判定部104−3は、記憶部106−3に記憶されている設定情報のうち、監視対象のバッチ名BとCを読み出す。次に、判定部104−3は、バッチ名BとBに各々関連づけられた実行完了情報が記憶部201Aに記憶されているか否かを確認する。図7に示した例では、監視対象のバッチ名Bに関連づけられた実行完了情報が記憶部201Aに記憶され、監視対象のバッチ名Cに関連づけられた実行完了情報が記憶されている。このため判定部104−3は、自装置および並列して処理されている他装置におけるすべてのバッチが終了したと判定する。処理部103−3は、ステップS110終了後、処理をステップS111に進める。
(ステップS111)判定部104−3は、記憶部106−3に記憶されている設定情報に応じて、バッチDに対する起動指示を処理実行装置10−4に送信する。
(ステップS112)処理実行装置10−4の処理部103−4は、処理実行装置10−3から入力されたバッチDを起動する起動情報に応じて、記憶部106−4に記憶されている設定情報に基づいてバッチDを読み出す。次に、処理部103−4は、読み出したバッチDを起動する。
なお、本実施形態では、記憶装置20Aが調停部202を備える例を説明したが、これに限られない。調停部は、各処理実行装置10−nが備えていてもよい。例えば、記憶装置20Aに、実行完了情報書込部105−nが同時にアクセスしてきて実行完了情報を書き込めない場合、予め定められている順位で書き込むようにしてもよい。例えば、図7に示したように、実行完了情報書込部105−2と実行完了情報書込部105−3とが記憶装置20Aに同時アクセスした場合、処理実行装置10−2の調停部は、実行完了情報書込部105−2が優先的に実行完了情報を記憶装置20Aに書き込むように調停するようにしてもよい。そして、処理実行装置10−3の調停部は、実行完了情報書込部105−3に対して、所定の時間経過後に記憶装置20Aに再アクセスして、実行完了情報を書き込むように調停するようにしてもよい。
また、調停部202は、例えば、通信ネットワーク30と記憶装置20Aとの間に設けられていてもよい。
また、本実施形態では、調停部202を備えて調停するする例を説明したが、これに限られない。他の実施例を説明する。
例えば、図7において、バッチAが終了した後、判定部104−1は、記憶部106−1に記憶されている設定情報に応じて、バッチBに対する起動指示を処理実行装置10−2に送信し、バッチCに対する起動指示を処理実行装置10−3に送信する。さらに、判定部104−1は、処理実行装置10−2と処理実行装置10−3に対して、トークンを発行するようにしてもよい。この場合、トークンは、処理実行装置10−2と処理実行装置10−3との間を、通信ネットワーク30を介して周回する。処理実行装置10−2と処理実行装置10−3とが、同時にバッチの実行を終えた場合、トークンを有している処理実行装置10−nの実行完了情報書込部105−nのみが、記憶装置20Aにアクセスして実行完了情報を記憶装置20Aに書き込むようにしてもよい。処理実行装置10−2は、実行完了情報の書き込み後、トークンを処理実行装置10−3に送信する。そして、トークンを受信した処理実行装置10−3の実行完了情報書込部105−3は、記憶装置20Aに実行完了情報を書き込むようにしてもよい。
また、本実施形態では、記憶部201Aを記憶装置20Aが備える例を説明したが、これに限られない。記憶部201Aは、各処理実行装置10−nの記憶部106−nであってもよい。
以上のように、本実施形態の処理実行装置10−nは、実行完了情報書込部105−nは、前段処理の実行が完了したとき予め定められる書込み順序に基づいて実行完了情報を記憶部(201または106−n)に書き込む。
これにより、複数のバッチが並列に処理されて同時に終了した場合であっても、記憶部(201または106−n)に実行完了情報を書き込む順番を調停できる。判定部104−nは、互いに記憶部(201または10−6−n)に記憶されている実行完了情報を確認することができる。この結果、バッチ管理装置が不要になり情報システムのコストを削減できる。
[第3の実施形態]
第1および第2実施形態では、バッチA〜バッチDが1回ずつ起動される例を説明した。本実施形態では、バッチA〜バッチDが所定の時刻毎に起動される例を説明する。
図8は、本実施形態に係るバッチの連携の概要を説明する図である。図8(a)は、第1の時刻にバッチAが起動された例であり、図8(b)は、第2の時刻にバッチAが起動された例である。
図8に示した例では、バッチA〜バッチBが所定の時間間隔で定期的に行われる。図8に示した例は、すべてのバッチが異常終了せずに終了した場合の図である。
例えば、図8(a)において、バッチCが異常終了した場合を説明する。この場合、バッチCを実行制御している処理部103−n(図6参照)は、バッチCをリランする。そして、バッチCを実行制御している判定部104−n(図6参照)は、並列処理されているバッチBが終了したか否かを記憶部201A(図6参照)に記憶されている実行完了情報に基づいて確認する。しかしながら、バッチA〜バッチCが定期的に実行されているため、実行完了情報がどの時刻に実行されたバッチによるものか、判定部104−nは判定できない。このため、例えば図8(b)のバッチA〜バッチDの実行において、第1の時刻に起動されたバッチBが終了したことを受けて、判定部104−nがバッチC終了後に、並列処理されているすべてのバッチが終了したと誤判定してしまうこともあり得る。
このため、本実施形態では、起動回数をカウントするカウンタを設けることで、このような誤判定を防ぐ。
図9は、本実施形態に係る処理実行装置および処理実行システム1Bの概略構成例を説明する図である。
図9に示すように、処理実行システム1Bは、n(nは2以上の整数)台の処理実行装置10−nB、および記憶装置20Bを備えている。処理実行装置10−nBは、各々、通信ネットワーク30を介して接続されている。処理実行装置10−nBは、操作部101−n、通信部102−n、処理部103−n、判定部104−nB、実行完了情報書込部105−nB、記憶部106−nおよび起動カウンタ107−nを備えている。第1および第2実施形態にける処理実行装置10−nとの差異は、判定部104−nB、実行完了情報書込部105−nBおよび起動カウンタ107−nである。
起動カウンタ107−nは、処理部103−nにより所定の時間毎に初期化される。ここで、初期化とは、例えば0である。所定の時間は、例えば、24時間である。起動カウンタ107−nは、バッチの起動回数を計数する。具体的には、起動カウンタ107−nは、バッチの起動毎に起動回数を1ずつ加算する。この場合、起動カウンタ107−nは、バッチ(すなわち前段処理)の起動時(開始時)に起動回数を1ずつ加算する。なお、起動カウンタ107−nは、バッチの起動毎に起動回数を1ずつ減算してもよい。
実行完了情報書込部105−nBは、判定部104−nBから入力された実行完了情報を書き込む指示に応じて、終了したバッチ名と実行完了情報と起動カウンタ107−nの起動回数とを関連づけて記憶装置20Bの記憶部201Bに書き込む。
判定部104−nBは、記憶部106―nに記憶されている設定情報に記憶されている並列して処理されている装置におけるすべてのバッチが終了したか否かを、記憶部201Bに記憶されているバッチ名と実行完了情報と起動回数に基づいて判定する。
記憶装置20Bは、記憶部201Bを備える。記憶部201Bには、図10に示すように、起動カウンタ値とバッチ名と実行完了情報とが関連づけられて記憶されている。
図10は、本実施形態に係る記憶装置20Bに記憶されている情報の例を説明する図である。図10に示すように、記憶装置20Bの記憶部201Bには、起動回数とバッチ名と実行完了情報とが関連づけられて記憶されている。例えば、記憶部201Bには、起動回数(=1)とバッチ名Aと実行完了情報とが関連づけられて記憶されている。
図11は、本実施形態に係る複数のバッチの連携の構成の一例を説明する図である。
図11(a)は、第1の時刻に第1のネット構成に含まれるバッチAが起動された例である。ここで、ネット構成とは、図8(a)に示したように、バッチA〜バッチDを含むバッチ群の起動順番およびバッチ間の連携を含む構成である。また、第1のネット構成とは、第1の時刻において起動されるバッチA、およびこれに連携して起動されるバッチB〜バッチDを含むバッチ群の起動順番およびバッチ間の連携の構成である。図11(b)は、第1の時刻とは異なる第2の時刻において、第2のネット構成に含まれるバッチAが起動された例である。ここで、第2のネット構成とは、第1のネット構成に含まれるバッチAの起動時刻とは異なる時刻において起動されるバッチA、およびこれに連携して起動されるバッチB〜バッチDを含むバッチ群である。
まず、第1のネット構成に含まれる各バッチに対する処理について説明する。図11(a)に示すように、処理部103−1は起動カウンタ107−1の起動回数に1を加算する。次に、処理部103−1は、記憶部106−1に記憶されている設定情報に基づいて記憶部106−1から読み出したバッチAを起動する。バッチA終了後、実行完了情報書込部105−1Bは、判定部104−1Bから入力された実行完了情報を書き込む指示に応じて、バッチ名Aと実行完了情報と起動回数(=1)を記憶部201Bに書き込む。次に、判定部104−1Bは、記憶部106−1に記憶されている設定情報に応じて、バッチBに対する起動指示を処理実行装置10−2Bに送信し、バッチCに対する起動指示を処理実行装置10−3Bに送信する。この起動指示には、起動カウンタ107−1の値、すなわちバッチAの起動回数を示す情報が含まれている。
次に、処理部103−2は、処理実行装置10−1Bから入力された起動指示に応じて、記憶部106−2から読み出したバッチBを起動する。次に、処理部103−2は起動カウンタ107−2の起動回数に、起動指示に含まれるバッチAの起動回数(この例においては、1)を設定する。
次に、処理部103−3は、処理実行装置10−1Bから入力された起動指示に応じて、記憶部106−3から読み出したバッチCを起動する。次に、処理部103−3は起動カウンタ107−3の起動回数に、起動指示に含まれるバッチAの起動回数(この例においては、1)を設定する。
バッチB終了後、実行完了情報書込部105−2Bは、判定部104−2Bから入力された実行完了情報を書き込む指示に応じて、バッチ名Bと実行完了情報と起動回数(=1)とを関連づけて記憶部201Bに書き込む。
この図11(a)は、バッチCが正常に終了した場合の例である。この場合、記憶部201Bには、起動回数(=1)とバッチ名Cに関連づけられた実行完了情報が記憶される。
判定部104−3Bは、記憶部106−3に記憶されている設定情報のうち、監視対象のバッチ名BとCを読み出す。次に、判定部104−3Bは、起動回数(=1)であり、バッチ名BとCに各々関連づけられた実行完了情報が記憶部201Bに記憶されているか否かを確認する。この場合、記憶部201Bには、起動回数(=1)に関連づけられてバッチ名Bに対応する実行完了情報が記憶され、起動回数(=1)に関連づけられてバッチ名Cに対応する実行完了情報が記憶されている。このため判定部104−3Bは、自装置および並列して処理されている他装置におけるすべてのバッチが終了したと判定する。
次に、判定部104−3Bは、記憶部106−3に記憶されている設定情報に応じて、バッチDに対する起動指示を処理実行装置10−4Bに送信する。この起動指示には、起動カウンタ107−3の値、すなわちバッチCの起動回数を示す情報が含まれている。
次に、処理部103−4は、処理実行装置10−3Bから入力された起動指示に応じて、記憶部106−4から読み出したバッチDを起動する。次に、処理部103−4は起動カウンタ107−4の起動回数に、起動指示に含まれるバッチCの起動回数(この例においては、1)を設定する。
次に、第2のネット構成に含まれる各バッチに対する処理について説明する。
図11(b)において、処理部103−1は起動カウンタ107−1の起動回数に1を加算する。次に、処理部103−1は、記憶部106−1に記憶されている設定情報に基づいて記憶部106−1から読み出したバッチAを起動する。バッチA終了後、実行完了情報書込部105−1Bは、判定部104−1Bから入力された実行完了情報を書き込む指示に応じて、バッチ名Aと実行完了情報と起動回数(=2)を関連づけて記憶部201Bに書き込む。次に、判定部104−1Bは、記憶部106−2に記憶されている設定情報に応じて、バッチBに対する起動指示を処理実行装置10−2Bに送信し、バッチCに対する起動指示を処理実行装置10−3Bに送信する。この起動指示には、起動カウンタ107−1の値、バッチAの起動回数を示す情報が含まれている。
次に、処理部103−2は、処理実行装置10−1Bから入力された起動指示に応じて、記憶部106−2から読み出したバッチBを起動する。次に、処理部103−2は起動カウンタ107−2の起動回数に、起動指示に含まれるバッチAの起動回数(この例においては、2)を設定する。
次に、処理部103−3は、処理実行装置10−1Bから入力された起動指示に応じて、記憶部106−3から読み出したバッチCを起動する。次に、処理部103−3は起動カウンタ107−3の起動回数に、起動指示に含まれるバッチAの起動回数(この例においては、2)を設定する。
バッチB終了後、実行完了情報書込部105−2Bは、判定部104−2Bから入力された実行完了情報を書き込む指示に応じて、バッチ名Bと実行完了情報と起動回数(=2)を関連づけて記憶部201Bに書き込む。
バッチC終了後、実行完了情報書込部105−3Bは、判定部104−3Bから入力された実行完了情報を書き込む指示に応じて、バッチ名Cと実行完了情報と起動回数(=2)を関連づけて記憶部201Bに書き込む。
判定部104−3Bは、記憶部106−3に記憶されている設定情報のうち、監視対象のバッチ名BとCを読み出す。次に、判定部104−3Bは、起動回数(=2)であり、バッチ名BとCに各々関連づけられた実行完了情報が記憶部201Bに記憶されているか否かを確認する。この場合、記憶部201Bには、起動回数(=2)に関連づけられてバッチ名Bに対応する実行完了情報が記憶され、起動回数(=2)に関連づけられてバッチ名Cに対応する実行完了情報が記憶されている。このため判定部104−3Bは、自装置および並列して処理されている他装置におけるすべてのバッチが終了したと判定する。
次に、判定部104−3Bは、記憶部106−3に記憶されている設定情報に応じて、バッチDに対する起動指示を処理実行装置10−4Bに送信する。この起動指示には、起動カウンタ107−3の値、すなわちバッチCの起動回数を示す情報が含まれている。
次に、処理部103−4は、処理実行装置10−3Bから入力された起動指示に応じて、記憶部106−4から読み出したバッチDを起動する。次に、処理部103−4は起動カウンタ107−4の起動回数に、起動指示に含まれるバッチCの起動回数(この例においては、2)を設定する。
上述したように、本実施形態によれば、処理実行装置10−nBが、各々、起動カウンタ107−nを備え、バッチの起動毎に起動回数を更新(例えば、加算)する。本実施形態に係る処理実行装置10−nBは、このバッチの起動回数によって各々のネット構成を区別しながら、バッチを起動することができる。すなわち、処理実行装置10−nBは、起動カウンタ107−nを備えることにより、ネット構成が互いに異なる同じ種類のバッチ(例えば、バッチA)が起動された場合に、これらのバッチを区別して処理することができる。よって、処理実行装置10−nBは、複数のネット構成を同時に処理することができる。ここで、従来の処理実行装置のように、起動カウンタ107−nを備えない場合において、複数のネット構成を同時に処理するために、予め複数のネット構成を設定しておく場合がある。処理実行装置10−nBは、予め複数のネット構成を設定することなく複数のネット構成を同時に処理することができるため、このような予め複数のネット構成を設定しておく場合に比べて、ネット構成の設定を簡素化することができる。
なお、起動指示には前段処理の起動回数を示す情報が含まれているとして説明したが、これに限られない。例えば、前段処理の起動指示によって後段処理が起動される際に、後段処理の処理部103−nが、記憶部201Bから前段処理の起動回数を示す情報を取得する構成であってもよい。
次に、図12を参照して、バッチが異常終了した場合について説明する。
図12は、本実施形態に係るバッチ異常終了時の構成の一例を説明する図である。このうち、図12(a)は、第1の時刻に第1のネット構成に含まれるバッチAが起動された例である。図12(b)は、第2の時刻に第2のネット構成に含まれるバッチAが起動された例である。ここでは、第1のネット構成に含まれるバッチCが異常終了し、第1のネット構成に含まれるバッチDが起動できない場合について説明する。
まず、第1のネット構成に含まれる各バッチに対する処理について説明する。図12(a)に示すように、処理部103−1は起動カウンタ107−1の起動回数に1を加算する。次に、処理部103−1は、記憶部106−1に記憶されている設定情報に基づいて記憶部106−1から読み出したバッチAを起動する。バッチA終了後、実行完了情報書込部105−1Bは、判定部104−1Bから入力された実行完了情報を書き込む指示に応じて、バッチ名Aと実行完了情報と起動回数(=1)を記憶部201Bに書き込む。次に、判定部104−1Bは、記憶部106−1に記憶されている設定情報に応じて、バッチBに対する起動指示を処理実行装置10−2Bに送信し、バッチCに対する起動指示を処理実行装置10−3Bに送信する。この起動指示には、起動カウンタ107−1の値、すなわちバッチAの起動回数を示す情報が含まれている。
次に、処理部103−2は、処理実行装置10−1Bから入力された起動指示に応じて、記憶部106−2から読み出したバッチBを起動する。次に、処理部103−2は起動カウンタ107−2の起動回数に、起動指示に含まれるバッチAの起動回数(この例においては、1)を設定する。
次に、処理部103−3は、処理実行装置10−1Bから入力された起動指示に応じて、記憶部106−3から読み出したバッチCを起動する。次に、処理部103−3は起動カウンタ107−3の起動回数に、起動指示に含まれるバッチAの起動回数(この例においては、1)を設定する。
バッチB終了後、実行完了情報書込部105−2Bは、判定部104−2Bから入力された実行完了情報を書き込む指示に応じて、バッチ名Bと実行完了情報と起動回数(=1)とを関連づけて記憶部201Bに書き込む。
この図12(a)は、バッチCが異常終了し、リランできなかった場合の例を示している。上述した図11(a)の場合と異なり、バッチCが異常終了した場合には、記憶部201Bには、起動回数(=1)とバッチ名Cに関連づけられた実行完了情報は記憶されない。また、起動カウンタ107−4の起動回数は、初期値0のままである。
次に、第2のネット構成に含まれる各バッチに対する処理について説明する。
図12(b)において、処理部103−1は起動カウンタ107−1の起動回数に1を加算する。ここで、第2のネット構成に含まれるバッチA起動前においては、起動カウンタ107−1の起動回数は1であるため、起動カウンタ107−1の起動回数は2になる。次に、処理部103−1は、記憶部106−1に記憶されている設定情報に基づいて記憶部106−1から読み出したバッチAを起動する。バッチA終了後、実行完了情報書込部105−1Bは、判定部104−1Bから入力された実行完了情報を書き込む指示に応じて、バッチ名Aと実行完了情報と起動回数(=2)を関連づけて記憶部201Bに書き込む。次に、判定部104−1Bは、記憶部106−2に記憶されている設定情報に応じて、バッチBに対する起動指示を処理実行装置10−2Bに送信し、バッチCに対する起動指示を処理実行装置10−3Bに送信する。
次に、処理部103−2は、処理実行装置10−1Bから入力された起動指示に応じて、記憶部106−2から読み出したバッチBを起動する。次に、処理部103−2は起動カウンタ107−2の起動回数に、起動指示に含まれるバッチAの起動回数(この例においては、2)を設定する。
次に、処理部103−3は、処理実行装置10−1Bから入力された起動指示に応じて、記憶部106−3から読み出したバッチCを起動する。次に、処理部103−3は起動カウンタ107−3の起動回数に、起動指示に含まれるバッチAの起動回数(この例においては、2)を設定する。
バッチB終了後、実行完了情報書込部105−2Bは、判定部104−2Bから入力された実行完了情報を書き込む指示に応じて、バッチ名Bと実行完了情報と起動回数(=2)を関連づけて記憶部201Bに書き込む。
バッチC終了後、実行完了情報書込部105−3Bは、判定部104−3Bから入力された実行完了情報を書き込む指示に応じて、バッチ名Cと実行完了情報と起動回数(=2)を関連づけて記憶部201Bに書き込む。
判定部104−3Bは、記憶部106−3に記憶されている設定情報のうち、監視対象のバッチ名BとCを読み出す。次に、判定部104−3Bは、起動回数(=2)であり、バッチ名BとCに各々関連づけられた実行完了情報が記憶部201Bに記憶されているか否かを確認する。この場合、記憶部201Bには、起動回数(=2)に関連づけられてバッチ名Bに対応する実行完了情報が記憶され、起動回数(=2)に関連づけられてバッチ名Cに対応する実行完了情報が記憶されている。このため判定部104−3Bは、自装置および並列して処理されている他装置におけるすべてのバッチが終了したと判定する。
次に、判定部104−3Bは、記憶部106−3に記憶されている設定情報に応じて、バッチDに対する起動指示を処理実行装置10−4Bに送信する。
次に、処理部103−4は、処理実行装置10−3Bから入力された起動指示に応じて、記憶部106−4から読み出したバッチDを起動する。次に、処理部103−4は起動カウンタ107−4の起動回数に、起動指示に含まれるバッチCの起動回数(この例においては、2)を設定する。
上述したように、本実施形態によれば、処理実行装置10−nBが、各々、起動カウンタ107−nを備え、バッチの起動毎に起動回数を更新(例えば、加算)する。本実施形態に係る処理実行装置10−nBは、このようにバッチの起動回数と実行完了情報とをお互いに監視しあうことにより、バッチが異常終了したことを検出することができる。これにより、処理実行装置10−nBは、一部のネット構成に含まれるバッチが異常終了した場合であっても、他のネット構成に影響を与えることなく、起動回数に合わせてネット構成に含まれるバッチを起動することができる。
なお、本実施形態では、起動カウンタ107−nを各処理実行装置10−nBが備える例を説明したが、これに限られない。起動カウンタは、例えば記憶装置20が備えていてもよく、あるいは、通信ネットワーク30に接続される起動カウンタ装置であってもよい。
なお、第3実施形態において、例えば操作部101−nを管理者が操作して実行中のバッチを中断するようにしてもよい。このような場合であっても、本実施形態に係る処理実行装置10−nBは、起動回数に基づいて、次の時刻にスケジュールされているバッチのネット構成を維持して、バッチを実行することができる。
上述したように、第1〜第3実施形態によれば、バッチ監視装置が不要であるため、情報システムのコストを削減できる。
また、従来のバッチ監視装置を有する情報システムでは、バッチ監視装置によるバッチ間の連動は起動順番のみであったが、第1〜第3実施形態によれば、お互いにバッチ間の相互監視をしているため、密接な連動関係が可能になる。また、第1〜第3実施形態によれば、ネット構成の多重起動等の高機能なバッチ間の連動が可能になる。また第1〜第3実施形態によれば、随時系バッチ等の多彩なバッチに対応できる。
なお、第1〜第3実施形態では、2つの判定部104−n(含む104−B)が互いにバッチが終了したか否かを監視する例を説明したが、これに限られない。互いに監視するバッチは3つ以上であってもよい。
また、第1〜第3実施形態では、前段の処理実行装置10−n(含む10−nB)により起動されたバッチを実行している処理実行装置10−n同士についてバッチが終了したか否かを判定する例を説明したが、これに限られない。例えば、図13に示すように、監視し合うバッチは、起動指示を出力した処理実行装置10−n(含む10−nB)が異なっていてもよい。図13は、本実施形態に係るバッチの連動の一例を説明する図である。以下の例では、第1および第2実施形態で説明した処理実行装置10−nを例に説明するが、第3実施形態で説明した処理実行装置10−nBであってもよい。
図13に示した例では、15台(n=15)の処理実行装置10−15が、通信ネットワーク30(図1参照)を介して接続されている。図13において、符号01_01、02_01〜02_04、03_01、04_01〜04_02、05_01、06_01、07_01〜07_02、08_01、09_01、10_01は、各々、バッチを示している。
処理実行装置10−1の各記憶部106−1には、バッチ01_01が記憶され、以下同様に、処理実行装置10−15の各記憶部106−15には、バッチ10_01が記憶されている。
バッチ01_01が終了後、判定部104−1は、処理実行装置10−2にバッチ02_1に対する起動指示を送信し、処理実行装置10_5にバッチ02_1〜02_04に対する起動指示を送信する。
バッチ02_01とバッチ02_02が終了後、監視するすべてのバッチが完了したと判定した判定部104−2または104−3は、処理実行装置10−6にバッチ03_1に対する起動指示を送信する。
バッチ03_01が終了後、判定部104−6は、処理実行装置10−7にバッチ04_01に対する起動指示を送信し、処理実行装置10−8にバッチ04_2に対する起動指示を送信する。
バッチ04_01とバッチ04_02が終了後、監視するすべてのバッチが完了したと判定した判定部104−7または104−8は、処理実行装置10−9にバッチ05_1に対する起動指示を送信する。
バッチ03_01とバッチ05_02が終了後、監視するすべてのバッチが完了したと判定した判定部104−4または104−9は、処理実行装置10−10にバッチ06_1に対する起動指示を送信する。
バッチ06_01が終了後、判定部104−10は、処理実行装置10−11にバッチ07_01に対する起動指示を送信し、処理実行装置10−12にバッチ07_2に対する起動指示を送信する。
バッチ07_01とバッチ07_02が終了後、監視するすべてのバッチが完了したと判定した判定部104−11または104−12は、処理実行装置10−13にバッチ08_1に対する起動指示を送信する。
バッチ02_04とバッチ08_01が終了後、監視するすべてのバッチが完了したと判定した判定部104−5または104−13は、処理実行装置10−14にバッチ09_1に対する起動指示を送信する。
バッチ09_01が終了後、判定部104−14は、処理実行装置10−15にバッチ10_01に対する起動指示を送信する。
以上のように、第1〜第3実施形態に係る処理実行装置10−n(含む10−nB)において、判定部104−nは、記憶部106−nに記憶されている設定情報に応じて、監視するバッチがすべて終了したか否かを判定する。そして、第1〜第3実施形態に係る処理実行装置10−n(含む10−nB)は、監視するバッチがすべて終了した場合、記憶部106−nに記憶されている設定情報に応じて後段のバッチを起動する起動指示を送信する。
なお、本発明における処理実行装置10−n(含む10−nB)、記憶装置20(含む20A、20B)の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより制御を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ホームページ提供環境(あるいは表示環境)を備えたWWWシステムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
1、1A、1B…処理実行システム、10−n、10−nB…処理実行装置、20、20A…記憶装置、30…通信ネットワーク、101−n…操作部、102−n…通信部、103−n…処理部、104−n、104−nB…判定部、105−n、105−nB…実行完了情報書込部、106−n…記憶部、107−n…起動カウンタ部、201…記憶部、202…調停部

Claims (7)

  1. 自処理実行装置が実行する自処理と並列処理される他の処理実行装置による他処理の実行が完了したことを示す実行完了情報に基づいて、並列処理される前記自処理と前記他処理とを含む前段処理の実行が完了しているか否かを判定し、前記前段処理に含まれるすべての処理が完了していると判定した場合に、前記前段処理の後に実行される後段処理を起動する判定部、
    を備えることを特徴とする処理実行装置。
  2. 前記判定部は、
    前記自処理の実行の完了を前記判定の開始条件にして、前記前段処理に含まれるすべての処理の実行が完了しているか否かを判定する
    ことを特徴とする請求項1に記載の処理実行装置。
  3. 前記自処理の実行が完了したときに、当該自処理の実行が完了したことを示す前記実行完了情報を記憶部に書き込む実行完了情報書込部を備え、
    前記判定部は、
    前記記憶部に記憶されている前記実行完了情報を読み出し、読み出した前記実行完了情報に基づいて、前記前段処理に含まれるすべての処理の実行が完了しているか否かを判定する
    ことを特徴とする請求項1または請求項2に記載の処理実行装置。
  4. 前記実行完了情報書込部は、
    前記前段処理のうち複数の処理の実行が完了したときに、予め定められる書込み順序に基づいて前記実行完了情報を前記記憶部に書き込む
    ことを特徴とする請求項3に記載の処理実行装置。
  5. 前記前段処理の開始時に起動回数を計数する起動カウンタを備え、
    前記実行完了情報書込部は、
    前記前段処理の実行が完了したときに、前記実行完了情報と前記起動カウンタが計数した起動回数とを関連づけて前記記憶部に書き込む
    ことを特徴とする請求項3または請求項4に記載の処理実行装置。
  6. 前記判定部は、
    前記記憶部に記憶されている自処理実行装置の起動回数と同じ値の前記起動回数に関連づけられている前記実行完了情報を読み出し、読み出した前記実行完了情報に基づいて、複数の前記前段処理の実行が完了しているか否かを判定する
    ことを特徴とする請求項5に記載の処理実行装置。
  7. 判定部が、自処理実行装置が実行する自処理と並列処理される他の処理実行装置による他処理の実行が完了したことを示す実行完了情報に基づいて、並列処理される前記自処理と前記他処理とを含む前段処理の実行が完了しているか否かを判定し、前記前段処理に含まれるすべての処理が完了していると判定した場合に、前記前段処理の後に実行される後段処理を起動する判定手順
    を有することを特徴とする処理実行方法。
JP2012266281A 2012-12-05 2012-12-05 処理実行装置、処理実行方法 Active JP5876406B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012266281A JP5876406B2 (ja) 2012-12-05 2012-12-05 処理実行装置、処理実行方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012266281A JP5876406B2 (ja) 2012-12-05 2012-12-05 処理実行装置、処理実行方法

Publications (2)

Publication Number Publication Date
JP2014112300A true JP2014112300A (ja) 2014-06-19
JP5876406B2 JP5876406B2 (ja) 2016-03-02

Family

ID=51169401

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012266281A Active JP5876406B2 (ja) 2012-12-05 2012-12-05 処理実行装置、処理実行方法

Country Status (1)

Country Link
JP (1) JP5876406B2 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08255130A (ja) * 1995-03-17 1996-10-01 Fujitsu Ltd バッチジョブ制御システム
JP2011039595A (ja) * 2009-08-06 2011-02-24 Nec Corp ジョブ実行装置、ジョブ実行方法およびジョブ実行プログラム
JP2011096110A (ja) * 2009-10-30 2011-05-12 Toshiba Corp ジョブネット制御プログラムおよびジョブネット制御装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08255130A (ja) * 1995-03-17 1996-10-01 Fujitsu Ltd バッチジョブ制御システム
JP2011039595A (ja) * 2009-08-06 2011-02-24 Nec Corp ジョブ実行装置、ジョブ実行方法およびジョブ実行プログラム
JP2011096110A (ja) * 2009-10-30 2011-05-12 Toshiba Corp ジョブネット制御プログラムおよびジョブネット制御装置

Also Published As

Publication number Publication date
JP5876406B2 (ja) 2016-03-02

Similar Documents

Publication Publication Date Title
US9984140B1 (en) Lease based leader election system
US7739371B2 (en) Computer system
EP2434729A2 (en) Method for providing access to data items from a distributed storage system
CN109862101B (zh) 跨平台应用启动方法、装置、计算机设备和存储介质
JP2010500673A (ja) リモート・コピー・データの整合性を保持するストレージ管理システム、(ストレージ管理システム、ストレージ管理方法、およびコンピュータ・プログラム)
US7917672B2 (en) Path maintenance mechanism
JP5422342B2 (ja) インシデント管理方法および運用管理サーバ
CN110879742B (zh) 虚拟机异步创建内部快照方法、装置及存储介质
WO2014103029A1 (ja) 管理システム及び管理システムの制御プログラム
KR102387922B1 (ko) 솔리드 스테이트 드라이브의 비동기 이벤트 요청 명령 처리 방법 및 시스템
US20060112308A1 (en) Selection of status data from synchronous redundant devices
US20140047180A1 (en) Method, device, and system for determining drive letter
JP5876406B2 (ja) 処理実行装置、処理実行方法
WO2008058898A1 (en) Throttling an asynchronous remote copying system
WO2021135742A1 (zh) 对账清算方法及装置
US20020120800A1 (en) Launch raw packet on remote interrupt
JP4116064B1 (ja) クライアント装置
JP2002358170A (ja) ディスク記憶装置、同ディスク記憶装置を備えた計算機システム及び同計算機システムにおけるリトライ処理時のエラー通知方法
US10452273B2 (en) Preemptive event-based data migration
CN116185649A (zh) 存储控制方法、存储控制器、存储芯片、网卡、可读介质
CN102457547A (zh) 多控制器的储存区域网络设备的升级方法
TW589525B (en) Checkpointing for recovery of channels in a data processing system
WO2017041548A1 (zh) 网络管理数据配置方法、装置和系统
JP2013200601A (ja) データベースシステム、データベースシステムにおけるコミット方法、及びプログラム
CN117234743B (zh) 一种数据发送方法、装置、设备及存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150129

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150630

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150728

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150916

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160121

R150 Certificate of patent or registration of utility model

Ref document number: 5876406

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250