JP2020144909A - Operation support system and method - Google Patents
Operation support system and method Download PDFInfo
- Publication number
- JP2020144909A JP2020144909A JP2020084863A JP2020084863A JP2020144909A JP 2020144909 A JP2020144909 A JP 2020144909A JP 2020084863 A JP2020084863 A JP 2020084863A JP 2020084863 A JP2020084863 A JP 2020084863A JP 2020144909 A JP2020144909 A JP 2020144909A
- Authority
- JP
- Japan
- Prior art keywords
- procedure
- abstract
- management unit
- flowchart
- target
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 935
- 230000014509 gene expression Effects 0.000 claims abstract description 82
- 238000012544 monitoring process Methods 0.000 claims description 27
- 230000015654 memory Effects 0.000 claims description 11
- 230000004044 response Effects 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 3
- 238000012545 processing Methods 0.000 abstract description 17
- 238000000605 extraction Methods 0.000 abstract description 15
- 230000008569 process Effects 0.000 description 76
- 238000006243 chemical reaction Methods 0.000 description 36
- 239000000284 extract Substances 0.000 description 10
- 230000006870 function Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 7
- 230000005856 abnormality Effects 0.000 description 6
- 230000007704 transition Effects 0.000 description 5
- 238000000354 decomposition reaction Methods 0.000 description 4
- 241000720945 Hosta Species 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000005054 agglomeration Methods 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 2
- 230000000877 morphologic effect Effects 0.000 description 2
- 241000282412 Homo Species 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Landscapes
- Machine Translation (AREA)
- Stored Programmes (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
Description
本発明は、概して、計算機システム、アプリケーション、及びサービスといった対象の運用を支援するための技術に関する。 The present invention generally relates to techniques for supporting the operation of objects such as computer systems, applications, and services.
運用対象として、例えば、計算機システムがある。計算機システムの運用では、レスポンスタイムなどの性能値や、ダウンタイムなどの条件を事前に定義しておき、この条件を満たす様に運用を行うことが多い。 As an operation target, for example, there is a computer system. In the operation of a computer system, performance values such as response time and conditions such as downtime are often defined in advance and operated so as to satisfy these conditions.
そのため、異常状態に迅速に対処することが必要となるが、異常状態となるタイミングを予期することは困難である。また、サーバなどの大量のシステムリソースの状態を個別に常に監視することは現実的ではない。そのため、性能値がしきい値を下回ったタイミングや、エラーがログに出力されたタイミングなど、計算機システムが特定の状態となることをトリガーとして、イベントを発行することが行われている。運用管理者は、イベントを監視することで計算機システムの状態を把握することができ、異常を迅速に検知することが可能となる。 Therefore, it is necessary to deal with the abnormal state promptly, but it is difficult to predict the timing of the abnormal state. In addition, it is not realistic to constantly monitor the status of a large amount of system resources such as servers individually. Therefore, an event is issued when the computer system becomes a specific state such as the timing when the performance value falls below the threshold value or the timing when the error is output to the log. The operation manager can grasp the state of the computer system by monitoring the event, and can quickly detect the abnormality.
一方で、異常の内容や、異常が発生した箇所に応じて適切な対応を行うためには、情報技術の知識と、運用対象の計算機システムに関する知識が必要であり、高度なスキルセットが必要となる。このような高度なスキルセットを持つ人材は希少であり、イベントを監視し、計算機システムを安全に運用するために十分な人数を確保することが難しい。 On the other hand, in order to take appropriate measures according to the content of the abnormality and the location where the abnormality occurred, knowledge of information technology and knowledge of the computer system to be operated are required, and an advanced skill set is required. Become. Human resources with such an advanced skill set are scarce, and it is difficult to secure enough personnel to monitor events and operate computer systems safely.
そのため、一般に、高度なスキルセットを持つ人材(以降、運用管理者と記す)が、どのような内容のイベントが、どのような条件で発生した場合に、どのような対応をすべきかを記した手順書を用意し、手順書を元に、スキルセットが十分でない人材(以降、オペレータと記す)が、計算機システムを監視する体制が採用される。この体制は、運用対象の計算機システムが、厳密に設計されその上で開発されたシステムであり、システムの規模拡大が遅いために、採用可能である。 Therefore, in general, human resources with advanced skill sets (hereinafter referred to as operation managers) described what kind of event should occur under what conditions and what kind of response should be taken. A system is adopted in which a procedure manual is prepared, and based on the procedure manual, human resources with insufficient skill sets (hereinafter referred to as operators) monitor the computer system. This system can be adopted because the computer system to be operated is a system that has been rigorously designed and developed on it, and the scale of the system is slow to expand.
しかしながら、近年、クラウドコンピューティングにより、物理的なシステムリソースを柔軟且つ迅速に調達することが可能となり、計算機システムの規模拡大が高速化している。一方で、仮想サーバやアプリケーションといった論理的なシステムリソースの運用は、データの秘匿などの問題もあり、一般にはクラウドコンピューティングの提供者に委託することができない。上記の運用体制では、計算機システムの運用が手順書とオペレータに依っているため、計算機システムの規模拡大に対して運用がボトルネックとなっている。 However, in recent years, cloud computing has made it possible to procure physical system resources flexibly and quickly, and the scale expansion of computer systems has been accelerated. On the other hand, the operation of logical system resources such as virtual servers and applications cannot be outsourced to cloud computing providers in general due to problems such as data confidentiality. In the above operation system, the operation of the computer system depends on the procedure manual and the operator, so the operation becomes a bottleneck for the expansion of the scale of the computer system.
そこで、運用負荷の削減が望まれる。運用負荷の削減のために、特許文献1に開示の技術を利用することが考えられる。特許文献1は、フロー編集技術を開示する。フロー編集技術とは、フローチャートの形式で論理表現を入力する技術である。特許文献1によれば、フローチャートのテンプレートを元に、フローチャートを記述する際の記述量を削減することが可能となる。 Therefore, it is desired to reduce the operational load. In order to reduce the operational load, it is conceivable to use the technique disclosed in Patent Document 1. Patent Document 1 discloses a flow editing technique. The flow editing technique is a technique for inputting a logical expression in the form of a flowchart. According to Patent Document 1, it is possible to reduce the amount of description when describing a flowchart based on the flowchart template.
一般に、手順書には、大量の手順が蓄積されている。上述の特許文献1では、手順毎に、フローチャートのテンプレート化、又は、適用するテンプレートを探し出し、その後に、値を入力する必要がある。従って、手順をフローチャートに変換する負担を実質削減することができない。 In general, a large number of procedures are accumulated in a procedure manual. In the above-mentioned Patent Document 1, it is necessary to create a flowchart or search for a template to be applied for each procedure, and then input a value. Therefore, the burden of converting the procedure into a flowchart cannot be substantially reduced.
手順をフローチャートに変換するためには、手順の記載内容を理解している必要があり、手順書を用意する者は、上述したように、通常、運用管理者である。故に、運用管理者以外の者が、手順をフローチャートに変換することは困難である。しかし、運用管理者は、運用対象である計算機システムの規模に対して概して少数であり、故に、運用管理者に運用負荷が集中している。このため、手順毎に手順をフローチャートに変換するといった大きな工数を運用管理者から捻出することは困難である。 In order to convert the procedure into a flowchart, it is necessary to understand the description contents of the procedure, and the person who prepares the procedure manual is usually an operation manager as described above. Therefore, it is difficult for a person other than the operation manager to convert the procedure into a flowchart. However, the number of operation managers is generally small with respect to the scale of the computer system to be operated, and therefore the operation load is concentrated on the operation manager. For this reason, it is difficult for the operation manager to generate a large man-hour such as converting the procedure into a flowchart for each procedure.
なお、手順書は、自然言語を用いて書かれている。手順書それ自体を機械が読み込める(理解できる)形式に変換し易いように編集することで、手順をフローチャートに自動変換することが期待できる。しかし、手順書は、運用のノウハウに関する手順を含むことがあり、故に、手順書それ自体を編集することは避けることが望ましい。 The procedure manual is written in natural language. By editing the procedure manual itself so that it can be easily converted into a machine-readable (understandable) format, it can be expected that the procedure will be automatically converted into a flowchart. However, the procedure manual may include procedures related to operational know-how, and therefore it is desirable to avoid editing the procedure manual itself.
上述の課題は、運用対象が、計算機システム以外の対象である場合にもあり得る。また、自然言語で表現された手順の変換後の構造体が、フローチャート以外の構造体である場合にもあり得る。 The above-mentioned problem may be a case where the operation target is a target other than the computer system. In addition, the converted structure of the procedure expressed in natural language may be a structure other than the flowchart.
運用支援システムは、運用対象の運用に関する複数の手順を含んだ手順書のうちの第1手順の選択を受ける。運用支援システムは、第1手順に対応した第1抽象手順に包含される第2抽象手順が構造化されたものである抽象構造体と、選択された第1手順とに基づき、第1手順の少なくとも一部を構造化したものである推定構造体を表示する。 The operation support system receives the selection of the first procedure from the procedure manual including a plurality of procedures related to the operation of the operation target. The operation support system is based on the abstract structure in which the second abstract procedure included in the first abstract procedure corresponding to the first procedure is structured and the selected first procedure, and the first procedure Display an estimated structure that is at least partially structured.
本発明によれば、手順書を機械が読み込める形式に変換するための入力作業負担を軽減することが可能となる。 According to the present invention, it is possible to reduce the input work load for converting the procedure manual into a format that can be read by a machine.
一実施例について、図面を参照して説明する。なお、以降に説明する実施例は請求の範囲にかかる発明を限定するものではなく、また実施例の中で説明されている諸要素及びその組み合わせの全てが発明の解決手段に必須であるとは限らない。 An embodiment will be described with reference to the drawings. It should be noted that the examples described below do not limit the invention according to the claims, and that all the elements and combinations thereof described in the examples are indispensable for the means for solving the invention. Not exclusively.
なお、以降の説明においては、「aaaテーブル」の表現にて各種情報を説明することがあるが、各種情報は、テーブル以外のデータ構造で表現されていてもよい。データ構造に依存しないことを示すために「aaaテーブル」を「aaa情報」と呼ぶことができる。 In the following description, various information may be described by the expression of "aaa table", but various information may be expressed by a data structure other than the table. The "aaa table" can be called "aaa information" to show that it does not depend on the data structure.
また、以降の説明においては、「インターフェース部」は、1以上のインターフェースデバイス、具体的には、ユーザインターフェース部と、通信インターフェース部とのうちの少なくとも1つを含んでよい。ユーザインターフェース部は、1以上のI/Oデバイス(例えば入力デバイス(例えばキーボード及びポインティングデバイス)と出力デバイス(例えば表示デバイス))と表示用計算機とのうちの少なくとも1つのI/Oデバイスを含んでよい。通信インターフェース部は、1以上の通信インターフェースデバイスを含んでよい。1以上の通信インターフェースデバイスは、1以上の同種の通信インターフェースデバイス(例えば1以上のNIC(Network Interface Card))であってもよいし2以上の異種の通信インターフェースデバイス(例えばNICとHBA(Host Bus Adapter))であってもよい。 Further, in the following description, the "interface unit" may include one or more interface devices, specifically, at least one of a user interface unit and a communication interface unit. The user interface unit includes at least one I / O device of one or more I / O devices (for example, an input device (for example, a keyboard and a pointing device) and an output device (for example, a display device)) and a display computer. Good. The communication interface unit may include one or more communication interface devices. One or more communication interface devices may be one or more communication interface devices of the same type (for example, one or more NIC (Network Interface Card)) or two or more different types of communication interface devices (for example, NIC and HBA (Host Bus)). Adapter)) may be used.
また、以降の説明においては、「記憶部」は、1以上のメモリを含む。記憶部に関して少なくとも1つのメモリは、揮発性メモリでよい。記憶部は、主に、プロセッサ部による処理の際に使用される。 Further, in the following description, the "storage unit" includes one or more memories. At least one memory with respect to the storage unit may be a volatile memory. The storage unit is mainly used during processing by the processor unit.
また、以降の説明においては、「プロセッサ部」は、1以上のプロセッサを含む。少なくとも1つのプロセッサは、典型的には、CPU(Central Processing Unit)のようなマイクロプロセッサである。1以上のプロセッサの各々は、シングルコアでもよいしマルチコアでもよい。プロセッサは、処理の一部または全部を行うハードウェア回路を含んでもよい。プロセッサ部は、処理の一部又は全部を行うハードウェア回路(例えばFPGA(Field-Programmable Gate Array)又はASIC(Application Specific Integrated Circuit))を含んでもよい。 Further, in the following description, the "processor unit" includes one or more processors. The at least one processor is typically a microprocessor such as a CPU (Central Processing Unit). Each of the one or more processors may be single core or multi-core. The processor may include hardware circuits that perform some or all of the processing. The processor unit may include a hardware circuit (for example, FPGA (Field-Programmable Gate Array) or ASIC (Application Specific Integrated Circuit)) that performs a part or all of the processing.
また、以降の説明においては、「管理システム」は、運用支援システムの一例であり、一以上の計算機で構成されてよい。具体的には、例えば、管理計算機が表示デバイスを有していて管理計算機が自分の表示デバイスに情報を表示する場合、管理計算機が管理システムでよい。また、例えば、管理計算機(例えばサーバ)が表示用情報を遠隔の表示用計算機(例えばクライアント)に送信し表示用計算機がその情報を表示する場合(管理計算機が表示用計算機に情報を表示する場合)、管理計算機と表示用計算機とのうちの少なくとも管理計算機を含んだシステムが管理システムでよい。管理システムは、インターフェース部、記憶部、及びそれらが接続されたプロセッサ部を有してよい。管理システムにおける計算機が「表示用情報を表示する」ことは、計算機が有する表示デバイスに表示用情報を表示することであってもよいし、計算機が表示用計算機に表示用情報を送信することであってもよい(後者の場合は表示用計算機によって表示用情報が表示される)。 Further, in the following description, the "management system" is an example of an operation support system, and may be composed of one or more computers. Specifically, for example, when the management computer has a display device and the management computer displays information on its own display device, the management computer may be a management system. Further, for example, when a management computer (for example, a server) transmits display information to a remote display computer (for example, a client) and the display computer displays the information (when the management computer displays information on the display computer). ), A system including at least a management computer among a management computer and a display computer may be a management system. The management system may have an interface unit, a storage unit, and a processor unit to which they are connected. When a computer in a management system "displays display information", it may mean that the display information is displayed on a display device of the computer, or the computer transmits the display information to the display computer. It may be present (in the latter case, the display information is displayed by the display computer).
また、以降の説明においては、「kkk部」(インターフェース部、記憶部及びプロセッサ部を除く)の表現にて機能を説明することがあるが、機能は、1以上のコンピュータプログラムがプロセッサ部によって実行されることで実現されてもよいし、1以上のハードウェア回路(例えばFPGA又はASIC)によって実現されてもよい。プログラムがプロセッサ部によって実行されることで機能が実現される場合、定められた処理が、適宜に記憶部及び/又はインターフェース部を用いながら行われるため、機能はプロセッサ部の少なくとも一部とされてもよい。機能を主語として説明された処理は、プロセッサ部あるいはそのプロセッサ部を有する装置が行う処理としてもよい。プログラムは、プログラムソースからインストールされてもよい。プログラムソースは、例えば、プログラム配布計算機又は計算機が読み取り可能な記録媒体(例えば非一時的な記録媒体)であってもよい。各機能の説明は一例であり、複数の機能が1つの機能にまとめられたり、1つの機能が複数の機能に分割されたりしてもよい。 Further, in the following description, the function may be described by the expression of "kkk part" (excluding the interface part, the storage part and the processor part), but the function is executed by one or more computer programs by the processor part. It may be realized by the above, or it may be realized by one or more hardware circuits (for example, FPGA or ASIC). When the function is realized by executing the program by the processor unit, the function is regarded as at least a part of the processor unit because the defined processing is appropriately performed by using the storage unit and / or the interface unit. May be good. The process described with the function as the subject may be a process performed by a processor unit or a device having the processor unit. The program may be installed from the program source. The program source may be, for example, a program distribution computer or a computer-readable recording medium (eg, a non-temporary recording medium). The description of each function is an example, and a plurality of functions may be combined into one function, or one function may be divided into a plurality of functions.
また、以降の説明においては、「手順」は、1以上の手順文で構成されており、システム異常に対する対策内容(例えば、オペレータが運用管理者にエスカレーションを行う)と、その対策内容を実施すると判断するための条件(例えば、イベントを発行したホスト名や、イベントが発行された時間帯)とを含む。「手順文」は、手順における自然文である。「手順書」は、複数の手順を記載したドキュメントである。手順書は、例えば電子ファイルの形式で保存されていてもよい。 Further, in the following description, the "procedure" is composed of one or more procedure sentences, and when the countermeasure contents for the system abnormality (for example, the operator escalate to the operation manager) and the countermeasure contents are implemented. It includes conditions for determining (for example, the host name that issued the event and the time zone when the event was issued). A "procedure sentence" is a natural sentence in a procedure. A "procedure manual" is a document that describes a plurality of procedures. The procedure manual may be saved in the form of an electronic file, for example.
また、以降の説明においては、「フローチャート」は、手順の変換後の構造体に関し、機械が読み込める(理解できる)形式である代表的な論理表現例として、説明を簡略化するために用いる。本発明においては、手順の変換後の構造体の形式は、人間が記述でき、かつ、論理構造を表現できる形式であればよく、フローチャート以外の表現形式(木構造表現や、論理式表現、表構造表現や、If Thenのルール表現など)であってもよい。 Further, in the following description, the “flow chart” is used to simplify the description as a typical logical expression example in a machine-readable (understandable) format regarding the structure after conversion of the procedure. In the present invention, the format of the structure after conversion of the procedure may be any format that can be described by humans and can express the logical structure, and is an expression format other than the flowchart (tree structure expression, logical expression expression, table). It may be a structural expression, a rule expression of If Then, etc.).
また、以降の説明においては、運用対象は、対象システム(計算機システム)であるが、本発明においては、計算機システム以外の対象、例えば、アプリケーション、サービス又は装置であってよい。 Further, in the following description, the operation target is a target system (computer system), but in the present invention, a target other than the computer system, for example, an application, a service, or a device may be used.
(1−1)本実施例の概要 (1-1) Outline of this embodiment
図1は、本実施例の概要を示す。 FIG. 1 shows an outline of this embodiment.
管理システムは、管理サーバ100と、管理クライアント200を含むシステムである。 The management system is a system including a management server 100 and a management client 200.
管理サーバ100は、ルール管理部120を含む。ルール管理部120は、フローテーブル1508を参照することができる。フローテーブル1508は、フローチャートに関する情報を保持する。 The management server 100 includes a rule management unit 120. The rule management unit 120 can refer to the flow table 1508. The flow table 1508 holds information about the flowchart.
管理クライアント200は、コンピュータプログラム(例えばアプリケーションプログラム)の一例であるフローエディタ220を実行する。フローエディタ220は、フローエディタ画面60を表示する。フローエディタ画面60は、管理サーバ100におけるフローエディタ(図示せず)により管理クライアント200に表示された画面である。フローエディタ画面60は、本実施例ではGUI(Graphical User Interface)であるが、GUIに限らないでもよい。 The management client 200 executes the flow editor 220, which is an example of a computer program (for example, an application program). The flow editor 220 displays the flow editor screen 60. The flow editor screen 60 is a screen displayed on the management client 200 by the flow editor (not shown) in the management server 100. The flow editor screen 60 is a GUI (Graphical User Interface) in this embodiment, but is not limited to the GUI.
図1を用いて、本実施例の概要を説明する。 The outline of this embodiment will be described with reference to FIG.
まず、管理サーバ100において、ルール管理部120は、手順分析処理1201を実行する。手順分析処理1201は、手順書1501を読み込む処理、及び、その手順書1501における手順間の関係性を特定する処理を含む。手順書1501は、運用対象の運用に関する複数の手順を含む。手順間の関係性を特定する処理は、類似の表現を持つ手順のグルーピングである類似関係抽出処理、及び、他の手順の構成要素として利用される手順を特定する処理である包含関係推定処理を含む。ルール管理部120は、手順分析処理1201により得られた手順間関係の情報を保持する。 First, in the management server 100, the rule management unit 120 executes the procedure analysis process 1201. The procedure analysis process 1201 includes a process of reading the procedure manual 1501 and a process of specifying the relationship between the procedures in the procedure manual 1501. Procedure manual 1501 includes a plurality of procedures relating to the operation of the operation target. The processes for specifying the relationships between procedures include the similarity relationship extraction process, which is a grouping of procedures with similar expressions, and the inclusion relationship estimation process, which is a process for identifying procedures used as components of other procedures. Including. The rule management unit 120 holds information on the inter-procedure relationship obtained by the procedure analysis process 1201.
その後、運用管理者は、例えば管理クライアント200上のフローエディタ220に、手順に対応するフローチャートを記述(入力)する。本実施例においては、フローエディタ画面60が、手順一覧221、手順表示222、及びフロー入力223といった表示領域を有する。手順一覧221には、手順の一覧が表示される。運用管理者は、手順一覧221から手順を選択してフローチャートの入力を開始する。手順一覧221における手順の順序は、例えば、運用管理者が行うフローチャート入力作業の負担を最小とすることができる順序、具体的には、抽象手順が含む単語の少ない順序である。「抽象手順」とは、手順書1501における手順が抽象化されたものを意味する。抽象手順内の「単語」は、抽象手順の構成要素であり、例えば、抽象手順における後述の条件節又は対策内容の表現である。 After that, the operation manager describes (inputs) a flowchart corresponding to the procedure in the flow editor 220 on the management client 200, for example. In this embodiment, the flow editor screen 60 has display areas such as a procedure list 221 and a procedure display 222, and a flow input 223. A list of procedures is displayed in the procedure list 221. The operation manager selects a procedure from the procedure list 221 and starts inputting the flowchart. The order of the procedures in the procedure list 221 is, for example, an order in which the burden of the flowchart input work performed by the operation manager can be minimized, specifically, an order in which the abstract procedure contains few words. The "abstract procedure" means an abstraction of the procedure in the procedure manual 1501. A "word" in an abstract procedure is a component of the abstract procedure, and is, for example, an expression of a conditional clause or a countermeasure content described later in the abstract procedure.
運用管理者が手順一覧221から手順を選択すると、選択した手順の内容(詳細)が手順表示222に表示される。運用管理者は、その内容に対応するフローチャートをフロー入力223に入力する。なお、選択された手順が、入力済みのフローチャートに対応する手順に類似している場合(例えば後述の類似度がしきい値以上の場合)、ルール管理部120は、その入力済みのフローチャート(又は、当該フローチャートにおけるパラメータに、選択された手順から特定されたパラメータ値が代入されたフローチャート)を、推定フローチャートとしてフローエディタ220に提供し、フローエディタ220が、その推定フローチャートをフロー入力223に表示する。 When the operation manager selects a procedure from the procedure list 221, the content (details) of the selected procedure is displayed on the procedure display 222. The operation manager inputs a flowchart corresponding to the content to the flow input 223. If the selected procedure is similar to the procedure corresponding to the input flowchart (for example, when the similarity described later is equal to or higher than the threshold value), the rule management unit 120 may use the input flowchart (or , A flowchart in which a parameter value specified from the selected procedure is assigned to a parameter in the flowchart) is provided to the flow editor 220 as an estimation flowchart, and the flow editor 220 displays the estimation flowchart in the flow input 223. ..
従って、過去に入力したフローチャートが無い場合、ルール管理部120は、フローチャートを推定するために必要な情報が無いため、推定フローチャートを表示できない。そのため、運用管理者は、選択した手順を元に、フローエディタ220に対して、フローチャートを入力し、保存指示を出す。フローエディタ220は、保存指示を受けると、手順(又は手順ID)とフローチャートを管理サーバ100に送信する。管理サーバ100のルール管理部120が、そのフローチャートと手順を受信し、その手順を関連付けたフローチャートに関する情報をフローテーブル1508に登録する。ルール管理部120は、手順間の関係性の情報を元に、受信した手順と類似する手順(例えば、受信した手順それ自体を構成要素として利用する手順)に関して、その類似する手順に対応するフローチャートの一部または全部を、受信したフローチャートを元に推定する。 Therefore, if there is no flowchart input in the past, the rule management unit 120 cannot display the estimated flowchart because there is no information necessary for estimating the flowchart. Therefore, the operation manager inputs a flowchart to the flow editor 220 based on the selected procedure, and issues a save instruction. Upon receiving the save instruction, the flow editor 220 transmits the procedure (or procedure ID) and the flowchart to the management server 100. The rule management unit 120 of the management server 100 receives the flowchart and the procedure, and registers the information about the flowchart associated with the procedure in the flow table 1508. The rule management unit 120 has a flowchart corresponding to a procedure similar to the received procedure (for example, a procedure using the received procedure itself as a component) based on the information on the relationship between the procedures. Estimate part or all of the above based on the received flowchart.
次に、運用管理者が、フローエディタ画面60にて、先に選択した手順(以降、この段落において第1の手順)に類似する別の手順(以降、この段落において第2の手順)を選択したとする。この場合、既に、先に保存したフローチャート(第1の手順に対応したフローチャート)を元に、第2の手順に対応したフローチャートの一部または全部が推定されている可能性がある。もしも、その推定されたフローチャートがある場合には、その推定フローチャートが、フローエディタ220及びルール管理部120により、その推定フローチャートに対応する第2の手順の全部又は一部と対応付けて表示される(例えば、第2の手順の全部又は一部である手順文が運用管理者により選択されると、その手順文に対応する推定フローチャートが強調表示される)。運用管理者は、推定フローチャートの編集(例えば、論理表現の修正又は追記)を行うことで、フローエディタ220に対して、第2の手順に対応するフローチャートを入力し(完成させ)、保存指示を出す。 Next, the operation manager selects another procedure (hereinafter, the second procedure in this paragraph) similar to the previously selected procedure (hereinafter, the first procedure in this paragraph) on the flow editor screen 60. Suppose you did. In this case, there is a possibility that a part or all of the flowchart corresponding to the second procedure has already been estimated based on the flowchart saved earlier (the flowchart corresponding to the first procedure). If there is an estimated flowchart, the estimated flowchart is displayed by the flow editor 220 and the rule management unit 120 in association with all or part of the second procedure corresponding to the estimated flowchart. (For example, when a procedure statement that is all or part of the second procedure is selected by the operation manager, the estimation flowchart corresponding to the procedure statement is highlighted). By editing the estimated flowchart (for example, modifying or adding a logical expression), the operation manager inputs (completes) the flowchart corresponding to the second procedure to the flow editor 220, and gives a save instruction. put out.
上記を繰り返すことで(すなわち、手順の選択の受け付けとフローチャートの入力(編集)の受け付けとのセットを繰り返すことで)、管理サーバ100(ルール管理部120)は、手順とフローチャートの対応を学習し、フローチャートの推定精度を向上させることができる。 By repeating the above (that is, by repeating the set of accepting the selection of the procedure and accepting the input (editing) of the flowchart), the management server 100 (rule management unit 120) learns the correspondence between the procedure and the flowchart. , The estimation accuracy of the flowchart can be improved.
後述するが、ルール管理部120は、次の処理を行うことができる。例えば、ルール管理部120は、手順書1501を構成する複数の手順について、それらの手順に含まれる条件節や対策内容について、同種の条件種類や対策内容(動作種類)毎に、パラメータ(パラメータ項目)に置き換えた上で、複数の抽象手順を得る。各抽象手順は、類似関係にある1以上の手順から抽出された共通パタンである。ルール管理部120は、複数の抽象手順について、階層的クラスタリングを実施し、抽象手順間の類似関係を特定する。そして、ルール管理部120は、特定した類似関係と、各抽象手順に含まれる条件節の種類(条件種類)の包含関係に基づき、抽象手順間の包含関係を推定する。任意の手順に対応する論理表現が与えられた場合(例えば運用管理者から入力された場合)、ルール管理部120は、手順と抽象手順の関係、抽象手順間の包含関係に基づき、与えられた手順に関係する他の手順に対応する論理表現を推定する。また、ルール管理部120は、他の手順のうち、推定済みの部分と、それ以外の部分とを区別して表示する。 As will be described later, the rule management unit 120 can perform the following processing. For example, the rule management unit 120 describes parameters (parameter items) for each of the same type of condition and countermeasure content (operation type) for a plurality of procedures constituting the procedure manual 1501 and for the condition clauses and countermeasure contents included in those procedures. ) And then get multiple abstract steps. Each abstract procedure is a common pattern extracted from one or more similar procedures. The rule management unit 120 performs hierarchical clustering for a plurality of abstract procedures and identifies similar relationships between the abstract procedures. Then, the rule management unit 120 estimates the inclusion relationship between the abstract procedures based on the specified similarity relationship and the inclusion relationship of the type of conditional clause (condition type) included in each abstract procedure. When a logical expression corresponding to an arbitrary procedure is given (for example, when input is made by an operation manager), the rule management unit 120 is given based on the relationship between the procedure and the abstract procedure and the inclusion relationship between the abstract procedures. Estimate the logical representation corresponding to other procedures related to the procedure. Further, the rule management unit 120 distinguishes and displays the estimated portion and the other portion of the other procedure.
以下、本実施例を詳細に説明する。 Hereinafter, this embodiment will be described in detail.
(1−2)システム全体構成 (1-2) Overall system configuration
図2は、実施例に係るシステム全体構成を示す。 FIG. 2 shows the overall system configuration according to the embodiment.
管理サーバ100、管理クライアント200、及び対象システム300が、例えばLAN(Local Area Network)のようなネットワーク400に接続されている。 The management server 100, the management client 200, and the target system 300 are connected to a network 400 such as a LAN (Local Area Network).
管理サーバ100は、手順書1501とフローチャート121を管理するルール管理部120と、対象システム300の構成を管理する構成管理部130と、対象システム300を監視するシステム監視部140とを含む。なお、ルール管理部120、構成管理部130、システム監視部140はそれぞれ独立の計算機に配置されていてもよく、構成を限定するものではない。 The management server 100 includes a rule management unit 120 that manages the procedure manual 1501 and the flowchart 121, a configuration management unit 130 that manages the configuration of the target system 300, and a system monitoring unit 140 that monitors the target system 300. The rule management unit 120, the configuration management unit 130, and the system monitoring unit 140 may be arranged in independent computers, and the configuration is not limited.
構成管理部130は、設定ファイル131や、構成情報170を管理する。設定ファイル131は、例えばアプリケーションやサービスのコンフィグレーションファイルであってもよいし、管理サーバ100の構成やアプリケーションのコンフィグレーションファイルを自動的に生成するサーバ自動構成ツールの定義ファイルであってもよいし、VM(Virtual Machine)やコンテナの構成を定義する定義ファイルであってもよい。また、構成情報170は、例えば、管理サーバ100の構成を示すサーバ構成情報を含む。 The configuration management unit 130 manages the setting file 131 and the configuration information 170. The configuration file 131 may be, for example, a configuration file for an application or service, or a definition file for a server automatic configuration tool that automatically generates a configuration file for the management server 100 or an application. , VM (Virtual Machine) or a definition file that defines the configuration of the container. Further, the configuration information 170 includes, for example, server configuration information indicating the configuration of the management server 100.
システム監視部140は、対象システム300を監視し(例えば、対象システム300から種々の情報を収集し)、監視結果に関する情報を含む監視情報160を更新する。監視情報160は、例えば、対象システム300が発行したイベントを含んだイベント情報、対象システム300の各要素に関する性能を示す情報を含んだ性能情報、及び、対象システム300に関するログを含んだログ情報を含む。 The system monitoring unit 140 monitors the target system 300 (for example, collects various information from the target system 300), and updates the monitoring information 160 including information on the monitoring result. The monitoring information 160 includes, for example, event information including an event issued by the target system 300, performance information including information indicating the performance of each element of the target system 300, and log information including a log related to the target system 300. Including.
管理クライアント200は、インターフェース部、記憶部及びプロセッサ部を含んだ計算機であり、例えば、ディスプレイ、キーボード及びポインタデバイスを有し、フローエディタ220のようなアプリケーションを実行する。なお、フローエディタ220が、管理クライアント200に代えて管理サーバ100で実行され、管理クライアント200のWebブラウザが、フローエディタ220からのフローエディタ画面60を表示してもよい。なお、管理クライアント200は複数台存在してもよい。また、管理クライアント200は、管理サーバ100と一体として形成してもよい(例えば、管理サーバ100及び管理クライアント200の両方を含んだスタンドアロンマシンが管理システムの一例であってもよい)。 The management client 200 is a computer including an interface unit, a storage unit, and a processor unit, and has, for example, a display, a keyboard, and a pointer device, and executes an application such as a flow editor 220. The flow editor 220 may be executed on the management server 100 instead of the management client 200, and the Web browser of the management client 200 may display the flow editor screen 60 from the flow editor 220. There may be a plurality of management clients 200. Further, the management client 200 may be formed integrally with the management server 100 (for example, a stand-alone machine including both the management server 100 and the management client 200 may be an example of the management system).
対象システム300は、運用対象の一例であって、運用管理者やオペレータの監視対象システム(運用管理対象としての計算機システム)である。例えば、対象システム300は、サーバ、ストレージ及びネットワークといった物理システムリソース、及び、VM、コンテナ、アプリケーション及びサービスといった論理システムリソースを含む。 The target system 300 is an example of an operation target, and is a monitoring target system (computer system as an operation management target) of an operation manager or an operator. For example, the target system 300 includes physical system resources such as servers, storage and networks, and logical system resources such as VMs, containers, applications and services.
図3は、管理サーバ100のハードウェア構成を示す。 FIG. 3 shows the hardware configuration of the management server 100.
管理サーバ100は、メモリ110と、記憶装置150と、プロセッサ180と、I/F(通信インターフェースデバイス)190とを含む。I/F190は、ネットワーク400に接続される。プロセッサ180が、I/F190、メモリ110及び記憶装置150に接続される。I/F190が、インターフェース部の一例である。メモリ110及び記憶装置150のうちの少なくともメモリ110が、記憶部の一例である。記憶装置150に格納されている情報のうちの少なくとも一部が、記憶装置150に代えて又は加えて、管理サーバ100と通信可能に接続された外部の記憶装置(図示せず)に格納されてもよい。記憶装置150それ自体が、その外部の記憶装置であってもよい。プロセッサ180が、プロセッサ部の一例である。 The management server 100 includes a memory 110, a storage device 150, a processor 180, and an I / F (communication interface device) 190. The I / F 190 is connected to the network 400. The processor 180 is connected to the I / F 190, the memory 110 and the storage device 150. The I / F 190 is an example of the interface unit. At least the memory 110 of the memory 110 and the storage device 150 is an example of the storage unit. At least a part of the information stored in the storage device 150 is stored in an external storage device (not shown) communicably connected to the management server 100 in place of or in addition to the storage device 150. May be good. The storage device 150 itself may be an external storage device thereof. The processor 180 is an example of a processor unit.
メモリ110には、プロセッサ180で実行され、種々の処理を行うプログラムが配置される。具体的には、例えば、メモリ110には、監視表示部1102、ルール管理部120、構成管理部130及びシステム監視部140が配置される。ルール管理部120は、手順分析処理1201、フロー記憶処理1202、及び、フロー推定処理1203を実行する。ルール管理部120は、フローエディタ画面60を表示し、フローエディタ画面60経由で、フローチャートの表示、及び、フローチャートの編集を行う。構成管理部130は、構成収集処理1301を実行する。システム監視部140は、監視収集処理1401及びアラート処理1402を実行する。 A program executed by the processor 180 and performing various processes is arranged in the memory 110. Specifically, for example, the memory 110 is arranged with a monitoring display unit 1102, a rule management unit 120, a configuration management unit 130, and a system monitoring unit 140. The rule management unit 120 executes the procedure analysis process 1201, the flow storage process 1202, and the flow estimation process 1203. The rule management unit 120 displays the flow editor screen 60, displays the flowchart, and edits the flowchart via the flow editor screen 60. The configuration management unit 130 executes the configuration collection process 1301. The system monitoring unit 140 executes the monitoring collection process 1401 and the alert process 1402.
監視表示部1102は、システム監視部140で収集した種々の情報を管理クライアント200に表示する。 The monitoring display unit 1102 displays various information collected by the system monitoring unit 140 on the management client 200.
構成収集処理1301は、対象システム300を構成する各システムリソースから当該システムリソースの構成情報を収集する処理である。 The configuration collection process 1301 is a process of collecting configuration information of the system resource from each system resource constituting the target system 300.
監視収集処理1401は、対象システム300を構成する各システムリソースからイベント情報、各種のログ、及び性能情報を収集する処理である。 The monitoring and collection process 1401 is a process for collecting event information, various logs, and performance information from each system resource constituting the target system 300.
アラート処理1402は、事前に設定されたしきい値や、異常ログ情報(例えば、異常ログに該当する条件を示す情報)を元に、各種のログや性能情報からイベント情報を生成する処理である。例えば、アラート処理1402は、或るログが異常ログ情報が示す条件に該当すれば、当該或るログに関してイベント情報を生成する処理を含む。また、例えば、アラート処理1402は、性能情報が示す性能値(メトリック値)がしきい値を超えている場合、当該性能値に関わるリソースについてイベント情報を生成する処理を含む。このように、イベント情報は、システム監視部140に生成されてもよいし、対象システム300から受信されてもよい。 The alert process 1402 is a process of generating event information from various logs and performance information based on a preset threshold value and abnormality log information (for example, information indicating a condition corresponding to the abnormality log). .. For example, the alert process 1402 includes a process of generating event information for a certain log if the certain log meets the conditions indicated by the abnormal log information. Further, for example, the alert process 1402 includes a process of generating event information for a resource related to the performance value when the performance value (metric value) indicated by the performance information exceeds the threshold value. In this way, the event information may be generated in the system monitoring unit 140 or may be received from the target system 300.
記憶装置150は、例えば、HDD(Hard Disk Drive)又はSSD(Solid State Drive)のような補助記憶装置であってもよいし、NAS(Network Attached Storage)のような外部記憶装置であってもよい。記憶装置150は、種々の情報を記憶する。具体的には、例えば、記憶装置150は、手順書1501、手順テーブル1502、変換順序テーブル1503、抽象手順テーブル1504、抽象手順関係テーブル1505、抽象手順パタンテーブル1506、抽象手順同一部テーブル1507、フローテーブル1508、手順フロー対応テーブル1509、条件種類テーブル1510、動作テーブル1511、監視情報160及び構成情報170を記憶する。監視情報160は、例えば、イベント毎のイベント情報を格納するイベントテーブル1601を含む。構成情報170は、例えば、物理サーバ名、及び、仮想マシンと物理サーバとの対応関係などを示す情報を格納するサーバ構成テーブル1701を含む。 The storage device 150 may be, for example, an auxiliary storage device such as an HDD (Hard Disk Drive) or an SSD (Solid State Drive), or an external storage device such as NAS (Network Attached Storage). .. The storage device 150 stores various information. Specifically, for example, the storage device 150 includes a procedure manual 1501, a procedure table 1502, a conversion sequence table 1503, an abstract procedure table 1504, an abstract procedure relation table 1505, an abstract procedure pattern table 1506, an abstract procedure same part table 1507, and a flow. The table 1508, the procedure flow correspondence table 1509, the condition type table 1510, the operation table 1511, the monitoring information 160, and the configuration information 170 are stored. The monitoring information 160 includes, for example, an event table 1601 that stores event information for each event. The configuration information 170 includes, for example, a server configuration table 1701 that stores information indicating a physical server name and a correspondence relationship between a virtual machine and a physical server.
(1−3)各種テーブルの内容 (1-3) Contents of various tables
図4は、手順書1501を示す。 FIG. 4 shows a procedure manual 1501.
手順書1501は、複数の手順を記述したドキュメントである。手順書1501は、手順毎にエントリを有するテーブルである(手順書1501のデータ形式は、テーブル以外のデータ形式でもよい)。各エントリは、手順15011及び手順ID15010といった情報を格納する。以降、1つの手順を例に取る(図4の説明において「対象手順」と呼ぶ)。 The procedure manual 1501 is a document describing a plurality of procedures. The procedure manual 1501 is a table having an entry for each procedure (the data format of the procedure manual 1501 may be a data format other than the table). Each entry stores information such as procedure 15011 and procedure ID 15010. Hereinafter, one procedure will be taken as an example (referred to as "target procedure" in the description of FIG. 4).
手順ID15010は、対象手順のIDを示す。手順15011は、対象手順それ自体であり、例えば「ホストAAAで、12:00〜12:30の間に、xxxのメッセージのイベントが発生した場合は、エスカレーションを行わない」という自然文である。手順15011は、対策内容と条件とを含む。対策内容は、例えば「エスカレーションを行う」「エスカレーションを行わない」である。条件は、例えば、サーバ名(例えば物理サーバ名)、時間帯(例えば、開始時刻及び終了時刻)、メッセージの内容といった条件である。 Procedure ID 15010 indicates the ID of the target procedure. Procedure 15011 is the target procedure itself, and is, for example, a natural sentence that "if an event of xxx message occurs between 12:00 and 12:30 on host AAA, escalation is not performed". Procedure 15011 includes countermeasure contents and conditions. The contents of the measures are, for example, "perform escalation" and "do not perform escalation". The conditions are, for example, a server name (for example, a physical server name), a time zone (for example, a start time and an end time), and a message content.
図5は、手順テーブル1502を示す。 FIG. 5 shows a procedure table 1502.
手順テーブル1502は、手順書1501を構成する各手順の詳細に関する情報を格納する。具体的には、例えば、手順テーブル1502は、手順における単語毎にエントリを有する。各エントリは、手順ID15020、手順文ID15021、単語15022、条件種類ID15023、動作ID15024、抽象手順ID15025及び抽象手順文ID15026といった情報を格納する。以降、手順における1つの単語を例に取る(図5の説明において「対象単語」と呼ぶ)。なお、手順における「単語」は、手順の構成要素であり、1以上の文字の集合である文字列(例えば、単語、句、節)である。 The procedure table 1502 stores information regarding the details of each procedure constituting the procedure manual 1501. Specifically, for example, the procedure table 1502 has an entry for each word in the procedure. Each entry stores information such as procedure ID 15020, procedure sentence ID 15021, word 15022, condition type ID 15023, operation ID 15024, abstract procedure ID 15025, and abstract procedure sentence ID 15026. Hereinafter, one word in the procedure will be taken as an example (referred to as "target word" in the explanation of FIG. 5). The "word" in the procedure is a component of the procedure and is a character string (for example, a word, a phrase, a clause) which is a set of one or more characters.
手順ID15020は、対象単語を含む手順のIDを示す。手順文ID15021は、対象単語を含む手順文のIDを示す。単語15022は、対象単語を示す。条件種類ID15023は、対象単語が条件節に該当する場合、その条件の種類のIDを示す。動作ID15024は、対象単語が対策内容に該当する場合、その対策内容(動作)のIDを示す。抽象手順ID15025は、対象単語を含む手順を抽象化したものである抽象手順のIDを示す。抽象手順文ID15026は、対象単語を含む手順文を抽象化したものである抽象手順文のIDを示す。 Procedure ID 15020 indicates the ID of the procedure including the target word. The procedure sentence ID 15021 indicates the ID of the procedure sentence including the target word. The word 15022 indicates a target word. The condition type ID 15023 indicates the ID of the condition type when the target word corresponds to the condition clause. The operation ID 15024 indicates the ID of the countermeasure content (action) when the target word corresponds to the countermeasure content. The abstract procedure ID 15025 indicates the ID of the abstract procedure which is an abstraction of the procedure including the target word. The abstract procedure sentence ID 15026 indicates the ID of the abstract procedure sentence which is an abstraction of the procedure sentence including the target word.
対象単語が条件に該当する場合には、ルール管理部120は、条件種類ID15023として有効な値を格納し、動作ID15024として無効な値(例えば“−”)を格納する。対象単語が対策内容に該当する場合には、ルール管理部120は、動作ID15110として有効な値を格納し、条件種類ID15023として無効な値を格納する。対象単語が条件及び対策内容のどちらでもない場合には、ルール管理部120は、条件種類ID15023及び動作ID15024としてそれぞれ無効な値を格納する。 When the target word corresponds to the condition, the rule management unit 120 stores a valid value as the condition type ID 15023 and stores an invalid value (for example, “−”) as the operation ID 15024. When the target word corresponds to the countermeasure content, the rule management unit 120 stores a valid value as the operation ID 15110 and stores an invalid value as the condition type ID 15023. When the target word is neither a condition nor a countermeasure content, the rule management unit 120 stores invalid values as the condition type ID 15023 and the operation ID 15024, respectively.
ルール管理部120は、同一クラスタ内の複数の手順における単語(例えば文字列)の共通パタンを抽出し、その複数の手順の各々について、抽出した共通パタンを含んだ抽象手順を格納する。対象単語が前述の共通パタンに含まれる場合には、ルール管理部120は、その共通パタンを含んだ抽象手順のIDを抽象手順ID15025として格納し、その共通パタンを含んだ抽象手順文のIDを抽象手順文ID15026として格納する。対象単語が共通パタンに含まれない場合は、ルール管理部120は、抽象手順ID15025及び抽象手順文ID15026としてそれぞれ無効な値(例えば“−”)を格納する。 The rule management unit 120 extracts a common pattern of words (for example, a character string) in a plurality of procedures in the same cluster, and stores an abstract procedure including the extracted common pattern for each of the plurality of procedures. When the target word is included in the above-mentioned common pattern, the rule management unit 120 stores the ID of the abstract procedure including the common pattern as the abstract procedure ID 15025, and stores the ID of the abstract procedure sentence including the common pattern. It is stored as an abstract procedure statement ID 15026. When the target word is not included in the common pattern, the rule management unit 120 stores invalid values (for example, “−”) as the abstract procedure ID 15025 and the abstract procedure sentence ID 15026, respectively.
図6は、変換順序テーブル1503を示す。 FIG. 6 shows a conversion sequence table 1503.
変換順序テーブル1503は、フローエディタ画面60の手続一覧221での手順の順序、すなわち、ユーザに提示する適切な手順変換順序を管理するテーブルである。変換順序テーブル15030は、例えば、手順分析処理1201において生成又は修正される。 The conversion order table 1503 is a table that manages the order of procedures in the procedure list 221 of the flow editor screen 60, that is, an appropriate procedure conversion order presented to the user. The conversion sequence table 15030 is generated or modified, for example, in the procedure analysis process 1201.
変換順序テーブル1503は、手順毎にエントリを有する。各エントリは、変換順番15030及び手順ID15031といった情報を格納する。以降、1つの手順を例に取る(図6の説明において「対象手順」と呼ぶ)。 The conversion sequence table 1503 has an entry for each procedure. Each entry stores information such as conversion order 15030 and procedure ID 15031. Hereinafter, one procedure will be taken as an example (referred to as "target procedure" in the description of FIG. 6).
手順ID15031は、対象手順のIDを示す。変換順番15030は、対象手順をフローチャートに変換する順番を示す。 Procedure ID 15031 indicates the ID of the target procedure. The conversion order 15030 indicates the order in which the target procedure is converted into a flowchart.
なお、2以上の手順の変換順番15030が、同じであることもあり得る。フローエディタ画面60の手続一覧221において、変換順番15030が同じ2以上の手順にそれぞれ対応した2以上の行が連続して並んでもよい。変換順番15030が同じ2以上の手順の表示形式として、他の形式が採用されてもよい。 The conversion order 15030 of the two or more procedures may be the same. In the procedure list 221 of the flow editor screen 60, two or more lines corresponding to two or more procedures having the same conversion order 15030 may be arranged consecutively. Other formats may be adopted as the display format of two or more procedures having the same conversion order 15030.
図7は、イベントテーブル1601を示す。 FIG. 7 shows the event table 1601.
イベントテーブル1601は、例えば、イベント毎にエントリを有する。各エントリは、イベントID16010(イベントのID)、イベント情報とを格納する。イベント情報が、イベントID16010を含んでもよい。イベント情報は、サーバ名16011(イベントを発行したサーバの名称)、時刻16012(イベントが発生した時刻)、重要度16013(例えば、「エラー」や「通知」といったイベント重要度)、及び、メッセージ16014といった情報を含む。 The event table 1601 has, for example, an entry for each event. Each entry stores event ID 16010 (event ID) and event information. The event information may include event ID 16010. The event information includes server name 16011 (name of the server that issued the event), time 16012 (time when the event occurred), importance 16013 (for example, event importance such as "error" and "notification"), and message 16014. Includes information such as.
図8は、条件種類テーブル1510を示す。 FIG. 8 shows a condition type table 1510.
条件種類テーブル1510は、条件種類に関する情報を保持するテーブルである。具体的には、例えば、条件種類テーブル1510は、条件種類毎にエントリを有する。各エントリは、条件種類ID15100、条件種類15101、条件値15102、取得元テーブル15103、取得元カラム15104、推定フラグ15105及びフローID15106といった情報を格納する。以降、1つの条件種類を例に取る(図8の説明において「対象条件種類」と呼ぶ)。 The condition type table 1510 is a table that holds information about the condition type. Specifically, for example, the condition type table 1510 has an entry for each condition type. Each entry stores information such as condition type ID 15100, condition type 15101, condition value 15102, acquisition source table 15103, acquisition source column 15104, estimation flag 15105, and flow ID 15106. Hereinafter, one condition type will be taken as an example (referred to as “target condition type” in the description of FIG. 8).
条件種類ID15100は、対象条件種類のIDを示す。条件種類15101は、対象条件種類を識別する固定文字列を示す。条件値15102は、対象条件種類に該当する条件(例えば条件節)の表現例を示す。取得元テーブル15103は、対象条件種類に対応した条件値表現が格納されているテーブルの名称を示す。取得元カラム15104は、対象条件種類に対応した条件値15102としての表現が格納されているカラム(又は情報要素)の名称を示す。推定フラグ15105は、対象条件種類に対応した条件値15102が推定値か否かを示す。推定フラグ15105“Yes”は、条件値15102が推定値であることを意味する。フローID15106は、対象条件種類に対応した条件値15102としての表現に対応する論理表現を含んだフローチャートのIDである。 The condition type ID 15100 indicates an ID of the target condition type. The condition type 15101 indicates a fixed character string that identifies the target condition type. The condition value 15102 indicates an expression example of a condition (for example, a condition clause) corresponding to the target condition type. The acquisition source table 15103 indicates the name of the table in which the condition value expression corresponding to the target condition type is stored. The acquisition source column 15104 indicates the name of the column (or information element) in which the expression as the condition value 15102 corresponding to the target condition type is stored. The estimation flag 15105 indicates whether or not the condition value 15102 corresponding to the target condition type is an estimated value. The estimation flag 15105 “Yes” means that the condition value 15102 is an estimated value. The flow ID 15106 is an ID of a flowchart including a logical expression corresponding to the expression as the condition value 15102 corresponding to the target condition type.
ルール管理部120は、取得元テーブル15103及び取得元カラム15104として有効な値が格納されている場合、条件値15102として、値が格納されていないことを示す無効な値(例えば“−”)を格納してもよい。 When a valid value is stored as the acquisition source table 15103 and the acquisition source column 15104, the rule management unit 120 sets an invalid value (for example, “-”) indicating that the value is not stored as the condition value 15102. May be stored.
また、ルール管理120は、構成情報170及び監視情報160から、対象条件種類に関し、類似の表現をもつ情報を条件値として特定し、その特定された条件値を、推定値としてもよい。その場合には、ルール管理部120は、対象条件種類に対応した推定フラグ15105を“Yes”とする。 Further, the rule management 120 may specify information having a similar expression as a condition value with respect to the target condition type from the configuration information 170 and the monitoring information 160, and the specified condition value may be used as an estimated value. In that case, the rule management unit 120 sets the estimation flag 15105 corresponding to the target condition type to “Yes”.
図9は、動作テーブル1511を示す。 FIG. 9 shows an operation table 1511.
動作テーブル1511は、手順に含まれる具体的な対策内容の表現例を動作種類と対応付けて管理するテーブルである。具体的には、例えば、動作テーブル1511は、動作毎にエントリを有する。各エントリが、動作ID15110、動作種類15111、動作表現15112及びフローID15113といった情報を保持する。以降、1つの動作を例に取る(図9の説明において「対象動作」と呼ぶ)。 The operation table 1511 is a table that manages expression examples of specific countermeasure contents included in the procedure in association with the operation type. Specifically, for example, the operation table 1511 has an entry for each operation. Each entry holds information such as operation ID 15110, operation type 15111, operation expression 15112, and flow ID 15113. Hereinafter, one operation will be taken as an example (referred to as "target operation" in the description of FIG. 9).
動作ID15110は、対象動作(対策内容)のIDを示す。動作種類15111は、対象動作(対策内容)を識別する固定文字列を示す。動作表現15112は、対象動作(対策内容)の表現例を示す。フローID15113は、対象動作(対策内容)に対応した動作表現15112に対応する論理表現を含んだフローチャートのIDを示す。 The operation ID 15110 indicates the ID of the target operation (countermeasure content). The operation type 15111 indicates a fixed character string that identifies the target operation (countermeasure content). The operation expression 15112 shows an expression example of the target operation (countermeasure content). The flow ID 15113 indicates the ID of the flowchart including the logical expression corresponding to the operation expression 15112 corresponding to the target operation (countermeasure content).
図10は、抽象手順テーブル1504を示す。 FIG. 10 shows an abstract procedure table 1504.
抽象手順テーブル1504は、抽象手順に関する情報を保持するテーブルである。具体的には、例えば、抽象手順テーブル1504は、抽象手順における単語毎にエントリを有する。各エントリは、抽象手順ID15040、抽象手順文ID15041、単語15042、条件種類ID15043及び動作ID15044といった情報を格納する。以降、抽象手順における1つの単語を例に取る(図10の説明において「対象単語」と呼ぶ)。 The abstract procedure table 1504 is a table that holds information about the abstract procedure. Specifically, for example, the abstract procedure table 1504 has an entry for each word in the abstract procedure. Each entry stores information such as abstract procedure ID 15040, abstract procedure sentence ID 15041, word 15042, condition type ID 15043, and operation ID 15044. Hereinafter, one word in the abstract procedure will be taken as an example (referred to as "target word" in the explanation of FIG. 10).
抽象手順ID15040は、対象単語を含む抽象手順のIDを示す。抽象手順文ID15041は、対象単語を含む抽象手順文のIDを示す。単語15042は、対象単語を示す。条件種類ID15043は、対象単語が条件節に該当する場合、その条件の種類のIDを示す。動作ID15044は、対象単語が対策内容に該当する場合、その対策内容(動作)のIDを示す。 The abstract procedure ID 15040 indicates the ID of the abstract procedure including the target word. The abstract procedure sentence ID 15041 indicates the ID of the abstract procedure sentence including the target word. The word 15042 indicates a target word. The condition type ID 15043 indicates the ID of the condition type when the target word corresponds to the condition clause. The operation ID 15044 indicates the ID of the countermeasure content (action) when the target word corresponds to the countermeasure content.
対象単語が条件に該当する場合には、ルール管理部120は、条件種類ID15043として有効な値を格納し、動作ID15044として無効な値(例えば“−”)を格納する。対象単語が対策内容に該当する場合には、ルール管理部120は、動作ID15044として有効な値を格納し、条件種類ID15043として無効な値を格納する。対象単語が条件及び対策内容のどちらでもない場合には、ルール管理部120は、条件種類ID15043及び動作ID15044としてそれぞれ無効な値を格納する。 When the target word corresponds to the condition, the rule management unit 120 stores a valid value as the condition type ID 15043 and stores an invalid value (for example, “−”) as the operation ID 15044. When the target word corresponds to the countermeasure content, the rule management unit 120 stores a valid value as the operation ID 15044 and stores an invalid value as the condition type ID 15043. When the target word is neither a condition nor a countermeasure content, the rule management unit 120 stores invalid values as the condition type ID 15043 and the operation ID 15044, respectively.
図11は、抽象手順関係テーブル1505を示す。 FIG. 11 shows an abstract procedure relation table 1505.
抽出手順関係テーブル1505は、抽象手順間の包含関係を示す情報を保持するテーブルである。具体的には、例えば、抽出手順関係テーブル1505は、抽出手順毎にエントリを有する。各エントリは、抽象手順ID15050、子抽象手順ID15051及び親抽象手順ID15052といった情報を格納する。以降、1つの抽象手順を例に取る(図11の説明において「対象抽象手順」と呼ぶ)。 The extraction procedure relationship table 1505 is a table that holds information indicating the inclusion relationship between abstract procedures. Specifically, for example, the extraction procedure relation table 1505 has an entry for each extraction procedure. Each entry stores information such as abstraction procedure ID 15050, child abstraction procedure ID 15051, and parent abstraction procedure ID 15052. Hereinafter, one abstract procedure will be taken as an example (referred to as “object abstract procedure” in the description of FIG. 11).
抽象手順ID15050は、対象抽象手順のIDを示す。 The abstract procedure ID 15050 indicates the ID of the target abstract procedure.
子抽象手順ID15051は、対象抽象手順の子抽象手順のID、すなわち、対象抽象手順を包含するより大きい抽象手順(典型的には、対象抽象手順が有する全ての条件節を含んだ抽象手順)のIDを示す。なお、対象抽象手順の子抽象手順を包含する更なる子抽象手順が1つ以上存在することもあり得る。以降、対象抽象手順を包含する全ての抽象手順の各々を「下位抽象手順」と呼び、対象抽象手順に直帰の下位抽象手順を特に「子抽象手順」と呼ぶことがある。 The child abstraction procedure ID 15051 is the ID of the child abstraction procedure of the target abstraction procedure, that is, the larger abstract procedure including the target abstraction procedure (typically, the abstract procedure including all the conditional clauses of the target abstraction procedure). Indicates an ID. It is possible that there may be one or more additional child abstract procedures that include the child abstract procedures of the target abstract procedure. Hereinafter, each of all abstract procedures including the target abstract procedure is referred to as a "sub-abstract procedure", and the sub-abstract procedure bounced from the target abstract procedure may be particularly referred to as a "child abstract procedure".
親抽象手順ID15052は、対象抽象手順の親抽象手順のID、すなわち、対象抽象手順に包含されるより小さい抽象手順(典型的には、対象抽象手順が有する全ての条件節の一部の条件節を全ての条件節として含んだ抽象手順)のIDを示す。なお、対象抽象手順の親抽象手順に包含される更なる親抽象手順が1つ以上存在することもあり得る。以降、対象抽象手順に包含される全ての抽象手順の各々を「上位抽象手順」と呼び、対象抽象手順に直帰の上位抽象手順を特に「親抽象手順」と呼ぶことがある。 The parent abstraction procedure ID 15052 is the ID of the parent abstraction procedure of the target abstraction procedure, that is, the smaller abstraction procedure included in the target abstraction procedure (typically, some conditional clauses of all the conditional clauses of the target abstraction procedure). Indicates the ID of the abstract procedure) that includes as all the conditional clauses. It should be noted that there may be one or more additional parent abstract procedures included in the parent abstract procedure of the target abstract procedure. Hereinafter, each of all the abstract procedures included in the target abstract procedure may be referred to as a "super-abstract procedure", and the super-abstract procedure bounced back to the target abstract procedure may be particularly referred to as a "parent abstract procedure".
図12は、抽象手順パタンテーブル1506を示す。 FIG. 12 shows an abstract procedure pattern table 1506.
抽象手順パタンテーブル1506は、包含関係にある抽象手順間で共通する部分であるフレーズを保持するテーブルである。具体的には、例えば、抽象手順パタンテーブル1506は、フレーズ毎にエントリを有する。各エントリが、フレーズID15060及びフレーズ15061といった情報を格納する。以降、1つのフレーズを例に取る(図12の説明において「対象フレーズ」と呼ぶ)。 The abstract procedure pattern table 1506 is a table that holds phrases that are common parts between abstract procedures that are inclusive. Specifically, for example, the abstract procedure pattern table 1506 has an entry for each phrase. Each entry stores information such as phrase ID 15060 and phrase 15061. Hereinafter, one phrase will be taken as an example (referred to as "target phrase" in the explanation of FIG. 12).
フレーズID15060は、対象フレーズのIDを示す。フレーズ15061は、対象フレーズ(文字列パタン)それ自体を示す。 Phrase ID 15060 indicates the ID of the target phrase. Phrase 15061 indicates the target phrase (character string pattern) itself.
図13は、抽象手順同一部テーブル1507を示す。 FIG. 13 shows an abstract procedure same part table 1507.
抽象手順同一部テーブル1507は、フレーズが出現する箇所を示す情報を保持するテーブルである。具体的には、例えば、抽象手順同一部テーブル1507は、フレーズ毎に、エントリを有する。各エントリは、抽象手順ID15070、抽象手順文ID15071、開始位置15072、終了位置15073及びフレーズID15074といった情報を格納する。以降、1つのフレーズを例に取る(図13の説明において「対象フレーズ」と呼ぶ)。 The abstract procedure same part table 1507 is a table that holds information indicating a place where a phrase appears. Specifically, for example, the abstract procedure same part table 1507 has an entry for each phrase. Each entry stores information such as abstract procedure ID 15070, abstract procedure sentence ID 15071, start position 15072, end position 15073, and phrase ID 15074. Hereinafter, one phrase will be taken as an example (referred to as "target phrase" in the explanation of FIG. 13).
抽象手順ID15070は、対象フレーズを含んだ抽象手順のIDを示す。抽象手順文ID15071は、対象フレーズを含んだ抽象手順文のIDを示す。開始位置15072は、対象フレーズの開始位置(例えば、対象フレーズの先頭文字と対象フレーズを含んだ抽象手順の先頭文字との間に存在する文字の数)を示す。終了位置15073は、対象フレーズの終了位置(例えば、対象フレーズの末尾文字と対象フレーズを含んだ抽象手順の先頭文字との間に存在する文字の数)を示す。フレーズID15074は、対象フレーズのIDを示す。 The abstract procedure ID 15070 indicates the ID of the abstract procedure including the target phrase. The abstract procedure sentence ID 15071 indicates the ID of the abstract procedure sentence including the target phrase. The start position 15072 indicates the start position of the target phrase (for example, the number of characters existing between the first character of the target phrase and the first character of the abstract procedure including the target phrase). The end position 15073 indicates the end position of the target phrase (for example, the number of characters existing between the last character of the target phrase and the first character of the abstract procedure including the target phrase). Phrase ID 15074 indicates the ID of the target phrase.
図14は、フローテーブル1508を示す。 FIG. 14 shows a flow table 1508.
フローテーブル1508は、手順に対応する論理表現(本実施例ではフローチャート)を保持するテーブルである。論理表現の一部は、推定された論理表現でもよい。具体的には、例えば、フローテーブル1508は、フローチャート毎にエントリを有する。各エントリは、フローID15080及び論理表現15081といった情報を保持する。以降、1つのフローチャートを例に取る(図14の説明において「対象フローチャート」と呼ぶ)。 The flow table 1508 is a table that holds a logical expression (flow chart in this embodiment) corresponding to the procedure. A part of the logical representation may be an inferred logical representation. Specifically, for example, the flow table 1508 has an entry for each flowchart. Each entry holds information such as flow ID 15080 and logical representation 15081. Hereinafter, one flowchart will be taken as an example (referred to as “target flowchart” in the description of FIG. 14).
フローID15080は、対象フローチャートのIDを示す。論理表現15081は、対象フローチャートとしての論理表現を示す。 Flow ID 15080 indicates the ID of the target flowchart. The logical expression 15081 shows a logical expression as a target flowchart.
論理表現15081は、例えば、図14に例示のように「SERVER_NAME_COND_1 == AAA and [フローID = 2]」のようなプログラム表現であってもよいし、フローチャート形式でもよい。上記の例では、“SERVER_NAME_COND_1”は条件種類15101であり、“AAA”は、条件値15102である。 The logical expression 15081 may be a program expression such as “SERVER_NAME_COND_1 == AAA and [flow ID = 2]” as illustrated in FIG. 14, or may be in the form of a flowchart. In the above example, "SERVER_NAME_COND_1" is the condition type 15101 and "AAA" is the condition value 15102.
また、“[フローID = 2]”は、フローID15080“2”である論理表現に置き換えることを意味する。このように、論理表現15081は、入れ子構造であってもよい。これによって、複数のフローチャートを単一のフローチャートとして管理することができる。 Further, "[flow ID = 2]" means to replace with a logical expression of flow ID 15080 "2". As described above, the logical expression 15081 may have a nested structure. As a result, a plurality of flowcharts can be managed as a single flowchart.
図15は、手順フロー対応テーブル1509を示す。 FIG. 15 shows a procedure flow correspondence table 1509.
手順フロー対応テーブル1509は、手順、抽象手順、フレーズ及びフローチャートの対応関係を示す情報を保持するテーブルである。具体的には、例えば、手順フロー対応テーブル1509は、フレーズ毎にエントリを有する。各エントリは、手順ID15090、手順文ID15091、抽象手順ID15092、抽象手順文ID15093、開始位置15094、終了位置15095、フレーズID15096、フローID15097及び代表フラグ15098といった情報を格納する。以降、1つのフレーズを例に取る(図15の説明において「対象フレーズ」と呼ぶ)。なお、本実施例では、フレーズが、最小単位でよく、フレーズは、1つの単語であってもよい。 The procedure flow correspondence table 1509 is a table that holds information indicating the correspondence between procedures, abstract procedures, phrases, and flowcharts. Specifically, for example, the procedure flow correspondence table 1509 has an entry for each phrase. Each entry stores information such as procedure ID 15090, procedure sentence ID 15091, abstract procedure ID 15092, abstract procedure sentence ID 15093, start position 15094, end position 15095, phrase ID 15096, flow ID 15097, and representative flag 15098. Hereinafter, one phrase will be taken as an example (referred to as "target phrase" in the explanation of FIG. 15). In this embodiment, the phrase may be the smallest unit, and the phrase may be one word.
手順ID15090は、対象フレーズを含む対象手順にてのIDを示す。手順文ID15091は、対象フレーズを含む手順文のIDを示す。抽象手順ID15092は、対象フレーズを含む抽象手順のIDを示す。抽象手順文ID15093は、対象フレーズを含む抽象手順文のIDを示す。開始位置15094は、手順における対象フレーズの開始位置を示す。終了位置15095は、手順における対象フレーズの終了位置を示す。フレーズID15096は、対象フレーズのIDである。フローID15097は、対象フレーズに対応したフローチャート部分を含むフローチャートのIDである。代表フラグ15098は、そのフローチャートが代表フローチャートであるか否かを示す。 The procedure ID 15090 indicates an ID in the target procedure including the target phrase. The procedure sentence ID 15091 indicates the ID of the procedure sentence including the target phrase. The abstract procedure ID 15092 indicates the ID of the abstract procedure including the target phrase. The abstract procedure sentence ID 15093 indicates the ID of the abstract procedure sentence including the target phrase. The start position 15094 indicates the start position of the target phrase in the procedure. The end position 15095 indicates the end position of the target phrase in the procedure. Phrase ID 15096 is the ID of the target phrase. The flow ID 15097 is an ID of a flowchart including a flowchart portion corresponding to the target phrase. The representative flag 15098 indicates whether or not the flowchart is a representative flowchart.
手順フロー対応テーブル1509は、以下のタイミング、例えば、フローエディタ220を通して運用管理者がフローチャートを保存したタイミング、及び、フロー記憶処理1202及びフロー推定処理1203の少なくとも1つにおいてフローチャートが推定されたタイミングで更新される。 The procedure flow correspondence table 1509 is set at the following timings, for example, at the timing when the operation manager saves the flowchart through the flow editor 220, and at the timing when the flowchart is estimated in at least one of the flow storage process 1202 and the flow estimation process 1203. Will be updated.
代表フラグ15098は、ある抽象手順に対応するフローチャートが複数パタン存在する場合に、抽象手順に対応するフローチャートを一意に特定するためのフラグである。これは、抽象手順が、文面が類似している手順集合から抽出されており、この手順集合には異なる意図の手順が含まれている可能性があることに起因する。例えば、「ServerAとServerBでXXXが発生した場合」と「ServerAかServerBでXXXが発生した場合」の手順は「ServerA」と「ServerB」を条件節として含むが、それらの手順の論理的な構造はand、orと全く異なる。しかしながら、自然言語としての類似性は高く同一の手順集合にまとめられる可能性があり、このとき、各手順に対応して入力されるフローチャートには、ばらつきが発生する可能性がある。 The representative flag 15098 is a flag for uniquely identifying the flowchart corresponding to the abstract procedure when there are a plurality of patterns of the flowchart corresponding to the abstract procedure. This is because the abstract procedure is extracted from a set of procedures with similar texts, and this set of procedures may contain procedures with different intentions. For example, the procedures of "when XXX occurs in Server A and Server B" and "when XXX occurs in Server A or Server B" include "Server A" and "Server B" as conditional clauses, but the logical structure of those procedures. Is completely different from and and or. However, the similarity as a natural language is high and there is a possibility that they are put together in the same procedure set, and at this time, the flowcharts input corresponding to each procedure may vary.
これに対し、本実施例においては、手順集合内の各手順に対応するフローチャートの内、多数のフローチャートに含まれる論理構造であるフローチャートを代表フローチャートとする例を示す(フロー分解処理S8000)。すなわち、複数の候補がある場合には、代表フローチャートが推定フローチャートとして表示されることになる。 On the other hand, in this embodiment, an example is shown in which a flowchart having a logical structure included in a large number of flowcharts is used as a representative flowchart among the flowcharts corresponding to each procedure in the procedure set (flow decomposition process S8000). That is, when there are a plurality of candidates, the representative flowchart is displayed as the estimation flowchart.
なお、上記は代表フローチャートを求める方法を限定するものではない。また、仮に抽象手順に対応するフローチャートが複数パタン発生している場合には、その検出を契機としてフローチャートのパタン毎に手順集合を分割し、抽象手順や、抽象手順間の類似関係を再計算するなどをしてもよい。 The above does not limit the method of obtaining the representative flowchart. If a plurality of flowcharts corresponding to the abstract procedure are generated, the procedure set is divided for each pattern of the flowchart, and the abstract procedure and the similarity relationship between the abstract procedures are recalculated. And so on.
手順フロー対応テーブル1509について複数の更新タイミングがある。例えば、以下(1)〜(6)のように値が格納され得る。以降に示すように、本実施例では、「フローチャート」は、手順全体又は抽象手順について存在することもあれば、手順又は抽象手順の一部分(例えば、手順文又は抽象手順文の全部又は一部(例えば、フレーズ))について存在することもある。以降の説明では、フローチャートの構成要素を「ノード」と呼ぶことがある。ノードが、フローチャートそれ自体であることもある。つまり、ノードは、フローチャートの全部又は一部である。
(1)指定された手順ID15090に対応する手順全体のフローチャートを指すフローID15097が格納される。
(2)指定された手順ID15090及び手順文ID15091に対応する手順文のフローチャートを指すフローID15097が格納される。
(3)指定された手順ID15090、手順文ID15091、開始位置15094及び終了位置に対応する手順文部分のフローチャートを指すフローID15097が格納される。
(4)指定された抽象手順ID15092に対応する抽象手順全体のフローチャートを指すフローID15097が格納される。
(5)指定された抽象手順ID15092及び抽象手順文ID15093に対応する抽象手順文のフローチャートを指すフローID15097が格納される。
(6)指定された抽象手順ID15092、抽象手順文ID15093、開始位置15094、終了位置15095及びフレーズID15096に対応する抽象手順文部分(フレーズ)に対応するフローチャートを指すフローID15097が格納される。
There are multiple update timings for the procedure flow correspondence table 1509. For example, values can be stored as shown in (1) to (6) below. As shown below, in this embodiment, the "flow chart" may exist for the entire procedure or for an abstract procedure, or part of a procedure or abstract procedure (eg, all or part of a procedure statement or abstract procedure statement (eg). For example, it may exist for the phrase)). In the following description, the components of the flowchart may be referred to as "nodes". The node may be the flowchart itself. That is, the nodes are all or part of the flowchart.
(1) A flow ID 15097 indicating a flowchart of the entire procedure corresponding to the specified procedure ID 15090 is stored.
(2) The flow ID 15097 indicating the flowchart of the procedure sentence corresponding to the designated procedure ID 15090 and the procedure sentence ID 15091 is stored.
(3) The flow ID 15097 indicating the flowchart of the designated procedure ID 15090, procedure sentence ID 15091, start position 15094, and procedure sentence portion corresponding to the end position is stored.
(4) A flow ID 15097 indicating a flowchart of the entire abstract procedure corresponding to the specified abstract procedure ID 15092 is stored.
(5) The flow ID 15097 indicating the flowchart of the abstract procedure statement corresponding to the designated abstract procedure ID 15092 and the abstract procedure statement ID 15093 is stored.
(6) The flow ID 15097 indicating the flowchart corresponding to the designated abstract procedure ID 15092, abstract procedure sentence ID 15093, start position 15094, end position 15095, and abstract procedure sentence part (phrase) corresponding to phrase ID 15096 is stored.
(1−4)本実施例で行われる処理の詳細 (1-4) Details of processing performed in this embodiment
図17は、手順分析処理1201を示す。手順分析処理1201は、各手順をフローチャートに変換する前の事前処理として実行される。ルール管理部120が、手順分析処理において、手順書1501に含まれる手順の関係性を特定する。 FIG. 17 shows the procedure analysis process 1201. The procedure analysis process 1201 is executed as a pre-processing before converting each procedure into a flowchart. The rule management unit 120 identifies the relationship between the procedures included in the procedure manual 1501 in the procedure analysis process.
まず、ルール管理部120は、入力として受信した手順書を読み込む(例えばメモリ110に格納する)(S1000)。 First, the rule management unit 120 reads the procedure manual received as an input (for example, stores it in the memory 110) (S1000).
次に、ルール管理部120は、その手順書に含まれる手順を抽出し、各手順に対して形態素解析を施す(S1010)。結果として、各手順が、単語に分解される。例えば、ルール管理部120は、各手順から、特定の品詞(例えば、名詞又は動詞)に該当する単語のみを抽出してもよいし、1以上の手順の少なくとも1つについて、複数の単語を意味のある単位にまとめて一つの単語とみなしてもよい。S1020以降のステップにおいては、S1010で抽出された各手順について、S1010で得られた単語列(1以上の単語)が、「手順」として扱われる。 Next, the rule management unit 120 extracts the procedures included in the procedure manual and performs morphological analysis on each procedure (S1010). As a result, each procedure is broken down into words. For example, the rule management unit 120 may extract only words corresponding to a specific part of speech (for example, a noun or a verb) from each procedure, or means a plurality of words for at least one of one or more steps. It may be regarded as one word by grouping it into a certain unit. In the steps after S1020, for each procedure extracted in S1010, the word string (one or more words) obtained in S1010 is treated as a "procedure".
次に、ルール管理部120は、S1020で手順一般化処理(図18)を実施する(S1020)。ルール管理部120は、手順一般化処理において、手順に含まれる条件節の条件表現や、対策内容の動作を示す単語列を特定する。S1030以降のステップでは、S1020で特定した単語を、対応する条件種類15101や動作種類15111に置き換えた単語を、「手順」として扱う。なお、以降の説明においては、条件種類15101や動作種類15111と、S1010で切り出した単語を区別せずに、「単語」と言及する。 Next, the rule management unit 120 executes a procedure generalization process (FIG. 18) in S1020 (S1020). In the procedure generalization process, the rule management unit 120 specifies a conditional expression of a conditional clause included in the procedure and a word string indicating the operation of the countermeasure content. In the steps after S1030, a word in which the word specified in S1020 is replaced with the corresponding condition type 15101 or operation type 15111 is treated as a "procedure". In the following description, the condition type 15101 and the operation type 15111 and the word cut out in S1010 are referred to as "words" without distinction.
次に、ルール管理部120は、類似関係抽出処理(図19)を実施する(S1030)。ルール管理部120は、類似関係抽出処理において、類似である手順集合を特定し、手順集合に共通の単語列パタンを抽象手順として記憶する。従って、抽象手順は、手順集合に属する1以上の手順に共通である。また、抽象手順は、単語列パタンであるため、抽象手順文は、抽象手順としての単語列パタンの一部又は全部である。 Next, the rule management unit 120 executes a similarity extraction process (FIG. 19) (S1030). In the similarity relationship extraction process, the rule management unit 120 identifies a procedure set that is similar and stores a word string pattern common to the procedure set as an abstract procedure. Therefore, the abstract procedure is common to one or more procedures belonging to the procedure set. Further, since the abstract procedure is a word string pattern, the abstract procedure sentence is a part or all of the word string pattern as the abstract procedure.
次に、ルール管理部120は、包含関係推定処理(図20)を実施する(S1040)。ルール管理部120は、類似関係抽出処理において、S1030で生成した抽象手順間の包含関係を推定する。 Next, the rule management unit 120 executes the inclusion relationship estimation process (FIG. 20) (S1040). The rule management unit 120 estimates the inclusion relationship between the abstract procedures generated in S1030 in the similarity relationship extraction process.
最後に、ルール管理部120は、手順変換順序決定処理(図23)を実施する(S1050)。ルール管理部120は、手順変換順序決定処理において、手順間の類似関係、包含関係を元に手順の順序付けをする。 Finally, the rule management unit 120 executes the procedure conversion order determination process (FIG. 23) (S1050). The rule management unit 120 orders the procedures based on the similarity relationship and the inclusion relationship between the procedures in the procedure conversion order determination process.
図18は、手順一般化処理(S1020)を示す。 FIG. 18 shows a procedure generalization process (S1020).
ルール管理部120は、各手順における各単語(例えば、条件節に該当する単語、及び、対策内容に該当する単語)について、S2020〜S2090を行う。以降、1つの手順における1つの単語を例に取る(S2020〜S2090の説明において、「対象手順」及び「対象単語」と呼ぶ)。なお、「対象単語」は、最小単語(最小単位としての単語)であってもよいし、最小単語の組合せ(2以上の最小単語の集合)であってもよい。具体的には、例えば、「対象単語」は、N−Gram(Nは1以上の整数)でよい。 The rule management unit 120 performs S2020 to S2090 for each word in each procedure (for example, a word corresponding to a conditional clause and a word corresponding to a countermeasure content). Hereinafter, one word in one procedure will be taken as an example (referred to as "target procedure" and "target word" in the description of S2020 to S2090). The "target word" may be the minimum word (word as the minimum unit) or a combination of the minimum words (a set of two or more minimum words). Specifically, for example, the "target word" may be N-Gram (N is an integer of 1 or more).
ルール管理部120は、対象単語が対策内容に該当する単語であれば、対象単語に類似する動作表現15112があるか否かを判断する(S2020)。対象単語のような文字列の類似度(類似性)は、例えば、文字列のレーベンシュタイン距離を計算するなどの方法により特定することができる。対象単語との類似度が一定値以上の動作表現15112が少なくとも1つあれば、S2020の判断結果は真となる。 If the target word is a word corresponding to the countermeasure content, the rule management unit 120 determines whether or not there is an operation expression 15112 similar to the target word (S2020). The similarity (similarity) of a character string such as a target word can be specified by a method such as calculating the Levenshtein distance of the character string. If there is at least one motion expression 15112 having a degree of similarity with the target word of a certain value or more, the determination result of S2020 is true.
S2020の判断結果が真の場合には(S2020:Yes)、ルール管理部120は、類似する動作表現15112(例えば、最も類似度が高い動作表現15112)を選択し、選択した動作表現15112に対応した動作ID15110を、動作ID15024として、手順テーブル1502の該当エントリ(対象単語を示す単語15022が登録されるエントリ)に登録する(S2030)。S2030で、該当エントリに、対象手順の手順ID15020、対象単語を含む手順文の手順文ID15021、及び、対象単語を示す単語15023も登録されてよい。 When the determination result of S2020 is true (S2020: Yes), the rule management unit 120 selects a similar operation expression 15112 (for example, the operation expression 15112 having the highest degree of similarity), and corresponds to the selected operation expression 15112. The operation ID 15110 is registered as the operation ID 15024 in the corresponding entry in the procedure table 1502 (the entry in which the word 15022 indicating the target word is registered) (S2030). In S2030, the procedure ID 15020 of the target procedure, the procedure sentence ID 15021 of the procedure sentence including the target word, and the word 15023 indicating the target word may also be registered in the corresponding entry.
S2020の判断結果が偽の場合には(S2020:No)、ルール管理部120は、対象単語が条件節に該当する単語であれば、対象単語に類似する条件値15102があるか否かを判断する(S2040)。 When the determination result of S2020 is false (S2020: No), the rule management unit 120 determines whether or not there is a condition value 15102 similar to the target word if the target word is a word corresponding to the conditional clause. (S2040).
S2040の判断結果が偽の場合には(S2040:No)、ルール管理部120は、格子柄情報170又は監視情報160(具体的には、取得元テーブル15103及び取得元カラム15104が指す情報)から、対象単語に類似する値(表現)があるか否かを判断する(S2050)。 When the determination result of S2040 is false (S2040: No), the rule management unit 120 starts from the grid pattern information 170 or the monitoring information 160 (specifically, the information pointed to by the acquisition source table 15103 and the acquisition source column 15104). , It is determined whether or not there is a value (expression) similar to the target word (S2050).
S2040又はS2050の判断結果が真の場合には(S2040:Yes、又は、S2050:Yes)、ルール管理部120は、対象単語に類似する値(例えば、条件値15102又は表現)に対応する条件種類の条件種類IDを、条件種類ID15023として、手順テーブル1502の該当エントリに登録する(S2060)。S2060で、該当エントリに、対象手順の手順ID15020、対象単語を含む手順文の手順文ID15021、及び、対象単語を示す単語15023も登録されてよい。 When the determination result of S2040 or S2050 is true (S2040: Yes or S2050: Yes), the rule management unit 120 has a condition type corresponding to a value similar to the target word (for example, condition value 15102 or expression). The condition type ID of is registered as the condition type ID 15023 in the corresponding entry of the procedure table 1502 (S2060). In S2060, the procedure ID 15020 of the target procedure, the procedure sentence ID 15021 of the procedure sentence including the target word, and the word 15023 indicating the target word may also be registered in the corresponding entry.
S2050の判断結果が偽の場合には(S2050:No)、対象単語が該当する条件節の条件種類が、未知の条件種類(条件種類テーブル1510に無い条件種類)である可能性がある。そこで、ルール管理部120は、対象単語に類似する値(表現)が構成情報170又は監視情報160にあるか否かを判断する(S2070)。 If the determination result of S2050 is false (S2050: No), there is a possibility that the condition type of the condition clause to which the target word corresponds is an unknown condition type (condition type not in the condition type table 1510). Therefore, the rule management unit 120 determines whether or not a value (expression) similar to the target word exists in the configuration information 170 or the monitoring information 160 (S2070).
S2070の判断結果が真の場合には(S2070:Yes)、ルール管理部120は、その類似する値に対応する条件種類と、その条件種類の条件種類IDとを生成し、生成した条件種類を示す条件種類15101、生成した条件種類IDを示す条件種類ID15100、当該類似する値を示す条件値15102、当該値の取得元を示す取得元テーブル15103及び取得元カラム15104、及び、推定フラグ15015“Yes”を、条件種類テーブル1510に登録する(S2080)。また、ルール管理部120は、登録した条件種類ID15100を、条件種類ID15023として手順テーブル1502の該当エントリに登録する(S2090)。S2090で、該当エントリに、対象手順の手順ID15020、対象単語を含む手順文の手順文ID15021、及び、対象単語を示す単語15023も登録されてよい。 When the determination result of S2070 is true (S2070: Yes), the rule management unit 120 generates a condition type corresponding to the similar value and a condition type ID of the condition type, and generates the generated condition type. Condition type 15101 shown, condition type ID 15100 indicating the generated condition type ID, condition value 15102 indicating the similar value, acquisition source table 15103 and acquisition source column 15104 indicating the acquisition source of the value, and estimation flag 15015 "Yes". Is registered in the condition type table 1510 (S2080). Further, the rule management unit 120 registers the registered condition type ID 15100 as the condition type ID 15023 in the corresponding entry of the procedure table 1502 (S2090). In S2090, the procedure ID 15020 of the target procedure, the procedure sentence ID 15021 of the procedure sentence including the target word, and the word 15023 indicating the target word may also be registered in the corresponding entry.
図19は、類似関係抽出処理(S1030)を示す。ルール管理部120は、類似関係抽出処理において、クラスタリングなどの方法で類似の手順をまとめ、その類似の関係にある1以上の手順である手順集合から、共通する単語列パタンを抽象手順として抽出する。 FIG. 19 shows a similarity extraction process (S1030). In the similarity relationship extraction process, the rule management unit 120 summarizes similar procedures by a method such as clustering, and extracts a common word string pattern as an abstract procedure from a procedure set that is one or more procedures having the similar relationship. ..
ルール管理部120は、各手順について、S3010〜S3030を行う。以降、1つの手順を例に取る(S3010〜S3030の説明において、「対象手順」と呼ぶ)。 The rule management unit 120 performs S3010 to S3030 for each procedure. Hereinafter, one procedure will be taken as an example (referred to as "target procedure" in the description of S3010 to S3030).
ルール管理部120は、対象手順に対応した1以上の単語15022がそれぞれ示す1以上の単語で構成された単語列を生成する(S3010)。このとき、ルール管理部120は、その単語列を構成する1以上の単語の各々について、その単語に対応する条件種類ID15023又は動作ID15024として有効な値がある場合には、その単語を、そのIDに対応する条件種類15101又は動作種類15111が示す情報(単語)で置き換える(S3020)。その上で、ルール管理部120は、単語列をベクトル化する(S3030)。ベクトル化の方法としては、例えば、TF−IDFといった公知の方法を用いることができる。 The rule management unit 120 generates a word string composed of one or more words indicated by one or more words 15022 corresponding to the target procedure (S3010). At this time, if each of the one or more words constituting the word string has a valid value as the condition type ID 15023 or the operation ID 15024 corresponding to the word, the rule management unit 120 sets the word as the ID. Is replaced with the information (word) indicated by the condition type 15101 or the operation type 15111 corresponding to (S3020). Then, the rule management unit 120 vectorizes the word string (S3030). As a vectorization method, for example, a known method such as TF-IDF can be used.
以上、S3010〜S3030によって、条件値15102が異なる手順を同一の手順として扱うことができる。具体的には、例えば、同一の内容である手順であったとしても、構成が異なる(例えばサーバ名などが異なる)と、異なる表現の手順となるが、S3010〜S3030によれば、そのような構成の異なる手順を同一の手順として認識することが可能となる。 As described above, the procedures having different condition values 15102 can be treated as the same procedure depending on S3010 to S3030. Specifically, for example, even if the procedures have the same contents, if the configurations are different (for example, the server name is different), the procedures will be expressed differently. According to S3010 to S3030, such procedures are used. It is possible to recognize procedures having different configurations as the same procedure.
次に、ルール管理部120は、各手順(単語列)をクラスタリングする。クラスタリングの方法としては、公知の方法(例えば、k平均法、又は、凝集型のクラスタリング)を用いることができる。 Next, the rule management unit 120 clusters each procedure (word string). As a clustering method, a known method (for example, k-means method or agglomeration type clustering) can be used.
次に、ルール管理部120は、各クラスタについて、S3060〜S3100を行う。結果として、複数の手順の共通パタンである抽象手順が求められる。以降、1つのクラスタを例に取る(S3060〜S3100の説明において、「対象クラスタ」と呼ぶ)。 Next, the rule management unit 120 performs S306 to S3100 for each cluster. As a result, an abstract procedure, which is a common pattern of multiple procedures, is required. Hereinafter, one cluster will be taken as an example (referred to as "target cluster" in the description of S306 to S3100).
ルール管理部120は、対象クラスタに所属する全ての手順である手順集合を取得する(S3060)。 The rule management unit 120 acquires a procedure set that is all the procedures belonging to the target cluster (S3060).
ルール管理部120は、その取得した手順集合から、共通した単語列パタンを抽出する(S3070)。具体的には、例えば、ルール管理部120は、その手順集合について、1以上の手順ペアを生成する。そして、ルール管理部120は、その1以上の手順ペアの各々について、単語の単位でレーベンシュタイン距離を求め、レーベンシュタイン距離が任意のしきい値以上である単語で構成された単語列パタンを抽出する。なお、単語列パタンは、1全手順ペアについて、任意の頻度以上で見られる単語を含んでもよい。また、単語列パタンは、例えば任意の0個以上の単語が手順集合から取り除かれたものであってもよい。S3070で抽出された単語列パタンが、抽象手順である。 The rule management unit 120 extracts a common word string pattern from the acquired procedure set (S3070). Specifically, for example, the rule management unit 120 generates one or more procedure pairs for the procedure set. Then, the rule management unit 120 obtains the Levenshtein distance in word units for each of the one or more procedure pairs, and extracts a word string pattern composed of words whose Levenshtein distance is equal to or more than an arbitrary threshold value. To do. The word string pattern may include words that are found at an arbitrary frequency or higher for one whole procedure pair. Further, the word string pattern may be, for example, an arbitrary 0 or more words removed from the procedure set. The word string pattern extracted in S3070 is an abstract procedure.
ルール管理部120は、S3070で抽出した抽象手順(単語列パタン)に関する情報を、抽象手順テーブル1504に登録する(S3080)。具体的には、例えば、ルール管理部120は、抽象手順ID15040と抽象手順文ID15041を重複の無いように生成し、その抽象手順ID15040と抽象手順文ID15041を、抽象手順テーブル1504に登録する。また、ルール管理部120は、抽象手順に含まれる単語がいずれかの条件種類15101を含む場合には、その条件種類15101に対応する条件種類ID15100を、抽象手順テーブル1504に条件種類ID15043として登録する。同様に、ルール管理部120は、抽象手順に含まれる単語がいずれかの動作種類15111を含む場合には、当その動作種類15111に対応する動作ID15110を、抽象手順テーブル1504に動作ID15044として登録する。S3080では、抽象手順に含まれる単語が単語15042として登録されてよい。 The rule management unit 120 registers the information related to the abstract procedure (word string pattern) extracted in S3070 in the abstract procedure table 1504 (S3080). Specifically, for example, the rule management unit 120 generates the abstract procedure ID 15040 and the abstract procedure sentence ID 15041 without duplication, and registers the abstract procedure ID 15040 and the abstract procedure sentence ID 15041 in the abstract procedure table 1504. Further, when the word included in the abstract procedure includes any condition type 15101, the rule management unit 120 registers the condition type ID 15100 corresponding to the condition type 15101 in the abstract procedure table 1504 as the condition type ID 15043. .. Similarly, when the word included in the abstract procedure includes any operation type 15111, the rule management unit 120 registers the operation ID 15110 corresponding to the operation type 15111 in the abstract procedure table 1504 as the operation ID 15044. .. In S3080, the word included in the abstract procedure may be registered as word 15042.
その後、ルール管理部120は、S3060で取得した手順集合を構成する手順毎に、S3100を行う。以降、1つの手順を例に取る(S3100の説明において、「対象手順」と呼ぶ)。 After that, the rule management unit 120 performs S3100 for each procedure constituting the procedure set acquired in S3060. Hereinafter, one procedure will be taken as an example (referred to as "target procedure" in the description of S3100).
ルール管理部120は、対象手順に対応する抽象手順に関する情報を手順テーブル1502に登録する(S3100)。具体的には、例えば、ルール管理部120は、S3070で抽出した抽象手順(単語列パタン)内の単語に対応する単語を対象クラスタから特定する。これには、例えば正規表現のパターンマッチなどの方法を用いることができる。そして、ルール管理部120は、手順テーブル1502における該当エントリ(特定した単語を示す単語15022を含んだエントリ)に、その抽象手順のIDを示す抽象手順ID15025と、特定した単語に対応する単語を含む抽象手順文のIDを示す抽象手順文15026とを登録する。 The rule management unit 120 registers information about the abstract procedure corresponding to the target procedure in the procedure table 1502 (S3100). Specifically, for example, the rule management unit 120 identifies a word corresponding to a word in the abstract procedure (word string pattern) extracted in S3070 from the target cluster. For this, a method such as regular expression pattern matching can be used. Then, the rule management unit 120 includes the abstract procedure ID 15025 indicating the ID of the abstract procedure and the word corresponding to the specified word in the corresponding entry (entry including the word 15022 indicating the specified word) in the procedure table 1502. The abstract procedure statement 15026 indicating the ID of the abstract procedure statement is registered.
図20は、包含関係推定処理(S1040)を示す。 FIG. 20 shows the inclusion relationship estimation process (S1040).
ルール管理部120は、抽象手順テーブル1504から全ての抽象手順(単語列パタン)を取得する(S4000)。このとき、ルール管理部120は、それらの抽象手順を構成する1以上の単語の各々について、その単語に対応する条件種類ID15043又は動作ID15044として有効な値がある場合には、その単語を、そのIDに対応した条件種類15101又は動作種類15111が示す情報(単語)で置き換える。 The rule management unit 120 acquires all abstract procedures (word string patterns) from the abstract procedure table 1504 (S4000). At this time, if each of the one or more words constituting the abstract procedure has a valid value as the condition type ID 15043 or the operation ID 15044 corresponding to the word, the rule management unit 120 uses the word. Replace with the information (word) indicated by the condition type 15101 or the operation type 15111 corresponding to the ID.
ルール管理部120は、S4000で取得した抽象手順(単語列パタン)を、S3030と同様にベクトル表現に変換し、凝集型のクラスタリングを実施する(S4010)。凝集型クラスタリングを実施すると、類似性の高い抽象手順から、順次、クラスタにまとめられていく。これにより、最終的には生成されたクラスタは、樹形図と呼ばれる2分木として表現することができる。 The rule management unit 120 converts the abstract procedure (word string pattern) acquired in S4000 into a vector representation in the same manner as in S3030, and performs aggregate clustering (S4010). When agglomeration clustering is performed, abstract procedures with high similarity are sequentially grouped into clusters. As a result, the finally generated cluster can be represented as a binary tree called a dendrogram.
図16は、樹形図の一例、具体的には、抽象手順A〜Eを凝集型クラスタリングによってまとめた例を示す。クラスタ1は、抽象手順AとBをまとめたクラスタである。クラスタ2は、対象手順CとDをまとめたクラスタである。クラスタ3は、クラスタ2とクラスタ1をまとめたクラスタである。クラスタ4は、クラスタ3と抽象手順Eをまとめたクラスタである。 FIG. 16 shows an example of a dendrogram, specifically, an example in which abstract procedures A to E are summarized by aggregate clustering. Cluster 1 is a cluster that combines abstract procedures A and B. Cluster 2 is a cluster in which target procedures C and D are put together. Cluster 3 is a cluster that combines cluster 2 and cluster 1. Cluster 4 is a cluster that combines cluster 3 and abstract procedure E.
樹形図では、クラスタの構成要素がどの程度類似しているかを「類似度」と呼ぶ。類似度は、0以上1以下である。樹形図は、リーフの位置を類似度“1”、ルートの位置を類似度“0”として描画する。そして、樹形図は、クラスタの構成要素の類似度に相当する高さで、ノードの結合点を描画する。今後、説明を簡略化するために、結合点の左右の部分木を、クラスタの左右の木と呼ぶ。また、結合点の高さで示される左右のノードの類似度を、その部分木が示すクラスタの類似度と呼ぶ。 In the dendrogram, how similar the components of a cluster are is called "similarity". The degree of similarity is 0 or more and 1 or less. The dendrogram is drawn with the leaf position as the similarity "1" and the root position as the similarity "0". Then, the dendrogram draws the connection points of the nodes at a height corresponding to the similarity of the components of the cluster. In the future, for the sake of simplicity, the subtrees on the left and right of the connection point will be referred to as the trees on the left and right of the cluster. The similarity of the left and right nodes indicated by the height of the connection point is called the similarity of the cluster indicated by the subtree.
図16に示すように、凝集型クラスタリングでは、複数のクラスタが階層的に構成されることとなるが、より小さいクラスタに所属する抽象手順同士では単語列の過不足がより少なく、より類似である可能性が高くなる。 As shown in FIG. 16, in aggregate clustering, a plurality of clusters are hierarchically configured, but abstract procedures belonging to smaller clusters have less excess or deficiency of word strings and are more similar. The possibility is high.
この特徴を利用し、ルール管理部120は、S4010で生成したクラスタリングについて、類似度が高い順にクラスタを選択し、クラスタに含まれる抽象手順同士を比較して順次包含関係を推定していく。ルール管理部120は、各クラスタについて、S4030〜S4090を行う。以降、1つのクラスタを例に取る(S4030〜S4090の説明において、「対象クラスタ」と呼ぶ)。 Utilizing this feature, the rule management unit 120 selects clusters in descending order of similarity for the clustering generated in S4010, compares the abstract procedures included in the clusters, and estimates the inclusion relationship in sequence. The rule management unit 120 performs S403 to S4090 for each cluster. Hereinafter, one cluster will be taken as an example (referred to as “target cluster” in the description of S403 to S4090).
ルール管理部120は、対象クラスタにおける左右の木から、それぞれ1つの抽象手順を選択し、選択した抽象手順のペアである抽象手順ペアを生成する(S4030)。対象クラスタに関し、抽象手順ペア毎に、S4050〜S4090が行われる。以降、1つの抽象手順ペアを例に取る(S4050〜S4090の説明において、「対象抽象手順ペア」と呼ぶ)。なお、クラスタの類似度が任意のしきい値以下の場合は、クラスタにおける左右の木に含まれる抽象手順が類似していない可能性が高いため、ループを終了させるなどの処理が採用されてもよい。 The rule management unit 120 selects one abstract procedure from each of the left and right trees in the target cluster, and generates an abstract procedure pair that is a pair of the selected abstract procedures (S4030). For the target cluster, S4050 to S4090 are performed for each abstract procedure pair. Hereinafter, one abstract procedure pair will be taken as an example (referred to as "object abstract procedure pair" in the description of S4050 to S4090). If the similarity of the cluster is less than an arbitrary threshold value, there is a high possibility that the abstract procedures included in the left and right trees in the cluster are not similar, so even if processing such as ending the loop is adopted. Good.
ルール管理部120は、対象抽象手順ペアについて、包含関係チェック処理を実施する(S4050)。包含関係チェック処理では、対象抽象手順ペアが包含の関係であるか否かがチェック(推定)される。 The rule management unit 120 executes the inclusion relationship check process for the target abstract procedure pair (S4050). In the inclusion relationship check process, it is checked (estimated) whether or not the target abstract procedure pair has an inclusion relationship.
もしも、チェック結果が偽である場合には(S4060:No)、ルール管理部120は、S4070以降の処理をせずに次の抽象手順ペアを選択する。 If the check result is false (S4060: No), the rule management unit 120 selects the next abstract procedure pair without performing the processing after S4070.
一方、チェック結果が真である場合には(S4060:Yes)、ルール管理部120は、対象抽象手順ペアについて、S4070〜S4090を行う。 On the other hand, when the check result is true (S4060: Yes), the rule management unit 120 performs S4070 to S4090 for the target abstract procedure pair.
すなわち、ルール管理部120は、対象抽象手順ペアに関する情報が抽象手順関係テーブル1505に未登録か否かを判断する(S4070)。 That is, the rule management unit 120 determines whether or not the information regarding the target abstract procedure pair is not registered in the abstract procedure relation table 1505 (S4070).
S4070の判断結果が真の場合(S4070:Yes)、ルール管理部120は、対象抽象手順ペアに関する情報を抽象手順関係テーブル1505に登録する(S4080)。 When the determination result of S4070 is true (S4070: Yes), the rule management unit 120 registers the information regarding the target abstract procedure pair in the abstract procedure relation table 1505 (S4080).
具体的には、ルール管理部120は、包含関係チェック処理の結果より、対象抽象手順ペアの親子関係を特定する。対象手順ペア内の親の抽象手順について、ルール管理部120は、当該親の抽象手順のIDを抽象手順ID15050として含むエントリがあれば、そのエントリに、対象抽象手順ペア内の子の抽象手順のIDを子抽象手順ID15051として登録する。また、対象抽象手順ペア内の子の抽象手順について、ルール管理部120は、当該子の抽象手順のIDを抽象手順ID15050として含むエントリがあれば、そのエントリに、対象抽象手順ペア内の親の抽象手順IDを親抽象手順ID15052として登録する。なお、もしも、対応するエントリがない場合には、ルール管理部120は、新規にエントリを抽象手順関係テーブル1505に生成する。なお、S4080において、ルール管理部120は、対象抽象手順ペア内の子抽象手順のIDが、いずれかの既存の抽象手順を含む子抽象手順の子抽象手順ID15051として登録済であれば、対象抽象手順ペア内の子抽象手順のIDを子抽象手順ID15051として登録しないでよい。同様に、ルール管理部120は、対象抽象手順ペア内の親抽象手順のIDが、いずれかの既存の抽象手順に含まれる親抽象手順の親抽象手順ID15052として登録済であれば、対象抽象手順ペア内の親抽象手順のIDを親抽象手順ID15052として登録しないでよい。 Specifically, the rule management unit 120 specifies the parent-child relationship of the target abstract procedure pair from the result of the inclusion relationship check process. Regarding the abstract procedure of the parent in the target procedure pair, the rule management unit 120 indicates that if there is an entry containing the ID of the parent abstract procedure as the abstract procedure ID 15050, the entry contains the abstract procedure of the child in the target abstract procedure pair. The ID is registered as the child abstraction procedure ID 15051. Further, regarding the abstract procedure of the child in the target abstract procedure pair, if there is an entry including the ID of the child abstract procedure as the abstract procedure ID 15050, the rule management unit 120 includes the entry of the parent in the target abstract procedure pair. The abstract procedure ID is registered as the parent abstract procedure ID 15052. If there is no corresponding entry, the rule management unit 120 newly generates an entry in the abstract procedure relation table 1505. In S4080, if the ID of the child abstract procedure in the target abstract procedure pair is registered as the child abstract procedure ID 15051 of the child abstract procedure including any existing abstract procedure, the rule management unit 120 has registered the target abstract. The ID of the child abstraction procedure in the procedure pair may not be registered as the child abstraction procedure ID 15051. Similarly, if the ID of the parent abstract procedure in the target abstract procedure pair is registered as the parent abstract procedure ID 15052 of the parent abstract procedure included in any of the existing abstract procedures, the rule management unit 120 determines the target abstract procedure. The ID of the parent abstraction procedure in the pair may not be registered as the parent abstraction procedure ID 15052.
ルール管理部120は、対象抽象手順ペアについて、同一部特定処理を実施する(S4090)。 The rule management unit 120 executes the same unit identification process for the target abstract procedure pair (S4090).
図21は、包含関係チェック処理(S4050)を示す。包含関係チェック処理は、入力である対象抽象手順ペアを構成する2つの抽象手順が包含関係であるか否かを判断する処理である。 FIG. 21 shows the inclusion relationship check process (S4050). The inclusion relationship check process is a process of determining whether or not the two abstract procedures constituting the input target abstract procedure pair have an inclusion relationship.
ルール管理部120は、対象抽象手順ペアを構成する抽象手順毎に、その抽象手順に含まれる条件種類の数を集計する(S5000)。対象抽象手順ペアを構成する抽象手順の関係が、包含関係にあるならば、それらの対象手順間の類似度が高く、含まれている条件種類と条件種類の数とが包含関係にあると考えられる。そこで、ルール管理部120では、S5000で各抽象手順について集計した条件種類及びそれの数を基に、対象抽象手順ペアが包含関係を有するか否か(対象抽象手順ペアを構成する2つの抽象手順が包含関係にあるか否か)を判断する(S5010)。例えば、第1の抽象手順が、第2の抽象手順が含む条件種類の全てを含んでいれば、対象抽象手順ペアは包含関係を有する。一方、第1の抽象手順が、第2の抽象手順含む少なくとも1つの条件種類を含んでいなければ、対象抽象手順ペアは包含関係を有しない。ルール管理部120は、S5010の判断結果(真(Yes)又は偽(No))を、チェック結果とし、そのチェック結果を戻り値として返却する。 The rule management unit 120 totals the number of condition types included in the abstract procedure for each abstract procedure that constitutes the target abstract procedure pair (S5000). If the relationship between the abstract procedures that make up the target abstract procedure pair is inclusive, it is considered that the similarity between the target procedures is high and the contained condition types and the number of condition types are inclusive. Be done. Therefore, in the rule management unit 120, whether or not the target abstract procedure pair has an inclusion relationship based on the condition types and the number thereof aggregated for each abstract procedure in S5000 (two abstract procedures constituting the target abstract procedure pair). Is in an inclusive relationship) (S5010). For example, if the first abstract procedure includes all of the condition types included in the second abstract procedure, the target abstract procedure pair has an inclusion relationship. On the other hand, if the first abstract procedure does not include at least one condition type including the second abstract procedure, the target abstract procedure pair has no inclusion relationship. The rule management unit 120 sets the determination result (true (Yes) or false (No)) of S5010 as the check result, and returns the check result as the return value.
図22は、同一部特定処理(S4090)を示す。同一部特定処理は、包含関係にあると推定された対象抽象手順ペアから共通の単語列パタンを特定する処理である。 FIG. 22 shows the same part identification process (S4090). The same part identification process is a process of identifying a common word string pattern from an object abstract procedure pair presumed to be inclusive.
ルール管理部120は、対象抽象手順ペアに関して、抽象手順文の対応関係を特定する(S6000)。具体的には、例えば、ルール管理部120は、レーベンシュタイン距離や、TF−IDFといった方法で、抽象手順文をベクトル表現に置き換え、ベクトルの距離が一定のしきい値以下の抽象手順文ペアを求めてもよいし、抽象手順文の出現順番が一致するように制限を加えてもよい。 The rule management unit 120 specifies the correspondence of the abstract procedure statements with respect to the target abstract procedure pair (S6000). Specifically, for example, the rule management unit 120 replaces the abstract procedure statement with a vector expression by a method such as the Levenshtein distance or TF-IDF, and sets an abstract procedure statement pair in which the vector distance is equal to or less than a certain threshold value. It may be obtained, or it may be restricted so that the order of appearance of the abstract procedure statements matches.
その後、ルール管理部120は、抽象手順文の数が少ない方の抽象手順を選択する(S6010)。そして、ルール管理部120は、選択した抽象手順内の抽象手順文毎に、S6030〜S6050を行う。以降、1つの抽象手順文を例に取る(S6030〜S6050の説明において、「対象抽象手順文」と呼ぶ)。 After that, the rule management unit 120 selects the abstract procedure having the smaller number of abstract procedure statements (S6010). Then, the rule management unit 120 performs S6030 to S6050 for each abstract procedure statement in the selected abstract procedure. Hereinafter, one abstract procedure sentence will be taken as an example (referred to as "object abstract procedure sentence" in the description of S6030 to S6050).
ルール管理部120は、対象抽象手順文に対応する抽象手順文が、S6000で特定されているか否かを判断する(S6030)。 The rule management unit 120 determines whether or not the abstract procedure statement corresponding to the target abstract procedure statement is specified in S6000 (S6030).
もしも、S6030の判断結果が真の場合には(S6030:No)、ルール管理部120は、対象抽象手順文と、対象抽象手順文に対応する抽象手順文とを比較し、それらの抽象手順文に共通する部分(フレーズ)があるか否かを判断する(S6040)。ここでは、例えば、ルール管理部120は、片方の抽象手順文に含まれる単語列について、N−Gramで単語列を切り出し、もう片方の抽象手順分に含まれるか否かを判断してよい。また、例えば、フレーズは、単純一致の部分でもよいし、両抽象手順に含まれるような正規表現としての部分でもよい。 If the determination result of S6030 is true (S6030: No), the rule management unit 120 compares the target abstract procedure statement with the abstract procedure statement corresponding to the target abstract procedure statement, and compares those abstract procedure statements. It is determined whether or not there is a common part (phrase) in (S6040). Here, for example, the rule management unit 120 may cut out the word string included in one abstract procedure sentence by N-Gram and determine whether or not it is included in the other abstract procedure sentence. Further, for example, the phrase may be a simple match part or a part as a regular expression as included in both abstract procedures.
もしも、S6040の判断結果が真の場合には(S6040:Yes)、ルール管理部120は、抽出手順パタンテーブル1506及び抽象手順同一部テーブル1507を更新する(S6050)。具体的には、例えば、ルール管理部120は、フレーズID15060を重複ないように生成し、そのフレーズID15060と、フレーズ15061とを抽出手順パタンテーブル1506に登録する。また、ルール管理部120は、対象抽象手順文について、S6040で抽出したフレーズが出現する位置(開始位置15072及び終了位置15073)と、そのフレーズのフレーズID15074(生成したフレーズID15060と同じID)を、抽象手順同一部テーブル1507に登録する。 If the determination result of S6040 is true (S6040: Yes), the rule management unit 120 updates the extraction procedure pattern table 1506 and the abstract procedure same unit table 1507 (S6050). Specifically, for example, the rule management unit 120 generates the phrase ID 15060 so as not to overlap, and registers the phrase ID 15060 and the phrase 15061 in the extraction procedure pattern table 1506. Further, the rule management unit 120 sets the positions (start position 15072 and end position 15073) where the phrase extracted in S6040 appears and the phrase ID 15074 (the same ID as the generated phrase ID 15060) of the target abstract procedure sentence. Abstract procedure Register in the same part table 1507.
図23は、手順変換順序決定処理(S1050)を示す。手順変換順序決定処理は、類似関係抽出処理と包含関係推定処理で抽出した手順間の関係を元に、手順をフローチャートに変換する推奨順序を決定する処理である。 FIG. 23 shows a procedure conversion order determination process (S1050). The procedure conversion order determination process is a process of determining a recommended order for converting a procedure into a flowchart based on the relationship between the procedures extracted by the similarity relationship extraction process and the inclusion relationship estimation process.
ルール管理部120は、抽象手順関係テーブル1506を参照し、包含関係にあり未選択の抽象手順のうち、最も先祖にあたる抽象手順(例えば、最も単語(条件節)の少ない抽象手順)を選択する(S7000)。 The rule management unit 120 refers to the abstract procedure relation table 1506 and selects the abstract procedure that is the most ancestor (for example, the abstract procedure with the fewest words (conditional clauses)) among the abstract procedures that are inclusive and unselected (for example, the abstract procedure with the fewest words (conditional clauses)). S7000).
ルール管理部120は、S7000で選択した抽象手順の上位抽象手順のうち未選択の上位抽象順があるか否かを判断する(S7010)。もしも、S7010の判断結果が真の場合には(S7010:Yes)、ルール管理部120は、未選択の上位抽象手順のうち、1つの上位抽象手順を選択し(S7020)、S7010の判断を行う。 The rule management unit 120 determines whether or not there is an unselected upper abstract order among the upper abstract procedures of the abstract procedure selected in S7000 (S7010). If the determination result of S7010 is true (S7010: Yes), the rule management unit 120 selects one upper abstract procedure from the unselected upper abstract procedures (S7020) and makes the determination of S7010. ..
もしも、S7010の判断結果が偽の場合には(S7010:No)、ルール管理部120は、当該の抽象手順(S7000で選択した抽象手順)を選択する(S7030)。 If the determination result of S7010 is false (S7010: No), the rule management unit 120 selects the relevant abstract procedure (abstract procedure selected in S7000) (S7030).
次に、ルール管理部120は、S7030で選択した抽象手順の抽象手順ID15025に対応した全ての手順を、手順テーブル1502から選択する(S7040)。 Next, the rule management unit 120 selects all the procedures corresponding to the abstract procedure ID 15025 of the abstract procedure selected in S7030 from the procedure table 1502 (S7040).
その後、ルール管理部120は、S7030で選択した抽象手順に対応する各手順の変換順番15030が、S7030で選択した抽象手順の親抽象手順に対応する各手順の変換順番の連番(次の順番)になるように、変換順番15030を生成し、その変換順番15030と、S7040で選択した手順の手順ID15031とを手順変換順序テーブル1503に登録する(S7050)。 After that, in the rule management unit 120, the conversion order 15030 of each procedure corresponding to the abstract procedure selected in S7030 is a serial number of the conversion order of each procedure corresponding to the parent abstract procedure of the abstract procedure selected in S7030 (next order). ) Is generated, and the conversion order 15030 and the procedure ID 15031 of the procedure selected in S7040 are registered in the procedure conversion order table 1503 (S7050).
以上、S7000〜S7050が、全ての抽象手順に対して繰り返される(S7060)。結果として、同一の包含関係に属する各抽象手順について、その抽象手順に対応する各手順の変換順番が、その抽象手順の親抽象手順に対応する各手順の変換順番の次の順番とされる。具体的には、例えば、第1の抽象手順が第2の抽象手順の親抽象手順であり、第1の抽象手順に対応する各手順の変換順番がX(Xは自然数)の場合、第2の抽象手順に対応する各手順の変換順番はX+1である。 As described above, S7000 to S7050 are repeated for all abstract procedures (S7600). As a result, for each abstract procedure belonging to the same inclusion relationship, the conversion order of each procedure corresponding to the abstract procedure is the order following the conversion order of each procedure corresponding to the parent abstract procedure of the abstract procedure. Specifically, for example, when the first abstract procedure is the parent abstract procedure of the second abstract procedure and the conversion order of each procedure corresponding to the first abstract procedure is X (X is a natural number), the second The conversion order of each procedure corresponding to the abstract procedure of is X + 1.
図24は、手順フローチャート変換の全体シーケンスを示す。 FIG. 24 shows the entire sequence of procedure flowchart conversions.
管理クライアント200のフローエディタ220が、運用管理者からの手順フローチャート変換操作を受け、その操作に従う手順一覧要求を管理サーバ100に送信する。管理サーバ100のルール管理部120が、その手順一覧要求を受信する。ルール管理部120が、その要求に応答して、変換順番15030と手順15011との組(更に手順ID15010を含んでもよい)の一覧を、管理クライアント200に送信する。管理クライアント200のフローエディタ220は、変換順番15030通りに並んだ手順の一覧をフローエディタ画面60の手順一覧221に表示する。 The flow editor 220 of the management client 200 receives a procedure flowchart conversion operation from the operation manager, and transmits a procedure list request according to the operation to the management server 100. The rule management unit 120 of the management server 100 receives the procedure list request. In response to the request, the rule management unit 120 transmits a list of sets of the conversion order 15030 and the procedure 15011 (which may further include the procedure ID 15010) to the management client 200. The flow editor 220 of the management client 200 displays a list of procedures arranged in the conversion order 15030 on the procedure list 221 of the flow editor screen 60.
フローエディタ220は、運用管理者から、手順一覧221からの手順の選択を受け、選択された手順の手順ID(手順IDに代えて又は加えて手順それ自体でもよい)を管理サーバ100に送信する。管理サーバ100のルール管理部120は、選択された手順の手順IDを受信することを含むフロー推定処理1203を実施し、選択された手順の全部又は一部の推定フローチャートと、選択された手順のうち推定された箇所(手順文又はフレーズ)とのうちの少なくとも1つを管理クライアント200に送信する。管理クライアント200のフローエディタ220は、受信した情報を元に、手順表示222とフロー入力223に、手順と推定フローチャートを表示する。なお、フローエディタ220は、手順文、フレーズ又は単語といった手順箇所を、マウスなどの入力デバイスによって指定された場合、指定された手順箇所に対応する推定フローチャート箇所(例えば、ノード全体、又は、ノード内の文字列における該当箇所)を、ルール管理部120に問合せて特定することにより(或いは、手順フロー対応テーブル1509を参照することにより)、強調表示することもできる。 The flow editor 220 receives the procedure selection from the procedure list 221 from the operation manager, and transmits the procedure ID of the selected procedure (instead of or in addition to the procedure ID, the procedure itself) to the management server 100. .. The rule management unit 120 of the management server 100 executes the flow estimation process 1203 including receiving the procedure ID of the selected procedure, and estimates all or a part of the selected procedure and the estimation flowchart of the selected procedure, and the selected procedure. At least one of the estimated parts (procedure sentences or phrases) is transmitted to the management client 200. The flow editor 220 of the management client 200 displays the procedure and the estimation flowchart on the procedure display 222 and the flow input 223 based on the received information. When a procedure part such as a procedure sentence, a phrase or a word is specified by an input device such as a mouse, the flow editor 220 has an estimated flowchart part corresponding to the specified procedure part (for example, the entire node or the inside of the node). The corresponding part in the character string) can be highlighted by inquiring to the rule management unit 120 and specifying it (or by referring to the procedure flow correspondence table 1509).
フローエディタ220が、運用管理者から、手順表示222に対して、手順全体、手順文又はフレーズの選択と、選択箇所に対応するフローチャートの入力とを受ける。このとき、前述のとおり、フローエディタ220は、選択箇所に対応する推定フロー箇所を強調表示させてから、当該フローチャートの修正を受けてもよい。フローエディタ220は、入力されたフローチャートと、手順対応関係(手順全体、手順文及びフレーズのうちの少なくとも2つの関係)とを保持する。フローエディタ220は、運用管理者からフローチャートの保存指示を受けると、入力されたフローチャート、及び、保持した手順対応関係を、管理サーバ100に送信する。管理サーバ100のルール管理部120は、そのフローチャート及び対応関係を保存するためのフロー記憶処理1202を実施し、完了通知を、フローエディタ220に通知する。 The flow editor 220 receives from the operation manager the selection of the entire procedure, the procedure sentence or the phrase, and the input of the flowchart corresponding to the selected part in the procedure display 222. At this time, as described above, the flow editor 220 may highlight the estimated flow location corresponding to the selected portion and then receive the modification of the flowchart. The flow editor 220 holds the input flowchart and the procedure correspondence relationship (at least two relationships of the entire procedure, the procedure sentence, and the phrase). When the flow editor 220 receives an instruction to save the flowchart from the operation manager, the flow editor 220 transmits the input flowchart and the held procedure correspondence relationship to the management server 100. The rule management unit 120 of the management server 100 executes the flow storage process 1202 for saving the flowchart and the correspondence, and notifies the flow editor 220 of the completion notification.
なお、手順一覧221には、手順以外が表示されてもよい。例えば、推定フローが表示されてもよいし、手順のうち推定されている箇所の割合(カバレッジ)などが表示されてもよい。また、保存指示は、運用管理者が明示的に行う必要は必ずしもない。例えば、フローチャートの入力と同時に明示の保存指示無しにフロー記憶処理1202が実施されてもよい。このとき、上記の通りに手順一覧221の表示が更新されてもよい。 In the procedure list 221, other than the procedure may be displayed. For example, the estimated flow may be displayed, or the ratio (coverage) of the estimated portion of the procedure may be displayed. In addition, the storage instruction does not necessarily have to be explicitly given by the operation manager. For example, the flow storage process 1202 may be executed at the same time as the input of the flowchart without any explicit storage instruction. At this time, the display of the procedure list 221 may be updated as described above.
図25は、フロー記憶処理1202を示す。フロー記憶処理1202は、受信したフローチャートを記憶する処理である。 FIG. 25 shows the flow storage process 1202. The flow storage process 1202 is a process for storing the received flowchart.
フローテーブル1508では、図14に示す通り、論理表現15081から別のフローID15080を参照することがあり得る。例えば、手順文に対応するフローチャートから、フレーズに対応するフローチャートを参照することがあり得る。そのため、ルール管理部120は、まず、フロー分解処理を実施する(S8000)。それにより、受信した手順箇所をより細粒度の単位である抽象手順やフレーズなどに分解し、それらの単位に対応するフローチャートを得ることができる。フローチャート毎に、S8010〜S8050が行われる。以降、1つのフローチャートを例に取る(S8010〜S8050の説明で「対象フローチャート」と呼ぶ)。 In the flow table 1508, as shown in FIG. 14, another flow ID 1508 may be referred to from the logical representation 15081. For example, the flowchart corresponding to the phrase may be referred to from the flowchart corresponding to the procedure sentence. Therefore, the rule management unit 120 first executes the flow decomposition process (S8000). As a result, the received procedure portion can be decomposed into abstract procedures and phrases, which are units of finer particles, and a flowchart corresponding to those units can be obtained. S801 to S8050 are performed for each flowchart. Hereinafter, one flowchart will be taken as an example (referred to as “target flowchart” in the description of S801 to S8050).
ルール管理部120は、対象フローチャートに関する情報が手順フロー対応テーブル1509に登録済みか否かを判断する(S8010)。具体的には、例えば、ルール管理部120は、対象フローチャートに対応するID(例えば、手順ID、手順文、抽象手順ID、抽象手順文ID、開始位置及び終了位置の部分集合)が手順フロー対応テーブル1509に登録済みか否かを判断する。 The rule management unit 120 determines whether or not the information regarding the target flowchart has been registered in the procedure flow correspondence table 1509 (S8010). Specifically, for example, in the rule management unit 120, IDs corresponding to the target flowchart (for example, procedure ID, procedure sentence, abstract procedure ID, abstract procedure sentence ID, subset of start position and end position) correspond to the procedure flow. Determine if it has been registered in Table 1509.
もしも、S8010の判断結果が偽の場合には(S8010:No)、ルール管理部120は、対象フローチャートに対応するIDを手順フロー対応テーブル1509に登録する(S8020)。この時、そのIDに対応付けられる代表フラグ15098は“Yes”とされる。 If the determination result of S8010 is false (S8010: No), the rule management unit 120 registers the ID corresponding to the target flowchart in the procedure flow correspondence table 1509 (S8020). At this time, the representative flag 15098 associated with the ID is set to "Yes".
一方で、もしも、S8010の判断結果が真の場合には(S8010:Yes)、ルール管理部120は、対象フローチャートと既存のIDに対応したフローチャートとの差分を無くしたフローチャートを代表フローチャートとして生成する。具体的には、ルール管理部120は、S8030〜S8050を行う。 On the other hand, if the determination result of S8010 is true (S8010: Yes), the rule management unit 120 generates a flowchart in which the difference between the target flowchart and the flowchart corresponding to the existing ID is eliminated as a representative flowchart. .. Specifically, the rule management unit 120 performs S8030 to S8050.
すなわち、ルール管理部120は、手順フロー対応テーブル1509から、対象フローチャートに対応するIDに合致し、かつ代表フラグ15098“No”であるフローチャート群(1以上のフローチャート)を取得する(S8030)。 That is, the rule management unit 120 acquires a flowchart group (one or more flowcharts) that matches the ID corresponding to the target flowchart and has the representative flag 15098 “No” from the procedure flow correspondence table 1509 (S8030).
そして、ルール管理部120は、S8030で取得したフローチャート群と、対象フローチャートとを比較し、代表フローチャートを生成する(S8040)。具体的には、例えば、ルール管理部120は、フローチャート群のうちの過半数(所定割合の一例)のフローチャートに存在する条件種類や動作種類を選択する。そして、ルール管理部120は、選択した条件種類や動作種類を示すノード間の論理的な接続関係が、上記過半数のフローチャートに存在する場合に、その論理的な接続関係で、対象フローチャート内の条件種類や動作種類を示すノードをつなぐ。結果として、複数のグラフの形として代表フローチャートが生成される。 Then, the rule management unit 120 compares the flowchart group acquired in S8030 with the target flowchart and generates a representative flowchart (S8040). Specifically, for example, the rule management unit 120 selects a condition type and an operation type existing in a flowchart of a majority (an example of a predetermined ratio) in the flowchart group. Then, when the logical connection relationship between the nodes indicating the selected condition type or operation type exists in the majority of the flowcharts, the rule management unit 120 determines the conditions in the target flowchart in the logical connection relationship. Connect the nodes that indicate the type and operation type. As a result, a representative flowchart is generated in the form of a plurality of graphs.
その後、ルール管理部120は、S8040で生成した代表フローチャートに関する情報を、手順フロー対応テーブル1509に登録する(S8050)。この時、そのフローチャートについて、代表フラグ15098は“Yes”とされる。 After that, the rule management unit 120 registers the information regarding the representative flowchart generated in S8040 in the procedure flow correspondence table 1509 (S8050). At this time, the representative flag 15098 is set to "Yes" for the flowchart.
ルール管理部120は、S8000〜S8050の後(受信したフローチャートを登録した後)、手順一般化処理(S1020)で推定した条件節について、受信したフローチャートを元に確定させる。 After S8000 to S8050 (after registering the received flowchart), the rule management unit 120 determines the conditional clause estimated in the procedure generalization process (S1020) based on the received flowchart.
具体的には、まず、ルール管理部120は、受信したフローチャートから、条件表現を記載した条件節のノードを抽出する(S8060)。 Specifically, first, the rule management unit 120 extracts the node of the conditional clause in which the conditional expression is described from the received flowchart (S8060).
そして、ルール管理部120は、抽出したノードに含まれる条件種類に対応したエントリ(条件種類テーブル1510のエントリ、例えば、条件値15102や、取得元テーブル15103及び取得元カラム15104が指すテーブル部分に含まれる条件値表現の情報)を元に、S8060で抽出したノードに対応した条件節に対応する手順箇所を特定する(S8070)。例えば、ルール管理部120は、上記の条件表現に類似する単語を手順から探索すればよい。なお、S8060で抽出したノードに対応した条件節に関する情報を含んだエントリが、条件種類テーブル1510に無い場合には、ルール管理部120は、そのようなエントリを条件種類テーブル1510に追加する。 Then, the rule management unit 120 includes an entry corresponding to the condition type included in the extracted node (an entry in the condition type table 1510, for example, a condition value 15102, or a table portion pointed to by the acquisition source table 15103 and the acquisition source column 15104. Based on the information of the condition value expression), the procedure part corresponding to the condition clause corresponding to the node extracted in S8060 is specified (S8070). For example, the rule management unit 120 may search for a word similar to the above conditional expression from the procedure. If there is no entry in the condition type table 1510 that includes information about the condition clause corresponding to the node extracted in S8060, the rule management unit 120 adds such an entry to the condition type table 1510.
もしも、S8070で特定したエントリ(条件種類テーブル1510のエントリ)における推定フラグ15105が“Yes”の場合には、ルール管理部120は、その推定フラグ15105を“No”に変更し、条件値15102として、S8070で特定した手順箇所の表現を登録する(S8080)。 If the estimation flag 15105 in the entry specified in S8070 (entry in the condition type table 1510) is "Yes", the rule management unit 120 changes the estimation flag 15105 to "No" and sets the condition value 15102. , The expression of the procedure portion specified in S8070 is registered (S8080).
図26は、フロー分解処理(S8000)を示す。 FIG. 26 shows a flow decomposition process (S8000).
ルール管理部120は、フローチャートと手順対応関係とを受信する(S1500)。ルール管理部120は、手順対応関係が手順文を含むか否かを判断する(S1510)。S1510の判断結果が偽の場合には(S1510:No)、ルール管理部120は、手順テーブル1511を参照し、手順に含まれる全手順文のIDを抽出する(S1520)。 The rule management unit 120 receives the flowchart and the procedure correspondence relationship (S1500). The rule management unit 120 determines whether or not the procedure correspondence relationship includes a procedure sentence (S1510). When the determination result of S1510 is false (S1510: No), the rule management unit 120 refers to the procedure table 1511 and extracts the IDs of all the procedure sentences included in the procedure (S1520).
手順対応関係から特定される手順文毎に、S1530〜S1560が行われる。以降、1つの手順文を例に取る(S1530〜S1560の説明で「対象手順文」と呼ぶ)。 S1530 to S1560 are performed for each procedure sentence specified from the procedure correspondence relationship. Hereinafter, one procedure sentence will be taken as an example (referred to as "target procedure sentence" in the description of S1530 to S1560).
ルール管理部120は、手順テーブル1511を参照し、対象手順文に対応する抽象手順文を特定する(S1530)。そして、ルール管理部120は、受信したフローチャートのうちの、特定した抽象手順文に含まれる条件種類や動作種類に対応したフローチャート部分(フローチャート中のノード)を、特定する(S1540)。その際、ルール管理部120は、特定された抽象手順文に対応しない条件節や動作のノードを、受信したフローチャートから除去する。これにより、部分的なフローチャートが作成される。 The rule management unit 120 refers to the procedure table 1511 and specifies an abstract procedure statement corresponding to the target procedure statement (S1530). Then, the rule management unit 120 specifies a flowchart portion (node in the flowchart) corresponding to the condition type and the operation type included in the specified abstract procedure statement in the received flowchart (S1540). At that time, the rule management unit 120 removes the conditional clauses and operation nodes that do not correspond to the specified abstract procedure statement from the received flowchart. This creates a partial flowchart.
次に、ルール管理部120は、抽象手順パタンテーブル1506と抽象手順同一部テーブル1507を参照し、抽象手順文に含まれる全フレーズを特定する(S1550)。特定されたフレーズ毎に、S1560が行われる。以降、1つのフレーズを例に取る(S1560の説明で「対象フレーズ」と呼ぶ)。 Next, the rule management unit 120 refers to the abstract procedure pattern table 1506 and the abstract procedure same unit table 1507, and specifies all the phrases included in the abstract procedure statement (S1550). S1560 is performed for each specified phrase. Hereinafter, one phrase will be taken as an example (referred to as "target phrase" in the explanation of S1560).
ルール管理部120は、S1540と同様に、受信したフローチャートから、対象フレーズに対応するフローチャートを特定する(S1560)。 Similar to S1540, the rule management unit 120 identifies the flowchart corresponding to the target phrase from the received flowchart (S1560).
S1530〜S1560を実施後、ルール管理部120は、S1540と同様に、受信したフローチャートから、抽象手順全体に対応するフローチャートを特定する(S1570)。 After executing S1530 to S1560, the rule management unit 120 identifies a flowchart corresponding to the entire abstract procedure from the received flowchart as in S1540 (S1570).
ルール管理部120は、手順、手順文、抽象手順、抽象手順文、フレーズの対応関係に相当するように、特定したフローチャートの対応関係を特定し、フローチャートの重複を除去する(S1580)。そして、ルール管理部120は、特定したフローチャート、フローチャートと手順箇所との対応関係、及び、フローチャート間の重複排除結果を返却する。 The rule management unit 120 identifies the correspondence of the specified flowcharts so as to correspond to the correspondences of the procedure, the procedure sentence, the abstract procedure, the abstract procedure sentence, and the phrase, and removes the duplication of the flowchart (S1580). Then, the rule management unit 120 returns the specified flowchart, the correspondence between the flowchart and the procedure portion, and the duplication exclusion result between the flowcharts.
図27は、フロー推定処理1203を示す。 FIG. 27 shows the flow estimation process 1203.
ルール管理部120は、選択された手順の手順IDを受信し(S9000)、まず、手順フロー対応テーブル1509を参照し、受信した手順IDに対応するフローID15097を特定する(S9010)。その後、ルール管理部120は、フローテーブル1508を参照し、特定したフローID15097に対応する論理表現15081(図27の説明において、以降、代表例であるフローチャートと記載)を特定する(S9020)。 The rule management unit 120 receives the procedure ID of the selected procedure (S9000), first refers to the procedure flow correspondence table 1509, and identifies the flow ID 15097 corresponding to the received procedure ID (S9010). After that, the rule management unit 120 refers to the flow table 1508 and specifies the logical expression 15081 (hereinafter, described as a representative example flowchart in the description of FIG. 27) corresponding to the specified flow ID 15097 (S9020).
次に、ルール管理部120は、特定したフローチャートにフローIDが含まれているか否かを判断する(S9030)。 Next, the rule management unit 120 determines whether or not the flow ID is included in the specified flowchart (S9030).
もしも、S9030の判断結果が真の場合には(S9030:Yes)、ルール管理部120は、含まれているフローIDに対応するフローチャートをフローテーブル1508から抽出し(S9040)、抽出したフローチャートをS9020で特定したフローチャートにマージすることで1つのフローチャートを生成する(S9050)。 If the determination result of S9030 is true (S9030: Yes), the rule management unit 120 extracts the flowchart corresponding to the included flow ID from the flow table 1508 (S9040), and extracts the extracted flowchart from S9020. One flowchart is generated by merging with the flowchart specified in (S9500).
一方で、もしも、S9030の判断結果が偽の場合には(S9030:No)、ルール管理部120は、当該フローチャート(S9050で生成されたフローチャート、又は、S9020で特定されたフローチャート)を返却する。 On the other hand, if the determination result of S9030 is false (S9030: No), the rule management unit 120 returns the flowchart (the flowchart generated in S9050 or the flowchart specified in S9020).
以降、図28〜図32を参照して、フローエディタ画面60の遷移の一例を説明する。なお、以降の説明では、手順ID“M”(Mは自然数)の手順を、「手順M」と呼ぶ。抽象手順ID“N”(Nは自然数)の抽象手順を、「抽象手順N」と呼ぶ。フローID“P”(Pは自然数)のフローチャートを「フローチャートP」と呼ぶ。また、フローエディタ画面60の表示制御は、フローエディタ220とルール管理部120とのうちの少なくとも1つにより行われる(具体的には、例えば、フローエディタ220からの要求に応答してルール管理部120から受けた情報を基にフローエディタ220により行われる)。以下、説明を簡単にするために、フローエディタ画面60の表示制御は、ルール管理部120によりフローエディタ220を通じて行われるとする。なお、当該表示制御は、フローエディタ220が、管理サーバ100が管理する各種テーブルを参照することにより行ってもよい。 Hereinafter, an example of the transition of the flow editor screen 60 will be described with reference to FIGS. 28 to 32. In the following description, the procedure with the procedure ID “M” (M is a natural number) is referred to as “procedure M”. The abstract procedure with the abstract procedure ID "N" (N is a natural number) is called "abstract procedure N". The flowchart of the flow ID “P” (P is a natural number) is called “flow chart P”. Further, the display control of the flow editor screen 60 is performed by at least one of the flow editor 220 and the rule management unit 120 (specifically, for example, the rule management unit in response to a request from the flow editor 220). It is done by the flow editor 220 based on the information received from 120). Hereinafter, for the sake of simplicity, it is assumed that the display control of the flow editor screen 60 is performed by the rule management unit 120 through the flow editor 220. The display control may be performed by the flow editor 220 referring to various tables managed by the management server 100.
図28に例示の手順1及び2があるとする。ルール管理部120が、手順1及び2について、S1010〜S1030を経て、抽象手順1及び2を得る。具体的には、例えば、下記の通りである。
・手順1における「HostA」が、抽象手順1において条件種類“SERVER_NAME_COND_1”に抽象化されている。「HostA」が、サーバ名に該当する(取得元カラム15104“サーバ名”にある)と判断され、故に、条件種類15101“SERVER_NAME_COND_1”が推定されたためである。
・手順1における「「XXXがエラーです」の」が、抽象手順1において条件種類“MSG_COND_1”に抽象化されている。手順1における「「XXXがエラーです」の」が、メッセージに該当する(取得元カラム15104“メッセージ”にある)と判断され、得湯に、条件種類15101“MSG_COND_1”が推定されたためである。
・手順1における「エスカレーションしない」が、抽象手順1において動作種類“NO_ESCALATION”に抽象化されている。手順1における「エスカレーションしない」が、動作表現15112“エスカレーションしない”に該当したためである。
Assume that there are exemplary steps 1 and 2 in FIG. The rule management unit 120 obtains abstract procedures 1 and 2 for procedures 1 and 2 via S1010 to S1030. Specifically, for example, it is as follows.
-"HostA" in the procedure 1 is abstracted to the condition type "SERVER_NAME_COND_1" in the abstract procedure 1. This is because it was determined that "HostA" corresponds to the server name (in the acquisition source column 15104 "server name"), and therefore the condition type 15101 "SERVER_NAME_COND_1" was presumed.
-"" XXX is an error "" in step 1 is abstracted to the condition type "MSG_COND_1" in abstract step 1. This is because it was determined that "" XXX is an error "" in step 1 corresponds to the message (in the acquisition source column 15104 "message"), and the condition type 15101 "MSG_COND_1" was presumed for the hot water.
-"No escalation" in procedure 1 is abstracted to the operation type "NO_ESCALATION" in abstract procedure 1. This is because "do not escalate" in step 1 corresponds to the operation expression 15112 "do not escalate".
また、図28に示すように、ルール管理部120が、抽象手順1及び2について、S1010〜S1030を経て、抽象手順1及び2が包含関係にあることを特定する。具体的には、抽象手順2が、抽象手順1の親抽象手順である。抽象手順2の方が抽象手順1よりも条件(条件ノード)が少ないためである。 Further, as shown in FIG. 28, the rule management unit 120 specifies that the abstract procedures 1 and 2 have an inclusion relationship with respect to the abstract procedures 1 and 2 through S101 to S1030. Specifically, the abstract procedure 2 is the parent abstract procedure of the abstract procedure 1. This is because the abstract procedure 2 has fewer conditions (condition nodes) than the abstract procedure 1.
また、図28に示すように、条件種類15101“SERVER_NAME_COND_1”にフローチャート2が関連付けられており、条件種類15101“MSG_COND_1”にフローチャート1が関連付けられている。フローチャート2及び1のいずれも、条件節の論理表現である。 Further, as shown in FIG. 28, the flow chart 2 is associated with the condition type 15101 “SERVER_NAME_COND_1”, and the flowchart 1 is associated with the condition type 15101 “MSG_COND_1”. Both flowcharts 2 and 1 are logical representations of conditional clauses.
図28の例によれば、図29に示すように、手順一覧221には、手順2の変換順番が、手順1の変換順番よりも先である。具体的には、手順2の順番(変換順番)は“1”であり、手順1の順番は“2”である。抽象手順2は、抽象手順1の親抽象手順であるためである。 According to the example of FIG. 28, as shown in FIG. 29, in the procedure list 221 the conversion order of the procedure 2 is ahead of the conversion order of the procedure 1. Specifically, the order of procedure 2 (conversion order) is "1", and the order of procedure 1 is "2". This is because the abstract procedure 2 is the parent abstract procedure of the abstract procedure 1.
まず、図29に示すように、運用管理者が順番“1”の手順2を選択したとする。この場合、図29及び図30に示すように、ルール管理部120が、手順2を手順表示222に表示し、選択された手順2に対応した推定されたフローチャート1及びフローチャート4をフロー入力223に表示する(なお、図30に例示のフローチャート4の論理表現は、後述の手動追加後の論理表現である)。フローチャート1の表示を例に取ると、次の通りである。すなわち、ルール管理部120が、選択された手順2に対応した抽象手順2を特定する。ルール管理部120が、抽象手順テーブル1504から、抽象手順2に対応した条件種類ID15043を特定する。ルール管理部120が、条件管理テーブル1510から、特定した条件種類ID15043に対応したフローID15106を特定する。ルール管理部120が、フローテーブル1508から、特定したフローID15106に対応した論理表現15081を特定し、特定した論理表現15081を表すフローチャート1(ノード)をフロー入力223に表示する。その際、ルール管理部120は、論理表現15081における[variable](パラメータ)に、手順2から特定されたパラメータ値“YYYでアラート”を代入する。これにより、「MESSAGE=YYYでアラート」という表現をもったノード(フローチャート)がフロー入力223に表示される。 First, as shown in FIG. 29, it is assumed that the operation manager selects step 2 in the order “1”. In this case, as shown in FIGS. 29 and 30, the rule management unit 120 displays the procedure 2 on the procedure display 222, and inputs the estimated flowchart 1 and the flowchart 4 corresponding to the selected procedure 2 to the flow input 223. It is displayed (note that the logical representation of the flowchart 4 illustrated in FIG. 30 is the logical representation after manual addition described later). Taking the display of Flowchart 1 as an example, it is as follows. That is, the rule management unit 120 specifies the abstract procedure 2 corresponding to the selected procedure 2. The rule management unit 120 specifies the condition type ID 15043 corresponding to the abstract procedure 2 from the abstract procedure table 1504. The rule management unit 120 specifies the flow ID 15106 corresponding to the specified condition type ID 15043 from the condition management table 1510. The rule management unit 120 identifies the logical expression 15081 corresponding to the specified flow ID 15106 from the flow table 1508, and displays the flowchart 1 (node) representing the specified logical expression 15081 on the flow input 223. At that time, the rule management unit 120 substitutes the parameter value “YYY alert” specified from the procedure 2 into the [variable] (parameter) in the logical expression 15081. As a result, a node (flow chart) having the expression "alert with MESSAGE = YYY" is displayed on the flow input 223.
その後、図30に示すように、運用管理者が、手順2における非抽象化部分“17:00−18:00の間”を抽象化した表現“17:00<=TIME and TIME<=18:00”をフロー入力223に入力し、保存指示を出した(例えば「保存」ボタン10をクリックした)とする。その表現に対応した条件種類が条件種類テーブル1510に無いため、ルール管理部120が、その表現に対応した条件種類15101“TIME_COND_1”及び条件値を含んだエントリを条件種類テーブル1510に追加する。また、ルール管理部120が、その表現に対応したフローチャート3(論理表現)をフローテーブル1508に追加する。また、ルール管理部120が、動作種類に対応したフローチャート4(論理表現)を更新する。また、ルール管理部120は、類似関係抽出処理、包含関係推定処理及び手順変換順序決定処理を行って、フローエディタ画面上の手順一覧(手順の並び順)を更新してもよい。 After that, as shown in FIG. 30, the operation manager abstracted the non-abstracted portion “between 17:00 and 18:00” in step 2, and the expression “17:00 <= TIME and TIME <= 18: It is assumed that "00" is input to the flow input 223 and a save instruction is issued (for example, the "save" button 10 is clicked). Since the condition type corresponding to the expression is not in the condition type table 1510, the rule management unit 120 adds the condition type 15101 “TIME_COND_1” corresponding to the expression and the entry including the condition value to the condition type table 1510. Further, the rule management unit 120 adds a flowchart 3 (logical expression) corresponding to the expression to the flow table 1508. Further, the rule management unit 120 updates the flowchart 4 (logical expression) corresponding to the operation type. Further, the rule management unit 120 may update the procedure list (procedure order) on the flow editor screen by performing the similarity relationship extraction process, the inclusion relationship estimation process, and the procedure conversion order determination process.
次に、図31に示すように、運用管理者が順番“2”の手順1を選択したとする。この場合、図31に示すように、ルール管理部120が、手順1を手順表示222に表示し、抽象手順1の親抽象手順2に対応した推定されたフローチャート1、3及び4をフロー入力223に表示する。その際、ルール管理部120は、フローチャート1における[variable]に、手順1から特定されたパラメータ値“XXXがエラーです” (フローチャート1に対応した条件種類に対応するパラメータ値)を代入する。また、ルール管理部120は、フローチャート3における[variable]に、手順1から特定されたパラメータ値“12:00”及び“12:30”(フローチャート3に対応した条件種類に対応するパラメータ値)を代入する。 Next, as shown in FIG. 31, it is assumed that the operation manager selects step 1 in the order “2”. In this case, as shown in FIG. 31, the rule management unit 120 displays the procedure 1 on the procedure display 222, and inputs the estimated flowcharts 1, 3 and 4 corresponding to the parent abstract procedure 2 of the abstract procedure 1 to the flow input 223. Display in. At that time, the rule management unit 120 substitutes the parameter value "XXX is an error" (parameter value corresponding to the condition type corresponding to the flowchart 1) specified from the procedure 1 into [variable] in the flowchart 1. Further, the rule management unit 120 sets the parameter values “12:00” and “12:30” (parameter values corresponding to the condition types corresponding to the flowchart 3) specified from the procedure 1 in the [variable] in the flowchart 3. substitute.
更に、図32に示すように、ルール管理部120が、抽象手順1に対応した条件種類のうち抽象手順2に包含されていない条件種類“SERVER_NAME_COND_1”に対応するフローチャート2をフロー入力223に表示する。その際、ルール管理部120は、フローチャート2(論理表現)における[variable]に、手順1から特定されたパラメータ値“HostA”(条件種類“SERVER_NAME_COND_1”に対応したパラメータ値)を代入する。 Further, as shown in FIG. 32, the rule management unit 120 displays the flowchart 2 corresponding to the condition type “SERVER_NAME_COND_1”, which is not included in the abstract procedure 2 among the condition types corresponding to the abstract procedure 1, in the flow input 223. .. At that time, the rule management unit 120 substitutes the parameter value “HostA” (parameter value corresponding to the condition type “SERVER_NAME_COND_1”) specified from the procedure 1 into [variable] in the flowchart 2 (logical expression).
図32に示すように、運用管理者は、手動でノード間を接続する(例えばノード間を矢印で結ぶ)ことにより、手順1に対応したフローチャートを完成させる。 As shown in FIG. 32, the operation manager manually connects the nodes (for example, connects the nodes with arrows) to complete the flowchart corresponding to the procedure 1.
図31及び図32によれば、運用管理者は、抽象手順2の子抽象手順1に対応した手順1について(登録済みフローチャートに対応した手順2の次の順番とされている手順1について)、実質的に、手動でフローチャートを追加又は編集する必要が無い。運用管理者は、手順1についてのフローチャートが推定されたフローチャート(図32に示すフローチャート)で正しいと判断した場合に、保存指示を出す。この場合、ルール管理部120が、動作種類に対応した新たなフローチャート5(フローID“2”を含んだ新たな論理表現)をフローテーブル1508に追加する。 According to FIGS. 31 and 32, the operation manager describes the procedure 1 corresponding to the child abstraction procedure 1 of the abstract procedure 2 (about the procedure 1 which is the next order of the procedure 2 corresponding to the registered flowchart). There is virtually no need to manually add or edit flowcharts. When the operation manager determines that the flowchart for step 1 is correct in the estimated flowchart (flow chart shown in FIG. 32), the operation manager issues a save instruction. In this case, the rule management unit 120 adds a new flowchart 5 (a new logical expression including the flow ID “2”) corresponding to the operation type to the flow table 1508.
以上、一実施例を説明したが、これは本発明の説明のための例示であって、本発明の範囲をこの実施例にのみ限定する趣旨ではない。本発明は、他の種々の形態でも実施することが可能である。 Although one embodiment has been described above, this is an example for explaining the present invention, and the scope of the present invention is not limited to this embodiment. The present invention can also be implemented in various other forms.
例えば、形態素解析に代えてディープラーニングのような他の手法が採用されてもよい。 For example, other methods such as deep learning may be adopted instead of morphological analysis.
また、例えば、ルール管理部120は、対象システム300の構成を示す構成情報170内の値と、第1抽象手順(第1手順に対応した抽象手順)及び第2抽象手順(第2手順に対応した抽象手順)のうちの少なくとも1つに含まれる単語が類似の場合には、構成情報170内の当該値を元に、その単語についての条件種類を推定してもよい。 Further, for example, the rule management unit 120 corresponds to the value in the configuration information 170 indicating the configuration of the target system 300, the first abstract procedure (abstract procedure corresponding to the first procedure), and the second abstract procedure (corresponding to the second procedure). If the words included in at least one of the above abstract procedures) are similar, the condition type for the word may be estimated based on the value in the configuration information 170.
また、例えば、ルール管理部120は、対象システム300の監視結果を示す監視情報160内の値と、第1抽象手順(第1手順に対応した抽象手順)及び第2抽象手順(第2手順に対応した抽象手順)のうちの少なくとも1つに含まれる単語が類似の場合には、監視情報160内の当該値を元に、その単語についての条件種類を推定してもよい。 Further, for example, the rule management unit 120 sets the value in the monitoring information 160 indicating the monitoring result of the target system 300, the first abstract procedure (abstract procedure corresponding to the first procedure), and the second abstract procedure (in the second procedure). If the words contained in at least one of the corresponding abstract procedures) are similar, the condition type for that word may be estimated based on the value in the monitoring information 160.
また、例えば、フローエディタ220(又はルール管理部120)は、手順一覧221において、第1抽象手順に包含される第2抽象手順に対応した第2手順の順番が、第1抽象手順に対応した第1手順の順番よりも先としてよい。更に、例えば、フローエディタ220(又はルール管理部120)は、手順書1501(複数の手順)のうちの第3手順に対応した第3抽象手順にも第2抽象手順が包含されており、且つ、第1抽象手順及び第3抽象手順が包含関係にない場合、手順一覧221において、第1手順及び第3手順のうち、第1抽象手順及び第3抽象手順のうち条件種類の数が少ない方の抽象手順に対応した手順の方の順番を先としてよい。このような順番に沿って手順をフローチャートに変換していくと、運用管理者による入力作業負担が軽減されることが期待される。 Further, for example, in the flow editor 220 (or the rule management unit 120), in the procedure list 221 the order of the second procedure corresponding to the second abstract procedure included in the first abstract procedure corresponds to the first abstract procedure. It may precede the order of the first procedure. Further, for example, the flow editor 220 (or the rule management unit 120) includes the second abstract procedure in the third abstract procedure corresponding to the third procedure in the procedure manual 1501 (plural steps). , When the 1st abstract procedure and the 3rd abstract procedure are not inclusive, in the procedure list 221, the smaller number of condition types among the 1st abstract procedure and the 3rd abstract procedure among the 1st procedure and the 3rd procedure. The order of the procedure corresponding to the abstract procedure of may come first. By converting the procedure into a flowchart in such an order, it is expected that the input work load on the operation manager will be reduced.
100…管理サーバ、200…管理クライアント、300…対象システム 100 ... management server, 200 ... management client, 300 ... target system
Claims (13)
1以上のメモリを含む記憶部と、
前記インターフェース部及び前記記憶部に接続された1以上のプロセッサであるプロセッサ部と
を有し、
前記プロセッサ部が、
運用対象の運用に関する複数の手順を含んだ手順書のうちの第1手順の選択を受け、
前記第1手順に対応した第1抽象手順に包含される第2抽象手順が構造化されたものである抽象構造体と、前記第1手順とに基づき、前記第1手順の少なくとも一部を構造化したものである推定構造体を表示する、
運用支援システム。 An interface unit that includes one or more interface devices,
A storage unit containing one or more memories,
It has an interface unit and a processor unit which is one or more processors connected to the storage unit.
The processor section
Received the selection of the first procedure from the procedure manual that includes multiple procedures related to the operation of the operation target
Based on the abstract structure in which the second abstract procedure included in the first abstract procedure corresponding to the first procedure is structured and the first procedure, at least a part of the first procedure is structured. Display the estimated structure that is an abstraction,
Operations support system.
前記第1抽象手順は、前記第1手順を含み類似関係にある1以上の手順である第1手順集合のうちの共通のパタンであり、
前記第2抽象手順は、前記第2手順を含み類似関係にある1以上の手順である第2手順集合のうちの共通のパタンである、
請求項1記載の運用支援システム。 Each of the plurality of steps comprises one or more natural sentences.
The first abstract procedure is a common pattern in the first procedure set, which is one or more procedures having a similar relationship including the first procedure.
The second abstract procedure is a common pattern in the second procedure set, which is one or more procedures having a similar relationship including the second procedure.
The operation support system according to claim 1.
前記第1手順集合から抽出した共通のパタンである前記第1抽象手順を生成し、
前記第2手順集合から抽出した共通のパタンである前記第2抽象手順を生成し、
前記第1抽象手順と前記第2抽象手順が包含関係にあるか否かを判断し、
前記第2抽象手順が前記第1抽象手順に包含されると判断した場合、前記第2抽象手順と前記第1抽象手順とのうちの共通部分を構造化したものである前記抽象構造体を生成する、
請求項2記載の運用支援システム。 The processor section
The first abstract procedure, which is a common pattern extracted from the first procedure set, is generated.
The second abstract procedure, which is a common pattern extracted from the second procedure set, is generated.
Judging whether or not the first abstract procedure and the second abstract procedure have an inclusive relationship,
When it is determined that the second abstract procedure is included in the first abstract procedure, the abstract structure which is a structure of the common part between the second abstract procedure and the first abstract procedure is generated. To do
The operation support system according to claim 2.
前記推定構造体は、前記抽象構造体のパラメータに対して、前記第1手順におけるパラメータ値が代入された論理表現である、
請求項2記載の運用支援システム。 The abstract structure is a logical representation including parameters.
The estimated structure is a logical expression in which the parameter values in the first procedure are substituted for the parameters of the abstract structure.
The operation support system according to claim 2.
請求項4記載の運用支援システム。 When the processor unit has a part of the first abstract procedure that is not common to the second abstract procedure and specifies a logical expression for the part that is not common, the second abstract procedure and the first abstract procedure An estimated common logical expression that is a logical expression in which the parameter value in the first procedure is assigned to the logical expression of the common part, and a logic in which the parameter value in the first procedure is assigned to the logical expression of the non-common part. Display the estimated difference logical representation, which is the representation,
The operation support system according to claim 4.
請求項3記載の運用支援システム。 The determination as to whether or not the first abstract procedure and the second abstract procedure have an inclusive relationship is a determination made when the first abstract procedure and the second abstract procedure are similar to each other. According to the condition type and the number of conditional expressions in the first abstract procedure and the condition type and the number of conditional expressions in the second abstract procedure.
The operation support system according to claim 3.
請求項6記載の運用支援システム。 When the value in the configuration information indicating the configuration of the operation target is similar to the word contained in at least one of the first abstract procedure and the second abstract procedure, the processor unit is included in the configuration information. Estimate the condition type for the word based on the above value of
The operation support system according to claim 6.
請求項6記載の運用支援システム。 When the value in the monitoring information regarding the monitoring result of the operation target is similar to the word contained in at least one of the first abstract procedure and the second abstract procedure, the processor unit is in the monitoring information. Estimate the condition type for the word based on the above value of
The operation support system according to claim 6.
前記第2抽象手順と前記第1抽象手順とのうちの共通部分の論理表現に前記第1手順におけるパラメータ値が代入された論理表現である推定共通論理表現に追加される論理表現として、前記共通しない部分の論理表現に前記第1手順におけるパラメータ値が代入された論理表現である差分論理表現を受けて、
前記差分論理表現から代入されたパラメータ値をパラメータに差し替えた抽象差分論理表現を登録する、
請求項4記載の運用支援システム。 When the processor unit has a part of the first abstract procedure that is not common to the second abstract procedure and a logical expression for the part that is not common is not found.
The common as a logical expression added to the presumed common logical expression, which is a logical expression in which the parameter value in the first procedure is assigned to the logical expression of the common part of the second abstract procedure and the first abstract procedure. In response to the difference logical expression, which is the logical expression in which the parameter value in the first procedure is assigned to the logical expression of the part that does not
Register the abstract difference logic expression in which the parameter value assigned from the difference logic expression is replaced with the parameter.
The operation support system according to claim 4.
前記手順一覧において、前記第1抽象手順に包含される前記第2抽象手順に対応した前記第2手順の順番が、前記第1手順の順番よりも先である、
請求項1記載の運用支援システム。 The processor unit displays a list of procedures and displays a list of procedures.
In the procedure list, the order of the second procedure corresponding to the second abstract procedure included in the first abstract procedure is earlier than the order of the first procedure.
The operation support system according to claim 1.
請求項10記載の運用支援システム。 When the second abstract procedure is included in the third abstract procedure corresponding to the third procedure among the plurality of procedures, and the first abstract procedure and the third abstract procedure are not in an inclusion relationship. In the procedure list, of the first procedure and the third procedure, the procedure corresponding to the abstract procedure having the smaller number of condition types among the first abstract procedure and the third abstract procedure is in order. Beyond,
The operation support system according to claim 10.
前記第1手順に対応した第1抽象手順に包含される第2抽象手順が構造化されたものである抽象構造体と、前記第1手順とに基づき、前記第1手順の少なくとも一部を構造化したものである推定構造体を表示する、
運用支援方法。 Received the selection of the first procedure from the procedure manual that includes multiple procedures related to the operation of the operation target
Based on the abstract structure in which the second abstract procedure included in the first abstract procedure corresponding to the first procedure is structured and the first procedure, at least a part of the first procedure is structured. Display the estimated structure that is an abstraction,
Operation support method.
前記第1手順に対応した第1抽象手順に包含される第2抽象手順が構造化されたものである抽象構造体と、前記第1手順とに基づき、前記第1手順の少なくとも一部を構造化したものである推定構造体を表示する、
ことを1以上の計算機に実行させるコンピュータプログラム。 Received the selection of the first procedure from the procedure manual that includes multiple procedures related to the operation of the operation target
Based on the abstract structure in which the second abstract procedure included in the first abstract procedure corresponding to the first procedure is structured and the first procedure, at least a part of the first procedure is structured. Display the estimated structure that is an abstraction,
A computer program that lets one or more calculators do things.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020084863A JP6902140B2 (en) | 2017-06-05 | 2020-05-14 | Operations support system and method |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019523211A JP6705947B2 (en) | 2017-06-05 | 2017-06-05 | Operation support system and method |
JP2020084863A JP6902140B2 (en) | 2017-06-05 | 2020-05-14 | Operations support system and method |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019523211A Division JP6705947B2 (en) | 2017-06-05 | 2017-06-05 | Operation support system and method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020144909A true JP2020144909A (en) | 2020-09-10 |
JP6902140B2 JP6902140B2 (en) | 2021-07-14 |
Family
ID=72354361
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020084863A Active JP6902140B2 (en) | 2017-06-05 | 2020-05-14 | Operations support system and method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6902140B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117493220A (en) * | 2024-01-03 | 2024-02-02 | 安徽思高智能科技有限公司 | RPA flow operation abnormity detection method, device and storage device |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014197278A (en) * | 2013-03-29 | 2014-10-16 | 株式会社日立システムズ | Operation work flow creation support method and operation work flow creation support system |
WO2015125280A1 (en) * | 2014-02-21 | 2015-08-27 | 株式会社日立製作所 | Operation improving device and operation improving method for information processing system |
JP2016122317A (en) * | 2014-12-25 | 2016-07-07 | 富士通株式会社 | Commonality information providing program, commonality information providing method, and commonality information providing device |
JP2016157289A (en) * | 2015-02-25 | 2016-09-01 | 三菱電機インフォメーションシステムズ株式会社 | Operation procedure evaluation device and operation procedure evaluation program |
JP2016167123A (en) * | 2015-03-09 | 2016-09-15 | 富士通株式会社 | Common operation column extraction program, common operation column extraction method, and common operation column extraction apparatus |
JP2017016315A (en) * | 2015-06-30 | 2017-01-19 | 富士フイルム株式会社 | Workflow creation support apparatus, system, method, and program |
-
2020
- 2020-05-14 JP JP2020084863A patent/JP6902140B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014197278A (en) * | 2013-03-29 | 2014-10-16 | 株式会社日立システムズ | Operation work flow creation support method and operation work flow creation support system |
WO2015125280A1 (en) * | 2014-02-21 | 2015-08-27 | 株式会社日立製作所 | Operation improving device and operation improving method for information processing system |
JP2016122317A (en) * | 2014-12-25 | 2016-07-07 | 富士通株式会社 | Commonality information providing program, commonality information providing method, and commonality information providing device |
JP2016157289A (en) * | 2015-02-25 | 2016-09-01 | 三菱電機インフォメーションシステムズ株式会社 | Operation procedure evaluation device and operation procedure evaluation program |
JP2016167123A (en) * | 2015-03-09 | 2016-09-15 | 富士通株式会社 | Common operation column extraction program, common operation column extraction method, and common operation column extraction apparatus |
JP2017016315A (en) * | 2015-06-30 | 2017-01-19 | 富士フイルム株式会社 | Workflow creation support apparatus, system, method, and program |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117493220A (en) * | 2024-01-03 | 2024-02-02 | 安徽思高智能科技有限公司 | RPA flow operation abnormity detection method, device and storage device |
CN117493220B (en) * | 2024-01-03 | 2024-03-26 | 安徽思高智能科技有限公司 | RPA flow operation abnormity detection method, device and storage device |
Also Published As
Publication number | Publication date |
---|---|
JP6902140B2 (en) | 2021-07-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6643211B2 (en) | Anomaly detection system and anomaly detection method | |
WO2021068547A1 (en) | Log schema extraction method and apparatus | |
US11042581B2 (en) | Unstructured data clustering of information technology service delivery actions | |
CN111512315A (en) | Block-wise extraction of document metadata | |
Jain et al. | A review of unstructured data analysis and parsing methods | |
JP6705947B2 (en) | Operation support system and method | |
JP6902140B2 (en) | Operations support system and method | |
JP2013214148A (en) | Message conversion device, and message conversion program | |
CN114385148A (en) | Method, device, equipment and storage medium for realizing linkage function | |
JP6191440B2 (en) | Script management program, script management apparatus, and script management method | |
JP7172986B2 (en) | Configuration management device, configuration management method, and configuration management program | |
WO2022224597A1 (en) | Facility id inference method and facility id inference device | |
CN115204155A (en) | Configuration abnormity detection method and device, computer equipment and storage medium | |
CN115562645A (en) | Configuration fault prediction method based on program semantics | |
CN113641523B (en) | Log processing method and device | |
CN113590650A (en) | Feature expression based structured query statement discrimination method and device | |
US11327994B2 (en) | Arranging converted operation history information | |
CN114296726A (en) | Code generation method and device, computer equipment and storage medium | |
US11416246B2 (en) | Information processing apparatus, analysis system, analysis method, and non-transitory computer readable medium storing analysis program | |
CN112699642A (en) | Index extraction method and device for complex medical texts, medium and electronic equipment | |
Thamviset et al. | Structured web information extraction using repetitive subject pattern | |
CN113064597B (en) | Redundant code identification method, device and equipment | |
CN118245106B (en) | Method, equipment, medium and product for configuring page of basic input/output system | |
JP6201702B2 (en) | Semantic information classification program and information processing apparatus | |
US11908466B2 (en) | Automatically determining a descriptive identifier for a process grouping |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200514 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200514 |
|
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: 20210525 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210618 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6902140 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |