JP6667714B2 - プログラムの統合解析管理装置及びその統合解析管理方法 - Google Patents

プログラムの統合解析管理装置及びその統合解析管理方法 Download PDF

Info

Publication number
JP6667714B2
JP6667714B2 JP2019505087A JP2019505087A JP6667714B2 JP 6667714 B2 JP6667714 B2 JP 6667714B2 JP 2019505087 A JP2019505087 A JP 2019505087A JP 2019505087 A JP2019505087 A JP 2019505087A JP 6667714 B2 JP6667714 B2 JP 6667714B2
Authority
JP
Japan
Prior art keywords
module
unit
program
integrated analysis
evaluation
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
JP2019505087A
Other languages
English (en)
Other versions
JPWO2019012674A1 (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.)
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 JPWO2019012674A1 publication Critical patent/JPWO2019012674A1/ja
Application granted granted Critical
Publication of JP6667714B2 publication Critical patent/JP6667714B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Description

本発明は、プログラムの統合解析管理装置及びその統合解析管理方法に関し、特に、抽出したデータに所定の処理を施した上でこの処理後のデータを外部に引き渡すETL(Extract Transform Load)プログラムの統合解析管理装置に適用して好適なものである。
近年、企業内に散在する情報資産を統合、分析するデータマネージメントが注目されており、様々な形式のデータを統合して活用するためにETLツールが利用されている。このようなETLツールを利用することにより、あるデータ処理プログラムを実装しようとした場合、GUIによって直感的にアイコンをドラッグ&ドロップするだけで、ほぼプログラミングを必要とせず、そのデータ処理プログラムを作成することができる。データ処理システムを開発する場合、複雑で大規模となることも多く、一般的には、生産性・保守性・再利用性等の観点から複数のプログラムに分割されて開発・管理される。例えば、特許文献1では、プログラムのデータサイズが閾値を超えるところで分割するという方法が提案されている。
特開2010−15411号公報
しかしながら、特許文献1の方法ではデータ量の変化で分割点(区切り)を判定することができず、意味のあるデータ処理単位でのプログラムの分割および管理はできなかった。また、ETLプログラムを実装する場合、複雑で大規模なシステムとなることが多く複数の作成者ごとに千差万別な仕上がりとなってしまい、その後のメンテナンスを実施し難くシステム全体として品質の低下に繋がってしてしまうという問題点があった。
本発明は以上の点を考慮してなされたもので、メンテナンスを実施し易くしてシステム全体として高い品質を確保できるETLプログラムの統合解析管理装置及びその統合解析管理方法を提案しようとするものである。
かかる課題を解決するため、本発明においては、設定された解析条件に基づいて、読み込まれたプログラムを構成する複数の単位処理を各々実行することに伴って算出される見込み値を解析するプログラム解析部と、前記見込み値が既定の閾値との関係で所定の条件を満たす場合、前記所定の条件を満たす単位処理とそれに続く他の単位処理との間で分割し、前記分割された単位処理のまとまりで構成されるモジュールを作成するモジュール分割部と、前記モジュールを記憶装置に蓄積するモジュール蓄積制御部と、他の実装に際し、設定された検索条件に基づいて、前記記憶装置に蓄積されたモジュールのうちから利用可能な所望のモジュールを検索する参照工程と、前記所望のモジュールについて評価を受け付けるモジュール評価部と、を備えることを特徴とする。
また、本発明においては、プログラムを統合して解析及び管理する統合解析管理装置におけるプログラムの統合解析管理方法において、前記プログラムの統合解析管理装置が、設定された解析条件に基づいて、読み込まれた前記プログラムを構成する複数の単位処理を各々実行することに伴って算出される見込み値を解析するプログラム解析工程と、前記統合解析管理装置が、前記見込み値が既定の閾値との関係で所定の条件を満たす場合、前記所定の条件を満たす単位処理とそれに続く他の単位処理との間で分割し、前記分割された単位処理のまとまりで構成されるモジュールを作成するモジュール分割工程と、前記統合解析管理装置が、前記モジュールを記憶装置に蓄積するモジュール蓄積工程と、前記統合解析管理装置が、他の実装に際し、設定された検索条件に基づいて、前記記憶装置に蓄積されたモジュールのうちから利用可能な所望のモジュールを検索する参照工程と、前記統合解析管理装置が、前記所望のモジュールについて評価を受け付けるモジュール評価工程と、を実行することを特徴とする。
本発明によれば、メンテナンスを実施し易くしてシステム全体として高い品質を確保することができる。
本実施の形態によるプログラムの統合解析管理装置の概略構成を示すブロック図である。 図1に示す解析パラメータ管理テーブルのテーブル構成例を示す図である。 図1に示すモジュール情報管理テーブルのテーブル構成例を示す図である。 図1に示す活用履歴管理テーブルのテーブル構成例を示す図である。 本実施の形態におけるソフトウェア構成の一例を示すブロック図である。 統合解析管理処理のうちの前半の処理一例を示すフローチャートである。 図6に示す統合解析管理処理の続きである後半の処理の一例を示すフローチャートである。 図6に示す解析条件の入力方法の一例を示す図である。 図6に示す解析方法の詳細な一例を示す図である。 図6及び図7に示す分割に関する処理の一例を示す図である。 図4に示すモジュール評価処理の詳細を示すフローチャートである。 図11に示すパターンマッチ処理の詳細を示すフローチャートである。 モジュール蓄積インターフェース画面の一例を示す図である。 評価方法におけるチューニング方法の一例を示す図である。 参照評価処理の一例を示すフローチャートである。 検索条件入力画面及び検索結果表示画面の一例を示す図である。
以下、図面について、本発明の一実施の形態について詳述する。
(1)本実施の形態によるプログラムの統合解析管理装置の構成
図1は、本実施の形態によるプログラムの統合解析管理装置の概略構成を示す。統合解析管理装置は、主としてシステム装置100を備えており、さらにはクライアント端末101及びネットワーク102を備えている。
まず、システム装置100の概要について説明すると、このシステム装置100は、入力された所定のプログラム、例えばETL(Extract Transform Load)プログラムの構成を解析し、その後、当該ETLプログラムを構成する複数の単位処理を後述するように必要に応じて分割し、当該分割された単位処理のまとまりで構成されるモジュールを、後述するモジュール群41として蓄積する機能を有する(以下「解析蓄積機能」という)。なお、本実施の形態では、上述した単位処理を、通常用いられる意味とは別に「ステップ」と呼ぶものとする。
一方、クライアント端末101は、ユーザによって操作されるコンピュータである。クライアント端末101は、当該モジュールに関する情報(以下「モジュール情報」という)を、新たなETLプログラムを作成して他の実装を試みるユーザに提示する一方、当該モジュールが実際に役立ったか否かについてユーザに評価させる機能を有する(以下「参照評価機能」という)。すなわち、クライアント端末101は、システム装置100に蓄積されたモジュール群41を検索する際にユーザによって操作される。
システム装置100は、CPU1、主記憶装置2及び補助記憶装置3,4を備えている。なお、補助記憶装置3,4は一体であっても良い。CPU1は、システム装置100全体を制御している。
主記憶装置2は、メインメモリに相当し、CPU1によって実行されるソフトウェアが記憶されている。主記憶装置2では、読み込み部21、条件設定部22、プログラム解析部23、モジュール分割部24、モジュール蓄積制御部25、モジュール評価部26及び表示制御部27が動作している。
補助記憶装置3は、例えば、ハードディスク装置またはフラッシュメモリであり、主としてテーブルを格納する。この補助記憶装置3は、後述する解析パラメータ管理テーブル31、モジュール情報管理テーブル32及び活用履歴管理テーブル33を有する。これら各テーブルの詳細については後述する。
一方、図1に示す補助記憶装置4は、例えば、ハードディスク装置またはフラッシュメモリであり、主としてプログラム、データを格納する。この補助記憶装置4は、モジュール群41を有する。モジュール群41についての詳細は後述する。
図2は、図1に示す解析パラメータ管理テーブル31のテーブル構成例を示す。解析パラメータ管理テーブル31は、上述した分割の際にトレンドに応じて分割可能にするためにレコードが変更される。
解析パラメータ管理テーブル31は、そのカラムとして、図示のように、システム要件パターン、解析ID、例えば3つの分割閾値(第1の分割閾値、第2の分割閾値及び第3の分割閾値)、平均分割モジュール数、活用回数、並びに活用日時を有する。本実施の形態では、第1の分割閾値として基準ステップが、第2の分割閾値として割合[%]が、第3の分割閾値として大小関係が、例示されている。
システム要件パターンは、「パターン100」であると(例えばレコード群31A,31B,31C)、ファイルシステムからデータを読み込み、所定ステップ以上の複雑な加工を実施することを示している。一方、システム要件パターンは、「パターン200」であると(例えばレコード群31D,31E,31F)、モジュール情報管理テーブル32からデータを読み込み、簡潔な加工を実施することを示している。
第1の分割閾値としての基準ステップは、分割されるべきステップの基準ステップを表し、例えば、初期ステップ、最大ステップ及び最少ステップが例示されている。
第2の分割閾値としての割合[%]は、各ステップにおいてデータ量がどの程度であるかに応じて分割対象とすべきか否かを判定するための比率を示している。
第3の分割閾値としての大小関係は、第2の分割閾値として割合%が設定されている場合、上記データ量がその割合[%]との関係でどのような状態になった(例えば、以上または以下)ことを契機として各ステップを分割対象とすべきかを表している。
解析IDは、設定された解析条件に基づく解析同士を区別するための識別子である。本実施の形態では、パターン100の閾値が、例えば解析IDが103,102,101の順序で順位付けがなされている一方、パターン200の閾値が、例えば解析IDが201,202,203の順序で順位付けがなされている。
平均分割モジュール数は、モジュール分割部24によって1つのETLプログラムがステップのまとまりであるモジュールに分割される平均回数を表している。活用回数は、レコード31Aなどごとに、その後参照された活用回数を表す。活用日時は、そのように参照された日時を表す。
図3は、図1に示すモジュール情報管理テーブル32のテーブル構成例を示す。モジュール情報管理テーブル32は、モジュール情報の参照時に、キーワード、カテゴリ及び/またはタグで検索可能とするためのテーブルである。モジュール情報管理テーブル32の詳細については後述する。
図4は、図1に示す活用履歴管理テーブル33のテーブル構成例を示す。モジュール情報管理テーブル32は、図示のように、そのカラムとして、モジュールID、モジュール名、モジュール概要、解析ID、ステップ合計数、入力形式、出力形式、1番目、2番目、・・・、n番目(n:自然数)、カテゴリ、タグ、活用回数、活用ユーザ、活用日時、及び評価コメントを有する。
活用履歴管理テーブル33は、ユーザに最適なモジュールを推薦するために、以下の活用履歴管理テーブル33は、図4上部に示すように、そのカラムとして、ユーザ及び活用モジュールIDを有する。ユーザは、他のユーザが使用したモジュールの活用を試みようとしているユーザを表している。活用モジュールIDは、図3に示すモジュールIDに対応しており、ユーザによって活用されたモジュールを識別するための識別子である。
ここで、例えば、ユーザAがモジュール候補を推薦される場合を挙げると、ユーザAは、図4上部に示すように、活用モジュールIDが「1」であるため、この活用モジュールIDが「1」である活用モジュールIDを含むモジュールを利用した他のユーザとしてユーザB,C,Dが検索される。これにより、図4下部に示すようにユーザAに対しては、当該他のユーザB,C,Dに関連付けられたモジュール「2」、モジュール「3」及びモジュール「4」が推薦されるようになる。
(2)ソフトウェアの機能
図5は、本実施の形態におけるソフトウェア構成の一例を示す。
(2−1)解析蓄積機能
まず、解析蓄積機能に関連する構成は次のようになっている。読み込み部21は、入力されたETLプログラムを読み込む。条件設定部22は、ユーザの入力に応じて、例えばデータ量、制約条件及びシステム条件を含む解析条件を設定する。
プログラム解析部23は、入出力のデータ量に基づいて各ステップのデータ量を算出する解析処理を実行する。既に説明したように本実施の形態において「ステップ」とは、一般的な表現のステップ(手順)とは異なり、上述した単位処理を表す。また同様に、上述のように分割された「単位処理のまとまり」を「モジュール」と定義して用いる。
モジュール分割部24は、ETLプログラムを構成する複数のステップを各々実行することに伴って算出される見込み値(例えば入出力のデータ量)が既定の閾値との関係で所定の条件(以下「分割閾値条件」という)を満たすか否かを判定する。具体的には、モジュール分割部24は、上記入出力のデータ量が既定の閾値を超える(若しくは以上)又は下回る(若しくは以下)分割点ごとに、上記分割閾値条件を満たすステップと、それに続く他のステップとの間の分割点で必要に応じてステップ同士を分割し、当該分割されたステップのまとまりで構成されるモジュールを作成する。
モジュール蓄積制御部25は、当該モジュールをモジュール群41の一部として補助記憶装置4に格納するとともに、当該モジュールに関するモジュール情報をモジュール情報管理テーブル32に蓄積する。
(2−2)参照評価機能
モジュール評価部26は、ユーザによって入力された解析条件に応じて、モジュール情報管理テーブル32に格納されているモジュール情報を検索して表示制御部27に表示させたり、表示制御部27によって表示されたモジュール情報に関してユーザが入力した評価内容であるモジュール評価をモジュール情報管理テーブル32に新規に登録したり登録済みのモジュール情報を更新する機能を有する。モジュール評価部26の機能の詳細については後述する。
図1に示す表示制御部27は、具体的な表示内容については後述するが、モジュール情報管理テーブル32から検索したモジュール情報などを表示する機能を有する。
(3)ETLプログラムの統合解析管理方法
本実施の形態による統合解析管理装置の概略構成は以上のようであり、次に、この統合解析管理装置において実行されるプログラムの統合解析管理方法として統合解析管理装置の動作例について説明する。
(3−1)統合解析管理処理
図6は、統合解析管理処理のうちの前半の処理一例を示し、図7は、図6に示す統合解析管理処理の続きである後半の処理の一例を示す。図8は、図6に示す解析条件の入力方法の一例を示し、図9は、図6に示す解析方法の詳細な一例を示し、図10は、図6及び図7に示す分割に関する処理の一例を示す。
(3−1−1)解析蓄積
まず、読み込み部21が、入力されたETLプログラムを読み込む(図6のS1)。次に条件設定部22が、ユーザによって入力された解析条件を設定する(図6のS2)。ここで、解析条件は、例えば、解析データ量、分割制約条件及びシステム要件パターンを含んでいる。
このような解析条件の入力画面は、図8左側に示すように構成されており、解析時に入力として与えるべきデータ量としての解析データ量[バイト]を入力可能な解析データ量入力欄27Aと、分割されるべき際の閾値(後述する分割閾値に相当)を自動的に設定するためのシステム要件パターンを入力可能なシステム要件パターン27Bと、分割すると機能的に意味をなさなくなるステップのまとまり、または、機能的に有用であると明らかなステップの集合について分割対象としないようにするための条件(以下「分割制約条件」という)を設定可能な制約条件設定ボタン27Cと、設定された解析条件に基づいて検索を実行するための操作部としての検索実行ボタン27Dと、を含んでいる。
なお、制約条件設定ボタン27Cを押下した際には、図8下部に示すように分割されるべきでないステップのまとまりが、ユーザによるマウスポインタの操作に応じて囲い込まれることにより区別され、分割制約条件として登録される。
プログラム解析部23は、各ステップにおける入出力のデータ量を算出する解析処理を実行する。この解析処理では、プログラム解析部23が、上述した解析条件で指定した解析データ量に応じて解析用データを自動的に生成し(図6のS3)、この解析データを用いて解析対象プログラムを実行する(図6のS4)。なお、解析用データのフォーマットは、例えばCSV、テキスト、データベースまたはJSONなど様々な形式を採用することができる。
具体的には、図9中央左に示すように、「CSV入力」というステップ名の初期ステップ(第1のステップ)では、ステップフィールドとの関係画面に示す情報に基づいて上記解析対象プログラムが実行される。その結果、図9下部右に示す実行結果のように「CSV入力」というステップ名の初期ステップでは、10000行×(6+5)バイト=110Kバイト/ステップの出力がなされるものと解析される。一方、「フィールド分割」というステップ名のその次のステップ(以下「第2のステップ」という)では、10000行×(6+5+1)バイト=120Kバイト/ステップの出力がなされるものと解析される。
本実施の形態では、上述のような解析に加えて、さらに、図9下部右に示す実行結果のように「CSV入力」というステップ名の初期ステップでは、処理時間に相当する時間が2.7s(秒)であることから、ステップ当りの実行時間(ms単位)及び速度も取得できるため、これらの値で重み付けして解析するようにしても良い。
次に、モジュール分割部24は、ステップ数に達するまで、次のような演算ループを実施する(図6のS5,S9)。まず、モジュール分割部24は、この解析対象プログラムにおける各ステップを実行した際に入出力されるデータ量を取得し(図6のS6)、このデータ量が所定の閾値(以下「分割閾値」という)との比較において分割閾値条件を満たすか否かについて判定する(図6のS7)。なお、ここでいうデータ量は、一例として、各ステップの入力データ量±当該各ステップの実行により増えたまたは減った差分データ量を示すものとする。
具体的には、モジュール分割部24は、ETLプログラムを構成する各モジュールにおいて入出力のデータ量が上記分割閾値条件を満たす、すなわち、分割閾値を超える(若しくは以上)または下回る(若しくは以下)部分ごとに必要に応じてモジュールを分割する必要があるか否かを判定する。
例えば、モジュール分割部24は、解析条件の一部であるシステム要件パターンに応じて、図10に示す各ステップにおける時間に対する解析データ量のように解析された場合、一例として、各ステップの解析データ量のうち、例えば初期ステップの解析データの50%という分割閾値DT以下となるステップを分割候補とする。具体的には、モジュール分割部24は、「選択/名称変更1」及び「行整列2」というステップ名の2つのステップを分割候補として選択する。
なお、その後のステップ、つまり「選択/名称変更2」及び「テキストファイル出力」というステップ名の2つのステップも分割閾値DT以下であるが、既に説明したようにモジュール分割部24は、分割制約条件が課されているこれら2つのステップのまとまりについては各ステップへの分割候補から除外する。
以上のようにモジュール分割部24は、分割閾値条件を満たす場合、このステップを分割候補に設定し(図6のS8)、分割閾値条件を満たした回数分カウントアップしてその合計値を「分割候補数」として設定する。モジュール分割部24は、そのような分割候補によって、図10下部に示すように、各ステップを、例えば、「CSV入力」、「フィールド分割」、「行整列」及び「選択/名前変更1」というステップ名の4つのステップで構成されるモジュールAと、「SQL分実行」、「データ検証」及び「行整列2」という2つのステップで構成されるモジュールBと、分割制約条件が課されて分割されなかった「行結合」、「選択/名前変更2」及び「テキストファイル出力」というステップ名の3つのステップで構成されるモジュールCと、に分割する。
モジュール分割部24は、上記分割候補数分に亘り次のような分割ループを実行する(図7のS10,S14)。この分割ループでは、モジュール分割部24が、分割制約条件が設定されているか否かを判定する(図7のS11)。ここで、分割制約条件は、分割閾値条件を満たす場合であっても、対象とするステップのまとまりを途中で分割しない方が良い場合に、分割を実施しないようにすべき場合の条件を表している。
モジュール分割部24は、分割制約条件が設定されている場合には、当該対象とするステップのまとまりを分割候補から除外する一方(図7のS12)、分割制約条件が設定されない場合には当該対象とするステップのまとまりを分割してこれらステップのまとまりで構成されるモジュールを作成する(図7のS13)。モジュール分割部24は、1つのETLプログラムにおいてステップのまとまりごとに実際に分割した回数を分割数として管理している。
以上のような分割ループの実行が完了すると、以下に示すモジュール評価処理を実行する(図7のS15)。
(3−1−2)モジュール評価
図11は、図4に示すモジュール評価処理の詳細を示し、図12は、図11に示すパターンマッチ処理の詳細を示す。図13は、モジュール蓄積インターフェース画面の一例を示し、図14は、評価方法におけるチューニング方法の一例を示す。
このモジュール評価処理では、モジュール評価部26が上記分割数に達するまで評価ループを実施する(図11のS21,S24)。まず、モジュール評価部26は、モジュール情報管理テーブル32のモジュール情報を取得する(図11のS22)。次に処理工程S23では、モジュール評価部26が以下のようにパターンマッチ判定処理を実行する(図11のS23)。
このパターンマッチ処理では、まず、モジュール評価部26が、評価対象である分割後プログラムの解析IDを取得する(図12のS31)。次にモジュール評価部26は、このように取得された解析IDが付されたモジュールに関するモジュール情報がモジュール情報管理テーブル32に存在するか否かを判定する(図12のS32)。
モジュール評価部26は、このようなモジュール情報が存在しない場合には評価を「不明」に設定する一方(図12のS33)、このようなモジュール情報が存在する場合にはモジュール情報管理テーブル32(図3参照)を検索して活用回数が1以上のモジュール情報が存在するか否かを判定する(図12のS34)。
モジュール評価部26は、活用回数が1以上のモジュール情報が存在しない場合には評価を「×(最低)」に設定する一方(図12のS35)、活用回数が1以上のモジュール情報が存在する場合には、最も活用回数が多いモジュールのモジュール情報を取得する(図12のS36)。
次にモジュール評価部26は、評価対象である分割後プログラムを構成するステップの数(ステップ数)が±5という条件を満たすか否かを判定する(図12のS37)。
モジュール評価部26は、この条件を満たさない場合には評価を「△(低)」に設定する一方(図12のS38)、この条件を満たす場合にはステップ一覧の同一性を比較する(図12のS39)。すなわち、モジュール評価部26は、ステップ一覧に含まれる各ステップが同一であるか否かを判定する。
次にモジュール評価部26は、ステップ順序の同一性を比較する(図12のS40)。すなわち、モジュール評価部26は、各ステップの順序が一致しているか否かを判定する。
次にモジュール評価部26は、最も一致している評価対象である分割後プログラムの評価を「◎(最良)」に設定する(図12のS41)。
次にモジュール評価部26は、それ以外の評価対象である分割後プログラムの評価を「○(良)」に設定する(図12のS42)。
以上のようにモジュール評価部26は、上記分割数に亘って以上のような処理を繰り返す(図11のS21,24)。
モジュール評価部26は、表示制御部27に、以上のような各評価結果をリスト状にした評価結果一覧を作成し(図11のS25)、図13(A)に示すように、この評価結果一覧に基づくモジュール蓄積インターフェース画面を表示させる(図7のS16)。
このモジュール蓄積インターフェース画面には、図13(A)に示すようなモジュール情報が表された評価結果一覧の他にも、図13(B)に示すような推薦すべき度合い(以下「おすすめ度」という)に関する説明が表されている。このおすすめ度は、モジュール情報管理テーブル32において管理されている活用回数と、モジュールを構成しているステップ合計数と、各ステップとの関係から定義される。
ユーザは、以上のようなモジュール蓄積インターフェース画面における評価結果一覧を参照しつつ、例えば、図13(B)に示すおすすめ度がより高い「◎」のモジュール情報を選択すべく、左側の該当チェックボックス27Fにチェックマークを付ける一方、必要に応じてモジュール概要入力欄27Gにモジュール概要を入力し、登録ボタン27Hを押下する。
これにより、モジュール評価部26は、チェックボックス27Fにチェックマークが付されたモジュール情報をモジュール情報管理テーブル32に登録し、その後これを参照可能とする。
図14は、図13に示す評価方法の応用例を示す。本実施の形態では、モジュール評価部26が、図13(B)に示すおすすめ度「◎」、「○」、「△」及び「×」という4段階の評価に加えて、次のような評価手法を採用してもよい。
具体的には、図13に示す評価方法の結果、例えばステップA、ステップC及びステップDで構成されるプログラム「2」が最適な構成(図示の「◎」)とされていた場合において、例えばステップA、ステップB、ステップC、ステップD及びステップEで構成される最も左側のモジュール(図示のベストプログラムに相当)が好適であった場合、モジュール評価部26は、ステップの種類及び順序性の比較処理を実行した後、プログラム「2」の構成を、次のように変更するよう推薦する。すなわち、モジュール評価部26は、このベストプログラムのステップ構成に似せるよう、プログラム「2」を構成するステップAとステップCとの間にステップBを挿入するとともに、ステップDの次にステップEを追加することを提案する。
上述したステップの種類の比較処理では、モジュール評価部26が、プログラム「1」についてはベストプログラムと比較した結果、6ステップ中5ステップが同一であり、プログラム「2」についてはベストプログラムと比較した結果、3つのステップ中3つのステップが同一であるなどというようにステップの比較を実施する。一方、上述したステップの順序性の比較処理では、モジュール評価部26が、プログラム「1」についてはベストプログラムと比較した結果、4つのステップ間の繋がりが同一であり、プログラム「2」についてはベストプログラムと比較した結果、1つのステップ間の繋がりが同一であるなどというようにステップ同士の比較を実施している。
(3−1−3)参照評価機能
図15は、参照評価処理の一例を示すとともに、図16は、参照評価処理の実行に伴い表示される画面例を示す。
モジュール評価部26は、ユーザによって入力された所望の検索条件に応じて(図15のS51)、モジュール情報管理テーブル32に格納されているモジュール情報を検索して取得する(図15のS52)。具体的な操作としては、図16上部に示す検索条件入力画面において、ユーザが、キーワード27Nに所望のキーワードを入力したりカテゴリ27O及び/またはタグ27Pを操作して所望の内容を入力した後に、検索ボタン27Qを押下することにより、モジュール評価部26が上述した検索処理を実行する。
さらにモジュール評価部26は、表示制御部27に、上記解析条件に該当するモジュール情報を表示させる(図15のS53)。具体的な表示例としては、図16下部に示す検索結果表示画面のように、上述のように取得されたモジュール情報が順位付けられて表示される。
この検索結果表示画面では、取得されたモジュール情報として、例えば順位、カテゴリ、モジュール(図示のモジュールに相当)、概要、及び活用回数が表示されている。順位1位のモジュール情報は、活用回数が119回であり、他人による過去の活用回数が最も多くなっていることが容易に視認することができる。
モジュール評価部26は、表示制御部27によって表示されたモジュール情報に応じて評価内容であるモジュール評価がユーザによって入力されると(図15のS54)、モジュール情報管理テーブル32に新規に登録したり登録済みのモジュール情報を更新する(図15のS55)。
以上のようにすると、ユーザが新たにETLプログラムを作成する際に、過去に作成したステップのまとまりを参照して再利用が可能となるため、メンテナンスを実施し易くしてシステム全体として高い品質を確保することができる。
(4)その他の実施形態
上記実施形態は、本発明を説明するための例示であり、本発明をこれらの実施形態にのみ限定する趣旨ではない。本発明は、その趣旨を逸脱しない限り、様々な形態で実施することができる。例えば、上記実施形態では、各種プログラムの処理をシーケンシャルに説明したが、特にこれにこだわるものではない。従って、処理結果に矛盾が生じない限り、処理の順序を入れ替え又は並行動作するように構成しても良い。また、上記実施形態における各処理ブロックを含むプログラムは、例えばコンピュータが読み取り可能な非一時的記憶媒体に格納されている形態であっても良い。
本発明は、例えば、ETL(Extract Transform Load)プログラムのようなプログラムの統合解析管理装置及びその統合解析管理方法に広く適用することができる。
21……読み込み部、22……条件設定部、23……プログラム解析部、24……モジュール分割部、25……モジュール蓄積制御部、26……モジュール評価部、31……解析パラメータ管理テーブル、32……モジュール情報管理テーブル、33……活用履歴管理テーブル、41……モジュール群、100……統合解析管理装置。

Claims (8)

  1. 設定された解析条件に基づいて、読み込まれたプログラムを構成する複数の単位処理を各々実行することに伴って算出される見込み値を解析するプログラム解析部と、
    前記見込み値が既定の閾値との関係で所定の条件を満たす場合、前記所定の条件を満たす単位処理とそれに続く他の単位処理との間で分割し、前記分割された単位処理のまとまりで構成されるモジュールを作成するモジュール分割部と、
    前記モジュールを記憶装置に蓄積するモジュール蓄積制御部と、
    他の実装に際し、設定された検索条件に基づいて、前記記憶装置に蓄積されたモジュールのうちから利用可能な所望のモジュールを検索する参照と、
    前記所望のモジュールについて評価を受け付けるモジュール評価部と、
    を備え
    前記モジュール分割部は、
    前記見込み値が前記既定の閾値との関係で前記所定の条件を満たす場合であっても、前記所定の条件を満たす単位処理とそれに続く前記他の単位処理との間で分割することが規制される分割制約条件を満たすときには、前記所定の条件を満たす前記単位処理とそれに続く前記他の単位処理との間で分割せず、単位処理のまとまりで構成されるモジュールを作成することを特徴とするプログラムの統合解析管理装置。
  2. 前記プログラム解析部は、
    前記解析条件に基づく前記見込み値として、前記複数の単位処理を各々実行した際の処理量に相当するデータ量を解析することを特徴とする請求項1に記載のプログラムの統合解析管理装置。
  3. 前記モジュール蓄積制御部は、
    前記モジュールを蓄積する際に併せて、前記モジュールに関する概要を蓄積することを特徴とする請求項1に記載のプログラムの統合解析管理装置。
  4. 前記モジュール評価部は、
    前記所望のモジュールについて評価を受け付ける画面を表示させ、前記画面に入力された所望の評価を登録して蓄積することを特徴とする請求項1に記載のプログラムの統合解析管理装置。
  5. プログラムを統合して解析及び管理する統合解析管理装置におけるプログラムの統合解析管理方法において、
    前記統合解析管理装置が、設定された解析条件に基づいて、読み込まれた前記プログラムを構成する複数の単位処理を各々実行することに伴って算出される見込み値を解析するプログラム解析工程と、
    前記統合解析管理装置が、前記見込み値が既定の閾値との関係で所定の条件を満たす場合、前記所定の条件を満たす単位処理とそれに続く他の単位処理との間で分割し、前記分割された単位処理のまとまりで構成されるモジュールを作成するモジュール分割工程と、
    前記統合解析管理装置が、前記モジュールを記憶装置に蓄積するモジュール蓄積工程と、
    前記統合解析管理装置が、他の実装に際し、設定された検索条件に基づいて、前記記憶装置に蓄積されたモジュールのうちから利用可能な所望のモジュールを検索する参照工程と、
    前記統合解析管理装置が、前記所望のモジュールについて評価を受け付けるモジュール評価工程と、
    を実行し、
    前記モジュール分割工程では、
    前記統合解析管理装置が、前記見込み値が前記既定の閾値との関係で前記所定の条件を満たす場合であっても、前記所定の条件を満たす単位処理とそれに続く前記他の単位処理との間で分割することが規制される分割制約条件を満たすときには、前記所定の条件を満たす前記単位処理とそれに続く前記他の単位処理との間で分割せず、単位処理のまとまりで構成されるモジュールを作成することを特徴とするプログラムの統合解析管理方法。
  6. 前記プログラム解析工程では、
    前記統合解析管理装置が、前記解析条件に基づく前記見込み値として、前記複数の単位処理を各々実行した際の処理量に相当するデータ量を解析することを特徴とする請求項に記載のプログラムの統合解析管理方法。
  7. 前記モジュール蓄積工程では、
    前記統合解析管理装置が、前記モジュールを蓄積する際に併せて、前記モジュールに関する概要を蓄積することを特徴とする請求項に記載のプログラムの統合解析管理方法。
  8. 前記モジュール評価工程では、
    前記統合解析管理装置が、前記所望のモジュールについて評価を受け付ける画面を表示させ、前記画面に入力された所望の評価を登録して蓄積することを特徴とする請求項に記載のプログラムの統合解析管理方法。
JP2019505087A 2017-07-13 2017-07-13 プログラムの統合解析管理装置及びその統合解析管理方法 Active JP6667714B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2017/025624 WO2019012674A1 (ja) 2017-07-13 2017-07-13 プログラムの統合解析管理装置及びその統合解析管理方法

Publications (2)

Publication Number Publication Date
JPWO2019012674A1 JPWO2019012674A1 (ja) 2019-07-25
JP6667714B2 true JP6667714B2 (ja) 2020-03-18

Family

ID=65001167

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019505087A Active JP6667714B2 (ja) 2017-07-13 2017-07-13 プログラムの統合解析管理装置及びその統合解析管理方法

Country Status (2)

Country Link
JP (1) JP6667714B2 (ja)
WO (1) WO2019012674A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116777192B (zh) * 2023-08-23 2023-12-08 成都飞机工业(集团)有限责任公司 一种装配生产线动态排程方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11338686A (ja) * 1998-05-28 1999-12-10 Fujitsu Ltd プログラム開発支援装置及びプログラム開発支援方法並びにプログラム開発支援プログラムを記録した記録媒体
JP5587744B2 (ja) * 2010-11-17 2014-09-10 株式会社日立ソリューションズ プログラムコンポーネント検索方法、プログラムコンポーネント検索システムおよびコンポーネント検索プログラム
US8438532B2 (en) * 2011-04-19 2013-05-07 Sonatype, Inc. Method and system for scoring a software artifact for a user
JP6178023B2 (ja) * 2014-12-11 2017-08-09 株式会社日立製作所 モジュール分割支援装置、方法、及びプログラム
JP6413922B2 (ja) * 2015-05-18 2018-10-31 株式会社デンソー ソフトウェア分割方法、ソフトウェア分割装置および車載装置

