JP2022133010A - ジョブ管理装置、ジョブ管理方法及びプログラム - Google Patents

ジョブ管理装置、ジョブ管理方法及びプログラム Download PDF

Info

Publication number
JP2022133010A
JP2022133010A JP2021031800A JP2021031800A JP2022133010A JP 2022133010 A JP2022133010 A JP 2022133010A JP 2021031800 A JP2021031800 A JP 2021031800A JP 2021031800 A JP2021031800 A JP 2021031800A JP 2022133010 A JP2022133010 A JP 2022133010A
Authority
JP
Japan
Prior art keywords
job
target
state
dependency
change
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
JP2021031800A
Other languages
English (en)
Inventor
和俊 中川
Kazutoshi Nakagawa
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2021031800A priority Critical patent/JP2022133010A/ja
Publication of JP2022133010A publication Critical patent/JP2022133010A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing systems specially adapted for manufacturing

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】 入力となるデータによって異なる動作を行うジョブによって更新されたシステムを、ジョブの実行前の状態に戻すコストを抑制できるジョブ管理装置等を提供する。【解決手段】 本開示の一態様に係るジョブ管理装置100は、システムの状態を変更するジョブのうち、再実行の対象である前記ジョブである対象ジョブの指定を受け付ける対象ジョブ受付部17と、前記対象ジョブが実行された際の前記ジョブによるシステムの状態の変更の記録に基づいて、前記対象ジョブに対する前記ジョブの依存関係を抽出する依存関係抽出部11と、前記変更の記録に基づいて、前記システムの状態を、前記対象ジョブと当該対象ジョブが実行された際の前記依存関係がある前記ジョブとが実行される前の、前記システムの状態に戻す巻き戻し制御を行う巻き戻し制御部14と、を備える。【選択図】 図1

Description

