JP2018181121A - 分析装置、分析プログラム及び分析方法 - Google Patents
分析装置、分析プログラム及び分析方法 Download PDFInfo
- Publication number
- JP2018181121A JP2018181121A JP2017082343A JP2017082343A JP2018181121A JP 2018181121 A JP2018181121 A JP 2018181121A JP 2017082343 A JP2017082343 A JP 2017082343A JP 2017082343 A JP2017082343 A JP 2017082343A JP 2018181121 A JP2018181121 A JP 2018181121A
- Authority
- JP
- Japan
- Prior art keywords
- processing
- sql
- executed
- log information
- api
- 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.)
- Granted
Links
Images
Abstract
Description
業務アプリケーションは、機能追加をする時点で、該当システムの開発担当者がいないとか、ドキュメントの保守がされていない場合がある。この場合、API提供側では、機能追加によってデータ間に不整合が起こらないような粒度のAPIを設ける必要がある。
まず、一実施形態に係るシステムのハードウェア構成の一例について、図1を参照しながら説明する。図1は、一実施形態に係るシステムのハードウェア構成の一例を示す。本実施形態に係るシステムは、分析装置10、アプリケーションサーバ(以下、「APサーバ」と表記する。)20及びクライアント端末30を有する。分析装置10、APサーバ20及びクライアント端末30は、インターネット等のネットワーク40を介して接続可能である。クライアント端末30は、入出力装置31に接続されてもよい。
APサーバ20は、業務アプリケーションを実行する。APサーバ20は、プロセッサ201、入力インタフェース(以下、インタフェースを「I/F」と表記する。)202、通信I/F203及びメモリ204を有する。
分析装置10は、所定の業務アプリケーションの仕様を分析する機器である。分析装置10は、CPU(Central Processing Unit)101、入力I/F102、通信I/F103、表示I/F104、外部I/F105及びメモリ106を有する。
次に、一実施形態に係るAPサーバ20及び分析装置10の機能構成の一例について、図3を参照しながら説明する。図3は、一実施形態に係るAPサーバ20及び分析装置10の機能構成の一例を示す。
APサーバ20は、受付部21、認証部22、実行部23、通信部24及び記憶部25を有する。ユーザは、クライアント端末30に表示したログイン画面からユーザID及びパスワードを入力する。受付部21は、入力したユーザID及びパスワードを受け付け、認証部22は、受け付けたユーザID及びパスワードに基づき、正規のユーザであるかを認証する。
プローブの設置により、業務アプリケーションにおいて、画面入力などをきっかけにして業務機能実行単位を実行するごとに、データベース(業務用DBなど)に対して発行したSQL文と、スタックトレース(stack trace)からなる動作ログ情報が取得可能となる。スタックトレースは、SQL文を発行したメソッドからメソッドの呼び出し関係をさかのぼったメソッド名一覧である。
分析装置10は、取得部11、解析部12、第1の抽出部13、第2の抽出部14、設定部15、表示処理部16、通信部17及び記憶部18を有する。取得部11は、業務アプリケーションの実行においてアクセスされるデータベースのアクセス処理の動作ログ情報を取得する。本実施形態では、取得部11は、APサーバ20から転送された、動作ログDB205に蓄積された動作ログ情報を取得する。解析部12は、業務機能毎に業務の実行状態を解析する。
次に、本実施形態に係る分析処理について説明する。本実施形態では、Javaで実装された業務アプリケーションを想定し、あるメソッドがデータベースにアクセスしたときに、SQL文とメソッドでのスタックトレースを取得するプローブを設定しておく。また、業務アプリケーションが用いるテーブル名T1〜T7・・・が持つカラム名を図2に示す。テーブル名は、テーブルの業務的な意味を示す。
次に、図7のステップS2で実行する本実施形態に係る類似度の判定処理の一例について図8を参照して説明する。図8は、一実施形態に係る類似度判定処理の一例を示したフローチャートである。
ログ1のSQLの単語={SELECT,*,FROM,T1,WHERE,ユーザID,=,:1}
ログ2のSQLの単語={SELECT,*,FROM,T2,WHERE,商品名,LIKE,:1}
このとき両者に共通する単語が5個、単語数の多い方が8個であるため、類似度は次のように計算される。
類似度=5/max(8,8)=0.625
閾値を0.95とすると、ログ1とログ2のSQLの類似度は閾値未満であるため、類似していないと判断されるので、ログ1とログ2のSQLは別のクラスタに属する。これをすべてのログについて行うと図9のように10個のクラスタに分割される。各クラスタを代表する代表SQLのIDとして、各クラスタに含まれるログ#の最小値を使うことにする。
次に、図7のステップS3で実行する本実施形態に係る冗長部分の削除処理の一例について図10を参照して説明する。図10は、一実施形態に係る冗長部分の削除処理の一例を示したフローチャートである。
次に、図7のステップS4で実行する本実施形態に係る部分SQL列生成処理の一例について図13を参照して説明する。図13は、一実施形態に係る部分SQL列生成処理の一例を示したフローチャートである。
(付記1)
所定の業務アプリケーションの仕様を分析する分析装置であって、
業務アプリケーションの実行においてアクセスされるデータベースのアクセス処理のログ情報を取得する取得部と、
前記ログ情報に基づき、前記データベースのアクセス処理において連続する処理のうちの一部分であって、重複して実行される処理部分を抽出する第1の抽出部と、
抽出した前記重複して実行される処理部分に含まれる処理のそれぞれを呼び出すメソッドを抽出する第2の抽出部と、
抽出した前記メソッドから更新されるテーブルのうち、前記重複して実行される処理部分に含まれる処理のそれぞれを実行したときに更新されるテーブル以外の他のテーブルを更新しないメソッドに、API(Application Program Interface)を設定し、利用可能とする設定部と、
を有する分析装置。
(付記2)
前記第1の抽出部は、前記データベースのアクセス処理において連続する処理のうちの一部分が、所定の閾値以上一致する場合、前記重複して実行される処理部分として抽出する、
付記1に記載の分析装置。
(付記3)
所定の業務アプリケーションの仕様を分析する処理をコンピュータに実行させるための分析プログラムであって、
業務アプリケーションの実行においてアクセスされるデータベースのアクセス処理のログ情報を取得する処理と、
前記ログ情報に基づき、前記データベースのアクセス処理において連続する処理のうちの一部分であって、重複して実行される処理部分を抽出する処理と、
抽出した前記重複して実行される処理部分に含まれる処理のそれぞれを呼び出すメソッドを抽出する処理と、
抽出した前記メソッドから更新されるテーブルのうち、前記重複して実行される処理部分に含まれる処理のそれぞれを実行したときに更新されるテーブル以外の他のテーブルを更新しないメソッドに、API(Application Program Interface)を設定し、利用可能とする処理と、を有する分析プログラム。
(付記4)
前記データベースのアクセス処理において連続する処理のうちの一部分が、所定の閾値以上一致する場合、前記重複して実行される処理部分として抽出する、
付記3に記載の分析プログラム。
(付記5)
所定の業務アプリケーションの仕様を分析することをコンピュータが実行する分析方法であって、
業務アプリケーションの実行においてアクセスされるデータベースのアクセス処理のログ情報を取得し、
前記ログ情報に基づき、前記データベースのアクセス処理において連続する処理のうちの一部分であって、重複して実行される処理部分を抽出し、
抽出した前記重複して実行される処理部分に含まれる処理のそれぞれを呼び出すメソッドを抽出し、
抽出した前記メソッドから更新されるテーブルのうち、前記重複して実行される処理部分に含まれる処理のそれぞれを実行したときに更新されるテーブル以外の他のテーブルを更新しないメソッドに、API(Application Program Interface)を設定し、利用可能とする、分析方法。
(付記6)
前記データベースのアクセス処理において連続する処理のうちの一部分が、所定の閾値以上一致する場合、前記重複して実行される処理部分として抽出する、
付記5に記載の分析方法。
11 取得部
12 解析部
13 第1の抽出部
14 第2の抽出部
15 設定部
16 表示処理部
17 通信部
18 記憶部
20 APサーバ
21 受付部
22 認証部
23 実行部
24 通信部
25 記憶部
30 クライアント端末
101 CPU
102 入力I/F
103 通信I/F
104 表示I/F
105 外部I/F
106 メモリ
107 分析用テーブル
108 動作ログ抽出テーブル
109 API設定テーブル
110 分析プログラム
201 プロセッサ
202 入力I/F
203 通信I/F
204 メモリ
205 動作ログ情報DB
206 業務アプリケーションプログラム群
300 業務用DB
Claims (4)
- 所定の業務アプリケーションの仕様を分析する分析装置であって、
業務アプリケーションの実行においてアクセスされるデータベースのアクセス処理のログ情報を取得する取得部と、
前記ログ情報に基づき、前記データベースのアクセス処理において連続する処理のうちの一部分であって、重複して実行される処理部分を抽出する第1の抽出部と、
抽出した前記重複して実行される処理部分に含まれる処理のそれぞれを呼び出すメソッドを抽出する第2の抽出部と、
抽出した前記メソッドから更新されるテーブルのうち、前記重複して実行される処理部分に含まれる処理のそれぞれを実行したときに更新されるテーブル以外の他のテーブルを更新しないメソッドに、API(Application Program Interface)を設定し、利用可能とする設定部と、
を有する分析装置。 - 前記第1の抽出部は、前記データベースのアクセス処理において連続する処理のうちの一部分が、所定の閾値以上一致する場合、前記重複して実行される処理部分として抽出する、
請求項1に記載の分析装置。 - 所定の業務アプリケーションの仕様を分析する処理をコンピュータに実行させるための分析プログラムであって、
業務アプリケーションの実行においてアクセスされるデータベースのアクセス処理のログ情報を取得する処理と、
前記ログ情報に基づき、前記データベースのアクセス処理において連続する処理のうちの一部分であって、重複して実行される処理部分を抽出する処理と、
抽出した前記重複して実行される処理部分に含まれる処理のそれぞれを呼び出すメソッドを抽出する処理と、
抽出した前記メソッドから更新されるテーブルのうち、前記重複して実行される処理部分に含まれる処理のそれぞれを実行したときに更新されるテーブル以外の他のテーブルを更新しないメソッドに、API(Application Program Interface)を設定し、利用可能とする処理と、を有する分析プログラム。 - 所定の業務アプリケーションの仕様を分析することをコンピュータが実行する分析方法であって、
業務アプリケーションの実行においてアクセスされるデータベースのアクセス処理のログ情報を取得し、
前記ログ情報に基づき、前記データベースのアクセス処理において連続する処理のうちの一部分であって、重複して実行される処理部分を抽出し、
抽出した前記重複して実行される処理部分に含まれる処理のそれぞれを呼び出すメソッドを抽出し、
抽出した前記メソッドから更新されるテーブルのうち、前記重複して実行される処理部分に含まれる処理のそれぞれを実行したときに更新されるテーブル以外の他のテーブルを更新しないメソッドに、API(Application Program Interface)を設定し、利用可能とする、分析方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017082343A JP6870454B2 (ja) | 2017-04-18 | 2017-04-18 | 分析装置、分析プログラム及び分析方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017082343A JP6870454B2 (ja) | 2017-04-18 | 2017-04-18 | 分析装置、分析プログラム及び分析方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018181121A true JP2018181121A (ja) | 2018-11-15 |
JP6870454B2 JP6870454B2 (ja) | 2021-05-12 |
Family
ID=64275676
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017082343A Active JP6870454B2 (ja) | 2017-04-18 | 2017-04-18 | 分析装置、分析プログラム及び分析方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6870454B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022254487A1 (ja) * | 2021-05-31 | 2022-12-08 | 富士通株式会社 | 情報処理プログラム、情報処理方法および情報処理装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003228586A (ja) * | 2002-02-05 | 2003-08-15 | Hitachi Ltd | データベースアクセス装置及び方法 |
US6950850B1 (en) * | 2000-10-31 | 2005-09-27 | International Business Machines Corporation | System and method for dynamic runtime partitioning of model-view-controller applications |
JP2008210214A (ja) * | 2007-02-27 | 2008-09-11 | Nippon Telegr & Teleph Corp <Ntt> | 情報処理装置、通信制御処理関数追加方法、及び、通信制御処理関数追加プログラム |
JP2012203726A (ja) * | 2011-03-25 | 2012-10-22 | Hitachi Ltd | コンピュータプログラムの分析方法及び分析装置 |
JP2015118562A (ja) * | 2013-12-18 | 2015-06-25 | 富士通株式会社 | スクリプト管理プログラム、スクリプト管理装置及びスクリプト管理方法 |
-
2017
- 2017-04-18 JP JP2017082343A patent/JP6870454B2/ja active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6950850B1 (en) * | 2000-10-31 | 2005-09-27 | International Business Machines Corporation | System and method for dynamic runtime partitioning of model-view-controller applications |
JP2003228586A (ja) * | 2002-02-05 | 2003-08-15 | Hitachi Ltd | データベースアクセス装置及び方法 |
JP2008210214A (ja) * | 2007-02-27 | 2008-09-11 | Nippon Telegr & Teleph Corp <Ntt> | 情報処理装置、通信制御処理関数追加方法、及び、通信制御処理関数追加プログラム |
JP2012203726A (ja) * | 2011-03-25 | 2012-10-22 | Hitachi Ltd | コンピュータプログラムの分析方法及び分析装置 |
JP2015118562A (ja) * | 2013-12-18 | 2015-06-25 | 富士通株式会社 | スクリプト管理プログラム、スクリプト管理装置及びスクリプト管理方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022254487A1 (ja) * | 2021-05-31 | 2022-12-08 | 富士通株式会社 | 情報処理プログラム、情報処理方法および情報処理装置 |
Also Published As
Publication number | Publication date |
---|---|
JP6870454B2 (ja) | 2021-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11755387B1 (en) | Updating code of an app feature based on a value of a query feature | |
US20230126005A1 (en) | Consistent filtering of machine learning data | |
Robbes et al. | How program history can improve code completion | |
US8756593B2 (en) | Map generator for representing interrelationships between app features forged by dynamic pointers | |
US8589876B1 (en) | Detection of central-registry events influencing dynamic pointers and app feature dependencies | |
AU2013329525B2 (en) | System and method for recursively traversing the internet and other sources to identify, gather, curate, adjudicate, and qualify business identity and related data | |
CA2957674C (en) | Testing insecure computing environments using random data sets generated from characterizations of real data sets | |
JP6365195B2 (ja) | 命令履歴分析プログラム、命令履歴分析装置、および、命令履歴分析方法 | |
US8904352B2 (en) | Systems and methods for processing source code during debugging operations | |
CN106648569B (zh) | 目标序列化实现方法和装置 | |
CN109815240B (zh) | 用于管理索引的方法、装置、设备和存储介质 | |
US11836331B2 (en) | Mathematical models of graphical user interfaces | |
CN114356968A (zh) | 查询语句生成方法、装置、计算机设备及存储介质 | |
US10503743B2 (en) | Integrating search with application analysis | |
JP6870454B2 (ja) | 分析装置、分析プログラム及び分析方法 | |
US9286349B2 (en) | Dynamic search system | |
US11580251B1 (en) | Query-based database redaction | |
KR20100080345A (ko) | 최소 개의 입력들로 액티비티를 수행하는 바람직한 명령 시퀀스를 최종 사용자에게 프롬프팅하기 위한 시스템 및 방법 | |
JP5184987B2 (ja) | 索引情報作成装置、索引情報作成方法及びプログラム | |
CN112202822B (zh) | 数据库注入检测方法、装置、电子设备及存储介质 | |
JP7293544B2 (ja) | 質問回答システムの更新処理方法及び装置 | |
CN117312124A (zh) | 一种测试用例的获取方法以及相关装置 | |
CN116483735A (zh) | 一种代码变更的影响分析方法、装置、存储介质及设备 | |
CN117390023A (zh) | 数据合计方法、数据合计装置、设备及存储介质 | |
JP2019139577A (ja) | データ検索方法、データ検索装置及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200115 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20201125 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20201208 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210115 |
|
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: 20210316 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210329 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6870454 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |