(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-02-07
(54)【発明の名称】クラスタリソースの制御方法および装置、ならびにクラウドコンピューティングシステム
(51)【国際特許分類】
G06F 9/50 20060101AFI20230131BHJP
G06F 8/60 20180101ALI20230131BHJP
【FI】
G06F9/50 120A
G06F8/60
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2022534290
(86)(22)【出願日】2020-09-24
(85)【翻訳文提出日】2022-08-05
(86)【国際出願番号】 CN2020117413
(87)【国際公開番号】W WO2021109686
(87)【国際公開日】2021-06-10
(31)【優先権主張番号】201911232841.4
(32)【優先日】2019-12-05
(33)【優先権主張国・地域又は機関】CN
(81)【指定国・地域】
(71)【出願人】
【識別番号】519274389
【氏名又は名称】北京京▲東▼尚科信息技▲術▼有限公司
【氏名又は名称原語表記】BEIJING JINGDONG SHANGKE INFORMATION TECHNOLOGY CO., LTD.
【住所又は居所原語表記】8TH FLOOR OF BUILDING, NO. 76, ZHICHUN ROAD, HAIDIAN DISTRICT, BEIJING 100086, PEOPLE’S REPUBLIC OF CHINA
(71)【出願人】
【識別番号】517241916
【氏名又は名称】北京京東世紀貿易有限公司
【氏名又は名称原語表記】BEIJING JINGDONG CENTURY TRADING CO., LTD.
【住所又は居所原語表記】Room 201, 2/F, Block C, No.18, Kechuang 11th Street, Beijing Economic and Technological Development Zone, Beijing 100176, China
(74)【代理人】
【識別番号】100108453
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】沈 伯▲偉▼
(72)【発明者】
【氏名】都 ▲海▼峰
(72)【発明者】
【氏名】李 文▲喬▼
(72)【発明者】
【氏名】王 俊
(72)【発明者】
【氏名】白 石
(72)【発明者】
【氏名】▲韓▼ 楚怡
【テーマコード(参考)】
5B376
【Fターム(参考)】
5B376AB13
(57)【要約】
本開示は、クラスタリソース制御方法および装置、ならびにクラウドコンピューティングシステムに関し、コンピュータの技術分野に関する。方法は、制御されるべきリソースが、拡張されるべきリソースであるとき、拡張されるべきリソースとアプリケーションとの間の束縛関係を判断するステップと、初期化後に拡張されるべきリソースを、それとの束縛関係を有する、対応するアプリケーションのリソースプールに追加するステップと、処理されるべきアプリケーションの展開タイプに基づいて、処理されるべきアプリケーションの、実行されるべきデータパケットを生成するステップと、処理されるべきアプリケーションのリソースプールの中の、拡張されるべきリソース上で実行されるべきデータパケットを、実行のために展開するステップとを含む。
【特許請求の範囲】
【請求項1】
クラスタリソースの制御方法であって、
制御予定リソースが拡張予定リソースである場合、前記拡張予定リソースとアプリケーションとの間の束縛関係を判断するステップと、
前記拡張予定リソースとの前記束縛関係を有する、対応するアプリケーションのリソースプールに、初期化されている前記拡張予定リソースを追加するステップと、
前記アプリケーションの展開タイプに従って、処理予定アプリケーションの実行予定データパケットを生成するステップと、
前記アプリケーションの前記リソースプールの中の前記拡張予定リソース上で前記実行予定データパケットを、実行のために展開するステップとを含む、方法。
【請求項2】
前記拡張予定リソースとの前記束縛関係を有する、対応するアプリケーションのリソースプールに、初期化されている前記拡張予定リソースを追加する前記ステップは、
前記拡張予定リソースの関連情報を、前記対応するアプリケーションのプレスクリプトへ転送するステップと、
前記拡張予定リソースの前記初期化を完了するために前記プレスクリプトを実行するステップとを含む、請求項1に記載の制御方法。
【請求項3】
処理予定アプリケーションの実行予定データパケットを生成する前記ステップは、
前記展開タイプがパッケージ展開である場合、前記拡張予定リソースが物理マシンであると判断し、前記処理予定アプリケーションのプログラムパッケージを前記実行予定データパケットとして生成するステップと、
前記展開タイプが画像展開である場合、前記拡張予定リソースがコンテナ画像であると判断し、前記処理予定アプリケーションのプログラムパッケージを生成し、前記処理予定アプリケーションの前記プログラムパッケージおよび稼動画像に従って、前記実行予定データパケットを生成するステップとを含む、請求項1に記載の制御方法。
【請求項4】
前記処理予定アプリケーションの前記リソースプールの中の前記拡張予定リソース上で、前記実行予定データパケットを実行のために展開する前記ステップは、
前記拡張予定リソースが前記物理マシンである場合、前記実行予定データパケットを、実行のために前記物理マシンへ送るステップと、
前記拡張予定リソースが前記コンテナ画像である場合、前記処理予定アプリケーションとの前記束縛関係を有するリソースプールの中のアイドル物理マシンへ、前記実行予定データパケットを実行のために送るステップとを含む、請求項3に記載の制御方法。
【請求項5】
前記アプリケーションの前記リソースプールの中の前記拡張予定リソース上で前記実行予定データパケットを実行のために展開する前記ステップは、
前記リソースプールの中の前記拡張予定リソースの関連情報を獲得するステップと、
前記拡張予定リソースの前記関連情報を、前記処理予定アプリケーション用に構成された展開インターフェースを通して前記処理予定アプリケーションのサードパーティプログラムへ送るステップであって、前記関連情報は、前記サードパーティプログラムの展開モードに従った、前記サードパーティプログラムによる実行のために、前記拡張予定リソース上での前記実行予定データパケットの前記展開の際に使われる、ステップとを含む、請求項1に記載の制御方法。
【請求項6】
前記処理予定アプリケーションのポストスクリプトを実行するステップをさらに含み、前記ポストスクリプトは、
クラスタの管理ノードに拡張結果を戻すこと、
前記リソースプールの中の拡張リソース用のボリュームを作成すること、または
前記拡張によって生成されたガベージをクリーニングすること、のうちの少なくとも1つのために使われる、請求項1に記載の制御方法。
【請求項7】
前記対応するアプリケーションの関連スクリプトを実行するために、前記拡張予定リソースとのセキュアシェル(SSH)接続を確立するステップであって、一度にただ1つのSSH接続が前記拡張予定リソースと確立される、ステップをさらに含む、請求項1に記載の制御方法。
【請求項8】
前記対応するアプリケーションの前記実行予定データパケットの前記実行が終了された後、あらかじめ設定された時間期間内に前記SSH接続を確保するステップをさらに含む、請求項7に記載の制御方法。
【請求項9】
前記制御予定リソースが縮小予定リソースである場合、前記縮小予定リソースの中に重要なデータがあるかどうか、および前記縮小予定リソースに依存するサービスがあるかどうかを判断するステップと、
重要なデータがなく、前記縮小予定リソースに依存するサービスがない場合、前記クラスタから前記縮小予定リソースを削除するステップとをさらに含む、請求項1から8のいずれか一項に記載の制御方法。
【請求項10】
前記クラスタから前記縮小予定リソースを削除する前記ステップは、
前記縮小予定リソースの獲得された関連情報を、構成された縮小インターフェースを通して転送するステップであって、前記獲得された関連情報は、前記クラスタからの前記縮小予定リソースの前記削除の際に使われる、ステップを含み、
構成された照会インターフェースをポーリングすることによって、縮小結果を獲得するステップをさらに含む、請求項9に記載の制御方法。
【請求項11】
前記縮小予定リソースが前記クラスタから削除された後、前記縮小予定リソースが物理マシンである場合、前記縮小予定リソースを前記リソースプールに追加するステップと、
前記縮小予定リソースがコンテナ画像である場合、前記コンテナ画像を破壊し、前記縮小予定リソースを前記リソースプールに追加するステップとをさらに含む、請求項9に記載の制御方法。
【請求項12】
前記縮小予定リソースが前記物理マシンである場合、縮小のポストスクリプトを実行するステップであって、前記ポストスクリプトは、前記縮小予定リソース上でオペレーティングシステム再インストールを実施するためのインストールプロセスを開始するために使われる、ステップをさらに含む、請求項11に記載の制御方法。
【請求項13】
クラスタリソースの制御装置であって、
制御予定リソースが拡張予定リソースである場合、前記拡張予定リソースとアプリケーションとの間の束縛関係を判断するように構成された判断ユニットと、
前記拡張予定リソースとの前記束縛関係を有する、対応するアプリケーションのリソースプールに、初期化されている前記拡張予定リソースを追加するように構成された追加ユニットと、
処理予定アプリケーションの展開タイプに従って、前記処理予定アプリケーションの実行予定データパケットを生成するように構成された生成ユニットと、
前記処理予定アプリケーションの前記リソースプールの中の前記拡張予定リソース上で、前記実行予定データパケットを実行のために展開するように構成された実行ユニットとを備える、制御装置。
【請求項14】
メモリと、
前記メモリに結合されたプロセッサとを備える、クラスタリソースの制御装置であって、前記プロセッサは、前記メモリに記憶された命令に基づいて、請求項1から12のいずれか一項に記載の、クラスタリソースの制御方法を実施するように構成される、制御装置。
【請求項15】
クラスタリソースの制御装置を備えるクラウドコンピューティングシステムであって、前記制御装置は、請求項1から12のいずれか一項に記載の、クラスタリソースの制御方法を実施するように構成される、クラウドコンピューティングシステム。
【請求項16】
コンピュータプログラムを記憶した不揮発性コンピュータ可読記憶媒体であって、前記コンピュータプログラムは、プロセッサによって実行されると、請求項1から12のいずれか一項に記載の、クラスタリソースの制御方法を実装する、不揮発性コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、その開示全体が本明細書に組み込まれる、2019年12月5日に出願された中国特許出願第201911232841.4号に基づいており、その優先権を主張する。
【0002】
本開示は、コンピュータ技術の分野に関し、詳細には、クラスタリソースの制御方法、およびクラスタリソースの制御装置、クラウドコンピューティングシステム、ならびに不揮発性コンピュータ可読記憶媒体に関する。
【背景技術】
【0003】
クラウドシステムを使用する際のリソースの絶え間ない消費に伴い、クラスタの中の様々な製品において、リソース制御(容量拡張および縮小など)が実施される必要がある。そのようなリソース制御は、運用保守担当者が定期的に実施する必要がある操作となる。
【0004】
関連技術において、ある特定のシーンにおけるクラスタの特定のサービスのアプリケーションのための拡張方法が開発される。
【発明の概要】
【課題を解決するための手段】
【0005】
本開示のいくつかの実施形態によると、クラスタリソースの制御方法が提供され、この方法は、制御予定リソースが拡張予定リソースである場合、拡張予定リソースとアプリケーションとの間の束縛関係を判断するステップと、拡張予定リソースとの束縛関係を有する、対応するアプリケーションのリソースプールに、初期化されている拡張予定リソースを追加するステップと、処理予定アプリケーションの展開タイプに従って、処理予定アプリケーションの実行予定データパケットを生成するステップと、処理予定アプリケーションのリソースプールの中の拡張予定リソース上で、実行予定データパケットを実行のために展開するステップとを含む。
【0006】
いくつかの実施形態では、拡張予定リソースとの束縛関係を有する、対応するアプリケーションのリソースプールに、初期化されている拡張予定リソースを追加するステップは、拡張予定リソースの関連情報を、対応するアプリケーションのプレスクリプトへ転送するステップと、拡張予定リソースの初期化を完了するためにプレスクリプトを実行するステップとを含む。
【0007】
いくつかの実施形態では、処理予定アプリケーションの実行予定データパケットを生成するステップは、展開タイプがパッケージ展開である場合、拡張予定リソースが物理マシンであると判断し、処理予定アプリケーションのプログラムパッケージを実行予定データパケットとして生成するステップと、展開タイプが画像展開である場合、拡張予定リソースがコンテナ画像であると判断し、処理予定アプリケーションのプログラムパッケージを生成し、処理予定アプリケーションのプログラムパッケージおよび稼動画像に従って、実行予定データパケットを生成するステップとを含む。
【0008】
いくつかの実施形態では、処理予定アプリケーションのリソースプールの中の拡張予定リソース上で、実行予定データパケットを実行のために展開するステップは、拡張予定リソースが物理マシンである場合、実行予定データパケットを、実行のために物理マシンへ送るステップと、拡張予定リソースがコンテナ画像である場合、処理予定アプリケーションとの束縛関係を有するリソースプールの中のアイドル物理マシンへ、実行予定データパケットを実行のために送るステップとを含む。
【0009】
いくつかの実施形態では、処理予定アプリケーションのリソースプールの中の拡張予定リソース上で、実行予定データパケットを実行のために展開するステップは、リソースプールの中の拡張予定リソースの関連情報を獲得するステップと、拡張予定リソースの関連情報を、処理予定アプリケーション用に構成された展開インターフェースを通して処理予定アプリケーションのサードパーティプログラムへ送るステップであって、そうすることによって、サードパーティプログラムは、サードパーティプログラムの展開モードに従って、実行予定データパケットを、拡張予定リソース上で実行のために展開する、ステップとを含む。
【0010】
いくつかの実施形態では、方法は、処理予定アプリケーションのポストスクリプトを実行するステップをさらに含み、ポストスクリプトは、クラスタの管理ノードに拡張結果を戻すこと、リソースプールの中の拡張リソース用のボリュームを作成すること、または拡張によって生成されたガベージをクリーニングすること、のうちの少なくとも1つのために使われる。
【0011】
いくつかの実施形態では、方法は、対応するアプリケーションの関連スクリプトを実行するために、拡張予定リソースとのセキュアシェル(SSH)接続を確立するステップをさらに含み、拡張予定リソースと、一度にただ1つのSSH接続が確立される。
【0012】
いくつかの実施形態では、方法は、対応するアプリケーションの実行予定データパケットの実行が終了された後、あらかじめ設定された時間期間内にSSH接続を確保するステップをさらに含む。
【0013】
いくつかの実施形態では、方法は、制御予定リソースが縮小予定リソースである場合、縮小予定リソースの中に重要なデータがあるかどうか、および縮小予定リソースに依存するサービスがあるかどうかを判断するステップと、重要なデータがなく、縮小予定リソースに依存するサービスがない場合、クラスタから縮小予定リソースを削除するステップとをさらに含む。
【0014】
いくつかの実施形態では、縮小予定リソースの獲得された関連情報は、構成された縮小インターフェースを通して転送され、獲得された関連情報は、クラスタからの縮小予定リソースの削除の際に使われる。
【0015】
いくつかの実施形態では、制御方法は、構成された照会インターフェースをポーリングすることによって、縮小結果を獲得するステップをさらに含む。
【0016】
いくつかの実施形態では、方法は、縮小予定リソースがクラスタから削除された後、縮小予定リソースが物理マシンである場合、縮小予定リソースをリソースプールに追加するステップと、縮小予定リソースがコンテナ画像である場合、コンテナ画像を破壊し、縮小予定リソースをリソースプールに追加するステップとをさらに含む。
【0017】
いくつかの実施形態では、方法は、縮小予定リソースが物理マシンである場合、縮小のポストスクリプトを実行するステップをさらに含み、ポストスクリプトは、縮小予定リソース上でオペレーティングシステム再インストールを実施するためのインストールプロセスを開始するために使われる。
【0018】
本開示の他の実施形態によると、クラスタリソースの制御装置が提供され、この装置は、制御予定リソースが拡張予定リソースである場合、拡張予定リソースとアプリケーションとの間の束縛関係を判断するように構成された判断ユニットと、拡張予定リソースとの束縛関係を有するアプリケーションのリソースプールに、初期化されている拡張予定リソースを追加するように構成された追加ユニットと、処理予定アプリケーションの展開タイプに従って、処理予定アプリケーションの実行予定データパケットを生成するように構成された生成ユニットと、処理予定アプリケーションのリソースプールの中の拡張予定リソース上で、実行予定データパケットを実行のために展開するように構成された実行ユニットとを備える。
【0019】
いくつかの実施形態では、追加ユニットは、拡張予定リソースの関連情報を、対応するアプリケーションのプレスクリプトへ転送し、拡張予定リソースの初期化を完了するためにプレスクリプトを実行する。
【0020】
いくつかの実施形態では、展開タイプがパッケージ展開である場合、拡張予定リソースが物理マシンであると判断され、生成ユニットは、処理予定アプリケーションのプログラムパッケージを実行予定データパケットとして生成し、展開タイプが画像展開である場合、拡張予定リソースがコンテナ画像であると判断され、生成ユニットは、処理予定アプリケーションのプログラムパッケージを生成し、処理予定アプリケーションのプログラムパッケージおよび稼動画像に従って、実行予定データパケットを生成する。
【0021】
いくつかの実施形態では、実行ユニットは、拡張予定リソースが物理マシンである場合、実行予定データパケットを実行のために物理マシンへ送り、実行ユニットは、拡張予定リソースがコンテナ画像である場合、実行予定データパケットを、処理予定アプリケーションとの束縛関係を有するリソースプールの中のアイドル物理マシンへ実行のために送る。
【0022】
いくつかの実施形態では、実行ユニットは、リソースプールの中の拡張予定リソースの関連情報を獲得し、拡張予定リソースの関連情報を、処理予定アプリケーション用に構成された展開インターフェースを通して、処理予定アプリケーションのサードパーティプログラムへ送り、関連情報は、サードパーティプログラムの展開モードに従った、サードパーティプログラムによる実行のために、拡張予定リソース上での実行予定データパケットの展開の際に使われる。
【0023】
いくつかの実施形態では、実行ユニットは、処理予定アプリケーションのポストスクリプトを実行し、ポストスクリプトは、クラスタの管理ノードに拡張結果を戻すこと、リソースプールの中の拡張リソース用のボリュームを作成すること、または拡張によって生成されたガベージをクリーニングすること、のうちの少なくとも1つのために使われる。
【0024】
いくつかの実施形態では、装置は、拡張予定リソースとのSSH接続を確立するように構成された確立ユニットをさらに備え、SSH接続は、対応するアプリケーションの関連スクリプトを実行するために使われ、拡張予定リソースと、一度にただ1つのSSH接続が確立される。
【0025】
いくつかの実施形態では、確立ユニットは、対応するアプリケーションの実行予定データパケットの実行が終了された後のあらかじめ設定された時間期間内にSSH接続を確保する。
【0026】
いくつかの実施形態では、装置は、制御予定リソースが縮小予定リソースである場合、制御予定リソースの中に重要なデータがあるかどうか、および縮小予定リソースに依存するサービスがあるかどうかを判断するように構成された縮小ユニットをさらに備え、縮小ユニットは、重要なデータがなく、縮小予定リソースに依存するサービスがない場合、縮小予定リソースをクラスタから削除する。
【0027】
いくつかの実施形態では、縮小ユニットは、縮小予定リソースの獲得された関連情報を、構成された縮小インターフェースを通して転送し、獲得された関連情報は、クラスタからの縮小予定リソースの削除の際に使われる。
【0028】
いくつかの実施形態では、縮小ユニットは、構成された照会インターフェースをポーリングすることによって、縮小結果を獲得する。
【0029】
いくつかの実施形態では、縮小ユニットが縮小予定リソースをクラスタから削除した後、縮小予定リソースが物理マシンである場合、追加ユニットは、縮小予定リソースをリソースプールに追加し、縮小予定リソースがコンテナ画像である場合、縮小ユニットはコンテナ画像を破壊し、追加ユニットは、縮小予定リソースをリソースプールに追加する。
【0030】
いくつかの実施形態では、縮小予定リソースが物理マシンである場合、実行ユニットは縮小のポストスクリプトを実行し、ポストスクリプトは、縮小予定リソース上でオペレーティングシステム再インストールを実施するためのインストールプロセスを開始するために使われる。
【0031】
本開示のさらに他の実施形態によると、メモリと、メモリに結合されたプロセッサとを備える、クラスタリソースの制御装置が提供され、プロセッサは、メモリに記憶された命令に基づいて、上記実施形態のいずれかにおける、クラスタリソースの制御方法を実施するように構成される。
【0032】
本開示のさらなる実施形態によると、コンピュータプログラムを記憶した不揮発性コンピュータ可読記憶媒体が提供され、コンピュータプログラムは、プロセッサによって実行されると、上記実施形態のいずれかにおける、クラスタリソースの制御方法を実装する。
【0033】
本開示のまたさらなる実施形態によると、クラスタリソースの制御装置を備えるクラウドコンピューティングシステムが提供され、装置は、上記実施形態のいずれかにおける、クラスタリソースの制御方法を実施するように構成される。
【0034】
本明細書に記載する添付の図面は、本開示のさらなる理解をもたらすために使われ、本出願の一部を構成し、本開示の例示的な実施形態およびそれらの記述は、本開示を説明するために使われるのであって、本開示に対する不当な限定を構成するのではない。
【図面の簡単な説明】
【0035】
【
図1】本開示による、クラスタリソースの制御方法のいくつかの実施形態の流れ図である。
【
図2】本開示による、クラスタリソースの制御方法の他の実施形態の流れ図である。
【
図3】本開示による、クラスタリソースの制御装置のいくつかの実施形態の概略図である。
【
図4】本開示による、クラスタリソースの制御方法のさらに他の実施形態の流れ図である。
【
図5】本開示による、クラスタリソースの制御装置の他の実施形態の概略図である。
【
図6】本開示による、クラスタリソースの制御装置のさらに他の実施形態の概略図である。
【
図7】本開示による、クラスタリソースの制御方法のいくつかの実施形態の概略図である。
【
図8】本開示による、クラスタリソースの制御装置のさらなる実施形態の概略図である。
【
図9】本開示による、クラスタリソースの制御装置のさらなる実施形態の概略図である。
【
図10】本開示による、クラスタリソースの制御装置のいくつかの実施形態のブロック図である。
【
図11】本開示による、クラスタリソースの制御装置の他の実施形態のブロック図である。
【
図12】本開示による、クラスタリソースの制御装置のさらに他の実施形態のブロック図である。
【
図13】本開示による、クラスタリソースの制御システムのいくつかの実施形態のブロック図である。
【発明を実施するための形態】
【0036】
本開示の実施形態における技術的解決策について、本開示の実施形態において添付の図面とともに以下で明確に、および完全に説明するが、記載する実施形態が本開示の実施形態のすべてではなく一部にすぎないことは明らかである。例示的な少なくとも1つの実施形態の以下の説明は本来、例示のためにすぎず、本開示およびその適用または使用に対するいかなる限定として働くことも決してない。創造的労働を行うことなく、本開示における実施形態から当業者によって導出され得るすべての他の実施形態が、本開示の保護範囲内である。
【0037】
これらの実施形態において説明される要素およびステップの相対的な並び、数的表現および数値は、別段に規定されていない限り、本開示の範囲を限定しない。一方で、図面に示す様々な部分のサイズは、説明しやすいように、実際の縮尺通りには描かれていないことを理解されたい。当業者に知られている技法、方法、およびデバイスは、詳しく論じられない場合があるが、適切な場合は、与えられる詳述の一部と見なされるべきである。本明細書において示し、論じるすべての例において、どの具体的値も、限定のためではなく例示のためにすぎないと見なされるべきである。したがって、例示的な実施形態の他の例は、異なる値を有する場合がある。類似した参照番号および文字は、以下の図面において類似した項目を指し、したがって、1つの図面においてある項目が定義されると、後続の図面においてさらに考察される必要はないことに留意されたい。
【0038】
上述した当該技術分野には、異なるビジネスアプリケーションにリソース拡張を適用することができず、それによって、適用可能性が乏しくなるという問題があることに、本開示の発明者は気づいている。
【0039】
この点において、本開示は、リソース拡張の適用可能性を向上することが可能な、クラスタリソースを制御するための技術的解決策を提供する。
【0040】
図1は、本開示による、クラスタリソースの制御方法のいくつかの実施形態の流れ図を示す。
【0041】
図1に示すように、方法は、束縛関係を判断するステップS11と、拡張予定リソースを追加するステップS12と、実行予定データパケットを生成するステップS13と、実行予定データパケットを展開するステップS14とを含む。
【0042】
ステップS11において、制御予定リソースが拡張予定リソースである場合、拡張予定リソースと対応するアプリケーションとの間の束縛関係が判断される。たとえば、拡張予定リソースは物理マシンまたはコンテナ画像であってよい。
【0043】
ステップS12において、初期化されている拡張予定リソースが、束縛関係に従って、対応するアプリケーションのリソースプールに追加される。
【0044】
いくつかの実施形態では、拡張予定リソースの関連情報が、対応するアプリケーションのプレスクリプトへ転送され、プレスクリプトは、拡張予定リソースの初期化を完了するために実行される。
【0045】
ステップS13において、処理予定アプリケーションの展開(プロビジョニング)タイプに従って、処理予定アプリケーションの実行予定データパケットが生成される。
【0046】
いくつかの実施形態では、展開タイプがパッケージ展開である場合、処理予定アプリケーションのプログラムパッケージが、実行予定データパケットとして生成される。この場合、拡張予定リソースは物理マシンである。
【0047】
いくつかの実施形態では、展開タイプが画像展開である場合、処理予定アプリケーションのプログラムパッケージが生成され、実行予定データパケットが、処理予定アプリケーションのプログラムパッケージおよび稼動画像に従って生成される。この場合、拡張予定リソースはコンテナ画像である。
【0048】
ステップS14において、実行予定データパケットが、処理予定アプリケーションのリソースプールの中の対応する拡張予定リソース上で実行のために展開される。
【0049】
いくつかの実施形態では、拡張予定リソースが物理マシンである場合、実行予定データパケットは実行のために物理マシンへ送られ、拡張予定リソースがコンテナ画像である場合、実行予定データパケットは、実行のために、対応するリソースプール(スタンバイプール)の中のアイドル物理マシンへ送られる。たとえば、スタンバイプールとは、クラウドコンピューティングシステム中のスタンバイ物理マシンリソースプールである。
【0050】
いくつかの実施形態では、拡張予定リソースの関連情報が獲得され、拡張予定リソースの関連情報が、処理予定アプリケーション用に構成された展開インターフェースを通して、処理予定アプリケーションのサードパーティプログラムへ送られ、サードパーティプログラムは、サードパーティプログラムの展開モードに従って、実行予定データパケットを、拡張予定リソース上で実行のために展開する。
【0051】
いくつかの実施形態では、処理予定アプリケーションのポストスクリプトが実行され、ポストスクリプトは、クラスタの管理ノードに拡張結果を戻すこと、対応する拡張リソース用の対応するボリュームを作成すること、および拡張によって生成されたガベージをクリーニングすること、のうちの少なくとも1つのために使われる。
【0052】
いくつかの実施形態では、各拡張予定リソースとのSSH接続が、対応するアプリケーションの各関連スクリプトを実行するために確立され、各拡張予定リソースと、一度にただ1つのSSH接続が確立される。
【0053】
いくつかの実施形態では、対応するアプリケーションの実行予定データパケットの実行が終了された後、SSH接続は、あらかじめ設定された時間期間内に確保され、そうすることによって、対応するアプリケーションの実行予定データパケットが次回実行されるとき、SSH接続は再利用される。
【0054】
図2は、本開示による、クラスタリソースの制御方法の他の実施形態の流れ図を示す。
【0055】
図2に示すように、方法は、重要なデータおよび依存サービスを判断するステップS21と、縮小予定リソースを削除するステップS22とをさらに含む。
【0056】
ステップS21において、制御予定リソースが縮小予定リソースである場合、縮小予定リソースの中に重要なデータがあるかどうか、および縮小予定リソースに依存するサービスがあるかどうかが判断される。
【0057】
ステップS22において、重要なデータがなく、縮小予定リソースに依存するサービスがない場合、縮小予定リソースがクラスタから削除される。
【0058】
いくつかの実施形態では、縮小予定リソースの獲得された関連情報が、構成された縮小インターフェースを通してシステムの中で転送されてよく、そうすることによって、縮小予定リソースは、クラスタから削除され、縮小結果が、構成された照会インターフェースをポーリングすることによって獲得される。
【0059】
いくつかの実施形態では、縮小予定リソースが物理マシンである場合、縮小予定リソースがリソースプール(スタンバイプール)の中に追加され、縮小予定リソースがコンテナ画像である場合、コンテナ画像は破壊され、縮小予定リソースはリソースプールの中に追加される。
【0060】
いくつかの実施形態では、縮小予定リソースが物理マシンである場合、縮小のポストスクリプトが実行される。ポストスクリプトは、縮小予定リソース上でオペレーティングシステム再インストールを実施するためのインストールプロセスを開始するために使われる。たとえば、再インストールは、PXE(プリブート実行環境(Preboot eXecution Environment))によって実装されてよい。
【0061】
上記実施形態において、アプリケーションのデータパケットは、拡張予定リソースとアプリケーションとの間の束縛関係に従って、対応する拡張予定リソース上で実行のために展開される。このようにして、方法は、異なるビジネスアプリケーションのリソース拡張に適用されてよく、そうすることによって、リソース拡張の適用可能性が向上される。
【0062】
図3は、本開示による、クラスタリソースの制御装置のいくつかの実施形態の概略図を示す。
【0063】
図3に示すように、ユーザは、フロントエンドウェブページを通して、バックエンド拡張(または縮小)コントローラ(すなわち、制御装置)と対話することができる。たとえば、フロントエンドウェブページはNginx(エンジンx)サーバによって実装されてよく、制御装置は、Golangプログラミング言語で実装されてよい。
【0064】
制御装置の内部構造は、複合固有クラウドクラスタを対象とするとともに多要素同時拡張および縮小をサポートする統一リソース制御システムであってよい。各ビジネスラインスクリプトが、制御装置と接続され得る。
【0065】
たとえば、制御装置は、多要素拡張および縮小コントローラ、異種要素リソース管理モジュール、同時拡張および縮小実行器、統一要素構築システム、多要素展開システム、ならびに要素縮小回復システムなど、複数のモジュールを備え得る。
【0066】
いくつかの実施形態では、多要素拡張および縮小コントローラ(たとえば、判断ユニット、追加ユニットなどを備える)は、全体的拡張および縮小プロセスを制御することを担当する。たとえば、多要素拡張および縮小コントローラは、他のモジュールの作業を協調させることと、拡張および縮小において使われる各モジュールを制御し、呼び出すことと、必要なデータパラメータを提供することとを行い得る。
【0067】
いくつかの実施形態では、異種要素リソース管理モジュールは、拡張および縮小プロセスにおいて要求されるすべてのメタデータを管理することを担当する。たとえば、メタデータは、サーバ(物理マシンリソース)管理IP(インターネットプロトコル)、サーバ指定パラメータ、拡張および縮小アプリケーションデータなどを含む。
【0068】
たとえば、異種要素リソース管理モジュールは、リレーショナルデータベースMySQL(マイ構造化照会言語(My Structured Query Language))を使って、データを永続的に記憶することができる。
【0069】
たとえば、異種要素リソース管理モジュールは、単独で展開され、外部へのOpenAPI(オープンアプリケーションプログラミングインターフェース)コールインターフェースを提供し得る。
【0070】
いくつかの実施形態では、同時拡張および縮小実行器(たとえば、実行ユニット、確立ユニットなどを備え得る)は、異なる段階において様々なリソースサーバによって稼動される必要があるスクリプトを実行することを担当する。
【0071】
たとえば、同時拡張および縮小実行器の低層は、SSHプロトコルに基づいて実装される接続プールであってよい。同時拡張および縮小実行器は、高い同時性を保証するように、Golangプログラミング言語によって実装されてよい。同時拡張および縮小実行器は、制御装置と拡張予定リソースとの間のSSH接続を確立することができる。
【0072】
たとえば、同時拡張および縮小実行器は、カスタマイズされた拡張および縮小プロセスを実行し得る。たとえば、IaaS(サービスとしてのインフラストラクチャ(Infrastructure as a Service))の関連アプリケーションのために、カスタマイズされた拡張および縮小プロセスが実行されてよい。
【0073】
たとえば、同時拡張および縮小実行器は、標準化拡張および縮小プロセスを実行し得る。たとえば、ビッグデータ、クラウドストレージ、およびIaaS以外のサービスの関連アプリケーションのために、カスタマイズされた拡張および縮小プロセスが実行されてよい。
【0074】
たとえば、同時拡張および縮小実行器は、統一要素構築システム、多要素展開システム、および要素縮小回復システムをトリガし得る。統一要素構築システム、多要素展開システムおよび要素縮小回復システムは、クラウドコンピューティングシステムのクラスタ上で関連拡張および縮小プロセスを実施する。
【0075】
いくつかの実施形態では、統一要素構築システム(たとえば、生成ユニットを備え得る)は、各リソースサーバによってオンライン展開されたソースコードをコンパイルすることと、Dockerコンテナに基づいて、異なるリソースサーバ向けの異なるコンパイル環境を用意することとを担当する。統一要素構築システムは、コンパイル環境の隔離を実装することができ、そうすることによって、コンパイルによって要求される依存サービスが互いと干渉されず、したがって、コンパイルの円滑さが保証される。
【0076】
いくつかの実施形態では、多要素展開システム(たとえば、実行ユニットを備え得る)は、コンパイルされたプログラムを、指定された物理サーバまたはコンテナにオンライン展開することを担当する。
【0077】
たとえば、多要素展開システムは、パッケージ展開および画像展開を含み得る。パッケージ展開は、コンパイルされたプログラムを、指定された物理マシンにオンライン展開することができ、画像展開は、コンパイル中にパックされた稼動画像(running image)に従って、および要求されるリソース(稼動によって要求される、CPUコアの数、メモリサイズ、ハードディスクサイズなどを含む)に従って、コンテナを展開し、開始することができる。
【0078】
いくつかの実施形態では、要素縮小回復システム(たとえば、縮小ユニット、追加ユニットを備え得る)は、縮小されたリソースを回復することを担当する。
【0079】
たとえば、回復されたコンテナリソースがリソースプールの中に再度入れられ、回復された物理マシンがスタンバイプールの中に入れられる。要素縮小回復システムは、コンテナリソースを破壊し、回復された物理マシンを再インストールし、そのデータディスクをフォーマットする。
【0080】
図4は、本開示による、クラスタリソースの制御方法のさらに他の実施形態の流れ図を示す。
【0081】
図4に示すように、方法は、拡張フロー(図中の左フロー)および縮小フロー(図中の右フロー)を含み得る。拡張フローは、標準化拡張フローおよびカスタマイズされた拡張フローを含んでよく、縮小フローは、標準化縮小フローおよびカスタマイズされた縮小フローを含んでよい。
【0082】
たとえば、IaaSおよびクラウドデータベース製品に関連した様々なリソースノード(たとえば、MySQLリソースノード、大容量記憶リソースノードなど)の拡張および縮小プロセスはすべて、カスタマイズされた拡張および縮小フローに属し、クラウドストレージおよびデータクラウドに関連した様々なリソースノード(リソースノードds2-datanodeおよびビッグデータリソースノードdatanodeなど)の拡張および縮小プロセスはすべて、標準化拡張および縮小フローに属す。
【0083】
上記製品の拡張および縮小フローは、以下の3つの共通フロー、すなわち、使用を割り振る(すなわち、拡張予定および縮小予定リソースを、対応する製品アプリケーションに束縛する)フローと、プレスクリプトを実行するフローと、ポストスクリプトを実行するフローとを通る必要がある。これらの共通フローは、高い適用可能性でリソース制御方法を確立するように抽出され得る。
【0084】
いくつかの実施形態では、標準化拡張フローは主に、拡張予定スタンバイマシン(リソース)を、指定された製品アプリケーションのスタンバイプールの中に搭載することと、アプリケーションのプログラムパッケージまたは稼動画像をコンパイルし、構築することと、プログラムパッケージまたは画像をスタンバイプール中のサーバに展開することと、展開結果をポーリングすることとを含む。たとえば、データクラウド製品向けの拡張フローは、主にビッグデータリソースノードdatanode向けであり、標準化拡張フローは以下のステップを含み得る。
【0085】
ステップ1において、拡張予定ホストに使用が割り振られる。たとえば、ビッグデータリソースノードdatanodeのタグが拡張予定サーバ(リソース)に割り振られ、そうすることによって、拡張予定リソースとアプリケーションとの間の束縛が実現される。
【0086】
ステップ2において、プレスクリプトが実行される。たとえば、多要素拡張および縮小コントローラは、制御マシンのFTP(ファイル転送プロトコル)ディレクトリ中の、データクラウドのあらかじめ設定されたスクリプト(プレスクリプト)を呼び出すことによって、拡張予定サーバのIPリストを、コマンドラインパラメータとしてあらかじめ設定されたスクリプトへ転送することができる。たとえば、制御マシンは、クラスタの中の、本開示の制御方法を稼動するコンピュータであってよい。
【0087】
拡張スクリプトを実行することによって、拡張予定サーバの初期化が完了され得る。あらかじめ設定されたスクリプトは、拡張物理マシンの初期化、たとえば、いくつかの基本ソフトウェアパッケージのインストールを主に担当する。
【0088】
ステップ3において、拡張予定ホストが搭載される。たとえば、拡張予定物理マシンが、リソースの統一割振りを容易にするために、製品サービスツリー中の対応する製品ラインのスタンバイプールの中に搭載される。たとえば、クラウドコンピューティングシステムにおける展開予定製品の関連情報に従って、拡張予定リソースが、束縛されたアプリケーションが属す製品ラインのリソースプールの中に追加されてよい。
【0089】
いくつかの実施形態では、クラウドコンピューティングシステムにおける展開予定製品の関連情報は、ツリー構造に記憶されてよい。たとえば、部門、製品ライン、製品、システム、アプリケーションという5つのレベルのツリー構造に従って記憶されてよい。
【0090】
ステップ4において、データパケットがコンパイルされ、構築される。たとえば、アプリケーションの展開タイプに従って、アプリケーションのプログラムパッケージがコンパイルされ、構築される。ビッグデータリソースノードdatanodeによって使われるのがパケット展開である場合、対応するプログラムパケットが、処理予定データパケットとしてコンパイルされ、画像展開のためには、プログラムパッケージと稼動画像が合わせてパッケージ化されて、処理予定データパケットが生成される。コンパイルされ、構築されたプログラムパッケージは、スタンバイプールの中の束縛された拡張予定マシン上へ転送され、開始スクリプトが実行される。
【0091】
ステップ5において、拡張結果がポーリングされる。たとえば、展開は定期的にポーリングされてよく、展開結果が、情報管理モジュールのCMDB(構成管理データベース)の展開ユニットに記録されてよい。ウェブフロントエンドは、APIインターフェースを通して展開結果を調べ、展開結果をユーザに提示することができる。
【0092】
ステップ6において、ポストスクリプトが、拡張後の事態を処理するために実行される。たとえば、ポストスクリプトは、拡張されたリソースノードのクラスタの中の管理ノードに通知をすることができ、そうすることによって、クラスタの拡張が完了される。
【0093】
いくつかの実施形態では、クラウドストレージ拡張フロー向けに、リソースノードds2-datanodeの拡張が主に完了され、そのフローステップは、上記データクラウドのものと同様である。ただし、クラウドストレージ拡張フローのポストスクリプトは、ボリュームを作成するプロセスを実施することができる。
【0094】
いくつかの実施形態では、標準化縮小フローは、ビジネスデータチェック、依存サービスチェック、クラスタからの削除、リソース回復、ポーリング結果、ポストスクリプトの実行を含み得る。たとえば、標準化縮小フローは以下のステップを含み得る。
【0095】
ステップ1において、ビジネスデータチェックが、縮小予定リソースの中に重要なデータがあるかどうかを判断するために、縮小予定リソースに対して実施される。重要なデータがある場合、縮小予定リソースは縮小をサポートしない。
【0096】
ステップ2において、稼動のために縮小予定リソースに依存するサービスがあるかどうかを判断するために、依存サービスチェックが縮小予定リソースに対して実施される。依存サービスがある場合、縮小予定リソースは縮小をサポートしない。
【0097】
ステップ3において、クラスタの管理ノードは、縮小予定リソースをクラスタから削除したことを通知される。
【0098】
ステップ4において、要素縮小回復システムが、縮小されたリソースを回復するために呼び出される。
【0099】
ステップ5において、縮小結果がポーリングされる。
【0100】
ステップ6において、ポストスクリプトが、縮小後の事態を処理するために実行される。たとえば、リソース回復のためのPXEインストール操作がトリガされてよい。
【0101】
いくつかの実施形態では、カスタマイズされた拡張フローは、拡張予定スタンバイマシンを、指定された製品アプリケーションのスタンバイプールの中に搭載することと、サードパーティによって、それ自体の拡張プログラム(サードパーティプログラム)を提供することであって、拡張プログラムは、2つの標準化拡張インターフェース、すなわち拡張トリガインターフェース(展開インターフェース)および拡張結果照会インターフェース(照会インターフェース)を提供する、ことと、多要素拡張および縮小コントローラが、拡張予定スタンバイマシンの情報をパラメータの形で転送するために、拡張トリガインターフェースを呼び出すことと、拡張結果照会インターフェースを通して拡張結果をポーリングすることとを含み得る。
【0102】
たとえば、IaaS製品のアプリケーション向けには、カスタマイズされた拡張フローが、以下のステップによって実現され得る。
【0103】
ステップ1において、拡張予定ホストに使用が割り振られる。たとえば、IaaS製品アプリケーションのリソースノードのタグが、拡張予定サーバに割り振られる。
【0104】
ステップ2において、プレスクリプトが実行される。たとえば、多要素拡張および縮小コントローラは、制御マシンのFTPディレクトリ中のデータクラウドの、あらかじめ設定されたスクリプトを呼び出し、拡張マシンのIPリストを、コマンドラインパラメータとして、あらかじめ設定されたスクリプトへ転送することと、マシンの初期化を完了するために拡張スクリプトを実行することとを行う。あらかじめ設定されたスクリプトは、拡張物理マシンの初期化、たとえば、いくつかの基本ソフトウェアパッケージのインストールを主に担当する。
【0105】
ステップ3において、拡張予定ホストが搭載される。たとえば、拡張予定物理マシンが、サードパーティプログラムによる統一獲得のために、製品のサービスツリー中の対応する製品ラインのスタンバイプールの中に搭載される。
【0106】
ステップ4において、拡張予定ホストが転送される。たとえば、多要素拡張および縮小コントローラが、IaaSの展開インターフェースをトリガし、情報管理モジュールのCMDBから、拡張予定サーバの関連情報を獲得し、関連情報が、パラメータの形でIaaS製品へ転送され、IaaS製品展開プログラムが、スタンバイプールから展開された拡張予定サーバを獲得し、IaaS展開サービスが、自己所有ビジネスに従って、IaaS製品をオンラインで展開する。
【0107】
ステップ5において、ポーリングインターフェースが呼び出される。たとえば、多要素拡張および縮小コントローラが、IaaSの拡張結果を定期的にポーリングし、展開結果が、情報管理モジュールのCMDBの展開ユニットに記録され、ウェブフロントエンドは、APIインターフェースを通して展開結果を照会し、展開結果をユーザに提示することができる。
【0108】
ステップ6において、ポストスクリプトが実行される。このステップは、製品がポストスクリプトを有していない場合は空白であってよい。
【0109】
いくつかの実施形態では、カスタマイズされた縮小フローは、ビジネスデータチェックと、依存サービスチェックと、カスタマイズされた縮小インターフェースを呼び出すことと、縮小結果をポーリングすることと、リソースをリソースプールまたはスタンバイプールへ回復することと、ポストスクリプトを実行することとを含み得る。たとえば、カスタマイズされた縮小フローは、以下のステップによって実現され得る。
【0110】
ステップ1において、ビジネスデータチェックが、縮小予定リソースの中に重要なデータがあるかどうかを判断するために、縮小予定リソースに対して実施される。重要なデータがある場合、縮小予定リソースは縮小をサポートしない。
【0111】
ステップ2において、稼動のために縮小予定リソースに依存するサービスがあるかどうかを判断するために、依存サービスチェックが縮小予定リソースに対して実施される。依存サービスがある場合、縮小予定リソースは縮小をサポートしない。
【0112】
ステップ3において、カスタマイズされた縮小インターフェースが、縮小予定リソースの関連情報を転送するために呼び出される。
【0113】
ステップ4において、カスタマイズされた縮小結果インターフェース(照会インターフェース)が、縮小結果を獲得するためにポーリングされる。
【0114】
ステップ5において、回復されたリソースが、リソースプールまたはスタンバイプールの中に入れられる。
【0115】
図5は、本開示による、クラスタリソースの制御装置の他の実施形態の概略図を示す。
【0116】
図5に示すように、異種要素リソース管理モジュールは、主にサービス層およびデータ層からなり、Http(ハイパーテキスト転送プロトコル)APIを通して他のサービスモジュールおよびウェブフロントエンドUI(ユーザインターフェース)にメタデータを提供する。監視器が、異種要素リソース管理モジュールに対してサービス監視を実施し得る。
【0117】
いくつかの実施形態では、サービス層は、APIサーバ、サーバ情報管理ユニット、コンテナ情報管理ユニット、製品情報管理ユニット、コンパイル情報管理ユニット、および展開情報管理ユニットを備え得る。
【0118】
たとえば、APIサーバは、Golangに基づいて開発されたHttpサーバであってよい。APIサーバは、外部へのRestful(表象状態転送:Representational State Transfer)スタイルインターフェースを提供し、安全および合法的に内部管理データをユーザに提供することを担当する。
【0119】
たとえば、サーバ情報管理ユニットは、クラスタ中のすべての物理マシン情報を管理することを主に担当する。物理マシン情報は、管理ノードサーバ、使われるリソースノードサーバおよび拡張予定/縮小されたリソースのスタンバイマシンを含み得る。サーバ情報管理ユニットは、全サーバ情報を管理することができ、サーバのその後の展開、構成および回復のために、必要な情報を提供することができる。
【0120】
たとえば、コンテナ情報管理ユニットは、クラスタ内のすべてのコンテナの情報を管理することを担当する。コンテナ情報は、コンテナが稼動するときに使われる、CPUコアの数、メモリサイズ、ハードディスクサイズ、およびコンテナが属す物理マシン、製品アプリケーションなどを含み得る。
【0121】
たとえば、製品情報管理ユニットは、固有クラウド内に展開された製品の情報を管理することを担当する。製品情報は、ツリー構造を採用してよい。ツリー構造は、部門、製品ライン、製品、システムおよびアプリケーションという5つのレベルの構造に従って分割され得る。拡張および縮小の前に、拡張および縮小フローの集中管理を容易にするために、拡張予定/縮小された物理マシンを具体的なシステムアプリケーションに割り振ることが必要とされる。
【0122】
たとえば、コンパイル情報管理ユニットは、各製品アプリケーションのコンパイルプログラムを管理することを担当する。コンパイル情報管理ユニットは、Jenkinsに基づいて開発され、ソースコードリポジトリ(gitlab)からのコードの自動抜き出しをサポートしてよい。コンパイル情報管理ユニットは、構成情報に従って、アプリケーションのバイナリプログラムまたは画像(稼動画像およびプログラムパッケージを含む)をコンパイルし、構築することができる。
【0123】
たとえば、展開情報管理ユニットは、コンパイルされたプログラムパッケージまたはパッケージ化された画像を、指定された物理マシンまたはコンテナに展開することと、すべての展開記録を記録することとを担当する。
【0124】
データ層は、マスター記憶ノード、スレーブ記憶ノード、およびメモリを備え得る。マスター記憶ノードは、サービス層によって送られた様々な情報を記憶し、情報を、スレーブ記憶ノードへ同期してバックアップする。たとえば、マスター記憶ノードの中のデータは、メモリに定期的にバックアップされてよく、そうすることによって、マスター記憶ノードとスレーブ記憶ノードの両方が汚染されている場合、バックアップデータが獲得される。
【0125】
図6は、本開示による、クラスタリソースの制御装置のさらに他の実施形態の概略図を示す。
【0126】
図6に示すように、多要素拡張および縮小コントローラは、Golangによって構築されたSSHコントローラであってよい。各ビジネスラインスクリプトは、多要素拡張および縮小コントローラの内部構造と接続されてよい。
【0127】
いくつかの実施形態では、多要素拡張および縮小コントローラは、プレスクリプトおよびポストスクリプトを実行するとき、同時拡張および縮小実行器の助けを必要とする。たとえば、同時拡張および縮小実行器の低層は、Golangベースの高性能SSH同時接続プールであり、これには、様々な拡張予定リソースとのSSH接続が含まれる。
【0128】
たとえば、接続プールに基づいて、物理マシンを接続すること、スクリプトコマンドを実行すること、などのための一連の操作インターフェースがカプセル化され得る。上記接続プールと組み合わされた、Golang言語の高い同時性特性により、サーバおよびコンテナにおける大規模同時操作が保証されてよく、そうすることによって、拡張および縮小の実行の効率が向上される。
【0129】
たとえば、操作安全性を保証するために、接続プールは、各拡張予定または縮小予定リソース(物理マシン、コンテナ画像)用に1つのSSH接続を確立するだけであり、満了したSSH接続を定期的にクリーニングする。
【0130】
図7は、本開示による、クラスタリソースの制御方法のいくつかの実施形態の概略図を示す。
【0131】
図7に示すように、方法は、ユーザによって、git分散型バージョン制御システムに関連コードを提出するステップと、gitによって、サーバのコンパイル、構築およびオンライン展開フローを自動化するためにJenkinsをトリガするステップとを含む。たとえば、コンパイルおよび構築フローのトリガリングは、手動トリガリング、およびユーザがコードを提出した後の自動トリガリングを含んでよい。
【0132】
Jenkinsは、Dockerを通してコンパイル構築およびコンパイル画像を実施し、オンライン展開を実施する。たとえば、アプリケーションのタイプに基づいて、プログラムパッケージまたはプログラム画像を生じさせることができる。ビッグデータリソースノードdatanodeによって使われるのがパケット展開である場合、コンパイル構築によってプログラムパッケージのみが生じ、稼動画像は含まれず、画像展開タイプである場合、プログラムパッケージと稼動画像が、合わせてプログラム画像にパッケージ化されてよい。
【0133】
図8は、本開示による、クラスタリソースの制御装置のさらなる実施形態の概略図を示す。
【0134】
図8に示すように、アプリケーションプログラムがコンパイルされ、構築された後、多要素拡張および縮小コントローラは、同時拡張および縮小実行器を通して、統一要素構築システムによってコンパイルされ、構築されたデータパケットを、拡張アプリケーションのタイプに従って、リソースプールの中の拡張予定物理マシンまたはアイドルマシンへ転送する。
【0135】
物理マシンプログラムパッケージに対して拡張を実施する場合、多要素展開システムは、開始スクリプトを実行し、稼動のために固有クラウドクラスタの物理マシン上でプログラムパッケージを展開し、実行状態をチェックし、プログラム画像展開の場合、多要素展開システムは、画像を開始し、固有クラウドクラスタのコンテナの稼動状態をチェックする。
【0136】
図9は、本開示による、クラスタリソースの制御装置のさらなる実施形態の概略図を示す。
【0137】
図9に示すように、要素縮小回復システムは、アプリケーション展開のタイプに従って、コンテナリソース回復および物理マシンリソース回復を実施する。回復されたアプリケーションが、固有クラウドクラスタの物理マシンである場合、要素縮小回復システムは、物理マシンをスタンバイプールに追加し、システムを再インストールするためにPXEを呼び出し、回復されたアプリケーションが、固有クラウドクラスタのプログラム画像(コンテナ)である場合、要素縮小回復システムは、コンテナを破壊し、リソースをリソースプールへ回復する。
【0138】
いくつかの実施形態では、縮小の前に、要素縮小回復システムは、縮小サーバまたはコンテナの中にすでにビジネスデータがあったかどうかをチェックする必要があり、その上、要素縮小回復システムは、縮小サーバまたはコンテナが、別のアプリケーションが依存するサービスを展開したかどうかをチェックする必要がある。ビジネスデータまたは依存サービスがある場合、要素縮小回復システムは縮小プロセスを出る。
【0139】
いくつかの実施形態では、物理マシン上の展開されたサービスをクリーニングするために、要素回復システムは、PXEインストールプロセスを開始すればよく、オペレーティングシステム再インストールが縮小物理マシン上で実施され、そのデータディスクがフォーマットされた後、縮小リソースは、スタンバイプールの中に入れられ、またはコンテナが破壊された後、縮小リソースはリソースプールに入れられる。
【0140】
図10は、本開示による、クラスタリソースの制御装置のいくつかの実施形態のブロック図を示す。
【0141】
図10に示すように、クラスタリソースの制御装置10は、判断ユニット101、追加ユニット102、生成ユニット103、および実行ユニット104を備える。
【0142】
判断ユニット101は、制御予定リソースが拡張予定リソースである場合、拡張予定リソースと対応するアプリケーションとの間の束縛関係を判断する。
【0143】
追加ユニット102は、束縛関係に従って、初期化されている拡張予定リソースを、対応するアプリケーションのリソースプールに追加する。
【0144】
いくつかの実施形態では、追加ユニット102は、拡張予定リソースの関連情報を、対応するアプリケーションのプレスクリプトへ転送し、拡張予定リソースの初期化を完了するためにプレスクリプトを実行する。
【0145】
生成ユニット103は、処理予定アプリケーションの展開タイプに従って、処理予定アプリケーションの実行予定データパケットを生成する。
【0146】
いくつかの実施形態では、展開タイプがパッケージ展開である場合、拡張予定リソースは物理マシンであり、生成ユニット103は、処理予定アプリケーションのプログラムパッケージを実行予定データパケットとして生成し、展開タイプが画像展開である場合、拡張予定リソースはコンテナ画像であり、生成ユニット103は、処理予定アプリケーションのプログラムパッケージを生成し、処理予定アプリケーションのプログラムパッケージおよび稼動画像に従って、実行予定データパケットを生成する。
【0147】
実行ユニット104は、実行のために、処理予定アプリケーションのリソースプールの中の対応する拡張予定リソースにおいて実行予定データパケットを展開する。
【0148】
いくつかの実施形態では、実行ユニット104は、拡張予定リソースが物理マシンである場合、実行予定データパケットを物理マシンへ実行のために送り、実行ユニット104は、拡張予定リソースがコンテナ画像である場合、実行予定データパケットを、実行のために、対応するリソースプールの中のアイドル物理マシンへ送る。
【0149】
いくつかの実施形態では、実行ユニット104は、拡張予定リソースの関連情報を獲得し、拡張予定リソースの関連情報を、処理予定アプリケーション用に構成された展開インターフェースを通して、処理予定アプリケーションのサードパーティプログラムへ送り、そうすることによって、サードパーティプログラムは、サードパーティプログラムの展開モードに従って、実行予定データパケットを、拡張予定リソース上で実行のために展開する。
【0150】
いくつかの実施形態では、実行ユニット104は、処理予定アプリケーションのポストスクリプトを実行し、ポストスクリプトは、クラスタの管理ノードに拡張結果を戻すこと、対応する拡張リソース用の対応するボリュームを作成すること、または拡張によって生成されたガベージをクリーニングすることのうちの少なくとも1つのために使われる。
【0151】
いくつかの実施形態では、クラスタリソースの制御装置10は、拡張予定リソースとのSSH接続を確立するように構成された確立ユニット105をさらに備える。SSH接続は、対応するアプリケーションの関連スクリプトを実行するために使われる。確立ユニット105は、拡張予定リソースと、一度にただ1つのSSH接続を確立することができる。
【0152】
いくつかの実施形態では、確立ユニット105は、対応するアプリケーションの実行予定データパケットの実行が終了された後のあらかじめ設定された時間期間内にSSH接続を確保する。
【0153】
いくつかの実施形態では、クラスタリソースの制御装置10は、制御予定リソースが縮小予定リソースである場合、縮小予定リソースの中に重要なデータがあるかどうか、および縮小予定リソースに依存するサービスがあるかどうかを判断するように構成された縮小ユニット106をさらに備え、縮小ユニット106は、重要なデータがなく、縮小予定リソースに依存するサービスがない場合、縮小予定リソースをクラスタから削除する。
【0154】
いくつかの実施形態では、縮小ユニットは、構成された縮小インターフェースを通して、縮小予定リソースの獲得された関連情報を転送し、そうすることによって、縮小予定リソースがクラスタから削除される。
【0155】
いくつかの実施形態では、縮小ユニット106は、構成された照会インターフェースをポーリングすることによって、縮小結果を獲得する。
【0156】
いくつかの実施形態では、縮小ユニット106が縮小予定リソースをクラスタから削除した後、縮小予定リソースが物理マシンである場合、追加ユニット102は、縮小予定リソースをリソースプールに追加し、縮小予定リソースがコンテナ画像である場合、縮小ユニット106はコンテナ画像を破壊し、追加ユニットは、縮小予定リソースをリソースプールに追加する。
【0157】
いくつかの実施形態では、縮小予定リソースが物理マシンである場合、実行ユニット104は縮小のポストスクリプトを実行し、ポストスクリプトは、縮小予定リソース上でオペレーティングシステム再インストールを実施するためのインストールプロセスを開始するのに使われる。
【0158】
上記実施形態において、アプリケーションのデータパケットは、拡張予定リソースとアプリケーションとの間の束縛関係に従って、拡張予定リソース上で実行のために展開される。このようにして、装置は、異なるビジネスアプリケーションのリソース拡張に適用されてよく、そうすることによって、リソース拡張の適用可能性が向上される。
【0159】
図11は、本開示による、クラスタリソースの制御装置の他の実施形態のブロック図を示す。
【0160】
図11に示すように、本実施形態のクラスタリソースの制御装置11は、メモリ111と、メモリ111に結合されたプロセッサ112とを備え、プロセッサ112は、メモリ111に記憶された命令に基づいて、本開示の実施形態のいずれかにおける、クラスタリソースの制御方法を実施するように構成される。
【0161】
メモリ111は、たとえば、システムメモリ、固定不揮発性記憶媒体などを備え得る。システムメモリは、たとえば、オペレーティングシステム、アプリケーション、ブートローダ、データベース、他のプログラムなどを記憶している。
【0162】
図12は、本開示による、クラスタリソースの制御装置のさらに他の実施形態のブロック図を示す。
【0163】
図12に示すように、本実施形態のクラスタリソースの制御装置12は、メモリ1210と、メモリ1210に結合されたプロセッサ1220とを備え、プロセッサ1220は、メモリ1210に記憶された命令に基づいて、上記実施形態のいずれかにおける、クラスタリソースの制御方法を実施するように構成される。
【0164】
メモリ1210は、たとえば、システムメモリ、固定不揮発性記憶媒体などを備え得る。システムメモリは、たとえば、オペレーティングシステム、アプリケーション、ブートローダ、他のプログラムなどを記憶している。
【0165】
クラスタリソースの制御装置12は、入力/出力インターフェース1230、ネットワークインターフェース1240、ストレージインターフェース1250、などをさらに備え得る。これらのインターフェース1230、1240、1250、ならびにメモリ1210およびプロセッサ1220は、たとえば、バス1260を通して接続され得る。入力/出力インターフェース1230は、ディスプレイ、マウス、キーボード、およびタッチスクリーンなどの入力/出力デバイスのための接続インターフェースを提供する。ネットワークインターフェース1240は、様々なネットワークデバイスのための接続インターフェースを提供する。ストレージインターフェース1250は、SDカードおよびUSBフラッシュディスクなどの外部記憶デバイスのための接続インターフェースを提供する。
【0166】
本開示の実施形態は方法、システム、またはコンピュータプログラム製品として提供され得ることを、当業者は諒解されたい。したがって、本開示は、全体がハードウェアの実施形態、全体がソフトウェアの実施形態またはソフトウェアおよびハードウェア態様を組み合わせる実施形態の形をとる場合がある。さらに、本開示は、コンピュータ利用可能プログラムコードを具現化した1つまたは複数のコンピュータ利用可能非一時的記憶媒体上で実装されるコンピュータプログラム製品の形をとる場合がある。
【0167】
図13は、本開示による、クラスタリソースの制御システムのいくつかの実施形態のブロック図を示す。
【0168】
図13に示すように、クラウドコンピューティングシステム13はクラスタリソースの制御装置131を備え、この装置は、上記実施形態のいずれかにおける、クラスタリソースの制御方法を実施するように構成される。
【0169】
本開示の実施形態は方法、システム、またはコンピュータプログラム製品として提供され得ることを、当業者は諒解されたい。したがって、本開示は、全体がハードウェアの実施形態、全体がソフトウェアの実施形態またはソフトウェアおよびハードウェア態様を組み合わせる実施形態の形をとる場合がある。さらに、本開示は、コンピュータ利用可能プログラムコードを具現化した1つまたは複数のコンピュータ利用可能非一時的記憶媒体(ディスクメモリ、CD-ROM、光学メモリなどを含むが、それらに限定されない)上で実装されるコンピュータプログラム製品の形をとる場合がある。
【0170】
以上、本開示に従って詳細に記述した。当該分野においてよく知られているいくつかの細部については、本開示の概念を不明瞭にするのを避けるために記載していない。当業者は、上記の記述を鑑みて、本明細書で開示される技術的解決策をどのようにして実装するかを、今では十分に諒解できよう。
【0171】
本開示の方法およびシステムは、いくつかのやり方で実装されてよい。本開示の方法およびシステムは、たとえば、ソフトウェア、ハードウェア、ファームウェア、またはソフトウェア、ハードウェア、およびファームウェアのどの組合せで実装されてもよい。方法のステップのための上記順序は例示のためにすぎず、本開示の方法のステップは、別段に明記されていない限り、上で具体的に記載した順序に限定されない。さらに、いくつかの実施形態では、本開示は、記録媒体に記録されたプログラムとして実装されてもよく、プログラムは、本開示による方法を実装するためのマシン可読命令を備える。したがって、本開示は、本開示による方法を実行するためのプログラムを記憶した記録媒体もカバーする。
【0172】
本開示のいくつかの具体的な実施形態を、例として詳しく記載したが、上記例は例示のためにすぎず、本開示の範囲を限定することは意図していないことを、当業者は理解されたい。本開示の範囲および趣旨から逸脱することなく、上記実施形態に対して修正が行われてよいことを、当業者は諒解されたい。本開示の範囲は、添付の請求項によって定義される。
【符号の説明】
【0173】
10 制御装置
11 制御装置
12 制御装置
13 クラウドコンピューティングシステム
101 判断ユニット
102 追加ユニット
103 生成ユニット
104 実行ユニット
105 確立ユニット
106 縮小ユニット
111 メモリ
112 プロセッサ
131 制御装置
1210 メモリ
1220 プロセッサ
1230 入力/出力インターフェース、インターフェース
1240 ネットワークインターフェース、インターフェース
1250 ストレージインターフェース、インターフェース
1260 バス
【手続補正書】
【提出日】2022-08-09
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0137
【補正方法】変更
【補正の内容】
【0137】
図9に示すように、要素縮小回復システムは、アプリケーション展開のタイプに従って、コンテナリソース回復および物理マシンリソース回復を実施する。回復された
リソースが、固有クラウドクラスタの物理マシンである場合、要素縮小回復システムは、物理マシンをスタンバイプールに追加し、システムを再インストールするためにPXEを呼び出し、回復された
リソースが、固有クラウドクラスタのプログラム画像(コンテナ)である場合、要素縮小回復システムは、コンテナを破壊し、リソースをリソースプールへ回復する。
【手続補正3】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
クラスタリソースの制御方法であって、
制御予定リソースが拡張予定リソースである場合、前記拡張予定リソースとアプリケーションとの間の束縛関係を判断するステップと、
前記拡張予定リソースとの前記束縛関係を有する、対応するアプリケーションのリソースプールに、初期化されている前記拡張予定リソースを追加するステップと、
前記アプリケーションの展開タイプに従って、処理予定アプリケーションの実行予定データパケットを生成するステップと、
前記アプリケーションの前記リソースプールの中の前記拡張予定リソース上で前記実行予定データパケットを、実行のために展開するステップとを含む
ことを特徴とする、方法。
【請求項2】
前記拡張予定リソースとの前記束縛関係を有する、対応するアプリケーションのリソースプールに、初期化されている前記拡張予定リソースを追加する前記ステップは、
前記拡張予定リソースの関連情報を、前記対応するアプリケーションのプレスクリプトへ転送するステップと、
前記拡張予定リソースの前記初期化を完了するために前記プレスクリプトを実行するステップとを含む、請求項1に記載の制御方法。
【請求項3】
処理予定アプリケーションの実行予定データパケットを生成する前記ステップは、
前記展開タイプがパッケージ展開である場合、前記拡張予定リソースが物理マシンであると判断し、前記処理予定アプリケーションのプログラムパッケージを前記実行予定データパケットとして生成するステップと、
前記展開タイプが画像展開である場合、前記拡張予定リソースがコンテナ画像であると判断し、前記処理予定アプリケーションのプログラムパッケージを生成し、前記処理予定アプリケーションの前記プログラムパッケージおよび稼動画像に従って、前記実行予定データパケットを生成するステップとを含む、請求項1に記載の制御方法。
【請求項4】
前記処理予定アプリケーションの前記リソースプールの中の前記拡張予定リソース上で、前記実行予定データパケットを実行のために展開する前記ステップは、
前記拡張予定リソースが前記物理マシンである場合、前記実行予定データパケットを、実行のために前記物理マシンへ送るステップと、
前記拡張予定リソースが前記コンテナ画像である場合、前記処理予定アプリケーションとの前記束縛関係を有するリソースプールの中のアイドル物理マシンへ、前記実行予定データパケットを実行のために送るステップとを含む、請求項3に記載の制御方法。
【請求項5】
前記アプリケーションの前記リソースプールの中の前記拡張予定リソース上で前記実行予定データパケットを実行のために展開する前記ステップは、
前記リソースプールの中の前記拡張予定リソースの関連情報を獲得するステップと、
前記拡張予定リソースの前記関連情報を、前記処理予定アプリケーション用に構成された展開インターフェースを通して前記処理予定アプリケーションのサードパーティプログラムへ送るステップであって、前記関連情報は、前記サードパーティプログラムの展開モードに従った、前記サードパーティプログラムによる実行のために、前記拡張予定リソース上での前記実行予定データパケットの前記展開の際に使われる、ステップとを含む、請求項1に記載の制御方法。
【請求項6】
前記処理予定アプリケーションのポストスクリプトを実行するステップをさらに含み、前記ポストスクリプトは、
クラスタの管理ノードに拡張結果を戻すこと、
前記リソースプールの中の拡張リソース用のボリュームを作成すること、または
前記拡張によって生成されたガベージをクリーニングすること、のうちの少なくとも1つのために使われる、請求項1に記載の制御方法。
【請求項7】
前記対応するアプリケーションの関連スクリプトを実行するために、前記拡張予定リソースとのセキュアシェル(SSH)接続を確立するステップであって、一度にただ1つのSSH接続が前記拡張予定リソースと確立される、ステップをさらに含む、請求項1に記載の制御方法。
【請求項8】
前記対応するアプリケーションの前記実行予定データパケットの前記実行が終了された後、あらかじめ設定された時間期間内に前記SSH接続を確保するステップをさらに含む、請求項7に記載の制御方法。
【請求項9】
前記制御予定リソースが縮小予定リソースである場合、前記縮小予定リソースの中に重要なデータがあるかどうか、および前記縮小予定リソースに依存するサービスがあるかどうかを判断するステップと、
重要なデータがなく、前記縮小予定リソースに依存するサービスがない場合、前記クラスタから前記縮小予定リソースを削除するステップとをさらに含む、請求項1から8のいずれか一項に記載の制御方法。
【請求項10】
前記クラスタから前記縮小予定リソースを削除する前記ステップは、
前記縮小予定リソースの獲得された関連情報を、構成された縮小インターフェースを通して転送するステップであって、前記獲得された関連情報は、前記クラスタからの前記縮小予定リソースの前記削除の際に使われる、ステップを含み、
構成された照会インターフェースをポーリングすることによって、縮小結果を獲得するステップをさらに含む、請求項9に記載の制御方法。
【請求項11】
前記縮小予定リソースが前記クラスタから削除された後、前記縮小予定リソースが物理マシンである場合、前記縮小予定リソースを前記リソースプールに追加するステップと、
前記縮小予定リソースがコンテナ画像である場合、前記コンテナ画像を破壊し、前記縮小予定リソースを前記リソースプールに追加するステップとをさらに含
み、
任意選択で、前記制御方法が、
前記縮小予定リソースが前記物理マシンである場合、縮小のポストスクリプトを実行するステップであって、前記ポストスクリプトは、前記縮小予定リソース上でオペレーティングシステム再インストールを実施するためのインストールプロセスを開始するために使われる、ステップをさらに含む、請求項9に記載の制御方法。
【請求項12】
クラスタリソースの制御装置であって、
制御予定リソースが拡張予定リソースである場合、前記拡張予定リソースとアプリケーションとの間の束縛関係を判断するように構成された判断ユニットと、
前記拡張予定リソースとの前記束縛関係を有する、対応するアプリケーションのリソースプールに、初期化されている前記拡張予定リソースを追加するように構成された追加ユニットと、
処理予定アプリケーションの展開タイプに従って、前記処理予定アプリケーションの実行予定データパケットを生成するように構成された生成ユニットと、
前記処理予定アプリケーションの前記リソースプールの中の前記拡張予定リソース上で、前記実行予定データパケットを実行のために展開するように構成された実行ユニットとを備える、制御装置。
【請求項13】
メモリと、
前記メモリに結合されたプロセッサとを備える、クラスタリソースの制御装置であって、前記プロセッサは、前記メモリに記憶された命令に基づいて、請求項1から
11のいずれか一項に記載の、クラスタリソースの制御方法を実施するように構成される、制御装置。
【請求項14】
クラスタリソースの制御装置を備えるクラウドコンピューティングシステムであって、前記制御装置は、請求項1から
11のいずれか一項に記載の、クラスタリソースの制御方法を実施するように構成される、クラウドコンピューティングシステム。
【請求項15】
コンピュータプログラムを記憶した不揮発性コンピュータ可読記憶媒体であって、前記コンピュータプログラムは、プロセッサによって実行されると、請求項1から
11のいずれか一項に記載の、クラスタリソースの制御方法を実装する、不揮発性コンピュータ可読記憶媒体。
【国際調査報告】