Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP5799790B2 - Analysis apparatus, analysis program, and analysis method - Google Patents
[go: Go Back, main page]

JP5799790B2 - Analysis apparatus, analysis program, and analysis method - Google Patents

Analysis apparatus, analysis program, and analysis method Download PDF

Info

Publication number
JP5799790B2
JP5799790B2 JP2011274978A JP2011274978A JP5799790B2 JP 5799790 B2 JP5799790 B2 JP 5799790B2 JP 2011274978 A JP2011274978 A JP 2011274978A JP 2011274978 A JP2011274978 A JP 2011274978A JP 5799790 B2 JP5799790 B2 JP 5799790B2
Authority
JP
Japan
Prior art keywords
value
parameter
url
type
server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2011274978A
Other languages
Japanese (ja)
Other versions
JP2013125477A (en
Inventor
久保田 敦
敦 久保田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2011274978A priority Critical patent/JP5799790B2/en
Publication of JP2013125477A publication Critical patent/JP2013125477A/en
Application granted granted Critical
Publication of JP5799790B2 publication Critical patent/JP5799790B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Computer And Data Communications (AREA)

Description

本発明は、分析装置、分析プログラムおよび分析方法に関する。   The present invention relates to an analysis apparatus, an analysis program, and an analysis method.

複数のサーバ間での通信の内容を取得し、取得した内容からプロトコル毎に送受信されているメッセージを複合することにより、システムの分析を行う分析装置がある。   There is an analyzer that analyzes the system by acquiring the contents of communication between a plurality of servers and combining the messages transmitted and received for each protocol from the acquired contents.

また、前段サーバおよび後段サーバを有するサーバシステムのログから、後段サーバにより実行される処理を切り分ける、前段サーバに送信されたURI(Uniform Resource Identifier)の部分を抽出する抽出装置がある。なお、後段サーバにより実行される処理を切り分けるパラメータを抽出することを「名寄せ」と称する。抽出装置は、後段サーバで実行される複数の処理に対応するURL(Uniform Resource Locator)が同一である場合には、後段サーバで実行される処理の種類毎に、値が共通するパラメータの種類を抽出する。これにより、抽出装置は、後段サーバにより実行される処理を切り分けるパラメータの種類およびパラメータの値を抽出する。   In addition, there is an extraction device that extracts a URI (Uniform Resource Identifier) portion transmitted to a preceding server, which separates processing executed by the succeeding server from a log of a server system having the preceding server and the succeeding server. It should be noted that the extraction of parameters for separating the processes executed by the subsequent server is referred to as “name identification”. When the URL (Uniform Resource Locator) corresponding to a plurality of processes executed in the subsequent server is the same, the extraction device sets the parameter type having a common value for each type of process executed in the subsequent server. Extract. As a result, the extraction device extracts the parameter types and parameter values for separating the processes executed by the subsequent server.

特開2006−11683号公報JP 2006-11683 A 特開2010−67047号公報JP 2010-67047 A 特開平11−136573号公報JP-A-11-136573 特開2010−282367号公報JP 2010-282367 A

しかしながら、上記の各装置では、精度良く名寄せができないという問題がある。   However, each of the above devices has a problem that name identification cannot be performed with high accuracy.

例えば、上記の分析装置では、名寄せが既に行われた上で、動作するものである。この分析装置では、分析装置の開発者などの人によって、名寄せが行われる。このように、人によって名寄せが行われた場合には、人為的なミスが生じ、パラメータと、後段サーバにより実行される処理との対応関係に誤りが生ずる場合がある。したがって、分析装置では、精度良く名寄せが出来ない。   For example, the above analysis apparatus operates after name identification has already been performed. In this analyzer, name identification is performed by a person such as a developer of the analyzer. As described above, when name identification is performed by a person, an artificial mistake may occur, and an error may occur in the correspondence between the parameter and the process executed by the subsequent server. Therefore, the analyzer cannot perform name identification with high accuracy.

また、上記の抽出装置では、後段サーバで実行される複数の処理に対応するURLが同一である場合には、値が共通するパラメータの種類を抽出する。このため、上記の抽出装置では、後段サーバで実行される複数の処理に対応するURLが同一である場合に、パラメータの値が設定されていないときには、名寄せを行うことが困難である。したがって、抽出装置では、精度良く名寄せが出来ない。   Further, in the above-described extraction device, when the URLs corresponding to a plurality of processes executed in the subsequent server are the same, the types of parameters having a common value are extracted. For this reason, in the above extraction device, when the URLs corresponding to a plurality of processes executed in the subsequent server are the same, it is difficult to perform name identification when no parameter value is set. Therefore, the extraction device cannot perform name identification with high accuracy.

1つの側面では、本発明は、精度良く名寄せを行うことを目的とする。   In one aspect, an object of the present invention is to perform name identification with high accuracy.

1つの案では、本願の開示する分析装置は、記憶部と、算出部と、特定部とを有する。記憶部は、第一の装置から第二の装置へ送信された第一のリクエストに含まれるパラメータの種類およびパラメータの値と、第一のリクエストに基づいて第二の装置から第三の装置へ送信された第二のリクエストに基づいて第三の装置により実行された処理の識別子とを対応付けて記憶する。算出部は、記憶部の記憶内容に基づいて、パラメータの種類および値ごとの第三の装置により実行される処理の割合を算出する。そして、算出部は、算出した割合に対応するパラメータの種類および値に対する第一のリクエストに含まれるパラメータの種類および値の類似度を算出する。特定部は、算出部により算出された類似度に基づいて、第三の装置により実行される処理に対応するパラメータの種類、または、パラメータの種類および値を特定する。   In one plan, an analysis device disclosed in the present application includes a storage unit, a calculation unit, and a specifying unit. The storage unit stores the parameter type and parameter value included in the first request transmitted from the first device to the second device, and the second device to the third device based on the first request. The identifier of the process executed by the third device based on the transmitted second request is stored in association with each other. The calculation unit calculates a ratio of processing executed by the third device for each parameter type and value based on the storage content of the storage unit. Then, the calculation unit calculates the similarity between the parameter type and the value included in the first request for the parameter type and the value corresponding to the calculated ratio. The specifying unit specifies the type of parameter or the type and value of the parameter corresponding to the process executed by the third device based on the similarity calculated by the calculating unit.

1つの側面では、本発明は、精度良く名寄せを行うことができる。   In one aspect, the present invention can perform name identification with high accuracy.

図1は、実施例1に係る分析装置が適用されるシステムの全体構成図の一例を示す図である。FIG. 1 is a diagram illustrating an example of an overall configuration diagram of a system to which the analysis apparatus according to the first embodiment is applied. 図2は、実施例1に係るキャプチャサーバの構成を示す図である。FIG. 2 is a diagram illustrating the configuration of the capture server according to the first embodiment. 図3は、ペアリストの一例を示す図である。FIG. 3 is a diagram illustrating an example of a pair list. 図4は、スイッチからキャプチャサーバに送信されたデータが示すURL、keyおよびvalueの組み合わせと、DBサーバで実行されたSQLの処理の種類との関係の一例を示す図である。FIG. 4 is a diagram illustrating an example of a relationship between a combination of a URL, a key, and a value indicated by data transmitted from the switch to the capture server, and a type of SQL processing executed by the DB server. 図5は、第一のテーブルのデータ構造の一部の一例を示す図である。FIG. 5 is a diagram illustrating an example of a part of the data structure of the first table. 図6は、第二のテーブルのデータ構造の一部の一例を示す図である。FIG. 6 is a diagram illustrating an example of a part of the data structure of the second table. 図7は、平均値を算出する処理の一例を説明するための図である。FIG. 7 is a diagram for explaining an example of processing for calculating an average value. 図8は、第三のテーブルのデータ構造の一部の一例を示す図である。FIG. 8 is a diagram illustrating an example of a part of the data structure of the third table. 図9は、第四のテーブルのデータ構造の一部の一例を示す図である。FIG. 9 is a diagram illustrating an example of a part of the data structure of the fourth table. 図10は、第五のテーブルのデータ構造の一部の一例を示す図である。FIG. 10 is a diagram illustrating an example of a part of the data structure of the fifth table. 図11は、実施例1に係る特定処理の手順を示すフローチャートである。FIG. 11 is a flowchart illustrating the procedure of the specifying process according to the first embodiment. 図12は、分析プログラムを実行するコンピュータを示す図である。FIG. 12 is a diagram illustrating a computer that executes an analysis program.

以下に、本願の開示する分析装置、分析プログラムおよび分析方法の各実施例を図面に基づいて詳細に説明する。なお、この実施例は開示の技術を限定するものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。   Hereinafter, embodiments of an analysis apparatus, an analysis program, and an analysis method disclosed in the present application will be described in detail with reference to the drawings. Note that this embodiment does not limit the disclosed technology. Each embodiment can be appropriately combined within a range in which processing contents are not contradictory.

[システム構成]
実施例1に係るシステムについて説明する。図1は、実施例1に係る分析装置が適用されるシステムの全体構成図の一例を示す図である。図1に示すように、システム1は、キャプチャサーバ10、クライアント端末11、スイッチ14およびサービス提供システム15を有する。システム1の一例としては、会社内におけるLAN(Local Area Network)システムや、インターネット16を介して商品の受注を行うシステムなどが挙げられる。なお、キャプチャサーバ10は、分析装置の一例である。
[System configuration]
A system according to the first embodiment will be described. FIG. 1 is a diagram illustrating an example of an overall configuration diagram of a system to which the analysis apparatus according to the first embodiment is applied. As shown in FIG. 1, the system 1 includes a capture server 10, a client terminal 11, a switch 14, and a service providing system 15. Examples of the system 1 include a LAN (Local Area Network) system in a company and a system for receiving an order for goods via the Internet 16. The capture server 10 is an example of an analysis device.

クライアント端末11は、サービス提供システム15に対して、サービス要求を行うための装置である。例えば、クライアント端末11は、インターネット16に接続されている。クライアント端末11は、ユーザの操作を受け付けて、サービスを要求するためのHTTP(HyperText Transfer Protocol)のリクエストメッセージを、インターネット16に送信する。この場合、クライアント端末11は、後述のWebサーバ12を送信先としたリクエストメッセージを、インターネット16に送信する。また、クライアント端末11は、Webサーバ12から、レスポンスを受信する。例えば、クライアント端末11は、Webサーバ12から、HTTPのレスポンスメッセージを受信する。そして、クライアント端末11は、レスポンスメッセージの内容をブラウザに表示する。クライアント端末11は、例えば、サービス提供システム15からサービスを受けるユーザによって利用される。なお、図1の例では、クライアント端末11の台数が複数の場合が例示されているが、クライアント端末11の台数は、任意の台数を採用することができる。   The client terminal 11 is a device for making a service request to the service providing system 15. For example, the client terminal 11 is connected to the Internet 16. The client terminal 11 receives a user operation and transmits a request message of HTTP (HyperText Transfer Protocol) for requesting a service to the Internet 16. In this case, the client terminal 11 transmits to the Internet 16 a request message whose destination is a Web server 12 described later. Further, the client terminal 11 receives a response from the Web server 12. For example, the client terminal 11 receives an HTTP response message from the Web server 12. Then, the client terminal 11 displays the content of the response message on the browser. The client terminal 11 is used by a user who receives a service from the service providing system 15, for example. In the example of FIG. 1, a case where there are a plurality of client terminals 11 is illustrated, but any number of client terminals 11 can be adopted.

インターネット16では、データが、送信先の装置に送信される。例えば、インターネット16では、クライアント端末11から送信されたリクエストメッセージであって、送信先がWebサーバ12であるリクエストメッセージが、Webサーバ12に接続されたスイッチ14に送信される。また、インターネット16では、スイッチ14から送信されたレスポンスメッセージであって、送信先がクライアント端末11であるレスポンスメッセージが、クライアント端末11に送信される。   On the Internet 16, data is transmitted to a destination device. For example, on the Internet 16, a request message transmitted from the client terminal 11 and whose destination is the Web server 12 is transmitted to the switch 14 connected to the Web server 12. In the Internet 16, a response message transmitted from the switch 14 and having a transmission destination of the client terminal 11 is transmitted to the client terminal 11.

サービス提供システム15は、ユーザからの要求に応じて、サービスを提供する。例えば、サービス提供システム15は、Webサーバ12およびDB(Data Base)サーバ13を有する。   The service providing system 15 provides a service in response to a request from the user. For example, the service providing system 15 includes a Web server 12 and a DB (Data Base) server 13.

Webサーバ12は、クライアント端末11からのリクエストに応じて、DBサーバ13へリクエストを送信する。例えば、Webサーバ12は、クライアント端末11からのサービスを要求するリクエストメッセージに応じて、DBサーバ13へSQL(Structured Query Language)の問合せを送信する。   The Web server 12 transmits a request to the DB server 13 in response to a request from the client terminal 11. For example, the Web server 12 transmits an SQL (Structured Query Language) query to the DB server 13 in response to a request message requesting a service from the client terminal 11.

また、Webサーバ12は、DBサーバ13からのレスポンスに応じて、クライアント端末11へレスポンスを送信する。例えば、Webサーバ12は、DBサーバ13からのSQLの応答に応じて、クライアント端末11へHTTPのレスポンスメッセージを送信する。なお、図1の例では、Webサーバ12の台数が1台である場合を例示しているが、Webサーバ12の台数は複数であってもよい。   Further, the Web server 12 transmits a response to the client terminal 11 in response to the response from the DB server 13. For example, the Web server 12 transmits an HTTP response message to the client terminal 11 in response to an SQL response from the DB server 13. 1 illustrates the case where the number of Web servers 12 is one, the number of Web servers 12 may be plural.

DBサーバ13は、Webサーバ12からのリクエストに応じて、Webサーバ12へレスポンスを送信する。例えば、DBサーバ13は、Webサーバ12からのSQLの問合せに応じて、図示しないDBへアクセスし、Webサーバ12へSQLの応答を送信する。ここで、SQLの応答には、DBサーバ13で実行された処理の種類を示す識別子が含まれる。なお、図1の例では、DBサーバ13の台数が1台である場合を例示しているが、DBサーバ13の台数は複数であってもよい。   The DB server 13 transmits a response to the Web server 12 in response to a request from the Web server 12. For example, the DB server 13 accesses a DB (not shown) in response to an SQL inquiry from the Web server 12, and transmits an SQL response to the Web server 12. Here, the SQL response includes an identifier indicating the type of processing executed by the DB server 13. In the example of FIG. 1, the case where the number of DB servers 13 is one is illustrated, but the number of DB servers 13 may be plural.

スイッチ14は、クライアント端末11、Webサーバ12およびDBサーバ13の各装置間のデータの送受信を行うとともに、各装置間に流れるデータのコピーをキャプチャサーバ10に送信する。図1の例では、スイッチ14のポートP1は、インターネット16に接続されている。また、図1の例では、スイッチ14のポートP2は、Webサーバ12に接続されている。また、図1の例では、スイッチ14のポートP3は、DBサーバ13に接続されている。また、図1の例では、スイッチ14のポートP4は、キャプチャサーバ10に接続されている。図1の例では、スイッチ14は、インターネット16を介して、クライアント端末11から、送信先がWebサーバ12であるリクエストメッセージを受信した場合には、受信したリクエストメッセージをポートP2からWebサーバ12へ送信する。また、スイッチ14は、Webサーバ12から、送信先がDBサーバ13であるSQLの問合せを受信した場合には、受信したSQLの問合せをポートP3からDBサーバ13へ送信する。また、スイッチ14は、DBサーバ13から、送信先がWebサーバ12であるSQLの応答を受信した場合には、受信したSQLの応答をポートP2からWebサーバ12へ送信する。また、スイッチ14は、Webサーバ12から、送信先がクライアント端末11であるレスポンスメッセージを受信した場合には、受信したレスポンスメッセージをポートP1から、インターネット16を介して、クライアント端末11へ送信する。   The switch 14 transmits and receives data among the devices of the client terminal 11, the Web server 12, and the DB server 13, and transmits a copy of data flowing between the devices to the capture server 10. In the example of FIG. 1, the port P <b> 1 of the switch 14 is connected to the Internet 16. In the example of FIG. 1, the port P <b> 2 of the switch 14 is connected to the Web server 12. In the example of FIG. 1, the port P3 of the switch 14 is connected to the DB server 13. In the example of FIG. 1, the port P4 of the switch 14 is connected to the capture server 10. In the example of FIG. 1, when the switch 14 receives a request message whose destination is the Web server 12 from the client terminal 11 via the Internet 16, the switch 14 sends the received request message from the port P <b> 2 to the Web server 12. Send. In addition, when the switch 14 receives an SQL query from the Web server 12 whose destination is the DB server 13, the switch 14 transmits the received SQL query from the port P 3 to the DB server 13. Further, when the switch 14 receives an SQL response whose destination is the Web server 12 from the DB server 13, the switch 14 transmits the received SQL response to the Web server 12 from the port P <b> 2. When the switch 14 receives a response message whose destination is the client terminal 11 from the Web server 12, the switch 14 transmits the received response message from the port P 1 to the client terminal 11 via the Internet 16.

また、スイッチ14は、いわゆるポートミラーリング機能を有する。例えば、スイッチ14は、ポートP1、P2、P3を経由するデータをコピーし、コピーしたデータを、ポートP4から、キャプチャサーバ10に送信する。これにより、クライアント端末11、Webサーバ12およびDBサーバ13の各装置間を流れるデータを、キャプチャサーバ10が収集可能となる。スイッチ14は、複数の装置でも良く、例えば、クライアント端末11とWebサーバ12との通信を中継する装置と、Webサーバ12とDBサーバ13との通信を中継する装置と、によって構成されてもよい。   The switch 14 has a so-called port mirroring function. For example, the switch 14 copies data that passes through the ports P1, P2, and P3, and transmits the copied data to the capture server 10 from the port P4. As a result, the capture server 10 can collect data flowing between the devices of the client terminal 11, the Web server 12, and the DB server 13. The switch 14 may be a plurality of devices, and may be configured by, for example, a device that relays communication between the client terminal 11 and the Web server 12 and a device that relays communication between the Web server 12 and the DB server 13. .

[キャプチャサーバ10の構成]
実施例1に係るキャプチャサーバについて説明する。図2は、実施例1に係るキャプチャサーバの構成を示す図である。図2に示すように、キャプチャサーバ10は、入力部20と、I/F(Interface)21と、報知部22と、記憶部23と、制御部24とを有する。本実施例に係るキャプチャサーバ10は、クライアント端末11からWebサーバ12へ送信されたHTTPのリクエストに含まれるCGI(Common Gateway Interface)パラメータの種類(key)および値(value)を取得する。また、キャプチャサーバ10は、HTTPのリクエストに基づいてWebサーバ12からDBサーバ13へ送信されたSQLの問い合わせに基づいてDBサーバ13により実行されたSQL処理の識別子(SQLの種類)を取得する。そして、キャプチャサーバ10は、取得したkeyおよびvalueと、SQLの種類とを対応付けて記憶する。そして、キャプチャサーバ10は、記憶内容に基づいて、keyおよびvalueごとのDBサーバ13により実行されるSQL処理の割合を算出する。そして、キャプチャサーバ10は、算出した割合に対応するkeyおよびvalueに対するHTTPのリクエストに含まれるkeyおよびvalueの類似度を算出する。続いて、キャプチャサーバ10は、算出された類似度に基づいて、DBサーバ13により実行されるSQL処理に対応するkey、または、keyおよびvalueを特定する。このように、キャプチャサーバ10は、人の作業を発生させずに、処理によって名寄せを行う。また、キャプチャサーバ10は、keyにvalueが設定されていない場合でも、key単位で名寄せを行うことができる。したがって、キャプチャサーバ10によれば、精度良く名寄せを行うことができる。
[Configuration of Capture Server 10]
A capture server according to the first embodiment will be described. FIG. 2 is a diagram illustrating the configuration of the capture server according to the first embodiment. As illustrated in FIG. 2, the capture server 10 includes an input unit 20, an I / F (Interface) 21, a notification unit 22, a storage unit 23, and a control unit 24. The capture server 10 according to the present embodiment acquires the type (key) and value (value) of a CGI (Common Gateway Interface) parameter included in an HTTP request transmitted from the client terminal 11 to the Web server 12. Further, the capture server 10 acquires an identifier (SQL type) of the SQL process executed by the DB server 13 based on the SQL inquiry transmitted from the Web server 12 to the DB server 13 based on the HTTP request. The capture server 10 stores the acquired key and value in association with the SQL type. Then, the capture server 10 calculates the ratio of the SQL process executed by the DB server 13 for each key and value based on the stored content. Then, the capture server 10 calculates the similarity between the key and value included in the HTTP request for the key and value corresponding to the calculated ratio. Subsequently, the capture server 10 specifies the key or the key and value corresponding to the SQL process executed by the DB server 13 based on the calculated similarity. In this way, the capture server 10 performs name identification by processing without causing human work. Further, the capture server 10 can perform name identification in units of keys even when no value is set for the key. Therefore, according to the capture server 10, name identification can be performed with high accuracy.

入力部20は、制御部24に情報を入力する。例えば、入力部20は、ユーザからの指示を受け付けて、制御部24に、後述の特定処理を実行する指示を入力する。入力部20のデバイスの一例としては、キーボードやマウスなどが挙げられる。   The input unit 20 inputs information to the control unit 24. For example, the input unit 20 receives an instruction from the user and inputs an instruction to execute a specific process described later to the control unit 24. Examples of the device of the input unit 20 include a keyboard and a mouse.

I/F21は、スイッチ14との通信を行うための通信インタフェースである。例えば、I/F21は、スイッチ14から送信されたリクエストメッセージのコピーであって、クライアント端末11からWebサーバ12へのリクエストメッセージのコピーを受信した場合には、受信したリクエストメッセージのコピーを制御部24へ送信する。また、I/F21は、スイッチ14から送信されたSQLの問合せのコピーであって、Webサーバ12からDBサーバ13へのSQLの問合せのコピーを受信した場合には、受信したSQLの問合せのコピーを制御部24へ送信する。また、I/F21は、スイッチ14から送信されたSQLの応答のコピーであって、DBサーバ13からWebサーバ12へのSQLの応答のコピーを受信した場合には、受信したSQLの応答のコピーを制御部24へ送信する。また、I/F21は、スイッチ14から送信されたレスポンスメッセージのコピーであって、Webサーバ12からクライアント端末11へのレスポンスメッセージのコピーを受信した場合には、次のような処理を行う。すなわち、I/F21は、受信したレスポンスメッセージのコピーをクライアント端末11へ送信する。   The I / F 21 is a communication interface for performing communication with the switch 14. For example, when the I / F 21 is a copy of the request message transmitted from the switch 14 and receives a copy of the request message from the client terminal 11 to the Web server 12, the I / F 21 controls the copy of the received request message. 24. The I / F 21 is a copy of the SQL query transmitted from the switch 14. When the copy of the SQL query from the Web server 12 to the DB server 13 is received, the I / F 21 is a copy of the received SQL query. Is transmitted to the control unit 24. The I / F 21 is a copy of the SQL response transmitted from the switch 14. When the copy of the SQL response from the DB server 13 to the Web server 12 is received, the I / F 21 is a copy of the received SQL response. Is transmitted to the control unit 24. In addition, when the I / F 21 is a copy of the response message transmitted from the switch 14 and receives a copy of the response message from the Web server 12 to the client terminal 11, the I / F 21 performs the following processing. That is, the I / F 21 transmits a copy of the received response message to the client terminal 11.

報知部22は、情報を報知する。例えば、報知部22は、後述の報知制御部24dにより入力されたパラメータの特定結果を報知する。報知部22のデバイスとしては、例えば、CRT(Cathode Ray Tube)や、液晶ディスプレイなどの表示装置が挙げられる。   The notification unit 22 notifies information. For example, the notification unit 22 notifies a parameter identification result input by a notification control unit 24d described later. Examples of the device of the notification unit 22 include a display device such as a CRT (Cathode Ray Tube) or a liquid crystal display.

記憶部23は、制御部24で実行される各種プログラムを記憶する。また、記憶部23は、ペアリスト23a、第一のテーブル23b、第二のテーブル23c、第三のテーブル23d、第四のテーブル23e、第五のテーブル23fを記憶する。   The storage unit 23 stores various programs executed by the control unit 24. The storage unit 23 also stores a pair list 23a, a first table 23b, a second table 23c, a third table 23d, a fourth table 23e, and a fifth table 23f.

ペアリスト23aは、リクエストと、このリクエストに対応するレスポンスとの組が登録されるテーブルである。ペアリスト23aの各レコードには、後述の格納部24aにより、リクエストとレスポンスとの各組が登録される。図3は、ペアリストの一例を示す図である。図3の例では、リクエストをキャプチャサーバ10が受信した時刻である「リクエスト時刻」の項目がペアリスト23aに含まれていることを示す。また、図3の例では、リクエストに対応するレスポンスをキャプチャサーバ10が受信した時刻である「レスポンス時刻」の項目がペアリスト23aに含まれていることを示す。また、図3の例では、リクエストとレスポンスとの組が、クライアント端末11とWebサーバ12との間、または、Webサーバ12とDBサーバ13との間で送受信されたものであるのかを示す「階層」の項目がペアリスト23aに含まれていることを示す。なお、図3の例では、リクエストとレスポンスとの組が、クライアント端末11とWebサーバ12との間で送受信されたものである場合には、第一の所定値、例えば「1」が「階層」に登録される。また、図3の例では、リクエストとレスポンスとの組が、Webサーバ12とDBサーバ13との間で送受信されたものである場合には、第二の所定値、例えば「2」が「階層」に登録される。すなわち、「階層」の項目には、リクエストとレスポンスとの組が、どの装置間で発生したものかを示す情報が登録される。   The pair list 23a is a table in which a pair of a request and a response corresponding to the request is registered. Each pair of request and response is registered in each record of the pair list 23a by the storage unit 24a described later. FIG. 3 is a diagram illustrating an example of a pair list. The example of FIG. 3 indicates that the item “request time”, which is the time when the capture server 10 received the request, is included in the pair list 23a. In the example of FIG. 3, it is shown that the item “response time”, which is the time when the capture server 10 received the response corresponding to the request, is included in the pair list 23a. Further, in the example of FIG. 3, “request / response pair” is transmitted / received between the client terminal 11 and the Web server 12 or between the Web server 12 and the DB server 13. The item “hierarchy” is included in the pair list 23a. In the example of FIG. 3, when a pair of a request and a response is transmitted / received between the client terminal 11 and the Web server 12, a first predetermined value, for example, “1” is “hierarchy”. Is registered. Further, in the example of FIG. 3, when a pair of a request and a response is transmitted / received between the Web server 12 and the DB server 13, a second predetermined value, for example, “2” is “hierarchy”. Is registered. That is, in the item “hierarchy”, information indicating between which devices a pair of a request and a response is generated is registered.

また、図3の例では、リクエストの内容である「内容1」の項目がペアリスト23aに含まれていることを示す。また、図3の例では、ペアリスト23aのレコードの通し番号である「通し番号」の項目がペアリスト23aに含まれていることを示す。また、図3の例では、レスポンスの送信元のIP(Internet Protocol)アドレスである「送信元IP」の項目がペアリスト23aに含まれていることを示す。また、図3の例では、レスポンスの送信先のIPアドレスである「送信先IP」の項目がペアリスト23aに含まれていることを示す。また、図3の例では、レスポンスの内容である「内容2」の項目がペアリスト23aに含まれていることを示す。なお、DBサーバ13からのレスポンス(SQLの応答)については、ペアリスト23aの「内容2」には、DBサーバ13が実行したSQLの処理の種類を示す識別子が登録される。   Further, the example of FIG. 3 indicates that the item “content 1”, which is the content of the request, is included in the pair list 23a. Further, the example of FIG. 3 indicates that the item “serial number” that is the serial number of the record in the pair list 23a is included in the pair list 23a. Further, the example of FIG. 3 indicates that the item “source IP”, which is the IP (Internet Protocol) address of the response transmission source, is included in the pair list 23a. Further, the example of FIG. 3 indicates that the item “transmission destination IP” which is the IP address of the transmission destination of the response is included in the pair list 23a. Further, the example of FIG. 3 indicates that the item “content 2”, which is the content of the response, is included in the pair list 23a. As for the response from the DB server 13 (SQL response), an identifier indicating the type of SQL processing executed by the DB server 13 is registered in “content 2” of the pair list 23a.

ここで、図3の例では、「通し番号」が1のレコードは、SQLの問合せをキャプチャサーバ10が受信した時刻が2010年10月28日10時00分0.9秒であることを示す。また、図3の例では、「通し番号」が1のレコードは、対応するSQLの応答をキャプチャサーバ10が受信した時刻が2010年10月28日10時00分1.1秒であることを示す。また、図3の例では、「通し番号」が1のレコードの「階層」の項目は、このレコードに登録されたSQLの問合せとSQLの応答との組が、Webサーバ12とDBサーバ13との間で送受信されたものであることを示す。また、図3の例では、「通し番号」が1のレコードは、SQLの問合せの内容が「a」であることを示す。また、図3の例では、「通し番号」が1のレコードは、このレコードに登録されたSQLの応答の送信元のIPアドレスが「10.0.0.1」であることを示す。また、図3の例では、「通し番号」が1のレコードは、このレコードに登録されたSQLの応答の送信先のIPアドレスが「10.0.0.2」であることを示す。また図3の例では、「通し番号」が1のレコードは、このレコードに登録されたSQLの応答に含まれる、DBサーバ13が実行したSQLの処理の種類を示す識別子が10であることを示す。   In the example of FIG. 3, the record whose “serial number” is 1 indicates that the time when the capture server 10 received the SQL query is October 28, 2010, 10: 00: 0.9. In the example of FIG. 3, the record whose “serial number” is 1 indicates that the time when the capture server 10 received the corresponding SQL response is October 28, 2010, 10: 00: 1.1. . Further, in the example of FIG. 3, the item of “hierarchy” of the record whose “serial number” is 1, the combination of the SQL query and the SQL response registered in this record is the relationship between the Web server 12 and the DB server 13. Indicates that the message was sent or received between them. In the example of FIG. 3, the record whose “serial number” is 1 indicates that the content of the SQL inquiry is “a”. In the example of FIG. 3, a record whose “serial number” is 1 indicates that the IP address of the transmission source of the SQL response registered in this record is “10.0.0.1”. In the example of FIG. 3, a record whose “serial number” is 1 indicates that the IP address of the transmission destination of the SQL response registered in this record is “10.0.0.2”. In the example of FIG. 3, the record whose “serial number” is 1 indicates that the identifier indicating the type of SQL processing executed by the DB server 13 is 10 included in the SQL response registered in this record. .

また、図3の例では、「通し番号」が2のレコードは、リクエストメッセージをキャプチャサーバ10が受信した時刻が2010年10月28日10時01分0.0秒であることを示す。また、図3の例では、「通し番号」が2のレコードは、対応するレスポンスメッセージをキャプチャサーバ10が受信した時刻が2010年10月28日10時00分3.0秒であることを示す。また、図3の例では、「通し番号」が2のレコードの「階層」の項目は、このレコードに登録されたリクエストメッセージとレスポンスメッセージとの組が、クライアント端末11とWebサーバ12との間で送受信されたものであることを示す。また、図3の例では、「通し番号」が2のレコードは、リクエストメッセージの内容が「urlA.jsp」であることを示す。また、図3の例では、「通し番号」が2のレコードは、このレコードに登録されたレスポンスメッセージの送信元のIPアドレスが「192.168.0.1」であることを示す。また、図3の例では、「通し番号」が2のレコードは、このレコードに登録されたレスポンスメッセージの送信先のIPアドレスが「10.0.0.1」であることを示す。また図3の例では、「通し番号」が2のレコードは、レスポンスメッセージに含まれるデータの内容が「urlA.jsp」であることを示す。図3の例のその他のレコードの登録内容についても、上述した内容と同様であるので説明を省略する。   In the example of FIG. 3, the record having “serial number” 2 indicates that the time when the capture server 10 received the request message is 10: 01: 0.0 on October 28, 2010. In the example of FIG. 3, the record whose “serial number” is 2 indicates that the time when the capture server 10 received the corresponding response message is October 28, 2010, 10: 00: 3.0. In the example of FIG. 3, the “hierarchy” item of the record whose “serial number” is 2 indicates that the pair of the request message and the response message registered in this record is between the client terminal 11 and the Web server 12. Indicates that it was sent or received. In the example of FIG. 3, a record with “serial number” 2 indicates that the content of the request message is “urlA.jsp”. In the example of FIG. 3, the record with “serial number” 2 indicates that the IP address of the transmission source of the response message registered in this record is “192.168.0.1”. In the example of FIG. 3, a record with “serial number” 2 indicates that the destination IP address of the response message registered in this record is “10.0.0.1”. In the example of FIG. 3, a record with “serial number” 2 indicates that the content of data included in the response message is “urlA.jsp”. Since the registered contents of the other records in the example of FIG. 3 are the same as the contents described above, description thereof will be omitted.

なお、ペアリスト23aに登録される情報は、上記の内容に限られない。ペアリスト23aには、クライアント端末11から送信されたHTTPのリクエストに含まれるURL、パラメータ(keyおよびvalue)と、DBサーバ13により実行されたSQLの処理の種類とを対応付けるための情報が登録されていればよい。例えば、ペアリスト23aに登録される情報は、「リクエスト時刻」、「レスポンス時刻」、「階層」、「内容1」、「内容2」の項目だけでもよい。また、ペアリスト23aに登録される各項目の情報は、後述の格納部24aによって、スイッチ14からのデータが解析されることにより得られる。   The information registered in the pair list 23a is not limited to the above content. Registered in the pair list 23 a is information for associating the URL and parameters (key and value) included in the HTTP request transmitted from the client terminal 11 with the type of SQL processing executed by the DB server 13. It only has to be. For example, the information registered in the pair list 23a may include only the items “request time”, “response time”, “hierarchy”, “content 1”, and “content 2”. Further, information of each item registered in the pair list 23a is obtained by analyzing data from the switch 14 by a storage unit 24a described later.

図4は、スイッチからキャプチャサーバに送信されたデータが示すURL、keyおよびvalueの組み合わせと、DBサーバで実行されたSQLの処理の種類との関係の一例を示す図である。図4の例では、横軸は、時間を示す。図4の例は、HTTPのリクエストがクライアント端末11から送信されてから、クライアント端末11がHTTPのレスポンスを受信するまでのリクエストとレスポンスの組である第一の組30a、30b、30cの3種類の第一の組が出現した場合を示す。また、図4の例は、SQLの問い合わせがWebサーバ12から送信されてから、Webサーバ12がSQLの応答を受信するまでのリクエストとレスポンスの組である第二の組31a、31bの2種類の第二の組が出現した場合を示す。   FIG. 4 is a diagram illustrating an example of a relationship between a combination of a URL, a key, and a value indicated by data transmitted from the switch to the capture server, and a type of SQL processing executed by the DB server. In the example of FIG. 4, the horizontal axis indicates time. In the example of FIG. 4, there are three types of first sets 30 a, 30 b, and 30 c that are combinations of requests and responses after the HTTP request is transmitted from the client terminal 11 until the client terminal 11 receives the HTTP response. The case where the first set of appears. In the example of FIG. 4, there are two types of second sets 31 a and 31 b that are combinations of a request and a response after the SQL inquiry is transmitted from the Web server 12 until the Web server 12 receives the SQL response. The case where the second set of appears.

図4の例では、第一の組30aのリクエストには、URLに「urlA」、パラメータに「sid=001」、「exec=meisai」が含まれている。また、図4の例では、第一の組30bのリクエストには、URLに「urlA」、パラメータに「sid=002」、「exec=meisai」が含まれている。また、図4の例では、第一の組30cのリクエストには、URLに「urlA」、パラメータに「sid=003」が含まれている。また、以下、第二の組31aのレスポンスに含まれるSQLの処理の識別子を「子1」、第二の組31bのレスポンスに含まれるSQLの処理の識別子を「子2」第二の組31cのレスポンスに含まれるSQLの処理の識別子を「子3」と称する場合がある。   In the example of FIG. 4, the request of the first set 30a includes “urlA” in the URL, “sid = 001”, and “exec = meisai” in the parameters. In the example of FIG. 4, the request of the first set 30 b includes “urlA” in the URL, “sid = 002”, and “exec = meisai” in the parameters. In the example of FIG. 4, the request for the first set 30c includes “urlA” in the URL and “sid = 003” in the parameter. Hereinafter, the identifier of the SQL process included in the response of the second group 31a is “child 1”, and the identifier of the SQL process included in the response of the second group 31b is “child 2”. The identifier of the SQL process included in the response may be referred to as “child 3”.

図4の例では、出現した第一の組30aのリクエストと、レスポンスとの間に、第二の組31a、31bが内包されている場合が示されている。なお、ここでいう「内包」とは、第一の組のリクエストとレスポンスとの間の時間内に、第二の組のリクエストおよびレスポンスの発生時刻が含まれることを指す。また、図4の例では、出現した第一の組30bのリクエストと、レスポンスとの間に、第二の組31a、31cが内包されている場合が示されている。また、図4の例では、第一の組30cのリクエストと、レスポンスとの間に、第二の組31cが内包されている場合が示されている。   In the example of FIG. 4, a case is shown in which the second sets 31 a and 31 b are included between the request and the response of the first set 30 a that have appeared. Note that the “inclusive” referred to here means that the generation time of the second set of requests and responses is included in the time between the first set of requests and responses. In the example of FIG. 4, a case is shown in which the second sets 31 a and 31 c are included between the request and response of the first set 30 b that have appeared. In the example of FIG. 4, a case is shown in which the second set 31 c is included between the request and response of the first set 30 c.

第一のテーブル23bは、スイッチ14からキャプチャサーバ10に送信されたデータが示すURL、またはURLおよびkey、もしくは、URL、keyおよびvalueの組み合わせに対するDBサーバ13で実行されたSQLの処理の種類の割合が登録されるテーブルである。第一のテーブル23bには、後述の算出部24bにより算出された割合が登録、更新される。なお、第一のテーブル23bの各項目には、算出部24bにより内容が登録される前、いわゆる初期時には、何も登録されていない。図5は、第一のテーブルのデータ構造の一部の一例を示す図である。第一のテーブル23bは、「URL」、「CGI key」、「CGI value」、「インスタンス」の各項目を有する。   The first table 23b indicates the type of SQL processing executed by the DB server 13 for the URL indicated by the data transmitted from the switch 14 to the capture server 10, or the URL and key, or a combination of URL, key and value. It is a table in which the ratio is registered. In the first table 23b, the ratio calculated by the calculation unit 24b described later is registered and updated. In each item of the first table 23b, nothing is registered before the contents are registered by the calculation unit 24b, that is, at the initial time. FIG. 5 is a diagram illustrating an example of a part of the data structure of the first table. The first table 23b has items of “URL”, “CGI key”, “CGI value”, and “instance”.

図5の例では、「URL」の項目に、スイッチ14からキャプチャサーバ10に送信されたデータにおいて出現したHTTPのリクエストに含まれる「URL」が登録される。また、図5の例では、「CGI key」の項目に、スイッチ14からキャプチャサーバ10に送信されたデータにおいて出現したHTTPのリクエストの「key」が登録される。また、図5の例では、「CGI value」の項目に、スイッチ14からキャプチャサーバ10に送信されたデータにおいて出現したHTTPのリクエストの「value」が登録される。また、図5の例では、「インスタンス」の項目に、スイッチ14からキャプチャサーバ10に送信されたデータにおいて出現したリクエストの「URL」、「key」および「value」の組み合わせに対する、DBサーバ13で実行されたSQLの処理の種類の割合が登録される。なお、DBサーバ13で実行されたSQLの処理を示す識別子と、その識別子が示すSQLの処理の出現割合との関係は、[DBサーバ13で実行されたSQLの処理を示す識別子:SQLの処理の出現割合]で表される。   In the example of FIG. 5, “URL” included in the HTTP request that appears in the data transmitted from the switch 14 to the capture server 10 is registered in the “URL” item. In the example of FIG. 5, “key” of the HTTP request that appears in the data transmitted from the switch 14 to the capture server 10 is registered in the item “CGI key”. In the example of FIG. 5, “value” of the HTTP request that appears in the data transmitted from the switch 14 to the capture server 10 is registered in the item “CGI value”. Further, in the example of FIG. 5, the DB server 13 corresponds to the combination of “URL”, “key”, and “value” of the request that appears in the item “instance” in the data transmitted from the switch 14 to the capture server 10. The ratio of the type of SQL processing executed is registered. The relation between the identifier indicating the SQL process executed by the DB server 13 and the appearance ratio of the SQL process indicated by the identifier is [an identifier indicating the SQL process executed by the DB server 13: SQL process]. Appearance rate].

ここで、先の図4の例では、1番目に出現した第二の組31aを内包しうる第一の組は、第一の組30aである。また、図4の例では、第二の組31bを内包しうる第一の組は、第一の組30aである。また、図4の例では、2番目に出現した第二の組31aを内包しうる第一の組は、第一の組30bである。また、図4の例では、第二の組31cを内包しうる第一の組は、第一の組30bおよび第一の組30cである。ここで、後述の算出部24bでは、ある第二の組に対して、この第二の組を内包しうる第一の組の数がN個である場合には、次のような処理を行う。すなわち、算出部24bでは、かかる第二の組に対するN個の第一の組のそれぞれに対して、1/Nの値を算出し、第一の組のリクエストが有するURLとパラメータとの組合せに対応する、第一のテーブル23bの「インスタンス」の項目に加算する。   Here, in the example of FIG. 4, the first group that can include the second group 31a that appears first is the first group 30a. Moreover, in the example of FIG. 4, the 1st group which can include the 2nd group 31b is the 1st group 30a. In the example of FIG. 4, the first group that can include the second group 31 a that appears second is the first group 30 b. In the example of FIG. 4, the first set that can include the second set 31c is the first set 30b and the first set 30c. Here, the calculation unit 24b described later performs the following processing when the number of the first group that can include the second group is N for a certain second group. . In other words, the calculation unit 24b calculates a value of 1 / N for each of the N first sets for the second set, and uses the URL and parameter combination of the first set of requests. Add to the corresponding “instance” item of the first table 23b.