本開示は、ジョブを管理する技術に関する。
ジョブによって情報処理を行う商法処理システムにおいて、ジョブのフローの処理を特定の個所から再実行したい場合、再実行の前に実行されたジョブ群が行ったシステムのリソースへの変更を、再実行したい箇所における状態に戻す必要がある。以下の説明において、システムのリソースの変更を、システムの状態の変更とも表記することもある。システムの状態の変更は、例えば、データベース等の、システムに関係するデータの更新を含む。また、同様に以下の説明において、システムの状態を戻すことを、「巻き戻す」と表記し、システムの状態を戻す処理を、「巻き戻し」と表記する。システムの状態の巻き戻しを行う技術の例が、以下の特許文献によって開示されている。
特許文献1には、巻き戻しの対象として指定されたジョブからのイベントの通知先のジョブ又は指定されたジョブが実行された後に実行される予定のジョブを、指定されたジョブと共に再実行するジョブ実行管理システムが記載されています。
特許文献2には、異常終了が発生したジョブステップである再開ステップと、再開ステップ以降のジョブステップとを含むリトライジョブを実行するジョブ管理装置が記載されている。
特開2015-204036号公報 国際公開第2017/046939号
例えば、入力となるデータの内容に基づいてジョブを逐次的に実行するジョブフローでは、実行されるジョブ及びジョブによって更新されるシステムのリソースの変更が、入力されるデータに応じて異なる可能性がある。このような場合に、システムの状態をジョブの実行前に戻す作業は、大きなコスト(例えば、手間及び時間など)を必要とする。
特許文献1及び2の技術では、入力となるデータが、ジョブが前回実行された際の入力となったデータと異なっている場合、ジョブを再実行しても、前回の実行時にジョブによって更新されたリソースが、再実行されたジョブによって更新されるとは限らない。
本開示の目的の一つは、入力となるデータによって異なる動作を行うジョブによって更新されたシステムを、ジョブの実行前の状態に戻すコストを抑制できるジョブ管理装置等を提供することにある。
本開示の一態様に係るジョブ管理装置は、システムの状態を変更するジョブのうち、再実行の対象である前記ジョブである対象ジョブの指定を受け付ける対象ジョブ受付手段と、前記対象ジョブが実行された際の前記ジョブによるシステムの状態の変更の記録に基づいて、前記対象ジョブに対する前記ジョブの依存関係を抽出する依存関係抽出手段と、前記変更の記録に基づいて、前記システムの状態を、前記対象ジョブと当該対象ジョブが実行された際の前記依存関係がある前記ジョブとが実行される前の、前記システムの状態に戻す巻き戻し制御を行う巻き戻し制御手段と、を備える。
本開示の一態様に係るジョブ管理方法は、システムの状態を変更するジョブのうち、再実行の対象である前記ジョブである対象ジョブの指定を受け付け、前記対象ジョブが実行された際の前記ジョブによるシステムの状態の変更の記録に基づいて、前記対象ジョブに対する前記ジョブの依存関係を抽出し、前記変更の記録に基づいて、前記システムの状態を、前記対象ジョブと当該対象ジョブが実行された際の前記依存関係がある前記ジョブとが実行される前の、前記システムの状態に戻す巻き戻し制御を行う。
本開示の一態様に係るプログラムは、システムの状態を変更するジョブのうち、再実行の対象である前記ジョブである対象ジョブの指定を受け付ける対象ジョブ受付処理と、前記対象ジョブが実行された際の前記ジョブによるシステムの状態の変更の記録に基づいて、前記対象ジョブに対する前記ジョブの依存関係を抽出する依存関係抽出処理と、前記変更の記録に基づいて、前記システムの状態を、前記対象ジョブと当該対象ジョブが実行された際の前記依存関係がある前記ジョブとが実行される前の、前記システムの状態に戻す巻き戻し制御を行う巻き戻し制御処理と、をコンピュータに実行させる。
本開示には、入力となるデータによって異なる動作を行うジョブによって更新されたシステムを、ジョブの実行前の状態に戻すコストを抑制できるという効果がある。
図1は、本開示の第1の実施形態に係るジョブ管理装置の構成の例を表すブロック図である。 図2は、本開示の第1の実施形態に係るジョブ管理装置の動作の例を表すフローチャートである。 図3は、ジョブフローの及びジョブフローが実行される環境の例を表す図である。 図4は、それぞれ、ジョブによって更新されるレコードの例を表す図である。 図5は、それぞれ、ジョブによって更新されるレコードの例を表す図である。 図6は、それぞれ、ジョブによって更新されるレコードの例を表す図である。 図7は、本開示の第2の実施形態に係るジョブ管理装置の構成の例を表すブロック図である。 図8は、本開示の第2の実施形態に係るジョブ管理装置の動作の例を表すフローチャートである。 図9は、本開示の第2の実施形態に係るジョブフローの模式例を表す図である。 図10は、本開示の第2の実施形態に係るシステム変更対象記憶部に蓄積されるデータの例を表す図である。 図11は、本開示の第2の実施形態に係る、変更対象ごとに分類されたジョブ群と変更時刻との例を表す図である。 図12は、本開示の第2の実施形態に係る、決定された巻き戻し時刻の例を表す図である。 図13は、本開示の実施形態に係るジョブ管理装置を実現することができる、コンピュータ1000のハードウェア構成の一例を表す図である。
以下では、本開示の実施形態の説明の前に、入力となるデータによって異なる動作を行うジョブについてさらに詳しく説明する。
ジョブ管理システムにおいて、あるジョブフローの処理を特定の箇所から再実行したいというケースがある。なお、本実施形態の説明では、ジョブフローは、実行する順序が定義された複数のジョブの集合である。たとえば、何らかのデータを入力とし、そのデータの内容に基づいてジョブを逐次的に実行するジョブフローがあるとする。このとき、入力となるデータに誤りがあることが発覚するようなことがあった場合、ジョブフローのうち、入力データを読み取る箇所から再実行する、ということが必要になる。
このようなジョブフローのやり直しを行う場合に、単に入力データを読み取るジョブから再実行するだけでは問題が発生する可能性がある。
図3は、ジョブフローの及びジョブフローが実行される環境の例を表す図である。図4、図5、図6は、それぞれ、ジョブによって更新されるレコードの例を表す図である。
たとえば、図3のようなジョブフロー1、ジョブフロー2があるとする。ジョブフロー1は、入力データに基づいて処理を行い、ジョブCでDBの特定レコードを更新する。ジョブフロー1からのイベント通知を受けてジョブフロー2が実行され、その中のジョブDが更新データに基づいて処理を行う。このとき、誤った入力データでジョブCにより、図4のようにレコードPからレコードSが更新されたとする。一方で、正しいデータを用いた場合には、図5のようにレコードPからレコードRとレコードTが更新されるとする。このような場合において、誤った入力データによるジョブフロー1、2の実行後にジョブフロー1を再実行すると、図6のようにレコードPからレコードTまでがすべて更新された状態になってしまう。正しい入力データを用いた場合はレコードPからレコードR、レコードTが更新される状態になるため、後続のジョブフロー2で本来更新データとはならないレコードが入力となってしまい、誤った処理が行われることになってしまう。
このような再実行に伴う誤った処理を防ぐためには、誤った入力データによるジョブフロー1、2内のジョブ群によって行われるシステムへの変更、この例の場合はDBへの変更を誤った入力データによるジョブの実行前の状態に巻き戻してから正しい入力データによる再実行を行う必要がある。
この巻き戻し作業は、どのジョブが行ったシステムへの変更を、どの時点まで巻き戻すか、を各ジョブの依存関係を考慮しながら判断して行う必要があり、大きな手間と時間がかかる作業であった。
<第1の実施形態>
以下では、本開示の第1の実施の形態について図面を使用して説明する。
<構成>
図1は、本開示の第1の実施形態に係るジョブ管理装置100の構成の例を表すブロック図である。図1に示す例では、ジョブ管理装置100は、対象ジョブ受付部17と、依存関係抽出部11と、巻き戻し制御部14と、を備える。
対象ジョブ受付部17は、システムの状態を変更するジョブのうち、再実行の対象である前記ジョブである対象ジョブの指定を受け付ける。依存関係抽出部11は、前記対象ジョブが実行された際の前記ジョブによるシステムの状態の変更の記録に基づいて、前記対象ジョブに対する前記ジョブの依存関係を抽出する。巻き戻し制御部14は、前記変更の記録に基づいて、前記システムの状態を、前記対象ジョブと当該対象ジョブが実行された際の前記依存関係がある前記ジョブとが実行される前の、前記システムの状態に戻す巻き戻し制御を行う。
<動作>
図2は、本開示の第1の実施形態に係るジョブ管理装置100の動作の例を表すフローチャートである。
図2に示す例では、まず、対象ジョブ受付部17が、例えばユーザによってジョブ管理装置100のキーボードなどの入力装置によって入力された、再実行の対象である対象ジョブの指定を受け付ける(ステップS101)。
依存関係抽出部11は、システムの状態、例えば、リソースの変更の記録に基づいて、対象ジョブに対するジョブの依存関係を抽出する(ステップS102)。対象ジョブに対するジョブの依存関係は、例えば、対象ジョブによって変更されたリソースに基づくリソースを使用するジョブの情報を含む。対象ジョブによって変更されたリソースに基づくリソースは、対象ジョブによって変更されたリソースと、対象ジョブによって変更されたリソースを使用して他のジョブによって変更されたリソースを含む。対象ジョブによって変更されたリソースに基づくリソースは、対象ジョブによって変更されたリソースに基づくリソースを使用して他のジョブによって変更されたリソースをさらに含む。
巻き戻し制御部14は、変更の記録に基づいて、リソースを、対象ジョブと、対象ジョブに依存関係があるジョブとが実行される前の状態に戻す巻き戻し制御を行う(ステップS103)。
<効果>
本実施形態には、入力となるデータによって異なる動作を行うジョブによって更新されたシステムを、ジョブの実行前の状態に戻すコストを抑制できるという効果がある。コストとは、例えば、処理時間及び計算量などである。その理由は、依存関係抽出部11が、対象ジョブに対するジョブの依存関係を抽出し、巻き戻し制御部14が、システムの状態を、対象ジョブと、対象ジョブに対する依存関係があるジョブとが実行される前の状態に戻す巻き戻し処理を行うからである。
<第2の実施形態>
図7は、本開示の第2の実施形態に係るジョブ管理装置10の構成の例を表すブロック図である。図7に示す例では、ジョブ管理装置10は、対象ジョブ受付部17と、依存関係抽出部11と、システム変更対象管理部12と、巻き戻し時刻特定部13と、巻き戻し制御部14と、ジョブ実行制御部15と、システム変更対象記憶部16とを含む。ジョブ管理装置10は、ジョブ実行システム20と、システムリソース30と、通信可能に接続されている。
システムリソース30は、ジョブ実行システム20が利用する、システムのリソースの集合を記憶する装置である。以下の説明では、システムリソース30は、例えば、リソースとしてのテーブルを含むデータベースシステムである。なお、システムリソース30は、例えば、リソースとしてファイルを記憶する記憶装置であってもよい。システムリソース30は、例えば、リソースとしてオブジェクトを記憶するバージョン管理システムであってもよい。システムリソース30は、例えば、リソースとして出たボリュームのスナップショットを記憶する記憶装置であってもよい。
ジョブ実行システム20は、システムリソース30に格納されているデータなどのリソースを変更するジョブを実行するシステムである。ジョブ実行システム20は、ジョブ及びジョブフローの定義内容に基づいて、ジョブを実行する。
<対象ジョブ受付部17>
対象ジョブ受付部17は、例えばジョブ管理装置10のキーボードなどの入力装置を使用してユーザによって入力された、再実行の対象であるジョブ(本開示の実施形態の説明では、対象ジョブと表記する)の指定を受け付ける。なお、対象ジョブの指定は、例えば、対象ジョブを特定する、対象ジョブの識別情報である。対象ジョブ受付部17は、受け付けた、対象ジョブの指定を、依存関係抽出部11に送出する。
<システム変更対象管理部12>
システム変更対象管理部12は、ジョブ実行システム20から、ジョブ実行システム20が実行したジョブの履歴の情報(以下、履歴情報と表記)を取得し、取得した履歴情報を、システム変更対象記憶部16に格納する。
履歴情報は、例えば、ジョブ名及びジョブ識別情報などのジョブを特定する情報と、ジョブの実行時刻と、ジョブの実行によって変更されたシステムのリソースを特定する情報とを含む。履歴情報は、ジョブによる変更の後のリソースの状態(例えば、リソースの値)を含んでいてもよい。
<システム変更対象記憶部16>
システム変更対象記憶部16は、システム変更対象管理部12によって格納された、上述の履歴情報を記憶する。
<依存関係抽出部11>
依存関係抽出部11は、対象ジョブ受付部17から、対象ジョブの指定を受け取る。依存関係抽出部11は、対象ジョブと依存関係にあるジョブを特定するための情報を、ジョブ実行システム20から取得する。対象ジョブと依存関係にあるジョブを特定するための情報は、例えば、対象ジョブが含まれるジョブフローの定義、対象ジョブ及び対象ジョブの後続のジョブからのイベントの通知の履歴などを含む。
依存関係抽出部11は、対象ジョブと依存関係にあるジョブを特定するための情報に基づいて、対象ジョブに対する他のジョブの依存関係を抽出する。依存関係抽出部11は、依存関係を表す情報として、対象ジョブと、対象ジョブの後続のジョブと、対象ジョブ及び対象ジョブの後続のジョブからイベントの通知が送られたジョブとを表す情報を抽出してもよい。対象ジョブの後続のジョブは、例えば、対象ジョブが含まれるジョブフローにおいて、対象ジョブの後に実行され得る全てのジョブである。対象ジョブの後続のジョブは、対象ジョブ及び対象ジョブの後続のジョブからイベントの通知が送られた、他のジョブフローのジョブを含んでいてよい。、他のジョブフローは、対象ジョブが含まれないジョブフローである。
依存関係抽出部11は、対象ジョブと依存関係にあるジョブを特定するための情報として、対象ジョブ及び対象ジョブよりも後に実行されたジョブの定義内容を含む情報を、ジョブ実行システム20から取得してもよい。ジョブの定義内容は、例えば、そのジョブが実行される際に使用されるリソースを特定する情報(リソース識別情報とも表記)と、そのジョブが実行された場合に更新されるリソースを特定する情報を含む。対象ジョブと依存関係にあるジョブを特定するための情報は、対象ジョブが入力として使用するデータである対象入力データを含む。
この場合、依存関係抽出部11は、依存関係として、対象ジョブと、対象ジョブによるリソースの変更に依存するジョブとを表す情報を抽出してよい。対象ジョブによるリソースの変更に依存するジョブは、対象ジョブによって変更されたリソースを使用するジョブを含む。対象ジョブによるリソースの変更に依存するジョブは、さらに、対象ジョブによって変更されたリソースを使用するジョブによって変更されたリソースを使用するジョブを含む。対象ジョブによるリソースの変更に依存するジョブは、さらに、対象ジョブによるリソースの変更に依存するジョブによって変更されたリソースを使用するジョブを含む。
この場合、依存関係抽出部11は、対象ジョブが入力として使用する入力データに基づいて(言い換えると、対象ジョブが入力データを入力として使用する場合に)、対象ジョブによるリソースの変更に依存するジョブを抽出する。依存関係抽出部11は、抽出されたジョブが入力として使用するリソースをジョブ実行システム20から取得し、抽出されたジョブが取得されたリソースを入力として使用する場合に、抽出されたジョブによるリソースの変更に依存するジョブを抽出してよい。依存関係抽出部11は、抽出されたジョブによるリソースの変更に依存するジョブが無くなるまで、上述のようにジョブの抽出を繰り返してもよい。
依存関係抽出部11は、他の既存の方法のいずれかによって、上述の依存関係を抽出してもよい。依存関係抽出部11は、抽出した依存関係を表す情報(例えば、対象ジョブと対象ジョブによるリソースの変更に依存するジョブとを特定する情報)を、巻き戻し時刻特定部13に送出する。
<巻き戻し時刻特定部13>
巻き戻し時刻特定部13は、依存関係抽出部11から、抽出された依存関係を表す情報を受け取る。上述のように、抽出された依存関係の情報は、例えば、対象ジョブと、対象ジョブよりも後に実行されたジョブとを特定するであってもよい。抽出された依存関係の情報は、例えば、対象ジョブと、対象ジョブによるリソースの変更に依存するジョブとを特定する情報であってもよい。巻き戻し時刻特定部13は、依存関係を表す情報によって特定されるジョブによって変更されたリソースと、リソースが変更された時刻とを、システム変更対象記憶部16に格納されている変更履歴から特定する。巻き戻し時刻特定部13は、依存関係を表す情報によって特定されるジョブによって変更されたリソースごとに、変更された最も早い時刻を、巻き戻し時刻として特定する。
巻き戻し時刻特定部13は、特定した、変更されたリソースごとの巻き戻し時刻の情報を、巻き戻し制御部14に送出する。巻き戻し時刻特定部13は、対象ジョブを特定する情報を巻き戻し制御部14に送出してもよい。
<巻き戻し制御部14>
巻き戻し制御部14は、巻き戻し時刻特定部13から、変更されたリソースごとに巻き戻しの時刻の情報を受け取る。巻き戻し制御部14は、巻き戻し時刻特定部13から、さらに、対象ジョブを特定する情報を受け取ってもよい。
巻き戻し制御部14は、システムリソース30に格納され、巻き戻し時刻が決定されているリソースを、リソースごとの巻き戻し時刻まで巻き戻す。言い換えると、巻き戻し制御部14は、システムリソース30に格納され、巻き戻し時刻が決定されているリソースを、リソースごとの巻き戻し時刻の直前における状態に戻す。
巻き戻し制御部14は、例えば、システム変更対象記憶部16に格納されている履歴情報を使用して、変更されたリソースごとに、巻き戻し時刻の直前のリソースの状態を特定し、そのリソースの状態を特定した状態に変更することによって、巻き戻しを行ってもよい。
システムリソース30が、格納されているリソースごとに、変更の履歴(例えば、変更の時刻及び変更後の値)を記憶していてもよい。巻き戻し制御部14は、変更されたリソースごとに、リソースの状態を、システムリソース30に格納されている、巻き戻し時刻の直前のリソースの状態を特定してもよい。巻き戻し制御部14は、変更されたリソースごとに、リソースの状態を、特定した状態に変更することによって、巻き戻しを行ってもよい。
巻き戻し制御部14は、巻き戻しが終了すると、巻き戻しの終了をジョブ実行制御部15に通知する。巻き戻し制御部14は、加えて、対象ジョブを特定する情報をジョブ実行制御部15に通知してもよい。
<ジョブ実行制御部15>
ジョブ実行制御部15は、巻き戻し制御部14から、巻き戻しの終了を通知された場合、ジョブ実行システム20に対象ジョブを再実行させる。なお、ジョブ実行制御部15は、対象ジョブを特定する情報を、巻き戻し制御部14から受け取ってもよい。ジョブ実行システム20は、ジョブの再実行の指示を受け取った場合、受け取った指示によって再実行が指示されたジョブを再実行するよう構成されていてよい。ジョブの再実行の指示は、再実行されるジョブを特定する情報を含んでいてもよい。
<動作>
図8は、本開示の第2の実施形態に係るジョブ管理装置10の動作の例を表すフローチャートである。
図8に示す例では、対象ジョブ受付部17が、再実行の対象である対象ジョブの指定を受け付ける(ステップS11)。次に、依存関係抽出部11が、直近で実行された対象ジョブに依存するジョブの依存関係を抽出する(ステップS12)。
次に、巻き戻し時刻特定部13は、抽出された、依存関係があるジョブを、ジョブによる変更の対象(すなわち、リソース)ごとに分類する(ステップS13)。必ずしも全ての変更の対象の巻き戻し時刻が特定されていない場合(ステップS14においてNO)、巻き戻し時刻特定部13は、変更の対象ごとに、抽出されたジョブによる最も早い変更時刻を巻き戻し時刻として特定する(ステップS15)。ステップS15において、1つの変更の対象を選択し、選択された対象に対する、抽出されたジョブによる最も早い変更時刻を巻き戻し時刻として特定する。ステップS15の後、図7に示す動作は、ステップS14に戻る。
全ての変更の対象の巻き戻し時刻が特定された場合(ステップS14においてYES)、全ての変更の対象を、特定した巻き戻し時刻の直前の状態にする、巻き戻しを実行する(ステップS16)。
<効果>
本実施形態には、第1の実施形態と同じ効果がある。その理由は、第1の実施形態の効果が生じる理由と同じである。
<模式例>
次に、模式例を使用して、本開示のジョブ管理装置10の動作について説明する。
図9は、ジョブフローの模式例を表す図である。
以下の説明では、図9に示すように、3つのジョブフローがある。ジョブフロー1は、ジョブA、ジョブB、ジョブCを含む。ジョブフロー2は、ジョブD、ジョブE、ジョブFを含む。ジョブフロー3は、ジョブG、ジョブH、ジョブIを含む。これらのジョブフローに含まれるジョブのうち、ジョブBは、ファイルfile1を変更する。ジョブFはファイルfile2を変更する。ファイルの変更は、主にファイルの生成、および、ファイルへの追記のいずれかである。また、ジョブCとジョブIは、データベースDB1のテーブルtable1を変更する。データベースのテーブルの変更は、主に、レコードの作成、更新、又は、削除である。さらに、ジョブフロー1とジョブフロー2は、ジョブCからのイベント通知によってジョブフロー2が起動されるという依存関係にある。ジョブフロー1とジョブフロー3は、ジョブBによって変更されたファイルfile1をジョブGが入力として使用するという依存関係にある。また、平常時には、システム変更対象管理部12が、ジョブ実行システム20からジョブの実行履歴の情報を取得し、取得した情報に基づくデータをシステム変更対象記憶部16に蓄積している。
図10は、システム変更対象記憶部16に蓄積されるデータの例を表す図である。
以下の説明では、利用者によって指定される対象ジョブは、ジョブフロー1のジョブAである。なお、例えば、ジョブAの入力データに誤りがあった場合に、ジョブAからの一連の処理をやり直す必要が生じる。
依存関係抽出部11は、ジョブAの再実行を行う前に、例えば誤った入力データに基づいて実行されたジョブ群を、フローの依存関係の情報に基づいて特定する。フローの依存関係に基づいて、関連するジョブ群を特定する方法は、例えば、特許文献1にも記載されている。
巻き戻し時刻特定部13は、依存関係抽出部11が特定したジョブ群とシステム変更対象記憶部16に格納されている変更履歴のデータを参照し、特定したジョブ群を変更対象ごとに分類する。上述のように、本模式例では、変更対象は、ファイルfile1、file2、データベースDB1のテーブルtable1である。
図11は、変更対象ごとに分類されたジョブ群と変更時刻との例を表す図である。
続いて、巻き戻し時刻特定部13は、分類された変更対象ごとに、巻き戻し時刻の決定を行う。巻き戻し時刻特定部13は、システムのリソースを変更しているジョブが複数ある場合は、もっとも早い時刻が巻き戻し時刻とする。
図12は、決定された巻き戻し時刻の例を表す図である。
巻き戻し制御部14は、巻き戻し時刻特定部13が決定した巻き戻し対象のシステムのリソース群を、決定した巻き戻し時刻の直前まで巻き戻す。巻き戻し制御部14は、既存の技術を利用して巻き戻しを行う。巻き戻し制御部14は、例えば、ファイルシステムのジャーナル機能を用いた巻き戻しを行ってもよい。巻き戻し制御部14は、例えば、データベースのポイントインタイムリカバリ機能を利用して巻き戻しを行ってもよい。
ジョブ実行制御部15は、ジョブ実行システム20に、依存関係抽出部11に対して指定された再実行対象のジョブの再実行を行わせる。
<他の実施形態>
ジョブ管理装置10及びジョブ管理装置100は、記憶媒体から読み出されたプログラムがロードされたメモリと、そのプログラムを実行するプロセッサとを含むコンピュータによって実現することができる。ジョブ管理装置10及びジョブ管理装置100は、専用のハードウェアによって実現することもできる。ジョブ管理装置10及びジョブ管理装置100は、前述のコンピュータと専用のハードウェアとの組み合わせによって実現することもできる。
図13は、本開示の実施形態に係るジョブ管理装置を実現することができる、コンピュータ1000のハードウェア構成の一例を表す図である。図13に示す例では、コンピュータ1000は、プロセッサ1001と、メモリ1002と、記憶装置1003と、I/O(Input/Output)インタフェース1004とを含む。また、コンピュータ1000は、記憶媒体1005にアクセスすることができる。メモリ1002と記憶装置1003は、例えば、RAM(Random Access Memory)、ハードディスクなどの記憶装置である。記憶媒体1005は、例えば、RAM、ハードディスクなどの記憶装置、ROM(Read Only Memory)、可搬記憶媒体である。記憶装置1003が記憶媒体1005であってもよい。プロセッサ1001は、メモリ1002と、記憶装置1003に対して、データやプログラムの読み出しと書き込みを行うことができる。プロセッサ1001は、I/Oインタフェース1004を介して、例えば、ジョブ実行システム20及びシステムリソース30にアクセスすることができる。プロセッサ1001は、記憶媒体1005にアクセスすることができる。記憶媒体1005には、コンピュータ1000を、本開示の実施形態に係るジョブ管理装置として動作させるプログラムが格納されている。
プロセッサ1001は、記憶媒体1005に格納されている、コンピュータ1000を、ジョブ管理装置10として動作させるプログラムを、メモリ1002にロードする。そして、プロセッサ1001が、メモリ1002にロードされたプログラムを実行することにより、コンピュータ1000は、ジョブ管理装置10として動作する。
また、プロセッサ1001は、記憶媒体1005に格納されている、コンピュータ1000を、ジョブ管理装置100として動作させるプログラムを、メモリ1002にロードする。この場合、プロセッサ1001が、メモリ1002にロードされたプログラムを実行することにより、コンピュータ1000は、ジョブ管理装置100として動作する。
依存関係抽出部11、システム変更対象管理部12、巻き戻し時刻特定部13、巻き戻し制御部14、ジョブ実行制御部15、対象ジョブ受付部17は、例えば、メモリ1002にロードされたプログラムを実行するプロセッサ1001により実現できる。システム変更対象記憶部16は、コンピュータ1000が含むメモリ1002やハードディスク装置等の記憶装置1003により実現できる。依存関係抽出部11、システム変更対象管理部12、巻き戻し時刻特定部13、巻き戻し制御部14、ジョブ実行制御部15、システム変更対象記憶部16、対象ジョブ受付部17の一部又は全部を、各部の機能を実現する専用の回路によって実現できる。
また、上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)
システムの状態を変更するジョブのうち、再実行の対象である前記ジョブである対象ジョブの指定を受け付ける対象ジョブ受付手段と、
前記対象ジョブが実行された際の前記ジョブによるシステムの状態の変更の記録に基づいて、前記対象ジョブに対する前記ジョブの依存関係を抽出する依存関係抽出手段と、
前記変更の記録に基づいて、前記システムの状態を、前記対象ジョブと当該対象ジョブが実行された際の前記依存関係がある前記ジョブとが実行される前の、前記システムの状態に戻す巻き戻し制御を行う巻き戻し制御手段と、
を備えるジョブ管理装置。
(付記2)
前記依存関係抽出手段は、前記依存関係として、前記変更の記録に基づいて、前記対象ジョブよる前記システムの変更に対して依存する前記ジョブの情報を含む情報を抽出する
付記1に記載のジョブ管理装置。
(付記3)
前記変更の記録に基づいて、前記システムの状態が前記対象ジョブを再実行できる状態であった時刻である巻き戻し時刻を特定する巻き戻し時刻特定手段をさらに備え、
前記巻き戻し制御手段は、前記巻き戻し制御として、前記変更の記録に基づいて、前記システムの状態を、前記巻き戻し時刻における前記システムの状態に戻す、
付記1又は2に記載のジョブ管理装置。
(付記4)
前記巻き戻し制御手段は、前記巻き戻し制御として、前記対象ジョブと、前記依存関係がある前記ジョブと、によって変更された前記システムの状態を、前記対象ジョブが実行される前の前記システムの状態に戻す
付記1乃至3のいずれか1項に記載のジョブ管理装置。
(付記5)
前記依存関係抽出手段は、前記対象ジョブが実行された際の当該対象ジョブが入力として使用するデータである対象入力データにさらに基づいて、前記依存関係を抽出する
付記1乃至4のいずれか1項に記載のジョブ管理装置。
(付記6)
前記依存関係抽出手段は、前記対象入力データが入力として使用された際の前記対象ジョブによる前記システムの状態の変更に依存するデータを使用する前記ジョブの情報を含む、前記依存関係を抽出する
付記5に記載のジョブ管理装置。
(付記7)
前記巻き戻し制御が終了した後に、前記対象ジョブの再実行を行うジョブ実行制御手段
を更に含む付記1乃至6のいずれか1項に記載のジョブ管理装置。
(付記8)
システムの状態を変更するジョブのうち、再実行の対象である前記ジョブである対象ジョブの指定を受け付け、
前記対象ジョブが実行された際の前記ジョブによるシステムの状態の変更の記録に基づいて、前記対象ジョブに対する前記ジョブの依存関係を抽出し、
前記変更の記録に基づいて、前記システムの状態を、前記対象ジョブと当該対象ジョブが実行された際の前記依存関係がある前記ジョブとが実行される前の、前記システムの状態に戻す巻き戻し制御を行う巻き戻す、
ジョブ管理方法。
(付記9)
前記依存関係として、前記変更の記録に基づいて、前記対象ジョブよる前記システムの変更に対して依存する前記ジョブの情報を含む情報を抽出する
付記8に記載のジョブ管理方法。
(付記10)
前記変更の記録に基づいて、前記システムの状態が前記対象ジョブを再実行できる状態であった時刻である巻き戻し時刻を特定し、
前記巻き戻し制御として、前記変更の記録に基づいて、前記システムの状態を、前記巻き戻し時刻における前記システムの状態に戻す、
付記8又は9に記載のジョブ管理方法。
(付記11)
前記巻き戻し制御として、前記対象ジョブと、前記依存関係がある前記ジョブと、によって変更された前記システムの状態を、前記対象ジョブが実行される前の前記システムの状態に戻す
付記8乃至10のいずれか1項に記載のジョブ管理方法。
(付記12)
前記対象ジョブが実行された際の当該対象ジョブが入力として使用するデータである対象入力データにさらに基づいて、前記依存関係を抽出する
付記8乃至11のいずれか1項に記載のジョブ管理方法。
(付記13)
前記対象入力データが入力として使用された際の前記対象ジョブによる前記システムの状態の変更に依存するデータを使用する前記ジョブの情報を含む、前記依存関係を抽出する
付記12に記載のジョブ管理方法。
(付記14)
前記巻き戻し制御が終了した後に、前記対象ジョブの再実行を行う
付記8乃至13のいずれか1項に記載のジョブ管理方法。
(付記15)
システムの状態を変更するジョブのうち、再実行の対象である前記ジョブである対象ジョブの指定を受け付ける対象ジョブ受付処理と、
前記対象ジョブが実行された際の前記ジョブによるシステムの状態の変更の記録に基づいて、前記対象ジョブに対する前記ジョブの依存関係を抽出する依存関係抽出処理と、
前記変更の記録に基づいて、前記システムの状態を、前記対象ジョブと当該対象ジョブが実行された際の前記依存関係がある前記ジョブとが実行される前の、前記システムの状態に戻す巻き戻し制御を行う巻き戻し制御処理と、
をコンピュータに実行させるプログラム。
(付記16)
前記依存関係抽出処理は、前記依存関係として、前記変更の記録に基づいて、前記対象ジョブよる前記システムの変更に対して依存する前記ジョブの情報を含む情報を抽出する
付記15に記載のプログラム。
(付記17)
前記変更の記録に基づいて、前記システムの状態が前記対象ジョブを再実行できる状態であった時刻である巻き戻し時刻を特定する巻き戻し時刻特定処理をコンピュータにさらに実行させ、
前記巻き戻し制御処理は、前記巻き戻し制御として、前記変更の記録に基づいて、前記システムの状態を、前記巻き戻し時刻における前記システムの状態に戻す、
付記15又は16に記載のプログラム。
(付記18)
前記巻き戻し制御処理は、前記巻き戻し制御として、前記対象ジョブと、前記依存関係がある前記ジョブと、によって変更された前記システムの状態を、前記対象ジョブが実行される前の前記システムの状態に戻す
付記15乃至17のいずれか1項に記載のプログラム。
(付記19)
前記依存関係抽出処理は、前記対象ジョブが実行された際の当該対象ジョブが入力として使用するデータである対象入力データにさらに基づいて、前記依存関係を抽出する
付記15乃至18のいずれか1項に記載のプログラム。
(付記20)
前記依存関係抽出処理は、前記対象入力データが入力として使用された際の前記対象ジョブによる前記システムの状態の変更に依存するデータを使用する前記ジョブの情報を含む、前記依存関係を抽出する
付記19に記載のプログラム。
(付記21)
前記巻き戻し制御が終了した後に、前記対象ジョブの再実行を行うジョブ実行制御処理
をコンピュータに更に実行させる付記15乃至20のいずれか1項に記載のプログラム。
以上、実施形態を参照して本発明を説明したが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
10 ジョブ管理装置
11 依存関係抽出部
12 システム変更対象管理部
13 時刻特定部
14 制御部
15 ジョブ実行制御部
16 システム変更対象記憶部
17 対象ジョブ受付部
20 ジョブ実行システム
30 システムリソース
100 ジョブ管理装置
1000 コンピュータ
1001 プロセッサ
1002 メモリ
1003 記憶装置
1004 I/Oインタフェース
1005 記憶媒体

