JP2022182105A - Management system and management method - Google Patents

Management system and management method Download PDF

Info

Publication number
JP2022182105A
JP2022182105A JP2021089442A JP2021089442A JP2022182105A JP 2022182105 A JP2022182105 A JP 2022182105A JP 2021089442 A JP2021089442 A JP 2021089442A JP 2021089442 A JP2021089442 A JP 2021089442A JP 2022182105 A JP2022182105 A JP 2022182105A
Authority
JP
Japan
Prior art keywords
processing
information
configuration information
order
unit
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.)
Pending
Application number
JP2021089442A
Other languages
Japanese (ja)
Inventor
貴也 井出
Takaya Ide
佑樹 長沼
Yuki Naganuma
恭宏 相樂
Yasuhiro Sagara
秀樹 中村
Hideki Nakamura
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2021089442A priority Critical patent/JP2022182105A/en
Publication of JP2022182105A publication Critical patent/JP2022182105A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

To provide a management system configured to prevent contradiction and conflict between processes even when configuration information is processed by multiple processes, and a management method.SOLUTION: In a management system 200, a controller 250 includes: an association unit 253 which acquires a processing request which is information to request each information processing apparatus to process configuration information of a container in a first order; a check unit 252 which specifies a relationship between processed parts in each process of each information processing apparatus, based on the acquired processing request; and an order calculation unit 251 which determines a second order relating to the processes of the information processing apparatuses, based on the specified relationship between the processed parts. The association unit causes the information processing apparatuses to process the configuration information in the determined second order.SELECTED DRAWING: Figure 1

Description

本発明は、管理システム、及び管理方法に関する。 The present invention relates to a management system and management method.

近年、アプリケーション、実行環境及びその他のデータをパッケージ化したリソース(コンテナ)を用いてアプリケーションを管理及び実行するプラットフォームが導入されるようになっている(例えば、Kubernetes(登録商標))。そして、このような管理システムの利用拡大に伴い、ユーザがリソースにおけるポリシーの設定等を行うために、Webhookなどを用いて外部の処理サーバにリソースの構成情報を加工させることが行われるよう
になってきている(例えばKubernetesのMutating Admission Webhook)。
In recent years, platforms that manage and execute applications using resources (containers) that package applications, execution environments, and other data have been introduced (for example, Kubernetes (registered trademark)). Along with the expansion of the use of such management systems, in order for users to set policies for resources, Webhooks and the like are used to allow external processing servers to process resource configuration information. (e.g. Mutating Admission Webhook in Kubernetes).

しかしながら、複数の処理サーバに順次構成情報を加工させていく場合、構成情報又はその加工の内容によっては、処理サーバ同士で構成情報の加工に競合や矛盾が生じる可能性が高まっている。一方で、ユーザは通常、処理サーバの挙動をコントロールすることができない場合が多い。 However, when a plurality of processing servers sequentially process the configuration information, there is an increased possibility that the processing servers may conflict or contradict each other in processing the configuration information depending on the configuration information or the details of the processing. On the other hand, the user usually has no control over the behavior of the processing server.

ここで、特許文献1には、各インスタンス(処理サーバに対応)が中央システムに構成情報を送信し、中央システムが手動又は事前に定めたルールでリクエストの競合を解決後、インスタンスにその構成情報を返信する技術が開示されている。 Here, in Patent Document 1, each instance (corresponding to the processing server) transmits configuration information to the central system, and after the central system resolves the conflict of requests manually or according to a rule determined in advance, the configuration information is sent to the instance. is disclosed.

米国特許出願公開第2017/0337254号明細書U.S. Patent Application Publication No. 2017/0337254

しかしながら、加工処理による構成情報の出力内容は、入力される構成情報の内容に依存する場合がある。したがって、加工処理間の競合関係は加工処理の実行順序にも依存することになり、特許文献1の方法ではこのような場合に十分に対応することができない。 However, the content of configuration information output by processing may depend on the content of input configuration information. Therefore, the competitive relationship between the processing processes also depends on the execution order of the processing processes, and the method of Patent Document 1 cannot sufficiently cope with such a case.

本発明はこのような事情に鑑みてなされたもので、その目的は、複数の加工処理がコンテナの構成情報を加工する場合であっても、加工処理間の矛盾及び衝突が生じることを防ぐことが可能な管理システム、及び管理方法を提供することにある。 The present invention has been made in view of such circumstances, and its object is to prevent inconsistencies and collisions between processing processes even when a plurality of processing processes process configuration information of a container. To provide a management system and a management method capable of

上記課題を解決するための本発明の一つは、プロセッサ及びメモリを有し、各情報処理装置に対する第1の順序でコンテナの構成情報の加工処理を要求する情報である加工要求を取得する連携部と、前記取得した加工要求に基づき、前記各情報処理装置が行う各加工処理の加工部分間の関係性を特定するチェック部と、前記特定した加工部分間の関係性に基づき、前記各情報処理装置が行う加工処理に係る第2の順序を決定する順序算出部と、を備え、前記連携部は、前記決定した第2の順序で前記各情報処理装置に対して前記構成情報の加工処理を行わせる管理システムである。 One of the present inventions for solving the above-mentioned problems is a linkage that has a processor and a memory and acquires a processing request that is information requesting processing of container configuration information in a first order for each information processing device. and a check unit that identifies the relationship between the processed parts of each processing performed by each information processing device based on the acquired processing request, and based on the relationship between the identified processed parts, each of the information an order calculation unit that determines a second order related to the processing performed by the processing device, wherein the cooperation unit processes the configuration information for each of the information processing devices in the determined second order. It is a management system that allows

また、上記課題を解決するための本発明の一つは、情報処理装置が、各情報処理装置に対する第1の順序でコンテナの構成情報の加工処理を要求する情報である加工要求を取得する連携処理と、前記取得した加工要求に基づき、前記各情報処理装置が行う各加工処理の加工部分間の関係性を特定するチェック処理と、前記特定した加工部分間の関係性に基
づき、前記各情報処理装置が行う加工処理に係る第2の順序を決定する順序算出処理と、を実行し、前記連携処理において、前記決定した第2の順序で前記各情報処理装置に対して前記構成情報の加工処理を行わせる処理を実行する管理方法である。
Further, one of the present inventions for solving the above-mentioned problems is cooperation in which an information processing device acquires a processing request, which is information requesting each information processing device to process configuration information of a container in a first order. processing, check processing for identifying the relationship between the processed parts of each processing performed by each information processing device based on the acquired processing request, and based on the relationship between the specified processed parts, each of the information and an order calculation process for determining a second order related to the processing performed by the processing device, and processing the configuration information for each of the information processing devices in the determined second order in the cooperation processing. It is a management method for executing a process that causes a process to be performed.

本発明によれば、複数の加工処理がコンテナの構成情報を加工する場合であっても、加工処理間の矛盾及び衝突が生じることを防ぐことができる。
上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
According to the present invention, even when a plurality of processing processes process the configuration information of a container, it is possible to prevent inconsistencies and collisions between the processing processes.
Problems, configurations, and effects other than those described above will be clarified by the following description of the embodiments.

実施例1に係る管理システムの構成の一例を示す図である。1 is a diagram illustrating an example of a configuration of a management system according to Example 1; FIG. 加工処理情報の一例を示す図である。It is a figure which shows an example of processing information. 組合せ情報の一例を示す図である。It is a figure which shows an example of combination information. ルール情報の一例を示す図である。It is a figure which shows an example of rule information. 管理システムにおける各情報処理装置が備えるハードウェアの一例を示す図である。It is a figure which shows an example of the hardware with which each information processing apparatus in a management system is provided. 構成情報出力処理の概要を説明するブロック図である。FIG. 11 is a block diagram illustrating an outline of configuration information output processing; チェック処理の概要を説明するブロック図である。FIG. 11 is a block diagram illustrating an overview of check processing; 構成情報出力処理を説明するシーケンス図である。FIG. 11 is a sequence diagram illustrating configuration information output processing; トレース情報の一例を示す図である。FIG. 4 is a diagram showing an example of trace information; FIG. 競合解決画面の一例を示す図である。It is a figure which shows an example of a conflict resolution screen. チェック処理の一例を示すフロー図である。FIG. 10 is a flow chart showing an example of check processing; 実施例2に係る管理システムの構成の一例を示す図である。FIG. 10 is a diagram illustrating an example of a configuration of a management system according to a second embodiment; FIG. トレース表示画面の一例を示す図である。It is a figure which shows an example of a trace display screen.

-実施例1-
図1は、実施例1に係る管理システム200の構成の一例を示す図である。管理システム200は、オペレーティングシステム及びランタイム等に対応したコンテナに基づきアプリケーションを実行するためのシステムである。
-Example 1-
FIG. 1 is a diagram illustrating an example configuration of a management system 200 according to the first embodiment. The management system 200 is a system for executing applications based on containers corresponding to operating systems and runtimes.

具体的には、管理システム200は、1又は複数の呼出サーバ210(APIサーバ)、加工処理情報220、1又は複数の中継サーバ230(リバースプロキシ)、1又は複数の加工サーバ240(処理サーバ)、及びコントローラ250の各情報処理装置を含んで構成される。なお、コンテナとは、本実施形態では、アプリケーション及びアプリケーションの実行に必要な情報(ライブラリ、設定ファイル等)を含んだリソースの集合である。呼出サーバ210、加工処理情報220は、例えばKubernetesプラットフォームを用いて実現される。 Specifically, the management system 200 includes one or more call servers 210 (API servers), processing information 220, one or more relay servers 230 (reverse proxies), one or more processing servers 240 (processing servers). , and controller 250 . In this embodiment, a container is a set of resources including an application and information (libraries, setting files, etc.) necessary for executing the application. The call server 210 and processing information 220 are implemented using, for example, the Kubernetes platform.

なお、呼出サーバ210、加工処理情報220、中継サーバ230、加工サーバ240、及びコントローラ250の間は、例えば、LAN(Local Area Network)、WAN(Wide Area Network)、インターネット、又は専用線等の有線若しくは無線のネットワーク
40により通信可能に接続される。
Note that the connection between the call server 210, the processing information 220, the relay server 230, the processing server 240, and the controller 250 is, for example, a LAN (Local Area Network), a WAN (Wide Area Network), the Internet, or a wired network such as a dedicated line. Alternatively, they are communicably connected by a wireless network 40 .

呼出サーバ210は、各加工サーバ240に、コンテナの構成情報を含みその構成情報の加工を要求する情報である加工要求を送信し、各加工サーバ240から、(加工後の)構成情報を含む応答情報を受信する。呼出サーバ210は、受信した構成情報を次の加工サーバ240に対する加工要求に用いることで、構成情報を順次加工する。なお、構成情報はYAMLやJSON(Javascript Object Notation。登録商標)などの階層構造を持つデータ形式で示される。 The calling server 210 transmits to each processing server 240 a processing request, which is information that includes the configuration information of the container and requests processing of the configuration information, and each processing server 240 sends a response including the configuration information (after processing). receive information; The call server 210 sequentially processes the configuration information by using the received configuration information in the next processing request to the processing server 240 . The configuration information is indicated in a hierarchical data format such as YAML or JSON (Javascript Object Notation. Registered trademark).

加工サーバ240は、呼出サーバ210から送信された加工要求に含まれる構成情報を加工する処理(以下、加工処理という)を行う。具体的には、加工サーバ240は、加工機能241を備える。加工機能241は、例えば、構成情報の追加、更新、又は削除等を行う。 Processing server 240 performs processing (hereinafter referred to as processing processing) for processing the configuration information included in the processing request transmitted from call server 210 . Specifically, the processing server 240 has a processing function 241 . The processing function 241 adds, updates, or deletes configuration information, for example.

ここで、呼出サーバ210は、所定の順序(以下、第1の順序ともいう)で各加工サーバ240に加工要求を送信する仕様となっているため、構成情報の内容又は加工処理の組合せによっては、各加工サーバ240による加工処理が互いに矛盾又は衝突し、アプリケーションが正しく動作しない構成情報が生成されるおそれがある。 Here, since the calling server 210 is designed to transmit processing requests to each processing server 240 in a predetermined order (hereinafter also referred to as the first order), depending on the content of the configuration information or the combination of processing processes, , the processing by each processing server 240 contradicts or conflicts with each other, and there is a possibility that the configuration information that the application does not operate correctly is generated.

そこで、本実施形態の管理システム200(主に、中継サーバ230及びコントローラ250)は、各加工サーバ240による加工順序を、加工処理の加工対象(加工部分)間の関係性(本実施形態では、依存関係及び競合関係)に基づき新たな加工順序(第2の順序)に変更することで、構成情報の加工処理同士で矛盾衝突が起こることを防ぐ。 Therefore, the management system 200 (mainly, the relay server 230 and the controller 250) of this embodiment determines the processing order by each processing server 240 according to the relationship between the processing objects (processed parts) of the processing processing (in this embodiment, By changing to a new processing order (second order) based on the dependency relationship and competitive relationship), it is possible to prevent inconsistency and collision between the processing processes of the configuration information.

中継サーバ230は、加工サーバ240に対応して設けられる。中継サーバ230は、呼出サーバ210から送信された(加工サーバ240宛ての)加工要求を奪取し、これをコントローラ250に転送する。加工要求の奪取は、例えば、加工サーバ240とネットワークを共有するコンテナ又は加工サーバ240内のプロセス等により実現され、具体的には、加工サーバ240に、中継サーバ230への転送設定を行うことで実現される(サイドカーパターン)。 Relay server 230 is provided corresponding to processing server 240 . Relay server 230 intercepts the processing request (addressed to processing server 240 ) sent from call server 210 and forwards it to controller 250 . The processing request is intercepted by, for example, a container sharing a network with the processing server 240 or a process in the processing server 240. implemented (sidecar pattern).

具体的には、中継サーバ230は、中継部231を備える。中継部231は、呼出サーバ210が送信した、加工サーバ240宛ての加工要求を取得してコントローラ250に転送する。また、中継部231は、コントローラ250から送信された、加工要求に対応する応答情報を呼出サーバ210に転送する。なお、中継サーバ230は、特定のフラグが加工要求に設定されている場合(例えば、URL又はパラメータ等で指定)は、加工サーバ240に処理を転送することで、コントローラ250が加工サーバ240を直接呼び出す。 Specifically, relay server 230 includes relay unit 231 . The relay unit 231 acquires the processing request addressed to the processing server 240 transmitted by the calling server 210 and transfers it to the controller 250 . Also, the relay unit 231 transfers response information corresponding to the processing request transmitted from the controller 250 to the call server 210 . Note that relay server 230 transfers processing to processing server 240 when a specific flag is set in the processing request (for example, specified by a URL or parameter) so that controller 250 directly sends processing server 240. call.

なお、中継サーバ230は、加工サーバ240と同数存在してもよいし、複数の加工サーバ240に対応するサーバとして設けられてもよい。 The number of relay servers 230 may be the same as that of processing servers 240 , or may be provided as a server corresponding to a plurality of processing servers 240 .

次に、加工処理情報220は、各加工処理のID、及び各加工処理を実行するための条件(構成情報に関する条件)を示す情報で、例えばデータベースやデータストアに保持される。加工処理情報220は、例えば、Kubernetesにおける、Mutating Admission Webhookのためのリソースの情報などである。加工処理情報220の詳細は後述する。 Next, the processing information 220 is information indicating the ID of each processing and conditions for executing each processing (conditions related to configuration information), and is held in a database or data store, for example. The processing information 220 is, for example, resource information for Mutating Admission Webhook in Kubernetes. Details of the processing information 220 will be described later.

次に、コントローラ250は、順序算出部251、チェック部252、連携部253、及びGUI部254を備える。また、コントローラ250は、加工処理の組合せ、それらの加工処理が行われた際の構成情報の条件、及びそれらの加工処理による加工内容の履歴を記憶した組合せ情報255と、加工処理間の競合関係及び依存関係を記憶した情報であるルール情報256と、各加工サーバ240による加工処理の結果を記憶したトレース情報257とを記憶する。 Next, the controller 250 includes an order calculation section 251 , a check section 252 , a cooperation section 253 and a GUI section 254 . In addition, the controller 250 stores combination information 255 that stores combinations of processing, configuration information conditions when the processing was performed, and history of processing contents by the processing, and competitive relationships among the processing. Also, rule information 256, which is information that stores dependencies, and trace information 257 that stores the results of processing by each processing server 240 are stored.

順序算出部251は、組合せ情報255及びルール情報256に基づき、リクエストに対する各加工サーバ240の呼び出し順序(加工処理の順序。以下、加工順序という。)を算出する。 Based on the combination information 255 and the rule information 256, the order calculation unit 251 calculates the call order (the order of processing, hereinafter referred to as the processing order) of each processing server 240 for the request.

チェック部252は、加工処理による加工の前後の差分情報に基づき、加工処理間での競合関係及び依存関係を算出する。 The check unit 252 calculates competitive relationships and dependencies between processing processes based on difference information before and after processing by the processing processes.

連携部253は、中継サーバ230から受信した加工要求を受け付け、所定のIDの付与、構成情報の履歴(ログ情報)の登録、及び、加工処理に関する判定を行う。 The linking unit 253 accepts a processing request received from the relay server 230, assigns a predetermined ID, registers the history (log information) of configuration information, and determines processing processing.

(加工処理情報DB)
図2は、加工処理情報220が記憶する加工処理情報225の一例を示す図である。加工処理情報225は、例えば、構成情報を加工する加工処理(加工サーバ240)の総数Nの算出、及び加工要求の送信先(宛先)たる加工サーバ240の管理に使用される。
(processing information DB)
FIG. 2 is a diagram showing an example of processing information 225 stored in the processing information 220. As shown in FIG. The processing information 225 is used, for example, to calculate the total number N of processing processes (processing servers 240) that process the configuration information, and to manage the processing servers 240 that are destinations (destinations) of processing requests.

加工処理情報225は、加工処理の種類及びバージョンの識別子である処理ID501(例えば、オブジェクトIDおよびリソースバージョン)、処理ID501に係る加工処理が実行されるための構成情報の条件502(構成情報のパラメータ等が設定される)、処理ID501に係る加工処理の名前503、及び、処理ID501に係る加工処理を行う加工サーバ240(呼び出し先の加工サーバ240)の宛先504(例えば、URL又はサーバ名)の各データ項目を有する。なお、加工処理情報225は、例えば、管理者等により管理システム220の外部(例えばKubernetesのAPIサーバ経由)にて設定、更新
又は削除される。
The processing information 225 includes a processing ID 501 (for example, an object ID and a resource version) that is an identifier of the processing type and version, and configuration information conditions 502 (configuration information parameter etc. are set), the name 503 of the processing associated with the processing ID 501, and the destination 504 (for example, URL or server name) of the processing server 240 (the called processing server 240) that performs the processing associated with the processing ID 501. It has each data item. Note that the processing information 225 is set, updated, or deleted by an administrator or the like outside the management system 220 (for example, via an API server of Kubernetes).

(組合せ情報)
図3は、組合せ情報255の一例を示す図である。組合せ情報255は、実行された加工処理のリストが設定されるIDリスト601、IDリスト601に係る加工処理が実行された際の構成情報の内容(すなわち、IDリスト601に含まれる各加工処理の条件502を合算した条件)が設定される加工条件602、及び、IDリスト601に係る加工処理により加工された加工後の構成情報の内容が設定される加工内容603の各データ項目を有する。
(combination information)
FIG. 3 is a diagram showing an example of the combination information 255. As shown in FIG. The combination information 255 includes an ID list 601 in which a list of executed processing is set, and the contents of the configuration information when the processing related to the ID list 601 is executed (that is, the contents of each processing included in the ID list 601). A processing condition 602 in which a condition obtained by summing the conditions 502 is set, and a processing content 603 in which the content of the post-processing configuration information processed by the processing related to the ID list 601 is set.

加工内容603には、例えば、加工処理のID、加工処理による加工部分(箇所)、加工部分における加工内容(例えば、CREATE(新規追加)、UPDATE(更新)、DELETE(削除))の情報が設定される。 In the processing content 603, for example, the processing ID, the processed portion (place) by the processing processing, and the processing content of the processed portion (for example, CREATE (new addition), UPDATE (update), DELETE (delete)) information is set. be done.

なお、複数の加工条件リストについて、IDリスト601及び加工条件602の内容が同一であっても、加工内容603が異なる場合は、それぞれ異なるレコードに情報が設定される。この際、加工条件602には、加工処理情報225の条件502に対応する条件の他、加工内容603に係る加工における加工箇所の情報が設定される。 For a plurality of processing condition lists, even if the contents of the ID list 601 and the processing conditions 602 are the same, if the processing details 603 are different, the information is set in different records. At this time, in the processing conditions 602, in addition to the conditions corresponding to the conditions 502 of the processing information 225, information on the processing location in the processing related to the processing content 603 is set.

(ルール情報)
図4は、ルール情報256の一例を示す図である。ルール情報256は、ユーザにより指定され又はコントローラ250により算出された、加工処理間の競合関係及び依存関係の情報及び加工処理間の加工順序の情報等を記憶している。ルールは競合関係又は依存関係の範囲(以下、干渉ブロックという)ごとに作成される。
(rule information)
FIG. 4 is a diagram showing an example of the rule information 256. As shown in FIG. The rule information 256 stores information on competitive relationships and dependencies between processing processes, information on the processing order between processing processes, and the like, which are specified by the user or calculated by the controller 250 . A rule is created for each conflict or dependency range (hereinafter referred to as interference block).

具体的にはルール情報256は、干渉ブロックに含まれる加工処理のリストであるIDリスト701、IDリスト701に係る加工処理が実行される際の構成情報の内容が設定される条件702、IDリスト701に係る各加工処理の加工順序の情報が設定されるルール703、加工処理間の関係(依存関係「依存」、競合関係「競合」、又は双方「依存」「競合」)を示す情報が設定されるタイプ704、ルール703がユーザにより指定されたか(「ユーザ」)又はコントローラ250により自動的に設定されたか(「自動」)を示す情報が設定される指定705、コントローラ250によりルール703が設定され
た場合にその加工処理による加工の内容が設定される自動加工内容706、及び、ユーザによりルール703が指定された場合にその加工処理の加工の内容が設定されるユーザ指定後加工内容707の各データ項目を有する。
Specifically, the rule information 256 includes an ID list 701 that is a list of processing processes included in an interference block, a condition 702 for setting the contents of configuration information when processing related to the ID list 701 is executed, an ID list A rule 703 in which information on the processing order of each processing related to 701 is set, and information indicating the relationship between processing (dependence relationship “dependence”, competitive relationship “competition”, or both “dependency” and “competition”) is set. A specification 705 that is set with information indicating whether the rule 703 was specified by a user ("user") or automatically set by the controller 250 ("automatic"), and a rule 703 set by the controller 250. automatic processing content 706 in which the content of processing by the processing processing is set when a rule 703 is specified by the user; It has each data item.

なお、後述するように、競合解決画面400によりある加工処理に関してスキップが指定された場合は、ルール703におけるその加工処理のデータは削除される。このため、IDリスト701に含まれる加工処理の数とルール703に含まれる加工処理の数は必ずしも一致するとは限らない。また、干渉ブロックは競合関係または依存関係が発生している加工処理のうち、構成情報において最も階層が浅い加工処理の一つの要素を起点とする範囲を指す。このため、複数の要素を加工する加工処理がある場合には、一つの構成情報に複数の干渉ブロックが発生しうる。 As will be described later, when skipping is specified for a processing process on the conflict resolution screen 400, the data for that processing process in the rule 703 is deleted. Therefore, the number of manipulations included in the ID list 701 and the number of manipulations included in the rule 703 do not necessarily match. Also, the interference block indicates a range starting from one element of the processing processing with the shallowest hierarchy in the configuration information among the processing processing in which a competitive relationship or a dependency relationship has occurred. For this reason, when there is processing for processing a plurality of elements, a plurality of interference blocks may occur in one piece of configuration information.

ここで、図5は、管理システム200における各情報処理装置が備えるハードウェアの一例を示す図である。各情報処理装置は、CPU(Central Processing Unit)、MPU
(Micro Processing Unit)、又はGPU(Graphics Processing Unit)等のプロセッサ
301と、ROM(Read Only Memory)、又はRAM(Random Access Memory)等の主記憶装置304と、ハードディスクドライブ(Hard Disk Drive)、フラッシュメモリ(Flash Memory)、又はSSD(Solid State Drive)等の補助記憶装置305と、ネットワークインタフェースカード(Network Interface Card: NIC)、無線通信モジュール、US
B(Universal Serial Interface)モジュール、又はシリアル通信モジュール等の通信制御装置302及び通信インタフェース303とを備える。なお、プロセッサ301、通信制御装置302、通信インタフェース303、主記憶装置304、および補助記憶装置305は、内部バス306を介して相互に接続される。なお、各情報処理装置は、キーボード、マウス、カードリーダ、若しくはタッチパネル等の入力装置、又は、液晶ディスプレイ(Liquid Crystal Display: LCD)、音声出力装置(スピーカ)、若しくは印字装置等
の出力装置を備えていてもよい。なお、各情報処理装置は、上記のような物理的なハードウェアを備える計算機であってもよいし、物理的な計算機を論理的に分割した計算機の単位(仮想サーバ)でもよい。また、各情報処理装置は、1台または複数の計算機クラスタ上で実行されるタスク(プロセスやコンテナ)であってもよい。
Here, FIG. 5 is a diagram showing an example of hardware included in each information processing device in the management system 200. As shown in FIG. Each information processing device includes a CPU (Central Processing Unit), an MPU
(Micro Processing Unit), or processor 301 such as GPU (Graphics Processing Unit), ROM (Read Only Memory), or RAM (Random Access Memory) such as main storage device 304, hard disk drive (Hard Disk Drive), flash Auxiliary storage device 305 such as memory (Flash Memory) or SSD (Solid State Drive), network interface card (NIC), wireless communication module, US
A communication control device 302 such as a B (Universal Serial Interface) module or a serial communication module and a communication interface 303 are provided. Processor 301 , communication control device 302 , communication interface 303 , main storage device 304 , and auxiliary storage device 305 are interconnected via internal bus 306 . Each information processing device has an input device such as a keyboard, mouse, card reader, or touch panel, or an output device such as a liquid crystal display (LCD), a voice output device (speaker), or a printing device. may be Each information processing apparatus may be a computer having physical hardware as described above, or may be a computer unit (virtual server) obtained by logically dividing a physical computer. Also, each information processing device may be a task (process or container) executed on one or more computer clusters.

各情報処理装置は、プロセッサ301が、主記憶装置304又は補助記憶装置305に格納されているプログラムを読み出して実行することにより実現される。また上記のプログラムは、例えば、記録媒体に記録して配布することができる。 Each information processing device is implemented by the processor 301 reading and executing a program stored in the main memory device 304 or the auxiliary memory device 305 . Further, the above program can be distributed by being recorded on a recording medium, for example.

次に、管理システム200において行われる処理について説明する。
<処理の概要>
図6は、呼出サーバ210からの加工要求に含まれる構成情報に関して、各加工サーバ240による構成情報の加工順序を変更することで適切な構成情報を出力する処理(以下、構成情報出力処理という)の概要を説明するブロック図である。
Next, processing performed in the management system 200 will be described.
<Overview of processing>
FIG. 6 shows processing for outputting appropriate configuration information by changing the processing order of the configuration information by each processing server 240 regarding the configuration information included in the processing request from the call server 210 (hereinafter referred to as configuration information output processing). 2 is a block diagram for explaining the outline of the .

まず、呼出サーバ210が、その仕様に従って、各加工サーバ240宛てに所定の順序(第1の順序)にて順次、構成情報110を含む加工要求を送信する。すると、各加工サーバ240に対応する各中継サーバ230は、各加工要求を奪取してこれをコントローラ250に転送する。コントローラ250は、ここでは加工処理を行わず、各加工要求に対応するIDを含むダミーの応答情報を、各中継サーバ230を経由して呼出サーバ210に送信する(以上、s1-s4)。 First, the call server 210 sequentially transmits a processing request including the configuration information 110 to each processing server 240 in a predetermined order (first order) according to its specifications. Each relay server 230 corresponding to each processing server 240 then acquires each processing request and transfers it to the controller 250 . The controller 250 does not perform processing here, and transmits dummy response information including an ID corresponding to each processing request to the call server 210 via each relay server 230 (above, s1-s4).

コントローラ250は、最後の中継サーバ230から加工要求を受信すると(s5、s6)、受信した加工要求における構成情報に関して、各加工サーバ240による構成情報の加工順序(第2の順序)を決定する処理(処理順序算出処理s911)を行い、その加
工順序に従って、中継サーバ230経由で加工サーバ240を呼び出すことで、構成情報の加工を順次行わせる(s7-s9。なお図面上では中継サーバ230の経由は省略)。そして、コントローラ250は、加工した加工後構成情報111を呼出サーバ210に送信する(s10、s11)。
When the controller 250 receives a processing request from the final relay server 230 (s5, s6), the controller 250 determines the processing order (second order) of the configuration information in the received processing request by each processing server 240. (Processing order calculation processing s911) is performed, and according to the processing order, the processing server 240 is called via the relay server 230 to sequentially process the configuration information (s7-s9. omitted). The controller 250 then transmits the processed configuration information 111 to the call server 210 (s10, s11).

これにより、例えば、呼出サーバ210が当初、加工サーバA、B、C(中継サーバA、B、C)の順にリクエストを送信し、これが各加工サーバ240による構成情報の加工に競合等を生じさせて適切な構成情報が出力されない場合であっても、コントローラ250が加工順序の設定を行うことで、加工順序を加工サーバB、C、A(中継サーバB、C、A)に変更させ適切な構成情報が出力させることができる。 As a result, for example, the calling server 210 initially sends requests to the processing servers A, B, and C (relay servers A, B, and C) in that order, which causes competition in the processing of the configuration information by the processing servers 240. Even if the appropriate configuration information is not output by the controller 250, the processing order is changed by the processing servers B, C, and A (relay servers B, C, and A) by setting the processing order. Configuration information can be output.

ここで、コントローラ250は、処理順序算出処理s911を行う際、各加工処理間の競合関係及び依存関係を特定するチェック処理s910を実行する。 Here, when the controller 250 performs the processing order calculation processing s911, the controller 250 executes a check processing s910 for identifying competitive relationships and dependencies among the processing processes.

<チェック処理(依存関係及び競合関係の算出)>
図7は、チェック処理s910の概要を説明するブロック図である。コントローラ250は、中継サーバ230経由で最後に受信した構成情報を複製した情報(試験用構成情報)を、予め設定した順序にて、各加工サーバ240に送信することで試験用構成情報を順次加工し、加工後の試験用構成情報を受信する。コントローラ250は、試験用構成情報の加工ごとに、加工前の試験用構成情報と加工後の試験用構成情報との差分情報及び加工箇所の情報を生成する。
<Check processing (calculation of dependencies and conflicts)>
FIG. 7 is a block diagram illustrating an overview of the check processing s910. The controller 250 sequentially processes the test configuration information by transmitting information (test configuration information) obtained by copying the configuration information last received via the relay server 230 to each processing server 240 in a preset order. and receives the test configuration information after processing. Each time the test configuration information is processed, the controller 250 generates difference information between the test configuration information before processing and the test configuration information after processing, and information on the processed location.

コントローラ250は、生成した各差分情報及び加工箇所の情報を参照することで、加工サーバ240間の依存関係及び競合関係を特定する。具体的には、コントローラ250は、試験用構成情報が変化しなくなるまで、試験用構成情報の加工を各加工サーバ240に対して順に繰り返し行わせると共に、各加工に関する試験用構成情報の差分情報を生成する。なお、加工サーバ240が、試験用構成情報の一部を削除する加工を実行した場合には、コントローラ250は、差分情報にはその差分を記憶する一方、加工後の試験用構成情報に対しては削除部分を復活させて次の加工サーバ240に対する加工処理に用いる。これは削除処理により依存関係及び競合関係の情報が失われることを防ぐためである。 The controller 250 identifies the dependencies and conflicts between the processing servers 240 by referring to the generated difference information and processing location information. Specifically, the controller 250 causes each processing server 240 to repeatedly process the test configuration information in order until the test configuration information does not change, and the difference information of the test configuration information regarding each processing. Generate. Note that when the processing server 240 performs processing to delete a part of the test configuration information, the controller 250 stores the difference in the difference information, and stores the difference in the processed test configuration information. restores the deleted part and uses it for the next processing to the processing server 240 . This is to prevent the loss of dependency and conflict information due to deletion processing.

同図の例では、加工サーバA、B、Cの順序で加工処理が実行され(コントローラ250がs21~s29の順で構成情報の送受信を行い)、加工サーバCに加工サーバBが依存するとした場合、s23で加工サーバCの処理が、s25で加工サーバBの処理がそれぞれ反映され、その後3周目のループで試験用構成情報の差分がなくなりs29で処理が停止する。 In the example shown in the figure, processing is performed in the order of processing servers A, B, and C (the controller 250 transmits and receives configuration information in the order of s21 to s29), and processing server B is dependent on processing server C. In this case, the processing of processing server C is reflected in s23, and the processing of processing server B is reflected in s25, respectively.

<構成情報出力処理のシーケンス>
図8は、構成情報出力処理を説明するシーケンス図である。構成情報出力処理は、加工前の構成情報110に対する加工処理に関して、各加工処理間の依存関係及び競合関係を特定し、特定した依存関係及び競合関係に基づき各加工処理の順序を決定し、決定した順序で各加工サーバ240に加工処理を実行させ、加工後構成情報111を出力する。
<Sequence of Configuration Information Output Processing>
FIG. 8 is a sequence diagram illustrating configuration information output processing. The configuration information output processing specifies dependency relationships and conflict relationships between processing processes for processing the configuration information 110 before processing, determines the order of each processing process based on the specified dependency relationships and conflict relationships, and determines the order of the processing processes. Each processing server 240 is caused to execute the processing in the order given, and the post-processing configuration information 111 is output.

まず、連携部253は、構成情報を取得する(s900)。構成情報の取得は、例えば、ユーザからの入力、又は他の情報処理装置からの受信に基づく。 First, the cooperation unit 253 acquires configuration information (s900). Acquisition of configuration information is based on, for example, input from a user or reception from another information processing device.

そして、連携部253は、受信した構成情報に関して以下のs901~s906の処理を実行する。なお、この処理は、実際に加工サーバ240による加工処理が行われることなく、呼出サーバ210が加工処理に対するダミーの応答情報を受信する処理である。本処理は加工サーバ240がN個ある場合、N-1回実施される。 Then, the cooperation unit 253 executes the following processes of s901 to s906 for the received configuration information. Note that this process is a process in which the call server 210 receives dummy response information to the processing without actually performing the processing by the processing server 240 . If there are N processing servers 240, this process is performed N-1 times.