例えば、図4の例では、1番目に出現した第二の組31aを内包しうる第一の組は、第一の組30aの1つである。そのため、図4の例の場合には、算出部24bは、1(1/1)を第一の組30aのURLおよびパラメータの組み合わせに対応する「インスタンス」の項目に加算する。   For example, in the example of FIG. 4, the first group that can include the second group 31 a that appears first is one of the first groups 30 a. Therefore, in the example of FIG. 4, the calculation unit 24b adds 1 (1/1) to the “instance” item corresponding to the URL and parameter combination of the first set 30a.

また、図4の例では、第二の組31bを内包しうる第一の組は、第一の組30aの1つである。そのため、図4の例の場合には、算出部24bは、1(1/1)を第一の組30aのURLおよびパラメータの組み合わせに対応する「インスタンス」の項目に加算する。   In the example of FIG. 4, the first set that can include the second set 31b is one of the first sets 30a. Therefore, in the example of FIG. 4, the calculation unit 24b adds 1 (1/1) to the “instance” item corresponding to the URL and parameter combination of the first set 30a.

また、図4の例では、2番目に出現した第二の組31aを内包しうる第一の組は、第一の組30bである。そのため、図4の例の場合には、算出部24bは、1(1/1)を第一の組30bのURLおよびパラメータの組み合わせに対応する「インスタンス」の項目に加算する。   In the example of FIG. 4, the first group that can include the second group 31 a that appears second is the first group 30 b. Therefore, in the example of FIG. 4, the calculation unit 24b adds 1 (1/1) to the “instance” item corresponding to the URL and parameter combination of the first set 30b.

