JP6870454B2 - 分析装置、分析プログラム及び分析方法 - Google Patents
分析装置、分析プログラム及び分析方法 Download PDFInfo
- Publication number
- JP6870454B2 JP6870454B2 JP2017082343A JP2017082343A JP6870454B2 JP 6870454 B2 JP6870454 B2 JP 6870454B2 JP 2017082343 A JP2017082343 A JP 2017082343A JP 2017082343 A JP2017082343 A JP 2017082343A JP 6870454 B2 JP6870454 B2 JP 6870454B2
- Authority
- JP
- Japan
- Prior art keywords
- sql
- processing
- log information
- executed
- business
- 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.)
- Active
Links
Images
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 JP2018181121A (ja) | 2018-11-15 |
JP6870454B2 true 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) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022254487A1 (ja) * | 2021-05-31 | 2022-12-08 | 富士通株式会社 | 情報処理プログラム、情報処理方法および情報処理装置 |
Family Cites Families (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 | データベースアクセス装置及び方法 |
JP4786568B2 (ja) * | 2007-02-27 | 2011-10-05 | 日本電信電話株式会社 | 情報処理装置、通信制御処理関数追加方法、及び、通信制御処理関数追加プログラム |
JP2012203726A (ja) * | 2011-03-25 | 2012-10-22 | Hitachi Ltd | コンピュータプログラムの分析方法及び分析装置 |
JP6191440B2 (ja) * | 2013-12-18 | 2017-09-06 | 富士通株式会社 | スクリプト管理プログラム、スクリプト管理装置及びスクリプト管理方法 |
-
2017
- 2017-04-18 JP JP2017082343A patent/JP6870454B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2018181121A (ja) | 2018-11-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230126005A1 (en) | Consistent filtering of machine learning data | |
US20200050968A1 (en) | Interactive interfaces for machine learning model evaluations | |
CN110472068B (zh) | 基于异构分布式知识图谱的大数据处理方法、设备及介质 | |
US11100420B2 (en) | Input processing for machine learning | |
Robbes et al. | How program history can improve code completion | |
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 | |
WO2019085474A1 (zh) | 计算引擎实现方法、电子装置及存储介质 | |
US9135591B1 (en) | Analysis and assessment of software library projects | |
US20120143893A1 (en) | Pattern Matching Framework for Log Analysis | |
CN110795455A (zh) | 依赖关系解析方法、电子装置、计算机设备及可读存储介质 | |
CN111258966A (zh) | 一种数据去重方法、装置、设备及存储介质 | |
US11698918B2 (en) | System and method for content-based data visualization using a universal knowledge graph | |
WO2018097846A1 (en) | Edge store designs for graph databases | |
CN115061721A (zh) | 一种报表生成方法、装置、计算机设备及存储介质 | |
CN106648569B (zh) | 目标序列化实现方法和装置 | |
US11841836B2 (en) | Target environment data seeding | |
US11010287B1 (en) | Field property extraction and field value validation using a validated dataset | |
US9898467B1 (en) | System for data normalization | |
CN114356968A (zh) | 查询语句生成方法、装置、计算机设备及存储介质 | |
US10503743B2 (en) | Integrating search with application analysis | |
CN113268470A (zh) | 一种高效的数据库回滚方案验证方法 | |
JP6870454B2 (ja) | 分析装置、分析プログラム及び分析方法 | |
US9286349B2 (en) | Dynamic search system | |
US11580251B1 (en) | Query-based database redaction | |
KR20110094804A (ko) | 소프트웨어 재사용을 지원하기 위한 시맨틱 태깅 서버와 그 방법 |
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 | Written amendment |
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 |