すなわち、各中継サーバ230は、呼出サーバ210が各加工サーバ240宛に送信した、構成情報を含むリクエストを順次奪取し(s901、s907)、取得したリクエストをコントローラ250に送信する(s902、s908)。 That is, each relay server 230 sequentially acquires requests including configuration information sent by the call server 210 to each processing server 240 (s901, s907), and transmits the acquired requests to the controller 250 (s902, s908). .

コントローラ250の連携部253は、各中継サーバ230から受信した各構成情報に対して所定のIDを設定する(s903)。なお、この処理は、構成情報にIDが設定されていない場合のみ実行される。 The cooperation unit 253 of the controller 250 sets a predetermined ID for each piece of configuration information received from each relay server 230 (s903). Note that this process is executed only when the ID is not set in the configuration information.

また、連携部253は、各中継サーバ230から構成情報を受信するごとに、中継サーバ230が呼出サーバ210から呼び出された旨を記憶すると共にその構成情報が呼出サーバ210から最後に受信する構成情報であるかを、加工処理情報220を参照することで確認する(s904、s909)。 Also, each time the linking unit 253 receives the configuration information from each relay server 230, the linking unit 253 stores that the relay server 230 has been called by the call server 210, and the configuration information is the configuration information last received from the call server 210. is confirmed by referring to the processing information 220 (s904, s909).

連携部253は、受信した構成情報が最後に受信すべき構成情報でないと判定した場合は(s904)、(その構成情報を送信してきた)中継サーバ230に、設定したID及びダミーの応答情報を送信する(s905)。ID及び応答情報を受信した中継サーバ230は、受信したIDを応答情報として呼出サーバ210に転送する(s906)。なお、ダミーの応答情報は、例えば入力された構成情報にID情報を付与したのみの情報である。 When the linking unit 253 determines that the received configuration information is not the configuration information to be received last (s904), the linking unit 253 sends the set ID and dummy response information to the relay server 230 (that sent the configuration information). Send (s905). Relay server 230, which has received the ID and response information, transfers the received ID as response information to call server 210 (s906). The dummy response information is, for example, only information obtained by adding ID information to the input configuration information.

一方、連携部253が、最後に受信すべき構成情報を受信したと判定した場合は(s909)、これまでに受信した構成情報により特定される加工処理の組合せに対して、図11にて詳述するチェック処理s910を実施する。 On the other hand, when the cooperation unit 253 determines that the configuration information to be received last has been received (s909), the combination of processing specified by the configuration information received so far is processed in detail in FIG. The check processing s910 described below is performed.

その後、順序算出部251は、チェック処理s910の結果及びルール情報256に基づき、各加工サーバ240による加工順序を決定する(s911)。 After that, the order calculation unit 251 determines the order of processing by each processing server 240 based on the result of the check processing s910 and the rule information 256 (s911).

具体的には、例えば、順序算出部251は、ルール情報256の各レコードのうち、IDリスト701に本件加工処理の組合せ(s901で受信した構成情報(本件構成情報)により特定される加工処理の組合せ)が設定され、条件702に本件構成情報たる条件が設定されているレコードを抽出し、抽出したレコードのルール703を取得する。順序算出部251は、抽出したレコードが一つのみの場合、そのルール703に指定された処理IDの順序を加工順序とし、当該ルール703およびそのレコードを記憶する。順序算出部251は、抽出したレコードが複数ある場合はルール703を直列に並べた処理IDのリストを加工順序とし、対象となるルール703とその同一レコードが持つ加工内容とをそれぞれペアにして記憶する。ただし、抽出したレコードが複数あり、かつその中で以下の処理で算出する干渉ブロックが示す範囲が同一であるレコードが複数ある場合は、順序算出部251は、干渉ブロックが示す範囲が重複したそのレコード群のうち条件702の数が最も多いレコードのルール703以外を除外して上記の処理を行う。干渉ブロックの範囲は、各レコードのユーザ指定後加工内容707が含む最初の処理IDに対応した加工箇所(例えば、図4の一つ目のレコードの場合、spec.containersが該当)を抽出するこ
とで得られる。ルール情報256にて該当するレコードが存在しない構成情報は、順序算出部251は、任意又は予め設定したルールに従って(例えば、加工処理の処理IDの昇順又は加工処理の登録時刻順等に従って)、順序を設定する。
Specifically, for example, the order calculation unit 251 stores the combination of the processing processing specified by the configuration information (the configuration information) received in s901 in the ID list 701 among the records of the rule information 256. combination) is set and the condition of this configuration information is set in the condition 702, and the rule 703 of the extracted record is acquired. If only one record is extracted, the order calculation unit 251 sets the order of the processing IDs specified in the rule 703 as the processing order, and stores the rule 703 and its record. If there are multiple extracted records, the order calculation unit 251 sets a list of processing IDs in which the rules 703 are arranged in series as the processing order, and stores the target rule 703 and the processing content of the same record in pairs. do. However, if there are multiple extracted records and there are multiple records with the same range indicated by the interference block calculated in the following process, the order calculation unit 251 The above processing is performed by excluding rules other than the rule 703 of the record having the largest number of conditions 702 in the record group. The range of the interference block is to extract the processing location corresponding to the first processing ID included in the user-specified post-processing content 707 of each record (for example, spec.containers corresponds to the first record in FIG. 4). is obtained by For configuration information for which there is no corresponding record in the rule information 256, the order calculation unit 251 calculates the order according to an arbitrary or preset rule (for example, according to the ascending order of the process ID of the processing process or the order of the registration time of the processing process). set.

順序算出部251は、s911で決定した加工順序に従って各加工サーバ240を呼び出すことで、s908で受信した構成情報に対する加工処理を順次実行する(s912~s918)。 The order calculation unit 251 sequentially executes processing for the configuration information received in s908 by calling each processing server 240 according to the processing order determined in s911 (s912 to s918).

具体的には、まず、順序算出部251は、加工サーバ240宛に、構成情報を含む加工要求を送信し(s912)、対応する中継サーバ230がこの加工要求を受信して加工サーバ240に転送する(s913)。加工サーバ240は、受信した構成情報を、当該加工サーバ240が予め定めた加工処理にて加工する(s914)。なお、加工された構成情報は、以降の各加工サーバ240における加工に順次用いられる。 Specifically, first, the order calculation unit 251 transmits a processing request including configuration information to the processing server 240 (s912), and the corresponding relay server 230 receives this processing request and transfers it to the processing server 240. (s913). The processing server 240 processes the received configuration information by processing predetermined by the processing server 240 (s914). Note that the processed configuration information is sequentially used for subsequent processing in each processing server 240 .

加工サーバ240は、加工した構成情報を含む応答情報を呼出サーバ210宛に送信し(s915)、対応する中継サーバ230がこの応答情報を奪取してコントローラ250に送信する(s916)。 Processing server 240 transmits response information including the processed configuration information to call server 210 (s915), and corresponding relay server 230 obtains this response information and transmits it to controller 250 (s916).

順序算出部251は、加工サーバ240からs916により受信した構成情報により特定される構成情報の加工内容が、組合せ情報255又はルール情報256に登録されている加工処理の内容と一致するか否かを判定する(s917)。具体的には、順序算出部251は、受信した構成情報により特定される構成情報の加工内容が、s911で記憶したレコードのユーザ指定後加工内容707(ユーザ指定後加工内容707に情報が設定されていない場合は自動加工内容706)と一致しているか否かを判定する。ただし、処理順序が複数のルール703で構成されている場合は、順序算出部251は、受信した構成情報により特定される構成情報の加工内容が、s911で記憶したレコード群のいずれかの自動加工内容706もしくはユーザ指定後加工内容707と一致しているか否かを判定する。その後、順序算出部251は、現在加工処理を実行中のルール703に対応したユーザ指定後加工内容707(ユーザ指定後加工内容707に情報が設定されていない場合は自動加工内容706)以外の加工箇所を、当該加工処理で加工される以前の状態に復元する(対象とする干渉ブロック以外は加工しないようにする)。 The order calculation unit 251 determines whether or not the processing details of the configuration information specified by the configuration information received from the processing server 240 in s916 match the processing details registered in the combination information 255 or the rule information 256. Determine (s917). Specifically, the order calculation unit 251 determines that the processing content of the configuration information specified by the received configuration information is the user-specified post-processing content 707 of the record stored in s911 (the information is set in the user-specified post-processing content 707). If not, it is determined whether or not it matches the automatic processing content 706). However, if the processing order is composed of a plurality of rules 703, the order calculation unit 251 determines that the processing content of the configuration information specified by the received configuration information is any automatic processing of the record group stored in s911. It is determined whether or not the content 706 or the user-specified post-processing content 707 matches. After that, the order calculation unit 251 performs processing other than the user-designated post-processing content 707 (automatic processing content 706 if information is not set in the user-designated post-processing content 707) corresponding to the rule 703 currently being processed. The part is restored to the state before being processed by the processing (no processing other than the target interference block).

両者の加工内容が一致しない場合は、順序算出部251は、所定の再計算フラグを設定してチェック処理s910からの処理を繰り返す。両者の加工内容が一致する場合、順序算出部251は、次述するs918の処理を実行する。 If the two processing contents do not match, the order calculation unit 251 sets a predetermined recalculation flag and repeats the processing from check processing s910. If the processing contents of both match, the order calculation unit 251 executes the process of s918 described below.

なお、順序算出部251は、両者の加工内容は異なるが、加工箇所が同じである場合は、チェック処理s910は実行せずに、その加工内容を、組合せ情報255又はルール情報256に追加する。例えば、順序算出部251は、加工サーバ240による加工前の構成情報の部分“CREATE”に対して”UPDATE”を追加した場合は、構成情報に[“CREATE”,”UPDATE”]を設定する。 Note that the order calculation unit 251 adds the processing content to the combination information 255 or the rule information 256 without executing the check processing s910 when the processing content is different between the two but the processing location is the same. For example, when "UPDATE" is added to the portion "CREATE" of the configuration information before processing by the processing server 240, the order calculation unit 251 sets ["CREATE", "UPDATE"] to the configuration information.

s918において順序算出部251は、s913までに行った構成情報の加工内容をトレース情報257に記憶する。以降は図9にてトレース情報の説明し、その後改めてs919以降の処理を示す。 In s918, the order calculation unit 251 stores, in the trace information 257, the details of processing of the configuration information performed up to s913. Hereinafter, the trace information will be explained with reference to FIG. 9, and then the processing after s919 will be shown again.

(トレース情報)
図9は、トレース情報257の一例を示す図である。トレース情報257は、加工処理の識別子である処理ID801、処理ID801に係る加工処理が実行されるための構成情報の条件が設定される加工条件802、処理ID801に係る加工処理が行われた原因がチェック処理であるかそれ以外の処理(s914のような通常の加工処理)であるかを示す情報が設定される処理タイプ803、処理ID801に係る加工処理が加工した構成情報のIDが設定される対象804、処理ID801に係る加工処理が行われた順序805(例えば、図7に示したs21~29の加工順序に対応)、処理ID801に係る加工処理による加工前の構成情報が設定される加工前806、及び、処理ID801に係る加工処理による加工後の構成情報が設定される加工後807の各データ項目を有する。
(trace information)
FIG. 9 is a diagram showing an example of the trace information 257. As shown in FIG. The trace information 257 includes a process ID 801 that is an identifier of the processing, a processing condition 802 that sets the conditions of the configuration information for executing the processing related to the processing ID 801, and the cause of the processing related to the processing ID 801. Processing type 803 in which information indicating whether it is check processing or other processing (normal processing such as s914) is set, and ID of configuration information processed by processing related to processing ID 801 is set. An object 804, an order 805 in which the processing related to the processing ID 801 was performed (for example, corresponding to the processing order of s21 to s29 shown in FIG. 7), processing in which the configuration information before processing by the processing related to the processing ID 801 is set It has data items of before 806 and after processing 807 in which the configuration information after processing by the processing related to the processing ID 801 is set.