Also Published As

Publication number Publication date
JPWO2019012674A1 (ja) 2019-07-25
WO2019012674A1 (ja) 2019-01-17

Similar Documents

Publication Publication Date Title
US20160173122A1 (en) System That Reconfigures Usage of a Storage Device and Method Thereof
US9390142B2 (en) Guided predictive analysis with the use of templates
US20060190944A1 (en) System and Method for Resource Management
JP2008134705A (ja) データ処理方法及びデータ分析装置
US11016758B2 (en) Analysis software managing system and analysis software managing method
JP5379261B2 (ja) スケジューリング装置、スケジューリング方法およびコンピュータプログラム
JP6696568B2 (ja) アイテム推奨方法、アイテム推奨プログラムおよびアイテム推奨装置
JP6242540B1 (ja) データ変換システム及びデータ変換方法
JP2011086062A (ja) コンテンツ関係可視化装置、コンテンツ関係可視化方法およびプログラム
US11010393B2 (en) Library search apparatus, library search system, and library search method
JP6667714B2 (ja) プログラムの統合解析管理装置及びその統合解析管理方法
JP6622938B1 (ja) 相関性抽出方法および相関性抽出プログラム
JP2004192555A (ja) 情報管理方法、情報管理装置及び情報管理プログラム
US20190362283A1 (en) Working equipment specification support apparatus, working equipment specification support method, and working equipment specification support system
US20210397745A1 (en) Data providing server device and data providing method
JP2007323546A (ja) 検索処理方法及び装置
GB2463545A (en) Rule creation for an apparatus including a Configuration Management Database (CMDB)
JP6527049B2 (ja) 行動特性分析システムおよび行動特性分析方法
JP2005190212A (ja) データベースシステム、データ処理方法及びプログラム
JP6695847B2 (ja) ソフトウェア部品管理システム、計算機
JPWO2017163342A1 (ja) 計算機システム及びデータの分類方法
JP2020166443A (ja) データ加工方法レコメンドシステム、データ加工方法レコメンド方法、及びデータ加工方法レコメンドプログラム
WO2021210100A1 (ja) パターン抽出装置、パターン抽出方法及びプログラム
WO2017179163A1 (ja) アプリケーション分析システム、方法、及び、プログラム
JP6852002B2 (ja) データ検索方法、データ検索装置及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191224

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200124

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200225

R150 Certificate of patent or registration of utility model

Ref document number: 6667714

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150