JP6629697B2 - 仮想マシンイメージファイルを抽出する方法および装置 - Google Patents

仮想マシンイメージファイルを抽出する方法および装置 Download PDF

Info

Publication number
JP6629697B2
JP6629697B2 JP2016160157A JP2016160157A JP6629697B2 JP 6629697 B2 JP6629697 B2 JP 6629697B2 JP 2016160157 A JP2016160157 A JP 2016160157A JP 2016160157 A JP2016160157 A JP 2016160157A JP 6629697 B2 JP6629697 B2 JP 6629697B2
Authority
JP
Japan
Prior art keywords
image file
file
incremental
physical machine
virtual machine
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.)
Active
Application number
JP2016160157A
Other languages
English (en)
Other versions
JP2017084334A (ja
Inventor
ユ ジャン
ユ ジャン
ジェン シュ
ジェン シュ
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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co 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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Publication of JP2017084334A publication Critical patent/JP2017084334A/ja
Application granted granted Critical
Publication of JP6629697B2 publication Critical patent/JP6629697B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/188Virtual file systems
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/14Details of searching files based on file metadata
    • G06F16/148File search processing
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45583Memory management, e.g. access or allocation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/84Using snapshots, i.e. a logical point-in-time copy of the data
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/15Use in a specific computing environment
    • G06F2212/151Emulated environment, e.g. virtual machine

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Library & Information Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)
  • Processing Or Creating Images (AREA)

Description

