JP5738133B2 - 縮退処理装置、縮退処理システム、縮退処理装置の縮退処理方法および縮退処理プログラム - Google Patents

縮退処理装置、縮退処理システム、縮退処理装置の縮退処理方法および縮退処理プログラム Download PDF

Info

Publication number
JP5738133B2
JP5738133B2 JP2011196845A JP2011196845A JP5738133B2 JP 5738133 B2 JP5738133 B2 JP 5738133B2 JP 2011196845 A JP2011196845 A JP 2011196845A JP 2011196845 A JP2011196845 A JP 2011196845A JP 5738133 B2 JP5738133 B2 JP 5738133B2
Authority
JP
Japan
Prior art keywords
business
flow
data
degenerate
failure
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.)
Expired - Fee Related
Application number
JP2011196845A
Other languages
English (en)
Other versions
JP2013058126A (ja
Inventor
政志 五十嵐
政志 五十嵐
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2011196845A priority Critical patent/JP5738133B2/ja
Publication of JP2013058126A publication Critical patent/JP2013058126A/ja
Application granted granted Critical
Publication of JP5738133B2 publication Critical patent/JP5738133B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Retry When Errors Occur (AREA)
  • Hardware Redundancy (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本発明は、例えば、障害発生時に縮退の業務処理を行う縮退処理装置、縮退処理システム、縮退処理装置の縮退処理方法および縮退処理プログラムに関するものである。
情報システムには、システムに障害が発生した場合にBCP(Business Continuity Plan)などに従って必要最低限の業務を継続させるため、システムの構成を切替えて必要最低限の業務を継続させるフェイルソフト(業務縮退)という要件がある。
従来、アプリケーションの障害を検知すると、再配置ポリシーや最適配置ポリシーの設定に従い、障害を検知したアプリケーションと同一のアプリケーションを別の計算機に移動していた。
しかし、アプリケーションを別計算機に移動する際に、障害を検知したアプリケーションを別のアプリケーションに置き換えることができない。このため、アプリケーションの機能の一部を障害に応じて変更して業務縮退することができない。
また、障害を検知したときに処理中だった業務データに対する業務処理を途中から継続することができない。このため、処理中だった業務データに対する業務処理は最初やり直さなければいけない。
特開2005−100387号公報
本発明は、例えば、障害が発生した場合、複数の業務処理で構成される業務フローを少なくとも一部の業務処理が異なる縮退フローに変更できるようにすることを目的とする。
本発明の縮退処理装置は、
複数の業務処理で構成される特定の業務フローの業務処理毎に、当該業務処理で障害が発生した場合に前記特定の業務フローの代わりに実行する業務フローを縮退フローとして特定する縮退フロー情報を記憶する縮退フロー情報記憶部と、
前記特定の業務フローを実行する業務フロー実行部と、
前記特定の業務フローのいずれかの業務処理で障害が発生した場合、障害が発生した業務処理に対応する縮退フロー情報を前記縮退フロー情報記憶部から取得する縮退フロー情報取得部とを備え、
前記業務フロー実行部は、前記縮退フロー情報取得部によって取得された縮退フロー情報によって特定される縮退フローを前記特定の業務フローの代わりに実行する。
本発明によれば、例えば、障害が発生した場合、複数の業務処理で構成される業務フローを少なくとも一部の業務処理が異なる縮退フローに変更することができる。これにより、業務フローの処理を縮退フローに従って継続することができる。
実施の形態1における分散システム100の概要図。 実施の形態1における計算機200の機能構成図。 実施の形態1における業務フローPnの一例を示す図。 実施の形態1における障害ルール対応表291の一例を示す図。 実施の形態1における縮退フローPxの一例を示す図。 実施の形態1における分散システム100のサービス構成変更方法を示すフローチャート。 実施の形態1における計算機200のハードウェア資源の一例を示す図。 実施の形態2における計算機200の機能構成図。 実施の形態2における障害ルール対応表291の一例を示す図。 実施の形態2における業務フローPnの一例を示す図。 実施の形態2におけるチェックポイントデータ129による業務データ(タスク変数)の回復の流れを示す図。 実施の形態2における分散システム100のサービス構成変更方法を示すフローチャート。 実施の形態3(実施例1)における障害ルール対応表291と縮退フローP0とを示す図。 実施の形態3(実施例2)における障害ルール対応表291と縮退フローP0とを示す図。 実施の形態3(実施例3)における障害ルール対応表291とルックアップテーブル294と縮退フローP0’とを示す図。 実施の形態3(実施例4)のおける障害ルール対応表291と縮退フローP0’とを示す図。
実施の形態1.
特定の業務フローを構成する業務処理で障害が発生した場合に、特定の業務フローの代わりに特定の業務フローと異なる業務処理を含んだ縮退フローを実行して業務データを処理する形態について説明する。
図1は、実施の形態1における分散システム100の概要図である。
実施の形態1における分散システム100の概要について、図1に基づいて説明する。
分散システム100(縮退処理システムの一例)は、計算機200Aと計算機200B(それぞれ、縮退処理装置の一例)と通信サーバ110とを備える。
計算機200Aと計算機200Bと通信サーバ110とは、インターネットやローカルエリアネットワーク(LAN)などのネットワークを介して通信を行う。
計算機200Aと計算機200Bとは、業務フロー定義ファイル292に定義された業務フローに従って業務データを連携して処理する。業務フロー定義ファイル292の内容は計算機200Aと計算機200Bとで同じである。
業務フローは、処理順が決められた複数の業務処理から構成される。
業務フローを構成するいずれかの業務処理で障害が発生した場合、計算機200Aと計算機200Bとは、後述する障害ルール対応表291に基づいて障害に対応する縮退フローを選択し、選択した縮退フローに従って業務データを処理する。障害ルール対応表291の内容は計算機200Aと計算機200Bとで同じである。
縮退フローは、障害が発生した場合に障害が発生していない正常時の業務フローの代わりに実行する障害時の業務フローである。
例えば、計算機200Bと通信サーバ110との間で通信障害が発生した場合、正常時の業務フローを構成する複数の業務処理のうち計算機200Bと通信サーバ110との間で通信を行う必要がある業務処理が障害となる。以下、障害が発生した業務処理を「障害処理」という。
この場合、計算機200Bは障害処理を示す障害イベントを計算機200Aに通知し、計算機200Aと計算機200Bとは障害処理の代替となる業務処理(代替処理)を含んだ縮退フローを選択し、選択した縮退フローに従って業務データを処理する。
但し、分散システム100は、3台以上の計算機200が連携したシステムであっても構わないし、計算機200の台数が1台であるシステムであっても構わない。
また、分散システム100は、計算機200および通信サーバ110以外の装置を備えても構わないし、通信サーバ110を備えなくても構わない。
図2は、実施の形態1における計算機200の機能構成図である。
実施の形態1における計算機200の機能構成について、図2に基づいて説明する。
計算機200(縮退処理装置の一例)は、複数の業務アプリ実行部210と、障害監視部220、障害ルール解釈部230と、トークン切替部240と、データマッピング部241とサービス制御部250と、計算機間連携部260と、計算機記憶部290とを備える。
計算機記憶部290(縮退フロー情報記憶部の一例)は、計算機200で使用するデータやプログラムを記憶する。
障害ルール対応表291、業務フロー定義ファイル292、マップアプリ293、業務アプリ298、トークン299は、計算機記憶部290に記憶されるデータまたはプログラムの一例である。
障害ルール対応表291(縮退フロー情報の一例)は、複数の業務処理で構成される特定の業務フロー(正常時の業務フロー)の業務処理毎に縮退フロー情報を示すデータである。縮退フロー情報は、当該業務処理で障害が発生した場合に前記特定の業務フローの代わりに実行する業務フロー(異常時の業務フロー)を縮退フローとして特定する情報である。
例えば、障害ルール対応表291は、前記特定の業務フローを構成する複数の業務処理を組み合わせた業務処理の組み合わせ毎に縮退フロー情報を示す。
障害ルール対応表291は、さらに、前記特定の業務フローを構成する複数の業務処理を組み合わせた業務処理の組み合わせ毎に業務データの変換方法を特定するデータ変換情報(マップアプリ293を特定する情報)を示す。
業務フロー定義ファイル292は、複数の業務フロー(縮退フローを含む)を定義したデータであって、業務フロー毎に業務フローを構成する複数の業務処理を特定する業務フロー定義(縮退フロー定義の一例)を含んだデータである。
マップアプリ293は、業務データのデータ形式やデータ値を変換する変換方法のアルゴリズムを表すプログラムである。
マップアプリ293は、特定の業務データを入力し、入力した業務データを所定の変換方法で変換し、変換した業務データを出力する。
業務アプリ298は、業務処理のアルゴリズムを表すプログラムである。
業務アプリ298は、業務データを入力し、入力した業務データを所定の処理方法(業務処理)に従って処理し、処理した業務データを出力する。
但し、障害が発生した場合、業務アプリ298は、発生した障害の情報を出力する。
トークン299は、業務データを含んだデータである。業務データは1つ又は複数のデータを含んだデータである。以下、業務データに含まれるデータを「個別データ」という。
例えば、トークン299は、業務データの他に、業務データを処理する業務フローを識別する情報や、業務データを処理する(または直前に処理した)業務処理を識別する情報、実行する(または直前に実行した)処理ステップのステップ番号などの処理情報を含む。
業務アプリ実行部210は、所定の業務アプリ298を実行して所定の業務処理で業務データを処理する。
サービス制御部250(業務フロー実行部の一例)は、複数の業務アプリ実行部210を制御して特定の業務フロー(正常時の業務フロー)を実行する。
つまり、サービス制御部250は、特定の業務フローを構成する複数の業務処理に対応する複数の業務アプリ実行部210(業務アプリ298)を実行する。
障害ルール解釈部230(縮退フロー情報取得部の一例)は、特定の業務フローのいずれかの業務処理で障害が発生した場合、障害が発生した業務処理に対応する縮退フロー情報を障害ルール対応表291から取得する。
障害ルール解釈部230は、さらに、前記障害の発生時に処理されていた業務データ毎に業務データを処理していた業務処理と障害が発生した業務処理(障害処理)との組み合わせに対応する縮退フロー情報を業務データの縮退フロー情報として障害ルール対応表291から取得する。
障害ルール解釈部230は、さらに、前記障害の発生時に処理されていた業務データ毎に業務データを処理していた業務処理と障害が発生した業務処理との組み合わせに対応するデータ変換情報を業務データのデータ変換情報として障害ルール対応表291から取得する。
データマッピング部241(業務データ変換部の一例)は、前記障害の発生時に処理されていた業務データ毎に業務データのデータ変換情報によって特定される変換方法に従って業務データを変換する。
つまり、データマッピング部241は、業務データのデータ変換情報によって特定されるマップアプリ293を実行して業務データを変換する。
サービス制御部250は、特定の業務フローのいずれかの業務処理で障害が発生した場合、障害ルール解釈部230によって取得された縮退フロー情報によって特定される縮退フローを特定の業務フローの代わりに実行する。
つまり、サービス制御部250は、縮退フローを構成する複数の業務処理に対応する複数の業務アプリ実行部210(業務アプリ298)を実行する。
例えば、サービス制御部250は、以下のように縮退フローに従って業務データを処理する。
サービス制御部250は、障害の発生時に処理されていた業務データ毎に業務データの縮退フロー情報によって特定される縮退フローに従って業務データを処理する。
サービス制御部250は、データマッピング部241によって変換された業務データを処理する。
障害監視部220は、業務処理の障害が発生したか否かを監視する。
例えば、障害監視部220は、業務アプリ298の出力が障害情報である場合に業務処理の障害が発生したことを検出する。
また、障害監視部220は、他の計算機200から障害イベントが通知された場合に他の計算機200の業務処理で障害が発生したことを検出する。
トークン切替部240は、業務処理の障害が発生した場合に縮退フローに合わせてトークン299の処理情報を更新する。
計算機間連携部260は、他の計算機200と通信を行う。
例えば、計算機間連携部260は、業務データや障害イベントを他の計算機200と通信する。
以下、特定の業務フロー(正常時の業務フロー)を単に「業務フロー」といい、「Pn」で記す。また、縮退フロー(異常時の業務フロー)を「Px」(xは整数)で記す。
業務フローPnまたは縮退フローPxを構成する業務処理または業務処理に対応する業務アプリ298を小文字のアルファベット「a,b,c,・・・」で記す。
業務アプリ*(*は小文字のアルファベット)を実行する業務アプリ実行部210を「(*)」で記す。
図3は、実施の形態1における業務フローPnの一例を示す図である。
実施の形態1における業務フローPnの一例について、図3に基づいて説明する。但し、実施の形態1における業務フローPnは図3に示す業務フローに限られるものではない。
業務フローPnは5つの業務アプリa,b,c,d,eで構成され、業務アプリ298の処理順は「a→b→c→d→e」である。
また、業務アプリa,e,dは計算機200Aで実行され、業務アプリb,cは計算機200Bで実行される。
業務フローPnを定義した業務フロー定義は、業務フロー定義ファイル292に予め設定する。
また、業務フローPnを定義した業務フロー定義は、各計算機200A・Bの所定の記憶領域に予め記憶する。以下、業務フローPnの業務フロー定義が予め記憶される記憶領域を「フロー定義領域」という。
1つまたは複数のトークン299(業務データ)が発生した場合、計算機200Aのサービス制御部250は、フロー定義領域に記憶された業務フロー定義に従って以下のように動作する。
サービス制御部250は、最初の業務アプリaを実行するために業務アプリ実行部(a)(タスク、プロセスともいう)を起動し、起動した業務アプリ実行部(a)にトークン299を入力する。
業務アプリ実行部(a)は、業務アプリaを実行してトークン299に含まれる業務データを処理し、処理した業務データを含めたトークン299を出力する。
サービス制御部250は、業務アプリ実行部(a)を停止し、業務アプリ実行部(a)から出力されたトークン299を計算機間連携部260を介して計算機200Bへ送信する。
計算機200Bのサービス制御部250は、計算機間連携部260を介してトークン299を受信する。
サービス制御部250は、フロー定義領域に記憶された業務フロー定義に従って以下のように動作する。
サービス制御部250は、次の業務アプリbを実行するために業務アプリ実行部(b)を起動し、受信したトークン299を業務アプリ実行部(b)に入力する。
業務アプリ実行部(b)は、業務アプリbを実行して業務データを処理し、処理した業務データを含めたトークン299を出力する。
サービス制御部250は、業務アプリ実行部(b)を停止し、次の業務アプリcを実行するために業務アプリ実行部(c)を起動し、業務アプリ実行部(b)から出力されたトークン299を業務アプリ実行部(c)に入力する。
業務アプリ実行部(c)は、業務アプリcを実行して業務データを処理し、処理した業務データを含めたトークン299を出力する。
サービス制御部250は、業務アプリ実行部(c)を停止し、業務アプリ実行部(c)から出力されたトークン299を計算機間連携部260を介して計算機200Aへ送信する。
計算機200Aのサービス制御部250は、計算機間連携部260を介してトークン299を受信する。
サービス制御部250は、フロー定義領域に記憶された業務フロー定義に従って以下のように動作する。
サービス制御部250は、次の業務アプリdを実行するために業務アプリ実行部(d)を起動し、受信したトークン299を業務アプリ実行部(d)に入力する。
業務アプリ実行部(d)は、業務アプリdを実行して業務データを処理し、処理した業務データを含めたトークン299を出力する。
サービス制御部250は、業務アプリ実行部(d)を停止し、最後の業務アプリeを実行するために業務アプリ実行部(e)を起動し、業務アプリ実行部(d)から出力されたトークン299を業務アプリ実行部(e)に入力する。
業務アプリ実行部(e)は、業務アプリeを実行して業務データを処理し、処理した業務データを含めたトークン299を出力する。
サービス制御部250は、業務アプリ実行部(e)を停止する。
図4は、実施の形態1における障害ルール対応表291の一例を示す図である。
実施の形態1における障害ルール対応表291の一例について、図4に基づいて説明する。但し、実施の形態1における障害ルール対応表291は図4に示す障害ルール対応表291に限られるものではない。
障害ルール対応表291は、データ項目として「切替前位置」「障害」「(切替後)フロー」「(切替後)位置」「収集対象」「マップアプリ」を有する。
「切替前位置」は、“新規”または業務アプリのアプリ名(“a”,“b”,“c”,・・・)を示す。
「障害」は、障害内容を識別する障害名を示す。以下、業務アプリ*(*は小文字のアルファベット)で発生した障害の障害名を「E*」で記す。例えば、障害名Ebは業務アプリbで発生した障害を識別する。
「(切替後)フロー」(縮退フロー情報の一例)は、縮退フローを識別するフロー名Pxを示す。
「(切替後)位置」は、縮退フローを構成する業務アプリ298のうち最初に実行する業務アプリ*を識別するアプリ名(処理名)「*」を示す。
「収集対象」は、マップアプリ293に入力する業務データを示す。以下、業務アプリ*で処理した業務データを「D*」で記す。
「マップアプリ」(データ変換情報の一例)は、マップアプリ293を識別するアプリ名を示す。以下、マップアプリ293を「M#」(#は小文字のアルファベット)で記す。
例えば、マップアプリMcは、業務データDbと業務データDcとを入力し、入力した業務データDb,Dcを所定の変換処理で変換し、変換して得られた業務データを縮退フローP2の業務アプリb’で処理する業務データとして出力する。
図5は、実施の形態1における縮退フローPxの一例を示す図である。
実施の形態1における縮退フローPxの一例について、図5に基づいて説明する。但し、実施の形態1における縮退フローPxは図5に示す縮退フローPxに限られるものではない。
各縮退フローPxを定義した業務フロー定義(縮退フロー定義)は、業務フロー定義ファイル292に予め設定する。
ここで、業務フローPnの業務アプリbで障害が発生したものとする。
この場合、新たな業務データまたは業務アプリaで実行されていた業務データを処理するための縮退フローとして図4の障害ルール対応表291に基づいて縮退フローP1が選択される。切替前位置「新規」「a」と障害「Eb」とに対応する(切替後)フローが「P1」だからである。
同様に、業務アプリb,cで実行されていた業務データを処理するための縮退フローとして縮退フローP2が選択される。
また、業務アプリdで実行されていた業務データを処理するための縮退フローとして縮退フローP3が選択され、業務アプリeで実行されていた業務データを処理するための縮退フローとして縮退フローP4が選択される。
例えば、障害が発生した業務アプリbは業務データを通信サーバ110へ送信する処理であり、業務アプリbの次に実行される業務アプリcは業務データを送信したことを示すフラグを所定のデータベースに設定する処理である。
縮退フローP1は、業務処理bを含まず、業務アプリcの代わりに業務アプリc’を含む。業務アプリc’は、処理した業務データを送信できなかったことを示すフラグをデータベースに設定する処理である。いずれの業務処理も計算機Aで実行される。
縮退フローP2は、業務アプリaを含まず、業務アプリb,cの代わりに業務アプリb’を含む。業務アプリb’は、業務データ自体に障害が発生しているかもしれないため、処理する業務データを復元するリカバリ処理と処理した業務データを送信できなかったことを示すフラグをデータベースに設定する処理とを含んだ処理である。業務アプリb’は計算機Bで実行され、業務アプリd,eは計算機Aで実行される。
縮退フローP3は業務アプリa−cを含まずに業務アプリd’を含み、縮退フローP4は業務アプリa−dを含まずに業務アプリd’を含む。業務アプリd’は、処理する業務データが障害の影響を受けていない業務データであることを示すフラグをデータベースに設定する処理である。いずれの業務処理も計算機Aで実行される。
但し、各業務処理は、上記の処理以外の処理であっても構わない。
図6は、実施の形態1における分散システム100のサービス構成変更方法を示すフローチャートである。
実施の形態1における分散システム100のサービス構成変更方法(縮退処理方法の一例)について、図6に基づいて説明する。
各計算機200A・Bは、以下に説明する処理をCPU(Central Processing Unit)や通信機器などのハードウェア資源を用いて実行する。
S110において、計算機200Aの障害監視部220は、計算機200Aを監視し、計算機200Aで実行されている業務アプリ298の障害の発生を検出する。
計算機200Bの障害監視部220は、計算機200Bを監視し、計算機200Bで実行されている業務アプリ298の障害の発生を検出する。
例えば、業務アプリ298の障害が発生した場合、障害が発生した業務アプリ298を実行していた業務アプリ実行部210は、障害が発生した業務アプリ298を特定する障害名を含んだ障害情報を出力する。障害監視部220は、業務アプリ実行部210から障害情報が出力されるか否かを監視し、障害の発生を示す情報として障害情報を検出する。
ここで、計算機200Bの業務アプリ298(例えば、図5の業務処理b)で障害が発生し、計算機200Bの障害監視部220が障害の発生を検出したものとする。
S110の後、S120に進む。
S120において、計算機200Bの障害監視部220は、障害が発生した業務アプリ298を特定する障害名などの障害情報を含んだデータを障害の発生を示す「障害イベント」として生成する。
計算機200Bの計算機間連携部260は、障害監視部220によって生成された障害イベントを計算機200Aへ送信する。
計算機200Aの計算機間連携部260は、計算機200Bから送信された障害イベントを受信する。
S120の後、S130に進む。
S130において、業務アプリ298を実行中の各業務アプリ実行部210が処理中のトークン299に対する業務処理を終了した場合、各計算機200A・Bのサービス制御部250は、各業務アプリ実行部210を停止する。
但し、サービス制御部250は、次の業務アプリ298を実行するための業務アプリ実行部210を実行しない。
つまり、サービス制御部250は、各トークン299に対して業務フローPnの実行を停止する。
S130の後、S140に進む。
S140において、計算機200Bの障害ルール解釈部230は、障害監視部220によって検出された障害情報に含まれる障害名(S110参照)に対応する縮退情報を障害ルール対応表291から取得する。
計算機200Aの障害ルール解釈部230は、障害イベント(S120参照)に含まれる障害名に対応する縮退情報を障害ルール対応表291から取得する。
例えば、障害名が「Eb」である場合、各計算機200A・Bの障害ルール解釈部230は、図4に示した障害ルール対応表291から切替前位置「新規」の縮退情報として(切替後)フロー「P1」、(切替後)位置「a」を取得する。
さらに、各障害ルール解釈部230は、切替前位置「a」の縮退情報として(切替後)フロー「P1」、(切替後)位置「c’」、収集対象「Da」、マップアプリ「Ma」を取得する。
同様に、各障害ルール解釈部230は、切替前位置「b」「c」「d」「e」の縮退情報を取得する。
S140の後、S150に進む。
S150において、各計算機200A・Bのトークン切替部240は、業務フローPnを構成する各業務アプリ298で処理されていたトークン299を収集する。
例えば、各計算機200A・Bのトークン切替部240は、他方の計算機200の業務アプリ298で処理されていたトークン299を計算機間連携部260を介して収集する。
S150の後、S160に進む。
S160において、各計算機200A・Bの障害ルール解釈部230は、収集されたトークン299毎にトークン299の縮退情報を障害ルール対応表291から取得する。
トークン299の縮退情報は、障害発生時にトークン299を処理していた業務アプリ298と障害が発生した業務アプリ298とに対応する障害ルール対応表291のデータである。
例えば、障害発生時にトークン299を処理していた業務アプリ298が「a」であり、障害が発生した業務アプリ298が「b」である場合、(切替前)位置「a」と障害「Eb」とに対応するデータ(P1,c’,Da,Ma)がトークン299の縮退情報である(図4参照)。
各計算機200A・Bのトークン切替部240は、収集したトークン299毎にトークン299の処理情報を縮退情報に基づいて更新する。
例えば、各計算機200A・Bのトークン切替部240は、業務アプリaで処理されていたトークン299の処理情報(フロー名、アプリ名など)をトークン299の縮退情報に基づいて以下のように更新する。
トークン切替部240は、トークン299のフロー名「Pn」をトークン299の縮退情報に含まれる(切替後)フロー「P1」に更新する。
トークン切替部240は、トークン299のアプリ名「a」をトークン299の縮退情報に含まれる(切替後)位置「c’」に更新する。
各計算機200A・Bのデータマッピング部241は、収集されたトークン299毎にトークン299の業務データをトークン299の縮退情報に基づいて変換する。
例えば、各計算機200のトークン切替部240は、業務アプリ「a」で処理されていたトークン299の業務データ「Da」をトークン299の縮退情報で特定されるマップアプリ「Ma」を実行して変換する。
S160の後、S170に進む。
S170において、各計算機200A・Bのサービス制御部250は、フロー定義領域に記憶されている業務フローPnの業務フロー定義をS140で取得された縮退情報に基づいて縮退フローの業務フロー定義に更新する。以下、縮退フローの業務フロー定義を「縮退フロー定義」という。
例えば、切替前位置「新規」「a」の縮退フローのフロー名が「P1」であり、切替前位置「b」「c」の縮退フローのフロー名が「P2」であり、切替前位置「d」の縮退フローのフロー名が「P3」であり、切替前位置「e」の縮退フローのフロー名が「P4」であるものとする。
この場合、各計算機200A・Bのサービス制御部250は、縮退フロー「P1」「P2」「P3」「P4」それぞれの縮退フロー定義を業務フロー定義ファイル292から取得する。サービス制御部250は、フロー定義領域に記憶されている業務フローPnの業務フロー定義を4つの縮退フロー定義(P1、P2、P3、P4)に更新する。
S170の後、S180に進む。
S180において、各計算機200A・Bのサービス制御部250は、フロー定義領域に記憶されている各縮退フロー定義に従って各業務アプリ実行部210を起動し、縮退フローの実行を開始する。
例えば、サービス制御部250は、以下のように動作する。
サービス制御部250は、S160で更新されたトークン299毎に、トークン299に含まれるフロー名を参照し、参照したフロー名で識別される縮退フローをトークン299を処理する縮退フローとして判定する。
サービス制御部250は、トークン299に含まれるアプリ名を参照し、参照したアプリ名で識別される業務アプリ298を実行するために業務アプリ実行部210を起動し、起動した業務アプリ実行部210にトークン299を入力する。
以後、サービス制御部250は、判定した縮退フローの処理順に従って業務アプリ実行部210を起動してトークン299を縮退フローで処理する。
ここで、「トークン299」は、障害発生時に同じ業務アプリ実行部210によって処理されていた「複数のトークン299」に置き換えてもよい。
縮退フローの実行方法は、業務フローの実行方法(図3の説明を参照)と同様である。
S180により、サービス構成変更方法の処理は終了する。
以上により、業務フローの業務処理で障害が発生した場合、分散システム100は、業務フローで実行していたトークン299および新たな業務フローを縮退フローによって処理することができる。
図7は、実施の形態1における計算機200のハードウェア資源の一例を示す図である。
図7において、計算機200(コンピュータの一例)は、CPU901(Central Processing Unit)を備えている。CPU901は、バス902を介してROM903、RAM904、通信装置905、ディスプレイ911(表示装置)、キーボード912、マウス913、ドライブ装置914、磁気ディスク装置920などのハードウェアデバイスと接続され、これらのハードウェアデバイスを制御する。ドライブ装置914は、FD(Flexible Disk Drive)、CD(Compact Disc)、DVD(Digital Versatile Disc)などの記憶媒体を読み書きする装置である。
ROM903、RAM904、磁気ディスク装置920およびドライブ装置914は記憶装置の一例である。キーボード912およびマウス913は入力装置の一例である。ディスプレイ装置911は出力装置の一例である。
通信装置905は、有線または無線で、LAN(Local Area Network)、インターネット、電話回線などの通信網に接続している。
通信装置905は、入力装置または出力装置の一例である。
磁気ディスク装置920には、OS921(オペレーティングシステム)、プログラム群922、ファイル群923が記憶されている。
プログラム群922には、実施の形態において「〜部」として説明する機能を実行するプログラムが含まれる。プログラム(例えば、縮退処理プログラム)は、CPU901により読み出され実行される。すなわち、プログラムは、「〜部」としてコンピュータを機能させるものであり、また「〜部」の手順や方法をコンピュータに実行させるものである。
ファイル群923には、実施の形態において説明する「〜部」で使用される各種データ(入力、出力、判定結果、計算結果、処理結果など)が含まれる。
実施の形態において構成図およびフローチャートに含まれている矢印は主としてデータや信号の入出力を示す。
フローチャートなどに基づいて説明する実施の形態の処理はCPU901や記憶装置や通信装置などのハードウェアを用いて実行される。
実施の形態において「〜部」として説明するものは「〜回路」、「〜装置」、「〜機器」であってもよく、また「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明するものは、ファームウェア、ソフトウェア、ハードウェアまたはこれらの組み合わせのいずれで実装されても構わない。
実施の形態1において、例えば、以下のような効果を奏する分散システム100について説明した。
分散システム100は、正常時の業務フローを縮退時の業務フローに置き換えることにより、業務フローから一部の業務処理(サービス)を削除したり、業務フローを構成する業務処理を変更したりすることができる。
分散システム100は、障害発生時に実行していた業務処理に応じて縮退時の業務フローを選択し、業務データを縮退時の業務フロー用のデータに変換する。これにより、分散システム100は、正常時の業務フローで処理されていた処理中の業務データを縮退時の業務フローで引き続き処理することができる。
実施の形態1において、分散システム100は、ESB(Enterprise Service Bus)ミドルウェアやBPM(Business Process Management)ミドルウェアなどのサービス実行基盤を用いて業務縮退を実現するシステムとして構成することができる。
サービス実行基盤は、SOA(Service Oriented Architecture)における基本ミドルウェアである。計算機200の業務アプリ298やその他の機能はサービス実行基盤上で実行される。サービス実行基盤に処理要求があると、業務フロー定義に従った処理順で業務アプリ298が起動され、最後に要求元へ結果が返される。
実施の形態2.
業務フローの所定の業務処理が終了したときに業務データを保存し、その後の業務処理で障害が発生した場合に保存した業務データを用いた縮退フローを実行する形態について説明する。
以下、実施の形態1と異なる事項について主に説明する。説明を省略する事項については実施の形態1と同様である。
図8は、実施の形態2における計算機200の機能構成図である。
実施の形態2における計算機200の機能構成について、図8に基づいて説明する。
計算機200は、実施の形態1で説明したデータマッピング部241の代わりに、チェックポイント保存部242とチェックポイント回復部243とを備える。
チェックポイント保存部242は、特定の業務フローを構成する複数の業務処理のうちチェックポイントとして予め定められる業務処理の実行が終了したときにチェックポイントで処理された業務データをチェックポイントDB120(DB:データベース)に保存する。以下、チェックポイントで処理された業務データを含んだデータを「チェックポイントデータ129」という。
チェックポイント回復部243は、特定の業務フローを構成するいずれかの業務処理で障害が発生した場合、チェックポイントDB120からチェックポイントデータ129を取得する。
サービス制御部250は、チェックポイント回復部243によって取得されたチェックポイントデータ129に含まれる業務データを業務アプリ実行部210によって処理する。
チェックポイントDB120(所定のチェックポイント保存装置の一例)は、チェックポイントデータ129を保存する記憶装置である。
チェックポイントDB120は、各計算機200A・Bからアクセスされる。
以下、業務データを設定する変数を「タスク変数」という。
トークン299には業務データの代わりにタスク変数の変数名が含まれ、チェックポイントデータ129にはタスク変数名に対応付けてタスク変数に設定された変数値(業務データ)が含まれる。
計算機200は、タスク変数API(アプリケーションインタフェース)を備える(図示省略)。
トークン299が発生した場合、タスク変数APIは、タスク変数定義に基づいてトークン毎にタスク変数を生成する。つまり、タスク変数はトークン毎に管理される。タスク変数定義はタスク変数の変数名やデータ型を設定したデータであり、計算機記憶部290に予め記憶する(図示省略)。
図9は、実施の形態2における障害ルール対応表291の一例を示す図である。
図8、図9に示すように、実施の形態2ではマップアプリ293は不要である。但し、実施の形態1と同様にマップアプリ293を用いても構わない。
図10は、実施の形態2における業務フローPnの一例を示す図である。
図10に示すように、業務フローPnを構成する業務アプリa−eのうち業務アプリbがチェックポイントである。
したがって、業務アプリbの実行終了時に業務アプリbで処理されたトークン299がチェックポイントデータ129としてチェックポイントDB120に記憶される。
業務アプリbがチェックポイントであることは、業務フローPnの業務フロー定義に予め設定する。
また、業務アプリcで障害が発生したときに業務アプリcで処理していたトークン299の処理を継続するための縮退フローを「P3」とする。
縮退フローP3は、計算機200Aで業務アプリ298を「b’→d→e」の順で実行する処理手順である。
図11は、実施の形態2におけるチェックポイントデータ129による業務データ(タスク変数)の回復の流れを示す図である。
実施の形態2におけるチェックポイントデータ129による業務データ(タスク変数)の回復の流れについて、図11に基づいて説明する。
図10に示した業務フローPnに従って、まず、計算機200Aの業務アプリ実行部210が業務アプリaを実行する。業務アプリaを実行後のタスク変数Var1(文字列)の値は“aaa”であり、タスク変数Var2(整数)の値は“20”である。各タスク変数の値はトークン299毎に設けるメモリ内の記憶領域に設定される。以下、トークン299毎に設ける記憶領域を「タスク領域201」という。
計算機200Aと計算機200Bとは、トークン299の他にタスク領域201の各タスク変数を通信し、互いにタスク領域201の同期をとる。
つまり、計算機200Bは計算機200Aによって処理されたタスク変数に対して処理を行い、計算機200Aは計算機200Bによって処理されたタスク変数に対して処理を行う。
次に、計算機200Bの業務アプリ実行部210が業務アプリbを実行する。業務アプリbを実行後のタスク変数Var1の値は“bb”であり、タスク変数Var2の値は“10”である。
計算機200Bのチェックポイント保存部242は、業務アプリbを実行後のタスク変数Var“bb”とタスク変数Var2“10”をチェックポイントDB120にチェックポイントデータ129として記憶する。
次に、計算機200Bの業務アプリ実行部210が業務アプリcを実行する。ここで、業務アプリcに障害が発生したものとする。
各計算機A・Bのチェックポイント回復部243は、チェックポイントDB120からチェックポイントデータ129を取得し、取得したチェックポイントデータ129に含まれるタスク変数Var1“bb”とタスク変数Var2“10”とをタスク領域201に設定する。これにより、タスク領域201は、業務アプリbを実行後の状態に回復する。
以後、縮退フローP3に従って、計算機200Aの各業務アプリ実行部210が業務アプリb’,d,eを実行して回復後のタスク領域201のタスク変数を処理する。
図12は、実施の形態2における分散システム100のサービス構成変更方法を示すフローチャートである。
実施の形態2における分散システム100のサービス構成変更方法について、図12に基づいて説明する。
ここで、チェックポイントである業務アプリ298の実行が終了した場合、当該業務アプリ298を実行した計算機200のチェックポイント保存部242は、チェックポイントDB120にチェックポイントデータ129を保存しているものとする。
つまり、チェックポイント保存部242は、当該業務アプリ298で処理されたトークン299の各タスク変数をチェックポイントデータ129としてタスク領域201からチェックポイントDB120に退避する。
サービス構成変更方法の処理は、実施の形態1(図6参照)で説明したS160の代わりに、S161を含む。
その他の処理(S110−S150、S170、S180)は実施の形態1と同様である。
S161において、各計算機200A・Bのトークン切替部240は、収集したトークン299毎にトークン299の処理情報を縮退情報(S140参照)に基づいて更新する。更新方法は、実施の形態1のS160と同様である。
さらに、各計算機200A・Bのチェックポイント回復部243は、チェックポイントDB120からチェックポイントデータ129を取得する。
チェックポイント回復部243は、収集されたトークン299毎にチェックポイントデータ129でタスク領域201のタスク変数を回復する(図11参照)。
これにより、分散システム100は、回復後のタスク変数に対して縮退フローに従って業務処理を継続することができる。
必要に応じて、各業務アプリ298に実施の形態1で説明したマップアプリ293の機能を設けてもよい。この場合、各業務アプリ298はタスク変数を変換し、変換後のタスク変数を処理する。
実施の形態2において、例えば、以下のような効果を奏する分散システム100について説明した。
分散システム100は、チェックポイント回復機能によって業務データ(タスク変数)を自動的に回復することにより、障害発生時に各計算機200からトークン299を収集する必要が無い。また、縮退フローを回復後の業務データに対応したものにすれば、分散システム100は業務データを回復するため、マップアプリ293によって業務データを変換する必要が無い。つまり、マップアプリ293を開発が不要になる。
実施の形態3.
1つの縮退フロー定義で複数の縮退フローを表す形態について説明する。
以下、実施の形態1、2と異なる事項について主に説明する。説明を省略する事項については実施の形態1、2と同様である。
<実施例1>
計算機200の機能構成は、実施の形態1(図2参照)と同様である。
但し、障害ルール対応表291は、特定の業務フローを構成する複数の業務処理を組み合わせた業務処理の組み合わせ毎に縮退フローを構成する複数の業務処理のうち実行不要な業務処理をスキップ処理として特定するスキップ処理情報(後述する「(切替後)スキップ」)を含む。
障害ルール解釈部230は、障害の発生時に処理されていた業務データ毎に業務データを処理していた業務処理と障害が発生した業務処理との組み合わせに対応するスキップ処理情報を業務データのスキップ処理情報として障害ルール対応表291から取得する。
サービス制御部250は、障害の発生時に処理されていた業務データ毎に業務データの縮退フローに基づいて業務データを処理する。例えば、サービス制御部250は、業務データの縮退フローを構成する複数の業務処理のうち業務データのスキップ処理情報によって特定されるスキップ処理を除いた残りの業務処理で業務データを処理する。
図13は、実施の形態3(実施例1)における障害ルール対応表291と縮退フローP0とを示す図である。
実施の形態3(実施例1)における障害ルール対応表291と縮退フローP0とについて、図13に基づいて説明する。
障害ルール対応表291は、実施の形態1(図4参照)で説明した項目に加えて、「(切替後)スキップ」を有する。
「(切替後)スキップ」は、縮退フローP0を構成する業務アプリ298のうち実行しない業務アプリ298のアプリ名を示す。
例えば、縮退フローP0が「a→b→c’→d→e」であり、(切替後)スキップが「b,d」である場合、サービス制御部250は、縮退フローP0から業務アプリb,dを除外して縮退フローP0’「a→c’→e」を生成し、生成した縮退フローP0’を実行する。
<実施例2>
計算機200の機能構成は、実施の形態1(図2参照)と同様である。
但し、業務フロー定義ファイル292は、少なくとも一部の業務処理が共通する複数の縮退フローを定義した縮退フロー定義を含む。縮退フロー定義は、複数の縮退フローに共通する業務処理を共通処理として示し、縮退フロー毎に縮退フローを識別するフローラベルに対応付けて他の縮退フローと共通しない業務処理を個別処理として示す。
障害ルール対応表291は、特定の業務フローを構成する複数の業務処理を組み合わせた業務処理の組み合わせ毎にフローラベル(後述する「(切替後)ラベル」)を含む。
障害ルール解釈部230は、障害の発生時に処理されていた業務データ毎に業務データを処理していた業務処理と障害が発生した業務処理との組み合わせに対応するフローラベルを業務データのフローラベルとして障害ルール対応表291から取得する。
サービス制御部250は、障害の発生時に処理されていた業務データ毎に共通処理と業務データのフローラベルに対応する個別処理とによって業務データを処理する。
図14は、実施の形態3(実施例2)における障害ルール対応表291と縮退フローP0とを示す図である。
実施の形態3(実施例2)における障害ルール対応表291と縮退フローP0とについて、図14に基づいて説明する。
縮退フローP0は、ラベル「La」で識別される個別処理「a→b」と、ラベル「Lb」で識別される個別処理「a→f」と、ラベル「Lc」で識別される個別処理「a→g」と、全てのラベルで共通する共通処理「c’→d→e」とで構成される。
つまり、縮退フローP0の縮退フロー定義は個別処理と共通処理とを組み合わせた3つの縮退フローを表す。3つの縮退フローは、ラベル「La」で識別される縮退フロー「a→b→c’→d→e」、ラベル「Lb」で識別される縮退フロー「a→f→c’→d→e」、ラベル「Lc」で識別される縮退フロー「a→g→c’→d→e」である。
障害ルール対応表291は、実施の形態1(図4参照)で説明した項目に加えて、「(切替後)ラベル」を有する。
「(切替後)ラベル」は、縮退フローP0の縮退フロー定義に含まれる3つの縮退フローから選択する縮退フローを識別するラベル名を示す。
例えば、(切替後)ラベルが「La」である場合、サービス制御部250は、縮退フローP0からラベル「La」で識別される縮退フローを選択して縮退フローP0’「a→b→c’→d→e」を生成し、生成した縮退フローP0’を実行する。
<実施例3>
計算機200の機能構成は、実施の形態1(図2参照)と同様である。
但し、業務フロー定義ファイル292は、少なくとも一部の業務処理が共通する複数の縮退フローを定義した縮退フロー定義を含む。縮退フロー定義は、複数の縮退フローに共通する業務処理を共通処理として示し、縮退フロー毎に縮退フローを識別するフローラベルに対応付けて他の縮退フローと共通しない業務処理を個別処理として示す。
計算機記憶部290(ルックアップテーブル記憶部の一例)は、特定の業務データに設定されるデータ値と特定のフローラベルとを対応付けたルックアップテーブル294を記憶する。
障害ルール対応表291は、特定の業務フローを構成する複数の業務処理を組み合わせた業務処理の組み合わせ毎に所定の個別データを識別するデータ名(後述する「(切替後)タスク変数」)を含む。
障害ルール解釈部230は、障害の発生時に処理されていた業務データ毎に業務データを処理していた業務処理と障害が発生した業務処理との組み合わせに対応するデータ名を業務データの個別データ名として障害ルール対応表291から取得する。
サービス制御部250(フローラベル取得部の一例)は、障害の発生時に処理されていた業務データ毎に業務データの個別データ名によって識別される個別データのデータ値を判定する。サービス制御部250は、判定したデータ値に対応するフローラベルを業務データのフローラベルとしてルックアップテーブル294から取得する。
サービス制御部250は、障害の発生時に処理していた業務データ毎に共通処理と業務データのフローラベルに対応する個別処理とによって業務データを処理する。
図15は、実施の形態3(実施例3)における障害ルール対応表291とルックアップテーブル294と縮退フローP0’とを示す図である。
実施の形態3(実施例3)における障害ルール対応表291とルックアップテーブル294と縮退フローP0’とについて、図15に基づいて説明する。
縮退フローP0(図示省略)の縮退フロー定義は、実施例2と同じく、複数(3つ)の縮退フローを含む(図14参照)。
障害ルール対応表291は、実施の形態1(図4参照)で説明した項目に加えて、「(切替後)タスク変数」を有する。
「(切替後)タスク変数」は、トークン299に含まれる特定のタスク変数を識別する変数名を示す。
ルックアップテーブル294は、「タスク変数」「変数値」「ラベル」を対応付けたデータである。
「タスク変数」は、トークン299に含まれる特定のタスク変数を識別する変数名を示す。
「変数値」は、タスク変数の値を示す。
「ラベル」は、縮退フローP0の縮退フロー定義に含まれる3つの縮退フローから選択する縮退フローを識別するラベル名を示す。
例えば、(切替後)タスク変数が「Da」であり、タスク変数Daの変数値が「x」である場合、サービス制御部250は、タスク変数「Da」と変数値「x」とに対応するラベル名「La」をマップアプリ293から取得する。
サービス制御部250は、縮退フローP0(図14参照)からラベル名「La」で識別される縮退フローを選択して縮退フローP0’「a→b→c’→d→e」を生成し、生成した縮退フローP0’を実行する。
<実施例4>
計算機200の機能構成は、実施の形態1(図2参照)と同様である。
但し、業務フロー定義ファイル292は、少なくとも一部の業務処理が共通する複数の縮退フローを定義した縮退フロー定義を含む。縮退フロー定義は、複数の縮退フローに共通する業務処理を共通処理として示し、縮退フロー毎に縮退フローを識別するフローラベルに対応付けて他の縮退フローと共通しない業務処理を個別処理として示す。
計算機記憶部290は、特定の業務データに設定されるデータ値を入力して入力したデータ値に予め対応付けられたフローラベルを出力するラベル決定スクリプト295(フローラベル出力プログラムの一例)を記憶する。
障害ルール対応表291は、特定の業務フローを構成する複数の業務処理を組み合わせた業務処理の組み合わせ毎に所定の個別データを識別するデータ名(後述する「(切替後)タスク変数」)を含む。
障害ルール解釈部230は、障害の発生時に処理されていた業務データ毎に業務データを処理していた業務処理と障害が発生した業務処理との組み合わせに対応するデータ名を業務データの個別データ名として障害ルール対応表291から取得する。
サービス制御部250(フローラベル出力部の一例)は、障害の発生時に処理されていた業務データ毎に業務データの個別データ名によって識別される個別データのデータ値を判定する。サービス制御部250は、判定したデータ値に対応するフローラベルを業務データのフローラベルとしてラベル決定スクリプト295を実行して取得する。
サービス制御部250は、障害の発生時に処理していた業務データ毎に共通処理と業務データのフローラベルに対応する個別処理とによって業務データを処理する。
図16は、実施の形態3(実施例4)のおける障害ルール対応表291と縮退フローP0’とを示す図である。
実施の形態3(実施例4)のおける障害ルール対応表291と縮退フローP0’とについて、図16に基づいて説明する。
縮退フローP0(図示省略)の縮退フロー定義は、実施例2と同じく、複数(3つ)の縮退フローを含む(図14参照)。
障害ルール対応表291は、実施の形態1(図4参照)で説明した項目に加えて、「(切替後)タスク変数」を有する。
「(切替後)タスク変数」は、トークン299に含まれる特定のタスク変数を識別する変数名を示す。
ラベル決定スクリプト295は、タスク変数の変数名と変数値とを入力し、入力したタスク変数の変数名と変数値とに対応する所定のラベル名を出力するプログラムである。
例えば、(切替後)タスク変数が「Da」であり、タスク変数Daの変数値が「x」である場合、サービス制御部250は、タスク変数「Da」と変数値「x」とをラベル決定スクリプト295の入力としてラベル決定スクリプト295を実行する。
ラベル決定スクリプト295からラベル名「La」が出力された場合、サービス制御部250は、縮退フローP0(図14参照)からラベル名「La」で識別される縮退フローを選択して縮退フローP0’「a→b→c’→d→e」を生成し、生成した縮退フローP0’を実行する。
実施例1から実施例4を組み合わせても構わない。
例えば、障害ルール対応表291の「切替前位置」や「障害」に応じて適用する実施例が異なってもよい。
つまり、縮退前位置「新規」の縮退フローは実施例1と同様に(切替後)スキップに従って決定し、縮退前位置「a」の縮退フローは実施例2と同様に(切替後)ラベルに従って決定してもよい。縮退前位置「b」の縮退フローは実施例3と同様に(切替後)タスク変数とマップアプリ293とに従って決定し、縮退前位置「c」の縮退フローは実施例4と同様に(切替後)タスク変数とラベル決定スクリプト295とに従って決定してもよい。
実施例1と実施例2−4を組み合わせても構わない。
つまり、実施例2−4のいずれかと同様にラベル名を判定し、実施例1と同様に(切替後)スキップを判定し、ラベル名で識別される縮退フローから(切替後)スキップで識別される業務アプリ298を削除してもよい。
実施の形態3におけるサービス構成変更方法の処理は、実施の形態1と同様である(図6参照)。
但し、S170において、サービス制御部250は、トークン299毎に実施例1−4(または組み合わせの実施例)の処理を実行してトークン299の縮退フローを決定する。サービス制御部250は、決定した各縮退フローの縮退フロー定義をフロー定義領域に設定する。
S180において、サービス制御部250は、トークン299毎にトークン299の縮退フローに従ってトークン299を処理する。
但し、実施の形態2(図12参照)と同様にサービス構成方法の処理を実行しても構わない。つまり、実施の形態2と同様にチェックポイントの保存・回復を行っても構わない。
実施の形態3において、例えば、以下のような効果を奏する分散システム100について説明した。
分散システム100は、1つの縮退フロー定義で複数の縮退フローを表す。これにより、縮退フロー毎に縮退フロー定義を生成する必要がなくなる。つまり、縮退フロー定義の数を減らし、縮退フロー定義を生成するための作業量を減らすことができる。
100 分散システム、110 通信サーバ、120 チェックポイントDB、129 チェックポイントデータ、200 計算機、201 タスク領域、210 業務アプリ実行部、220 障害監視部、230 障害ルール解釈部、240 トークン切替部、241 データマッピング部、242 チェックポイント保存部、243 チェックポイント回復部、250 サービス制御部、260 計算機間連携部、290 計算機記憶部、291 障害ルール対応表、292 業務フロー定義ファイル、293 マップアプリ、294 ルックアップテーブル、295 ラベル決定スクリプト、298 業務アプリ、299 トークン、901 CPU、902 バス、903 ROM、904 RAM、905 通信装置、911 ディスプレイ装置、912 キーボード、913 マウス、914 ドライブ装置、920 磁気ディスク装置、921 OS、922 プログラム群、923 ファイル群。

Claims (9)

  1. 処理順を有する複数の業務処理で構成される特定の業務フローの複数の業務処理を組み合わせた業務処理の組み合わせ毎に、当該業務処理で障害が発生した場合に前記特定の業務フローの代わりに実行する業務フローを縮退フローとして特定する縮退フロー情報と、業務データの変換方法を特定するデータ変換情報とを記憶する縮退フロー情報記憶部と、
    前記特定の業務フローを実行して業務データを処理する業務フロー実行部と、
    前記特定の業務フローのいずれかの業務処理で障害が発生した場合、障害の発生時に処理されていた業務データ毎に、業務データを処理していた業務処理と障害が発生した業務処理との組み合わせに対応する縮退フロー情報とデータ変換情報とを前記縮退フロー情報記憶部から取得する縮退フロー情報取得部と、
    前記障害の発生時に処理されていた業務データ毎に、前記縮退フロー情報取得部によって取得されたデータ変換情報によって特定される変換方法に従って業務データを変換する業務データ変換部とを備え、
    前記業務フロー実行部は、障害の発生時に処理していた業務データ毎に、前記縮退フロー情報取得部によって取得された縮退フロー情報によって特定される縮退フローを前記特定の業務フローの代わりに実行して、前記業務データ変換部によって変換された業務データを処理する
    ことを特徴とする縮退処理装置。
  2. 前記縮退処理装置は、前記特定の業務フローを構成する複数の業務処理のうちチェックポイントとして予め定められる業務処理の実行が終了したときに前記チェックポイントで処理された業務データを所定のチェックポイント保存装置に保存するチェックポイント保存部を備え、
    前記業務フロー実行部は、前記チェックポイント保存部に保存された業務データを処理する
    ことを特徴とする請求項記載の縮退処理装置。
  3. 前記縮退処理装置は、縮退フロー毎に縮退フローを構成する複数の業務処理を特定する縮退フロー定義を記憶する縮退フロー定義記憶部を備え、
    前記縮退フロー情報記憶部は、前記特定の業務フローを構成する複数の業務処理を組み合わせた業務処理の組み合わせ毎に縮退フローを構成する複数の業務処理のうち実行不要な業務処理をスキップ処理として特定するスキップ処理情報を記憶し、
    前記縮退フロー情報取得部は、前記障害の発生時に処理されていた業務データ毎に業務データを処理していた業務処理と前記障害が発生した業務処理との組み合わせに対応するスキップ処理情報を業務データのスキップ処理情報として前記縮退フロー情報記憶部から取得し、
    前記業務フロー実行部は、前記障害の発生時に処理していた業務データ毎に業務データの縮退フローを構成する複数の業務処理のうち業務データのスキップ処理情報によって特定されるスキップ処理を除いた残りの業務処理で業務データを処理する
    ことを特徴とする請求項1または請求項2に記載の縮退処理装置。
  4. 前記縮退処理装置は、少なくとも一部の業務処理が共通する複数の縮退フローを定義した縮退フロー定義であって、複数の縮退フローに共通する業務処理を共通処理として示し、縮退フロー毎に縮退フローを識別するフローラベルに対応付けて他の縮退フローと共通しない業務処理を個別処理として示す縮退フロー定義を記憶する縮退フロー定義記憶部を備え、
    前記縮退フロー情報記憶部は、前記特定の業務フローを構成する複数の業務処理を組み合わせた業務処理の組み合わせ毎にフローラベルを記憶し、
    前記縮退フロー情報取得部は、前記障害の発生時に処理されていた業務データ毎に業務データを処理していた業務処理と前記障害が発生した業務処理との組み合わせに対応するフローラベルを業務データのフローラベルとして前記縮退フロー情報記憶部から取得し、
    前記業務フロー実行部は、前記障害の発生時に処理していた業務データ毎に前記共通処理と業務データのフローラベルに対応する個別処理とによって業務データを処理する
    ことを特徴とする請求項から請求項3のいずれか一項に記載の縮退処理装置。
  5. 業務データは、複数の個別データを含み、
    前記縮退処理装置は、
    少なくとも一部の業務処理が共通する複数の縮退フローを定義した縮退フロー定義であって、複数の縮退フローに共通する業務処理を共通処理として示し、縮退フロー毎に縮退フローを識別するフローラベルに対応付けて他の縮退フローと共通しない業務処理を個別処理として示す縮退フロー定義を記憶する縮退フロー定義記憶部と、
    特定の業務データに設定されるデータ値と特定のフローラベルとを対応付けたルックアップテーブルを記憶するルックアップテーブル記憶部と、
    特定のデータ値に対応するフローラベルを前記ルックアップテーブルから取得するフローラベル取得部とを備え、
    前記縮退フロー情報記憶部は、前記特定の業務フローを構成する複数の業務処理を組み合わせた業務処理の組み合わせ毎に所定の個別データを識別するデータ名を記憶し、
    前記縮退フロー情報取得部は、前記障害の発生時に処理されていた業務データ毎に業務データを処理していた業務処理と前記障害が発生した業務処理との組み合わせに対応するデータ名を業務データの個別データ名として前記縮退フロー情報記憶部から取得し、
    前記フローラベル取得部は、前記障害の発生時に処理されていた業務データ毎に業務データの個別データ名によって識別される個別データのデータ値を判定し、判定したデータ値に対応するフローラベルを業務データのフローラベルとして前記ルックアップテーブルから取得し、
    前記業務フロー実行部は、前記障害の発生時に処理していた業務データ毎に前記共通処理と業務データのフローラベルに対応する個別処理とによって業務データを処理する
    ことを特徴とする請求項から請求項3のいずれか一項に記載の縮退処理装置。
  6. 業務データは、複数の個別データを含み、
    前記縮退処理装置は、
    少なくとも一部の業務処理が共通する複数の縮退フローを定義した縮退フロー定義であって、複数の縮退フローに共通する業務処理を共通処理として示し、縮退フロー毎に縮退フローを識別するフローラベルに対応付けて他の縮退フローと共通しない業務処理を個別処理として示す縮退フロー定義を記憶する縮退フロー定義記憶部と、
    特定の業務データに設定されるデータ値を入力して入力したデータ値に予め対応付けられたフローラベルを出力するフローラベル出力プログラムを記憶するプログラム記憶部と、
    前記フローラベル出力プログラムを実行して特定のデータ値に対応するフローラベルを取得するフローラベル取得部とを備え、
    前記縮退フロー情報記憶部は、前記特定の業務フローを構成する複数の業務処理を組み合わせた業務処理の組み合わせ毎に所定の個別データを識別するデータ名を記憶し、
    前記縮退フロー情報取得部は、前記障害の発生時に処理されていた業務データ毎に業務データを処理していた業務処理と前記障害が発生した業務処理との組み合わせに対応するデータ名を業務データの個別データ名として前記縮退フロー情報記憶部から取得し、
    前記フローラベル取得部は、前記障害の発生時に処理されていた業務データ毎に業務データの個別データ名によって識別される個別データのデータ値を判定し、判定したデータ値に対応するフローラベルを業務データのフローラベルとして前記フローラベル出力プログラムを実行して取得し、
    前記業務フロー実行部は、前記障害の発生時に処理していた業務データ毎に前記共通処理と業務データのフローラベルに対応する個別処理とによって業務データを処理する
    ことを特徴とする請求項から請求項3のいずれか一項に記載の縮退処理装置。
  7. 請求項1から請求項6のいずれか一項に記載の複数の縮退処理装置を有し、
    第一の縮退処理装置は、前記特定の業務フローを構成する少なくともいずれかの業務処理を実行し、
    第二の縮退処理装置は、前記特定の業務フローを構成する複数の業務処理のうち前記第一の縮退処理装置によって実行される業務処理以外の残りの業務処理を実行する
    ことを特徴とする縮退処理システム。
  8. 処理順を有する複数の業務処理で構成される特定の業務フローの複数の業務処理を組み合わせた業務処理の組み合わせ毎に、当該業務処理で障害が発生した場合に前記特定の業務フローの代わりに実行する業務フローを縮退フローとして特定する縮退フロー情報と、業務データの変換方法を特定するデータ変換情報とを記憶する縮退フロー情報記憶部を備える縮退処理装置の縮退処理方法であって、
    縮退フロー情報取得部は、前記特定の業務フローのいずれかの業務処理で障害が発生した場合、障害の発生時に処理されていた業務データ毎に、業務データを処理していた業務処理と障害が発生した業務処理との組み合わせに対応する縮退フロー情報とデータ変換情報とを前記縮退フロー情報記憶部から取得し、
    業務データ変換部は、前記障害の発生時に処理されていた業務データ毎に、前記縮退フロー情報取得部によって取得されたデータ変換情報によって特定される変換方法に従って業務データを変換し、
    業務フロー実行部は、障害の発生時に処理していた業務データ毎に、前記縮退フロー情報取得部によって取得された縮退フロー情報によって特定される縮退フローを前記特定の業務フローの代わりに実行して、前記業務データ変換部によって変換された業務データを処理する
    ことを特徴とする縮退処理装置の縮退処理方法。
  9. 処理順を有する複数の業務処理で構成される特定の業務フローの複数の業務処理を組み合わせた業務処理の組み合わせ毎に、当該業務処理で障害が発生した場合に前記特定の業務フローの代わりに実行する業務フローを縮退フローとして特定する縮退フロー情報と、業務データの変換方法を特定するデータ変換情報とを記憶する縮退フロー情報記憶部を備える縮退処理装置を機能させる縮退処理プログラムであって、
    前記特定の業務フローのいずれかの業務処理で障害が発生した場合、障害の発生時に処理されていた業務データ毎に、業務データを処理していた業務処理と障害が発生した業務処理との組み合わせに対応する縮退フロー情報とデータ変換情報とを前記縮退フロー情報記憶部から取得する縮退フロー情報取得部と、
    前記障害の発生時に処理されていた業務データ毎に、前記縮退フロー情報取得部によって取得されたデータ変換情報によって特定される変換方法に従って業務データを変換する業務データ変換部と、
    障害の発生時に処理していた業務データ毎に、前記縮退フロー情報取得部によって取得された縮退フロー情報によって特定される縮退フローを前記特定の業務フローの代わりに実行して、前記業務データ変換部によって変換された業務データを処理する業務フロー実行部として縮退処理装置を機能させる
    ことを特徴とする縮退処理プログラム。
JP2011196845A 2011-09-09 2011-09-09 縮退処理装置、縮退処理システム、縮退処理装置の縮退処理方法および縮退処理プログラム Expired - Fee Related JP5738133B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011196845A JP5738133B2 (ja) 2011-09-09 2011-09-09 縮退処理装置、縮退処理システム、縮退処理装置の縮退処理方法および縮退処理プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011196845A JP5738133B2 (ja) 2011-09-09 2011-09-09 縮退処理装置、縮退処理システム、縮退処理装置の縮退処理方法および縮退処理プログラム

Publications (2)

Publication Number Publication Date
JP2013058126A JP2013058126A (ja) 2013-03-28
JP5738133B2 true JP5738133B2 (ja) 2015-06-17

Family

ID=48133953

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011196845A Expired - Fee Related JP5738133B2 (ja) 2011-09-09 2011-09-09 縮退処理装置、縮退処理システム、縮退処理装置の縮退処理方法および縮退処理プログラム

Country Status (1)

Country Link
JP (1) JP5738133B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6540072B2 (ja) 2015-02-16 2019-07-10 富士通株式会社 管理装置、情報処理システム及び管理プログラム
JP7511464B2 (ja) 2020-12-23 2024-07-05 三菱電機株式会社 処理監視装置、業務処理システムおよび処理監視プログラム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3135714B2 (ja) * 1992-10-29 2001-02-19 株式会社東芝 チェックポイントリスタート方式
JP2004126682A (ja) * 2002-09-30 2004-04-22 Fuji Electric Systems Co Ltd ワークフローの分岐制御装置、およびワークフロー管理装置
JP2005031915A (ja) * 2003-07-10 2005-02-03 Toshiba Corp 業務トランザクション管理装置、方法及びプログラム
JP2005063211A (ja) * 2003-08-15 2005-03-10 Nippon Telegr & Teleph Corp <Ntt> 業務プロセスの障害回避装置、障害回避方法、この方法のプログラムおよびこのプログラムを記録した記録媒体
JP3987517B2 (ja) * 2003-09-02 2007-10-10 株式会社東芝 計算機システム及びクラスタシステム用プログラム
JP4575088B2 (ja) * 2004-08-31 2010-11-04 三菱電機株式会社 情報処理システム及び情報処理方法及び情報処理プログラム

Also Published As

Publication number Publication date
JP2013058126A (ja) 2013-03-28

Similar Documents

Publication Publication Date Title
JP5698429B2 (ja) 構成要素を管理するためのコンピュータ・システム、並びにその方法及びコンピュータ・プログラム
CN103098016B (zh) 基于文件系统备份的去重
JP5263696B2 (ja) ソフトウェア構成要素をバックアップするためのコンピュータ・システム、並びにその方法及びコンピュータ・プログラム
CN105589756B (zh) 批处理集群系统以及方法
JP4354314B2 (ja) サーバ差分管理システム及び情報処理装置の制御方法
WO2015045031A1 (ja) 仮想マシンテストシステム、仮想マシンテスト方法
JP2008065425A (ja) ストレージシステム、管理計算機及びコピーペア監視方法
JP6109662B2 (ja) 運用管理装置、運用管理方法およびプログラム
JP4882498B2 (ja) 運用管理装置および運用管理方法ならびにプログラム
JP2010157183A (ja) 情報処理装置及び情報処理プログラム
JP5738133B2 (ja) 縮退処理装置、縮退処理システム、縮退処理装置の縮退処理方法および縮退処理プログラム
US20080172669A1 (en) System capable of executing workflows on target applications and method thereof
Cai et al. Federate migration in HLA-based simulation
JP2005258501A (ja) 障害影響範囲解析システム及び障害影響範囲解析方法及びプログラム
WO2019146233A1 (ja) 業務プロセス設計支援方法及び業務プロセス設計支援装置
JP5239072B2 (ja) 構成要素を管理するためのコンピュータ・システム、並びにその方法及びコンピュータ・プログラム
US20080155305A1 (en) Collaborative problem determination based on graph visualization
JP6355755B2 (ja) 画面生成システム及び画面生成方法及び画面生成プログラム
JP4814935B2 (ja) 業務管理プログラム、業務管理装置、および業務管理方法
US7945598B2 (en) Methodology for the automatic capture of process information in federated knowledge systems
JP2003223486A (ja) 工程管理システム
US11474997B1 (en) Distributed transaction system and distributed transaction processing method in distributed transaction system
US20100023936A1 (en) Program modification method, program restoration method and data processing device
JP6950437B2 (ja) 情報処理システム、情報処理装置及びプログラム
JP2009251672A (ja) 設計支援システム、設計支援方法、および、設計支援プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131204

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20141027

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141104

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141212

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150421

R150 Certificate of patent or registration of utility model

Ref document number: 5738133

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees