ジョブ管理システム
【課題】ジョブネットの定義の変更差分を可視化し、復元する定義の決定を支援する。
【解決手段】ジョブ定義DB205は、所定の時点のジョブネットの定義を記憶している。履歴管理DB207は、ジョブネットの定義の変更の履歴を記憶している。ジョブ管理GUI通信部203は、ジョブ定義DB205に記憶されているジョブネットの定義と、履歴管理DB207に記憶されているジョブネットの定義の変更の履歴とに基づいて、指定された2つの時点における実行済のジョブネットの定義を復元するとともに、当該復元された2つのジョブネットの定義の差分を示す差分情報を求める。ジョブ管理GUI通信部203は、更に、復元された2つのジョブネットの定義と差分情報とをジョブ管理GUI装置に送信して表示させる。
【解決手段】ジョブ定義DB205は、所定の時点のジョブネットの定義を記憶している。履歴管理DB207は、ジョブネットの定義の変更の履歴を記憶している。ジョブ管理GUI通信部203は、ジョブ定義DB205に記憶されているジョブネットの定義と、履歴管理DB207に記憶されているジョブネットの定義の変更の履歴とに基づいて、指定された2つの時点における実行済のジョブネットの定義を復元するとともに、当該復元された2つのジョブネットの定義の差分を示す差分情報を求める。ジョブ管理GUI通信部203は、更に、復元された2つのジョブネットの定義と差分情報とをジョブ管理GUI装置に送信して表示させる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、各種業務を遂行するコンピュータシステムにおいて、指定された日時に指定された業務プログラムを実行するジョブ管理システムに関する。
【背景技術】
【0002】
各種業務を遂行するコンピュータシステムにおいて、日々の業務を計画的にスケジューリングし自動運用を行うために、ジョブ管理システムが利用されている。ジョブ管理システムは、関連する複数のジョブを起動する順番が記述されたジョブネット毎に運用日や休業日を設定することや、ジョブネットの実行スケジュールとして日次、月次などの各種処理サイクルを指定することによって、さまざまな業務サイクルに合わせてジョブをスケジューリングすることができる。
【0003】
しかし、業務は日々変動し、変動する業務に対応するため、ジョブネットの定義を変更する必要がでてくる。このとき、その変更が原因で、次回ジョブネットを実行した際に異常終了したり、実行が遅延したりする場合がある。
このような場合に、変更前後のジョブネットの定義を確認することができれば異常終了や遅延の原因の特定が容易になる。
【0004】
そこで、ジョブネットの定義に適用期間情報を付加することにより、管理上は単一のジョブネットとして扱うが、実際には適用期間ごとに別々のジョブネットの定義を保持し、明示的なバックアップ操作なしに変更前後のジョブネットの定義を確認することができるジョブ管理システムが知られている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2009−230322号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
実行中のジョブネットの異常終了や遅延が起こった場合には、稼働していた状態のジョブネットを復元し、業務を継続する必要がある。
しかし、日々バックアップを取得していたとしても、以前バックアップを取得した時点までしか戻すことができず、バックアップを取得するまでに加えた変更については復元することができない。また、バックアップしたジョブネットの定義は復元するまでどういう定義か分からず、どの時点のジョブネットが正常に動作するか判断するのが困難であり、復元すべきバックアップを決定するのに手間がかかる。
更に、変動する業務に対応するためには、変更後のジョブネットの定義を正しく動作するように修正する必要があるが、バックアップから復元された定義と変更後の定義とを比較して異常終了や遅延の原因を特定するのは手間がかかる。
特許文献1に記載のジョブ管理システムを用いると、明示的なバックアップ操作は不要となるが、どの適用期間のジョブネットの定義を復元すべきか決定すること、および異常終了や遅延の原因を特定することに手間がかかる点は同様である。
【0007】
本発明の目的は、ジョブネットの定義の変更差分を可視化し、復元する定義の決定を支援することができるジョブ管理システムを提供することである。
【課題を解決するための手段】
【0008】
上記目的を達成するために、本発明のジョブ管理システムは、
所定の時点のジョブネットの定義を記憶するジョブネット定義記憶手段と、
ジョブネットの定義が変更されるごとに、当該変更の内容を記憶する変更履歴記憶手段と、
前記ジョブネット定義記憶手段によって記憶されたジョブネットの定義と、前記変更履歴記憶手段によって記憶されたジョブネットの定義の変更の内容の履歴とに基づいて、指定された2つの時点における実行済のジョブネットの定義を復元するとともに、当該復元された2つのジョブネットの定義の差分を示す差分情報を求める差分取得手段と、
前記差分取得手段によって復元された2つのジョブネットの定義と差分情報とを出力する出力手段と、
を備えることを特徴とする。
【0009】
好ましくは、本発明のジョブ管理システムは、
ジョブネットおよびジョブが実行されるごとに、当該実行されたジョブネットおよびジョブの実行の結果を記憶する実行結果記憶手段と、
前記実行結果記憶手段によって記憶されたジョブネットおよびジョブの実行の結果の履歴と、前記変更履歴記憶手段によって記憶されたジョブネットの変更の内容の履歴とに基づいて、指定された時刻における実行済のジョブネットの定義の稼働実績を示す稼働実績情報を求める稼働実績情報取得手段と、
を備え、
前記出力手段が、前記稼働実績情報取得手段によって求められた稼働実績情報を出力する、
ことを特徴とする。
【0010】
好ましくは、本発明のジョブ管理システムは、
未実行のジョブネットの定義に最も近い時点の実行済みのジョブネットの定義を復元するジョブネット定義復元手段と、
前記ジョブネット定義復元手段によって復元されたジョブネットの定義と、前記実行結果記憶手段によって記憶されたジョブネットおよびジョブの実行の結果の履歴と、前記変更履歴記憶手段によって記憶されたジョブネットの変更の内容の履歴とに基づいて、前記未実行のジョブネットの定義の稼働予測を示す稼働予測情報を求める稼働予測情報取得手段を備え、
前記出力手段が、前記稼働予測情報取得手段によって求められた稼働予測情報を出力する、
ことを特徴とする。
【発明の効果】
【0011】
本発明によれば、ジョブネットの定義の変更差分を可視化し、復元する定義の決定を支援することができる。
【図面の簡単な説明】
【0012】
【図1】本発明の実施形態に係るジョブ管理システムの構成の一例を示す図である。
【図2】ジョブ管理装置とジョブ管理GUI装置とジョブ実行装置のハードウェア構成の一例を示す図である。
【図3】ジョブ管理マネージャーの構成の一例を示す図である。
【図4】ジョブ定義DBに格納されているデータの概念の一例を示す図である。
【図5】実行結果情報DBに格納されている実行結果情報テーブルのデータ構成の一例を示す図である。
【図6】履歴管理DBに格納されている履歴管理テーブルのデータ構成の一例を示す図である。
【図7】稼働実績情報の構成の一例を示す図である。
【図8】稼働予測情報の構成の一例を示す図である。
【図9】履歴情報からジョブネットの定義を求める処理の一例の流れを示す図である。
【図10】変更履歴の任意の2つの時点を選択し、ジョブネットの差分を求める処理の一例の流れを示す図である。
【図11】図10の続きの図である。
【図12】ジョブ管理GUIによって表示されるジョブネットの差分の一例を示す図である。
【図13】稼働実績情報を求める稼働情報算出部の処理の一例の流れを示す図である。
【図14】稼働予測情報を求める稼働情報算出部の処理の一例の流れを示す図である。
【図15】ジョブ管理GUIによってジョブ管理GUI装置の表示部に表示される差分履歴リストの一例を示す図である。
【発明を実施するための形態】
【0013】
以下、本発明の実施形態に係るジョブ管理システムについて図面を参照しながら詳細に説明する。
なお、本明細書と特許請求の範囲におけるジョブとは、コンピュータが処理する仕事の単位を意味し、各種業務に対応した外部プログラムを定義できるものである。また、ジョブネットとは、複数のジョブをまとめてそれぞれのジョブの実行順序を定義したものである。
【0014】
図1は、本発明の実施形態に係るジョブ管理システム100の構成の一例を示す。
ジョブ管理システム100は、ジョブ管理マネージャー102を有するジョブ管理装置101Aと、ジョブ管理GUI(Graphical User Interface)103を有するジョブ管理GUI装置101Bと、ジョブ実行エージェント104を有するジョブ実行装置101C〜101Eとで構成される。ジョブ管理装置101Aと、ジョブ管理GUI装置101Bと、ジョブ実行装置101C〜101Eとはネットワーク105に接続されており、相互に通信することができる。
ジョブ管理マネージャー102は、実際の業務をジョブとして管理する。またジョブ管理GUI103は、ジョブ管理マネージャー102が管理するジョブネットやジョブの定義、実行やジョブネットの定義の履歴情報をGUI(Graphical User Interface)で表示する。ジョブ管理GUI103の利用者は、GUIで表示されている各種の情報を見ながら、操作することができる。ジョブ実行エージェント104はジョブ管理マネージャー102から配信されたジョブを実際に実行する。
【0015】
ジョブ管理装置101Aとジョブ実行装置101C〜101Eは、図2(A)に示すように、CPU(Central Processing Unit)111と、RAM(Random Access Memory)等で構成されるメモリ112と、ハードディスク等で構成される記憶部113とを有するコンピュータである。また、ジョブ管理GUI装置101Bは、CPU111と、メモリ112と、記憶部113と、キーボート゛やマウス等で構成される入力部114と、ディスプレイ等で構成される表示部115とを有するコンピュータである。なお、ジョブ管理装置101Aとジョブ実行装置101C〜101Eも入力部114と表示部115を有していてもよい。
ジョブ管理装置101Aのメモリはジョブ管理プログラムを記憶している。ジョブ管理装置101AのCPU111がメモリに記憶されているジョブ管理プログラムを実行することにより、ジョブ管理マネージャー102を有するジョブ管理装置101Aの機能が実現される。
ジョブ管理GUI装置101Bのメモリはジョブ管理GUIプログラムを記憶している。ホストマシン101AのCPU111がメモリに記憶されているジョブ管理GUIプログラムを実行することにより、ジョブ管理GUI103を有するジョブ管理GUI装置101Bの機能が実現される。
ジョブ実行装置101C〜101Eのメモリはジョブ実行プログラムを記憶している。ジョブ実行装置101C〜101EのCPU111がメモリに記憶されているジョブ実行プログラムを実行することにより、ジョブ実行エージェント104を有するジョブ実行装置101C〜101Eの機能が実現される。
【0016】
なお、ジョブ管理装置101Aと、ジョブ管理GUI装置101Bと、ジョブ実行装置101C〜101Eを別々のコンピュータではなく、1台のコンピュータで実現することもできる。また、ジョブ実行装置は3台のコンピュータに限らず、1台、2台、または4台以上のコンピュータで実現してもよい。
【0017】
図3は、ジョブ管理マネージャー102の構成の一例を示す。
ジョブ管理マネージャー102は、ジョブ実行処理部201と、DBアクセス処理部202と、ジョブ管理GUI通信部203と、稼働情報算出部204とを有する。ジョブ管理マネージャー102を有するジョブ管理装置101Aの記憶部113は、ジョブ定義DB(Data Base)205と、実行結果情報DB206と、履歴管理DB207とを記憶している。
ジョブ定義DB205は、ジョブネットやジョブの定義を示す定義情報を格納する。
実行結果情報DB206は、ジョブ実行処理部201によって取得される動作したジョブネットやジョブの状態や開始時刻、終了時刻などを格納する。
履歴管理DB207は、ジョブネットやジョブの定義を変更したときに取得した変更履歴を格納する。
ジョブ実行処理部201は、ジョブネットの中に定義されているジョブ等の実行をジョブ実行エージェント104に要求し、その結果を受け取る。
DBアクセス処理部202は、ジョブ定義DB205と実行結果情報DB206と履歴管理DB207とに格納されている情報の追加、更新、削除を行う。
ジョブ管理GUI通信部203は、ジョブ管理GUI103からジョブネットに関する情報を求められると、DBアクセス処理部202に依頼してジョブ定義DB205、実行結果情報DB206、または履歴管理DB207に格納されている情報を取得し、取得した情報をジョブ管理GUI103に返却する。
稼働情報算出部204は、ジョブ管理GUI103から稼働情報の取得を求められると、ジョブ定義DB205、実行結果情報DB206、および履歴管理DB207に格納されている情報に基づいて稼働情報を算出する。
【0018】
図4は、ジョブ定義DB205に格納されているデータの概念の一例を示す。
ジョブ管理マネージャー102で運用される業務は、図4(A)に示すように、バッチファイルやバイナリファイルを実行するジョブ301と、複数のジョブ301の実行順序を定めてひとまとめにしたものであるジョブネット302とで構成される。
ジョブネット302は、階層化が可能である。例えば、図4(B)に示すように、ジョブネット302のトップの階層はRootNet303であり、RootNet303は配下にJobNetA304を持つ。JobNetA304は配下にJobA305と、JobNetB306と、JobB307とを持つ。JobNetB306は配下にJobC308を持つ。また、JobNetA304から見た上位のユニットはRootNet303である。JobA305とJobNetB306とJobB307から見た上位のユニットはJobNetA304である。JobC308から見た上位のユニットはJobNetB306である。
【0019】
図5は、実行結果情報DB206に格納されている実行結果情報テーブル401のデータ構成の一例を示す。
実行結果情報テーブル401のレコードは、実行結果ごとに一意に付与される識別符号を示す実行ID(Identifier)402と、ジョブネットまたはジョブを一意に特定する名前を示すジョブネット・ジョブ名403と、該当のジョブネットまたはジョブを開始した時刻を示す開始時刻404と、該当のジョブネットまたはジョブが終了した時刻を示す終了時刻405と、該当のジョブネットまたはジョブを実行した結果を示す状態406から構成される。
ジョブネットが階層化されている場合、階層化実行結果情報テーブル401には、トップの階層のジョブネットの実行結果だけではなく、中間の階層のジョブネットの実行結果も格納される。例えば、ジョブネットが図4(B)に示す階層を有する場合、階層化実行結果情報テーブル401には、RootNet303と、JobNetA304と、JobA305と、JobNetB306と、JobB307と、JobC308の実行結果がそれぞれ格納される。
【0020】
図6は、ジョブネットまたはジョブの定義が更新された際に履歴管理DB207に格納される履歴管理テーブル501のデータ構成の一例を示す。
履歴管理テーブル501のレコードは、変更履歴ごとに一意に付与される識別符号を示す履歴ID502と、ジョブネットまたはジョブを一意に特定する名前を示すジョブネット・ジョブ名503と、該当のジョブネットまたはジョブの変更の種別を示す変更種別504と、該当のジョブネットまたはジョブを変更した内容を示す変更内容505と、該当のジョブネットまたはジョブを変更した時刻を示す変更時刻506とから構成される。
【0021】
図7は、ジョブ管理GUI103によってジョブ管理GUI装置101Bの表示部115に表示される稼働実績情報601の構成の一例を示す。
稼働実績情報601は、該当するジョブネットまたはジョブがジョブ実行処理部201によって実行された回数を示す実行回数602と、該当するジョブネットまたはジョブの実行にかかった時間の平均である実行時間603と、該当するジョブネットまたはジョブの直近の実行結果を示す実行結果604と、該当するジョブネットまたはジョブの直近の開始時刻を示す開始時刻605と、該当するジョブネットまたはジョブの直近の終了時刻を示す終了時刻606から構成される。
【0022】
図8は、ジョブ管理GUI103によってジョブ管理GUI装置101Bの表示部115に表示される稼働予測情報701の構成の一例を示す。
稼働予測情報701は、該当するジョブネットまたはジョブがジョブ実行処理部202によって実行された回数を示す実行回数702と、該当するジョブネットまたはジョブの差分情報から算出した実行にかかる時間の予測を示す実行時間703と、該当するジョブネットまたはジョブに定義されている開始予定時刻を示す開始時刻704と、該当するジョブネットまたはジョブの実行時間703と開始時刻704から算出した終了予定時刻を示す終了時刻705から構成される。なお、稼働予測情報701には、稼働実績情報601の実行結果604に相当するものは格納されない。
【0023】
図9は、履歴情報からジョブネットの定義を求める処理の一例の流れを示す。
ジョブ管理GUI103は、ジョブ管理マネージャー102にジョブネットと変更時点とを指定してジョブネットの定義を要求する。
ジョブ管理GUI通信部203は、まず、DBアクセス処理部202を通じて、ジョブ管理GUI103によって指定されたジョブネットの定義をジョブ定義DB205から取得する(S101)。なお、ジョブ定義DB205から取得するジョブネットの定義は現時点のものである。
ジョブ管理GUI通信部203は、次に、指定されたジョブネットの定義について指定された変更時点から現時点まで変更種別504と変更内容505から成る変更情報を履歴管理DB207の履歴管理テーブル501から取得する(S102)。
【0024】
そして、ジョブ管理GUI通信部203は、現時点から指定された変更時点に向けて、変更情報を1件ずつ順番に選択し(S103)、指定されたジョブネットの定義に選択した変更情報を反映して復元する(S104)ことを繰り返す(S105)。指定された変更時点まで変更情報を反映したならば、ジョブ管理GUI通信部203は処理を終了する。
ジョブ管理GUI通信部203は、完成したジョブネットの定義をジョブ管理GUI103に出力(送信)する。ジョブ管理GUI103は、受信したジョブネットの定義をジョブ管理GUI装置101Bの表示部115に表示する。
【0025】
図10と図11は、変更履歴の任意の2つの時点を選択し、ジョブネットの差分を求める処理の一例の流れを示す。
変更履歴の任意の2つの時点を選択することによって、2つの時点間のジョブネットの差分を求め、変更前後の差分を表示することができる。
ジョブ管理GUI103は、ジョブ管理マネージャー102にジョブネットと変更前の時点と変更後の時点とを指定してジョブネットの定義の差分を要求する。
ジョブ管理GUI通信部203は、まず、図9で説明した手順で、指定された2つの時点のうち変更前のジョブネットの定義を復元する(S201)。次に、変更前の時点から変更後の時点まで、変更種別504と変更内容505から成る変更情報を履歴管理テーブル501から取得する(S202)。
次に、ジョブ管理GUI通信部203は、取得した変更情報から1件選択する(S203)。ジョブ管理GUI通信部203は、変更情報に含まれる変更種別504を確認し、ジョブネットに対して「変更フラグ」または「削除フラグ」または「追加フラグ」を立て(S204〜S206)、ジョブネットに変更を反映する(S207)。ジョブ管理GUI通信部203は、変更前の時点から変更後の時点に向けて取得した変更情報を全部処理するまでS203〜S207を繰り返し(S208)、最終的に変更後の時点のジョブネットの定義を完成させる。
【0026】
次に、ジョブ管理GUI通信部203は、上位のジョブネットについて変更前の時点から変更後の時点までの間に変更があるか否か履歴管理テーブル501を調べ(S209)、変更がある場合は「上位に変更ありのフラグ」を立てる(S210)。最後に、ジョブ管理GUI通信部203は、下位のジョブネットについて変更前の時点から変更後の時点までの間に変更があるか否か履歴管理テーブル501を調べ(S211)、変更がある場合は「下位に変更ありのフラグ」を立てる(S212)。
ジョブ管理GUI通信部203は、復元した2つの時点のジョブネットの定義と完成したジョブネットの定義の差分情報をジョブ管理GUI103に出力(送信)する。ジョブ管理GUI103は、受信した2つの時点のジョブネットの定義とジョブネットの定義の差分情報をジョブ管理GUI装置101Bの表示部115に表示する。
【0027】
図4に示すJobNetA304について変更前の時点として履歴ID502=002、変更後の時点として履歴ID502=005を選択して差分を求める例について説明する。図12は、ジョブ管理GUI103によってジョブ管理GUI装置101Bの表示部115に表示される変更前後の差分の一例を示す。
図6の履歴管理テーブル501に示すように、履歴ID502=003でJobNetB306が追加されているので、追加フラグが立てられ、「追加」と表示される(801)。履歴ID502=004で上位のジョブネットRootNet303が変更されているので、上位のジョブネットRootNet303に上位に変更ありのフラグが立てられ、「上位に変更あり」と表示される(802)。履歴ID502=005でJobB307が削除されているので、削除フラグが立てられ、「削除」と表示される(803)。
【0028】
図13は、稼働実績情報601を求める稼働情報算出部204の処理の一例の流れを示す。
ジョブ管理GUI103は、ジョブ管理マネージャー102にジョブネットと時刻とを指定して稼働実績を要求する。
稼働情報算出部204は、ジョブ管理GUI103によって指定された時刻におけるジョブネットが変更された時点の変更時刻506と、そのジョブネットが次に変更された時点の変更時刻506とをDBアクセス処理部202を通して履歴管理DB207の履歴管理テーブル501から取得する(S301)。次に、稼働情報算出部204は、指定された時刻におけるジョブネットが変更された時点の変更時刻506と、そのジョブネットが次に変更された時点の変更時刻506との間に実行されたそのジョブネットの実行結果が含まれるレコードを、開始時刻404と終了時刻405と照らし合わせ、実行結果情報テーブル401から取得する(S302)。次に、稼働情報算出部204は、ステップS302で取得したレコード数をカウントし、指定されたジョブネットの実行回数602を求める(S303)。次に、稼働情報算出部204は、ステップS302で取得した全てのレコードの開始時刻404と終了時刻405の差分を取って平均し、実行時間603を求める(S304)。最後に、稼働情報算出部204は、最新の実行結果情報を取得するため、開始時刻404が最も遅いレコードを求め、そのレコードの状態406と開始時刻404と終了時刻405とを、それぞれ実行結果604と開始時刻605と終了時刻606とする(S305)。
ジョブ管理GUI通信部203は、稼働情報算出部204から完成した稼働実績情報601を受け取り、ジョブ管理GUI103に出力(送信)する。ジョブ管理GUI103は、受信した稼働実績情報601をジョブ管理GUI装置101Bの表示部115に表示する。
【0029】
稼働実績情報601を求める処理の例として、ジョブネットとしてJobNetA、時刻として2011/08/17 12:10:11を指定して稼働実績情報を求める場合を示す。図6より、時刻2011/08/17 12:10:11におけるJobNetAの履歴ID502は002である。そして、履歴ID502=002の変更時刻は2011/08/16 13:25:46であり、その次の履歴ID502=003の変更時刻は2011/08/20 10:29:58である。図5より、2011/08/16 13:25:46と2011/08/20 10:29:58の間に実行ID402=002〜004のジョブネットまたはジョブが実行されているため、実行ID402=002〜004の実行結果情報を取得する。取得した実行結果情報の数は3レコードであり、取得した実行結果情報の開始時刻404、終了時刻405の差分の平均は00:10:25である。取得した実行結果情報の中で最新のものは実行ID402=004のものである。上記の情報を総合した結果、実行結果情報が図7のように表示される。
【0030】
図14は、稼働予測情報701を求める稼働情報算出部204の処理の一例の流れを示す。
履歴管理テーブル501に格納されている履歴情報について、実行されたことがあるジョブネットの定義に関しては実際に稼働したデータを稼働実績情報601として表示できるが、変更後に実行されたことがないジョブネットの定義に関しては、稼働実績情報601を表示することができない。そこで、直近の稼働実績がある履歴情報から、変更差分を加味することによって稼働予測情報701を作成する。
【0031】
ジョブ管理GUI103は、ジョブ管理マネージャー102にジョブネットの定義を指定して稼働予測を要求する。
稼働情報算出部204は、まず、指定されたジョブネットの定義について、過去の履歴をたどり、稼働実績情報601の存在する直近のジョブネットの定義を探し、直近のジョブネットの定義(指定された未実行のジョブネットの定義に最も近い時点の実行済みのジョブネットの定義)を復元する(S401)。そして、稼働情報算出部204は、見つかった稼働実績情報601の存在するジョブネットの定義と指定されたジョブネットの定義との差分を、図10のステップS202〜S208と同様の方法で求める(S402)。
【0032】
稼働情報算出部204は、次に、稼働実績のある直近のジョブネットの定義の実行時間603を求め、取得した差分全部について、履歴管理テーブル501の変更種別504毎に次の処理を行う。
変更種別504が「追加」の場合、復元された稼働実績がある直近のジョブネットに含まれる全てのジョブネットおよびジョブの実行時間の平均を、追加したジョブネットまたはジョブの実行時間とみなす。そこで、稼働実績がある直近のジョブネットに含まれる全てのジョブネットおよびジョブの実行時間の平均を求め、その平均を稼働実績がある直近のジョブネットの定義の実行時間603に加算する(S404)。
変更種別504が「削除」の場合、削除したジョブネットまたはジョブの稼働実績情報601を実行管理テーブル401と履歴管理テーブル501から求めることができる。そこで、削除したジョブネットまたはジョブの実行時間603を求め、求められた実行時間603を稼働実績がある直近のジョブネットの定義の実行時間603から減算する(S405)。
変更種別504が「変更」の場合、まず、変更したジョブネットまたはジョブの変更前の稼働実績情報601から変更前のジョブネットまたはジョブの実行時間603を求め、求められた実行時間603を稼働実績がある直近のジョブネットの定義の実行時間603から減算する。次に、その結果に対して、復元された稼働実績がある直近のジョブネットに含まれる全てのジョブネットおよびジョブの実行時間の平均を求め、その平均を加算する。
すべての差分についてステップS403〜S406の処理を繰り返すことで、実行時間703を算出する(S407)。
【0033】
上記の操作を行うことで、ジョブネットの定義を変更した場合に、どの程度の時間がかかるかを高い確度で予測することができる。
なお、稼働予測情報701に含まれるジョブネットの開始時刻704は指定されたジョブネットの定義の開始予定時刻である。ジョブネットの終了時刻705は開始時刻704に上記で求めた実行時間702を加えることで求めることができる。
ジョブ管理GUI通信部203は、稼働情報算出部204から完成した稼働予測情報701を受け取り、ジョブ管理GUI103に出力(送信)する。ジョブ管理GUI103は、受信した稼働予測情報701をジョブ管理GUI装置101Bの表示部115に表示する。
【0034】
図15は、ジョブ管理GUI103によってジョブ管理GUI装置101Bの表示部115に表示される差分履歴リストの一例を示す。
履歴情報901には、履歴管理DB207に格納されている履歴管理テーブル501の情報が表示される。稼働実績/稼働予測902には、図13に示す処理で求めた稼働実績情報601と、図14に示す処理で求めた稼働予測情報701が表示される。ユーザーは、差分履歴リストから任意の差分を選択してジョブネットの定義を復元したり、差分情報を表示したりすることができる。
【0035】
なお、上述した実施形態では、図9に示したように、ジョブ管理GUI通信部203は、ジョブ定義DB205から現時点のジョブネットの定義を取得し、現時点から指定された変更時点に向けて、変更情報を1件ずつ順番に選択し(S103)、指定されたジョブネットの定義に選択した変更情報を反映して復元する(S104)ことを繰り返す(S105)とした。しかし、これに限らず、ジョブ管理GUI通信部203は、所定の時点、例えば、最初の時点のジョブネットの定義、すなわち、初めてそのジョブネットの定義がジョブ定義DB205に格納された時のジョブネットの定義をジョブ定義DB205から取得する。次に、ジョブ管理GUI通信部203は、そのジョブネットの定義について所定の時点から指定された変更時点まで変更種別504と変更内容505から成る変更情報を履歴管理DB207の履歴管理テーブル501から取得する。そして、ジョブ管理GUI通信部203は、所定の時点から指定された変更時点に向けて、変更情報を1件ずつ順番に選択し、指定されたジョブネットの定義に選択した変更情報を反映して復元する(S104)ことを繰り返すとしてもよい。
【0036】
以上説明したように、本発明によれば、ジョブネットの定義の変更差分を可視化し、復元する定義の決定を支援することができる。すなわち、本発明によれば、変更前のジョブネットの定義を復元するとともにジョブネットの定義の変更差分を取得し、これらをGUI表示することで、実際にバックアップから復元する前に復元結果を確認することができる。
また、変更ポイントごとの稼働実績を表示することで、正常に稼働していたジョブネットかどうかが確認でき、迅速にシステムを再開できる。
さらに、稼働実績のないジョブネットについても、稼働実績のある部分とない部分の差分を取ることで、稼働させたときのジョブスケジューリング情報を予測できる。
【符号の説明】
【0037】
100…ジョブ管理システム、101A…ジョブ管理装置、101B…ジョブ管理GUI装置、101C〜101E…ジョブ実行装置、102…ジョブ管理マネージャー、103…ジョブ管理GUI、104…ジョブ実行エージェント、105…ネットワーク、111…CPU、112…メモリ、113…記憶部、114…入力部、115…表示部、201…ジョブ実行処理部、202…DBアクセス処理部、203…ジョブ管理GUI通信部、204…稼働情報算出部、205…ジョブ定義DB、206…実行結果情報DB、207…履歴管理DB、301…ジョブ、302…ジョブネット、303…RootNet、304…JobNetA、305…JobA、306…JobNetB、307…JobB、308…JobC
【技術分野】
【0001】
本発明は、各種業務を遂行するコンピュータシステムにおいて、指定された日時に指定された業務プログラムを実行するジョブ管理システムに関する。
【背景技術】
【0002】
各種業務を遂行するコンピュータシステムにおいて、日々の業務を計画的にスケジューリングし自動運用を行うために、ジョブ管理システムが利用されている。ジョブ管理システムは、関連する複数のジョブを起動する順番が記述されたジョブネット毎に運用日や休業日を設定することや、ジョブネットの実行スケジュールとして日次、月次などの各種処理サイクルを指定することによって、さまざまな業務サイクルに合わせてジョブをスケジューリングすることができる。
【0003】
しかし、業務は日々変動し、変動する業務に対応するため、ジョブネットの定義を変更する必要がでてくる。このとき、その変更が原因で、次回ジョブネットを実行した際に異常終了したり、実行が遅延したりする場合がある。
このような場合に、変更前後のジョブネットの定義を確認することができれば異常終了や遅延の原因の特定が容易になる。
【0004】
そこで、ジョブネットの定義に適用期間情報を付加することにより、管理上は単一のジョブネットとして扱うが、実際には適用期間ごとに別々のジョブネットの定義を保持し、明示的なバックアップ操作なしに変更前後のジョブネットの定義を確認することができるジョブ管理システムが知られている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2009−230322号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
実行中のジョブネットの異常終了や遅延が起こった場合には、稼働していた状態のジョブネットを復元し、業務を継続する必要がある。
しかし、日々バックアップを取得していたとしても、以前バックアップを取得した時点までしか戻すことができず、バックアップを取得するまでに加えた変更については復元することができない。また、バックアップしたジョブネットの定義は復元するまでどういう定義か分からず、どの時点のジョブネットが正常に動作するか判断するのが困難であり、復元すべきバックアップを決定するのに手間がかかる。
更に、変動する業務に対応するためには、変更後のジョブネットの定義を正しく動作するように修正する必要があるが、バックアップから復元された定義と変更後の定義とを比較して異常終了や遅延の原因を特定するのは手間がかかる。
特許文献1に記載のジョブ管理システムを用いると、明示的なバックアップ操作は不要となるが、どの適用期間のジョブネットの定義を復元すべきか決定すること、および異常終了や遅延の原因を特定することに手間がかかる点は同様である。
【0007】
本発明の目的は、ジョブネットの定義の変更差分を可視化し、復元する定義の決定を支援することができるジョブ管理システムを提供することである。
【課題を解決するための手段】
【0008】
上記目的を達成するために、本発明のジョブ管理システムは、
所定の時点のジョブネットの定義を記憶するジョブネット定義記憶手段と、
ジョブネットの定義が変更されるごとに、当該変更の内容を記憶する変更履歴記憶手段と、
前記ジョブネット定義記憶手段によって記憶されたジョブネットの定義と、前記変更履歴記憶手段によって記憶されたジョブネットの定義の変更の内容の履歴とに基づいて、指定された2つの時点における実行済のジョブネットの定義を復元するとともに、当該復元された2つのジョブネットの定義の差分を示す差分情報を求める差分取得手段と、
前記差分取得手段によって復元された2つのジョブネットの定義と差分情報とを出力する出力手段と、
を備えることを特徴とする。
【0009】
好ましくは、本発明のジョブ管理システムは、
ジョブネットおよびジョブが実行されるごとに、当該実行されたジョブネットおよびジョブの実行の結果を記憶する実行結果記憶手段と、
前記実行結果記憶手段によって記憶されたジョブネットおよびジョブの実行の結果の履歴と、前記変更履歴記憶手段によって記憶されたジョブネットの変更の内容の履歴とに基づいて、指定された時刻における実行済のジョブネットの定義の稼働実績を示す稼働実績情報を求める稼働実績情報取得手段と、
を備え、
前記出力手段が、前記稼働実績情報取得手段によって求められた稼働実績情報を出力する、
ことを特徴とする。
【0010】
好ましくは、本発明のジョブ管理システムは、
未実行のジョブネットの定義に最も近い時点の実行済みのジョブネットの定義を復元するジョブネット定義復元手段と、
前記ジョブネット定義復元手段によって復元されたジョブネットの定義と、前記実行結果記憶手段によって記憶されたジョブネットおよびジョブの実行の結果の履歴と、前記変更履歴記憶手段によって記憶されたジョブネットの変更の内容の履歴とに基づいて、前記未実行のジョブネットの定義の稼働予測を示す稼働予測情報を求める稼働予測情報取得手段を備え、
前記出力手段が、前記稼働予測情報取得手段によって求められた稼働予測情報を出力する、
ことを特徴とする。
【発明の効果】
【0011】
本発明によれば、ジョブネットの定義の変更差分を可視化し、復元する定義の決定を支援することができる。
【図面の簡単な説明】
【0012】
【図1】本発明の実施形態に係るジョブ管理システムの構成の一例を示す図である。
【図2】ジョブ管理装置とジョブ管理GUI装置とジョブ実行装置のハードウェア構成の一例を示す図である。
【図3】ジョブ管理マネージャーの構成の一例を示す図である。
【図4】ジョブ定義DBに格納されているデータの概念の一例を示す図である。
【図5】実行結果情報DBに格納されている実行結果情報テーブルのデータ構成の一例を示す図である。
【図6】履歴管理DBに格納されている履歴管理テーブルのデータ構成の一例を示す図である。
【図7】稼働実績情報の構成の一例を示す図である。
【図8】稼働予測情報の構成の一例を示す図である。
【図9】履歴情報からジョブネットの定義を求める処理の一例の流れを示す図である。
【図10】変更履歴の任意の2つの時点を選択し、ジョブネットの差分を求める処理の一例の流れを示す図である。
【図11】図10の続きの図である。
【図12】ジョブ管理GUIによって表示されるジョブネットの差分の一例を示す図である。
【図13】稼働実績情報を求める稼働情報算出部の処理の一例の流れを示す図である。
【図14】稼働予測情報を求める稼働情報算出部の処理の一例の流れを示す図である。
【図15】ジョブ管理GUIによってジョブ管理GUI装置の表示部に表示される差分履歴リストの一例を示す図である。
【発明を実施するための形態】
【0013】
以下、本発明の実施形態に係るジョブ管理システムについて図面を参照しながら詳細に説明する。
なお、本明細書と特許請求の範囲におけるジョブとは、コンピュータが処理する仕事の単位を意味し、各種業務に対応した外部プログラムを定義できるものである。また、ジョブネットとは、複数のジョブをまとめてそれぞれのジョブの実行順序を定義したものである。
【0014】
図1は、本発明の実施形態に係るジョブ管理システム100の構成の一例を示す。
ジョブ管理システム100は、ジョブ管理マネージャー102を有するジョブ管理装置101Aと、ジョブ管理GUI(Graphical User Interface)103を有するジョブ管理GUI装置101Bと、ジョブ実行エージェント104を有するジョブ実行装置101C〜101Eとで構成される。ジョブ管理装置101Aと、ジョブ管理GUI装置101Bと、ジョブ実行装置101C〜101Eとはネットワーク105に接続されており、相互に通信することができる。
ジョブ管理マネージャー102は、実際の業務をジョブとして管理する。またジョブ管理GUI103は、ジョブ管理マネージャー102が管理するジョブネットやジョブの定義、実行やジョブネットの定義の履歴情報をGUI(Graphical User Interface)で表示する。ジョブ管理GUI103の利用者は、GUIで表示されている各種の情報を見ながら、操作することができる。ジョブ実行エージェント104はジョブ管理マネージャー102から配信されたジョブを実際に実行する。
【0015】
ジョブ管理装置101Aとジョブ実行装置101C〜101Eは、図2(A)に示すように、CPU(Central Processing Unit)111と、RAM(Random Access Memory)等で構成されるメモリ112と、ハードディスク等で構成される記憶部113とを有するコンピュータである。また、ジョブ管理GUI装置101Bは、CPU111と、メモリ112と、記憶部113と、キーボート゛やマウス等で構成される入力部114と、ディスプレイ等で構成される表示部115とを有するコンピュータである。なお、ジョブ管理装置101Aとジョブ実行装置101C〜101Eも入力部114と表示部115を有していてもよい。
ジョブ管理装置101Aのメモリはジョブ管理プログラムを記憶している。ジョブ管理装置101AのCPU111がメモリに記憶されているジョブ管理プログラムを実行することにより、ジョブ管理マネージャー102を有するジョブ管理装置101Aの機能が実現される。
ジョブ管理GUI装置101Bのメモリはジョブ管理GUIプログラムを記憶している。ホストマシン101AのCPU111がメモリに記憶されているジョブ管理GUIプログラムを実行することにより、ジョブ管理GUI103を有するジョブ管理GUI装置101Bの機能が実現される。
ジョブ実行装置101C〜101Eのメモリはジョブ実行プログラムを記憶している。ジョブ実行装置101C〜101EのCPU111がメモリに記憶されているジョブ実行プログラムを実行することにより、ジョブ実行エージェント104を有するジョブ実行装置101C〜101Eの機能が実現される。
【0016】
なお、ジョブ管理装置101Aと、ジョブ管理GUI装置101Bと、ジョブ実行装置101C〜101Eを別々のコンピュータではなく、1台のコンピュータで実現することもできる。また、ジョブ実行装置は3台のコンピュータに限らず、1台、2台、または4台以上のコンピュータで実現してもよい。
【0017】
図3は、ジョブ管理マネージャー102の構成の一例を示す。
ジョブ管理マネージャー102は、ジョブ実行処理部201と、DBアクセス処理部202と、ジョブ管理GUI通信部203と、稼働情報算出部204とを有する。ジョブ管理マネージャー102を有するジョブ管理装置101Aの記憶部113は、ジョブ定義DB(Data Base)205と、実行結果情報DB206と、履歴管理DB207とを記憶している。
ジョブ定義DB205は、ジョブネットやジョブの定義を示す定義情報を格納する。
実行結果情報DB206は、ジョブ実行処理部201によって取得される動作したジョブネットやジョブの状態や開始時刻、終了時刻などを格納する。
履歴管理DB207は、ジョブネットやジョブの定義を変更したときに取得した変更履歴を格納する。
ジョブ実行処理部201は、ジョブネットの中に定義されているジョブ等の実行をジョブ実行エージェント104に要求し、その結果を受け取る。
DBアクセス処理部202は、ジョブ定義DB205と実行結果情報DB206と履歴管理DB207とに格納されている情報の追加、更新、削除を行う。
ジョブ管理GUI通信部203は、ジョブ管理GUI103からジョブネットに関する情報を求められると、DBアクセス処理部202に依頼してジョブ定義DB205、実行結果情報DB206、または履歴管理DB207に格納されている情報を取得し、取得した情報をジョブ管理GUI103に返却する。
稼働情報算出部204は、ジョブ管理GUI103から稼働情報の取得を求められると、ジョブ定義DB205、実行結果情報DB206、および履歴管理DB207に格納されている情報に基づいて稼働情報を算出する。
【0018】
図4は、ジョブ定義DB205に格納されているデータの概念の一例を示す。
ジョブ管理マネージャー102で運用される業務は、図4(A)に示すように、バッチファイルやバイナリファイルを実行するジョブ301と、複数のジョブ301の実行順序を定めてひとまとめにしたものであるジョブネット302とで構成される。
ジョブネット302は、階層化が可能である。例えば、図4(B)に示すように、ジョブネット302のトップの階層はRootNet303であり、RootNet303は配下にJobNetA304を持つ。JobNetA304は配下にJobA305と、JobNetB306と、JobB307とを持つ。JobNetB306は配下にJobC308を持つ。また、JobNetA304から見た上位のユニットはRootNet303である。JobA305とJobNetB306とJobB307から見た上位のユニットはJobNetA304である。JobC308から見た上位のユニットはJobNetB306である。
【0019】
図5は、実行結果情報DB206に格納されている実行結果情報テーブル401のデータ構成の一例を示す。
実行結果情報テーブル401のレコードは、実行結果ごとに一意に付与される識別符号を示す実行ID(Identifier)402と、ジョブネットまたはジョブを一意に特定する名前を示すジョブネット・ジョブ名403と、該当のジョブネットまたはジョブを開始した時刻を示す開始時刻404と、該当のジョブネットまたはジョブが終了した時刻を示す終了時刻405と、該当のジョブネットまたはジョブを実行した結果を示す状態406から構成される。
ジョブネットが階層化されている場合、階層化実行結果情報テーブル401には、トップの階層のジョブネットの実行結果だけではなく、中間の階層のジョブネットの実行結果も格納される。例えば、ジョブネットが図4(B)に示す階層を有する場合、階層化実行結果情報テーブル401には、RootNet303と、JobNetA304と、JobA305と、JobNetB306と、JobB307と、JobC308の実行結果がそれぞれ格納される。
【0020】
図6は、ジョブネットまたはジョブの定義が更新された際に履歴管理DB207に格納される履歴管理テーブル501のデータ構成の一例を示す。
履歴管理テーブル501のレコードは、変更履歴ごとに一意に付与される識別符号を示す履歴ID502と、ジョブネットまたはジョブを一意に特定する名前を示すジョブネット・ジョブ名503と、該当のジョブネットまたはジョブの変更の種別を示す変更種別504と、該当のジョブネットまたはジョブを変更した内容を示す変更内容505と、該当のジョブネットまたはジョブを変更した時刻を示す変更時刻506とから構成される。
【0021】
図7は、ジョブ管理GUI103によってジョブ管理GUI装置101Bの表示部115に表示される稼働実績情報601の構成の一例を示す。
稼働実績情報601は、該当するジョブネットまたはジョブがジョブ実行処理部201によって実行された回数を示す実行回数602と、該当するジョブネットまたはジョブの実行にかかった時間の平均である実行時間603と、該当するジョブネットまたはジョブの直近の実行結果を示す実行結果604と、該当するジョブネットまたはジョブの直近の開始時刻を示す開始時刻605と、該当するジョブネットまたはジョブの直近の終了時刻を示す終了時刻606から構成される。
【0022】
図8は、ジョブ管理GUI103によってジョブ管理GUI装置101Bの表示部115に表示される稼働予測情報701の構成の一例を示す。
稼働予測情報701は、該当するジョブネットまたはジョブがジョブ実行処理部202によって実行された回数を示す実行回数702と、該当するジョブネットまたはジョブの差分情報から算出した実行にかかる時間の予測を示す実行時間703と、該当するジョブネットまたはジョブに定義されている開始予定時刻を示す開始時刻704と、該当するジョブネットまたはジョブの実行時間703と開始時刻704から算出した終了予定時刻を示す終了時刻705から構成される。なお、稼働予測情報701には、稼働実績情報601の実行結果604に相当するものは格納されない。
【0023】
図9は、履歴情報からジョブネットの定義を求める処理の一例の流れを示す。
ジョブ管理GUI103は、ジョブ管理マネージャー102にジョブネットと変更時点とを指定してジョブネットの定義を要求する。
ジョブ管理GUI通信部203は、まず、DBアクセス処理部202を通じて、ジョブ管理GUI103によって指定されたジョブネットの定義をジョブ定義DB205から取得する(S101)。なお、ジョブ定義DB205から取得するジョブネットの定義は現時点のものである。
ジョブ管理GUI通信部203は、次に、指定されたジョブネットの定義について指定された変更時点から現時点まで変更種別504と変更内容505から成る変更情報を履歴管理DB207の履歴管理テーブル501から取得する(S102)。
【0024】
そして、ジョブ管理GUI通信部203は、現時点から指定された変更時点に向けて、変更情報を1件ずつ順番に選択し(S103)、指定されたジョブネットの定義に選択した変更情報を反映して復元する(S104)ことを繰り返す(S105)。指定された変更時点まで変更情報を反映したならば、ジョブ管理GUI通信部203は処理を終了する。
ジョブ管理GUI通信部203は、完成したジョブネットの定義をジョブ管理GUI103に出力(送信)する。ジョブ管理GUI103は、受信したジョブネットの定義をジョブ管理GUI装置101Bの表示部115に表示する。
【0025】
図10と図11は、変更履歴の任意の2つの時点を選択し、ジョブネットの差分を求める処理の一例の流れを示す。
変更履歴の任意の2つの時点を選択することによって、2つの時点間のジョブネットの差分を求め、変更前後の差分を表示することができる。
ジョブ管理GUI103は、ジョブ管理マネージャー102にジョブネットと変更前の時点と変更後の時点とを指定してジョブネットの定義の差分を要求する。
ジョブ管理GUI通信部203は、まず、図9で説明した手順で、指定された2つの時点のうち変更前のジョブネットの定義を復元する(S201)。次に、変更前の時点から変更後の時点まで、変更種別504と変更内容505から成る変更情報を履歴管理テーブル501から取得する(S202)。
次に、ジョブ管理GUI通信部203は、取得した変更情報から1件選択する(S203)。ジョブ管理GUI通信部203は、変更情報に含まれる変更種別504を確認し、ジョブネットに対して「変更フラグ」または「削除フラグ」または「追加フラグ」を立て(S204〜S206)、ジョブネットに変更を反映する(S207)。ジョブ管理GUI通信部203は、変更前の時点から変更後の時点に向けて取得した変更情報を全部処理するまでS203〜S207を繰り返し(S208)、最終的に変更後の時点のジョブネットの定義を完成させる。
【0026】
次に、ジョブ管理GUI通信部203は、上位のジョブネットについて変更前の時点から変更後の時点までの間に変更があるか否か履歴管理テーブル501を調べ(S209)、変更がある場合は「上位に変更ありのフラグ」を立てる(S210)。最後に、ジョブ管理GUI通信部203は、下位のジョブネットについて変更前の時点から変更後の時点までの間に変更があるか否か履歴管理テーブル501を調べ(S211)、変更がある場合は「下位に変更ありのフラグ」を立てる(S212)。
ジョブ管理GUI通信部203は、復元した2つの時点のジョブネットの定義と完成したジョブネットの定義の差分情報をジョブ管理GUI103に出力(送信)する。ジョブ管理GUI103は、受信した2つの時点のジョブネットの定義とジョブネットの定義の差分情報をジョブ管理GUI装置101Bの表示部115に表示する。
【0027】
図4に示すJobNetA304について変更前の時点として履歴ID502=002、変更後の時点として履歴ID502=005を選択して差分を求める例について説明する。図12は、ジョブ管理GUI103によってジョブ管理GUI装置101Bの表示部115に表示される変更前後の差分の一例を示す。
図6の履歴管理テーブル501に示すように、履歴ID502=003でJobNetB306が追加されているので、追加フラグが立てられ、「追加」と表示される(801)。履歴ID502=004で上位のジョブネットRootNet303が変更されているので、上位のジョブネットRootNet303に上位に変更ありのフラグが立てられ、「上位に変更あり」と表示される(802)。履歴ID502=005でJobB307が削除されているので、削除フラグが立てられ、「削除」と表示される(803)。
【0028】
図13は、稼働実績情報601を求める稼働情報算出部204の処理の一例の流れを示す。
ジョブ管理GUI103は、ジョブ管理マネージャー102にジョブネットと時刻とを指定して稼働実績を要求する。
稼働情報算出部204は、ジョブ管理GUI103によって指定された時刻におけるジョブネットが変更された時点の変更時刻506と、そのジョブネットが次に変更された時点の変更時刻506とをDBアクセス処理部202を通して履歴管理DB207の履歴管理テーブル501から取得する(S301)。次に、稼働情報算出部204は、指定された時刻におけるジョブネットが変更された時点の変更時刻506と、そのジョブネットが次に変更された時点の変更時刻506との間に実行されたそのジョブネットの実行結果が含まれるレコードを、開始時刻404と終了時刻405と照らし合わせ、実行結果情報テーブル401から取得する(S302)。次に、稼働情報算出部204は、ステップS302で取得したレコード数をカウントし、指定されたジョブネットの実行回数602を求める(S303)。次に、稼働情報算出部204は、ステップS302で取得した全てのレコードの開始時刻404と終了時刻405の差分を取って平均し、実行時間603を求める(S304)。最後に、稼働情報算出部204は、最新の実行結果情報を取得するため、開始時刻404が最も遅いレコードを求め、そのレコードの状態406と開始時刻404と終了時刻405とを、それぞれ実行結果604と開始時刻605と終了時刻606とする(S305)。
ジョブ管理GUI通信部203は、稼働情報算出部204から完成した稼働実績情報601を受け取り、ジョブ管理GUI103に出力(送信)する。ジョブ管理GUI103は、受信した稼働実績情報601をジョブ管理GUI装置101Bの表示部115に表示する。
【0029】
稼働実績情報601を求める処理の例として、ジョブネットとしてJobNetA、時刻として2011/08/17 12:10:11を指定して稼働実績情報を求める場合を示す。図6より、時刻2011/08/17 12:10:11におけるJobNetAの履歴ID502は002である。そして、履歴ID502=002の変更時刻は2011/08/16 13:25:46であり、その次の履歴ID502=003の変更時刻は2011/08/20 10:29:58である。図5より、2011/08/16 13:25:46と2011/08/20 10:29:58の間に実行ID402=002〜004のジョブネットまたはジョブが実行されているため、実行ID402=002〜004の実行結果情報を取得する。取得した実行結果情報の数は3レコードであり、取得した実行結果情報の開始時刻404、終了時刻405の差分の平均は00:10:25である。取得した実行結果情報の中で最新のものは実行ID402=004のものである。上記の情報を総合した結果、実行結果情報が図7のように表示される。
【0030】
図14は、稼働予測情報701を求める稼働情報算出部204の処理の一例の流れを示す。
履歴管理テーブル501に格納されている履歴情報について、実行されたことがあるジョブネットの定義に関しては実際に稼働したデータを稼働実績情報601として表示できるが、変更後に実行されたことがないジョブネットの定義に関しては、稼働実績情報601を表示することができない。そこで、直近の稼働実績がある履歴情報から、変更差分を加味することによって稼働予測情報701を作成する。
【0031】
ジョブ管理GUI103は、ジョブ管理マネージャー102にジョブネットの定義を指定して稼働予測を要求する。
稼働情報算出部204は、まず、指定されたジョブネットの定義について、過去の履歴をたどり、稼働実績情報601の存在する直近のジョブネットの定義を探し、直近のジョブネットの定義(指定された未実行のジョブネットの定義に最も近い時点の実行済みのジョブネットの定義)を復元する(S401)。そして、稼働情報算出部204は、見つかった稼働実績情報601の存在するジョブネットの定義と指定されたジョブネットの定義との差分を、図10のステップS202〜S208と同様の方法で求める(S402)。
【0032】
稼働情報算出部204は、次に、稼働実績のある直近のジョブネットの定義の実行時間603を求め、取得した差分全部について、履歴管理テーブル501の変更種別504毎に次の処理を行う。
変更種別504が「追加」の場合、復元された稼働実績がある直近のジョブネットに含まれる全てのジョブネットおよびジョブの実行時間の平均を、追加したジョブネットまたはジョブの実行時間とみなす。そこで、稼働実績がある直近のジョブネットに含まれる全てのジョブネットおよびジョブの実行時間の平均を求め、その平均を稼働実績がある直近のジョブネットの定義の実行時間603に加算する(S404)。
変更種別504が「削除」の場合、削除したジョブネットまたはジョブの稼働実績情報601を実行管理テーブル401と履歴管理テーブル501から求めることができる。そこで、削除したジョブネットまたはジョブの実行時間603を求め、求められた実行時間603を稼働実績がある直近のジョブネットの定義の実行時間603から減算する(S405)。
変更種別504が「変更」の場合、まず、変更したジョブネットまたはジョブの変更前の稼働実績情報601から変更前のジョブネットまたはジョブの実行時間603を求め、求められた実行時間603を稼働実績がある直近のジョブネットの定義の実行時間603から減算する。次に、その結果に対して、復元された稼働実績がある直近のジョブネットに含まれる全てのジョブネットおよびジョブの実行時間の平均を求め、その平均を加算する。
すべての差分についてステップS403〜S406の処理を繰り返すことで、実行時間703を算出する(S407)。
【0033】
上記の操作を行うことで、ジョブネットの定義を変更した場合に、どの程度の時間がかかるかを高い確度で予測することができる。
なお、稼働予測情報701に含まれるジョブネットの開始時刻704は指定されたジョブネットの定義の開始予定時刻である。ジョブネットの終了時刻705は開始時刻704に上記で求めた実行時間702を加えることで求めることができる。
ジョブ管理GUI通信部203は、稼働情報算出部204から完成した稼働予測情報701を受け取り、ジョブ管理GUI103に出力(送信)する。ジョブ管理GUI103は、受信した稼働予測情報701をジョブ管理GUI装置101Bの表示部115に表示する。
【0034】
図15は、ジョブ管理GUI103によってジョブ管理GUI装置101Bの表示部115に表示される差分履歴リストの一例を示す。
履歴情報901には、履歴管理DB207に格納されている履歴管理テーブル501の情報が表示される。稼働実績/稼働予測902には、図13に示す処理で求めた稼働実績情報601と、図14に示す処理で求めた稼働予測情報701が表示される。ユーザーは、差分履歴リストから任意の差分を選択してジョブネットの定義を復元したり、差分情報を表示したりすることができる。
【0035】
なお、上述した実施形態では、図9に示したように、ジョブ管理GUI通信部203は、ジョブ定義DB205から現時点のジョブネットの定義を取得し、現時点から指定された変更時点に向けて、変更情報を1件ずつ順番に選択し(S103)、指定されたジョブネットの定義に選択した変更情報を反映して復元する(S104)ことを繰り返す(S105)とした。しかし、これに限らず、ジョブ管理GUI通信部203は、所定の時点、例えば、最初の時点のジョブネットの定義、すなわち、初めてそのジョブネットの定義がジョブ定義DB205に格納された時のジョブネットの定義をジョブ定義DB205から取得する。次に、ジョブ管理GUI通信部203は、そのジョブネットの定義について所定の時点から指定された変更時点まで変更種別504と変更内容505から成る変更情報を履歴管理DB207の履歴管理テーブル501から取得する。そして、ジョブ管理GUI通信部203は、所定の時点から指定された変更時点に向けて、変更情報を1件ずつ順番に選択し、指定されたジョブネットの定義に選択した変更情報を反映して復元する(S104)ことを繰り返すとしてもよい。
【0036】
以上説明したように、本発明によれば、ジョブネットの定義の変更差分を可視化し、復元する定義の決定を支援することができる。すなわち、本発明によれば、変更前のジョブネットの定義を復元するとともにジョブネットの定義の変更差分を取得し、これらをGUI表示することで、実際にバックアップから復元する前に復元結果を確認することができる。
また、変更ポイントごとの稼働実績を表示することで、正常に稼働していたジョブネットかどうかが確認でき、迅速にシステムを再開できる。
さらに、稼働実績のないジョブネットについても、稼働実績のある部分とない部分の差分を取ることで、稼働させたときのジョブスケジューリング情報を予測できる。
【符号の説明】
【0037】
100…ジョブ管理システム、101A…ジョブ管理装置、101B…ジョブ管理GUI装置、101C〜101E…ジョブ実行装置、102…ジョブ管理マネージャー、103…ジョブ管理GUI、104…ジョブ実行エージェント、105…ネットワーク、111…CPU、112…メモリ、113…記憶部、114…入力部、115…表示部、201…ジョブ実行処理部、202…DBアクセス処理部、203…ジョブ管理GUI通信部、204…稼働情報算出部、205…ジョブ定義DB、206…実行結果情報DB、207…履歴管理DB、301…ジョブ、302…ジョブネット、303…RootNet、304…JobNetA、305…JobA、306…JobNetB、307…JobB、308…JobC
【特許請求の範囲】
【請求項1】
所定の時点のジョブネットの定義を記憶するジョブネット定義記憶手段と、
ジョブネットの定義が変更されるごとに、当該変更の内容を記憶する変更履歴記憶手段と、
前記ジョブネット定義記憶手段によって記憶されたジョブネットの定義と、前記変更履歴記憶手段によって記憶されたジョブネットの定義の変更の内容の履歴とに基づいて、指定された2つの時点における実行済のジョブネットの定義を復元するとともに、当該復元された2つのジョブネットの定義の差分を示す差分情報を求める差分取得手段と、
前記差分取得手段によって復元された2つのジョブネットの定義と差分情報とを出力する出力手段と、
を備えることを特徴とするジョブ管理システム。
【請求項2】
ジョブネットおよびジョブが実行されるごとに、当該実行されたジョブネットおよびジョブの実行の結果を記憶する実行結果記憶手段と、
前記実行結果記憶手段によって記憶されたジョブネットおよびジョブの実行の結果の履歴と、前記変更履歴記憶手段によって記憶されたジョブネットの変更の内容の履歴とに基づいて、指定された時刻における実行済のジョブネットの定義の稼働実績を示す稼働実績情報を求める稼働実績情報取得手段と、
を備え、
前記出力手段が、前記稼働実績情報取得手段によって求められた稼働実績情報を出力する、
ことを特徴とする請求項1に記載のジョブ管理システム。
【請求項3】
未実行のジョブネットの定義に最も近い時点の実行済みのジョブネットの定義を復元するジョブネット定義復元手段と、
前記ジョブネット定義復元手段によって復元されたジョブネットの定義と、前記実行結果記憶手段によって記憶されたジョブネットおよびジョブの実行の結果の履歴と、前記変更履歴記憶手段によって記憶されたジョブネットの変更の内容の履歴とに基づいて、前記未実行のジョブネットの定義の稼働予測を示す稼働予測情報を求める稼働予測情報取得手段と、
を備え、
前記出力手段が、前記稼働予測情報取得手段によって求められた稼働予測情報を出力する、
ことを特徴とする請求項2に記載のジョブ管理システム。
【請求項1】
所定の時点のジョブネットの定義を記憶するジョブネット定義記憶手段と、
ジョブネットの定義が変更されるごとに、当該変更の内容を記憶する変更履歴記憶手段と、
前記ジョブネット定義記憶手段によって記憶されたジョブネットの定義と、前記変更履歴記憶手段によって記憶されたジョブネットの定義の変更の内容の履歴とに基づいて、指定された2つの時点における実行済のジョブネットの定義を復元するとともに、当該復元された2つのジョブネットの定義の差分を示す差分情報を求める差分取得手段と、
前記差分取得手段によって復元された2つのジョブネットの定義と差分情報とを出力する出力手段と、
を備えることを特徴とするジョブ管理システム。
【請求項2】
ジョブネットおよびジョブが実行されるごとに、当該実行されたジョブネットおよびジョブの実行の結果を記憶する実行結果記憶手段と、
前記実行結果記憶手段によって記憶されたジョブネットおよびジョブの実行の結果の履歴と、前記変更履歴記憶手段によって記憶されたジョブネットの変更の内容の履歴とに基づいて、指定された時刻における実行済のジョブネットの定義の稼働実績を示す稼働実績情報を求める稼働実績情報取得手段と、
を備え、
前記出力手段が、前記稼働実績情報取得手段によって求められた稼働実績情報を出力する、
ことを特徴とする請求項1に記載のジョブ管理システム。
【請求項3】
未実行のジョブネットの定義に最も近い時点の実行済みのジョブネットの定義を復元するジョブネット定義復元手段と、
前記ジョブネット定義復元手段によって復元されたジョブネットの定義と、前記実行結果記憶手段によって記憶されたジョブネットおよびジョブの実行の結果の履歴と、前記変更履歴記憶手段によって記憶されたジョブネットの変更の内容の履歴とに基づいて、前記未実行のジョブネットの定義の稼働予測を示す稼働予測情報を求める稼働予測情報取得手段と、
を備え、
前記出力手段が、前記稼働予測情報取得手段によって求められた稼働予測情報を出力する、
ことを特徴とする請求項2に記載のジョブ管理システム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【公開番号】特開2013−77166(P2013−77166A)
【公開日】平成25年4月25日(2013.4.25)
【国際特許分類】
【出願番号】特願2011−216620(P2011−216620)
【出願日】平成23年9月30日(2011.9.30)
【出願人】(000233055)株式会社日立ソリューションズ (1,610)
【公開日】平成25年4月25日(2013.4.25)
【国際特許分類】
【出願日】平成23年9月30日(2011.9.30)
【出願人】(000233055)株式会社日立ソリューションズ (1,610)
[ Back to top ]