本願はコンピュータ技術分野に関し、具体的には仮想マシン技術分野に関し、特に仮想マシンイメージファイルを抽出する方法および装置に関する。
従来技術では、クラウドコンピューティングプラットフォームアーキテクチャ(例えばオープンソースのクラウドコンピューティング管理プラットフォームアーキテクチャOpenStack)が仮想マシンを作成する場合に、クラウドコンピューティングプラットフォームアーキテクチャにおける仮想マシン管理モジュール(例えばOpenStackにおけるコンピューティングコンポーネントnova)は仮想マシンイメージ管理モジュール(例えばOpenStackにおける仮想マシンイメージシークおよび検索コンポーネントglance)によってイメージファイルを検索してミラーサーバからイメージファイルを抽出することで仮想マシンを作成することができる。
ハードウェア仮想化技術に基づくKVM仮想マシンを例として、仮想マシンシステムディスクのイメージファイルはrawまたはqcow2フォーマットであってもよく、サイズが通常G bytesのオーダーであり、仮想マシンシステムディスクはWindowsオペレーティングシステムを用いると、該オペレーティングシステムのイメージファイルはほぼ10Gのオーダーである。
しかしながら、上記のクラウドコンピューティングプラットフォームアーキテクチャにおける仮想マシン管理モジュールは仮想マシンイメージ管理モジュールによってイメージファイルを検索してイメージファイルを抽出することで仮想マシンを作成し、仮想マシンを作成するたびに、仮想マシンイメージ管理モジュールによってミラーサーバからイメージファイルを抽出するので、仮想マシンイメージ管理モジュールが所在するサーバおよびミラーサーバに対する負荷が非常に大きく、且つ仮想マシンの作成速度が遅い。
本願は、仮想マシンイメージファイルを抽出する方法および装置を提供し、以上の背景技術に関わる技術的課題を解決することを目的とする。
第1の態様では、本願は仮想マシンイメージファイルを抽出する方法を提供し、この方法は、抽出されるべきイメージファイルのタイムスタンプを含むイメージ抽出コマンドを取得するステップと、前記抽出コマンドが基礎イメージファイルのみを抽出するコマンドであるかどうかを判断するステップと、前記抽出コマンドが基礎イメージファイルのみを抽出するコマンドである場合に、各物理マシンに予め分配された基礎イメージファイルをローカルから取得するステップと、前記抽出コマンドが基礎イメージファイルのみを抽出するコマンドではない場合に、各物理マシンに予め分配された基礎イメージファイルをローカルから取得し、前記抽出されるべきイメージファイルのタイムスタンプを満たす増分ファイルをローカルまたはミラーサーバから取得するステップとを含む。
いくつかの実施例において、前記の前記抽出されるべきイメージファイルのタイムスタンプを満たす増分ファイルをローカルまたはミラーサーバから取得するステップにおいては、ローカル物理マシンに前記抽出コマンドを満たす増分ファイルが記憶されているかどうかを判断するステップと、ローカル物理マシンに前記増分ファイルが記憶されていれば、ローカル物理マシンから前記増分ファイルを取得し、ローカル物理マシンに前記増分ファイルが記憶されていなければ、イメージファイル依存チェーンが記憶されているデータベースに増分ファイル検索コマンドを送信し、検索結果に基づいて、ミラーサーバから前記増分ファイルを抽出するステップとを含む。
いくつかの実施例において、前記のイメージファイル依存チェーンが記憶されているデータベースに増分ファイル検索コマンドを送信し、検索結果に基づいて、ミラーサーバから前記増分ファイルを抽出するステップにおいては、前記データベースにおいて前記増分ファイルの依存関係を検索し、前記依存関係に基づいてローカル物理マシンに前記増分ファイルの依存ファイルが記憶されているかどうかを検索するステップと、ローカル物理マシンに前記増分ファイルの依存ファイルが記憶されていなければ、前記ミラーサーバから前記依存ファイルを抽出するステップとを含んでもよい。
いくつかの実施例において、前記方法は、さらに、各物理マシンに予め分配された前記基礎イメージファイルが仮想マシンに引用されるかどうかを検出し、前記基礎イメージファイルが仮想マシンに引用される場合に、検出された基礎イメージファイルをキープし、前記検出された基礎イメージファイルのタイムスタンプを検出時のタイムスタンプに更新するステップと、前記基礎イメージファイルが仮想マシンに引用されず、且つ前記検出された基礎イメージファイルのタイムスタンプが指示する時間から現在時間までの間隔がプリセット時間間隔を超える場合に、前記検出された基礎イメージファイルを削除するステップとを含む。
いくつかの実施例において、前記方法は、さらに、所定時間おきに各物理マシンに予め分配された前記基礎イメージファイルを更新するステップを含む。
いくつかの実施例において、前記基礎イメージファイルは、オリジナルイメージファイル、またはオリジナルイメージファイルおよびオリジナルイメージファイルのパッチファイルを含む。
いくつかの実施例において、前記基礎イメージファイルは、オリジナルイメージファイルおよびオリジナルイメージファイルの1つのパッチファイルを含む。
いくつかの実施例において、前記増分ファイルは仮想マシンイメージファイルを作成する時に仮想マシンフロッピーディスクファイルのトップファイルに基づいて生成されるイメージファイルである。
いくつかの実施例において、前記仮想マシンイメージファイルはqcow2チェーン式構造を用いる。
第2の態様では、本願は仮想マシンイメージファイルの抽出を加速する装置を開示し、前記装置は、抽出されるべきイメージファイルのタイムスタンプを含むイメージ抽出コマンドを取得するための第1の取得ユニットと、前記抽出コマンドが基礎イメージファイルのみを抽出するコマンドであるかどうかを判断するための判断ユニットと、前記抽出コマンドが基礎イメージファイルのみを抽出するコマンドである場合に、各物理マシンに予め分配された基礎イメージファイルをローカルから取得するための第2の取得ユニットと、前記抽出コマンドが基礎イメージファイルのみを抽出するコマンドではない場合に、各物理マシンに予め分配された基礎イメージファイルをローカルから取得し、前記抽出されるべきイメージファイルのタイムスタンプを満たす増分ファイルをローカルまたはミラーサーバから取得するための第3の取得ユニットとを含む。
いくつかの実施例において、前記第3の取得ユニットは、ローカル物理マシンに前記抽出コマンドを満たす増分ファイルが記憶されているかどうかを判断するための判断サブユニットと、ローカル物理マシンに前記増分ファイルが記憶されていれば、ローカル物理マシンから前記増分ファイルを取得するための第1の取得サブユニットと、ローカル物理マシンに前記増分ファイルが記憶されていなければ、イメージファイル依存チェーンが記憶されているデータベースに増分ファイル検索コマンドを送信し、検索結果に基づいて、ミラーサーバから前記増分ファイルを抽出するための第1の抽出サブユニットとを含む。
いくつかの実施例において、前記第1の抽出サブユニットは、前記データベースにおいて前記増分ファイルの依存関係を検索し、前記依存関係に基づいてローカル物理マシンに前記増分ファイルの依存ファイルが記憶されているかどうかを検索するための検索サブユニットと、ローカル物理マシンに前記増分ファイルの依存ファイルが記憶されていなければ、前記ミラーサーバから前記依存ファイルを抽出するための第2の抽出サブユニットとを含む。
いくつかの実施例において、前記装置は、さらに、各物理マシンに予め分配された前記基礎イメージファイルが仮想マシンに引用されるかどうかを検出するための検出ユニットと、各物理マシンに予め分配された前記基礎イメージファイルが仮想マシンに引用される場合に、検出された基礎イメージファイルをキープし、前記検出された基礎イメージファイルのタイムスタンプを検出時のタイムスタンプに更新するための第1の更新ユニットと、各物理マシンに予め分配された前記基礎イメージファイルが仮想マシンに引用されず、且つ前記検出された基礎イメージファイルのタイムスタンプが指示する時間から現在時間までの間隔がプリセット時間間隔を超える場合に、前記検出された基礎イメージファイルを削除するための削除ユニットとを含む。
いくつかの実施例において、前記装置は、さらに、所定時間おきに各物理マシンに予め分配された前記基礎イメージファイルを更新するための第2の更新ユニットを含む。
いくつかの実施例において、前記装置における前記基礎イメージファイルは、オリジナルイメージファイル、またはオリジナルイメージファイルおよびオリジナルイメージファイルのパッチファイルを含む。
いくつかの実施例において、前記装置における前記基礎イメージファイルは、オリジナルイメージファイルおよびオリジナルイメージファイルの1つのパッチファイルを含む。
いくつかの実施例において、前記装置における前記増分ファイルは仮想マシンイメージファイルを作成する時に仮想マシンフロッピーディスクファイルのトップファイルに基づいて生成されるイメージファイルである。
いくつかの実施例において、前記装置における前記仮想マシンイメージファイルはqcow2チェーン式構造である。
本願に係る仮想マシンイメージファイルを抽出する方法および装置は、まず、イメージ抽出コマンドを取得し、次に前記抽出コマンドが基礎イメージファイルのみを抽出するコマンドであるかどうかを判断し、その後、抽出コマンドが基礎イメージファイルのみを抽出するコマンドである場合に、各物理マシンに予め分配された基礎イメージファイルをローカルから取得し、前記抽出コマンドが基礎イメージファイルのみを抽出するコマンドではない場合に、各物理マシンに予め分配された基礎イメージファイルをローカルから取得し、前記抽出されるべきイメージファイルのタイムスタンプを満たす増分ファイルをローカルまたはミラーサーバから取得し、それにより仮想マシンを作成する時に抽出されるべきイメージファイルのデータ量を効果的に減少させ、イメージファイルを抽出する時間を減少させるとともに、仮想マシンイメージ管理モジュールが所在するサーバおよびミラーサーバの負荷を軽減し、それにより仮想マシンの作成速度を向上でき、仮想マシンに迅速な配信サービスを提供できるようにさせる。
以下の図面を参照しながら行った非限定的な実施例の詳細な説明を読むことによって、本願の他の特徴、目的および利点はより明らかになる。
本願の実施例に係る仮想マシンイメージファイルを抽出する方法および装置を応用できる例示的なシステムアーキテクチャを示す図である。 本願に係る仮想マシンイメージファイルを抽出する方法の一実施例を示す模式的なフローチャートである。 本願の実施例に係る基礎イメージファイルを示す構造図である。 本願の実施例に係る仮想マシンイメージファイルを抽出する方法の一応用シーンを示す模式図である。 本願の実施例に係る物理マシンのディスクスペース利用効率を向上させる方法の一実施例を示すフローである。 本願の実施例に係る仮想マシンイメージファイルの抽出装置を示す例示的な構造図である。 本願の実施例を実現するための端末装置またはサーバに適用されるコンピュータシステムを示す構造模式図である。
以下、図面および実施例を参照しながら、本発明をさらに詳しく説明する。ただし、ここで説明されている具体的な実施例は、係る発明を解釈するためのものに過ぎず、本発明の範囲を制限するものではないことが理解されるべきである。なお、説明の便宜上、図面にかかる発明と関連する部分のみが示されている。
ただし、衝突がない限り、本願における実施例および実施例における特徴は互いに組み合わせてもよい。以下、図面を参照しながら実施例に基づいて本願を詳しく説明する。
図1は本願の実施例に係る仮想マシンイメージファイルを抽出する方法および装置を応用できる例示的なシステムアーキテクチャ100を示す。
図1に示すように、システムアーキテクチャ100は、端末装置101、102、サーバ103、104および105で構成されるクラウドコンピューティングプラットフォーム、およびネットワーク106を含むが、これらに限定されない。ここで、ネットワーク106は端末装置101、102とクラウドコンピューティングプラットフォームの間に、またはクラウドコンピューティングプラットフォーム内部のサーバ103、104および105の間に通信リンクを提供することに用いられる。ネットワーク106は、様々な接続タイプ、例えば有線、無線通信リンクまたは光ファイバケーブル等を含んでもよい。
ユーザは端末装置101、102によって、クラウドコンピューティングプラットフォームに実行されている仮想マシンを管理でき、例えば、仮想マシンスナップショットの作成要求の送信等が挙げられる。ここで、仮想マシンが、クラウドコンピューティングプラットフォームのいずれかのサーバまたはそれらの組合せ、例えば、サーバ103、104または105に設置されてもよい。仮想マシンに、様々なアプリケーション、例えば、ウェブブラウザアプリケーション、ショッピングアプリケーション、検索アプリケーション、インスタントメッセージングツール、電子メールクライアント、ソーシャルプラットフォームソフトウェア等がインストールされてもよい。
クラウドコンピューティングプラットフォームを構成するサーバ103、104および105は様々なコンピューティングサービスを提供する装置であってもよく、例えば、ユーザが端末装置により送信する要求を受信し、要求に分析処理を行って、処理結果を端末装置によってユーザにフィードバックする。
ただし、本願の実施例に係る仮想マシンイメージファイルを抽出する方法は、一般的には、上記のクラウドコンピューティングプラットフォームアーキテクチャに配置されている仮想マシン管理モジュールによって実行され、当該管理モジュールがクラウドコンピューティングプラットフォームのいずれかのサーバまたはサーバの組合せに配置されてもよく、例えば、当該管理モジュールがクラウドコンピューティング管理プラットフォームアーキテクチャOpenStackにおけるコンピューティングコンポーネントNova−computeであり、いずれかのサーバ103、104、105またはサーバ103、104、105の任意の組合せに配置されてもよい。それに対応して、仮想マシンシステムディスクのスナップショットの作成装置もクラウドコンピューティングプラットフォームのいずれかのサーバまたはそれらの組合せに配置されている。
図1における端末装置、ネットワークおよびサーバの数が例示的なものであることを当業者は理解すべきである。必要に応じて、端末装置、ネットワークおよびサーバの数は任意である。
次に、本願に係る仮想マシンイメージファイルを抽出する方法の一実施例のフローチャート200を示す図2を参照する。前記仮想マシンイメージファイルを抽出する方法は、ステップ201〜ステップ204を含む。
ステップ201において、抽出されるべきイメージファイルのタイムスタンプを含むイメージ抽出コマンドを取得する。
本実施例において、仮想マシンイメージファイルを抽出する方法が実行されている電子機器(例えば図1に示すサーバ)は有線接続方式または無線接続方式によって、ユーザによってインタラクションのために利用される端末から仮想マシンの作成要求を受信する。上記無線接続方式は、3G/4G接続、WiFi接続、ブルートゥース接続、WiMAX接続、Zigbee接続、UWB(ultra wideband)接続、および他の従来既知のまたは将来に開発される無線接続方式を含むが、それらに限定されるものではない。
通常、ユーザは端末にインストールされるWebウェブブラウザまたはクライアントアプリケーションを利用して仮想マシンの作成要求を送信し、この時、ユーザはコマンドを直接的に入力したり、Webウェブブラウザまたはクライアントアプリケーションに表示された仮想マシンの作成要求を送信するためのリンクをクリックすることによって、ウェブページサーバまたはクライアントアプリケーションに仮想マシンの作成要求を開始させたりする。通常、当該仮想マシンの作成要求はユーザに設定される仮想マシンフロッピーディスクファイルのパラメータを含み、当該フロッピーディスクファイルのパラメータは仮想マシンフロッピーディスクファイルのイメージファイルを作成するためのタイムスタンプを含んでもよい。
その後、ユーザの仮想マシンの作成要求を受信するクラウドコンピューティングプラットフォームアーキテクチャにおける仮想マシン管理モジュール(例えばクラウドコンピューティングプラットフォームアーキテクチャOpenStackにおけるコンピューティングコンポーネントNova、図1に示すサーバまたはサーバの組合せに実行されることができる)は、受信される仮想マシンの作成要求に基づいて、イメージ抽出コマンドを取得する。ここで、当該イメージ抽出コマンドは、抽出を必要とする上記の仮想マシンの作成要求におけるイメージファイルのタイムスタンプを含む。
ステップ202において、抽出コマンドが基礎イメージファイルのみを抽出するコマンドであるかどうかを判断する。
本実施例において、上記の仮想マシン管理モジュールは、ステップ201にて取得されたイメージ抽出コマンドに対して判断を行い、抽出コマンドが基礎イメージファイルのみを抽出するコマンドであるかどうかを判断する。
ここでの基礎イメージファイルはオペレーティングシステムのあるリリースバージョンファイルまたはオペレーティングシステムのあるリリースバージョンファイルとシステムパッチファイルであってもよく、さらに、ユーザにプリセットされた仮想マシンフロッピーディスクファイルであってもよく、そのうち、仮想マシンフロッピーディスクファイルは、オペレーティングシステムのあるリリースバージョンファイルおよびオペレーティングシステムパッチまたはユーザカスタマイズパッチとなるユーザにプリセットされたアプリケーションソフトウェア等を含んでもよい。
上記のオペレーティングシステムのあるリリースバージョンファイルをオリジナルイメージファイルとし、他のオペレーティングシステムパッチファイル、ユーザにプリセットされたアプリケーションソフトウェア等をいずれもオリジナルイメージファイルのパッチファイルとする場合に、基礎イメージファイルは、オリジナルイメージファイルまたはオリジナルイメージファイルのパッチファイルを含むが、それらに限定されるものではない。
例示的に、本願の実施例に係る基礎イメージファイルを示す構造図である図3に示すように、仮想マシンシステムディスクにパッチがない場合に、システムディスクファイルの構造510は基礎イメージファイルおよび基礎イメージファイルに依存するトップファイルを含み、仮想マシンシステムディスクにパッチがある場合に、システムディスクファイルの構造520は基礎イメージファイル、ユーザカスタマイズまたはシステムパッチおよびトップファイルを含み、ただし、ユーザカスタマイズまたはシステムパッチは基礎イメージファイルに依存し、トップファイルはユーザカスタマイズまたはシステムパッチファイルに依存し、仮想マシンフロッピーディスクに記憶された必要としない大容量ファイルを更に減少させるために、ユーザカスタマイズまたはシステムパッチを基礎イメージファイルにマージし、パッチがマージされるイメージファイルを取得して、パッチがマージされるイメージファイルを新しい基礎イメージファイルとし、これにより、新しい基礎イメージファイルの共有率を向上させることができる。
パッチが多すぎて基礎イメージファイルの共有率に影響を与えることを避けるために、パッチの数を小さな範囲内に制限してもよく、例えばオリジナルイメージファイルとオリジナルイメージファイルの1つのパッチに制限されてもよい。
図2に戻り、ステップ203において、抽出コマンドが基礎イメージファイルのみを抽出するコマンドである場合に、各物理マシンに予め分配された基礎イメージファイルをローカルから取得する。
本実施例において、クラウドコンピューティングプラットフォームを構成する物理マシンに基礎イメージファイルが予め記憶され、上記の仮想マシン管理モジュールは、抽出コマンドが基礎イメージファイルのみを抽出するコマンドであると判定すれば、仮想マシンに割り当てられるホスト物理マシンに取得コマンドを送信し、ホスト物理マシンに物理マシンに予め記憶された基礎イメージファイルを取得させる。
本実施例のいくつかの選択可能な実現方式において、ローカルから取得された各物理マシンに予め分配された基礎イメージファイルが最新バージョンの基礎イメージファイルであることを確保するために、仮想マシンイメージファイルを抽出する方法は、さらに、所定時間おきに各物理マシンに予め分配された基礎イメージファイルを更新することを含む。
ステップ204において、抽出コマンドが基礎イメージファイルのみを抽出するコマンドではない場合に、各物理マシンに予め分配された基礎イメージファイルをローカルから取得し、抽出されるべきイメージファイルのタイムスタンプを満たす増分ファイルをローカルまたはミラーサーバから取得する。
本実施例において、上記の仮想マシン管理モジュールは、抽出コマンドが基礎イメージファイルのみを抽出するコマンドではないと判定すれば、仮想マシンに割り当てられるホスト物理マシンに取得コマンドを送信し、ホスト物理マシンに仮想マシンの作成ファイルをそれぞれ抽出させ、ここで、基礎イメージファイルがローカルから直接的に抽出されてもよい。基礎イメージファイル以外の増分ファイルは、増分ファイルの記憶位置に基づいて、ローカルから抽出したり、クラウドコンピューティングプラットフォームアーキテクチャにおける仮想マシンイメージ管理モジュールによってミラーサーバから抽出したりしてもよい。ここで、増分ファイルは仮想マシンイメージファイルを作成する時に仮想マシンフロッピーディスクファイルのトップファイルに基づいて生成されるイメージファイルである。
本実施例のいくつかの選択可能な実現方式において、抽出されるべきイメージファイルのタイムスタンプを満たす増分ファイルをローカルまたはミラーサーバから取得するステップにおいては、ローカル物理マシンに抽出コマンドを満たす増分ファイルが記憶されているかどうかを判断し、ローカル物理マシンに増分ファイルが記憶されていれば、ローカル物理マシンから増分ファイルを取得し、ローカル物理マシンに増分ファイルが記憶されていなければ、イメージファイル依存チェーンが記憶されているデータベースに増分ファイル検索コマンドを送信し、検索結果に基づいて、ミラーサーバから増分ファイルを抽出することを含んでもよいが、それらに限定されるものではない。
本実現方式において、イメージファイルの依存チェーンが記憶されているデータベースは、クラウドコンピューティングプラットフォームアーキテクチャにイメージファイルのメタデータが記憶されているデータベース、例えば上記の仮想マシンイメージ管理モジュールに位置し、イメージファイルのメタデータが記憶されているデータベースであってもよい。
上記の仮想マシン管理モジュールは、上記したイメージファイルの依存チェーンが記憶されているデータベースのモジュールに増分ファイル検索コマンドを送信して検索結果を取得した後に、検索結果に基づいて、ミラーサーバから増分ファイルを抽出することができ、例えば、仮想マシン管理モジュールはデータベースにおいて増分ファイルの依存関係を検索して、依存関係に基づいてローカル物理マシンに増分ファイルの依存ファイルが記憶されているかどうかを検索し、ローカル物理マシンに増分ファイルの依存ファイルが記憶されていなければ、ミラーサーバから依存ファイルを抽出することができる。
本実施例において、上記仮想マシンイメージファイルはチェーン式構造であり、例えばqcow2フォーマットのチェーン式構造をであってもよい。
続いて、本願の実施例に係る仮想マシンイメージファイルを抽出する方法の一応用シーンを示す模式図である図4を参照する。図4の応用シーンにおいて、ユーザ410はまず端末装置によって仮想マシン管理モジュールに仮想マシンの作成要求を送信する。それから、クラウドコンピューティングプラットフォームアーキテクチャにおける仮想マシン管理モジュール420は受信された要求に応答し、仮想マシンのためにホスト物理マシン430を決定するとともに、ホスト物理マシン430に仮想マシンの作成コマンドを送信し、該仮想マシンの作成コマンドはユーザに設定された、仮想マシンフロッピーディスクファイルのパラメータを含み、該フロッピーディスクファイルのパラメータは仮想マシンフロッピーディスクファイルのイメージファイルを作成するためのタイムスタンプを含んでもよい。ホスト物理マシン430は受信された仮想マシンの作成コマンドに応答し、仮想マシンの作成コマンドに基づいてイメージ管理モジュール430によってイメージファイルを抽出し、ネットワークノード450からネットワーク情報を抽出してから、抽出されたイメージファイルおよびネットワーク情報に基づいて、仮想マシン460の作成を完了する。
本願の上記実施例に係る仮想マシンイメージファイルを抽出する方法は物理マシンに予め分配された基礎イメージファイルによって、仮想マシンイメージ管理モジュールにより抽出される必要がある仮想マシンイメージファイルのデータ量を減少させ、それによりイメージファイルを抽出する時間を減少させ、仮想マシンイメージ管理モジュールが所在するサーバおよびミラーサーバの負荷を軽減し、それにより仮想マシンの作成速度を向上できる。
更に、本願の実施例に係る物理マシンのディスクスペース利用率を向上させる方法の一実施例を示すフロー500を示す図5を参照する。物理マシンのディスクスペース利用率を向上させる方法のフロー500は、図2に示す仮想マシンイメージファイルを抽出する方法をもとにして、更に、ステップ501〜ステップ503を含んでもよい。
ステップ501において、各物理マシンに予め分配された基礎イメージファイルが仮想マシンに引用されるかどうかを検出する。
合理的なクラウドコンピューティング製品において、仮想マシンにサポートされるオペレーティングシステムのイメージファイルは常に増加し、ひいてはいくつかのクラウドコンピューティング製品において、イメージマーケット(ユーザは自分でイメージシステムを作成することができる)が設けられ、そのため、製品に大量のイメージファイルがある。クラウドコンピューティング製品におけるイメージファイルの利用効率を高く確保し、イメージファイルが消耗する物理マシンの記憶空間を減少させるために、仮想マシン管理モジュールは各物理マシンに予め分配された基礎イメージファイルが引用されるかどうかに応じて各物理マシンに予め分配された基礎イメージファイルに対する管理を決定する必要がある。
仮想マシン管理モジュールは各物理マシンに予め分配された基礎イメージファイルが引用されるかどうかを決定する場合に、物理マシンに実行されている仮想マシンフロッピーディスクファイルを物理マシンに予め分配された基礎イメージファイルと対比でき、物理マシンに予め分配された基礎イメージファイルが仮想マシンフロッピーディスクファイルのチェーン構造に存在すれば、当該基礎イメージファイルが引用されていると判断する。
ステップ502において、当該基礎イメージファイルが引用されている場合に、検出された基礎イメージファイルをキープし、検出された基礎イメージファイルのタイムスタンプを検出時のタイムスタンプに更新する。
本実施例において、仮想マシン管理モジュールはステップ501の検出結果に基づいて、各物理マシンに予め分配された基礎イメージファイルが仮想マシンに引用されていると判断すれば、検出された基礎イメージファイルをキープし、検出された基礎イメージファイルのタイムスタンプを検出時のタイムスタンプに更新する。
ステップ503において、当該基礎イメージファイルが引用されず、且つ検出された基礎イメージファイルのタイムスタンプが指示する時間から現在時間までの間隔がプリセット時間間隔を超える場合に、検出された基礎イメージファイルを削除する。
本実施例において、仮想マシン管理モジュールはステップ501の検出結果に基づいて、各物理マシンに予め分配された基礎イメージファイルが仮想マシンに引用されていないと判断し、検出された基礎イメージファイルのタイムスタンプが指示する時間から現在時間までの間隔がプリセットされる時間間隔を超える場合に、検出された基礎イメージファイルを削除し、すなわち、検出された基礎イメージファイルが仮想マシンに引用されず、且つその耐用年数がプリセットされた耐用年数に達した場合に、検出された基礎イメージファイルを削除する。
基礎イメージファイルの有効記憶率を向上させる上記方法は、物理マシンに予め分配された基礎イメージファイルをスクリーニングし、引用されず且つプリセットされた耐用年数に達した基礎イメージファイルを削除し、物理マシンのディスクスペースの利用効率を向上させる。
更に、図6を参照し、上記の各図面に示す方法の実現形態として、本願は仮想マシンイメージファイルを抽出する装置の一実施例を提供し、当該装置の実施例は図2に示す方法の実施例と対応し、当該装置は具体的に様々な電子機器に適用できる。
図6に示すように、本実施例に記載の仮想マシンイメージファイルの抽出を加速する装置600は、第1の取得ユニット610と、判断ユニット620と、第2の取得ユニット630と、第3の取得ユニット640とを含む。第1の取得ユニット610は、イメージ抽出コマンドを取得するように配置されており、ここで、イメージ抽出コマンドは抽出されるべきイメージファイルのタイムスタンプを含むが、これに限定されず、判断ユニット620は抽出コマンドが基礎イメージファイルのみを抽出するコマンドであるかどうかを判断するように配置され、第2の取得ユニット630は、抽出コマンドが基礎イメージファイルのみを抽出するコマンドである場合に、各物理マシンに予め分配された基礎イメージファイルをローカルから取得するように配置され、第3の取得ユニット640は、抽出コマンドが基礎イメージファイルのみを抽出するコマンドではない場合に、各物理マシンに予め分配された基礎イメージファイルをローカルから取得し、抽出されるべきイメージファイルのタイムスタンプを満たす増分ファイルをローカルまたはミラーサーバから取得するように配置される。
本実施例において、仮想マシンイメージファイルの抽出を加速する装置600の第1の取得ユニット610は受信される仮想マシンの作成要求に基づいて、抽出を必要とする上記の仮想マシンの作成要求におけるイメージファイルのタイムスタンプを含むイメージ抽出コマンドを取得する。
本実施例において、判断ユニット620は第1の取得ユニット610により取得されたイメージ抽出コマンドに対して判断を行い、抽出コマンドが基礎イメージファイルのみを抽出するコマンドであるかどうかを判断することができる。いくつかの実現形態において、装置における基礎イメージファイルは、オリジナルイメージファイル、またはオリジナルイメージファイルおよびオリジナルイメージファイルのパッチファイルを含むが、これらに限定されない。更なる実現形態において、装置における基礎イメージファイルは、オリジナルイメージファイルおよびオリジナルイメージファイルの1つのパッチファイルを含むが、これらに限定されない。
本実施例において、クラウドコンピューティングプラットフォームを構成する物理マシンに基礎イメージファイルが予め記憶された。上記の第2の取得ユニット630は判断ユニット620の一番目の判断結果に基づいて仮想マシンの作成ファイルを抽出することができ、抽出コマンドが基礎イメージファイルのみを抽出するコマンドであると判定すれば、上記仮想マシン管理モジュールが仮想マシンに割り当てるホスト物理マシンから、物理マシンに予め記憶された基礎イメージファイルを取得できる。
本実施例において、第3の取得ユニット640は判断ユニット620の二番目の判断結果に基づいて仮想マシンの作成ファイルを抽出することができ、抽出コマンドが基礎イメージファイルのみを抽出するコマンドではないと判定すれば、仮想マシンの作成ファイルをそれぞれ抽出し、基礎イメージファイルはローカルから直接的に抽出してもよく、基礎イメージファイル以外の増分ファイルは、増分ファイルの記憶位置に基づいて、ローカルから抽出し、またはクラウドコンピューティングプラットフォームアーキテクチャにおける仮想マシンイメージ管理モジュールによってミラーサーバから抽出してもよい。増分ファイルは仮想マシンイメージファイルを作成する時に仮想マシンフロッピーディスクファイルのトップファイルに基づいて生成されるイメージファイルである。いくつかの実現形態において、装置における増分ファイルは仮想マシンイメージファイルを作成する時に仮想マシンフロッピーディスクファイルのトップファイルに基づいて生成されるイメージファイルである。
本実施例において、仮想マシンイメージファイルはチェーン式構造であり、例えばqcow2フォーマットのチェーン式構造であってもよい。
本実施例のいくつかの選択可能な実現方式において、上記第3の取得ユニットは、ローカル物理マシンに抽出コマンドを満たす増分ファイルが記憶されているかどうかを判断するように配置される判断サブユニットと、ローカル物理マシンに増分ファイルが記憶されていれば、ローカル物理マシンから増分ファイルを取得するように配置される第1の取得サブユニットと、ローカル物理マシンに増分ファイルが記憶されていなければ、イメージファイル依存チェーンが記憶されているデータベースに増分ファイル検索コマンドを送信して、検索結果に基づいて、ミラーサーバから増分ファイルを抽出するように配置される第1の抽出サブユニットとを含むが、これ(図示せず)に限定されない。
本実施例のいくつかの選択可能な実現方式において、上記第1の抽出サブユニットは、データベースにおいて増分ファイルの依存関係を検索して、依存関係に基づいてローカル物理マシンに増分ファイルの依存ファイルが記憶されているかどうかを判断するように配置される検索サブユニットと、ローカル物理マシンに増分ファイルの依存ファイルが記憶されていなければ、ミラーサーバから依存ファイルを抽出するように配置される第2の抽出サブユニットとを含むが、これ(図示せず)に限定されない。
本実施例のいくつかの選択可能な実現方式において、上記装置は、更に、各物理マシンに予め分配された基礎イメージファイルが仮想マシンに引用されるかどうかを検出するように配置される検出ユニットと、各物理マシンに予め分配された基礎イメージファイルが仮想マシンに引用される場合に、検出された基礎イメージファイルをキープして、検出された基礎イメージファイルのタイムスタンプを検出時のタイムスタンプに更新するように配置される第1の更新ユニットと、各物理マシンに予め分配された基礎イメージファイルが仮想マシンに引用されず、且つ検出された基礎イメージファイルのタイムスタンプが指示する時間から現在時間までの間隔がプリセットされる時間間隔を超える場合に、検出された基礎イメージファイルを削除するように配置される削除ユニットとを含むが、これ(図示せず)に限定されない。
本実施例のいくつかの選択可能な実現方式において、上記装置は、更に、所定時間おきに各物理マシンに予め分配された基礎イメージファイルを更新するように配置される第2の更新ユニット(図示せず)を含むが、これに限定されない。
装置600に記載の各ユニットは図2を参照しながら説明した方法における各ステップと対応することを当業者は理解すべきである。それにより、上記した仮想マシンイメージファイルを抽出する方法に対して説明された操作および特徴は同様に装置600およびそれに含まれるユニットに適用し、ここで説明を省略する。本願の実施例の解決策を達成するために、装置600における対応ユニットは端末装置またはサーバにおけるユニットと相互に組み合わせてもよい。
上記仮想マシンイメージファイルの抽出を加速する装置600は、例えば、プロセッサ、メモリなどのいくつかの他の公知の構造をさらに備えてもよく、本発明の実施例を曖昧にすることを回避するために、これらの公知の構造が図6に示されていないことを、当業者は理解することができる。
以下、本発明の実施例を実現するための端末装置またはサーバに適用されるコンピュータシステム700を示す構造模式図である図7を参照する。
図7に示すように、コンピュータシステム700は、読み出し専用メモリ(ROM)702に記憶されているプログラムまたは記憶部708からランダムアクセスメモリ(RAM)703にロードされたプログラムに基づいて様々な適当な動作および処理を実行することができる中央処理装置(CPU)701を備える。RAM703には、システム700の操作に必要な様々なプログラムおよびデータがさらに記憶されている。CPU701、ROM702およびRAM703は、バス704を介して互いに接続されている。入力/出力(I/O)インターフェース705もバス704に接続されている。
キーボード、マウスなどを含む入力部706、陰極線管(CRT)、液晶ディスプレイ(LCD)など、およびスピーカなどを含む出力部707、ハードディスクなどを含む記憶部708、およびLANカード、モデムなどを含むネットワークインターフェースカードの通信部709は、I/Oインターフェース705に接続されている。通信部709は、例えばインターネットのようなネットワークを介して通信処理を実行する。ドライバ710は、必要に応じてI/Oインターフェース705に接続される。リムーバブルメディア711は、例えば、マグネチックディスク、光ディスク、光磁気ディスク、半導体メモリなどのようなものであり、必要に応じてドライバ710に取り付けられ、したがって、ドライバ710から読み出されたコンピュータプログラムが必要に応じて記憶部708にインストールされる。
特に、本発明の実施例によれば、上記のフローチャートを参照しながら記載されたプロセスは、コンピュータのソフトウェアプログラムとして実現されてもよい。例えば、本発明の実施例は、コンピュータプログラム製品を含み、当該コンピュータプログラム製品は、機械可読媒体に有形に具現化されるコンピュータプログラムを含み、前記コンピュータプログラムは、フローチャートで示される方法を実行するためのプログラムコードを含む。このような実施例では、当該コンピュータプログラムは、通信部709を介してネットワークからダウンロードされてインストールされてもよく、および/またはリムーバブルメディア711からインストールされてもよい。
図面におけるフローチャートおよびブロック図は、本発明の各実施例に係るシステム、方法およびコンピュータプログラム製品により実現可能なアーキテクチャ、機能および操作を示す。ここで、フローチャートまたはブロック図における各枠は、1つのモジュール、プログラムセグメント、またはコードの一部を代表してもよく、前記モジュール、プログラムセグメント、またはコードの一部は、規定された論理機能を実現するための1つ以上の実行可能な命令を含む。なお、いくつかの代替実施態様として、枠に示された機能は、図面に示された順番と異なる順番で実行されてもよい。例えば、連続して示された2つの枠は、関連する機能に応じて、実際にほぼ並行に実行されてもよく、逆の順番で実行されてもよい。なお、ブロック図および/またはフローチャートにおける各枠と、ブロック図および/またはフローチャートにおける枠の組合せは、規定された機能または操作を実行する、ハードウェアに基づく専用システムで実現されてもよく、あるいは、専用ハードウェアとコンピュータの命令との組合せで実行されてもよい。
本発明の実施例に記載されたユニットは、ソフトウェアで実現されてもよいし、ハードウェアで実現されてもよい。記載されたユニットは、プロセッサに設定されてもよく、例えば、「第1の取得ユニット、判断ユニット、第2の取得ユニット、第3の取得ユニットを備えるプロセッサ」として記載されてもよい。その中でも、これらのユニットの名称は、ある場合において当該ユニットそれ自体を限定するものではなく、例えば、第1の取得ユニットは、「イメージ抽出コマンドを取得するユニット」として記載されてもよい。
一方、本発明は、不揮発性コンピュータ記憶媒体をさらに提供し、当該不揮発性コンピュータ記憶媒体は、上記した実施例の前記装置に含まれる不揮発性コンピュータ記憶媒体であってもよく、独立に存在して端末に組み込まれていない不揮発性コンピュータ記憶媒体であってもよい。前記不揮発性コンピュータ記憶媒体は、1つ以上のプログラムが記憶され、前記1つ以上のプログラムが1つの機器により実行された場合、上記した機器を以下の通りにさせ、すなわち、イメージ抽出コマンドを取得し(ここで、イメージ抽出コマンドは抽出されるべきイメージファイルのタイムスタンプを含むが、これに限定されない)、抽出コマンドが基礎イメージファイルのみを抽出するコマンドであるかどうかを判断し、抽出コマンドが基礎イメージファイルのみを抽出するコマンドである場合に、各物理マシンに予め分配された基礎イメージファイルをローカルから取得し、抽出コマンドが基礎イメージファイルのみを抽出するコマンドではない場合に、各物理マシンに予め分配された基礎イメージファイルをローカルから取得し、抽出されるべきイメージファイルのタイムスタンプを満たす増分ファイルをローカルまたはミラーサーバから取得する。
以上の記載は、本発明の好ましい実施例、および使用された技術的原理の説明に過ぎない。本発明に係る特許請求の範囲が、上記した技術的特徴の特定な組合せからなる技術案に限定されることではなく、本発明の趣旨を逸脱しない範囲で、上記の技術的特徴または同等の特徴の任意の組合せからなる他の技術案も含むべきであることを、当業者は理解すべきである。例えば、上記の特徴と、本発明に開示された類似の機能を持っている技術的特徴(これらに限定されていない)とを互いに置き換えてなる技術案が挙げられる。