また、図4の例では、第二の組31cを内包しうる第一の組は、第一の組30b、第一の組30cの2つである。そのため、図4の例の場合には、算出部24bは、0.5(1/2)を、第一の組30bのURLおよびパラメータの組み合わせに対応する「インスタンス」の項目、第一の組30cのURLおよびパラメータの組み合わせに対応する「インスタンス」の項目に加算する。   In the example of FIG. 4, there are two first sets that can include the second set 31c, the first set 30b and the first set 30c. Therefore, in the case of the example of FIG. 4, the calculation unit 24b sets 0.5 (1/2) to the item “instance” corresponding to the URL and parameter combination of the first set 30b, the first set. It is added to the “instance” item corresponding to the URL and parameter combination of 30c.

すなわち、図4の例の場合には、後述の算出部24bは、図5の例に示すように、「URL」=「urlA」、「key」=「sid」および「value」=「001」に対応する「インスタンス」の項目に、「子1」の割合「1」、「子2」の割合「1」を登録する。また、図4の例の場合では、算出部24bは、図5の例に示すように、「URL」=「urlA」、「key」=「sid」および「value」=「002」に対応する「インスタンス」の項目に、「子1」の割合「1」、「子3」の割合「0.5」を登録する。また、図4の例の場合では、算出部24bは、図5の例に示すように、「URL」=「urlA」、「key」=「sid」および「value」=「003」に対応する「インスタンス」の項目に、「子3」の割合「0.5」を登録する。また、図4の例の場合では、算出部24bは、図5の例に示すように、「URL」=「urlA」、「key」=「exec」および「value」=「meisai」に対応する「インスタンス」の項目に、次のような内容を登録する。すなわち、算出部24bは、「子1」の割合「1」、「子2」の割合「1」、「子1」の割合「1」、「子3」の割合「0.5」を登録する。   That is, in the case of the example of FIG. 4, the calculation unit 24b described later performs “URL” = “urlA”, “key” = “sid”, and “value” = “001” as illustrated in the example of FIG. The ratio “1” of “child 1” and the ratio “1” of “child 2” are registered in the “instance” item corresponding to. In the case of the example of FIG. 4, the calculation unit 24b corresponds to “URL” = “urlA”, “key” = “sid”, and “value” = “002” as illustrated in the example of FIG. In the “instance” item, the ratio “1” of “child 1” and the ratio “0.5” of “child 3” are registered. In the case of the example of FIG. 4, the calculation unit 24b corresponds to “URL” = “urlA”, “key” = “sid”, and “value” = “003” as illustrated in the example of FIG. In the “instance” item, the ratio “0.5” of “child 3” is registered. In the case of the example of FIG. 4, the calculation unit 24b corresponds to “URL” = “urlA”, “key” = “exec”, and “value” = “meisai” as illustrated in the example of FIG. The following contents are registered in the “instance” item. That is, the calculation unit 24b registers the ratio “1” of “child 1”, the ratio “1” of “child 2”, the ratio “1” of “child 1”, and the ratio “0.5” of “child 3”. To do.

第二のテーブル23cには、第一のテーブル23bの「インスタンス」に登録された値が、後述の算出部24bにより正規化された値が登録される。図6は、第二のテーブルのデータ構造の一部の一例である。例えば、図5の例において、「インスタンス」の項目に、「子1」の割合「1」、「子2」の割合「1」が登録された場合には、後述の算出部24bでは、この登録内容をベクトル(1,1)として扱い、正規化の処理を行う。例えば、図6に示すように、後述の算出部24bでは、ベクトルの長さが、所定値、例えば、「1」となるように、正規化する。この場合、ベクトル(1,1)は、(0.71,0.71)に正規化される。   In the second table 23c, values obtained by normalizing the values registered in the “instance” of the first table 23b by the calculation unit 24b described later are registered. FIG. 6 is an example of a part of the data structure of the second table. For example, in the example of FIG. 5, when the ratio “1” of “child 1” and the ratio “1” of “child 2” are registered in the item “instance”, the calculation unit 24b described later The registration content is treated as a vector (1, 1), and normalization processing is performed. For example, as illustrated in FIG. 6, the calculation unit 24b described later normalizes the vector length so as to be a predetermined value, for example, “1”. In this case, the vector (1,1) is normalized to (0.71, 0.71).

第三のテーブル23dには、第二の組ごとに、第二のテーブル23cに登録された正規化後の割合の平均値が登録される。かかる平均値は、後述の算出部24bにより算出され、登録される。図7は、平均値を算出する処理の一例を説明するための図である。図7の例は、図6の例における「URL」=「urlA」、「CGI key」=「exec」、「CGI value」=「meisai」に対応する「インスタンス」の項目に、複数の「子1」の割合が登録された場合を示す。図7の例においては、後述の算出部24bにより、複数の「子1」の割合の平均値が算出される。図8は、第三のテーブルのデータ構造の一部の一例を示す図である。図8の例は、図7の例において、算出部24bにより算出された「子1」の平均値「0.80」(=(0.71+0.89)/2)が、URLとパラメータとの組み合わせごとに設けられた「モデル」の項目に登録された場合を示す。また、図8の例では、第三のテーブル23dは、先の図5で説明した「URL」、「CGI key」、「CGI value」の項目も有する。図8の例では、かかる「モデル」の項目に、「子1」、「子2」、「子3」のそれぞれの平均値(0.80,0.36,0.23)が登録された場合を示す。この「モデル」の項目の登録内容は、URLとパラメータとの組み合わせに対して平均的な挙動を示す。また、以下の説明において、モデルを暫定モデルと称する場合がある。なお、図8の例は、第三のテーブル23dのデータ構造の一部の一例であり、第三のテーブル23dは、例えば、先の図5の例に示すURL、URLとkey、または、URLとkeyとvalueとの組み合わせごとに、平均値を登録するための各項目を有する。   In the third table 23d, the average value of the ratio after normalization registered in the second table 23c is registered for each second group. The average value is calculated and registered by the calculation unit 24b described later. FIG. 7 is a diagram for explaining an example of processing for calculating an average value. The example of FIG. 7 includes a plurality of “children” in the “instance” item corresponding to “URL” = “urlA”, “CGI key” = “exec”, and “CGI value” = “meisai” in the example of FIG. The case where the ratio of “1” is registered is shown. In the example of FIG. 7, an average value of the ratios of a plurality of “child 1” is calculated by the calculation unit 24b described later. FIG. 8 is a diagram illustrating an example of a part of the data structure of the third table. In the example of FIG. 8, the average value “0.80” (= (0.71 + 0.89) / 2) of “child 1” calculated by the calculation unit 24b in the example of FIG. The case where it is registered in the “model” item provided for each combination is shown. In the example of FIG. 8, the third table 23d also includes the items “URL”, “CGI key”, and “CGI value” described with reference to FIG. In the example of FIG. 8, the average values (0.80, 0.36, 0.23) of “child 1”, “child 2”, and “child 3” are registered in the “model” item. Show the case. The registered content of the item “model” shows an average behavior with respect to the combination of the URL and the parameter. In the following description, a model may be referred to as a provisional model. The example of FIG. 8 is an example of a part of the data structure of the third table 23d. The third table 23d includes, for example, the URL, URL and key, or URL shown in the example of FIG. For each combination of, key and value, each item for registering an average value is included.

第四のテーブル23eには、後述の算出部24bにより算出された類似度が登録される。図9は、第四のテーブルのデータ構造の一部の一例を示す図である。図9の例では、第四のテーブル23eは、先の図5などで説明した「URL」、「CGI key」、「CGI value」の項目に加え、「類似度」の項目を有する。「類似度」の項目には、後述の算出部24bにより第二のテーブル23cの登録内容と、第三のテーブル23dの登録内容とに基づいて算出された類似度が登録される。なお、図9の例では、「類似度」の項目に2つの値「0.9」が登録されているが、上側の類似度「0.9」は、次のようなことを示す。すなわち、上側の類似度「0.9」は、「URL」=「urlA」、「CGI key」=「exec」、「CGI value」=「meisai」、「子1」の割合「1」、「子2」の割合「1」である場合について算出された類似度を示す。また、下側の類似度「0.9」は、「URL」=「urlA」、「CGI key」=「exec」、「CGI value」=「meisai」、「子1」の割合「1」、「子3」の割合「0.5」である場合について算出された類似度を示す。   In the fourth table 23e, the similarity calculated by the calculation unit 24b described later is registered. FIG. 9 is a diagram illustrating an example of a part of the data structure of the fourth table. In the example of FIG. 9, the fourth table 23e has an item of “similarity” in addition to the items of “URL”, “CGI key”, and “CGI value” described in FIG. In the item “similarity”, the similarity calculated by the calculation unit 24b described later based on the registration contents of the second table 23c and the registration contents of the third table 23d is registered. In the example of FIG. 9, two values “0.9” are registered in the “similarity” item, but the upper similarity “0.9” indicates the following. That is, the similarity “0.9” on the upper side is “URL” = “urlA”, “CGI key” = “exec”, “CGI value” = “meisai”, “child 1” ratios “1”, “ The similarity calculated for the case of the ratio “1” of “child 2” is shown. Also, the lower similarity “0.9” is “URL” = “urlA”, “CGI key” = “exec”, “CGI value” = “meisai”, “child 1” ratio “1”, The degree of similarity calculated for the case where the ratio of “child 3” is “0.5” is shown.

第五のテーブル23fは、URL、URLとkey、URLとkeyとvalueとの組み合わせに対応付けられて、後述の算出部24bにより算出された類似度の平均値(平均類似度)、類似度の標準偏差、出現回数が登録される。図10は、第五のテーブルのデータ構造の一部の一例を示す図である。図10の例では、第五のテーブル23fは、先の図5などで説明した「URL」、「CGI key」、「CGI value」の各項目に加え、「URL単位」、「CGI key単位」、「CGI value単位」の各項目を有する。「URL単位」、「CGI key単位」、「CGI value単位」の各項目は、「平均類似度」、「標準偏差」、「出現回数」を有する。「URL単位」の「平均類似度」の項目には、「URL」の項目に登録されたURLに対応する類似度の平均値が後述の算出部24bにより登録される。「URL単位」の「標準偏差」には、「URL」の項目に登録されたURLに対応する類似度の平均値が後述の算出部24bにより登録される。「URL単位」の「出現回数」には、「URL」の項目に登録されたURLに対応する、DBサーバ13で実行されたSQLの処理の種類ごとの出現回数が後述の算出部24bにより登録される。「CGI key単位」は、URLとkeyとの組み合わせを示し、「CGI value単位」は、URLとkeyとvalueとの組み合わせを示す。これら「CGI key単位」、「CGI value単位」の各項目が有する「平均類似度」、「標準偏差」、「出現回数」についても、「URL単位」の場合と同様であるので、説明を省略する。第五のテーブル23fの登録内容に基づいて、後述の特定部24cにより、DBサーバ12で実行されるSQLの処理の種類を切り分けるためのURL、URLとkey、URLとkeyとvalueとの組み合わせが特定される。   The fifth table 23f is associated with combinations of URLs, URLs and keys, URLs, keys, and values, and an average value of similarity (average similarity) calculated by the calculation unit 24b described later. Standard deviation and number of appearances are registered. FIG. 10 is a diagram illustrating an example of a part of the data structure of the fifth table. In the example of FIG. 10, the fifth table 23 f includes “URL unit” and “CGI key unit” in addition to the “URL”, “CGI key”, and “CGI value” items described in FIG. And “CGI value unit”. Each item of “URL unit”, “CGI key unit”, and “CGI value unit” has “average similarity”, “standard deviation”, and “appearance count”. In the “average similarity” item of “URL unit”, an average value of similarity corresponding to the URL registered in the “URL” item is registered by the calculation unit 24b described later. In the “standard deviation” of “URL unit”, the average value of the similarity corresponding to the URL registered in the “URL” item is registered by the calculation unit 24b described later. In the “number of appearances” of “URL unit”, the number of appearances for each type of SQL processing executed in the DB server 13 corresponding to the URL registered in the “URL” item is registered by the calculation unit 24b described later. Is done. “CGI key unit” indicates a combination of URL and key, and “CGI value unit” indicates a combination of URL, key, and value. Since the “average similarity”, “standard deviation”, and “appearance count” of each item of “CGI key unit” and “CGI value unit” are the same as those of “URL unit”, description thereof is omitted. To do. Based on the registered contents of the fifth table 23f, a combination of URL, URL and key, and URL, key, and value for identifying the type of SQL processing executed by the DB server 12 by the specifying unit 24c described later. Identified.

記憶部23は、例えば、フラッシュメモリなどの半導体メモリ素子、または、ハードディスク、光ディスクなどの記憶装置である。なお、記憶部23は、上記の種類の記憶装置に限定されるものではなく、RAM(Random Access Memory)、ROM(Read Only Memory)であってもよい。   The storage unit 23 is, for example, a semiconductor memory device such as a flash memory, or a storage device such as a hard disk or an optical disk. In addition, the memory | storage part 23 is not limited to said kind of memory | storage device, RAM (Random Access Memory) and ROM (Read Only Memory) may be sufficient.

図2の説明に戻り、制御部24は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。制御部24は、図2に示すように、格納部24aと、算出部24bと、特定部24cと、報知制御部24dとを有する。   Returning to the description of FIG. 2, the control unit 24 has an internal memory for storing programs and control data that define various processing procedures, and executes various processes using these. As shown in FIG. 2, the control unit 24 includes a storage unit 24a, a calculation unit 24b, a specifying unit 24c, and a notification control unit 24d.

格納部24aは、データを解析し、解析した結果をペアリスト23aに登録する。例えば、格納部24aは、スイッチ14から送信される所定時間分のデータ、例えば、30秒分のデータを記憶部23に蓄積し、蓄積したデータに対して、下記に説明する解析を行う処理を所定時間ごとに繰り返し行う。   The storage unit 24a analyzes the data and registers the analysis result in the pair list 23a. For example, the storage unit 24a accumulates data for a predetermined time transmitted from the switch 14, for example, data for 30 seconds in the storage unit 23, and performs a process of performing the analysis described below on the accumulated data. Repeat every predetermined time.

