WO2019012674A1 - Program integration/analysis/management device, and integration/analysis/management method therefor - Google Patents
Program integration/analysis/management device, and integration/analysis/management method therefor Download PDFInfo
- Publication number
- WO2019012674A1 WO2019012674A1 PCT/JP2017/025624 JP2017025624W WO2019012674A1 WO 2019012674 A1 WO2019012674 A1 WO 2019012674A1 JP 2017025624 W JP2017025624 W JP 2017025624W WO 2019012674 A1 WO2019012674 A1 WO 2019012674A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- module
- unit
- program
- division
- analysis
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
Definitions
- the present invention relates to an integrated analysis and management apparatus for a program and an integrated analysis and management method thereof, and in particular, an integrated ETL (Extract Transform Load) program that delivers processed data to the outside after performing predetermined processing on extracted data It is suitable for application to an analysis management device.
- ETL Extract Transform Load
- Patent Document 1 proposes a method in which division is performed where the data size of a program exceeds a threshold.
- the present invention has been made in consideration of the above points, and proposes an integrated analysis management device of ETL program and an integrated analysis management method thereof that can easily perform maintenance and ensure high quality as a whole system. is there.
- a program analysis is performed to analyze an estimated value calculated as each of a plurality of unit processes constituting the read program is executed based on the set analysis condition.
- Division between the unit processing satisfying the predetermined condition and another unit processing subsequent thereto when the predetermined value satisfies the predetermined condition in relation to the predetermined threshold value, and the divided unit processing A module division unit that creates a module configured as a unit, a module storage control unit that stores the module in a storage device, and a module stored in the storage device based on a set search condition in another implementation
- a module evaluation unit for receiving an evaluation of the desired module. Characterized in that it comprises a.
- the integrated analysis management device of the program is read based on the set analysis condition.
- the integrated analysis management apparatus evaluates the desired module by referring to a step of searching for a desired module available from the modules stored in the storage device based on the set search condition. And a module evaluation process to be received.
- FIG. 1 It is a block diagram showing a schematic structure of an integrated analysis management device of a program by this embodiment. It is a figure which shows the example of a table structure of the analysis parameter management table shown in FIG. It is a figure which shows the example of a table structure of the module information management table shown in FIG. It is a figure which shows the example of a table structure of the utilization log
- FIG. 6 It is a figure which shows an example of the input method of the analysis conditions shown in FIG. It is a figure which shows a detailed example of the analysis method shown in FIG. It is a figure which shows an example of the process regarding the division shown in FIG.6 and FIG.7. It is a flowchart which shows the detail of the module evaluation process shown in FIG. It is a flowchart which shows the detail of the pattern matching process shown in FIG. It is a figure which shows an example of a module accumulation
- FIG. 1 shows a schematic configuration of an integrated analysis and management device for a program according to this embodiment.
- the integrated analysis management device mainly includes the system device 100, and further includes a client terminal 101 and a network 102.
- the system apparatus 100 analyzes the configuration of an input predetermined program, for example, an ETL (Extract Transform Load) program, and then performs a plurality of unit processes constituting the ETL program.
- an input predetermined program for example, an ETL (Extract Transform Load) program
- ETL Extract Transform Load
- analysis storage function a module configured by grouping of the divided unit processing as a module group 41 to be described later.
- the above-described unit processing is called “step” separately from the meaning normally used.
- the client terminal 101 is a computer operated by the user. While the client terminal 101 presents information related to the module (hereinafter referred to as “module information”) to a user who creates a new ETL program and tries another implementation, the user is notified to the user whether the module actually helped or not. Has a function to evaluate (hereinafter referred to as "reference evaluation function"). That is, the client terminal 101 is operated by the user when searching for the module group 41 stored in the system apparatus 100.
- the system unit 100 includes a CPU 1, a main storage 2, and auxiliary storages 3 and 4.
- the auxiliary storage devices 3 and 4 may be integrated.
- the CPU 1 controls the entire system unit 100.
- the main storage device 2 corresponds to a main memory, and stores software executed by the CPU 1.
- the reading unit 21, the condition setting unit 22, the program analysis unit 23, the module division unit 24, the module storage control unit 25, the module evaluation unit 26, and the display control unit 27 operate.
- the auxiliary storage device 3 is, for example, a hard disk drive or a flash memory, and mainly stores a table.
- the auxiliary storage device 3 has an analysis parameter management table 31, a module information management table 32, and a usage history management table 33 which will be described later. Details of each of these tables will be described later.
- the auxiliary storage device 4 shown in FIG. 1 is, for example, a hard disk drive or a flash memory, and mainly stores programs and data.
- the auxiliary storage device 4 has a module group 41. Details of the module group 41 will be described later.
- FIG. 2 shows an example of the table configuration of the analysis parameter management table 31 shown in FIG.
- the analysis parameter management table 31 has its record changed so as to be divisible according to the trend at the time of the above-mentioned segmentation.
- the analysis parameter management table 31 has, as its columns, a system requirement pattern, an analysis ID, for example, three division thresholds (first division threshold, second division threshold and third division threshold), average division, as its columns It has the number of modules, the number of times of use, and the date and time of use.
- the reference step is illustrated as the first division threshold
- the ratio [%] is illustrated as the second division threshold
- the magnitude relationship is illustrated as the third division threshold.
- the system requirement pattern indicates that “pattern 100” (for example, record groups 31A, 31B, and 31C) reads data from the file system and performs complex processing of a predetermined step or more.
- the system requirement pattern is "pattern 200" (for example, record groups 31D, 31E, 31F), it indicates that data is read from the module information management table 32 and simple processing is performed.
- the reference step as the first division threshold represents the reference step of the steps to be divided, and for example, the initial step, the maximum step and the minimum step are illustrated.
- the ratio [%] as the second division threshold indicates a ratio for determining whether or not the data should be divided according to how much the amount of data is in each step.
- the above data amount has become in what state in relation to the proportion [%] (for example, the above Or indicates that each step should be divided as a trigger.
- the analysis ID is an identifier for distinguishing between analyzes based on the set analysis conditions.
- the threshold of pattern 100 is ranked in the order of analysis ID 103, 102, 101, for example, while the threshold of pattern 200 is in the order of analysis ID 201, 202, 203, for example. It has been ranked.
- the average number of divisional modules represents the average number of times that the module division unit 24 divides one ETL program into modules which are a group of steps.
- the number of uses indicates the number of uses subsequently referred to for each record 31A and the like.
- the utilization date represents the date referred to as such.
- FIG. 3 shows a table configuration example of the module information management table 32 shown in FIG.
- the module information management table 32 is a table for enabling search with keywords, categories, and / or tags when referring to module information. Details of the module information management table 32 will be described later.
- FIG. 4 shows a table configuration example of the usage history management table 33 shown in FIG.
- the module information management table 32 has, as its columns, module ID, module name, module outline, analysis ID, total number of steps, input format, output format, 1st, 2nd, ..., nth (N: natural number), category, tag, number of times of utilization, utilization user, utilization date and time, and evaluation comment.
- the use history management table 33 has a user and a use module ID as its columns, as shown in the upper part of FIG. 4, in order to recommend an optimal module to the user.
- the user represents a user who is attempting to utilize a module used by another user.
- the utilization module ID corresponds to the module ID shown in FIG. 3 and is an identifier for identifying a module utilized by the user.
- the utilization module ID is “1”.
- Users B, C, and D are searched as other users using the module including the utilization module ID.
- the module "2", the module "3" and the module "4" associated with the other users B, C and D are recommended to the user A. Become.
- FIG. 5 shows an example of the software configuration in the present embodiment.
- the reading unit 21 reads the input ETL program.
- the condition setting unit 22 sets an analysis condition including, for example, a data amount, a constraint condition, and a system condition, in accordance with the user's input.
- the program analysis unit 23 executes an analysis process of calculating the data amount of each step based on the input and output data amount.
- step represents the unit process described above, unlike the step (procedure) of the general expression.
- unit processing united divided as described above is defined as “module” and used.
- the module division unit 24 performs predetermined conditions (hereinafter referred to as “division” in which the estimated value (for example, the amount of input and output data) calculated in accordance with each execution of the plurality of steps constituting the ETL program It is determined whether or not the threshold condition is satisfied. Specifically, the module division unit 24 performs the step of satisfying the division threshold condition for each division point at which the data amount of the input and output exceeds (or more) or falls (or does not exceed) a predetermined threshold, and the other subsequent steps. The steps are divided as necessary at the division points between the step of and the step, and a module configured by a group of the divided steps is created.
- the module storage control unit 25 stores the module as a part of the module group 41 in the auxiliary storage device 4 and stores module information on the module in the module information management table 32.
- the module evaluation unit 26 searches the module information stored in the module information management table 32 according to the analysis condition input by the user and causes the display control unit 27 to display it. It has a function of newly registering, in the module information management table 32, a module evaluation which is an evaluation content input by the user regarding the module information displayed by the display control unit 27, and updating the registered module information. Details of the function of the module evaluation unit 26 will be described later.
- the display control unit 27 illustrated in FIG. 1 has a function of displaying module information and the like retrieved from the module information management table 32, although specific display contents will be described later.
- FIG. 6 shows an example of the first half of the integrated analysis management process
- FIG. 7 shows an example of the second half of the integrated analysis management process shown in FIG. .
- 8 shows an example of the analysis condition input method shown in FIG. 6
- FIG. 9 shows a detailed example of the analysis method shown in FIG. 6,
- FIG. 10 shows the process related to the division shown in FIGS. An example is shown.
- the reading unit 21 reads the input ETL program (S1 in FIG. 6).
- the condition setting unit 22 sets an analysis condition input by the user (S2 in FIG. 6).
- the analysis conditions include, for example, the amount of analysis data, division constraints, and system requirement patterns.
- Such an analysis condition input screen is configured as shown on the left side of FIG. 8, and an analysis data amount input field 27A capable of inputting an analysis data amount [bytes] as a data amount to be given as an input at the time of analysis;
- a system requirement pattern 27B capable of inputting a system requirement pattern for automatically setting a threshold (corresponding to a division threshold to be described later) at the time of division, and a group of steps that are functionally meaningless when divided, or
- Constraint condition setting button 27C capable of setting conditions (hereinafter referred to as "division constraint conditions") for preventing division of a set of steps that is obviously useful as a function, and set analysis conditions
- a search execution button 27D as an operation unit for executing a search based on the search result.
- the program analysis unit 23 executes an analysis process of calculating the amount of input and output data in each step.
- the program analysis unit 23 automatically generates analysis data according to the amount of analysis data specified by the above-described analysis conditions (S3 in FIG. 6), and an analysis target program is generated using this analysis data.
- Execute (S4 in FIG. 6).
- the format of analysis data may be various formats such as CSV, text, database, or JSON.
- the analysis target program is executed based on the information shown on the relationship screen with the step field. Be done.
- the next step hereinafter referred to as the "second step" of the step name "field division”
- 10000 rows x (6 + 5 + 1) bytes 120 Kbytes / step are output.
- the time corresponding to the processing time is 2.7 seconds. Since it is (seconds), the execution time per step (in ms) and the speed can also be acquired, and therefore, analysis may be performed by weighting with these values.
- the module division unit 24 implements the following operation loop until the number of steps is reached (S5 and S9 in FIG. 6).
- the module division unit 24 acquires the amount of data input / output when each step in this analysis target program is executed (S6 in FIG. 6), and this data amount is referred to as a predetermined threshold (hereinafter referred to as "division threshold"). It is determined whether or not the division threshold condition is satisfied in comparison with the above (S7 in FIG. 6).
- the data amount mentioned here indicates, as an example, an input data amount of each step + a difference data amount which is increased or decreased by the execution of each step.
- the module division unit 24 sets the amount of input / output data in each module constituting the ETL program to satisfy the division threshold condition, that is, for each portion exceeding (or more) or below (or less) the division threshold. It is determined whether it is necessary to divide modules as necessary.
- the module division unit 24 analyzes the analysis data of each step as an example when the analysis data amount with respect to the time in each step shown in FIG. 10 is analyzed according to the system requirement pattern which is a part of the analysis condition.
- a step which is equal to or less than the division threshold DT of 50% of the analysis data of the initial step is set as a division candidate.
- the module division unit 24 selects two steps having the step names “selection / name change 1” and “line alignment 2” as division candidates.
- the module division unit 24 performs division constraints. A group of these two steps which is imposed is excluded from the division candidates for each step.
- the module division unit 24 sets this step as a division candidate (S8 in FIG. 6), counts up the number of times the division threshold condition is satisfied, and divides the total value. Set as the number of candidates.
- the module division unit 24 calls each step, for example, “CSV input”, “field division”, “line alignment”, and “selection / rename 1” as shown in the lower part of FIG.
- Module A consisting of 4 steps of step name
- Module B consisting of 2 steps of “Execute for SQL”
- Data verification and “Line alignment 2”
- Division constraint is imposed and divided
- the module C is divided into three modules, which have three step names of “line combination”, “selection / rename 2” and “text file output”, which are not performed.
- the module division unit 24 executes the following division loop over the number of division candidates as described above (S10 and S14 in FIG. 7). In this division loop, the module division unit 24 determines whether a division constraint condition is set (S11 in FIG. 7).
- the division constraint condition represents a condition where division should not be performed if division of the target step is not desired to be divided halfway even if the division threshold condition is satisfied. There is.
- the module division unit 24 excludes the group of the target steps from the division candidates (S12 in FIG. 7), and when the division constraint condition is not set, the module division unit 24 A set of steps to be performed is divided to create a module configured by the set of steps (S13 in FIG. 7).
- the module division unit 24 manages, as a division number, the number of times the division is actually performed for each group of steps in one ETL program.
- FIG. 11 shows details of the module evaluation process shown in FIG. 4, and FIG. 12 shows details of the pattern matching process shown in FIG.
- FIG. 13 shows an example of a module storage interface screen, and
- FIG. 14 shows an example of a tuning method in the evaluation method.
- the module evaluation unit 26 executes an evaluation loop until the division number is reached (S21 and S24 in FIG. 11). First, the module evaluation unit 26 acquires module information of the module information management table 32 (S22 in FIG. 11). Next, in the processing step S23, the module evaluation unit 26 executes the pattern match determination processing as follows (S23 in FIG. 11).
- the module evaluation unit 26 acquires an analysis ID of a divided program to be evaluated (S31 in FIG. 12). Next, the module evaluation unit 26 determines whether or not the module information on the module to which the analysis ID obtained in this way is added is present in the module information management table 32 (S32 in FIG. 12).
- the module evaluation unit 26 sets the evaluation to "unknown" (S33 in FIG. 12).
- the module information management table 32 (see FIG. It is determined whether or not there is one or more pieces of module information in which the number of times of utilization is one or more (S34 in FIG. 12).
- module evaluation unit 26 sets the evaluation to “ ⁇ (minimum)” when there is no module information having a usage count of 1 or more (S35 in FIG. 12), module information having a usage count of 1 or more exists In the case, the module information of the module with the highest frequency of use is acquired (S36 in FIG. 12).
- the module evaluation unit 26 determines whether the number of steps (number of steps) constituting the divided program to be evaluated satisfies the condition of ⁇ 5 (S37 in FIG. 12).
- module evaluation unit 26 sets the evaluation to “ ⁇ (low)” when this condition is not satisfied (S 38 in FIG. 12), the module evaluation unit 26 compares the identity of the step list when this condition is satisfied (FIG. 12 S39). That is, the module evaluation unit 26 determines whether or not the steps included in the step list are the same.
- the module evaluation unit 26 compares the identity of the step order (S40 in FIG. 12). That is, the module evaluation unit 26 determines whether the order of the steps matches.
- the module evaluation unit 26 sets the evaluation of the divided program that is the evaluation object that most closely matches to “ ⁇ (best)” (S41 in FIG. 12).
- the module evaluation unit 26 sets the evaluation of the post-division program, which is the other evaluation target, to “o (good)” (S42 in FIG. 12).
- the module evaluation unit 26 repeats the above-described processing over the number of divisions (S21, 24 in FIG. 11).
- the module evaluation unit 26 causes the display control unit 27 to create an evaluation result list in which each evaluation result as described above is listed (S25 in FIG. 11), and as shown in FIG.
- the module storage interface screen based on the list is displayed (S16 in FIG. 7).
- a recommendation degree as shown in FIG. 13B (hereinafter referred to as “recommendation degree” The explanation regarding) is shown.
- This recommendation degree is defined from the relationship between the number of times of utilization managed in the module information management table 32, the total number of steps constituting the module, and each step.
- the user refers to the evaluation result list on the module storage interface screen as described above, for example, to select the module information of “ ⁇ ”having a higher degree of recommendation shown in FIG.
- a check mark 27F is added, and the module outline is input to the module outline input field 27G as necessary, and the registration button 27H is pressed.
- the module evaluation unit 26 registers the module information with a check mark in the check box 27F in the module information management table 32, and makes it possible to refer to this.
- FIG. 14 shows an application example of the evaluation method shown in FIG.
- the module evaluation unit 26 performs the following evaluations in addition to the four evaluations of the recommendation rates “ ⁇ ⁇ ⁇ ⁇ ”, “ ⁇ ”,“ ⁇ ”, and“ x ”shown in FIG. A method may be adopted.
- the module evaluation unit 26 determines the type and order of steps. After performing the comparison process, it is recommended to change the configuration of program "2" as follows. That is, the module evaluation unit 26 inserts step B between step A and step C constituting the program "2" to add step E following step D so as to resemble the step configuration of the best program. Suggest to do.
- the module evaluation unit 26 compares the program “1” with the best program, and as a result, 5 steps out of 6 steps are identical, and the program “2” is compared with the best program. As a result, the comparison of the steps is performed such that three out of three steps are identical, and so on.
- the module evaluation unit 26 compares the program “1” with the best program, and as a result, the connection between the four steps is the same, and the program “2” is the best. As a result of comparison with the program, the steps are compared with each other such that the connection between one step is identical.
- FIG. 15 shows an example of reference evaluation processing
- FIG. 16 shows an example of a screen displayed along with execution of reference evaluation processing.
- the module evaluation unit 26 searches and acquires module information stored in the module information management table 32 according to the desired search condition input by the user (S51 of FIG. 15) (S52 of FIG. 15). As a specific operation, after the user inputs a desired keyword to the keyword 27N or operates the category 27O and / or the tag 27P in the search condition input screen shown in the upper part of FIG. By pressing the search button 27Q, the module evaluation unit 26 executes the above-described search processing.
- the module evaluation unit 26 causes the display control unit 27 to display module information corresponding to the analysis condition (S53 in FIG. 15).
- module information acquired as described above is ranked and displayed.
- the search result display screen for example, the order, the category, the module (corresponding to the illustrated module), the summary, and the number of times of utilization are displayed as the acquired module information.
- the first-ranked module information has 119 applications, which makes it easy to visually recognize that the number of applications in the past by others is the highest.
- the module evaluation unit 26 When the module evaluation which is the evaluation content is input by the user according to the module information displayed by the display control unit 27 (S54 in FIG. 15), the module evaluation unit 26 newly registers in the module information management table 32 or The registered module information is updated (S55 in FIG. 15).
- the present invention can be widely applied to, for example, an integrated analysis management device of a program such as an ETL (Extract Transform Load) program and an integrated analysis management method thereof.
- ETL Extract Transform Load
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)
Abstract
[Problem] To make maintenance easy to implement, and to ensure high quality and reduce the number of steps for a system overall. [Solution] The present invention comprises: a program analysis unit that analyzes, on the basis of a set analysis condition, a predicted value calculated in conjunction with the execution of each of a plurality of unit processes constituting a program which has been read in; a module division unit that, if the predicted value satisfies a prescribed condition in relation to an established threshold value, creates a division between unit processes which satisfy the prescribed condition and other unit processes that follow those processes, and creates modules comprising a collection of unit processes that have been divided up; and a module accumulation control unit that accumulates the modules in a storage device. At the time of other implementations, a usable desired module can be retrieved, on the basis of a set retrieval condition, from among the modules accumulated in the storage device.
Description
本発明は、プログラムの統合解析管理装置及びその統合解析管理方法に関し、特に、抽出したデータに所定の処理を施した上でこの処理後のデータを外部に引き渡すETL(Extract Transform Load)プログラムの統合解析管理装置に適用して好適なものである。
The present invention relates to an integrated analysis and management apparatus for a program and an integrated analysis and management method thereof, and in particular, an integrated ETL (Extract Transform Load) program that delivers processed data to the outside after performing predetermined processing on extracted data It is suitable for application to an analysis management device.
近年、企業内に散在する情報資産を統合、分析するデータマネージメントが注目されており、様々な形式のデータを統合して活用するためにETLツールが利用されている。このようなETLツールを利用することにより、あるデータ処理プログラムを実装しようとした場合、GUIによって直感的にアイコンをドラッグ&ドロップするだけで、ほぼプログラミングを必要とせず、そのデータ処理プログラムを作成することができる。データ処理システムを開発する場合、複雑で大規模となることも多く、一般的には、生産性・保守性・再利用性等の観点から複数のプログラムに分割されて開発・管理される。例えば、特許文献1では、プログラムのデータサイズが閾値を超えるところで分割するという方法が提案されている。
In recent years, data management that integrates and analyzes information assets scattered in a company has attracted attention, and ETL tools are used to integrate and utilize various types of data. When implementing a data processing program by using such an ETL tool, create the data processing program by simply dragging and dropping the icon intuitively with the GUI, substantially without requiring programming. be able to. When developing a data processing system, it is often complicated and large-scaled, and in general, it is divided into a plurality of programs from the viewpoint of productivity, maintainability, reusability and the like, and is developed and managed. For example, Patent Document 1 proposes a method in which division is performed where the data size of a program exceeds a threshold.
しかしながら、特許文献1の方法ではデータ量の変化で分割点(区切り)を判定することができず、意味のあるデータ処理単位でのプログラムの分割および管理はできなかった。また、ETLプログラムを実装する場合、複雑で大規模なシステムとなることが多く複数の作成者ごとに千差万別な仕上がりとなってしまい、その後のメンテナンスを実施し難くシステム全体として品質の低下に繋がってしてしまうという問題点があった。
However, according to the method of Patent Document 1, the division point (division) can not be determined due to the change of the data amount, and the division and management of the program in a meaningful data processing unit can not be performed. In addition, when implementing an ETL program, it often becomes a complicated and large-scale system, resulting in various finishes for multiple creators, making it difficult to carry out subsequent maintenance and lowering the quality of the entire system There was a problem that would lead to
本発明は以上の点を考慮してなされたもので、メンテナンスを実施し易くしてシステム全体として高い品質を確保できるETLプログラムの統合解析管理装置及びその統合解析管理方法を提案しようとするものである。
The present invention has been made in consideration of the above points, and proposes an integrated analysis management device of ETL program and an integrated analysis management method thereof that can easily perform maintenance and ensure high quality as a whole system. is there.
かかる課題を解決するため、本発明においては、設定された解析条件に基づいて、読み込まれたプログラムを構成する複数の単位処理を各々実行することに伴って算出される見込み値を解析するプログラム解析部と、前記見込み値が既定の閾値との関係で所定の条件を満たす場合、前記所定の条件を満たす単位処理とそれに続く他の単位処理との間で分割し、前記分割された単位処理のまとまりで構成されるモジュールを作成するモジュール分割部と、前記モジュールを記憶装置に蓄積するモジュール蓄積制御部と、他の実装に際し、設定された検索条件に基づいて、前記記憶装置に蓄積されたモジュールのうちから利用可能な所望のモジュールを検索する参照工程と、前記所望のモジュールについて評価を受け付けるモジュール評価部と、を備えることを特徴とする。
In order to solve such problems, in the present invention, a program analysis is performed to analyze an estimated value calculated as each of a plurality of unit processes constituting the read program is executed based on the set analysis condition. Division between the unit processing satisfying the predetermined condition and another unit processing subsequent thereto when the predetermined value satisfies the predetermined condition in relation to the predetermined threshold value, and the divided unit processing A module division unit that creates a module configured as a unit, a module storage control unit that stores the module in a storage device, and a module stored in the storage device based on a set search condition in another implementation And a module evaluation unit for receiving an evaluation of the desired module. Characterized in that it comprises a.
また、本発明においては、プログラムを統合して解析及び管理する統合解析管理装置におけるプログラムの統合解析管理方法において、前記プログラムの統合解析管理装置が、設定された解析条件に基づいて、読み込まれた前記プログラムを構成する複数の単位処理を各々実行することに伴って算出される見込み値を解析するプログラム解析工程と、前記統合解析管理装置が、前記見込み値が既定の閾値との関係で所定の条件を満たす場合、前記所定の条件を満たす単位処理とそれに続く他の単位処理との間で分割し、前記分割された単位処理のまとまりで構成されるモジュールを作成するモジュール分割工程と、前記統合解析管理装置が、前記モジュールを記憶装置に蓄積するモジュール蓄積工程と、前記統合解析管理装置が、他の実装に際し、設定された検索条件に基づいて、前記記憶装置に蓄積されたモジュールのうちから利用可能な所望のモジュールを検索する参照工程と、前記統合解析管理装置が、前記所望のモジュールについて評価を受け付けるモジュール評価工程と、を実行することを特徴とする。
Further, in the present invention, in the integrated analysis management method of a program in an integrated analysis management device which integrates, analyzes, and manages a program, the integrated analysis management device of the program is read based on the set analysis condition. A program analysis step of analyzing an estimated value calculated along with execution of each of a plurality of unit processes constituting the program; and the integrated analysis management device determines that the estimated value is a predetermined threshold in relation to a predetermined threshold value. A module division step of dividing a unit processing satisfying the predetermined condition and another unit processing subsequent thereto to create a module configured by a unit of the divided unit processing; A module storage step in which the analysis management device stores the module in a storage device; and the integrated analysis management device performs another implementation The integrated analysis management apparatus evaluates the desired module by referring to a step of searching for a desired module available from the modules stored in the storage device based on the set search condition. And a module evaluation process to be received.
本発明によれば、メンテナンスを実施し易くしてシステム全体として高い品質を確保することができる。
According to the present invention, maintenance can be easily performed and high quality can be secured as a whole system.
以下、図面について、本発明の一実施の形態について詳述する。
Hereinafter, an embodiment of the present invention will be described in detail with reference to the drawings.
(1)本実施の形態によるプログラムの統合解析管理装置の構成
図1は、本実施の形態によるプログラムの統合解析管理装置の概略構成を示す。統合解析管理装置は、主としてシステム装置100を備えており、さらにはクライアント端末101及びネットワーク102を備えている。 (1) Configuration of Integrated Analysis and Management Device for Program According to this Embodiment FIG. 1 shows a schematic configuration of an integrated analysis and management device for a program according to this embodiment. The integrated analysis management device mainly includes thesystem device 100, and further includes a client terminal 101 and a network 102.
図1は、本実施の形態によるプログラムの統合解析管理装置の概略構成を示す。統合解析管理装置は、主としてシステム装置100を備えており、さらにはクライアント端末101及びネットワーク102を備えている。 (1) Configuration of Integrated Analysis and Management Device for Program According to this Embodiment FIG. 1 shows a schematic configuration of an integrated analysis and management device for a program according to this embodiment. The integrated analysis management device mainly includes the
まず、システム装置100の概要について説明すると、このシステム装置100は、入力された所定のプログラム、例えばETL(Extract Transform Load)プログラムの構成を解析し、その後、当該ETLプログラムを構成する複数の単位処理を後述するように必要に応じて分割し、当該分割された単位処理のまとまりで構成されるモジュールを、後述するモジュール群41として蓄積する機能を有する(以下「解析蓄積機能」という)。なお、本実施の形態では、上述した単位処理を、通常用いられる意味とは別に「ステップ」と呼ぶものとする。
First, an outline of the system apparatus 100 will be described. The system apparatus 100 analyzes the configuration of an input predetermined program, for example, an ETL (Extract Transform Load) program, and then performs a plurality of unit processes constituting the ETL program. As will be described later, and has a function of storing a module configured by grouping of the divided unit processing as a module group 41 to be described later (hereinafter referred to as “analysis storage function”). In the present embodiment, the above-described unit processing is called “step” separately from the meaning normally used.
一方、クライアント端末101は、ユーザによって操作されるコンピュータである。クライアント端末101は、当該モジュールに関する情報(以下「モジュール情報」という)を、新たなETLプログラムを作成して他の実装を試みるユーザに提示する一方、当該モジュールが実際に役立ったか否かについてユーザに評価させる機能を有する(以下「参照評価機能」という)。すなわち、クライアント端末101は、システム装置100に蓄積されたモジュール群41を検索する際にユーザによって操作される。
On the other hand, the client terminal 101 is a computer operated by the user. While the client terminal 101 presents information related to the module (hereinafter referred to as “module information”) to a user who creates a new ETL program and tries another implementation, the user is notified to the user whether the module actually helped or not. Has a function to evaluate (hereinafter referred to as "reference evaluation function"). That is, the client terminal 101 is operated by the user when searching for the module group 41 stored in the system apparatus 100.
システム装置100は、CPU1、主記憶装置2及び補助記憶装置3,4を備えている。なお、補助記憶装置3,4は一体であっても良い。CPU1は、システム装置100全体を制御している。
The system unit 100 includes a CPU 1, a main storage 2, and auxiliary storages 3 and 4. The auxiliary storage devices 3 and 4 may be integrated. The CPU 1 controls the entire system unit 100.
主記憶装置2は、メインメモリに相当し、CPU1によって実行されるソフトウェアが記憶されている。主記憶装置2では、読み込み部21、条件設定部22、プログラム解析部23、モジュール分割部24、モジュール蓄積制御部25、モジュール評価部26及び表示制御部27が動作している。
The main storage device 2 corresponds to a main memory, and stores software executed by the CPU 1. In the main storage device 2, the reading unit 21, the condition setting unit 22, the program analysis unit 23, the module division unit 24, the module storage control unit 25, the module evaluation unit 26, and the display control unit 27 operate.
補助記憶装置3は、例えば、ハードディスク装置またはフラッシュメモリであり、主としてテーブルを格納する。この補助記憶装置3は、後述する解析パラメータ管理テーブル31、モジュール情報管理テーブル32及び活用履歴管理テーブル33を有する。これら各テーブルの詳細については後述する。
The auxiliary storage device 3 is, for example, a hard disk drive or a flash memory, and mainly stores a table. The auxiliary storage device 3 has an analysis parameter management table 31, a module information management table 32, and a usage history management table 33 which will be described later. Details of each of these tables will be described later.
一方、図1に示す補助記憶装置4は、例えば、ハードディスク装置またはフラッシュメモリであり、主としてプログラム、データを格納する。この補助記憶装置4は、モジュール群41を有する。モジュール群41についての詳細は後述する。
On the other hand, the auxiliary storage device 4 shown in FIG. 1 is, for example, a hard disk drive or a flash memory, and mainly stores programs and data. The auxiliary storage device 4 has a module group 41. Details of the module group 41 will be described later.
図2は、図1に示す解析パラメータ管理テーブル31のテーブル構成例を示す。解析パラメータ管理テーブル31は、上述した分割の際にトレンドに応じて分割可能にするためにレコードが変更される。
FIG. 2 shows an example of the table configuration of the analysis parameter management table 31 shown in FIG. The analysis parameter management table 31 has its record changed so as to be divisible according to the trend at the time of the above-mentioned segmentation.
解析パラメータ管理テーブル31は、そのカラムとして、図示のように、システム要件パターン、解析ID、例えば3つの分割閾値(第1の分割閾値、第2の分割閾値及び第3の分割閾値)、平均分割モジュール数、活用回数、並びに活用日時を有する。本実施の形態では、第1の分割閾値として基準ステップが、第2の分割閾値として割合[%]が、第3の分割閾値として大小関係が、例示されている。
The analysis parameter management table 31 has, as its columns, a system requirement pattern, an analysis ID, for example, three division thresholds (first division threshold, second division threshold and third division threshold), average division, as its columns It has the number of modules, the number of times of use, and the date and time of use. In the present embodiment, the reference step is illustrated as the first division threshold, the ratio [%] as the second division threshold, and the magnitude relationship is illustrated as the third division threshold.
システム要件パターンは、「パターン100」であると(例えばレコード群31A,31B,31C)、ファイルシステムからデータを読み込み、所定ステップ以上の複雑な加工を実施することを示している。一方、システム要件パターンは、「パターン200」であると(例えばレコード群31D,31E,31F)、モジュール情報管理テーブル32からデータを読み込み、簡潔な加工を実施することを示している。
The system requirement pattern indicates that “pattern 100” (for example, record groups 31A, 31B, and 31C) reads data from the file system and performs complex processing of a predetermined step or more. On the other hand, if the system requirement pattern is "pattern 200" (for example, record groups 31D, 31E, 31F), it indicates that data is read from the module information management table 32 and simple processing is performed.
第1の分割閾値としての基準ステップは、分割されるべきステップの基準ステップを表し、例えば、初期ステップ、最大ステップ及び最少ステップが例示されている。
The reference step as the first division threshold represents the reference step of the steps to be divided, and for example, the initial step, the maximum step and the minimum step are illustrated.
第2の分割閾値としての割合[%]は、各ステップにおいてデータ量がどの程度であるかに応じて分割対象とすべきか否かを判定するための比率を示している。
The ratio [%] as the second division threshold indicates a ratio for determining whether or not the data should be divided according to how much the amount of data is in each step.
第3の分割閾値としての大小関係は、第2の分割閾値として割合%が設定されている場合、上記データ量がその割合[%]との関係でどのような状態になった(例えば、以上または以下)ことを契機として各ステップを分割対象とすべきかを表している。
As for the magnitude relationship as the third division threshold, in the case where the proportion% is set as the second division threshold, the above data amount has become in what state in relation to the proportion [%] (for example, the above Or indicates that each step should be divided as a trigger.
解析IDは、設定された解析条件に基づく解析同士を区別するための識別子である。本実施の形態では、パターン100の閾値が、例えば解析IDが103,102,101の順序で順位付けがなされている一方、パターン200の閾値が、例えば解析IDが201,202,203の順序で順位付けがなされている。
The analysis ID is an identifier for distinguishing between analyzes based on the set analysis conditions. In the present embodiment, the threshold of pattern 100 is ranked in the order of analysis ID 103, 102, 101, for example, while the threshold of pattern 200 is in the order of analysis ID 201, 202, 203, for example. It has been ranked.
平均分割モジュール数は、モジュール分割部24によって1つのETLプログラムがステップのまとまりであるモジュールに分割される平均回数を表している。活用回数は、レコード31Aなどごとに、その後参照された活用回数を表す。活用日時は、そのように参照された日時を表す。
The average number of divisional modules represents the average number of times that the module division unit 24 divides one ETL program into modules which are a group of steps. The number of uses indicates the number of uses subsequently referred to for each record 31A and the like. The utilization date represents the date referred to as such.
図3は、図1に示すモジュール情報管理テーブル32のテーブル構成例を示す。モジュール情報管理テーブル32は、モジュール情報の参照時に、キーワード、カテゴリ及び/またはタグで検索可能とするためのテーブルである。モジュール情報管理テーブル32の詳細については後述する。
FIG. 3 shows a table configuration example of the module information management table 32 shown in FIG. The module information management table 32 is a table for enabling search with keywords, categories, and / or tags when referring to module information. Details of the module information management table 32 will be described later.
図4は、図1に示す活用履歴管理テーブル33のテーブル構成例を示す。モジュール情報管理テーブル32は、図示のように、そのカラムとして、モジュールID、モジュール名、モジュール概要、解析ID、ステップ合計数、入力形式、出力形式、1番目、2番目、・・・、n番目(n:自然数)、カテゴリ、タグ、活用回数、活用ユーザ、活用日時、及び評価コメントを有する。
FIG. 4 shows a table configuration example of the usage history management table 33 shown in FIG. As illustrated, the module information management table 32 has, as its columns, module ID, module name, module outline, analysis ID, total number of steps, input format, output format, 1st, 2nd, ..., nth (N: natural number), category, tag, number of times of utilization, utilization user, utilization date and time, and evaluation comment.
活用履歴管理テーブル33は、ユーザに最適なモジュールを推薦するために、以下の活用履歴管理テーブル33は、図4上部に示すように、そのカラムとして、ユーザ及び活用モジュールIDを有する。ユーザは、他のユーザが使用したモジュールの活用を試みようとしているユーザを表している。活用モジュールIDは、図3に示すモジュールIDに対応しており、ユーザによって活用されたモジュールを識別するための識別子である。
The use history management table 33 has a user and a use module ID as its columns, as shown in the upper part of FIG. 4, in order to recommend an optimal module to the user. The user represents a user who is attempting to utilize a module used by another user. The utilization module ID corresponds to the module ID shown in FIG. 3 and is an identifier for identifying a module utilized by the user.
ここで、例えば、ユーザAがモジュール候補を推薦される場合を挙げると、ユーザAは、図4上部に示すように、活用モジュールIDが「1」であるため、この活用モジュールIDが「1」である活用モジュールIDを含むモジュールを利用した他のユーザとしてユーザB,C,Dが検索される。これにより、図4下部に示すようにユーザAに対しては、当該他のユーザB,C,Dに関連付けられたモジュール「2」、モジュール「3」及びモジュール「4」が推薦されるようになる。
Here, for example, when the user A is recommended as a module candidate, as shown in the upper part of FIG. 4, since the utilization module ID is “1”, the utilization module ID is “1”. Users B, C, and D are searched as other users using the module including the utilization module ID. As a result, as shown in the lower part of FIG. 4, the module "2", the module "3" and the module "4" associated with the other users B, C and D are recommended to the user A. Become.
(2)ソフトウェアの機能
図5は、本実施の形態におけるソフトウェア構成の一例を示す。 (2) Function of Software FIG. 5 shows an example of the software configuration in the present embodiment.
図5は、本実施の形態におけるソフトウェア構成の一例を示す。 (2) Function of Software FIG. 5 shows an example of the software configuration in the present embodiment.
(2-1)解析蓄積機能
まず、解析蓄積機能に関連する構成は次のようになっている。読み込み部21は、入力されたETLプログラムを読み込む。条件設定部22は、ユーザの入力に応じて、例えばデータ量、制約条件及びシステム条件を含む解析条件を設定する。 (2-1) Analysis storage function First, the configuration related to the analysis storage function is as follows. Thereading unit 21 reads the input ETL program. The condition setting unit 22 sets an analysis condition including, for example, a data amount, a constraint condition, and a system condition, in accordance with the user's input.
まず、解析蓄積機能に関連する構成は次のようになっている。読み込み部21は、入力されたETLプログラムを読み込む。条件設定部22は、ユーザの入力に応じて、例えばデータ量、制約条件及びシステム条件を含む解析条件を設定する。 (2-1) Analysis storage function First, the configuration related to the analysis storage function is as follows. The
プログラム解析部23は、入出力のデータ量に基づいて各ステップのデータ量を算出する解析処理を実行する。既に説明したように本実施の形態において「ステップ」とは、一般的な表現のステップ(手順)とは異なり、上述した単位処理を表す。また同様に、上述のように分割された「単位処理のまとまり」を「モジュール」と定義して用いる。
The program analysis unit 23 executes an analysis process of calculating the data amount of each step based on the input and output data amount. As described above, in the present embodiment, “step” represents the unit process described above, unlike the step (procedure) of the general expression. Similarly, "unit processing united" divided as described above is defined as "module" and used.
モジュール分割部24は、ETLプログラムを構成する複数のステップを各々実行することに伴って算出される見込み値(例えば入出力のデータ量)が既定の閾値との関係で所定の条件(以下「分割閾値条件」という)を満たすか否かを判定する。具体的には、モジュール分割部24は、上記入出力のデータ量が既定の閾値を超える(若しくは以上)又は下回る(若しくは以下)分割点ごとに、上記分割閾値条件を満たすステップと、それに続く他のステップとの間の分割点で必要に応じてステップ同士を分割し、当該分割されたステップのまとまりで構成されるモジュールを作成する。
The module division unit 24 performs predetermined conditions (hereinafter referred to as “division” in which the estimated value (for example, the amount of input and output data) calculated in accordance with each execution of the plurality of steps constituting the ETL program It is determined whether or not the threshold condition is satisfied. Specifically, the module division unit 24 performs the step of satisfying the division threshold condition for each division point at which the data amount of the input and output exceeds (or more) or falls (or does not exceed) a predetermined threshold, and the other subsequent steps. The steps are divided as necessary at the division points between the step of and the step, and a module configured by a group of the divided steps is created.
モジュール蓄積制御部25は、当該モジュールをモジュール群41の一部として補助記憶装置4に格納するとともに、当該モジュールに関するモジュール情報をモジュール情報管理テーブル32に蓄積する。
The module storage control unit 25 stores the module as a part of the module group 41 in the auxiliary storage device 4 and stores module information on the module in the module information management table 32.
(2-2)参照評価機能
モジュール評価部26は、ユーザによって入力された解析条件に応じて、モジュール情報管理テーブル32に格納されているモジュール情報を検索して表示制御部27に表示させたり、表示制御部27によって表示されたモジュール情報に関してユーザが入力した評価内容であるモジュール評価をモジュール情報管理テーブル32に新規に登録したり登録済みのモジュール情報を更新する機能を有する。モジュール評価部26の機能の詳細については後述する。 (2-2) Reference evaluation function Themodule evaluation unit 26 searches the module information stored in the module information management table 32 according to the analysis condition input by the user and causes the display control unit 27 to display it. It has a function of newly registering, in the module information management table 32, a module evaluation which is an evaluation content input by the user regarding the module information displayed by the display control unit 27, and updating the registered module information. Details of the function of the module evaluation unit 26 will be described later.
モジュール評価部26は、ユーザによって入力された解析条件に応じて、モジュール情報管理テーブル32に格納されているモジュール情報を検索して表示制御部27に表示させたり、表示制御部27によって表示されたモジュール情報に関してユーザが入力した評価内容であるモジュール評価をモジュール情報管理テーブル32に新規に登録したり登録済みのモジュール情報を更新する機能を有する。モジュール評価部26の機能の詳細については後述する。 (2-2) Reference evaluation function The
図1に示す表示制御部27は、具体的な表示内容については後述するが、モジュール情報管理テーブル32から検索したモジュール情報などを表示する機能を有する。
The display control unit 27 illustrated in FIG. 1 has a function of displaying module information and the like retrieved from the module information management table 32, although specific display contents will be described later.
(3)ETLプログラムの統合解析管理方法
本実施の形態による統合解析管理装置の概略構成は以上のようであり、次に、この統合解析管理装置において実行されるプログラムの統合解析管理方法として統合解析管理装置の動作例について説明する。 (3) Integrated analysis management method of ETL program The schematic configuration of the integrated analysis management device according to the present embodiment is as described above. Next, integrated analysis as a method of integrated analysis management of a program executed in this integrated analysis management device An operation example of the management apparatus will be described.
本実施の形態による統合解析管理装置の概略構成は以上のようであり、次に、この統合解析管理装置において実行されるプログラムの統合解析管理方法として統合解析管理装置の動作例について説明する。 (3) Integrated analysis management method of ETL program The schematic configuration of the integrated analysis management device according to the present embodiment is as described above. Next, integrated analysis as a method of integrated analysis management of a program executed in this integrated analysis management device An operation example of the management apparatus will be described.
(3-1)統合解析管理処理
図6は、統合解析管理処理のうちの前半の処理一例を示し、図7は、図6に示す統合解析管理処理の続きである後半の処理の一例を示す。図8は、図6に示す解析条件の入力方法の一例を示し、図9は、図6に示す解析方法の詳細な一例を示し、図10は、図6及び図7に示す分割に関する処理の一例を示す。 (3-1) Integrated Analysis Management Process FIG. 6 shows an example of the first half of the integrated analysis management process, and FIG. 7 shows an example of the second half of the integrated analysis management process shown in FIG. . 8 shows an example of the analysis condition input method shown in FIG. 6, FIG. 9 shows a detailed example of the analysis method shown in FIG. 6, and FIG. 10 shows the process related to the division shown in FIGS. An example is shown.
図6は、統合解析管理処理のうちの前半の処理一例を示し、図7は、図6に示す統合解析管理処理の続きである後半の処理の一例を示す。図8は、図6に示す解析条件の入力方法の一例を示し、図9は、図6に示す解析方法の詳細な一例を示し、図10は、図6及び図7に示す分割に関する処理の一例を示す。 (3-1) Integrated Analysis Management Process FIG. 6 shows an example of the first half of the integrated analysis management process, and FIG. 7 shows an example of the second half of the integrated analysis management process shown in FIG. . 8 shows an example of the analysis condition input method shown in FIG. 6, FIG. 9 shows a detailed example of the analysis method shown in FIG. 6, and FIG. 10 shows the process related to the division shown in FIGS. An example is shown.
(3-1-1)解析蓄積
まず、読み込み部21が、入力されたETLプログラムを読み込む(図6のS1)。次に条件設定部22が、ユーザによって入力された解析条件を設定する(図6のS2)。ここで、解析条件は、例えば、解析データ量、分割制約条件及びシステム要件パターンを含んでいる。 (3-1-1) Analysis and Accumulation First, thereading unit 21 reads the input ETL program (S1 in FIG. 6). Next, the condition setting unit 22 sets an analysis condition input by the user (S2 in FIG. 6). Here, the analysis conditions include, for example, the amount of analysis data, division constraints, and system requirement patterns.
まず、読み込み部21が、入力されたETLプログラムを読み込む(図6のS1)。次に条件設定部22が、ユーザによって入力された解析条件を設定する(図6のS2)。ここで、解析条件は、例えば、解析データ量、分割制約条件及びシステム要件パターンを含んでいる。 (3-1-1) Analysis and Accumulation First, the
このような解析条件の入力画面は、図8左側に示すように構成されており、解析時に入力として与えるべきデータ量としての解析データ量[バイト]を入力可能な解析データ量入力欄27Aと、分割されるべき際の閾値(後述する分割閾値に相当)を自動的に設定するためのシステム要件パターンを入力可能なシステム要件パターン27Bと、分割すると機能的に意味をなさなくなるステップのまとまり、または、機能的に有用であると明らかなステップの集合について分割対象としないようにするための条件(以下「分割制約条件」という)を設定可能な制約条件設定ボタン27Cと、設定された解析条件に基づいて検索を実行するための操作部としての検索実行ボタン27Dと、を含んでいる。
Such an analysis condition input screen is configured as shown on the left side of FIG. 8, and an analysis data amount input field 27A capable of inputting an analysis data amount [bytes] as a data amount to be given as an input at the time of analysis; A system requirement pattern 27B capable of inputting a system requirement pattern for automatically setting a threshold (corresponding to a division threshold to be described later) at the time of division, and a group of steps that are functionally meaningless when divided, or , Constraint condition setting button 27C capable of setting conditions (hereinafter referred to as "division constraint conditions") for preventing division of a set of steps that is obviously useful as a function, and set analysis conditions And a search execution button 27D as an operation unit for executing a search based on the search result.
なお、制約条件設定ボタン27Cを押下した際には、図8下部に示すように分割されるべきでないステップのまとまりが、ユーザによるマウスポインタの操作に応じて囲い込まれることにより区別され、分割制約条件として登録される。
When the constraint setting button 27C is pressed, the grouping of steps that should not be divided as shown in the lower part of FIG. 8 is distinguished by being enclosed in response to the user's operation of the mouse pointer, Registered as a condition.
プログラム解析部23は、各ステップにおける入出力のデータ量を算出する解析処理を実行する。この解析処理では、プログラム解析部23が、上述した解析条件で指定した解析データ量に応じて解析用データを自動的に生成し(図6のS3)、この解析データを用いて解析対象プログラムを実行する(図6のS4)。なお、解析用データのフォーマットは、例えばCSV、テキスト、データベースまたはJSONなど様々な形式を採用することができる。
The program analysis unit 23 executes an analysis process of calculating the amount of input and output data in each step. In this analysis process, the program analysis unit 23 automatically generates analysis data according to the amount of analysis data specified by the above-described analysis conditions (S3 in FIG. 6), and an analysis target program is generated using this analysis data. Execute (S4 in FIG. 6). Note that the format of analysis data may be various formats such as CSV, text, database, or JSON.
具体的には、図9中央左に示すように、「CSV入力」というステップ名の初期ステップ(第1のステップ)では、ステップフィールドとの関係画面に示す情報に基づいて上記解析対象プログラムが実行される。その結果、図9下部右に示す実行結果のように「CSV入力」というステップ名の初期ステップでは、10000行×(6+5)バイト=110Kバイト/ステップの出力がなされるものと解析される。一方、「フィールド分割」というステップ名のその次のステップ(以下「第2のステップ」という)では、10000行×(6+5+1)バイト=120Kバイト/ステップの出力がなされるものと解析される。
Specifically, as shown in the center left of FIG. 9, in the initial step (first step) of the step name "CSV input", the analysis target program is executed based on the information shown on the relationship screen with the step field. Be done. As a result, in the initial step of the step name "CSV input" as in the execution result shown at the lower right of FIG. 9, it is analyzed that 10000 rows × (6 + 5) bytes = 110 K bytes / step are output. On the other hand, in the next step (hereinafter referred to as the "second step") of the step name "field division", it is analyzed that 10000 rows x (6 + 5 + 1) bytes = 120 Kbytes / step are output.
本実施の形態では、上述のような解析に加えて、さらに、図9下部右に示す実行結果のように「CSV入力」というステップ名の初期ステップでは、処理時間に相当する時間が2.7s(秒)であることから、ステップ当りの実行時間(ms単位)及び速度も取得できるため、これらの値で重み付けして解析するようにしても良い。
In the present embodiment, in addition to the analysis as described above, in the initial step of the step name “CSV input” as shown in the lower right part of FIG. 9, the time corresponding to the processing time is 2.7 seconds. Since it is (seconds), the execution time per step (in ms) and the speed can also be acquired, and therefore, analysis may be performed by weighting with these values.
次に、モジュール分割部24は、ステップ数に達するまで、次のような演算ループを実施する(図6のS5,S9)。まず、モジュール分割部24は、この解析対象プログラムにおける各ステップを実行した際に入出力されるデータ量を取得し(図6のS6)、このデータ量が所定の閾値(以下「分割閾値」という)との比較において分割閾値条件を満たすか否かについて判定する(図6のS7)。なお、ここでいうデータ量は、一例として、各ステップの入力データ量±当該各ステップの実行により増えたまたは減った差分データ量を示すものとする。
Next, the module division unit 24 implements the following operation loop until the number of steps is reached (S5 and S9 in FIG. 6). First, the module division unit 24 acquires the amount of data input / output when each step in this analysis target program is executed (S6 in FIG. 6), and this data amount is referred to as a predetermined threshold (hereinafter referred to as "division threshold"). It is determined whether or not the division threshold condition is satisfied in comparison with the above (S7 in FIG. 6). Note that the data amount mentioned here indicates, as an example, an input data amount of each step + a difference data amount which is increased or decreased by the execution of each step.
具体的には、モジュール分割部24は、ETLプログラムを構成する各モジュールにおいて入出力のデータ量が上記分割閾値条件を満たす、すなわち、分割閾値を超える(若しくは以上)または下回る(若しくは以下)部分ごとに必要に応じてモジュールを分割する必要があるか否かを判定する。
Specifically, the module division unit 24 sets the amount of input / output data in each module constituting the ETL program to satisfy the division threshold condition, that is, for each portion exceeding (or more) or below (or less) the division threshold. It is determined whether it is necessary to divide modules as necessary.
例えば、モジュール分割部24は、解析条件の一部であるシステム要件パターンに応じて、図10に示す各ステップにおける時間に対する解析データ量のように解析された場合、一例として、各ステップの解析データ量のうち、例えば初期ステップの解析データの50%という分割閾値DT以下となるステップを分割候補とする。具体的には、モジュール分割部24は、「選択/名称変更1」及び「行整列2」というステップ名の2つのステップを分割候補として選択する。
For example, the module division unit 24 analyzes the analysis data of each step as an example when the analysis data amount with respect to the time in each step shown in FIG. 10 is analyzed according to the system requirement pattern which is a part of the analysis condition. Among the quantities, for example, a step which is equal to or less than the division threshold DT of 50% of the analysis data of the initial step is set as a division candidate. Specifically, the module division unit 24 selects two steps having the step names “selection / name change 1” and “line alignment 2” as division candidates.
なお、その後のステップ、つまり「選択/名称変更2」及び「テキストファイル出力」というステップ名の2つのステップも分割閾値DT以下であるが、既に説明したようにモジュール分割部24は、分割制約条件が課されているこれら2つのステップのまとまりについては各ステップへの分割候補から除外する。
Although the subsequent steps, that is, the two steps with the step names “Selection / Name change 2” and “Text file output” are also below the division threshold value DT, as described above, the module division unit 24 performs division constraints. A group of these two steps which is imposed is excluded from the division candidates for each step.
以上のようにモジュール分割部24は、分割閾値条件を満たす場合、このステップを分割候補に設定し(図6のS8)、分割閾値条件を満たした回数分カウントアップしてその合計値を「分割候補数」として設定する。モジュール分割部24は、そのような分割候補によって、図10下部に示すように、各ステップを、例えば、「CSV入力」、「フィールド分割」、「行整列」及び「選択/名前変更1」というステップ名の4つのステップで構成されるモジュールAと、「SQL分実行」、「データ検証」及び「行整列2」という2つのステップで構成されるモジュールBと、分割制約条件が課されて分割されなかった「行結合」、「選択/名前変更2」及び「テキストファイル出力」というステップ名の3つのステップで構成されるモジュールCと、に分割する。
As described above, when the division threshold condition is satisfied, the module division unit 24 sets this step as a division candidate (S8 in FIG. 6), counts up the number of times the division threshold condition is satisfied, and divides the total value. Set as the number of candidates. Depending on such division candidates, the module division unit 24 calls each step, for example, “CSV input”, “field division”, “line alignment”, and “selection / rename 1” as shown in the lower part of FIG. Module A consisting of 4 steps of step name, Module B consisting of 2 steps of “Execute for SQL”, “Data verification” and “Line alignment 2”, Division constraint is imposed and divided The module C is divided into three modules, which have three step names of “line combination”, “selection / rename 2” and “text file output”, which are not performed.
モジュール分割部24は、上記分割候補数分に亘り次のような分割ループを実行する(図7のS10,S14)。この分割ループでは、モジュール分割部24が、分割制約条件が設定されているか否かを判定する(図7のS11)。ここで、分割制約条件は、分割閾値条件を満たす場合であっても、対象とするステップのまとまりを途中で分割しない方が良い場合に、分割を実施しないようにすべき場合の条件を表している。
The module division unit 24 executes the following division loop over the number of division candidates as described above (S10 and S14 in FIG. 7). In this division loop, the module division unit 24 determines whether a division constraint condition is set (S11 in FIG. 7). Here, the division constraint condition represents a condition where division should not be performed if division of the target step is not desired to be divided halfway even if the division threshold condition is satisfied. There is.
モジュール分割部24は、分割制約条件が設定されている場合には、当該対象とするステップのまとまりを分割候補から除外する一方(図7のS12)、分割制約条件が設定されない場合には当該対象とするステップのまとまりを分割してこれらステップのまとまりで構成されるモジュールを作成する(図7のS13)。モジュール分割部24は、1つのETLプログラムにおいてステップのまとまりごとに実際に分割した回数を分割数として管理している。
When the division constraint condition is set, the module division unit 24 excludes the group of the target steps from the division candidates (S12 in FIG. 7), and when the division constraint condition is not set, the module division unit 24 A set of steps to be performed is divided to create a module configured by the set of steps (S13 in FIG. 7). The module division unit 24 manages, as a division number, the number of times the division is actually performed for each group of steps in one ETL program.
以上のような分割ループの実行が完了すると、以下に示すモジュール評価処理を実行する(図7のS15)。
When the execution of the divided loop as described above is completed, the module evaluation process shown below is executed (S15 in FIG. 7).
(3-1-2)モジュール評価
図11は、図4に示すモジュール評価処理の詳細を示し、図12は、図11に示すパターンマッチ処理の詳細を示す。図13は、モジュール蓄積インターフェース画面の一例を示し、図14は、評価方法におけるチューニング方法の一例を示す。 (3-1-2) Module Evaluation FIG. 11 shows details of the module evaluation process shown in FIG. 4, and FIG. 12 shows details of the pattern matching process shown in FIG. FIG. 13 shows an example of a module storage interface screen, and FIG. 14 shows an example of a tuning method in the evaluation method.
図11は、図4に示すモジュール評価処理の詳細を示し、図12は、図11に示すパターンマッチ処理の詳細を示す。図13は、モジュール蓄積インターフェース画面の一例を示し、図14は、評価方法におけるチューニング方法の一例を示す。 (3-1-2) Module Evaluation FIG. 11 shows details of the module evaluation process shown in FIG. 4, and FIG. 12 shows details of the pattern matching process shown in FIG. FIG. 13 shows an example of a module storage interface screen, and FIG. 14 shows an example of a tuning method in the evaluation method.
このモジュール評価処理では、モジュール評価部26が上記分割数に達するまで評価ループを実施する(図11のS21,S24)。まず、モジュール評価部26は、モジュール情報管理テーブル32のモジュール情報を取得する(図11のS22)。次に処理工程S23では、モジュール評価部26が以下のようにパターンマッチ判定処理を実行する(図11のS23)。
In this module evaluation process, the module evaluation unit 26 executes an evaluation loop until the division number is reached (S21 and S24 in FIG. 11). First, the module evaluation unit 26 acquires module information of the module information management table 32 (S22 in FIG. 11). Next, in the processing step S23, the module evaluation unit 26 executes the pattern match determination processing as follows (S23 in FIG. 11).
このパターンマッチ処理では、まず、モジュール評価部26が、評価対象である分割後プログラムの解析IDを取得する(図12のS31)。次にモジュール評価部26は、このように取得された解析IDが付されたモジュールに関するモジュール情報がモジュール情報管理テーブル32に存在するか否かを判定する(図12のS32)。
In the pattern matching process, first, the module evaluation unit 26 acquires an analysis ID of a divided program to be evaluated (S31 in FIG. 12). Next, the module evaluation unit 26 determines whether or not the module information on the module to which the analysis ID obtained in this way is added is present in the module information management table 32 (S32 in FIG. 12).
モジュール評価部26は、このようなモジュール情報が存在しない場合には評価を「不明」に設定する一方(図12のS33)、このようなモジュール情報が存在する場合にはモジュール情報管理テーブル32(図3参照)を検索して活用回数が1以上のモジュール情報が存在するか否かを判定する(図12のS34)。
When such module information does not exist, the module evaluation unit 26 sets the evaluation to "unknown" (S33 in FIG. 12). When such module information exists, the module information management table 32 (see FIG. It is determined whether or not there is one or more pieces of module information in which the number of times of utilization is one or more (S34 in FIG. 12).
モジュール評価部26は、活用回数が1以上のモジュール情報が存在しない場合には評価を「×(最低)」に設定する一方(図12のS35)、活用回数が1以上のモジュール情報が存在する場合には、最も活用回数が多いモジュールのモジュール情報を取得する(図12のS36)。
While the module evaluation unit 26 sets the evaluation to “× (minimum)” when there is no module information having a usage count of 1 or more (S35 in FIG. 12), module information having a usage count of 1 or more exists In the case, the module information of the module with the highest frequency of use is acquired (S36 in FIG. 12).
次にモジュール評価部26は、評価対象である分割後プログラムを構成するステップの数(ステップ数)が±5という条件を満たすか否かを判定する(図12のS37)。
Next, the module evaluation unit 26 determines whether the number of steps (number of steps) constituting the divided program to be evaluated satisfies the condition of ± 5 (S37 in FIG. 12).
モジュール評価部26は、この条件を満たさない場合には評価を「△(低)」に設定する一方(図12のS38)、この条件を満たす場合にはステップ一覧の同一性を比較する(図12のS39)。すなわち、モジュール評価部26は、ステップ一覧に含まれる各ステップが同一であるか否かを判定する。
While the module evaluation unit 26 sets the evaluation to “Δ (low)” when this condition is not satisfied (S 38 in FIG. 12), the module evaluation unit 26 compares the identity of the step list when this condition is satisfied (FIG. 12 S39). That is, the module evaluation unit 26 determines whether or not the steps included in the step list are the same.
次にモジュール評価部26は、ステップ順序の同一性を比較する(図12のS40)。すなわち、モジュール評価部26は、各ステップの順序が一致しているか否かを判定する。
Next, the module evaluation unit 26 compares the identity of the step order (S40 in FIG. 12). That is, the module evaluation unit 26 determines whether the order of the steps matches.
次にモジュール評価部26は、最も一致している評価対象である分割後プログラムの評価を「◎(最良)」に設定する(図12のS41)。
Next, the module evaluation unit 26 sets the evaluation of the divided program that is the evaluation object that most closely matches to “に (best)” (S41 in FIG. 12).
次にモジュール評価部26は、それ以外の評価対象である分割後プログラムの評価を「○(良)」に設定する(図12のS42)。
Next, the module evaluation unit 26 sets the evaluation of the post-division program, which is the other evaluation target, to “o (good)” (S42 in FIG. 12).
以上のようにモジュール評価部26は、上記分割数に亘って以上のような処理を繰り返す(図11のS21,24)。
As described above, the module evaluation unit 26 repeats the above-described processing over the number of divisions (S21, 24 in FIG. 11).
モジュール評価部26は、表示制御部27に、以上のような各評価結果をリスト状にした評価結果一覧を作成し(図11のS25)、図13(A)に示すように、この評価結果一覧に基づくモジュール蓄積インターフェース画面を表示させる(図7のS16)。
The module evaluation unit 26 causes the display control unit 27 to create an evaluation result list in which each evaluation result as described above is listed (S25 in FIG. 11), and as shown in FIG. The module storage interface screen based on the list is displayed (S16 in FIG. 7).
このモジュール蓄積インターフェース画面には、図13(A)に示すようなモジュール情報が表された評価結果一覧の他にも、図13(B)に示すような推薦すべき度合い(以下「おすすめ度」という)に関する説明が表されている。このおすすめ度は、モジュール情報管理テーブル32において管理されている活用回数と、モジュールを構成しているステップ合計数と、各ステップとの関係から定義される。
In this module storage interface screen, in addition to the evaluation result list in which module information is represented as shown in FIG. 13A, a recommendation degree as shown in FIG. 13B (hereinafter referred to as “recommendation degree” The explanation regarding) is shown. This recommendation degree is defined from the relationship between the number of times of utilization managed in the module information management table 32, the total number of steps constituting the module, and each step.
ユーザは、以上のようなモジュール蓄積インターフェース画面における評価結果一覧を参照しつつ、例えば、図13(B)に示すおすすめ度がより高い「◎」のモジュール情報を選択すべく、左側の該当チェックボックス27Fにチェックマークを付ける一方、必要に応じてモジュール概要入力欄27Gにモジュール概要を入力し、登録ボタン27Hを押下する。
The user refers to the evaluation result list on the module storage interface screen as described above, for example, to select the module information of “」 ”having a higher degree of recommendation shown in FIG. A check mark 27F is added, and the module outline is input to the module outline input field 27G as necessary, and the registration button 27H is pressed.
これにより、モジュール評価部26は、チェックボックス27Fにチェックマークが付されたモジュール情報をモジュール情報管理テーブル32に登録し、その後これを参照可能とする。
Thereby, the module evaluation unit 26 registers the module information with a check mark in the check box 27F in the module information management table 32, and makes it possible to refer to this.
図14は、図13に示す評価方法の応用例を示す。本実施の形態では、モジュール評価部26が、図13(B)に示すおすすめ度「◎」、「○」、「△」及び「×」という4段階の評価に加えて、次のような評価手法を採用してもよい。
FIG. 14 shows an application example of the evaluation method shown in FIG. In the present embodiment, the module evaluation unit 26 performs the following evaluations in addition to the four evaluations of the recommendation rates “お す す め”, “「 ”,“ Δ ”, and“ x ”shown in FIG. A method may be adopted.
具体的には、図13に示す評価方法の結果、例えばステップA、ステップC及びステップDで構成されるプログラム「2」が最適な構成(図示の「◎」)とされていた場合において、例えばステップA、ステップB、ステップC、ステップD及びステップEで構成される最も左側のモジュール(図示のベストプログラムに相当)が好適であった場合、モジュール評価部26は、ステップの種類及び順序性の比較処理を実行した後、プログラム「2」の構成を、次のように変更するよう推薦する。すなわち、モジュール評価部26は、このベストプログラムのステップ構成に似せるよう、プログラム「2」を構成するステップAとステップCとの間にステップBを挿入するとともに、ステップDの次にステップEを追加することを提案する。
Specifically, as a result of the evaluation method shown in FIG. 13, for example, in the case where the program “2” configured by, for example, step A, step C and step D has an optimal configuration (“◎” in the drawing) When the leftmost module (corresponding to the best program shown) constituted by step A, step B, step C, step D and step E is suitable, the module evaluation unit 26 determines the type and order of steps. After performing the comparison process, it is recommended to change the configuration of program "2" as follows. That is, the module evaluation unit 26 inserts step B between step A and step C constituting the program "2" to add step E following step D so as to resemble the step configuration of the best program. Suggest to do.
上述したステップの種類の比較処理では、モジュール評価部26が、プログラム「1」についてはベストプログラムと比較した結果、6ステップ中5ステップが同一であり、プログラム「2」についてはベストプログラムと比較した結果、3つのステップ中3つのステップが同一であるなどというようにステップの比較を実施する。一方、上述したステップの順序性の比較処理では、モジュール評価部26が、プログラム「1」についてはベストプログラムと比較した結果、4つのステップ間の繋がりが同一であり、プログラム「2」についてはベストプログラムと比較した結果、1つのステップ間の繋がりが同一であるなどというようにステップ同士の比較を実施している。
In the comparison processing of the types of steps described above, the module evaluation unit 26 compares the program “1” with the best program, and as a result, 5 steps out of 6 steps are identical, and the program “2” is compared with the best program. As a result, the comparison of the steps is performed such that three out of three steps are identical, and so on. On the other hand, in the comparison processing of order of steps described above, the module evaluation unit 26 compares the program “1” with the best program, and as a result, the connection between the four steps is the same, and the program “2” is the best. As a result of comparison with the program, the steps are compared with each other such that the connection between one step is identical.
(3-1-3)参照評価機能
図15は、参照評価処理の一例を示すとともに、図16は、参照評価処理の実行に伴い表示される画面例を示す。 (3-1-3) Reference Evaluation Function FIG. 15 shows an example of reference evaluation processing, and FIG. 16 shows an example of a screen displayed along with execution of reference evaluation processing.
図15は、参照評価処理の一例を示すとともに、図16は、参照評価処理の実行に伴い表示される画面例を示す。 (3-1-3) Reference Evaluation Function FIG. 15 shows an example of reference evaluation processing, and FIG. 16 shows an example of a screen displayed along with execution of reference evaluation processing.
モジュール評価部26は、ユーザによって入力された所望の検索条件に応じて(図15のS51)、モジュール情報管理テーブル32に格納されているモジュール情報を検索して取得する(図15のS52)。具体的な操作としては、図16上部に示す検索条件入力画面において、ユーザが、キーワード27Nに所望のキーワードを入力したりカテゴリ27O及び/またはタグ27Pを操作して所望の内容を入力した後に、検索ボタン27Qを押下することにより、モジュール評価部26が上述した検索処理を実行する。
The module evaluation unit 26 searches and acquires module information stored in the module information management table 32 according to the desired search condition input by the user (S51 of FIG. 15) (S52 of FIG. 15). As a specific operation, after the user inputs a desired keyword to the keyword 27N or operates the category 27O and / or the tag 27P in the search condition input screen shown in the upper part of FIG. By pressing the search button 27Q, the module evaluation unit 26 executes the above-described search processing.
さらにモジュール評価部26は、表示制御部27に、上記解析条件に該当するモジュール情報を表示させる(図15のS53)。具体的な表示例としては、図16下部に示す検索結果表示画面のように、上述のように取得されたモジュール情報が順位付けられて表示される。
Further, the module evaluation unit 26 causes the display control unit 27 to display module information corresponding to the analysis condition (S53 in FIG. 15). As a specific display example, as in the search result display screen shown in the lower part of FIG. 16, module information acquired as described above is ranked and displayed.
この検索結果表示画面では、取得されたモジュール情報として、例えば順位、カテゴリ、モジュール(図示のモジュールに相当)、概要、及び活用回数が表示されている。順位1位のモジュール情報は、活用回数が119回であり、他人による過去の活用回数が最も多くなっていることが容易に視認することができる。
On the search result display screen, for example, the order, the category, the module (corresponding to the illustrated module), the summary, and the number of times of utilization are displayed as the acquired module information. The first-ranked module information has 119 applications, which makes it easy to visually recognize that the number of applications in the past by others is the highest.
モジュール評価部26は、表示制御部27によって表示されたモジュール情報に応じて評価内容であるモジュール評価がユーザによって入力されると(図15のS54)、モジュール情報管理テーブル32に新規に登録したり登録済みのモジュール情報を更新する(図15のS55)。
When the module evaluation which is the evaluation content is input by the user according to the module information displayed by the display control unit 27 (S54 in FIG. 15), the module evaluation unit 26 newly registers in the module information management table 32 or The registered module information is updated (S55 in FIG. 15).
以上のようにすると、ユーザが新たにETLプログラムを作成する際に、過去に作成したステップのまとまりを参照して再利用が可能となるため、メンテナンスを実施し易くしてシステム全体として高い品質を確保することができる。
As described above, when the user newly creates an ETL program, it can be reused referring to a group of steps created in the past, so maintenance can be easily performed and high quality of the entire system can be achieved. It can be secured.
(4)その他の実施形態
上記実施形態は、本発明を説明するための例示であり、本発明をこれらの実施形態にのみ限定する趣旨ではない。本発明は、その趣旨を逸脱しない限り、様々な形態で実施することができる。例えば、上記実施形態では、各種プログラムの処理をシーケンシャルに説明したが、特にこれにこだわるものではない。従って、処理結果に矛盾が生じない限り、処理の順序を入れ替え又は並行動作するように構成しても良い。また、上記実施形態における各処理ブロックを含むプログラムは、例えばコンピュータが読み取り可能な非一時的記憶媒体に格納されている形態であっても良い。 (4) Other Embodiments The above-described embodiments are exemplifications for describing the present invention, and the present invention is not intended to be limited to these embodiments. The present invention can be implemented in various forms without departing from the gist thereof. For example, in the above embodiment, processing of various programs has been described sequentially, but it is not particularly limited. Therefore, as long as no contradiction occurs in the processing result, the processing order may be changed or operated in parallel. Further, the program including each processing block in the above embodiment may be stored in, for example, a non-transitory storage medium readable by a computer.
上記実施形態は、本発明を説明するための例示であり、本発明をこれらの実施形態にのみ限定する趣旨ではない。本発明は、その趣旨を逸脱しない限り、様々な形態で実施することができる。例えば、上記実施形態では、各種プログラムの処理をシーケンシャルに説明したが、特にこれにこだわるものではない。従って、処理結果に矛盾が生じない限り、処理の順序を入れ替え又は並行動作するように構成しても良い。また、上記実施形態における各処理ブロックを含むプログラムは、例えばコンピュータが読み取り可能な非一時的記憶媒体に格納されている形態であっても良い。 (4) Other Embodiments The above-described embodiments are exemplifications for describing the present invention, and the present invention is not intended to be limited to these embodiments. The present invention can be implemented in various forms without departing from the gist thereof. For example, in the above embodiment, processing of various programs has been described sequentially, but it is not particularly limited. Therefore, as long as no contradiction occurs in the processing result, the processing order may be changed or operated in parallel. Further, the program including each processing block in the above embodiment may be stored in, for example, a non-transitory storage medium readable by a computer.
本発明は、例えば、ETL(Extract Transform Load)プログラムのようなプログラムの統合解析管理装置及びその統合解析管理方法に広く適用することができる。
The present invention can be widely applied to, for example, an integrated analysis management device of a program such as an ETL (Extract Transform Load) program and an integrated analysis management method thereof.
21……読み込み部、22……条件設定部、23……プログラム解析部、24……モジュール分割部、25……モジュール蓄積制御部、26……モジュール評価部、31……解析パラメータ管理テーブル、32……モジュール情報管理テーブル、33……活用履歴管理テーブル、41……モジュール群、100……統合解析管理装置。
21: reading unit 22: condition setting unit 23: program analysis unit 24: module division unit 25: module storage control unit 26: module evaluation unit 31: analysis parameter management table 32: module information management table 33: utilization history management table 41: module group 100: integrated analysis management device.
21: reading unit 22: condition setting unit 23: program analysis unit 24: module division unit 25: module storage control unit 26: module evaluation unit 31: analysis parameter management table 32: module information management table 33: utilization history management table 41: module group 100: integrated analysis management device.
Claims (10)
- 設定された解析条件に基づいて、読み込まれたプログラムを構成する複数の単位処理を各々実行することに伴って算出される見込み値を解析するプログラム解析部と、
前記見込み値が既定の閾値との関係で所定の条件を満たす場合、前記所定の条件を満たす単位処理とそれに続く他の単位処理との間で分割し、前記分割された単位処理のまとまりで構成されるモジュールを作成するモジュール分割部と、
前記モジュールを記憶装置に蓄積するモジュール蓄積制御部と、
他の実装に際し、設定された検索条件に基づいて、前記記憶装置に蓄積されたモジュールのうちから利用可能な所望のモジュールを検索する参照工程と、
前記所望のモジュールについて評価を受け付けるモジュール評価部と、
を備えることを特徴とするプログラムの統合解析管理装置。 A program analysis unit that analyzes an estimated value calculated as each of a plurality of unit processes constituting the read program is executed based on the set analysis condition;
When the estimated value satisfies a predetermined condition in relation to a predetermined threshold, the unit processing is divided between the unit processing satisfying the predetermined condition and the subsequent unit processing, and the divided unit processing unit is configured. Module division unit that creates the modules to be
A module storage control unit that stores the module in a storage device;
In another implementation, a reference step of searching for a desired available module among the modules stored in the storage device based on the set search condition;
A module evaluation unit that receives an evaluation of the desired module;
An integrated analysis and management apparatus for a program, comprising: - 前記プログラム解析部は、
前記解析条件に基づく前記見込み値として、前記複数の単位処理を各々実行した際の処理量に相当するデータ量を解析することを特徴とする請求項1に記載のプログラムの統合解析管理装置。 The program analysis unit
The integrated analysis management device of a program according to claim 1, characterized in that an amount of data corresponding to a processing amount when each of the plurality of unit processes is executed is analyzed as the estimated value based on the analysis condition. - 前記プログラム解析部は、
前記見込み値が前記既定の閾値との関係で前記所定の条件を満たす場合であっても、前記所定の条件を満たす単位処理とそれに続く前記他の単位処理との間で分割することが規制される分割制約条件を満たすときには、前記所定の条件を満たす前記単位処理とそれに続く前記他の単位処理との間で分割せず、単位処理のまとまりで構成されるモジュールを作成することを特徴とする請求項1に記載のプログラムの統合解析管理装置。 The program analysis unit
Even when the estimated value satisfies the predetermined condition in relation to the predetermined threshold, division between unit processing satisfying the predetermined condition and the subsequent other unit processing is restricted. When the division constraint condition is satisfied, a module configured by unit processing unit groups is created without division between the unit processing that satisfies the predetermined condition and the other unit processing that follows it. The integrated analysis management device of the program according to claim 1. - 前記モジュール蓄積制御部は、
前記モジュールを蓄積する際に併せて、前記モジュールに関する概要を蓄積することを特徴とする請求項1に記載のプログラムの統合解析管理装置。 The module storage control unit
The integrated analysis management device of a program according to claim 1, wherein when storing the module, a summary of the module is stored. - 前記モジュール評価部は、
前記所望のモジュールについて評価を受け付ける画面を表示させ、前記画面に入力された所望の評価を登録して蓄積することを特徴とする請求項1に記載のプログラムの統合解析管理装置。 The module evaluation unit
The program integrated analysis management device according to claim 1, wherein a screen for receiving an evaluation of the desired module is displayed, and the desired evaluation input to the screen is registered and accumulated. - プログラムを統合して解析及び管理する統合解析管理装置におけるプログラムの統合解析管理方法において、
前記統合解析管理装置が、設定された解析条件に基づいて、読み込まれた前記プログラムを構成する複数の単位処理を各々実行することに伴って算出される見込み値を解析するプログラム解析工程と、
前記統合解析管理装置が、前記見込み値が既定の閾値との関係で所定の条件を満たす場合、前記所定の条件を満たす単位処理とそれに続く他の単位処理との間で分割し、前記分割された単位処理のまとまりで構成されるモジュールを作成するモジュール分割工程と、
前記統合解析管理装置が、前記モジュールを記憶装置に蓄積するモジュール蓄積工程と、
前記統合解析管理装置が、他の実装に際し、設定された検索条件に基づいて、前記記憶装置に蓄積されたモジュールのうちから利用可能な所望のモジュールを検索する参照工程と、
前記統合解析管理装置が、前記所望のモジュールについて評価を受け付けるモジュール評価工程と、
を実行することを特徴とするプログラムの統合解析管理方法。 In an integrated analysis management method of a program in an integrated analysis management device for integrating and analyzing and managing a program,
A program analysis step of analyzing the estimated value calculated as each of the plurality of unit processes constituting the read program is executed based on the set analysis condition, the integrated analysis management device;
When the integrated analysis management device determines that the estimated value satisfies a predetermined condition in relation to a predetermined threshold, the integrated analysis management device divides the unit process satisfying the predetermined condition and the subsequent unit processes, and the division is performed. Module division process for creating a module composed of a group of unit processes,
A module storage step of the integrated analysis management device storing the module in a storage device;
A reference step in which the integrated analysis management device searches for a desired available module among modules stored in the storage device based on a set search condition in another implementation;
A module evaluation process in which the integrated analysis management device receives an evaluation of the desired module;
The integrated analysis management method of the program characterized by performing. - 前記プログラム解析ステップでは、
前記統合解析管理装置が、前記解析条件に基づく前記見込み値として、前記複数の単位処理を各々実行した際の処理量に相当するデータ量を解析することを特徴とする請求項6に記載のプログラムの統合解析管理方法。 In the program analysis step,
The program according to claim 6, wherein the integrated analysis management device analyzes a data amount corresponding to a processing amount when each of the plurality of unit processes is executed as the estimated value based on the analysis condition. Integrated analysis management method of. - 前記プログラム解析工程では、
前記統合解析管理装置が、前記見込み値が前記既定の閾値との関係で前記所定の条件を満たす場合であっても、前記所定の条件を満たす単位処理とそれに続く前記他の単位処理との間で分割することが規制される分割制約条件を満たすときには、前記所定の条件を満たす前記単位処理とそれに続く前記他の単位処理との間で分割せず、単位処理のまとまりで構成されるモジュールを作成することを特徴とする請求項6に記載のプログラムの統合解析管理方法。 In the program analysis process,
Even when the integrated analysis management device satisfies the predetermined value in the relationship with the predetermined threshold, the integrated analysis management device may be located between a unit process that satisfies the predetermined condition and the other unit processes that follow it. When a division constraint condition in which division by a division is restricted is satisfied, a module configured by grouping of unit processings is not divided between the unit processing that satisfies the predetermined condition and the other unit processing that follows it. The integrated analysis management method of the program according to claim 6, characterized in that it is created. - 前記モジュール蓄積工程では、
前記統合解析管理装置が、前記モジュールを蓄積する際に併せて、前記モジュールに関する概要を蓄積することを特徴とする請求項6に記載のプログラムの統合解析管理方法。 In the module storage process,
The integrated analysis management method of a program according to claim 6, wherein the integrated analysis management device accumulates an outline of the module in addition to storing the module. - 前記モジュール評価工程では、
前記統合解析管理装置が、前記所望のモジュールについて評価を受け付ける画面を表示させ、前記画面に入力された所望の評価を登録して蓄積することを特徴とする請求項6に記載のプログラムの統合解析管理方法。
In the module evaluation process,
The integrated analysis of the program according to claim 6, wherein the integrated analysis management device displays a screen for receiving an evaluation of the desired module, and registers and accumulates the desired evaluation input on the screen. Management method.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2017/025624 WO2019012674A1 (en) | 2017-07-13 | 2017-07-13 | Program integration/analysis/management device, and integration/analysis/management method therefor |
JP2019505087A JP6667714B2 (en) | 2017-07-13 | 2017-07-13 | Program integrated analysis management device and integrated analysis management method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2017/025624 WO2019012674A1 (en) | 2017-07-13 | 2017-07-13 | Program integration/analysis/management device, and integration/analysis/management method therefor |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2019012674A1 true WO2019012674A1 (en) | 2019-01-17 |
Family
ID=65001167
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2017/025624 WO2019012674A1 (en) | 2017-07-13 | 2017-07-13 | Program integration/analysis/management device, and integration/analysis/management method therefor |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP6667714B2 (en) |
WO (1) | WO2019012674A1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116777192B (en) * | 2023-08-23 | 2023-12-08 | 成都飞机工业(集团)有限责任公司 | Dynamic scheduling method for assembly production line |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11338686A (en) * | 1998-05-28 | 1999-12-10 | Fujitsu Ltd | Program development support device, its method and medium for recording program development support program |
JP2012108710A (en) * | 2010-11-17 | 2012-06-07 | Hitachi Solutions Ltd | Program component retrieval method, program component retrieval system, and component retrieval program |
US20120272205A1 (en) * | 2011-04-19 | 2012-10-25 | Sonatype, Inc. | Method and system for scoring a software artifact for a user |
WO2016092677A1 (en) * | 2014-12-11 | 2016-06-16 | 株式会社日立製作所 | Module division assistance device, module division assistance method, and module division assistance program |
JP2016218627A (en) * | 2015-05-18 | 2016-12-22 | 株式会社デンソー | Software division method, software division device, and on-vehicle apparatus |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005011109A (en) * | 2003-06-19 | 2005-01-13 | Hitachi Ltd | Job management method, information processor, program, and recording medium |
US8175936B2 (en) * | 2006-03-31 | 2012-05-08 | Sap Ag | Method and system for identifying reusable development components |
JP4996262B2 (en) * | 2007-01-16 | 2012-08-08 | 株式会社日立製作所 | Program parts support equipment |
JP5654959B2 (en) * | 2011-08-01 | 2015-01-14 | 株式会社Nttドコモ | Application creation apparatus, application creation system, and application creation method |
-
2017
- 2017-07-13 WO PCT/JP2017/025624 patent/WO2019012674A1/en active Application Filing
- 2017-07-13 JP JP2019505087A patent/JP6667714B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11338686A (en) * | 1998-05-28 | 1999-12-10 | Fujitsu Ltd | Program development support device, its method and medium for recording program development support program |
JP2012108710A (en) * | 2010-11-17 | 2012-06-07 | Hitachi Solutions Ltd | Program component retrieval method, program component retrieval system, and component retrieval program |
US20120272205A1 (en) * | 2011-04-19 | 2012-10-25 | Sonatype, Inc. | Method and system for scoring a software artifact for a user |
WO2016092677A1 (en) * | 2014-12-11 | 2016-06-16 | 株式会社日立製作所 | Module division assistance device, module division assistance method, and module division assistance program |
JP2016218627A (en) * | 2015-05-18 | 2016-12-22 | 株式会社デンソー | Software division method, software division device, and on-vehicle apparatus |
Also Published As
Publication number | Publication date |
---|---|
JPWO2019012674A1 (en) | 2019-07-25 |
JP6667714B2 (en) | 2020-03-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210279215A1 (en) | Systems and methods for providing data quality management | |
US20180004823A1 (en) | System and method for data profile driven analytics | |
US9390142B2 (en) | Guided predictive analysis with the use of templates | |
US20160173122A1 (en) | System That Reconfigures Usage of a Storage Device and Method Thereof | |
KR102213627B1 (en) | Analysis software management system and analysis software management method | |
US11921737B2 (en) | ETL workflow recommendation device, ETL workflow recommendation method and ETL workflow recommendation system | |
US9026643B2 (en) | Contents' relationship visualizing apparatus, contents' relationship visualizing method and its program | |
CN108572945A (en) | Create method, system, storage medium and the electronic equipment of report | |
JP2019169044A (en) | Software robot definition information generation system, software robot definition information generation method, and program | |
US20120124110A1 (en) | Database, management server, and management program | |
JP6704089B2 (en) | Library search device, library search system, and library search method | |
US20210397745A1 (en) | Data providing server device and data providing method | |
WO2019012674A1 (en) | Program integration/analysis/management device, and integration/analysis/management method therefor | |
JP6267398B2 (en) | Service design support system and service design support method | |
JP6695847B2 (en) | Software parts management system, computer | |
US20150379529A1 (en) | System, service and methodology of data collection, processing, analysis and effective delivery of dashboard snapshot presentations of organized customer proprietary information on an individualized secure basis to multiple customers | |
JP2005190212A (en) | Database system, data processing method and program | |
JP6527049B2 (en) | Behavior characteristic analysis system and behavior characteristic analysis method | |
JP7246301B2 (en) | Program development support system and program development support method | |
JP6007320B2 (en) | Computer, relevance calculation method, and storage medium | |
JP6852002B2 (en) | Data search method, data search device and program | |
US9710774B2 (en) | Configuration of embedded intelligence | |
WO2017179163A1 (en) | Application analysis system, method, and program | |
JP7285798B2 (en) | Performance analysis device, performance analysis method, and performance analysis program | |
US20220366462A1 (en) | Recommendation system, and product recommendation method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ENP | Entry into the national phase |
Ref document number: 2019505087 Country of ref document: JP Kind code of ref document: A |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 17917457 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 17917457 Country of ref document: EP Kind code of ref document: A1 |