(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0011】
図1は、本開示の実施例によるコンピュータ・ネットワーク用のトランザクション実行監視方法示すフローチャートである。
図1に示すように、本開示の実施例によるコンピュータ・ネットワーク用のトランザクション実行監視方法は、以下のようなステップを含む。
【0012】
ステップS10では、コンピュータ・ネットワーク上で実行しているトランザクションの監視データを取得し、監視データから異常データを抽出する。
【0013】
本実施例において、コンピュータ・ネットワーク上で実行しているトランザクションの実行過程を監視することにより、トランザクションの実行が正常か否かを明確に反映するための監視データを得る。例えば、この監視データは、ユーザーのオンライン数やユーザーのコンプレイン数やユーザーがウェブページにアクセスする際に発生した遅延などであることができる。この監視データは、コンピュータ・ネットワーク上でのトランザクションの正常実行により生成した通常データ、及びコンピュータ・ネットワーク上でのトランザクションの異常実行(すなわち、トランザクションの実行に故障が発生すること)により生成した異常データを含む。異常データは、例えば、ウェブページが使用できない旨を示すデータであることができる。
【0014】
ステップS30では、異常データに基づいて異常サービスを取得する。
【0015】
本実施例において、トランザクションは実行中に各サービスによりユーザーにいろんな機能を提供する。例えば、あるトランザクションの実行中、複数のサービスが提供する各機能が、そのトランザクションの処理能力を形成する。抽出された異常データに基づいて異常サービス(すなわち、故障が発生したサービス)を取得し、後続の処理によりこの異常サービスを引起した原因を見つけ出す。
【0016】
ステップS50では、異常サービスに基づいてコンピュータ・ネットワーク上に構築されたトランザクションのアーキテクチャ層でトランザクションの実行故障元の位置特定を行う。
【0017】
図2は、本開示の実施例によるトランザクションのアーキテクチャ構造を示す図である。
図2に示すように、本開示の実施例によるトランザクションのアーキテクチャ構造は、階層状の構造で、前端から後端までの順にアクセス層と、論理層と、データ層とを備える。ここで、アクセス層は、ユーザーの要求を受理し、ユーザーの要求を後端の論理層へ転送する階層である。論理層は、ユーザーにインターフェースを表示するページを提供するとともに、アクセス層から転送されたユーザーの要求に応じて論理処理を行い、処理結果をアクセス層を戻す階層である。データ層は、論理層が論理処理を行うのに必要な及び/又は論理処理を行うことにより生成した各種データを一時的に又は永久的に保存する階層である。トランザクションは、ユーザーの各種要求に応じて、コンピュータ・ネットワーク上に構築されたこのトランザクションのアーキテクチャ構造において実行される。
【0018】
図2に示すように、アクセス層と論理層とデータ層のいずれのアーキテクチャ層も、トランザクションソフトウエアと、トランザクションコンポーネントと、基礎ネットワークと、基本デバイスと、インフラストラクチャなどのような要素を含む。ここで、トランザクションコンポーネントは、パブリックドメインソフトウェアパッケージ、又はソフトウエアアーキテクチャパッケージであり、例えば、WebServer コンポーネントや、ネットワーク通信コンポーネントや、データベースコンポーネントなどである。トランザクションソフトウエアは、トランザクションコンポーネント上で実行され、多くはユーザーがアクセスするように直接に提供されるプログラムであり、例えば、ユーザーに表示インターフェースを提供するコモン・ゲートウェイ・インターフェース(Common Gateway Interface、CGIと略する)である。基本デバイスは、サーバと、スイッチと、ルーターなどの設備である。インフラストラクチャは、データセンターと、電力供給装置と、データセンタースペースなどの施設である。
【0019】
また、トランザクションのアーキテクチャ構造は、アクセス層と論理層とデータ層の区画ではなく、前端から後端までの順にトランザクションソフトウエアと、トランザクションコンポーネントと、基本デバイスと、インフラストラクチャとを備えてもよい。
【0020】
本実施例において、異常サービスが位置するアーキテクチャ層に異常が存在するか否かを検出する他にも、更にこの異常サービスと関連する複数のアーキテクチャ層に異常が存在するか否かも検出して、実行故障元の位置特定を実現することにより、サービス異常の発生を引起している故障原因を得るようにする必要がある。
【0021】
本開示の実施例によるトランザクション実行監視方法では、監視データ中の異常データに基づいて対応する異常サービスを取得し、異常サービスに基づいて関連するアーキテクチャ層においてトランザクションの実行故障元の位置特定を行うが、ただ異常サービスをトランザクション実行中の実行故障元とみなすだけではなく、それに応じて異常サービスと関連するアーキテクチャ層を検出することにより、実行故障元の位置特定を実現し、監視の正確性を向上するとともに、コンピュータ・ネットワーク上で実行されるトランザクションのメンテナンスも一層便利化する。
【0022】
図3は、本開示の実施例による異常サービスに基づいてコンピュータ・ネットワーク上に構築されたトランザクションのアーキテクチャ層でトランザクションの実行故障元の位置特定を行う処理を示すフローチャートである。
図3に示すように、一実施例において、上記のステップS50の具体的な過程は以下のとおりである。
【0023】
ステップS510では、異常サービスが位置するアーキテクチャ層に異常が存在するか否かを検出し、Yesの場合、ステップS520に移行し、Noの場合、ステップS50の処理を終了する。
【0024】
本実施例において、異常サービスが位置するアーキテクチャ層における各セグメントに異常があるか否かを検出し、該アーキテクチャ層に出現した異常点を記録する。異なるアーキテクチャ層及び同一のアーキテクチャ層における異なる要素によって、対応する異常点がそれぞれ異なる。具体的に、異常点は、アーキテクチャ層及びアーキテクチャ層における要素に異常があるか否かを判定するためのもので、異常現象に関する記述である。例えば、アーキテクチャ層の基本デバイスについて、異常点は、サーバと接続できないことであり、アーキテクチャ層の基礎ネットワークについて、異常点は、ネットワークパケットロス率 (Packet loss rate)が30%を超えたことである。
【0025】
ステップS520では、異常サービスが位置するアーキテクチャ層における異常点を記録する。
【0026】
ステップS530では、異常サービスと関連する次のアーキテクチャ層を開始層として、トランザクションのアーキテクチャ構造における前端から後端の順に各層毎に検出を行い、現在のアーキテクチャ層に異常が存在するか否かを判断する。Yesの場合、ステップS540に移行し、Noの場合、ステップS50の処理を終了する。
【0027】
トランザクションのアーキテクチャ構造において、前端の一つのアーキテクチャ層のサービスは、通常、直後の後端の一つのアーキテクチャ層におけるサービスに依存して対応する機能を実現する(ここで、当該後端のアーキテクチャ層を当該前端のアーキテクチャ層の次のアーキテクチャ層と称し、当該後端のアーキテクチャ層におけるサービスを当該前端のアーキテクチャ層におけるサービスの下游サービスと称する)。本実施例では、異常サービスが位置するアーキテクチャ層の次のアーキテクチャ層を開始層として、各層毎に現在のアーキテクチャ層に異常が存在するか否かを検出する必要がある。具体的に、トランザクションのアーキテクチャ構造における前端から後端の順に、現在のアーキテクチャ層に下流サービスが存在するか否かを判断し、Yesの場合、下流サービスに異常点が存在するか否かを更に判断する。下流サービスに異常点が存在すると、この異常点を記録する。
【0028】
別の実施例において、上記ステップS50は、以下のようなステップを更に含む。
【0029】
異常サービスと関連する次のアーキテクチャ層が存在するか否かを判断する。Yesの場合、ステップS530に移行し、Noの場合、異常サービスが位置するアーキテクチャ層に異常が存在すると検出された場合に記録された異常点をトランザクションの実行故障元とする。
【0030】
即ち、異常サービスが次のアーキテクチャ層におけるサービスに依存しなくても正常的に実行できると判断された場合、異常サービスが位置するアーキテクチャ層における異常点がトランザクションの実行故障元であるため、一層ずつ検出を行う必要がなくなり、故障検出の効率を向上させる。具体的に、次のアーキテクチャ層に異常サービスと関連するサービス(即ち、下流サービス)が存在するか否かを判断することにより、異常サービスと関連する次のアーキテクチャ層が存在するか否かを判断することができる。
【0031】
ステップS540において、現在のアーキテクチャ層における異常点を記録する。
【0032】
ステップS550において、トランザクションのアーキテクチャ構造における前端から後端の順に、記録された異常点を処理することにより、トランザクションの実行故障元の位置を特定する。
【0033】
本実施例において、記録された複数の異常点を集中し、トランザクションのアーキテクチャ構造における前端から後端までの順に、記録された複数の異常点に対して処理を行って、トランザクションの実行故障元の位置特定を実現する。トランザクションの実行中において、あらゆるアーキテクチャ層に出現された異常点は、いずれも異常なサービスを引き起こす可能性がある。このため、全ての異常点を集中すると、可能性が一番高い故障原因を特定でき、各アーキテクチャ層中の関連分析を実現できる。具体的に、トランザクションのアーキテクチャ構造におけるアーキテクチャ層の順に、記録された若干の異常点に対して関連分析を行うことにより、トランザクションの実行故障元を取得する。
【0034】
本開示の実施例によるトランザクション実行監視方法では、異常点を集中することにより可能性が一番高い故障原因を特定して各アーキテクチャ層中の関連分析を行い、相対的に分散している異常点を総合的に考慮して、正確な故障元を取得する。
【0035】
一実施例において、上記ステップS550の具体的な過程は、アーキテクチャ層に対応する優先順位に従って、記録された異常点から最高優先順位に対応する異常点をトランザクションの実行故障元として抽出する。
【0036】
本実施例において、各アーキテクチャ層に、アーキテクチャ層において異常点が異常サービスを引き起こす可能性の大きさを示す優先順位を予め設定する。言い換えると、優先順位も異常サービスを発生させる影響要素を示す。優先順位が最高の異常点は、異常サービスを発生させる影響要素が最大の異常点であり、実行故障元となる可能性が一番高い。このため、アーキテクチャ層に対応する優先順位に従って、記録された若干の異常点から優先順位が最高の異常点を抽出し、抽出された異常点によりトランザクションの実行故障元の位置特定を実現できる。
【0037】
最高優先順位の複数の異常点については、さらにアーキテクチャ層における要素の優先順位に基づいて、どの異常点がトランザクションの実行故障元であるかを特定する。例えば、インフラストラクチャに故障が発生すると、必ず基本デバイス、基礎コンポーネント及び基礎ソフトウエアに影響が与えられる。そのため、インフラストラクチャと基本デバイス共に異常点が存在する場合、インフラストラクチャでの異常点をトランザクションの実行故障元とし、その他も類推する。
【0038】
図4は、本開示の実施例による記録された異常点をトランザクションのアーキテクチャ構造におけるアーキテクチャ層の順に処理することによりトランザクションの実行故障元の位置特定を行う処理を示すフローチャートである。
図4に示すように、別の実施例において、上記ステップS550の具体的な過程は以下のようなステップを含む。
【0039】
ステップS551では、記録された異常点からトランザクションのアーキテクチャ構造における最後端のアーキテクチャ層に対応する異常点を抽出する。
【0040】
本実施例において、トランザクションのアーキテクチャ構造における前端から後端までの順に、記録された若干の異常点から最後端のアーキテクチャ層に対応する異常点を抽出し、最後端に位置するアーキテクチャ層における異常点を異常サービスを引き起こした原因とする。
【0041】
ステップS553では、抽出された異常点をトランザクションの実行故障元とする。
【0042】
一実施例において、上記トランザクション実行監視方法は、実行故障元及びそれに対応する異常点を故障位置特定ページに提示して、トランザクションメンテナンスを行う作業者が容易に見るようにすることを更に含む。
【0043】
図5は、本開示の実施例によるコンピュータ・ネットワーク用のトランザクション実行監視システムの構成を示す図である。
図5に示すように、一実施例において、コンピュータ・ネットワーク用のトランザクション実行監視システムは、データ監視モジュール10と、異常サービス取得モジュール30と、及び検出モジュール50とを含む。
【0044】
データ監視モジュール10は、コンピュータ・ネットワーク上で実行されているトランザクションの監視データを取得し、監視データ中から異常データを抽出するためのものである。
【0045】
本実施例において、コンピュータ・ネットワーク上で実行されているトランザクションの実行過程を監視することにより、当該トランザクションの実行が正常か否かを明確に反映するための監視データを取得する。例えば、この監視データは、ユーザーのオンライン数、ユーザーのコンプレイン数、及びあるウェブページにアクセスする際に発生した遅延などであることができる。この監視データは、コンピュータ・ネットワーク上でのトランザクションの正常実行により生成した通常データ、及びコンピュータ・ネットワーク上でのトランザクションの異常実行(すなわち、トランザクションの実行に故障が発生すること)により生成した異常データを含み、異常データは、例えばあるページが使用できない旨を示すデータであることができる。
【0046】
異常サービス取得モジュール30は、異常データに基づいて異常サービスを取得するためのものである。
【0047】
本実施例において、トランザクションは実行中において各種サービスによりユーザーにいろんな機能を提供する。例えば、あるトランザクションの実行中において、複数のサービスが提供する各機能がこのトランザクションの所有する処理能力を構成する。異常サービス取得モジュール30は、抽出された異常データに基づいて、異常サービスを取得し、後続の処理により該異常サービスを引き起こした原因を見つけ出す。
【0048】
検出モジュール50は、異常サービスに基づいてコンピュータ・ネットワーク上に構築されたトランザクションのアーキテクチャ層においてトランザクションの実行故障元の位置特定を行うためのものである。
【0049】
本実施例において、トランザクションのアーキテクチャ構造は、階層状の構造で、前端から後端までの順にアクセス層と、論理層と、データ層とを備える。ここで、アクセス層は、ユーザーの要求を受理し、ユーザーの要求を後端の論理層へ転送する階層である。論理層は、ユーザーにインターフェースを表示するページを提供するとともに、アクセス層から転送されたユーザーの要求に応じて論理処理を行い、処理結果をアクセス層を戻す階層である。データ層は、論理層が論理処理を行うのに必要な及び/又は論理処理を行うことにより生成した各種データを一時的に又は永久的に保存する階層である。トランザクションは、ユーザーの各種要求に応じて、コンピュータ・ネットワーク上に構築されたこのトランザクションのアーキテクチャ構造において実行される。
【0050】
アーキテクチャ層がアクセス層と論理層とデータ層のいずれのアーキテクチャ層も、トランザクションソフトウエア、トランザクションコンポーネント、基礎ネットワーク、基本デバイス、及びインフラストラクチャなどの要素を備える。ここで、トランザクションコンポーネントは、パブリックドメインソフトウェアパッケージ、又はソフトウエアアーキテクチャパッケージである。トランザクションソフトウエアは、トランザクションコンポーネント上に実行され、多くは、直接にユーザーにアクセスするように提供されるプログラムである。基本デバイスは、サーバ、スイッチ、ルーターなどのデバイスであり、インフラストラクチャは、データセンター、電力供給装置、データセンタースペースなどの施設である。
【0051】
また、トランザクションのアーキテクチャ構造は、アクセス層と論理層とデータ層の区画ではなく、前端から後端までの順にトランザクションソフトウエアと、トランザクションコンポーネントと、基本デバイスと、インフラストラクチャとを備えてもよい。
【0052】
本実施例において、検出モジュール50は、異常サービスが位置するアーキテクチャ層に異常が存在するか否かを検出する他にも、この異常サービスと関連する複数のアーキテクチャ層に異常が存在するか否かも検出することにより、実行故障元の位置特定を実現して、サービス異常の発生を引き起こした故障原因を取得する必要がある。
【0053】
本開示の実施例によるトランザクション実行監視システムでは、監視データ中の異常データに基づいて対応する異常サービスを取得し、異常サービスに基づいて関連するアーキテクチャ層においてトランザクションの実行故障元の位置特定を行うが、ただ異常サービスをトランザクション実行中の実行故障元とみなすだけではなく、それに応じて異常サービスと関連するアーキテクチャ層を検出することにより、実行故障元の位置特定を実現し、監視の正確性を向上し、コンピュータ・ネットワーク上で実行されるトランザクションのメンテナンスも一層便利化する。
【0054】
図6は、本開示の実施例による検出モジュールの構成を示す図である。
図6に示すように、検出モジュール50は、初期検出ユニット510と、層毎検出ユニット530と、処理ユニット550とを備える。
【0055】
初期検出ユニット510は、異常サービスが位置するアーキテクチャ層に異常が存在するか否かを検出し、Yesの場合、異常サービスが位置するアーキテクチャ層における異常点を記録し、Noの場合は、実行を終了する。
【0056】
本実施例において、初期検出ユニット510は、異常サービスが位置するアーキテクチャ層における各セグメントが異常か否かを検出し、このアーキテクチャ層に出現した異常点を記録する。異なるアーキテクチャ層と同一のアーキテクチャ層における異なる要素によって、対応する異常点がそれぞれ異なる。具体的に、異常点は、アーキテクチャ層及びアーキテクチャ層における要素に異常があるか否かを判定するもので、異常現象に関する記述である。
【0057】
層毎検出ユニット530は、異常サービスと関連する次のアーキテクチャ層を開始層として、トランザクションのアーキテクチャ構造における前端から後端までの順に各層毎に検出を行い、現在のアーキテクチャ層に異常が存在するか否かを判断し、Yesの場合、現在のアーキテクチャ層における異常点を記録する。
【0058】
トランザクションのアーキテクチャ構造において、前端の一つのアーキテクチャ層のサービスは、通常、直後の後端の一つのアーキテクチャ層におけるサービスに依存して対応する機能を実現する(ここで、当該後端のアーキテクチャ層を当該前端のアーキテクチャ層の次のアーキテクチャ層と称し、当該後端のアーキテクチャ層におけるサービスを当該前端のアーキテクチャ層におけるサービスの下游サービスと称する)。本実施例では、層毎検出ユニット530は、異常サービスが位置するアーキテクチャ層の次のアーキテクチャ層を開始層として、各層毎に現在のアーキテクチャ層に異常が存在するか否かを検出する必要がある。具体的に、層毎検出ユニット530は、トランザクションのアーキテクチャ構造における前端から後端までの順に、現在のアーキテクチャ層に下流サービスが存在するか否かを判断し、Yesの場合、下流サービスに異常点が存在するか否かを更に判断し、下流サービスに異常点が存在すると、この異常点を記録する。
【0059】
処理ユニット550は、トランザクションのアーキテクチャ構造における前端から後端の順に、記録された異常点を処理することによりトランザクションの実行故障元の位置を特定するものである。
【0060】
本実施例において、処理ユニット550は、記録された複数の異常点を集中し、トランザクションのアーキテクチャ構造における前端から後端までの順に、記録された複数の異常点に対して処理を行って、トランザクションの実行故障元の位置特定を実現する。トランザクションの実行中において、あらゆるアーキテクチャ層に出現された異常点は、いずれも異常なサービスを引き起こす可能性がある。このため、全ての異常点を集中すると、可能性が一番高い故障原因を特定でき、各アーキテクチャ層中の関連分析を実現できる。具体的に、処理ユニット550は、トランザクションのアーキテクチャ構造におけるアーキテクチャ層の順に、記録された若干の異常点に対して関連分析を行うことにより、トランザクションの実行故障元を取得する。
【0061】
本開示の実施例によるトランザクション実行監視システムでは、集中された異常点により可能性が一番高い故障原因を特定して各アーキテクチャ層中の関連分析を行い、相対的に分散している異常点を総合的に考慮して、正確な故障元を取得する。
【0062】
図7は、本開示の別の実施例による検出モジュールの構成を示す図である。
図7に示すように、検出モジュール50は、階層判断ユニット540を更に含む。階層判断ユニット540は、異常サービスと関連する次のアーキテクチャ層が存在するか否かを判断するものであり、Yesの場合、層毎検出ユニット530に通知し、Noの場合、処理ユニット550に通知する。
【0063】
本実施例において、階層判断ユニット540により異常サービスが次のアーキテクチャ層におけるサービスに依存しなくても正常的に実行できると判断された場合、異常サービスが位置するアーキテクチャ層における異常点がトランザクションの実行故障元であるため、一層ずつ検出を行う必要がなくなり、故障検出効率が向上する。具体的に、階層判断ユニット540は、次のアーキテクチャ層に異常サービスと関連するサービス(即ち、下流サービス)が存在するか否かを判断することにより、異常サービスと関連する次のアーキテクチャ層が存在するか否かを判断することができる。
【0064】
上記処理ユニット550は、記録された異常点を実行故障元として位置特定するものでもある。
【0065】
一実施例において、上記処理ユニット550は、さらにアーキテクチャ層に対応する優先順位に基づいて、記録された異常点から最高優先順位に対応する異常点を、実行故障元として位置特定する。
【0066】
本実施例において、各アーキテクチャ層に、アーキテクチャ層において異常点がサービス異常を引き起こす可能性の大きさを示す優先順位を予め設定する。言い換えると、優先順位も異常サービスを発生させる影響要素を示す。優先順位が最高の異常点は、異常サービスを発生させる影響要素が最大の異常点であり、実行故障元となる可能性が一番高い。このため、処理ユニット550は、アーキテクチャ層に対応する優先順位に基づいて、記録された若干の異常点から最高優先順位の異常点を抽出し、抽出された異常点に基づいて故障元の位置特定を実現できる。
【0067】
最高優先順位の複数の異常点については、処理ユニット550は、さらにアーキテクチャ層における要素の優先順位に基づいて、どの異常点がトランザクションの実行故障元であるかを特定する。例えば、インフラストラクチャに故障が発生すると、必ず基本デバイス、基礎コンポーネント及び基礎ソフトウエアに影響が与えられる。そのため、インフラストラクチャと基本デバイス共に異常点が存在する場合、インフラストラクチャでの異常点をトランザクションの実行故障元とし、その他も類推である。
【0068】
別の実施例において、上記処理ユニット550は、さらに、記録された異常点から最後端のアーキテクチャ層に対応する異常点を抽出し、抽出された異常点をトランザクションの実行故障元とする。
【0069】
本実施例において、処理ユニット550は、トランザクションのアーキテクチャ構造における前端から後端までの順に、記録された若干の異常点から最後端のアーキテクチャ層に対応する異常点を抽出し、最後端に位置するアーキテクチャ層における異常点を異常サービスを引き起こした原因とする。
【0070】
一実施例において、上記トランザクション実行監視システムは、さらに、実行故障元及びそれに対応する異常点を故障位置特定ページに提示して、トランザクションメンテナンスを行う作業者が容易に見るようにする。
【0071】
上記トランザクション実行監視方法及びシステムでは、トランザクションのアーキテクチャ構造における前端から後端までの順に、異常サービスと関連するアーキテクチャ層を検出して、各アーキテクチャ層に発生した故障が異常サービスを引き起こす要因になるかを確認し、ひいては複数のアーキテクチャ層において実行故障の位置を正確に特定するので、トランザクションメンテナンスを行う作業者が多量の警告内容を一つずつ分析する必要がない。
【0072】
本開示は、コンピュータが上記トランザクション実行監視方法を実行するよう制御するように操作可能なコンピュータ実行可能命令を記憶したコンピュータ記憶媒体をさらに提供する。コンピュータ記憶媒体におけるコンピュータ実行可能命令がトランザクション実行監視方法を実行する具体的なステップは、上記方法において説明した通りで、ここではその説明を省略する。
【0073】
以上で説明した実施例は、ただ本開示のいくつかの具体的な実施形態に過ぎず、その説明は比較的に具体的で詳細であるが、本開示の保護しようとする範囲を制限することではない。当業者は、本開示の思想から逸脱しない限り種々の変形と変更を行うこともでき、このような変形及び変更も本開示の保護範囲に属することは言うまでもない。従って、本開示の保護範囲は、特許請求の範囲に基づいて定めなければならない。