格納部24aが行う解析の一例について説明する。格納部24aは、クライアント端末11からWebサーバ12へ送信されたリクエストメッセージのコピーを解析し、リクエストメッセージに含まれるリクエストの内容を取得する。例えば、格納部24aは、「http://www.server.com/job/urlA.jsp?sid=001&exec=meisai」というリクエストメッセージについては、「www.server.com」が示すサーバに、「/job/urlA.jsp」というパス表記で指定されるコンテンツを要求するリクエストメッセージであると解析する。これに加えて、格納部24aは、URLが「http://www.server.com/job/urlA.jsp」であると解析する。なお、上記では、「http://www.server.com/job/urlA.jsp」を、「urlA」と略記した。また、格納部24aは、「sid=001&exec=meisai」をkeyおよびvalueのパラメータであると解析する。また、格納部24aは、Webサーバ12からDBサーバ13へ送信されたSQLの問合せのコピーを解析し、SQLの問合せに含まれる問合せ内容を取得する。また、格納部24aは、リクエストメッセージのコピーを受信した時刻を取得する。また、格納部24aは、SQLの問合せのコピーを受信した時刻を取得する。   An example of analysis performed by the storage unit 24a will be described. The storage unit 24a analyzes the copy of the request message transmitted from the client terminal 11 to the Web server 12, and acquires the content of the request included in the request message. For example, the storage unit 24a sends a request message “http://www.server.com/job/urlA.jsp?sid=001&exec=meisai” to the server indicated by “www.server.com” with “/ It is analyzed that it is a request message that requests the content specified by the path notation “job / urlA.jsp”. In addition to this, the storage unit 24a analyzes that the URL is “http://www.server.com/job/urlA.jsp”. In the above, “http://www.server.com/job/urlA.jsp” is abbreviated as “urlA”. In addition, the storage unit 24a analyzes that “sid = 001 & exec = meisai” is a key and value parameter. In addition, the storage unit 24a analyzes the copy of the SQL query transmitted from the Web server 12 to the DB server 13, and acquires the query content included in the SQL query. In addition, the storage unit 24a acquires the time when the copy of the request message is received. In addition, the storage unit 24a obtains the time when a copy of the SQL query is received.

また、格納部24aは、Webサーバ12からクライアント端末11へ送信されたレスポンスメッセージのコピーを解析し、レスポンスメッセージに含まれるレスポンスの内容を取得する。また、格納部24aは、レスポンスメッセージのコピーを解析し、レスポンスメッセージに含まれる送信元のIPアドレスを取得する。また、格納部24aは、レスポンスメッセージのコピーを解析し、レスポンスメッセージに含まれる送信先のIPアドレスを取得する。また、格納部24aは、DBサーバ13からWebサーバ12へ送信されたSQLの応答のコピーを解析し、SQLの応答に含まれる応答内容およびDBサーバ13で実行されたSQLの処理の種類を示す識別子を取得する。また、格納部24aは、SQLの応答のコピーを解析し、SQLの応答に含まれる送信元のIPアドレスを取得する。また、格納部24aは、SQLの応答のコピーを解析し、SQLの応答に含まれる送信先のIPアドレスを取得する。また、格納部24aは、レスポンスメッセージのコピーを受信した時刻を取得する。また、格納部24aは、SQLの応答のコピーを受信した時刻を取得する。   In addition, the storage unit 24a analyzes a copy of the response message transmitted from the Web server 12 to the client terminal 11, and acquires the content of the response included in the response message. In addition, the storage unit 24a analyzes the copy of the response message and acquires the IP address of the transmission source included in the response message. Further, the storage unit 24a analyzes the copy of the response message and acquires the IP address of the transmission destination included in the response message. The storage unit 24a analyzes a copy of the SQL response transmitted from the DB server 13 to the Web server 12, and indicates the response content included in the SQL response and the type of SQL processing executed by the DB server 13. Get an identifier. In addition, the storage unit 24a analyzes the copy of the SQL response and acquires the IP address of the transmission source included in the SQL response. In addition, the storage unit 24a analyzes the copy of the SQL response and acquires the IP address of the transmission destination included in the SQL response. In addition, the storage unit 24a acquires the time when the copy of the response message is received. In addition, the storage unit 24a acquires the time when the copy of the SQL response is received.

そして、格納部24aは、クライアント端末11とWebサーバ12間のリクエストおよびレスポンスの第一の組を検出する。例えば、格納部24aは、解析したリクエストメッセージの内容と、レスポンスメッセージの内容とから、リクエストメッセージとレスポンスメッセージとの対応付けを行う。ここでいう対応付けとは、ペアリングとも称され、あるリクエストメッセージと、そのリクエストメッセージに対するレスポンスメッセージとを関連付けることを指す。   Then, the storage unit 24a detects a first set of requests and responses between the client terminal 11 and the Web server 12. For example, the storage unit 24a associates the request message with the response message from the analyzed content of the request message and the content of the response message. The association here is also referred to as pairing, and refers to associating a certain request message with a response message for the request message.

そして、格納部24aは、対応付けしたリクエストメッセージとレスポンスメッセージとの第一の組を、ペアリスト23aに登録する。また、格納部24aは、図3に示すように、リクエストメッセージのコピーをキャプチャサーバ10が受信した時刻をペアリスト23aに登録する。また、格納部24aは、図3に示すように、レスポンスメッセージのコピーをキャプチャサーバ10が受信した時刻を、ペアリスト23aに登録する。また、格納部24aは、図3に示すように、クライアント端末11とWebサーバ12との間で送受信された第一の組について、第一の所定値、例えば「1」を、ペアリスト23aの「階層」の項目に登録する。また、格納部24aは、図3に示すように、リクエストメッセージのURLおよびkey並びにvalueを、ペアリスト23aの「内容1」に登録する。また、格納部24aは、図3に示すように、レスポンスメッセージの内容を、ペアリスト23aの「内容2」に登録する。   Then, the storage unit 24a registers the first set of associated request message and response message in the pair list 23a. Further, as shown in FIG. 3, the storage unit 24a registers the time when the capture server 10 received a copy of the request message in the pair list 23a. Further, as shown in FIG. 3, the storage unit 24a registers the time when the capture server 10 received a copy of the response message in the pair list 23a. Further, as shown in FIG. 3, the storage unit 24a sets a first predetermined value, for example, “1” for the first set transmitted / received between the client terminal 11 and the Web server 12 in the pair list 23a. Register in the "Hierarchy" item. Further, as shown in FIG. 3, the storage unit 24a registers the URL, key, and value of the request message in “Content 1” of the pair list 23a. Further, as illustrated in FIG. 3, the storage unit 24a registers the content of the response message in “content 2” of the pair list 23a.

また、格納部24aは、Webサーバ12とDBサーバ13間のリクエストおよびレスポンスの第二の組を検出する。例えば、格納部24aは、解析したSQLの問合せの内容と、SQLの応答の内容とから、SQLの問合せとSQLの応答との対応付けを行う。ここでいう対応付けは、あるSQLの問合せと、そのSQLの問合せに対するSQLの応答とを関連付けることを指す。   Further, the storage unit 24a detects a second set of requests and responses between the Web server 12 and the DB server 13. For example, the storage unit 24a associates the SQL query with the SQL response from the analyzed content of the SQL query and the content of the SQL response. The association here refers to associating an SQL query with an SQL response to the SQL query.

そして、格納部24aは、対応付けしたSQLの問合せとSQLの応答との第二の組を、ペアリスト23aに登録する。また、格納部24aは、図3に示すように、SQLの問合せのコピーをキャプチャサーバ10が受信した時刻をペアリスト23aに登録する。また、格納部24aは、図3に示すように、SQLの応答のコピーをキャプチャサーバ10が受信した時刻を、ペアリスト23aに登録する。また、格納部24aは、図3に示すように、Webサーバ12とDBサーバ13との間で送受信された第二の組について、第二の所定値、例えば「2」を、ペアリスト23aの「階層」の項目に登録する。また、格納部24aは、図3に示すように、SQLの問合せの内容を、ペアリスト23aの「内容1」に登録する。また、格納部24aは、図3に示すように、SQLの問合せに含まれる、DBサーバ13により実行されたSQLの処理の種類を示す識別子を、ペアリスト23aの「内容2」に登録する。また、格納部24aは、図3に示すように、SQLの応答の送信元のIPアドレスを、ペアリスト23aに登録する。また、格納部24aは、図4に示すように、SQLの応答の送信先のIPアドレスを、ペアリスト23aに登録する。   Then, the storage unit 24a registers a second set of the associated SQL query and SQL response in the pair list 23a. Further, as shown in FIG. 3, the storage unit 24a registers the time when the capture server 10 receives a copy of the SQL query in the pair list 23a. Further, as shown in FIG. 3, the storage unit 24a registers the time when the capture server 10 receives a copy of the SQL response in the pair list 23a. Further, as shown in FIG. 3, the storage unit 24a sets a second predetermined value, for example “2”, in the pair list 23a for the second set transmitted / received between the Web server 12 and the DB server 13. Register in the "Hierarchy" item. Further, as shown in FIG. 3, the storage unit 24a registers the contents of the SQL inquiry in “content 1” of the pair list 23a. Further, as illustrated in FIG. 3, the storage unit 24a registers, in the “content 2” of the pair list 23a, an identifier indicating the type of SQL processing executed by the DB server 13 included in the SQL query. Further, as shown in FIG. 3, the storage unit 24a registers the IP address of the transmission source of the SQL response in the pair list 23a. Further, as illustrated in FIG. 4, the storage unit 24a registers the IP address of the transmission destination of the SQL response in the pair list 23a.

算出部24bは、記憶部23のペアリスト23a、第一のテーブル23b、第二のテーブル23c、第三のテーブル23d、第四のテーブル23e、第五のテーブル23fを用いて、URL、URLとkey、URLとkeyとvalueとの組み合わせごとに、次のような値を算出する。すなわち、算出部24bは、DBサーバ13により実行されるSQLの処理の種類の割合を算出する。そして、算出部24bは、算出した割合に対応するURL、URLとkey、URLとkeyとvalueとの組み合わせのそれぞれに対する、解析の結果得られたURL、URLとkey、URLとkeyとvalueとの組み合わせのそれぞれの類似度を算出する。   The calculation unit 24b uses the pair list 23a, the first table 23b, the second table 23c, the third table 23d, the fourth table 23e, and the fifth table 23f of the storage unit 23 to generate URL, URL, The following values are calculated for each combination of key, URL, key, and value. That is, the calculation unit 24 b calculates the ratio of the types of SQL processes executed by the DB server 13. Then, the calculation unit 24b includes the URL, URL and key, URL and key, and URL and key and value obtained as a result of analysis for each combination of URL, URL and key, and URL and key and value corresponding to the calculated ratio. The similarity of each combination is calculated.

例えば、算出部24bは、まず、ペアリスト23aを参照して、第一の組のリクエストとレスポンスとの間に出現した第二の組を全て特定する。また、算出部24bは、ペアリスト23aを参照して、第一の組のリクエストの「内容1」の項目から、HTTPのリクエストのURLとkeyとvalueとを特定する。   For example, the calculation unit 24b first refers to the pair list 23a and identifies all the second sets that appear between the first set of requests and responses. Further, the calculation unit 24b refers to the pair list 23a and specifies the URL, key, and value of the HTTP request from the item “content 1” of the first set of requests.

そして、算出部24bは、ペアリスト23aを参照して、特定した第二の組に対して、その第二の組を内包しうる第一の組の数Nを特定する。続いて、算出部24bは、第一の組のそれぞれに対して、1/Nの値を算出する。そして、算出部24bは、第一の組のリクエストが有するURL、URLとkey、URLとkeyとvalueとの組合せのそれぞれを第一のテーブル23bの対応する項目に登録するとともに、第一のテーブル23bの「インスタンス」の項目に、1/Nの値を加算する。   Then, the calculation unit 24b refers to the pair list 23a and identifies the number N of the first sets that can include the second set for the specified second set. Subsequently, the calculation unit 24b calculates a value of 1 / N for each of the first set. Then, the calculation unit 24b registers each of the URL, URL and key, and combination of URL, key, and value included in the first set of requests in the corresponding item of the first table 23b. The value of 1 / N is added to the “instance” item of 23b.

例えば、図4の例の場合には、算出部24bは、図5の例に示すように、「URL」=「urlA」、「key」=「sid」および「value」=「001」に対応する「インスタンス」の項目に、「子1」の割合「1」、「子2」の割合「1」を登録する。また、図4の例の場合では、算出部24bは、図5の例に示すように、「URL」=「urlA」、「key」=「sid」および「value」=「002」に対応する「インスタンス」の項目に、「子1」の割合「1」、「子3」の割合「0.5」を登録する。また、図4の例の場合では、算出部24bは、図5の例に示すように、「URL」=「urlA」、「key」=「sid」および「value」=「003」に対応する「インスタンス」の項目に、「子3」の割合「0.5」を登録する。また、図4の例の場合では、算出部24bは、図5の例に示すように、「URL」=「urlA」、「key」=「exec」および「value」=「meisai」に対応する「インスタンス」の項目に、次のような内容を登録する。すなわち、算出部24bは、「子1」の割合「1」、「子2」の割合「1」、「子1」の割合「1」、「子3」の割合「0.5」を登録する。このようにして、第一のテーブル23bに、各種内容が登録される。   For example, in the example of FIG. 4, the calculation unit 24b corresponds to “URL” = “urlA”, “key” = “sid”, and “value” = “001” as illustrated in the example of FIG. In the “instance” item, the ratio “1” of “child 1” and the ratio “1” of “child 2” are registered. In the case of the example of FIG. 4, the calculation unit 24b corresponds to “URL” = “urlA”, “key” = “sid”, and “value” = “002” as illustrated in the example of FIG. In the “instance” item, the ratio “1” of “child 1” and the ratio “0.5” of “child 3” are registered. In the case of the example of FIG. 4, the calculation unit 24b corresponds to “URL” = “urlA”, “key” = “sid”, and “value” = “003” as illustrated in the example of FIG. In the “instance” item, the ratio “0.5” of “child 3” is registered. In the case of the example of FIG. 4, the calculation unit 24b corresponds to “URL” = “urlA”, “key” = “exec”, and “value” = “meisai” as illustrated in the example of FIG. The following contents are registered in the “instance” item. That is, the calculation unit 24b registers the ratio “1” of “child 1”, the ratio “1” of “child 2”, the ratio “1” of “child 1”, and the ratio “0.5” of “child 3”. To do. In this way, various contents are registered in the first table 23b.