Claims (10)

  1. システムの状態を変更するジョブのうち、再実行の対象である前記ジョブである対象ジョブの指定を受け付ける対象ジョブ受付手段と、
    前記対象ジョブが実行された際の前記ジョブによるシステムの状態の変更の記録に基づいて、前記対象ジョブに対する前記ジョブの依存関係を抽出する依存関係抽出手段と、
    前記変更の記録に基づいて、前記システムの状態を、前記対象ジョブと当該対象ジョブが実行された際の前記依存関係がある前記ジョブとが実行される前の、前記システムの状態に戻す巻き戻し制御を行う巻き戻し制御手段と、
    を備えるジョブ管理装置。
  2. 前記依存関係抽出手段は、前記依存関係として、前記変更の記録に基づいて、前記対象ジョブよる前記システムの変更に対して依存する前記ジョブの情報を含む情報を抽出する
    請求項1に記載のジョブ管理装置。
  3. 前記変更の記録に基づいて、前記システムの状態が前記対象ジョブを再実行できる状態であった時刻である巻き戻し時刻を特定する巻き戻し時刻特定手段をさらに備え、
    前記巻き戻し制御手段は、前記巻き戻し制御として、前記変更の記録に基づいて、前記システムの状態を、前記巻き戻し時刻における前記システムの状態に戻す、
    請求項1又は2に記載のジョブ管理装置。
  4. 前記巻き戻し制御手段は、前記巻き戻し制御として、前記対象ジョブと、前記依存関係がある前記ジョブと、によって変更された前記システムの状態を、前記対象ジョブが実行される前の前記システムの状態に戻す
    請求項1乃至3のいずれか1項に記載のジョブ管理装置。
  5. 前記依存関係抽出手段は、前記対象ジョブが実行された際の当該対象ジョブが入力として使用するデータである対象入力データにさらに基づいて、前記依存関係を抽出する
    請求項1乃至4のいずれか1項に記載のジョブ管理装置。
  6. 前記依存関係抽出手段は、前記対象入力データが入力として使用された際の前記対象ジョブによる前記システムの状態の変更に依存するデータを使用する前記ジョブの情報を含む、前記依存関係を抽出する
    請求項5に記載のジョブ管理装置。
  7. 前記巻き戻し制御が終了した後に、前記対象ジョブの再実行を行うジョブ実行制御手段
    を更に含む請求項1乃至6のいずれか1項に記載のジョブ管理装置。
  8. システムの状態を変更するジョブのうち、再実行の対象である前記ジョブである対象ジョブの指定を受け付け、
    前記対象ジョブが実行された際の前記ジョブによるシステムの状態の変更の記録に基づいて、前記対象ジョブに対する前記ジョブの依存関係を抽出し、
    前記変更の記録に基づいて、前記システムの状態を、前記対象ジョブと当該対象ジョブが実行された際の前記依存関係がある前記ジョブとが実行される前の、前記システムの状態に戻す巻き戻し制御を行う巻き戻す、
    ジョブ管理方法。
  9. 前記依存関係として、前記変更の記録に基づいて、前記対象ジョブよる前記システムの変更に対して依存する前記ジョブの情報を含む情報を抽出する
    請求項8に記載のジョブ管理方法。
  10. システムの状態を変更するジョブのうち、再実行の対象である前記ジョブである対象ジョブの指定を受け付ける対象ジョブ受付処理と、
    前記対象ジョブが実行された際の前記ジョブによるシステムの状態の変更の記録に基づいて、前記対象ジョブに対する前記ジョブの依存関係を抽出する依存関係抽出処理と、
    前記変更の記録に基づいて、前記システムの状態を、前記対象ジョブと当該対象ジョブが実行された際の前記依存関係がある前記ジョブとが実行される前の、前記システムの状態に戻す巻き戻し制御を行う巻き戻し制御処理と、
    をコンピュータに実行させるプログラム。
JP2021031800A 2021-03-01 2021-03-01 ジョブ管理装置、ジョブ管理方法及びプログラム Pending JP2022133010A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021031800A JP2022133010A (ja) 2021-03-01 2021-03-01 ジョブ管理装置、ジョブ管理方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021031800A JP2022133010A (ja) 2021-03-01 2021-03-01 ジョブ管理装置、ジョブ管理方法及びプログラム

Publications (1)

Publication Number Publication Date
JP2022133010A true JP2022133010A (ja) 2022-09-13

Family

ID=83229350

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021031800A Pending JP2022133010A (ja) 2021-03-01 2021-03-01 ジョブ管理装置、ジョブ管理方法及びプログラム

Country Status (1)

Country Link
JP (1) JP2022133010A (ja)

Similar Documents

Publication Publication Date Title
US7386752B1 (en) Using asset dependencies to identify the recovery set and optionally automate and/or optimize the recovery
US8121981B2 (en) Database snapshot management
US9183268B2 (en) Partition level backup and restore of a massively parallel processing database
US8775386B2 (en) Device and method for generating copy of database
JP4483342B2 (ja) システム復旧方法
JP6342070B2 (ja) ジョブ管理装置及びジョブ管理方法及びジョブ管理プログラム
EP3769224B1 (en) Configurable recovery states
US7698319B2 (en) Database system management method, database system, database device, and backup program
JPWO2016016975A1 (ja) 開発支援システム
JP4575762B2 (ja) データ処理方法および装置並びにストレージ装置およびその処理プログラム
JP4141875B2 (ja) リカバリ処理方法及びその実施システム並びにその処理プログラム
CN106970856B (zh) 对数据进行备份、恢复及挂载的数据管理系统及方法
US9183038B2 (en) Job management system that determines if master data has been updated, then re-executes a sub-job based on available executing computers and data sharing status
CN113254536A (zh) 数据库事务处理方法、系统、电子设备及存储介质
EP3149587B1 (en) System and method for the production of job level pre-processed backup of critical data and/or datasets in a mainframe computing environment
US20130263143A1 (en) Information processing method and system
CN117573427A (zh) 文件实时备份、恢复方法及系统、电子设备、存储介质
EP3769225B1 (en) Free space pass-through
JP2022133010A (ja) ジョブ管理装置、ジョブ管理方法及びプログラム
CN111240891A (zh) 基于数据库多表间数据一致性的数据恢复方法及装置
US20170090790A1 (en) Control program, control method and information processing device
CN116648693A (zh) 用于备份文件系统的方法和设备
US10261867B1 (en) Intelligent point-in-time selector
CN107967275A (zh) 关系型数据库中的数据处理方法及装置
CN117234411A (zh) 磁盘的处理方法、装置及存储介质

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20211022

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240215