JP2022182105A - Management system and management method - Google Patents
Management system and management method Download PDFInfo
- 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
Links
- 238000007726 management method Methods 0.000 title claims abstract description 50
- 238000012545 processing Methods 0.000 claims abstract description 562
- 238000000034 method Methods 0.000 claims abstract description 94
- 230000008569 process Effects 0.000 claims abstract description 92
- 230000010365 information processing Effects 0.000 claims abstract description 37
- 238000004364 calculation method Methods 0.000 claims abstract description 35
- 238000012795 verification Methods 0.000 claims description 28
- 238000012360 testing method Methods 0.000 claims description 27
- 238000003780 insertion Methods 0.000 claims description 5
- 230000037431 insertion Effects 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 20
- 238000012805 post-processing Methods 0.000 description 20
- 230000004044 response Effects 0.000 description 16
- 230000002860 competitive effect Effects 0.000 description 15
- 238000004891 communication Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 4
- 238000012217 deletion Methods 0.000 description 3
- 230000037430 deletion Effects 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 230000001174 ascending effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000003754 machining Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000004148 unit process Methods 0.000 description 1
Images
Landscapes
- Stored Programmes (AREA)
Abstract
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
しかしながら、加工処理による構成情報の出力内容は、入力される構成情報の内容に依存する場合がある。したがって、加工処理間の競合関係は加工処理の実行順序にも依存することになり、特許文献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
本発明はこのような事情に鑑みてなされたもので、その目的は、複数の加工処理がコンテナの構成情報を加工する場合であっても、加工処理間の矛盾及び衝突が生じることを防ぐことが可能な管理システム、及び管理方法を提供することにある。 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は、実施例1に係る管理システム200の構成の一例を示す図である。管理システム200は、オペレーティングシステム及びランタイム等に対応したコンテナに基づきアプリケーションを実行するためのシステムである。
-Example 1-
FIG. 1 is a diagram illustrating an example configuration of a
具体的には、管理システム200は、1又は複数の呼出サーバ210(APIサーバ)、加工処理情報220、1又は複数の中継サーバ230(リバースプロキシ)、1又は複数の加工サーバ240(処理サーバ)、及びコントローラ250の各情報処理装置を含んで構成される。なお、コンテナとは、本実施形態では、アプリケーション及びアプリケーションの実行に必要な情報(ライブラリ、設定ファイル等)を含んだリソースの集合である。呼出サーバ210、加工処理情報220は、例えばKubernetesプラットフォームを用いて実現される。
Specifically, the
なお、呼出サーバ210、加工処理情報220、中継サーバ230、加工サーバ240、及びコントローラ250の間は、例えば、LAN(Local Area Network)、WAN(Wide Area Network)、インターネット、又は専用線等の有線若しくは無線のネットワーク
40により通信可能に接続される。
Note that the connection between the
呼出サーバ210は、各加工サーバ240に、コンテナの構成情報を含みその構成情報の加工を要求する情報である加工要求を送信し、各加工サーバ240から、(加工後の)構成情報を含む応答情報を受信する。呼出サーバ210は、受信した構成情報を次の加工サーバ240に対する加工要求に用いることで、構成情報を順次加工する。なお、構成情報はYAMLやJSON(Javascript Object Notation。登録商標)などの階層構造を持つデータ形式で示される。
The
加工サーバ240は、呼出サーバ210から送信された加工要求に含まれる構成情報を加工する処理(以下、加工処理という)を行う。具体的には、加工サーバ240は、加工機能241を備える。加工機能241は、例えば、構成情報の追加、更新、又は削除等を行う。
ここで、呼出サーバ210は、所定の順序(以下、第1の順序ともいう)で各加工サーバ240に加工要求を送信する仕様となっているため、構成情報の内容又は加工処理の組合せによっては、各加工サーバ240による加工処理が互いに矛盾又は衝突し、アプリケーションが正しく動作しない構成情報が生成されるおそれがある。
Here, since the
そこで、本実施形態の管理システム200(主に、中継サーバ230及びコントローラ250)は、各加工サーバ240による加工順序を、加工処理の加工対象(加工部分)間の関係性(本実施形態では、依存関係及び競合関係)に基づき新たな加工順序(第2の順序)に変更することで、構成情報の加工処理同士で矛盾衝突が起こることを防ぐ。
Therefore, the management system 200 (mainly, the
中継サーバ230は、加工サーバ240に対応して設けられる。中継サーバ230は、呼出サーバ210から送信された(加工サーバ240宛ての)加工要求を奪取し、これをコントローラ250に転送する。加工要求の奪取は、例えば、加工サーバ240とネットワークを共有するコンテナ又は加工サーバ240内のプロセス等により実現され、具体的には、加工サーバ240に、中継サーバ230への転送設定を行うことで実現される(サイドカーパターン)。
具体的には、中継サーバ230は、中継部231を備える。中継部231は、呼出サーバ210が送信した、加工サーバ240宛ての加工要求を取得してコントローラ250に転送する。また、中継部231は、コントローラ250から送信された、加工要求に対応する応答情報を呼出サーバ210に転送する。なお、中継サーバ230は、特定のフラグが加工要求に設定されている場合(例えば、URL又はパラメータ等で指定)は、加工サーバ240に処理を転送することで、コントローラ250が加工サーバ240を直接呼び出す。
Specifically,
なお、中継サーバ230は、加工サーバ240と同数存在してもよいし、複数の加工サーバ240に対応するサーバとして設けられてもよい。
The number of
次に、加工処理情報220は、各加工処理のID、及び各加工処理を実行するための条件(構成情報に関する条件)を示す情報で、例えばデータベースやデータストアに保持される。加工処理情報220は、例えば、Kubernetesにおける、Mutating Admission Webhookのためのリソースの情報などである。加工処理情報220の詳細は後述する。
Next, the
次に、コントローラ250は、順序算出部251、チェック部252、連携部253、及びGUI部254を備える。また、コントローラ250は、加工処理の組合せ、それらの加工処理が行われた際の構成情報の条件、及びそれらの加工処理による加工内容の履歴を記憶した組合せ情報255と、加工処理間の競合関係及び依存関係を記憶した情報であるルール情報256と、各加工サーバ240による加工処理の結果を記憶したトレース情報257とを記憶する。
Next, the
順序算出部251は、組合せ情報255及びルール情報256に基づき、リクエストに対する各加工サーバ240の呼び出し順序(加工処理の順序。以下、加工順序という。)を算出する。
Based on the
チェック部252は、加工処理による加工の前後の差分情報に基づき、加工処理間での競合関係及び依存関係を算出する。
The
連携部253は、中継サーバ230から受信した加工要求を受け付け、所定のIDの付与、構成情報の履歴(ログ情報)の登録、及び、加工処理に関する判定を行う。
The linking
(加工処理情報DB)
図2は、加工処理情報220が記憶する加工処理情報225の一例を示す図である。加工処理情報225は、例えば、構成情報を加工する加工処理(加工サーバ240)の総数Nの算出、及び加工要求の送信先(宛先)たる加工サーバ240の管理に使用される。
(processing information DB)
FIG. 2 is a diagram showing an example of processing
加工処理情報225は、加工処理の種類及びバージョンの識別子である処理ID501(例えば、オブジェクトIDおよびリソースバージョン)、処理ID501に係る加工処理が実行されるための構成情報の条件502(構成情報のパラメータ等が設定される)、処理ID501に係る加工処理の名前503、及び、処理ID501に係る加工処理を行う加工サーバ240(呼び出し先の加工サーバ240)の宛先504(例えば、URL又はサーバ名)の各データ項目を有する。なお、加工処理情報225は、例えば、管理者等により管理システム220の外部(例えばKubernetesのAPIサーバ経由)にて設定、更新
又は削除される。
The
(組合せ情報)
図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
加工内容603には、例えば、加工処理のID、加工処理による加工部分(箇所)、加工部分における加工内容(例えば、CREATE(新規追加)、UPDATE(更新)、DELETE(削除))の情報が設定される。
In the
なお、複数の加工条件リストについて、IDリスト601及び加工条件602の内容が同一であっても、加工内容603が異なる場合は、それぞれ異なるレコードに情報が設定される。この際、加工条件602には、加工処理情報225の条件502に対応する条件の他、加工内容603に係る加工における加工箇所の情報が設定される。
For a plurality of processing condition lists, even if the contents of the
(ルール情報)
図4は、ルール情報256の一例を示す図である。ルール情報256は、ユーザにより指定され又はコントローラ250により算出された、加工処理間の競合関係及び依存関係の情報及び加工処理間の加工順序の情報等を記憶している。ルールは競合関係又は依存関係の範囲(以下、干渉ブロックという)ごとに作成される。
(rule information)
FIG. 4 is a diagram showing an example of the
具体的にはルール情報256は、干渉ブロックに含まれる加工処理のリストであるIDリスト701、IDリスト701に係る加工処理が実行される際の構成情報の内容が設定される条件702、IDリスト701に係る各加工処理の加工順序の情報が設定されるルール703、加工処理間の関係(依存関係「依存」、競合関係「競合」、又は双方「依存」「競合」)を示す情報が設定されるタイプ704、ルール703がユーザにより指定されたか(「ユーザ」)又はコントローラ250により自動的に設定されたか(「自動」)を示す情報が設定される指定705、コントローラ250によりルール703が設定され
た場合にその加工処理による加工の内容が設定される自動加工内容706、及び、ユーザによりルール703が指定された場合にその加工処理の加工の内容が設定されるユーザ指定後加工内容707の各データ項目を有する。
Specifically, the
なお、後述するように、競合解決画面400によりある加工処理に関してスキップが指定された場合は、ルール703におけるその加工処理のデータは削除される。このため、IDリスト701に含まれる加工処理の数とルール703に含まれる加工処理の数は必ずしも一致するとは限らない。また、干渉ブロックは競合関係または依存関係が発生している加工処理のうち、構成情報において最も階層が浅い加工処理の一つの要素を起点とする範囲を指す。このため、複数の要素を加工する加工処理がある場合には、一つの構成情報に複数の干渉ブロックが発生しうる。
As will be described later, when skipping is specified for a processing process on the
ここで、図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
(Micro Processing Unit), or
A
各情報処理装置は、プロセッサ301が、主記憶装置304又は補助記憶装置305に格納されているプログラムを読み出して実行することにより実現される。また上記のプログラムは、例えば、記録媒体に記録して配布することができる。
Each information processing device is implemented by the
次に、管理システム200において行われる処理について説明する。
<処理の概要>
図6は、呼出サーバ210からの加工要求に含まれる構成情報に関して、各加工サーバ240による構成情報の加工順序を変更することで適切な構成情報を出力する処理(以下、構成情報出力処理という)の概要を説明するブロック図である。
Next, processing performed in the
<Overview of processing>
FIG. 6 shows processing for outputting appropriate configuration information by changing the processing order of the configuration information by each
まず、呼出サーバ210が、その仕様に従って、各加工サーバ240宛てに所定の順序(第1の順序)にて順次、構成情報110を含む加工要求を送信する。すると、各加工サーバ240に対応する各中継サーバ230は、各加工要求を奪取してこれをコントローラ250に転送する。コントローラ250は、ここでは加工処理を行わず、各加工要求に対応するIDを含むダミーの応答情報を、各中継サーバ230を経由して呼出サーバ210に送信する(以上、s1-s4)。
First, the
コントローラ250は、最後の中継サーバ230から加工要求を受信すると(s5、s6)、受信した加工要求における構成情報に関して、各加工サーバ240による構成情報の加工順序(第2の順序)を決定する処理(処理順序算出処理s911)を行い、その加
工順序に従って、中継サーバ230経由で加工サーバ240を呼び出すことで、構成情報の加工を順次行わせる(s7-s9。なお図面上では中継サーバ230の経由は省略)。そして、コントローラ250は、加工した加工後構成情報111を呼出サーバ210に送信する(s10、s11)。
When the
これにより、例えば、呼出サーバ210が当初、加工サーバA、B、C(中継サーバA、B、C)の順にリクエストを送信し、これが各加工サーバ240による構成情報の加工に競合等を生じさせて適切な構成情報が出力されない場合であっても、コントローラ250が加工順序の設定を行うことで、加工順序を加工サーバB、C、A(中継サーバB、C、A)に変更させ適切な構成情報が出力させることができる。
As a result, for example, the calling
ここで、コントローラ250は、処理順序算出処理s911を行う際、各加工処理間の競合関係及び依存関係を特定するチェック処理s910を実行する。
Here, when the
<チェック処理(依存関係及び競合関係の算出)>
図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
コントローラ250は、生成した各差分情報及び加工箇所の情報を参照することで、加工サーバ240間の依存関係及び競合関係を特定する。具体的には、コントローラ250は、試験用構成情報が変化しなくなるまで、試験用構成情報の加工を各加工サーバ240に対して順に繰り返し行わせると共に、各加工に関する試験用構成情報の差分情報を生成する。なお、加工サーバ240が、試験用構成情報の一部を削除する加工を実行した場合には、コントローラ250は、差分情報にはその差分を記憶する一方、加工後の試験用構成情報に対しては削除部分を復活させて次の加工サーバ240に対する加工処理に用いる。これは削除処理により依存関係及び競合関係の情報が失われることを防ぐためである。
The
同図の例では、加工サーバ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
<構成情報出力処理のシーケンス>
図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
まず、連携部253は、構成情報を取得する(s900)。構成情報の取得は、例えば、ユーザからの入力、又は他の情報処理装置からの受信に基づく。
First, the
そして、連携部253は、受信した構成情報に関して以下のs901~s906の処理を実行する。なお、この処理は、実際に加工サーバ240による加工処理が行われることなく、呼出サーバ210が加工処理に対するダミーの応答情報を受信する処理である。本処理は加工サーバ240がN個ある場合、N-1回実施される。
Then, the
すなわち、各中継サーバ230は、呼出サーバ210が各加工サーバ240宛に送信した、構成情報を含むリクエストを順次奪取し(s901、s907)、取得したリクエストをコントローラ250に送信する(s902、s908)。
That is, each
コントローラ250の連携部253は、各中継サーバ230から受信した各構成情報に対して所定のIDを設定する(s903)。なお、この処理は、構成情報にIDが設定されていない場合のみ実行される。
The
また、連携部253は、各中継サーバ230から構成情報を受信するごとに、中継サーバ230が呼出サーバ210から呼び出された旨を記憶すると共にその構成情報が呼出サーバ210から最後に受信する構成情報であるかを、加工処理情報220を参照することで確認する(s904、s909)。
Also, each time the linking
連携部253は、受信した構成情報が最後に受信すべき構成情報でないと判定した場合は(s904)、(その構成情報を送信してきた)中継サーバ230に、設定したID及びダミーの応答情報を送信する(s905)。ID及び応答情報を受信した中継サーバ230は、受信したIDを応答情報として呼出サーバ210に転送する(s906)。なお、ダミーの応答情報は、例えば入力された構成情報にID情報を付与したのみの情報である。
When the linking
一方、連携部253が、最後に受信すべき構成情報を受信したと判定した場合は(s909)、これまでに受信した構成情報により特定される加工処理の組合せに対して、図11にて詳述するチェック処理s910を実施する。
On the other hand, when the
その後、順序算出部251は、チェック処理s910の結果及びルール情報256に基づき、各加工サーバ240による加工順序を決定する(s911)。
After that, the
具体的には、例えば、順序算出部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
順序算出部251は、s911で決定した加工順序に従って各加工サーバ240を呼び出すことで、s908で受信した構成情報に対する加工処理を順次実行する(s912~s918)。
The
具体的には、まず、順序算出部251は、加工サーバ240宛に、構成情報を含む加工要求を送信し(s912)、対応する中継サーバ230がこの加工要求を受信して加工サーバ240に転送する(s913)。加工サーバ240は、受信した構成情報を、当該加工サーバ240が予め定めた加工処理にて加工する(s914)。なお、加工された構成情報は、以降の各加工サーバ240における加工に順次用いられる。
Specifically, first, the
加工サーバ240は、加工した構成情報を含む応答情報を呼出サーバ210宛に送信し(s915)、対応する中継サーバ230がこの応答情報を奪取してコントローラ250に送信する(s916)。
順序算出部251は、加工サーバ240からs916により受信した構成情報により特定される構成情報の加工内容が、組合せ情報255又はルール情報256に登録されている加工処理の内容と一致するか否かを判定する(s917)。具体的には、順序算出部251は、受信した構成情報により特定される構成情報の加工内容が、s911で記憶したレコードのユーザ指定後加工内容707(ユーザ指定後加工内容707に情報が設定されていない場合は自動加工内容706)と一致しているか否かを判定する。ただし、処理順序が複数のルール703で構成されている場合は、順序算出部251は、受信した構成情報により特定される構成情報の加工内容が、s911で記憶したレコード群のいずれかの自動加工内容706もしくはユーザ指定後加工内容707と一致しているか否かを判定する。その後、順序算出部251は、現在加工処理を実行中のルール703に対応したユーザ指定後加工内容707(ユーザ指定後加工内容707に情報が設定されていない場合は自動加工内容706)以外の加工箇所を、当該加工処理で加工される以前の状態に復元する(対象とする干渉ブロック以外は加工しないようにする)。
The
両者の加工内容が一致しない場合は、順序算出部251は、所定の再計算フラグを設定してチェック処理s910からの処理を繰り返す。両者の加工内容が一致する場合、順序算出部251は、次述するs918の処理を実行する。
If the two processing contents do not match, the
なお、順序算出部251は、両者の加工内容は異なるが、加工箇所が同じである場合は、チェック処理s910は実行せずに、その加工内容を、組合せ情報255又はルール情報256に追加する。例えば、順序算出部251は、加工サーバ240による加工前の構成情報の部分“CREATE”に対して”UPDATE”を追加した場合は、構成情報に[“CREATE”,”UPDATE”]を設定する。
Note that the
s918において順序算出部251は、s913までに行った構成情報の加工内容をトレース情報257に記憶する。以降は図9にてトレース情報の説明し、その後改めてs919以降の処理を示す。
In s918, the
(トレース情報)
図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
なお、処理タイプ803には、対応する加工処理がチェック処理により実行された場合
には「チェック処理」、その他の処理により実行された場合には「通常処理」が設定される。
The
以上のように、コントローラ250は、図8に示したs912~s918の処理を、s911で決定した処理順序に従って、各加工サーバ240に対して繰り返し実行する。
As described above, the
その後、連携部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
<競合解決画面>
図10は、競合解決画面の一例を示す図である。競合解決画面400は、ユーザが加工処理間の依存関係及び競合関係の情報を設定するための画面である。
<Conflict resolution screen>
FIG. 10 is a diagram showing an example of a conflict resolution screen. The
競合解決画面400は、競合リスト表示部410、ルール追加ボタン420、ルール設定部430、設定ビューア440、及びOKボタン450を備える。
The
競合リスト表示部410には、ルール情報256のうち、タイプ704に「競合」が含まれるレコードの情報がリストで表示される。
The conflict
具体的には、競合リスト表示部410には、各レコードのルール703がユーザ入力により解決された(Done)か否か(-)を示す情報(Resolved)、各レコードの加工処理が実行されるための構成情報の条件(Condition)、及び、そのレコードのIDリスト70
1(Processors)が表示される。
Specifically, in the conflict
1 (Processors) is displayed.
ルール追加ボタン420は、ユーザ独自のルールの作成を受け付ける。具体的には、ルール追加ボタン420が押下されると、ルール情報256の各カラムに対応した情報を入力可能なポップアップ画面が表示され、その画面にユーザが入力した情報が新規にルール情報256に追加される。
The
ルール設定部430は、競合リスト表示部410に表示されている各干渉ブロックにおける加工処理の順序の指定をユーザから受け付ける。また、ルール設定部430は、競合リスト表示部410に表示されている各干渉ブロックの加工処理のうち、干渉ブロックから除外する(スキップする)加工処理の指定をユーザから受け付ける。
The
設定ビューア440には、ルール設定部430により指定された加工処理が実行される場合に、構成情報がどのように変更されるかを示す情報(構成情報の変化)が表示される。なお、この表示を行うための素材となる構成情報は、トレース情報257から、処理ID801及び加工条件802が一致し、処理タイプ803がチェック処理で、順序805が1のレコードの加工前806の情報を抽出することで取得される。
The
具体的には、設定ビューア440には、加工処理により追加又は変更される構成情報の部分(「+」)と、加工処理により削除される構成情報の部分(「-」)とが表示される。また、設定ビューア440には加工箇所が強調表示される(例えば、網掛けがなされる
)。複数の加工箇所が競合又は依存関係にある箇所は前述のように干渉ブロック441として表示される。なお、設定ビューア440における構成情報の内容は、例えば、トレース情報257(例えば、処理タイプ803に「チェック処理」が設定され、かつ条件802に競合条件が設定されているレコード)、及びルール設定部430の内容から取得される。
Specifically, the
OKボタン450は、ユーザから、ルール設定部430に現在表示されている内容のルール情報256への登録を受け付ける。
次に、チェック処理s910の詳細を説明する。
The
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
チェック処理が再チェックである場合は(P1001:YES)、チェック部252は後述するP1020の処理を実行し、チェック処理が再チェックでない場合は(P1001:NO)、チェック部252は後述するP1010の処理を実行する。
If the check process is recheck (P1001: YES), the
P1010においてチェック部252は、対象構成情報に係る加工処理及びその条件が、過去に加工サーバ240で行われた加工処理及びその条件に一致するか否かを判定する。具体的には、チェック部252は、組合せ情報255に、当該対象構成情報に係る加工内容及び(加工前の)対象構成情報の条件が設定されているレコードがあるか否かを判定する。
In P1010, the
両者が一致しない場合は(P1010:Yes)、チェック部252は、次述するs1020の処理を実行し、両者が一致する場合は(P1010:No)、チェック部252は、チェック処理s910を終了する。
If the two do not match (P1010: Yes), the
P1020においてチェック部252は、対象構成情報に係る加工処理群の情報を取得する。具体的には、チェック部252は、加工処理情報220から、条件502に(加工前の)対象構成情報の条件が設定されているレコードの内容(処理ID501等)を取得する。
In P1020, the
チェック部252は、対象構成情報の内容を有する試験用構成情報(ダミーの構成情報)を生成する。そして、チェック部252は、P1020で取得した各加工処理を予め定めた順序にて、対応する加工サーバ240に対して実際に実行させることで、試験用構成情報を順次加工する(P1030)。なお、チェック部252は、各加工前後の試験用構成情報を比較した場合に、特定のデータが削除されている場合は、削除された部分を復活させる。
The
P1030の処理の際、チェック部252は、各加工サーバ240に加工処理を実行させるごとに、その加工内容をトレース情報257に記憶する。具体的には、例えば、チェック部252は、トレース情報257の処理ID801に、実行した加工処理のIDを設定し、処理タイプ803に「チェック処理」を設定し、対象804に、加工処理に対応する試験用構成情報(構成情報)のIDを設定し、加工前806に、加工処理の実行前の試験用構成情報を設定し、加工後807に、加工処理の実行後の試験用構成情報を設定する。
In the process of P1030, the
チェック部252は、P1030で生成したトレース情報257に基づき、P1030で実行した加工処理により試験用構成情報が変更されたか否かを判定する(P1040)。
Based on the
試験用構成情報が変更されなかった場合は(P1040:NO)、チェック部252は、P1030の処理を繰り返し、試験用構成情報が変更された場合は(P1040:Yes)、チェック部252は、P1050の処理を実行する。
If the test configuration information has not been changed (P1040: NO), the
P1050においてチェック部252は、加工処理により加工された試験用構成情報の差分の情報(変更の箇所及び変更の内容)を、P1030で生成したトレース情報257の加工前806及び加工後807等により生成する。
At P1050, the
チェック部252は、試験用構成情報の差分の情報に基づき、各加工処理間の依存関係及び競合関係を特定する(P1060)。
The
例えば、チェック部252は、各差分の情報を参照し、変更の箇所が共通する加工処理同士を競合関係として特定する。また、例えば、チェック部252は、各差分の情報を参照し、ある差分が他の差分を前提としている場合に、ある差分に係る加工処理が他の差分に係る加工処理に対して依存すると特定する。具体的には、例えば、チェック部252は、3番目の加工処理による差分が「spec.container[*].image」であり、1番目の加工処
理による差分が「spec.containers[1]」である場合は、3番目の加工処理は1番目の加工処理に依存すると判定する。さらに、チェック部252は、1番目の加工処理による差分がさらに「spec.containers[1].image」を含んでいれば、1番目の加工処理と3番目の加工処理はさらに競合関係にもあると判定する。
For example, the
チェック部252は、P1060で特定した競合関係及び依存関係に係る各加工処理による加工部分(差分)を組合せ情報255に設定する(P1070)。
The
具体的には、チェック部252は、組合せ情報255のIDリスト601に、P1020で取得した加工処理のレコードの内容(IDのリスト)を設定し、加工内容603に、加工処理による構成情報の差分の情報(初期状態の構成情報から変化している部分の情報)をP1050での差分の情報に基づき設定する。加工条件602に対しては、チェック部252は、再計算フラグが設定されている場合は、P1030で実行した加工処理に係る条件(構成情報)の和集合の情報を設定する。一方、再計算フラグが設定されていない場合は、加工内容が変化した際の構成情報の条件を漏れなく組合せ情報255に登録するべく(すなわち、加工サーバ250がコントローラ250が直接検知できない構成情報の条件下で加工処理を行っていた場合の加工内容とその条件を、P1030で加工サーバ250に行わせた加工処理の結果に基づき登録すべく)、チェック部252は例えば以下の処理を行う。
Specifically, the
すなわちチェック部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
52 acquires data corresponding to the
チェック部252は、P1060で特定した各加工処理間の依存関係及び競合関係に基づき、互いに依存関係又は競合関係にある構成情報の部分に対する各加工処理の加工順序を設定する(P1080)。
The
例えば、チェック部252は、「ルール1.加工処理による加工箇所(構成情報の部分)の階層が深い加工処理ほどより後ろの順序とする」、「ルール2.階層が同じ深さの場合は、加工処理に関して、DELETE(データの削除)、CREATE(データの作成)、UPDATE(データの更新)の優先順位とする」、「ルール3.ルール1及びルール2で加工順序を決定できない加工処理間は、加工処理情報220への加工処理の登録順とする」といったルールで加工順序を設定する。例えば、1.については、チェック部252は、加工処理として「spec.containers」及び「spec.containers[*].imges」がある場合、後者をより後
に実行する。このようなルールにより、より多くの加工処理を構成情報に反映できる。
For example, the
チェック部252は、P1080で決定した加工順序をルール情報256に登録する(P1090)。具体的には、チェック部252は、ルール情報256のIDリスト701、条件702、及び自動加工内容706には、P1070で組合せ情報255に設定したIDリスト601、加工条件602、及び加工内容603をそれぞれ設定し、ルール703には、P1080で決定した各加工処理の加工順序の情報を設定し、タイプ704には、P1060で特定した依存関係及び競合関係の情報を設定し、指定705には「自動」を設定し、ユーザ指定後加工内容707には空情報を設定する。
The
なお、ここでチェック部252は、試験用構成情報を破棄する。以上でチェック処理s910は終了する。
Here, the
以上のように、本実施例の管理システム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
すなわち、コントローラ250は、各加工サーバ240に対する加工要求の加工順序を、加工要求が対象とする加工部分の関係性に基づいて第1の順序から第2の順序に修正して、その第2の順序に基づき構成情報の加工を行う。このようにして、本実施例の管理システム200は、複数の加工処理がコンテナの構成情報を加工する場合であっても、加工処理間の矛盾及び衝突が生じることを防ぐことができる。
That is, the
また、本実施例の管理システム200は、各加工サーバ240に対して所定の順序で構成情報の試験情報を送信して加工処理をそれぞれ行わせ、加工処理の前後の試験情報の差分の情報に基づき、加工部分間の関係性を特定する(チェック処理s910)。
In addition, the
これにより、加工部分間の関係性を、各加工サーバ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
また、本実施例の管理システム200は、上記特定した関係性を有する加工処理が加工を行う構成情報の部分を第2の順序の単位(すなわち干渉ブロック)とすることで、第2の順序を決定する。
In addition, the
これにより、構成情報全体ではなく構成情報の部分に対して順序づけを行うことができ
、より精度の高い加工順序の順序づけが可能となる。
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
これにより、例えば、コントローラ250が直接検知できない構成情報の条件に基づき加工サーバ240が通常と異なる(コントローラ250が行う)加工結果を生じる加工処理を行った場合であっても、コントローラ250は、その際の条件に基づく加工処理に関する関係性を特定することができる。
As a result, for example, even if the
また、本実施例の管理システム200は、構成情報における加工部分間の関係性と、加工部分の内容及び当該加工部分の階層構造における層の深さとに基づき第2の順序を決定する。これにより、構成情報の論理構造に応じて、加工処理間の関係性を効率良く特定することができる。
Also, the
また、本実施例の管理システム200は、ユーザから、自動生成した第2の順序を確定させるための入力を受け付けることで、ユーザの意向に沿った加工後構成情報111を出力させることができる。
In addition, the
-実施例2-
実施例2の管理システム1100は、実施例1の管理システム200に対してさらなる機能を実現するシステムである。
-Example 2-
The
図12は、実施例2に係る管理システム1100の構成の一例を示す図である。
FIG. 12 is a diagram illustrating an example configuration of a
管理システム1100における呼出サーバ1110の呼び出し機能1111と、中継サーバ230と、加工サーバ240と、加工処理情報220と、コントローラ1130の順序算出部1131、チェック部1132、連携部1133、組合せ情報1135、ルール情報1136、及びトレース情報1137とは実施例1と同様である。
Calling function 1111 of calling
管理システム1100はさらに、検証処理情報1120、及び、挿入部1141を有する挿入サーバ1140を備える。また、呼出サーバ1110はさらに検証部1112を備える。コントローラ1130は検証部1138を備える。
The
検証処理情報1120は、次述する検証処理に関して、加工処理情報220と類似するデータ構造を有する情報である。すなわち、検証処理情報1120は、各検証処理のID、検証処理が実行される条件、検証処理の名称、及び検証処理が実行される装置(例えば、コントローラ1130)の識別情報を含む。
The
呼出サーバ1110の検証部1112は、構成情報出力処理による構成情報の加工後、コントローラ1130に対して、順序算出処理s911による加工順序の自動生成の処理が行われたかを検証する検証処理を要求する検証要求を送信する。検証部1112は、検証要求に対する応答情報を受信する。検証要求には、加工された構成情報が付帯する。
After processing the configuration information by the configuration information output processing, the
コントローラ250の検証部1138は、呼出サーバ1110から検証要求を受信すると、受信した検証要求及びルール情報256に基づき、加工順序の自動生成の処理が行われたか否かを検証する検証処理を実行する。具体的には、検証部1138は、ルール情報
256から、検証要求に含まれる構成情報が条件702に設定されているレコードを抽出し、抽出したレコードの指定705に「自動」が設定されているか否かを判定し、「自動」が設定されている場合は、応答情報としてエラー情報を呼出サーバ1110に送信する。また、検証部1138は、抽出したレコードの指定705に「ユーザ」が設定されている場合は、応答情報として正常情報を呼出サーバ1110に送信する。
Upon receiving the verification request from the calling
挿入サーバ1140は、加工処理情報220の変化に応じて、加工サーバ240の前段となる中継サーバ230を動的に配置する(デプロイする)。
The
すなわち、挿入部1141は、加工処理情報220及び検証処理情報1120のデータ内容を監視する。挿入部1141は、加工処理情報220又は検証処理情報1120のレコードが追加又は削除されると、そのレコードに係る加工サーバ240に対して割り当てる中継サーバ230を、所定のアルゴリズムで決定する。例えば、挿入部1141は、当該加工サーバ240と同一ネットワーク上に中継サーバ230をデプロイし、加工サーバ240のiptables等を操作して加工サーバ240宛てに送信された加工要求を、新規に割り当てた中継サーバ230経由で伝送されるようにする。または、挿入部1141は、iptables等を操作し、加工サーバ240宛てに送信された加工要求を既に割り当てられた中継サーバ230経由で伝送されるようにする。
That is, the inserting
さらに、本実施形態のコントローラ250のGUI部1134は、チェック処理s910により特定され処理順序算出処理s911により解消された加工処理間の競合関係及び依存関係の情報を提示するトレース表示画面1200を画面に表示する。
Furthermore, the
<トレース表示画面>
図13は、トレース表示画面1200の一例を示す図である。トレース表示画面1200は、例えば、処理順序算出処理s911の終了後、ユーザから所定の入力があった場合に表示される。
<Trace display screen>
FIG. 13 is a diagram showing an example of a
トレース表示画面1200は、構成情報リスト1210、関係性ビューア1220、及び設定ビューア1230を備える。
構成情報リスト1210には、過去に加工処理により加工された構成情報のリストが表示される。具体的には、構成情報リスト1210には、トレース情報257の処理タイプ803が「通常処理」と設定されている加工処理の加工対象の構成情報のID、その加工処理が実行された構成情報の条件(Conditions)、及び、加工処理の名称(Processors。加工処理情報220の名前503に対応)のリストが表示される。
The
関係性ビューア1220には、各加工処理の名前(Name)及びその加工順序(Order。
処理順序算出処理s911にて算出された加工順序)と、各加工処理間の依存関係及び競合関係を図示した関係図(加工をスキップした加工処理(「-」)は他の加工処理と区別して表示される)とが表示される。
The
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
このように、本実施例の管理システム1100は、加工後構成情報111を生成したこ
とを示す情報(例えば、競合解決画面400の競合リスト410でユーザ指定されたか又は自動生成のままかを示すルール情報256)を記憶し、呼出サーバ210から検証要求を受信すると、これに基づき、加工後構成情報111が正常に生成されたか否かの判定結果の情報(例えば、自動生成の場合はエラー情報等)を、呼出サーバ210に返信する。
In this way, the
これにより、例えば、自動生成された加工順序に基づき(ユーザが確定させていない加工順序に基づき)加工後構成情報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
また、本実施例の管理システム1100は、加工要求に係る加工処理が実行されるための、構成情報に関する条件の情報が加工処理情報220に設定された場合には、加工サーバ240宛てに送信された加工要求を受信する中継サーバ230をデプロイ又は選定し、デプロイ又は選定した中継サーバ230にて送信された加工要求を受信する。
Further, in the
このように、加工要求をコントローラ250に転送する中継サーバ230を動的に割り当てることで、各中継サーバ230のリソースを効率よく使用することができる。
By dynamically allocating the
また、実施例1、2の管理システム200、1100は、各加工処理の加工部分間の関係性、又は、第2の順序で加工サーバ240に対して行わせた構成情報の加工処理の内容を表示する画面を表示する(競合解決画面400、トレース表示画面1200)。
Also, the
これにより、ユーザは、加工処理の関係性の特定及び構成情報の加工が正しく行われたかを確認することができる。 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.
請求項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の順序でコンテナの構成情報の加工処理を要求する情報である加工要求を取得する連携処理と、
前記取得した加工要求に基づき、前記各情報処理装置が行う各加工処理の加工部分間の関係性を特定するチェック処理と、
前記特定した加工部分間の関係性に基づき、前記各情報処理装置が行う加工処理に係る第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.
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) |
-
2021
- 2021-05-27 JP JP2021089442A patent/JP2022182105A/en active Pending
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 |