また、算出部24bは、第一のテーブル23bの「インスタンス」の項目に登録された、DBサーバ13で実行されたSQLの処理の種類の割合を要素とするベクトルを正規化する処理を行う。例えば、算出部24bは、図5の例に示すように、「子1」の割合「1」、「子2」の割合「1」が登録された場合には、この登録内容をベクトル(1,1)として扱い、正規化の処理を行う。正規化の具体例としては、算出部24bは、図6に示すように、ベクトルの長さが、所定の長さ、例えば、「1」となるように、正規化する。この場合、ベクトル(1,1)は、(0.71,0.71)に正規化される。そして、算出部24bは、URL、URLとkey、URLとkeyとvalueとの組み合わせとともに、正規化した値を第二のテーブル23cに登録する。このようにして、算出部24bは、URL、URLとkey、URLとkeyとvalueとの組合せのそれぞれについて、正規化した値を第二のテーブル23cにする。   In addition, the calculation unit 24b performs a process of normalizing a vector registered in the “instance” item of the first table 23b and having a ratio of the type of SQL process executed by the DB server 13 as an element. For example, as illustrated in the example of FIG. 5, when the ratio “1” of “child 1” and the ratio “1” of “child 2” are registered, the calculation unit 24 b uses the registered content as a vector (1 , 1) and normalization processing is performed. As a specific example of normalization, the calculation unit 24b normalizes the vector so that the length of the vector becomes a predetermined length, for example, “1”, as shown in FIG. In this case, the vector (1,1) is normalized to (0.71, 0.71). Then, the calculation unit 24b registers the normalized values in the second table 23c together with the URL, the URL and the key, and the combination of the URL, the key, and the value. In this manner, the calculation unit 24b sets the normalized values for the combinations of URL, URL and key, and combination of URL, key, and value in the second table 23c.

このとき、実行されたSQLの処理の種類の出現タイミングによっては、1つの「インスタンス」の項目の中に、同一のSQLの処理の種類について、複数正規化した値が登録される場合がある。例えば、図6の例に示すように、第二のテーブル23cのインスタンスの項目に、[子1:0.7、子2:0.70]および[子1:0.89、子3:0.45]というように、「子1」について正規化された割合が複数存在する場合がある。そこで、算出部24bは、SQLの処理の種類ごとに、正規化された割合の平均値を算出する。例えば、図6の例の[子1:0.7、子2:0.70]および[子1:0.89、子3:0.45]について、算出部24bは、次のような処理を行う。すなわち、算出部24bは、[子1:0.7、子2:0.70、子3:0.00]および[子1:0.89、子2:0.00、子3:0.45]と、子2および子3の割合の値を0とする補間を行った上で、SQLの処理の種類ごとに、平均値を算出する。この場合では、算出部24bは、平均値[子1:0.80、子2:0.36、子3:0.23]を算出する。これは、(URL,CGI key,CGI value)=(urlA,exec,meisai)のモデルである。そして、算出部24bは、図8に示すように、第三のテーブル23dに、「urlA」、「exec」および「meisai」の組み合わせとともに、平均値[子1:0.80、子2:0.36、子3:0.23]を登録する。このようにして、算出部24bは、URL、URLとkey、URLとkeyとvalueとの組合せのそれぞれについて、平均値を第三のテーブル23dにする。なお、登録された平均値は、対応するURL、URLとkey、URLとkeyとvalueとの組み合わせにおける平均的な挙動を示すモデルである。   At this time, depending on the appearance timing of the executed SQL process type, a plurality of normalized values for the same SQL process type may be registered in one “instance” item. For example, as shown in the example of FIG. 6, the items of the instance of the second table 23c include [child 1: 0.7, child 2: 0.70] and [child 1: 0.89, child 3: 0. .45], there may be a plurality of normalized ratios for “child 1”. Therefore, the calculation unit 24b calculates an average value of normalized ratios for each type of SQL processing. For example, with respect to [child 1: 0.7, child 2: 0.70] and [child 1: 0.89, child 3: 0.45] in the example of FIG. I do. That is, the calculation unit 24b calculates [child 1: 0.7, child 2: 0.70, child 3: 0.00] and [child 1: 0.89, child 2: 0.00, child 3: 0. 45] and interpolation with the ratio value of child 2 and child 3 being 0, an average value is calculated for each type of SQL processing. In this case, the calculation unit 24b calculates an average value [child 1: 0.80, child 2: 0.36, child 3: 0.23]. This is a model of (URL, CGI key, CGI value) = (urlA, exec, meisai). Then, as illustrated in FIG. 8, the calculation unit 24 b adds the average values [child 1: 0.80, child 2: 0] to the third table 23 d together with the combination of “urlA”, “exec”, and “meisai”. .36, Child 3: 0.23]. In this way, the calculation unit 24b sets the average value for each combination of URL, URL and key, and URL, key, and value in the third table 23d. The registered average value is a model indicating an average behavior in a combination of a corresponding URL, URL and key, and URL, key, and value.

また、算出部24bは、第三のテーブル23dに登録したモデルに対する第二のテーブル23cに登録した正規化した割合の類似度をURL、URLとkey、URLとkeyとvalueとの組合せごとに算出する。例えば、図6および図8の例に示すように、(URL,CGI key,CGI value)=(urlA,exec,meisai)の場合に、「子1」、「子2」、「子3」が出現する例について説明する。算出部24bは、第二のテーブル23cの[子1:0.70、子2:0.70]について、[子1:0.70、子2:0.70、子3:0.00]というように、子3の値を0とする補間を行う。そして、算出部24bは、補間した[子1:0.70、子2:0.70、子3:0.00]と、第三のテーブル23dの「モデル」に登録された[子1:0.80、子2:0.36、子3:0.23]との類似度を算出する。かかる類似度の算出方法の一例としては、コサイン類似度の手法を採用することができる。この手法を用いる場合には、例えば、割合の値、平均値をそれぞれ要素とするベクトルとして扱われる。   Further, the calculation unit 24b calculates the similarity of the normalized ratio registered in the second table 23c with respect to the model registered in the third table 23d for each combination of URL, URL and key, and URL, key, and value. To do. For example, as shown in the examples of FIGS. 6 and 8, when (URL, CGI key, CGI value) = (urlA, exec, meisai), “child 1”, “child 2”, and “child 3” are An example of appearing will be described. For the [child 1: 0.70, child 2: 0.70] of the second table 23c, the calculating unit 24b [child 1: 0.70, child 2: 0.70, child 3: 0.00]. In this way, interpolation is performed with the value of child 3 set to 0. Then, the calculating unit 24b interpolates [child 1: 0.70, child 2: 0.70, child 3: 0.00] and [child 1: registered in the “model” of the third table 23d. 0.80, Child 2: 0.36, Child 3: 0.23]. As an example of a method for calculating the similarity, a cosine similarity method can be employed. When this method is used, for example, it is treated as a vector having a ratio value and an average value as elements.

同様に、算出部24bは、第二のテーブル23cの[子1:0.89、子3:0.45]について、[子1:0.89、子2:0.00、子3:0.45]というように、子2の値を0とする補間を行う。そして、算出部24bは、補間した[子1:0.89、子2:0.00、子3:0.45]と、第三のテーブル23dの「モデル」に登録された[子1:0.80、子2:0.36、子3:0.23]との類似度を算出する。   Similarly, the calculation unit 24b selects [child 1: 0.89, child 2: 0.00, child 3: 0] for [child 1: 0.89, child 3: 0.45] in the second table 23c. .45], the interpolation for setting the value of child 2 to 0 is performed. Then, the calculation unit 24b interpolates [child 1: 0.89, child 2: 0.00, child 3: 0.45] and [child 1: registered in the “model” of the third table 23d. 0.80, Child 2: 0.36, Child 3: 0.23].

そして、算出部24bは、算出した類似度をURL、URLとkey、URLとkeyとvalueとの組合せとともに、第四のテーブル23eに登録する。例えば、補間した[子1:0.70、子2:0.70、子3:0.00]と、第三のテーブル23dの「モデル」に登録された[子1:0.80、子2:0.36、子3:0.23]との類似度「0.9」を(urlA,exec,meisai)とともに登録する。例えば、補間した[子1:0.89、子2:0.00、子3:0.45]と、第三のテーブル23dの「モデル」に登録された[子1:0.80、子2:0.36、子3:0.23]との類似度「0.9」を(urlA,exec,meisai)とともに登録する。   Then, the calculation unit 24b registers the calculated similarity in the fourth table 23e together with the combination of URL, URL and key, and URL, key, and value. For example, the interpolated [child 1: 0.70, child 2: 0.70, child 3: 0.00] and [child 1: 0.80, child registered in the “model” of the third table 23d. 2: 0.36, child 3: 0.23] is registered together with (urlA, exec, meisai). For example, the interpolated [child 1: 0.89, child 2: 0.00, child 3: 0.45] and [child 1: 0.80, child registered in the “model” of the third table 23d. 2: 0.36, child 3: 0.23] is registered together with (urlA, exec, meisai).

続いて、算出部24bは、第四のテーブルに登録された類似度について、平均値と標準偏差とをURL、URLとkey、URLとkeyとvalueとの組み合わせごとに算出する。また、算出部24bは、ペアリスト23aを参照し、DBサーバ13で実行されたSQLの処理の出現回数を、URL、URLとkey、URLとkeyとvalueとの組み合わせごとに計数を行う。その後、算出部24bは、算出した類似度の平均値、標準偏差、出現回数をURL、URLとkey、URLとkeyとvalueとの組み合わせとともに第五のテーブル23fに登録する。例えば、算出部24bは、図10の例に示すように、算出した各値を第五のテーブル23fの各項目に登録する。ここで、類似度の平均値が大きく、標準偏差が小さいほど、その組み合わせにおけるSQLの処理の種類の組み合わせが類似しているもので占められていることとなる。   Subsequently, the calculation unit 24b calculates an average value and a standard deviation for each combination of URL, URL and key, and URL, key, and value for the similarity registered in the fourth table. Also, the calculation unit 24b refers to the pair list 23a and counts the number of times SQL processing executed in the DB server 13 is performed for each combination of URL, URL and key, and URL, key, and value. After that, the calculation unit 24b registers the calculated average value, standard deviation, and appearance count of the similarity in the fifth table 23f together with the URL, the URL and key, and the combination of URL, key, and value. For example, as illustrated in the example of FIG. 10, the calculation unit 24b registers each calculated value in each item of the fifth table 23f. Here, the larger the average value of the similarities and the smaller the standard deviation, the more the combinations of SQL processing types in the combination are occupied.

特定部24cは、算出部24bにより算出された類似度に基づいて、DBサーバ13により実行される処理の種類を切り分けるためのURL、URLとkey、URLとkeyとvalueとの組み合わせを特定する。   Based on the similarity calculated by the calculation unit 24b, the specifying unit 24c specifies a URL, a URL and a key, and a combination of a URL, a key, and a value for identifying the type of processing executed by the DB server 13.

例えば、特定部24cは、URL、URLとkey、URLとkeyとvalueとの全組み合わせを候補とする。そして、特定部24cは、第五のテーブル23fを参照する。そして、特定部24cは、SQLの処理の出現回数が所定値、例えば、2より小さい場合のURL、URLとkey、URLとkeyとvalueとの組み合わせを、DBサーバ13により実行される処理の種類を切り分けるためのパラメータの候補から外す。これは、例えば、出現回数が少ないと類似度の平均値などが極端な数値を示し、出現回数がある程度大きくならないと、類似度の平均値などの精度が確かなものとならないからである。例えば、図10に示すように、(urlA,sid,001〜003)に対応するSQLの処理などは、類似度の平均値は高いが、出現回数が1回と少ないため、かかる類似度の平均値の精度は確かなものではない。そこで、特定部24cは、このような出現回数が所定値より小さい場合のURL、URLとkey、URLとkeyとvalueとの組み合わせを、DBサーバ13により実行される処理の種類を切り分けるためのパラメータの候補から外す。図10の例では、特定部24cは、(urlA,sid,001〜003)の組み合わせを候補から外す。   For example, the specifying unit 24c uses all combinations of URL, URL and key, and URL, key, and value as candidates. Then, the specifying unit 24c refers to the fifth table 23f. Then, the specifying unit 24c determines the type of processing executed by the DB server 13 based on the combination of URL, URL and key, and URL, key, and value when the number of appearances of SQL processing is smaller than a predetermined value, for example, 2. Is removed from the parameter candidates for carving out. This is because, for example, if the number of appearances is small, the average value of the similarity is an extreme numerical value, and if the number of appearances is not increased to some extent, the accuracy of the average value of the similarity is not certain. For example, as shown in FIG. 10, in the SQL processing corresponding to (urlA, sid, 001 to 003), the average value of the similarity is high, but the number of appearances is small, so the average of the similarities The accuracy of the value is not certain. Therefore, the specifying unit 24c determines the type of processing executed by the DB server 13 based on the combination of URL, URL and key, and URL, key, and value when the number of appearances is smaller than a predetermined value. Remove from the candidate. In the example of FIG. 10, the specifying unit 24c removes the combination of (urlA, sid, 001 to 003) from the candidates.

また、特定部24cは、第五のテーブル23fを参照し、類似度の平均値が、所定値未満である場合のURL、URLとkey、URLとkeyとvalueとの組み合わせを、DBサーバ13により実行される処理の種類を切り分けるためのパラメータの候補から外す。これは、類似度が低い場合には、URL、URLとkey、URLとkeyとvalueとの対応する組み合わせが示すパラメータは、DBサーバ13により実行される処理の種類を切り分けに使用されていないと考えられるからである。なお、類似度の算出方法としてコサイン類似度を採用した場合には、本実施例では、類似度が0から1までの値をとる。そのため、処理の種類の識別子の組み合わせに一定のばらつきが生じている場合には、類似度が0.5未満になると考えられる。そこで、類似度の算出方法としてコサイン類似度を採用した場合には、特定部24cは、次のような処理を行うことができる。すなわち、特定部24cは、類似度の平均値が、0.5未満である場合のURL、URLとkey、URLとkeyとvalueとの組み合わせを、DBサーバ13により実行される処理の種類を切り分けるためのパラメータの候補から外すことができる。例えば、図10の例では、特定部24cは、(urlA,exec)の組み合わせが類似度の平均値が0.5より小さいので、(urlA,exec)の組み合わせを候補から外す。   Further, the specifying unit 24c refers to the fifth table 23f, and the DB server 13 determines combinations of URLs, URLs and keys, and URLs, keys, and values when the average similarity is less than a predetermined value. Remove from the parameter candidates for identifying the type of processing to be executed. This is because, when the degree of similarity is low, the parameters indicated by the corresponding combinations of URL, URL and key, and URL, key, and value are not used to isolate the type of processing executed by the DB server 13. It is possible. Note that, when the cosine similarity is adopted as the similarity calculation method, the similarity takes a value from 0 to 1 in this embodiment. Therefore, when a certain variation occurs in the combination of identifiers of processing types, the similarity is considered to be less than 0.5. Therefore, when the cosine similarity is adopted as the similarity calculation method, the specifying unit 24c can perform the following processing. That is, the specifying unit 24c classifies the types of processing executed by the DB server 13 based on the combination of URL, URL and key, and URL, key, and value when the average similarity is less than 0.5. Can be excluded from the parameter candidates. For example, in the example of FIG. 10, the specifying unit 24c excludes the combination of (urlA, exec) from the candidates because the average value of similarity of the combination of (urlA, exec) is smaller than 0.5.

