(57)【要約】      （修正有）【課題】仮想マシンのデバイスのＩ／Ｏ性能を向上し、更にシステム全体のＩ／Ｏ性能を向上する要求処理方法及び装置を提供する。【解決手段】仮想マシンの起動に応答して、仮想マシンのデバイス毎に、仮想マシンのデバイスに対応する一つの処理スレッドにバインディングされたデバイスの作業キューの数を示す作業キュー数情報を取得し、仮想マシンのデバイス毎の作業キュー数情報に基づいて、仮想マシンのデバイス毎に対応する処理スレッドをそれぞれ構築する。仮想マシンのデバイス毎に対応する処理スレッドは、処理スレッドにバインディングされたデバイスの作業キューにおける仮想マシンのデバイスに対するアクセス要求を処理するためのものである。【選択図】図２
2020053013.tif 000002
【特許請求の範囲】
【請求項１】
要求処理方法であって、
仮想マシンの起動に応答して、仮想マシンのデバイス毎に、仮想マシンのデバイスに対応する一つの処理スレッドにバインディングされたデバイスの作業キューの数を示す作業キュー数情報を取得することであって、前記数は一つ又は複数である、ことと、
仮想マシンのデバイス毎の作業キュー数情報に基づいて、前記仮想マシンのデバイス毎に対応する処理スレッドをそれぞれ構築することであって、前記仮想マシンのデバイス毎に対応する処理スレッドは、前記処理スレッドにバインディングされたデバイスの作業キューにおける仮想マシンのデバイスに対するアクセス要求を処理するためのものである、ことと、
を含む方法。
【請求項２】
仮想マシンの作業キュー数情報に示される、仮想マシンのデバイスに対応する一つの処理スレッドにバインディングされたデバイスの作業キューの数は、前記デバイスのデバイスタイプに対応する所定数である、請求項１に記載の方法。
【請求項３】
前記方法は、
デバイスタイプに対応する所定数を確定するための候補数のそれぞれに対して、候補数に基いて、前記デバイスタイプのデバイスに対応する処理スレッドを構築し、所定のテスト条件での前記デバイスのプロセッサ使用率を取得し、取得されたプロセッサ使用率を候補数に対応するプロセッサ使用率とすることであって、構築された処理スレッドは、所定のテスト条件において前記デバイスの作業キューにおける前記デバイスに対するアクセス要求を処理するためのものである、ことと、
対応するプロセッサ使用率が最も大きい候補数を、前記デバイスタイプに対応する所定数とすることと、を更に含む請求項２に記載の方法。
【請求項４】
前記方法は、
ユーザの配置操作に基づいて生成された配置指令を受信することであって、前記配置指令は、デバイスタイプ標識と配置数とを含む、ことと、
前記配置数を、前記デバイスタイプ標識を有するデバイスタイプに対応する所定数とすることと、を更に含む請求項３に記載の方法。
【請求項５】
要求処理装置であって、
仮想マシンの起動に応答して、仮想マシンのデバイス毎に、仮想マシンのデバイスに対応する一つの処理スレッドにバインディングされたデバイスの作業キューの数を示す作業キュー数情報を取得するように配置される取得ユニットであって、前記数は一つ又は複数である、取得ユニットと、
仮想マシンのデバイス毎の作業キュー数情報に基づいて、前記仮想マシンのデバイス毎に対応する処理スレッドをそれぞれ構築するように配置される構築ユニットであって、前記仮想マシンのデバイス毎に対応する処理スレッドは、前記処理スレッドにバインディングされたデバイスの作業キューにおける仮想マシンのデバイスに対するアクセス要求を処理するためのものである、構築ユニットと、を備える装置。
【請求項６】
仮想マシンの作業キュー数情報に示される、仮想マシンのデバイスに対応する一つの処理スレッドにバインディングされたデバイスの作業キューの数は、前記デバイスのデバイスタイプに対応する所定数である、請求項５に記載の装置。
【請求項７】
前記装置は、
デバイスタイプに対応する所定数を確定するための候補数のそれぞれに対して、候補数に基いて、前記デバイスタイプのデバイスに対応する処理スレッドを構築し、所定のテスト条件での前記デバイスのプロセッサ使用率を取得し、取得されたプロセッサ使用率を候補数に対応するプロセッサ使用率とし、対応するプロセッサ使用率が最も大きい候補数を、前記デバイスタイプに対応する所定数とするように配置される所定数確定ユニットであって、構築された処理スレッドは、所定のテスト条件において前記デバイスの作業キューにおける前記デバイスに対するアクセス要求を処理するためのものである、所定数確定ユニットを更に備える請求項６に記載の装置。
【請求項８】
前記装置は、
ユーザの配置操作に基づいて生成された配置指令を受信し、前記配置数を、前記デバイスタイプ標識を有するデバイスタイプに対応する所定数とするように配置される配置ユニットであって、前記配置指令は、デバイスタイプ標識と配置数とを含む、配置ユニットを更に備える請求項７に記載の装置。
【請求項９】
一つ又は複数のプロセッサと、
一つ又は複数のプログラムを記憶するためのメモリと、を備え、
前記一つ又は複数のプログラムが前記一つ又は複数のプロセッサにより実行されると、前記一つ又は複数のプロセッサに請求項１〜４の何れか一つに記載の方法を実現させることを特徴とする電子デバイス。
【請求項１０】
コンピュータプログラムが記憶されており、当該プログラムがプロセッサにより実行されると、請求項１〜４の何れか一つに記載の方法を実現することを特徴とするコンピュータ読取可能な媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、コンピュータ分野に関し、具体的に仮想マシン分野に関し、特に要求処理方法及び装置に関する。
【背景技術】
【０００２】
クラウド演算環境において、マルチ作業キューを有するＶｉｒｔｉｏデバイスがよく使われている。マルチ作業キューを有するＶｉｒｔｉｏデバイスのＩ／Ｏ性能を如何に向上するかは、いままでクラウド演算分野における研究の中心である。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
本願の実施例は要求処理方法及び装置を提供する。
【課題を解決するための手段】
【０００４】
第一の局面として、本願の実施形態は要求処理方法を提供する。当該方法は、仮想マシンの起動に応答して、仮想マシンのデバイス毎に、仮想マシンのデバイスに対応する一つの処理スレッドにバインディングされたデバイスの作業キューの数を示す作業キュー数情報を取得することであって、前記数は一つ又は複数である、ことと、仮想マシンのデバイス毎の作業キュー数情報に基づいて、前記仮想マシンのデバイス毎に対応する処理スレッドをそれぞれ構築することであって、前記仮想マシンのデバイス毎に対応する処理スレッドは、前記処理スレッドにバインディングされたデバイスの作業キューにおける仮想マシンのデバイスに対するアクセス要求を処理するためのものである、ことと、を含む。
【０００５】
第二の局面として、本願の実施形態は要求処理装置を提供する。当該装置は、仮想マシンの起動に応答して、仮想マシンのデバイス毎に、仮想マシンのデバイスに対応する一つの処理スレッドにバインディングされたデバイスの作業キューの数を示す作業キュー数情報を取得するように配置される取得ユニットであって、前記数は一つ又は複数である、取得ユニットと、仮想マシンのデバイス毎の作業キュー数情報に基づいて、前記仮想マシンのデバイス毎に対応する処理スレッドをそれぞれ構築するように配置される構築ユニットであって、前記仮想マシンのデバイス毎に対応する処理スレッドは、前記処理スレッドにバインディングされたデバイスの作業キューにおける仮想マシンのデバイスに対するアクセス要求を処理するためのものである、構築ユニットと、を備える。
【０００６】
本願の実施形態により提供された要求処理方法及び装置は、仮想マシンの起動に応答して、仮想マシンのデバイス毎に、仮想マシンのデバイスに対応する一つの処理スレッドにバインディングされたデバイスの作業キューの数を示す作業キュー数情報を取得することであって、前記数は一つ又は複数である、ことと、仮想マシンのデバイス毎の作業キュー数情報に基づいて、前記仮想マシンのデバイス毎に対応する処理スレッドをそれぞれ構築することであって、前記仮想マシンのデバイス毎に対応する処理スレッドは、前記処理スレッドにバインディングされたデバイスの作業キューにおける仮想マシンのデバイスに対するアクセス要求を処理するためのものである、こととを実現する。これにより、仮想マシンの異なるデバイスに対して、デバイスに対応するＩ／Ｏスレッドにバインディングされた処理スレッドの数に対する調整が実現されるため、仮想マシンのデバイスのＩ／Ｏ性能を向上し、更にシステム全体のＩ／Ｏ性能を向上することができる。
【図面の簡単な説明】
【０００７】
以下の図面を参照してなされた制限的でない実施形態に対する詳細的な説明により、本発明の他の特徴、目的及び利点はより明らかになる。
【図１】本願の実施例を適用可能な例示的なシステムアーキテクチャを示す。
【図２】本願の要求処理方法による実施例のフローチャートである。
【図３】仮想マシンのデバイスに対応するＩ／Ｏスレッドと作業キューとのバインディング関係の効果模式図を示す。
【図４】本願の要求処理装置による実施例の構成模式図を示す。
【図５】本願の実施形態を適用可能な電子デバイスのコンピュータシステムの構成模式図を示す。
【発明を実施するための形態】
【０００８】
以下、図面及び実施形態を参照しながら本願をより詳細に説明する。理解すべきことは、ここで説明する具体的な実施形態は、関連の発明を説明するものに過ぎず、当該発明を限定するものではない。ただし、説明の便宜上、図面には発明に関連する部分のみが示されている。
【０００９】
説明すべきなのは、衝突しない場合、本願の実施例及び実施例における特徴を相互に組み合せてもよい。以下、図面及び実施例を参照しながら本願を詳細に説明する。
【００１０】
図１は、本願の実施例を適用可能な例示的なシステムアーキテクチャを示す。
【００１１】
仮想マシンは複数のデバイスを備えることができる。仮想マシンのデバイスは、仮想マシンのＬＡＮカード、磁気ディスクのようなデバイスであっても良い。仮想マシンのデバイス毎に作業キューを有する。仮想マシンのデバイス毎の作業キューは複数であっても良い。仮想マシンのデバイスに対するアクセス要求は、仮想マシンのデバイスに対するＩ／Ｏ要求と呼ばれても良い。仮想マシンのデバイスに対するＩ／Ｏ要求が生成されるたびに、仮想マシンのデバイスに対するＩ／Ｏ要求がデバイスの作業キューに追加される。物理マシンにおけるＶＭＭ（Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ  Ｍｏｎｉｔｏｒ、仮想マシンモニター）により、仮想マシンのデバイスに対するＩ／Ｏ要求を処理するための処理スレッドを構築することができる。処理スレッドはＩ／Ｏスレッドとも呼ばれる。仮想マシンのデバイスに対するＩ／Ｏ要求の処理中に、物理マシンと仮想マシンとの間に伝送されるデータは、Ｖｉｒｔｉｏフレームワークにより完成可能である。仮想マシンのデバイスは何れもＶｉｒｔｉｏデバイスと呼ばれても良い。
【００１２】
図２は、本願の要求処理方法による実施例のフローを示す。当該方法は以下のステップを含む。
【００１３】
ステップ２０１において、仮想マシンの起動に応答して、仮想マシンのデバイス毎に作業キュー数情報を取得する。
【００１４】
本実施例において、仮想マシンが起動されると、仮想マシンの起動に応答して、仮想マシンのデバイス毎に作業キュー数情報をそれぞれ取得することができる。仮想マシンのデバイス毎の作業キューは複数であっても良い。仮想マシンのデバイス毎に対応する処理スレッド、即ちＩ／Ｏスレッドは、当該デバイスに対するアクセス要求、即ち当該デバイスに対するＩ／Ｏ要求を処理する。仮想マシンの一つのデバイスの作業キュー数情報は、当該デバイスに対応する一つの処理スレッドに対応する仮想マシンのデバイスの作業キューの数を示す。当該デバイスに対応する一つの処理スレッドに対応する仮想マシンのデバイスの作業キューの数は、一つであっても良く、複数であっても良い。言い換えれば、仮想マシンの一つのデバイスの作業キュー数情報は、当該デバイスに対応する一つの処理スレッドが当該デバイスのデバイス対象のうち当該デバイスに対するＩ／Ｏ要求を幾つか処理するかを示す。
【００１５】
ステップ２０２において、仮想マシンのデバイス毎の作業キュー数情報に基づいて、仮想マシンのデバイス毎に対応する処理スレッドをそれぞれ構築する。
【００１６】
本実施例において、仮想マシンのデバイス毎の作業キュー数情報に基づいて、仮想マシンのデバイス毎に対応する処理スレッドを構築することができる。仮想マシンのデバイス毎の作業キュー数情報に基づいて、ＶＭＭにより仮想マシンのデバイス毎に対応するＩ／Ｏスレッドをそれぞれ構築することができる。
【００１７】
仮想マシンのデバイス毎に対して、当該デバイスの作業キュー数情報により、当該デバイスに対応する一つのＩ／Ｏスレッドにバインディングされたデバイスの作業キューの数が一つであると示された場合に、当該デバイスの作業キューの数と同じの当該デバイスに対応するＩ／Ｏスレッドを構築することができる。当該デバイスに対応するＩ／Ｏスレッドのそれぞれは、処理スレッドに対応する作業キューにおける当該デバイスに対するＩ／Ｏ要求を処理する。当該デバイスの作業キュー数情報により、デバイスに対応する一つの処理スレッドに対応する仮想マシンのデバイスの作業キューの数がＮ（Ｎ＞１）個であると示された場合に、複数のＩ／Ｏスレッドを構築する。Ｉ／Ｏスレッド毎にバインディングされる当該デバイスの作業対象の数はＮ個であっても良い。
【００１８】
本実施例において、仮想マシンのデバイス毎に対応するＩ／Ｏスレッドがそれぞれ構築された後に、デバイス毎に対応するＩ／Ｏスレッドは、作業キューのそれぞれにおけるＩ／Ｏ要求を処理することができる。一つのデバイスに対応するＩ／Ｏスレッドは、作業キューにおけるＩ／Ｏ要求を処理する過程において、ポーリングで各作業キューにアクセスすることができる。ある作業キューがヌルである場合、或いはＩ／Ｏスレッドに処理されるある作業キューにおけるＩ／Ｏ要求の数が負荷均等閾値よりも大きい場合に、次の作業キューにおけるＩ／Ｏ要求を処理する。
【００１９】
本実施例において、仮想マシンの異なるデバイスに対して、デバイスに対応する一つのＩ／Ｏスレッドにバインディングされた処理スレッドの数を調整し、システムのＩ／Ｏ性能を向上することができる。
【００２０】
本実施例の幾つかの選択可能な実現方式において、仮想マシンの一つのデバイスの作業キュー数情報における数は、当該デバイスのデバイスタイプに対応する所定数であっても良い。言い換えれば、一つのデバイスタイプは一つの所定数に対応する。デバイスタイプ毎に予め一つの数が対応する。例えば、ＬＡＮカードタイプに予め対応する数は１個である。仮想マシンの全てのＬＡＮカードタイプのデバイス、即ち全てのＬＡＮカードについて、ＬＡＮカード毎に対応する一つのＩ／Ｏスレッドに対応する仮想マシンのデバイスの作業キューの数は何れも１個である。ハードディスクタイプに予め対応する数はＮ個、Ｎ＞１である。一つの仮想マシンのハードディスクタイプ毎のデバイス、即ちハードディスクのそれぞれについて、対応する一つのＩ／Ｏスレッドにバインディングされたハードディスクの作業キューの数がＮ個であっても良い。例えば、あるデバイスが磁気ディスクであり、当該磁気ディスクの作業キューの数が９個、Ｎ＝３である場合に、当該磁気ディスクに対応する３個のＩ／Ｏスレッドを構築可能であり、当該磁気ディスク毎に対応するＩ／Ｏスレッドに当該磁気ディスクの３個の作業キューがそれぞれバインディングされる。
【００２１】
本実施例の幾つかの選択可能な実現方式において、一つのデバイスタイプに対応する所定数情報は、予めテストにより確定される。一つのデバイスタイプに対応する所定数が確定されると、当該デバイスタイプの一つのデバイスによりテストすることができる。候補数毎について、テストするたびに候補数に基づいて、該当数の当該デバイスタイプのデバイスに対応するＩ／Ｏスレッドを構築する。同一の所定のテスト条件において各テストを行う。同一の所定のテスト条件は、同じ時間帯に処理しなければならない当該デバイスの作業キューにおけるＩ／Ｏ要求の数が同じであることであっても良い。候補数毎について、同一の所定のテスト条件におけるデバイスのプロセッサ使用率、即ちＣＰＵ使用率をそれぞれ確定して、候補数毎に対応するプロセッサ使用率を取得する。そして、対応するプロセッサ使用率が最も高い候補数を、当該デバイスタイプに対応する所定数としても良い。言い換えれば、同一のテスト環境において何れの所定数で構築された該当するスレッドにプロセッサ使用率が最も高くなるかを確定することに相当する。
【００２２】
例えば、一つのデバイスタイプに対応する所定数を確定した場合に、一つの当該デバイスタイプのデバイスによりテストを完成する。候補数には、１、２、３、４が含まれる。テスト毎に一つの候補数を選択する。テストするたびに、選択された候補数に基づいて、該当数の当該デバイスタイプのデバイスに対応するＩ／Ｏスレッドを構築する。選択された候補数が１である場合に、該当数の当該デバイスタイプのデバイスに対応するＩ／Ｏスレッドを構築し、Ｉ／Ｏスレッド毎に一つの当該デバイスの作業キューがバインディングされる。選択された候補数が２である場合に、該当数の当該デバイスタイプのデバイスに対応するＩ／Ｏスレッドを構築し、Ｉ／Ｏスレッド毎に二つの当該デバイスの作業キューがバインディングされる。選択された候補数が３である場合に、該当数の当該デバイスタイプのデバイスに対応するＩ／Ｏスレッドを構築し、Ｉ／Ｏスレッド毎に三つの当該デバイスの作業キューがバインディングされる。同一の所定のテスト条件において各テストを行う。同一の所定のテスト条件における、候補数毎に対応するプロセッサ使用率をそれぞれ確定する。同一のテスト条件において当該デバイスに対応する一つのＩ／Ｏスレッドにバインディングされた当該デバイスの作業キューの数が３である場合に、プロセッサ使用率が最も高いと確定したと仮定すると、当該デバイスタイプに対応する所定数が３である。
【００２３】
本実施例の幾つかの選択可能な実現方式において、一つのデバイスタイプに対応する所定数は、調整指令により調整可能である。配置指令は、ユーザの端末に生成可能である。例えば、ユーザはメンテナンスエンジニアとして、端末の管理画面に調整が必要の対応所定数のデバイスタイプのデバイスタイプ標識を入力し、調整された当該デバイスタイプに対応すべき所定数の配置数を指示することができる。当該デバイスタイプ標識、当該配置数を含む配置指令を生成可能である。そして、メンテナンスエンジニアの端末から送信される配置指令を受信することができる。サーバは、配置指令における当該デバイスタイプ標識、当該配置数に基いて、調整する対応所定数のデバイスタイプのデバイスタイプ標識を確定し、調整された当該デバイスタイプに対応すべき所定数を指示し、当該配置数を当該デバイスタイプ標識を持つデバイスタイプに対応する所定数とすることができる。
【００２４】
図３を参照する。図３は、仮想マシンのデバイスに対応するＩ／Ｏスレッドと作業キューとのバインディング関係の一つの効果模式図を示す。
【００２５】
仮想マシンのデバイスには、Ｖｉｒｔｉｏデバイス１、Ｖｉｒｔｉｏデバイス２が含まれる。Ｖｉｒｔｉｏデバイス１、Ｖｉｒｔｉｏデバイス２は何れも複数のデバイスを備える。デバイス毎に複数の作業キューが備えられる。Ｖｉｒｔｉｏデバイス１に対するＩ／Ｏ要求がＶｉｒｔｉｏデバイス１の作業キューに追加され、Ｖｉｒｔｉｏデバイス２に対するＩ／Ｏ要求がＶｉｒｔｉｏデバイス２の作業キューに追加される。ＶＭＭによりＶｉｒｔｉｏデバイス１、Ｖｉｒｔｉｏデバイス２の作業キューにおけるＩ／Ｏ要求を処理するためのＩ／Ｏスレッドをそれぞれ構築する。
【００２６】
Ｖｉｒｔｉｏデバイス１について、Ｖｉｒｔｉｏデバイス１に対応するＩ／Ｏスレッド毎にＶｉｒｔｉｏデバイス１の二つの作業キューがバインディングされる。即ち、Ｖｉｒｔｉｏデバイス１に対応する一つのＩ／Ｏスレッドは、Ｖｉｒｔｉｏデバイス１の二つの作業キューにおけるＶｉｒｔｉｏデバイス１に対するＩ／Ｏ要求を処理するためのものである。Ｖｉｒｔｉｏデバイス２について、Ｖｉｒｔｉｏデバイス２に対応するＩ／Ｏスレッド毎にＶｉｒｔｉｏデバイス２の一つの作業キューがバインディングされる。即ち、Ｖｉｒｔｉｏデバイス１に対応する一つのＩ／Ｏスレッドは、Ｖｉｒｔｉｏデバイス２の一つの作業キューにおけるＶｉｒｔｉｏデバイス２に対するＩ／Ｏ要求を処理するためのものである。
【００２７】
図４を参照する。前記各図に示された方法の実現として、本願は要求処理装置の一実施例を提供する。当該装置実施例は図２に示された方法実施例に対応する。
【００２８】
図４に示すように、本実施例の要求処理装置には、取得ユニット４０１と、構築ユニット４０２とが備えられる。なお、取得ユニット４０１は、仮想マシンの起動に応答して、仮想マシンのデバイス毎の作業キュー数情報を取得するように配置される。作業キュー数情報は、仮想マシンのデバイスに対応する一つの処理スレッドにバインディングされるデバイスの作業キューの数を示す。前記数は一つ又は複数である。構築ユニット４０２は、仮想マシンのデバイス毎の作業キュー数情報に基づいて、前記仮想マシンのデバイス毎に対応する処理スレッドをそれぞれ構築するように配置される。なお、仮想マシンのデバイスに対応する処理スレッドは、前記処理スレッドにバインディングされたデバイスの作業キューにおける仮想マシンに対するデバイスのアクセス要求を処理するためのものである。
【００２９】
本実施例の幾つかの選択可能な実現方式において、仮想マシンの作業キュー数情報に示された、仮想マシンのデバイスに対応する一つの処理スレッドにバインディングされたデバイスの作業キューの数は、前記デバイスのデバイスタイプに対応する所定数である。
【００３０】
本実施例の幾つかの選択可能な実現方式において、要求処理装置には、デバイスタイプに対応する所定数を確定するための候補数毎に対して、候補数に基いて、前記デバイスタイプのデバイスに対応する処理スレッドを構築し、所定のテスト条件における前記デバイスのプロセッサ使用率を取得し、取得されたプロセッサ使用率を候補数に対応するプロセッサ使用率とし、対応するプロセッサ使用率が最も大きい候補数を前記デバイスタイプに対応する所定数とするように配置される所定数確定ユニットが更に備えられる。なお、構築された処理スレッドは、所定のテスト条件における前記デバイスの作業キューにおける前記デバイスに対するアクセス要求を処理するためのものである。
【００３１】
本実施例の幾つかの選択可能な実現方式において、要求処理装置には、配置指令を受信し、前記配置数を、前記デバイスタイプ標識を持つデバイスタイプに対応する所定数とするように配置される配置ユニットが更に備えられる。前記配置指令には、デバイスタイプ標識と、配置数とが含まれる。配置指令は、ユーザの配置操作に応じて生成されるものである。
【００３２】
図５は、本願の実施例を実現可能な電子デバイスのコンピュータシステムの構成模式図を示す。
【００３３】
図５に示されたように、コンピュータシステムは、読み出し専用メモリ（ＲＯＭ）５０２に記憶されているプログラム又は記憶部５０８からランダムアクセスメモリ（ＲＡＭ）５０３にロードされたプログラムに基づいて様々な適当な動作および処理を実行することができる中央処理装置（ＣＰＵ）５０１を備える。ＲＡＭ５０３には、コンピュータシステムの操作に必要な様々なプログラムおよびデータがさらに記憶されている。ＣＰＵ５０１、ＲＯＭ５０２およびＲＡＭ  ５０３は、バス５０４を介して互いに接続されている。入力／出力（Ｉ／Ｏ）インターフェース５０５もバス５０４に接続されている。
【００３４】
入力部５０６、出力部５０７、ハードディスクなどを含む記憶部５０８、およびＬＡＮカード、モデムなどを含むネットワークインターフェースカードの通信部５０９は、Ｉ／Ｏインターフェース５０５に接続されている。通信部５０９は、例えばインターネットのようなネットワークを介して通信処理を実行する。ドライブ５１０も、必要に応じてＩ／Ｏインターフェース５０５に接続される。リムーバブルメディア５１１は、例えば、マグネチックディスク、光ディスク、光磁気ディスク、半導体メモリなどのようなものであり、必要に応じてドライブ５１０に取り付けられることにより、ドライブ５１０から読み出されたコンピュータプログラムが必要に応じて記憶部５０８にインストールされる。
【００３５】
特に，本発明の実施例に説明された過程はコンピュータプログラムに実現されても良い。例えば、本発明の実施例はコンピュータ読取可能な媒体にロードされるコンピュータプログラムを含むコンピュータプログラム製品を備える。当該コンピュータプログラムは、フローチャートに示される方法を実行するための指令を含む。当該コンピュータプログラムは、通信部５０９を介してネットワークからダウンロードしてインストールされ、及び／又はリムーバブルメディア５１１からインストールされても良い。当該コンピュータプログラムは、中央処理ユニット（ＣＰＵ）５０１により実行される場合に、本願の方法に限定される前記機能を実行する。
【００３６】
本願は更に電子デバイスを提供した。当該電子デバイスは、一つ又は複数のプロセッサと、一つ又は複数のプログラムを記憶するためのメモリと、を備えるように配置可能である。一つ又は複数のプログラムには、前記実施例に説明された操作を実行するための指令が含まれても良い。一つ又は複数のプログラムは、一つ又は複数のプロセッサにより実行されると、一つ又は複数のプロセッサに前記実施例に説明された操作を実行させる。
【００３７】
本願は更にコンピュータ読取可能な媒体を提供した。当該コンピュータ読取可能な媒体は、電子デバイスに含まれたものであっても良く、電子デバイスに実装されずに別途に存在するものであっても良い。前記コンピュータ読取可能な媒体には、一つ又は複数のプログラムがロードされる。一つ又は複数のプログラムが電子デバイスにより実行されると、電子デバイスに前記実施例に説明された操作を実行させる。
【００３８】
説明すべきなのは、本願の前記コンピュータ読取可能な媒体は、コンピュータ読取可能な信号媒体、コンピュータ読取可能な記憶媒体、或いは前記両者の任意の組合わせであっても良い。コンピュータ読取可能な記憶媒体は、例えば電気、磁気、光、電磁気、赤外線、半導体のシステム、装置又は部品、或いはこれらの任意の組み合わせであっても良いが、それらに限定されない。コンピュータ読取可能な記憶媒体についてのより具体的な例は、一つ又は複数の導線を含む電気的な接続、携帯可能なコンピュータ磁気ディスク、ハードディスク、ランダムアクセスメモリ（ＲＡＭ）、読取専用メモリ（ＲＯＭ）、消去可能なプログラミング読取専用メモリ（ＥＰＲＯＭ又はフラッシュ）、光ファイバ、携帯可能なコンパクト磁気ディスク読取専用メモリ（ＣＤ−ＲＯＭ）、光学記憶素子、磁気記憶素子、或いは前記の任意の適当の組み合わせを含むが、それらに限定されない。本願において、コンピュータ読取可能な記憶媒体は、プログラムを含むか記憶する任意の有形の媒体であっても良い。当該プログラムは、コマンド実行システム、装置又は部品により使用され、或いはそれらに組合わせて使用されても良い。本願において、コンピュータ読取可能な信号媒体は、ベースバンドに伝送され或いはキャリアの一部として伝送され、コンピュータ読取可能なプログラムコードがロードされるデータ信号を含んでも良い。このような伝送されるデータ信号は、各種の形式を採用しても良く、電磁気信号、光信号又は前記の任意の適当の組合わせを含むが、それらに限定されない。コンピュータ読取可能な信号媒体は、コンピュータ読取可能な記憶媒体以外の任意のコンピュータ読取可能な媒体であっても良い。当該コンピュータ読取可能な媒体は、コマンド実行システム、装置又は部品により使用され又はそれらと組合わせて使用されるプログラムを送信し、伝播し又は伝送することができる。コンピュータ読取可能な媒体に含まれるプログラムコードは、任意の適当の媒体で伝送されても良く、無線、電線、光ケーブル、ＲＦなど、或いは前記の任意の適当の組み合わせを含むが、それらに限定されない。
【００３９】
図面におけるフローチャート及びブロック図は、本願の各実施例によるシステム、方法及びコンピュータプログラム製品により実現可能なシステム構造、機能及び操作を示す。この点において、フローチャート又はブロック図における各ブロックは、一つのモジュール、プログラムセグメント、又はコードの一部を表すことができる。当該モジュール、プログラムセグメント、コードの一部には、一つ又は複数の所定のロジック機能を実現するための実行可能なコマンドが含まれる。注意すべきなのは、幾つかの置換としての実現において、ブロックに示される機能は図面に示される順序と異なって発生されても良い。例えば、二つの接続的に表示されるブロックは実際に基本的に併行に実行されても良く、場合によっては逆な順序で実行されても良く、関連の機能に従って決定される。注意すべきなのは、ブロック図及び／又はフローチャートにおける各ブロック、及びブロック図及び／又はフローチャートにおけるブロックの組合わせは、所定の機能又は操作を実行する専用のハードウェアによるシステムで実現されても良く、或いは専用のハードウェアとコンピュータコマンドの組合わせで実現されても良い。
【００４０】
以上の記載は、ただ本願の好適な実施例及び運用される技術原理に対する説明である。当業者であればわかるように、本願にかかる発明範囲は、前記技術特徴の特定の組み合わせからなる技術案に限定されず、前記の発明構想から逸脱されない場合に前記技術特徴又は均等の特徴による任意の組み合わせで形成される他の技術案も同時に含まれるべきである。例えば前記特徴と本願に開示された（それらに限定されない）類似の機能を具備する技術特徴が互いに置換されて得られる技術案は該当する。
【図１】
2020053013.tif 000003
【図２】
2020053013.tif 000004
【図３】
2020053013.tif 000005
【図４】
2020053013.tif 000006
【図５】
2020053013.tif 000007
【手続補正書】
【提出日】令和1年7月5日(2019.7.5)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
要求処理方法であって、
仮想マシンの起動に応答して、仮想マシンのデバイス毎に、仮想マシンのデバイスに対応する一つの処理スレッドにバインディングされたデバイスの作業キューの数を示す作業キュー数情報を取得することであって、前記数は一つ又は複数である、ことと、
仮想マシンのデバイス毎の作業キュー数情報に基づいて、前記仮想マシンのデバイス毎に対応する処理スレッドをそれぞれ構築することであって、前記仮想マシンのデバイス毎に対応する処理スレッドは、前記処理スレッドにバインディングされたデバイスの作業キューにおける仮想マシンのデバイスに対するアクセス要求を処理するためのものである、ことと、
を含む方法。
【請求項２】
仮想マシンの作業キュー数情報に示される、仮想マシンのデバイスに対応する一つの処理スレッドにバインディングされたデバイスの作業キューの数は、前記デバイスのデバイスタイプに対応する所定数である、請求項１に記載の方法。
【請求項３】
前記方法は、
デバイスタイプに対応する所定数を確定するための候補数のそれぞれに対して、候補数に基いて、前記デバイスタイプのデバイスに対応する処理スレッドを構築し、所定のテスト条件での前記デバイスのプロセッサ使用率を取得し、取得されたプロセッサ使用率を候補数に対応するプロセッサ使用率とすることであって、構築された処理スレッドは、所定のテスト条件において前記デバイスの作業キューにおける前記デバイスに対するアクセス要求を処理するためのものである、ことと、
対応するプロセッサ使用率が最も大きい候補数を、前記デバイスタイプに対応する所定数とすることと、を更に含む請求項２に記載の方法。
【請求項４】
前記方法は、
ユーザの配置操作に基づいて生成された配置指令を受信することであって、前記配置指令は、デバイスタイプ標識と配置数とを含む、ことと、
前記配置数を、前記デバイスタイプ標識を有するデバイスタイプに対応する所定数とすることと、を更に含む請求項３に記載の方法。
【請求項５】
要求処理装置であって、
仮想マシンの起動に応答して、仮想マシンのデバイス毎に、仮想マシンのデバイスに対応する一つの処理スレッドにバインディングされたデバイスの作業キューの数を示す作業キュー数情報を取得するように配置される取得ユニットであって、前記数は一つ又は複数である、取得ユニットと、
仮想マシンのデバイス毎の作業キュー数情報に基づいて、前記仮想マシンのデバイス毎に対応する処理スレッドをそれぞれ構築するように配置される構築ユニットであって、前記仮想マシンのデバイス毎に対応する処理スレッドは、前記処理スレッドにバインディングされたデバイスの作業キューにおける仮想マシンのデバイスに対するアクセス要求を処理するためのものである、構築ユニットと、を備える装置。
【請求項６】
仮想マシンの作業キュー数情報に示される、仮想マシンのデバイスに対応する一つの処理スレッドにバインディングされたデバイスの作業キューの数は、前記デバイスのデバイスタイプに対応する所定数である、請求項５に記載の装置。
【請求項７】
前記装置は、
デバイスタイプに対応する所定数を確定するための候補数のそれぞれに対して、候補数に基いて、前記デバイスタイプのデバイスに対応する処理スレッドを構築し、所定のテスト条件での前記デバイスのプロセッサ使用率を取得し、取得されたプロセッサ使用率を候補数に対応するプロセッサ使用率とし、対応するプロセッサ使用率が最も大きい候補数を、前記デバイスタイプに対応する所定数とするように配置される所定数確定ユニットであって、構築された処理スレッドは、所定のテスト条件において前記デバイスの作業キューにおける前記デバイスに対するアクセス要求を処理するためのものである、所定数確定ユニットを更に備える請求項６に記載の装置。
【請求項８】
前記装置は、
ユーザの配置操作に基づいて生成された配置指令を受信し、前記配置数を、前記デバイスタイプ標識を有するデバイスタイプに対応する所定数とするように配置される配置ユニットであって、前記配置指令は、デバイスタイプ標識と配置数とを含む、配置ユニットを更に備える請求項７に記載の装置。
【請求項９】
一つ又は複数のプロセッサと、
一つ又は複数のプログラムを記憶するためのメモリと、を備え、
前記一つ又は複数のプログラムが前記一つ又は複数のプロセッサにより実行されると、前記一つ又は複数のプロセッサに請求項１〜４の何れか一つに記載の方法を実現させることを特徴とする電子デバイス。
【請求項１０】
コンピュータプログラムが記憶されており、当該プログラムがプロセッサにより実行されると、請求項１〜４の何れか一つに記載の方法を実現することを特徴とするコンピュータ読取可能な媒体。
【請求項１１】
コンピュータプログラムであって、
前記コンピュータプログラムがプロセッサにより実行されると、請求項１ないし請求項４のいずれか一項に記載の方法を実現させるコンピュータプログラム。
【外国語明細書】
2020053013000001.pdf