種可能的實現(xiàn)方式中,所述處理單元還用于:
[0055]監(jiān)測所述虛擬機用戶的d維資源中各維資源的使用情況以及所述待分配物理節(jié)點的d維資源中各維資源的剩余情況;
[0056]當所述虛擬機用戶的第i維資源使用量與所述rllOT的差值大于預設閾值1\時,將所述rllOT更新為r llow+ Δ 1;
[0057]若所述待分配物理節(jié)點的第i維資源的剩余量大于或者等于八i,則從所述待分配物理節(jié)點上為所述虛擬機用戶追加資源量Λ i,所述Λ i的值大于所述T i的值;
[0058]若所述待分配物理節(jié)點的第i維資源的資源剩余量小于Λ i,則根據(jù)更新后的所述rllciw和所述r &#更新所述第二集合及所述第三集合,并從所述更新后的第三集合中重新選擇所述待分配物理節(jié)點。
[0059]本發(fā)明實施例提供一種資源調度方法及管理設備,通過獲得d維資源可分配值描述的云計算系統(tǒng)中所有物理節(jié)點分別映射到一維空間填充曲線上的點形成的第一集合,并獲得虛擬機用戶的d維資源需求矩陣對應的子空間映射到一維空間填充曲線上的點形成的第二集合,使得管理設備在進行資源調度時,不需要像現(xiàn)有技術那樣對各維資源進行逐一匹配,而只需要將第一集合中的點與第二集合中的點進行一維匹配,從而獲得第一集合與第二集合的交集,該交集中的點對應的物理節(jié)點即為滿足虛擬機用戶資源需求范圍的物理節(jié)點。因而,能夠解決現(xiàn)有技術中在進行資源調度時,由于需要將虛擬機用戶各維資源需求值與云計算系統(tǒng)中所有物理節(jié)點的各維資源可分配值進行逐一比對使得匹配復雜度高,從而導致管理設備資源消耗量大的問題。
【附圖說明】
[0060]為了更清楚地說明本發(fā)明實施例的技術方案,下面將對實施例或現(xiàn)有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0061]圖1為本發(fā)明實施例提供的一種方法流程示意圖;
[0062]圖2為本發(fā)明實施例提供的另一種方法流程示意圖;
[0063]圖3為本發(fā)明實施例提供的另一種方法流程示意圖;
[0064]圖4為本發(fā)明實施例提供的一種二叉查找樹的結構示意圖;
[0065]圖5為本發(fā)明實施例提供的一種管理設備的結構示意圖。
【具體實施方式】
[0066]下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領域普通技術人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0067]參見圖1,本發(fā)明實施例提供一種資源調度方法,其主要步驟可以包括:
[0068]101、管理設備獲得云計算系統(tǒng)中所有物理節(jié)點分別映射到空間填充曲線上的點,并形成第一集合,物理節(jié)點通過d維資源向量表示,d維資源向量中的元素為物理節(jié)點的各維資源可分配值,d為大于I的正整數(shù)。
[0069]其中,管理設備可以是云計算系統(tǒng)中用以進行資源調度的管理服務器等設備。物理節(jié)點是指云計算系統(tǒng)中可以為虛擬機用戶分配資源的計算機設備,物理節(jié)點提供的資源可以包括CPU資源、內存資源、磁盤空間資源、網(wǎng)絡資源等多維資源,物理節(jié)點由d維資源向量Cs1, S2,…,sd>來表示,其中每一個元素&表征了物理節(jié)點可以為虛擬機用戶分配的某一維資源的可分配值,因此一個物理節(jié)點可以對應d維空間中的一個點,其中的d為大于I的正整數(shù),i的取值為區(qū)間[l,d]中的正整數(shù)。
[0070]空間填充曲線是一種將d維空間映射為一維空間的方法,可以包括Z曲線、Hilbert曲線以及Gray曲線等。本步驟中第一集合中的元素為物理節(jié)點映射到一維空間填充曲線上的點,云計算系統(tǒng)中所有物理節(jié)點映射到空間填充曲線上的所有的點形成了第一集合。其中,將以d維資源可分配值描述的物理節(jié)點映射為一維空間填充曲線上的點,可以在資源調度過程中將d維資源匹配問題轉化為一維匹配問題進行處理,從而可以降低匹配的維度,降低匹配過程的復雜度。
[0071]102、管理設備獲得虛擬機用戶的資源需求范圍對應的子空間映射到空間填充曲線上的點,并形成第二集合,資源需求范圍通過d維資源需求矩陣表示,d維資源需求矩陣中第i個行向量表示虛擬機用戶的第i維資源需求值域,值域包括需求下限值rllOT和需求上限值rlhlgh,i的取值為區(qū)間[l,d]中的正整數(shù)。
[0072]其中,虛擬機用戶的資源需求范圍通過d維資源需求矩陣表示,d維資源需求矩陣中第i個行向量表示用戶在進行云業(yè)務時通過虛擬機申請的各維資源需求范圍,每一維資源需求范圍均由一個資源需求值域來表示。示例性的,虛擬機用戶的d維資源需求矩陣可以表示為([rn Jlhigh], [r21oWir2high],..., [rdlow_rdhigh]) 0從幾何意義上來講,虛擬機用戶的d維資源需求矩陣對應于d維資源空間中的子空間為一個d維超立方體,該d維超立方體映射到空間填充曲線上的所有的點形成了第二集合。示例性的,虛擬機用戶的d維資源需求矩陣中,其中的一維資源及其需求值域可以為CPU資源[2核,4核],另一維資源及其需求值域可以為內存資源[1G,2G],另一維資源及其需求值域可以為磁盤空間資源[10G,20G]等。當然,d維資源需求矩陣中還可以包括其它類型的資源及其需求值域這里不再一一贅述。其中,以d維資源需求矩陣中的第i維資源為內存資源為例,內存資源需求值域[1G,2G]表示虛擬機用戶需求的內存資源的需求下限值rllOT為1G,需求上限值rlhlgh為2G,虛擬機用戶的內存資源需求范圍為[1G,2G]。
[0073]本步驟中的第二集合中的元素為虛擬機用戶的d維資源需求范圍對應的子空間映射到一維空間填充曲線上的點。通過將虛擬機用戶的d維資源需求范圍對應的子空間映射到一維空間填充曲線上,可以在進行資源調度時,將d維資源匹配問題轉化為一維匹配問題進行處理,從而可以降低資源匹配的維度,降低匹配過程的復雜度。同時,將虛擬機用戶的d維資源需求范圍對應的子空間映射為一維空間填充曲線上的點,維持了空間相鄰性,空間中相鄰的區(qū)域映射到空間曲線上的點也位于鄰近位置。
[0074]與現(xiàn)有技術中僅能通過確定的資源需求值來描述虛擬機用戶的資源需求相比,本步驟中的虛擬機用戶的d維資源需求矩陣允許虛擬機用戶通過范圍來描述資源需求,從而增強了用戶申請資源方式的靈活性。
[0075]另外,由于現(xiàn)有技術中云計算系統(tǒng)對虛擬機用戶的收費通常是根據(jù)虛擬機用戶需求的資源量的大小來劃分等級的。例如,對于內存資源來說,若內存資源需求值在[1G,2G]范圍內,則收費較低;若內存資源需求值在[4G,6G]范圍內,則收費較高。因而,通過范圍來描述虛擬機用戶的資源需求,可以與現(xiàn)有技術中的收費規(guī)則相吻合,便于收費和管理。
[0076]103、管理設備從第三集合中的點對應的物理節(jié)點中選擇一個待分配物理節(jié)點,并為虛擬機用戶分配待分配物理節(jié)點上的各維資源,第三集合為第一集合與第二集合的交集。
[0077]由于通過d維資源需求矩陣描述的虛擬機用戶的資源需求范圍對應的d維超立方體子空間可以映射到一維空間填充曲線上的點的第二集合,因而,若第二集合中的點同時對應一個物理節(jié)點,則該物理節(jié)點一定符合虛擬機用戶的d維資源需求范圍。因此,在本步驟中,管理設備可以將第一集合中的點與本步驟中第二集合中的點進行比對,若第一集合中的點同時也在第二集合中,則說明該點對應的物理節(jié)點符合虛擬機用戶的資源需求范圍。也就是說,第一集合和第二集合的交集中的點對應的物理節(jié)點均符合虛擬機用戶的資源需求范圍,因而可以從第一集合和第二集合的交集即第三集合中根據(jù)預設分配策略選擇一個待分配物理節(jié)點,從而為虛擬機用戶配置待分配物理節(jié)點上的資源。這里的預設分配策略可以為節(jié)能優(yōu)先分配策略、負載均衡優(yōu)先分配策略等。
[0078]需要說明的是,由于第一集合中空間填充曲線上的點與物理節(jié)點的d維資源可分配值相對應,而第二集合中空間填充曲線上的點與虛擬機用戶d維資源需求值域相對應,因而第一集合與第二集合的交集中的點對應的物理節(jié)點的d維資源中的各維資源可分配值均符合虛擬機用戶的各維資源需求范圍。
[0079]在本發(fā)明實施例中,由于管理設備在進行資源調度時將第一集合中的點與第二集合中的點進行一維比對,即可獲得滿足虛擬機用戶各維資源需求范圍的物理節(jié)點的集合,因而不需要像現(xiàn)有技術那樣對各維資源進行逐一匹配,從而降低了匹配的維度和匹配過程的復雜度,降低了管理設備的資源消耗,能夠解決現(xiàn)有技術中在進行資源調度時,由于需要將虛擬機用戶各維資源需求值與云計算系統(tǒng)中所有物理節(jié)點的各維資源可分配值進行逐一比對使得匹配復雜度高,從而導致的管理設備資源消耗量大的問題。
[0080]本發(fā)明實施例提供一種資源調度方法,通過獲得d維資源可分配值描述的云計算系統(tǒng)中所有物理節(jié)點分別映射到一維空間填充曲線上的點形成的第一集合,并獲得虛擬機用戶的d維資源需求矩陣對應的子空間映射到一維空間填充曲線上的點形成的第二集合,使得管理設備在進行資源調度時,不需要像現(xiàn)有技術那樣對各維資源進行逐一匹配,而只需要將第一集合中的點與第二集合中的點進行一維匹配,從而獲得第一集合與第二集合的交集,該交集中的點對應的物理節(jié)點即為滿足虛擬機用戶資源需求范圍的物理節(jié)點。因而,能夠解決現(xiàn)有技術中在進行資源調度時,由于需要將虛擬機用戶各維資源需求值與云計算系統(tǒng)中所有物理節(jié)點的各維資源可分配值進行逐一比對使得匹配復雜度高,從而導致管理設備資源消耗量大的問題。
[0081]參見圖2,本發(fā)明實施例提供一種資源調度方法,以空間填充曲線為Z曲線為例進行說明,物理節(jié)點映射到空間填充曲線上的點以及虛擬機用戶的資源需求范圍映射到空間填充曲線上的點可以由二進制形式表示,其主要步驟可以包括:
[0082]201、管理設備對第一物理節(jié)點的d維資源向量中的d維資源可分配值分別進行編碼,獲得d維資源可分配值對應的d個第一二進制碼。
[0083]其中的第一物理節(jié)點可以為云計算系統(tǒng)中的任一物理節(jié)點。示例性的,參見圖3,管理設備對第一物理節(jié)點的d維資源可分配值中第i維資源可分配值進行編碼,獲得第i維資源可分配值對應的第一二進制碼可以包括以下步驟:
[0084]001、管理設備設定d維資源空間中第i維資源的下限值Sl_和上限值s _x,以及二叉查找樹的樹高k。
[0085]其中,d維資源空間中第i維資源的下限值Sl_和上限值s _可以表明云計算系統(tǒng)中第i維資源的最小可用值和最大可用值。示例性的,以第i維資源為CPU資源為例,若其下限值可以為I核,上限值可以為16核,則表明云計算系統(tǒng)中的物理節(jié)點可以分配的CPU資源以及虛擬機用戶可以申請的CPU資源最小可以為I核,最大可以為16核。
[0086]借助二叉查找樹以及迭代算法,管理設備可以對云計算系統(tǒng)中任一物理節(jié)點例如第一物理節(jié)點的第i維資源可分配值進行二進制編碼。其中,二叉樹的樹高k可以表明編碼獲得的二進制碼對第一物理節(jié)點的第i維資源可分配值的逼近程度,k可以根據(jù)實際需要的精度進行設定。
[0087]002、管理設備從二叉查找樹的根節(jié)點開始進行迭代運算,直至到達二叉查找樹的第k層節(jié)點。
[0088]其中的迭代運算可以包括:管理設備獲得Sl_與s_x的中值s inud,并比較第一物理節(jié)點的第i維資源可分配值81與s inud的大小;若s i小于s inud,則進入左子樹,對應編碼為0,并將Siniax的值更新為s inud的值;否則,則進入右子樹,對應編碼為1,并將s inun的值更新為Slnld的值。
[0089]具體的,參見圖4,從根節(jié)點開始,管理設備可以將區(qū)間[Sl_,SinaJ劃分為相同大小的兩個子