(57)【要約】    ソフトウェア動作を追跡、監視する方法、装置、およびデバイス。ソフトウェア動作を追跡する方法は、アプリケーションシステムのフロントエンドがユーザ要求を受信した場合、シーンインスタンスの識別子を生成することと、前記シーンインスタンスの処理中に、バックエンドサービスに、前記シーンインスタンスの識別子が担持された要求メッセージを送信することとを含む。ソフトウェア動作を監視する方法は、バックエンドサービスがフロントエンドから送信される要求メッセージを受信した場合、監視システムは、前記要求メッセージによってトリガされたトランザクションの情報であって、前記要求メッセージから取得されたシーンインスタンスの識別子を含むトランザクションの情報を収集することと、前記シーンインスタンスの識別子により、前記シーンインスタンスの統計情報およびシーンインスタンスに含まれるトランザクションの統計情報を取得することとを含む。【選択図】図３
2020522822.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションシステムのフロントエンドは、ユーザ要求を受信した場合、所属シーンが前記ユーザ要求をトリガするユーザ操作に対応するシーンインスタンスの識別子を生成することと、
前記シーンインスタンスの処理中に、前記フロントエンドは、前記アプリケーションシステムのバックエンドサービスに、前記シーンインスタンスの識別子が担持された要求メッセージを送信することとを含む、ソフトウェア動作を追跡する方法。
【請求項２】
前記フロントエンドは、前記バックエンドサービスに最初に送信する要求メッセージに、前記シーンインスタンスの所属シーンの識別子、および前記シーンインスタンスの開始時間情報の少なくとも１つを更に担持させる、請求項１に記載の方法。
【請求項３】
前記シーンインスタンスの処理が完了した後に、前記フロントエンドは、前記バックエンドサービスに、シーンインスタンス終了の通知メッセージであって、前記シーンインスタンスの識別子および終了時間情報が担持された通知メッセージを送信することを更に含む、請求項１または２に記載の方法。
【請求項４】
アプリケーションシステムのバックエンドサービスがフロントエンドから送信される要求メッセージを受信した場合、監視システムは、前記要求メッセージによってトリガされたトランザクションの情報であって、前記要求メッセージから取得されたシーンインスタンスの識別子を含むトランザクションの情報を収集することと、
前記監視システムは、収集された前記トランザクションの情報に基づいて情報統計を行い、前記シーンインスタンスの識別子により、前記シーンインスタンスの統計情報および前記シーンインスタンスに含まれるトランザクションの統計情報を取得することとを含む、ソフトウェア動作を監視する方法。
【請求項５】
前記監視システムによって収集された前記トランザクションの情報は、前記要求メッセージから取得された前記シーンインスタンスの所属シーンの識別子を更に含み、
前記監視システムが収集された前記トランザクションの情報に基づいて情報統計を行う時に、更に、前記シーンの識別子により、シーンの分類統計を行うことを更に含む、請求項４に記載の方法。
【請求項６】
前記監視システムによって収集された前記トランザクションの情報は、前記要求メッセージから取得された前記シーンインスタンスの開始時間情報を更に含み、
前記バックエンドサービスが前記フロントエンドから送信されるシーンインスタンス終了の通知メッセージを受信した場合、前記監視システムは、前記通知メッセージから前記シーンインスタンスの識別子および終了時間情報を収集することを含み、
前記監視システムが前記シーンインスタンスの識別子により取得した前記シーンインスタンスの統計情報に、前記シーンインスタンスの開始時間情報および終了時間情報が含まれている、請求項４または５に記載の方法。
【請求項７】
ユーザ要求を受信した場合、所属シーンが前記ユーザ要求をトリガするユーザ操作に対応するシーンインスタンスの識別子を生成するように構成される受信モジュールと、
前記シーンインスタンスの処理中に、前記アプリケーションシステムのバックエンドサービスに、前記シーンインスタンスの識別子が担持された要求メッセージを送信するように構成される処理モジュールとを備える、ソフトウェア動作を追跡するシステム。
【請求項８】
前記処理モジュールは、更に、前記シーンインスタンスの処理中に、バックエンドサービスに最初に送信する要求メッセージに、前記シーンインスタンスの所属シーンの識別子、および前記シーンインスタンスの開始時間情報の少なくとも１つを更に担持させるように構成される、請求項７に記載のシステム。
【請求項９】
メモリ、プロセッサ、および前記メモリに記憶されて前記プロセッサに実行され得るコンピュータプログラムを備え、前記コンピュータプログラムが前記プロセッサによって実行されると、請求項１、２または３に記載のソフトウェア動作を追跡する方法が実現される、アプリケーションシステムのフロントエンド装置。
【請求項１０】
プロセッサによって実行されると、請求項１、２または３に記載のソフトウェア動作を追跡する方法を実現するコンピュータプログラムが記憶される、コンピュータ可読記憶媒体。
【請求項１１】
アプリケーションシステムのバックエンドサービスでのイベント追跡によって実現される監視エージェントおよび監視サーバを備える監視システムであって、
前記監視エージェントは、前記バックエンドサービスがフロントエンドから送信される要求メッセージを受信した場合、前記要求メッセージによってトリガされたトランザクションの情報であって、前記要求メッセージから取得されたシーンインスタンスの識別子を含むトランザクションの情報を収集し、収集された前記トランザクションの情報を前記監視サーバに伝送するように構成され、
前記監視サーバは、前記監視エージェントによって収集された前記トランザクションの情報に基づいて情報統計を行い、前記シーンインスタンスの識別子により、前記シーンインスタンスの統計情報および前記シーンインスタンスに含まれるトランザクションの統計情報を取得するように構成される、監視システム。
【請求項１２】
前記監視エージェントによって収集された前記トランザクションの情報は、前記要求メッセージから取得された前記シーンインスタンスの所属シーンの識別子を更に含み、
前記監視サーバは、更に、前記監視エージェントによって収集された前記トランザクションの情報に基づいて情報統計を行う時に、前記シーンの識別子により、シーンの分類統計を行うように構成される、請求項１１に記載の監視システム。
【請求項１３】
前記監視エージェントによって収集された前記トランザクションの情報は、前記要求メッセージから取得された前記シーンインスタンスの開始時間情報を更に含み、
前記監視エージェントは、更に、前記バックエンドサービスがフロントエンドから送信されるシーンインスタンス終了の通知メッセージを受信した場合、前記通知メッセージから前記シーンインスタンスの識別子および終了時間情報を収集するように構成され、
前記監視サーバは、更に、前記シーンインスタンスの識別子により、前記シーンインスタンスの開始時間情報および終了時間情報のような前記シーンインスタンスの統計情報を取得するように構成される、請求項１１または１２に記載の監視システム。
【請求項１４】
プロセッサによって実行されると、請求項４、５または６に記載のソフトウェア動作を監視する方法を実現するコンピュータプログラムが記憶される、コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、出願日が２０１７年０７月２１日であり、出願番号が２０１７１０５９８６５９．５であり、名称が「ソフトウェア動作を追跡、監視する方法、装置、およびデバイス」である中国特許出願に対して、優先権の利益を主張するものであり、該出願の全ての内容を引用により本発明に援用する。
【０００２】
本発明は、コンピュータ技術分野に関し、例えば、ソフトウェア動作を追跡、監視する方法、装置、およびデバイスに関する。
【背景技術】
【０００３】
ソフトウェアは、分散型という方向へ発展しており、特に、マイクロサービス理念が普及している。分散型ソフトウェアは、ソフトウェアが複数のマイクロサービスからなり、インスタンスが多く、分散に配置され、ソフトウェアの実行期間に内部の依存関係が複雑で動的に拡張する特徴、要するに、ソフトウェアシステムがますます複雑になるという特徴を表している。これは、例えば、アプリケーションソフトのユーザに対する感知・判断ができなく、システムのボトルネックが見つからなく、またはシステムの最適化に根拠がない等、ソフトウェアのメンテナンスおよび管理に大きなチャレンジをもたらしている。そのため、分散型アプリケーションを追跡する監視システムが登場している。
【０００４】
関連技術において、アプリケーションシステムのバックエンドサービスに対してイベント追跡（ｅｖｅｎｔ  ｔｒａｃｋｉｎｇ）を行うことにより監視を実現し、イベント追跡で埋め込まれたコードにより、データ収集を行い、アプリケーションシステムのバックエンドの呼び出し工程に対する追跡を達成することができ、対応するシステムアーキテクチャは図１に示すとおりである。アプリケーションシステムのバックエンドサービス（一連のサーバにより実現されるサービス機能）は、サービスＡ、サービスＢおよびサービスＣを含み、サービスＡがフロントエンドから発信された１つの要求を受信した場合、内部の呼び出し工程は、サービスＡがサービスＢを呼び出し、サービスＢがサービスＣを呼び出し、サービスＣがサービスＢに結果を返し、サービスＢがサービスＡに結果を返し、最後に、サービスＡがフロントエンドに応答を返すことを含むと想定される。一般的には、フロントエンドの要求によってトリガされるこの処理工程を、１つのトランザクション（Ｔｒａｎｓａｃｔｉｏｎ）と呼ぶ。監視システムは、サービスＡ、サービスＢおよびサービスＣにおける監視エージェント（Ａｇｅｎｔ）により、各サービス間におけるトランザクション全体の軌跡および各部分の時間消費等を含む呼び出し工程の詳細情報を収集（またはキャプチャと呼ぶ）し、収集されたデータを監視サーバに伝送して分析および処理した後、データベースに記憶し、ユーザは監視システムのインタフェースを介して、呼び出しスタック全体の詳細情報を見ることができ、監視システムにより、ユーザは、アプリケーションシステムの全てのトランザクションの統計情報レポートを取得し、各種のトランザクションの呼び出し頻度、応答時間および成功率等の情報を示すことができる。
【０００５】
しかし、該態様は、バックエンドの呼び出し工程のみを監視でき、フロントエンドから要求が発信された後のユーザの処理フローを追跡できず、且つ、該様態は、具体的な実現の面でのトランザクション分類情報しか表れず、ユーザ動作を感知することができず、アプリケーションシステムのメンテナンスおよび分析のニーズを満たすことはできない。
【発明の概要】
【課題を解決するための手段】
【０００６】
本発明の実施例は、
アプリケーションシステムのフロントエンドは、ユーザ要求を受信した場合、所属シーンが前記ユーザ要求をトリガするユーザ操作に対応するシーンインスタンスの識別子を生成することと、
前記シーンインスタンスの処理中に、前記フロントエンドは、前記アプリケーションシステムのバックエンドサービスに、前記シーンインスタンスの識別子が担持された要求メッセージを送信することとを含む、ソフトウェア動作を追跡する方法を提供する。
【０００７】
本発明の実施例は、
ユーザ要求を受信した場合、所属シーンが前記ユーザ要求をトリガするユーザ操作に対応するシーンインスタンスの識別子を生成するように構成される受信モジュールと、
前記シーンインスタンスの処理中に、前記アプリケーションシステムのバックエンドサービスに、前記シーンインスタンスの識別子が担持された要求メッセージを送信するように構成される処理モジュールとを備える、ソフトウェア動作を追跡するシステムを更に提供する。
【０００８】
本発明の実施例は、メモリ、プロセッサ、および前記メモリに記憶されて前記プロセッサに実行され得るコンピュータプログラムを備えるアプリケーションシステムのフロントエンドであって、前記コンピュータプログラムが前記プロセッサによって実行されると、
ユーザ要求を受信した場合、所属シーンが前記ユーザ要求をトリガするユーザ操作に対応するシーンインスタンスの識別子を生成する処理と、
前記シーンインスタンスの処理中に、前記アプリケーションシステムのバックエンドサービスに、前記シーンインスタンスの識別子が担持された要求メッセージを送信する処理とが実現される、アプリケーションシステムのフロントエンドを更に提供する。
【０００９】
本発明の実施例は、コンピュータプログラムが記憶されるコンピュータ可読記憶媒体であって、前記コンピュータプログラムがプロセッサによって実行されると、
ユーザ要求を受信した場合、所属シーンが前記ユーザ要求をトリガするユーザ操作に対応するシーンインスタンスの識別子を生成する処理と、
前記シーンインスタンスの処理中に、前記アプリケーションシステムのバックエンドサービスに、前記シーンインスタンスの識別子が担持された要求メッセージを送信する処理とが実現される、コンピュータ可読記憶媒体を更に提供する。
【００１０】
本発明の実施例は、
アプリケーションシステムのバックエンドサービスがフロントエンドから送信される要求メッセージを受信した場合、監視システムは、前記要求メッセージによってトリガされたトランザクションの情報であって、前記要求メッセージから取得されたシーンインスタンスの識別子を含むトランザクションの情報を収集することと、
前記監視システムは、収集された前記トランザクションの情報に基づいて情報統計を行う時に、前記シーンインスタンスの識別子により、前記シーンインスタンスの統計情報および前記シーンインスタンスに含まれるトランザクションの統計情報を取得することとを含む、ソフトウェア動作を監視する方法を更に提供する。
【００１１】
本発明の実施例は、アプリケーションシステムのバックエンドサービスでのイベント追跡によって実現される監視エージェントおよび監視サーバを備える監視システムであって、
前記監視エージェントは、前記バックエンドサービスがフロントエンドから送信される要求メッセージを受信した場合、前記要求メッセージによってトリガされたトランザクションの情報であって、前記要求メッセージから取得されたシーンインスタンスの識別子を含むトランザクションの情報を収集し、収集された前記トランザクションの情報を前記監視サーバに伝送するように構成され、
前記監視サーバは、前記監視エージェントによって収集された前記トランザクションの情報に基づいて情報統計を行う時に、前記シーンインスタンスの識別子により、前記シーンインスタンスの統計情報および前記シーンインスタンスに含まれるトランザクションの統計情報を取得するように構成される、監視システムを更に提供する。
【００１２】
本発明の実施例は、コンピュータプログラムが記憶されるコンピュータ可読記憶媒体であって、前記コンピュータプログラムがプロセッサによって実行されると、
アプリケーションシステムのバックエンドサービスに対してイベント追跡監視を行い、前記バックエンドサービスがフロントエンドから送信される要求メッセージを受信した場合、前記要求メッセージによってトリガされたトランザクションの情報であって、前記要求メッセージから取得されたシーンインスタンスの識別子を含むトランザクションの情報を収集する処理と、
収集された前記トランザクションの情報に基づいて情報統計を行う時に、前記シーンインスタンスの識別子により、前記シーンインスタンスの統計情報および前記シーンインスタンスに含まれるトランザクションの統計情報を取得する処理とが実現される、コンピュータ可読記憶媒体を更に提供する。
【図面の簡単な説明】
【００１３】
【図１】関連技術における監視システムのアーキテクチャの模式図である。
【図２】本発明の一実施例に係るシステムのアーキテクチャ図である。
【図３】本発明の一実施例に係るソフトウェア動作を追跡する方法のフローチャートである。
【図４】本発明の一実施例に係るソフトウェア動作を追跡する装置のブロック図である。
【図５】本発明の一実施例に係るソフトウェア動作を監視する方法のフローチャートである。
【図６】本発明の一実施例に係るインタラクション工程の模式図である。
【図７】本発明の別の実施例に係るインタラクション工程の模式図である。
【図８】本発明の別の実施例に係るインタラクション工程の模式図である。
【発明を実施するための形態】
【００１４】
以下、図面を参照しながら、本発明の実施例を説明する。
【００１５】
実施例１
本実施例は、アプリケーションシステムのフロントエンドでソフトウェア動作を追跡する方法、装置、フロントエンド、および記憶媒体を提供する。
【００１６】
本実施例のシステムアーキテクチャは、図２に示すように、図１のアーキテクチャに加えて、アプリケーションシステムのフロントエンドおよびユーザが更に示され、フロントエンドは、アプリケーションシステムの入口であり、ユーザ操作によりトリガされるユーザ要求を受信し、バックエンドサービスにより処理を行うように構成される。本実施例は、フロントエンドコードにおいてイベント追跡を行い、イベント追跡で埋め込まれたコードにより、シーンインスタンスに関する追跡処理を実現する。
【００１７】
本実施例に係るソフトウェア動作を追跡する方法は、図３に示すように、以下のステップを含む。
【００１８】
ステップ１１０において、アプリケーションシステムのフロントエンドは、ユーザ要求を受信した場合、所属シーンが前記ユーザ要求をトリガするユーザ操作に対応するシーンインスタンスの識別子を生成する。
【００１９】
本発明において、アプリケーションのシーンは、それぞれ指定されたユーザ操作に対応する。例えば、「ショッピングカートに入れる」は１つのシーンであり、ユーザのインタフェースにおける「ショッピングカートに入れる」アイコンに対するクリック操作に対応できる。「性能履歴データを照会する」も１つのシーンであり、インタフェースにおける対応した照会ボタンに対するユーザのクリック操作に対応できる。１回の実際のユーザ操作は、アプリケーションシステムのフロントエンドがユーザ要求を受信した場合、１つのシーンインスタンス（Ｕｓｅｃａｓｅ）、すなわち、該ユーザ要求の処理工程を開始し、バックエンドサービスとの１回または複数回のインタラクションを含む。各シーンインスタンスの所属シーンは、前記ユーザ要求をトリガするユーザ操作に対応する。例えば、ユーザが「ショッピングカートに入れる」アイコンをクリックすることによりトリガされたユーザ要求を受信する度にフロントエンドが開始するシーンインスタンスの所属シーンは、「ショッピングカートに入れる」である。
【００２０】
ステップ１２０において、前記シーンインスタンスの処理中に、前記フロントエンドは、前記アプリケーションシステムのバックエンドサービスに、前記シーンインスタンスの識別子が担持された要求メッセージを送信する。
【００２１】
１つのシーンインスタンスは、１回または複数回のフロントエンドとバックエンドサービスとのインタラクションを含み、毎回のインタラクションは、フロントエンドによるバックエンドサービスの１回の呼び出しと見なされてもよく、フロントエンドがバックエンドサービスに要求を送信するからバックエンドサービスの応答を受信するまでのプロセス全体を含み、バックエンドサービスが、フロントエンドから送信される要求メッセージを受信する度に１つのトランザクションの開始をトリガするため、１つのシーンインスタンスは、１つのまたは複数のトランザクションを含んでもよい。
【００２２】
本実施例において、アプリケーションシステムのフロントエンドは、１つのシーンインスタンスの処理中（すなわち、ユーザ要求の処理）に、バックエンドサービスに送信する要求メッセージに前記シーンインスタンスの識別子を担持させる。これにより、１つのシーンインスタンスが複数のトランザクションを含む場合、前記複数のトランザクションは、シーンインスタンスの識別子により関連付けられ得、シーンインスタンスに対する効果的な追跡を実現する。
【００２３】
本実施例において、シーン毎の分類統計を実現するために、例えば、「ショッピングカートに入れる」というシーンの頻度、成功率および時間消費等を示す。フロントエンドは、シーンインスタンスの処理中に、バックエンドサービスに最初に送信する要求メッセージに、前記シーンインスタンスの所属シーンの識別子を更に担持する。後続のバックエンドサービスに送信する要求メッセージに、前記シーンの識別子を担持してもよく、担持しなくてもよい。
【００２４】
本実施例において、シーンインスタンスの開始時間を統計するために、アプリケーションシステムのフロントエンドは、シーンインスタンスの処理中に、少なくともバックエンドサービスに最初に送信する要求メッセージに前記シーンインスタンスの開始時間情報を担持する。
【００２５】
本実施例において、シーンインスタンスの終了時間を統計するために、アプリケーションシステムのフロントエンドは、シーンインスタンス処理が完了した後（すなわち、ユーザ要求の処理が完了した後）、前記アプリケーションシステムのバックエンドサービスにシーンインスタンス終了の通知メッセージを送信し、前記通知メッセージに前記シーンインスタンスの識別子および終了時間情報を担持する。監視システムは、前記通知メッセージから前記シーンインスタンスの識別子および終了時間情報を収集すると、前記シーンインスタンスの終了時間を知って前記シーンインスタンスの終了時間を前記シーンインスタンスの統計情報に追加することができる。
【００２６】
本実施例の一例において、アプリケーションシステムのフロントエンドは、バックエンドサービスに最初の呼び出しを発信する時、送信するハイパーテキスト転送プロトコル（ＨｙｐｅｒＴｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ、ＨＴＴＰ）メッセージヘッダにおいて、シーンインスタンスの識別子、シーンインスタンスの所属シーンの識別子、およびシーンインスタンスの開始時間情報を担持する。後続のバックエンドサービスに呼び出しを発信する度に、いずれも送信するＨＴＴＰメッセージヘッダに前記シーンインスタンスの識別子を担持する。
【００２７】
上記シーンインスタンスの識別子以外の他の情報は、任意である。
【００２８】
本実施例は、図４に示すように、
ユーザ要求を受信した場合、所属シーンが前記ユーザ要求をトリガするユーザ操作に対応するシーンインスタンスの識別子を生成するように構成される受信モジュール１０と、
前記シーンインスタンスの処理中に、前記アプリケーションシステムのバックエンドサービスに、前記シーンインスタンスの識別子が担持された要求メッセージを送信するように構成される処理モジュール２０とを備える、ソフトウェア動作を追跡するシステムを更に提供する。
【００２９】
本実施例において、前記処理モジュール２０は、更に、前記シーンインスタンスの処理中に、バックエンドサービスに最初に送信する要求メッセージに、前記シーンインスタンスの所属シーンの識別子、および前記シーンインスタンスの開始時間情報の少なくとも１つを更に担持させるように構成される。
【００３０】
本実施例において、前記処理モジュール２０は、更に、前記シーンインスタンス処理が完了した後、前記アプリケーションシステムのバックエンドサービスに、シーンインスタンス終了の通知メッセージであって、前記シーンインスタンスの識別子および終了時間情報が担持された通知メッセージを送信するように構成される。
【００３１】
本実施例は、メモリ、プロセッサ、および前記メモリに記憶されて前記プロセッサに実行され得るコンピュータプログラムを備えるアプリケーションシステムのフロントエンド装置であって、前記コンピュータプログラムが前記プロセッサによって実行されると、
ユーザ要求を受信した場合、所属シーンが前記ユーザ要求をトリガするユーザ操作に対応するシーンインスタンスの識別子を生成する処理と、
前記シーンインスタンスの処理中に、前記アプリケーションシステムのバックエンドサービスに、前記シーンインスタンスの識別子が担持された要求メッセージを送信する処理とが実現される、アプリケーションシステムのフロントエンド装置を更に提供する。
【００３２】
本実施例において、前記プロセッサは、前記コンピュータプログラムを実行すると、本実施例の方法の任意の処理を実現することができ、ここでは省略する。
【００３３】
本実施例は、コンピュータプログラムが記憶されるコンピュータ可読記憶媒体であって、前記コンピュータプログラムがプロセッサによって実行されると、
ユーザ要求を受信した場合、所属シーンが前記ユーザ要求をトリガするユーザ操作に対応するシーンインスタンスの識別子を生成する処理と、
前記シーンインスタンスの処理中に、前記アプリケーションシステムのバックエンドサービスに、前記シーンインスタンスの識別子が担持された要求メッセージを送信する処理とが実現される、コンピュータ可読記憶媒体を更に提供する。
【００３４】
本実施例において、前記コンピュータプログラムがプロセッサによって実行されると、本実施例の方法の任意の処理を実現することができ、ここでは省略する。
【００３５】
実施例２
本実施例は、ソフトウェア動作を監視する方法、監視システム、および記憶媒体を提供する。
【００３６】
本実施例の監視システムは、バックエンドサービスを監視する時に、フロントエンドから伝達されたシーンインスタンスの識別子を取得し、トランザクションの監視情報に注入する。これにより、シーンインスタンスに基づく統計を実現する。本実施例のフロントエンドは、実施例１の方法を用いてソフトウェア動作を追跡する。
【００３７】
図５に示すように、本実施例に係るソフトウェア動作を監視する方法は、以下のステップを含む。
【００３８】
ステップ２１０において、アプリケーションシステムのバックエンドサービスがフロントエンドから送信される要求メッセージを受信した場合、監視システムは、前記要求メッセージによってトリガされたトランザクションの情報であって、前記要求メッセージから取得されたシーンインスタンスの識別子を含むトランザクションの情報を収集する。
【００３９】
実施例１で説明したように、１つのシーンインスタンスの処理中に、フロントエンドは、バックエンドサービスに対する呼び出しを発信する度に、シーンインスタンスの識別子を対応する要求メッセージに担持させる。そのため、監視システムは、要求メッセージから収集されたトランザクションの情報の一部として前記シーンインスタンスの識別子を取得することができる。
【００４０】
本実施例において、フロントエンドは、シーンインスタンスの処理中に、少なくともバックエンドサービスに最初に送信する要求メッセージに、前記シーンインスタンスの所属シーンの識別子、および前記シーンインスタンスの開始時間情報の少なくとも１つを更に担持させる。そのため、監視システムにより収集されたトランザクションの情報は、前記要求メッセージから取得された、前記シーンインスタンスの所属シーンの識別子および前記シーンインスタンスの開始時間情報の少なくとも１つを更に含む。
【００４１】
本実施例において、フロントエンドは、前記シーンインスタンス処理が完了した後に、前記アプリケーションシステムのバックエンドサービスに、前記シーンインスタンスの識別子および終了時間情報が担持されたシーンインスタンス終了の通知メッセージを送信する。前記バックエンドサービスがフロントエンドから送信される通知メッセージを受信した場合、監視システムは、更に、前記通知メッセージから前記シーンインスタンスの識別子および終了時間情報を収集することができる。
【００４２】
上記シーンインスタンスの識別子、シーンインスタンスの所属シーンの識別子、シーンインスタンスの開始時間情報および終了時間情報の収集は、具体的に、バックエンドサービスのイベント追跡（または、監視エージェント）によって行われることができ、収集されたこれらの情報は、収集されたトランザクションの他の情報とともに、監視サーバに伝送されて統計および分析されることができる。
【００４３】
ステップ２２０において、前記監視システムは、収集された前記トランザクションの情報に基づいて情報統計を行い、前記シーンインスタンスの識別子により、前記シーンインスタンスの統計情報、および前記シーンインスタンスに含まれるトランザクションの統計情報を取得する。
【００４４】
本実施例において、監視システムにより収集された１つのシーンインスタンスに含まれる各トランザクションの情報において、いずれも前記シーンインスタンスの識別子を含んでいるため、シーンインスタンスの識別子によれば、シーンインスタンスに含まれるトランザクションを確定し、シーンインスタンスに基づく統計を実現することができる。シーンインスタンスに含まれる第１つのトランザクションの情報はシーンインスタンスの所属シーンの識別子を更に含んでいるため、シーンの識別子により、該シーンにおける全てのシーンインスタンスを関連付け、シーンの分類統計を実現する。例えば、「ショッピングカートに入れる」というシーンの識別子により、該シーンにおける全てのシーンインスタンスを分析し、該シーンの頻度、成功率および時間消費等参数を統計することができる。
【００４５】
本実施例において、収集されたシーンインスタンスの関連情報は、シーンインスタンスの開始時間情報および終了時間情報を更に含んでいるため、シーンインスタンスの統計情報はシーンインスタンスの開始時間情報および終了時間情報を含む。
【００４６】
本実施例の方法によれば、ユーザは、アプリケーションシステムの全てのシーン毎の統計情報レポートを取得することができ、一例を以下の表に示す。
【００４７】
表１−１
2020522822.tif 000003
【００４８】
表１−２
2020522822.tif 000004
【００４９】
表１−３
2020522822.tif 000005
【００５０】
表１−１では、シーンの分類統計を行い、各種のシーンの呼び出し頻度、時間消費および成功率等の情報を示している。そのうちの１種のシーンを選択し、シーン１を選択したと仮定すると、該シーンにおける全てのシーンインスタンスの統計情報をドリルダウン（Ｄｒｉｌｌ−ｄｏｗｎ）して見ることができ、表１−２に示すように、表１−２で関心のあるシーンインスタンスを選択し、シーンインスタンス１を選択したと仮定すると、該シーンインスタンスにおけるトランザクションの情報を引き続きドリルダウンして見ることができ、表１−３に示すとおりである。これにより、シーンからシーンインスタンスへ、更にシーンインスタンスを構成するトランザクションまで有機的に組み合わせ、ユーザは、性能、遅延および頻度等のようなソフトウェアの動作を上から下へ分析することができる。
【００５１】
本実施例は、図１に示すように、アプリケーションシステムのバックエンドサービスでのイベント追跡によって実現される監視エージェントおよび監視サーバを備える監視システムを更に提供する。
【００５２】
前記監視エージェントは、前記バックエンドサービスがフロントエンドから送信される要求メッセージを受信した場合、前記要求メッセージによってトリガされたトランザクションの情報であって、前記要求メッセージから取得されたシーンインスタンスの識別子を含むトランザクションの情報を収集し、収集された前記トランザクションの情報を前記監視サーバに伝送するように構成される。
【００５３】
前記監視サーバは、前記監視エージェントによって収集された前記トランザクションの情報に基づいて情報統計を行い、前記シーンインスタンスの識別子により、前記シーンインスタンスの統計情報および前記シーンインスタンスに含まれるトランザクションの統計情報を取得するように構成される。
【００５４】
本実施例において、前記監視エージェントによって収集された前記トランザクションの情報は、前記要求メッセージから取得された前記シーンインスタンスの所属シーンの識別子を更に含んでもよく、前記監視サーバは、更に、前記監視エージェントによって収集された前記トランザクションの情報に基づいて情報統計を行う時に、前記シーンの識別子により、シーンの分類統計を行うように構成される。
【００５５】
本実施例において、前記監視エージェントによって収集された前記トランザクションの情報は、前記要求メッセージから取得された前記シーンインスタンスの開始時間情報を更に含んでもよい。
【００５６】
前記監視エージェントは、更に、前記バックエンドサービスがフロントエンドから送信されるシーンインスタンス終了の通知メッセージを受信した場合、前記通知メッセージから前記シーンインスタンスの識別子および終了時間情報を収集するように構成される。
【００５７】
前記監視サーバは、更に、前記シーンインスタンスの識別子により、前記シーンインスタンスの開始時間情報および終了時間情報のような前記シーンインスタンスの統計情報を取得するように構成される。
【００５８】
本実施例は、コンピュータプログラムが記憶されるコンピュータ可読記憶媒体であって、前記コンピュータプログラムがプロセッサによって実行されると、
アプリケーションシステムのバックエンドサービスに対してイベント追跡監視を行い、前記バックエンドサービスがフロントエンドから送信される要求メッセージを受信した場合、前記要求メッセージによってトリガされたトランザクションの情報であって、前記要求メッセージから取得されたシーンインスタンスの識別子を含むトランザクションの情報を収集する処理と、
収集された前記トランザクションの情報に基づいて情報統計を行う時に、前記シーンインスタンスの識別子により、前記シーンインスタンスおよび前記シーンインスタンスに含まれるトランザクションの統計情報を取得する処理とが実現される、コンピュータ可読記憶媒体を更に提供する。
【００５９】
本実施例において、前記コンピュータプログラムがプロセッサによって実行されると、本実施例の方法の任意の処理を実現することができ、ここでは省略する。
【００６０】
本実施例は、アプリケーションシステムのトランザクションを、使用シーンおよびシーンインスタンス毎に集計分類し、監視システムが示す内容はユーザのアプリケーションシステムを使用した体験に合致し、ユーザはアプリケーションシステムをメンテナンスおよび分析しやすくなる。例えば、アプリケーションシステムのメンテナンス作業者は、ユーザが最も常用の使用シーンを知りやすく、ユーザ動作を感知し、後続のシステム研究開発のリソース配置に重要な基準を提供し、ユーザの最も常用のシーンに投入することができる。メンテナンス作業者は、応答が最も遅いシーンを知りやすく、システム最適化に重要な基準を提供することもできる。
【００６１】
本発明の上記実施例は、一般的に監視システムを使用する時に、バックエンドの実現の面でのトランザクション情報しか見られないという問題を解決する。１つの一意のシーン識別子を注入することにより、複数の関連付けられたトランザクションを組み合わせて１つのシーンインスタンスを形成し、このシーンインスタンスの所属シーンは、インタフェースにおけるアプリケーションソフトのユーザの操作に対応し、このような設計により、アプリケーションソフトの監視システムは、シーン毎にソフトウェアのフォワードグラウンドとバックグラウンドとのインタラクション操作を関連付け、シーンおよびシーンインスタンス毎にアプリケーションソフトの動作を分析することができる。
【００６２】
実施例３
本実施例は、１つの性能履歴データ照会システムを例とし、アプリケーションシステムのフロントエンドがソフトウェア動作を追跡する工程、および監視システムがソフトウェア動作を監視する工程について説明する。
【００６３】
本実施例の性能履歴データ照会システムのアーキテクチャは、図２に示すとおりである。ユーザが１回の性能履歴データ照会を発信すると、対応するインタラクション工程は図６に示すように、以下のステップを含む。
【００６４】
ステップ１において、ユーザは、インタフェースから１回の性能履歴データ照会の要求を発信する。
【００６５】
ユーザは、フロントエンドのインタフェース（例えば、ブラウザのページ）における性能履歴データ照会のアイコンをクリックすることにより、１回の性能履歴照会の要求を発信することができ、該操作に対応するシーンは「性能履歴データ照会」であり、ＰＭＱｕｅｒｙと表記する。
【００６６】
ステップ２において、フロントエンドは、性能履歴データ照会のユーザ要求を受信した場合、１つのシーンインスタンスを開始し、１つのシーンインスタンスの識別子ＵｓｅｃａｓｅＩＤ（該識別子の値は、例えば、ＰｍＱｕｅｒｙｘｘｘ１である）を生成して該シーンインスタンスを一意に識別する。
【００６７】
ステップ３において、フロントエンドは、性能履歴データ照会の処理を担当するバックエンドサービスＰｍＱｕｅｒｙに呼び出しを発信し、プロファイル情報を取得する要求メッセージを送信し、メッセージのヘッダに、ＵｓｅｃａｓｅＩＤ、シーンインスタンスの所属シーンの識別子ＵｓｅｃａｓｅＣｌａｓｓ、およびシーンインスタンスの開始時間ＳｔａｒｔＴｉｍｅを担持する。この例におけるＵｓｅｃａｓｅＣｌａｓｓは、ＰＭＱｕｅｒｙである。
【００６８】
性能履歴データ照会のユーザ要求を受信した時間、またはバックエンドサービスＰｍＱｕｅｒｙに呼び出しを発信した時間を、該シーンインスタンスの開始時間ＳｔａｒｔＴｉｍｅとしてもよい。
【００６９】
ステップ４において、バックエンドサービスＰｍＱｕｅｒｙは、プロファイル情報を取得する要求メッセージを受信した場合、１つのプロファイル情報を取得するトランザクションｇｅｔＣｏｎｔｅｎｔを開始し、該トランザクションの処理中に、バックエンドサービスＰｍＱｕｅｒｙは、バックエンドサービスＤＢ（バックエンドデータベースサービス）を呼び出しし、トランザクションの処理が終了した後、バックエンドサービスＰｍＱｕｅｒｙはフロントエンドに応答メッセージを返す。
【００７０】
ステップ５において、フロントエンドは、バックエンドサービスＰｍＱｕｅｒｙに呼び出しを再び発信し、トップページデータを取得する、そのヘッダにＵｓｅｃａｓｅＩＤおよびＵｓｅｃａｓｅＣｌａｓｓが担持された要求メッセージを送信する。
【００７１】
ステップ６において、バックエンドサービスＰｍＱｕｅｒｙは、トップページデータを取得する要求メッセージを受信した場合、１つのトップページデータを取得するトランザクションｇｅｔＰａｇｅを開始し、トランザクションの処理が終了した後、バックエンドサービスＰｍＱｕｅｒｙはフロントエンドに応答メッセージを返す。
【００７２】
ステップ７、フロントエンドは、応答メッセージを受信した場合、ページレンダリングを行ってユーザに性能履歴データ照会の結果を示し、レンダリングインタフェースが終了した後、バックエンドサービスＰｍＱｕｅｒｙに、シーンインスタンス終了の、ＵｓｅｃａｓｅＩＤおよび該シーンインスタンスの終了時間ＥｎｄＴｉｍｅが担持された通知メッセージを送信する。
【００７３】
監視システムは、バックエンドサービスでイベント追跡監視を行うことにより、プロファイル情報を取得するトランザクションｇｅｔＣｏｎｔｅｎｔ、およびトップページデータを取得するトランザクションｇｅｔＰａｇｅの情報を収集することができ、収集されたこの２つのトランザクションの情報にはいずれもＵｓｅｃａｓｅＩＤおよびＵｓｅｃａｓｅＣｌａｓｓを含み、ｇｅｔＣｏｎｔｅｎｔの情報にはＳｔａｒｔＴｉｍｅおよびＥｎｄＴｉｍｅを更に含む。そのため、ＵｓｅｃａｓｅＩＤにより、プロファイル情報を取得するトランザクションと、トップページデータを取得するトランザクションとの２つを関連付ける。監視システムが収集されたトランザクションの情報に基づいてデータ加工処理および永続化等の処理を完了すると、ユーザは、性能照会というシーンのフロー全体の性能データを分析することができ、性能履歴データ照会を発信し始めるからインタフェースに照会結果が表示されるまでのプロセス全体を含む。
【００７４】
本実施例の監視により得られた１つの例示的なシーン分析レポートを以下の表に示す。
【００７５】
表２−１
2020522822.tif 000006
【００７６】
表２−２
2020522822.tif 000007
【００７７】
表２−３
2020522822.tif 000008
【００７８】
表２−１は、ユーザ操作に対応する全てのシーンのレポートであり、性能履歴データ照会、配置情報取得、および日報生成等を含み、各シーンの頻度、成功率および時間消費等の情報をはっきりと見ることができる。その後、性能履歴データ照会のようなある具体的なシーンを選択し、このシーンの各シーンインスタンスの分析レポートを見ることができ、表２−２に示すように、各シーンインスタンスの合計時間消費およびトランザクションの時間消費情報等を含む。最後に、最も関心のあるシーンインスタンスを選択し、このシーンインスタンスに含まれるトランザクションの詳細情報を照会することができ、表２−３に示すとおりである。
【００７９】
実施例４
本実施例は、非同期報告に対する監視に関する。
【００８０】
図７に示すように、本実施例のフロントエンドは、ユーザ要求を受信した場合、１つのシーンインスタンスＵｓｅｃａｓｅを開始し、ＵｓｅｃａｓｅＩＤを生成し、フロントエンドは、バックエンドサービスＡを呼び出す際に送信する要求メッセージに、ＵｓｅｃａｓｅＩＤ、Ｕｓｅｃａｓｅの所属シーンの識別子ＵｓｅｃａｓｅＣｌａｓｓ、およびＵｓｅｃａｓｅ開始時間ＳｔａｒｔＴｉｍｅを担持させる。バックエンドサービスＡは、該要求メッセージを受信した場合、１つのトランザクションを開始し、トランザクションが終了した後、フロントエンドに応答メッセージを返す。後続のデータは、非同期メッセージによりサービスＡからフロントエンド（Ｐｏｒｔａｌ）に報告される。フロントエンドは、必要に応じてＵｓｅｃａｓｅの終了を決定することができ、終了後に、サービスＡにシーンインスタンス終了の、ＵｓｅｃａｓｅＩＤおよびシーンインスタンスの終了時間ＥｎｄＴｉｍｅが担持された通知メッセージを送信する。
【００８１】
前述した実施例と同様に、監視システムの情報収集（データ収集と呼ばれてもよい）および統計により、ユーザは、このＵｓｅｃａｓｅフローの全体のステップを分析することができる。
【００８２】
実施例５
本実施例は、ｅコマースシステムに対する監視に関する。１つの典型的なｅコマースシステムは、製品サービス、ショッピングサービス、支払いサービス、問い合わせサービスおよびコメントサービス等のいくつかのサービス（サブシステム）を含む可能性がある。
【００８３】
本実施例は、ユーザがインタフェースでショッピングカートに入れる操作を発信することに対応するシーンを例とし、システムの面から見ると、該シーンのシーンインスタンスのフロントエンドは、バックエンドのショッピングサービスと製品サービスとインタラクションする必要がある。図８に示すように、以下のステップを含む。
【００８４】
ステップ１において、フロントエンドは、ショッピングカートに入れるユーザ要求を受信した場合、名称が「ショッピングカートに入れる」である１つのシーンインスタンスを開始し、シーンインスタンスの識別子ＵｓｅｃａｓｅＩｄを生成する。
【００８５】
ステップ２において、フロントエンドは製品サービスを呼び出しし、送信される要求メッセージに、該シーンインスタンスの識別子ＵｓｅｃａｓｅＩｄ、シーンの識別子ＵｓｅｃａｓｅＣｌａｓｓ、および開始時間ＳｔａｒｔＴｉｍｅを担持させ、製品サービスは該要求メッセージを受信した場合、１つのトランザクションの処理を開始し、終了後に、フロントエンドに応答メッセージを返す。
【００８６】
ステップ３において、フロントエンドは、製品サービスに対する呼び出しが終了した後、ショッピングサービスに対する呼び出しを発信し、送信される要求メッセージにＵｓｅｃａｓｅＩｄを担持する。ショッピングサービスは該要求メッセージを受信した場合、１つのトランザクションの処理を開始し、終了後に、フロントエンドに応答メッセージを返す。
【００８７】
以上のように、ＵｓｅｃａｓｅＩｄにより、上記２つの呼び出し工程を関連付けることができることは分かっている。監視システムは、シーンインスタンスに関する情報を含むトランザクション（Ｔｒａｎｓａｃｔｉｏｎ）の情報を収集し、データ加工処理および永続化等を完了する。メンテナンスユーザは、性能照会というシーンの成功率、操作遅延および頻度等情報を分析することができる。
【００８８】
当業者であれば、上述で開示された方法における全てまたは一部のステップ、システム、装置内の機能モジュール／ユニットは、ソフトウェア、ファームウェア、ハードウェアおよびその適切な組み合わせとして実施され得ることが理解できる。ハードウェアの実施形態において、以上の説明で言及された機能モジュール／ユニットの間の分割は、必ずしも物理的構成要素の分割に対応するわけではない。例えば、１つの物理的構成要素は複数の機能を有してもよく、または１つの機能またはステップは、複数の物理的構成要素によって協力して実行されてもよい。一部の物理的構成要素または全ての物理的構成要素は、中央処理装置、デジタル信号処理装置、またはマイクロプロセッサのようなプロセッサによって実行されるソフトウェアとして実施されてもよく、ハードウェアとして実施されてもよく、特定用途向け集積回路のような集積回路として実施されてもよい。このようなソフトウェアは、コンピュータ記憶媒体（または非一時的媒体）および通信媒体（または一時的媒体）を含むことができるコンピュータ可読媒体に分布することができる。当業者が知っているように、コンピュータ記憶媒体という用語は、情報（例えば、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータ）を記憶するための任意の方法または技術において実施される、揮発性および不揮発性、取り外し可能および取り外し不可能な媒体を含む。コンピュータ記憶媒体は、ランダムアクセスメモリ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ、ＲＡＭ）、読み出し専用メモリ（Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ、ＲＯＭ）、電気的消去書込み可能な読み出し専用メモリ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ、ＥＥＰＲＯＭ）、フラッシュメモリまたは他のメモリ技術、コンパクトディスク読み出し専用メモリ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ  Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ、ＣＤ−ＲＯＭ）、デジタル多用途ディスク（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ、ＤＶＤ）または他の光ディスク記憶、磁気カセット、磁気テープ、磁気ディスク記憶または他の磁気記憶装置、または所望の情報を記憶するために使用できるとともにコンピュータによってアクセスされ得る任意の他の媒体を含んでもよいが、これらに限定されない。また、通信媒体は、通常、コンピュータ可読命令、データ構造、プログラムモジュール、または搬送波もしくは他の伝送機構のような変調データ信号における他のデータを含み、更に、任意の情報配信媒体を含むことができることが、当業者に知られている。
【図１】
2020522822.tif 000009
【図２】
2020522822.tif 000010
【図３】
2020522822.tif 000011
【図４】
2020522822.tif 000012
【図５】
2020522822.tif 000013
【図６】
2020522822.tif 000014
【図７】
2020522822.tif 000015
【図８】
2020522822.tif 000016
【国際調査報告】
2020522822.tif 000017
2020522822.tif 000018
2020522822.tif 000019
2020522822.tif 000020