Claims (16)

  1. 抽出されるべきイメージファイルのタイムスタンプを含むイメージ抽出コマンドを取得するステップであって、前記抽出されるべきイメージファイルは、基礎イメージファイルを含むか、或いは、前記基礎イメージファイルと増分ファイルとを含むステップと、
    前記イメージ抽出コマンドが基礎イメージファイルのみを抽出するコマンドであるかどうかを判断するステップと、
    前記イメージ抽出コマンドが基礎イメージファイルのみを抽出するコマンドである場合に、クラウドコンピューティングプラットフォームを構成する各物理マシンのうちの、仮想マシンに割り当てられるホスト物理マシンであるローカル物理マシンから、前記各物理マシンに予め分配された基礎イメージファイルを取得するステップと、
    前記イメージ抽出コマンドが基礎イメージファイル及び増分ファイルを抽出するコマンドである場合に、前記各物理マシンに予め分配された基礎イメージファイルを前記ローカル物理マシンから取得し、前記抽出されるべきイメージファイルのタイムスタンプを満たす増分ファイルを前記ローカル物理マシンまたはミラーサーバから取得するステップとを含み、
    前記抽出されるべきイメージファイルのタイムスタンプを満たす増分ファイルを前記ローカル物理マシンまたはミラーサーバから取得するステップにおいては、
    前記ローカル物理マシンに前記イメージ抽出コマンドを満たす増分ファイルが記憶されているかどうかを判断するステップと、
    前記ローカル物理マシンに前記増分ファイルが記憶されていれば、前記ローカル物理マシンから前記増分ファイルを取得し、前記ローカル物理マシンに前記増分ファイルが記憶されていなければ、イメージファイル依存チェーンが記憶されているデータベースに増分ファイル検索コマンドを送信し、検索結果に基づいて、ミラーサーバから前記増分ファイルを抽出するステップと
    を含むことを特徴とする仮想マシンイメージファイルを抽出する方法。
  2. 前記のイメージファイル依存チェーンが記憶されているデータベースに増分ファイル検索コマンドを送信し、検索結果に基づいて、ミラーサーバから前記増分ファイルを抽出するステップにおいては、さらに、
    前記データベースにおいて前記増分ファイルの依存関係を検索し、前記依存関係に基づいてローカル物理マシンに前記増分ファイルの依存ファイルが記憶されているかどうかを検索するステップと、
    ローカル物理マシンに前記増分ファイルの依存ファイルが記憶されていなければ、前記ミラーサーバから前記依存ファイルを抽出するステップと
    を含むことを特徴とする請求項1に記載の方法。
  3. 各物理マシンに予め分配された基礎イメージファイルが仮想マシンに引用されるかどうかを検出するステップと、
    各物理マシンに予め分配された基礎イメージファイルが仮想マシンに引用される場合に、検出された基礎イメージファイルをキープし、前記検出された基礎イメージファイルのタイムスタンプを検出時のタイムスタンプに更新するステップと、
    各物理マシンに予め分配された基礎イメージファイルが仮想マシンに引用されず、且つ前記検出された基礎イメージファイルのタイムスタンプが指示する時間から現在時間までの間隔がプリセット時間間隔を超える場合に、前記検出された基礎イメージファイルを削除するステップと
    を含むことを特徴とする請求項1又は2のいずれか1項に記載の方法。
  4. 所定時間おきに前記各物理マシンに予め分配された基礎イメージファイルを更新するステップを含む
    ことを特徴とする請求項3に記載の方法。
  5. 前記基礎イメージファイルは、
    オリジナルイメージファイル、または
    オリジナルイメージファイルおよびオリジナルイメージファイルのパッチファイルを含む
    ことを特徴とする請求項4に記載の方法。
  6. 前記基礎イメージファイルは、オリジナルイメージファイルおよびオリジナルイメージファイルの1つのパッチファイルを含む
    ことを特徴とする請求項5に記載の方法。
  7. 前記増分ファイルは仮想マシンイメージファイルを作成する時に仮想マシンフロッピーディスクファイルのトップファイルに基づいて生成されるイメージファイルである
    ことを特徴とする請求項6に記載の方法。
  8. 前記仮想マシンイメージファイルはqcow2チェーン式構造である
    ことを特徴とする請求項7に記載の方法。
  9. 抽出されるべきイメージファイルのタイムスタンプを含むイメージ抽出コマンドを取得するための第1の取得ユニットであって、前記抽出されるべきイメージファイルは、基礎イメージファイルを含むか、或いは、基礎イメージファイルと増分ファイルとを含む第1の取得ユニットと、
    前記イメージ抽出コマンドが基礎イメージファイルのみを抽出するコマンドであるかどうかを判断するための判断ユニットと、
    前記イメージ抽出コマンドが基礎イメージファイルのみを抽出するコマンドである場合に、クラウドコンピューティングプラットフォームを構成する各物理マシンのうちの、仮想マシンに割り当てられるホスト物理マシンであるローカル物理マシンから、前記各物理マシンに予め分配された基礎イメージファイルを取得するための第2の取得ユニットと、
    前記イメージ抽出コマンドが基礎イメージファイル及び増分ファイルを抽出するコマンドである場合に、前記各物理マシンに予め分配された基礎イメージファイルを前記ローカル物理マシンから取得し、前記抽出されるべきイメージファイルのタイムスタンプを満たす増分ファイルを前記ローカル物理マシンまたはミラーサーバから取得するための第3の取得ユニットとを含み、
    前記第3の取得ユニットは、
    前記ローカル物理マシンに前記イメージ抽出コマンドを満たす増分ファイルが記憶されているかどうかを判断するための判断サブユニットと、
    前記ローカル物理マシンに前記増分ファイルが記憶されていれば、前記ローカル物理マシンから前記増分ファイルを取得するための第1の取得サブユニットと、
    前記ローカル物理マシンに前記増分ファイルが記憶されていなければ、イメージファイル依存チェーンが記憶されているデータベースに増分ファイル検索コマンドを送信し、検索結果に基づいて、ミラーサーバから前記増分ファイルを抽出するための第1の抽出サブユニットと
    を含むことを特徴とする仮想マシンイメージファイルの抽出を加速する装置。
  10. 前記第1の抽出サブユニットは、
    前記データベースにおいて前記増分ファイルの依存関係を検索し、前記依存関係に基づいてローカル物理マシンに前記増分ファイルの依存ファイルが記憶されているかどうかを検索するための検索サブユニットと、
    ローカル物理マシンに前記増分ファイルの依存ファイルが記憶されていなければ、前記ミラーサーバから前記依存ファイルを抽出するための第2の抽出サブユニットと
    を含むことを特徴とする請求項9に記載の装置。
  11. 各物理マシンに予め分配された前記基礎イメージファイルが仮想マシンに引用されるかどうかを検出するための検出ユニットと、
    各物理マシンに予め分配された前記基礎イメージファイルが仮想マシンに引用される場合に、検出された基礎イメージファイルをキープし、前記検出された基礎イメージファイルのタイムスタンプを検出時のタイムスタンプに更新するための第1の更新ユニットと、
    各物理マシンに予め分配された前記基礎イメージファイルが仮想マシンに引用されず、且つ前記検出された基礎イメージファイルのタイムスタンプが指示する時間から現在時間までの間隔がプリセット時間間隔を超える場合に、前記検出された基礎イメージファイルを削除する削除ユニットと
    をさらに含むことを特徴とする請求項9又は10に記載の装置。
  12. 所定時間おきに各物理マシンに予め分配された前記基礎イメージファイルを更新するための第2の更新ユニットをさらに含む
    ことを特徴とする請求項11に記載の装置。
  13. 前記装置における前記基礎イメージファイルは、
    オリジナルイメージファイル、または
    オリジナルイメージファイルおよびオリジナルイメージファイルのパッチファイルを含む
    ことを特徴とする請求項12に記載の装置。
  14. 前記装置における前記基礎イメージファイルは、オリジナルイメージファイルおよびオリジナルイメージファイルの1つのパッチファイルを含む
    ことを特徴とする請求項13に記載の装置。
  15. 前記装置における前記増分ファイルは仮想マシンイメージファイルを作成する時に仮想マシンフロッピーディスクファイルのトップファイルに基づいて生成されるイメージファイルである
    ことを特徴とする請求項14に記載の装置。
  16. 前記装置における前記仮想マシンイメージファイルはqcow2チェーン式構造である
    ことを特徴とする請求項15に記載の装置。
