JP2010003121A - データ転送システム及び転送装置及び監視装置及び転送プログラム及び監視プログラム - Google Patents

データ転送システム及び転送装置及び監視装置及び転送プログラム及び監視プログラム Download PDF

Info

Publication number
JP2010003121A
JP2010003121A JP2008161502A JP2008161502A JP2010003121A JP 2010003121 A JP2010003121 A JP 2010003121A JP 2008161502 A JP2008161502 A JP 2008161502A JP 2008161502 A JP2008161502 A JP 2008161502A JP 2010003121 A JP2010003121 A JP 2010003121A
Authority
JP
Japan
Prior art keywords
monitoring
unit
target data
processing target
network
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2008161502A
Other languages
English (en)
Other versions
JP5047072B2 (ja
Inventor
Kenjiro Miura
健次郎 三浦
Akihiro Baba
昭宏 馬場
Reiko Yoshimura
礼子 吉村
Mitsuyoshi Yamatari
光義 山足
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 JP2008161502A priority Critical patent/JP5047072B2/ja
Publication of JP2010003121A publication Critical patent/JP2010003121A/ja
Application granted granted Critical
Publication of JP5047072B2 publication Critical patent/JP5047072B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】処理対象データを複数のサーバ装置のいずれかで処理するシステムにおいて、可用性やスループットを最適化する。
【解決手段】サービス監視装置100は、ネットワーク400から処理対象データを受信して処理するサーバ装置320、サーバ装置320の稼働状態とネットワーク400の状態との少なくともいずれかを監視し、監視結果を監視情報として格納する。ESB200は、処理対象データをネットワーク400を介して送信するサーバ装置310からネットワーク400を介して処理対象データを受信すると、サービス監視装置100から前記監視情報を取得し、監視情報に基づきサーバ装置320,サーバ装置330のうち処理対象データを転送するべきサーバ装置を決定し、決定したサーバ装置にネットワーク400を介して処理対象データを転送する。
【選択図】図1

Description

この発明は処理対象データを転送するデータ転送システム及び転送装置及び監視装置及び転送プログラム及び監視プログラムに関する。
近年のサービス(データ通信)連携システムは、プロトコルの異なるサーバ間で効率的にデータ交換処理行うためにESB(エンタープライズ・サービス・バス)を介して処理することが多い(例えば、非特許文献1、特許文献1)。
ESBは一般にIETF/W3C/OASISといった標準化団体で策定されたWebサービス標準プロトコル(非特許文献2)及びWindows(登録商標)File共有プロトコル、FTP(ファイル転送),HTTP(Web),SMTP(電子メール),SQL(DB(DataBase))等の、デファクトスタンダードプロトコルで接続するためのプロトコル別接続処理部(バインディングコンポーネントと呼ばれる)が用意されており、この接続処理部にURLやサービス名などの具体的接続条件を与えることで接続が可能になる。また、ESB内部処理用には、データ変換処理部(XSLTなど)、スクリプト処理部、ルール処理部、EJB(登録商標)(Enterprise Java(登録商標) Beans)処理部、WS−BPEL処理部などのサービス処理部(サービスエンジンと呼ばれる)を持つ。ESBではルーティング定義により、各バインディングコンポーネントとサービスエンジン間のデータフローを定義することができる。データフローはESBの定義として各処理を静的に接続する方法の他、流れるデータに応じてデータフローを変更することができるいわゆるCBR(コンテンツ・ベース・ルーティング)が知られている。ESBを使うことにより、サーバ間のプロトコルの違いを吸収でき、また各処理(プロセス)の処理順序の変更が容易になる。
コンテンツベースルーティング(ContentsBaseRouting:CBR)はいくつか方式がある。標準化されたコンテンツベースルーティング方式としてはWS−BPEL(Services Business Process Execution Language)などがあり、他にJava(登録商標)Scriptなどによるスクリプトベースルーティングの他、独自の文法により制御を行うものもある。
(1)特許文献1には、ESBの動作原理が説明されている。特許文献1に示されているデータ処理装置を汎用化・拡張したものがESBである。
(2)また、非特許文献1には、ESBの一般的な動作原理、コンテンツベースルーティング(CBR)が解説されている。
(3)また、非特許文献2には、Webサービス標準についての一般的な解説が記載されている。
特開2006−215968号公報 デビッド・A.チャペル,エンタープライズサービスバス―ESBとSOAによる次世代アプリケーション統合,オライリージャパン,2005/02,P135−P140(コンテンツベースルーティング,CBR) 青木利春 監修「Webサービスコンピューティング」電子情報通信学会,平成17年2月1日、P52−p73等
ESBでは各接続・処理プロセスを柔軟に変更することはできるが、連携先サーバの稼動状態(運用情報)を考慮したルーティングはされていなかった。このため、連携先にデータ転送を試みた際に連携先が障害であるとエラーになるため、障害がおきた後に、一旦キューに保存し、リトライするという処理が必要になる。また連携先の処理負荷が大きい場合はスループットが悪くなる。
この発明は上記のような課題を解決するためになされたもので、データ連携処理(ルーティング処理)を監視システムと連携させ処理データに連携先稼動情報を取得・挿入し、データ転送時に、この稼動情報を参考に最適な連携先決定し転送する。これにより、可用性やスループットを最適化することを目的とする。また、処理対象のデータと、データを処理するシステムの監視情報を一体とすることで、システムにおいて必要に応じたログ出力を行うことを目的とする。
この発明のデータ転送システムは、
ネットワークから処理の対象となる処理対象データを受信して処理する複数のサーバ装置の稼働状態と前記ネットワークの状態との少なくともいずれかを監視する監視部と、
前記監視部による監視結果を示す監視情報を格納する監視結果格納部と
を有する監視装置と、
前記処理対象データを前記ネットワークを介して送信するデータ送信装置から前記ネットワークを介して前記処理対象データを受信する処理対象データ受信部と、
前記処理対象データ受信部により前記処理対象データが受信されると前記監視装置から前記監視情報を取得する監視情報取得部と、
前記監視情報取得部により取得された前記監視情報に基づいて、前記複数のサーバ装置のうち前記処理対象データを転送するべきサーバ装置を決定するサーバ決定部と、
前記サーバ決定部により決定された前記サーバ装置に、前記ネットワークを介して前記処理対象データを転送する処理対象データ転送部と
を有する転送装置と
を備えたことを特徴とする。
この発明により、処理対象データを複数のサーバ装置のいずれかで処理するシステムにおいて、可用性やスループットを最適化することができる。
実施の形態1.
図1〜図14を参照して実施の形態1を説明する。
図1は、実施の形態1のデータ転送システム1000のシステム構成の一例を示す図である。データ転送システム1000は、サービス監視装置100、ESB200、外部サーバ装置310〜330から構成される。サービス監視装置100、ESB200、外部サーバ装置310〜330はいずれもコンピュータである。これらのコンピュータはネットワーク400に接続しており、互いに通信が可能である。
図2は、コンピュータであるサービス監視装置100、あるいはESB200、あるいは外部サーバ装置310〜330の外観の一例を示す図である。以下の図2及び図3の説明はサービス監視装置100を想定して説明するが、ESB200、外部サーバ装置310〜330についても同様である。
図2において、サービス監視装置100は、システムユニット830、CRT(Cathode・Ray・Tube)やLCD(液晶)の表示画面を有する表示装置813、キーボード814(Key・Board:K/B)、マウス815、FDD817(Flexible・Disk・Drive)、コンパクトディスク装置818(CDD:Compact Disk Drive)、プリンタ装置819などのハードウェア資源を備え、これらはケーブルや信号線で接続されている。
図3は、コンピュータで実現されるサービス監視装置100のハードウェア資源の一例を示す図である。図3において、サービス監視装置100は、プログラムを実行するCPU810(Central Processing Unit)を備えている。CPU810は、バス825を介してROM(Read Only Memory)811、RAM(Random Access Memory)812、表示装置813、キーボード814、マウス815、通信ボード816、FDD817、CDD818、プリンタ装置819、磁気ディスク装置820と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置820の代わりに、光ディスク装置、フラッシュメモリなどの記憶装置でもよい。
RAM812は、揮発性メモリの一例である。ROM811、FDD817、CDD818、磁気ディスク装置820等の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部、格納部の一例である。通信ボード816、キーボード814、FDD817などは、入力部、入力装置の一例である。また、通信ボード816、表示装置813、プリンタ装置819などは、出力部、出力装置の一例である。
通信ボード816は、ネットワーク(LAN等)に接続されている。通信ボード816は、LANに限らず、インターネット、ISDN等のWAN(ワイドエリアネットワーク)などに接続されていても構わない。
磁気ディスク装置820には、オペレーティングシステム821(OS)、ウィンドウシステム822、プログラム群823、ファイル群824が記憶されている。プログラム群823のプログラムは、CPU810、オペレーティングシステム821、ウィンドウシステム822により実行される。
上記プログラム群823には、以下に述べる実施の形態の説明において「〜部」として説明する機能を実行するプログラムが記憶されている。プログラムは、CPU810により読み出され実行される。
ファイル群824には、以下に述べる実施の形態の説明において、「〜の判定結果」、「〜の算出結果」、「〜の抽出結果」、「〜の生成結果」、「〜の処理結果」として説明する情報や、データや信号値や変数値やパラメータなどが、「〜ファイル」や「〜データベース」の各項目として記憶されている。「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU810によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示などのCPUの動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
また、以下に述べる実施の形態の説明においては、データや信号値は、RAM812のメモリ、FDD817のフレキシブルディスク、CDD818のコンパクトディスク、磁気ディスク装置820の磁気ディスク、その他光ディスク、ミニディスク、DVD(Digital・Versatile・Disk)等の記録媒体に記録される。また、データや信号は、バス825や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
また、以下に述べる実施の形態の説明において、「〜部」として説明するものは、「〜手段」、「〜回路」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明するものは、ROM811に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD等の記録媒体に記憶される。プログラムはCPU810により読み出され、CPU810により実行される。すなわち、プログラムは、以下に述べる「〜部」としてコンピュータを機能させるものである。あるいは、以下に述べる「〜部」の手順や方法をコンピュータに実行させるものである。
図4は、データ転送システム1000を構成するサービス監視装置100(監視装置)、ESB200(転送装置)のブロック構成を示す図である。図4を用いてサービス監視装置100、ESB200の構成を説明する。図4では、サービス監視装置100、ESB200、発注外部サーバ310(データ送信装置)、第1受注外部サーバ320(サーバ装置)、第2受注外部サーバ330(サーバ装置)は、図1に示すように、ネットワーク400に接続しているが、ネットワーク400は省略して記載している。
(サービス監視装置100)
サービス監視装置100は、ESB設定・管理GUI(GraphicalUserInterface)部110、ルーティング情報生成部120、サービス・N/W(NetWork)監視部130(監視部)、ESB管理部140、サービス監視DB(DataBase)参照部150、監視条件定義161を格納する監視条件定義格納部160、サービス監視DB171を格納するサービス監視DB格納部170(監視結果格納部)、監視側通信部180(監視側受信部の例)を備える。
(ESB200)
ESB200(転送装置)は、ESB側通信部205、サービスフロー前処理部210、データ変換処理部220、監視情報挿入処理部230(監視情報取得部)、CBR処理部240(サーバ決定部)、コンテンツロギング処理部250、ESB制御部260、メッセージバス270、ESB定義271としてサービス管理DB272、接続アダプタ281(処理対象データ受信部)、接続アダプタ282、接続アダプタ283(処理対象データ転送部)を備える。サービスフロー前処理部210〜コンテンツロギング処理部250は、後述のようにサービスエンジン(SE)であり、それぞれ前処理定義211、データ変換定義221、監視情報挿入定義231、CBR定義241、ログ定義251を持ち、これらの定義に基づいて処理を実行する。また、接続アダプタ281、接続アダプタ282、接続アダプタ283は、後述のようにBC(バインディング・コンポーネント)である。これらは、それぞれ共有接続ファイル定義291、再送待ちキュー292、http接続定義293をもつ。
(サービス監視装置100)
サービス監視装置100は、ESB200上のサービスフロー前処理部210、監視情報挿入処理部230、CBR処理部240(振り分け処理)、ロギング処理250等と連動しながら動作する。サービス監視装置100のうち、ESB設定・管理GUI部110は、ESB設定部111、サービスプロセス(呼び出し順序)設計部112、プロセス監視設計部113を備える。これらは、ESB設定、サービスプロセス(呼び出し順序)設計、プロセス監視設計を行うためのインタフェース機能をもつ。ESB設定・管理GUI部110は、サービスプロセス設計部112により、特定の業務処理用のサービスフローの設計を行う。また、プロセス監視設計部113により、監視対象とするサービスの監視方法および設計した業務フローにおいて「監視情報」を挿入する手順、当該挿入された「監視情報」に基づいてルーティング処理を行う手順を設計する。ここで監視情報とは、監視条件定義に従って、サービス・N/W監視部130により監視された監視結果を示す情報である。いかなるものを監視情報とするかについては、監視条件定義による。例えば、監視情報とは、連携処理先のサービス(サーバ装置)の稼動状態や、ネットワーク400の状態や、連携システム間のネットワーク運用管理情報(障害・性能情報)などである。
(定義情報の送信)
サービスプロセス設計部112、プロセス監視設計部113により生成されたこれらの「設計情報」により、ルーティング情報生成部120がESB200に配布する定義情報を生成する。ルーティング情報生成部120により生成された定義情報は、「ESB管理部140」が監視側通信部180を用いてESB側通信部205に送信し、ESB側通信部205からESB制御部260をとおしてESB200に展開される。またESB管理部140は、ESBプロセスの起動・停止などの制御も行う。
(監視条件定義161の生成)
プロセス監視設計部113は、監視対象となる各サービスの「監視条件定義161」を生成・保存する。図5は、プロセス監視設計部113により生成される監視条件定義161の例を示す図である。サービス・N/W監視部130は、この監視条件定義161に基づいて、監視対象に指定されたサービス等を監視し、監視結果をサービス監視DB171に保存する。これらの監視条件定義161、及びサービス監視DB171に格納された監視結果は、サービス監視DB参照部150を介することにより、他のシステムからも参照することができる。
(ESB200上のバインディング・コンポーネントBC)
ESB200の機能として、外部システムと様々なプロトコルにより接続する機能は、いわゆるBC(バインディング・コンポーネント)機能(図4に示す接続アダプタ)により提供されている。BCはプロトコル別の接続処理部品といえる。各プロトコル別の接続部品にサービス名、(エンドポイント)アドレス情報等を定義し、この接続定義を対応するBCに展開することで定義に基づいた接続処理が実行される。接続アダプタは、例えば、HTTP,SOAP/HTTP,JMS(Java(登録商標) Messag Service),SQL、ファイル共有プロトコルなどの様々なプロトコル処理用のBCがある。
データ転送システム1000ではBCの機能はそのまま利用する。以下、説明のために、入力用の接続アダプタ281を共有ファイルプロトコル接続アダプタ、出力用の接続アダプタとしてHTTP(HyperTextTransferProtocol)として説明するが特にこれに限定するわけではない。
(メッセージバス270)
ESB200にはメッセージバス270がある。これはデータをやりとりするための通信路であり、外部から受信したデータはESB200内では正規化形式(通常XML形式)に変換され、この正規化されたメッセージを各専用処理モジュールであるSE(サービスエンジン)間で受け渡して一連の業務処理を進めていく。
(ESBサービスエンジン)
また、ESBの機能としてSE(サービスエンジン)がある。例えば、データ変換(CSVファイルからXML形式への変換、XML形式のフォーマット変換)サービスエンジン、コンテンツベースルーティング(CBR)サービスエンジンなどがある。データ変換SEに、変換処理の具体的な定義(AフォーマットからBフォーマットへの変換指示)をサービス定義とし、これをデータ変換SEに展開すると、指示されたデータ変換処理がなされる。図4では、データ変換処理部220にデータ変換定義221を適用している。
(ESB200のサービスエンジン)
データ転送システム1000のESB200では、一般的なデータ変換処理等のサービスエンジン(データ変換処理部220に相当)はそのまま利用する。これに加えて、サービス監視装置100と連動するいくつかのサービスエンジンを追加する。ESB200では、データフローの識別をするための「サービスフロー前処理部210」(SE1)、関連サービスの監視情報をデータ自体に挿入する「監視情報挿入処理部230」(SE3)、「(挿入された監視情報に基づき連携先のサービスを変化させる)CBR処理部240」(SE4)、「(データとシステムの状態をログする、)コンテンツロギング処理部250」(SE5)を追加する。
(定義ファイル)
また、各BC,各SEの呼び出し順序制御、すなわち“ルーティング情報”は、前述したように定義ファイルとして表現され、ESB管理部140からESB制御部260に配布された後、「サービス管理DB272」に保存される。ルーティング制御の記述方式にはWS−BPELなど標準化されたものの他、様々な記述方法がある。サービス監視装置データ転送システム1000では、特に特定しておらず、ルーティング定義が可能であればいずれの方法でもよい。また、各BC291〜293,SE用の各定義211〜251には、サービス名とアドレス情報(エンドポイントアドレス)が記載指定されるが、これらのアドレス情報も定義配布時に抽出され、サービス管理DB272に保存されるものとする。
(通信プロトコル)
サービス監視装置100(監視側通信部180)とESB200(ESB側通信部205)との間は、JMX/SNMPなどの管理通信プロトコルで通信する。なお、監視情報挿入処理部230はESB200上にある必要はなく、サービス監視装置100に監視側挿入部として実装してもよい。この場合、監視側挿入部は、ESB200から監視側通信部180を介してデータ変換処理部220によるデータ変換後のデータを受け取り、監視情報挿入処理部230と同様の処理を行ない、監視側通信部180を介して、処理後のデータをCBR処理部240に返す。
図5では、サービス・N/W監視部130が参照する監視条件定義161の例を示した。サービス・N/W監視部130は、この監視条件定義161に従って、ESB200上のサービスまたは外部サーバで提供されるサービスを適宜監視する。監視条件は監視条件定義161によって定義されるが、監視条件は、例えば、連携処理先のサービス(サーバ装置)や連携システム間のネットワーク運用管理情報(障害・性能情報)である。
サービス・N/W監視部130は、PING/SNMPなどの標準プロトコルの他、サービスが提供されているTCP/UDPポートのチェックを行う方法が一般的である。また、システムによってはサービス監視用のダミーデータ(ヘルスチェックデータ)を送信しその応答により監視し、サービスの稼動状態を調べる方法を提供するものもある。これらの監視は定義ファイルで指定された周期によりポーリング監視を行う方法の他、監視対象のサービスからの通知よっても監視結果を取得することができる。監視結果はサービス監視DB171に保存され、監視結果はサービス監視DB参照サービスAPI等(サービス監視DB参照部150)により参照可能になっているものとする。これらは一般的に知られた方法のため説明は省略する。
(一般的な場合のデータ処理の動作)
図6を用いて、データ転送システム1000のデータ処理の動作を説明する。図6のように、定義ファイルによって各サービス処理の順序がサービス処理フローとして定義される。ESB処理の順番は定義を変更することで可能である。ここでは、まず図6とは別に、一般的な処理フローとして、
(1)入力処理、
(2)データ変換処理、
(3)出力処理
が定義されている場合を考える。
例えば、「(1)入力処理」では、特定のディレクトリパス上の共有フォルダにおかれたCSV形式のファイルをファイル共有プロトコルにより取り込む。取り込んだCSVデータは、ESBメッセージバスを介してデータ変換処理に送信される。
「(2)データ変換処理」ではCSV形式の発注データファイルをデータ変換定義に従って受注システムが指定するXML形式ファイルに変換する。データ変換定義は一般的な手法と特にかわらないためこの説明は省略する。
「(3)データ変換処理」では、変換されたデータを受注システムに送付するために、HTTP出力接続アダプタを通して外部サーバ(図4の第1受注外部サーバ320)に送信する、という一連のデータフローが定義されているとする。
上記処理では、第1受注外部サーバ320が障害の場合、もしくはESBと第1受注外部サーバ320間のネットワークの障害が起こった場合には、処理が停止してしまう。このため、従来は一般的に、次のように処理していた。すなわち、データ送信処理が失敗した場合は、一旦データをキューイングし、一定時間後に再送処理を行っていた。この方式では第1受注外部サーバ320の障害であることをサービス監視装置100で検出済みの場合であっても、一旦データ出力処理を実行し、エラー処理としてデータを一時蓄積し、その後エラーとなったデータの再送処理を実施する。このため、出力処理分の無駄が生じ、また再送処理は通常一定時間後に試行するためデータ転送性能も悪くなるという課題があった。
(本データ転送システム1000の特徴)
そこで本データ転送システム1000では、可用性向上や負荷分散により性能を向上させたい処理の前に、監視情報挿入処理部230による監視情報挿入処理と、CBR処理部240による挿入監視情報に基づく振り分け処理(連携先切り替え処理)を挿入することで前述の課題を解決する。これらの処理を行う際に、各トランザクション単位でこれらの処理を適用するためにはフローを識別するための処理が必要となる。そのために、一連の処理が実行される前にサービスフロー前処理部210による前処理(「サービスフロー前処理)として、定義された業務フローのクラスID及び処理中のフローを識別するため(フローの)インスタンスIDを挿入する機能を実装する。これらの前処理はBCの一部の機能として実装しても良いが、データ転送システム1000では共通的な単体の前処理機能として説明する。
可用性や性能を向上させるために、外部サーバとして第1受注外部サーバ320と同じ機能をもつ第2受注外部サーバ330を追加する。
次に、データ転送システム1000で処理する場合の一連の処理手順を、図6を参照して説明する。
(入力処理:BC1)
発注外部サーバ310(データ送信装置の一例)の特定共有フォルダに処理の対象となる発注データファイル(処理対象データの一例)が保存(入力)される。入力の接続アダプタ281はファイルが置かれるとこれを検知し、これを入力として図6に示す入力処理(BC1)を開始する。接続定義(共有接続File定義291)では、サービス名、フォルダのアドレス(URL)、検出方式(フォルダのポーリング)、検出間隔などが定義されている。発注データファイルを取り込んだ後は、接続アダプタ281は図6の定義に従って、サービスフロー前処理部210に入力データを渡す(SE1−se1を呼び出す)。
(SE1:前処理)
図7は、前処理定義211(se1)の一例を示す図である。サービスフロー前処理部210は、前処理定義211に従って、前処理を実行する。まずサービスフロー前処理部210は、入力された発注データファイルのヘッダーとして、図6の処理フロー定義を識別するためのflow・classIDを挿入する。また、図6の各々の処理を識別するためのインスタンス番号も挿入する。その他、前処理を実施した日時、図6のフローの各サービスのうち、監視情報を挿入するサービス名などを挿入する。この後、サービスフロー前処理部210は、データ変換処理部220(変換処理SE2−se2)を呼び出す。
(SE2:データ変換処理)
データ変換処理部220(変換処理SE2−se2)は、従前の場合と同様に、データ変換定義221(定義se2)に従って、CSV形式のファイルをXML形式に変換する。変換処理自体は一般的な方法であるため説明は省略する。
図8は、データ変換処理部220によって変換されたデータ201の例を示す図である。<Header>部216はサービスフロー前処理部210により挿入された情報である。 <Data>部212は、データ変換定義221(se2)に基づきデータ変換処理部220によりよりXML(eXtensibleMarkupLanguage)に変換されたデータである。データ変換処理(SE2−se2)が終わると、図6のフロー定義に従ってデータ変換処理部220は監視情報挿入処理部230(SE3−se3)を呼び出し、データ201を渡す。
(SE3:監視情報挿入処理)
監視情報挿入処理部230(SE3−se3)は、図8に示すデータ201を受信する。図9は、監視情報挿入定義231(se3)の例を示す図である。この図9の例では、全てのフローに対して、指示された監視対象サービスの情報を挿入すべきことが指示されている。また、監視情報を取得するためのサービスインタフェース(GetServiceStatus/GetNetworkStatus)が指定されている。また、データ201中のヘッダー部216には監視すべきサービス(Management_plnkのHTTPService)が指定されている。
図10は、監視情報挿入処理部230による処理手順を示す図である。監視情報サービスは、サービスエンジン起動時に、定義(監視情報挿入定義231)により、どの処理フローについて監視情報を挿入するか、監視情報をどのインタフェースで取得するかを記憶する。監視情報挿入処理部230は、監視対象サービス名をデータ201の<Management_plnk>タグ213により取得する。この例では「HTTP Service」の情報を取得することがわかる(S101)。次に監視情報挿入処理部230は、「HTTP Service」の監視情報(サービス稼働情報)を「GetServiceStatus」等のサービスインタフェースを利用し取得する(S102)。「GetServiceStatus」等は、管理用通信により、監視情報挿入処理部230がESB側通信部205を用いて監視側通信部180を介して、サービス監視DB171を参照してサービス状態を取得する。またOSやネットワークの状態も取得するように指定されていればこれも取得する。
監視情報挿入処理部230は、取得した挿入監視データをデータ201に追記(挿入)し(S103)、データ202とする。図11は、データ201に監視情報が挿入されたデータ202を示す図である。監視情報挿入処理部230による処理の終了後は、監視情報挿入処理部230は図6の定義に従ってCBR処理部240(SE4−se4)を呼び出す。
(SE4:振り分け処理)
SE4は、CBR処理部240による振り分け処理である。CBR(コンテンツベースルーティング)とは、処理すべきデータの中身によりサービスを変える処理である。例えば購入の決済データがコンテンツルーティング処理部にインプットされた場合に、(XML)データの購入総額(タグ)に記載された金額をチェックする。もし、購入総額が100万以上であれば、管理部門の承認をうけるためのサーバにデータを送信し、そうでなければ発注サーバに送信するという処理が実現されている。購入総額の判断部の定義方法には様々な方法があるが、XML形式の記載、Java(登録商標)Scriptなどのスクリプト記載、BPEL形式の記載などが知られている。
次に図12のフローチャートを用いて、挿入された監視情報に基づくCBR処理部240の振り分け処理を説明する。
また、図13は、挿入監視情報に基づくデータ振り分け定義241(CBR定義)の例を示す図である。図13は、スクリプト記述型の定義によりコンテンツベースルーティングを定義している。
CBR処理部240(振り分け処理SE4−se4)は、監視情報挿入処理部230から監視情報付のデータ202を受信する。CBR処理部240では最終データ送信先のサービス名(ここではヘッダー部のServiceTo)を取得する(S201)。次に取得したサービスのステータスを監視情報挿入処理部230により挿入された、ManagementInfoタグ部分より取得し、最新のサービス状態を確認する(S202)。次にCBR処理部240は、サービス状態を判定する(S203)。サービスが正常に稼動中であれば(S203のYES)、CBR処理部240は、図6の親フローに戻しそのまま次の処理(外部サービス呼び出し)を呼び出す(S204)。サービスが稼動中でなければ(S203のNO)、CBR処理部240は、ManagementInfoタグ部分215より代替サービスを探し、その名前を取得し、代替サービスが稼働中かを判定する(S205)。代替サービスで稼動中のものがあった場合は(S205のYES)、サービス転送先情報(ここではヘッダー部のSerivceTo)を、取得した代替サービス名(HttpService2)に書き換える(S206)。その後、図6の親フローに戻し、次の処理を呼び出す。代替サービスがなければ(S205のNO)、通常のエラー処理としてエラーキュー(再送待ちキュー292)にいれ、一定時間経過後に再送信を試みる(S207)。
最後に図6のフローではHTTP送信サービス(出力処理BC2:接続アダプタ283)が呼び出される。HTTP用のBC(接続アダプタ283)は送信先を決めるため、メッセージ中の送信先情報(ServiceTo)より読み出す。この部分は振り分け処理によりアドレスが書き換えられているため、システムで設定された本来の送信先(HTTPService1)ではなくリライトされたアドレス情報(HTTPService2)に基づき、サービスが呼び出される。この処理により、サービス障害の場合、代替サービスを呼び出すことで処理を継続していくことが可能になる。
上記のように通常の業務処理に監視用の処理ステップ(基本的には前処理、監視情報挿入処理部230、監視情報を利用したCBR処理部240(ルーティング処理部))を挿入する方法・システムにより、全体システムとしての可用性や性能を上げることが可能になる。
(ロギング処理)
上例では監視用の処理サービスステップとして、前処理、監視情報挿入処理部230による監視情報挿入処理、CBR処理部240による監視情報を利用したルーティング処理を元のフローに埋め込むことで可用性を向上する例を示したが、さほど可用性を考慮する必要のないシステムにおいては当該ルーティング処理(振り分け処理)をコンテンツロギング処理部250によるロギング処理に置き換えて、システムログをとるように変更することも容易に可能である。ログ定義261の例を図14に示す。この例では図6の業務フロー処理の場合は全てのデータをダンプし、それ以外の処理ではヘッダー部のみダンプすることを示している。またこの応用としては、データに監視情報が挿入されている場合、ステータスが障害のときのみ詳細にダンプし、それ以外はダンプしないなどの処理を行うことも容易に実装可能になる。
また、図4に示しているように、CBR処理部240を備え、更に、コンテンツロギング処理部250を備えた構成にしても良いことはもちろんである。
実施の形態1のデータ転送システム1000によれば、元々の業務処理をそのまま利用し、これに監視情報を追加し、この監視情報に基づいて振り分け処理(CBR処理部240)やコンテンツロギング処理部250を柔軟に定義できるため、データ単位で適時稼動中のサービスを選択して負荷分散処理したり、監視情報を考慮してログを出力できるなどのメリットがある。トランザクションデータ中に連携サービスの稼動情報を埋め込み、その監視データ(コンテンツ)に基づいて、最適なサービスを動的に決定するため連携先のサービス停止時にも柔軟にバックアップサーバへ転送することが可能になり、信頼性を向上させることができる。
また、振り分け処理、ログ処理などはESB200上のプロセスである必要はないためシステムの拡張性の点でも本システム・方式は有用である。
以上の実施の形態では、
一連の業務プロセス処理を、分散した複数のサーバを連携させ分散処理する分散処理システムにおいて、処理対象の業務データ中に連携処理先のサービス(サーバ装置)や連携システム間のネットワーク運用管理情報(障害・性能情報)を挿入する運用情報付加機能と、業務データ(コンテンツ)中に挿入された運用情報により、最適な連携先サービスを動的に選択するデータ分散処理システム(サービス連携型統合運用管理装置)を説明した。
以上の実施の形態では、
一連の業務プロセス処理において、分散した複数のサーバを(サービスバスにより)連携させ分散処理するシステムにおいて、処理対象の業務データ(コンテンツ)中に連携先のサービス(サーバ)や連携システム間のネットワークに関する運用管理情報(障害・性能情報)を挿入し、業務データ(コンテンツ)中に挿入された当該運用情報により、最適な連携先サービス(サーバ)動的に変更し、連携させることを特徴とするデータ分散処理方式を説明した。
以上の実施の形態では、
一連の業務プロセス処理において、分散した複数のサーバを(サービスバスにより)連携させ分散処理するシステムにおいて、処理対象の業務データ(コンテンツ)中に連携先のサービス、ネットワークの運用管理情報(障害管理・性能管理情報)を挿入することに特徴を有する統合運用管理システムを説明した。
以上の実施の形態では、
一連の業務プロセス処理において、分散した複数のサーバを(サービスバスにより)連携させ分散処理するシステムにおいて、処理対象の業務データ(コンテンツ)中に連携先のサービス、ネットワークの運用管理情報(障害管理・性能管理情報)を挿入し、別途挿入情報をログに書き出す統合運用管理システムを説明した。
実施の形態1におけるデータ転送システムのシステム構成を示す図。 実施の形態1におけるサービス監視装置等の外観の一例を示す図。 実施の形態1におけるサービス監視装置等のハードウェア構成を示す図。 実施の形態1におけるサービス監視装置、ESBのブロック図。 実施の形態1における監視条件定義の一例を示す図。 実施の形態1におけるデータ転送システムの動作を示すフローチャート。 実施の形態1における前処理定義を示す図。 実施の形態1における処理対象データを示す図。 実施の形態1における監視情報挿入定義の一例を示す図。 実施の形態1における監視情報の挿入手順を示すフローチャート。 実施の形態1における監視情報が挿入された処理対象データの例を示す図。 実施の形態1におけるCBR処理の手順を示すフローチャート。 実施の形態1におけるCBR定義の例を示す図。 実施の形態1におけるログ定義251の例を示す図。
符号の説明
100 サービス監視装置、110 ESB設定・管理GUI部、111 ESB設定部、112 サービスプロセス設計部、113 プロセス監視設計部、120 ルーティング情報生成部、130 サービス・N/W監視部、140 ESB管理部、150 サービス監視DB参照部、160 監視条件定義格納部、161 監視条件定義、170 サービス監視DB格納部、171 サービス監視DB、180 監視側通信部、200 ESB、205 ESB側通信部、210 サービスフロー前処理部、211 前処理定義、220 データ変換処理部、221 データ変換定義、230 監視情報挿入処理部、231 監視情報挿入定義、240 CBR処理部、241 CBR定義、250 コンテンツロギング処理部、251 ログ定義、260 ESB制御部、270 メッセージバス、271 ESB定義、272 サービス管理DB、281,282,283 接続アダプタ、291 共有接続ファイル定義、292 再送待ちキュー、293 http接続定義、310 発注外部サーバ、320 第1受注外部サーバ、330 第2受注外部サーバ、400 ネットワーク、1000 データ転送システム。

Claims (9)

  1. ネットワークから処理の対象となる処理対象データを受信して処理する複数のサーバ装置の稼働状態と前記ネットワークの状態との少なくともいずれかを監視する監視部と、
    前記監視部による監視結果を示す監視情報を格納する監視結果格納部と
    を有する監視装置と、
    前記処理対象データを前記ネットワークを介して送信するデータ送信装置から前記ネットワークを介して前記処理対象データを受信する処理対象データ受信部と、
    前記処理対象データ受信部により前記処理対象データが受信されると前記監視装置から前記監視情報を取得する監視情報取得部と、
    前記監視情報取得部により取得された前記監視情報に基づいて、前記複数のサーバ装置のうち前記処理対象データを転送するべきサーバ装置を決定するサーバ決定部と、
    前記サーバ決定部により決定された前記サーバ装置に、前記ネットワークを介して前記処理対象データを転送する処理対象データ転送部と
    を有する転送装置と
    を備えたことを特徴とするデータ転送システム。
  2. 前記監視装置は、さらに、
    前記監視部による監視の監視条件が定義された監視条件定義を格納する監視条件定義格納部を備え、
    前記監視部は、
    前記監視条件定義に従って、監視することを特徴とする請求項1記載のデータ転送システム。
  3. 前記監視情報取得部は、
    前記監視情報を前記処理対象データに挿入して前記サーバ決定部に出力し、
    前記サーバ決定部は、
    前記挿入された前記監視情報を参照することにより、前記サーバ装置を決定することを特徴とする請求項1または2のいずれかに記載のデータ転送システム。
  4. 前記転送装置は、さらに、
    前記監視情報取得部により取得された前記監視情報をログとして蓄積するロギング処理部を有することを特徴とする請求項1〜3のいずれかに記載のデータ転送システム。
  5. 処理の対象となる処理対象データをネットワークを介して送信するデータ送信装置から前記ネットワークを介して前記処理対象データを受信する処理対象データ受信部と、
    前記処理対象データ受信部により前記処理対象データが受信されると、前記ネットワークから前記処理対象データを受信して処理する複数のサーバ装置の稼働状態と前記ネットワークの状態との少なくともいずれかを監視するとともに監視結果を示す監視情報を格納する監視装置から、前記監視情報を取得する監視情報取得部と、
    前記監視情報取得部により取得された前記監視情報に基づいて、前記複数のサーバ装置のうち前記処理対象データを転送するべきサーバ装置を決定するサーバ決定部と、
    前記サーバ決定部により決定された前記サーバ装置に、前記ネットワークを介して前記処理対象データを転送する処理対象データ転送部と
    を有することを特徴とする転送装置。
  6. ネットワークから処理の対象となる処理対象データを受信して処理する複数のサーバ装置の稼働状態と前記ネットワークの状態との少なくともいずれかを監視する監視部と、
    前記監視部による監視結果を示す監視情報を格納する監視結果格納部と、
    前記ネットワークを介して前記処理対象データを受信する監視側受信部と、
    前記監視側受信部により前記処理対象データが受信されると前記監視結果格納部から前記監視情報を取得し、取得した前記監視情報を前記処理対象データに挿入する監視側挿入部と
    を備えたことを特徴とする監視装置。
  7. ネットワークから処理の対象となる処理対象データを受信して処理する複数のサーバ装置の稼働状態と前記ネットワークの状態との少なくともいずれかを監視する監視部と、
    前記監視部による監視結果を示す監視情報を格納する監視結果格納部と
    を有する監視装置と、
    前記処理対象データを前記ネットワークを介して送信するデータ送信装置から前記ネットワークを介して前記処理対象データを受信する処理対象データ受信部と、
    前記処理対象データ受信部により前記処理対象データが受信されると前記監視装置から前記監視情報を取得し、取得した前記監視情報を前記処理対象データに挿入する監視情報取得部と、
    前記監視情報取得部により取得された前記監視情報をログとして蓄積するロギング処理部と、
    所定の前記サーバ装置に、前記ネットワークを介して前記監視情報の挿入された前記処理対象データを転送する処理対象データ転送部と
    を有する転送装置と
    を備えたことを特徴とするデータ転送システム。
  8. コンピュータを
    処理の対象となる処理対象データをネットワークを介して送信するデータ送信装置から前記ネットワークを介して前記処理対象データを受信する処理対象データ受信部、
    前記処理対象データ受信部により前記処理対象データが受信されると、前記ネットワークから前記処理対象データを受信して処理する複数のサーバ装置の稼働状態と前記ネットワークの状態との少なくともいずれかを監視するとともに監視結果を示す監視情報を格納する監視装置から、前記監視情報を取得する監視情報取得部、
    前記監視情報取得部により取得された前記監視情報に基づいて、前記複数のサーバ装置のうち前記処理対象データを転送するべきサーバ装置を決定するサーバ決定部、
    前記サーバ決定部により決定された前記サーバ装置に、前記ネットワークを介して前記処理対象データを転送する処理対象データ転送部
    として機能させることを特徴とする転送プログラム。
  9. コンピュータを
    ネットワークから処理の対象となる処理対象データを受信して処理する複数のサーバ装置の稼働状態と前記ネットワークの状態との少なくともいずれかを監視する監視部、
    前記監視部による監視結果を示す監視情報を格納する監視結果格納部、
    前記ネットワークを介して前記処理対象データを受信する監視側受信部、
    前記監視側受信部により前記処理対象データが受信されると前記監視結果格納部から前記監視情報を取得し、取得した前記監視情報を前記処理対象データに挿入する監視側挿入部
    として機能させることを特徴とする監視プログラム。
JP2008161502A 2008-06-20 2008-06-20 データ転送システム及び転送装置及び監視装置及び転送プログラム及び監視プログラム Expired - Fee Related JP5047072B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008161502A JP5047072B2 (ja) 2008-06-20 2008-06-20 データ転送システム及び転送装置及び監視装置及び転送プログラム及び監視プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008161502A JP5047072B2 (ja) 2008-06-20 2008-06-20 データ転送システム及び転送装置及び監視装置及び転送プログラム及び監視プログラム

Publications (2)

Publication Number Publication Date
JP2010003121A true JP2010003121A (ja) 2010-01-07
JP5047072B2 JP5047072B2 (ja) 2012-10-10

Family

ID=41584785

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008161502A Expired - Fee Related JP5047072B2 (ja) 2008-06-20 2008-06-20 データ転送システム及び転送装置及び監視装置及び転送プログラム及び監視プログラム

Country Status (1)

Country Link
JP (1) JP5047072B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8984126B2 (en) 2011-11-09 2015-03-17 Nec Corporation Service collaboration device, service collaboration method, and computer-readable recording medium
JP2015527681A (ja) * 2012-09-07 2015-09-17 オラクル・インターナショナル・コーポレイション 分散型データグリッドクラスタにおけるメッセージ前処理をサポートするシステムおよび方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007122330A (ja) * 2005-10-27 2007-05-17 Nec Corp クラスタ障害推定システム
JP2007164264A (ja) * 2005-12-09 2007-06-28 Fuji Xerox Co Ltd 負荷分散プログラム、負荷分散装置、サービスシステム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007122330A (ja) * 2005-10-27 2007-05-17 Nec Corp クラスタ障害推定システム
JP2007164264A (ja) * 2005-12-09 2007-06-28 Fuji Xerox Co Ltd 負荷分散プログラム、負荷分散装置、サービスシステム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8984126B2 (en) 2011-11-09 2015-03-17 Nec Corporation Service collaboration device, service collaboration method, and computer-readable recording medium
JP2015527681A (ja) * 2012-09-07 2015-09-17 オラクル・インターナショナル・コーポレイション 分散型データグリッドクラスタにおけるメッセージ前処理をサポートするシステムおよび方法
JP2015531512A (ja) * 2012-09-07 2015-11-02 オラクル・インターナショナル・コーポレイション 分散型データグリッドクラスタにおけるスケーラブルなメッセージバスをサポートするシステムおよび方法

Also Published As

Publication number Publication date
JP5047072B2 (ja) 2012-10-10

Similar Documents

Publication Publication Date Title
US7793140B2 (en) Method and system for handling failover in a distributed environment that uses session affinity
US10404556B2 (en) Methods and computer program products for correlation analysis of network traffic in a network device
US8327022B2 (en) Method and apparatus for updating a domain name server
US8700765B2 (en) Methods and computer program products for monitoring and reporting network application performance
US8589537B2 (en) Methods and computer program products for aggregating network application performance metrics by process pool
Ezenwoye et al. TRAP/BPEL-A Framework for Dynamic Adaptation of Composite Services.
US20070101179A1 (en) Method for fault handling in a co-operative workflow environment
JP2005505831A (ja) Javaサーブレットを非同期メッセージと統合するための方法
JP2005539298A (ja) サーバを遠隔かつ動的に構成する方法およびシステム
US20120203890A1 (en) Methods and computer program products for monitoring and reporting performance of network applications executing in operating-system-level virtualization containers
US7500251B2 (en) Method and system for managing programs for web service system
US7954112B2 (en) Automatic recovery from failures of messages within a data interchange
CN111858007A (zh) 一种基于消息中间件的任务调度方法方法和装置
JP4834622B2 (ja) ビジネスプロセス運用管理システム、方法、プロセス運用管理装置およびそのプログラム
US7853956B2 (en) Message system and method
US8874798B2 (en) Aspect oriented application of a mediator in an enterprise service bus (ESB) of a service oriented architected data processing system
JP5047072B2 (ja) データ転送システム及び転送装置及び監視装置及び転送プログラム及び監視プログラム
JP5086820B2 (ja) サービス管理方法とシステムおよびプログラム
US20080216057A1 (en) Recording medium storing monitoring program, monitoring method, and monitoring system
US7607051B2 (en) Device and method for program correction by kernel-level hardware monitoring and correlating hardware trouble to a user program correction
US20050125555A1 (en) System and method for fault management in a service-oriented architecture
CN114764324A (zh) 企业资源规划系统及其集成方法
US8640143B2 (en) Method and system for providing preemptive response routing
CN113760693A (zh) 用于微服务系统的本地调试的方法和装置
JP4271612B2 (ja) 障害検出システム及び方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110114

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120307

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120417

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120601

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120717

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150727

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5047072

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees