(57)【要約】【課題】DBメッセージの粒度を適切に変換できるようにする。【解決手段】本DBメッセージ分析支援方法は、1の処理要求に応じて発行される一連のメッセージを含むメッセージ・シーケンスを収集する工程と、収集したメッセージ・シーケンスを、メッセージ・シーケンスに含まれる一連のメッセージのうちSQL文を含むDBメッセージから所定の予約語以外の語句を取り除いて得られる予約語表現メッセージ・シーケンスが一致するグループ毎に分類する工程と、グループ毎に当該グループに属するメッセージ・シーケンスに含まれるDBメッセージについて、DBメッセージ内の予約語の各々を少なくとも固定文字列として含み且つ固定文字列以外の部分を任意の文字列とする正規表現を生成する工程と、正規表現に一致するとみなされるDBメッセージを当該正規表現に含まれる一連の固定文字列群に変換するためのルールを生成し、グループIDと対応付けて記憶部に格納する工程とを含む。【選択図】図１
2010250450.tif 000002
【特許請求の範囲】
【請求項１】
１の処理要求に応じて発行される一連のメッセージを含むメッセージ・シーケンスを収集するステップと、
収集した前記メッセージ・シーケンスを、前記メッセージ・シーケンスに含まれる前記一連のメッセージのうちＳＱＬ文を含むメッセージであるデータベース・メッセージから予め設定されている予約語以外の語句を取り除くことにより得られる予約語表現メッセージ・シーケンスが一致するグループ毎に分類するステップと、
前記グループ毎に、当該グループに属する前記メッセージ・シーケンスに含まれる前記データベース・メッセージについて、当該データベース・メッセージ内の前記予約語の各々を少なくとも固定文字列として含み且つ前記データベース・メッセージにおける、前記固定文字列以外の部分を任意の文字列とする正規表現を生成する正規表現生成ステップと、
前記正規表現に一致するとみなされる前記データベース・メッセージを当該正規表現に含まれる一連の固定文字列群に変換するためのルールを生成し、前記グループの識別情報と対応付けて記憶装置に格納するステップと、
をコンピュータに実行させるためのデータベース・メッセージ分析支援プログラム。
【請求項２】
変換対象のデータベース・メッセージを含む新たなメッセージ・シーケンスを受信した場合、当該メッセージ・シーケンスが属する前記グループを特定するステップと、
特定された前記グループに対応し且つ前記記憶装置に格納されている前記ルールに従って、前記変換対象のデータベース・メッセージを前記一連の固定文字列群に変換するステップと、
をさらにコンピュータに実行させるための請求項１記載のデータベース・メッセージ分析支援プログラム。
【請求項３】
前記正規表現生成ステップが、
前記データベース・メッセージを前記予約語で区切った場合における各区間について、当該区間に含まれる、前記予約語以外の語句又は語句群が、前記グループに属する各前記メッセージ・シーケンスで共通する語句又は語句群であるか判断するステップと、
各前記区間について、当該区間に含まれる、前記予約語以外の語句又は語句群が、前記グループに属する各前記メッセージ・シーケンスで共通する語句又は語句群であると判断された場合、当該区間に含まれる、前記予約語以外の語句又は語句群を前記固定文字列として前記正規表現に設定するステップと、
を含む、請求項１又は２記載のデータベース・メッセージ分析支援プログラム。
【請求項４】
１の処理要求に応じて発行される一連のメッセージを含むメッセージ・シーケンスを収集するステップと、
収集した前記メッセージ・シーケンスを、前記メッセージ・シーケンスに含まれる前記一連のメッセージのうちＳＱＬ文を含むメッセージであるデータベース・メッセージから予め設定されている予約語以外の語句を取り除くことにより得られる予約語表現メッセージ・シーケンスが一致するグループ毎に分類するステップと、
前記グループ毎に、当該グループに属する前記メッセージ・シーケンスに含まれる前記データベース・メッセージについて、当該データベース・メッセージ内の前記予約語の各々を少なくとも固定文字列として含み且つ前記データベース・メッセージにおける、前記固定文字列以外の部分を任意の文字列とする正規表現を生成する正規表現生成ステップと、
前記正規表現に一致するとみなされる前記データベース・メッセージを当該正規表現に含まれる一連の固定文字列群に変換するためのルールを生成し、前記グループの識別情報と対応付けて記憶装置に格納するステップと、
を含み、コンピュータにより実行されるデータベース・メッセージ分析支援方法。
【請求項５】
１の処理要求に応じて発行される一連のメッセージを含むメッセージ・シーケンスを収集するメッセージ・シーケンス収集手段と、
収集した前記メッセージ・シーケンスを、前記メッセージ・シーケンスに含まれる前記一連のメッセージのうちＳＱＬ文を含むメッセージであるデータベース・メッセージから予め設定されている予約語以外の語句を取り除くことにより得られる予約語表現メッセージ・シーケンスが一致するグループ毎に分類する分類手段と、
前記グループ毎に、当該グループに属する前記メッセージ・シーケンスに含まれる前記データベース・メッセージについて、当該データベース・メッセージ内の前記予約語の各々を少なくとも固定文字列として含み且つ前記データベース・メッセージにおける、前記固定文字列以外の部分を任意の文字列とする正規表現を生成し、当該正規表現に一致するとみなされる前記データベース・メッセージを当該正規表現に含まれる一連の固定文字列群に変換するためのルールを生成し、前記グループの識別情報と対応付けて記憶装置に格納するルール生成手段と、
を有するデータベース・メッセージ分析支援装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、データベース・メッセージを分析する分野の技術に関する。
【背景技術】
【０００２】
例えば複数のサーバを有するシステムでは、クライアントからのリクエストを受け取ると、図１３に示すように、サーバ間でメッセージが交換され、処理が進行する。なお、図１３は、ウェブ（Ｗｅｂ）サーバと、アプリケーション（ＡＰＬ）サーバと、データベース（ＤＢ）サーバとを有するシステムの例を示す。なお、サーバ間で交換される一連のメッセージは、例えばクライアントからのリクエストによって異なってくる。
【０００３】
例えば、従業員番号をパラメータとして含むメッセージがあった場合、このメッセージは、従業員の数だけバリエーションが存在することとなる。しかし、システムの分析を行う場合など、これらのバリエーションのメッセージを同一のメッセージとして扱いたいと考える場合がある。そこで、これらのバリエーションのメッセージを同一のメッセージとして扱うための技術として、予め用意しておいた変換ルールに従ってメッセージの粒度を変換する技術（例えば特開２００６−２３６２８０号公報記載の技術など）が存在する。このような技術によれば、必要な部分のみが残るようにメッセージを変換することができ、メッセージの同一性を適切に判断することができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１−２８６０３８号公報
【特許文献２】特開２００６−２３６２８０号公報
【特許文献３】特開２００４−２４０７６６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、例えばＳＱＬ（Structured Query Language）の検索式には様々なバリエーションがあり、業務毎に検索式が異なってくる場合もある。そのため、ＳＱＬ文を含むデータベース・メッセージの粒度を変換するためのルールを全て人手で用意するのは非常に困難である。なお、従来技術には、データベース・メッセージの粒度を変換するためのルールを自動で生成するような技術は存在しない。
【０００６】
従って、本技術の目的は、ＳＱＬ文を含むデータベース・メッセージの粒度を適切に変換できるようにするための技術を提供することである。
【課題を解決するための手段】
【０００７】
本データベース・メッセージ分析支援方法は、１の処理要求に応じて発行される一連のメッセージを含むメッセージ・シーケンスを収集するステップと、収集したメッセージ・シーケンスを、メッセージ・シーケンスに含まれる一連のメッセージのうちＳＱＬ文を含むメッセージであるデータベース・メッセージから予め設定されている予約語以外の語句を取り除くことにより得られる予約語表現メッセージ・シーケンスが一致するグループ毎に分類するステップと、グループ毎に、当該グループに属するメッセージ・シーケンスに含まれるデータベース・メッセージについて、当該データベース・メッセージ内の予約語の各々を少なくとも固定文字列として含み且つデータベース・メッセージにおける、固定文字列以外の部分を任意の文字列とする正規表現を生成する正規表現生成ステップと、正規表現に一致するとみなされるデータベース・メッセージを当該正規表現に含まれる一連の固定文字列群に変換するためのルールを生成し、グループの識別情報と対応付けて記憶装置に格納するステップとを含む。
【発明の効果】
【０００８】
ＳＱＬ文を含むデータベース・メッセージの粒度を適切に変換できるようになる。
【図面の簡単な説明】
【０００９】
【図１】図１は、本実施の形態におけるデータベース・メッセージ分析支援装置の機能ブロック図である。
【図２】図２は、メッセージ・シーケンス格納部に格納されるデータの一例を示す図である。
【図３】図３は、予約語格納部に格納されるデータの一例を示す図である。
【図４】図４は、グループ管理テーブル格納部に格納されるグループ管理テーブルの一例を示す図である。
【図５】図５は、変換ルール格納部に格納されるデータの一例を示す図である。
【図６】図６は、変換ルールを生成する処理の処理フローを示す図である。
【図７】図７は、メッセージ・シーケンス分類処理の処理フローを示す図である。
【図８】図８は、ルール生成処理の処理フロー（第１の部分）を示す図である。
【図９】図９は、正規表現の一例を示す図である。
【図１０】図１０は、ルール生成処理の処理フロー（第２の部分）を示す図である。
【図１１】図１１（ａ）及び（ｂ）は、ルール生成処理を説明するための図である。
【図１２】データベース・メッセージを変換する際の処理フローを示す図である。
【図１３】従来のシステムにおいてサーバ間で交換されるメッセージの流れを示す図である。
【図１４】コンピュータの機能ブロック図である。
【発明を実施するための形態】
【００１０】
図１に、本技術の一実施の形態に係るデータベース・メッセージ分析支援装置の機能ブロック図を示す。データベース・メッセージ分析支援装置は、メッセージ・シーケンス収集部１と、メッセージ・シーケンス格納部３と、予約語格納部５と、分類処理部７と、グループ管理テーブル格納部９と、ルール生成部１１と、変換ルール格納部１３と、メッセージ変換部１５と、変換結果格納部１７とを有する。なお、データベース・メッセージ分析支援装置は、Ｗｅｂサーバ、ＡＰＬサーバ、ＤＢサーバなどの複数のサーバを有する業務システム（図示せず）とネットワークを介して接続されているものとする。
【００１１】
なお、メッセージ・シーケンス収集部１は、クライアントからの１の処理要求に応じて、業務システムにおいて発行される一連のメッセージを含むメッセージ・シーケンスを収集し、メッセージ・シーケンス格納部３に格納する。予約語格納部５は、予めユーザにより設定された予約語を格納している。分類処理部７は、メッセージ・シーケンス格納部３と予約語格納部５とグループ管理テーブル格納部９とに格納されているデータを用いて、後で説明するメッセージ・シーケンス分類処理を実施し、分類結果をメッセージ・シーケンス格納部３に登録したり、グループの情報をグループ管理テーブル格納部９に登録したりする。ルール生成部１１は、メッセージ・シーケンス格納部３とグループ管理テーブル格納部９とに格納されているデータを用いて、後で説明するルール生成処理を実施し、生成した変換ルールを変換ルール格納部１３に格納する。メッセージ変換部１５は、変換対象のデータベース・メッセージを受信すると、グループ管理テーブル格納部９と変換ルール格納部１３とに格納されているデータを用いて当該データベース・メッセージを変換し、変換後のデータベース・メッセージを変換結果格納部１７に格納する。
【００１２】
また、メッセージ・シーケンス格納部３に格納されるデータの一例を図２に示す。図２の例では、メッセージ・シーケンス格納部３には、シーケンスＩＤの列と、メッセージ・シーケンスの列と、グループＩＤの列とが含まれる。なお、メッセージ・シーケンスの列には、そのメッセージ・シーケンスに含まれる各種メッセージが格納される。また、グループＩＤの列には、そのメッセージ・シーケンスの属するグループのＩＤが設定される。
【００１３】
また、予約語格納部５に格納されるデータの一例を図３に示す。図３の例では、予約語格納部５には、CREATE TABLE、CREATE VIEW、DELETE、FROM、GRANT、INSERT、SELECT、UPDATE、WHEREなどが予約語として格納されている。なお、予約語格納部５には、例えばデータ定義言語（ＤＤＬ：Data Definition Language）の予約語（例えば、CREATE TABLE、CREATE VIEW、GRANTなど）及びデータ操作言語（ＤＭＬ：Data Manipulation Language）の予約語（例えば、SELECT、UPDATE、INSERT、DELETEなど）をユーザが予め登録しておく。また、予約語格納部５には、ＤＤＬ及びＤＭＬの予約語の他に、例えばFROM、WHEREなどの語句もユーザの指示に従って登録される。
【００１４】
また、グループ管理テーブル格納部９に格納されるグループ管理テーブルの一例を図４に示す。図４の例では、グループ管理テーブルには、グループＩＤの列と、予約語表現メッセージ・シーケンスの列とが含まれる。すなわち、グループ管理テーブルには、グループ毎の予約語表現メッセージ・シーケンスが格納される。なお、本実施の形態では、予約語格納部５に格納されている予約語以外の語句を各データベース・メッセージから取り除いた後のメッセージ・シーケンスを予約語表現メッセージ・シーケンスと呼ぶ。
【００１５】
また、変換ルール格納部１３に格納されるデータの一例を図５に示す。図５の例では、変換ルール格納部１３には、グループＩＤの列と、変換ルールの列とが含まれる。例えば、図５において、グループ１の変換ルール「SELECT * FROM Table WHERE .* → SELECT * FROM Table WHERE」は、正規表現「SELECT * FROM Table WHERE .*」に該当する、グループ１のメッセージを「SELECT * FROM Table WHERE」に変換するルールであることを表している。
【００１６】
次に、図６乃至図１２を用いて、データベース・メッセージ分析支援装置の処理を説明する。まず、図６乃至図１１を用いて、変換ルールを生成する処理を説明する。例えば、データベース・メッセージ分析支援装置は、定期的に又は任意のタイミングにて、図６に示すような処理を実施する。
【００１７】
まず、メッセージ・シーケンス収集部１が、業務システムからメッセージ・シーケンスを収集し、メッセージ・シーケンス格納部３に格納する（図６：ステップＳ１）。そして、業務システムからメッセージ・シーケンスを収集した後、分類処理部７が、メッセージ・シーケンス格納部３と予約語格納部５とグループ管理テーブル格納部９とに格納されているデータを用いて、メッセージ・シーケンス分類処理を実施する（ステップＳ３）。このメッセージ・シーケンス分類処理については、図７を用いて説明する。
【００１８】
まず、分類処理部７は、収集したメッセージ・シーケンスのうち、未処理のメッセージ・シーケンスを特定する（図７：ステップＳ１１）。そして、分類処理部７は、特定したメッセージ・シーケンスに含まれる各データベース・メッセージから予約語以外の語句を取り除くことにより、予約語表現メッセージ・シーケンスを取得する（ステップＳ１３）。
【００１９】
そして、分類処理部７は、取得した予約語表現メッセージ・シーケンスを含むレコードがグループ管理テーブル格納部９に格納されているか判断する（ステップＳ１５）。取得した予約語表現メッセージ・シーケンスを含むレコードがグループ管理テーブル格納部９に格納されていると判断した場合（ステップＳ１５：Ｙｅｓルート）、分類処理部７は、当該レコードに含まれるグループＩＤを、特定したメッセージ・シーケンスのグループＩＤとしてメッセージ・シーケンス格納部３に登録する（ステップＳ１７）。その後、ステップＳ２３の処理に移行する。
【００２０】
一方、取得した予約語表現メッセージ・シーケンスを含むレコードがグループ管理テーブル格納部９に格納されていないと判断した場合（ステップＳ１５：Ｎｏルート）、分類処理部７は、新たなグループのレコードをグループ管理テーブル格納部９に追加し、取得した予約語表現メッセージ・シーケンスを当該レコードに設定する（ステップＳ１９）。この際、分類処理部７は、新たなグループＩＤを付与し、追加したレコードに設定する。そして、分類処理部７は、追加したレコードに含まれるグループＩＤを、特定したメッセージ・シーケンスのグループＩＤとしてメッセージ・シーケンス格納部３に登録する（ステップＳ２１）。その後、ステップＳ２３の処理に移行する。
【００２１】
そして、分類処理部７は、収集した全てのメッセージ・シーケンスについて処理が完了したか判断する（ステップＳ２３）。収集した全てのメッセージ・シーケンスについて処理が完了した場合（ステップＳ２３：Ｙｅｓルート）、本処理を終了し、元の処理に戻る。一方、収集した全てのメッセージ・シーケンスについて処理が完了していなければ（ステップＳ２３：Ｎｏルート）、ステップＳ１１の処理に戻り、上で述べた処理を繰り返す。
【００２２】
以上のような処理を実施することにより、収集したメッセージ・シーケンスを、予約語表現メッセージ・シーケンスが一致するグループ毎に分類することができる。
【００２３】
図６の説明に戻って、メッセージ・シーケンス分類処理を実施した後、ルール生成部１１が、メッセージ・シーケンス格納部３とグループ管理テーブル格納部９とに格納されているデータを用いて、ルール生成処理を実施する（ステップＳ５）。このルール生成処理については、図８乃至図１１を用いて説明する。なお、ステップＳ５が終了すると、図６の処理を終了する。
【００２４】
まず、ルール生成部１１は、グループ管理テーブル格納部９において未処理のグループを処理対象グループとして特定する（図８：ステップＳ３１）。そして、ルール生成部１１は、処理対象グループに属するメッセージ・シーケンスをメッセージ・シーケンス格納部３から読み出す（ステップＳ３３）。
【００２５】
そして、ルール生成部１１は、読み出したメッセージ・シーケンスにおいて未処理のデータベース・メッセージを特定する（ステップＳ３５）。そして、ルール生成部１１は、特定したデータベース・メッセージについて、当該データベース・メッセージ内の予約語を固定文字列として含み且つ固定文字列以外の部分を任意の文字列とする正規表現を生成し、記憶装置に一旦格納する（ステップＳ３７）。例えば、図３に示したようなデータが予約語格納部５に格納されている場合に、図２に示したシーケンス１、シーケンス２及びシーケンス３における先頭のデータベース・メッセージについて本ステップの処理を実施すると、図９に示すような正規表現「SELECT .* FROM .* WHERE .*」が生成される。なお、「.*」は、任意の文字列を表す。そして、処理は端子Ａを介してステップＳ３９（図１０）に移行する。
【００２６】
図１０の説明に移行して、端子Ａの後、ルール生成部１１は、特定したデータベース・メッセージを予約語で区切った場合の各区間について、先頭から順に未処理の区間を特定する（図１０：ステップＳ３９）。例えば、図１１（ａ）に示すように、SELECTとFROMとの間の区間を$0、FROMとWHEREとの間の区間を$1、WHERE以降の区間を$2として表した場合に、$0、$1、$2の順に区間を特定する。
【００２７】
そして、ルール生成部１１は、特定した区間に含まれる、予約語以外の語句又は語句群が、各メッセージ・シーケンスで共通する語句又は語句群であるか判断する（ステップＳ４１）。例えば図１１（ｂ）に示すように、区間$0における語句は、全て「*」であり、各メッセージ・シーケンスで共通する。また、区間$1における語句は、全て「Table」であり、各メッセージ・シーケンスで共通する。一方、区間$2における語句群は、「id='1234'」、「id='1478' and address='Tokyo'」、「id='2211' and address='Osaka' or address='Kyoto'」となっており、各メッセージ・シーケンスで共通ではない。
【００２８】
そして、特定した区間に含まれる、予約語以外の語句又は語句群が、各メッセージ・シーケンスで共通する語句又は語句群であると判断した場合（ステップＳ４１：Ｙｅｓルート）、ルール生成部１１は、特定した区間に含まれる、予約語以外の語句又は語句群を固定文字列として正規表現に設定する（ステップＳ４３）。その後、ステップＳ４５の処理に移行する。
【００２９】
一方、特定した区間に含まれる、予約語以外の語句又は語句群が、各メッセージ・シーケンスで共通する語句又は語句群でなければ（ステップＳ４１：Ｎｏルート）、ステップＳ４３の処理をスキップし、ステップＳ４５の処理に移行する。
【００３０】
そして、ルール生成部１１は、全ての区間について処理が完了したか判断する（ステップＳ４５）。全ての区間について処理が完了していなければ（ステップＳ４５：Ｎｏルート）、ステップＳ３９に戻り、上で述べた処理を繰り返す。一方、全ての区間について処理が完了した場合（ステップＳ４５：Ｙｅｓルート）、ステップＳ４７の処理に移行する。例えば区間$0、$1及び$2について上で述べた処理を実施すると、図９に示した正規表現「SELECT .* FROM .* WHERE .*」は、「SELECT * FROM Table WHERE .*」に変更される。
【００３１】
そして、ルール生成部１１は、記憶装置に格納されている正規表現から変換ルールを生成し、現在の処理対象グループのグループＩＤに対応付けて変換ルール格納部１３に登録する（ステップＳ４７）。例えば図５に示したような変換ルールが生成され、登録される。
【００３２】
そして、ルール生成部１１は、読み出したメッセージ・シーケンス内の全てのデータベース・メッセージについて処理が完了したか判断する（ステップＳ４９）。読み出したメッセージ・シーケンス内の全てのデータベース・メッセージについて処理が完了していなければ（ステップＳ４９：Ｎｏルート）、端子Ｂを介してステップＳ３５（図８）に戻り、上で述べた処理を繰り返す。
【００３３】
一方、読み出したメッセージ・シーケンス内の全てのデータベース・メッセージについて処理が完了した場合（ステップＳ４９：Ｙｅｓルート）、ルール生成部１１は、グループ管理テーブル格納部９内の全てのグループについて処理が完了したか判断する（ステップＳ５１）。グループ管理テーブル格納部９内の全てのグループについて処理が完了していなければ（ステップＳ５１：Ｎｏルート）、端子Ｃを介してステップＳ３１（図８）に戻り、上で述べた処理を繰り返す。
【００３４】
一方、グループ管理テーブル格納部９内の全てのグループについて処理が完了した場合（ステップＳ５１：Ｙｅｓルート）、ルール生成処理を終了し、元の処理に戻る。
【００３５】
以上のような処理を実施することにより、グループ毎に、データベース・メッセージの粒度を変換するための変換ルールを自動的に生成することができる。
【００３６】
次に、図１２を用いて、データベース・メッセージを変換する際の処理を説明する。なお、上で述べたような処理により生成された変換ルールが、変換ルール格納部１３に格納されているものとする。
【００３７】
まず、メッセージ変換部１５が、変換対象のデータベース・メッセージを含む新たなメッセージ・シーケンスを受信する（図１２：ステップＳ６１）。そして、メッセージ変換部１５は、受信したメッセージ・シーケンスが属するグループを特定する（ステップＳ６３）。具体的には、受信したメッセージ・シーケンスから予約語表現メッセージ・シーケンスを取得し、グループ管理テーブル格納部９を検索することにより、受信したメッセージ・シーケンスが属するグループを特定する。
【００３８】
そして、メッセージ変換部１５は、特定したグループの変換ルールを変換ルール格納部１３から読み出し、読み出した変換ルールに従って、変換対象のデータベース・メッセージを変換し、変換後のデータベース・メッセージを変換結果格納部１７に格納する（ステップＳ６５）。そして、処理を終了する。
【００３９】
以上のような処理を実施することにより、変換ルールにおける正規表現に一致するデータベース・メッセージは、同一の一連の固定文字列群に変換されるので、これらを同一のデータベース・メッセージとみなして分析を行うことができるようになる。
【００４０】
以上本技術の一実施の形態を説明したが、本技術はこれに限定されるものではない。例えば、上で説明したデータベース・メッセージ分析支援装置の機能ブロック図は必ずしも実際のプログラムモジュール構成に対応するものではない。
【００４１】
また、上で説明した各テーブルの構成は一例であって、必ずしも上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ処理の順番を入れ替えることも可能である。さらに、並列に実行させるようにしても良い。
【００４２】
以上本実施の形態をまとめると以下のようになる。
【００４３】
本データベース・メッセージ分析支援方法は、１の処理要求に応じて発行される一連のメッセージを含むメッセージ・シーケンスを収集するステップと、収集したメッセージ・シーケンスを、メッセージ・シーケンスに含まれる一連のメッセージのうちＳＱＬ文を含むメッセージであるデータベース・メッセージから予め設定されている予約語以外の語句を取り除くことにより得られる予約語表現メッセージ・シーケンスが一致するグループ毎に分類するステップと、グループ毎に、当該グループに属するメッセージ・シーケンスに含まれるデータベース・メッセージについて、当該データベース・メッセージ内の予約語の各々を少なくとも固定文字列として含み且つデータベース・メッセージにおける、固定文字列以外の部分を任意の文字列とする正規表現を生成する正規表現生成ステップと、正規表現に一致するとみなされるデータベース・メッセージを当該正規表現に含まれる一連の固定文字列群に変換するためのルールを生成し、グループの識別情報と対応付けて記憶装置に格納するステップとを含む。
【００４４】
このようにすれば、予約語表現メッセージ・シーケンスが一致するグループに分類し、グループ毎にデータベース・メッセージを変換するためのルールを生成するので、適切な変換ルールを自動的に生成することができる。すなわち、データベース・メッセージを変換するためのルールを人手で用意しなくとも、データベース・メッセージの粒度を適切に変換できるようになる。
【００４５】
また、変換対象のデータベース・メッセージを含む新たなメッセージ・シーケンスを受信した場合、当該メッセージ・シーケンスが属するグループを特定するステップと、特定されたグループに対応し且つ記憶装置に格納されているルールに従って、変換対象のデータベース・メッセージを一連の固定文字列群に変換するステップとをさらに含むようにしてもよい。このようにすれば、例えばＳＱＬ文の検索式に含まれる所定のパラメータ（例えば従業員番号など）のみが異なるような複数のデータベース・メッセージがあった場合、これらは同一の一連の固定文字列群に変換されるので、これらを同一のデータベース・メッセージとみなして分析を行うことができるようになる。
【００４６】
さらに、上で述べた正規表現生成ステップが、データベース・メッセージを予約語で区切った場合における各区間について、当該区間に含まれる、予約語以外の語句又は語句群が、グループに属する各メッセージ・シーケンスで共通する語句又は語句群であるか判断するステップと、各区間について、当該区間に含まれる、予約語以外の語句又は語句群が、グループに属する各メッセージ・シーケンスで共通する語句又は語句群であると判断された場合、当該区間に含まれる、予約語以外の語句又は語句群を固定文字列として正規表現に設定するステップとを含むようにしてもよい。このようにすれば、正規表現に多くの固定文字列が含まれることとなるので、より高い精度でデータベース・メッセージを変換することができるようになる。
【００４７】
なお、データベース・メッセージ分析支援装置をハードウエアと共に実現するためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、ＣＤ−ＲＯＭ、光磁気ディスク、半導体メモリ、ハードディスク等の記憶媒体又は記憶装置に格納される。なお、中間的な処理結果はメインメモリ等の記憶装置に一時保管される。
【００４８】
また、データベース・メッセージ分析支援装置は、図１４に示すように、メモリ２５０１（記憶部）とＣＰＵ２５０３（処理部）とハードディスク・ドライブ（ＨＤＤ）２５０５と表示装置２５０９に接続される表示制御部２５０７とリムーバブル・ディスク２５１１用のドライブ装置２５１３と入力装置２５１５とネットワークに接続するための通信制御部２５１７とがバス２５１９で接続されている。ＯＳ及びＷｅｂブラウザを含むアプリケーション・プログラムは、ＨＤＤ２５０５に格納されており、ＣＰＵ２５０３により実行される際にはＨＤＤ２５０５からメモリ２５０１に読み出される。必要に応じてＣＰＵ２５０３は、表示制御部２５０７、通信制御部２５１７、ドライブ装置２５１３を制御して、必要な動作を行わせる。また、処理途中のデータについては、メモリ２５０１に格納され、必要があればＨＤＤ２５０５に格納される。このようなコンピュータは、上で述べたＣＰＵ２５０３、メモリ２５０１などのハードウエアとＯＳ及び必要なアプリケーション・プログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
【００４９】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【００５０】
（付記１）
１の処理要求に応じて発行される一連のメッセージを含むメッセージ・シーケンスを収集するステップと、
収集した前記メッセージ・シーケンスを、前記メッセージ・シーケンスに含まれる前記一連のメッセージのうちＳＱＬ文を含むメッセージであるデータベース・メッセージから予め設定されている予約語以外の語句を取り除くことにより得られる予約語表現メッセージ・シーケンスが一致するグループ毎に分類するステップと、
前記グループ毎に、当該グループに属する前記メッセージ・シーケンスに含まれる前記データベース・メッセージについて、当該データベース・メッセージ内の前記予約語の各々を少なくとも固定文字列として含み且つ前記データベース・メッセージにおける、前記固定文字列以外の部分を任意の文字列とする正規表現を生成する正規表現生成ステップと、
前記正規表現に一致するとみなされる前記データベース・メッセージを当該正規表現に含まれる一連の固定文字列群に変換するためのルールを生成し、前記グループの識別情報と対応付けて記憶装置に格納するステップと、
をコンピュータに実行させるためのデータベース・メッセージ分析支援プログラム。
【００５１】
（付記２）
変換対象のデータベース・メッセージを含む新たなメッセージ・シーケンスを受信した場合、当該メッセージ・シーケンスが属する前記グループを特定するステップと、
特定された前記グループに対応し且つ前記記憶装置に格納されている前記ルールに従って、前記変換対象のデータベース・メッセージを前記一連の固定文字列群に変換するステップと、
をさらにコンピュータに実行させるための付記１記載のデータベース・メッセージ分析支援プログラム。
【００５２】
（付記３）
前記正規表現生成ステップが、
前記データベース・メッセージを前記予約語で区切った場合における各区間について、当該区間に含まれる、前記予約語以外の語句又は語句群が、前記グループに属する各前記メッセージ・シーケンスで共通する語句又は語句群であるか判断するステップと、
各前記区間について、当該区間に含まれる、前記予約語以外の語句又は語句群が、前記グループに属する各前記メッセージ・シーケンスで共通する語句又は語句群であると判断された場合、当該区間に含まれる、前記予約語以外の語句又は語句群を前記固定文字列として前記正規表現に設定するステップと、
を含む、付記１又は２記載のデータベース・メッセージ分析支援プログラム。
【００５３】
（付記４）
１の処理要求に応じて発行される一連のメッセージを含むメッセージ・シーケンスを収集するステップと、
収集した前記メッセージ・シーケンスを、前記メッセージ・シーケンスに含まれる前記一連のメッセージのうちＳＱＬ文を含むメッセージであるデータベース・メッセージから予め設定されている予約語以外の語句を取り除くことにより得られる予約語表現メッセージ・シーケンスが一致するグループ毎に分類するステップと、
前記グループ毎に、当該グループに属する前記メッセージ・シーケンスに含まれる前記データベース・メッセージについて、当該データベース・メッセージ内の前記予約語の各々を少なくとも固定文字列として含み且つ前記データベース・メッセージにおける、前記固定文字列以外の部分を任意の文字列とする正規表現を生成する正規表現生成ステップと、
前記正規表現に一致するとみなされる前記データベース・メッセージを当該正規表現に含まれる一連の固定文字列群に変換するためのルールを生成し、前記グループの識別情報と対応付けて記憶装置に格納するステップと、
を含み、コンピュータにより実行されるデータベース・メッセージ分析支援方法。
【００５４】
（付記５）
１の処理要求に応じて発行される一連のメッセージを含むメッセージ・シーケンスを収集するメッセージ・シーケンス収集手段と、
収集した前記メッセージ・シーケンスを、前記メッセージ・シーケンスに含まれる前記一連のメッセージのうちＳＱＬ文を含むメッセージであるデータベース・メッセージから予め設定されている予約語以外の語句を取り除くことにより得られる予約語表現メッセージ・シーケンスが一致するグループ毎に分類する分類手段と、
前記グループ毎に、当該グループに属する前記メッセージ・シーケンスに含まれる前記データベース・メッセージについて、当該データベース・メッセージ内の前記予約語の各々を少なくとも固定文字列として含み且つ前記データベース・メッセージにおける、前記固定文字列以外の部分を任意の文字列とする正規表現を生成し、当該正規表現に一致するとみなされる前記データベース・メッセージを当該正規表現に含まれる一連の固定文字列群に変換するためのルールを生成し、前記グループの識別情報と対応付けて記憶装置に格納するルール生成手段と、
を有するデータベース・メッセージ分析支援装置。
【符号の説明】
【００５５】
１  メッセージ・シーケンス収集部    ３  メッセージ・シーケンス格納部
５  予約語格納部    ７  分類処理部
９  グループ管理テーブル格納部    １１  ルール生成部
１３  変換ルール格納部    １５  メッセージ変換部
１７  変換結果格納部
【図１】
2010250450.tif 000003
【図２】
2010250450.tif 000004
【図３】
2010250450.tif 000005
【図４】
2010250450.tif 000006
【図５】
2010250450.tif 000007
【図６】
2010250450.tif 000008
【図７】
2010250450.tif 000009
【図８】
2010250450.tif 000010
【図９】
2010250450.tif 000011
【図１０】
2010250450.tif 000012
【図１１】
2010250450.tif 000013
【図１２】
2010250450.tif 000014
【図１３】
2010250450.tif 000015
【図１４】
2010250450.tif 000016