また、特定部24cは、第五のテーブル23fを参照する。そして、特定部24cは、「CGI key単位」の項目の「平均類似度」の項目に登録された類似度の平均値が、「CGI value単位」の項目の「平均類似度」の項目に登録された類似度の平均値以上である場合には、次のような処理を行う。すなわち、特定部24cは、対応するURLとkeyとvalueとの組み合わせをDBサーバ13により実行される処理の種類を切り分けるためのパラメータの候補から外す。これは、「key」に「value」が設定された場合に、DBサーバ13により実行される処理の種類が切り分けられるのではなく、「key」が指定された場合に、指定された「key」によって、処理の種類が切り分けられると考えられるからである。   The specifying unit 24c refers to the fifth table 23f. Then, the specifying unit 24c registers the average value of the similarities registered in the “average similarity” item of the “CGI key unit” item in the “average similarity” item of the “CGI value unit” item. If it is equal to or higher than the average value of the similarities, the following processing is performed. That is, the specifying unit 24c excludes the combination of the corresponding URL, key, and value from the parameter candidates for identifying the type of processing executed by the DB server 13. This is because, when “value” is set in “key”, the type of processing executed by the DB server 13 is not separated, but when “key” is specified, the specified “key” is specified. This is because the type of processing is considered to be separated by the above.

また、特定部24cは、第五のテーブル23fを参照する。そして、特定部24cは、「URL単位」の項目の「平均類似度」の項目に登録された類似度の平均値が、「CGI key単位」の項目の「平均類似度」の項目に登録された類似度の平均値以上である場合には、次のような処理を行う。すなわち、特定部24cは、対応するURLとkeyとの組み合わせをDBサーバ13により実行される処理の種類を切り分けるためのパラメータの候補から外す。これは、「URL」に「key」などのパラメータが設定された場合に、DBサーバ13により実行される処理の種類が切り分けられるのではなく、「URL」が指定された場合に、指定された「URL」によって、処理の種類が切り分けられると考えられるからである。例えば、図10の例では、(urlA)の組み合わせに対応する類似度の平均値が、(urlA,sid)の組み合わせに対応する類似度の平均値以上である。そのため、特定部24cは、(urlA,sid)の組み合わせを候補から外す。また、図10の例では、(urlA)の組み合わせに対応する類似度の平均値が、(urlA,exec)の組み合わせに対応する類似度の平均値以上である。そのため、特定部24cは、(urlA,meisai)の組み合わせを候補から外す。   The specifying unit 24c refers to the fifth table 23f. Then, the specifying unit 24c registers the average value of the similarities registered in the “average similarity” item of the “URL unit” item in the “average similarity” item of the “CGI key unit” item. When the similarity is equal to or higher than the average value, the following processing is performed. That is, the specifying unit 24c excludes the combination of the corresponding URL and key from the parameter candidates for classifying the type of processing executed by the DB server 13. This is not specified when the parameter such as “key” is set in “URL”, but the type of processing executed by the DB server 13 is not separated, but is specified when “URL” is specified. This is because it is considered that the type of processing is classified by “URL”. For example, in the example of FIG. 10, the average value of the similarity corresponding to the combination (urlA) is equal to or greater than the average value of the similarity corresponding to the combination (urlA, sid). Therefore, the identifying unit 24c removes the combination of (urlA, sid) from the candidates. In the example of FIG. 10, the average value of the similarity corresponding to the combination (urlA) is equal to or greater than the average value of the similarity corresponding to the combination (urlA, exec). Therefore, the specifying unit 24c removes the combination of (urlA, meisai) from the candidates.

そして、特定部24cは、候補として残った組み合わせをDBサーバ13により実行される処理の種類を切り分けるためのパラメータとして特定する。例えば、図10の例では、(urlA,exec,meisai)、(urlA,exec,download)の組み合わせが候補として残っているので、特定部24cは、これらの組み合わせを処理の種類を切り分けるためのパラメータとして特定する。また、例えば、URLとkey、URLとkeyとvalueとの組み合わせの場合の類似度の平均値が、URLのみの場合の類似度の平均値より小さい場合には、特定部24cは、URLを処理を切り分けるためのパラメータとして特定する。その後、特定部24cは、特定した結果を記憶部23に格納する。   Then, the specifying unit 24c specifies the combination remaining as a candidate as a parameter for identifying the type of processing executed by the DB server 13. For example, in the example of FIG. 10, since the combination of (urlA, exec, meisai), (urlA, exec, download) remains as a candidate, the specifying unit 24c uses the parameters for separating the types of processing from these combinations As specified. For example, when the average value of the similarity in the case of the combination of URL and key, or URL, key, and value is smaller than the average value of the similarity in the case of only the URL, the specifying unit 24c processes the URL. It is specified as a parameter for carving out. Thereafter, the specifying unit 24 c stores the specified result in the storage unit 23.

報知制御部24dは、入力部20が受け付けたユーザからの特定結果を報知する指示を受信した場合に、記憶部23に記憶された特定結果を取得する。そして、報知制御部24dは、特定結果を報知するように、報知部22を制御する。   The notification control unit 24d acquires the specific result stored in the storage unit 23 when receiving an instruction to notify the specific result from the user received by the input unit 20. Then, the notification control unit 24d controls the notification unit 22 so as to notify the specific result.

制御部24は、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの集積回路またはCPU(Central Processing Unit)やMPU(Micro Processing Unit)などの電子回路である。   The control unit 24 is an integrated circuit such as an application specific integrated circuit (ASIC) or a field programmable gate array (FPGA) or an electronic circuit such as a central processing unit (CPU) or a micro processing unit (MPU).

[処理の流れ]
次に、本実施例に係るキャプチャサーバ10の処理の流れを説明する。図11は、実施例1に係る特定処理の手順を示すフローチャートである。この特定処理の実行タイミングとしては様々な場合が考えられる。例えば、キャプチャサーバ10は、スイッチ14から送信される所定時間分のデータ、例えば、30秒分のデータを記憶部23に蓄積する。また、キャプチャサーバ10の格納部24aは、蓄積したデータに対して、所定時間ごとに解析を行ってペアリスト23aを繰り返し生成するため、生成されたペアリスト23aに対して、所定時間ごとに繰り返し特定処理を実行することが考えられる。
[Process flow]
Next, a processing flow of the capture server 10 according to the present embodiment will be described. FIG. 11 is a flowchart illustrating the procedure of the specifying process according to the first embodiment. Various cases are conceivable as the execution timing of this specific process. For example, the capture server 10 accumulates data for a predetermined time transmitted from the switch 14, for example, data for 30 seconds in the storage unit 23. The storage unit 24a of the capture server 10 analyzes the accumulated data every predetermined time and repeatedly generates the pair list 23a. Therefore, the storage unit 24a repeatedly generates the pair list 23a every predetermined time. It is conceivable to execute specific processing.

図11に示すように、算出部24bは、ペアリスト23aを参照し、第一のテーブル23bに各種内容を登録することで、第一のテーブル23bを生成する(ステップS101)。算出部24bは、第一のテーブル23bの「インスタンス」の項目に登録された割合を正規化し、正規化した割合を第二のテーブル23cに登録する(ステップS102)。算出部24bは、第二のテーブル23cを参照し、平均値を算出して暫定モデルを生成し、生成した暫定モデルを第三のテーブル23dに登録する(ステップS103)。   As illustrated in FIG. 11, the calculation unit 24b refers to the pair list 23a and registers various contents in the first table 23b to generate the first table 23b (Step S101). The calculation unit 24b normalizes the ratio registered in the “instance” item of the first table 23b, and registers the normalized ratio in the second table 23c (step S102). The calculation unit 24b refers to the second table 23c, calculates an average value to generate a provisional model, and registers the generated provisional model in the third table 23d (step S103).

算出部24bは、暫定モデルと、正規化された割合とを用いて、類似度を算出し、算出した類似度を第四のテーブル23eに登録する(ステップS104)。算出部24bは、算出した類似度の平均値、標準偏差、出現回数を算出し、算出した平均値、標準偏差、出現回数を第五のテーブル23fに登録する(ステップS105)。特定部24cは、第五のテーブル23fの登録内容に基づいて、処理を切り分けるためのパラメータを特定し(ステップS106)、処理を終了する。   The calculation unit 24b calculates the similarity using the provisional model and the normalized ratio, and registers the calculated similarity in the fourth table 23e (step S104). The calculation unit 24b calculates the calculated average value, standard deviation, and number of appearances of the similarity, and registers the calculated average value, standard deviation, and number of appearances in the fifth table 23f (step S105). The specifying unit 24c specifies a parameter for dividing the process based on the registered contents of the fifth table 23f (step S106), and ends the process.

上述してきたように、本実施例に係るキャプチャサーバ10は、クライアント端末11からWebサーバ12へ送信されたHTTPのリクエストに含まれるCGI(Common Gateway Interface)パラメータの種類(key)および値(value)を取得する。また、キャプチャサーバ10は、HTTPのリクエストに基づいてWebサーバ12からDBサーバ13へ送信されたSQLの問い合わせに基づいてDBサーバ13により実行されたSQL処理の識別子(SQLの種類)を取得する。そして、キャプチャサーバ10は、取得したkeyおよびvalueと、SQLの種類とを対応付けて記憶する。そして、キャプチャサーバ10は、記憶内容に基づいて、keyおよびvalueごとのDBサーバ13により実行されるSQL処理の割合を算出する。そして、キャプチャサーバ10は、算出した割合に対応するkeyおよびvalueに対するHTTPのリクエストに含まれるkeyおよびvalueの類似度を算出する。続いて、キャプチャサーバ10は、算出された類似度に基づいて、DBサーバ13により実行されるSQL処理に対応するkey、または、keyおよびvalueを特定する。このように、キャプチャサーバ10は、人の作業を発生させずに、処理によって名寄せを行う。また、キャプチャサーバ10は、keyにvalueが設定されていない場合でも、key単位で名寄せを行うことができる。したがって、キャプチャサーバ10によれば、精度良く名寄せを行うことができる。   As described above, the capture server 10 according to the present embodiment uses the type (key) and value (value) of the CGI (Common Gateway Interface) parameter included in the HTTP request transmitted from the client terminal 11 to the Web server 12. To get. Further, the capture server 10 acquires an identifier (SQL type) of the SQL process executed by the DB server 13 based on the SQL inquiry transmitted from the Web server 12 to the DB server 13 based on the HTTP request. The capture server 10 stores the acquired key and value in association with the SQL type. Then, the capture server 10 calculates the ratio of the SQL process executed by the DB server 13 for each key and value based on the stored content. Then, the capture server 10 calculates the similarity between the key and value included in the HTTP request for the key and value corresponding to the calculated ratio. Subsequently, the capture server 10 specifies the key or the key and value corresponding to the SQL process executed by the DB server 13 based on the calculated similarity. In this way, the capture server 10 performs name identification by processing without causing human work. Further, the capture server 10 can perform name identification in units of keys even when no value is set for the key. Therefore, according to the capture server 10, name identification can be performed with high accuracy.

さて、これまで開示の装置に関する実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。   Although the embodiments related to the disclosed apparatus have been described above, the present invention may be implemented in various different forms other than the above-described embodiments. Therefore, another embodiment included in the present invention will be described below.

例えば、実施例1では、第一のテーブル23bに登録された内容を正規化し、正規化した結果を第二のテーブル23cに登録する場合について例示したが、開示の装置はこれに限定されない。開示の装置は、第一のテーブル23bに登録する前に、第一のテーブル23bに登録する内容の正規化を行い、正規化を行った結果を第一のテーブル23bに登録することができる。これにより、開示の装置は、記憶部23に記憶されるデータ量を削減することができる。   For example, in the first embodiment, the content registered in the first table 23b is normalized, and the normalized result is registered in the second table 23c. However, the disclosed apparatus is not limited to this. The disclosed apparatus can normalize the contents registered in the first table 23b before registering in the first table 23b, and register the result of normalization in the first table 23b. Thereby, the disclosed apparatus can reduce the amount of data stored in the storage unit 23.

また、実施例1では、DBサーバ13で実行される処理の種類の切り分けを行うためのパラメータを特定する場合について例示したが、開示の装置はこれに限定されない。例えば、開示の装置は、DBサーバ13の代わりにアプリケーションサーバで実行される処理の切り分けを行うためのパラメータを特定することができる。この場合、開示の装置は、アプリケーションサーバで実行されたコマンドを識別するための識別子をアプリケーションサーバから受信することで、パラメータを特定することができる。   Further, in the first embodiment, the case where the parameter for performing the classification of the type of processing executed by the DB server 13 is specified is illustrated, but the disclosed apparatus is not limited thereto. For example, the disclosed apparatus can specify a parameter for performing a process to be executed on the application server instead of the DB server 13. In this case, the disclosed apparatus can specify the parameter by receiving an identifier for identifying a command executed on the application server from the application server.

また、実施例において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともできる。また、本実施例において説明した各処理のうち、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。   In addition, among the processes described in the embodiments, all or a part of the processes described as being automatically performed can be manually performed. In addition, among the processes described in this embodiment, all or a part of the processes described as being performed manually can be automatically performed by a known method.

また、各種の負荷や使用状況などに応じて、各実施例において説明した各処理の各ステップでの処理を任意に細かくわけたり、あるいはまとめたりすることができる。また、ステップを省略することもできる。   In addition, the processing at each step of each processing described in each embodiment can be arbitrarily finely divided or combined according to various loads and usage conditions. Also, the steps can be omitted.

また、各種の負荷や使用状況などに応じて、各実施例において説明した各処理の各ステップでの処理の順番を変更できる。   Further, the order of processing at each step of each processing described in each embodiment can be changed according to various loads and usage conditions.

また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的状態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。   Further, each component of each illustrated apparatus is functionally conceptual, and does not necessarily need to be physically configured as illustrated. In other words, the specific state of distribution / integration of each device is not limited to the one shown in the figure, and all or a part thereof may be functionally or physically distributed or arbitrarily distributed in arbitrary units according to various loads or usage conditions. Can be integrated and configured.

[分析プログラム]
また、上記の実施例で説明したキャプチャサーバ10の各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することもできる。そこで、以下では、図12を用いて、上記の実施例で説明したキャプチャサーバ10と同様の機能を有する分析プログラムを実行するコンピュータの一例を説明する。図12は、分析プログラムを実行するコンピュータを示す図である。
[Analysis program]
Various processes of the capture server 10 described in the above embodiment can also be realized by executing a program prepared in advance on a computer system such as a personal computer or a workstation. Therefore, in the following, an example of a computer that executes an analysis program having the same function as the capture server 10 described in the above embodiment will be described with reference to FIG. FIG. 12 is a diagram illustrating a computer that executes an analysis program.

