JP6579911B2 - Log comparison method, log comparison program, and log comparison device - Google Patents
Log comparison method, log comparison program, and log comparison device Download PDFInfo
- Publication number
- JP6579911B2 JP6579911B2 JP2015209547A JP2015209547A JP6579911B2 JP 6579911 B2 JP6579911 B2 JP 6579911B2 JP 2015209547 A JP2015209547 A JP 2015209547A JP 2015209547 A JP2015209547 A JP 2015209547A JP 6579911 B2 JP6579911 B2 JP 6579911B2
- Authority
- JP
- Japan
- Prior art keywords
- log
- difference
- row
- comparison
- matching
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Description
本発明は、ソフトウェアのバージョンアップ前後のログを比較するログ比較方法、ログ比較プログラム、およびログ比較装置に関する。 The present invention relates to a log comparison method, a log comparison program, and a log comparison apparatus that compare logs before and after software upgrades.
従来より、コンピュータを用いたソフトウェア処理が行われる各種装置では、例えばプロセス(一連の処理)の動作状況の調査やソフトウェアの不具合の原因調査を行うことができるよう、ログの出力・保存が行われている。例えば、ソフトウェア制御による処理が行われる基板処理装置などの半導体製造装置においても、ログの出力・保存が行われている。 Conventionally, in various devices that perform software processing using a computer, logs are output and saved so that, for example, the operation status of a process (a series of processes) and the cause of a software defect can be investigated. ing. For example, logs are also output and stored in semiconductor manufacturing apparatuses such as substrate processing apparatuses that perform processing under software control.
ソフトウェアについては、機能追加や不具合の修正のためにバージョンアップが行われることがある。ソフトウェアのバージョンアップが行われたときには、プロセスの結果への影響を確認する必要がある。例えば、不具合の修正のためにバージョンアップが行われた場合、バージョンアップ後のソフトウェア(プログラム)に新たな不具合が含まれていると、プロセスの実行が正しく行われず、所望の結果が得られない。そこで、バージョンアップに起因するプロセスの結果への影響の確認(例えば、バージョンアップ後のソフトウェアに不具合が含まれているか否かの確認)が、バージョンアップ前後のログに基づいて行われることがある。これに関し、ソフトウェアのバージョンアップが行われた場合、通常、そのバージョンアップに関連するプロセス以外のプロセスについては、バージョンアップの前後で同じような挙動が生じるべきである。すなわち、実行した日時等の情報を除けば、バージョンアップ前後のログは概ね一致すべきである。従って、バージョンアップ前後のログを比較することによって、バージョンアップに起因するプロセスの結果への影響を確認することができる。以下、ソフトウェアのバージョンアップ前後のログを比較する処理のことを「ログ比較処理」という。 Software may be upgraded to add functions or correct defects. When software upgrades are made, it is necessary to confirm the effect on the process results. For example, when a version upgrade is performed to correct a defect, if the new software (program) contains a new defect, the process cannot be executed correctly and the desired result cannot be obtained. . Therefore, confirmation of the effect on the process result due to the version upgrade (for example, confirmation of whether the software after the version upgrade contains a defect) may be performed based on the logs before and after the version upgrade. . In this regard, when a software upgrade is performed, processes other than the processes related to the upgrade should generally have the same behavior before and after the upgrade. In other words, except for information such as the date and time of execution, the logs before and after the version upgrade should generally match. Therefore, by comparing the logs before and after the upgrade, it is possible to confirm the influence on the process result resulting from the upgrade. Hereinafter, processing for comparing logs before and after software upgrade is referred to as “log comparison processing”.
なお、本件発明に関連して、特開2012−94046号公報には、機器の稼動ログを分析して障害検知または障害原因分析を行う機器障害分析装置の発明が開示されている。この機器障害分析装置では、正常時のログの特徴を示すパターン情報を含む正常時パターンが予め記憶され、稼動ログに含まれるイベントの順列と正常時パターンに含まれるパターン情報の順列との比較が行われる。そして、両者の一致度がしきい値を超えているか否かによって、処理の正常/異常の判別が行われる。 In relation to the present invention, Japanese Patent Application Laid-Open No. 2012-94046 discloses an invention of an apparatus failure analysis apparatus that analyzes an operation log of an apparatus and performs failure detection or failure cause analysis. In this equipment failure analysis apparatus, a normal pattern including pattern information indicating characteristics of a normal log is stored in advance, and a comparison between a permutation of events included in an operation log and a permutation of pattern information included in a normal pattern is performed. Done. Then, whether the processing is normal or abnormal is determined depending on whether or not the degree of coincidence of both exceeds a threshold value.
ところで、各種装置で実行されるプロセスに並列処理が含まれていることがある。このようなケースにおいて、従来のログ比較処理によれば、バージョンアップに起因するプロセスの結果への影響を正しく把握できないことがある。例えば、バージョンアップ後のソフトウェアに不具合が含まれているか否かの判断が正しく行われないことがある。これについて以下に説明する。 By the way, there are cases where parallel processing is included in processes executed by various apparatuses. In such a case, according to the conventional log comparison process, the influence on the process result due to the version upgrade may not be correctly grasped. For example, there may be a case where it is not correctly determined whether or not a defect is included in the upgraded software. This will be described below.
ここでは、並列処理を含むプロセスとして、図19に示すフローで複数の処理(処理A〜D)が行われるプロセスについて考える。このプロセスでは、処理Cと処理Dとの関係については、処理Cの方が処理Dよりも先に実行されなければならないが、処理Bと「処理C、処理D」との関係については、実行順序は特に限定されない。すなわち、処理Aの実行後、「処理B、処理C、処理D」の順序で処理が実行されても良いし、「処理C、処理B、処理D」の順序で処理が実行されても良いし、「処理C、処理D、処理B」の順序で処理が実行されても良い。従って、これらの処理に関し、バージョンアップ前後でログの出力順序に変動があっても、必ずしもバージョンアップ後のソフトウェアに不具合が含まれているわけではない。 Here, as a process including parallel processing, a process in which a plurality of processes (processes A to D) are performed in the flow illustrated in FIG. In this process, regarding the relationship between the processing C and the processing D, the processing C must be executed before the processing D. However, regarding the relationship between the processing B and “processing C, processing D”, The order is not particularly limited. That is, after execution of process A, the process may be executed in the order of “process B, process C, process D”, or the process may be executed in the order of “process C, process B, process D”. Then, the processes may be executed in the order of “Process C, Process D, Process B”. Therefore, regarding these processes, even if there is a change in the log output order before and after the upgrade, the software after the upgrade does not necessarily contain a defect.
図19に示すフロー内の処理A〜Dの具体例として、洗浄装置(半導体製造装置である基板処理装置の1つ)で実行されるプロセスの一部である次のような処理を挙げることができる。
処理A:(処理ユニットの)ドアを閉じる
処理B:基板の回転(モータの駆動)
処理C:ノズルの移動
処理D:(ノズルからの)洗浄液の吐出
この洗浄装置の例では、例えば図20に示すように「基板の回転」と「ノズルの移動」の順序がバージョンアップ前後で入れ替わっていても、必ずしもバージョンアップ後のソフトウェアに不具合が含まれているわけではない。
Specific examples of the processes A to D in the flow shown in FIG. 19 include the following processes which are a part of a process executed in a cleaning apparatus (one of substrate processing apparatuses which are semiconductor manufacturing apparatuses). it can.
Process A: Close door (of process unit) Process B: Rotate substrate (drive motor)
Process C: Nozzle movement Process D: Discharge of cleaning liquid (from nozzle) In this example of the cleaning apparatus, for example, as shown in FIG. 20, the order of “substrate rotation” and “nozzle movement” is changed before and after the version upgrade. However, the software after the upgrade does not necessarily contain a defect.
ログ比較処理において仮にバージョンアップ前後のログについて両者の各行の全体どうしが比較された場合、たとえ処理の実行順序(ログの出力順序)が同じであっても、通常、両者の時間の情報が異なるために「両者間に差異がある」と判断される。従って、上述のような並列処理の有無に関わらず、バージョンアップ後のソフトウェアに不具合が含まれているか否かを正しく判断することはできない。 In the log comparison process, if the entire lines of the two lines are compared before and after the upgrade, even if the execution order of the processes (log output order) is the same, the time information of the two is usually different. Therefore, it is judged that “there is a difference between the two”. Therefore, regardless of the presence or absence of the parallel processing as described above, it is impossible to correctly determine whether or not the software after the upgrade contains a defect.
そこで、バージョンアップ前後のログについて、両者の内容の部分のみの出力順序を比較することが考えられる。しかし、図19に示した例のプロセスを実行するソフトウェアの処理で図20に示したようなログが得られた場合、「基板の回転」と「ノズルの移動」の出力順序が入れ替わっているために、そのような出力順序の変動は問題がないにも関わらず「両者間に差異がある」と判断される。従って、バージョンアップ後のソフトウェアに不具合が含まれているか否かを正しく判断することはできない。なお、内容の部分をソートして、ソート後の両者の内容の部分のみの比較を行った場合には、バージョンアップ後のソフトウェアの不具合が原因でログの出力順序に変動があったときに、その不具合を検出することができない。 Therefore, it is conceivable to compare the output order of only the contents of both the logs before and after the upgrade. However, when the log as shown in FIG. 20 is obtained by the software processing for executing the process of the example shown in FIG. 19, the output order of “substrate rotation” and “nozzle movement” is switched. Moreover, it is determined that “there is a difference between the two” although there is no problem with such a change in the output order. Therefore, it cannot be correctly determined whether or not the software after the upgrade contains a defect. In addition, when sorting the contents part and comparing only the contents part of both after sorting, when the log output order fluctuates due to a software defect after version upgrade, The failure cannot be detected.
ところで、2つの文字列の違いの程度を算出するアルゴリズムとして、レーベンシュタイン距離の算出アルゴリズムが知られている。このレーベンシュタイン距離の算出アルゴリズムをログ比較処理に適用することが考えられる。その際、バージョンアップ前後のログについて、両者の内容の部分のみを比較することが考えられる。 Incidentally, a Levenshtein distance calculation algorithm is known as an algorithm for calculating the degree of difference between two character strings. It is conceivable to apply this Levenshtein distance calculation algorithm to log comparison processing. At that time, it is conceivable to compare only the contents of both the logs before and after the upgrade.
そこで、図21〜図24を参照しつつ、レーベンシュタイン距離の算出アルゴリズムを用いたログ比較処理の手順について説明する。図21は、そのログ比較処理の手順の概略を示すフローチャートであり、図22は、図21のステップS91の詳細な手順を示すフローチャートであり、図23は、図21のステップS92の詳細な手順を示すフローチャートであり、図24は、図21のステップS93の詳細な手順を示すフローチャートである。 A procedure for log comparison processing using the Levenshtein distance calculation algorithm will be described with reference to FIGS. FIG. 21 is a flowchart showing an outline of the procedure of the log comparison processing, FIG. 22 is a flowchart showing the detailed procedure of step S91 in FIG. 21, and FIG. 23 shows the detailed procedure of step S92 in FIG. FIG. 24 is a flowchart showing a detailed procedure of step S93 in FIG.
このログ比較処理の開始後、まず、処理に必要な配列変数が準備される(図21のステップS91)。なお、このステップS91で準備される配列変数の他、このログ比較処理では、L1,L2,i,j,およびcという変数が用いられる。配列変数の準備については、具体的には(以下、図22を参照)、まず、L1にバージョンアップ前のログの行数が代入される(ステップS911)。次に、L2にバージョンアップ後のログの行数が代入される(ステップS912)。そして、A[L1+1,L2+1]という2次元の配列変数が準備される(ステップS913)。例えば、バージョンアップ前のログの行数が200で、バージョンアップ後のログの行数が201であれば、配列変数A[201,202]が準備される。 After the start of the log comparison process, array variables necessary for the process are first prepared (step S91 in FIG. 21). In addition to the array variables prepared in step S91, variables L1, L2, i, j, and c are used in this log comparison process. Regarding the preparation of the array variable, specifically (see FIG. 22 below), first, the number of log lines before the upgrade is substituted for L1 (step S911). Next, the number of log lines after the upgrade is substituted for L2 (step S912). Then, a two-dimensional array variable A [L1 + 1, L2 + 1] is prepared (step S913). For example, if the number of log lines before the upgrade is 200 and the number of log lines after the upgrade is 201, the array variable A [201, 202] is prepared.
配列変数の準備後、その配列変数に対して値の初期設定が行われる(図21のステップS92)。具体的には(以下、図23を参照)、まず、iに0が代入される(ステップS921)。次、A[i,0]にi(変数iの値)が代入される(ステップS922)。次に、iにi+1が代入される(ステップS923)。その後、iがL1よりも大きいか否かの判定が行われる(ステップS924)。その結果、iがL1よりも大きければ、処理はステップS925に進む。一方、iがL1以下であれば、処理はステップS922に戻る。以上より、例えば、バージョンアップ前のログの行数が200であれば、A[0,0]〜A[200,0]にそれぞれ0〜200が代入される。 After the array variable is prepared, a value is initialized for the array variable (step S92 in FIG. 21). Specifically (hereinafter, refer to FIG. 23), first, 0 is substituted for i (step S921). Next, i (value of variable i) is substituted into A [i, 0] (step S922). Next, i + 1 is substituted for i (step S923). Thereafter, it is determined whether i is larger than L1 (step S924). As a result, if i is larger than L1, the process proceeds to step S925. On the other hand, if i is equal to or less than L1, the process returns to step S922. As described above, for example, if the number of log lines before the upgrade is 200, 0 to 200 are assigned to A [0, 0] to A [200, 0], respectively.
ステップS925では、jに0が代入される。次、A[0,j]にj(変数jの値)が代入される(ステップS926)。次に、jにj+1が代入される(ステップS927)。その後、jがL2よりも大きいか否かの判定が行われる(ステップS928)。その結果、jがL2よりも大きければ、この初期設定の処理は終了する。一方、jがL2以下であれば、処理はステップS926に戻る。以上より、例えば、バージョンアップ後のログの行数が201であれば、A[0,0]〜A[0,201]にそれぞれ0〜201が代入される。 In step S925, 0 is substituted for j. Next, j (value of variable j) is substituted into A [0, j] (step S926). Next, j + 1 is substituted for j (step S927). Thereafter, it is determined whether j is larger than L2 (step S928). As a result, if j is larger than L2, the initial setting process ends. On the other hand, if j is less than or equal to L2, the process returns to step S926. From the above, for example, if the number of log lines after the upgrade is 201, 0 to 201 are assigned to A [0, 0] to A [0, 201], respectively.
初期設定の終了後、レーベンシュタイン距離の算出が行われる(図21のステップS93)。具体的には(以下、図24を参照)、まず、iに1が代入される(ステップS931)。次、jに1が代入される(ステップS932)。その後、バージョンアップ前のログのi行目とバージョンアップ後のログのj行目とが一致しているか否かの判定が行われる(ステップS933)。その結果、両者が一致していればcに0が代入され(ステップS934a)、両者が一致していなければcに1が代入される(ステップS934b)。 After the initial setting is completed, the Levenshtein distance is calculated (step S93 in FIG. 21). Specifically (hereinafter, refer to FIG. 24), first, 1 is assigned to i (step S931). Next, 1 is assigned to j (step S932). Thereafter, it is determined whether or not the i-th line of the log before the upgrade and the j-th line of the log after the upgrade match (step S933). As a result, if they match, 0 is assigned to c (step S934a), and if they do not match, 1 is assigned to c (step S934b).
その後、A[i,j]に、A[i−1,j]+1,A[i,j−1]+1,およびA[i−1,j−1]+cのうちの最小値が代入される(ステップS935)。このステップS935の処理によって、バージョンアップ前のログの或る行とバージョンアップ後のログの或る行とを比較して行の挿入,行の削除,および行の置換のいずれかが行われていると、レーベンシュタイン距離に1が加算されることになる。 After that, the minimum value of A [i−1, j] +1, A [i, j−1] +1, and A [i−1, j−1] + c is assigned to A [i, j]. (Step S935). By the processing in step S935, one of row insertion, row deletion, and row replacement is performed by comparing a certain row of the log before the upgrade and a certain row of the log after the upgrade. If so, 1 is added to the Levenshtein distance.
ステップS935の終了後、jにj+1が代入される(ステップS936)。その後、jがL2よりも大きいか否かの判定が行われる(ステップS937)。その結果、jがL2よりも大きければ処理はステップS938に進み、jがL2以下であれば処理はステップS933に戻る。ステップS938では、iにi+1が代入される。その後、iがL1よりも大きいか否かの判定が行われる(ステップS939)。その結果、iがL1よりも大きければ、A[L1,L2]がレーベンシュタイン距離とされる(ステップS940)。一方、iがL1以下であれば、処理はステップS932に戻る。 After the completion of step S935, j + 1 is substituted for j (step S936). Thereafter, it is determined whether j is larger than L2 (step S937). As a result, if j is larger than L2, the process proceeds to step S938, and if j is equal to or less than L2, the process returns to step S933. In step S938, i + 1 is substituted for i. Thereafter, it is determined whether i is larger than L1 (step S939). As a result, if i is larger than L1, A [L1, L2] is set as the Levenshtein distance (step S940). On the other hand, if i is equal to or less than L1, the process returns to step S932.
以上のようにして、バージョンアップ前のログの各行とバージョンアップ後のログの各行とが順次に比較され、仮にログの行毎に挿入,削除,および置換の操作が行われた場合にバージョンアップ前のログからバージョンアップ後のログを得るのに必要な操作回数の最小値がレーベンシュタイン距離とされる。そして、レーベンシュタイン距離が0であれば、バージョンアップ前後のログの間に差異はないと判断され、レーベンシュタイン距離が1以上であれば、バージョンアップ前後のログの間に差異があると判断される。 As described above, each row of the log before the upgrade and each row of the log after the upgrade are sequentially compared, and if the insertion, deletion, and replacement operations are performed for each log row, the upgrade is performed. The Levenshtein distance is the minimum value of the number of operations required to obtain the upgraded log from the previous log. If the Levenshtein distance is 0, it is determined that there is no difference between the logs before and after the upgrade, and if the Levenstein distance is 1 or more, it is determined that there is a difference between the logs before and after the upgrade. The
レーベンシュタイン距離の算出アルゴリズムを用いた以上のようなログ比較処理が行われると、図20に示したログが得られているケースでは、行の置換が2回発生するため、レーベンシュタイン距離は2となる。従って、バージョンアップ前後のログの間に差異があると判断される。このように、レーベンシュタイン距離の算出アルゴリズムを用いた場合にも、バージョンアップ後のソフトウェアに不具合が含まれているか否かを正しく判断することはできない。 When the log comparison process as described above using the Levenstein distance calculation algorithm is performed, in the case where the log shown in FIG. 20 is obtained, row replacement occurs twice, so the Levenstein distance is 2 It becomes. Therefore, it is determined that there is a difference between the logs before and after the version upgrade. Thus, even when the Levenshtein distance calculation algorithm is used, it is not possible to correctly determine whether or not the upgraded software includes a defect.
そこで本発明は、並列処理を含むプロセスを実行するソフトウェアのバージョンアップに起因するプロセスの結果への影響を正しく把握することのできるログ比較方法、ログ比較プログラム、およびログ比較装置を提供することを目的とする。 Therefore, the present invention provides a log comparison method, a log comparison program, and a log comparison device that can correctly grasp the influence on the result of a process resulting from a version upgrade of software that executes a process including parallel processing. Objective.
第1の発明は、時間の情報と処理の内容の情報とが記述された複数の行を含む第1ログと第2ログとを比較するログ比較方法であって、
前記第1ログに含まれる複数の行と前記第2ログに含まれる複数の行との間で、処理の内容に基づくマッチング処理を行うマッチングステップと、
前記マッチング処理によって一致する旨の判定結果が得られた2つの行である前記第1ログに含まれる行と前記第2ログに含まれる行との差異の有無を、両者の時間の差が予め設定された許容範囲内であるか否かに基づいて判別する差異有無判別ステップと
を含み、
前記マッチングステップでは、前記第1ログに含まれる各行について、一致行または削除行のいずれであるかの判定が行われるとともに、前記第2ログに含まれる各行について、一致行または挿入行のいずれであるかの判定が行われ、
前記マッチングステップで一致行と判定された2つの行である前記第1ログに含まれる行と前記第2ログに含まれる行とに着目すると、前記差異有無判別ステップでは、
両者の出力順序が一致していれば、両者について差異なし行である旨の最終的な判定が行われ、
両者の出力順序が一致せず、かつ、両者の時間の差が予め設定された許容範囲内であれば、両者について差異なし行である旨の最終的な判定が行われ、
両者の出力順序が一致せず、かつ、両者の時間の差が予め設定された許容範囲内でなければ、両者について置換行である旨の最終的な判定が行われることを特徴とする。
A first invention is a log comparison method for comparing a first log and a second log including a plurality of lines in which time information and processing content information are described.
A matching step for performing a matching process based on the processing content between the plurality of lines included in the first log and the plurality of lines included in the second log;
Whether or not there is a difference between the row included in the first log and the row included in the second log, which are two rows for which a determination result indicating that they match is obtained by the matching process, look including a difference whether determination step of determining, based on whether the set tolerance,
In the matching step, it is determined whether each row included in the first log is a matched row or a deleted row, and whether each row included in the second log is a matched row or an inserted row. A determination is made,
Focusing on the rows included in the first log and the rows included in the second log, which are the two rows determined as matching rows in the matching step, in the difference presence / absence determining step,
If the output order of both matches, a final determination is made that there is no difference between the two,
If the output order of the two does not match and the time difference between the two is within a preset tolerance, a final determination is made that there is no difference between the two,
If the output order of the two does not match and the time difference between the two is not within a preset allowable range, a final determination is made that both are replacement rows .
第2の発明は、第1の発明において、
前記第1ログおよび前記第2ログは、更に、1または複数の処理からなる処理ステージの開始または終了の情報が記述された行を含み、
前記マッチングステップでは、前記第1ログに含まれる複数の行と前記第2ログに含まれる複数の行との間で、処理の内容と当該処理を含む処理ステージの番号とに基づくマッチング処理が行われることを特徴とする。
According to a second invention, in the first invention,
The first log and the second log further include a line in which information on a start or end of a processing stage including one or a plurality of processes is described,
In the matching step, a matching process is performed between a plurality of lines included in the first log and a plurality of lines included in the second log based on the content of the process and the number of the process stage including the process. It is characterized by being.
第3の発明は、第1または第2の発明において、
前記マッチングステップおよび前記差異有無判別ステップで得られた判定結果に基づいて前記第1ログと前記第2ログとの差異の有無を表示する比較結果表示ステップを更に含むことを特徴とする。
The third invention is the first or second aspect of the invention,
The method further includes a comparison result display step of displaying the presence / absence of a difference between the first log and the second log based on the determination results obtained in the matching step and the difference presence / absence determination step.
第4の発明は、第3の発明において、
前記比較結果表示ステップでは、前記マッチングステップおよび前記差異有無判別ステップで削除行,挿入行,および置換行と判定された各行が識別可能に表示されることを特徴とする。
According to a fourth invention, in the third invention,
In the comparison result display step, each row determined as a deleted row, an inserted row, and a replacement row in the matching step and the difference presence / absence determining step is displayed in an identifiable manner.
第5の発明は、第3または第4の発明において、
前記比較結果表示ステップでは、前記第1ログと前記第2ログとの差異の程度を示す差異度が更に表示されることを特徴とする。
A fifth invention is the third or fourth invention, wherein
In the comparison result display step, a difference degree indicating a degree of difference between the first log and the second log is further displayed.
第6の発明は、時間の情報と処理の内容の情報とが記述された複数の行を含む第1ログと第2ログとを比較するログ比較プログラムであって、
前記第1ログに含まれる複数の行と前記第2ログに含まれる複数の行との間で、処理の内容に基づくマッチング処理を行うマッチングステップと、
前記マッチング処理によって一致する旨の判定結果が得られた2つの行である前記第1ログに含まれる行と前記第2ログに含まれる行との差異の有無を、両者の時間の差が予め設定された許容範囲内であるか否かに基づいて判別する差異有無判別ステップと
をコンピュータのCPUがメモリを利用して実行し、
前記マッチングステップでは、前記第1ログに含まれる各行について、一致行または削除行のいずれであるかの判定が行われるとともに、前記第2ログに含まれる各行について、一致行または挿入行のいずれであるかの判定が行われ、
前記マッチングステップで一致行と判定された2つの行である前記第1ログに含まれる行と前記第2ログに含まれる行とに着目すると、前記差異有無判別ステップでは、
両者の出力順序が一致していれば、両者について差異なし行である旨の最終的な判定が行われ、
両者の出力順序が一致せず、かつ、両者の時間の差が予め設定された許容範囲内であれば、両者について差異なし行である旨の最終的な判定が行われ、
両者の出力順序が一致せず、かつ、両者の時間の差が予め設定された許容範囲内でなければ、両者について置換行である旨の最終的な判定が行われることを特徴とする。
A sixth invention is a log comparison program for comparing a first log and a second log including a plurality of lines in which time information and processing content information are described,
A matching step for performing a matching process based on the processing content between the plurality of lines included in the first log and the plurality of lines included in the second log;
Whether or not there is a difference between the row included in the first log and the row included in the second log, which are two rows for which a determination result indicating that they match is obtained by the matching process, The CPU of the computer uses a memory to execute a difference presence / absence determination step for determining based on whether or not the set allowable range is satisfied ,
In the matching step, it is determined whether each row included in the first log is a matched row or a deleted row, and whether each row included in the second log is a matched row or an inserted row. A determination is made,
Focusing on the rows included in the first log and the rows included in the second log, which are the two rows determined as matching rows in the matching step, in the difference presence / absence determining step,
If the output order of both matches, a final determination is made that there is no difference between the two,
If the output order of the two does not match and the time difference between the two is within a preset tolerance, a final determination is made that there is no difference between the two,
If the output order of the two does not match and the time difference between the two is not within a preset allowable range, a final determination is made that both are replacement rows .
第7の発明は、第6の発明において、
前記第1ログおよび前記第2ログは、更に、1または複数の処理からなる処理ステージの開始または終了の情報が記述された行を含み、
前記マッチングステップでは、前記第1ログに含まれる複数の行と前記第2ログに含まれる複数の行との間で、処理の内容と当該処理を含む処理ステージの番号とに基づくマッチング処理が行われることを特徴とする。
A seventh invention is the sixth invention, wherein
The first log and the second log further include a line in which information on a start or end of a processing stage including one or a plurality of processes is described,
In the matching step, a matching process is performed between a plurality of lines included in the first log and a plurality of lines included in the second log based on the content of the process and the number of the process stage including the process. It is characterized by being.
第8の発明は、第6または第7の発明において、
前記マッチングステップおよび前記差異有無判別ステップで得られた判定結果に基づいて前記第1ログと前記第2ログとの差異の有無を表示する比較結果表示ステップを更に含むことを特徴とする。
The eighth invention is the sixth or seventh invention, wherein
The method further includes a comparison result display step of displaying the presence / absence of a difference between the first log and the second log based on the determination results obtained in the matching step and the difference presence / absence determination step.
第9の発明は、第8の発明において、
前記比較結果表示ステップでは、前記マッチングステップおよび前記差異有無判別ステップで削除行,挿入行,および置換行と判定された各行が識別可能に表示されることを特徴とする。
In a ninth aspect based on the eighth aspect ,
In the comparison result display step, each row determined as a deleted row, an inserted row, and a replacement row in the matching step and the difference presence / absence determining step is displayed in an identifiable manner.
第10の発明は、第8または第9の発明において、
前記比較結果表示ステップでは、前記第1ログと前記第2ログとの差異の程度を示す差異度が更に表示されることを特徴とする。
In a tenth aspect based on the eighth or ninth aspect ,
In the comparison result display step, a difference degree indicating a degree of difference between the first log and the second log is further displayed.
第11の発明は、時間の情報と処理の内容の情報とが記述された複数の行を含む第1ログと第2ログとを比較するログ比較装置であって、
前記第1ログに含まれる複数の行と前記第2ログに含まれる複数の行との間で、処理の内容に基づくマッチング処理を行うマッチング処理部と、
前記マッチング処理によって一致する旨の判定結果が得られた2つの行である前記第1ログに含まれる行と前記第2ログに含まれる行との差異の有無を、両者の時間の差が予め設定された許容範囲内であるか否かに基づいて判別する差異有無判別部と
を備え、
前記マッチング処理部は、前記第1ログに含まれる各行について、一致行または削除行のいずれであるかの判定を行うとともに、前記第2ログに含まれる各行について、一致行または挿入行のいずれであるかの判定を行い、
前記マッチング処理部によって一致行と判定された2つの行である前記第1ログに含まれる行と前記第2ログに含まれる行とに着目すると、前記差異有無判別部は、
両者の出力順序が一致していれば、両者について差異なし行である旨の最終的な判定を行う、
両者の出力順序が一致せず、かつ、両者の時間の差が予め設定された許容範囲内であれば、両者について差異なし行である旨の最終的な判定を行い、
両者の出力順序が一致せず、かつ、両者の時間の差が予め設定された許容範囲内でなければ、両者について置換行である旨の最終的な判定を行うことを特徴とする。
An eleventh invention is a log comparison device that compares a first log and a second log including a plurality of lines in which time information and processing content information are described,
A matching processing unit that performs a matching process based on the content of processing between the plurality of rows included in the first log and the plurality of rows included in the second log;
Whether or not there is a difference between the row included in the first log and the row included in the second log, which are two rows for which a determination result indicating that they match is obtained by the matching process, A difference presence / absence determining unit that determines based on whether or not it is within a set allowable range ,
The matching processing unit determines whether each row included in the first log is a matched row or a deleted row, and whether each matched row or inserted row is included in each second row included in the second log. Determine if there is
Focusing on the lines included in the first log and the lines included in the second log, which are the two lines determined as the matching lines by the matching processing unit, the difference presence / absence determining unit,
If the output order of both matches, a final determination is made that there is no difference between the two.
If the output order of both does not match and the time difference between the two is within a preset allowable range, a final determination is made that there is no difference between the two,
If the output order of the two does not match and the time difference between the two is not within a preset allowable range, a final determination is made that both are replacement rows .
上記第1の発明によれば、ソフトウェアのバージョンアップ前後のログ(第1ログと第2ログ)を比較する際、まず、時間および処理の内容のうちの処理の内容のみに基づくマッチング処理が行われる。その際、バージョンアップ前後のログの各行を「削除行」,「挿入行」,「置換行」,および「差異なし行」に分類することができる。そして、マッチング処理によって互いに一致する旨の判定結果が得られた2つの行(第1ログの行と第2ログの行)の間の差異の有無についての最終的な判断が、両者の時間差が予め設定された許容範囲内であるか否かに基づいて行われる(両者の出力順序・時間差を考慮して行われる)。このため、バージョンアップ前後でのログの出力順序の変動が単に並列処理が行われることに起因する場合には、当該出力順序の変動を生じている処理のログについてはバージョンアップ前後で差異がない旨の判断(すなわち、処理に問題がない旨の判断)が行われる。また、並列処理が行われる部分であっても、バージョンアップ前後のログの時間差が大きい場合には、バージョンアップ前後で差異がある旨の判断が行われる。以上より、並列処理を含むプロセスを実行するソフトウェアのバージョンアップに起因するプロセスの結果への影響を従来よりも正しく把握することが可能となる。 According to the first aspect of the present invention, when comparing the logs before and after software upgrade (the first log and the second log), first, matching processing based on only the processing contents of the time and the processing contents is performed. Is called. At this time, each line of the log before and after the upgrade can be classified into “deleted line”, “inserted line”, “replaced line”, and “no difference line”. Then, the final judgment as to whether or not there is a difference between the two rows (the first log row and the second log row) from which the determination result indicating that they match each other by the matching process is obtained It is performed based on whether or not it is within a preset allowable range (considering the output order and time difference between the two) . For this reason, if the change in the log output order before and after the upgrade is simply due to parallel processing, there is no difference in the log of the process that caused the change in the output order before and after the upgrade. (That is, a determination that there is no problem in processing). Even in a portion where parallel processing is performed, if the time difference between the logs before and after the upgrade is large, it is determined that there is a difference between before and after the upgrade. As described above, it is possible to correctly grasp the influence on the result of the process resulting from the version upgrade of the software that executes the process including the parallel processing.
上記第2の発明によれば、処理と処理ステージとの関係も考慮しつつ、ソフトウェアのバージョンアップに起因するプロセスの結果への影響を把握することが可能となる。 According to the second aspect of the present invention, it is possible to grasp the influence on the result of the process due to the software version upgrade while taking into consideration the relationship between the processing and the processing stage.
上記第3の発明によれば、比較結果表示ステップで第1ログと第2ログとの差異の有無が表示される。このため、バージョンアップがプロセスに何らかの影響を及ぼしたか否かを迅速に把握することが可能となる。 According to the third aspect , whether or not there is a difference between the first log and the second log is displayed in the comparison result display step. For this reason, it is possible to quickly grasp whether or not the upgrade has any influence on the process.
上記第4の発明によれば、比較結果の詳細が表示されるので、バージョンアップがプロセスに及ぼした影響をより詳しく把握することが可能となる。 According to the fourth aspect , since the details of the comparison result are displayed, it is possible to grasp in more detail the influence of the upgrade on the process.
上記第5の発明によれば、バージョンアップがプロセスに及ぼした影響の程度を把握することが可能となる。 According to the fifth aspect , it is possible to grasp the degree of the influence that the version upgrade has on the process.
上記第6から上記第10までの発明によれば、それぞれ上記第1から上記第5までの発明と同様の効果をログ比較プログラムの発明において奏することができる。 According to the sixth to tenth inventions, the log comparison program invention can achieve the same effects as the first to fifth inventions.
上記第11の発明によれば、上記第1の発明と同様の効果をログ比較装置の発明において奏することができる。
According to the eleventh aspect , the same effect as that of the first aspect can be achieved in the invention of the log comparison device.
以下、添付図面を参照しつつ本発明の一実施形態について説明する。 Hereinafter, an embodiment of the present invention will be described with reference to the accompanying drawings.
<1.概略構成>
図1は、本発明の一実施形態に係る半導体製造装置である基板処理装置1の概略構成を示すブロック図である。なお、基板処理装置1の具体的な例としては、洗浄装置,熱処理装置,露光装置などが挙げられる。図1に示すように、この基板処理装置1は、主装置10と、複数の制御基板20と、複数の処理ユニット30とによって構成されている。複数の制御基板20と複数の処理ユニット30とは1対1で対応している。主装置10は、この基板処理装置1の全体の動作を制御する。具体的には、主装置10は、各処理ユニット30で所望の処理が行われるよう、各制御基板20に対して各種のコマンドを出力する。各処理ユニットでのプロセスの実行状況を示す情報はログとして出力される。また、本実施形態においては、主装置10は、ソフトウェアのバージョンアップが行われた際に当該バージョンアップに起因するプロセスの結果への影響を正しく把握するために(例えば、当該バージョンアップ後のソフトウェアに不具合が含まれているか否かを判断するために)、バージョンアップ前後のログを比較するログ比較処理を行う。以上のように、本実施形態における主装置10は、模式的には図2に示すように、各処理ユニット30の動作を制御する処理制御装置102として機能するとともに、ログ比較処理を実行するログ比較装置104としても機能する。
<1. Schematic configuration>
FIG. 1 is a block diagram showing a schematic configuration of a
各制御基板20は、主装置10から与えられるコマンドに基づいて、対応する処理ユニット30の動作を制御する。各処理ユニット30は、対応する制御基板20による制御に基づいて、所定の処理を行う。例えば、処理ユニット30に基板回転用のモータが含まれていると仮定する。この場合、制御基板20から処理ユニット30に対して例えばパルス信号が与えられ、そのパルス信号に基づいて処理ユニット30内のモータが駆動する。このようにして処理ユニット30で処理が行われると、上述したように当該処理ユニット30でのプロセスの実行状況を示す情報がログとして出力される。本実施形態では、ログは制御基板20から主装置10へと送られて主装置10内の記憶部(後述する補助記憶装置120)に保存される。但し、ログの保存場所については特に限定されない。
Each
<2.主装置の構成>
図3は、ログ比較装置104として機能する主装置10(基板処理装置1内の主装置10)のハードウェア構成を示すブロック図である。主装置10は、CPU110と補助記憶装置120と表示部130と入力部140とメモリ150とネットワークインタフェース部160とを備えている。CPU110は、与えられた命令に従い各種演算処理等を行う。補助記憶装置120は、各種データ等を記憶する。ログ比較処理に関連するものとしては、ログファイル122およびログ比較プログラム124が補助記憶装置120に格納される。表示部130は、例えば、オペレータが作業を行うための各種画面を表示する。入力部140は、マウスやキーボードによるオペレータからの入力を受け付ける。メモリ150には、CPU110の演算処理に必要なデータが一時的に格納される。ネットワークインタフェース部160は、LAN9等を介してこの主装置10と制御基板20との間でのデータ通信が可能となるように機能する。
<2. Configuration of main unit>
FIG. 3 is a block diagram illustrating a hardware configuration of the main apparatus 10 (the
主装置10においてオペレータによってログ比較処理の実行が指示されると、ログ比較プログラム124がメモリ150に読み込まれ、そのメモリ150に読み込まれたログ比較プログラム124をCPU110が実行する。これにより、主装置10はログ比較装置104として機能し、ログ比較処理が実行される。なお、ログ比較プログラム124は、CD−ROM,DVD−ROM,フラッシュメモリ等の記録媒体に記録された形態あるいはネットワークを介したダウンロードの形態で提供される。
When an execution of log comparison processing is instructed by the operator in the
ここで、ログファイル122内のログについて説明する。図4は、ログファイル122に書き込まれているログの一例を示す図である。図4に示すように、ログの各行は「時間(時刻)」の情報および「内容」の情報によって構成されている。各行の「内容」の情報は、ステップ(処理ステージ)の開始・終了を示す情報または具体的な処理内容を示す情報である。例えば1行目に着目すると、18時00分00秒100に「ステップ1」というステップが開始されたことが把握される。なお、1つのステップは、1または複数の処理によって構成されている。また、例えば3行目に着目すると、18時00分00秒101に「基板の回転」という処理が行われたことが把握される。なお、以下、説明の便宜上、図5で符号61で示す部分のように、具体的な処理内容を「処理A」などと表記する。
Here, the log in the
<3.ログ比較装置の機能構成および動作概要>
上述したように、主装置10のCPU110がログ比較プログラム124を実行することにより、主装置10はログ比較装置104として機能する。図6は、そのログ比較装置104の機能構成を示す機能ブロック図である。図6に示すように、ログ比較装置104は、機能的には、比較部40と比較結果表示部42とを有している。比較部40には、マッチング処理部402と差異有無判別部404とが含まれている。
<3. Functional configuration and operation overview of log comparison device>
As described above, the
比較部40内のマッチング処理部402は、バージョンアップ前のログファイル122aとバージョンアップ後のログファイル122bを読み込み、バージョンアップ前のログファイル122aに含まれている複数の行とバージョンアップ後のログファイル122bに含まれている複数の行との間でマッチング処理を行う。なお、以下、バージョンアップ前のログファイル122a内のログ(複数の行)を「第1ログ」といい、バージョンアップ後のログファイル122b内のログ(複数の行)を「第2ログ」という。バージョンアップ前後の2つのログ(第1ログおよび第2ログ)に対するマッチング処理によって、第1ログおよび第2ログに含まれる各行について、比較結果として、「一致」,「挿入」,および「削除」のうちのいずれかの判定が行われる。
The matching
比較部40内の差異有無判別部404は、マッチング処理によって「一致」と判定された行(第1ログに含まれる行および第2ログに含まれる行)について、一方の時間と他方の時間との差(時間差)に基づいて、両者間の差異の有無を判別する。なお、その際、各行の時間はプロセスの開始時間(図4に示す例では、ステップ1の開始時間)からの経過時間である相対時間に変換され、相対時間についての時間差に基づいて差異の有無の判別が行われる。差異有無判別部404で差異がない旨の判別がなされた行については、比較結果が「一致」から「差異なし」に変更される。差異有無判別部404で差異がある旨の判別がなされた行については、比較結果が「一致」から「置換」に変更される。
The difference presence /
比較部40(マッチング処理部402および差異有無判別部404)での処理によって、第1ログおよび第2ログに含まれる各行についての比較結果は、「挿入」,「削除」,「置換」,および「差異なし」のいずれかとなる。比較結果は、結果データ48として比較部40から出力される。
As a result of the processing in the comparison unit 40 (
比較結果表示部42は、結果データ48に基づいて、表示部130(図3参照)に比較結果画面50を表示する。なお、比較結果画面50についての詳しい説明は後述する。
The comparison
<4.ログ比較処理の手順>
次に、本実施形態におけるログ比較処理の手順について説明する。図7は、ログ比較処理の概略手順を示すフローチャートである。ログ比較処理の開始後、まず、マッチング処理部402によって、バージョンアップ前後の2つのログ(第1ログおよび第2ログ)に対するマッチング処理が行われる(ステップS10)。次に、差異有無判別部404によって、ステップS10で「一致」と判定された行(第1ログおよび第2ログの両者の行)についての差異の有無を判別する処理(差異有無判別処理)が行われる(ステップS20)。その後、比較結果表示部42によって、表示部130への比較結果画面50の表示が行われる(ステップS30)。
<4. Log comparison process>
Next, the procedure of the log comparison process in this embodiment will be described. FIG. 7 is a flowchart showing a schematic procedure of log comparison processing. After the start of the log comparison process, first, the
なお、本実施形態においては、上記ステップS10によってマッチングステップが実現され、上記ステップS20によって差異有無判別ステップが実現され、上記ステップS30によって比較結果表示ステップが実現されている。 In the present embodiment, a matching step is realized by step S10, a difference presence / absence determination step is realized by step S20, and a comparison result display step is realized by step S30.
図8は、マッチング処理(図7のステップS10)の詳細な手順を示すフローチャートである。マッチング処理の開始後、まず、第1ログに関して、具体的な処理内容を示す情報が記述されている行(換言すれば、ステップの開始・終了を示す情報が記述されている行以外の行)のうちの1行目が現在行に設定される(ステップS100)。次に、第2ログに関して、具体的な処理内容を示す情報が書き込まれている行のうちの1行目が現在行に設定される(ステップS110)。なお、現在行とは、ログ比較プログラム124の実行中において処理対象となっている行のことである。また、以下、便宜上、具体的な処理内容を示す情報が記述されている行のみに着目して処理のフローの説明を行う。
FIG. 8 is a flowchart showing a detailed procedure of the matching process (step S10 in FIG. 7). After the start of the matching process, first, a line in which information indicating specific processing contents is described for the first log (in other words, a line other than a line in which information indicating the start / end of a step is described) The first line is set as the current line (step S100). Next, for the second log, the first line among the lines in which information indicating specific processing contents is written is set as the current line (step S110). The current line is a line to be processed during execution of the
ステップS110の終了後、第1ログの現在行と第2ログの現在行とが比較され、両者間で内容およびステップ番号の双方が一致しているか否かの判定が行われる(ステップS120)。その結果、双方が一致していれば、処理はステップS130に進む。一方、内容およびステップ番号の少なくとも一方が一致していなければ、処理はステップS140に進む。ところで、上述したように、ログの各行の「内容」の情報は、ステップの開始・終了を示す情報または具体的な処理内容を示す情報である。すなわち、具体的な処理内容を示す情報が記述されている行は、例えば図9に示すように、対応するステップの開始を示す情報が記述されている行と当該ステップの終了を示す情報が記述されている行との間に含まれている。これにより、ステップS120において、第1ログの現在行と第2ログの現在行との間でステップ番号が一致しているか否かを判定することができる。 After completion of step S110, the current line of the first log and the current line of the second log are compared, and it is determined whether or not both the contents and the step number match (step S120). As a result, if both match, the process proceeds to step S130. On the other hand, if at least one of the contents and the step number does not match, the process proceeds to step S140. By the way, as described above, the “content” information of each line of the log is information indicating the start / end of a step or information indicating a specific processing content. In other words, for example, as shown in FIG. 9, a line describing information indicating specific processing contents includes a line describing information indicating the start of the corresponding step and information indicating the end of the step. Included between the line being. Thereby, in step S120, it can be determined whether the step number is the same between the current line of the first log and the current line of the second log.
ステップS130では、第1ログおよび第2ログの双方の現在行についての比較結果が「一致」に設定される。なお、このステップS130で比較結果が「一致」に設定された行については、後述するように、差異有無判別処理で比較結果が「差異なし」または「置換」に変更される。ステップS130の終了後、処理はステップS150に進む。 In step S130, the comparison result for the current line in both the first log and the second log is set to “match”. Note that, as will be described later, the comparison result is changed to “no difference” or “replacement” in the difference presence / absence determination processing for the row in which the comparison result is set to “match” in step S130. After step S130 ends, the process proceeds to step S150.
ステップS140では、第2ログに関して、次の未判定行(比較結果が設定されていない行)が現在行に設定される。その後、第2ログの全ての行について第1ログの現在行との比較が終了したか否かの判定が行われる(ステップS142)。その結果、比較が終了していれば処理はステップS144に進み、比較が終了していなければ処理はステップS120に戻る。処理がステップS144に進むことは、第1ログの現在行に対応する行(ログ)が第2ログに存在しないことを意味する。従って、ステップS144では、第1ログの現在行についての比較結果が「削除」に設定される。ステップS144の終了後、処理はステップS150に進む。 In step S140, for the second log, the next undecided row (a row for which no comparison result is set) is set as the current row. Thereafter, it is determined whether or not the comparison with the current row of the first log has been completed for all the rows of the second log (step S142). As a result, if the comparison is complete, the process proceeds to step S144. If the comparison is not complete, the process returns to step S120. The process proceeding to step S144 means that there is no line (log) corresponding to the current line of the first log in the second log. Accordingly, in step S144, the comparison result for the current line of the first log is set to “delete”. After step S144 ends, the process proceeds to step S150.
ステップS150では、第1ログに関して、次の未判定行が現在行に設定される。その後、第1ログの全ての行について第2ログの各行との比較が終了したか否かの判定が行われる(ステップS160)。その結果、比較が終了していれば処理はステップS170に進み、比較が終了していなければ処理はステップS110に戻る。 In step S150, the next undecided row is set as the current row for the first log. Thereafter, it is determined whether or not the comparison of each row of the first log with each row of the second log is completed (step S160). As a result, if the comparison is complete, the process proceeds to step S170, and if the comparison is not complete, the process returns to step S110.
ステップS170では、第2ログに関して、上述したステップS100〜ステップS160の処理で比較結果が設定されなかった行についての比較結果が「挿入」に設定される。これにより、マッチング処理が終了する。 In step S170, with respect to the second log, the comparison result for the row for which the comparison result has not been set in the processing of step S100 to step S160 described above is set to “insertion”. Thereby, the matching process ends.
以上のようなマッチング処理の結果、第1ログおよび第2ログの双方に存在する内容の行(第1ログおよび第2ログの両者の行)については比較結果が「一致」に設定され、第2ログのみに存在する内容の行(第2ログの行)については比較結果が「挿入」に設定され、第1ログのみに存在する内容の行(第1ログの行)については比較結果が「削除」に設定される。以下、比較結果が「一致」に設定された行のことを「一致行」ともいい、比較結果が「挿入」に設定された行のことを「挿入行」ともいい、比較結果が「削除」に設定された行のことを「削除行」ともいう。 As a result of the matching process as described above, the comparison result is set to “match” for the lines of contents existing in both the first log and the second log (the lines of both the first log and the second log). The comparison result is set to “insertion” for a content line existing only in two logs (second log line), and the comparison result is set for a content line only present in the first log (first log line). Set to “Delete”. In the following, the line for which the comparison result is set to “match” is also referred to as “matched line”, the line for which the comparison result is set to “insert” is also referred to as “inserted line”, and the comparison result is “deleted”. The line set to is also referred to as “deleted line”.
図10は、差異有無判別処理の詳細な手順を示すフローチャートである。差異有無判別処理の開始後、まず、第1ログに関して、比較結果が「一致」に設定されている行のうちの最初の行が現在行に設定される(ステップS200)。次に、第2ログに関して、比較結果が「一致」に設定されている行のうちの最初の行が現在行に設定される(ステップS210)。その後、第1ログの現在行と第2ログの現在行とが比較され、両者間で内容が一致しているか否かの判定が行われる(ステップS220)。その結果、内容が一致していれば、処理はステップS230に進む。一方、内容が一致していなければ、処理はステップS260に進む。 FIG. 10 is a flowchart showing a detailed procedure of the difference presence / absence determination process. After the start of the difference presence / absence determination process, first, the first line of the lines for which the comparison result is set to “match” is set as the current line for the first log (step S200). Next, for the second log, the first line among the lines whose comparison results are set to “match” is set as the current line (step S210). Thereafter, the current line of the first log and the current line of the second log are compared, and it is determined whether or not the contents match between them (step S220). As a result, if the contents match, the process proceeds to step S230. On the other hand, if the contents do not match, the process proceeds to step S260.
ステップS230では、第1ログの現在行についての出力順序と第2ログの現在行についての出力順序とが一致しているか否かの判定が行われる。この判定は、例えば現在行の1つ前の行の内容を比較することによって行うことができる。判定の結果、出力順序が一致していれば、処理はステップS250に進む。一方、出力順序が一致していなければ、処理はステップS240に進む。 In step S230, it is determined whether or not the output order for the current line of the first log matches the output order for the current line of the second log. This determination can be made, for example, by comparing the contents of the line immediately before the current line. If the output order matches as a result of the determination, the process proceeds to step S250. On the other hand, if the output order does not match, the process proceeds to step S240.
ステップS240では、第1ログの現在行についての上述した相対時間(プロセスの開始時間からの経過時間)と第2ログの現在行についての相対時間との差(時間差)が予め設定されている許容範囲内であるか否かの判定が行われる。その結果、時間差が許容範囲内であれば、処理はステップS250に進む。一方、時間差が許容範囲内でなければ、処理はステップS242に進む。なお、許容範囲は例えば「10ms」などと設定される。 In step S240, a difference (time difference) between the above-described relative time for the current line of the first log (elapsed time from the start time of the process) and the relative time for the current line of the second log is set in advance. A determination is made whether it is within range. As a result, if the time difference is within the allowable range, the process proceeds to step S250. On the other hand, if the time difference is not within the allowable range, the process proceeds to step S242. The allowable range is set to “10 ms”, for example.
ステップS242では、第1ログおよび第2ログの双方の現在行についての比較結果が「一致」から「置換」に変更される。ステップS242の終了後、処理はステップS270に進む。 In step S242, the comparison result for the current row of both the first log and the second log is changed from “match” to “replace”. After step S242 ends, the process proceeds to step S270.
ステップS250では、第1ログおよび第2ログの双方の現在行についての比較結果が「一致」から「差異なし」に変更される。ステップS250の終了後、処理はステップS270に進む。 In step S250, the comparison result for the current line in both the first log and the second log is changed from “match” to “no difference”. After step S250 ends, the process proceeds to step S270.
ステップS260では、第2ログに関して、比較結果が「一致」に設定されている次の行が現在行に設定される。その後、比較結果が「一致」に設定されている行に関し、第2ログの全ての行について第1ログの現在行との比較が終了したか否かの判定が行われる(ステップS262)。その結果、比較が終了していれば処理はステップS270に進み、比較が終了していなければ処理はステップS220に戻る。 In step S260, for the second log, the next line for which the comparison result is set to “match” is set as the current line. Thereafter, with respect to the row for which the comparison result is set to “match”, it is determined whether or not the comparison with the current row of the first log has been completed for all the rows of the second log (step S262). As a result, if the comparison is complete, the process proceeds to step S270, and if the comparison is not complete, the process returns to step S220.
ステップS270では、第1ログに関して、比較結果が「一致」に設定されている次の行が現在行に設定される。その後、比較結果が「一致」に設定されている行に関し、第1ログの全ての行について第2ログの各行との比較が終了したか否かの判定が行われる(ステップS280)。その結果、比較が終了していれば、差異有無判別処理が終了する。一方、比較が終了していなければ、処理はステップS210に戻る。 In step S270, for the first log, the next line for which the comparison result is set to “match” is set as the current line. Thereafter, with respect to the line for which the comparison result is set to “match”, it is determined whether or not the comparison of all the lines in the first log with the respective lines in the second log has been completed (step S280). As a result, if the comparison is completed, the difference presence / absence determination process is completed. On the other hand, if the comparison has not ended, the process returns to step S210.
以上のような差異有無判別処理の結果、第1ログおよび第2ログの双方に存在する内容の行(第1ログおよび第2ログの両者の行)について、次のような設定が行われる。時間差が許容範囲内の行については、比較結果が「差異なし」に設定される。時間差が許容範囲外の行については、比較結果が「置換」に設定される。以下、比較結果が「差異なし」に設定された行のことを「差異なし行」ともいい、比較結果が「置換」に設定された行のことを「置換行」ともいう。 As a result of the above-described difference presence / absence determination processing, the following settings are made for the lines of contents existing in both the first log and the second log (both the first log and the second log). The comparison result is set to “no difference” for a row whose time difference is within an allowable range. For rows whose time difference is outside the allowable range, the comparison result is set to “replace”. Hereinafter, a line for which the comparison result is set to “no difference” is also referred to as a “no difference line”, and a line for which the comparison result is set to “replacement” is also referred to as a “replacement line”.
<5.比較の具体例>
ここで、上述したログ比較処理によるバージョンアップ前後のログの比較の具体例について説明する。なお、以下の各ケースでは、処理A〜Dの処理フローは特に断らない限り図19に示した処理フローであると仮定する。また、上述した許容範囲が10msに設定されているものと仮定する。
<5. Specific example of comparison>
Here, a specific example of log comparison before and after version upgrade by the above-described log comparison process will be described. In the following cases, it is assumed that the processing flows of the processes A to D are those shown in FIG. 19 unless otherwise specified. Further, it is assumed that the allowable range described above is set to 10 ms.
<5.1 第1のケース>
図11に示すようなバージョンアップ前後のログが得られているケースを第1のケースとする。図11に示すように、このケースでは、バージョンアップ前後で処理Bと処理Cの出力順序が入れ替わっている。但し、ここでの出力順序の変動は、単に処理Bと処理Cとが並列して実行されることに起因している(図19参照)。すなわち、このケースは、第1ログ(バージョンアップ前のログ)と第2ログ(バージョンアップ後のログ)との間には差異がない旨の判定が行われるべきケースである(ここでは、ステップ1に含まれる処理に関するログのみに着目する)。
<5.1 First Case>
A case where logs before and after version upgrade as shown in FIG. 11 are obtained is defined as a first case. As shown in FIG. 11, in this case, the output order of processing B and processing C is switched before and after the version upgrade. However, the change in the output order here is simply due to the processing B and the processing C being executed in parallel (see FIG. 19). That is, this case is a case in which it is determined that there is no difference between the first log (log before the upgrade) and the second log (log after the upgrade) (here, the step) Focus only on logs related to processing included in 1).
第1ログには、ステップ1に含まれる処理のログとして、処理A,処理B,処理C,および処理Dの4つの処理のログが含まれている。第2ログには、ステップ1に含まれる処理のログとして、処理A,処理C,処理B,および処理Dの4つの処理のログが含まれている。第1ログに含まれている4つの処理のログと第2ログに含まれている4つの処理のログとは1対1で対応している。従って、まず、マッチング処理(図8を参照)によって、第1ログおよび第2ログの双方に関し、2行目から5行目までの全ての行(行番号が2から5までの行)についての比較結果が「一致」に設定される。
The first log includes logs of four processes of process A, process B, process C, and process D as the process logs included in
次に、差異有無判別処理(図10を参照)では、処理A〜Dのそれぞれのログ(行)について、比較結果を「差異なし」または「置換」のいずれかに設定する処理が行われる。ここでは、出力順序が入れ替わっている処理Bと処理Cのログに着目して説明する。第1ログの処理Bのログ(行)と第2ログの処理Bのログ(行)とが比較されるとき、図10のステップS220では「内容が一致している」旨の判定が行われ、図10のステップS230では「出力順序が一致していない」旨の判定が行われる。従って、処理はステップS240に進む。第1ログの処理Cのログ(行)と第2ログの処理Cのログ(行)とが比較されるときも同様である。ここで、処理Bのログに着目すると、第1ログと第2ログとの間の時間差は1msである。この時間差は許容範囲内である。従って、第1ログの3行目についての比較結果および第2ログの4行目についての比較結果が「差異なし」に設定される(「一致」から「差異なし」に変更される)。また、処理Cのログに着目すると、第1ログと第2ログとの間の時間差は0msである。この時間差は許容範囲内である。従って、第1ログの4行目についての比較結果および第2ログの3行目についての比較結果が「差異なし」に設定される(「一致」から「差異なし」に変更される)。なお、処理Aおよび処理Dのログについての比較結果、すなわち、第1ログの2行目についての比較結果,第2ログの2行目についての比較結果,第1ログの5行目についての比較結果,および第2ログの5行目についての比較結果も、「差異なし」に設定される(「一致」から「差異なし」に変更される)。 Next, in the difference presence / absence determination process (see FIG. 10), a process of setting the comparison result to “no difference” or “replacement” is performed for each log (row) of the processes A to D. Here, a description will be given focusing on logs of process B and process C whose output order is switched. When the log (line) of the process B of the first log and the log (line) of the process B of the second log are compared, it is determined in step S220 in FIG. 10 that “the contents match”. In step S230 of FIG. 10, it is determined that “the output order does not match”. Accordingly, the process proceeds to step S240. The same applies when the log (line) of the process C of the first log and the log (line) of the process C of the second log are compared. Here, paying attention to the log of process B, the time difference between the first log and the second log is 1 ms. This time difference is within an acceptable range. Therefore, the comparison result for the third line of the first log and the comparison result for the fourth line of the second log are set to “no difference” (changed from “match” to “no difference”). When attention is paid to the log of process C, the time difference between the first log and the second log is 0 ms. This time difference is within an acceptable range. Therefore, the comparison result for the fourth line of the first log and the comparison result for the third line of the second log are set to “no difference” (changed from “match” to “no difference”). The comparison results for the logs of process A and process D, that is, the comparison results for the second line of the first log, the comparison results for the second line of the second log, and the comparison for the fifth line of the first log The result and the comparison result for the fifth line of the second log are also set to “no difference” (changed from “match” to “no difference”).
以上のようにして、「バージョンアップ前のログとバージョンアップ後のログとの間には差異がない」という比較結果が得られる。すなわち、ログ比較処理の結果として、所望の結果が得られている。 As described above, a comparison result that “there is no difference between the log before the upgrade and the log after the upgrade” is obtained. That is, a desired result is obtained as a result of the log comparison process.
<5.2 第2のケース>
図12に示すようなバージョンアップ前後のログが得られているケースを第2のケースとする。図12に示すように、このケースでは、バージョンアップ前には処理Bは処理Aの次に実行されていたが、バージョンアップ後には処理Bは処理Dの次に実行されている。また、バージョンアップ前の処理Bの時間とバージョンアップ後の処理Bの時間との差(時間差)は許容範囲(10ms)を超えている。すなわち、このケースは、第1ログ(バージョンアップ前のログ)と第2ログ(バージョンアップ後のログ)との間に差異がある旨の判定が行われるべきケースである。
<5.2 Second Case>
A case in which logs before and after the upgrade as shown in FIG. 12 are obtained is a second case. As shown in FIG. 12, in this case, the process B is executed after the process A before the version upgrade, but the process B is executed after the process D after the version upgrade. Further, the difference (time difference) between the process B time before version upgrade and the process B time after version upgrade exceeds the allowable range (10 ms). In other words, this case is a case in which it is determined that there is a difference between the first log (log before upgrade) and the second log (log after upgrade).
このケースでは、まず、第1のケースと同様、マッチング処理(図8を参照)によって、第1ログおよび第2ログの双方に関し、2行目から5行目までの全ての行についての比較結果が「一致」に設定される。 In this case, first, as in the first case, the comparison process for all the rows from the second row to the fifth row is performed for both the first log and the second log by the matching process (see FIG. 8). Is set to “match”.
次に、差異有無判別処理(図10を参照)によって、処理A〜Dのそれぞれのログについて、比較結果を「差異なし」または「置換」のいずれかに設定する処理が行われる。ここでは、処理Bのログに着目して説明する。第1ログの処理Bのログ(行)と第2ログの処理Bのログ(行)とが比較されるとき、図10のステップS220では「内容が一致している」旨の判定が行われ、図10のステップS230では「出力順序が一致していない」旨の判定が行われる。従って、処理はステップS240に進む。ここで、処理Bのログに着目すると、第1ログと第2ログとの間の時間差は244msである。この時間差は許容範囲外である。従って、第1ログの3行目についての比較結果および第2ログの5行目についての比較結果が「置換」に設定される(「一致」から「置換」に変更される)。 Next, a process of setting the comparison result to “no difference” or “replacement” is performed for each log of the processes A to D by the difference presence / absence determination process (see FIG. 10). Here, a description will be given focusing on the log of process B. When the log (line) of the process B of the first log and the log (line) of the process B of the second log are compared, it is determined in step S220 in FIG. 10 that “the contents match”. In step S230 of FIG. 10, it is determined that “the output order does not match”. Accordingly, the process proceeds to step S240. Here, focusing on the log of process B, the time difference between the first log and the second log is 244 ms. This time difference is outside the allowable range. Accordingly, the comparison result for the third line of the first log and the comparison result for the fifth line of the second log are set to “replacement” (changed from “match” to “replacement”).
以上のようにして、「バージョンアップ前のログとバージョンアップ後のログとの間には差異がある」という比較結果が得られる。すなわち、ログ比較処理の結果として、所望の結果が得られている。 As described above, a comparison result that “there is a difference between the log before the upgrade and the log after the upgrade” is obtained. That is, a desired result is obtained as a result of the log comparison process.
<5.3 第3のケース>
図13に示すようなバージョンアップ前後のログが得られているケースを第3のケースとする。ここでは、バージョンアップ前後のログの3〜5行目に着目する。図13に示すように、バージョンアップ前後で処理Bと処理Cの出力順序が入れ替わっている。但し、ここでの出力順序の変動は、単に処理Bと処理Cとが並列して実行されることに起因している(図19参照)。また、図13に示すように、処理Xのログは第1ログ(バージョンアップ前のログ)のみに存在し、処理Yのログは第2ログ(バージョンアップ後のログ)のみに存在する。以上より、このケースは、第1ログ(バージョンアップ前のログ)と第2ログ(バージョンアップ後のログ)との間に差異がある旨の判定が行われるべきケースである。但し、処理Bのログ(行)および処理Cのログ(行)については、「差異なし」という比較結果が得られるべきである。
<5.3 Third Case>
A case where logs before and after the version upgrade as shown in FIG. 13 are obtained is defined as a third case. Here, attention is focused on the third to fifth lines of the log before and after the version upgrade. As shown in FIG. 13, the output order of process B and process C is switched between before and after the version upgrade. However, the change in the output order here is simply due to the processing B and the processing C being executed in parallel (see FIG. 19). Further, as shown in FIG. 13, the log of process X exists only in the first log (log before upgrade), and the log of process Y exists only in the second log (log after upgrade). As described above, this case is a case in which it is determined that there is a difference between the first log (log before upgrade) and the second log (log after upgrade). However, for the log (line) of process B and the log (line) of process C, a comparison result of “no difference” should be obtained.
このケースでは、処理Bのログ(行)および処理Cのログ(行)については、第1のケースと同様、マッチング処理(図8を参照)によって比較結果が「一致」に設定される。第1ログの処理Xのログ(行)については、マッチング処理のステップS120において、第2ログのいずれのログ(行)とも「一致している」旨の判定は行われない。従って、第1ログの処理Xのログ(行)については、比較結果が「削除」に設定される。第2ログの処理Yのログ(行)については、マッチング処理のステップS120において、第1ログのいずれのログ(行)とも「一致している」旨の判定は行われない。従って、第2ログの処理Yのログ(行)については、比較結果が「挿入」に設定される。 In this case, as for the log (row) of the process B and the log (row) of the process C, the comparison result is set to “match” by the matching process (see FIG. 8) as in the first case. For the log (line) of the process X of the first log, determination that “matches” with any log (line) of the second log is not performed in step S120 of the matching process. Therefore, the comparison result is set to “delete” for the log (row) of the process X of the first log. For the log (line) of the process Y of the second log, determination that “matches” with any log (line) of the first log is not performed in step S120 of the matching process. Accordingly, the comparison result is set to “insertion” for the log (row) of the processing Y of the second log.
差異有無判別処理(図10を参照)では、第1のケースと同様にして、処理Bのログ(行)についても処理Cのログ(行)についても比較結果が「差異なし」に設定される(「一致」から「差異なし」に変更される)。 In the difference presence / absence determination process (see FIG. 10), the comparison result is set to “no difference” for both the log (row) of process B and the log (line) of process C, as in the first case. (Changed from "match" to "no difference")
以上のようにして、「バージョンアップ前のログとバージョンアップ後のログとの間には差異がある」という比較結果が得られる。但し、処理Bのログ(行)および処理Cのログ(行)については、「差異なし」という比較結果が得られる。以上より、ログ比較処理の結果として、所望の結果が得られている。 As described above, a comparison result that “there is a difference between the log before the upgrade and the log after the upgrade” is obtained. However, for the log (line) of process B and the log (line) of process C, a comparison result of “no difference” is obtained. As described above, a desired result is obtained as a result of the log comparison process.
<5.4 第4のケース>
図14に示すようなバージョンアップ前後のログが得られているケースを第4のケースとする。ここでは、処理B,処理C,および処理Dのログに着目する。図14に示すように、バージョンアップ前後で処理Bと処理Cの出力順序が入れ替わっている。但し、ここでの出力順序の変動は、単に処理Bと処理Cとが並列して実行されることに起因している(図19参照)。また、図14に示すように、バージョンアップ前には処理Dはステップ2に含まれていたが、バージョンアップ後には処理Dはステップ1に含まれている。本実施形態では、各ステップに含まれる(1または複数の)処理の構成はバージョンアップ前後で同じになるべきである。従って、このケースは、第1ログ(バージョンアップ前のログ)と第2ログ(バージョンアップ後のログ)との間に差異がある旨の判定が行われるべきケースである。但し、処理Bのログ(行)および処理Cのログ(行)については、「差異なし」という比較結果が得られるべきである。
<5.4 Fourth Case>
A case where logs before and after the version upgrade as shown in FIG. 14 are obtained is a fourth case. Here, attention is focused on logs of process B, process C, and process D. As shown in FIG. 14, the output order of process B and process C is switched before and after the version upgrade. However, the change in the output order here is simply due to the processing B and the processing C being executed in parallel (see FIG. 19). As shown in FIG. 14, the process D is included in
このケースでは、処理Bのログ(行)および処理Cのログ(行)については、第1のケースと同様、マッチング処理(図8を参照)によって比較結果が「一致」に設定される。第1ログの処理Dのログ(行)については、マッチング処理のステップS120において、第2ログのいずれのログ(行)とも「内容およびステップ番号の双方が一致している」旨の判定は行われない。何故ならば、第2ログにも処理Dのログ(行)は存在するが、第1ログの処理Dはステップ2に含まれているのに対して第2ログの処理Dはステップ1に含まれているからである。従って、第1ログの処理Dのログ(行)については、比較結果が「削除」に設定される。第2ログの処理Dのログ(行)については、マッチング処理のステップS120において、第1ログのいずれのログ(行)とも「内容およびステップ番号の双方が一致している」旨の判定は行われない。何故ならば、第1ログにも処理Dのログ(行)は存在するが、第2ログの処理Dはステップ1に含まれているのに対して第1ログの処理Dはステップ2に含まれているからである。従って、第2ログの処理Dのログ(行)については、比較結果が「挿入」に設定される。
In this case, as for the log (row) of the process B and the log (row) of the process C, the comparison result is set to “match” by the matching process (see FIG. 8) as in the first case. For the log (line) of the process D of the first log, it is determined in step S120 of the matching process that “both contents and step number match” in any log (line) of the second log. I will not. This is because the log (line) of process D exists in the second log, but the process D of the first log is included in
差異有無判別処理(図10を参照)では、第1のケースと同様にして、処理Bのログ(行)についても処理Cのログ(行)についても比較結果が「差異なし」に設定される(「一致」から「差異なし」に変更される)。 In the difference presence / absence determination process (see FIG. 10), the comparison result is set to “no difference” for both the log (row) of process B and the log (line) of process C, as in the first case. (Changed from "match" to "no difference")
以上のようにして、「バージョンアップ前のログとバージョンアップ後のログとの間には差異がある」という比較結果が得られる。但し、処理Bのログ(行)および処理Cのログ(行)については、「差異なし」という比較結果が得られる。以上より、ログ比較処理の結果として、所望の結果が得られている。 As described above, a comparison result that “there is a difference between the log before the upgrade and the log after the upgrade” is obtained. However, for the log (line) of process B and the log (line) of process C, a comparison result of “no difference” is obtained. As described above, a desired result is obtained as a result of the log comparison process.
<5.5 備考>
ところで、シーケンシャルで実行されるべき2つの処理(ここでは、処理Cと処理Dに着目する)に関するログの出力順序が図15に示すようにバージョンアップ前後で変動するケースが考えられる。このようなケースでは、本来的には、ログ比較処理によって「差異あり」という比較結果が得られることが好ましい。ところが、本実施形態によれば、図15に示すケースでは、処理Cのログ(行)および処理Dのログ(行)の双方に関し、第1ログと第2ログとの間の時間差が許容範囲内であるため、「差異なし」という比較結果が得られる。すなわち、バージョンアップが処理Cと処理Dの実行順序に影響を及ぼしている旨を把握することができない。しかしながら、このようなケースに関しては、従来のログ比較処理によって、バージョンアップ前後に処理Cと処理Dの実行順序(ログの出力順序)に変動があることを把握することができる。つまり、本実施形態に係るログ比較処理と従来のログ比較処理とを併用することによって、シーケンシャルで実行されるべき処理に対するバージョンアップに起因する影響を正しく把握しつつ、並列処理を含むプロセスに対するバージョンアップに起因する影響を正しく把握することが可能となる。
<5.5 Remarks>
By the way, there may be a case where the log output order relating to two processes to be executed sequentially (here, focusing on process C and process D) varies before and after the version upgrade as shown in FIG. In such a case, it is preferable that a comparison result “difference” is obtained by the log comparison process. However, according to the present embodiment, in the case shown in FIG. 15, the time difference between the first log and the second log is within an allowable range for both the log (line) of process C and the log (line) of process D. Therefore, a comparison result of “no difference” is obtained. That is, it cannot be understood that the upgrade affects the execution order of the process C and the process D. However, regarding such a case, it is possible to grasp that there is a change in the execution order (log output order) of the processes C and D before and after the version upgrade by the conventional log comparison process. In other words, by using the log comparison processing according to the present embodiment and the conventional log comparison processing together, the version for the process including the parallel processing is correctly grasped while correctly grasping the influence caused by the version upgrade for the processing to be executed sequentially. It is possible to correctly grasp the influence caused by the up.
<6.比較結果の表示>
次に、比較結果の表示について説明する。上述したように、マッチング処理および差異有無判別処理が終了すると、表示部130への比較結果画面50の表示が行われる(図7のステップS30)。図16は、比較結果画面50の一構成例について説明するための図である。図16に示すように、この比較結果画面50には、比較を行った2つのログ(第1ログと第2ログ)の間の差異の有無を表示する差異有無表示領域51と、差異の程度を示す差異度を表示する差異度表示領域52と、第1ログのファイル名を表示するバージョンアップ前ログファイル名表示領域53aと、第2ログのファイル名を表示するバージョンアップ後ログファイル名表示領域53bと、比較結果の詳細を表示する詳細表示領域54と、選択したファイルの中身(ログ)の表示を指示するためのログ閲覧ボタン55とが含まれている。詳細表示領域54には、ステップ番号を表示するステップ番号表示領域541と、カテゴリを表示するカテゴリ表示領域542と、具体的な処理内容を表示する処理内容表示領域543と、該当行に対応するファイル名を表示するファイル名表示領域544と、行番号を表示する行番号表示領域545とが含まれている。なお、差異度表示領域52には、第1ログの削除行の数,第2ログの挿入行の数,および第2ログの置換行の数の合計が差異度として表示される。
<6. Display of comparison results>
Next, display of the comparison result will be described. As described above, when the matching process and the difference presence / absence determination process are completed, the
カテゴリ表示領域542には、「OK」,「不足」,「過多」,および「移動」のうちのいずれかが表示される。但し、これらの表現については特に限定されない。「OK」は、該当のステップに含まれる(1または複数の)処理に関するログが書き込まれた全ての行が「差異なし行」であることを意味する。「不足」は、該当のログファイル内の該当の行が「削除行」であることを意味する。「過多」は、該当のログファイル内の該当の行が「挿入行」であることを意味する。「移動」は、該当のログファイル内の該当の行が「置換行」であることを意味する。以下、具体的な表示例について説明する。
In the
図17は、ログ比較処理が行われた結果、2つのログ(バージョンアップ前後のログ)の間に差異がある旨の判断がなされたときの比較結果画面50の一例を示す図である。差異有無表示領域51には「あり」と表示されており、差異度は「21」となっている。これにより、2つのログの間に差異があることを把握することができる。また、詳細表示領域54の表示内容から、バージョンアップ前のログファイル内のいずれの行が削除行であるのか、バージョンアップ後のログファイル内のいずれの行が挿入行であるのか、および、バージョンアップ後のログファイル内のいずれの行が置換行であるのかを把握することができる。例えば図17で符号62で示す行に着目すると、バージョンアップ後のログファイル(ログ2.log)の138行目に「処理F」という処理に関するログが挿入されていることが把握される。
FIG. 17 is a diagram illustrating an example of the
図17に示すような比較結果画面50が表示されているときに、詳細表示領域54のファイル名表示領域544が空白になっている行以外のいずれかの行が選択された状態でログ閲覧ボタン55が押下されると、その選択された行のファイル名表示領域544に表示されているファイル名を持つファイルに書き込まれているログが表示される。このように、バージョンアップ前後のファイルの中身(ログ)を確認することができる。
When the
図18は、ログ比較処理が行われた結果、2つのログ(バージョンアップ前後のログ)の間に差異がない旨の判断がなされたときの比較結果画面50の一例を示す図である。差異有無表示領域51には「なし」と表示されており、差異度は「0」となっている。これにより、2つのログの間に差異がないことを把握することができる。2つのログの間に差異がないため、全てのステップについて、カテゴリが「OK」となっている。
FIG. 18 is a diagram illustrating an example of the
<7.効果>
本実施形態によれば、ソフトウェアのバージョンアップ前後のログ(第1ログと第2ログ)を比較する際、まず、時間および処理内容のうちの処理内容のみに基づくマッチング処理が行われる。そして、マッチング処理によって互いに一致する旨の判定結果が得られた2つの行(第1ログの行と第2ログの行)の間の差異の有無についての最終的な判断が、両者の時間差が予め設定された許容範囲内であるか否かに基づいて行われる。このため、バージョンアップ前後でのログの出力順序の変動が単に並列処理が行われることに起因する場合には、当該出力順序の変動を生じている処理のログについてはバージョンアップ前後で差異がない旨の判断(すなわち、処理に問題がない旨の判断)が行われる。また、並列処理が行われる部分であっても、バージョンアップ前後のログの時間差が大きい場合には、バージョンアップ前後で差異がある旨の判断が行われる。以上より、本実施形態によれば、並列処理を含むプロセスを実行するソフトウェアのバージョンアップに起因するプロセスの結果への影響を従来よりも正しく把握することが可能となる。
<7. Effect>
According to the present embodiment, when comparing the logs before and after software upgrade (first log and second log), first, matching processing based on only the processing contents of the time and the processing contents is performed. Then, the final judgment as to whether or not there is a difference between the two rows (the first log row and the second log row) from which the determination result indicating that they match each other by the matching process is obtained It is performed based on whether or not it is within a preset allowable range. For this reason, if the change in the log output order before and after the upgrade is simply due to parallel processing, there is no difference in the log of the process that caused the change in the output order before and after the upgrade. (That is, a determination that there is no problem in processing). Even in a portion where parallel processing is performed, if the time difference between the logs before and after the upgrade is large, it is determined that there is a difference between before and after the upgrade. As described above, according to the present embodiment, it is possible to correctly grasp the influence on the result of the process resulting from the version upgrade of the software executing the process including the parallel processing.
また、本実施形態によれば、バージョンアップ前後のログの差異の有無や差異の程度の大きさを示す差異度を表示する比較結果画面50が表示部130に表示される。このため、バージョンアップがプロセスに何らかの影響を及ぼしたか否かを迅速に把握することが可能となる。また、比較結果画面50には比較結果の詳細を表示する詳細表示領域54が設けられているので、バージョンアップがプロセスに及ぼした影響をより詳しく把握することが可能となる。
Further, according to the present embodiment, the
<8.その他>
上記実施形態では、本発明を基板処理装置におけるソフトウェアのバージョンアップ前後のログの比較に適用する例を挙げて説明した。しかしながら、本発明はこれに限定されない。コンピュータを用いた処理が行われる各種装置(各種システム)におけるソフトウェアのバージョンアップ前後のログの比較にも本発明を適用することができる。
<8. Other>
In the above embodiment, an example in which the present invention is applied to comparison of logs before and after software upgrade in the substrate processing apparatus has been described. However, the present invention is not limited to this. The present invention can also be applied to a comparison of logs before and after software upgrade in various apparatuses (various systems) that perform processing using a computer.
1…基板処理装置
10…主装置
20…制御基板
30…処理ユニット
40…比較部
42…比較結果表示部
50…比較結果画面
102…処理制御装置
104…ログ比較装置
122…ログファイル
124…ログ比較プログラム
402…マッチング処理部
404…差異有無判別部
DESCRIPTION OF
Claims (11)
前記第1ログに含まれる複数の行と前記第2ログに含まれる複数の行との間で、処理の内容に基づくマッチング処理を行うマッチングステップと、
前記マッチング処理によって一致する旨の判定結果が得られた2つの行である前記第1ログに含まれる行と前記第2ログに含まれる行との差異の有無を、両者の時間の差が予め設定された許容範囲内であるか否かに基づいて判別する差異有無判別ステップと
を含み、
前記マッチングステップでは、前記第1ログに含まれる各行について、一致行または削除行のいずれであるかの判定が行われるとともに、前記第2ログに含まれる各行について、一致行または挿入行のいずれであるかの判定が行われ、
前記マッチングステップで一致行と判定された2つの行である前記第1ログに含まれる行と前記第2ログに含まれる行とに着目すると、前記差異有無判別ステップでは、
両者の出力順序が一致していれば、両者について差異なし行である旨の最終的な判定が行われ、
両者の出力順序が一致せず、かつ、両者の時間の差が予め設定された許容範囲内であれば、両者について差異なし行である旨の最終的な判定が行われ、
両者の出力順序が一致せず、かつ、両者の時間の差が予め設定された許容範囲内でなければ、両者について置換行である旨の最終的な判定が行われることを特徴とする、ログ比較方法。 A log comparison method for comparing a first log and a second log including a plurality of lines in which time information and processing content information are described,
A matching step for performing a matching process based on the processing content between the plurality of lines included in the first log and the plurality of lines included in the second log;
Whether or not there is a difference between the row included in the first log and the row included in the second log, which are two rows for which a determination result indicating that they match is obtained by the matching process, look including a difference whether determination step of determining, based on whether the set tolerance,
In the matching step, it is determined whether each row included in the first log is a matched row or a deleted row, and whether each row included in the second log is a matched row or an inserted row. A determination is made,
Focusing on the rows included in the first log and the rows included in the second log, which are the two rows determined as matching rows in the matching step, in the difference presence / absence determining step,
If the output order of both matches, a final determination is made that there is no difference between the two,
If the output order of the two does not match and the time difference between the two is within a preset tolerance, a final determination is made that there is no difference between the two,
Both output order of the do not match, and, if not within tolerance difference between the time set in advance, characterized in that both final determination that a substituted line is performed on a log Comparison method.
前記マッチングステップでは、前記第1ログに含まれる複数の行と前記第2ログに含まれる複数の行との間で、処理の内容と当該処理を含む処理ステージの番号とに基づくマッチング処理が行われることを特徴とする、請求項1に記載のログ比較方法。 The first log and the second log further include a line in which information on a start or end of a processing stage including one or a plurality of processes is described,
In the matching step, a matching process is performed between a plurality of lines included in the first log and a plurality of lines included in the second log based on the content of the process and the number of the process stage including the process. The log comparison method according to claim 1, wherein:
前記第1ログに含まれる複数の行と前記第2ログに含まれる複数の行との間で、処理の内容に基づくマッチング処理を行うマッチングステップと、
前記マッチング処理によって一致する旨の判定結果が得られた2つの行である前記第1ログに含まれる行と前記第2ログに含まれる行との差異の有無を、両者の時間の差が予め設定された許容範囲内であるか否かに基づいて判別する差異有無判別ステップと
をコンピュータのCPUがメモリを利用して実行し、
前記マッチングステップでは、前記第1ログに含まれる各行について、一致行または削除行のいずれであるかの判定が行われるとともに、前記第2ログに含まれる各行について、一致行または挿入行のいずれであるかの判定が行われ、
前記マッチングステップで一致行と判定された2つの行である前記第1ログに含まれる行と前記第2ログに含まれる行とに着目すると、前記差異有無判別ステップでは、
両者の出力順序が一致していれば、両者について差異なし行である旨の最終的な判定が行われ、
両者の出力順序が一致せず、かつ、両者の時間の差が予め設定された許容範囲内であれば、両者について差異なし行である旨の最終的な判定が行われ、
両者の出力順序が一致せず、かつ、両者の時間の差が予め設定された許容範囲内でなければ、両者について置換行である旨の最終的な判定が行われることを特徴とする、ログ比較プログラム。 A log comparison program for comparing a first log and a second log including a plurality of lines in which time information and processing content information are described,
A matching step for performing a matching process based on the processing content between the plurality of lines included in the first log and the plurality of lines included in the second log;
Whether or not there is a difference between the row included in the first log and the row included in the second log, which are two rows for which a determination result indicating that they match is obtained by the matching process, The CPU of the computer uses a memory to execute a difference presence / absence determination step for determining based on whether or not the set allowable range is satisfied ,
In the matching step, it is determined whether each row included in the first log is a matched row or a deleted row, and whether each row included in the second log is a matched row or an inserted row. A determination is made,
Focusing on the rows included in the first log and the rows included in the second log, which are the two rows determined as matching rows in the matching step, in the difference presence / absence determining step,
If the output order of both matches, a final determination is made that there is no difference between the two,
If the output order of the two does not match and the time difference between the two is within a preset tolerance, a final determination is made that there is no difference between the two,
If the output order of the two does not match and the time difference between the two is not within a preset allowable range, a final determination is made that both are replacement rows. Comparison program.
前記マッチングステップでは、前記第1ログに含まれる複数の行と前記第2ログに含まれる複数の行との間で、処理の内容と当該処理を含む処理ステージの番号とに基づくマッチング処理が行われることを特徴とする、請求項6に記載のログ比較プログラム。 The first log and the second log further include a line in which information on a start or end of a processing stage including one or a plurality of processes is described,
In the matching step, a matching process is performed between a plurality of lines included in the first log and a plurality of lines included in the second log based on the content of the process and the number of the process stage including the process. The log comparison program according to claim 6 , wherein
前記第1ログに含まれる複数の行と前記第2ログに含まれる複数の行との間で、処理の内容に基づくマッチング処理を行うマッチング処理部と、
前記マッチング処理によって一致する旨の判定結果が得られた2つの行である前記第1ログに含まれる行と前記第2ログに含まれる行との差異の有無を、両者の時間の差が予め設定された許容範囲内であるか否かに基づいて判別する差異有無判別部と
を備え、
前記マッチング処理部は、前記第1ログに含まれる各行について、一致行または削除行のいずれであるかの判定を行うとともに、前記第2ログに含まれる各行について、一致行または挿入行のいずれであるかの判定を行い、
前記マッチング処理部によって一致行と判定された2つの行である前記第1ログに含まれる行と前記第2ログに含まれる行とに着目すると、前記差異有無判別部は、
両者の出力順序が一致していれば、両者について差異なし行である旨の最終的な判定を行う、
両者の出力順序が一致せず、かつ、両者の時間の差が予め設定された許容範囲内であれば、両者について差異なし行である旨の最終的な判定を行い、
両者の出力順序が一致せず、かつ、両者の時間の差が予め設定された許容範囲内でなければ、両者について置換行である旨の最終的な判定を行うことを特徴とする、ログ比較装置。 A log comparison device that compares a first log and a second log including a plurality of lines in which time information and processing content information are described,
A matching processing unit that performs a matching process based on the content of processing between the plurality of rows included in the first log and the plurality of rows included in the second log;
Whether or not there is a difference between the row included in the first log and the row included in the second log, which are two rows for which a determination result indicating that they match is obtained by the matching process, A difference presence / absence determining unit that determines based on whether or not it is within a set allowable range ,
The matching processing unit determines whether each row included in the first log is a matched row or a deleted row, and whether each matched row or inserted row is included in each second row included in the second log. Determine if there is
Focusing on the lines included in the first log and the lines included in the second log, which are the two lines determined as the matching lines by the matching processing unit, the difference presence / absence determining unit,
If the output order of both matches, a final determination is made that there is no difference between the two.
If the output order of both does not match and the time difference between the two is within a preset allowable range, a final determination is made that there is no difference between the two,
Log comparison, characterized in that if the output order of the two does not match and the time difference between the two is not within a preset allowable range, a final determination is made that both are replacement rows apparatus.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2015209547A JP6579911B2 (en) | 2015-10-26 | 2015-10-26 | Log comparison method, log comparison program, and log comparison device |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2015209547A JP6579911B2 (en) | 2015-10-26 | 2015-10-26 | Log comparison method, log comparison program, and log comparison device |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2017083979A JP2017083979A (en) | 2017-05-18 |
| JP6579911B2 true JP6579911B2 (en) | 2019-09-25 |
Family
ID=58712053
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2015209547A Expired - Fee Related JP6579911B2 (en) | 2015-10-26 | 2015-10-26 | Log comparison method, log comparison program, and log comparison device |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP6579911B2 (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN109408400A (en) * | 2018-12-25 | 2019-03-01 | 欧普照明股份有限公司 | A kind of software code automatic test approach and test macro |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2010237743A (en) * | 2009-03-30 | 2010-10-21 | Nec Corp | System, method and program for detecting problematic point of data conflict |
| JP5331585B2 (en) * | 2009-06-15 | 2013-10-30 | 株式会社日立製作所 | Fault tolerant computer system and method in fault tolerant computer system |
-
2015
- 2015-10-26 JP JP2015209547A patent/JP6579911B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2017083979A (en) | 2017-05-18 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR101400657B1 (en) | Control program generation device, computer readable recording medium storing control program generation program, and control program generation method | |
| CN115017040B (en) | Test case screening method, system, electronic device and storage medium | |
| JP5983362B2 (en) | Test method, test program, and test control apparatus | |
| US20130053996A1 (en) | Method of programming recipe through gui and media recording the same | |
| KR101510752B1 (en) | Method and apparatus for automated validation of semiconductor process recipes | |
| JP6579911B2 (en) | Log comparison method, log comparison program, and log comparison device | |
| EP3301618A1 (en) | System and method for generating and representing a cost optimized diagnostic work plan | |
| JP2017045217A (en) | Log management device, log management method, and log management program | |
| US7844350B2 (en) | Testing of control strategies in a control system controlling a process control plant | |
| JP6157375B2 (en) | Operation procedure flow update device, method and program | |
| JP5444939B2 (en) | Software testing method and program | |
| JP7140196B2 (en) | Validation device, validation method and validation program | |
| KR101846140B1 (en) | Program diagnostic device, program diagnostic method, and program diagnostic program | |
| JP6890795B1 (en) | Programs, methods, information processing equipment, and systems | |
| KR102002545B1 (en) | Code test automatic proceeding method through virtualixation and appratus for the same | |
| JP5278082B2 (en) | Simulation system | |
| JP7453196B2 (en) | Work system and program | |
| JP4974928B2 (en) | Design support apparatus, design support method, and design support program | |
| JP7760317B2 (en) | Software defect analysis device and software defect analysis method | |
| JPWO2021059478A5 (en) | Information processing equipment, information processing methods, and programs | |
| US20240026541A1 (en) | Information processing apparatus, storage medium, and process condition optimization method | |
| JP5136257B2 (en) | Route management method | |
| JP6862949B2 (en) | Test range output program, test range output device and test range output method | |
| JP2014182509A (en) | Logic verification device, logic verification method and logic verification program | |
| TWI228217B (en) | Monitoring and control system of networked computer platform terminal and method thereof |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180626 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20190228 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190312 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190425 |
|
| 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: 20190820 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190827 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 6579911 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| LAPS | Cancellation because of no payment of annual fees |