(57)【要約】      （修正有）【課題】ホストマシンのクラッシュが、その上で実行されている仮想マシンのクラッシュに繋がることがあり、それによって仮想マシンによるサービスの提供に影響を及ぼし、仮想マシンの記憶媒体を損傷することがあり、データ損失などの重大な事態を防ぐことができる方法及び装置を提供する。【解決手段】プロダクションカーネルクラッシュの判定に応答して、ターゲットメモリから仮想マシン・デバイスステータス情報及び物理アドレス情報を取得するステップと、ターゲットデータと仮想マシン・デバイスステータス情報とに基づいて、ファイルを共有記憶領域に格納するステップと、を含む。【効果】プロダクションカーネルがクラッシュしたときに、プロダクションカーネルによって実行される仮想マシンの関連ファイルを共有記憶領域に保存することが実現された。【選択図】図２
2020091835.tif 000002
【特許請求の範囲】
【請求項１】
情報を処理するための方法であって、
プロダクションカーネルクラッシュの判定に応答して、ターゲットメモリから仮想マシン・デバイスステータス情報及び物理アドレス情報を取得するステップであって、前記ターゲットメモリは、前記プロダクションカーネルによって、実行される仮想マシンに対して予め割り当てられたメモリであり、前記仮想マシンの仮想マシン・デバイスステータス情報と仮想マシンメモリの仮想アドレスに対応する物理アドレス情報とが前記プロダクションカーネルによって前記ターゲットメモリに格納されるステップと、
前記物理アドレス情報に基づいて、データをターゲットデータとして取得するステップと、
前記ターゲットデータと前記仮想マシン・デバイスステータス情報とに基づいてファイルを共有記憶領域に格納するステップとを含む方法。
【請求項２】
前記方法は、バックアップ電子機器に仮想マシン復元要求を送信するステップを更に含み、
前記仮想マシン復元要求は前記ファイルのファイル識別子を含み、前記バックアップ電子機器は前記ファイル識別子に従って前記共有記憶領域から前記ファイルを取得し、前記ファイルに基づいて前記仮想マシンを復元する請求項１に記載の方法。
【請求項３】
前記ターゲットデータと前記仮想マシン・デバイスステータス情報とに基づいてファイルを共有記憶領域に格納するステップは、
前記ターゲットデータと前記仮想マシン・デバイスステータス情報とに基づいてスナップショットファイルを生成することと、
前記スナップショットファイルを共有記憶領域に格納することとを含む請求項１に記載の方法。
【請求項４】
前記物理アドレス情報は、
前記仮想マシンの動作を停止するように制御するための動作停止命令を前記仮想マシンに送信するステップと、
予め格納されているページテーブルと、前記仮想マシンメモリの仮想アドレスとに基づいて、物理アドレス情報を生成するステップであって、前記ページテーブルは仮想アドレスと物理アドレスとの対応関係を記述するためのものであるステップと、
によって前記プロダクションカーネルにより生成される請求項１に記載の方法。
【請求項５】
前記ターゲットメモリから仮想マシン・デバイスステータス情報及び物理アドレス情報を取得するステップは、
仮想ファイルシステムによって前記ターゲットメモリから前記仮想マシン・デバイスステータス情報及び前記物理アドレス情報を取得することを含む請求項１に記載の方法。
【請求項６】
情報を処理するための装置であって、
プロダクションカーネルクラッシュの判定に応答してターゲットメモリから仮想マシン・デバイスステータス情報及び物理アドレス情報を取得するように構成される第１取得手段であって、前記ターゲットメモリは、前記プロダクションカーネルによって、実行される仮想マシンに対して予め割り当てられたメモリであり、前記仮想マシンの仮想マシン・デバイスステータス情報と仮想マシンメモリの仮想アドレスに対応する物理アドレス情報とが前記プロダクションカーネルによって前記ターゲットメモリに格納される第１取得手段と、
前記物理アドレス情報に基づいて、データをターゲットデータとして取得するように構成される第２取得手段と、
前記ターゲットデータと前記仮想マシン・デバイスステータス情報とに基づいて、ファイルを共有記憶領域に格納するように構成される記憶手段とを備える装置。
【請求項７】
前記装置は、バックアップ電子機器に仮想マシン復元要求を送信するように構成される送信手段を更に備え、
前記仮想マシン復元要求は前記ファイルのファイル識別子を含み、前記バックアップ電子機器は前記ファイル識別子に従って前記共有記憶領域から前記ファイルを取得し、前記ファイルに基づいて前記仮想マシンを復元する請求項６に記載の装置。
【請求項８】
前記記憶手段は、更に、
前記ターゲットデータと前記仮想マシン・デバイスステータス情報とに基づいてスナップショットファイルを生成し、
前記スナップショットファイルを共有記憶領域に格納するように構成される請求項６に記載の装置。
【請求項９】
前記物理アドレス情報は、
前記仮想マシンの動作を停止するように制御するための動作停止命令を前記仮想マシンに送信するステップと、
予め格納されているページテーブルと、前記仮想マシンメモリの仮想アドレスとに基づいて、物理アドレス情報を生成するステップであって、前記ページテーブルは仮想アドレスと物理アドレスとの対応関係を記述するためのものであるステップと、
によって前記プロダクションカーネルにより生成される請求項６に記載の装置。
【請求項１０】
前記第１取得手段は、更に、
仮想ファイルシステムによって前記ターゲットメモリから前記仮想マシン・デバイスステータス情報及び前記物理アドレス情報を取得するように構成される請求項６に記載の装置。
【請求項１１】
１つ又は複数のプロセッサと、１つ又は複数のプログラムが格納されている記憶装置と、を備えるサーバであって、
前記１つ又は複数のプログラムが前記１つ又は複数のプロセッサにより実行されると、前記１つ又は複数のプロセッサに請求項１〜５のいずれか一項に記載の方法を実現する、サーバ。
【請求項１２】
コンピュータプログラムが格納されているコンピュータ可読媒体であって、
前記コンピュータプログラムがプロセッサにより実行されると、請求項１〜５のいずれか１項に記載の方法を実現する、コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施例は、コンピュータ技術分野に関し、具体的に情報を処理するための方法及び装置に関する。
【背景技術】
【０００２】
コンピュータ技術の発展に伴い、コンピュータ技術及びインターネット技術によって提供されるサービスはますます豊富になりつつある。仮想化技術によって、外部へサービスを提供するために、論理上のコンピュータ（即ち、仮想マシン）を物理マシン（電子機器）上で仮想化することができる。仮想マシンの安定性に影響を与える要因は数多くあり、その中でも、仮想マシンが配置されているホストマシンのクラッシュは、間違いなく最も制御不能で最も有害な要因の１種である。ホストマシンのクラッシュが、その上で実行されている仮想マシンのクラッシュに繋がることがあり、それによって仮想マシンによるサービスの提供に影響を及ぼし、仮想マシンの記憶媒体を損傷することさえあり、データ損失などの重大な事態を引き起こすことがある。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
本発明の実施例は、情報を処理するための方法及び装置を提供する。
【課題を解決するための手段】
【０００４】
第１の態様では、本発明の実施例は情報を処理するための方法であって、プロダクションカーネルクラッシュの判定に応答してターゲットメモリから仮想マシン・デバイスステータス情報及び物理アドレス情報を取得するステップであって、前記ターゲットメモリは、前記プロダクションカーネルによって、実行される仮想マシンに対して予め割り当てられたメモリであり、前記仮想マシンの仮想マシン・デバイスステータス情報と仮想マシンメモリの仮想アドレスに対応する物理アドレス情報とが前記プロダクションカーネルによって前記ターゲットメモリに格納されるステップと、前記物理アドレス情報に基づいて、データをターゲットデータとして取得するステップと、前記ターゲットデータと前記仮想マシン・デバイスステータス情報とに基づいて、ファイルを共有記憶領域に格納するステップとを含む方法を提供する。
【０００５】
いくつかの実施例では、前記方法は、バックアップ電子機器に仮想マシン復元要求を送信するステップを更に含み、前記仮想マシン復元要求は前記ファイルのファイル識別子を含み、前記バックアップ電子機器は前記ファイル識別子に従って前記共有記憶領域から前記ファイルを取得し、前記ファイルに基づいて前記仮想マシンを復元する。
【０００６】
いくつかの実施例では、前記ターゲットデータと前記仮想マシン・デバイスステータス情報とに基づいて、ファイルを共有記憶領域に格納するステップは、前記ターゲットデータと前記仮想マシン・デバイスステータス情報とに基づいてスナップショットファイルを生成することと、前記スナップショットファイルを共有記憶領域に格納することとを含む。
【０００７】
いくつかの実施例では、前記物理アドレス情報は、前記仮想マシンの動作を停止するように制御するための動作停止命令を前記仮想マシンに送信するステップと、予め格納されているページテーブルと、前記仮想マシンメモリの仮想アドレスとに基づいて、物理アドレス情報を生成するステップであって、前記ページテーブルは仮想アドレスと物理アドレスとの対応関係を記述するためのものであるステップとによって、前記プロダクションカーネルにより生成される。
【０００８】
いくつかの実施例では、前記ターゲットメモリから仮想マシン・デバイスステータス情報及び物理アドレス情報を取得するステップは、仮想ファイルシステムによって前記ターゲットメモリから前記仮想マシン・デバイスステータス情報及び前記物理アドレス情報を取得することを含む。
【０００９】
第２の態様では、本発明の実施例は、情報を処理するための装置であって、プロダクションカーネルクラッシュの判定に応答してターゲットメモリから仮想マシン・デバイスステータス情報及び物理アドレス情報を取得するように構成される第１取得手段であって、前記ターゲットメモリは、前記プロダクションカーネルによって、実行される仮想マシンに対して予め割り当てられたメモリであり、前記仮想マシンの仮想マシン・デバイスステータス情報と仮想マシンメモリの仮想アドレスに対応する物理アドレス情報とが前記プロダクションカーネルによって前記ターゲットメモリに格納される第１取得手段と、前記物理アドレス情報に基づいて、データをターゲットデータとして取得するように構成される第２取得手段と、前記ターゲットデータと前記仮想マシン・デバイスステータス情報とに基づいて、ファイルを共有記憶領域に格納するように構成される記憶手段とを備える装置を提供する。
【００１０】
いくつかの実施例では、前記装置は、バックアップ電子機器に仮想マシン復元要求を送信するように構成される送信手段を更に備え、前記仮想マシン復元要求は前記ファイルのファイル識別子を含み、前記バックアップ電子機器は前記ファイル識別子に従って前記共有記憶領域から前記ファイルを取得し、前記ファイルに従って前記仮想マシンを復元する。
【００１１】
いくつかの実施例では、前記記憶手段は更に、前記ターゲットデータと前記仮想マシン・デバイスステータス情報とに基づいてスナップショットファイルを生成し、前記スナップショットファイルを共有記憶領域に格納するように構成される。
【００１２】
いくつかの実施例では、前記物理アドレス情報は、前記仮想マシンの動作を停止するように制御するための動作停止命令を前記仮想マシンに送信するステップと、予め格納されているページテーブルと、前記仮想マシンメモリの仮想アドレスとに基づいて、物理アドレス情報を生成するステップであって、前記ページテーブルは仮想アドレスと物理アドレスとの対応関係を記述するためのものであるステップと、によって前記プロダクションカーネルにより生成される。
【００１３】
いくつかの実施例では、前記第１取得手段は更に、仮想ファイルシステムによって前記ターゲットメモリから前記仮想マシン・デバイスステータス情報及び前記物理アドレス情報を取得するように構成される。
【００１４】
第３の態様では、本発明の実施例は、１つ又は複数のプロセッサと、１つ又は複数のプログラムが格納されている記憶装置と、を備えるサーバであって、前記１つ又は複数のプログラムが前記１つ又は複数のプロセッサにより実行されると、前記１つ又は複数のプロセッサに第１態様のいずれか一実施形態に記載の方法を実現する、サーバを提供する。
【００１５】
第４の態様では、本発明の実施例は、コンピュータプログラムが格納されているコンピュータ可読媒体であって、該コンピュータプログラムがプロセッサにより実行されると、第１の態様のいずれか一実施形態に記載の方法を実現するコンピュータ可読媒体を提供する。
【００１６】
本発明の実施例により提供される情報を処理するための方法及び装置は、プロダクションカーネルクラッシュの判定に応答してターゲットメモリから仮想マシン・デバイスステータス情報及び物理アドレス情報を取得し、次いで物理アドレス情報に基づいてデータをターゲットデータとして取得し、最後にターゲットデータ及び仮想マシン・デバイスステータス情報に基づいてファイルを共有記憶領域に格納し、それによって、プロダクションカーネルがクラッシュしたときに、プロダクションカーネルによって実行されている仮想マシンの関連ファイルを共有記憶領域に格納することで、プロダクションカーネルクラッシュによる仮想マシンのデータ損失を防止できる。
【図面の簡単な説明】
【００１７】
本発明の他の特徴、目的及び利点は、以下の図面を参照してなされる非限定的な実施例に係る詳細な説明を読むことにより、より明らかになるであろう。
【図１】本発明の一実施例を適用可能な例示的なシステムアーキテクチャを示す図である。
【図２】本発明に係る情報を処理するための方法の一実施例を示すフローチャートである。
【図３】本発明に係る情報を処理するための方法の一応用シナリオを示す概略図である。
【図４】本発明に係る情報を処理するための方法のもう一つの実施例を示すフローチャートである。
【図５】本発明に係る情報を処理するための装置の一実施例を示す構造概略図である。
【図６】本発明の実施例を実現するためのサーバに適用されるコンピュータシステムを示す構造概略図である。
【発明を実施するための形態】
【００１８】
以下、図面及び実施例を参照しながら本発明をより詳細に説明する。ここで説明する具体的な実施例は、関連する発明を説明するためのものに過ぎず、当該発明を限定するものではないことを理解されたい。また、説明の便宜上、図面には発明に関連する部分のみが示されていることに留意されたい。
【００１９】
なお、本発明の実施例及び実施例における特徴は、矛盾を生じない限り、相互に組み合わせることができる。以下、図面及び実施例を参照しながら本発明を詳細に説明する。
【００２０】
図１は、本発明の実施例に係る情報を処理するための方法又は情報を処理するための装置が適用可能な例示的なシステムアーキテクチャ１００を示している。
【００２１】
図１に示すように、システムアーキテクチャ１００は、ホストマシン１０１、サーバ１０２及びネットワーク１０３を含むことができる。ネットワーク１０３は、ホストマシン１０１とサーバ１０２の間で通信リンクの媒体を提供するために使用される。ネットワーク１０３は、有線、無線通信リンク又は光ファイバケーブルなどの様々なタイプの接続を含んでもよい。
【００２２】
ホストマシン１０１は、クラウドコンピューティングを提供する仮想マシンがその上で稼働する物理マシンであり得る。ホストマシン１０１には仮想マシン１０１１、１０１２、１０１３が稼働可能である。仮想マシン１０１１、１０１２、１０１３は、ホストマシン１０１のハードウェアデバイスにアクセスすることができる。例えば、仮想マシン１０１１、１０１２、１０１３は、仮想マシン１０１１、１０１２、１０１３にインストールされているデバイスドライバを介して、ホストマシン１０１上のハードウェアデバイスにアクセスすることができる。通常に、仮想マシン１０１１、１０１２、１０１３のデバイスドライバによるホストマシン１０１のハードウェアデバイスへのアクセス挙動は、ホストマシン１０１上の仮想マシンモニタ（Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ  Ｍｏｎｉｔｏｒ，ＶＭＭ）によって記録されることができる。実際の応用シナリオでは、ホストマシン１０１は、様々なクラウドサービスを提供するサーバであり得、仮想マシンモニタは、サーバ上で実行されている仮想マシンのステータス及び動作を管理及び記録するためにサーバ上で実行され得る。
【００２３】
サーバ１０２は、データを格納するためのファイル共有記憶サーバであり得る。例えば、サーバ１０２は、ホストマシン１０１によって送信されたファイルを格納することができる。
【００２４】
図１におけるホストマシン、仮想マシン、ネットワーク及びサーバの数が例示的なものに過ぎないことを理解されたい。必要に応じて、ホストマシン、仮想マシン、ネットワーク及びサーバの数を任意に加減してもよい。
【００２５】
なお、本発明の実施例に係る情報を処理するための方法は、通常にホストマシン１０１によって実行され、これに応じて、情報を処理するための装置は、通常にホストマシン１０１に設けられている。
【００２６】
次に、本発明に係る情報を処理するための方法の一実施例のフロー２００を示す図２を参照する。この情報を処理するための方法は、次のステップ（ステップ２０１〜２０３）を含む。
【００２７】
ステップ２０１：プロダクションカーネルクラッシュの判定に応答して、ターゲットメモリから仮想マシン・デバイスステータス情報及び物理アドレス情報を取得する。
【００２８】
本実施例では、情報処理方法の実行主体（例えば、図１に示すホストマシン１０１）には、プロダクションカーネル（ｐｒｏｄｕｃｔｉｏｎ  ｋｅｒｎｅｌ又はｆｉｒｓｔ  ｋｅｒｎｅｌ）が実行可能であり、プロダクションカーネル内で仮想マシン及び仮想マシンモニタが実行可能である。仮想マシンは、ソフトウェアを介して実行され、完全なハードウェアシステム機能を有するとともに完全に分離された環境で実行される完全なコンピュータシステムであり得る。ここで、プロダクションカーネルは、コンピュータハードウェア及びソフトウェアリソースを管理及び制御するコンピュータプログラムであり得、ベアコンピュータ上で直接動作する最も基本的なシステムソフトウェアであり得る。他のソフトウェアは、プロダクションカーネルのサポートがなければ実行できない。ここでは、プロダクションカーネルは、Ｌｉｎｕｘ（登録商標）システムなどの任意のタイプのシステムソフトウェアであり得る。
【００２９】
実際には、プロダクションカーネルの動作中に、例えば、カーネルのデッドロック、カーネルのヌルポインターアクセス、カーネルモジュールにより検出された不適切な操作などの異常事態が発生することがある。また、ホストマシンの動作中に、過負荷などの重要な指標異常が発生することもある。しかし、いくつかの事前に定義された異常事態に関しては、一度発生すると、プロダクションカーネルそれ自体が不可逆的エラー、即ちプロダクションカーネルクラッシュが発生した可能性があることを意味している。このとき、プロダクションカーネルは、ターゲットカーネルモジュールを呼び出すことによってクラッシュ処理操作を実行することができ、その後、再起動することによって復元することができる。一例として、ターゲットカーネルモジュールは、パニック（Ｐａｎｉｃ）関数が実装されたモジュールであり得る。
【００３０】
実際には、カーネルクラッシュに対処する方法は複数ある。例えば、Ｌｉｎｕｘ（登録商標）オペレーティングシステムのカーネルには、システムカーネルがクラッシュしたときに事後分析のためにメモリの内容を保存するためのクラッシュダンプメカニズムが複数ある。例えば、ｋｄｕｍｐは、物理マシンがクラッシュしたときにランタイムメモリをダンプするための、Ｌｉｎｕｘ（登録商標）システムによって提供されるメカニズムである。これはシステムに一部のメモリを予約することで、カーネルがクラッシュしたときにランタイムメモリをダンプするために第２のカーネルを起動することを可能にする。ｋｄｕｍｐは、システムクラッシュ、デッドロック、又はダウンが発生した場合にメモリオペレーティングパラメータをダンプするために使用されるツール及びサービスである。例えば、システムがクラッシュすると、正常のカーネルは実行できなくなる。この時点で、ｋｄｕｍｐは現在の実行情報をキャプチャ（ｃａｐｔｕｒｅ）するためのカーネルを生成し、当該カーネルは、クラッシュの原因を後で分析するために、この時点でのメモリ内のすべての実行状態とデータ情報をダンプコア（ｄｕｍｐ  ｃｏｒｅ）ファイルに収集し、メモリ情報の収集が終了すると、システムは自動的に再起動する。
【００３１】
本実施例では、プロダクションカーネルクラッシュの判定に応答して、実行主体はターゲットメモリから仮想マシン・デバイスステータス情報及び物理アドレス情報を取得することができる。ここで、ターゲットメモリは、プロダクションカーネルによって実行される仮想マシンに対して予め割り当てられたメモリであってもよい。仮想マシンの仮想マシン・デバイスステータス情報と仮想マシンメモリの仮想アドレスに対応する物理アドレス情報とがプロダクションカーネルによってターゲットメモリに格納される。一例として、実行主体内で実行されている仮想マシンモニタは、各仮想マシンの仮想マシン・デバイスステータス情報及び対応する物理アドレス情報を、当該仮想マシンに対して予め割り当てられたターゲットメモリに格納することができる。ここで、仮想マシン・デバイスステータス情報とは、仮想マシンの仮想デバイスのステータス情報であってもよい。一例として、仮想デバイスは、仮想ネットワークカード、仮想ディスク、仮想ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ，中央処理装置）などを含む。
【００３２】
本実施例のいくつかの任意選択の実施態様では、前記物理アドレス情報は、プロダクションカーネルにより次の２つのステップ：仮想マシンを動作停止させるように制御するための動作停止命令を仮想マシンに送信するステップ、予め格納されている、仮想アドレスと物理アドレスとの対応関係を記述するためのページテーブルと、前記仮想マシンメモリの仮想アドレスとに基づいて、物理アドレス情報を生成するステップによって生成され得る。
【００３３】
本実施例では、プロダクションカーネルクラッシュの判定に応答して、プロダクションカーネルは、仮想マシンの動作を停止させるように制御するために、実行される仮想マシンに動作停止命令を送信することができる。その後、予め格納されているページテーブルと仮想マシンメモリの仮想アドレスとに基づいて、物理アドレス情報を生成することができる。一例として、仮想マシンメモリの仮想アドレスは、連続アドレスであり得、開始アドレス及び長さを含み得る。このようにして、実行主体は、ページテーブルに記録された仮想アドレスと物理アドレスとの対応関係に従って、連続した仮想マシンメモリの仮想アドレスを個別の物理アドレスに変換し、リンクリストの形の物理アドレス情報を得ることができる。
【００３４】
ステップ２０２：物理アドレス情報に基づいてデータをターゲットデータとして取得する。
【００３５】
本実施例では、実行主体は、ステップ２０１で取得された物理アドレス情報に基づいてデータをターゲットデータとして取得することができる。実際には、前記物理アドレス情報はリンクリストであり得る。リンクリストとは、物理記憶手段上の連続していない、非順番の記憶構造であり、データ要素の論理的な順序は、リンクリスト内のポインタのリンク順序によって実現される。リンクリストは一連のノード（リンクリスト内の各要素はノードと呼ばれる）で構成され、各ノードは、データ要素を格納するデータフィールド、次のノードのアドレスを格納するポインタフィールドの２つの部分を含む。このようにして、実行主体は、リンクリスト内の各ノードに順次アクセスすることで、各ノードのデータを取得し、取得したデータをターゲットデータとして用いることができる。
【００３６】
本実施例のいくつかの任意選択の実施態様では、前記ステップ２０２は、具体的には、仮想ファイルシステムを介してターゲットメモリから仮想マシン・デバイスステータス情報及び物理アドレス情報を取得するように実行され得る。
【００３７】
本実施態様では、実行主体は、仮想ファイルシステムを介してターゲットメモリから仮想マシン・デバイスステータス情報及び物理アドレス情報を取得することができる。一例として、前記実行主体のメモリは、カーネル空間（カーネルモード）とユーザ空間（ユーザモード）に分けられる。カーネル空間はオペレーティングシステム命令を実行するために使用することができ、ユーザ空間はユーザプログラム命令を実行するために使用することができる。一例として、前記プロダクションカーネルはカーネル空間で実行することができ、本発明の情報を処理するための方法の各ステップは、ユーザ空間で実行することができる。実際には、カーネル空間に関する一部の情報は、仮想ファイルシステムを介してユーザ空間に提示することができる。例えば、仮想ファイルシステム（例えば、／ｐｒｏｃファイルシステム）を介してデータインターフェースをユーザ空間に提供することができ、当該データインターフェースを介して、ユーザ空間で実行されるユーザプログラムは、カーネル空間におけるプロダクションカーネル内の仮想マシン・デバイスステータス情報及び物理アドレス情報を取得できる。
【００３８】
ステップ２０３：ターゲットデータと仮想マシン・デバイスステータス情報に基づいて、ファイルを共有記憶領域に格納する。
【００３９】
本実施例では、実行主体は、前記ターゲットデータ及び前記仮想マシン・デバイスステータス情報に基づいてファイルを共有記憶領域に格納することができる。ここで、前記共有記憶領域は、データを格納するための、電子機器（例えば、図１に示すサーバ１０２）内の事前設定された記憶領域であってもよい。一例として、実行主体は、前記ターゲットデータ及び前記仮想マシン・デバイスステータス情報をファイルとして前記共有記憶領域に格納することができる。
【００４０】
本実施例のいくつかの任意選択の実施態様では、ステップ２０３は、具体的には、ターゲットデータと仮想マシン・デバイスステータス情報とに基づいてスナップショットファイルを生成し、スナップショットファイルを共有記憶領域に格納するように実行され得る。
【００４１】
本実施態様では、前記実行主体は、先ずは、ターゲットデータと仮想マシン・デバイスステータス情報とに基づいて、スナップショットファイルを生成することができる。ここで、スナップショットとは、複製時点におけるソースデータの静止画像を含む、指定されたデータセットの完全に利用可能なコピーである。スナップショットは、データ再生のコピー又は複製である。スナップショット技術は現在広く研究され適用されている周知の技術であり、本明細書ではその説明は繰り返さないことに留意されたい。その後、実行主体は、生成されたスナップショットファイルを共有記憶領域に格納することができる。本実施態様では、スナップショット技術によってプロダクションカーネルクラッシュタイム、プロダクションカーネルによって実行されている仮想マシンに対応するターゲットデータ及び仮想マシン・デバイスステータス情報を保存して、共有記憶領域に格納することで、プロダクションカーネルクラッシュによる仮想マシンデータの損失を防止できる。
【００４２】
次に、本実施例に係る情報を処理するための方法の応用シナリオを示す概略図である図３を参照する。図３の応用シナリオでは、プロダクションカーネルクラッシュの判定に応答して、ホストマシン３０１は、ターゲットメモリから仮想マシン・デバイスステータス情報及び物理アドレス情報を取得することができ、ここで、ターゲットメモリは、プロダクションカーネルによって実行される仮想マシンに対して予め割り当てられたメモリであり、仮想マシンの仮想マシン・デバイスステータス情報と仮想マシンメモリの仮想アドレスに対応する物理アドレス情報とがプロダクションカーネルによってターゲットメモリに格納される。その後、ホストマシン３０１は、物理アドレス情報に基づいてデータをターゲットデータとして取得することができる。最後に、ホストマシン３０１は、ターゲットデータと仮想マシン・デバイスステータス情報とに基づいて、ファイルをサーバ３０２の共有記憶領域に格納することができる。
【００４３】
本発明の上記実施例によって提供された方法によれば、プロダクションカーネルがクラッシュしたときに、プロダクションカーネルによって実行されている仮想マシンの関連ファイルを共有記憶領域に保存することで、プロダクションカーネルクラッシュによる仮想マシンのデータ損失を防止できる。
【００４４】
更に、情報を処理するための方法のもう一つの実施例のフロー４００を示す図４を参照する。この情報を処理するための方法のフロー４００は、次のステップ（ステップ４０１〜４０４）を含む。
【００４５】
ステップ４０１：プロダクションカーネルクラッシュの判定に応答して、ターゲットメモリから仮想マシン・デバイスステータス情報及び物理アドレス情報を取得する。
【００４６】
本実施例では、ステップ４０１は図２に示す実施例のステップ２０１と同様であり、ここではその説明は繰り返さない。
【００４７】
ステップ４０２：物理アドレス情報に基づいて、データをターゲットデータとして取得する。
【００４８】
本実施例では、ステップ４０２は図２に示す実施例のステップ２０２と同様であり、ここではその説明は繰り返さない。
【００４９】
ステップ４０３：ターゲットデータと仮想マシン・デバイスステータス情報に基づいて、ファイルを共有記憶領域に格納する。
【００５０】
本実施例では、ステップ４０３は図２に示す実施例のステップ２０３と同様であり、ここではその説明は繰り返さない。
【００５１】
ステップ４０４：仮想マシン復元要求をバックアップ電子機器に送信する。
【００５２】
本実施例では、前記実行主体は仮想マシン復元要求を事前設定されたバックアップ電子機器に送信することができる。ここで、前記仮想マシン復元要求は前記ファイルのファイル識別子を含んでいてもよい。このようにして、前記バックアップ電子機器は、ファイル識別子に従って共有記憶領域からファイルを取得し、プロダクションカーネルがクラッシュした際にカーネルによって実行される仮想マシンを、ファイルに基づいてバックアップ電子機器にローカルに復元することができる。なお、仮想マシンの関連ファイルに基づいて、バックアップ電子機器に仮想マシンを復元することは、現在広く研究され適用されている周知の技術であり、ここではその説明は繰り返さない。
【００５３】
図４から分かるように、図２の対応する実施例と比較して、本実施例における情報を処理するための方法のフロー４００では、バックアップ電子機器に仮想マシン復元要求を送信するステップが強調された。したがって、本実施例で説明される解決策は、プロダクションカーネルがクラッシュしたときにバックアップ電子機器を使用してプロダクションカーネルによって実行される仮想マシンを復元することができ、それによって仮想マシンはバックアップ電子機器上で稼働し続けることが実現され、仮想マシンの高可用性が確保された。
【００５４】
更に図５を参照すると、上記の図に示された方法の実施態様として、本発明は、情報を処理するための装置の一実施例を提供し、当該装置の実施例は、図２に示された方法の実施例に対応しており、当該装置は、具体的に様々な電子機器に適用することができる。
【００５５】
図５に示すように、本実施例の情報を処理するための装置５００は、第１取得手段５０１と、第２取得手段５０２と、記憶手段５０３とを備える。第１取得手段５０１は、プロダクションカーネルクラッシュの判定に応答してターゲットメモリから仮想マシン・デバイスステータス情報及び物理アドレス情報を取得するように構成され、ここで、前記ターゲットメモリは、前記プロダクションカーネルによって実行される仮想マシンに対して予め割り当てられたメモリであり、前記仮想マシンの仮想マシン・デバイスステータス情報と仮想マシンメモリの仮想アドレスに対応する物理アドレス情報とが前記プロダクションカーネルによって前記ターゲットメモリに格納される。第２取得手段５０２は、前記物理アドレス情報に基づいてデータをターゲットデータとして取得するように構成される。記憶手段５０３は、前記ターゲットデータと前記仮想マシン・デバイスステータス情報とに基づいて、ファイルを共有記憶領域に格納するように構成される。
【００５６】
本実施例において、情報を処理するための装置５００は、第１取得手段５０１、第２取得手段５０２、記憶手段５０３の具体的な処理及びそれらの技術効果は、それぞれ図２の対応する実施例におけるステップ２０１、ステップ２０２、及びステップ２０３の関連説明を参照することができ、ここではその説明は繰り返さない。
【００５７】
本実施例のいくつかの任意選択の実施態様では、前記装置５００は更に、バックアップ電子機器に仮想マシン復元要求を送信するように構成される送信手段（図示せず）を更に含むことができ、前記仮想マシン復元要求は前記ファイルのファイル識別子を含み、前記バックアップ電子機器は前記ファイル識別子に従って前記共有記憶領域から前記ファイルを取得し、前記ファイルに基づいて前記仮想マシンを復元する。
【００５８】
本実施例のいくつかの任意選択の実施態様では、前記記憶手段５０３は更に、前記ターゲットデータと前記仮想マシン・デバイスステータス情報とに基づいてスナップショットファイルを生成し、前記スナップショットファイルを共有記憶領域に格納するように構成されることができる。
【００５９】
本実施例のいくつかの任意選択の実施態様では、前記物理アドレス情報は、前記仮想マシンの動作を停止するように制御するための動作停止命令を前記仮想マシンに送信するステップと、予め格納されている、仮想アドレスと物理アドレスとの対応関係を記述するためのページテーブルと、前記仮想マシンメモリの仮想アドレスとに基づいて、物理アドレス情報を生成するステップとによって、前記プロダクションカーネルにより生成されることができる。
【００６０】
本実施例のいくつかの任意選択の実施態様では、前記第１取得手段５０１は更に、仮想ファイルシステムによって前記ターゲットメモリから前記仮想マシン・デバイスステータス情報及び前記物理アドレス情報を取得するように構成されることができる。
【００６１】
以下、本発明の実施例を実現するためのサーバに適用されるコンピュータシステム６００を示す構造概略図である図６を参照する。図６に示すサーバは、ただ一例に過ぎず、本発明の実施例の機能及び使用範囲を限定するものではない。
【００６２】
図６に示すように、コンピュータシステム６００は、読み出し専用メモリ（ＲＯＭ）６０２に格納されているプログラム又は記憶部６０８からランダムアクセスメモリ（ＲＡＭ）６０３にロードされたプログラムによって様々な適当な動作及び処理を実行することができる中央処理装置（ＣＰＵ）６０１を備える。ＲＡＭ６０３には、システム６００の動作に必要な各種のプログラム及びデータが更に格納されている。ＣＰＵ６０１、ＲＯＭ６０２及びＲＡＭ６０３は、バス６０４を介して互いに接続されている。入力／出力（Ｉ／Ｏ）インターフェース６０５もバス６０４に接続されている。
【００６３】
キーボード、マウスなどを含む入力部６０６、陰極線管（ＣＲＴ）、液晶ディスプレイ（ＬＣＤ）など、及びスピーカなどを含む出力部６０７、ハードディスクなどを含む記憶部６０８、並びにＬＡＮカード、モデムなどのネットワークインターフェースカードを含む通信部６０９は、Ｉ／Ｏインターフェース６０５に接続されている。通信部６０９は、例えばインターネットのようなネットワークを介して通信処理を実行する。ドライバ６１０は、必要に応じてＩ／Ｏインターフェース６０５に接続される。磁気ディスク、光ディスク、光磁気ディスク、半導体メモリなどのリムーバブルメディア６１１は、そこから読み出されるコンピュータプログラムが必要に応じて記憶部７０８にインストールされるように、必要に応じてドライバ６１０に設置されている。
【００６４】
特に、本発明の実施例によれば、上記のフローチャートを参照しながら記載されたプロセスは、コンピュータのソフトウェアプログラムとして実現されてもよい。例えば、本発明の実施例は、コンピュータ可読媒体に具現化されるコンピュータプログラムを含むコンピュータプログラム製品を備え、該コンピュータプログラムは、フローチャートで示される方法を実行するためのプログラムコードを含む。このような実施例では、当該コンピュータプログラムは、通信部６０９を介してネットワークからダウンロードされてインストールされることが可能であり、及び／又はリムーバブルメディア６１１からインストールされることも可能である。該コンピュータプログラムが中央処理装置（ＣＰＵ）６０１によって実行されると、本発明の方法で限定された上記の機能を実行する。
【００６５】
注意すべきなのは、本発明に記載されたコンピュータ可読媒体は、コンピュータ可読信号媒体又はコンピュータ可読記憶媒体、又はこれらの任意の組み合わせであってもよい。コンピュータ可読記憶媒体は、例えば、電気、磁気、光、電磁気、赤外線、又は半導体システム、装置もしくはデバイス、又はこれらの任意の組み合わせであってもよいが、これらに限定されない。コンピュータ可読記憶媒体のより具体的な例としては、１本又は複数の導線による電気的接続、ポータブルコンピュータディスク、ハードディスク、ランダムアクセスメモリ（ＲＡＭ）、読取り専用メモリ（ＲＯＭ）、消去可能プログラマブル読取り専用メモリ（ＥＰＲＯＭもしくはフラッシュメモリ）、光ファイバ、ポータブルコンパクトディスク読取り専用メモリ（ＣＤ−ＲＯＭ）、光メモリ、磁気メモリ、又はこれらの任意の適切な組み合わせを含むことができるが、これらに限定されない。本発明において、コンピュータ可読記憶媒体は、命令実行システム、装置もしくはデバイスによって使用可能な、又はそれらに組み込まれて使用可能なプログラムを包含又は格納する任意の有形の媒体であってもよい。本発明において、コンピュータ可読信号媒体は、ベースバンド内の、又は搬送波の一部として伝搬されるデータ信号を含むことができ、その中にコンピュータ可読プログラムコードが担持されている。かかる伝搬されたデータ信号は、様々な形態をとることができ、電磁信号、光信号、又はこれらの任意の適切な組み合わせを含むが、これらに限定されない。コンピュータ可読信号媒体は、更にコンピュータ可読記憶媒体以外の任意のコンピュータ可読媒体であってもよい。当該コンピュータ可読媒体は、命令実行システム、装置もしくはデバイスによって使用されるか、又はそれらに組み込まれて使用されるプログラムを、送信、伝搬又は伝送することができる。コンピュータ可読媒体に含まれるプログラムコードは任意の適切な媒体で伝送することができ、当該任意の適切な媒体とは、無線、有線、光ケーブル、ＲＦなど、又はこれらの任意の適切な組み合わせを含むが、これらに限定されない。
【００６６】
本発明の動作を実行するためのコンピュータプログラムコードは、１種以上のプログラミング言語、又はそれらの組み合わせで作成されることができ、前記プログラミング言語は、Ｊａｖａ（登録商標）、Ｓｍａｌｌｔａｌｋ、Ｃ＋＋などのオブジェクト指向プログラミング言語と、「Ｃ」言語又は同様のプログラミング言語などの従来の手続き型プログラミング言語とを含む。プログラムコードは、完全にユーザのコンピュータで実行されることも、部分的にユーザのコンピュータで実行されることも、単独のソフトウェアパッケージとして実行されることも、部分的にユーザのコンピュータで実行されながら部分的にリモートコンピュータで実行されることも、又は完全にリモートコンピュータもしくはサーバで実行されることも可能である。リモートコンピュータの場合、リモートコンピュータは、ローカルエリアネットワーク（ＬＡＮ）又はワイドエリアネットワーク（ＷＡＮ）を含む任意の種類のネットワークを介してユーザのコンピュータに接続することができ、又は（例えば、インターネットサービスプロバイダによるインターネットサービスを介して）外部のコンピュータに接続することができる。
【００６７】
図面のうちのフローチャート及びブロック図は、本発明の様々な実施例に係るシステム、方法及びコンピュータプログラム製品によって実現できるアーキテクチャ、機能及び動作の表示例である。これについては、フローチャート又はブロック図における各ブロックは、モジュール、プログラムセグメント、又はコードの一部を表すことができる。当該モジュール、プログラムセグメント、又はコードの一部には、所定のロジック機能を実現するための１つ又は複数の実行可能命令が含まれている。更に注意すべきなのは、一部の代替となる実施態様においては、ブロックに示されている機能は図面に示されているものとは異なる順序で実行することも可能である。例えば、連続して示された２つのブロックは、実際には係る機能に応じて、ほぼ並行して実行されてもよく、時には逆の順序で実行されてもよい。更に注意すべきなのは、ブロック図及び／又はフローチャートにおけるすべてのブロック、ならびにブロック図及び／又はフローチャートにおけるブロックの組み合わせは、所定の機能又は操作を実行する専用のハードウェアベースのシステムで実現することもできれば、専用のハードウェアとコンピュータ命令との組み合わせで実現することもできる。
【００６８】
本発明の実施例に記載された手段は、ソフトウェアで実現されてもよく、ハードウェアで実現されてもよい。記載された手段は、プロセッサに設置されてもよく、例えば、「第１取得手段と、第２取得手段と、記憶手段とを備えるプロセッサ」と記載されてもよい。ここで、これらの手段の名称は、ある場合において当該手段その自体を限定するものではなく、例えば、第１取得手段は更に、「プロダクションカーネルクラッシュの判定に応答してターゲットメモリから仮想マシン・デバイスステータス情報及び物理アドレス情報を取得する手段」と記載されてもよい。
【００６９】
一方、本発明は、コンピュータ可読媒体を更に提供し、当該コンピュータ可読媒体は、前記実施例に記載されたデバイスに含まれるものであってもよく、該デバイスに実装されずに別体として存在するものであってもよい。前記コンピュータ可読媒体には、１つ又は複数のプログラムが格納され、前記１つ又は複数のプログラムが当該デバイスによって実行されると、当該デバイスに次の動作を実行させ、前記動作は、プロダクションカーネルクラッシュの判定に応答してターゲットメモリから仮想マシン・デバイスステータス情報及び物理アドレス情報を取得するステップであって、前記ターゲットメモリは、前記プロダクションカーネルによって、実行される仮想マシンに対して予め割り当てられたメモリであり、前記仮想マシンの仮想マシン・デバイスステータス情報と仮想マシンメモリの仮想アドレスに対応する物理アドレス情報とが前記プロダクションカーネルによって前記ターゲットメモリに格納されるステップと、前記物理アドレス情報に基づいてデータをターゲットデータとして取得するステップと、前記ターゲットデータと前記仮想マシン・デバイスステータス情報とに基づいて、ファイルを共有記憶領域に格納するステップとを含む。
【００７０】
以上の記載は、本発明の好ましい実施例、及び使用された技術的原理に関する説明に過ぎない。当業者であれば、本発明に係る発明の範囲が、上記の技術的特徴の特定の組み合わせからなる解決策に限定されるものではなく、上記の本発明の趣旨を逸脱しない範囲で、上記の技術的特徴又はそれらの同等の特徴の任意の組み合わせからなる他の解決策も含むべきであることを理解すべきである。例えば、上記の特徴と本発明に開示された類似の機能を有する技術的特徴（それらに限られない）とを相互に置き換えてなる解決策が該当する。
【図１】
2020091835.tif 000003
【図２】
2020091835.tif 000004
【図３】
2020091835.tif 000005
【図４】
2020091835.tif 000006
【図５】
2020091835.tif 000007
【図６】
2020091835.tif 000008
【外国語明細書】
2020091835000001.pdf