JP2016160157A 2015-10-28 2016-08-17 仮想マシンイメージファイルを抽出する方法および装置 Active JP6629697B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201510712857.0A CN105260229A (zh) 2015-10-28 2015-10-28 拉取虚拟机镜像文件的方法和装置
CN201510712857.0 2015-10-28

Publications (2)

Publication Number Publication Date
JP2017084334A JP2017084334A (ja) 2017-05-18
JP6629697B2 true JP6629697B2 (ja) 2020-01-15

Family

ID=55099932

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016160157A Active JP6629697B2 (ja) 2015-10-28 2016-08-17 仮想マシンイメージファイルを抽出する方法および装置

Country Status (4)

Country Link
US (1) US10248661B2 (ja)
JP (1) JP6629697B2 (ja)
KR (1) KR101802921B1 (ja)
CN (1) CN105260229A (ja)

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6557097B2 (ja) * 2015-09-01 2019-08-07 日本電気株式会社 仮想ネットワーク監視システム、仮想ネットワーク監視方法、及び、プログラム
CN106445643B (zh) * 2016-11-14 2019-10-22 上海云轴信息科技有限公司 克隆、升级虚拟机的方法及设备
CN108234437A (zh) * 2016-12-22 2018-06-29 航天信息股份有限公司 一种基于Docker 技术部署OpenStack 服务的方法及系统
CN106598503B (zh) * 2016-12-23 2019-09-24 郑州云海信息技术有限公司 一种云平台下优化虚拟磁盘占用存储空间的方法和装置
CN109117243B (zh) * 2017-06-23 2023-07-07 中兴通讯股份有限公司 业务部署方法、装置、客户端设备及计算机可读存储介质
CN109582433B (zh) 2017-09-29 2022-02-01 腾讯科技(深圳)有限公司 一种资源调度方法、装置、云计算系统及存储介质
CN107959824A (zh) * 2017-10-31 2018-04-24 深信服科技股份有限公司 一种监控视频处理方法、物理服务器及存储介质
CN107943557B (zh) * 2017-11-18 2020-07-17 浙江网新恒天软件有限公司 一种基于云平台的虚拟机磁盘增量快照方法
CN110099076A (zh) * 2018-01-29 2019-08-06 中兴通讯股份有限公司 一种镜像拉取的方法及其系统
CN108401031B (zh) * 2018-03-13 2020-12-15 深圳市腾讯计算机系统有限公司 一种镜像文件传输方法、装置及存储介质
DE102018112364A1 (de) 2018-05-23 2019-11-28 Fujitsu Technology Solutions Intellectual Property Gmbh Verfahren zum Bereitstellen anwendungsorientierter Software sowie Computersystem
CN108776680B (zh) * 2018-05-31 2020-08-25 苏州浪潮智能科技有限公司 一种kvm及其文件夹一键挂载方法、装置、设备、介质
CN108829492A (zh) * 2018-06-20 2018-11-16 郑州云海信息技术有限公司 一种虚拟机镜像的检测方法及装置
CN108933837A (zh) * 2018-08-07 2018-12-04 郑州云海信息技术有限公司 一种镜像文件的传输方法及装置
CN109783117B (zh) * 2019-01-18 2023-01-10 中国人民解放军国防科技大学 一种无盘系统的镜像文件制作及启动方法
CN111723051A (zh) * 2019-03-18 2020-09-29 北京京东尚科信息技术有限公司 一种基于模块的镜像重构方法和装置
CN110308972B (zh) * 2019-07-05 2025-06-10 北京百度网讯科技有限公司 用于管理容器镜像的方法和装置
CN110287004B (zh) * 2019-07-05 2021-07-30 中国工商银行股份有限公司 基于docker容器技术的基础环境镜像预热方法及装置
CN110336883B (zh) * 2019-07-09 2022-01-18 深信服科技股份有限公司 镜像数据传输方法、装置、设备及计算机可读存储介质
CN111767114B (zh) * 2019-12-10 2024-04-05 北京京东尚科信息技术有限公司 创建云主机的方法和装置、计算机系统和可读存储介质
CN111367869A (zh) * 2020-02-26 2020-07-03 北京三快在线科技有限公司 镜像文件处理方法、装置、存储介质及电子设备
CN111459611A (zh) * 2020-03-27 2020-07-28 新浪网技术(中国)有限公司 针对Kubernetes系统的镜像拉取方法及装置
WO2021232289A1 (zh) * 2020-05-20 2021-11-25 深圳市欢太科技有限公司 镜像拉取方法及相关产品
CN111752676B (zh) * 2020-05-28 2022-06-21 苏州浪潮智能科技有限公司 一种基于Docker的同名镜像清除方法、系统、终端及存储介质
CN111610989B (zh) * 2020-06-17 2023-09-29 中国人民解放军国防科技大学 一种面向离线容器云环境的应用发布/更新方法及系统
CN111796862B (zh) * 2020-07-07 2024-05-31 浪潮云信息技术股份公司 基于镜像标签和元数据选定云服务器创建使用镜像的方法
CN111966388A (zh) * 2020-07-10 2020-11-20 福建升腾资讯有限公司 节省空间的镜像版本更新管理方法、装置、设备和介质
CN111880903A (zh) * 2020-07-30 2020-11-03 浪潮云信息技术股份公司 一种基于DevOps的云平台虚拟机镜像自动化制作、测试及发布装置和方法
CN112256290B (zh) * 2020-11-02 2022-06-14 北京中宏立达信创科技有限公司 一种一体化操作系统部署的装置及方法
CN112565373B (zh) * 2020-11-27 2022-12-20 北京天融信网络安全技术有限公司 一种镜像文件去重的方法及装置
CN112738156B (zh) * 2020-12-11 2023-05-26 广东电力通信科技有限公司 一种适用于智能网关的独立镜像管理方法
CN114625524A (zh) * 2020-12-14 2022-06-14 济南浪潮高新科技投资发展有限公司 一种基于Docker镜像分层设计的云边端模型下发方法
CN112637217B (zh) * 2020-12-24 2022-11-25 企商在线(北京)数据技术股份有限公司 基于诱饵生成的云计算系统的主动防御方法及装置
CN112596748B (zh) * 2020-12-28 2023-05-16 武汉噢易云计算股份有限公司 一种桌面融合使用方法、装置、设备及可读存储介质
CN112631737B (zh) * 2021-01-08 2023-11-17 重庆紫光华山智安科技有限公司 容器镜像构建方法、装置、电子设备及存储介质
CN115033267B (zh) * 2021-03-04 2025-05-09 华为技术有限公司 一种设备树镜像版本校验的方法及终端设备
CN113434249B (zh) * 2021-06-18 2025-03-14 杭州趣链科技有限公司 镜像同步方法、装置、docker主机及存储介质
CN113568624A (zh) * 2021-09-22 2021-10-29 苏州浪潮智能科技有限公司 一种镜像的拉取方法、系统、计算机设备及可读存储介质
CN114282214B (zh) * 2021-12-17 2022-10-21 北京天融信网络安全技术有限公司 一种病毒查杀方法、装置及电子设备
CN114579527B (zh) * 2022-03-11 2025-12-23 中国工商银行股份有限公司 针对磁带中镜像文件的转存方法、装置和计算机设备
CN116954681A (zh) * 2022-04-13 2023-10-27 广州视源电子科技股份有限公司 镜像管理方法、装置、服务器、终端及存储介质
CN115061774B (zh) * 2022-05-16 2026-01-02 中国人民解放军国防科技大学 应用镜像的管理和发布方法、系统、装置以及存储介质
CN114756333B (zh) * 2022-05-23 2022-11-01 龙芯中科技术股份有限公司 镜像处理方法、装置、电子设备及可读介质
CN115098437A (zh) * 2022-05-31 2022-09-23 中科曙光国际信息产业有限公司 镜像管理方法、装置及服务器
CN114879984B (zh) * 2022-07-07 2022-10-18 杭州阿启视科技有限公司 动态构建docker镜像减少离线文件体积的方法
CN115309437A (zh) * 2022-08-16 2022-11-08 福建升腾资讯有限公司 一种voi架构下系统镜像增量更新的方法与终端
CN118101765A (zh) * 2023-12-12 2024-05-28 天翼云科技有限公司 一种基于增量快照实现镜像动态缓存方法及系统
CN117931096B (zh) * 2024-03-21 2024-11-19 北京火山引擎科技有限公司 应用于边缘计算集群的服务器的信息提供方法及装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8346726B2 (en) * 2005-06-24 2013-01-01 Peter Chi-Hsiung Liu System and method for virtualizing backup images
CN102033755A (zh) * 2009-09-30 2011-04-27 国际商业机器公司 用于运行虚拟机镜像的方法和系统
US8190574B2 (en) * 2010-03-02 2012-05-29 Storagecraft Technology Corporation Systems, methods, and computer-readable media for backup and restoration of computer information
CN102214118A (zh) * 2010-04-08 2011-10-12 中国移动通信集团公司 一种虚拟机控制方法、系统及装置
US8884666B2 (en) * 2011-08-02 2014-11-11 Ps4 Luxco S.A.R.L. Clock generator
JP5943753B2 (ja) * 2012-07-19 2016-07-05 株式会社エヌ・ティ・ティ・データ 仮想マシン管理システム、仮想マシン管理方法およびプログラム
CN102932415B (zh) * 2012-09-26 2015-04-15 东软集团股份有限公司 一种镜像文件存储方法及装置
US10713183B2 (en) 2012-11-28 2020-07-14 Red Hat Israel, Ltd. Virtual machine backup using snapshots and current configuration
US9740514B1 (en) * 2013-06-26 2017-08-22 Nutanix, Inc. Method and system to share data with snapshots in a virtualization environment
WO2015083255A1 (ja) * 2013-12-04 2015-06-11 株式会社日立製作所 計算機システム及び仮想マシンの制御方法
WO2015094200A1 (en) * 2013-12-18 2015-06-25 Hewlett-Packard Development Company, L.P. Patching of virtual machines during data recovery
US10599457B2 (en) * 2014-02-25 2020-03-24 Red Hat, Inc. Importing and exporting virtual disk images

Also Published As

Publication number Publication date
US10248661B2 (en) 2019-04-02
KR101802921B1 (ko) 2017-11-29
CN105260229A (zh) 2016-01-20
KR20170049376A (ko) 2017-05-10
US20170124114A1 (en) 2017-05-04
JP2017084334A (ja) 2017-05-18

Similar Documents

Publication Publication Date Title
JP6629697B2 (ja) 仮想マシンイメージファイルを抽出する方法および装置
US10732861B2 (en) Generating and providing low-latency cached content
JP6774499B2 (ja) オフラインでのハイブリッドアプリケーションへのアクセスの提供
US10482067B2 (en) Synchronization of shared folders and files
US10380103B2 (en) Object data updating method and apparatus in an object storage system
JP6463393B2 (ja) テナント移行にわたるテナント・データのリカバリ
US20170124103A1 (en) Method and Apparatus for Creating System Disk Snapshot of Virtual Machine
US20170161291A1 (en) Database table conversion
US20170109371A1 (en) Method and Apparatus for Processing File in a Distributed System
US9817653B2 (en) Updating extension in response to opening associated document
US10891259B2 (en) User driven data pre-fetch
CN107844488B (zh) 数据查询方法和装置
CN103841180A (zh) 一种基于操作指令的网络数据同步方法、装置、终端设备和服务器
CN112905164B (zh) 一种项目代码处理方法和装置
CN111159142A (zh) 一种数据处理方法及装置
US9286055B1 (en) System, method, and computer program for aggregating fragments of data objects from a plurality of devices
CN113742376B (zh) 一种同步数据的方法、第一服务器以及同步数据的系统
WO2014159808A1 (en) Managing and implementing web application data snapshots
CN117389475A (zh) 一种数据处理的方法和装置
US10917468B2 (en) Systems and methods of re-associating content items
CN110851192B (zh) 一种响应降级开关配置的方法和装置
JP6568232B2 (ja) 計算機システム、及び、装置の管理方法
CN117131295B (zh) 资源管理方法、系统、装置、电子设备及存储介质
CN110750410B (zh) 一种监听数据库日志的方法和装置
Al-Sayyed et al. New Synchronization Algorithm Based on Delta Synchronization for Compressed Files in the Mobile Cloud Environment

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160817

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160831

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170627

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170927

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20180227

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180627

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20180827

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20181026

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190904

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191205

R150 Certificate of patent or registration of utility model

Ref document number: 6629697

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250