図12に示すように、コンピュータ300は、CPU(Central Processing Unit)310、ROM(Read Only Memory)320、HDD(Hard Disk Drive)330、RAM(Random Access Memory)340を有する。また、コンピュータ300は、通信インタフェース350を有する。これら310〜350の各符号が示す各装置は、バス360を介して接続される。   As illustrated in FIG. 12, the computer 300 includes a CPU (Central Processing Unit) 310, a ROM (Read Only Memory) 320, an HDD (Hard Disk Drive) 330, and a RAM (Random Access Memory) 340. The computer 300 also has a communication interface 350. Each device indicated by the reference numerals 310 to 350 is connected via a bus 360.

通信インタフェース350は、通信を行うためのインタフェースである。通信インタフェース350は、I/F21に対応する。   The communication interface 350 is an interface for performing communication. The communication interface 350 corresponds to the I / F 21.

ROM320には、OSなどの基本プログラムが記憶されている。また、ROM320には、上記の実施例で示す格納部24aと、算出部24bと、特定部24cと、報知制御部24dと同様の機能を発揮する分析プログラム320aが予め記憶される。なお、分析プログラム320aについては、適宜分離しても良い。また、HDD330には、ペアリスト、第一のテーブル〜第五のテーブルが設けられる。これらペアリスト、第一のテーブル〜第五のテーブルは、上述したペアリスト23a、第一のテーブル23b〜第五のテーブル23fに対応する。   The ROM 320 stores basic programs such as an OS. The ROM 320 stores in advance an analysis program 320a that performs the same functions as the storage unit 24a, the calculation unit 24b, the specifying unit 24c, and the notification control unit 24d described in the above embodiment. Note that the analysis program 320a may be separated as appropriate. In addition, the HDD 330 is provided with a pair list, a first table to a fifth table. The pair list, first table to fifth table correspond to the above-described pair list 23a and first table 23b to fifth table 23f.

そして、CPU310が、分析プログラム320aをROM320から読み出して実行する。   Then, the CPU 310 reads the analysis program 320a from the ROM 320 and executes it.

そして、CPU310は、ペアリスト、第一のテーブル〜第五のテーブルを読み出してRAM340に格納する。さらに、CPU310は、RAM340に格納されたペアリスト、第一のテーブル〜第五のテーブルを用いて、分析プログラム320aを実行する。なお、RAM340に格納される各データは、常に全てのデータがRAM330に格納されなくともよい。処理に用いられるデータがRAM340に格納されれば良い。   Then, the CPU 310 reads the pair list and the first to fifth tables and stores them in the RAM 340. Further, the CPU 310 executes the analysis program 320a using the pair list and the first to fifth tables stored in the RAM 340. Note that all data stored in the RAM 340 may not always be stored in the RAM 330. Data used for processing may be stored in the RAM 340.

なお、上記した分析プログラム320aについては、必ずしも最初からROM320に記憶させておく必要はない。   Note that the above-described analysis program 320a is not necessarily stored in the ROM 320 from the beginning.

例えば、コンピュータ300に挿入されるフレキシブルディスク(FD)、CD−ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」にプログラムを記憶させておく。そして、コンピュータ300がこれらからプログラムを読み出して実行するようにしてもよい。   For example, the program is stored in a “portable physical medium” such as a flexible disk (FD), a CD-ROM, a DVD disk, a magneto-optical disk, or an IC card inserted into the computer 300. Then, the computer 300 may read and execute the program from these.

さらには、公衆回線、インターネット、LAN、WANなどを介してコンピュータ300に接続される「他のコンピュータ(またはサーバ)」などにプログラムを記憶させておく。そして、コンピュータ300がこれらからプログラムを読み出して実行するようにしてもよい。   Furthermore, the program is stored in “another computer (or server)” connected to the computer 300 via a public line, the Internet, a LAN, a WAN, or the like. Then, the computer 300 may read and execute the program from these.

10 キャプチャサーバ
23 記憶部
23a ペアリスト
23b 第一のテーブル
23c 第二のテーブル
23d 第三のテーブル
23e 第四のテーブル
23f 第五のテーブル
24 制御部
24b 算出部
24c 特定部
DESCRIPTION OF SYMBOLS 10 Capture server 23 Storage part 23a Pair list 23b 1st table 23c 2nd table 23d 3rd table 23e 4th table 23f 5th table 24 Control part 24b Calculation part 24c Specific part

Claims (4)

第一の装置から第二の装置へ送信された第一のリクエストに含まれるパラメータの種類および該パラメータの値と、前記第一のリクエストに基づいて前記第二の装置から第三の装置へ送信された第二のリクエストに基づいて前記第三の装置により実行された処理の識別子とを対応付けて記憶する記憶部と、
前記記憶部の記憶内容に基づいて、前記パラメータの種類および値ごとの前記第三の装置により実行される処理の割合を算出し、算出した割合に対応するパラメータの種類および値に対する前記第一のリクエストに含まれるパラメータの種類および値の類似度を算出し、前記パラメータの種類ごとに、前記類似度の第一の平均値および第一の標準偏差を算出するとともに、前記パラメータの種類および値ごとに、前記類似度の第二の平均値および第二の標準偏差を算出する算出部と、
前記算出部により算出された前記第一の平均値および第一の標準偏差並びに前記第二の平均値および第二の標準偏差に基づいて、前記第三の装置により実行される処理に対応するパラメータの種類、または、パラメータの種類および値を特定する特定部と、
を有することを特徴とする分析装置。
The type of parameter included in the first request transmitted from the first device to the second device, the value of the parameter, and the transmission from the second device to the third device based on the first request A storage unit that associates and stores an identifier of a process executed by the third device based on the second request that is made;
Based on the storage content of the storage unit, the ratio of processing executed by the third device for each parameter type and value is calculated, and the first parameter for the parameter type and value corresponding to the calculated ratio is calculated. Calculate the similarity of the parameter type and value included in the request, calculate the first average value and the first standard deviation of the similarity for each parameter type, and for each parameter type and value And a calculation unit for calculating a second average value and a second standard deviation of the similarity ,
Parameters corresponding to processing executed by the third device based on the first average value and the first standard deviation and the second average value and the second standard deviation calculated by the calculation unit A specific part that identifies the type of parameter or parameter type and value,
An analysis apparatus comprising:
前記記憶部は、前記第一の装置から前記第二の装置へ送信された第一のリクエストに含まれるURL、パラメータの種類および値と、前記第二のリクエストに基づいて前記第三の装置により実行された処理の識別子とを対応付けて記憶し、
前記算出部は、前記記憶部の記憶内容に基づいて、前記URL並びにパラメータの種類および値ごとの前記第三の装置により実行される処理の割合を算出し、算出した割合に対応する前記URL並びにパラメータの種類および値に対する前記第一のリクエストに含まれるパラメータの種類および値の類似度を算出し、
前記特定部は、前記算出部により算出された類似度に基づいて、前記第三の装置により実行される処理に対応するURL、URLおよびパラメータの種類、または、URL並びにパラメータの種類および値を特定する
ことを特徴とする請求項1に記載の分析装置。
The storage unit includes a URL, a parameter type and a value included in a first request transmitted from the first device to the second device, and the third device based on the second request. The identifier of the executed process is stored in association with it,
The calculation unit calculates a ratio of processing executed by the third device for each type and value of the URL and parameters based on the storage content of the storage unit, and the URL corresponding to the calculated ratio and Calculating the similarity of the parameter type and value included in the first request to the parameter type and value,
The specifying unit specifies a URL, a URL and a parameter type, or a URL and a parameter type and value corresponding to a process executed by the third device based on the similarity calculated by the calculating unit. The analyzer according to claim 1, wherein:
コンピュータに、
第一の装置から第二の装置へ送信された第一のリクエストに含まれるパラメータの種類および該パラメータの値と、前記第一のリクエストに基づいて前記第二の装置から第三の装置へ送信された第二のリクエストに基づいて前記第三の装置により実行された処理の識別子とを対応付けて記憶する記憶部の記憶内容に基づいて、前記パラメータの種類および値ごとの前記第三の装置により実行される処理の割合を算出し、算出した割合に対応するパラメータの種類および値に対する前記第一のリクエストに含まれるパラメータの種類および値の類似度を算出し、前記パラメータの種類ごとに、前記類似度の第一の平均値および第一の標準偏差を算出するとともに、前記パラメータの種類および値ごとに、前記類似度の第二の平均値および第二の標準偏差を算出し、
算出された前記第一の平均値および第一の標準偏差並びに前記第二の平均値および第二の標準偏差に基づいて、前記第三の装置により実行される処理に対応するパラメータの種類、または、パラメータの種類および値を特定する
各処理を実行させることを特徴とする分析プログラム。
On the computer,
The type of parameter included in the first request transmitted from the first device to the second device, the value of the parameter, and the transmission from the second device to the third device based on the first request The third device for each type and value of the parameter based on the storage content of the storage unit that stores the identifier of the process executed by the third device in association with the second request made The ratio of the processing executed by is calculated, the parameter type and value similarity included in the first request for the parameter type and value corresponding to the calculated ratio are calculated, and for each parameter type, A first average value and a first standard deviation of the similarity are calculated, and a second average value and a second standard value of the similarity are calculated for each type and value of the parameter. To calculate the quasi-deviation,
Based on the calculated first average value and first standard deviation and the second average value and second standard deviation , the type of parameter corresponding to the process executed by the third device, or An analysis program characterized by causing each processing to be executed, specifying a parameter type and a value.
コンピュータが実行する分析方法であって、
第一の装置から第二の装置へ送信された第一のリクエストに含まれるパラメータの種類および該パラメータの値と、前記第一のリクエストに基づいて前記第二の装置から第三の装置へ送信された第二のリクエストに基づいて前記第三の装置により実行された処理の識別子とを対応付けて記憶する記憶部の記憶内容に基づいて、前記パラメータの種類および値ごとの前記第三の装置により実行される処理の割合を算出し、算出した割合に対応するパラメータの種類および値に対する前記第一のリクエストに含まれるパラメータの種類および値の類似度を算出し、前記パラメータの種類ごとに、前記類似度の第一の平均値および第一の標準偏差を算出するとともに、前記パラメータの種類および値ごとに、前記類似度の第二の平均値および第二の標準偏差を算出し、
算出された前記第一の平均値および第一の標準偏差並びに前記第二の平均値および第二の標準偏差に基づいて、前記第三の装置により実行される処理に対応するパラメータの種類、または、パラメータの種類および値を特定する
各処理を実行することを特徴とする分析方法。
An analysis method performed by a computer,
The type of parameter included in the first request transmitted from the first device to the second device, the value of the parameter, and the transmission from the second device to the third device based on the first request The third device for each type and value of the parameter based on the storage content of the storage unit that stores the identifier of the process executed by the third device in association with the second request made The ratio of the processing executed by is calculated, the parameter type and value similarity included in the first request for the parameter type and value corresponding to the calculated ratio are calculated, and for each parameter type, A first average value and a first standard deviation of the similarity are calculated, and a second average value and a second standard value of the similarity are calculated for each type and value of the parameter. To calculate the quasi-deviation,
Based on the calculated first average value and first standard deviation and the second average value and second standard deviation , the type of parameter corresponding to the process executed by the third device, or An analysis method characterized in that each type of process is executed to identify a parameter type and a value.
JP2011274978A 2011-12-15 2011-12-15 Analysis apparatus, analysis program, and analysis method Expired - Fee Related JP5799790B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011274978A JP5799790B2 (en) 2011-12-15 2011-12-15 Analysis apparatus, analysis program, and analysis method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011274978A JP5799790B2 (en) 2011-12-15 2011-12-15 Analysis apparatus, analysis program, and analysis method

Publications (2)

Publication Number Publication Date
JP2013125477A JP2013125477A (en) 2013-06-24
JP5799790B2 true JP5799790B2 (en) 2015-10-28

Family

ID=48776660

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011274978A Expired - Fee Related JP5799790B2 (en) 2011-12-15 2011-12-15 Analysis apparatus, analysis program, and analysis method

Country Status (1)

Country Link
JP (1) JP5799790B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6834385B2 (en) * 2016-11-15 2021-02-24 富士通株式会社 Programs, information processing devices and information processing methods

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4616791B2 (en) * 2006-05-08 2011-01-19 富士通株式会社 Request type program, request type device, and request type method
JP2010123022A (en) * 2008-11-21 2010-06-03 Fujitsu Ltd Request associating program, request associating method, and request associating device
JP4947218B2 (en) * 2011-03-22 2012-06-06 富士通株式会社 Message classification method and message classification device

Also Published As

Publication number Publication date
JP2013125477A (en) 2013-06-24

Similar Documents

Publication Publication Date Title
US20190098106A1 (en) Proxying hypertext transfer protocol (http) requests for microservices
EP2871574A1 (en) Analytics for application programming interfaces
JP2008507010A (en) Server state estimation in stateless communication protocol
US11714980B1 (en) Techniques for using tag placement to determine 3D object orientation
US11237889B1 (en) Application infrastructure configuration based on annotated API schemas
CN109428877B (en) Method and device for accessing service system through user equipment
CN108737252B (en) Information pushing method and device based on block chain
US20170177727A1 (en) Methods for analyzing web sites using web services and devices thereof
CN107291608A (en) The generation method of test script, subscription/register method of interface and device
US20060041794A1 (en) Methods, systems and computer program products for providing system operational status information
US11792157B1 (en) Detection of DNS beaconing through time-to-live and transmission analyses
US9219635B2 (en) Server apparatus and privilege receiving opportunity notification method
CN108964967A (en) Method and system for intelligently monitoring and analyzing CDN acceleration service
US12099492B1 (en) Identity resolution of network entities
CN109684220A (en) A kind of browser compatibility analysis method based on event replay
CN109862074B (en) Data acquisition method and device, readable medium and electronic equipment
JP5799790B2 (en) Analysis apparatus, analysis program, and analysis method
JP2012198818A (en) Analyzer, analysis program, analytic method, and system
CN106202297A (en) Identify the method and device of user interest
CN108268370A (en) Based on Referer and the matched Website quality analysis method of template library, device and system
Noskov Smart city webgis applications: proof of work concept for high-level quality-of-service assurance
CN114915434A (en) Network agent detection method, device, storage medium and computer equipment
Mondal et al. Modelling IoT Application Requirements for Benchmarking IoT Middleware Platforms
CN112988560B (en) Method and device for testing system robustness
JP4575305B2 (en) Browse management system, browse management method, and browse management program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140805

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150422

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150512

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150706

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150810

R150 Certificate of patent or registration of utility model

Ref document number: 5799790

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees