JP2011070364A - 運用管理サーバ、ロールバック実行方法およびロールバック実行プログラム - Google Patents
運用管理サーバ、ロールバック実行方法およびロールバック実行プログラム Download PDFInfo
- Publication number
- JP2011070364A JP2011070364A JP2009220347A JP2009220347A JP2011070364A JP 2011070364 A JP2011070364 A JP 2011070364A JP 2009220347 A JP2009220347 A JP 2009220347A JP 2009220347 A JP2009220347 A JP 2009220347A JP 2011070364 A JP2011070364 A JP 2011070364A
- Authority
- JP
- Japan
- Prior art keywords
- update
- rollback
- data
- update process
- management 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 291
- 238000012545 processing Methods 0.000 claims abstract description 40
- 230000002159 abnormal effect Effects 0.000 claims abstract description 33
- 230000006870 function Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 235000010627 Phaseolus vulgaris Nutrition 0.000 description 1
- 244000046052 Phaseolus vulgaris Species 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 230000033772 system development Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1438—Restarting or rejuvenating
Abstract
【課題】障害発生時にシステムの状態を障害発生前の状態に戻す。
【解決手段】JAVA(登録商標)を使用したアプリケーションの運用を管理する運用管理サーバ1であって、データ更新を伴うメソッドが呼び出された場合に更新の対象となる更新前データを取得し、メソッドに対応する更新処理を実行する更新処理実行部12と、更新処理が異常終了したか否かを判定する第1異常終了判定部13と、更新処理が異常終了した場合に更新処理の対象となっているデータを更新前データに戻す第1ロールバック部15と、データ更新を伴わないメソッドが呼び出された場合にこのメソッドに対応する操作処理を実行する操作処理実行部21と、操作処理が異常終了したか否かを判定する第2異常終了判定部22と、操作処理が異常終了した場合に操作処理が実行される前の状態に戻す第2ロールバック部24とを備える。
【選択図】図1
【解決手段】JAVA(登録商標)を使用したアプリケーションの運用を管理する運用管理サーバ1であって、データ更新を伴うメソッドが呼び出された場合に更新の対象となる更新前データを取得し、メソッドに対応する更新処理を実行する更新処理実行部12と、更新処理が異常終了したか否かを判定する第1異常終了判定部13と、更新処理が異常終了した場合に更新処理の対象となっているデータを更新前データに戻す第1ロールバック部15と、データ更新を伴わないメソッドが呼び出された場合にこのメソッドに対応する操作処理を実行する操作処理実行部21と、操作処理が異常終了したか否かを判定する第2異常終了判定部22と、操作処理が異常終了した場合に操作処理が実行される前の状態に戻す第2ロールバック部24とを備える。
【選択図】図1
Description
本発明は、運用管理サーバ、ロールバック実行方法およびロールバック実行プログラムに関する。
一般に、システムで障害が発生した場合には、ロールバックを実行してシステムの状態を障害発生前の状態に戻すことが行われている。下記特許文献1には、データベースの更新処理の途中で何らかの障害が発生した場合に、ロールバックを実行してデータベースの状態を更新処理の開始時点に戻す技術が開示されている。
ところで、オブジェクト指向プログラミング言語であるJAVA(登録商標)は、プラットフォームに依存することなくシステムを構築できることもあり、システム開発に多用されている。JAVA(登録商標)でシステムを構築する場合には、フレームワークとして一般にJava(登録商標) Management Extensions(以下、「JMX(登録商標)」という。)が用いられる。しかしながら、このJMXには、処理の途中で障害が発生した場合にシステムの状態を障害発生前の状態に戻す仕組みが実装されていない。そのため、JMXを利用するクライアント側でロールバックさせる処理を組み込む必要があり、開発者の作業負担が大きくなっている。
本発明は、上述した課題を解決するためになされたものであり、クライアント側でロールバックさせる処理を組み込むことなく、障害が発生時にシステムの状態を障害発生前の状態に戻すことができる運用管理サーバ、ロールバック実行方法およびロールバック実行プログラムを提供することを目的とする。
本発明の運用管理サーバは、オブジェクト指向プログラミング言語を使用したアプリケーションの運用を管理する運用管理サーバであって、データの更新を伴う第1のメソッドの呼び出し要求を受信した場合に、当該更新の対象となる更新前データを取得するメソッドを呼び出して当該更新前データを取得した後に、第1のメソッドを呼び出して当該第1のメソッドに対応する更新処理を実行する更新処理実行手段と、更新処理が異常終了したか否かを判定する第1の異常終了判定手段と、第1の異常終了判定手段によって更新処理が異常終了したと判定された場合に、更新処理の対象となっているデータを更新前データに戻すメソッドを呼び出す第1のロールバック手段と、データの更新を伴わない第2のメソッドの呼び出し要求を受信した場合に、当該第2のメソッドを呼び出して当該第2のメソッドに対応する操作処理を実行する操作処理実行手段と、操作処理が異常終了したか否かを判定する第2の異常終了判定手段と、第2の異常終了判定手段によって操作処理が異常終了したと判定された場合に、当該操作処理が実行される前の状態に戻すメソッドを呼び出す第2のロールバック手段と、を備える。
本発明のロールバック実行方法は、オブジェクト指向プログラミング言語を使用したアプリケーションの運用を管理するサーバで実行されるロールバック実行方法であって、データの更新を伴う第1のメソッドの呼び出し要求を受信した場合に、当該更新の対象となる更新前データを取得するメソッドを呼び出して当該更新前データを取得した後、第1のメソッドを呼び出して当該第1のメソッドに対応する更新処理を実行する更新処理実行ステップと、更新処理が異常終了したか否かを判定する第1の異常終了判定ステップと、更新処理が異常終了したと判定された場合に、更新処理の対象となっているデータを更新前データに戻すメソッドを呼び出す第1のロールバックステップと、データの更新を伴わない第2のメソッドの呼び出し要求を受信した場合に、当該第2のメソッドを呼び出して当該第2のメソッドに対応する操作処理を実行する操作処理実行ステップと、操作処理が異常終了したか否かを判定する第2の異常終了判定ステップと、操作処理が異常終了したと判定された場合に、当該操作処理が実行される前の状態に戻すメソッドを呼び出す第2のロールバックステップと、を含む。
本発明のロールバック実行プログラムは、上記ロールバック実行方法に含まれる各ステップをコンピュータに実行させる。
本発明によれば、クライアント側でロールバックさせる処理を組み込むことなく、障害が発生時にシステムの状態を障害発生前の状態に戻すことができる。
以下、添付図面を参照して、本発明に係る運用管理サーバ、ロールバック実行方法およびロールバック実行プログラムの好適な実施形態について説明する。
まず、図1を参照して、運用管理サーバの構成について説明する。運用管理サーバは、オブジェクト指向プログラミング言語であるJAVA(登録商標)によって生成されるオブジェクトを運用管理するサーバである。運用管理サーバには、JMXが実装されており、アプリケーションの管理・監視を行うオブジェクトであるMBean(Managed Bean)、およびMBeanの属性や操作に関する情報を管理するオブジェクトであるMBeanInfoが登録されている。MBeanInfoには、オブジェクトの属性や操作に関する情報に対するコメント等の補足情報を格納するためのディスクリプタ領域が設けられている。なお、本実施形態では、運用管理サーバにJMXが実装されている場合について説明するが、本発明はJMXが実装されていない運用管理サーバにも適用可能である。
図1を参照して、実施形態における運用管理サーバの機能構成について説明する。運用管理サーバ1は、第1ロールバック実行部10と、第2ロールバック実行部20と、を有する。運用管理サーバ1には、MBeanやMBeanInfoを含む各種のオブジェクトを記憶するオブジェクト記憶部30が設けられている。
第1ロールバック実行部10は、第1ロールバック要否判定部(第1のロールバック要否判定手段)11と、更新処理実行部(更新処理実行手段)12と、第1異常終了判定部(第1の異常終了判定手段)13と、データ判定部(データ判定手段)14と、第1ロールバック部(第1のロールバック手段)15と、を有する。第2ロールバック実行部20は、操作処理実行部(操作処理実行手段)21と、第2異常終了判定部(第2の異常終了判定手段)22と、第2ロールバック要否判定部(第2のロールバック要否判定手段)23と、第2ロールバック部(第2のロールバック手段)24と、を有する。
第1ロールバック要否判定部11は、オブジェクトの属性値(データ)を更新するためのsetterメソッドの呼び出し要求をクライアント端末2から受信した場合に、このsetterメソッドに対応する更新処理がロールバックを要する処理であるか否かを判定する。ロールバックを要する処理であるか否かは、ロールバックを要する処理であるか否かを示すロールバック要否情報に基づいて判定することができる。ロールバック要否情報は、setterメソッドを定義するオブジェクトのMBeanInfoに設けられたディスクリプタ領域に格納することができる。第1ロールバック要否判定部11が参照するロールバック要否情報としては、例えば、ロールバック要否情報の識別名を”rollback”とし、その値として“true”または“false”のいずれか一方を格納することができる。この値は、例えばtrue/falseフラグを利用して格納することができる。なお、フレームワークとしてとしてJMXを用いる場合には、setterメソッドをpublic指定することが好ましい。
具体的に、第1ロールバック要否判定部11は、setterメソッドの呼び出し要求を受信した場合に、setterメソッドに対応するオブジェクトのMBeanInfoに設けられたディスクリプタ領域から識別名”rollback”の値を取得する。第1ロールバック要否判定部11は、識別名”rollback”の値が“true”である場合には、setterメソッドに対応する更新処理がロールバックを要する処理であると判定する。一方、第1ロールバック要否判定部11は、識別名”rollback”の値が“false”である場合には、setterメソッドに対応する更新処理がロールバックを要しない処理であると判定する。
なお、ロールバックの要否判定を行う際の条件は、setterメソッドが呼び出された場合には限定されない。データの更新を伴うメソッド(第1のメソッド)が呼び出された場合に、ロールバックの要否判定を行うことができればよい。
更新処理実行部12は、第1ロールバック要否判定部11によって、setterメソッドに対応する更新処理がロールバックを要する処理であると判定された場合に、更新処理の対象となるオブジェクトの属性値を取得するためのgetterメソッドを呼び出す。このgetterメソッドを呼び出すことで、更新処理の対象となる属性に設定されている更新前データを取得することができる。更新処理実行部12は、取得した更新前データをメモリに一時的に記憶させる。なお、フレームワークとしてとしてJMXを用いる場合には、getterメソッドをpublic指定することが好ましい。
更新処理実行部12は、更新前データを取得した後に、クライアント端末2から呼び出し要求されたsetterメソッドを呼び出す。このsetterメソッドを呼び出すことで、更新処理を実行することができる。
第1異常終了判定部13は、更新処理実行部12によって実行されている更新処理が異常終了したか否かを判定する。
データ判定部14は、第1異常終了判定部13によって更新処理が異常終了したと判定された場合に、更新処理の対象となっていたオブジェクトの属性値を取得するためのgetterメソッドを呼び出し。このgetterメソッドを呼び出すことで、更新処理の対象になっていた更新データを取得することができる。
データ判定部14は、取得した更新データが、更新処理実行部12によってメモリに記憶させられた更新前データと異なるか否かを判定する。
第1ロールバック部15は、データ判定部14によって更新データが更新前データと異なると判定された場合に、setterメソッドの引数に更新前データを設定し、このsetterメソッドを呼び出す。setterメソッドを呼び出すことで、更新処理の対象となるデータを更新前データに戻すことができる。すなわち、ロールバックを行うことができる。
操作処理実行部21は、オブジェクトの操作を実行するためのメソッドとして、例えばstartメソッドの呼び出し要求をクライアント端末2から受信した場合に、このstartメソッドに対応する操作処理を実行する。なお、操作処理を実行する際の条件は、startメソッドが呼び出された場合には限定されない。例えばファイルのアップロードやモジュールのロード等、データの更新(例えば、属性の更新)を伴わないメソッド(第2のメソッド)が呼び出された場合に、操作処理を実行することができればよい。ただし、操作処理中に属性を更新する処理を含むメソッドについては、上述したデータの更新を伴うメソッドに含めてもよい。
第2異常終了判定部22は、例えばstartメソッドがクライアント端末2から呼び出された場合に、このstartメソッドに対応する操作処理が異常終了したか否かを判定する。
第2ロールバック要否判定部23は、第2異常終了判定部22によって操作処理が異常終了したと判定された場合に、ロールバック要否情報に基づいて、この操作処理がロールバックを要する処理であるか否かを判定する。ロールバック要否情報は、例えばstartメソッドを定義するオブジェクトのMBeanInfoに設けられたディスクリプタ領域に格納することができる。第2ロールバック要否判定部23が参照するロールバック要否情報としては、例えば、ロールバック要否情報の識別名を”rollbackMethod”とし、その値として操作処理を打ち消すメソッド、言い換えるとシステムの状態を操作処理が実行される前の状態に戻すメソッドを格納することができる。操作処理が実行される前の状態に戻すメソッドとしては、例えば、実行される操作処理のメソッドがstartメソッドである場合には、start操作が実行される前の状態に戻すことができるstopメソッドが該当する。また、実行される操作処理のメソッドがファイルのアップロードメソッドである場合には、ファイルのアップロード操作が実行される前の状態に戻すことができるファイル削除メソッドが該当する。
具体的に、第2ロールバック要否判定部23は、操作処理が異常終了した場合に、startメソッドに対応するオブジェクトのMBeanInfoに設けられたディスクリプタ領域から識別名”rollbackMethod”の値を取得する。第2ロールバック要否判定部23は、識別名”rollbackMethod”の値を取得することができた場合には、startメソッドに対応する操作処理がロールバックを要する処理であると判定する。一方、第2ロールバック要否判定部23は、識別名”rollbackMethod”の値を取得することができなかった場合には、startメソッドに対応する操作処理がロールバックを要しない処理であると判定する。
第2ロールバック部24は、第2ロールバック要否判定部23によって、操作処理がロールバックを要する処理であると判定された場合に、識別名”rollbackMethod”の値として格納されているメソッドを呼び出す。
上述した第1ロールバック実行部10および第2ロールバック実行部20が有する各部の機能は、オブジェクト記憶部30に格納される共有オブジェクトの共有メソッドを実行することで実現することができる。共有メソッドは、オブジェクト記憶部30に記憶されている各オブジェクト(共有オブジェクトを除く)のメソッドが呼び出された場合に実行されるメソッドである。
このように、第1ロールバック実行部10および第2ロールバック実行部20が有する各部の機能を、共有オブジェクトの共有メソッドを実行させて実現することで、障害発生前の状態に戻すためのロールバック処理を、オブジェクト(MBean)ごとに独自に組み込む手間を省くことができる。これにより、開発者の作業負担を軽減させることが可能となる。また、オブジェクトごとに独自にロールバック処理を組み込む場合には、開発者が一部の処理を組み込み忘れることも考えられ、この場合には、障害発生時にデータの整合性が失われるおそれがある。これに対して、本発明では、共有メソッドを定義した共有オブジェクトを登録することで、ロールバック処理の組み込み作業を省略することができる。これにより、障害発生時のデータの整合性も確保することが可能となる。
ここで、運用管理サーバ1は、物理的には、例えば、CPUと、メモリと、入出力インターフェースとを含んで構成される。メモリには、例えば、CPUで処理されるプログラムやデータを記憶するROMやHDDと、主として制御処理のための各種作業領域として使用されるRAMとが含まれる。これらの要素は、互いにバスを介して接続されている。CPUが、ROMに記憶されたプログラムを実行し、入出力インターフェースを介して受信される各種のメッセージや、RAMに展開された各種のデータを用いて処理することで、上述した運用管理サーバ1における各部の機能を実現することができる。
次に、図面を参照して、本実施形態における運用管理サーバの動作について説明する。
まず、図2および図3を参照して、オブジェクトの属性値を更新する際の動作について説明する。図2は、オブジェクトの属性値を更新する際の処理手順を示すフローチャートである。図3は、オブジェクトの属性値を更新する際の処理内容の一例(ロールバックに成功した例)を模式的に示した図である。
最初に、クライアント端末2からオブジェクトの属性値を更新するためのsetterメソッドの呼び出し要求を受信した場合(ステップS101)に、運用管理サーバ1の第1ロールバック要否判定部11は、MBeanInfoを参照して、setterメソッドに対応する更新処理がロールバックを要する処理であるか否かを判定する(ステップS102)。この判定がNOである場合(ステップS102;NO)には、後述するステップS105に処理を移行する。
一方、上記ステップS102の判定でsetterメソッドに対応する更新処理がロールバックを要する処理であると判定された場合(ステップS102;YES)に、更新処理実行部12は、更新処理の対象となるオブジェクトの属性値を取得するためのgetterメソッドを呼び出して、更新前データを取得する(ステップS103)。更新処理実行部12は、取得した更新前データをメモリに記憶させる(ステップS104)。
続いて、更新処理実行部12は、上記ステップS101で要求されたsetterメソッドを呼び出して、setterメソッドに対応する更新処理を実行する(ステップS105)。
続いて、第1異常終了判定部13は、更新処理実行部12によって実行されている更新処理が異常終了したか否かを判定する(ステップS106)。この判定がNOの場合(ステップS106;NO)には、この処理手順を終了する。
一方、上記ステップS106の判定で更新処理が異常終了したと判定された場合(ステップS106;YES)であって、かつ更新処理がロールバックを要する処理である場合(ステップS107;YES)に、データ判定部14は、更新処理の対象となっていたオブジェクトの属性値を取得するためのgetterメソッドを呼び出して、更新処理の対象になっていた更新データを取得する(ステップS109)。
続いて、データ判定部14は、上記ステップS109で取得された更新データが、上記ステップS104で記憶された更新前データと異なるか否かを判定する(ステップS110)。この判定がNOである場合(ステップS110;NO)には、ロールバックが正常に行われたことを示すロールバック済メッセージを発行し(ステップS111)、この処理手順を終了する。このロールバック済メッセージには、クライアント端末2から要求されたsetterメソッドに対応する更新処理が行われなかったことを示すメッセージも含まれる。
一方、上記ステップS110の判定で更新データが更新前データと異なると判定された場合(ステップS110;YES)に、第1ロールバック部15は、setterメソッドの引数に更新前データを設定し、このsetterメソッドを呼び出す(ステップS112)。これにより、更新処理の対象となるデータを更新前データに戻すことができる。
続いて、上記ステップS112で呼び出したsetterメソッドが正常終了した場合(ステップS113;YES)には、ロールバック済メッセージを発行し(ステップS114)、この処理手順を終了する。一方、上記ステップS112で呼び出したsetterメソッドが異常終了した場合(ステップS113;NO)には、クライアント端末2から要求されたsetterメソッドに対応する更新処理が異常終了したことを示すエラーメッセージを発行し(ステップS115)、この処理手順を終了する。このエラーメッセージの代わりに、ロールバックに失敗したことを示すメッセージを発行することとしてもよい。
次に、図4および図5を参照して、オブジェクトの操作処理を実行する際の動作について説明する。図4は、オブジェクトの操作処理を実行する際の処理手順を示すフローチャートである。図5は、オブジェクトの操作処理を実行する際の処理内容の一例(ロールバックに成功した例)を模式的に示した図である。
最初に、クライアント端末2からオブジェクトの操作を実行するためのメソッドとして、例えばstartメソッドの呼び出し要求を受信した場合(ステップS201)に、運用管理サーバ1の操作処理実行部21は、startメソッドを呼び出して、startメソッドに対応する操作処理を実行する(ステップS202)。
第2異常終了判定部22は、startメソッドに対応する操作処理が異常終了したか否かを判定する(ステップS203)。この判定がNOである場合(ステップS203;NO)には、この処理手順を終了する。
一方、上記ステップS203の判定でstartメソッドに対応する操作処理が異常終了したと判定された場合(ステップS203;YES)に、第2ロールバック要否判定部23は、MBeanInfoを参照して、startメソッドに対応する操作処理がロールバックを要する処理であるか否かを判定する(ステップS204)。この判定がNOである場合(ステップS204;NO)には、クライアント端末2から要求されたstartメソッドに対応する操作処理が異常終了したことを示すエラーメッセージを発行し(ステップS205)、この処理手順を終了する。
一方、上記ステップS204の判定で操作処理がロールバックを要する処理であると判定された場合(ステップS204;YES)に、第2ロールバック部24は、MBeanInfoを参照して、stopメソッドを呼び出す(ステップS206)。このstopメソッドが正常終了することで、startメソッドに対応する操作処理が実行される前の状態に戻すことができる。
続いて、上記ステップS206で呼び出したstopメソッドが正常終了した場合(ステップS207;YES)には、ロールバックが正常に行われたことを示すロールバック済みメッセージを発行し(ステップS208)、この処理手順を終了する。一方、上記ステップS206で呼び出したstopメソッドが異常終了した場合(ステップS207;NO)には、クライアント端末2から要求されたstartメソッドに対応する操作処理が異常終了したことを示すエラーメッセージを発行し(ステップS209)、この処理手順を終了する。このエラーメッセージの代わりに、ロールバックに失敗したことを示すメッセージを発行することとしてもよい。
上述してきたように、実施形態における運用管理サーバ1によれば、データの更新を伴うメソッドが呼び出され、その更新処理が異常終了した場合には、更新処理の対象となっているデータを更新前データに戻すメソッドを呼び出すことができ、データの更新処理を含まないメソッドが呼び出され、その操作処理が異常終了した場合には、システムの状態を操作処理が実行される前の状態に戻すメソッドを呼び出すことができる。これにより、障害発生時にロールバックすることができるため、障害が発生した場合であってもシステムの状態を障害発生前の状態に戻すことができる。
また、ロールバック処理を行う共有メソッドを定義した共有オブジェクトを登録することで、オブジェクトごとに障害発生時のロールバック処理を組み込む必要がなくなるため、開発者の作業負担を軽減させることができ、障害発生時のデータの整合性を確保することができる。
なお、上述した実施形態は、単なる例示に過ぎず、実施形態に明示していない種々の変形や技術の適用を排除するものではない。すなわち、本発明は、その趣旨を逸脱しない範囲で様々な形態に変形して実施することができる。
最後に、上述した実施形態において説明した運用管理サーバ1は、図1に示す各要素を備えているが、運用管理サーバ1は、必ずしもこれら全ての要素を備える必要はない。例えば、運用管理サーバ1は、少なくとも、更新処理実行部12と、第1異常終了判定部13と、第1ロールバック部15と、操作処理実行部21と、第2異常終了判定部22と、第2ロールバック部24と、を備えることとしてもよい。
1…運用管理サーバ、2…クライアント端末、10…第1ロールバック実行部、11…第1ロールバック要否判定部、12…更新処理実行部、13…第1異常終了判定部、14…データ判定部、15…第1ロールバック部、20…第2ロールバック実行部、21…操作処理実行部、21…異常終了判定部、22…第2異常終了判定部、23…第2ロールバック要否判定部、24…第2ロールバック部、30…オブジェクト記憶部。
Claims (6)
- オブジェクト指向プログラミング言語を使用したアプリケーションの運用を管理する運用管理サーバであって、
データの更新を伴う第1のメソッドの呼び出し要求を受信した場合に、当該更新の対象となる更新前データを取得するメソッドを呼び出して当該更新前データを取得した後、前記第1のメソッドを呼び出して当該第1のメソッドに対応する更新処理を実行する更新処理実行手段と、
前記更新処理が異常終了したか否かを判定する第1の異常終了判定手段と、
前記第1の異常終了判定手段によって前記更新処理が異常終了したと判定された場合に、前記更新処理の対象となっているデータを前記更新前データに戻すメソッドを呼び出す第1のロールバック手段と、
データの更新を伴わない第2のメソッドの呼び出し要求を受信した場合に、当該第2のメソッドを呼び出して当該第2のメソッドに対応する操作処理を実行する操作処理実行手段と、
前記操作処理が異常終了したか否かを判定する第2の異常終了判定手段と、
前記第2の異常終了判定手段によって前記操作処理が異常終了したと判定された場合に、当該操作処理が実行される前の状態に戻すメソッドを呼び出す第2のロールバック手段と、
を備えることを特徴とする運用管理サーバ。 - 前記第1のメソッドの呼び出し要求を受信した場合に、当該第1のメッソッドに対応する更新処理がロールバックを要する処理であるか否かを判定する第1のロールバック要否判定手段を、さらに備え、
前記更新処理実行手段は、前記第1のロールバック要否判定手段によって前記更新処理がロールバックを要する処理であると判定された場合に、当該更新処理の対象となる更新前データを取得するメソッドを呼び出して当該更新前データを取得し、
前記第1のロールバック手段は、前記第1のロールバック要否判定手段によって前記更新処理がロールバックを要する処理であると判定され、かつ、前記第1の異常終了判定手段によって前記更新処理が異常終了したと判定された場合に、前記更新処理の対象となっているデータを前記更新前データに戻すメソッドを呼び出す
ことを特徴とする請求項1記載の運用管理サーバ。 - 前記第1の異常終了判定手段によって前記更新処理が異常終了したと判定された場合に、前記更新処理の対象になっていた更新データを取得するメソッドを呼び出して当該更新データを取得し、当該取得した更新データが、前記更新処理実行手段によって取得された前記更新前データと異なるか否かを判定するデータ判定手段を、さらに備え、
前記第1のロールバック手段は、前記データ判定手段によって前記更新データが前記更新前データと異なると判定された場合に、前記更新処理の対象となっているデータを前記更新前データに戻すメソッドを呼び出すことを特徴とする請求項1または2記載の運用管理サーバ。 - 前記第2の異常終了定手段によって前記操作処理が異常終了したと判定された場合に、当該操作処理がロールバックを要する処理であるか否かを判定する第2のロールバック要否判定手段を、さらに備え、
前記第2のロールバック手段は、前記第2のロールバック要否判定手段によって、前記操作処理がロールバックを要する処理であると判定された場合に、当該操作処理が実行される前の状態に戻すメソッドを呼び出すことを特徴とする請求項1〜3のいずれか1項に記載の運用管理サーバ。 - オブジェクト指向プログラミング言語を使用したアプリケーションの運用を管理するサーバで実行されるロールバック実行方法であって、
データの更新を伴う第1のメソッドの呼び出し要求を受信した場合に、当該更新の対象となる更新前データを取得するメソッドを呼び出して当該更新前データを取得した後、前記第1のメソッドを呼び出して当該第1のメソッドに対応する更新処理を実行する更新処理実行ステップと、
前記更新処理が異常終了したか否かを判定する第1の異常終了判定ステップと、
前記更新処理が異常終了したと判定された場合に、前記更新処理の対象となっているデータを前記更新前データに戻すメソッドを呼び出す第1のロールバックステップと、
データの更新を伴わない第2のメソッドの呼び出し要求を受信した場合に、当該第2のメソッドを呼び出して当該第2のメソッドに対応する操作処理を実行する操作処理実行ステップと、
前記操作処理が異常終了したか否かを判定する第2の異常終了判定ステップと、
前記操作処理が異常終了したと判定された場合に、当該操作処理が実行される前の状態に戻すメソッドを呼び出す第2のロールバックステップと、
を含むことを特徴とするロールバック実行方法。 - 請求項5に記載の各ステップをコンピュータに実行させるためのロールバック実行プログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009220347A JP2011070364A (ja) | 2009-09-25 | 2009-09-25 | 運用管理サーバ、ロールバック実行方法およびロールバック実行プログラム |
US12/882,676 US20110078657A1 (en) | 2009-09-25 | 2010-09-15 | Operation management server, rollback execution method, and rollback execution program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009220347A JP2011070364A (ja) | 2009-09-25 | 2009-09-25 | 運用管理サーバ、ロールバック実行方法およびロールバック実行プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011070364A true JP2011070364A (ja) | 2011-04-07 |
Family
ID=43781744
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009220347A Pending JP2011070364A (ja) | 2009-09-25 | 2009-09-25 | 運用管理サーバ、ロールバック実行方法およびロールバック実行プログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US20110078657A1 (ja) |
JP (1) | JP2011070364A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109785041A (zh) * | 2018-12-13 | 2019-05-21 | 深圳平安财富宝投资咨询有限公司 | 基于分布式的订单执行方法、装置、设备及可读存储介质 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102696205B (zh) * | 2010-01-06 | 2015-03-04 | 日本电气株式会社 | 通信控制系统和通信控制方法 |
US9426932B2 (en) | 2013-03-13 | 2016-08-23 | Silicon Graphics International Corp. | Server with heat pipe cooling |
US9612920B2 (en) * | 2013-03-15 | 2017-04-04 | Silicon Graphics International Corp. | Hierarchical system manager rollback |
US9152327B2 (en) | 2013-05-28 | 2015-10-06 | Netapp, Inc. | System and method for detecting failure of storage object images on a storage system and initiating a cleanup procedure |
US9152340B2 (en) | 2013-05-28 | 2015-10-06 | Netapp, Inc. | System and method for managing and producing a dataset image across multiple storage systems |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62233860A (ja) * | 1986-04-03 | 1987-10-14 | Nippon Telegr & Teleph Corp <Ntt> | デ−タベ−スのロ−ルバツク方式 |
JPH09204336A (ja) * | 1996-01-29 | 1997-08-05 | Fujitsu Ltd | トランザクション管理方法 |
JP2001344142A (ja) * | 2000-05-31 | 2001-12-14 | Nec Corp | マルチプログラム処理装置及びそれに用いるファイルのロールバック方式 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5872990A (en) * | 1997-01-07 | 1999-02-16 | International Business Machines Corporation | Reordering of memory reference operations and conflict resolution via rollback in a multiprocessing environment |
JP2001005614A (ja) * | 1999-06-25 | 2001-01-12 | Hitachi Ltd | ディスク装置およびサーバ装置 |
US6721944B2 (en) * | 2000-05-31 | 2004-04-13 | Sun Microsystems, Inc. | Marking memory elements based upon usage of accessed information during speculative execution |
WO2004072816A2 (en) * | 2003-02-07 | 2004-08-26 | Lammina Systems Corporation | Method and apparatus for online transaction processing |
US7559060B2 (en) * | 2003-06-10 | 2009-07-07 | National Instruments Corporation | Time-bounded program execution |
US20060136555A1 (en) * | 2004-05-21 | 2006-06-22 | Bea Systems, Inc. | Secure service oriented architecture |
-
2009
- 2009-09-25 JP JP2009220347A patent/JP2011070364A/ja active Pending
-
2010
- 2010-09-15 US US12/882,676 patent/US20110078657A1/en not_active Abandoned
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62233860A (ja) * | 1986-04-03 | 1987-10-14 | Nippon Telegr & Teleph Corp <Ntt> | デ−タベ−スのロ−ルバツク方式 |
JPH09204336A (ja) * | 1996-01-29 | 1997-08-05 | Fujitsu Ltd | トランザクション管理方法 |
JP2001344142A (ja) * | 2000-05-31 | 2001-12-14 | Nec Corp | マルチプログラム処理装置及びそれに用いるファイルのロールバック方式 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109785041A (zh) * | 2018-12-13 | 2019-05-21 | 深圳平安财富宝投资咨询有限公司 | 基于分布式的订单执行方法、装置、设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US20110078657A1 (en) | 2011-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7908521B2 (en) | Process reflection | |
JP2011070364A (ja) | 運用管理サーバ、ロールバック実行方法およびロールバック実行プログラム | |
JP5705871B2 (ja) | 分散された永続性インスタンスに対するロックの解決 | |
CN110750315B (zh) | Android系统中的类加载方法、装置、设备和存储介质 | |
US20090228879A1 (en) | Direct deployment of static content | |
US8103905B2 (en) | Detecting and recovering from process failures | |
CN113434180B (zh) | 应用的数据处理方法、装置、服务器和存储介质 | |
CN113946427A (zh) | 用于多操作系统的任务处理方法、处理器及存储介质 | |
US9727381B2 (en) | Image forming apparatus and resource management method | |
CN107305507B (zh) | 死锁控制方法和装置 | |
CN110716943A (zh) | 缺失数据补录方法、装置、计算机设备及存储介质 | |
JP4882291B2 (ja) | モジュール更新プログラム | |
CN112988277B (zh) | 规则文件加载方法、装置、服务器及介质 | |
JP2009271858A (ja) | 計算機システム及びプログラム | |
CN115202898A (zh) | 消息消费方法、装置、计算机设备和存储介质 | |
US10140155B2 (en) | Dynamically provisioning, managing, and executing tasks | |
CN116893834B (zh) | 负载更新方法、装置、系统、电子设备及可读存储介质 | |
CN108536438B (zh) | 处理用户行为数据的打点模块、方法及计算机可读介质 | |
EP3070610B1 (en) | Information processing device, control method thereof, and recording medium | |
US20220164219A1 (en) | Processing system, processing method, higher-level system, lower-level system, higher-level program, and lower-level program | |
CN115794416B (zh) | 基于Storm和Nacos的数据热切换方法和装置 | |
JP5158153B2 (ja) | モジュール更新プログラム | |
JP2006011801A (ja) | モジュール更新プログラム | |
JP2006092057A (ja) | プロセスの強制終了処理方法 | |
CN112256358A (zh) | 一种对象控制方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120810 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130826 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20140331 |