なお、処理タイプ803には、対応する加工処理がチェック処理により実行された場合
には「チェック処理」、その他の処理により実行された場合には「通常処理」が設定される。
The processing type 803 is set to “check processing” when the corresponding processing is executed by check processing, and “normal processing” when it is executed by other processing.

以上のように、コントローラ250は、図8に示したs912~s918の処理を、s911で決定した処理順序に従って、各加工サーバ240に対して繰り返し実行する。 As described above, the controller 250 repeatedly executes the processing of s912 to s918 shown in FIG. 8 for each processing server 240 according to the processing order determined in s911.

その後、連携部253は、チェック処理s910及び処理順序算出処理s911にて加工順序を設定したことを示す情報を、加工後構成情報111に付加する(s919)。連携部253は、例えば、構成情報の「metadata.annotations」に「{“processedBy”: “orderController”}」を追加する。そして、連携部253は、この加工後構成情報111を含む応答情報を、s908に係る中継サーバ230(最後の中継サーバ230)に送信する(s920)。中継サーバ230は、受信した応答情報を呼出サーバ210に送信する(s921)。呼出サーバ210は、受信した応答情報に含まれる加工後構成情報111を出力する(s922)。出力された加工後構成情報111は、管理システム200等における所定のデータベース等に格納される。 After that, the cooperation unit 253 adds information indicating that the processing order has been set in the check processing s910 and the processing order calculation processing s911 to the post-processing configuration information 111 (s919). For example, the cooperation unit 253 adds “{“processedBy”: “orderController”}” to “metadata.annotations” of the configuration information. Then, the linking unit 253 transmits the response information including the post-processing configuration information 111 to the relay server 230 (last relay server 230) in s908 (s920). Relay server 230 transmits the received response information to call server 210 (s921). The call server 210 outputs the post-processing configuration information 111 included in the received response information (s922). The output post-processing configuration information 111 is stored in a predetermined database or the like in the management system 200 or the like.

<競合解決画面>
図10は、競合解決画面の一例を示す図である。競合解決画面400は、ユーザが加工処理間の依存関係及び競合関係の情報を設定するための画面である。
<Conflict resolution screen>
FIG. 10 is a diagram showing an example of a conflict resolution screen. The conflict resolution screen 400 is a screen for the user to set information on dependency relationships and conflict relationships between processing processes.

競合解決画面400は、競合リスト表示部410、ルール追加ボタン420、ルール設定部430、設定ビューア440、及びOKボタン450を備える。 The conflict resolution screen 400 includes a conflict list display portion 410 , an add rule button 420 , a rule setting portion 430 , a setting viewer 440 and an OK button 450 .

競合リスト表示部410には、ルール情報256のうち、タイプ704に「競合」が含まれるレコードの情報がリストで表示される。 The conflict list display portion 410 displays a list of information of records whose type 704 includes “competition” in the rule information 256 .

具体的には、競合リスト表示部410には、各レコードのルール703がユーザ入力により解決された(Done)か否か(-)を示す情報(Resolved)、各レコードの加工処理が実行されるための構成情報の条件(Condition)、及び、そのレコードのIDリスト70
1(Processors)が表示される。
Specifically, in the conflict list display section 410, information (Resolved) indicating whether the rule 703 of each record has been resolved (Done) or not (-), and processing of each record is executed. and the ID list 70 of that record.
1 (Processors) is displayed.

ルール追加ボタン420は、ユーザ独自のルールの作成を受け付ける。具体的には、ルール追加ボタン420が押下されると、ルール情報256の各カラムに対応した情報を入力可能なポップアップ画面が表示され、その画面にユーザが入力した情報が新規にルール情報256に追加される。 The add rule button 420 accepts creation of a user's own rule. Specifically, when the add rule button 420 is pressed, a pop-up screen is displayed in which information corresponding to each column of the rule information 256 can be entered, and the information entered by the user on the screen is newly added to the rule information 256. Added.

ルール設定部430は、競合リスト表示部410に表示されている各干渉ブロックにおける加工処理の順序の指定をユーザから受け付ける。また、ルール設定部430は、競合リスト表示部410に表示されている各干渉ブロックの加工処理のうち、干渉ブロックから除外する(スキップする)加工処理の指定をユーザから受け付ける。 The rule setting unit 430 accepts from the user a specification of the order of processing in each interference block displayed in the conflict list display unit 410 . In addition, the rule setting unit 430 accepts from the user a specification of processing to be excluded (skipped) from the interference block among the processing of each interference block displayed in the conflict list display unit 410 .

設定ビューア440には、ルール設定部430により指定された加工処理が実行される場合に、構成情報がどのように変更されるかを示す情報(構成情報の変化)が表示される。なお、この表示を行うための素材となる構成情報は、トレース情報257から、処理ID801及び加工条件802が一致し、処理タイプ803がチェック処理で、順序805が1のレコードの加工前806の情報を抽出することで取得される。 The setting viewer 440 displays information (change in configuration information) indicating how the configuration information is changed when the processing specified by the rule setting unit 430 is executed. It should be noted that, from the trace information 257, the configuration information that is the material for this display is the pre-processing information 806 of the record whose processing ID 801 and processing condition 802 match, whose processing type 803 is check processing, and whose order 805 is 1. is obtained by extracting the

具体的には、設定ビューア440には、加工処理により追加又は変更される構成情報の部分(「+」)と、加工処理により削除される構成情報の部分(「-」)とが表示される。また、設定ビューア440には加工箇所が強調表示される(例えば、網掛けがなされる
)。複数の加工箇所が競合又は依存関係にある箇所は前述のように干渉ブロック441として表示される。なお、設定ビューア440における構成情報の内容は、例えば、トレース情報257(例えば、処理タイプ803に「チェック処理」が設定され、かつ条件802に競合条件が設定されているレコード)、及びルール設定部430の内容から取得される。
Specifically, the setting viewer 440 displays a portion (“+”) of configuration information to be added or changed by processing, and a portion (“−”) of configuration information to be deleted by processing. . In addition, the setting viewer 440 highlights (for example, shades) the processing location. Locations where multiple machining locations conflict or are dependent are displayed as interference blocks 441 as described above. The contents of the configuration information in the setting viewer 440 include, for example, the trace information 257 (for example, a record in which "check processing" is set in the processing type 803 and a race condition is set in the condition 802), and the rule setting section 430 content.

OKボタン450は、ユーザから、ルール設定部430に現在表示されている内容のルール情報256への登録を受け付ける。
次に、チェック処理s910の詳細を説明する。
The OK button 450 accepts registration of the content currently displayed in the rule setting portion 430 to the rule information 256 from the user.
Next, details of the check processing s910 will be described.

<チェック処理>
図11は、チェック処理s910の一例を示すフロー図である。コントローラ250のチェック部252は、(s908により)受信した構成情報(対象構成情報)に対するチェック処理が再チェックであるか否かを確認する(P1000)。具体的には、チェック部252は、再計算フラグが設定されているか否かを確認する。
<Check processing>
FIG. 11 is a flow diagram showing an example of the check processing s910. The check unit 252 of the controller 250 checks whether or not the check processing for the received configuration information (target configuration information) (by s908) is a recheck (P1000). Specifically, the check unit 252 checks whether or not the recalculation flag is set.

チェック処理が再チェックである場合は(P1001:YES)、チェック部252は後述するP1020の処理を実行し、チェック処理が再チェックでない場合は(P1001:NO)、チェック部252は後述するP1010の処理を実行する。 If the check process is recheck (P1001: YES), the check unit 252 executes the process of P1020 described later. Execute the process.

P1010においてチェック部252は、対象構成情報に係る加工処理及びその条件が、過去に加工サーバ240で行われた加工処理及びその条件に一致するか否かを判定する。具体的には、チェック部252は、組合せ情報255に、当該対象構成情報に係る加工内容及び(加工前の)対象構成情報の条件が設定されているレコードがあるか否かを判定する。 In P1010, the checking unit 252 determines whether or not the processing related to the target configuration information and its conditions match the processing performed by the processing server 240 in the past and its conditions. Specifically, the checking unit 252 determines whether or not there is a record in the combination information 255 in which the processing content related to the target configuration information and the conditions of the target configuration information (before processing) are set.

両者が一致しない場合は(P1010:Yes)、チェック部252は、次述するs1020の処理を実行し、両者が一致する場合は(P1010:No)、チェック部252は、チェック処理s910を終了する。 If the two do not match (P1010: Yes), the checking unit 252 executes the processing of s1020 described below, and if the two match (P1010: No), the checking unit 252 terminates the check processing s910. .

P1020においてチェック部252は、対象構成情報に係る加工処理群の情報を取得する。具体的には、チェック部252は、加工処理情報220から、条件502に(加工前の)対象構成情報の条件が設定されているレコードの内容(処理ID501等)を取得する。 In P1020, the checking unit 252 acquires information on the processing group related to the target configuration information. Specifically, from the processing information 220, the checking unit 252 acquires the contents (processing ID 501, etc.) of the record in which the condition 502 of the target configuration information (before processing) is set.

チェック部252は、対象構成情報の内容を有する試験用構成情報(ダミーの構成情報)を生成する。そして、チェック部252は、P1020で取得した各加工処理を予め定めた順序にて、対応する加工サーバ240に対して実際に実行させることで、試験用構成情報を順次加工する(P1030)。なお、チェック部252は、各加工前後の試験用構成情報を比較した場合に、特定のデータが削除されている場合は、削除された部分を復活させる。 The check unit 252 generates test configuration information (dummy configuration information) having the content of the target configuration information. Then, the check unit 252 sequentially processes the test configuration information by causing the corresponding processing server 240 to actually execute each processing process acquired in P1020 in a predetermined order (P1030). It should be noted that the check unit 252 restores the deleted part when specific data is deleted when comparing the test configuration information before and after each modification.

P1030の処理の際、チェック部252は、各加工サーバ240に加工処理を実行させるごとに、その加工内容をトレース情報257に記憶する。具体的には、例えば、チェック部252は、トレース情報257の処理ID801に、実行した加工処理のIDを設定し、処理タイプ803に「チェック処理」を設定し、対象804に、加工処理に対応する試験用構成情報(構成情報)のIDを設定し、加工前806に、加工処理の実行前の試験用構成情報を設定し、加工後807に、加工処理の実行後の試験用構成情報を設定する。 In the process of P1030, the check unit 252 stores the details of the processing in the trace information 257 each time it causes each processing server 240 to execute the processing. Specifically, for example, the check unit 252 sets the processing ID 801 of the trace information 257 to the ID of the executed processing, sets the processing type 803 to “check processing”, and sets the target 804 to the processing corresponding to the processing. The ID of the test configuration information (configuration information) to be processed is set, the test configuration information before the execution of the processing is set in the before processing 806, and the test configuration information after the execution of the processing is set in the after processing 807. set.

チェック部252は、P1030で生成したトレース情報257に基づき、P1030で実行した加工処理により試験用構成情報が変更されたか否かを判定する(P1040)。 Based on the trace information 257 generated at P1030, the checking unit 252 determines whether or not the test configuration information has been changed by the processing executed at P1030 (P1040).

試験用構成情報が変更されなかった場合は(P1040:NO)、チェック部252は、P1030の処理を繰り返し、試験用構成情報が変更された場合は(P1040:Yes)、チェック部252は、P1050の処理を実行する。 If the test configuration information has not been changed (P1040: NO), the check unit 252 repeats the processing of P1030, and if the test configuration information has been changed (P1040: Yes), the check unit 252 process.

P1050においてチェック部252は、加工処理により加工された試験用構成情報の差分の情報(変更の箇所及び変更の内容)を、P1030で生成したトレース情報257の加工前806及び加工後807等により生成する。 At P1050, the check unit 252 generates difference information (changed parts and changed contents) of the test configuration information processed by the processing processing from the pre-processing 806 and post-processing 807 of the trace information 257 generated at P1030. do.

