本公開涉及計算機領域,具體涉及云計算等,尤其涉及一種資源分配方法和裝置、電子設備、計算機可讀存儲介質以及計算機程序產品。
背景技術:
1、云計算業務,多個不同規格的用戶虛擬機會部署于相同主機,分配虛擬交換機的cpu(central?processing?unit,中央處理器)核心有限,虛擬交換機通過bps(bytes?persecond,每秒字節數)和pps(packet?per?second,包每秒)做限速限制用戶業務,通過連接數限制虛擬交換機支持管理的虛擬機會話數。但bps、pps以及連接數限制也無法做到虛擬機cpu分配的公平性。
技術實現思路
1、本公開提供了一種資源分配方法和裝置、電子設備、計算機可讀存儲介質以及計算機程序產品。
2、根據第一方面,提供了一種資源分配方法,該方法包括:獲取目標虛擬機的本次報文序列;計算目標虛擬機的新增運算時間,并將新增運算時間和令牌桶中上次的剩余時間相加作為本次運算時間加入到令牌桶;基于上次處理單個報文的處理時間,計算本次運算時間對應的預處理報文數量;基于預處理報文數量,轉發本次報文序列中的報文,并記錄報文的轉發時間;將本次運算時間與轉發時間的差值作為本次的剩余時間,并將本次的剩余時間加入到令牌桶。
3、根據第二方面,提供了一種資源分配裝置,該裝置包括:獲取單元,被配置成獲取目標虛擬機的本次報文序列;新增計算單元,被配置成計算目標虛擬機的新增運算時間,并將新增運算時間和令牌桶中上次的剩余時間相加作為本次運算時間加入到令牌桶;數量計算單元,被配置成基于上次處理單個報文的處理時間,計算本次運算時間對應的預處理報文數量;轉發單元,被配置成基于預處理報文數量,轉發本次報文序列中的報文,并記錄報文的轉發時間;結果計算單元,被配置成將本次運算時間與轉發時間的差值作為本次的剩余時間,并將本次的剩余時間加入到令牌桶。
4、根據第三方面,提供了一種電子設備,該電子設備包括:至少一個處理器;以及與至少一個處理器通信連接的存儲器,其中,存儲器存儲有可被至少一個處理器執行的指令,指令被至少一個處理器執行,以使至少一個處理器能夠執行如第一方面任一實現方式描述的方法。
5、根據第四方面,提供了一種存儲有計算機指令的非瞬時計算機可讀存儲介質,計算機指令用于使計算機執行如第一方面任一實現方式描述的方法。
6、根據第五方面,提供了一種計算機程序產品,包括計算機程序,計算機程序在被處理器執行時實現如第一方面任一實現方式描述的方法。
7、本公開的實施例提供的資源分配方法和裝置,首先,獲取目標虛擬機的本次報文序列;其次,計算目標虛擬機的新增運算時間,并將新增運算時間和令牌桶中上次的剩余時間相加作為本次運算時間加入到令牌桶;再次,基于上次處理單個報文的處理時間,計算本次運算時間對應的預處理報文數量;然后,基于預處理報文數量,轉發本次報文序列中的報文,并記錄報文的轉發時間;最后,將本次運算時間與轉發時間的差值作為本次的剩余時間,并將本次的剩余時間加入到令牌桶。由此,通過為目標虛擬機計算的新增運算時間,為目標虛擬機分配每次運算時間,按照每次運算時間向目標虛擬機轉發報文,可以有效地限制目標虛擬機占用虛擬交換機的cpu,提高了虛擬機資源分配的公平性。
8、應當理解,本部分所描述的內容并非旨在標識本公開的實施例的關鍵或重要特征,也不用于限制本公開的范圍。本公開的其它特征將通過以下的說明書而變得容易理解。
1.一種資源分配方法,所述方法包括:
2.根據權利要求1所述的方法,在將所述本次的剩余時間加入到所述令牌桶之前,所述方法還包括:
3.根據權利要求1所述的方法,所述方法還包括:
4.根據權利要求1-3之一所述的方法,其中,所述基于所述預處理報文數量,轉發所述本次報文序列中的報文,并記錄所述報文的轉發時間包括:
5.根據權利要求4所述的方法,其中,所述基于所述預處理報文數量,轉發所述本次報文序列中的報文,并記錄所述報文的轉發時間包括:
6.根據權利要求4所述的方法,其中,所述基于所述預處理報文數量,轉發所述本次報文序列中的報文,并記錄所述報文的轉發時間包括:
7.根據權利要求1-3之一所述的方法,其中,所述計算所述目標虛擬機的新增運算時間包括:
8.根據權利要求7所述的方法,其中,所述計算所述目標虛擬機的資源比例包括:
9.根據權利要求7所述的方法,其中,所述計算所述目標虛擬機的資源比例包括:
10.根據權利要求1-3之一所述的方法,其中,所述基于上次處理單個報文的處理時間,計算所述本次運算時間對應的預處理報文數量包括:
11.一種資源分配裝置,所述裝置包括:
12.根據權利要求11所述的裝置,所述裝置還包括:檢測單元,所述檢測單元被配置成:檢測所述本次的剩余時間是否小于時間閾值;響應于檢測到所述本次的剩余時間小于所述時間閾值,采用所述本次的剩余時間替換所述令牌桶中的所述上次的剩余時間;響應于檢測到所述本次的剩余時間大于或等于所述時間閾值,采用所述時間閾值替換所述令牌桶中的所述上次的剩余時間。
13.根據權利要求11所述的裝置,所述裝置還包括:得到單元,所述得到單元被配置成:基于所述轉發時間與所述預處理報文數量,得到本次處理單個報文的處理時間;采用本次處理單個報文的處理時間替換所述上次處理單個報文的處理時間。
14.根據權利要求11-13之一所述的裝置,其中,所述轉發單元被配置成:實時轉發所述本次報文序列中的報文,并記錄已轉發報文的數量和時間;檢測所述已轉發報文的數量是否達到所述預處理報文數量;響應于檢測到所述已轉發報文的數量未達到所述預處理報文數量,檢測所述本次報文序列中是否還有未轉發報文;響應于檢測到所述本次報文序列中沒有未轉發報文,將所述已轉發報文的時間作為轉發時間。
15.根據權利要求14所述的裝置,其中,所述轉發單元被配置成:響應于檢測到所述已轉發報文的數量已達到所述預處理報文數量,將所述已轉發報文的時間作為轉發時間。
16.根據權利要求14所述的裝置,其中,所述轉發單元被配置成:響應于檢測到所述本次報文序列中還有未轉發報文,繼續實時轉發所述本次報文序列中的報文,并記錄已轉發報文的數量和時間;直至檢測到所述本次報文序列中沒有未轉發報文,或者檢測到所述已轉發報文的數量達到所述預處理報文數量。
17.根據權利要求11-13之一所述的裝置,其中,所述新增計算單元被配置成:計算所述目標虛擬機的資源比例;計算本次轉發所述目標虛擬機的報文的時間點與上次轉發所述目標虛擬機的報文的時間點的時間差;將所述資源比例與所述時間差的乘積作為所述目標虛擬機的新增運算時間。
18.根據權利要求17所述的裝置,其中,所述新增計算單元被配置成:計算物理機上所有虛擬機的每秒傳輸的數據包數量之和,得到數據包數量和;將所述目標虛擬機的每秒傳輸的數據包數量與所述數據包數量和相除,得到所述目標虛擬機的資源比例。
19.根據權利要求17所述的裝置,其中,所述新增計算單元被配置成:確定物理機上的最大每秒傳輸的數據包數量;將所述目標虛擬機的每秒傳輸的數據包數量與所述最大每秒傳輸的數據包數量相除,得到所述目標虛擬機的資源比例。
20.根據權利要求11-13之一所述的裝置,其中,所述數量計算單元被配置成:計算所述本次運算時間與所述上次處理單個報文的處理時間的比值,得到預處理報文數量。
21.一種電子設備,其特征在于,包括:
22.一種存儲有計算機指令的非瞬時計算機可讀存儲介質,其特征在于,所述計算機指令用于使所述計算機執行權利要求1-10中任一項所述方法。
23.一種計算機程序產品,包括計算機程序,所述計算機程序在被處理器執行時實現權利要求1-10中任一項所述的方法。