JPWO2017179163A1 - アプリケーション分析システム、方法、及び、プログラム - Google Patents

アプリケーション分析システム、方法、及び、プログラム Download PDF

Info

Publication number
JPWO2017179163A1
JPWO2017179163A1 JP2018511829A JP2018511829A JPWO2017179163A1 JP WO2017179163 A1 JPWO2017179163 A1 JP WO2017179163A1 JP 2018511829 A JP2018511829 A JP 2018511829A JP 2018511829 A JP2018511829 A JP 2018511829A JP WO2017179163 A1 JPWO2017179163 A1 JP WO2017179163A1
Authority
JP
Japan
Prior art keywords
module
application
analysis
information
data
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.)
Pending
Application number
JP2018511829A
Other languages
English (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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Publication of JPWO2017179163A1 publication Critical patent/JPWO2017179163A1/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Educational Administration (AREA)
  • Game Theory and Decision Science (AREA)
  • Development Economics (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Debugging And Monitoring (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

アプリケーション分析システムは、アプリケーションの実行中に各モジュールが入出力したデータに関する情報を含むモジュール情報と、アプリケーションに係る指標を算出する分析プログラムがアクセスしたデータに関する情報を含む分析情報とを有し、モジュール情報と分析情報とに基づいて、複数のモジュールの中から指標の変動に影響を与える注目モジュールを特定する。

Description

本発明は、概して、計算機システムに関し、例えば、アプリケーションの分析に関する。
市場環境の激動を受けて、業務を支えるアプリケーションの開発及び運用を継続的に改善する手法が注目されている。特許文献1には、業務システムによって得られた履歴データから業務効率低下の原因侯補となる処理の進め方の違いを自動的に抽出する方法が開示されている。
特許第4376887号
特許文献1は、履歴データベースから一の案件に関する処理の実行履歴データを読み出し、当該案件に対する業務効率指標を算出するとともに、処理の進め方を表す複数の特徴についてそれぞれの分類先である各カテゴリに対する当該案件の分類割合を決定し、これらを全ての案件について行い、全ての案件に関する業務効率指標と特徴毎の各カテゴリに対する分類割合とから、特徴毎の分類前および分類後の業務効率指標分布を算出し、全ての案件に関する特徴毎の各カテゴリに対する分類割合と特徴毎の分類前および分類後の業務効率指標分布とから、各特徴毎の分類前後の業務効率指標のばらつきの変化量を算出する。
しかし、特許技術1は、ユースケースとそれを実現するアプリケーション(モジュール)とを静的に対応付けているため、業務の改善サイクルの中でユースケースの変化やアプリケーション(モジュール)の変更が発生する開発では、変更の度にユースケースとモジュールとを対応付けし直す必要がある。これは手間のかかる作業であり、改善に要する時間も長くなる。
そこで本発明の目的は、アプリケーションに係る指標に影響を与えるモジュールを容易に特定可能とすることにある。
本発明の一実施例に係るアプリケーション分析システムは、複数のモジュールを含むアプリケーションを分析するシステムであって、プロセッサ及びメモリを有する。メモリは、アプリケーションの実行中に各モジュールが入出力したデータに関する情報を含むモジュール情報と、アプリケーションに係る指標を算出する分析プログラムがアクセスしたデータに関する情報を含む分析情報と、を有する。プロセッサは、モジュール情報と分析情報とに基づいて、複数のモジュールの中から指標の変動に影響を与える注目モジュールを特定する。
本発明によれば、アプリケーションに係る指標に影響を与えるモジュールを容易に特定することができる。
実施例1に係るアプリケーション分析システムの構成例を示す。 アプリケーション変更履歴テーブルの構成例を示す。 ログ収集設定テーブルの構成例を示す。 モジュールアクセス履歴テーブルの構成例を示す。 分析アクセス履歴テーブルの一例である。 実施例1に係るモジュール関連テーブルの構成例を示す。 モジュール特定部の処理例を示すフローチャートである。 マッチング部の処理例を示すフローチャートである。 分析画面の例を示す。 実施例2に係るアプリケーション分析システムの構成例を示す。 KPI(Key Performance Indicator)変化テーブルの構成例である。 実施例2に係るモジュール関連テーブルの例である。 有効対策テーブルの構成例である。 有効対策テーブルの生成処理の例を示すフローチャートである。
以下、実施例を説明する。
以下の説明では、「xxxテーブル」又は「xxxリスト」の表現にて情報を説明することがあるが、情報は、どのようなデータ構造で表現されていてもよい。すなわち、情報がデータ構造に依存しないことを示すために、「xxxテーブル」又は「xxxリスト」を「xxx情報」と呼ぶことができる。
さらに、各情報の内容を説明する際に、「識別子」、「名」、「名称」、「ID」という表現を用いるが、これらについてはお互いに置換が可能である。
また、以下の説明では、「プログラム」を主語として処理を説明する場合があるが、プログラムは、プロセッサ(例えばCPU(Central Processing Unit))によって実行されることで、定められた処理を、適宜に記憶資源(例えばメモリ)及び通信インターフェイスデバイスのうちの少なくとも1つを用いながら行うため、処理の主語が、プロセッサ、そのプロセッサを有する装置とされてもよい。プロセッサが行う処理の一部又は全部が、ハードウェア回路で行われてもよい。コンピュータプログラムは、プログラムソースからインストールされてよい。プログラムソースは、プログラム配布サーバ又は記憶メディア(例えば可搬型の記憶メディア)であってもよい。
図1は、実施例1に係るアプリケーション分析システム1の構成例を示す。
実行装置100は、業務遂行に関するアプリケーションを実行する。実行装置100は業務システムと呼ばれてもよい。アプリケーションは複数のモジュール111(例えばモジュールA、B、C)から構成されてよい。複数のモジュール111は、アプリケーションミドルウェア112上に構成されてよい。実行装置100は、複数のモジュール111からアクセスされるアプリケーションデータ122を管理する。アプリケーションデータ122は、データ管理ミドルウェア121上で管理されてよい。また、実行装置100は、複数のモジュール111から出力されるログデータ123を管理する。ログデータ123は、データ管理ミドルウェア121上で管理されてよい。
複数のモジュール111は、アプリケーションの機能を実現するために、アプリケーションミドルウェア112やデータ管理ミドルウェア121を介して、アプリケーションデータ122を読み書き及び削除等してよい。また、複数のモジュール111は、アプリケーションの実行状態を確認できるように、アプリケーションミドルウェア112やデータ管理ミドルウェア121を介して、ログデータ123を出力(書き込み)してよい。
実行装置100は、アプリケーション(複数のモジュール111)の実行結果を分析する分析ジョブ101を実行する。分析ジョブ101は分析ミドルウェア上102に構成されてよい。分析ジョブ101は、アプリケーションデータ122やログデータ123等を参照して、アプリケーションの実行結果を分析してよい。
分析装置160は、実行装置100に分析ジョブ101を投入し実行させてよい。また、分析装置160は、実行装置100におけるアプリケーションの実行結果に関する情報(アプリケーションデータ122やログデータ123など)や分析ジョブ101の分析結果に関する情報を収集してよい。また、分析装置160は、その収集した情報に基づき、アプリケーションの業務遂行に関する指標(例えばKPI)の変動に影響を与えるモジュール(「注目モジュール」という)を特定してよい。
実行装置100及び分析装置160は、それぞれ、CPU、メモリ及び記憶デバイス等を有する計算機であってよい。そして、実行装置100及び分析装置160がそれぞれ有する各種機能は、メモリ又は記憶デバイスに格納されているプログラムがCPUで実行されることにより、実現されてよい。メモリの例は、DRAM(Dynamic Random Access Memory)、MRAM(Magnetoresistive Random Access Memory)、FeRAM(Ferroelectric Random Access Memory)である。記憶デバイスの例は、SSD(Solid State Drive)、HDD(Hard Disk Drive)である。
分析装置160は、実行装置100から各種データを収集する収集部150、収集部150が収集したデータを保持する記憶部141、及び、記憶部141に保持されたデータに基づきモジュール111とKPIとの関連性を特定する関連特定部130を有する。
収集部150は、変更履歴管理部151、ログ収集部152、分析アクセス履歴取得部154、及び、モジュールアクセス履歴取得部153を含んでよい。
変更履歴管理部151は、各モジュール111の変更履歴を、アプリケーション変更履歴テーブル200(図2参照)によって管理する。
ログ収集部152は、各モジュール111が実行時に出力するログデータ123を、ログ収集設定テーブル250(図3参照)の設定内容に基づいて収集する。ログ収集部152は、独立したプロセスとして動作してよい。
分析アクセス履歴取得部154は、分析ジョブ101が分析の際にデータ管理ミドルウェア121のデータにアクセスした履歴(「分析アクセス履歴」という)を取得し、分析アクセス履歴テーブル350(図5参照)に格納する。分析ジョブ101は、入力部131から指示を受けて実行されてよい。分析アクセス履歴には、分析ジョブ101がデータ管理ミドルウェア121に対して発行したSQL文が記録されてよい。
モジュールアクセス履歴取得部153は、モジュール111が実行の際にデータ管理ミドルウェア121のデータにアクセスした履歴(「モジュールアクセス履歴」という)を取得し、モジュールアクセス履歴テーブル300(図4参照)に格納する。モジュールアクセス履歴には、モジュール111がデータ管理ミドルウェア121に対して発行したSQL文が記録されてよい。
なお、分析ジョブ101又はモジュール111がデータ管理ミドルウェア121にアクセスする方法は、SQLに限られず、例えば所定のプログラムによるアクセスや、XML(Extensible Markup Language)パーサによるアクセスなどであってもよい。また、上記のアプリケーション変更履歴テーブル200、ログ収集設定テーブル250、分析アクセス履歴テーブル350、及び、モジュールアクセス履歴テーブル300は、記憶部141に保持されてよい。
関連特定部130は、入力部131、モジュール特定部132、マッチング部133133、及び、出力部134を含んで良い。
入力部131は、分析装置160の利用者からの入力を受け付ける(図9参照)。
モジュール特定部132は、モジュールアクセス履歴テーブル350及び分析アクセス履歴テーブル300に基づいて、KPIの変動に影響を与えるモジュール(注目モジュール)を特定する。これにより、何れのモジュールが、KPIの変動に影響を与えているのかを知ることができる。
マッチング部133は、モジュール特定部132が特定した注目モジュールと、その注目モジュールの変更履歴とを対応付ける、モジュール関連テーブル700(図6参照)を生成する。これにより、何れのモジュールの何れの変更が、KPIの変動に影響を与えているのかを知ることができる。
出力部134は、モジュール特定部132及びマッチング部133の実行結果、すなわち、モジュールとKPIとの関係を示す情報を、利用者に提示する(図9参照)。
図2は、アプリケーション変更履歴テーブル200の構成例を示す。
アプリケーション変更履歴テーブル200は、データ項目として、日時201、モジュール管理ID202、モジュール名203、及び、変更種別204を有してよい。
モジュール管理ID202には、当該テーブル200のエントリの識別子が格納される。
日時201には、モジュール名203のモジュールに変更種別204の変更が行われた日時が格納される。又は、日時201には、モジュール管理ID202のエントリが当該テーブル200に登録された日時が格納されてもよい。
モジュール名203には、変更されたモジュールの名称が格納される。
変更種別204には、モジュール名203のモジュールにどのような変更がされたかを示す情報が格納される。例えば、変更種別204「コード」は、モジュール名203のモジュールのプログラムコードが変更されたことを示す。変更種別204「パラメータ」は、モジュール名203のモジュールのパラメータが変更されたことを示す。
アプリケーション変更履歴テーブル200は、記憶部141に保持され、変更履歴管理部151によって管理されてよい。変更履歴管理部151は、モジュール111がデプロイされる度に、アプリケーション変更履歴テーブル200にエントリを追加してよい。
アプリケーション変更履歴テーブル200のエントリは、日時201の古い順に並べられてよい。その場合、図2のアプリケーション変更履歴テーブル200から、エントリ207の時点においてアプリケーションミドルウェア112上で実行されているモジュールは、モジュールA(エントリ207)とモジュールB(エントリ206)であることがわかる。また、モジュールAは、エントリ205の時点で変更(修正)された後、エントリ207の時点でさらに修正されたことがわかる。
図3は、ログ収集設定テーブル250の構成例を示す。
ログ収集設定テーブル250は、データ項目として、モジュール管理ID251、ファイル名252、フォーマット253、テーブル名254、及び、カラム名255を有して良い。
モジュール管理ID251には、アプリケーション変更履歴テーブル200のモジュール管理ID202が格納される。
ファイル名252には、モジュール管理ID251のモジュールが出力するファイルの名称が格納される。
フォーマット253には、ファイル名252のファイルに記載されている各行のデータを、複数のカラムデータに分割するための情報が格納される。この情報には、正規表現等が用いられてよい。
テーブル名254には、フォーマット253に基づいて分割された各カラムデータの格納先のテーブルの名称が格納される。
カラム名255には、テーブル名254のテーブルにおける、フォーマット253に基づいて分割された各カラムデータの格納先のカラム名が格納される。
ログ収集部152は、モジュール(251)が出力するファイル(252)の各行のデータを、フォーマット(213)に基づいて複数のカラムデータに分割してよい。そして、ログ収集部152は、それらのカラムデータを、データ管理ミドルウェア121のテーブル(254)の各カラム(255)に格納してよい。例えば、図3のエントリ256は、フォーマット253で指定された最初の空白までの文字列を、テーブル名254「アクセスログ」のカラム名255「ユーザ」に格納することを示す。
図4は、モジュールアクセス履歴テーブル300の構成例を示す。
モジュールアクセス履歴テーブル300は、データ項目として、日時301、モジュール管理ID302、及び、SQL文303を有して良い。
日時301には、モジュール管理ID302のモジュールがSQL文303の内容を実行した日時が格納される。
モジュール管理ID302には、アプリケーション変更履歴テーブル200のモジュール管理ID202が格納される。
SQL文303には、モジュール管理ID302のモジュールが、実行時にどのデータにアクセスしたかに関する情報を示すSQL文が格納される。
例えば、図4のモジュールアクセス履歴テーブル300のエントリ305は、モジュール管理ID「ID002」(モジュールB)が、アプリケーションデータ122に含まれるテーブル名「ユーザ」のカラム名「目的種別」を参照(アクセス)していることを示す。
図5は、分析アクセス履歴テーブル300の一例である。
分析アクセス履歴テーブル350は、データ項目として、日時351、分析ジョブID352、KPI353、及び、SQL文354を有して良い。
日時351には、分析ジョブID352の分析ジョブ101がSQL文354の内容を実行した日時が格納される。
分析ジョブID352には、分析ジョブ101の識別子が格納される。
KPI352には、KPIの名称が格納される。KPI352には、ユーザによって入力された名称が格納されてよい。
SQL文354には、分析ジョブID352の分析ジョブ101が、分析時にどのデータにアクセスしたかに関する情報を示すSQL文が格納される。
図6は、モジュール関連テーブル700の構成例を示す。
モジュール関連テーブル700は、データ項目として、分析ジョブID701、モジュール管理ID702、及び、マッチング種別703を有してよい。
分析ジョブID701には、分析アクセス履歴テーブル300の分析ジョブID352が格納される。
モジュール管理ID702には、モジュールアクセス履歴テーブル300のモジュール管理IDが202が格納される。
マッチング種別703には、分析ジョブID701の分析ジョブ101、及び、モジュール管理ID702のモジュール111が、同じデータにどのようにアクセスしているかを示す情報が格納される。マッチング種別702には、例えば次の「W」、「R」、「P」の情報が格納されてよい。
(W)モジュール管理ID702のモジュール111が書き込んだデータを、分析ジョブID701の分析ジョブ101が参照している。
(R)モジュール管理ID702のモジュールが参照したデータを、分析ジョブID701の分析ジョブも参照している。
(P)モジュール管理ID702のモジュール111と分析ジョブID701の分析ジョブ101とが、同じデータを同じアクセスパターンで参照している。例えば、分析ジョブ101のSQL文とモジュール111のSQL文とが、同じテーブルに対して同じデータ項目を「GROUP BY」に指定している場合などである。
モジュール関連テーブル700のエントリは、マッチング種別703に基づいて影響度(優先度)が決定されてよい。例えば、マッチング種別703の優先度は、高い順に「P」>「W」>「R」であってよい。
図7は、モジュール特定部132の処理例を示すフローチャートである。
モジュール特定部132は、分析データアクセス履歴350から、入力部131から指定されたエントリを抽出する(ステップ402)。例えば、モジュール特定部132は、図5の分析アクセス履歴テーブル350から、入力部131から指定された分析ジョブID352「001」に対応するエントリ355を抽出する。
モジュール特定部132は、アプリケーション変更履歴テーブル200から、分析時における各モジュールのモジュール管理ID202を抽出する(ステップ403)。例えば、モジュール特定部132は、図2のアプリケーション変更履歴テーブル200から、上記で抽出したエントリ355の日時351より以前のエントリを参照し、分析時におけるモジュールAに対応するモジュール管理ID202「ID003」、モジュールBに対応するモジュール管理ID202「ID002」を抽出する。
モジュール特定部132は、モジュールアクセス履歴テーブル300から、モジュール管理ID302に、ステップ403で抽出したモジュール管理IDが格納されているエントリを抽出する(ステップ404)。例えば、モジュール特定部132は、図4のモジュールアクセス履歴テーブル300から、上記で抽出したモジュール管理ID302「ID002」、「ID003」が格納されているエントリ305,306,307を抽出する。
モジュール特定部132は、ログ収集設定テーブル250から、モジュール管理ID251に、ステップ403で抽出したモジュール管理IDが格納されているエントリを抽出する(ステップ405)。例えば、モジュール特定部132は、図3のログ収集設定テーブル250から、上記で抽出したモジュール管理ID251「ID003」が格納されているエントリ257を抽出する。
モジュール特定部132は、ステップ402、404、405で抽出したエントリの情報を、マッチング部133に渡す(ステップ406)。例えば、モジュール特定部132は、上述の例において抽出したエントリ355、305、306、307、257を、マッチング部133に渡す。なお、下記図8の説明において、ステップ402で抽出されたエントリ群を「EL1」、ステップ404で抽出されたエントリ群を「EL2」、ステップ405で抽出されたエントリ群を「EL3」と表現する。
図8は、マッチング部133の処理例を示すフローチャートである。
マッチング部133は、分析ジョブ101とモジュール111とのデータアクセスパターン(SQL文)を照合し、両者の関連性を特定する。例えば、マッチング部133は、両者がアクセスするデータや、そのデータに対するアクセスの種別などに基づいて、関連性を特定してよい。マッチング部133は、その特定した関連性を、モジュール関連テーブル700に格納してよい。以下、当該処理の例を説明する。
マッチング部133は、エントリ群「EL1」から、未処理の1つのエントリを選択する(ステップ502)。この選択されたエントリを「選択EL1」と表現する。
マッチング部133は、エントリ群「EL2」から、未処理の1つのエントリを選択する(ステップ503)。この選択されたエントリを「選択EL2」と表現する。
マッチング部133は、選択EL1のSQL文354と、選択EL2のSQL文303とに基づき、選択EL1の分析ジョブ101と選択EL2のモジュール111とが同じデータにアクセスしているか否かを判定する(ステップ504)。マッチング部133は、当該判定結果が「YES」の場合、ステップ505の処理へ進み、「NO」の場合、ステップ506の処理へ進む。例えば、選択EL1がエントリ355、選択EL2がエントリ305又はエントリ306である場合、何れもがテーブル「ユーザ情報」のデータ項目「目的種別」にアクセスしているので、当該判定結果は「YES」となる。
マッチング部133は、ステップ504で判定したアクセスのマッチング種別(例えば上記の「W」、「R」、「P」の何れであるか)を特定する。そして、マッチング部133は、分析ジョブID701に選択EL1の分析ジョブID352、モジュール管理ID702に選択EL2のモジュール管理ID302、マッチング種別703に当該特定したマッチング種別を格納したエントリを、モジュール関連テーブル700に追加し(ステップ505)、ステップ506の処理へ進む。例えば、選択EL1がエントリ355、選択EL2がエントリ305である場合、エントリ305のSQL文303はデータの参照を示しているので、マッチング種別は「R」と特定され、モジュール関連テーブル700にエントリ704が追加される。
なお、モジュール関連テーブル700に、同一の分析ジョブID701及びモジュール管理ID702が格納されているエントリが存在する場合、マッチング部133は、その既存のエントリのマッチング種別703に当該特定したマッチング種別を追記すればよい。例えば、選択EL1がエントリ355、選択EL2がエントリ306である場合、エントリ306のSQL文303はデータの更新を示しているので、マッチング種別は「W」と特定され、モジュール関連テーブル700のエントリ704のマッチング種別703に「W」が追記される。
マッチング部133は、エントリ群EL2の全てを選択し終えるまでステップ503〜506の処理を実行し、全てを選択し終えたら、次のステップ507の処理へ進む(ステップ506)。
マッチング部133は、エントリ群EL3から、未処理の1つのエントリを選択する(ステップ507)。この選択されたエントリを「選択EL3」という。
マッチング部133は、選択EL1のSQL文354によってアクセスされるログデータと、選択EL3のフォーマット253及びカラム名255等に基づいて収集されたログデータと、が同じものであるか否かを判定する(ステップ508)。マッチング部133は、当該判定結果が「YES」の場合、ステップ509の処理へ進み、「NO」の場合、ステップ510の処理へ進む。例えば、選択EL1がエントリ356、選択EL3がエントリ256である場合、何れもがテーブル「アクセスログ」にアクセスしているので、当該判定結果は「YES」となる。
マッチング部133は、分析ジョブID701に選択EL1の分析ジョブID352、モジュール管理ID702に選択EL3のモジュール管理ID251、マッチング種別703に「R」が格納されたエントリを、モジュール関連テーブル700に追加し(ステップ509)、ステップ510の処理へ進む。
マッチング部133は、エントリ群EL3の全てを選択し終えるまでステップ507〜510の処理を実行し、全てを選択し終えたたら、次のステップ511の処理へ進む(ステップ510)。
マッチング部133は、エントリ群EL1の全てを選択し終えるまでステップ502〜511の処理を実行し、全てを選択し終えたら、本処理を終了する(ステップ511)。
以上の処理により、モジュール関連テーブル700が生成される。なお、モジュール111が何れのアプリケーションデータ122にアクセスしたかを含む情報(例えばモジュールアクセス履歴テーブル300)と、モジュール111が何れのログデータ123を出力したかを含む情報とを、まとめてモジュール情報と呼んでもよい。また、分析ジョブ101が何れのアプリケーションデータ122にアクセスしたかを含む情報と、分析ジョブ101が何れのログデータ123にアクセスしたかを含む情報と、をまとめて分析情報(分析アクセス履歴テーブル350に相当)と呼んでもよい。
図9は、分析画面801の例を示す。
ユーザは、分析画面801を介して、KPI810に算出したいKPI名を、対象データ811に分析対象のデータを、分析軸812に分析の目的種別を入力して、分析実行ボタン814をクリックしてよい。これにより、分析ミドルウェア102上に、その入力されたパラメータに対応する分析ジョブ101が生成および実行される。その実行結果は、例えばグラフとして、グラフ表示領域814に表示される。
ユーザは、その分析結果が有意義であると判断した場合、モジュール特定実行ボタン822をクリックしてよい。これにより、モジュール特定部132及びマッチング部133が実行され、現在の分析ジョブ101のKPIに影響を及ぼしているモジュールの一覧が抽出される。
出力部134は、その抽出されたモジュールの一覧を、KPI810に対する影響度(優先度)の高い順にモジュールリスト表示領域822に表示してよい。また、出力部134は、その抽出されたモジュールのトポロジーをモジュールトポロジ表示領域823に表示すると共に、影響度の高い(影響度が閾値以上である)モジュールに対してマーク824を付与してよい。
モジュールの影響度は、マッチング種別703に基づいて決定されてよい。例えば、影響度の高い順に「P」、「W」、「R」であってよい。この場合、図8のモジュール関連テーブル700において、マッチング種別703「W」を有するエントリ704の方が、マッチング種別703「R」のみのエントリ705よりも影響度が高いので、モジュールリスト表示領域822に、図9に示すように、モジュールB(モジュール管理ID702「ID002」)、モジュールA(モジュール管理ID702「ID003」)の順に表示されてよい。
なお、複数のエントリが同一の影響度の場合、さらにデータアクセス頻度、データアクセス量などの情報を取得し、それらの値が大きい程、影響度が高いとしてもよい。
本実施例によれば、KPIに対して影響度の比較的高いモジュールを、ユーザに提示することができる。ユーザは、この提示内容に基づいて、KPIを向上させるために優先的に修正すべきモジュールを絞り込むことができる。すなわち、KPIの改善を迅速に行うことができる。
なお、KPIに影響を及ぼすモジュールを発見するためのデータは、アプリケーションデータ122、又は、ログデータ123に限られない。例えば、監視システムによって観測されるパフォーマンスデータ、又は、統計データも用いられてよい。この場合、監視対象モジュールに対する設定をログ収集設定テーブル250と同様に構成し、図8のステップ510の処理の後に、ステップ507からステップ510と同様の処理を実行してよい。
本実施例では、同じデータにアクセスしているか否かを、データベースの同じテーブルにアクセスしているか否かによって判定している。また、データに対するアクセスパターンが同じであるか否かを、SELECT文において、同じデータに対して同じデータ項目でグループ化しているか(つまり、「GROUP BY」に同じデータ項目が指定されているか)否かによって判定している。しかし、判定方法はこれらに限られない。
例えば、同じデータにアクセスしているとは、所定の依存関係に基づいた一連のテーブル群にアクセスしていることであってもよいし、テーブルの特定のカラムにアクセスしていることであってもよい。
例えば、データに対するアクセスパターンが同じであることは、グループ化されるデータ項目が完全に一致していることであってもよいし、グループ化されるデータ項目が日時、月、日など同系列(同類)であることであってもよい。
実施例2は、複数のアプリケーションと、それに対する複数の分析ジョブが実行される環境において、モジュールの変更(修正)がKPIの良化(向上)に寄与したか否かを判定する例である。この結果を用いることにより、同様の改善を行いたい場合に実績のある対策を提供することが可能となり、KPIの改善を迅速化できる。
図10は、実施例2に係るアプリケーション分析システム2の構成例を示す。
アプリケーション分析システム2において、図1と同様の構成要素については、同一の参照符号を付して説明を省略する。
関連特定部130は、KPI特定部932を有する。収集部150は、KPI抽出部904を有する。記憶部141は、KPI変化テーブル1100(図11参照)を有する。
KPI特定部932は、KPI値の向上に寄与したモジュール及びその修正内容を特定し、有効対策テーブル1250(図13参照)を生成する。
KPI抽出部904は、KPI値の変化を、KPI変化テーブル1100に記録する。
図11は、KPI変化テーブル1100の構成例である。
KPI変化テーブル1100は、データ項目として、日時1101、KPI名1102、KPI値1103を有してよい。
日時1101には、KPI値1103が測定された日時又は期間が格納される。KPI名1102には、測定されたKPIの名称が格納される。KPI値1103には、測定されたKPIの値が格納される。同一のKPI名1102について日時1101の順にソートすることにより、KPI値1103の変化がわかるようになる。
図12は、実施例2に係るモジュール関連テーブル1200の例である。
モジュール関連テーブル1200は、データ項目として、分析ジョブID1201、モジュール管理ID1202、及び、マッチング種別1203を有してよい。これらのデータ項目に格納される値は、図6のモジュール管理テーブル700と同様である。
図12において、エントリ1204,1205は、図6のモジュール管理テーブル700のエントリ704、705と同じであってよい。
エントリ1206は、図8のステップ504の処理において、図5の分析アクセス履歴テーブル350のエントリ355と、図4のモジュールアクセス履歴テーブル300のエントリ308とのマッチングによって登録されたものであってよい。
エントリ1207は、図8のステップ504の処理において、図5の分析アクセス履歴テーブル350のエントリ355と、図4のモジュールアクセス履歴テーブル300のエントリ309とのマッチングによって登録されたものであってよい。
エントリ1208は、図8のステップ508の処理において、図5の分析アクセス履歴テーブル350のエントリ356と、図3のログ収集設定テーブル250のエントリ257に対応するログデータとのマッチングによって登録されたものであってよい。
図13は、有効対策テーブル1250の構成例である。
有効対策テーブル1250には、どのモジュールをどのように変更することが、KPIの向上に有効であるかを示す情報が格納される。
有効対策テーブル1250は、データ項目として、KPI名1251、モジュール管理ID1252、モジュール名1253、及び、変更種別1254を有してよい。
KPI名1251には、KPIの名称が格納される。
モジュール管理ID1252には、KPI名1251のKPIの向上に有効である修正に対応するモジュール管理ID202が格納される。
モジュール名1253には、アプリケーション変更履歴テーブル200において、モジュール管理ID252と対応付けられているモジュール名203が格納される。
変更種別1254には、アプリケーション変更履歴テーブル200において、モジュール管理ID252と対応付けられている変更種別204が格納される。
図13の例は、KPI名1251「再訪問率」を向上させるには、モジュール管理ID1252「ID010」において行われた、「モジュールC」(1253)のコード修正(1254)が有効である旨を示す。
図14は、有効対策テーブル1250の生成処理の例を示すフローチャートである。
モジュール特定部132は、図7と同様の処理を実行し、EL1、EL2、EL3を抽出し、その抽出したエントリ群EL1、EL2、EL3を、マッチング部133に渡す。マッチング部133は、図8と同様の処理を実行し、モジュール関連テーブル1200(図12参照)を生成する(ステップ1002)。
KPI特定部932は、モジュール関連テーブル1200のエントリから、マッチング種別1203「P」以外のエントリを除外する(ステップ1003)。例えば、図12のモジュール関連テーブル1200においては、エントリ1204、1205及び1208が除外され、エントリ1206及び1207が残る。
KPI特定部932は、ステップ1003の処理後のモジュール関連テーブル1200から、モジュール修正後から所定期間においてKPIが向上していないエントリを除外する(ステップ1004)。KPI特定部932は、アプリケーション変更履歴テーブル200を参照し、モジュール修正後から所定期間を算出してよい。KPI特定部932は、KPI変化テーブル1100を参照し、モジュール修正後から所定期間において、KPI値1103が向上しているか否かを判定してよい。例えば、図12のモジュール関連テーブル1200において、分析ジョブID1201「002」及びモジュール管理ID1202「ID101」のエントリ1207に対応するKPI値1103が向上していない場合、当該エントリ1207は除外され、エントリ1206が残る。
KPI特定部932は、上述の処理よって最終的に残ったエントリを含む有効対策テーブル1250を生成する(ステップ1005)。
以上の処理によれば、有効対策テーブル1250をユーザに提供することができる。ユーザは、有効対策テーブル1250の内容から、モジュールの修正がKPIの向上に寄与したか否かを容易に知ることができる。また、ユーザは、有効対策テーブル1250の内容から、所望のKPIを向上させるには、どのモジュールを修正すれば良いかの目処を立てることができる。すなわち、KPIの改善を迅速に行うことができる。
上述した実施例は、本発明の説明のための例示であり、本発明の範囲を実施例にのみ限定する趣旨ではない。当業者は、本発明の要旨を逸脱することなしに、他の様々な態様で本発明を実施することができる。
実施例1と実施例2の内容は、どのように組み合わせてもよい。また、KPIはあくまで業務遂行に関する指標の一例であり、他のどのような指標であってもよい。
1:アプリケーション分析システム 100:実行装置 160:分析装置 101:分析ジョブ 111:モジュール 130:関連特定部 141:記憶部 150:収集部

Claims (11)

  1. 複数のモジュールを含むアプリケーションを分析するシステムであって、プロセッサ及びメモリを有し、
    前記メモリは、
    前記アプリケーションの実行中に各モジュールが入出力したデータに関する情報を含むモジュール情報と、
    前記アプリケーションに係る指標を算出する分析プログラムがアクセスしたデータに関する情報を含む分析情報と、を有し、
    前記プロセッサは、
    前記モジュール情報と前記分析情報とに基づいて、複数のモジュールの中から前記指標の変動に影響を与える注目モジュールを特定する
    アプリケーション分析システム。
  2. データは、データベースのテーブルに格納されており、
    前記プロセッサは、
    前記モジュール情報から、モジュールがアクセスしたデータの格納先のテーブルを特定し、
    前記分析情報から、分析プログラムがアクセスしたデータの格納先のテーブルを特定し、
    これら特定した2つのテーブルが同じ場合、当該モジュールを、前記注目モジュールとする
    請求項1に記載のアプリケーション分析システム。
  3. 前記プロセッサは、前記データベースのテーブルに対する、注目モジュール及び分析プログラムのアクセス方法に基づいて、当該注目モジュールが指標に影響を与える可能性の大きさを示す影響度を判定する
    請求項2に記載のアプリケーション分析システム。
  4. 前記データベースのテーブルに対する注目モジュール及び分析プログラムのアクセス方法は、SQLで表現されており、
    前記テーブルに対して、分析プログラムと同じデータ項目をSQL文「GROUP BY」に指定する注目モジュールの影響度は、SQL文「GROUP BY」を指定しない注目モジュールの影響度よりも、大きい
    請求項3に記載のアプリケーション分析システム。
  5. 前記アプリケーションは、業務遂行に関するアプリケーションであり、
    前記指標は、前記業務遂行に関するKPI(Key Performance Indicator)である
    請求項4に記載のアプリケーション分析システム。
  6. 前記プロセッサは、KPIの変化と、影響度の比較的大きい注目モジュールと、を合わせて表示する
    請求項5に記載のアプリケーション分析システム。
  7. 前記アプリケーション情報は、各モジュールが出力したログデータに関する情報を含み、
    前記分析情報は、分析プログラムがアクセスした前記ログデータに関する情報を含む
    請求項1に記載のアプリケーション分析システム。
  8. 前記メモリは、各モジュールの変更に関する情報を含むモジュール変更情報を更に有し、
    前記プロセッサは、前記モジュール変更情報に基づいて、前記注目モジュールの変更内容を特定する
    請求項1に記載のアプリケーション分析システム。
  9. 前記プロセッサは、前記分析情報において指標を良化させているモジュールを、注目モジュールとする
    請求項8に記載のアプリケーション分析システム。
  10. 複数のモジュールを含むアプリケーションを分析する方法であって、
    前記アプリケーションの実行中に各モジュールが入出力したデータに関する情報を含むモジュール情報と、前記アプリケーションに係る指標を算出する分析プログラムがアクセスしたデータに関する情報を含む分析情報と、に基づいて、複数のモジュールの中から前記指標の変動に影響を与える注目モジュールを特定する
    アプリケーション分析方法。
  11. コンピュータを、複数のモジュールを含むアプリケーションを分析する装置として機能させるコンピュータプログラムであって、コンピュータに、
    前記アプリケーションの実行中に各モジュールが入出力したデータに関する情報を含むモジュール情報と、前記アプリケーションに係る指標を算出する分析プログラムがアクセスしたデータに関する情報を含む分析情報と、に基づいて、複数のモジュールの中から前記指標の変動に影響を与える注目モジュールを特定させる
    コンピュータプログラム。
JP2018511829A 2016-04-14 2016-04-14 アプリケーション分析システム、方法、及び、プログラム Pending JPWO2017179163A1 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2016/061971 WO2017179163A1 (ja) 2016-04-14 2016-04-14 アプリケーション分析システム、方法、及び、プログラム

Publications (1)

Publication Number Publication Date
JPWO2017179163A1 true JPWO2017179163A1 (ja) 2019-02-14

Family

ID=60042127

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018511829A Pending JPWO2017179163A1 (ja) 2016-04-14 2016-04-14 アプリケーション分析システム、方法、及び、プログラム

Country Status (2)

Country Link
JP (1) JPWO2017179163A1 (ja)
WO (1) WO2017179163A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020181437A (ja) * 2019-04-26 2020-11-05 三菱電機株式会社 監視制御装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009505218A (ja) * 2005-08-09 2009-02-05 オラクル・システムズ・コーポレイション 汎用のワークフローベースの経路指定
JP2011221770A (ja) * 2010-04-08 2011-11-04 Panasonic Corp 業務改善活動支援方法および業務改善活動支援装置
JP2013246529A (ja) * 2012-05-24 2013-12-09 Hitachi Ltd 業務課題分析支援システム
JP2014157605A (ja) * 2013-02-14 2014-08-28 Aktana Inc システムレベル・ワークフロー戦略および個々のワークフロー活動を管理するシステムおよび方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009505218A (ja) * 2005-08-09 2009-02-05 オラクル・システムズ・コーポレイション 汎用のワークフローベースの経路指定
JP2011221770A (ja) * 2010-04-08 2011-11-04 Panasonic Corp 業務改善活動支援方法および業務改善活動支援装置
JP2013246529A (ja) * 2012-05-24 2013-12-09 Hitachi Ltd 業務課題分析支援システム
JP2014157605A (ja) * 2013-02-14 2014-08-28 Aktana Inc システムレベル・ワークフロー戦略および個々のワークフロー活動を管理するシステムおよび方法

Also Published As

Publication number Publication date
WO2017179163A1 (ja) 2017-10-19

Similar Documents

Publication Publication Date Title
US20170161323A1 (en) Automatic generation of sub-queries
CA2957674C (en) Testing insecure computing environments using random data sets generated from characterizations of real data sets
JP2017194778A (ja) リレーショナルデータベースのチューニング装置及び方法
US20130262525A1 (en) Discovering Pivot Type Relationships Between Database Objects
CN106293891B (zh) 多维投资指标监督方法
US20150213066A1 (en) System and method for creating data models from complex raw log files
KR102213627B1 (ko) 분석 소프트웨어 관리 시스템 및 분석 소프트웨어 관리 방법
WO2019085463A1 (zh) 部门需求的推荐方法、应用服务器及计算机可读存储介质
CN110619000A (zh) 时序数据的查询方法、装置、存储介质及电子设备
US20200142870A1 (en) Data sampling in a storage system
JP2016066197A (ja) 分析システム及び分析方法
CN107515807A (zh) 一种存储监控数据的方法及装置
CN110580253B (zh) 时序数据组的加载方法、装置、存储介质及电子设备
CN117093556A (zh) 日志分类方法、装置、计算机设备及计算机可读存储介质
WO2017179163A1 (ja) アプリケーション分析システム、方法、及び、プログラム
US20130124484A1 (en) Persistent flow apparatus to transform metrics packages received from wireless devices into a data store suitable for mobile communication network analysis by visualization
JP2020160494A (ja) 情報処理装置、文書管理システム及びプログラム
US8856126B2 (en) Simplifying grouping of data items stored in a database
US20190318023A1 (en) Efficient Data Processing
CN111143356B (zh) 报表检索方法及装置
US11494455B2 (en) Framework for just-in-time decision support analytics
JPWO2009008129A1 (ja) 開発書類データ管理装置、開発書類データ管理システム、開発書類データ管理方法及び、そのプログラム並びに記憶媒体
CN106776704A (zh) 统计信息收集方法和装置
JPWO2019012674A1 (ja) プログラムの統合解析管理装置及びその統合解析管理方法
US20190294534A1 (en) Program usability performance classification

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181009

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191210

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20200616