チェック部252は、試験用構成情報の差分の情報に基づき、各加工処理間の依存関係及び競合関係を特定する(P1060)。 The check unit 252 identifies the dependency relationship and competition relationship between the processing processes based on the difference information of the test configuration information (P1060).

例えば、チェック部252は、各差分の情報を参照し、変更の箇所が共通する加工処理同士を競合関係として特定する。また、例えば、チェック部252は、各差分の情報を参照し、ある差分が他の差分を前提としている場合に、ある差分に係る加工処理が他の差分に係る加工処理に対して依存すると特定する。具体的には、例えば、チェック部252は、3番目の加工処理による差分が「spec.container[*].image」であり、1番目の加工処
理による差分が「spec.containers[1]」である場合は、3番目の加工処理は1番目の加工処理に依存すると判定する。さらに、チェック部252は、1番目の加工処理による差分がさらに「spec.containers[1].image」を含んでいれば、1番目の加工処理と3番目の加工処理はさらに競合関係にもあると判定する。
For example, the check unit 252 refers to the information of each difference, and identifies processing processes that have a common change location as a competitive relationship. In addition, for example, the check unit 252 refers to the information of each difference, and if a certain difference presupposes another difference, specifies that the processing related to a certain difference depends on the processing processing related to the other difference. do. Specifically, for example, the check unit 252 determines that the difference due to the third processing is "spec.container[*].image" and the difference due to the first processing is "spec.containers[1]". If so, it is determined that the third manipulation depends on the first manipulation. Furthermore, the check unit 252 determines that if the difference due to the first processing further includes "spec.containers[1].image", the first processing and the third processing are in a competitive relationship. I judge.

チェック部252は、P1060で特定した競合関係及び依存関係に係る各加工処理による加工部分(差分)を組合せ情報255に設定する(P1070)。 The check unit 252 sets the processed portion (difference) by each processing process related to the competitive relationship and the dependency specified in P1060 to the combination information 255 (P1070).

具体的には、チェック部252は、組合せ情報255のIDリスト601に、P1020で取得した加工処理のレコードの内容(IDのリスト)を設定し、加工内容603に、加工処理による構成情報の差分の情報(初期状態の構成情報から変化している部分の情報)をP1050での差分の情報に基づき設定する。加工条件602に対しては、チェック部252は、再計算フラグが設定されている場合は、P1030で実行した加工処理に係る条件(構成情報)の和集合の情報を設定する。一方、再計算フラグが設定されていない場合は、加工内容が変化した際の構成情報の条件を漏れなく組合せ情報255に登録するべく(すなわち、加工サーバ250がコントローラ250が直接検知できない構成情報の条件下で加工処理を行っていた場合の加工内容とその条件を、P1030で加工サーバ250に行わせた加工処理の結果に基づき登録すべく)、チェック部252は例えば以下の処理を行う。 Specifically, the check unit 252 sets the content of the processing record (ID list) acquired in P1020 in the ID list 601 of the combination information 255, and sets the difference in the configuration information due to the processing in the processing content 603. (information on the portion that has changed from the configuration information in the initial state) is set based on the information on the difference at P1050. For the processing condition 602, if the recalculation flag is set, the check unit 252 sets information on the union of the conditions (configuration information) related to the processing executed in P1030. On the other hand, if the recalculation flag is not set, the conditions of the configuration information when the processing content changes are registered in the combination information 255 without omission (that is, the configuration information that the processing server 250 cannot directly detect by the controller 250). The check unit 252 performs the following processing, for example, in order to register the processing content and its conditions when processing is performed under certain conditions based on the result of the processing performed by the processing server 250 in P1030.

すなわちチェック部252は、加工処理情報220のうち構成情報の条件となりうる部分(resources, apiVersion等)の情報を条件502から取得する。さらにチェック部2
52は、組合せ情報255から、P1020で特定される加工処理及び構成情報の条件502に対応するデータをIDリスト601及び条件602に有するレコードから取得し、その加工内容603と、P1050で特定される加工内容との差分を参照し、両者が同一のパスの構成情報を有している場合には、その構成情報を組合せ情報255の加工条件602に登録する(例えば、加工前に比べ、「metadata.labels.inject: true」という加工内容が追加され、構成情報に「metadata.labels.inject」が存在すれば、「metadata.labels.inject」を条件603に追加する)。
In other words, the check unit 252 acquires from the conditions 502 information on portions (resources, apiVersion, etc.) that can be the conditions of the configuration information in the processing information 220 . Further check part 2
52 acquires data corresponding to the conditions 502 of the processing and configuration information specified in P1020 from the record having the ID list 601 and the conditions 602 from the combination information 255, and the processing content 603 and the data specified in P1050 The difference from the processing content is referred to, and if both have the same path configuration information, the configuration information is registered in the processing condition 602 of the combination information 255 (for example, compared to before processing, "metadata .labels.inject: true” is added, and if “metadata.labels.inject” exists in the configuration information, “metadata.labels.inject” is added to the condition 603).

チェック部252は、P1060で特定した各加工処理間の依存関係及び競合関係に基づき、互いに依存関係又は競合関係にある構成情報の部分に対する各加工処理の加工順序を設定する(P1080)。 The checking unit 252 sets the processing order of the processing processes for the portions of the configuration information that are mutually dependent or competitive based on the dependency relationships and conflict relationships between the processing processes specified in P1060 (P1080).

例えば、チェック部252は、「ルール1.加工処理による加工箇所(構成情報の部分)の階層が深い加工処理ほどより後ろの順序とする」、「ルール2.階層が同じ深さの場合は、加工処理に関して、DELETE(データの削除)、CREATE(データの作成)、UPDATE(データの更新)の優先順位とする」、「ルール3.ルール1及びルール2で加工順序を決定できない加工処理間は、加工処理情報220への加工処理の登録順とする」といったルールで加工順序を設定する。例えば、1.については、チェック部252は、加工処理として「spec.containers」及び「spec.containers[*].imges」がある場合、後者をより後
に実行する。このようなルールにより、より多くの加工処理を構成情報に反映できる。
For example, the check unit 252 determines that "Rule 1. The deeper the hierarchy of the processed location (configuration information part) by the processing process, the lower the order of the processing process", "Rule 2. If the layers have the same depth, Regarding processing, the priority is DELETE (data deletion), CREATE (data creation), and UPDATE (data update). , in the order in which the processing is registered in the processing information 220”. For example, 1. , if there are "spec.containers" and "spec.containers[*].imges" as processing, the checking unit 252 executes the latter later. With such rules, more processing can be reflected in the configuration information.

チェック部252は、P1080で決定した加工順序をルール情報256に登録する(P1090)。具体的には、チェック部252は、ルール情報256のIDリスト701、条件702、及び自動加工内容706には、P1070で組合せ情報255に設定したIDリスト601、加工条件602、及び加工内容603をそれぞれ設定し、ルール703には、P1080で決定した各加工処理の加工順序の情報を設定し、タイプ704には、P1060で特定した依存関係及び競合関係の情報を設定し、指定705には「自動」を設定し、ユーザ指定後加工内容707には空情報を設定する。 The check unit 252 registers the processing order determined in P1080 in the rule information 256 (P1090). Specifically, the check unit 252 adds the ID list 601, the processing conditions 602, and the processing content 603 set in the combination information 255 in P1070 to the ID list 701, the conditions 702, and the automatic processing content 706 of the rule information 256. In the rule 703, information on the processing order of each processing determined in P1080 is set. In the type 704, information on the dependency and conflict specified in P1060 is set. "automatic" is set, and empty information is set in the post-processing content 707 specified by the user.

なお、ここでチェック部252は、試験用構成情報を破棄する。以上でチェック処理s910は終了する。 Here, the check unit 252 discards the test configuration information. The check processing s910 ends here.

以上のように、本実施例の管理システム200(コントローラ250)は、各加工サーバ240に対する第1の順序で構成情報の加工処理を要求する加工要求を取得し、この加工要求に基づき各加工サーバ240が行う各加工処理の加工部分間の関係性(依存関係及び競合関係)を特定し、特定した関係性に基づき、各加工サーバ240が行う加工処理に係る第2の順序を決定し、決定した第2の順序で各加工サーバ240に対して構成情報の加工処理を行わせることにより、依存や競合を考慮した加工後構成情報111を出力する。 As described above, the management system 200 (controller 250) of this embodiment acquires a processing request requesting processing of configuration information in the first order for each processing server 240, and based on this processing request, each processing server Identify the relationship (dependency and competition) between the processing parts of each processing performed by the processing server 240, and determine the second order of the processing performed by each processing server 240 based on the identified relationship. By causing each processing server 240 to process the configuration information in the second order, the post-processing configuration information 111 that takes dependency and competition into consideration is output.

すなわち、コントローラ250は、各加工サーバ240に対する加工要求の加工順序を、加工要求が対象とする加工部分の関係性に基づいて第1の順序から第2の順序に修正して、その第2の順序に基づき構成情報の加工を行う。このようにして、本実施例の管理システム200は、複数の加工処理がコンテナの構成情報を加工する場合であっても、加工処理間の矛盾及び衝突が生じることを防ぐことができる。 That is, the controller 250 corrects the processing order of the processing request to each processing server 240 from the first order to the second order based on the relationship of the processing parts targeted by the processing request, and then corrects the processing order to the second order. The configuration information is processed based on the order. In this manner, the management system 200 of this embodiment can prevent inconsistencies and conflicts between processing processes even when multiple processing processes process configuration information of a container.

また、本実施例の管理システム200は、各加工サーバ240に対して所定の順序で構成情報の試験情報を送信して加工処理をそれぞれ行わせ、加工処理の前後の試験情報の差分の情報に基づき、加工部分間の関係性を特定する(チェック処理s910)。 In addition, the management system 200 of this embodiment transmits the test information of the configuration information in a predetermined order to each processing server 240, causes each processing server 240 to perform the processing, and stores the difference information of the test information before and after the processing. Based on this, the relationship between the processed parts is identified (check processing s910).

これにより、加工部分間の関係性を、各加工サーバ240が実際に行う加工処理の結果に基づいて確実に特定することができる。 This makes it possible to reliably identify the relationship between the processed parts based on the results of the processing actually performed by each processing server 240 .

また、本実施例の管理システム200は、上記特定した関係性を有する加工処理が加工を行う構成情報の部分を第2の順序の単位(すなわち干渉ブロック)とすることで、第2の順序を決定する。 In addition, the management system 200 of the present embodiment sets the portion of the configuration information to be processed by the processing having the specified relationship as the unit of the second order (that is, the interference block), so that the second order is decide.

これにより、構成情報全体ではなく構成情報の部分に対して順序づけを行うことができ
、より精度の高い加工順序の順序づけが可能となる。
As a result, it is possible to order a part of the configuration information rather than the entire configuration information, and it is possible to order the processing order with higher accuracy.

また、本実施例の管理システム200は、各加工サーバ240で行われた加工処理、加工処理が行われた際の構成情報の条件、及びその加工内容のそれぞれの履歴を取得して組合せ情報255に記憶し、加工サーバ240に加工処理を実行させ、実行させた加工処理の加工内容及び条件が組合せ情報255に存在しない場合は、その加工処理を含む加工部分間の関係性を特定する。 In addition, the management system 200 of the present embodiment acquires the history of the processing performed by each processing server 240, the conditions of the configuration information when the processing was performed, and the details of the processing, and stores the combined information 255. , and causes the processing server 240 to execute the processing, and if the processing content and conditions of the executed processing do not exist in the combination information 255, specify the relationship between the processed portions including the processing.

これにより、例えば、コントローラ250が直接検知できない構成情報の条件に基づき加工サーバ240が通常と異なる(コントローラ250が行う)加工結果を生じる加工処理を行った場合であっても、コントローラ250は、その際の条件に基づく加工処理に関する関係性を特定することができる。 As a result, for example, even if the processing server 240 performs processing that produces processing results that are different from normal processing (performed by the controller 250) based on the conditions of the configuration information that the controller 250 cannot directly detect, the controller 250 can Relationships can be identified for processing based on the conditions of the time.

また、本実施例の管理システム200は、構成情報における加工部分間の関係性と、加工部分の内容及び当該加工部分の階層構造における層の深さとに基づき第2の順序を決定する。これにより、構成情報の論理構造に応じて、加工処理間の関係性を効率良く特定することができる。 Also, the management system 200 of this embodiment determines the second order based on the relationship between the processed parts in the configuration information, the content of the processed parts, and the depth of the layers in the hierarchical structure of the processed parts. As a result, it is possible to efficiently identify the relationship between the processing processes according to the logical structure of the configuration information.

また、本実施例の管理システム200は、ユーザから、自動生成した第2の順序を確定させるための入力を受け付けることで、ユーザの意向に沿った加工後構成情報111を出力させることができる。 In addition, the management system 200 of the present embodiment can output the post-processing configuration information 111 in accordance with the user's intention by accepting an input from the user for fixing the automatically generated second order.

-実施例2-
実施例2の管理システム1100は、実施例1の管理システム200に対してさらなる機能を実現するシステムである。
-Example 2-
The management system 1100 of the second embodiment is a system that implements additional functions with respect to the management system 200 of the first embodiment.

図12は、実施例2に係る管理システム1100の構成の一例を示す図である。 FIG. 12 is a diagram illustrating an example configuration of a management system 1100 according to the second embodiment.

管理システム1100における呼出サーバ1110の呼び出し機能1111と、中継サーバ230と、加工サーバ240と、加工処理情報220と、コントローラ1130の順序算出部1131、チェック部1132、連携部1133、組合せ情報1135、ルール情報1136、及びトレース情報1137とは実施例1と同様である。 Calling function 1111 of calling server 1110 in management system 1100, relay server 230, processing server 240, processing information 220, order calculating unit 1131, checking unit 1132, linking unit 1133, combination information 1135, and rules of controller 1130 Information 1136 and trace information 1137 are the same as in the first embodiment.

管理システム1100はさらに、検証処理情報1120、及び、挿入部1141を有する挿入サーバ1140を備える。また、呼出サーバ1110はさらに検証部1112を備える。コントローラ1130は検証部1138を備える。 The management system 1100 further comprises verification process information 1120 and an insertion server 1140 having an insertion portion 1141 . In addition, call server 1110 further comprises verification unit 1112 . Controller 1130 includes verifier 1138 .

検証処理情報1120は、次述する検証処理に関して、加工処理情報220と類似するデータ構造を有する情報である。すなわち、検証処理情報1120は、各検証処理のID、検証処理が実行される条件、検証処理の名称、及び検証処理が実行される装置(例えば、コントローラ1130)の識別情報を含む。 The verification processing information 1120 is information having a data structure similar to that of the processing processing information 220 regarding the verification processing described below. That is, the verification process information 1120 includes the ID of each verification process, the conditions under which the verification process is executed, the name of the verification process, and the identification information of the device (for example, the controller 1130) on which the verification process is executed.

呼出サーバ1110の検証部1112は、構成情報出力処理による構成情報の加工後、コントローラ1130に対して、順序算出処理s911による加工順序の自動生成の処理が行われたかを検証する検証処理を要求する検証要求を送信する。検証部1112は、検証要求に対する応答情報を受信する。検証要求には、加工された構成情報が付帯する。 After processing the configuration information by the configuration information output processing, the verification unit 1112 of the calling server 1110 requests the controller 1130 to perform verification processing for verifying whether or not the processing order has been automatically generated by the order calculation processing s911. Submit a verification request. Verification unit 1112 receives response information to the verification request. Verification requests are accompanied by processed configuration information.

コントローラ250の検証部1138は、呼出サーバ1110から検証要求を受信すると、受信した検証要求及びルール情報256に基づき、加工順序の自動生成の処理が行われたか否かを検証する検証処理を実行する。具体的には、検証部1138は、ルール情報
256から、検証要求に含まれる構成情報が条件702に設定されているレコードを抽出し、抽出したレコードの指定705に「自動」が設定されているか否かを判定し、「自動」が設定されている場合は、応答情報としてエラー情報を呼出サーバ1110に送信する。また、検証部1138は、抽出したレコードの指定705に「ユーザ」が設定されている場合は、応答情報として正常情報を呼出サーバ1110に送信する。
Upon receiving the verification request from the calling server 1110, the verification unit 1138 of the controller 250 executes verification processing for verifying whether processing for automatically generating a processing order has been performed based on the received verification request and the rule information 256. . Specifically, the verification unit 1138 extracts a record in which the configuration information included in the verification request is set as the condition 702 from the rule information 256, and determines whether the specified record 705 of the extracted record is set to "automatic". If "automatic" is set, error information is sent to the call server 1110 as response information. Further, when "user" is set in the specified record 705 of the extracted record, the verification unit 1138 transmits normal information to the call server 1110 as response information.

挿入サーバ1140は、加工処理情報220の変化に応じて、加工サーバ240の前段となる中継サーバ230を動的に配置する(デプロイする)。 The insertion server 1140 dynamically arranges (deploys) the relay server 230 that precedes the processing server 240 according to changes in the processing information 220 .

すなわち、挿入部1141は、加工処理情報220及び検証処理情報1120のデータ内容を監視する。挿入部1141は、加工処理情報220又は検証処理情報1120のレコードが追加又は削除されると、そのレコードに係る加工サーバ240に対して割り当てる中継サーバ230を、所定のアルゴリズムで決定する。例えば、挿入部1141は、当該加工サーバ240と同一ネットワーク上に中継サーバ230をデプロイし、加工サーバ240のiptables等を操作して加工サーバ240宛てに送信された加工要求を、新規に割り当てた中継サーバ230経由で伝送されるようにする。または、挿入部1141は、iptables等を操作し、加工サーバ240宛てに送信された加工要求を既に割り当てられた中継サーバ230経由で伝送されるようにする。 That is, the inserting unit 1141 monitors the data contents of the processing information 220 and the verification processing information 1120 . When a record of the processing information 220 or the verification processing information 1120 is added or deleted, the insertion unit 1141 determines the relay server 230 to be assigned to the processing server 240 related to that record using a predetermined algorithm. For example, the inserting unit 1141 deploys the relay server 230 on the same network as the processing server 240, operates iptables or the like of the processing server 240, and transmits the processing request sent to the processing server 240 to a newly allocated relay server. It should be transmitted via server 230 . Alternatively, the inserting unit 1141 operates iptables or the like so that the processing request sent to the processing server 240 is transmitted via the already assigned relay server 230 .

さらに、本実施形態のコントローラ250のGUI部1134は、チェック処理s910により特定され処理順序算出処理s911により解消された加工処理間の競合関係及び依存関係の情報を提示するトレース表示画面1200を画面に表示する。 Furthermore, the GUI unit 1134 of the controller 250 of the present embodiment displays a trace display screen 1200 presenting information on the competitive relationship and dependency relationship between the processing processes specified by the check process s910 and resolved by the process order calculation process s911. indicate.

<トレース表示画面>
図13は、トレース表示画面1200の一例を示す図である。トレース表示画面1200は、例えば、処理順序算出処理s911の終了後、ユーザから所定の入力があった場合に表示される。
<Trace display screen>
FIG. 13 is a diagram showing an example of a trace display screen 1200. As shown in FIG. The trace display screen 1200 is displayed, for example, when there is a predetermined input from the user after the processing order calculation process s911 ends.

トレース表示画面1200は、構成情報リスト1210、関係性ビューア1220、及び設定ビューア1230を備える。 Trace display screen 1200 comprises configuration information list 1210 , relationship viewer 1220 and settings viewer 1230 .

構成情報リスト1210には、過去に加工処理により加工された構成情報のリストが表示される。具体的には、構成情報リスト1210には、トレース情報257の処理タイプ803が「通常処理」と設定されている加工処理の加工対象の構成情報のID、その加工処理が実行された構成情報の条件(Conditions)、及び、加工処理の名称(Processors。加工処理情報220の名前503に対応)のリストが表示される。 The configuration information list 1210 displays a list of configuration information that has been processed in the past. Specifically, the configuration information list 1210 includes the ID of the configuration information to be processed by the processing for which the processing type 803 of the trace information 257 is set to “normal processing”, and the configuration information on which the processing was executed. A list of conditions and names of processing (Processors, corresponding to the name 503 of the processing information 220) is displayed.

関係性ビューア1220には、各加工処理の名前(Name)及びその加工順序(Order。
処理順序算出処理s911にて算出された加工順序)と、各加工処理間の依存関係及び競合関係を図示した関係図(加工をスキップした加工処理(「-」)は他の加工処理と区別して表示される)とが表示される。
The relationship viewer 1220 displays the name of each processing (Name) and its processing order (Order.
The processing order calculated in the processing order calculation processing s911) and the relationship diagram illustrating the dependency relationship and competitive relationship between each processing (the processing that skipped processing (“-”) is distinguished from other processing displayed) is displayed.

設定ビューア1230には、構成情報の加工内容が表示される。同図の例では、網掛け部分が加工処理により変更された加工部分を表し、「+」が加工部分の追加又は変更を表し、「-」が加工部分の削除を表す。なお、これらの表示内容は、構成情報リスト1210により選択された構成情報が、トレース情報257のうち対象804に設定されているレコードの加工前806及び加工後807の内容と、そのレコードの順序805に基づき決定される。 The setting viewer 1230 displays the processing details of the configuration information. In the example of the figure, the shaded portion represents the processed portion changed by the processing, "+" represents addition or change of the processed portion, and "-" represents deletion of the processed portion. Note that these display contents are the contents of the records before processing 806 and after processing 807 in which the configuration information selected from the configuration information list 1210 is set as the object 804 in the trace information 257, and the order 805 of the records. determined based on

このように、本実施例の管理システム1100は、加工後構成情報111を生成したこ
とを示す情報(例えば、競合解決画面400の競合リスト410でユーザ指定されたか又は自動生成のままかを示すルール情報256)を記憶し、呼出サーバ210から検証要求を受信すると、これに基づき、加工後構成情報111が正常に生成されたか否かの判定結果の情報(例えば、自動生成の場合はエラー情報等)を、呼出サーバ210に返信する。
In this way, the management system 1100 of this embodiment includes information indicating that the post-processing configuration information 111 has been generated (for example, a rule indicating whether the conflict list 410 of the conflict resolution screen 400 has been specified by the user or has been automatically generated). information 256), and when a verification request is received from the call server 210, based on this, information of the judgment result as to whether or not the post-processing configuration information 111 was normally generated (for example, error information in the case of automatic generation). ) to the call server 210 .

これにより、例えば、自動生成された加工順序に基づき(ユーザが確定させていない加工順序に基づき)加工後構成情報111が生成された場合にはエラー情報を呼出サーバ210に返すことで、呼出サーバ210は、加工後構成情報111が、加工処理に関して矛盾衝突のない正しい加工が行われた情報であるか否かを容易に判定することができる。 As a result, for example, when post-processing configuration information 111 is generated based on an automatically generated processing order (based on a processing order that has not been determined by the user), error information is returned to the calling server 210 so that the calling server 210 can easily determine whether or not the post-processing configuration information 111 is information in which correct processing has been performed without inconsistency regarding processing.

また、本実施例の管理システム1100は、加工要求に係る加工処理が実行されるための、構成情報に関する条件の情報が加工処理情報220に設定された場合には、加工サーバ240宛てに送信された加工要求を受信する中継サーバ230をデプロイ又は選定し、デプロイ又は選定した中継サーバ230にて送信された加工要求を受信する。 Further, in the management system 1100 of the present embodiment, when information on conditions related to the configuration information for executing the processing related to the processing request is set in the processing information 220, the information is transmitted to the processing server 240. Deploy or select a relay server 230 that receives the processed request, and receive the transmitted processed request at the deployed or selected relay server 230 .

このように、加工要求をコントローラ250に転送する中継サーバ230を動的に割り当てることで、各中継サーバ230のリソースを効率よく使用することができる。 By dynamically allocating the relay server 230 that transfers the processing request to the controller 250 in this way, the resources of each relay server 230 can be used efficiently.

また、実施例1、2の管理システム200、1100は、各加工処理の加工部分間の関係性、又は、第2の順序で加工サーバ240に対して行わせた構成情報の加工処理の内容を表示する画面を表示する(競合解決画面400、トレース表示画面1200)。 Also, the management systems 200 and 1100 of the first and second embodiments can be used to determine the relationship between the processing parts of each processing process, or the content of the configuration information processing performed by the processing server 240 in the second order. Display the screen to be displayed (conflict resolution screen 400, trace display screen 1200).

これにより、ユーザは、加工処理の関係性の特定及び構成情報の加工が正しく行われたかを確認することができる。 This allows the user to confirm whether the relationship between the processing processes has been identified and the configuration information has been correctly processed.

本発明は以上に説明した実施形態に限定されるものではなく、様々な変形例が含まれる。上記した実施形態は本発明のより良い理解のために詳細に説明したものであり、必ずしも説明の全ての構成を備えるものに限定されるものではない。 The present invention is not limited to the embodiments described above, and includes various modifications. The above-described embodiments have been described in detail for better understanding of the present invention, and are not necessarily limited to those having all the configurations described.

例えば、各実施例の各装置が備える各機能の一部は他の装置に設けてもよいし、別装置が備える機能を同一の装置に設けてもよい。 For example, part of each function provided by each device of each embodiment may be provided in another device, or functions provided by another device may be provided in the same device.

また、加工処理間の関係性について、本実施形態で説明した競合関係及び依存関係以外の関係性を特定して、これを加工順序に反映させてもよい。 Further, regarding the relationship between processing processes, relationships other than the competitive relationship and the dependency relationship described in the present embodiment may be specified and reflected in the processing order.

また、本実施形態のチェック処理s910で説明した競合関係及び依存関係の特定方法は一例であり、その他の所定のアルゴリズムに基づき又は所定のデータベース等を参照することにより、競合関係及び依存関係を特定してもよい。 In addition, the method of identifying the conflict and dependency described in the check processing s910 of the present embodiment is an example, and the conflict and dependency can be specified based on another predetermined algorithm or by referring to a predetermined database or the like. You may

また、本実施形態の構成情報はコンテナにおける構成情報を想定したが、それ以外のリソースに関する情報(例えば、仮想サーバ)であっても、本発明の管理システムは適用可能である。 Also, although the configuration information in this embodiment is assumed to be configuration information in a container, the management system of the present invention can also be applied to information related to other resources (for example, virtual servers).

200 管理システム、251 順序算出部、252 チェック部、253 連携部、254 GUI部 200 management system, 251 order calculation unit, 252 check unit, 253 cooperation unit, 254 GUI unit

Claims (10)

プロセッサ及びメモリを有し、
各情報処理装置に対する第1の順序でコンテナの構成情報の加工処理を要求する情報である加工要求を取得する連携部と、
前記取得した加工要求に基づき、前記各情報処理装置が行う各加工処理の加工部分間の関係性を特定するチェック部と、
前記特定した加工部分間の関係性に基づき、前記各情報処理装置が行う加工処理に係る第2の順序を決定する順序算出部と、を備え、
前記連携部は、前記決定した第2の順序で前記各情報処理装置に対して前記構成情報の加工処理を行わせる、
管理システム。
having a processor and memory,
a linking unit that acquires a processing request that is information requesting processing of container configuration information in a first order for each information processing device;
a checking unit that identifies the relationship between the processing parts of each processing performed by each of the information processing devices based on the acquired processing request;
an order calculation unit that determines a second order related to the processing performed by each information processing device based on the relationship between the specified processed parts,
The cooperation unit causes the information processing devices to process the configuration information in the determined second order.
management system.
前記チェック部は、前記各情報処理装置に対して所定の順序で前記構成情報に対応する試験情報を送信して加工処理をそれぞれ行わせ、前記加工処理の前後の試験情報の差分の情報に基づき、前記加工部分間の関係性を特定する、
請求項1に記載の管理システム。
The check unit transmits test information corresponding to the configuration information in a predetermined order to each of the information processing devices, causes them to perform processing, and performs processing based on difference information of the test information before and after the processing. , identifying the relationships between the processed parts;
The management system of Claim 1.
前記順序算出部は、前記特定した関係性を有する加工処理が加工を行う前記構成情報の部分を前記第2の順序の単位とすることで、前記第2の順序を決定する、
請求項1に記載の管理システム。
The order calculation unit determines the second order by using the part of the configuration information to be processed by the processing process having the specified relationship as a unit of the second order.
The management system of Claim 1.
前記チェック部は、
前記各情報処理装置で行われた加工処理、当該加工処理が行われた際の構成情報の条件、及び当該加工処理による加工内容の組み合わせの履歴を取得し、
前記情報処理装置に加工処理を実行させ、実行させた加工処理及びその構成情報の条件が前記履歴に存在しない場合は、前記実行させた加工処理を含む加工部分間の関係性を特定する、
請求項1に記載の管理システム。
The checking unit
Acquiring a history of the processing performed by each information processing device, the conditions of the configuration information when the processing was performed, and the combination of processing contents by the processing,
Cause the information processing device to execute a processing, and if the conditions of the executed processing and its configuration information do not exist in the history, specify the relationship between the processed parts including the executed processing,
The management system of Claim 1.
前記構成情報は、複数の層からなる階層構造を有する情報であり、
前記順序算出部は、前記特定した加工部分間の関係性と、前記加工部分の内容及び当該加工部分の前記階層構造における層の深さとに基づき、前記各情報処理装置が行う加工処理に係る第2の順序を決定する、
請求項1に記載の管理システム。
The configuration information is information having a hierarchical structure consisting of a plurality of layers,
The order calculation unit calculates the order of the processing performed by each information processing device based on the relationship between the specified processed portions, the content of the processed portions, and the depth of layers in the hierarchical structure of the processed portions. determine the order of 2,
The management system of Claim 1.
前記チェック部は、前記新たな構成情報を生成したことを示す所定の情報を記憶し、
前記加工処理の後に、所定の情報処理装置から検証要求を受信し、前記所定の情報に基づき、前記検証要求が示す新たな構成情報が正常に生成されたか否かを判定し、その判定結果を示す情報を前記所定の情報処理装置に返信する検証部を備える、
請求項1に記載の管理システム。
The checking unit stores predetermined information indicating that the new configuration information has been generated;
After the processing, receiving a verification request from a predetermined information processing device, determining whether or not new configuration information indicated by the verification request is normally generated based on the predetermined information, and displaying the determination result A verification unit that returns information indicating the information to the predetermined information processing device,
The management system of Claim 1.
前記加工要求に係る加工処理が実行されるための、構成情報に関する条件の情報が設定されたか否かを判定し、当該情報が設定された場合には、前記情報処理装置宛てに送信された前記加工要求を受信する装置を決定し、前記決定した装置から送信された前記加工要求を受信する挿入部を備える、請求項1に記載の管理システム。 Determining whether or not information on conditions related to configuration information for executing the processing related to the processing request is set, and if the information is set, the information sent to the information processing device 2. The management system according to claim 1, further comprising an insertion unit that determines a device that receives a processing request, and that receives the processing request transmitted from the determined device. 前記特定した前記各加工処理の加工部分間の関係性、又は、前記決定した第2の順序で前記各情報処理装置に対して行わせた前記構成情報の加工処理の内容を表示するGUI部を備える、請求項1に記載の管理システム。 a GUI unit that displays the relationship between the specified processing parts of the processing, or the details of the processing of the configuration information performed by the information processing apparatuses in the determined second order; 2. The management system of claim 1, comprising: ユーザから、前記決定した第2の順序を確定させるための入力を受け付けるGUI部を備える、請求項1に記載の管理システム。 2. The management system according to claim 1, further comprising a GUI section that receives input from a user for confirming the determined second order. 情報処理装置が、
各情報処理装置に対する第1の順序でコンテナの構成情報の加工処理を要求する情報である加工要求を取得する連携処理と、
前記取得した加工要求に基づき、前記各情報処理装置が行う各加工処理の加工部分間の関係性を特定するチェック処理と、
前記特定した加工部分間の関係性に基づき、前記各情報処理装置が行う加工処理に係る第2の順序を決定する順序算出処理と、を実行し、
前記連携処理において、前記決定した第2の順序で前記各情報処理装置に対して前記構成情報の加工処理を行わせる処理を実行する、
管理方法。
The information processing device
Coordination processing of acquiring a processing request, which is information requesting processing of configuration information of a container in a first order for each information processing device;
a check process for identifying a relationship between processed portions of each processing performed by each information processing device based on the acquired processing request;
an order calculation process for determining a second order of the processing performed by each information processing device based on the relationship between the identified processed parts;
In the cooperation processing, executing processing for causing each of the information processing devices to process the configuration information in the determined second order.
Management method.
JP2021089442A 2021-05-27 2021-05-27 Management system and management method Pending JP2022182105A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021089442A JP2022182105A (en) 2021-05-27 2021-05-27 Management system and management method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021089442A JP2022182105A (en) 2021-05-27 2021-05-27 Management system and management method

Publications (1)

Publication Number Publication Date
JP2022182105A true JP2022182105A (en) 2022-12-08

Family

ID=84329010

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021089442A Pending JP2022182105A (en) 2021-05-27 2021-05-27 Management system and management method

Country Status (1)

Country Link
JP (1) JP2022182105A (en)

Similar Documents

Publication Publication Date Title
CN110337641B (en) Determining application test results using screen shot primitive data
RU2701124C2 (en) Composite functions of partition
KR100751159B1 (en) Software authentication system, software authentication method, and computer readable recording medium having software authentication program recorded therein
JP5903822B2 (en) Setting control apparatus, setting control method, and setting control program
US20160019102A1 (en) Application pattern discovery
US20090144612A1 (en) Display of document data
WO2015165412A1 (en) Method for modifying webpage and apparatus for modifying webpage
JP2008102637A (en) Device for providing web service, and method therefor
JPWO2020008991A1 (en) Verification automation equipment, verification automation methods, and programs
JP6441786B2 (en) Test support apparatus, test support method, and program
US10372760B2 (en) Building queries directed to objects hosted on clouds
CN108255434B (en) Label management method, management device and computer readable storage medium
JP6131647B2 (en) Information processing apparatus, program, and file management system
JP2012099103A (en) Method, products and electronic equipment for synchronizing state graph
CN106796644B (en) Access control system and access control method
JP2022182105A (en) Management system and management method
KR20150128711A (en) Method and system for analyzing a trace timeline of computer system activity
JP6119189B2 (en) License management apparatus, license management system, and license management method
JP6552162B2 (en) Information processing apparatus, information processing method, and program
CN114090060A (en) Webpage configuration method and device, terminal equipment and readable storage medium
US11354081B2 (en) Information processing apparatus with concealed information
JP5811869B2 (en) Master management program, master management method, and master management apparatus
CN112286545B (en) Data updating method, device, equipment and storage medium
CN112445790B (en) Report data storage method, device, equipment and medium
JP6603637B2 (en) User interface connection device and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240215