一種輸入輸出指令處理的方法及裝置的制造方法
【技術領域】
[0001]本發明涉及計算機技術領域,具體涉及一種輸入輸出指令處理的方法及裝置。
【背景技術】
[0002]虛擬化技術就是在一臺物理機之上同時運行多個操作系統,這些操作系統彼此之間不能感知。從本質來說,虛擬化技術是通過空間的分割,時間的分時和模擬,將物理機上面的單一資源抽象成多個資源。
[0003]虛擬機是由虛擬化技術提供的獨立的計算機系統,每個虛擬機都擁有自己的虛擬硬件,例如:中央處理器(Central Processing Unit, CPU)、內存,輸入/輸出(Input/Output, 10)設備。使用虛擬化技術之后,一個物理機可以被虛擬為多個虛擬機。
[0004]因為物理資源只有一份,所以物理機面臨虛擬機之間對物理資源的搶奪和分配的問題。比如物理硬盤資源,多個虛擬機之間通過對物理硬盤空間的分割方式共享使用硬盤,但物理硬盤處理輸入輸出指令的能力有限,如果虛擬機之間搶占資源,在處理輸入輸出指令時,將出現資源分配不均勻的現象,這將導致一些用戶端的輸入輸出指令,長時間得不到處理。
【發明內容】
[0005]本發明實施例提供一種輸入輸出指令處理的方法,可以對不同虛擬機上的輸入輸出指令進行控制處理,從而使每臺虛擬機所占用的物理資源都按預先劃分的占用,避免了虛擬機之間搶占物理資源所帶來的用戶端資源分配不勻,某些輸入輸出指令長時間得不到處理的問題。
[0006]本發明第一方面提供一種輸入輸出指令處理的方法,包括:
[0007]獲取請求訪問虛擬機的輸入輸出指令所請求訪問的虛擬機的標識;
[0008]統計所述標識的虛擬機上單位時間運行的輸入輸出指令的容量;
[0009]根據所述容量與所述標識的虛擬機的預劃分容量的關系,處理所述請求訪問虛擬機的輸入輸出指令。
[0010]本發明第二方面提供一種輸入輸出指令處理的裝置,包括:
[0011]獲取單元,用于獲取請求訪問虛擬機的輸入輸出指令所請求訪問的虛擬機的標識;
[0012]統計單元,用于統計所述獲取單元獲取的所述標識的虛擬機上單位時間運行的輸入輸出指令的容量;
[0013]處理單元,用于根據所述統計單元統計的所述容量與所述標識的虛擬機的預劃分容量的關系,處理所述請求訪問虛擬機的輸入輸出指令。
[0014]本發明實施例采用獲取請求訪問虛擬機的輸入輸出指令所請求訪問的虛擬機的標識;統計所述標識的虛擬機上單位時間運行的輸入輸出指令的容量;根據所述容量與所述標識的虛擬機的預劃分容量的關系,處理所述請求訪問虛擬機的輸入輸出指令。與現有技術處理輸入輸出指令的過程比較,虛擬機之間搶占物理資源,會出現物理資源分配不均勻的問題,導致一些用戶端的輸入輸出指令,長時間得不到處理,本發明實施例提供的輸入輸出指令處理的方法,可以對不同虛擬機上的輸入輸出指令進行控制處理,從而使每臺虛擬機所占用的物理資源都按預先劃分的占用,避免了虛擬機之間搶占物理資源所帶來的用戶端資源分配不勻,某些輸入輸出指令長時間得不到處理。
【附圖說明】
[0015]為了更清楚地說明本發明實施例中的技術方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
[0016]圖1是本發明實施例中輸入輸出指令處理的方法的一實施例示意圖;
[0017]圖2是本發明實施例中輸入輸出指令處理的方法的另一實施例示意圖;
[0018]圖3是本發明實施例中輸入輸出指令處理的裝置的一實施例示意圖;
[0019]圖4是本發明實施例中輸入輸出指令處理的裝置的另一實施例示意圖。
【具體實施方式】
[0020]本發明實施例提供一種輸入輸出指令處理的方法,可以對不同虛擬機上的輸入輸出指令進行控制處理,從而使每臺虛擬機所占用的物理資源都按預先劃分的占用,避免了虛擬機之間搶占物理資源所帶來的用戶端的輸入輸出指令長時間得不到處理。以下分別進行詳細說明。
[0021]下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
[0022]參閱圖1,本發明實施例提供的輸入輸出指令處理的方法的一實施例包括:
[0023]101、獲取請求訪問虛擬機的輸入輸出指令所請求訪問的虛擬機的標識。
[0024]本發明實施例中,在一臺物理機上可以運行多個虛擬機,每個虛擬機負責一些用戶端的輸入輸出請求,用戶端需要請求數據時,向其對應的虛擬機發送輸入輸出指令,本發明實施例提供的輸入輸出指令處理的裝置獲取到請求訪問虛擬機的輸入輸出指令所請求訪問的虛擬機的標識。
[0025]102、統計所述標識的虛擬機上單位時間運行的輸入輸出指令的容量。
[0026]本發明實施例中對虛擬機處理輸入輸出指令的容量進行預先設置,可以設置為每秒執行的輸入輸出指令的數量或所占用的帶寬。例如:每臺虛擬機最多可以每秒處理50條輸入輸出指令,當然,本處的50條只是舉例說明,對于每秒處理輸入輸出指令數量的具體數值可以根據需求設置。而且,每臺虛擬機每秒執行的輸入輸出指令的數量或所占用的帶寬可以相同,也可以不同。還可以不對數量進行限定,而且,為每臺虛擬機預先設置的帶寬,例如:每秒3M帶寬,當然,本處的3M只是舉例說明,對于每秒處理輸入輸出指令所占用的帶寬可以根據需求設置。
[0027]統計所述標識的虛擬機上單位時間運行的輸入輸出指令的容量,可以是統計所述標識的虛擬機上單位時間運行的輸入輸出指令的數量,也可以是總計單位時間運行的輸入輸出指令所占用的帶寬量,如2.5M或3M。
[0028]還可以用比例進行設置,例如:當一臺物理機上運行4臺虛擬機時,可以設置每臺虛擬機處理輸入輸出指令的總能力是硬盤總的物理資源的25%,則可以統計虛擬機上單位時間運行的輸入輸出指令是否達到硬盤總的物理資源的25%。
[0029]103、根據所述容量與所述標識的虛擬機的預劃分容量的關系,處理所述請求訪問虛擬機的輸入輸出指令。
[0030]例如:當預先設置的所述標識的虛擬機處理輸入輸出指令的數量是每秒50條時,當統計出每秒運行的輸入輸出指令是50條,則將所述請求訪問虛擬機的輸入輸出指令送入等待隊列,不再為所述請求訪問虛擬機的輸入輸出指令分配其他的物理資源,當統計出每秒運行的輸入輸出指令數量小于50條時,則可以為所述請求訪問虛擬機的輸入輸出指令分配相應的物理資源。
[0031]本發明實施例采用獲取請求訪問虛擬機的輸入輸出指令所請求訪問的虛擬機的標識;統計所述標識的虛擬機上單位時間運行的輸入輸出指令的容量;根據所述容量與所述標識的虛擬機的預劃分容量的關系,處理所述請求訪問虛擬機的輸入輸出指令。與現有技術中在處理輸入輸出指令時,虛擬機之間搶占物理資源,會出現物理資源分配不均勻的,導致一些用戶端的輸入輸出指令,長時間得不到處理相比,本發明實施例提供的輸入輸出指令處理的方法,可以對不同虛擬機上的輸入輸出指令進行控制處理,從而使每臺虛擬機所占用的物理資源都按預先劃分的占用,避免了虛擬機之間搶占物理資源所帶來的用戶端資源分配不勻,某些輸入輸出指令長時間得不到處理。
[0032]可選地,在上述圖1對應的實施例的基礎上,本發明實施例提供的輸入輸出指令處理的方法的另一實施例中,所述根據所述容量與所述標識的虛擬機的預劃分容量的關系,處理所述請求訪問虛擬機的輸入輸出指令,可以包括:
[0033]當所述容量達到所述標識的虛擬機的預劃分容量時,將所述請求訪問虛擬機的輸入輸出指令送入等待隊列。
[0034]本發明實施