【文献】
尾居 愛子 外3名,「サービスチェイニングにおける故障原因推定方法の一検討」,電子情報通信学会2015年総合大会講演論文集 通信2,一般社団法人電子情報通信学会,2015年 2月24日,p.528
(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0020】
更に、添付の図面を参照しながら本願を以下詳細に述べる。
【0021】
本願の典型的な構成では、端末、サービスネットワーク内のデバイス、及び信頼できるパーティは、どれもが1つ以上のプロセッサ(CPU)、入出力インターフェース、ネットワークインターフェース、及びメモリを含んでいる。
【0022】
このメモリには、例えばリードオンリメモリ(ROM)やフラッシュメモリ(フラッシュRAM)のようなコンピュータ読み出し可能な媒体内の、揮発性メモリ、ランダムアクセスメモリ(RAM)、及び/又は不揮発性メモリ等がある。このメモリは、コンピュータ読み出し可能な媒体の一例である。
【0023】
コンピュータ読み出し可能な媒体には、任意の方法又は技術を用いて情報を記憶できる不揮発性媒体、揮発性媒体、リムーバブル媒体、又は非リムーバブル媒体がある。情報は、コンピュータ読み出し可能な命令、データ構造、プログラムモジュール、又はその他のデータであってよい。コンピュータ記憶媒体の例として以下があるが、それらに限定されない。すなわち、パラメータランダムアクセスメモリ(PRAM)、スタティックランダムアクセスメモリ(SRAM)、ダイナミックランダムアクセスメモリ(DRAM)、その他のタイプのランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、電気的消去が可能なリードオンリメモリ(EEPROM)、フラッシュメモリ又はその他のメモリ記憶デバイス、コンパクトディスク−リードオンリメモリ(CD−ROM)、デジタル多目的ディスク(DVD)若しくは他の光学記憶装置、磁気カセット、磁気テープ、磁気ディスク若しくは他の磁気記憶デバイス、又は、計算デバイスがアクセスできる情報の記憶に用いられる他の非伝送媒体。本明細書での定義に基づき、コンピュータ読み出し可能な媒体には、変調したデータ信号やキャリアのような、コンピュータ読み出し可能な非一時的な媒体(transitory media)は含まれない。
【0024】
図1は、本願の一態様によるサービス呼び出し情報処理方法を例示するフローチャートである。この手順はステップS1、ステップS2、及びステップS3を含む。
【0025】
ステップS1では、デバイス1が、分散型サービスシステム内の1つ以上のサービス呼び出しチェーンを取得する。ここで、各サービス呼び出しチェーンは、順次に呼び出される1つ以上のサービスノードを含む。ステップS2では、デバイス1がサービス呼び出しチェーンに従って、対応するサービス呼び出しモデルを構成する。ステップS3では、デバイス1が、サービス呼び出しモデルに従ってサービス呼び出しチェーンを処理する。
【0026】
具体的には、このステップS1で、デバイス1が分散型サービスシステムにおいて1つ以上のサービス呼び出しチェーンを取得する。この場合、各サービス呼び出しチェーンは、順次に呼び出される1つ以上のサービスノードを含んでいる。このように、分散型サービスシステムは、サービスアーキテクチャに適応するソフトウェアシステムを含むがそれに限定されない、すなわち、分散型システムの形式で構成される。サービスノードは、分散型サービスシステムにおいて呼び出されるサービス又は機能を含むがそれに限定されない。例えば、電子商取引プラットフォーム上で製品を購入するためのサービスノードは、ユーザの氏名を呼び出すステップ、ユーザの関連アカウントを呼び出すステップ、決済ページを呼び出すステップ、セキュリティ検証を取得するステップ、預金残高を調べるステップなどを含む。サービス呼び出しチェーンとは、分散型サービスシステムにおいて一度にサービス呼び出しを完了するための、関連するサービスノード及び関連するサービスノードの順序を指すものである。例えば、
図9は、以下のサービス呼び出しを例示する概略図である。すなわち、サービス呼び出しチェーンの入口がサービスノードAであり、丸で囲んだA、B、C、Dはそれぞれサービスノードを表す。図示のサービス呼び出しチェーンの入口はサービスノードAであり、サービスノードAを完了するためには、先ずBを呼び出し、次にCを呼び出す必要がある。Cを完了するためにはDを呼び出す必要がある。
図9に示すサービス呼び出しでは、サービス呼び出しチェーン内のサービス呼び出しノードを順番に呼び出す。つまり、図示のサービス呼び出しチェーンの呼び出し順序はA→B→C→Dである。
図9に示すサービス呼び出しチェーンでのサービスノードの呼び出しは、サービスノードの呼び出し順序に従って、コンピュータ言語にて容易に識別される。最初の入口ノードをA0とマーキングし、次に呼び出されるBをB0.1とマーキングすることができる。つまり、0はAを表し、記号“.”の後の1は、BがAの後に呼び出される1番目のサービスノードであることを示す。次に呼び出されるCはC0.2とマーキングされる。つまり、0はAを表し、記号“.”の後の2は、CがAの後に呼び出される2番目のノードであることを示す。次に、Cを完了するためにはDを呼び出す必要があるため、Cを完了するためにDが呼び出されることがわかる。DはD0.2.1とマーキングされる。つまり、0はAを表し、記号“.”の後の2はCを表し、2つ目の記号“.”の後の1は、DがCの後に最初に呼び出されるノードであることを示す。したがって、
図9のトポロジ図に示す呼び出しチェーンは、A0、B0.1、C0.2、D0.2.1と表すことができる。順序マーキング方法は一例として用いたに過ぎず、順序及びトポロジ(形態、網構成)を表す数字を、各ノードが呼び出される際にログ内に記録することができる。例えば、ログ中で、この呼び出しを表す記録フィールドはXであり、フィールドXの後のいくつかのフィールドには、サービスノードのトポロジ及び呼び出し順序を表す数字並びにドットが記録され、ログに記録されたサービス呼び出しに基づいてサービス呼び出しチェーンを取得できるようにする。呼び出された関連サービスノードとこれらサービスノードの呼び出し順序とを含むサービス呼び出しチェーンが取得されることにより、サービス呼び出しの工程を明瞭に示し、各サービス呼び出しのトポロジ及び特徴を取得できるようになる。
【0027】
当業者は、前述のサービス呼び出しチェーンを取得する方法及びサービス呼び出しチェーンをマーキングする方法は単なる実施例として用いられていることを理解すべきである。その他の既存の又は将来登場する可能性のある、サービス呼び出しチェーンを取得する方法及びサービス呼び出しチェーンをマーキングする方法が本願に該当する場合は、これらその他の方法は本願の保護範囲に含まれ、参照によって本願に援用されるものとする。
【0028】
次に、ステップS2では、デバイス1が、サービス呼び出しチェーンに従って対応するサービス呼び出しモデルを構成する。サービス呼び出しモデルは、サービス呼び出しチェーンのトポロジ構造に基づいて構成されるものであって、このサービス呼び出しチェーンと同じノード呼び出し順序を有する。例えば、取得したサービス呼び出しチェーンのサンプルが十分ある場合には、同じサービス呼び出しチェーンが、同じサービスプロバイダのプラットフォーム又はアプリケーションシステム内に現れる。例えば、1日のうちに、全国のユーザが
図9に示すサービスノードに関連したサービス呼び出しを30,000回実行する場合には、サービスノードの呼び出し順序は同じで、サービスノードのトポロジは同じであるため、30,000回のサービス呼び出しは同じサービス呼び出しモデル、すなわち、前出の実施例でのA0、B0.1、C0.2、D0.2.1に対応する。サービスノードの同じトポロジと同じ呼び出し順序を有するいくつかのサービス呼び出しチェーンを集約することによってサービス呼び出しモデルを取得する工程が構成工程である。ビッグデータサンプルに基づいてサービス呼び出しチェーンをより明確に分析できるように、サービス呼び出しチェーンに対応するサービス呼び出しモデルを構成する。加えて、構成されたモデルは、或るタイプのサービス呼び出しを表してもよく、それによりサービス呼び出しモデルに基づいた各モデル内での後続のデータ分析を容易にする。
【0029】
次に、ステップS3では、デバイス1が、サービス呼び出しモデルに従ってサービス呼び出しチェーンを処理する。サービス呼び出しモデルと同じトポロジ順序及び同じサービスノード呼び出し順序を有するサービス呼び出しチェーンのデータを、サービス呼び出しモデルに基づいて分析する。各サービスノードの呼び出しデータ、例えば、各ノードの呼び出し完了時間や、呼び出し成功又は失敗は、状況に応じて異なる。しかし、十分な数のデータサンプルがあれば、各サービスノードの呼び出し規則を監視できる。例えば、特定のサービスノードの呼び出し完了時間は通常0.1秒未満であり、別の例では、特定のサービスノードのフィードバック情報中に呼び出し失敗が現れるのは、通常10回未満である。そのため、同じトポロジ順序と同じサービスノード呼び出し順序とを有するサービス呼び出しチェーンのデータを、サービス呼び出しモデルに基づいて分析することにより取得した呼び出し規則を用いることにより、エラーの所在を特定し、分散型システム内の呼び出しが正常であるかどうかを監視することができる。例えば、特定のサービスノードの呼び出し完了時間が、前述の例と同様に、通常0.1秒未満であり、特定期間内にサービスノードを100回呼び出す中で、0.1秒の10倍を超えることが50回より多い場合には、サービスノードの呼び出しエラーが存在する、と検出できる。
【0030】
当業者は、前述のサービス呼び出しチェーン処理方法が単なる実施例として用いられていることを理解すべきである。別の既存の又は将来登場する可能性のあるサービス呼び出しチェーン処理方法が本願に該当する場合は、この別のサービス呼び出しチェーン処理方法は本願の保護範囲に含まれ、参照によって本願に援用されるものとする。
【0031】
図2は、本願の別の好ましい実施の形態によるサービス呼び出し情報処理方法におけるステップS1を例示するフローチャートである。このステップS1は、ステップS11とステップS12を含む。
【0032】
ステップS11では、デバイス1が分散型システムからサービス呼び出しログ情報を取得する。ステップS12では、デバイス1がこのサービス呼び出しログ情報から1つ以上のサービス呼び出しチェーンを抽出する。ここで、各サービス呼び出しチェーンは、順次に呼び出される1つ以上のサービスノードを含んでいる。
【0033】
具体的に、ステップS11では、デバイス1は分散型システムからサービス呼び出しログ情報を取得する。サービス呼び出しログ情報は、各サービスノードが呼び出される度に、各サービスノードのマークと順序情報を記録し、各サービス呼び出しにおける順序及びトポロジの判定に用いることができるその他の情報を記録する。例えば、前述の実施例での
図9に示すサービス呼び出しにてノードがD0.2.1とマーキングされている呼び出し順序に従ってノードがマーキングされた場合には、1つのノードは特定期間中に2回以上呼び出されるので、1つのスタート点から2つ以上の呼び出し工程が始まり、次いで、第1のサービスノードが呼び出され、そして第2のサービスノードの次のノードが呼び出され、0.2.1とマーキングされることになろう。したがって、各ノードを呼び出す度に、各サービス呼び出しをマーキングして、ログに記録する必要がある。例えば、ログ中、
図9に示す呼び出しを表すフィールドはXとして記録される。つまり、Xは、入口AからDの、完了した特定のサービス呼び出しがXとしてマーキングされたことを表わし、ログ情報の取得時に呼び出しをマーキングしているフィールドの読み出しを可能にする。別の例では、前述の実施例と同様、各ノードが呼び出されると、順序とトポロジとを表す数字がログに記録されることで、ログ情報の取得時にサービス呼び出しチェーンにおけるサービスノードのトポロジと呼び出し順序とをマークするフィールドの読み出しが可能になる。前述のサービス呼び出しログ情報が取得されると、サービス呼び出し内のノードをリンクさせてサービス呼び出しチェーンの取得を可能にする。
【0034】
当業者は、前述のサービス呼び出しログ記録方法が単なる実施例として用いられていることを理解すべきである。別の既存の又は将来登場する可能性のあるサービス呼び出しログ記録方法が本願に該当する場合は、この別のサービス呼び出しログ記録方法は本願の保護範囲に含まれ、参照によって本願に援用されるものとする。
【0035】
次に、ステップS12で、デバイス1は、順次に呼び出される1つ以上のサービスノードを含む1つ以上のサービス呼び出しチェーンを、サービス呼び出しログ情報から抽出する。つまり、各サービスノードが呼び出される度に、ログ情報は、各サービスノードのマーキング及び順序情報と、各サービス呼び出しにおける順序とトポロジとの判定に用いることができる他の情報とを記録する。そして、マーキング、順序情報、及び他の情報に基づいて、関連の呼び出し順序の情報と関連のトポロジの情報とを1ユニットのサービス呼び出しとして抽出し、ノードどうしをリンクさせることにより、サービス呼び出し毎のサービス呼び出しチェーンを生成する。例えば、取得した呼び出しログ情報は「alipay,com.alipay.chashier.xxx,0x0boc123,0.2.1,AE001…」であり、ログはカンマで分割される。第1のフィールドはシステム名「alipay」であり、第2のフィールドはインターフェース方法を表す。第3のフィールドはサービス呼び出しのマーキングを表し、第4のフィールドは呼び出し中における順序及びトポロジを表し、第5のフィールドは、呼び出しの実行結果を表すリターンコード「AE001」である。ログの後部では、記号「…」を用いて多くのフィールドを省略できる。つまり、サービス呼び出しのマーキング記録に従って、全てのログの第3のフィールドが検索され、「0x0boc123」を含む全てのサービス呼び出しノードが検索され、識別されたログ記録に対応するノードの呼び出し順序及びトポロジが、前述の実施例のマーキング方法を用いて記録された第4のフィールドに記録されたフィールドに基づいて分類され、最後に、サービス呼び出しチェーンがA0、B0.1、C0.2、D0.2.1のような形式で形成される。
【0036】
当業者は、前述のログ情報からサービス呼び出しチェーンを抽出する方法が単なる実施例として用いられていることを理解すべきである。別の既存の又は将来登場する可能性のある、ログ情報からサービス呼び出しチェーンを抽出する方法が本願に該当する場合は、この別の方法は本願の保護範囲に含まれ、参照によって本願に援用されるものとする。
【0037】
好ましくは、ステップS12で、デバイス1が、サービス呼び出しチェーンに集約処理を実行することで、対応するサービス呼び出しモデルを構成する。ここで、サービス呼び出しモデルは、1つ以上のサービス呼び出しトポロジを含み、各サービス呼び出しトポロジは、1つ以上のサービス呼び出しチェーンに集約処理を実行することにより取得される。全てのサービス呼び出しモデルは同じサービス呼び出しトポロジを含んでいる。つまり、サービス呼び出しモデルは、同じサービス呼び出しトポロジを持つサービス呼び出しチェーンに集約を実行することで取得される。例えば、前述の実施例のとおりに取得したサービス呼び出しチェーンにおいて、30,000個のサービス呼び出しチェーンはA0、B0.1、C0.2、D0.2.1と表され、20,000個のサービス呼び出しチェーンはA0、B0.1、C0.2と表され、1つのサービス呼び出しチェーンはA0、B0.1と表される。サービス呼び出しモデル001は、30,000個のサービス呼び出しチェーンに集約を実行することにより取得でき、サービス呼び出しモデル002は、20,000個のサービス呼び出しチェーンに集約を実行することにより取得でき、単一のサービス呼び出しチェーンはサービス呼び出しモデル003として用いられる。つまり、サービス呼び出しモデルは、同じサービスノード、同じサービストポロジ及び同じ順序を含んでいる全てのサービス呼び出しチェーンを表し、これにより、サービス呼び出しチェーン内のサービスノードが実行したデータ呼び出しをサービス呼び出しモデルを用いて分析及び監視できるようになる。
【0038】
ステップS3で、デバイス1は、サービス呼び出しトポロジに従って、対応するサービス呼び出しチェーンを処理する。つまり、集約によって取得したサービス呼び出しモデル内のサービス呼び出しトポロジに基づいて、サービス呼び出しモデルと同じ呼び出しトポロジを有するサービス呼び出しチェーンのデータを分析する。前述の実施例と同様、サービス呼び出しモデルA0、B0.1、C0.2、D0.2.1を用いて、30,000個のサービス呼び出しチェーン内の各サービスノードのデータを分析する。例えば、取得した、1つのサービス呼び出しノードの呼び出し表示エラーの確率が1時間につき1/10,000回であることが分析により示された場合には、続いてこの分析結果に従って、サービス呼び出しモデルと同じサービス呼び出しトポロジを有する別のサービス呼び出しチェーンを監視して、サービス呼び出しノードの表示エラーの確率が1時間に1/10,000を超えるとエラーが報告されるようにする。したがって、サービス呼び出しチェーンはサービス呼び出しトポロジに基づいて処理され、比較的大量のデータサンプルがある場合には、システムを効率的に監視でき、システムの警告のパフォーマンスと安定性が向上する。
【0039】
好ましくは、デバイスは更にステップS4(不図示)を実行し、ステップS4において、デバイス1はサービス呼び出しトポロジにクリーニング操作を実行する。クリーニング操作は、重要でない呼び出しオブジェクト情報をフィルタリングにより除去する。前述の実施例にあるように、
図9に示すサービス呼び出しチェーンと同じ呼び出しノードトポロジを有するサービス呼び出しは2つある。サービスノードCが呼び出されたときには、いくつかの情報がさらに照会される。例えば、1つ目のサービス呼び出しチェーン内でキャッシュC1が問い合わせを受け、何も取得されなかった場合には、データベースC2が問い合わせを1回受け、次に、データがキャッシュC3に記憶される。しかし、2つ目のサービス呼び出しチェーン内でキャッシュC1に直接問い合わせすることでデータが取得される。クリーニング操作を実行する以前には、サービス呼び出しチェーンは2つの異なるチェーンであってよい。つまり、ノードCはノードC1、ノードC2、ノードC3を更に呼び出す。通常、これらの問い合わせを受けたノードにはシステム内に欠陥があり実行結果を戻さず、ノードの呼び出し結果は通常、ノードCにフィードバックされるため、ノードC1、ノードC2、ノードC3はクリーンオフ(ゼロクリア)され、無視される。加えて、ルーティングについての問い合わせを受けた中間ノード等はモデルに影響せず、クリーンオフできるため、主要なサービスノードの呼び出し状況が強調され、サービス呼び出しトポロジがより正確になる。
【0040】
当業者は、前述のサービス呼び出しトポロジクリーニング方法が単なる実施例として用いられていることを理解すべきである。別の既存の又は将来登場する可能性のあるサービス呼び出しトポロジクリーニング方法が本願に該当する場合は、この別のサービス呼び出しトポロジクリーニング方法は本願の保護範囲に含まれ、参照によって本願に援用されるものとする。
【0041】
更に、ステップS3で、デバイス1が、クリーニング済みのサービス呼び出しトポロジに従って、対応するサービス呼び出しチェーンを処理する。つまり、サービス呼び出しモデルを構成するために、クリーニング操作の実行後に取得され、同じサービス呼び出しトポロジを有するサービス呼び出しチェーンを、サービス呼び出しチェーンのログ情報に従って集約する。特定の集約及び構成方法は前述の方法と同じである。
【0042】
より好ましくは、クリーニング操作は以下のうちの少なくとも1つのステップを含む:
サービス呼び出しトポロジにおいて所定のサービスノードを削除するステップ。ここで、呼び出された、遠隔サービスに属さないサービスノード、例えば、中間サービスノード又はルーティングについて問い合わされた呼び出しノードは、フィルタリングにより除去される;
サービス呼び出しトポロジ内にある、呼び出し結果情報を戻さないサービスノードを削除するステップ。ここで、システム内で実行された呼び出し操作、例えば、キャッシュへの問い合わせやキャッシュの呼び出し、又はデータベースの呼び出しを含む、実行結果のようなサービス呼び出し結果を戻さないサービスノードは、フィルタリングによって除去される;
サービス呼び出しトポロジ内の低頻度で用いられるサービスノードを削除するステップ。ここで、サービス呼び出しトポロジに対応するサービス呼び出しチェーン内の低頻度で用いられるこのサービスノードの累積出現回数の数は、所定の低頻度使用の閾値よりも少ない、又はこれと等しい。ここで、呼び出し回数の特定の閾値を設定し、ログ情報又は他の履歴情報における呼び出し回数を読み出すことにより、非常に少ない状況でしか用いられない、又は、特定のサービス呼び出しチェーン全体が正常に終了した際に低頻度でのみ用いられるサービスノードを削除できるようにする。これにより、システムのデータ分析及び処理の負担が減り、より正確なサービス呼び出しモデルとより正確なデータの取得とが可能になる;及び
サービス呼び出しトポロジ内の低頻度で用いられるサービスノードを削除するステップ。ここで、サービス呼び出しトポロジに対応するサービス呼び出しチェーン内で低頻度で用いられるこのサービスノードの累積出現回数は、所定の低頻度使用の閾値よりも少ない、又はこれと等しい。サービス呼び出しトポロジに対応するサービス呼び出しチェーン内の、低頻度で用いられるこのサービスノード以外の、別のサービスノードの累積出現回数は、所定の高頻度使用の閾値よりも多い、又はこれと等しい。ここで、特定の呼び出し回数閾値を設定し、ログ情報又は他の履歴情報における呼び出し回数を読み出すことにより、主要のサービスノード又は特別に維持されたサービスノードを選択できるようにし、又、高頻度には用いられないサービスノードを削除できるようにする。これにより、データを細かく分析及び監視することが可能となる。
【0043】
ステップS2で、対応するサービス呼び出しモデルを構成できるようにするために、デバイス1が、サービス呼び出しチェーン内のサービスノードの呼び出しフィードバック情報を参照して、サービス呼び出しチェーンに集約処理を実行することが好ましい。ここで、サービス呼び出しモデルは1つ以上のサービス呼び出しトポロジを含み、各サービス呼び出しトポロジは、1つ以上のサービス呼び出しチェーンに集約処理を実行することで取得される。呼び出しフィードバック情報は、各サービスノードが呼び出された後、各サービスノードの戻りノードを参照し、戻りノードはサービスノードの実行結果を表すために用いられる。呼び出しフィードバック情報は、特定の実行結果と、様々な状況により形成され、特定の所定規則に基づいて識別できる情報、例えば、実行の成功又は失敗や、特定のサービスシナリオを含む。
図9に示すサービス呼び出しチェーンで、ノードBの呼び出しが成功した場合には、SUCCがフィードバックされる。ノードDの呼び出しが成功した場合には、呼び出しフィードバック情報はAE00であり、ノードCの呼び出しフィードバック情報はAE01であり、ノードAの呼び出しフィードバック情報はAE10である。これは、ノードAを呼び出すためには、ノードBの呼び出しが成功した後にノードCを呼び出す必要があり、ノードCを呼び出すためには、ノードDを最初に呼び出す必要があることを示す。呼び出しフィードバック情報はログに記録することができ、これにより、或る特定時にサービスノードを呼び出す呼び出しトポロジ情報に問い合わせする場合に、呼び出しフィードバック情報にも問い合わせできるようになる。各サービスノードはいくつかの呼び出しフィードバック情報に対応しており、サービス呼び出しチェーンの後端の呼び出しフィードバック情報は、通常、サービス呼び出しチェーンの前端の呼び出しフィードバック情報に影響を及ぼすが、サービス呼び出しチェーンの前端にて呼び出しフィードバック情報の両端に集約を実行することができる。例えば、
図9に示すサービスノードAは、システムの異常に関する情報を戻し、これは、サービスノードC又はサービスノードDにネットワークアクセス問題が生じている、又は、データベースに異常があることを示し得る。よって、各サービス呼び出しチェーンは呼び出しフィードバック情報の組み合わせであってよい。したがって、種々のサービス呼び出しチェーンについてエラーの所在を明確に特定するために、同じトポロジを有しサービス呼び出しモデルを構成するサービス呼び出しチェーンに集約を実行する場合、全ての呼び出しフィードバック情報の組み合わせがチェーン内に記録され、サービス呼び出しモデルに基づく後続のデータ分析に用いられる。
【0044】
当業者は、前述の呼び出しフィードバック情報を記録する方法と呼び出しフィードバック情報を提示する方法とが、単なる実施例として用いられていることを理解すべきである。その他の既存の又は将来登場する可能性のある、呼び出しフィードバック情報を記録する方法と呼び出しフィードバック情報を提示する方法が本願に該当する場合は、これらその他の方法は本願の保護範囲に含まれ、参照によって本願に援用されるものとする。
【0045】
図3は、本願の更に別の好ましい実施の形態によるサービス呼び出し情報処理方法におけるステップS3を例示するフローチャートである。ステップS3はステップS31とステップS32を含む。
【0046】
ステップS31で、デバイス1は、各サービス呼び出しチェーン内の1つのサービスノードの呼び出しフィードバック情報に従って、サービス呼び出しトポロジに対応する1つ以上のサービス呼び出しチェーンについての統計を収集する。ステップS32で、デバイス1が、対応する統計結果に従って、サービス呼び出しトポロジに対応するサービス呼び出しチェーンを監視する。
【0047】
具体的には、ステップS31で、デバイス1が、各サービス呼び出しチェーン内の1つのサービスノードの呼び出しフィードバック情報に従って、サービス呼び出しトポロジに対応する1つ以上のサービス呼び出しチェーンについての統計を収集する。つまり、サービス呼び出しモデルに対応するとともに同じサービス呼び出しトポロジを有する全てのサービス呼び出しチェーン内の呼び出しフィードバック情報を分析し、この呼び出しフィードバック情報についての統計を収集する。例えば、生成されたサービス呼び出しモデルとサービス呼び出しチェーンとのトポロジ関係に基づいて、同じサービス呼び出しトポロジを有する全てのサービス呼び出しチェーンを、このサービス呼び出しモデルのマークでマーキングする。つまり、各サービス呼び出しモデルが特定のマークを有するということである。更に、各サービス呼び出しチェーン内のマークと呼び出しフィードバック情報の組み合わせとに関連して、各サービス呼び出しチェーンに一意のマークを割り当てる。サービス呼び出しチェーン内の呼び出しフィードバック情報についての統計を収集し、各サービス呼び出しチェーン内のサービスノードの呼び出しフィードバック情報の状態を、一定時間の間、チェーン比較又は並列比較により集合的に分析する。
【0048】
当業者は、前述の呼び出しフィードバック情報分析に基づくデータ分析方法が単なる実施例として用いられていることを理解すべきである。別の既存の又は将来登場する可能性のある、呼び出しフィードバック情報分析に基づいたデータ分析方法が本願に該当する場合は、この別の方法は本願の保護範囲に含まれ、参照によって本願に援用されるものとする。
【0049】
次に、ステップS32で、デバイス1が、対応する統計結果に従って、サービス呼び出しトポロジに対応するサービス呼び出しチェーンを監視する。つまり、十分な数のデータサンプルが存在する場合は、サービス呼び出しトポロジ内の同じノードの呼び出しフィードバック情報同士を比較し、一定の時間間隔にてデータを監視する。例えば、統計サンプルの95%以上のデータは正常状態にある。システム内で5%の異常状況が生じた場合、システムはその異常を監視によって識別する。各サービス呼び出しノードについての呼び出しフィードバック情報が存在するので、監視により異常状態を識別した後に、特定のサービス呼び出しモデルに対応するサービス呼び出しチェーンの所在を特定できる。前述の実施例と同様に、各サービス呼び出しチェーンに対応する一意のマークに従って、特定のサービス呼び出しチェーンと、このサービス呼び出しチェーン内の呼び出されたサービスノードの所在とを特定する。
【0050】
当業者は、前述の分析結果に基づくサービス呼び出し監視方法が単なる実施例として用いられていることを理解すべきである。別の既存の又は将来登場する可能性のある、分析結果に基づくサービス呼び出し監視方法が本願に該当する場合は、この別の方法は本願の保護範囲に含まれ、参照によって本願に援用されるものとする。
【0051】
図4は、本願の更に別の好ましい実施の形態によるサービス呼び出し情報処理方法におけるステップS32を例示するフローチャートである。ステップS32はステップS321とステップS322を含む。
【0052】
ステップS321で、デバイス1は、所定の継続時間比較規則に基づいて、対応する統計結果を、サービス呼び出しトポロジに対応するサービス呼び出しチェーン内の各サービスノードの呼び出しフィードバック情報と比較する。ステップS322で、差異が所定の変動閾値を超えると、デバイス1が、この差異に対応するサービス呼び出しチェーンについての警告情報を生成する。警告情報は、この差異に対応するサービスノードの所在を特定するために用いられる。
【0053】
具体的には、ステップS321で、デバイス1が、所定の継続時間比較規則に基づいて、対応する統計結果を、サービス呼び出しトポロジに対応するサービス呼び出しチェーン内の各サービスノードの呼び出しフィードバック情報と比較する。つまり、特定の継続時間比較規則に従い、全てのサービス呼び出しチェーンの呼び出しフィードバック情報を同じサービス呼び出しトポロジに基づいて分析する。例えば、同じサービス呼び出しトポロジを有するサービス呼び出しチェーン内の、午前8時から午前9時までに生成されたデータと、午前9時から午前10時までに生成された呼び出しフィードバック情報とにチェーン比較分析を実行する。もう一つ例を挙げると、同じサービス呼び出しトポロジを有するサービス呼び出しチェーン内の、3月2日の午前8時から午前9時までに生成されたデータと、3月3日の午前8時から午前9時までに生成された呼び出しフィードバック情報とに並列比較分析を実行する。これにより、種々のシナリオにおいて正常作動中に生成された幅広いデータを取得できる。例えば、一日の決済失敗確率は、完了した決済において残高不足が100回出現することを示す。次に、これらの分析結果に基づいて、システムにおけるサービス呼び出しステータスを監視できる。
【0054】
当業者は、前述の統計結果を取得及び比較する方法が、単なる実施例として用いられていることを理解すべきである。その他の既存の又は将来登場する可能性のある、統計結果を取得及び比較する方法が本願に該当する場合は、これらその他の方法は本願の保護範囲に含まれ、参照によって本願に援用されるものとする。
【0055】
次に、ステップS322で、差異が所定の変動閾値を超えると、デバイス1が、この差異に対応するサービス呼び出しチェーンについての警告情報を生成する。この警告情報は、差異に対応するサービスノードの所在を特定するために用いられる。同じトポロジと同じサービスモデルを有するサービス呼び出しチェーンを、呼び出しフィードバック情報に基づいて分析した後に、日常の作動中に生成された、同じトポロジを有するサービス呼び出しチェーンのデータを、様々なシナリオで正常作動中に生成されたデータの取得された範囲に従って監視し、正常範囲を特定の閾値に設定する。例えば、前述の実施例にあるように、一日の決済失敗確率が、完了した決済にて残高不足が100回出現することを示す場合には、サービスノードの残高チェックについての失敗フィードバック回数の閾値を100回又は120回よりも少なく、或いはこれと等しく設定する。システムにおいて残高チェックについてのサービスノードの一日の失敗フィードバック回数が設定された閾値を超えると警告が発せられ、その失敗ノードが、サービス呼び出しチェーン情報と呼び出しフィードバック情報とで形成されたグローバルな一意のマークに基づいて追跡される。
【0056】
当業者は、前述の監視方法と警告方法とが単なる実施例として用いられていることを理解すべきである。その他の既存の又は将来登場する可能性のある監視方法と警告方法が本願に該当する場合は、これらその他の方法は本願の保護範囲に含まれ、参照によって本願に援用されるものとする。
【0057】
図5は、本願の別の態様によるサービス呼び出し情報処理デバイスを例示する概略図である。デバイス1は、サービス呼び出しチェーン取得装置11、サービス呼び出しモデル構成装置12、及び処理装置13を含む。
【0058】
デバイス1において、サービス呼び出しチェーン取得装置11は分散型サービスシステム内の1つ以上のサービス呼び出しチェーンを取得し、ここで、各サービス呼び出しチェーンは、順次に呼び出される1つ以上のサービスノードを含む。サービス呼び出しモデル構成装置12は、サービス呼び出しチェーンに従って、対応するサービス呼び出しモデルを構成する。更に処理装置13は、サービス呼び出しモデルに従って、サービス呼び出しチェーンを処理する。
【0059】
具体的に、サービス呼び出しチェーン取得装置11は、分散型サービスシステム内の1つ以上のサービス呼び出しチェーンを取得する。ここで、各サービス呼び出しチェーンは、順次に呼び出される1つ以上のサービスノードを含む。このように、分散型サービスシステムは、サービスアーキテクチャに適応するソフトウェアシステムを含むがそれに限定されない、すなわち、分散型システムの形式で構成される。サービスノードは、分散型サービスシステムにおいて呼び出されるサービス又は機能を含むがそれに限定されない。例えば、電子商取引プラットフォーム上で商品を購入するためのサービスノードは、ユーザの氏名を呼び出すステップ、ユーザの関連アカウントを呼び出すステップ、決済ページを呼び出すステップ、セキュリティ検証を取得するステップ、預金残高を調べるステップなどを含む。サービス呼び出しチェーンとは、分散型サービスシステムにおいて一度にサービス呼び出しを完了するための、関連するサービスノード及び順序を意味する。例えば、
図9は、以下のサービス呼び出しを例示する概略図である。すなわち、サービス呼び出しチェーンの入り口がサービスノードAである。丸で囲んだA、B、C、Dはサービスノードを表す。図示のサービス呼び出しチェーンの入口はサービスノードAであり、サービスノードAを完了するためには、まずBを呼び出し、次にCを呼び出す必要がある。Cを完了するためにはDを呼び出す必要がある。
図9に示すサービス呼び出しでは、サービス呼び出しチェーン内のサービス呼び出しノードを順番に呼び出す。つまり、図示のサービス呼び出しチェーンの呼び出し順序はA→B→C→Dである。
図9に示すサービス呼び出しチェーンでのサービスノードの呼び出しは、サービスノードの呼び出し順序に従って、コンピュータ言語にて容易に識別される。最初の入口ノードをA0とマーキングし、次に呼び出されるBをB0.1とマーキングしてよい。つまり、0はAを表し、記号“.”の後の1は、BがAの後に呼び出される1番目のサービスノードであることを示す。次に呼び出されるCはC0.2とマーキングされる。つまり、0はAを表し、記号“.”の後の2は、CがAの後に呼び出される2番目のノードであることを示す。次に、Cを完了するためにはDを呼び出す必要があるため、Cを完了するためにDが呼び出されることが分かる。DはD0.2.1とマーキングされる。つまり、0はAを表し、記号“.”の後の2はCを表し、2つ目の記号“.”の後の1は、DがCの後に最初に呼び出されるノードであることを示す。したがって、
図9のトポロジ図に示す呼び出しチェーンは、A0、B0.1、C0.2、D0.2.1と表すことができる。順序マーキング方法は単に一例として用いたものであり、順序及びトポロジを表す数字は、各ノードが呼び出される際にログ内に記録することができる。例えば、ログ中で、この呼び出しを表す記録フィールドはXであり、フィールドXの後のいくつかのフィールドには、サービスノードのトポロジ及び呼び出し順序を表す数字並びにドットが記録され、ログに記録されたサービス呼び出しに基づいてサービス呼び出しチェーンを取得できるようにする。関連する呼び出されたサービスノードとこれらサービスノードの呼び出し順序とを含むサービス呼び出しチェーンが取得されることにより、サービス呼び出しの工程を明瞭に示し、各サービス呼び出しのトポロジ及び特徴を取得できるようになる。
【0060】
当業者は、前述のサービス呼び出しチェーンを取得する方法とサービス呼び出しチェーンをマーキングする方法とは、単なる実施例として用いられていることを理解すべきである。その他の既存の又は将来登場する可能性のある、サービス呼び出しチェーンを取得する方法とサービス呼び出しチェーンをマーキングする方法とが本願に該当する場合は、これらその他の方法は本願の保護範囲に含まれ、参照によって本願に援用されるものとする。
【0061】
次に、サービス呼び出しモデル構成装置12が、サービス呼び出しチェーンに従って、対応するサービス呼び出しモデルを構成する。サービス呼び出しモデルは、サービス呼び出しチェーンのトポロジ構造に基づいて構成されるものであって、このサービス呼び出しチェーンと同じノード呼び出し順序を有する。例えば、取得したサービス呼び出しチェーンのサンプルが十分ある場合には、同じサービス呼び出しチェーンが同じサービスプロバイダのプラットフォーム又はアプリケーションシステムに現れる。例えば、1日のうちに、全国のユーザが
図9に示すサービスノードに関連したサービス呼び出しを30,000回実行する場合には、サービスノードの呼び出し順序は同じで、サービスノードのトポロジは同じであるため、30,000回のサービス呼び出しは同じサービス呼び出しモデル、すなわち、前出の実施例でのA0、B0.1、C0.2、D0.2.1に対応する。サービスノードの同じトポロジ及び同じ呼び出し順序を有するいくつかのサービス呼び出しチェーンを集約することによりサービス呼び出しモデルを取得する工程が構成工程である。ビッグデータサンプルに基づいてサービス呼び出しチェーンをより明確に分析できるように、サービス呼び出しチェーンに対応するサービス呼び出しモデルを構成する。加えて、構成されたモデルは、或るタイプのサービス呼び出しを表してもよく、それによりサービス呼び出しモデルに基づいた各モデル内での後続のデータ分析を容易にする。
【0062】
次に、処理装置13が、サービス呼び出しモデルに従って、サービス呼び出しチェーンを処理する。サービス呼び出しモデルと同じトポロジ順序及び同じサービスノード呼び出し順序を有するサービス呼び出しチェーンのデータを、サービス呼び出しモデルに基づいて分析する。各サービスノードの呼び出しデータ、例えば、各ノードの呼び出し完了時間や、呼び出し成功又は失敗は、状況に応じて異なる。しかし、十分な数のデータサンプルがあれば、各サービスノードの呼び出し規則を監視できる。例えば、特定のサービスノードの呼び出し完了時間は通常0.1秒未満であり、別の例では、特定のサービスノードのフィードバック情報中に呼び出し失敗が現れるのは、通常10回未満である。そのため、同じトポロジ順序と同じサービスノード呼び出し順序とを有するサービス呼び出しチェーンのデータを、サービス呼び出しモデルに基づいて分析することにより取得した呼び出し規則を用いることにより、エラーの所在を特定し、分散型システム内の呼び出しが正常であるかどうかを監視することができる。例えば、特定のサービスノードの呼び出し完了時間が、前述の例と同様に、通常0.1秒未満であり、特定期間内にサービスノードを100回呼び出す中で、0.1秒の10倍を超えることが50回より多い場合には、サービスノードの呼び出しエラーが存在する、と検出できる。
【0063】
当業者は、前述のサービス呼び出しチェーン処理方法が単なる実施例であることを理解すべきである。別の既存の又は将来登場する可能性のある、サービス呼び出しチェーン処理方法が本願に該当する場合は、この別のサービス呼び出しチェーン処理方法は本願の保護範囲に含まれ、参照によって本願に援用されるものとする。
【0064】
図6は、本願の別の好ましい実施の形態によるサービス呼び出し情報処理装置内のサービス呼び出しチェーン取得装置を例示する概略図である。サービス呼び出しチェーン取得装置11は、呼び出し情報取得ユニット111とサービス呼び出しチェーン生成ユニット112とを含む。
【0065】
呼び出し情報取得ユニット111は、分散型システムからサービス呼び出しログ情報を取得する。サービス呼び出しチェーン生成ユニット112は、サービス呼び出しログ情報から1つ以上のサービス呼び出しチェーンを抽出する。ここで、各サービス呼び出しチェーンは、順次に呼び出される1つ以上のサービスノードを含んでいる。
【0066】
具体的に、呼び出し情報取得ユニット111は、分散型システムからサービス呼び出しログ情報を取得する。サービス呼び出しログ情報は、各サービスノードが呼び出される度に、各サービスノードのマークと順序情報とを記録し、各サービス呼び出しにおける順序及びトポロジの判定に用いることができる他の情報を記録する。例えば、前述の実施例での
図9に示すサービス呼び出しにてノードがD0.2.1とマーキングされている呼び出し順序に従ってノードがマーキングされた場合には、1つのノードは特定期間中に2回以上呼び出されるので、1つのスタート点から2つ以上の呼び出し処理が開始する可能性がある。次いで、第1のサービスノードが呼び出され、又、第2のサービスノードの次のノードが呼び出され、0.2.1とマーキングされる。したがって、各ノードを呼び出す度に、各サービス呼び出しをマーキングして、ログに記録する必要がある。例えば、ログ中で、
図9に示す呼び出しを表すフィールドはXとして記録される。つまり、Xは、入口AからDへの特定の完了したサービス呼び出しがXとしてマーキングされたことを表わし、ログ情報の取得時に呼び出しをマーキングしているフィールドの読み出しを可能にする。別の例では、前述の実施例と同様、各ノードが呼び出されると、順序とトポロジを表す数字がログに記録されることで、ログ情報の取得時にサービス呼び出しチェーンにおけるサービスノードのトポロジと呼び出し順序をマークするフィールドの読み出しが可能になる。前述のサービス呼び出しログ情報が取得されると、サービス呼び出し内のノードをリンクさせてサービス呼び出しチェーンの取得を可能にする。
【0067】
当業者は、前述のサービス呼び出しログ記録方法が単なる実施例として用いられていることを理解すべきである。別の既存の又は将来登場する可能性のある、サービス呼び出しログ記録方法が本願に該当する場合は、この別のサービス呼び出しログ記録方法は本願の保護範囲に含まれ、参照によって本願に援用されるものとする。
【0068】
次に、サービス呼び出しチェーン生成ユニット112は、順次に呼び出される1つ以上のサービスノードを含む1つ以上のサービス呼び出しチェーンを、サービス呼び出しログ記録から抽出する。つまり、各サービスノードが呼び出される度に、ログ情報が、各サービスノードのマーキング及び順序情報と、各サービス呼び出しにおける順序及びトポロジの判定に用いることができるその他の情報とを記録する。更に、マーキング、順序情報、及びその他の情報に基づいて、関連の呼び出し順序の情報と関連のトポロジの情報とをサービス呼び出しの1ユニットとして抽出し、ノード同士をリンクさせる。これにより、サービス呼び出し毎のサービス呼び出しチェーンを生成する。例えば、取得した呼び出しログ情報は「alipay,com.alipay.chashier.xxx,0x0boc123,0.2.1,AE001…」であり、ログはコンマで分割されている。第1のフィールドはシステム名「alipay」であり、第2のフィールドはインターフェース方法を表す。第3のフィールドはサービス呼び出しのマーキングを表し、第4のフィールドは呼び出し中における順序及びトポロジを表し、第5のフィールドは、呼び出しの実行結果を表すリターンコード「AE001」である。ログの後部では、記号「…」を用いてより多くのフィールドを省略できる。つまり、サービス呼び出しのマーキング記録に従って、全てのログの第3のフィールドが検索され、「0x0boc123」を含む全てのサービス呼び出しノードが検索され、識別されたログ記録に対応するノードの呼び出し順序及びトポロジが、前述の実施例のマーキング方法を用いて記録された第4のフィールドに記録されたフィールドに基づいて分類され、最後に、サービス呼び出しチェーンがA0、B0.1、C0.2、D0.2.1のような形式で形成される。
【0069】
当業者は、前述のログ情報からサービス呼び出しチェーンを抽出する方法が、単なる実施例として用いられていることを理解すべきである。別の既存の又は将来登場する可能性のある、ログ情報からサービス呼び出しチェーンを抽出する方法が本願に該当する場合は、この別の方法は本願の保護範囲に含まれ、参照によって本願に援用されるものとする。
【0070】
好ましくは、サービス呼び出しモデル構成装置12は、サービス呼び出しチェーンに集約処理を実行することにより、対応するサービス呼び出しモデルを構成する。ここで、サービス呼び出しモデルは、1つ以上のサービス呼び出しトポロジを含み、各サービス呼び出しトポロジは、1つ以上のサービス呼び出しチェーンに集約処理を実行することにより取得される。全てのサービス呼び出しモデルは同じサービス呼び出しトポロジを含んでいる。つまり、サービス呼び出しモデルは、同じサービス呼び出しトポロジを持つサービス呼び出しチェーンに集約を実行することで取得される。例えば、前述の実施例のとおりに取得したサービス呼び出しチェーンにおいて、30,000個のサービス呼び出しチェーンはA0、B0.1、C0.2、D0.2.1と表され、20,000個のサービス呼び出しチェーンはA0、B0.1、C0.2と表され、1つのサービス呼び出しチェーンはA0、B0.1と表される。サービス呼び出しモデル001は、30,000個のサービス呼び出しチェーンに集約を実行することにより取得でき、サービス呼び出しモデル002は、20,000個のサービス呼び出しチェーンに集約を実行することにより取得でき、単一のサービス呼び出しチェーンはサービス呼び出しモデル003として用いられる。つまり、サービス呼び出しモデルは、同じサービスノード、同じサービストポロジ及び同じ順序を含んでいる全てのサービス呼び出しチェーンを表し、これにより、サービス呼び出しチェーン内のサービスノードが実行したデータ呼び出しをサービス呼び出しモデルを用いて分析及び監視できるようになる。
【0071】
処理装置13は、サービス呼び出しトポロジに従って、対応するサービス呼び出しチェーンを処理する。つまり、集約によって取得したサービス呼び出しモデル内のサービス呼び出しトポロジに基づいて、サービス呼び出しモデルと同じ呼び出しトポロジを有するサービス呼び出しチェーンのデータを分析する。前述の実施例と同様、サービス呼び出しモデルA0、B0.1、C0.2、D0.2.1を用いて、30,000個のサービス呼び出しチェーン内の各サービスノードのデータを分析する。例えば、取得した、1つのサービス呼び出しノードの呼び出し表示エラーの確率が1時間につき1/10,000回であることが分析により示された場合には、続いてこの分析結果に従って、サービス呼び出しモデルと同じサービス呼び出しトポロジを持つ別のサービス呼び出しチェーンを監視して、サービス呼び出しノードの表示エラーの確率が1時間に1/10,000を超えるとエラーが報告されるようにする。したがって、サービス呼び出しチェーンはサービス呼び出しトポロジに基づいて処理され、比較的大量のデータサンプルがある場合には、システムを効率的に監視でき、システムの警告のパフォーマンスと安定性が向上する。
【0072】
好ましくは、デバイスはクリーニング装置14(不図示)を更に含み、クリーニング装置14は、サービス呼び出しトポロジにクリーニング操作を実行する。クリーニング操作は、重要でない呼び出しオブジェクト情報をフィルタリングにより除去する。前述の実施例にあるように、
図9に示すサービス呼び出しチェーンと同じ呼び出しノードトポロジを有するサービス呼び出しは2つある。サービスノードCが呼び出されたときには、いくつかの情報がさらに照会される。例えば、1つ目のサービス呼び出しチェーン内でキャッシュC1が問い合わせを受け、何も取得されなかった場合には、データベースC2が問い合わせを1回受け、次に、データがキャッシュC3に記憶される。しかし、2つ目のサービス呼び出しチェーン内でキャッシュC1に直接問い合わせすることでデータが取得される。クリーニング操作を実行する以前には、サービス呼び出しチェーンは2つの異なるチェーンであってよい。つまり、ノードCはノードC1、ノードC2、ノードC3を更に呼び出す。通常、これらの問い合わせを受けたノードにはシステム内に欠陥があり実行結果を戻さず、ノードの呼び出し結果は通常、ノードCにフィードバックされるため、ノードC1、ノードC2、ノードC3はクリーンオフ(ゼロクリア)され、無視される。加えて、ルーティングについての問い合わせを受けた中間ノード等はモデルに影響せず、クリーンオフできるため、主要なサービスノードの呼び出し状況が強調され、サービス呼び出しトポロジがより正確になる。
【0073】
当業者は、前述のサービス呼び出しトポロジのクリーニング方法が単なる実施例として用いられていることを理解すべきである。別の既存の又は将来登場する可能性のある、サービス呼び出しトポロジのクリーニング方法が本願に該当する場合は、この別のサービス呼び出しトポロジのクリーニング方法は本願の保護範囲に含まれ、参照によって本願に援用されるものとする。
【0074】
更に、処理装置13は、クリーニング済みのサービス呼び出しトポロジに従って、対応するサービス呼び出しチェーンを処理する。つまり、サービス呼び出しモデルを構成するために、クリーニング操作の実行後に取得され、同じサービス呼び出しトポロジを有するサービス呼び出しチェーンを、サービス呼び出しチェーンのログ情報に従って集約する。特定の集約及び構成方法は前述の方法と同じである。
【0075】
より好ましくは、クリーニング操作は以下のうちの少なくとも1つのステップを含む:
サービス呼び出しトポロジにおいて所定のサービスノードを削除するステップ。ここで、呼び出された、遠隔サービスに属さないサービスノード、例えば、中間サービスノード、又はルーティングについて問い合わされた呼び出しノードはフィルタリングにより除去される;
サービス呼び出しトポロジ内にある、呼び出し結果情報を戻さないサービスノードを削除する。ここで、システム内で実行された呼び出し操作、例えば、キャッシュへの問い合わせやキャッシュの呼び出し、又はデータベースの呼び出しを含む、実行結果のようなサービス呼び出し結果を戻さないサービスノードはフィルタリングによって除去される;
サービス呼び出しトポロジ内の低頻度で用いられるサービスノードを削除するステップ。ここで、サービス呼び出しトポロジに対応するサービス呼び出しチェーン内の低頻度で用いられるこのサービスノードの累積出現回数の数は、所定の低頻度使用の閾値よりも少ない、又はこれと等しい。ここで、呼び出し回数の特定の閾値を設定し、ログ情報又は他の履歴情報における呼び出し回数を読み出すことにより、非常に少ない状況でしか用いられない、又は特定のサービス呼び出しチェーン全体が正常に終了した際に低頻度でのみ用いられるサービスノードを削除できるようにする。これにより、システムのデータ分析及び処理の負担が減り、より正確なサービス呼び出しモデルとより正確なデータの取得とが可能になる;及び
サービス呼び出しトポロジ内で低頻度で用いられるサービスノードを削除するステップ。ここで、サービス呼び出しトポロジに対応するサービス呼び出しチェーン内で低頻度で用いられるこのサービスノードの累積出現回数は、所定の低頻度使用の閾値よりも少ない、又はこれと等しい。サービス呼び出しトポロジに対応するサービス呼び出しチェーン内の、低頻度で用いられるこのサービスノード以外の、別のサービスノードの累積出現回数は、所定の高頻度使用の閾値よりも多い、又はこれと等しい。ここで、特定の呼び出し回数閾値を設定し、ログ情報又は他の履歴情報における呼び出し回数を読み出すことにより、主要のサービスノード又は特別に維持されたサービスノードを選択できるようにし、又、高頻度には用いられないサービスノードを削除できるようにする。これにより、データを細かく分析及び監視することが可能となる。
【0076】
好ましくは、サービス呼び出しモデル構成装置12は、対応するサービス呼び出しモデルを構成できるようにするために、サービス呼び出しチェーン内のサービスノードの呼び出しフィードバック情報を参照してサービス呼び出しチェーンに集約処理を実行する。ここで、サービス呼び出しモデルは1つ以上のサービス呼び出しトポロジを含み、各サービス呼び出しトポロジは、1つ以上のサービス呼び出しチェーンに集約処理を実行することにより取得される。呼び出しフィードバック情報は、各サービスノードが呼び出された後の各サービスノードの戻りノードを参照し、戻りノードはサービスノードの実行結果を表すために用いられる。呼び出しフィードバック情報は、特定の実行結果と、様々な状況により形成され、特定の所定規則に基づいて識別できる情報、例えば、実行の成功又は失敗や特定のサービスシナリオとを含む。
図9に示すサービス呼び出しチェーンでは、ノードBの呼び出しが成功した場合には、SUCCがフィードバックされる。ノードDの呼び出しが成功した場合には、呼び出しフィードバック情報はAE00であり、ノードCの呼び出しフィードバック情報はAE01であり、ノードAの呼び出しフィードバック情報はAE10である。これは、ノードAを呼び出すためには、ノードBの呼び出しが成功した後にノードCを呼び出す必要があり、ノードCを呼び出すためには、ノードDを最初に呼び出す必要があることを示す。呼び出しフィードバック情報はログに記録することができ、これにより、或る特定時にサービスノードを呼び出す呼び出しトポロジ情報に問い合わせする場合に、呼び出しフィードバック情報にも問い合わせできるようになる。各サービスノードはいくつかの呼び出しフィードバック情報に対応しており、サービス呼び出しチェーンの後端の呼び出しフィードバック情報は、通常、サービス呼び出しチェーンの前端の呼び出しフィードバック情報に影響を及ぼすが、サービス呼び出しチェーンの前端にて呼び出しフィードバック情報の両端に集約を実行することができる。例えば、
図9に示すサービスノードAは、システムの異常に関する情報を戻し、これは、サービスノードC若しくはサービスノードDにネットワークアクセス問題が生じている、又は、データベースに異常があることを示し得る。よって、各サービス呼び出しチェーンは呼び出しフィードバック情報の組み合わせであってよい。したがって、種々のサービス呼び出しチェーンについてエラーの所在を明確に特定するために、同じトポロジを有しサービス呼び出しモデルを構成するサービス呼び出しチェーンに集約を実行する場合、全ての呼び出しフィードバック情報の組み合わせがチェーン内に記録され、サービス呼び出しモデルに基づいた後続のデータ分析に用いられる。
【0077】
当業者は、前述の呼び出しフィードバック情報を記録する方法と呼び出しフィードバック情報を提示する方法とが、単なる実施例として用いられていることを理解すべきである。その他の既存の又は将来登場する可能性のある、呼び出しフィードバック情報を記録する方法と呼び出しフィードバック情報を提示する方法が本願に該当する場合は、これらその他の方法は本願の保護範囲に含まれ、参照によって本願に援用されるものとする。
【0078】
図7は、本願の更に別の好ましい実施の形態によるサービス呼び出し情報処理デバイス内の処理装置を例示する概略図である。処理装置13は、情報分析ユニット131と監視ユニット132を含む。
【0079】
情報分析ユニット131は、各サービス呼び出しチェーン内のサービスノードの呼び出しフィードバック情報に従って、サービス呼び出しトポロジに対応する1つ以上のサービス呼び出しチェーンについての統計を収集する。監視ユニット132は、対応する統計結果に従って、サービス呼び出しトポロジに対応するサービス呼び出しチェーンを監視する。
【0080】
具体的に、情報分析ユニット131は、各サービス呼び出しチェーン内のサービスノードの呼び出しフィードバック情報に従って、サービス呼び出しトポロジに対応する1つ以上のサービス呼び出しチェーンについての統計を収集する。つまり、サービス呼び出しモデルに対応するとともに同じサービス呼び出しトポロジを有する全てのサービス呼び出しチェーン内の呼び出しフィードバック情報を分析し、この呼び出しフィードバック情報についての統計を収集する。例えば、生成されたサービス呼び出しモデルとサービス呼び出しチェーンとのトポロジ関係に基づいて、同じサービス呼び出しトポロジを有する全てのサービス呼び出しチェーンを、サービス呼び出しモデルのマークでマーキングする。つまり、各サービス呼び出しモデルが特定のマークを有する。更に、各サービス呼び出しチェーン内のマークと呼び出しフィードバック情報の組み合わせとに関連して、各サービス呼び出しチェーンに一意のマークを割り当てる。サービス呼び出しチェーン内の呼び出しフィードバック情報についての統計を収集し、各サービス呼び出しチェーン内のサービスノードの呼び出しフィードバック情報の状態を、一定時間の間、チェーン比較又は並列比較により集合的に分析する。
【0081】
当業者は、前述の呼び出しフィードバック情報分析に基づくデータ分析方法が、単なる実施例として用いられていることを理解すべきである。別の既存の又は将来登場する可能性のある、呼び出しフィードバック情報分析に基づくデータ分析方法が本願に該当する場合は、この別の方法は本願の保護範囲に含まれ、参照によって本願に援用されるものとする。
【0082】
次に、監視ユニット132が、対応する統計結果に従って、サービス呼び出しトポロジに対応するサービス呼び出しチェーンを監視する。つまり、十分な数のデータサンプルが存在する場合は、サービス呼び出しトポロジ内の同じノードの呼び出しフィードバック情報どうしを比較し、一定の時間間隔にてデータを監視する。例えば、統計サンプルの95%以上のデータは正常状態にある。システム内で5%の異常状況が生じた場合、システムはその異常を監視によって識別する。各サービス呼び出しノードについての呼び出しフィードバック情報が存在するので、監視により異常状態を識別した後に、特定のサービス呼び出しモデルに対応するサービス呼び出しチェーンの所在を特定できる。前述の実施例と同様に、各サービス呼び出しチェーンに対応する一意のマークに従って、特定のサービス呼び出しチェーンと、このサービス呼び出しチェーン内の呼び出されたサービスノードの所在とを特定する。
【0083】
当業者は、前述の分析結果に基づくサービス呼び出し監視方法が単なる実施例として用いられていることを理解すべきである。別の既存の又は将来登場する可能性のある、分析結果に基づくサービス呼び出し監視方法が本願に該当する場合は、この別の方法は本願の保護範囲に含まれ、参照によって本願に援用される。
【0084】
図8は、本願の更に別の好ましい実施の形態によるサービス呼び出し情報処理デバイス内の監視ユニットを例示する概略図である。監視ユニット132は比較サブユニット1321と警告サブユニット1322を含む。
【0085】
比較サブユニット1321は、所定の継続時間比較規則に基づいて、対応する統計結果を、サービス呼び出しトポロジに対応するサービス呼び出しチェーン内の各サービスノードの呼び出しフィードバック情報と比較する。差異が所定の変動閾値を超えると、警告サブユニット1322が、この差異に対応するサービス呼び出しチェーンについての警告情報を生成する。ここで、警告情報は、この差異に対応するサービスノードの所在を特定するために用いられる。
【0086】
具体的に、比較サブユニット1321が、所定の継続時間比較規則に基づいて、対応する統計結果を、サービス呼び出しトポロジに対応するサービス呼び出しチェーン内の各サービスノードの呼び出しフィードバック情報と比較する。つまり、特定の継続時間比較規則に従い、全てのサービス呼び出しチェーンの呼び出しフィードバック情報を同じサービス呼び出しトポロジに基づいて分析する。例えば、同じサービス呼び出しトポロジを有する全てのサービス呼び出しチェーン内の、午前8時から午前9時までに生成されたデータと、午前9時から午前10時までに生成された呼び出しフィードバック情報とにチェーン比較分析を実行する。もう一つ例を挙げると、同じサービス呼び出しトポロジを有するサービス呼び出しチェーン内の、3月2日の午前8時から午前9時までに生成されたデータと、3月3日の午前8時から午前9時までに生成された呼び出しフィードバック情報とに並列比較分析を実行する。これにより、種々のシナリオにおいて正常作動中に生成された幅広いデータを取得できる。例えば、一日の決済失敗確率は、完了した決済において残高不足が100回出現することを示す。次に、これらの分析結果に基づいて、システムにおけるサービス呼び出しステータスを監視できる。
【0087】
当業者は、前述の統計結果を取得及び比較する方法が、単なる実施例として用いられていることを理解すべきである。その他の既存の又は将来登場する可能性のある、統計結果を取得及び比較する方法が本願に該当する場合は、これらその他の方法は本願の保護範囲に含まれ、参照によって本願に援用されるものとする。
【0088】
次に、差異が所定の変動閾値を超えると、警告サブユニットが、この差異に対応するサービス呼び出しチェーンについての警告情報を生成する。ここで、この警告情報は、差異に対応するサービスノードの所在を特定するために用いられる。同じトポロジと同じサービスモデルとを有するサービス呼び出しチェーンを、呼び出しフィードバック情報に基づいて分析した後に、日常の作動中に生成された、同じトポロジを有するサービス呼び出しチェーンのデータを、様々なシナリオで正常作動中に生成されたデータの取得された範囲に従って監視し、特定の閾値に正常範囲を設定する。例えば、前述の実施例にあるように、一日の決済失敗確率が、完了した決済にて残高不足が100回出現することを示す場合には、サービスノードの残高チェックについての失敗フィードバック回数の閾値を100回又は120回よりも少なく、或いはこれと等しく設定する。システムにおいて残高チェックについてのサービスノードの一日の失敗フィードバック回数が設定された閾値を超えると警告が発せられ、その失敗ノードが、サービス呼び出しチェーン情報と呼び出しフィードバック情報とで形成されたグローバルな一意のマークに基づいて追跡される。
【0089】
当業者は、前述の監視する方法と警告する方法が単なる実施例として用いられていることを理解すべきである。その他の既存の又は将来登場する可能性のある、監視する方法と警告する方法が本願に該当する場合は、これらその他の方法は本願の保護範囲に含まれ、参照によって本願に援用されるものとする。
【0090】
当業者は、本願の精神と範囲から逸脱せずに、本願に様々な修正及び変更を加えられることは明らかである。本願は、本願に対するこれらの修正及び変更が、以下の特許請求の範囲及びそれらと均等な技術によって定義された保護範囲に収まる場合には、これらの修正及び変更を包含することが意図されている。
【0091】
本願はソフトウェア、及び/又はソフトウェアとハードウェアの組み合わせにて実施できることに留意すべきである。例えば、本願は、特定用途向け集積回路(ASIC)、汎用コンピュータ、又はあらゆるその他の類似のハードウェアデバイスを用いて実施することができる。実施の形態では、前述のステップ及び機能を実施するために、本願のソフトウェアプログラムをプロセッサによって実行することができる。同様に、本願におけるソフトウェアプログラム(関連のデータ構造を含む)は、コンピュータ読み出し可能な記憶媒体に記憶することができる。コンピュータ読み出し可能な記憶媒体には、例えばRAMメモリ、ハードディスクドライブ又はDVD−ROM/CD−ROMドライブ、又はフロッピーディスク及び類似のデバイスがある。加えて、本願のいくつかのステップ又は機能はハードウェアを用いて実施でき、このハードウェアには、例えばプロセッサと協働してこれらのステップ又は機能を実行する回路がある。
【0092】
加えて、本願の一部は、コンピュータプログラム命令のようなコンピュータプログラム製品として実施することができる。コンピュータプログラム命令がコンピュータによって実行されると、本願による方法及び/又は技術的解決方法を、コンピュータの操作によって呼び出す又は提供することができる。加えて、本願における方法を呼び出すプログラム命令は、固定記憶装置又はリムーバブル記憶装置に記憶することができ、及び/又は、他の信号搬送媒体における配信若しくはデータフローの手段によって伝送され、及び/又は、プログラム命令に従って作動するコンピュータデバイスのオペレーティングメモリに記憶される。このように、本願による実施の形態は装置を含み、この装置は、コンピュータプログラム命令を記憶するように構成されたメモリと、プログラム命令を実行するように構成されたプロセッサとを含む。コンピュータプログラム命令がプロセッサによって実行されると、コンピュータプログラム命令は、本願の複数の実施形態における前出の方法及び/又は技術的解決策に基づいて装置を作動させる。
【0093】
本願は前述の例示の実施の形態における詳細に限定されないことは明らかであり、本願は、本願の精神と基本的な特徴から逸脱せずに、別の特定の形式にて実施できることを当業者は理解すべきである。そのため、これらの実施の形態は例示的且つ非制限的とみなすべきであり、又、本願の範囲は前述の明細書本文に加えて添付の特許請求の範囲によって制限され、特許請求の範囲と均等な特許請求の範囲の意味及び範囲内に収まる全ての変更は本願に含まれるとみなす。特許請求の範囲におけるいかなる符号も、関連する特許請求の範囲の限定としてみなされるべきでない。加えて、用語「含む」はその他のユニット又はその他のステップを除外せず、単数形は複数形を除外しないことが明白である。装置の請求項にて記述されている複数のユニット及び装置は、ソフトウェア又はハードウェアを用いてユニット又は装置として実施することができる。「第1の」及び「第2の」のような用語は名称を表すために用いられており、何らの特定の順序を表すものではない。
[第1の局面]
サービス呼び出し情報処理方法であって:
a.分散型サービスシステム内の1つ以上のサービス呼び出しチェーンを取得するステップであって、各サービス呼び出しチェーンが、順次に呼び出される1つ以上のサービスノードを含む、分散型サービスシステム内の1つ以上のサービス呼び出しチェーンを取得するステップと;
b.サービス呼び出しチェーンに従って対応するサービス呼び出しモデルを構成するステップと;
c.前記サービス呼び出しモデルに従って前記サービス呼び出しチェーンを処理するステップと;を備える、
サービス呼び出し情報処理方法。
[第2の局面]
ステップaは:
分散型システムからサービス呼び出しログ情報を取得するステップと;
前記サービス呼び出しログ情報から1つ以上のサービス呼び出しチェーンを抽出するステップであって、前記サービス呼び出しチェーンのそれぞれは、順次に呼び出される1つ以上のサービスノードを備える、前記サービス呼び出しログ情報から1つ以上のサービス呼び出しチェーンを抽出するステップと;を備える、
第1の局面に記載の方法。
[第3の局面]
ステップbは:
前記サービス呼び出しチェーンに集約処理を実行することにより、前記対応するサービス呼び出しモデルを構成するステップであって、前記サービス呼び出しモデルは1つ以上のサービス呼び出しトポロジを含み、前記サービス呼び出しトポロジのそれぞれは、1つ以上のサービス呼び出しチェーンに集約処理を実行することにより取得される、前記サービス呼び出しチェーンに集約処理を実行することにより、前記対応するサービス呼び出しモデルを構成するステップを備え;
ステップcは:
前記対応するサービス呼び出しチェーンをサービス呼び出しトポロジに従って処理するステップを備える;
第1又は2の局面に記載の方法。
[第4の局面]
前記サービス呼び出しトポロジにクリーニング操作を実行するステップを更に備え;
ステップcは:
クリーニング済みのサービス呼び出しトポロジに従って、前記対応するサービス呼び出しチェーンを処理するステップを備える、
第3の局面に記載の方法。
[第5の局面]
前記クリーニング操作は、以下のステップ:
前記サービス呼び出しトポロジ内の所定のサービスノードを削除するステップと;
前記サービス呼び出しトポロジ内にあって、呼び出し結果情報を戻さないサービスノードを削除するステップと;
前記サービス呼び出しトポロジ内で低頻度で用いられるサービスノードを削除するステップであって、前記サービス呼び出しトポロジに対応する前記サービス呼び出しチェーン内で低頻度で用いられるサービスノードの累積出現回数が所定の低頻度使用の閾値よりも少ない又はこれと等しい、前記サービス呼び出しトポロジ内で低頻度で用いられるサービスノードを削除するステップと;
前記サービス呼び出しトポロジ内で低頻度で用いられるサービスノードを削除するステップであって、前記サービス呼び出しトポロジに対応する前記サービス呼び出しチェーン内で前記低頻度で用いられるサービスノードの累積出現回数は所定の低頻度使用の閾値よりも少ない、又はこれと等しく、前記サービス呼び出しトポロジに対応する前記サービス呼び出しチェーン内の、前記低頻度で用いられるサービスノード以外の別のサービスノードの累積出現回数は、所定の高頻度使用の閾値よりも多い、又はこれと等しい、前記サービス呼び出しトポロジ内で低頻度で用いられるサービスノードを削除するステップと;のうちの少なくとも1つを備える、
第4の局面に記載の方法。
[第6の局面]
ステップbは:
前記サービス呼び出しチェーン内の前記サービスノードの呼び出しフィードバック情報に関連した前記サービス呼び出しチェーンに集約処理を実行することにより、対応するサービス呼び出しモデルを構成するステップを備え、ここで、前記サービス呼び出しモデルは1つ以上のサービス呼び出しトポロジを含み、前記サービス呼び出しトポロジのそれぞれは、1つ以上のサービス呼び出しチェーンに集約処理を実行することにより取得される、
第3乃至5の局面のいずれかに記載の方法。
[第7の局面]
ステップcは:
c1.前記サービス呼び出しチェーンそれぞれのサービスノードの呼び出しフィードバック情報に従って、前記サービス呼び出しトポロジに対応する前記1つ以上のサービス呼び出しチェーンについての統計を収集するステップと;
c2.対応する統計結果に従って、前記サービス呼び出しトポロジに対応する前記サービス呼び出しチェーンを監視するステップと;を備える、
第6の局面に記載の方法。
[第8の局面]
ステップc2は:
所定の継続期間比較規則に基づいて、前記対応する統計結果を、前記サービス呼び出しトポロジに対応する前記サービス呼び出しチェーン内の前記サービスノードそれぞれの呼び出しフィードバック情報と比較するステップと;
差異が所定の変動閾値を超えると、前記差異に対応するサービス呼び出しチェーンについての警告情報を生成するステップであって、前記警告情報は前記差異に対応するサービスノードの所在を特定する、差異が所定の変動閾値を超えると、前記差異に対応するサービス呼び出しチェーンについての警告情報を生成するステップと;を備える、
第7の局面に記載の方法。
[第9の局面]
サービス呼び出し情報処理デバイスであって:
分散型サービスシステム内の1つ以上のサービス呼び出しチェーンを取得するように構成されたサービス呼び出しチェーン取得装置であって、前記サービス呼び出しチェーンのそれぞれは、順次に呼び出される1つ以上のサービスノードを含む、サービス呼び出しチェーン取得装置と;
サービス呼び出しチェーンに従って、対応するサービス呼び出しモデルを構成するように構成されたサービス呼び出しモデル構成装置と;
前記サービス呼び出しモデルに従って、前記サービス呼び出しチェーンを処理するように構成された処理装置と;を備える、
サービス呼び出し情報処理デバイス。
[第10の局面]
前記サービス呼び出しチェーン取得装置は:
分散型システムからサービス呼び出しログ情報を取得するように構成された呼び出し情報取得ユニットと;
前記サービス呼び出しログ情報から1つ以上のサービス呼び出しチェーンを抽出するように構成されたサービス呼び出しチェーン生成ユニットであって、前記サービス呼び出しチェーンのそれぞれは、順次に呼び出される1つ以上のサービスノードを含む、サービス呼び出しチェーン生成ユニットと;を備える、
第9の局面に記載のデバイス。
[第11の局面]
前記サービス呼び出しモデル構成装置は:
前記サービス呼び出しチェーンに集約処理を実行することにより、前記サービス呼び出しモデルを構成するように構成され、前記サービス呼び出しモデルは1つ以上のサービス呼び出しトポロジを備え、前記サービス呼び出しトポロジのそれぞれは、1つ以上のサービス呼び出しチェーンに集約処理を実行することにより取得され;
前記処理装置は:
サービス呼び出しトポロジに従って、前記対応するサービス呼び出しチェーンを処理するように構成された、
第9又は10の局面に記載のデバイス。
[第12の局面]
前記サービス呼び出しトポロジにクリーニング操作を実行するように構成されたクリーニング装置を更に備え;
前記処理装置は:
クリーニング済みのサービス呼び出しトポロジに従って、前記対応するサービス呼び出しチェーンを処理するように構成された、
第11の局面に記載のデバイス。
[第13の局面]
前記クリーニング操作は、以下の:
前記サービス呼び出しトポロジ内の所定のサービスノードを削除するステップと;
前記サービス呼び出しトポロジ内にあって、呼び出し結果情報を戻さないサービスノードを削除するステップと;
前記サービス呼び出しトポロジ内で低頻度で用いられるサービスノードを削除するステップであって、前記サービス呼び出しトポロジに対応する前記サービス呼び出しチェーン内で低頻度で用いられるサービスノードの累積出現回数が所定の低頻度使用の閾値よりも少ない又はこれと等しい、前記サービス呼び出しトポロジ内で低頻度で用いられるサービスノードを削除するステップと;
前記サービス呼び出しトポロジ内で低頻度で用いられるサービスノードを削除するステップであって、前記サービス呼び出しトポロジに対応する前記サービス呼び出しチェーン内で前記低頻度で用いられるサービスノードの累積出現回数は所定の低頻度使用の閾値よりも少ない又はこれと等しく、前記サービス呼び出しトポロジに対応する前記サービス呼び出しチェーン内の、前記低頻度で用いられるサービスノード以外の別のサービスノードの累積出現回数は、所定の高頻度使用の閾値よりも多い又はこれと等しい、前記サービス呼び出しトポロジ内で低頻度で用いられるサービスノードを削除するステップと;のうちの少なくとも1つを備える、
第12の局面に記載のデバイス。
[第14の局面]
前記サービス呼び出しモデル構成装置は:
前記サービス呼び出しチェーン内の前記サービスノードの呼び出しフィードバック情報に関連した前記サービス呼び出しチェーンに集約処理を実行することにより、対応するサービス呼び出しモデルを構成し、ここで、前記サービス呼び出しモデルは1つ以上のサービス呼び出しトポロジを含み、前記サービス呼び出しトポロジのそれぞれは、1つ以上のサービス呼び出しチェーンに集約処理を実行することにより取得される、
第11乃至13の局面のいずれかに記載のデバイス。
[第15の局面]
前記処理装置は:
前記サービス呼び出しチェーンのそれぞれの中のサービスノードの呼び出しフィードバック情報に従って、前記サービス呼び出しトポロジに対応する前記1つ以上のサービス呼び出しチェーンについての統計を収集するように構成された情報分析ユニットと;
対応する統計結果に従って、前記サービス呼び出しトポロジに対応する前記サービス呼び出しチェーンを監視するように構成された監視ユニットと;を備える、
第14の局面に記載のデバイス。
[第16の局面]
前記監視ユニットは:
所定の継続時間比較規則に基づいて、前記対応する統計結果を、前記サービス呼び出しトポロジに対応する前記サービス呼び出しチェーン内の前記サービスノードのそれぞれの呼び出しフィードバック情報と比較するように構成された比較サブユニットと;
差異が所定の変動閾値を超えた場合に、前記差異に対応するサービス呼び出しチェーンについての警告情報を生成するように構成された警告サブユニットであって、前記警告情報は、前記差異に対応するサービスノードの所在を特定するために用いられる、警告サブユニットと;を備える、
第15の局面に記載のデバイス。