[go: up one dir, main page]

JP2021108174A - メモリ故障処理の方法、装置、電子機器及び記憶媒体 - Google Patents

メモリ故障処理の方法、装置、電子機器及び記憶媒体 Download PDF

Info

Publication number
JP2021108174A
JP2021108174A JP2021064522A JP2021064522A JP2021108174A JP 2021108174 A JP2021108174 A JP 2021108174A JP 2021064522 A JP2021064522 A JP 2021064522A JP 2021064522 A JP2021064522 A JP 2021064522A JP 2021108174 A JP2021108174 A JP 2021108174A
Authority
JP
Japan
Prior art keywords
memory
host computer
failure
target
code
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.)
Granted
Application number
JP2021064522A
Other languages
English (en)
Other versions
JP7168833B2 (ja
Inventor
シャオウェイ フ
Xiaowei Hu
シャオウェイ フ
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 JP2021108174A publication Critical patent/JP2021108174A/ja
Application granted granted Critical
Publication of JP7168833B2 publication Critical patent/JP7168833B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/004Error avoidance
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/008Reliability or availability analysis
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/073Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0778Dumping, i.e. gathering error/state information after a fault for later diagnosis
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1479Generic software techniques for error detection or fault masking
    • G06F11/1482Generic software techniques for error detection or fault masking by means of middleware or OS functionality
    • G06F11/1484Generic software techniques for error detection or fault masking by means of middleware or OS functionality involving virtual machines
    • 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/45545Guest-host, i.e. hypervisor is an application program itself, e.g. VirtualBox
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/203Failover techniques using migration
    • 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/4557Distribution of virtual machine instances; Migration and load balancing
    • 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/81Threshold
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Algebra (AREA)
  • Evolutionary Computation (AREA)
  • Probability & Statistics with Applications (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Computational Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Debugging And Monitoring (AREA)
  • Hardware Redundancy (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

【課題】クラウドコンピューティング分野におけるメモリ故障処理の方法、装置、電子機器を提供する。【解決手段】ホストコンピュータのメモリに故障が発生したことを検出すると、故障メモリの故障パラメータを取得し、故障パラメータに基づいてホストコンピュータのクラッシュ確率を決定し、クラッシュ確率が予め設定された第1の閾値以上である場合、ホストコンピュータ上のすべての仮想マシンをターゲットホストコンピュータにマイグレートする。ここで、ターゲットホストコンピュータのクラッシュ確率が、予め設定された第2の閾値より小さく、第2の閾値が第1の閾値より小さいことを確認する。【選択図】図1

Description

本出願は、コンピュータ技術分野のクラウドコンピューティングの分野に関し、特に、メモリ故障処理の方法、装置、電子機器及び記憶媒体に関する。
現在、インターネットを基盤とする関連サービスが発展し続けており、ホストコンピュータに仮想マシンを配置する規模は拡大し続けている。
関連技術において、ホストコンピュータのメモリに故障が発生すると、ホストコンピュータ上のすべての仮想マシンを直接制御してサービスを停止する。
本開示は、メモリ故障処理に用いられる方法、装置、デバイス及び記憶媒体を提供する。
本開示の一態様によれば、メモリ故障処理方法を提供し、当該方法は、
ホストコンピュータのメモリに故障が発生したことを検出すると、故障メモリの故障パラメータを取得するステップと、
前記故障パラメータに基づいて前記ホストコンピュータのクラッシュ確率を決定するステップと、
前記クラッシュ確率が予め設定された第1の閾値以上である場合、前記ホストコンピュータ上のすべての仮想マシンをターゲットホストコンピュータにマイグレートするステップであって、前記ターゲットホストコンピュータのクラッシュ確率が、予め設定された第2の閾値より小さく、前記第2の閾値が前記第1の閾値より小さいステップと、を含む。
本開示の別の態様によれば、メモリ故障処理方法の装置を提供し、当該装置は、
ホストコンピュータのメモリに故障が発生したことを検出すると、故障メモリの故障パラメータを取得するための第1の取得モジュールと、
前記故障パラメータに基づいて前記ホストコンピュータのクラッシュ確率を決定するための決定モジュールと、
前記クラッシュ確率が予め設定された第1の閾値以上である場合、前記ホストコンピュータ上のすべての仮想マシンをターゲットホストコンピュータにマイグレートするための処理モジュールであって、前記ターゲットホストコンピュータのクラッシュ確率が、予め設定された第2の閾値より小さく、第2の閾値が第1の閾値より小さい処理モジュールと、を含む。
本出願の第3の態様の実施例は、電子機器を提供し、当該電子機器は
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサに通信可能に接続されるメモリと、を含み、ここで、
前記メモリには、前記少なくとも1つのプロセッサによって実行可能な命令が記憶され、前記命令は、前記少なくとも1つのプロセッサが第1の態様の実施例に記載のメモリ故障処理方法を実行できるように、が前記少なくとも1つのプロセッサによって実行される。
本出願の第4の態様の実施例は、コンピュータ命令が記憶されている非一時的なコンピュータ読み取り可能な記憶媒体を提案し、前記コンピュータ命令は、前記コンピュータに第1の態様の実施例に記載のメモリ故障処理方法を実行させるために用いられる。
本出願の第5の態様の実施例は、コンピュータプログラムを提案し、前記コンピュータプログラムは、前記コンピュータに第1の態様の実施例に記載のメモリ故障処理方法を実行させるために用いられる。
上記出願の一実施例は、以下の利点又は有益な効果を有する。
ホストコンピュータのメモリに故障が発生したことを検出すると、故障メモリの故障パラメータを取得し、故障パラメータに基づいてホストコンピュータのクラッシュ確率を決定し、クラッシュ確率が予め設定された第1の閾値以上である場合、ホストコンピュータ上のすべての仮想マシンをターゲットホストコンピュータにマイグレートし、ここで、ターゲットホストコンピュータのクラッシュ確率は、予め設定された第2の閾値より小さく、第2の閾値は第1の閾値より小さい。これにより、ホストコンピュータのメモリに故障が発生すると、ホストコンピュータ上のすべての仮想マシンがサービスを全部停止するという問題を回避し、ホストコンピュータのクラッシュ確率が予め設定された閾値以上である場合、ホストコンピュータ上の仮想マシンを、クラッシュ確率がホストコンピュータより小さいターゲットホストコンピュータにマイグレートし、それにより、仮想マシンがクラッシュ故障の影響を受けることを防ぎ、ユーザの使用体験及びサービス品質を向上させる。
本明細書に記載の内容は、本開示の実施例の肝心な特徴又は重要な特徴を特定することを意図したものではなく、本開示の範囲を限定することを意図したものでもないことを理解されたい。本開示のその他の特徴は、以下の明細書によって容易に理解される。
図面は、本技術案をよりよく理解するために使用され、本出願を限定するものではない。
本出願の第1の実施例により提供されるメモリ故障処理方法の概略フローチャートである。 本出願の第2の実施例により提供されるメモリ故障処理方法の概略フローチャートである。 本出願の第3の実施例により提供されるメモリ故障処理方法の概略フローチャートである。 本出願の第4の実施例により提供されるメモリ故障処理装置の概略構造図である。 本出願の第5の実施例により提供されるメモリ故障処理装置の概略構造図である。 本出願の第6の実施例により提供されるメモリ故障処理装置の概略構造図である。 本出願の第7の実施例により提供されるメモリ故障処理装置の概略構造図である。 本出願の実施例のメモリ故障処理方法を実施するための電子機器のブロック図である。
以下、図面と組み合わせて本出願の例示的な実施例を説明し、理解を容易にするためにその中には本出願の実施例の様々な詳細事項が含まれており、それらは単なる例示的なものと見なされるべきである。したがって、当業者は、本出願の範囲及び精神から逸脱することなく、ここで説明される実施例に対して様々な変更と修正を行うことができる。同様に、わかりやすくかつ簡潔にするために、以下の説明では、周知の機能及び構造の説明を省略する。
以下、図面を参照しながら、本出願の実施例のメモリ故障処理の方法、装置、電子機器及び記憶媒体について説明する。
図1は、本出願の第1の実施例により提供されるメモリ故障処理方法の概略フローチャートである。
実際の応用において、クラウドサービスの継続的な発展に伴い、ホストコンピュータに仮想マシンを配置する規模が拡大し続けるため、ホストコンピュータにメモリの故障が発生する回数がますます多くなり、それによりホストコンピュータがクラッシュし、関連技術において、ホストコンピュータがクラッシュすると、すべての仮想マシンを直接制御してサービスを停止し、それにより、ユーザが使用しているサービスが影響を受け、クラウドサービスの品質が低下する。
上記問題について、本出願は、メモリ故障処理方法を提供し、ホストコンピュータのメモリに故障が発生したことを検出すると、故障メモリの故障パラメータを取得し、故障パラメータに基づいてホストコンピュータのクラッシュ確率を決定し、クラッシュ確率が予め設定された第1の閾値以上である場合、ホストコンピュータ上のすべての仮想マシンをターゲットホストコンピュータにマイグレートし、ここで、ターゲットホストコンピュータのクラッシュ確率は、予め設定された第2の閾値より小さく、第2の閾値は第1の閾値より小さい。つまり、故障パラメータに基づいてクラッシュ確率を決定し、クラッシュ確率が非常に高い場合、ホストコンピュータ上の仮想マシンを、クラッシュ確率がホストコンピュータより小さいターゲットホストコンピュータに適時にマイグレートし、それにより、仮想マシンがクラッシュ故障の影響を受けることを防ぎ、ユーザの使用体験及びサービス品質を向上させる。
図1に示すように、当該メモリ故障処理方法は、ステップ101〜ステップ103を含む。
ステップ101、ホストコンピュータのメモリに故障が発生したことを検出すると、故障メモリの故障パラメータを取得する。
本出願の実施例において、ホストコンピュータは仮想マシンの物理的な基盤であり、仮想マシンは、ホストコンピュータ内に存在し、ホストコンピュータとハードウェアメモリを共有的に使用し、つまり、1つのホストコンピュータに1つ又は複数の仮想マシンが存在する。
本出願の実施例は、主に、ホストコンピュータのメモリに故障が発生した場合についてのものであり、つまり、仮想マシンが、使用中にホストコンピュータのメモリに故障が発生することにより直接クラッシュすることがなく、したがって、故障パラメータに基づいてクラッシュ確率を決定する必要があり、それによりクラッシュ確率に基づいて仮想マシンのマイグレートを行うか否かを決定し、ユーザサービス品質を保証し、ユーザの使用体験を向上させる。
本出願の実施例において、ホストコンピュータのメモリに故障が発生したことを検出する方式は様々であるが、具体的な応用シーンに応じて選択して設定することができ、次のように例を挙げて説明する。
第1の例示において、ホストコンピュータのターゲットメモリページのターゲット位置に書き込まれた情報に基づいて生成された、ターゲットメモリページのターゲット位置に対応する第1のコードと、読み取った情報に基づいて生成された、前記ターゲットメモリページのターゲット位置に対応する第2のコードと、を比較し、第1のコードと第2のコードとが異なる場合、ホストコンピュータのメモリに故障が発生したと決定する。
第2の例示において、仮想マシンのプロセスエラー又は仮想マシンにて提供されるサービスのフィードバックエラーに基づいて、ホストコンピュータのメモリに故障が発生したと決定する。
さらに、ホストコンピュータのメモリ故障を検出した場合、故障メモリの故障パラメータ、例えばエラービットの数、エラービットの位置特徴、エラービットの時間特徴、及びエラービットのタイプ特徴などのうちの1つ又は複数を取得する。
故障メモリの故障パラメータを取得する方式は様々であり、応用の必要に応じて選択して設定することができることが理解でき、次のように例を挙げて説明する。
第1の例示において、予め設定されたアルゴリズムに基づいて、書き込まれた情報に対応するコード及び読み取った情報に対応するコードを解析し、解析された第1のコード及び第2のコードの差分コードを取得し、差分コードに基づいてターゲットメモリページのターゲット位置に対応するエラービットを決定し、エラービットに基づいてエラーの総数及びエラービット同士の間の位置特徴を取得する。
第2の例示において、書き込まれた情報と読み取った情報とを1つずつ直接比較して、一致しないエラービットを取得し、エラービットの位置特徴及び時間特徴を取得する。
ステップ102、故障パラメータに基づいてホストコンピュータのクラッシュ確率を決定する。
本出願の実施例において、メモリに故障が発生したが、ホストコンピュータがまだクラッシュしていない場合、本出願は、故障パラメータに基づいてホストコンピュータのクラッシュ確率を決定することができる。
故障パラメータに基づいてホストコンピュータのクラッシュ確率を決定する方式はさまざまであり、必要に応じて選択して設定することができることが理解でき、次のように例を挙げて説明する。
第1の例示において、予め訓練された確率分析モデルを取得し、故障パラメータを確率分析モデルに入力して処理し、ホストコンピュータのクラッシュ確率を取得する。
第2の例示において、複数の履歴故障パラメータと複数の履歴確率との間の関係にしたがって予め設定された式を作成し、予め設定された式で故障パラメータを計算してホストコンピュータのクラッシュ確率を取得する。
第3の例示において、予め設定されたマッピングテーブルを照会することにより、故障パラメータに対応するホストコンピュータのクラッシュ確率を取得する。
ステップ103、クラッシュ確率が予め設定された第1の閾値以上である場合、ホストコンピュータ上のすべての仮想マシンをターゲットホストコンピュータにマイグレートし、ここで、ターゲットホストコンピュータのクラッシュ確率は、予め設定された第2の閾値より小さく、第2の閾値は第1の閾値より小さい。
本出願の実施例において、クラッシュ確率を取得した後、ホストコンピュータのメモリの現在の故障状況に基づいて、ホストコンピュータがクラッシュする確率がどれぐらいかを知ることができ、第1の閾値を設定することにより、クラッシュ確率が予め設定された第1の閾値以上である場合、ホストコンピュータがクラッシュする可能性が大きいことを表し、ホストコンピュータ上のすべての仮想マシンを、クラッシュ確率がホストコンピュータより小さいターゲットホストコンピュータにマイグレートする必要があり、それにより、通常のユーザサービスが保証され、サービス品質及びユーザ体験が向上し、かつ、マイグレートが完了すると、ホストコンピュータをシャットダウンしてから再起動することができる。
ここで、第1の閾値及び第2の閾値は、複数のホストコンピュータの過去のクラッシュタイミングに基づいてまとめてもよいし、応用要件に応じて設定してもよく、例えば、クラウド環境でのホストコンピュータのクラッシュ原因をまとめることにより、メモリ故障を決定すると、故障パラメータに基づいてクラッシュ確率は40%だと決定し、一定期間後にクラッシュしたため、第1の閾値を40%として設定することができ、マイグレートされた後の仮想サービスが正常に動作することを保証するため、第2の閾値は第1の閾値より小さく、第2の閾値が小さいほど、ターゲットホストコンピュータクラッシュ確率が小さいことを表し、それにより、マイグレートされた仮想サービスを正常に使用することを保証する。
なお、クラッシュ確率が予め設定された第1の閾値より小さい場合、クラッシュする可能性が小さいことを表し、引き続き仮想マシンサービスとして使用されてもよいし、仮想マシンの一部をマイグレートしてもよく、実際の応用シーンの必要に応じて設定することができる。
本出願の実施例のメモリ故障処理方法は、ホストコンピュータのメモリに故障が発生したことを検出すると、故障メモリの故障パラメータを取得し、故障パラメータに基づいてホストコンピュータのクラッシュ確率を決定し、クラッシュ確率が予め設定された第1の閾値以上である場合、ホストコンピュータ上のすべての仮想マシンをターゲットホストコンピュータにマイグレートし、ここで、ターゲットホストコンピュータのクラッシュ確率は、予め設定された第2の閾値より小さく、第2の閾値は第1の閾値より小さい。これにより、ホストコンピュータのメモリに故障が発生すると、ホストコンピュータ上のすべての仮想マシンがサービスを全部停止するという問題を回避し、ホストコンピュータのクラッシュ確率が予め設定された閾値以上である場合、ホストコンピュータ上の仮想マシンを、クラッシュ確率がホストコンピュータより小さいターゲットホストコンピュータにマイグレートし、それにより、仮想マシンがクラッシュ故障の影響を受けることを防ぎ、ユーザの使用体験及びサービス品質を向上させる。
なお、本出願のメモリ故障処理方法は、各々のホストコンピュータの故障パラメータに基づいてホストコンピュータのクラッシュ確率を決定し、クラッシュ確率と閾値との比較に基づいてマイグレートするか否かを決定するものであってもよいし、各ホストコンピュータが故障パラメータを関連のサーバに送信して分析し、サーバが分析結果にしたがって送信した制御命令を受信して操作するものであってもよく、具体的には、応用シーンに応じて選択して設定し、本出願はこれに対して限定しない。
上記実施例の記述に基づいて理解できるように、ホストコンピュータのメモリに故障が発生したことを検出するとともに、その故障がどの仮想マシンのプロセスの実行によるものかを決定でき又はほぼ決定でき、対応する仮想マシンのプロセスを終了して、当該仮想マシンへのサービス提供を停止するとともに、当該故障メモリをマーキングして隔離することができ、したがって、クラッシュ故障の発生を回避する。具体的には、図2を参照しながら詳細に説明する。
図2は、本出願の第2の実施例により提供されるメモリ故障処理方法の概略フローチャートである。
図2に示すように、当該メモリ故障処理方法は、ステップ201〜ステップ205を含む。
ステップ201、故障メモリで仮想マシンのプロセスが実行されている場合、仮想マシンのプロセスを終了する。
具体的には、ホストコンピュータのメモリに故障が発生したこと、例えば、ホストコンピュータのターゲットメモリページの下2ページの故障が検出され、かつ、仮想マシンAがさきほどホストコンピュータのターゲットメモリページの1〜20ページに情報を書き込んだことを検出した場合、これにより、当該メモリの故障は仮想マシンAのサービス提供によるものであると決定することができ、仮想マシンAのプロセスを終了すればよい。それにより、クラッシュリスクを低減させ、他のサービスがクラッシュ故障によって影響されることを回避し、サービス品質を向上させる。
ここで、ホストコンピュータのメモリ故障を検出する方式は、上記実施例の具体的な記述を参照することができるため、ここでは詳細な説明を省略する。
ステップ202、故障メモリの故障パラメータを取得し、かつ、予め訓練された確率分析モデルを取得する。
ステップ203、故障パラメータを確率分析モデルに入力して処理し、ホストコンピュータのクラッシュ確率を取得する。
本出願の実施例において理解できるように、故障パラメータサンプル及び確率サンプルを予め取得して、故障パラメータサンプル及び確率サンプルで確率分析モデルのモデル係数を訓練することができる。
したがって、故障パラメータを確率分析モデルに入力し、予め訓練されたモデル係数で故障パラメータを処理することにより、ホストコンピュータのクラッシュ確率を取得することができ、ホストコンピュータのクラッシュ確率の取得効率をさらに向上させる。
ステップ204、クラッシュ確率が第1の閾値より小さく、かつ、第2の閾値以上である場合、故障メモリをマーキングする。
ステップ205、クラッシュ確率及びホストコンピュータ上のすべての仮想マシンの数に基づいて、ターゲット仮想マシンを決定し、ターゲット仮想マシンをマイグレートし、ここで、ターゲット仮想マシンの数はすべての仮想マシンの数より少ない。
本出願の実施例において、故障メモリ処理の柔軟性をさらに高めるために、上記実施例で設定した第1の閾値以外に、さらに、第2の閾値を設定することもでき、第1の閾値は第2の閾値より大きい。
つまり、クラッシュ確率が第1の閾値より小さいことは、ホストコンピュータがクラッシュする確率が低いことを表すが、クラッシュする可能性がないとは言えず、したがって、第1の閾値より小さい第2の閾値を設定することによりさらなる判断を行って、対応する処理を行い、例えば、第1の閾値が60%である場合、第2の閾値を40%に設定することができる。
本出願の実施例において、クラッシュ確率が第1の閾値より小さい場合、クラッシュ確率が予め設定された第2の閾値以上であると判断し、故障メモリをマーキングし、ホストコンピュータの他の正常なメモリを引き続いて使用し、つまり、クラッシュするリスクがあり、かつ、クラッシュするリスクが故障メモリにより引き起こされる確率が大きく、この場合、故障メモリをマーキングして、隔離処理を行い、ホストコンピュータの他の正常なメモリを引き続いて使用することにより、他のサービスが引き続いて行われ、サービスの効率と品質が向上する。
上記分析に基づいて、このとき、クラッシュ確率が予め設定された第2の閾値以上であるため、クラッシュするリスクが存在する可能性がまだあり、仮想サービスがクラッシュの影響を受けることをさらに回避するために、クラッシュ確率及びホストコンピュータ上のすべての仮想マシンの数に基づいて、ターゲット仮想マシンを決定して、ターゲット仮想マシンをマイグレートすることができ、ここで、ターゲット仮想マシンの数はすべての仮想マシンの数より少ない。
ここで、仮想マシン上のサービス情報(例えば、リアルタイムサービス、サービス対象など)に基づいて各仮想マシンをソートし、かつ、クラッシュ確率に基づいて3〜5個のマイグレートできるものを決定し、それにより、ソート後の後ろから3つの仮想マシンを選択してマイグレートし、応用要件に応じてターゲット仮想マシン及びマイグレートする数を選択することができ、サービスの品質及びユーザの使用体験をより一層保証する。
なお、クラッシュ確率が予め設定された第1の閾値以上である場合、ホストコンピュータ上のすべての仮想マシンをマイグレートし、マイグレートが完了すると、ホストコンピュータをシャットダウンし、かつ、クラッシュ確率が第2の閾値より小さい場合、処理する必要は一切なく、故障メモリをマーキングするだけで、ホストコンピュータの他の正常なメモリを引き続いて使用することができる。
本出願の実施例のメモリ故障処理方法は、故障メモリで仮想マシンのプロセスが実行されている場合、仮想マシンのプロセスを終了し、故障メモリの故障パラメータを取得し、かつ、予め訓練された確率分析モデルを取得し、故障パラメータを確率分析モデルに入力し、予め訓練されたモデル係数で故障パラメータを処理することにより、ホストコンピュータのクラッシュ確率を取得し、クラッシュ確率が第1の閾値より小さく、かつ、予め設定された第2の閾値以上である場合、故障メモリをマーキングし、クラッシュ確率及びホストコンピュータ上のすべての仮想マシンの数に基づいて、ターゲット仮想マシンを決定し、ターゲット仮想マシンをマイグレートし、ここで、ターゲット仮想マシンの数はすべての仮想マシンの数より少ない。これにより、ホストコンピュータのメモリに故障が発生すると、故障メモリで作動している仮想マシンのプロセスを終了し、かつ、故障メモリをマーキングして隔離し、仮想マシンの一部を他のホストコンピュータにマイグレートし、それにより、仮想マシンがクラッシュ故障の影響を受けることを防ぎ、ユーザの使用体験及びサービス品質を向上させる。
図3は、本出願の第3の実施例により提供されるメモリ故障処理方法の概略フローチャートである。
図3に示すように、当該メモリ故障処理方法は、ステップ301〜ステップ308を含む。
ステップ301、カーネルシステムによって送信された第1の制御命令を取得し、第1の制御命令に基づいてホストコンピュータのターゲットメモリページのターゲット位置に情報を書き込み、書き込まれた情報に基づいてターゲットメモリページのターゲット位置に対応する第1のコードを生成する。
本出願の実施例において、異なる応用シーンに対して異なるメモリ故障処理モードを設定することができ、故障の検出を行う前に、さらに、ホストコンピュータのカーネルパラメータに基づいてどのメモリ故障処理モードを起動するかを判断することができ、例えば、カーネルパラメータ1は、本出願の実施例におけるメモリ故障処理モードの実行を表し、また、カーネルパラメータ2は、メモリの故障を検出して、ホストコンピュータを直接シャットダウンする処理モードの実行を表し、具体的には、実際の応用シーンに応じて設定することができる。
本出願の実施例において、カーネルシステムによって送信された命令にしたがってホストコンピュータのターゲットメモリページのターゲット位置に情報を書き込むか、又はそれから情報を読み取ることにより、カーネルシステムによって送信された第1の制御命令を取得した後、第1の制御命令は、1つの書き込み命令であり、具体的な書き込みビット及び書き込み位置識別子などの情報をさらに含み、そのため、第1の制御命令に基づいてホストコンピュータのターゲットメモリページのターゲット位置に情報を書き込むことができる。
さらに、符号化アルゴリズムなどの方式により、書き込まれた情報に基づいてターゲットメモリページのターゲット位置に対応する第1のコードを生成し、例えば、書き込まれた情報「ABC」は、符号化されて「11001」になる。
ステップ302、カーネルシステムによって送信された第2の制御命令を取得し、第2の制御命令に基づいてターゲットメモリページのターゲット位置から情報を読み取り、読み取った情報に基づいてターゲットメモリページのターゲット位置に対応する第2のコードを生成する。
ステップ303、第1のコードと第2のコードとが異なる場合、ターゲットメモリページに故障が発生したと決定する。
本出願の実施例において、カーネルシステムによって送信された命令にしたがってホストコンピュータのターゲットメモリページのターゲット位置に情報を書き込むか、それから情報を読み取ることにより、カーネルシステムによって送信された第2の制御命令を取得した後、第2の制御命令は、1つの読み取り命令であり、具体的な読み取りビット及び読み取り位置識別子などの情報をさらに含み、そのため、第2の制御命令に基づいてホストコンピュータのターゲットメモリページのターゲット位置から情報を読み取ることができる。
さらに、符号化アルゴリズムなどの方式により、読み取った情報に基づいてターゲットメモリページのターゲット位置に対応する第2のコードを生成し、例えば、読み取った情報「ABC」は、符号化されて「11001」になる。
メモリに故障が発生していない場合、第1のコードと第2のコードとは一致するため、第1のコードと第2のコードとが一致しない場合、ターゲットメモリページに故障が発生したと決定し、例えば、いずれも「11001」である場合、メモリ故障がなく、第1のコードが「11001」で、第2のコードが「00001」である場合、ターゲットメモリページに故障が発生したと決定することが理解できる。
ステップ304、予め設定されたアルゴリズムに基づいて第1のコードと第2のコードとを解析して、解析された第1のコードと第2のコードとの差分コードを取得し、差分コードに基づいてターゲットメモリページのターゲット位置に対応するエラービットを決定し、エラービットに基づいてエラーの総数及びエラービット同士の間の位置特徴を取得する。
具体的には、予め設定されたアルゴリズムに基づいて第1のコードと第2のコードとを解析し、両者間の差分コードを取得し、例えば、自動比較アルゴリズムにより「11001」である第1のコードと「00001」である第2のコードとの差分コード「11」及び「00」を取得し、差分コードに基づいてターゲットメモリページのターゲット位置に対応するエラービットを決定し、例えば、上記差分コードにより、第1の位置及び第2の位置に対応するターゲットメモリページのターゲット位置にエラービットがあると決定し、最後に、エラービットに基づいてエラーの総数及びエラービット同士の間の位置特徴を取得する。
つまり、差分コードに基づいて、例えば第3ページの第1、3及び5の位置にビットエラーが発生したなど、どのターゲットメモリページのどのターゲット位置のどのビットにエラーが発生したかを決定するとともに、エラービットを取得し、エラーの総数及びエラービット同士の間の位置特徴を取得することができる。
ステップ305、予め訓練された確率分析モデルを取得し、故障パラメータを確率分析モデルに入力して処理し、ホストコンピュータのクラッシュ確率を取得する。
本出願の実施例において理解できるように、故障パラメータサンプル及び確率サンプルを予め取得して、故障パラメータサンプル及び確率サンプルで確率分析モデルのモデル係数を訓練することができる。
したがって、故障パラメータを確率分析モデルに入力し、予め訓練されたモデル係数で故障パラメータを処理することにより、ホストコンピュータのクラッシュ確率を取得することができ、ホストコンピュータのクラッシュ確率の取得効率さらに向上させる。
ステップ306、クラッシュ確率が予め設定された第1の閾値以上である場合、ホストコンピュータ上のすべての仮想マシンをターゲットホストコンピュータにマイグレートし、ここで、ターゲットホストコンピュータのクラッシュ確率は、予め設定された第2の閾値より小さく、第2の閾値は第1の閾値より小さい。
ステップ307、クラッシュ確率が第1の閾値より小さく、かつ、予め設定された第2の閾値以上である場合、故障メモリをマーキングする。
ステップ308、クラッシュ確率が第2の閾値より小さい場合、故障メモリをマーキングする。
本出願の実施例において、クラッシュ確率を取得した後、ホストコンピュータのメモリの現在の故障状況に基づいて、ホストコンピュータがクラッシュする確率がどれぐらいかを知ることができ、第1の閾値を設定することにより、クラッシュ確率が予め設定された第1の閾値以上である場合、ホストコンピュータがクラッシュする可能性が大きいことを表し、ホストコンピュータ上のすべての仮想マシンをマイグレートする必要があり、それにより、通常のユーザサービスが保証され、サービス品質及びユーザ体験が向上し、かつ、マイグレートが完了すると、ホストコンピュータをシャットダウンしてから再起動する。
本出願の実施例において、故障メモリ処理の柔軟性をさらに高めるために、上記実施例で設定した第1の閾値以外に、さらに、第2の閾値を設定することもでき、第1の閾値は第2の閾値より大きい。
つまり、クラッシュ確率が第1の閾値より小さいことは、ホストコンピュータがクラッシュする確率が低いことを表すが、クラッシュする可能性がないとは言えず、したがって、第1の閾値より小さい第2の閾値を設定することによりさらなる判断を行って、対応する処理を行い、例えば、第1の閾値が60%である場合、第2の閾値を40%に設定することができる。
本出願の実施例において、クラッシュ確率が第1の閾値より小さい場合、クラッシュ確率は予め設定された第2の閾値以上であると判断し、故障メモリをマーキングし、ホストコンピュータの他の正常なメモリを引き続いて使用し、つまり、クラッシュするリスクがあり、かつ、クラッシュするリスクが故障メモリにより引き起こされる確率が大きく、この場合、故障メモリをマーキングして、隔離処理を行い、ホストコンピュータの他の正常なメモリを引き続いて使用することにより、他のサービスが引き続いて行われ、サービスの効率と品質が向上する。
上記分析に基づいて、このとき、クラッシュ確率が予め設定された第2の閾値以上であるため、クラッシュするリスクが存在する可能性がまだあり、仮想サービスがクラッシュの影響を受けることをさらに回避するために、クラッシュ確率及びホストコンピュータ上のすべての仮想マシンの数に基づいて、ターゲット仮想マシンを決定して、ターゲット仮想マシンをマイグレートすることができ、ここで、ターゲット仮想マシンの数はすべての仮想マシンの数より少ない。
ここで、仮想マシン上のサービス情報(例えば、リアルタイムサービス、サービス対象など)に基づいて各仮想マシンをソートし、かつ、クラッシュ確率に基づいて3〜5個のマイグレートできるものを決定し、それにより、ソート後の後ろから3つの仮想マシンを選択してマイグレートし、応用要件に応じてターゲット仮想マシン及びマイグレートする数を選択することができ、サービスの品質及びユーザの使用体験をより一層保証する。
本出願の実施例において、クラッシュ確率が第2の閾値より小さい場合、故障メモリをマーキングするだけでよく、ホストコンピュータの他の正常なメモリを引き続いて使用することができる。
本出願の実施例のメモリ故障処理方法は、カーネルシステムによって送信された第1の制御命令を取得し、第1の制御命令に基づいてホストコンピュータのターゲットメモリページのターゲット位置に情報を書き込み、書き込まれた情報に基づいてターゲットメモリページのターゲット位置に対応する第1のコードを生成し、カーネルシステムによって送信された第2の制御命令を取得し、第2の制御命令に基づいてターゲットメモリページのターゲット位置から情報を読み取り、読み取った情報に基づいてターゲットメモリページのターゲット位置に対応する第2のコードを生成し、第1のコードと第2のコードとが異なる場合、ターゲットメモリページに故障が発生したと決定し、予め設定されたアルゴリズムに基づいて第1のコードと第2のコードとを解析して、解析された第1のコードと第2のコードとの差分コードを取得し、差分コードに基づいてターゲットメモリページのターゲット位置に対応するエラービットを決定し、エラービットに基づいてエラーの総数及びエラービット同士の間の位置特徴を取得し、予め訓練された確率分析モデルを取得し、故障パラメータを確率分析モデルに入力して処理し、ホストコンピュータのクラッシュ確率を取得し、クラッシュ確率が予め設定された第1の閾値以上である場合、ホストコンピュータ上のすべての仮想マシンをターゲットホストコンピュータにマイグレートし、ここで、ターゲットホストコンピュータのクラッシュ確率は、予め設定された第2の閾値より小さく、第2の閾値は第1の閾値より小さく、クラッシュ確率が前記第1の閾値より小さく、かつ、予め設定された第2の閾値以上である場合、故障メモリをマーキングし、クラッシュ確率が第2の閾値より小さい場合、故障メモリをマーキングして、ホストコンピュータの他の正常なメモリを引き続いて使用する。これにより、仮想マシンがクラッシュ故障の影響を受けることを回避し、ユーザの使用体験及びサービス品質を向上させる。
上記実施例を実現するために、本出願は、メモリ故障処理装置を提供する。
図4は、本出願の第4の実施例により提供されるメモリ故障処理装置の概略構造図である。
図4に示すように、当該メモリ故障処理装置400は、第1の取得モジュール401、決定モジュール402及び処理モジュール403を含んでもよい。
ここで、第1の取得モジュール401は、ホストコンピュータのメモリに故障が発生したことを検出すると、故障メモリの故障パラメータを取得するために用いられる。
決定モジュール402は、前記故障パラメータに基づいて前記ホストコンピュータのクラッシュ確率を決定するために用いられる。
処理モジュール403は、前記クラッシュ確率が予め設定された第1の閾値以上である場合、前記ホストコンピュータ上のすべての仮想マシンをターゲットホストコンピュータにマイグレートするために用いられ、ここで、前記ターゲットホストコンピュータのクラッシュ確率は、予め設定された第2の閾値より小さく、前記第2の閾値は前記第1の閾値より小さい。
図5は、本出願の第5の実施例により提供されるメモリ故障処理装置の概略構造図である。
図5に示すように、図4に加え、終了モジュール404をさらに含む。
ここで、終了モジュール404は、前記故障メモリで仮想マシンのプロセスが実行されている場合、前記仮想マシンのプロセスを終了するために用いられる。
これにより、ホストコンピュータのメモリに故障が発生すると、故障メモリで作動している仮想マシンのプロセスを終了し、それにより、仮想マシンがクラッシュ故障の影響を受けることを防ぎ、ユーザの使用体験及びサービス品質を向上させる。
本出願の実現可能な一形態において、図6に示すように、図4に加え、第2の取得モジュール405、書き込みモジュール406、第1の生成モジュール407、第3の取得モジュール408、読み取りモジュール409、第2の生成モジュール410及び比較決定モジュール411をさらに含む。
ここで、第2の取得モジュール405は、カーネルシステムによって送信された第1の制御命令を取得するために用いられる。
書き込みモジュール406は、前記第1の制御命令に基づいて、前記ホストコンピュータのターゲットメモリページのターゲット位置に情報を書き込むために用いられる。
第1の生成モジュール407は、書き込まれた情報に基づいて、前記ターゲットメモリページのターゲット位置に対応する第1のコードを生成するために用いられる。
第3の取得モジュール408は、前記カーネルシステムによって送信された第2の制御命令を取得するために用いられる。
読み取りモジュール409は、前記第2の制御命令に基づいて、前記ターゲットメモリページの前記ターゲット位置から情報を読み取るために用いられる。
第2の生成モジュール410は、読み取った情報に基づいて、前記ターゲットメモリページのターゲット位置に対応する第2のコードを生成するために用いられる。
比較決定モジュール411は、前記第1のコードと前記第2のコードとを比較し、両者が一致しない場合、前記ターゲットメモリページに故障が発生したと決定するために用いられる。
本出願の実現可能な一形態において、第1の取得モジュール401は、具体的には、予め設定されたアルゴリズムに基づいて前記第1のコードと前記第2のコードとを解析し、解析された第1のコードと第2のコードとの差分コードを取得し、前記差分コードに基づいて、前記ターゲットメモリページのターゲット位置に対応するエラービットを決定し、前記エラービットに基づいてエラーの総数及びエラービット同士の間の位置特徴を取得するために用いられる。
本出願の実現可能な一形態において、決定モジュール402は、具体的には、予め訓練された確率分析モデルを取得し、前記故障パラメータを前記確率分析モデルに入力して処理し、前記ホストコンピュータのクラッシュ確率を取得するために用いられる。
本出願の実現可能な一形態において、図7に示すように、図4に加え、さらに、第1のマーキングモジュール412、マイグレート決定モジュール413及び第2のマーキングモジュール414を含む。
ここで、第1のマーキングモジュール412は、前記クラッシュ確率が前記第1の閾値より小さく、かつ、予め設定された第2の閾値以上である場合、ここで、前記第1の閾値は前記第2の閾値より大きく、前記故障メモリをマーキングして、前記ホストコンピュータの他の正常なメモリを引き続いて使用するために用いられる。
マイグレート決定モジュール413は、前記クラッシュ確率及び前記ホストコンピュータ上のすべての仮想マシンの数に基づいて、ターゲット仮想マシンを決定し、前記ターゲット仮想マシンをマイグレートするために用いられ、ここで、前記ターゲット仮想マシンの数は前記すべての仮想マシン数より少ない。
第2のマーキングモジュール414は、前記クラッシュ確率が前記第2の閾値より小さい場合、ここで、前記第1の閾値は前記第2の閾値より大きく、前記故障メモリをマーキングして、前記ホストコンピュータの他の正常なメモリを引き続いて使用するために用いられる。
本出願の実施例のメモリ故障処理装置は、ホストコンピュータのメモリに故障が発生したことを検出すると、故障メモリの故障パラメータを取得し、故障パラメータに基づいてホストコンピュータのクラッシュ確率を決定し、クラッシュ確率が予め設定された第1の閾値以上である場合、ホストコンピュータ上のすべての仮想マシンをターゲットホストコンピュータにマイグレートし、ここで、ターゲットホストコンピュータのクラッシュ確率は、予め設定された第2の閾値より小さく、第2の閾値は第1の閾値より小さい。これにより、ホストコンピュータのメモリに故障が発生すると、ホストコンピュータ上のすべての仮想マシンがサービスを全部停止するという問題を回避し、ホストコンピュータのクラッシュ確率が予め設定された閾値以上である場合、ホストコンピュータ上の仮想マシンを、クラッシュ確率がホストコンピュータより小さいターゲットホストコンピュータにマイグレートし、それにより、仮想マシンがクラッシュ故障の影響を受けることを防ぎ、ユーザの使用体験及びサービス品質を向上させる。
本出願の実施例によれば、本出願は、電子機器及び読み取り可能な記憶媒体をさらに提供する。
図8に示すように、本出願の実施例によるメモリ故障処理方法のブロック図である。電子機器は、ラップトップコンピュータ、デスクトップコンピュータ、ワークステーション、パーソナルデジタルアシスタント、サーバ、ブレードサーバ、メインフレームコンピュータ、及び他の適切なコンピュータなどの様々な形態のデジタルコンピュータを表すことを目的とする。電子機器は、パーソナルデジタルプロセッサ、携帯電話、スマートフォン、ウェアラブルデバイス、他の類似するコンピューティングデバイスなどの様々な形態のモバイルデバイスを表すこともできる。本明細書で示されるコンポーネント、それらの接続と関係、及びそれらの機能は単なる例であり、本明細書の説明及び/又は要求される本出願の実現を制限することを意図したものではない。
図8に示すように、当該電子機器は、1つ又は複数のプロセッサ801と、メモリ802と、高速インターフェース及び低速インターフェースを含む、各コンポーネントを接続するためのインターフェースと、を含む。各コンポーネントは、異なるバスで相互に接続され、共通のマザーボードに取り付けられるか、又は必要に応じて他の方式で取り付けることができる。プロセッサは、電子機器内で実行される命令を処理することができ、当該命令は、外部入力/出力装置(例えば、インターフェースに結合されたディスプレイデバイスなど)にGUIの図形情報をディスプレイするためにメモリ内又はメモリに記憶されている命令を含む。他の実施形態では、必要に応じて、複数のプロセッサ及び/又は複数のバスを、複数のメモリと一緒に使用することができる。同様に、複数の電子機器を接続することができ、各電子機器は、一部の必要な操作(例えば、サーバアレイ、1グループのブレードサーバ、又はマルチプロセッサシステムとする)を提供することができる。図8では、1つのプロセッサ801を例とする。
メモリ802は、本出願により提供される非一時的なコンピュータ読み取り可能な記憶媒体である。ここで、前記メモリには、前記少なくとも1つのプロセッサが本出願により提供されるメモリ故障処理方法を実行するように、少なくとも1つのプロセッサによって実行可能な命令が記憶される。本出願の非一時的なコンピュータ読み取り可能な記憶媒体には、コンピュータに本出願により提供されるメモリ故障処理方法を実行させるためのコンピュータ命令が記憶されている。
メモリ802は、非一時的なコンピュータ読み取り可能な記憶媒体として、本出願の実施例におけるメモリ故障処理方法に対応するプログラム命令/モジュール(例えば、図4に示す第1の取得モジュール401、決定モジュール402及び処理モジュール403)のような、非一時的なソフトウェアプログラム、非一時的なコンピュータ実行可能なプログラム及びモジュールを記憶する。プロセッサ801は、メモリ802に記憶されている非一時的なソフトウェアプログラム、命令及びモジュールを実行することによって、サーバの様々な機能アプリケーション及びデータ処理を実行し、すなわち上記方法の実施例におけるメモリ故障処理方法を実現する。
メモリ802は、プログラムストレージエリアとデータストレージエリアとを含むことができ、ここで、プログラムストレージエリアは、オペレーティングシステム、少なくとも1つの機能に必要なアプリケーションプログラムを記憶することができ、データストレージエリアは、メモリ故障処理による電子機器の使用によって作成されたデータなどを記憶することができる。また、メモリ802は、高速ランダムアクセスメモリを含むことができ、非一時的なメモリをさらに含むことができ、例えば、少なくとも1つの磁気ディスクストレージデバイス、フラッシュメモリデバイス、又は他の非一時的なソリッドステートストレージデバイスである。いくつかの実施例では、メモリ802は、プロセッサ801に対して遠隔に設定されたメモリを選択的に含むことができ、これらの遠隔メモリは、ネットワークを介してメモリ故障処理による電子機器に接続されることができる。上記ネットワークの例は、インターネット、イントラネット、ローカルエリアネットワーク、モバイル通信ネットワーク、及びその組み合わせを含むが、これらに限定されない。
メモリ故障処理方法の電子機器は、入力装置803と出力装置804とをさらに含んでもよい。プロセッサ801、メモリ802、入力装置803、及び出力装置804は、バス又は他の方式を介して接続することができ、図8では、バスを介して接続することを例とする。
入力装置803は、入力された数字又は文字情報を受信し、メモリ故障処理の電子機器のユーザ設定及び機能制御に関するキー信号入力を生成することができ、例えば、タッチスクリーン、キーパッド、マウス、トラックパッド、タッチパッド、ポインティングスティック、1つ又は複数のマウスボタン、トラックボール、ジョイスティックなどの入力装置である。出力装置804は、ディスプレイデバイス、補助照明装置(例えば、LED)、及び触覚フィードバックデバイス(例えば、振動モータ)などを含むことができる。当該ディスプレイデバイスは、液晶ディスプレイ(LCD)、発光ダイオード(LED)ディスプレイ、及びプラズマディスプレイを含むことができるが、これらに限定されない。いくつかの実施形態で、ディスプレイデバイスは、タッチスクリーンであってもよい。
本明細書で説明されるシステムと技術の様々な実施形態は、デジタル電子回路システム、集積回路システム、特定用途向けASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、及び/又はそれらの組み合わせで実現することができる。これらの様々な実施形態は、1つ又は複数のコンピュータプログラムで実施され、当該1つ又は複数のコンピュータプログラムは、少なくとも1つのプログラマブルプロセッサを含むプログラム可能なシステムで実行及び/又は解釈されることができ、当該プログラマブルプロセッサは、専用又は汎用のプログラマブルプロセッサであってもよく、ストレージシステム、少なくとも1つの入力装置、及び少なくとも1つの出力装置からデータ及び命令を受信し、データ及び命令を当該ストレージシステム、当該少なくとも1つの入力装置、及び当該少なくとも1つの出力装置に伝送することができる。
これらのコンピューティングプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、又はコードとも呼ばれる)は、プログラマブルプロセッサの機械命令を含むことができ、高レベルのプロセス及び/又は対象指向プログラミング言語、及び/又はアセンブリ/機械言語でこれらのコンピューティングプログラムを実施することができる。本明細書で使用されるような、「機械読み取り可能な媒体」及び「コンピュータ読み取り可能な媒体」という用語は、機械命令及び/又はデータをプログラマブルプロセッサに提供するための任意のコンピュータプログラム製品、機器、及び/又は装置(例えば、磁気ディスク、光ディスク、メモリ、プログラマブルロジックデバイス(PLD))を指し、機械読み取り可能な信号である機械命令を受信する機械読み取り可能な媒体を含む。「機械読み取り可能な信号」という用語は、機械命令及び/又はデータをプログラマブルプロセッサに提供するための任意の信号を指す。
ユーザとのインタラクションを提供するために、ここで説明されているシステム及び技術をコンピュータ上で実施することができ、当該コンピュータは、ユーザに情報を表示するためのディスプレイ装置(例えば、CRT(陰極線管)又はLCD(液晶ディスプレイ)モニタ)と、キーボード及びポインティングデバイス(例えば、マウス又はトラックボール)とを有し、ユーザは、当該キーボード及び当該ポインティングデバイスによって入力をコンピュータに提供することができる。他の種類の装置も、ユーザとのインタラクションを提供することができ、例えば、ユーザに提供されるフィードバックは、任意の形態のセンシングフィードバック(例えば、視覚フィードバック、聴覚フィードバック、又は触覚フィードバック)であってもよく、任意の形態(音響入力と、音声入力と、触覚入力とを含む)でユーザからの入力を受信することができる。
ここで説明されるシステム及び技術は、バックエンドコンポーネントを含むコンピューティングシステム(例えば、データサーバとする)、又はミドルウェアコンポーネントを含むコンピューティングシステム(例えば、アプリケーションサーバ)、又はフロントエンドコンポーネントを含むコンピューティングシステム(例えば、グラフィカルユーザインタフェース又はウェブブラウザを有するユーザコンピュータであり、ユーザは、当該グラフィカルユーザインタフェース又は当該ウェブブラウザによってここで説明されるシステム及び技術の実施形態とインタラクションする)、又はこのようなバックエンドコンポーネントと、ミドルウェアコンポーネントと、フロントエンドコンポーネントの任意の組み合わせを含むコンピューティングシステムで実施することができる。任意の形態又は媒体のデジタルデータ通信(例えば、通信ネットワーク)によってシステムのコンポーネントを相互に接続することができる。通信ネットワークの例は、ローカルエリアネットワーク(LAN)と、ワイドエリアネットワーク(WAN)と、インターネットとを含む。
コンピュータシステムは、クライアントとサーバとを含むことができる。クライアントとサーバは、一般的に、互いに離れており、通常に通信ネットワークを介してインタラクションする。対応するコンピュータ上で実行され、かつ互いにクライアント−サーバの関係を有するコンピュータプログラムによって、クライアントとサーバとの関係が生成される。
本出願の実施例の技術案によれば、ホストコンピュータのメモリに故障が発生したことを検出すると、故障メモリの故障パラメータを取得し、故障パラメータに基づいてホストコンピュータのクラッシュ確率を決定し、クラッシュ確率が予め設定された第1の閾値以上である場合、ホストコンピュータ上のすべての仮想マシンをターゲットホストコンピュータにマイグレートし、ここで、ターゲットホストコンピュータのクラッシュ確率は、予め設定された第2の閾値より小さく、第2の閾値は第1の閾値より小さい。これにより、ホストコンピュータのメモリに故障が発生すると、ホストコンピュータ上のすべての仮想マシンがサービスを全部停止するという問題を回避し、ホストコンピュータのクラッシュ確率が予め設定された閾値以上である場合、ホストコンピュータ上の仮想マシンを、クラッシュ確率がホストコンピュータより小さいターゲットホストコンピュータにマイグレートし、それにより、仮想マシンがクラッシュ故障の影響を受けることを防ぎ、ユーザの使用体験及びサービス品質を向上させる。
上記に示される様々な形態のフローを使用して、ステップを並べ替え、追加、又は削除することができる。例えば、本出願に記載されている各ステップは、並列に実行されてもよいし、順次的に実行されてもよいし、異なる順序で実行されてもよいが、本出願で開示されている技術案の所望の結果を実現することができれば、本明細書では限定されない。
上記具体的な実施形態は、本出願の保護範囲を制限するものではない。当業者は、設計要件と他の要因に基づいて、様々な修正、組み合わせ、サブコンビネーション、及び代替を行うことができる。本出願の精神と原則内で行われる任意の修正、同等の置換、及び改善などは、いずれも本出願の保護範囲内に含まれるべきである。
(付記)
(付記1)
メモリ故障処理方法であって、
ホストコンピュータのメモリに故障が発生したことを検出すると、故障メモリの故障パラメータを取得するステップと、
前記故障パラメータに基づいて前記ホストコンピュータのクラッシュ確率を決定するステップと、
前記クラッシュ確率が予め設定された第1の閾値以上である場合、前記ホストコンピュータ上のすべての仮想マシンをターゲットホストコンピュータにマイグレートするステップであって、前記ターゲットホストコンピュータの前記クラッシュ確率が、予め設定された第2の閾値より小さく、前記第2の閾値が前記第1の閾値より小さいステップと、を含む、
メモリ故障処理方法。
(付記2)
前記故障メモリの前記故障パラメータを取得するステップの前に、
前記故障メモリで仮想マシンのプロセスが実行されている場合、前記仮想マシンのプロセスを終了するステップをさらに含む、
ことを特徴とする付記1に記載のメモリ故障処理方法。
(付記3)
カーネルシステムによって送信された第1の制御命令を取得するステップと、
前記第1の制御命令に基づいて、前記ホストコンピュータのターゲットメモリページのターゲット位置に情報を書き込むステップと、
書き込まれた情報に基づいて、前記ターゲットメモリページの前記ターゲット位置に対応する第1のコードを生成するステップと
前記カーネルシステムによって送信された第2の制御命令を取得するステップと、
前記第2の制御命令に基づいて、前記ターゲットメモリページの前記ターゲット位置から情報を読み取るステップと、
読み取った情報に基づいて、前記ターゲットメモリページの前記ターゲット位置に対応する第2のコードを生成するステップと、
前記第1のコードと前記第2のコードとが異なる場合、前記ターゲットメモリページに故障が発生したと決定するステップと、をさらに含む、
ことを特徴とする付記1に記載のメモリ故障処理方法。
(付記4)
前記故障メモリの前記故障パラメータを取得するステップは、
予め設定されたアルゴリズムに基づいて前記第1のコードと前記第2のコードとを解析し、解析された前記第1のコードと前記第2のコードとの差分コードを取得するステップと、
前記差分コードに基づいて、前記ターゲットメモリページの前記ターゲット位置に対応するエラービットを決定するステップと、
前記エラービットに基づいてエラーの総数及び前記エラービット同士の間の位置特徴を取得するステップと、を含む、
ことを特徴とする付記3に記載のメモリ故障処理方法。
(付記5)
前記故障パラメータに基づいて前記ホストコンピュータの前記クラッシュ確率を決定するステップは、
予め訓練された確率分析モデルを取得するステップと、
前記故障パラメータを前記確率分析モデルに入力して処理し、前記ホストコンピュータの前記クラッシュ確率を取得するステップと、を含む、
ことを特徴とする付記1に記載のメモリ故障処理方法。
(付記6)
前記故障パラメータに基づいて前記ホストコンピュータの前記クラッシュ確率を決定するステップの後、
前記クラッシュ確率が前記第1の閾値より小さく、かつ、前記第2の閾値以上である場合、前記故障メモリをマーキングするステップと、
前記クラッシュ確率及び前記ホストコンピュータ上の前記すべての仮想マシンの数に基づいて、ターゲット仮想マシンを決定し、前記ターゲット仮想マシンをマイグレートするステップであって、前記ターゲット仮想マシンの数が前記すべての仮想マシン数より少ないステップと、をさらに含む、
ことを特徴とする付記1に記載のメモリ故障処理方法。
(付記7)
前記故障パラメータに基づいて前記ホストコンピュータの前記クラッシュ確率を決定するステップの後、
前記クラッシュ確率が前記第2の閾値より小さい場合、前記故障メモリをマーキングするステップをさらに含む、
ことを特徴とする付記1に記載のメモリ故障処理方法。
(付記8)
メモリ故障処理装置であって、
ホストコンピュータのメモリに故障が発生したことを検出すると、故障メモリの故障パラメータを取得するための第1の取得モジュールと、
前記故障パラメータに基づいて前記ホストコンピュータのクラッシュ確率を決定するための決定モジュールと、
前記クラッシュ確率が予め設定された第1の閾値以上である場合、前記ホストコンピュータ上のすべての仮想マシンをターゲットホストコンピュータにマイグレートするための処理モジュールであって、前記ターゲットホストコンピュータの前記クラッシュ確率が、予め設定された第2の閾値より小さく、前記第2の閾値が前記第1の閾値より小さい処理モジュールと、を含む、
メモリ故障処理装置。
(付記9)
前記故障メモリで仮想マシンのプロセスが実行されている場合、前記仮想マシンのプロセスを終了するための終了モジュールをさらに含む、
ことを特徴とする付記8に記載のメモリ故障処理装置。
(付記10)
カーネルシステムによって送信された第1の制御命令を取得するための第2の取得モジュールと、
前記第1の制御命令に基づいて、前記ホストコンピュータのターゲットメモリページのターゲット位置に情報を書き込むための書き込みモジュールと、
書き込まれた情報に基づいて、前記ターゲットメモリページの前記ターゲット位置に対応する第1のコードを生成するための第1の生成モジュールと、
前記カーネルシステムによって送信された第2の制御命令を取得するための第3の取得モジュールと、
前記第2の制御命令に基づいて、前記ターゲットメモリページの前記ターゲット位置から情報を読み取るための読み取りモジュールと、
読み取った情報に基づいて、前記ターゲットメモリページの前記ターゲット位置に対応する第2のコードを生成するための第2の生成モジュールと、
前記第1のコードと前記第2のコードとが異なる場合、前記ターゲットメモリページに故障が発生したと決定するための比較決定モジュールと、をさらに含む、
ことを特徴とする付記8に記載のメモリ故障処理装置。
(付記11)
前記第1の取得モジュールは、具体的には、
予め設定されたアルゴリズムに基づいて前記第1のコードと前記第2のコードとを解析し、解析された前記第1のコードと前記第2のコードとの差分コードを取得し、
前記差分コードに基づいて、前記ターゲットメモリページの前記ターゲット位置に対応するエラービットを決定し、
前記エラービットに基づいてエラーの総数及び前記エラービット同士の間の位置特徴を取得するために用いられる、
ことを特徴とする付記10に記載のメモリ故障処理装置。
(付記12)
前記決定モジュールは、具体的には、
予め訓練された確率分析モデルを取得し、
前記故障パラメータを前記確率分析モデルに入力して処理し、前記ホストコンピュータの前記クラッシュ確率を取得するために用いられる、
ことを特徴とする付記8に記載のメモリ故障処理装置。
(付記13)
前記クラッシュ確率が前記第1の閾値より小さく、かつ、前記第2の閾値以上である場合、前記故障メモリをマーキングするための第1のマーキングモジュールと、
前記クラッシュ確率及び前記ホストコンピュータ上の前記すべての仮想マシンの数に基づいて、ターゲット仮想マシンを決定し、前記ターゲット仮想マシンをマイグレートするためのマイグレート決定モジュールであって、前記ターゲット仮想マシンの数が前記すべての仮想マシン数より少ないマイグレート決定モジュールと、をさらに含む、
ことを特徴とする付記8に記載のメモリ故障処理装置。
(付記14)
前記クラッシュ確率が前記第2の閾値より小さい場合、前記故障メモリをマーキングするための第2のマーキングモジュールをさらに含む、
ことを特徴とする付記8に記載のメモリ故障処理装置。
(付記15)
電子機器であって、
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサに通信可能に接続されるメモリと、を含み、
前記メモリには、前記少なくとも1つのプロセッサによって実行可能な命令が記憶され、前記命令は、前記少なくとも1つのプロセッサによって実行される場合、前記少なくとも1つのプロセッサが付記1〜7のいずれか一つに記載のメモリ故障処理方法を実行できる、
ことを特徴とする電子機器。
(付記16)
コンピュータ命令が記憶されている非一時的なコンピュータ読み取り可能な記憶媒体であって、前記コンピュータ命令は、前記コンピュータに付記1〜7のいずれか一つに記載のメモリ故障処理方法を実行させるために用いられる、
ことを特徴とする非一時的なコンピュータ読み取り可能な記憶媒体。
(付記17)
コンピュータ上で動作しているときに、付記1〜7のいずれか一つに記載のメモリ故障処理方法を前記コンピュータに実行させる、
ことを特徴とするコンピュータプログラム。

Claims (17)

  1. メモリ故障処理方法であって、
    ホストコンピュータのメモリに故障が発生したことを検出すると、故障メモリの故障パラメータを取得するステップと、
    前記故障パラメータに基づいて前記ホストコンピュータのクラッシュ確率を決定するステップと、
    前記クラッシュ確率が予め設定された第1の閾値以上である場合、前記ホストコンピュータ上のすべての仮想マシンをターゲットホストコンピュータにマイグレートするステップであって、前記ターゲットホストコンピュータの前記クラッシュ確率が、予め設定された第2の閾値より小さく、前記第2の閾値が前記第1の閾値より小さいステップと、を含む、
    メモリ故障処理方法。
  2. 前記故障メモリの前記故障パラメータを取得するステップの前に、
    前記故障メモリで仮想マシンのプロセスが実行されている場合、前記仮想マシンのプロセスを終了するステップをさらに含む、
    ことを特徴とする請求項1に記載のメモリ故障処理方法。
  3. カーネルシステムによって送信された第1の制御命令を取得するステップと、
    前記第1の制御命令に基づいて、前記ホストコンピュータのターゲットメモリページのターゲット位置に情報を書き込むステップと、
    書き込まれた情報に基づいて、前記ターゲットメモリページの前記ターゲット位置に対応する第1のコードを生成するステップと
    前記カーネルシステムによって送信された第2の制御命令を取得するステップと、
    前記第2の制御命令に基づいて、前記ターゲットメモリページの前記ターゲット位置から情報を読み取るステップと、
    読み取った情報に基づいて、前記ターゲットメモリページの前記ターゲット位置に対応する第2のコードを生成するステップと、
    前記第1のコードと前記第2のコードとが異なる場合、前記ターゲットメモリページに故障が発生したと決定するステップと、をさらに含む、
    ことを特徴とする請求項1に記載のメモリ故障処理方法。
  4. 前記故障メモリの前記故障パラメータを取得するステップは、
    予め設定されたアルゴリズムに基づいて前記第1のコードと前記第2のコードとを解析し、解析された前記第1のコードと前記第2のコードとの差分コードを取得するステップと、
    前記差分コードに基づいて、前記ターゲットメモリページの前記ターゲット位置に対応するエラービットを決定するステップと、
    前記エラービットに基づいてエラーの総数及び前記エラービット同士の間の位置特徴を取得するステップと、を含む、
    ことを特徴とする請求項3に記載のメモリ故障処理方法。
  5. 前記故障パラメータに基づいて前記ホストコンピュータの前記クラッシュ確率を決定するステップは、
    予め訓練された確率分析モデルを取得するステップと、
    前記故障パラメータを前記確率分析モデルに入力して処理し、前記ホストコンピュータの前記クラッシュ確率を取得するステップと、を含む、
    ことを特徴とする請求項1に記載のメモリ故障処理方法。
  6. 前記故障パラメータに基づいて前記ホストコンピュータの前記クラッシュ確率を決定するステップの後、
    前記クラッシュ確率が前記第1の閾値より小さく、かつ、前記第2の閾値以上である場合、前記故障メモリをマーキングするステップと、
    前記クラッシュ確率及び前記ホストコンピュータ上の前記すべての仮想マシンの数に基づいて、ターゲット仮想マシンを決定し、前記ターゲット仮想マシンをマイグレートするステップであって、前記ターゲット仮想マシンの数が前記すべての仮想マシン数より少ないステップと、をさらに含む、
    ことを特徴とする請求項1に記載のメモリ故障処理方法。
  7. 前記故障パラメータに基づいて前記ホストコンピュータの前記クラッシュ確率を決定するステップの後、
    前記クラッシュ確率が前記第2の閾値より小さい場合、前記故障メモリをマーキングするステップをさらに含む、
    ことを特徴とする請求項1に記載のメモリ故障処理方法。
  8. メモリ故障処理装置であって、
    ホストコンピュータのメモリに故障が発生したことを検出すると、故障メモリの故障パラメータを取得するための第1の取得モジュールと、
    前記故障パラメータに基づいて前記ホストコンピュータのクラッシュ確率を決定するための決定モジュールと、
    前記クラッシュ確率が予め設定された第1の閾値以上である場合、前記ホストコンピュータ上のすべての仮想マシンをターゲットホストコンピュータにマイグレートするための処理モジュールであって、前記ターゲットホストコンピュータの前記クラッシュ確率が、予め設定された第2の閾値より小さく、前記第2の閾値が前記第1の閾値より小さい処理モジュールと、を含む、
    メモリ故障処理装置。
  9. 前記故障メモリで仮想マシンのプロセスが実行されている場合、前記仮想マシンのプロセスを終了するための終了モジュールをさらに含む、
    ことを特徴とする請求項8に記載のメモリ故障処理装置。
  10. カーネルシステムによって送信された第1の制御命令を取得するための第2の取得モジュールと、
    前記第1の制御命令に基づいて、前記ホストコンピュータのターゲットメモリページのターゲット位置に情報を書き込むための書き込みモジュールと、
    書き込まれた情報に基づいて、前記ターゲットメモリページの前記ターゲット位置に対応する第1のコードを生成するための第1の生成モジュールと、
    前記カーネルシステムによって送信された第2の制御命令を取得するための第3の取得モジュールと、
    前記第2の制御命令に基づいて、前記ターゲットメモリページの前記ターゲット位置から情報を読み取るための読み取りモジュールと、
    読み取った情報に基づいて、前記ターゲットメモリページの前記ターゲット位置に対応する第2のコードを生成するための第2の生成モジュールと、
    前記第1のコードと前記第2のコードとが異なる場合、前記ターゲットメモリページに故障が発生したと決定するための比較決定モジュールと、をさらに含む、
    ことを特徴とする請求項8に記載のメモリ故障処理装置。
  11. 前記第1の取得モジュールは、具体的には、
    予め設定されたアルゴリズムに基づいて前記第1のコードと前記第2のコードとを解析し、解析された前記第1のコードと前記第2のコードとの差分コードを取得し、
    前記差分コードに基づいて、前記ターゲットメモリページの前記ターゲット位置に対応するエラービットを決定し、
    前記エラービットに基づいてエラーの総数及び前記エラービット同士の間の位置特徴を取得するために用いられる、
    ことを特徴とする請求項10に記載のメモリ故障処理装置。
  12. 前記決定モジュールは、具体的には、
    予め訓練された確率分析モデルを取得し、
    前記故障パラメータを前記確率分析モデルに入力して処理し、前記ホストコンピュータの前記クラッシュ確率を取得するために用いられる、
    ことを特徴とする請求項8に記載のメモリ故障処理装置。
  13. 前記クラッシュ確率が前記第1の閾値より小さく、かつ、前記第2の閾値以上である場合、前記故障メモリをマーキングするための第1のマーキングモジュールと、
    前記クラッシュ確率及び前記ホストコンピュータ上の前記すべての仮想マシンの数に基づいて、ターゲット仮想マシンを決定し、前記ターゲット仮想マシンをマイグレートするためのマイグレート決定モジュールであって、前記ターゲット仮想マシンの数が前記すべての仮想マシン数より少ないマイグレート決定モジュールと、をさらに含む、
    ことを特徴とする請求項8に記載のメモリ故障処理装置。
  14. 前記クラッシュ確率が前記第2の閾値より小さい場合、前記故障メモリをマーキングするための第2のマーキングモジュールをさらに含む、
    ことを特徴とする請求項8に記載のメモリ故障処理装置。
  15. 電子機器であって、
    少なくとも1つのプロセッサと、
    前記少なくとも1つのプロセッサに通信可能に接続されるメモリと、を含み、
    前記メモリには、前記少なくとも1つのプロセッサによって実行可能な命令が記憶され、前記命令は、前記少なくとも1つのプロセッサによって実行される場合、前記少なくとも1つのプロセッサが請求項1〜7のいずれか1項に記載のメモリ故障処理方法を実行できる、
    ことを特徴とする電子機器。
  16. コンピュータ命令が記憶されている非一時的なコンピュータ読み取り可能な記憶媒体であって、前記コンピュータ命令は、前記コンピュータに請求項1〜7のいずれか1項に記載のメモリ故障処理方法を実行させるために用いられる、
    ことを特徴とする非一時的なコンピュータ読み取り可能な記憶媒体。
  17. コンピュータ上で動作しているときに、請求項1〜7のいずれか1項に記載のメモリ故障処理方法を前記コンピュータに実行させる、
    ことを特徴とするコンピュータプログラム。
JP2021064522A 2020-05-29 2021-04-06 メモリ故障処理の方法、装置、電子機器及び記憶媒体 Active JP7168833B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010477094.7 2020-05-29
CN202010477094.7A CN111708653B (zh) 2020-05-29 2020-05-29 内存故障处理方法、装置、电子设备和存储介质

Publications (2)

Publication Number Publication Date
JP2021108174A true JP2021108174A (ja) 2021-07-29
JP7168833B2 JP7168833B2 (ja) 2022-11-10

Family

ID=72538390

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021064522A Active JP7168833B2 (ja) 2020-05-29 2021-04-06 メモリ故障処理の方法、装置、電子機器及び記憶媒体

Country Status (5)

Country Link
US (1) US12093712B2 (ja)
EP (1) EP3859528A3 (ja)
JP (1) JP7168833B2 (ja)
KR (1) KR102488882B1 (ja)
CN (1) CN111708653B (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113076175B (zh) * 2021-03-26 2022-09-30 北京汇钧科技有限公司 用于虚拟机的内存共享方法及装置
CN114780270A (zh) * 2022-03-18 2022-07-22 阿里巴巴(中国)有限公司 内存故障处理方法和装置、电子设备及计算机可读存储介质
US12117895B2 (en) * 2022-03-31 2024-10-15 Google Llc Memory error recovery using write instruction signaling
CN114860432B (zh) * 2022-04-19 2025-03-18 阿里巴巴(中国)有限公司 一种内存故障的信息确定方法及装置
CN115394344B (zh) * 2022-07-22 2025-12-16 超聚变数字技术有限公司 一种确定内存故障修复方式的方法、装置及存储介质
CN115168173B (zh) * 2022-07-25 2025-10-03 阿里巴巴(中国)有限公司 故障预测模型训练方法、设备故障确定方法、装置及设备
CN115617411B (zh) * 2022-12-20 2023-03-14 苏州浪潮智能科技有限公司 电子设备数据处理方法、装置、电子设备和存储介质
CN116225755A (zh) * 2022-12-29 2023-06-06 天翼云科技有限公司 云计算环境的容器处理方法、装置、电子设备及可读介质
US12386711B2 (en) * 2024-01-11 2025-08-12 International Business Machines Corporation Preserving changes when reverting back to a snapshot
CN118132350B (zh) * 2024-04-29 2024-08-06 苏州元脑智能科技有限公司 Cxl内存容错方法、服务器系统、存储介质和电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070074067A1 (en) * 2005-09-29 2007-03-29 Rothman Michael A Maintaining memory reliability
JP2012118841A (ja) * 2010-12-02 2012-06-21 Hitachi Ltd 仮想マシン管理装置、移行先決定方法および移行先決定プログラム
WO2014024279A1 (ja) * 2012-08-08 2014-02-13 富士通株式会社 メモリ障害リカバリ装置、方法、及びプログラム

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7321990B2 (en) 2003-12-30 2008-01-22 Intel Corporation System software to self-migrate from a faulty memory location to a safe memory location
US8112758B2 (en) * 2008-01-08 2012-02-07 International Business Machines Corporation Methods and apparatus for resource allocation in partial fault tolerant applications
US9069730B2 (en) * 2009-06-29 2015-06-30 Hewlett-Packard Development Company, L. P. Coordinated reliability management of virtual machines in a virtualized system
US8601310B2 (en) * 2010-08-26 2013-12-03 Cisco Technology, Inc. Partial memory mirroring and error containment
US9535738B2 (en) * 2015-04-03 2017-01-03 International Business Machines Corporation Migrating virtual machines based on relative priority of virtual machine in the context of a target hypervisor environment
JP2017049772A (ja) * 2015-09-01 2017-03-09 富士通株式会社 移動制御プログラム、移動制御装置及び移動制御方法
CN106547607B (zh) * 2015-09-17 2020-02-11 中国移动通信集团公司 一种虚拟机动态迁移方法和装置
KR101867487B1 (ko) 2016-12-23 2018-07-18 경희대학교 산학협력단 클라우드 환경에서 퍼지기반의 마이그레이션 시스템 및 방법
CN106681797B (zh) * 2016-12-28 2019-11-29 深圳先进技术研究院 一种虚拟机应用迁移方法、装置及一种服务器
US20180329646A1 (en) * 2017-05-12 2018-11-15 International Business Machines Corporation Distributed storage system virtual and storage data migration
US10375169B1 (en) * 2017-05-24 2019-08-06 United States Of America As Represented By The Secretary Of The Navy System and method for automatically triggering the live migration of cloud services and automatically performing the triggered migration
US10860367B2 (en) * 2018-03-14 2020-12-08 Microsoft Technology Licensing, Llc Opportunistic virtual machine migration
US10769007B2 (en) * 2018-06-08 2020-09-08 Microsoft Technology Licensing, Llc Computing node failure and health prediction for cloud-based data center
US10656990B2 (en) * 2018-06-13 2020-05-19 Nutanix, Inc. Dynamically adjusting reserve portion and allocation portions of disaster recovery site in a virtual computing system
US12216552B2 (en) * 2018-06-29 2025-02-04 Microsoft Technology Licensing, Llc Multi-phase cloud service node error prediction based on minimization function with cost ratio and false positive detection
US10776225B2 (en) * 2018-06-29 2020-09-15 Hewlett Packard Enterprise Development Lp Proactive cluster compute node migration at next checkpoint of cluster cluster upon predicted node failure
CN110399253A (zh) * 2019-07-25 2019-11-01 北京百度网讯科技有限公司 宕机处理方法和装置
US11093358B2 (en) * 2019-10-14 2021-08-17 International Business Machines Corporation Methods and systems for proactive management of node failure in distributed computing systems

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070074067A1 (en) * 2005-09-29 2007-03-29 Rothman Michael A Maintaining memory reliability
JP2012118841A (ja) * 2010-12-02 2012-06-21 Hitachi Ltd 仮想マシン管理装置、移行先決定方法および移行先決定プログラム
WO2014024279A1 (ja) * 2012-08-08 2014-02-13 富士通株式会社 メモリ障害リカバリ装置、方法、及びプログラム

Also Published As

Publication number Publication date
CN111708653A (zh) 2020-09-25
EP3859528A3 (en) 2022-01-19
US20210208923A1 (en) 2021-07-08
JP7168833B2 (ja) 2022-11-10
CN111708653B (zh) 2023-08-08
KR102488882B1 (ko) 2023-01-17
US12093712B2 (en) 2024-09-17
KR20210044194A (ko) 2021-04-22
EP3859528A2 (en) 2021-08-04

Similar Documents

Publication Publication Date Title
JP2021108174A (ja) メモリ故障処理の方法、装置、電子機器及び記憶媒体
JP7209034B2 (ja) エッジコンピューティングテスト方法、装置、機器及び読み取り可能な記憶媒体
US10409712B2 (en) Device based visual test automation
EP3916560A1 (en) Fault injection method and apparatus, electronic device and storage medium to test microservices in the cloud
US9189308B2 (en) Predicting, diagnosing, and recovering from application failures based on resource access patterns
US10089169B2 (en) Identifying solutions to application execution problems in distributed computing environments
CN111984476A (zh) 测试方法和装置
WO2016206113A1 (en) Technologies for device independent automated application testing
CN111459816A (zh) 故障注入测试方法、装置、系统及存储介质
CN112214416B (zh) 调试小程序的方法、装置、电子设备和存储介质
CN110737560B (zh) 一种服务状态检测方法、装置、电子设备和介质
CN112540914A (zh) 单元测试的执行方法、执行装置、服务器和存储介质
JP7485267B2 (ja) 異常スタック処理方法、システム、電子機器、記憶媒体、及びコンピュータプログラム
CN116933865A (zh) 自然语言训练模型训练方法、装置、计算机设备及介质
CN115185675A (zh) 服务器集群的部署方法、系统、计算设备及可读存储介质
JP2021144674A (ja) 音声処理チップの処理方法、装置、電子機器、コンピュータ可読記憶媒体及びコンピュータプログラム
CN111340976A (zh) 调试车辆模块的方法、装置、电子设备以及计算机可读存储介质
US12174705B2 (en) Intelligent restart or failover of a container
US11892920B2 (en) Method, electronic device, and program product for failure handling
KR102868539B1 (ko) 샘플링 대상 결정 방법, 장치, 전자 설비 및 컴퓨터 판독 가능 저장 매체
US20230025081A1 (en) Model training method, failure determining method, electronic device, and program product
CN113641929A (zh) 页面渲染的方法、装置、电子设备和计算机可读存储介质
CN116339642B (zh) 板载raid的创建方法、装置、计算机设备及存储介质
CN111695199B (zh) 自动驾驶测试方法、装置、设备及存储介质
CN119105923A (zh) 注错测试方法、装置、设备及介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210406

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20210408

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220328

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220419

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220719

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220927

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220930

R150 Certificate of patent or registration of utility model

Ref document number: 7168833

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250