JP6481387B2 - 関連情報提供方法、関連情報提供装置及び関連情報提供プログラム - Google Patents

関連情報提供方法、関連情報提供装置及び関連情報提供プログラム Download PDF

Info

Publication number
JP6481387B2
JP6481387B2 JP2015016599A JP2015016599A JP6481387B2 JP 6481387 B2 JP6481387 B2 JP 6481387B2 JP 2015016599 A JP2015016599 A JP 2015016599A JP 2015016599 A JP2015016599 A JP 2015016599A JP 6481387 B2 JP6481387 B2 JP 6481387B2
Authority
JP
Japan
Prior art keywords
information
difference
application
update
difference information
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
Application number
JP2015016599A
Other languages
English (en)
Other versions
JP2016143134A (ja
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 JP2015016599A priority Critical patent/JP6481387B2/ja
Priority to US14/990,427 priority patent/US10146823B2/en
Publication of JP2016143134A publication Critical patent/JP2016143134A/ja
Application granted granted Critical
Publication of JP6481387B2 publication Critical patent/JP6481387B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2358Change logging, detection, and notification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Description

本発明は、関連情報提供方法、関連情報提供装置及び関連情報提供プログラムに関する。
利用者に対してサービスを提供する事業者(以下、単に事業者とも呼ぶ)は、例えば、サービスの提供を実現するために業務システムを構築する。そして、事業者は、業務システムの機能追加等を実現するために、必要に応じて、業務システムで動作しているアプリケーションのアップデート(以下、アプリケーションの更新とも呼ぶ)を行う。アプリケーションのアップデートは、例えば、アプリケーションの開発者(以下、単に開発者とも呼ぶ)が更新したアプリケーション(以下、更新後アプリケーションとも呼ぶ)を、業務システムにリリースすることにより行われる。
上記のようにアプリケーションの開発を行う場合、開発者は、例えば、アプリケーションの検証テストを自動的に行うツール等を活用する。これにより、開発者は、例えば、アプリケーションの開発を効率化し、アプリケーションのリリース頻度を高くすることが可能になる(例えば、特許文献1及び2参照)。
特開2008−021111号公報 特開2011−248658号公報
更新後アプリケーションのリリースは、業務システムに関連付けられた運用作業(例えば、データのバックアップや動作監視等)に影響を及ぼす場合がある。そのため、業務システムの運用者(以下、単に運用者とも呼ぶ)は、更新後アプリケーションのリリースが行われる場合、業務システムに対して行うべき運用作業の内容の見直しを行う必要がある。
しかしながら、例えば、アプリケーションの開発者と運用者とが異なる場合、運用者は、更新後アプリケーションの詳細な変更情報を把握することが困難である。そのため、運用者は、更新後アプリケーションのリリースに伴って、変更すべき運用作業を特定することが困難である場合がある。
そこで、一つの実施の形態の目的は、アプリケーションのリリースに伴って変更すべき運用作業に関する情報を提供できる関連情報提供方法、関連情報提供装置及び関連情報提供プログラムを提供することにある。
実施の形態の一つの側面によれば、アプリケーションの更新に応じて、更新前の前記アプリケーションに関する情報と更新後の前記アプリケーションに関する情報との差分である第1差分情報と、前記更新に伴って変更すべきアプリケーションの運用に関する変更情報とを対応付けて記憶部に記憶し、
第1アプリケーションの更新に応じて、前記第1差分情報から、更新前の前記第1アプリケーションに関する情報と更新後の前記第1アプリケーションに関する情報との差分である第1差分情報と所定の類似関係にある差分情報を抽出し、
抽出した前記差分情報に対応する前記変更情報を出力する。
一つの側面によれば、アプリケーションのリリースに伴って変更すべき運用作業に関する情報を提供できる。
情報処理システムの全体構成を示す図である。 アプリケーションのリリースに伴う運用作業の変更を説明する図である。 第1の実施の形態における関連情報提供処理の概略を説明する図である。 関連情報提供装置のハードウエア構成を示す図である。 図4の物理マシンの機能ブロック図である。 第1の実施の形態における関連情報提供処理の概略を説明するフローチャート図である。 第1の実施の形態における関連情報提供処理の詳細を説明するフローチャート図である。 第1の実施の形態における関連情報提供処理の詳細を説明するフローチャート図である。 第1の実施の形態における関連情報提供処理の詳細を説明するフローチャート図である。 第1の実施の形態における関連情報提供処理の詳細を説明する図である。 第1の実施の形態における関連情報提供処理の詳細を説明する図である。 第1の実施の形態における関連情報提供処理の詳細を説明する図である。 第1の実施の形態における関連情報提供処理の詳細を説明する図である。 第1の実施の形態における関連情報提供処理の詳細を説明する図である。 第1の実施の形態における関連情報提供処理の詳細を説明する図である。 第1の実施の形態における関連情報提供処理の詳細を説明する図である。 第1の実施の形態における関連情報提供処理の詳細を説明する図である。 第1の実施の形態における関連情報提供処理の詳細を説明する図である。 第1の実施の形態における関連情報提供処理の詳細を説明する図である。 第1の実施の形態における関連情報提供処理の詳細を説明する図である。 第1の実施の形態における関連情報提供処理の詳細を説明する図である。 第1の実施の形態における関連情報提供処理の詳細を説明する図である。 第1の実施の形態における関連情報提供処理の詳細を説明する図である。 第1の実施の形態における関連情報提供処理の詳細を説明する図である。 第1の実施の形態における関連情報提供処理の詳細を説明する図である。 第1の実施の形態における関連情報提供処理の詳細を説明する図である。 第1の実施の形態における影響度決定処理を説明するフローチャート図である。 第1の実施の形態における影響度決定処理を説明する図である。 第1の実施の形態における影響度決定処理を説明する図である。 第1の実施の形態における影響度決定処理を説明する図である。
[情報処理システムの構成]
図1は、情報処理システムの全体構成を示す図である。図1に示す情報処理システム10は、例えば、開発者がアプリケーションの開発等の作業を行うための開発者端末11と、開発者が作業を行う際に利用する開発環境として機能する物理マシン12とを有する。また、図1に示す情報処理システム10は、利用者に対してサービスを提供する本番環境として機能する物理マシン13と、開発者が作成したソースコードやドキュメントを記憶する記憶部14とを有する。さらに、図1に示す情報処理システム10は、物理マシン13に対するアプリケーションのリリース管理を行う物理マシン15を有する。
記憶部14は、例えば、開発者が作成したソースコード、アプリケーション、ドキュメント等をバージョン毎に管理しながら記憶する。また、記憶部14は、例えば、開発環境を構築するために必要な設定情報を記憶する。
物理マシン15は、例えば、開発者(事業者)が定めたスケジュールに基づいて、記憶部14に記憶されたアプリケーションのリリースを自動で行う。また、物理マシン15は、例えば、過去に行われたアプリケーションのリリースに関する情報(リリース日時やアプリケーションのバージョン等)を管理する。
さらに、物理マシン15は、例えば、開発者が作成したアプリケーションのテストを行うためのテスト環境として機能する。そして、物理マシン15は、例えば、記憶部14に記憶されたアプリケーションのテストを自動で行い、そのテスト結果(例えば、エラーを出力した旨の情報)を開発者端末11に送信する。これにより、物理マシン15は、開発者の作業負担を軽減させることが可能になる。なお、事業者は、物理マシン15と異なる物理マシンを設け、その物理マシンをアプリケーションのテストを行うためのテスト環境として機能させるものであってもよい。
[リリースに伴う運用作業の変更]
図2は、アプリケーションのリリースに伴う運用作業の変更を説明する図である。図2の例における情報処理システム10は、運用者が作業を行うための運用者端末16を有する。
運用者端末16は、例えば、運用者が本番環境(物理マシン13)の監視やデータのバックアップ等の運用作業を行うためのものである。
図2に示す情報処理システム10において、物理マシン15が更新後アプリケーションのリリースを行う場合、その更新後アプリケーションのリリースは、業務システムに関連付けられた運用作業に影響を及ぼす場合がある。そのため、業務システムの運用者は、更新後アプリケーションのリリースが行われる場合、業務システムに対して行う運用作業の内容を見直す必要がある。
しかしながら、アプリケーションの開発者と運用者とが異なる場合、運用者は、開発者によって作成された更新後アプリケーションの詳細な変更情報を把握することが困難である。すなわち、運用者は、更新後アプリケーションのリリースに伴って、変更すべき運用作業を特定することが困難である場合がある。
そのため、更新後アプリケーションのリリースが行われた場合、運用者は、例えば、リリースによって影響が及ぶ可能性がある範囲の全てに対して、運用作業の見直しを行う必要がある。したがって、更新後アプリケーションのリリースの実行によって、運用者の作業負担が増加する場合がある。
そこで、本実施の形態における情報処理システム10は、図3に示すように、アプリケーションのリリースに伴って変更すべき運用に関する情報を提供する処理(以下、関連情報提供処理とも呼ぶ)を行う関連情報提供装置1(以下、単に物理マシン1とも呼ぶ)を有する。
図3は、第1の実施の形態における関連情報提供処理の概略を説明する図である。図3に示す関連情報提供装置1は、例えば、本番環境へのアプリケーションのリリースの実行に応じて、更新前後のアプリケーションの差分情報を取得する。そして、関連情報提供装置1は、例えば、差分情報と、アプリケーションの更新に伴って変更された運用に関する変更情報(以下、単に変更情報とも呼ぶ)とを対応させて記憶部2に記憶する。
その後、関連情報提供装置1は、新たなアプリケーション(以下、第1アプリケーションとも呼ぶ)のリリースの実行に応じて、更新前後の第1アプリケーションの差分情報(以下、第1差分情報とも呼ぶ)を取得する。そして、関連情報提供装置1は、記憶部2に記憶された差分情報から、第1差分情報と所定の類似関係を有する差分情報に対応する変更情報を抽出して出力する。
これにより、関連情報提供装置1は、過去に蓄積したアプリケーションのリリースに関する情報に基づき、新たなアプリケーションのリリースに伴う変更情報を提供することが可能になる。
[関連情報提供装置のハードウエア構成]
次に、関連情報提供装置1のハードウエア構成について説明する。図4は、関連情報提供装置のハードウエア構成を示す図である。物理マシン1は、プロセッサであるCPU101と、メモリ102と、物理マシン13等とアクセスするための外部インターフェース(I/Oユニット)103と、記憶媒体104とを有する。各部は、バス105を介して互いに接続される。
記憶媒体104は、例えば、記憶媒体104内のプログラム格納領域(図示しない)に、関連情報提供処理を行うためのプログラム110(以下、関連情報提供プログラムとも呼ぶ)を記憶する。CPU101は、図4に示すように、プログラム110の実行時に、プログラム110を記憶媒体104からメモリ102にロードし、プログラム110と協働して関連情報提供処理を行う。また、記憶媒体104は、例えば、関連情報提供処理を行う際に用いられる情報を記憶する情報格納領域130(以下、記憶部130とも呼ぶ)を有する。なお、情報格納領域130は、例えば、図3における記憶部2に対応する。
[物理マシンの機能]
図5は、図4の物理マシンの機能ブロック図である。物理マシン1のCPU101は、プログラム110と協働することにより、例えば、情報取得部111と、情報管理部112と、差分抽出部113と、類似度算出部114と、運用情報作成部115と、運用情報出力部116と、影響度決定部117として動作する。また、情報格納領域130には、例えば、差分情報131と、変更情報132と、管理情報133と、閾値情報134と、影響度情報135とが記憶されている。なお、以下、情報取得部111、情報管理部112、差分抽出部113、類似度算出部114、運用情報作成部115、運用情報出力部116及び影響度決定部117をまとめて単に処理部とも呼ぶ。
情報取得部111は、例えば、アプリケーションの更新(アプリケーションのリリース)に応じて、更新前のアプリケーションに関する情報と更新後のアプリケーションに関する情報とを取得する。
アプリケーションに関する情報は、例えば、アプリケーションのソースコードを含む複数の情報(以下、比較用情報とも呼ぶ)からなるものである。具体的に、アプリケーションの比較用情報は、例えば、アプリケーションの各種テストを行う際に実行するテストコードやアプリケーションの機能等が記載されたドキュメントを含む。また、アプリケーションの比較用情報は、例えば、本番環境(物理マシン13)のハードウエアの構成情報、本番環境で動作しているアプリケーションの構成情報、及び運用者が運用作業を行うために実行するスクリプトに関する情報を含むものであってよい。すなわち、情報取得部111は、アプリケーションのリリースが行われた場合に、これに伴って更新される可能性がある情報を比較用情報として取得する。
情報取得部111は、アプリケーションの更新が行われた際に、例えば、図1で説明した物理マシン13(本番環境)や記憶部14にアクセスし、ソースコードやドキュメント等を取得するものであってよい。
情報管理部112は、例えば、情報取得部111がアプリケーションの比較用情報を取得した場合、管理情報133を作成する。管理情報133は、例えば、比較用情報毎に、情報の更新日時や格納場所等の情報を管理する情報である。すなわち、アプリケーションの比較用情報に、ソースコード、テストデータ及びドキュメントが含まれる場合、情報管理部112は、ソースコードの管理情報133、テストデータの管理情報133及びドキュメントの管理情報133のそれぞれを作成する。
また、情報管理部112は、情報取得部111がアプリケーションの比較用情報を取得した場合、過去の管理情報133を更新することなく、新たな管理情報133を作成する。これにより、情報管理部112は、管理情報133をアプリケーションの世代別に管理することが可能になる。管理情報133の具体例については後述する。
差分抽出部113は、例えば、情報取得部111が取得した更新前のアプリケーションの比較用情報と、更新後のアプリケーションの比較用情報との差分である差分情報131を作成する。差分情報131は、例えば、アプリケーションの更新が行われた際に、アプリケーションの比較用情報のそれぞれが変更されたか否かの情報(以下、比較結果情報とも呼ぶ)である。
具体的に、差分抽出部113は、例えば、更新前のアプリケーションに対応する管理情報133と、更新後のアプリケーションに対応する管理情報133とを参照する。そして、差分抽出部113は、例えば、アプリケーションの比較用情報のうち、アプリケーションの更新に伴って変更されている情報を特定する。すなわち、差分抽出部113は、この場合、比較用情報自体を参照することなく、比較用情報のそれぞれが変更されたか否かを判定することが可能になる。その後、差分抽出部113は、例えば、アプリケーションの更新に伴って変更された情報であると特定した情報の内容を参照し、差分情報131を作成する。差分情報131の具体例については後述する。
差分抽出部113が差分情報131を作成した後、情報管理部112は、例えば、作成した差分情報131と、アプリケーションの更新に伴って変更された運用作業に関する情報である変更情報132とを対応付けて情報格納領域130に記憶する。変更情報132は、例えば、アプリケーションの更新があった際に、運用者が決定して関連情報提供装置1に入力した情報であってよい。すなわち、情報管理部112は、アプリケーションのリリースが行われる毎に、リリース時における差分情報131と、そのリリースに伴って変更された運用に関する変更情報132とを対応させて情報格納領域130に蓄積して記憶する。変更情報132の具体例については後述する。
情報管理部112が差分情報131と変更情報132とを対応付けて情報格納領域130に記憶した後において、新たなアプリケーション(第1アプリケーション)の更新が行われる場合、情報取得部111は、第1アプリケーションの比較用情報を取得する。具体的に、情報取得部111は、例えば、更新前の第1アプリケーションの比較用情報と、更新後の第1アプリケーションの比較用情報とを取得する。
そして、差分抽出部113は、更新前の第1アプリケーションの比較用情報と、更新後の第1アプリケーションの比較用情報との差分に関する情報である第1差分情報を作成する。
類似度算出部114は、例えば、差分抽出部113が取得した第1差分情報と、差分情報131に含まれる各差分情報との類似度を算出する。類似度は、例えば、第1差分情報の比較結果情報のうち、差分情報131に含まれる差分情報の比較結果情報と内容が一致する情報の割合である。類似度を算出する際の具体例については後述する。
そして、類似度算出部114は、算出した類似度に基づき、差分抽出部113が取得した第1差分情報と、差分情報131に含まれる各差分情報とが所定の類似関係にあるか否かを判定する。所定の類似関係は、例えば、第1差分情報と、差分情報131に含まれる差分情報との類似度が閾値情報134以上である関係である。閾値情報134は、例えば、運用者が予め情報格納領域130に記憶するものであってよい。
なお、類似度算出部114は、例えば、影響度情報135を用いて類似度を算出するものであってよい。影響度情報135は、運用者が予め決定して情報格納領域130に記憶した情報であってよい。影響度情報135の具体例については後述する。
運用情報作成部115は、例えば、類似度算出部114が差分情報131から抽出した差分情報に基づき、運用者に提示するための出力情報を作成する。出力情報の具体例については後述する。そして、運用情報出力部116は、例えば、運用情報作成部115が作成した出力情報を出力する。具体的に、運用情報出力部116は、例えば、運用者端末16に出力情報を出力するものであってよい。
影響度決定部117は、例えば、情報格納領域130に記憶された差分情報131が更新された場合に、影響度情報135を再算出する。影響度情報135の再算出の具体例については後述する。
[第1の実施の形態]
次に、第1の実施の形態について説明する。図6は、第1の実施の形態における関連情報提供処理の概略を説明するフローチャート図である。適宜、図3を参照しながら図6の関連情報提供処理の概略の説明を行う。
関連情報提供装置1は、図6の左側のフローチャートに示すように、例えば、アプリケーションが更新されるまで待機する(S1のNO)。具体的に、関連情報提供装置1は、例えば、アプリケーションの更新が行われた旨の情報を物理マシン13から受信したときに、物理マシン13においてアプリケーションの更新が行われたものと判定するものであってよい。
そして、アプリケーションが更新されたことを検知した場合(S1のYES)、関連情報提供装置1は、例えば、更新前のアプリケーションに関する情報と、更新後のアプリケーションに関する情報との差分に関する情報である差分情報131を作成する(S2)。具体的に、関連情報提供装置1は、物理マシン13及び記憶部14にアクセスすることにより、必要な情報を取得して差分情報131を作成するものであってよい。
また、関連情報提供装置1は、例えば、運用者が、更新後のアプリケーションのリリースに伴って決定した変更情報132を取得する(S2)。具体的に、変更情報132は、運用者によって入力されるものであってよい。
そして、関連情報提供装置1は、例えば、取得した差分情報131と、変更情報132とを対応付けて情報格納領域130に記憶する(S2)。すなわち、関連情報提供装置1は、アプリケーションのリリースがある毎に、差分情報131と変更情報132とを対応付けて情報格納領域130に蓄積する。
その後、関連情報提供装置1は、図6の右側のフローチャートに示すように、例えば、新たなアプリケーション(第1アプリケーション)が更新されるまで待機する(S11のNO)。そして、第1アプリケーションの更新が行われた場合(S11のYES)、関連情報提供装置1は、例えば、差分情報131から、第1差分情報と所定の類似関係にある差分情報を抽出する(S12)。所定の類似関係の具体例については後述する。
すなわち、運用者によって行われる運用作業は、ソースコードやハードウエアの構成情報等の内容に基づいて決定される。そのため、アプリケーションのリリースが行われた場合、変更された情報を特定することにより、運用作業に及ぶ影響範囲を推測することが可能になる。
具体的に、例えば、アプリケーションの更新に伴ってソースコードの変更が行われた場合、利用者に提供可能なサービスの内容(利用者に提供可能な機能)が変更される。そのため、関連情報提供装置1は、ソースコードの変更が行われた場合、運用者によって行われる運用テストの項目を変更する必要があると推測することが可能になる。
また、例えば、アプリケーションの更新に伴ってハードウエアの構成情報が変更された場合、物理マシン13におけるハードウエアの構成が変更されていることになる。そのため、関連情報提供装置1は、ハードウエアの構成情報が変更された場合、ハードウエアの監視項目を変更する必要があると推測することが可能になる。
したがって、本実施の形態における関連情報提供装置1は、アプリケーションの更新が行われる場合に、差分情報131と変更情報132とを対応付けた情報を情報格納領域130に蓄積する。そして、関連情報提供装置1は、新たなアプリケーションのリリースが行われた場合、蓄積した差分情報131に、新たなアプリケーションのリリースに対応する第1差分情報と所定の類似関係にある差分情報が存在するか否かを判定する。さらに、所定の類似関係にある差分情報が存在した場合、関連情報提供装置1は、存在した差分情報と対応付けて情報格納領域130に記憶されている変更情報132を抽出する。
これにより、関連情報提供装置1は、新たなアプリケーションのリリースが行われる際に、過去に蓄積した差分情報131及び変更情報132から、変更すべきと推測される運用作業に関する情報を取得することが可能になる。そのため、運用者は、新たなアプリケーションのリリースが行われる際に、リリースに伴って影響が生じる可能性がある全ての範囲の運用作業を見直す必要がなくなり、作業負担の増加が抑制される。
そして、その後、関連情報提供装置1は、例えば、S12で抽出した差分情報に対応する変更情報132を出力する(S13)。
このように、第1の実施の形態によれば、関連情報提供装置1は、アプリケーションの更新に応じて、更新前のアプリケーションに関する情報と更新後のアプリケーションに関する情報との差分である差分情報131を取得する。そして、関連情報提供装置1は、差分情報131と、アプリケーションの更新に伴って変更すべきアプリケーションの運用に関する変更情報132とを対応付けて記憶部130に記憶する。
また、関連情報提供装置1は、第1アプリケーションの更新情報の取得に応じて、更新前の第1アプリケーションに関する情報と更新後の第1アプリケーションに関する情報との差分である第1差分情報を取得する。そして、関連情報提供装置1は、差分情報131から、第1差分情報と所定の類似関係にある差分情報を抽出する。その後、関連情報提供装置1は、抽出した差分情報に対応する変更情報132を出力する。これにより、関連情報提供装置1は、新たなアプリケーションのリリースに伴う変更情報を提供することが可能になる。
[第1の実施の形態の詳細]
次に、第1の実施の形態の詳細について説明する。図7及び図8は、第1の実施の形態における関連情報提供処理の詳細を説明するフローチャート図である。また、図9から図30は、第1の実施の形態における関連情報提供処理の詳細を説明する図である。図9から図30を参照しながら、図7及び図8の関連情報提供処理の詳細を説明する。以下、比較用情報は、ソースコード、テストコード、テストデータ、ドキュメント及びDB(Data Base)からなるものとして説明を行う。なお、図7及び図8では、図6における右側のフローチャートの処理の詳細を説明する。
初めに、関連情報提供装置1の情報取得部111は、例えば、第1アプリケーション(以下、単にアプリケーションとも呼ぶ)が更新されるまで待機する(S21のNO)。そして、アプリケーションが更新された場合(S21のYES)、関連情報提供装置1は、例えば、更新前のアプリケーションの比較用情報と、更新後のアプリケーションの比較用情報とを取得する(S22)。以下、アプリケーションのソースコード等の具体例を説明する。
図9は、第1の実施の形態におけるソースコード及びドキュメントの具体例を説明する図である。図9(A)は、アプリケーションのソースコードの具体例である。また、図9(B)は、アプリケーションに対応するドキュメントの具体例である。
情報取得部111は、アプリケーションが更新されたことを検知した場合、例えば、記憶部14にアクセスし、図9(A)に示すソースコードを取得する。さらに、情報取得部111は、アプリケーションが更新されたことを検知した場合、例えば、物理マシン13にアクセスし、図9(B)に示すドキュメントを取得する。
図7に戻り、関連情報提供装置1の情報管理部112は、例えば、管理情報133の作成を行う(S23)。
具体的に、情報管理部112は、アプリケーションの更新を行われた場合に、更新されたアプリケーションに対応する過去の管理情報133を削除することなく、更新されたアプリケーションに対応する新たな管理情報133を作成する。これにより、情報管理部112は、管理情報133を世代別に管理することが可能になる。そのため、差分抽出部113は、アプリケーションの更新が行われた場合に、ソースコードやドキュメント等に含まれる情報自体を参照することなく、各情報が更新されたか否かを判定することが可能になる。以下、管理情報133の具体例を説明する。
図10は、第1の実施の形態における管理情報133の具体例を説明する図である。図10では、アプリケーションのソースコードに対応する管理情報133の具体例について説明する。
図10に示す管理情報133は、例えば、各ソースコードを識別する「ID」と、ソースコードのファイルの名称である「ファイル名」と、ソースコードのファイルの格納場所を示す「ファイルパス」と、ソースコードが更新された日時を示す「更新日時」とを有する。
具体的に、図10に示す管理情報133において、「ID」が「97893」である情報には、「ファイル名」として、「User.java」が設定され、「ファイルパス」として「/util/mng/」が設定されている。また、図10に示す管理情報において、「ID」が「97893」である情報には、「更新日時」として、「2014/09/29 10:30:12」が設定されている。図10の他の情報については説明を省略する。
図7に戻り、関連情報提供装置1の差分抽出部113は、例えば、更新前のアプリケーションの比較用情報と更新後のアプリケーションの比較用情報とを比較し、第1差分情報を取得する(S24)。
具体的に、差分抽出部113は、例えば、第1アプリケーションの更新前の管理情報133と、第1アプリケーションの更新後の管理情報133とを取得する。そして、差分抽出部113は、更新前後で内容が異なる管理情報133に対応する情報を、アプリケーションの更新に伴って更新された情報であると判定する。さらに、差分抽出部113は、例えば、第1アプリケーションの更新に伴って変更された情報であると特定した情報を参照し、第1差分情報を作成する。以下、アプリケーションの更新に伴って、各情報が変更されたか否かを判定する際の具体例を説明する。
図11は、図10に示す状態の後、アプリケーションの更新が行われた場合の管理情報133の具体例を説明する図である。
図11に示す管理情報133は、図10に示す管理情報133と比較して、「ファイル名」が「Log.java」である情報の「更新日時」のみが異なっている。具体的に、「ファイル名」が「Log.java」である情報の「更新日時」には、「2014/09/30 15:24:51」に設定されている(図11の下線部分)。
すなわち、図10及び図11に示す例において、差分抽出部113は、アプリケーションの更新に伴って、「ファイル名」が「Log.java」であるソースコードが変更されたものと判定することが可能になる。これにより、差分抽出部113は、アプリケーションの更新が行われた際に、ソースコードに含まれる情報を参照することなく、ソースコードが変更されたか否かを判定することが可能になり、処理負担を軽減することが可能になる。
次に、差分抽出部113は、アプリケーションの更新に伴って変更されたものと判定した情報について、その変更内容を抽出して第1差分情報を作成する。差分抽出部113は、例えば、アプリケーションの更新に伴う情報の変更内容を、情報が追加されたことを示すADD、情報が削除されたことを示すDELETE、及び情報が更新されたことを示すUPDATEに分類する。なお、アプリケーションの更新に伴って、情報の追加と更新の両方が行われた場合、差分抽出部113は、例えば、情報の追加と情報の更新のうち、変更量が多い方の分類を採用ものであってよい。以下、差分抽出部113が第1差分情報を作成する際の具体例を説明する。
[第1差分情報の具体例(1)]
図12は、アプリケーションの更新に伴って変更された情報に関する具体例を説明する図である。図12に示す例では、差分抽出部113が管理情報133を参照した結果、ソースコード、テストコード及びドキュメントの変更が行われたと判定した場合を説明する。
図12に示す例において、差分抽出部113は、更新後のソースコードと更新前のソースコードとを比較して、新たな関数である「getUserList」の記述が追加されたと判定する。また、差分抽出部113は、更新後のテストコードと更新前のテストコードとを比較して、新たな関数である「getUserListTest」に対応する記述が追加されたと判定する。さらに、差分抽出部113は、更新後のドキュメントと更新前のドキュメントとを比較して、新たな関数である「getUserList」の機能に関する説明が追加されたと判定する。
次に、図13は、図12に示す例に対応する第1差分情報の具体例である。図13に示す第1差分情報は、アプリケーションに関する情報である「ソースコード」、「テストコード」、「テストデータ」、「ドキュメント」及び「DB」を項目として有する。
差分抽出部113は、図13に示すように、第1アプリケーションの更新に伴って情報が追加された「ソースコード」、「テストコード」及び「ドキュメント」に、情報が追加されたことを示す「ADD」を設定する。また、差分抽出部113は、図13に示すように、第1アプリケーションの更新に伴って変更されていない「テストデータ」及び「DB」をブランクにする。これにより、差分抽出部113は、第1差分情報を作成することが可能になる。
[第1差分情報の具体例(2)]
図14は、第1アプリケーションの更新に伴って変更された情報に関する別の具体例を説明する図である。図14に示す例では、差分抽出部113が管理情報133を参照した結果、ソースコード、テストコード、テストデータ、ドキュメント及びDBの変更が行われたと判定した場合を説明する。
図14に示す例において、差分抽出部113は、更新後のソースコードと更新前のソースコードとを比較して、既存の関数である「addData」の記述が更新されたと判定する。また、差分抽出部113は、更新後のテストコードと更新前のテストコードとを比較して、既存の関数である「addDataTest」に対応する記述が更新されたと判定する。
また、差分抽出部113は、更新後のテストデータと更新前のテストデータとを比較して、例えば、「(1,山田太郎)」及び「(2,山田花子)」からなるテストデータが、「(1,山田太郎,男性)」及び「(2,山田花子,女性)」からなるテストデータが更新されたと判定する。また、差分抽出部113は、更新後のドキュメントと更新前のドキュメントとを比較して、DB定義に関する説明が更新されたと判定する。
さらに、差分抽出部113は、更新後のDBと更新前のDBとを比較して、例えば、DB定義である「データDB(ユーザID,ユーザ名)」が、「データDB(ユーザID,ユーザ名,性別)」に更新されたと判定する。
次に、図15は、図14に示す例に対応する第1差分情報の具体例である。差分抽出部113は、図15に示すように、第1アプリケーションの変更に伴って情報が更新された「ソースコード」、「テストコード」、「テストデータ」、「ドキュメント」及び「DB」に、情報が更新されたことを示す「UPDATE」を設定する。これにより、差分抽出部113は、第1アプリケーションの更新に伴って変更された情報である第1差分情報を作成することが可能になる。
なお、差分情報131及び第1差分情報は、アプリケーションまたは第1アプリケーションの属性を示す情報を有するものであってもよい。すなわち、第1差分情報は、図16に示すように、例えば、第1アプリケーションが動作するための基盤ソフトを示す「基盤ソフト」と、ソースコードのプログラム言語を示す「言語」とを項目として有するものであってもよい。また、第1差分情報は、図16に示すように、例えば、DBを管理するためのソフトを示す「DBソフト」を項目として有するものであってもよい。具体的に、図16に示す第1差分情報においては、「基盤ソフト」には「Apache」が設定され、「言語」には「PHP」が設定され、「DBソフト」には「MySQL」が設定されている。これにより、差分抽出部113は、アプリケーションの動作環境等の情報を含めた形で差分情報を作成することが可能になる。
図7に戻り、関連情報提供装置1の類似度算出部114は、例えば、差分情報131に含まれる各差分情報に対する第1差分情報の類似度をそれぞれ算出する(S25)。類似度は、例えば、S24で取得した第1差分情報の比較結果情報のうち、差分情報131に含まれる各差分情報の比較結果情報と内容が一致する情報の割合である。以下、S25の処理の具体例を説明する。
図17は、差分情報131の具体例を説明する図である。図17に示す差分情報131は、例えば、図16に示す第1差分情報が有する項目に加え、差分情報を識別する「ID」と、後述する変更情報132に含まれる情報に対するインデックスである「変更情報」を項目として有する。
具体的に、図17に示す差分情報131における「項番」が「1」である情報には、「基盤ソフト」に「nginX」が設定され、「言語」に「PHP」が設定され、「DBソフト」に「MySQL」が設定されている。また、図17に示す差分情報131における「項番」が「1」である情報には、「ソースコード」、「テストコード」、「テストデータ」、「ドキュメント」及び「DB」に「UPDATE」が設定され、「変更情報」に「3」が設定されている。図17の他の情報については説明を省略する。
そして、図18は、類似度を算出する際の具体例を説明する図である。図18の例では、図16に示す第1差分情報と、図17に示す差分情報131における「項番」が「2」である差分情報とを比較して類似度を算出する場合の例を説明する。
図18に示す例において、第1差分情報及び差分情報131に含まれる差分情報の「基盤ソフト」には、共に「Apache」が設定される。したがって、第1差分情報と差分情報131に含まれる差分情報とにそれぞれ設定された情報のうち、「基盤ソフト」に設定された情報が一致している(図18の「○」)。同様に、図18に示す例においては、第1差分情報と差分情報131に含まれる差分情報とにそれぞれ設定された情報のうち、「ソースコード」及び「テストコード」に設定された情報が一致している。
一方、第1差分情報と差分情報131に含まれる差分情報とにそれぞれ設定された情報のうち、「言語」、「DBソフト」、「テストデータ」、「ドキュメント」及び「DB」に設定された情報は異なっている(図18の「×」)。
そのため、類似度算出部114は、図18に示す例においては、第1差分情報の比較結果情報である8項目のうち、差分情報131に含まれる差分情報の比較結果情報と内容が一致している項目が3項目である判定する。そして、類似度算出部114は、この場合、例えば、3を8で除算した0.375を類似度として算出する。
なお、図16に示す第1差分情報と、図17に示す差分情報131における「項番」が「1」である情報との類似度を算出する場合、類似度算出部114は、8項目のうち7項目が一致していると判定する。そのため、類似度算出部114は、この場合、例えば、7を8で除算した0.875を類似度として算出する。また、図16に示す第1差分情報と、図17に示す差分情報131における「項番」が「3」である情報との類似度を算出する場合、類似度算出部114は、全ての項目が異なると判定する。そのため、類似度算出部114は、この場合、例えば、類似度として0を算出する。
図8に戻り、運用情報作成部115は、例えば、算出した類似度に閾値情報134以上のものが存在するか否かを判定する(S31)。閾値情報134は、例えば、運用者が予め情報格納領域130に記憶するものであってよい。
そして、算出した類似度に閾値情報134以上のものが存在した場合(S31のYES)、運用情報作成部115は、例えば、第1差分情報との類似度が閾値情報134以上であった差分情報131に対応する変更情報132に基づき、運用情報を作成する(S32)。運用情報は、アプリケーションの更新に伴って変更すべき運用に関する情報であり、運用者に提示するための情報である。運用情報の具体例については後述する。
具体的に、図16及び図17の例において、第1差分情報と差分情報131に含まれる各差分情報との類似度は、それぞれ0.875、0.375、0である。そのため、例えば、閾値情報134が0.5である場合、運用情報作成部115は、第1差分情報と、差分情報131における「項番」が「1」である差分情報との類似度が、閾値情報134以上であると判定する。そして、運用情報作成部115は、差分情報131における「項番」が「1」である差分情報に対応する変更情報132に基づき、運用情報を作成する。これにより、関連情報提供装置1は、運用者に信頼性の高い運用情報を提供することが可能になる。
図19は、変更情報132の具体例を説明する図である。図19に示す変更情報132は、変更情報132に含まれる各変更情報を識別し、差分情報131の「変更情報」の項目に対応する「項番」と、運用作業に関する変更情報である「運用変更情報」とを項目として有する。
具体的に、図19に示す変更情報132において、「項番」が「1」である情報の「運用変更情報」には、運用者が行うテストの項目の削除を示す「運用テスト項目削除」が設定されている。また、「項番」が「2」である情報の「運用変更情報」には、運用者が行うテストの項目の追加を示す「運用テスト項目追加」が設定されている。また、「項番」が「3」である情報の「運用変更情報」には、DBのバックアップを取得するためのスクリプトの修正を示す「DBバックアップスクリプト修正」が設定されている。また、「項番」が「4」である情報の「運用変更情報」には、設定ファイルのバックアップの追加を示す「設定ファイルバックアップ追加」が設定されている。また、「項番」が「5」である情報の「運用変更情報」には、設定ファイルのバックアップの削除を示す「設定ファイルバックアップ削除」が設定されている。さらに、「項番」が「6」、「7」及び「8」である情報の「運用変更情報」には、監視項目の追加を示す「監視項目追加」と、監視項目の削除を示す「監視項目削除」と、監視項目の更新を示す「監視項目更新」とがそれぞれ設定されている。
具体的に、図17に示す差分情報131における「項番」が「1」である情報の「変更情報」には「3」が設定されている。そして、図19に示す変更情報132において、「項番」が「3」である「運用変更情報」には、「DBバックアップスクリプト修正」が設定されている。そのため、運用情報作成部115は、この場合、アプリケーションの更新に伴って変更すべき運用作業に関する情報を、DBバックアップスクリプト修正とする運用情報を作成する。
図8に戻り、その後、運用情報出力部116は、例えば、運用情報作成部115が作成した運用情報を出力する(S33)。
一方、類似度算出部114が算出した類似度に閾値情報134以上のものが存在しない場合(S31のNO)、運用情報作成部115は、運用情報の作成を行わない。そして、この場合、運用情報出力部116は、運用情報の出力を行わない。以下、運用者に対して出力する運用情報の具体例を説明する。
図20は、出力した運用情報の具体例である。運用情報出力部116は、例えば、図20に示すように、「今回の出力内容」として、今回のアプリケーションの更新に伴う第1差分情報を出力する。具体的に、図20に示す例では、運用情報出力部116は、図16に示す第1差分情報に含まれる内容を出力している。そして、運用情報出力部116は、例えば、図20に示すように、「運用変更候補」として、S32で推測した変更情報132の内容を出力する。これにより、運用者は、アプリケーションの更新に伴って変更すべき運用に関する情報を認識することが可能になる。なお、運用情報出力部116は、例えば、図20に示すように、S25で算出した類似度をあわせて出力するものであってもよい。
図8に戻り、情報管理部112は、例えば、第1差分情報と、更新されたアプリケーションに対応する変更情報132とを対応付けて記憶部130に記憶する(S34)。すなわち、情報管理部112は、アプリケーションの更新が行われる毎に、変更情報132に関する情報を記憶部130に蓄積する。これにより、関連情報提供装置1は、再度アプリケーションの更新が行われる場合、より信頼性の高い運用情報を運用者に提供することが可能になる。
図21は、図17に示す状態の後の差分情報131の具体例を説明する図である。図21に示す差分情報131において、情報管理部112は、新たな情報(「項番」が「4」である情報、図21の下線部分)として、図20で出力した第1差分情報と同じ内容の情報を新たに設定する。そして、情報管理部112は、新たに設定した情報に対応する「変更情報」として、図20で出力した変更情報132であるDBバックアップスクリプト修正に対応する「3」を設定する。すなわち、関連情報提供装置1は、アプリケーションの更新があった場合に、その更新に伴って変更された運用作業に関する情報を差分情報131に反映させる。
次に、S25で算出した類似度が閾値情報134未満であった場合の運用情報の具体例を説明する。図22は、出力した運用情報の具体例である。
図22に示す例において、運用情報出力部116は、例えば、図20で説明した場合と同様に、「今回の出力内容」として、今回のアプリケーションの更新に伴う第1差分情報を出力する。具体的に、図22に示す例において、運用情報出力部116は、「基盤ソフト」、「言語」、「DBソフト」、「ソースコード」、「テストコード」、「テストデータ」及び「ドキュメント」がブランクであり、「DB」に「ADD」が設定された第1差分情報を出力している。
一方、運用情報出力部116は、例えば、図22に示すように、「運用変更候補」に情報を出力しない。すなわち、S25で算出した類似度が閾値情報134未満であった場合、関連情報提供装置1は、アプリケーションの更新に伴って変更すべき運用作業に関する情報を推測することができなかったということになる。そのため、この場合、運用情報出力部116は、例えば、図22に示すように、「運用変更候補」に「なし」と出力する。
そして、図23は、図17に示す状態の後の差分情報131の具体例を説明する図である。情報管理部112は、図21で説明した場合と同様に、図22で出力した第1差分情報と同じ内容の情報を差分情報131に新たに追加する。
次に、S25で算出した類似度が1.0であった場合(差分情報131に第1差分情報と内容が完全に一致する差分情報があった場合)を説明する。図24は、出力した運用情報の具体例である。
図24に示す例において、運用情報出力部116は、例えば、図20で説明した場合と同様に、「今回の出力内容」として、今回のアプリケーションの更新に伴う第1差分情報を出力する。具体的に、図22に示す例において、運用情報出力部116は、図17の差分情報131における「項番」が「1」である差分情報と同じ内容を有する第1差分情報を出力している。そして、運用情報出力部116は、例えば、図24に示すように、「運用変更候補」として、S32で推測した変更情報132の内容を出力する。
ここで、図24に出力した第1差分情報と変更情報132とを対応付けて、新たな差分情報として差分情報131に設定する場合、情報管理部112は、差分情報131に重複した情報を設定することになる。
そこで、図25に示すように、差分情報131は、各運用作業の変更が発生した回数を示す「回数」を項目として有するものであってよい。すなわち、情報管理部112は、差分情報131に新たな差分情報を設定する場合、「回数」に「1」を設定する。そして、情報管理部112は、既に差分情報131に設定されている差分情報と同じ内容の情報を設定する必要が生じた場合、既に設定されている差分情報の「回数」を1ずつ増加させる。具体的に、情報管理部112は、図24に示す運用情報を出力した場合、図25に示すように、差分情報131のうち1行目の差分情報の「回数」に「2」を設定する。これにより、情報管理部112は、重複した情報が発生させることなく、差分情報131の更新を行うことが可能になる。
[影響度情報を用いる場合のS25の処理]
次に、影響度情報135を用いて類似度を算出する場合におけるS25の処理について説明する。影響度情報135は、例えば、運用作業の内容を決定する際における比較用情報毎の影響度を示す情報である。影響度情報135は、例えば、運用者によって予め決定されるものであってよい。以下、図18を参照しながら説明を行う。
図26は、影響度情報135の具体例を説明する図である。図26に示す影響度情報135は、差分情報131に含まれる比較用情報毎の影響度情報を有している。具体的に、図26の影響度情報135において、例えば、「基盤ソフト」の影響度情報として「0.2」が設定され、「ソースコード」の影響度情報として「0.9」が設定されている。すなわち、図26に示す影響度情報135は、基盤ソフトの変更が行われた場合よりもソースコードの変更が行われた場合の方が、運用作業に与える影響が大きいことを示している。そのため、類似度算出部114は、S25の処理において影響度情報135を考慮に入れながら類似度を算出することにより、より信頼性の高い変更情報132を運用者に提供することが可能になる。図26の他の情報についての説明は省略する。
そして、類似度算出部114は、図7のS25において、影響度情報135に含まれる全ての影響度情報の総和を算出する。具体的に、図26に示す例において、類似度算出部114は、例えば、「0.2」、「0.5」、「0.3」、「0.9」、「0.8」、「0.5」、「0.3」及び「0.3」を加算した値である「3.8」を算出する。
次に、類似度算出部114は、第1差分情報の比較結果情報のうち、差分情報131に含まれる差分情報の比較結果情報と内容が一致する比較結果情報を抽出する。具体的に、図18に示す例において、類似度算出部114は、第1差分情報の比較結果情報のうち、差分情報131に含まれる差分情報の比較結果情報と内容が一致する比較結果情報として、「基盤ソフト」と、「ソースコード」と、「テストコード」とを抽出する。
続いて、類似度算出部114は、抽出した比較用情報に対応する影響度情報の総和を算出する。具体的に、図26に示す例において、類似度算出部114は、例えば、「基盤ソフト」の影響度情報である「0.2」と、「ソースコード」の影響度情報である「0.9」と、「テストコード」の影響度情報である「0.8」とを加算した値である「1.9」を算出する。
その後、類似度算出部114は、影響度情報135に含まれる全ての影響度情報の総和を、内容が一致した比較用情報に対応する影響度情報の総和を除算することにより、類似度を算出する。具体的に、図26に示す例においては、類似度算出部114は、「1.9」を「3.8」で除算した値である「0.5」を類似度として算出する。
[影響度情報を決定する処理]
次に、影響度情報135を決定する処理(以下、影響度決定処理とも呼ぶ)を説明する。図27は、影響度決定処理を説明するフローチャートである。また、図28及び図29は、影響度決定処理を説明する図である。図28及び図29を参照しながら図27の影響度決定処理を説明する。
影響度決定部117は、例えば、影響度情報決定タイミングまで待機する(S41のNO)。影響度情報決定タイミングは、例えば、図8のS34において、情報管理部112が第1差分情報と変更情報132とを対応付けて差分情報131として設定したときであってよい。これにより、影響度決定部117は、差分情報131が更新された場合に、その更新内容を反映させた影響度情報135をすぐに算出することが可能になる。そのため、関連情報提供装置1は、その後アプリケーションの更新があった場合に、前回のアプリケーションの更新の内容が反映された影響度情報135を用いて、運用者に提供する運用情報を作成することが可能になる。
そして、影響度決定タイミングになった場合(S41のYES)、影響度決定部117は、例えば、差分情報131のうち、内容が同一である変更情報132に対応する差分情報131に含まれる差分情報を抽出する(S42)。以下、S42の処理の具体例を説明する。
図28及び図29は、差分情報131の具体例を説明する図である。図28に示す差分情報131における「項番」が「1」である差分情報には、「変更情報」として「4」が設定されている。そして、「項番」が「4」、「5」及び「6」である差分情報も同様に、「変更情報」として「4」が設定されている。そのため、この場合、影響度決定部117は、例えば、図29に示すように、図28に示す差分情報131から、「項番」が「1」、「4」、「5」及び「6」である差分情報を抽出する。図28の他の情報については説明を省略する。
図27に戻り、影響度決定部117は、例えば、S42で抽出した差分情報のうち、比較用情報毎に、比較結果情報の出現確率をそれぞれ算出する(S43)。以下、S43の処理の具体例を説明する。
図29に示す抽出した差分情報において、「基盤ソフト」には、「Apache」及び「nginX」がそれぞれ2か所に設定されている。そのため、この場合、影響度決定部117は、「Apache」及び「nginX」の出現確率を、それぞれ「0.5」と算出する。これにより、類似度算出部114は、変更情報132を決定する際に、影響が小さい比較用情報の影響度情報を小さくすることが可能になる。そのため、関連情報提供装置1は、より信頼性の高い変更情報132を運用者に提供することが可能になる。
図27に戻り、影響度決定部117は、例えば、S43で算出した出現確率に基づき類似度を算出する(S44)。具体的に、影響度決定部117は、例えば、第1差分情報に含まれる比較結果情報のうち、差分情報131に含まれる比較結果情報と内容が一致する比較結果情報のそれぞれに対応する出現確率の総和を算出する。そして、影響度決定部117は、例えば、算出した出現確率の総和を、差分情報131に含まれる比較結果情報のそれぞれに対応する出現確率の総和で除算することにより、類似度を算出する。以下、S44の処理の具体例を説明する。
図30は、影響度情報の具体例を説明する図である。図30に示す影響度情報135は、差分情報131のうち、「変更情報」が「4」である差分情報(設定ファイルバックアップ追加に対応する差分情報)に対応する影響度情報である。図30に示す影響度情報135においては、「基盤ソフト」等の比較用情報と、比較結果情報及び影響度情報とが対応して設定されている。なお、図30に示す影響度情報135は、変更情報132に設定された情報毎に存在するものであってよい。
具体的に、影響度決定部117は、図30に示すように、「基盤ソフト」についての情報として、「Apache」とその影響度情報である「0.5」とを対応させて設定する。また、影響度決定部117は、図30に示すように、「基盤ソフト」についての情報として、「nginX」とその影響度情報である「0.5」とを対応させて設定する。図30の他の情報については説明を省略する。以下、図16の第1差分情報と、図28の差分情報131における「項番」が「1」である差分情報とについて、図30に示す影響度情報135を用いて類似度を算出する場合の具体例を説明する。
図16に示す第1差分情報には、「基盤ソフト」として「Apache」が設定され、「言語」として「PHP」が設定され、「DBソフト」として「MySQL」が設定され、「ソースコード」として「UPDATE」が設定されている。また、この第1差分情報には、「テストコード」として「UPDATE」が設定され、「テストデータ」として「UPDATE」が設定され、「ドキュメント」として「UPDATE」が設定され、「DB」として「UPDATE」が設定されている。
一方、図28の差分情報131における「項番」が「1」である差分情報には、「基盤ソフト」として「Apache」が設定され、「言語」として「Ruby」が設定され、「ソースコード」として「UPDATE」が設定されている。また、この第1差分情報には、「テストコード」として「UPDATE」が設定され、「テストデータ」として「ADD」が設定され、「ドキュメント」として「ADD」が設定されている。また、「DBソフト」及び「DB」はブランクである。
次に、類似度算出部114は、変更情報132における設定ファイルバックアップ追加に対応する影響度情報135を取得する。すなわち、類似度算出部114は、図30に示す影響度情報135を取得する。
そして、類似度算出部114は、図16に示す第1差分情報の比較用情報に対応する影響度情報を抽出する。具体的に、類似度算出部114は、図16に示す第1差分情報において、「基盤ソフト」に対応する比較結果情報が「Apache」である。そのため、類似度算出部114は、図30に示す影響度情報135から、「基盤ソフト」に対応する影響度情報として「0.5」を抽出する。同様に、類似度算出部114は、「言語」、「DBソフト」、「ソースコード」、「テストコード」、「テストデータ」、「ドキュメント」及び「DB」に対応する影響度情報として、それぞれ「0.25」、「0.25」、「1」、「1」、「0.25」、「0.25」及び「0.25」を抽出する。
続いて、類似度算出部114は、抽出した影響度情報の総和を算出する。具体的に、類似度算出部114は、図16に示す第1差分情報においては、「3.75」を算出する。
次に、類似度算出部114は、第1差分情報の比較結果情報と、差分情報131に含まれる差分情報の比較結果情報とで内容が一致する比較用情報に対応する影響度情報を抽出する。具体的に、類似度算出部114は、図28の差分情報131における「項番」が「1」である差分情報の比較結果情報と、図16の第1差分情報の比較結果情報とで内容が一致する比較用情報として、「基盤ソフト」、「ソースコード」及び「テストコード」を特定する。そして、類似度算出部114は、「基盤ソフト」、「ソースコード」及び「テストコード」の影響度情報である「0.5」、「1」及び「1」の総和である「2.5」を算出する。
そして、類似度算出部114は、「基盤ソフト」、「ソースコード」及び「テストコード」の影響度情報の総和である「2.5」を、第1差分情報の全ての比較用情報に対応する影響度情報の総和である「3.75」で除算した「0.67(有効数字2桁)」を類似度として算出する(図7のS25)。
図27に戻り、影響度決定部117は、例えば、差分情報131に含まれる全ての差分情報について類似度を算出したか否かを判定する(S45)。そして、全ての類似度の算出が完了した場合(S45のYES)、次の影響度情報決定タイミングまで待機する(S41)。一方、全ての類似度の算出が完了していない場合(S45のNO)、再度、S42以降の処理を行う。
このように、第1の実施の形態によれば、関連情報提供装置1は、アプリケーションの更新に応じて、更新前のアプリケーションに関する情報と更新後のアプリケーションに関する情報との差分である差分情報131を取得する。そして、関連情報提供装置1は、差分情報131と、アプリケーションの更新に伴う変更情報132とを対応付けて記憶部130に記憶する。
また、関連情報提供装置1は、第1アプリケーションの更新に応じて、更新前の第1アプリケーションに関する情報と更新後の第1アプリケーションに関する情報との差分である第1差分情報を取得する。そして、関連情報提供装置1は、差分情報131から、第1差分情報と所定の類似関係にある差分情報を抽出する。その後、関連情報提供装置1は、抽出した差分情報に対応する変更情報132を出力する。これにより、関連情報提供装置1は、新たなアプリケーションのリリースに伴って変更すべき運用作業に関する情報を提供することが可能になる。
以上の実施の形態をまとめると、以下の付記のとおりである。
(付記1)
システムで実施されたアプリケーションの更新に応じて、更新前の前記アプリケーションに関する情報と更新後の前記アプリケーションに関する情報との差分である差分情報と、前記更新に伴って変更がなされた前記システムの運用に関する変更情報とを対応付けて記憶部に記憶し、
第1アプリケーションの更新情報の取得に応じて、更新前の前記第1アプリケーションに関する情報と更新後の前記第1アプリケーションに関する情報との差分である第1差分情報と所定の類似関係にある差分情報を、記憶した前記差分情報から抽出し、
抽出した前記差分情報に対応する前記変更情報を出力する、
関連情報提供方法。
(付記2)
付記1において、
前記アプリケーションに関する情報は、複数の比較用情報を含み、
前記差分情報は、前記アプリケーションの更新に応じて、前記複数の比較用情報のそれぞれが変更されたか否かを示す情報を含む比較結果情報を含む、
関連情報提供方法。
(付記3)
付記2において、
前記所定の類似関係は、前記第1差分情報に含まれる前記比較結果情報のうち、前記記憶部に記憶した前記差分情報に含まれる前記比較用情報と内容が一致する情報の割合が、閾値以上である関係である、
関連情報提供方法。
(付記4)
付記2において、さらに、
前記記憶部に記憶した前記差分情報のうち、同一内容の前記変更情報毎であって前記複数の比較用情報毎に、前記比較結果情報の出現確率をそれぞれ算出し、
前記所定の類似関係は、前記第1差分情報に含まれる前記比較結果情報のうち、前記記憶部に記憶した前記差分情報に含まれる前記比較結果情報と内容が一致する比較結果情報のそれぞれに対応する前記出現確率の総和を、前記記憶部に記憶した前記差分情報に含まれる前記比較結果情報のそれぞれに対応する前記出現確率の総和で除算した値が、閾値以上である関係である、
関連情報提供方法。
(付記5)
付記1において、さらに、
前記第1差分情報と前記所定の類似関係にある差分情報が前記記憶部に記憶した前記差分情報に存在しない場合、前記第1差分情報と、前記第1アプリケーションに対応する前記変更情報とを対応させた情報を前記記憶部に記憶する、
関連情報処理方法。
(付記6)
付記1において、さらに、
前記第1差分情報と内容が一致する差分情報が前記記憶部に記憶した差分情報に存在しない場合、前記第1差分情報と、前記第1アプリケーションに対応する前記変更情報とを対応させた情報を前記記憶部に記憶する、
関連情報処理方法。
(付記7)
システムで実施されたアプリケーションの更新に応じて、更新前の前記アプリケーションに関する情報と更新後の前記アプリケーションに関する情報との差分である差分情報と、前記更新に伴って変更がなされた前記システムの運用に関する変更情報とを対応付けて記憶する記憶部と、
第1アプリケーションの更新情報の取得に応じて、更新前の前記第1アプリケーションに関する情報と更新後の前記第1アプリケーションに関する情報との差分である第1差分情報と所定の類似関係にある差分情報を、記憶した前記差分情報から抽出し、抽出した前記差分情報に対応する前記変更情報を出力する処理部と、を有する、
関連情報提供装置。
(付記8)
コンピュータに、
システムで実施されたアプリケーションの更新に応じて、更新前の前記アプリケーションに関する情報と更新後の前記アプリケーションに関する情報との差分である差分情報と、前記更新に伴って変更がなされた前記システムの運用に関する変更情報とを対応付けて記憶部に記憶し、
第1アプリケーションの更新情報の取得に応じて、更新前の前記第1アプリケーションに関する情報と更新後の前記第1アプリケーションに関する情報との差分である第1差分情報と所定の類似関係にある差分情報を、記憶した前記差分情報から抽出し、
抽出した前記差分情報に対応する前記変更情報を出力する、
処理を実行させる関連情報提供プログラム。
1:関連情報提供装置 2:記憶部
11:開発者端末 12:物理マシン
13:物理マシン 14:記憶部
15:物理マシン 16:運用者端末
10:情報処理システム

Claims (6)

  1. システムで実施されたアプリケーションの更新に応じて、更新前の前記アプリケーションに関する情報と更新後の前記アプリケーションに関する情報との差分である差分情報と、前記更新に伴って変更がなされた前記システムの運用に関する変更情報とを対応付けて記憶部に記憶し、
    第1アプリケーションの更新情報の取得に応じて、更新前の前記第1アプリケーションに関する情報と更新後の前記第1アプリケーションに関する情報との差分である第1差分情報と所定の類似関係にある差分情報を、記憶した前記差分情報から抽出し、
    抽出した前記差分情報に対応する前記変更情報を出力する、
    関連情報提供方法。
  2. 請求項1において、
    前記アプリケーションに関する情報は、複数の比較用情報を含み、
    前記差分情報は、前記アプリケーションの更新に応じて、前記複数の比較用情報のそれぞれが変更されたか否かを示す情報を含む比較結果情報を含む、
    関連情報提供方法。
  3. 請求項2において、
    前記所定の類似関係は、前記第1差分情報に含まれる前記比較結果情報のうち、前記記憶部に記憶した前記差分情報に含まれる前記比較用情報と内容が一致する情報の割合が、閾値以上である関係である、
    関連情報提供方法。
  4. 請求項2において、さらに、
    一内容の前記変更情報毎であって前記複数の比較用情報毎に、前記記憶部に記憶した前記差分情報に含まれる前記比較結果情報の出現確率をそれぞれ算出し、
    前記所定の類似関係は、前記第1差分情報に含まれる前記比較結果情報のうち、前記記憶部に記憶した前記差分情報に含まれる前記比較結果情報と内容が一致する比較結果情報のそれぞれに対応する前記出現確率の総和を、前記第1差分情報に含まれる前記比較結果情報のそれぞれに対応する前記出現確率の総和で除算した値が、閾値以上である関係である、
    関連情報提供方法。
  5. システムで実施されたアプリケーションの更新に応じて、更新前の前記アプリケーションに関する情報と更新後の前記アプリケーションに関する情報との差分である差分情報と、前記更新に伴って変更がなされた前記システムの運用に関する変更情報とを対応付けて記憶する記憶部と、
    第1アプリケーションの更新情報の取得に応じて、更新前の前記第1アプリケーションに関する情報と更新後の前記第1アプリケーションに関する情報との差分である第1差分情報と所定の類似関係にある差分情報を、記憶した前記差分情報から抽出し、抽出した前記差分情報に対応する前記変更情報を出力する処理部と、を有する、
    関連情報提供装置。
  6. コンピュータに、
    システムで実施されたアプリケーションの更新に応じて、更新前の前記アプリケーションに関する情報と更新後の前記アプリケーションに関する情報との差分である差分情報と、前記更新に伴って変更がなされた前記システムの運用に関する変更情報とを対応付けて記憶部に記憶し、
    第1アプリケーションの更新情報の取得に応じて、更新前の前記第1アプリケーションに関する情報と更新後の前記第1アプリケーションに関する情報との差分である第1差分情報と所定の類似関係にある差分情報を、記憶した前記差分情報から抽出し、
    抽出した前記差分情報に対応する前記変更情報を出力する、
    処理を実行させる関連情報提供プログラム。
JP2015016599A 2015-01-30 2015-01-30 関連情報提供方法、関連情報提供装置及び関連情報提供プログラム Active JP6481387B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015016599A JP6481387B2 (ja) 2015-01-30 2015-01-30 関連情報提供方法、関連情報提供装置及び関連情報提供プログラム
US14/990,427 US10146823B2 (en) 2015-01-30 2016-01-07 Relevant-information providing method, relevant-information providing apparatus, and relevant-information providing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015016599A JP6481387B2 (ja) 2015-01-30 2015-01-30 関連情報提供方法、関連情報提供装置及び関連情報提供プログラム

Publications (2)

Publication Number Publication Date
JP2016143134A JP2016143134A (ja) 2016-08-08
JP6481387B2 true JP6481387B2 (ja) 2019-03-13

Family

ID=56554275

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015016599A Active JP6481387B2 (ja) 2015-01-30 2015-01-30 関連情報提供方法、関連情報提供装置及び関連情報提供プログラム

Country Status (2)

Country Link
US (1) US10146823B2 (ja)
JP (1) JP6481387B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10409553B2 (en) 2017-11-15 2019-09-10 Accenture Global Solutions Limited Optimized construction of a sample imprint for selecting a sample dataset for comparison testing
US10241903B1 (en) 2017-11-15 2019-03-26 Accenture Global Solutions Limited Parallel testing and reporting system
US10514890B2 (en) 2017-11-15 2019-12-24 Accenture Global Solutions Limited Test case and data selection using a sampling methodology
US11544158B1 (en) * 2020-03-30 2023-01-03 Rapid7, Inc. Selective change tracking of log statements to manage alerts

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6839723B2 (en) * 2000-08-29 2005-01-04 Fujitsu Limited Information management system
JP3938538B2 (ja) * 2002-10-23 2007-06-27 富士通株式会社 運用管理ポリシー提供方法,運用管理ポリシー提供装置並びに運用管理ポリシー提供プログラム
EP1680741B1 (en) * 2003-11-04 2012-09-05 Kimberly-Clark Worldwide, Inc. Testing tool for complex component based software systems
US7895592B2 (en) * 2004-11-30 2011-02-22 Oracle International Corporation Patch impact analyzer
JP4902282B2 (ja) 2006-07-12 2012-03-21 株式会社日立製作所 業務システム構成変更方法、管理コンピュータ、および、業務システム構成変更方法のプログラム
JP5050878B2 (ja) * 2008-01-28 2012-10-17 日本電気株式会社 監視装置、監視システム、監視方法およびプログラム
JP5111340B2 (ja) * 2008-11-20 2013-01-09 株式会社日立製作所 情報処理システムを構成している装置の監視方法、情報処理装置、及び情報処理システム
US8352914B2 (en) * 2008-12-15 2013-01-08 Accenture Global Services Limited Impact analysis of software change requests
JP2010257083A (ja) * 2009-04-22 2010-11-11 Hitachi Electronics Service Co Ltd サービス監視エージェントのインストール方法、アップデート方法、監視サーバ及び監視システム
JP2011248658A (ja) 2010-05-27 2011-12-08 Hitachi Ltd 仮想サーバデプロイ管理装置及び方法、そのプログラム
US9298453B2 (en) * 2012-07-03 2016-03-29 Microsoft Technology Licensing, Llc Source code analytics platform using program analysis and information retrieval
US10026064B2 (en) * 2013-09-13 2018-07-17 Microsoft Technology Licensing, Llc Automatically recommending updates based on stored lifecycle information
JP5984149B2 (ja) * 2014-08-04 2016-09-06 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation ソフトウェアを更新する装置及び方法

Also Published As

Publication number Publication date
US20160224332A1 (en) 2016-08-04
JP2016143134A (ja) 2016-08-08
US10146823B2 (en) 2018-12-04

Similar Documents

Publication Publication Date Title
KR101999409B1 (ko) 예시에 의한 데이터 포매팅 기법
KR102101050B1 (ko) 소프트웨어 빌드 에러를 예측하기 위한 방법 및 시스템
US9921948B2 (en) Software commit risk level
JP6481387B2 (ja) 関連情報提供方法、関連情報提供装置及び関連情報提供プログラム
US20160378647A1 (en) Development supporting system
US9280331B2 (en) Hash-based change tracking for software make tools
CN110442378B (zh) 接口文档的修改方法和系统
CA2956207C (en) Program code comparison and reporting
US10303469B1 (en) Commit graph generation
US11429488B2 (en) Data recovery method based on snapshots, device and storage medium
CN114281591A (zh) 存储节点故障处理方法、装置、设备及存储介质
EP4145298A1 (en) Method and apparatus for snapshotting metadata
CN113515303B (zh) 一种项目转型方法、装置和设备
JPWO2015087509A1 (ja) 状態保存復元装置、状態保存復元方法、および、プログラム
CN108959548B (zh) 业务请求的处理方法及装置
JP6451417B2 (ja) デバッグ支援装置、デバッグ支援システム、デバッグ支援方法、および、デバッグ支援プログラム
JP5943753B2 (ja) 仮想マシン管理システム、仮想マシン管理方法およびプログラム
CN111338632A (zh) 一种云平台镜像构建方法和装置
US8798982B2 (en) Information processing device, information processing method, and program
US10963244B2 (en) Commit reversion detection
CN108614838B (zh) 一种用户群索引处理方法、装置及系统
CN111552703A (zh) 一种数据处理方法及装置
CN110597828A (zh) 一种数据库变更方法、装置、设备及存储介质
CN106293897B (zh) 组件自动化调度系统
JP2010257226A (ja) 情報処理装置、情報処理方法、プログラムおよび記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171215

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180824

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180904

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181022

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190128

R150 Certificate of patent or registration of utility model

Ref document number: 6481387

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150