服務(wù)器資源分配方法及其系統(tǒng)的制作方法
【專利摘要】本發(fā)明涉及計(jì)算機(jī)信息,公開(kāi)了一種服務(wù)器資源分配方法及其系統(tǒng)。在本發(fā)明中,獲取空閑服務(wù)器資源數(shù)量和所在的物理位置信息,并選擇空閑服務(wù)器資源數(shù)量最多的物理位置來(lái)優(yōu)先分配其中的空閑服務(wù)器資源,有利于每次分配的可控性,以平衡各物理位置所具有空閑服務(wù)器資源的數(shù)量比例,在出現(xiàn)物理性事故時(shí)可以防止受影響的業(yè)務(wù)比例過(guò)大。此外,根據(jù)所獲取的信息先建立索引樹(shù),并基于該索引樹(shù)進(jìn)行服務(wù)器資源分配,提高了服務(wù)器資源分配的效率。
【專利說(shuō)明】
服務(wù)器資源分配方法及其系統(tǒng)
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及計(jì)算機(jī)信息,特別涉及服務(wù)器資源分配方法及其系統(tǒng)。
【背景技術(shù)】
[0002]通過(guò)人工對(duì)機(jī)器資源進(jìn)行分配,效率低并且分配的效果不好,例如機(jī)房重復(fù)分配或者機(jī)房間負(fù)載不平衡。
[0003]隨著云服務(wù)的普及和大量分配的需求日益漸增,對(duì)機(jī)器資源優(yōu)先分配的自動(dòng)化與可持續(xù)性管理需求的重要越來(lái)越突現(xiàn),
【發(fā)明內(nèi)容】
[0004]本發(fā)明的目的在于提供一種服務(wù)器資源分配方法及其系統(tǒng),有利于每次分配的可控性,以平衡各物理位置所具有空閑服務(wù)器資源的數(shù)量比例。
[0005]為解決上述技術(shù)問(wèn)題,本發(fā)明的實(shí)施方式公開(kāi)了一種服務(wù)器資源分配方法,包括以下步驟:
[0006]獲取空閑服務(wù)器資源數(shù)量和所在的物理位置信息;
[0007]根據(jù)所獲取的信息選擇空閑服務(wù)器資源數(shù)量最多的物理位置作為最空閑物理位置;
[0008]優(yōu)先分配屬于最空閑物理位置的空閑服務(wù)器資源。
[0009]本發(fā)明的實(shí)施方式還公開(kāi)了一種服務(wù)器資源分配系統(tǒng),系統(tǒng)包括:
[0010]獲取單元,用于獲取空閑服務(wù)器資源數(shù)量和所在的物理位置信息;
[0011]選擇單元,用于根據(jù)獲取單元獲取的信息選擇空閑服務(wù)器資源數(shù)量最多的物理位置作為最空閑物理位置;以及
[0012]分配單元,用于優(yōu)先分配屬于最空閑物理位置的空閑服務(wù)器資源。
[0013]本發(fā)明實(shí)施方式與現(xiàn)有技術(shù)相比,主要區(qū)別及其效果在于:
[0014]在本發(fā)明的方法中,獲取空閑服務(wù)器資源數(shù)量和所在的物理位置信息,并選擇空閑服務(wù)器資源數(shù)量最多的物理位置來(lái)優(yōu)先分配其中的空閑服務(wù)器資源,有利于每次分配的可控性,以平衡各物理位置所具有空閑服務(wù)器資源的數(shù)量比例,在出現(xiàn)物理性事故時(shí)可以防止受影響的業(yè)務(wù)比例過(guò)大。
[0015]進(jìn)一步地,根據(jù)所獲取的信息先建立索引樹(shù),并基于該索引樹(shù)進(jìn)行服務(wù)器資源分配,提高了服務(wù)器資源分配的效率。
[0016]進(jìn)一步地,根據(jù)所需分配的服務(wù)器資源數(shù)量和服務(wù)器資源類型對(duì)各子分配請(qǐng)求進(jìn)行從大到小的排序,并按照順序進(jìn)行服務(wù)器資源分配,可以提高整體的分配成功率。
[0017]進(jìn)一步地,將進(jìn)行過(guò)服務(wù)器資源分配的物理位置的相關(guān)信息刪除,以從不同物理位置對(duì)服務(wù)器資源進(jìn)行分配,從而提高容災(zāi)能力。
[0018]進(jìn)一步地,在分配服務(wù)器資源時(shí),考慮各服務(wù)器資源的性能差異,以更好地實(shí)現(xiàn)負(fù)載平衡。
【附圖說(shuō)明】
[0019]圖1是本發(fā)明第一實(shí)施方式中一種服務(wù)器資源分配方法的流程示意圖;
[0020]圖2是本發(fā)明第三實(shí)施方式中一種服務(wù)器資源分配方法的流程示意圖;
[0021]圖3是本發(fā)明第三實(shí)施方式中一種服務(wù)器資源分配方法中集群分配請(qǐng)求隊(duì)列的示意圖;
[0022]圖4是本發(fā)明第三實(shí)施方式中一種服務(wù)器資源分配方法中索引樹(shù)的結(jié)構(gòu)示意圖;
[0023]圖5是本發(fā)明第四實(shí)施方式中一種服務(wù)器資源分配系統(tǒng)的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0024]在以下的敘述中,為了使讀者更好地理解本申請(qǐng)而提出了許多技術(shù)細(xì)節(jié)。但是,本領(lǐng)域的普通技術(shù)人員可以理解,即使沒(méi)有這些技術(shù)細(xì)節(jié)和基于以下各實(shí)施方式的種種變化和修改,也可以實(shí)現(xiàn)本申請(qǐng)各權(quán)利要求所要求保護(hù)的技術(shù)方案。
[0025]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對(duì)本發(fā)明的實(shí)施方式作進(jìn)一步地詳細(xì)描述。
[0026]本發(fā)明第一實(shí)施方式涉及一種服務(wù)器資源分配方法。圖1是該服務(wù)器資源分配方法的流程示意圖。如圖1所示,該服務(wù)器資源分配方法包括以下步驟:
[0027]在步驟101中,獲取空閑服務(wù)器資源數(shù)量和所在的物理位置信息??梢岳斫?,服務(wù)器資源主要是指處理器資源和存儲(chǔ)器資源,是有具體物理位置的資源,例如在機(jī)房A的機(jī)架B上。
[0028]此后進(jìn)入步驟102,根據(jù)所獲取的信息選擇空閑服務(wù)器資源數(shù)量最多的物理位置作為最空閑物理位置。
[0029]此后進(jìn)入步驟103,優(yōu)先分配屬于最空閑物理位置的空閑服務(wù)器資源。
[0030]此后結(jié)束本流程。
[0031]在本實(shí)施方式的方法中,獲取空閑服務(wù)器資源數(shù)量和所在的物理位置信息,并選擇空閑服務(wù)器資源數(shù)量最多的物理位置來(lái)優(yōu)先分配其中的空閑服務(wù)器資源,有利于每次分配的可控性,以平衡各物理位置所具有空閑服務(wù)器資源的數(shù)量比例,在出現(xiàn)物理性事故時(shí)可以防止受影響的業(yè)務(wù)比例過(guò)大。
[0032]優(yōu)選地,在分配服務(wù)器資源時(shí),考慮各服務(wù)器資源的性能差異,以更好地實(shí)現(xiàn)負(fù)載平衡。具體地說(shuō):
[0033]上述空閑服務(wù)器資源數(shù)量是根據(jù)各服務(wù)器資源的性能比例計(jì)算的相對(duì)空閑服務(wù)器資源數(shù)量。例如,物理位置A處具有m個(gè)服務(wù)器資源a和η個(gè)服務(wù)器資源b,物理位置B處具有η個(gè)服務(wù)器資源a和m個(gè)服務(wù)器資源b,服務(wù)器資源a具有性能i,服務(wù)器資源b具有性能j,若以服務(wù)器資源a為基準(zhǔn),則物理位置A處具有m+n* j/i個(gè)服務(wù)器資源a,物理位置B處具有n+m*j/i個(gè)服務(wù)器資源a。
[0034]此外,可以理解,在本發(fā)明的其他實(shí)施方式中,空閑服務(wù)器資源數(shù)也可以是服務(wù)器資源的絕對(duì)數(shù)量。
[0035]本發(fā)明第二實(shí)施方式涉及一種服務(wù)器資源分配方法。第二實(shí)施方式在第一實(shí)施方式的基礎(chǔ)上進(jìn)行了改進(jìn),主要改進(jìn)之處在于:根據(jù)所獲取的信息先建立索引樹(shù),并基于該索引樹(shù)進(jìn)行服務(wù)器資源分配,提高了服務(wù)器資源分配的效率。具體地說(shuō):
[0036]在步驟102中包括以下子步驟:
[0037]根據(jù)所獲取的信息建立索引樹(shù),在該索引樹(shù)中以物理位置為節(jié)點(diǎn)并根據(jù)各物理位置處的空閑服務(wù)器資源數(shù)量對(duì)各物理位置進(jìn)行從大到小的排序,索引樹(shù)的頂部節(jié)點(diǎn)對(duì)應(yīng)空閑服務(wù)器資源數(shù)量最多的物理位置。
[0038]此外,可以理解,在某些實(shí)例中,也可以根據(jù)所獲取的信息建立其他形式的索引,例如B+樹(shù)、隊(duì)列、列表等,只要能夠快速選取出空閑服務(wù)器資源數(shù)量最多的物理位置即可。
[0039]則在步驟103中,從索引樹(shù)中取出頂部節(jié)點(diǎn)作為待分配節(jié)點(diǎn)、并優(yōu)先分配該待分配節(jié)點(diǎn)中的空閑服務(wù)器資源。
[0040]可選地,在步驟103后還可以包括以下步驟:
[0041]更新待分配節(jié)點(diǎn)的剩余空閑服務(wù)器資源數(shù)量,并將該待分配節(jié)點(diǎn)重新插入索引樹(shù)。
[0042]或是在步驟103后還可以包括以下步驟:
[0043]刪除最空閑物理位置的相關(guān)信息。
[0044]將進(jìn)行過(guò)服務(wù)器資源分配的物理位置的相關(guān)信息刪除,以從不同物理位置對(duì)服務(wù)器資源進(jìn)行分配,從而提高容災(zāi)能力。
[0045]此外,可以理解,在某些實(shí)例中,也可以根據(jù)實(shí)際情況,選擇同一物理位置為多個(gè)分配請(qǐng)求進(jìn)行服務(wù)器資源分配。
[0046]本發(fā)明第三實(shí)施方式涉及一種服務(wù)器資源分配方法。第三實(shí)施方式在第一或第二實(shí)施方式的基礎(chǔ)上進(jìn)行了改進(jìn),主要改進(jìn)之處在于:根據(jù)所需分配的服務(wù)器資源數(shù)量和服務(wù)器資源類型對(duì)各子分配請(qǐng)求進(jìn)行從大到小的排序,并按照順序進(jìn)行服務(wù)器資源分配,可以提高整體的分配成功率。具體地說(shuō):
[0047]在步驟103前還包括以下步驟:
[0048]接收分配請(qǐng)求,該分配請(qǐng)求包括多個(gè)子分配請(qǐng)求。
[0049]在步驟103中包括以下子步驟:
[0050]根據(jù)所需分配的服務(wù)器資源數(shù)量和服務(wù)器資源類型將多個(gè)子分配請(qǐng)求進(jìn)行從大到小的排序;
[0051]按照順序依次為各子分配請(qǐng)求分配屬于最空閑物理位置的空閑服務(wù)器資源。
[0052]以下將以機(jī)房、機(jī)架和機(jī)器為例進(jìn)一步對(duì)上述方法進(jìn)行詳細(xì)描述。在本實(shí)施例中,通過(guò)將各機(jī)房、機(jī)架、機(jī)型的機(jī)器資源虛擬化成一個(gè)資源池的概念,來(lái)為機(jī)器需求提供一個(gè)優(yōu)化的策略,然后分配出相應(yīng)的機(jī)器資源,當(dāng)有機(jī)器歸還時(shí),相對(duì)地,把相應(yīng)的機(jī)器放回池中。
[0053]圖2示出了資源池分配資源的主要流程。如圖2所示,整個(gè)過(guò)程以分配請(qǐng)求(Request)開(kāi)始,先基于資源池中機(jī)房及機(jī)架的可獲得資源數(shù)量信息建立索引樹(shù),這里僅對(duì)資源的位置信息進(jìn)行索引樹(shù)的建立,這對(duì)對(duì)象建立、數(shù)據(jù)庫(kù)的訪問(wèn)、程序內(nèi)存占用等可以節(jié)省很多成本,類似于很多搜索引擎的設(shè)計(jì)方法,整個(gè)池中信息量會(huì)很大,而每一次的資源分配,一般都只有幾臺(tái)的機(jī)器信息而已,這里在流程上多加一步獲取資源(Get Resources)即可獲取目標(biāo)資源的信息,提高了整個(gè)流程在時(shí)間與空間兩方面的效率。然后針對(duì)分配請(qǐng)求進(jìn)行策略分配,若分配失敗,則返回平臺(tái),報(bào)告資源不夠,若成功,則進(jìn)一步去資源池中索取分配資源的具體信息,并把信息返回給平臺(tái)。
[0054]在上述實(shí)現(xiàn)資源分配的過(guò)程中具有兩個(gè)類似容器的結(jié)構(gòu)ResourceTank與ClusterMode0
[0055]其中ResourceTank是一棵最大堆索引樹(shù),用于直接操作從資源池中分配機(jī)器時(shí)查找機(jī)器位置的類結(jié)構(gòu),它以機(jī)房對(duì)象(ResourceRoom)為節(jié)點(diǎn)元素,并以每個(gè)機(jī)房的空閑機(jī)器數(shù)為優(yōu)先級(jí)排列的標(biāo)準(zhǔn),最多的為樹(shù)頂,每次操作只需要取頭元素,即pool O,就可取出資源最充足的機(jī)房。而ResourceRoom也是一個(gè)以機(jī)架資源信息建立的大堆樹(shù),同樣以每個(gè)機(jī)架的空閑機(jī)器數(shù)為優(yōu)先級(jí)排列的標(biāo)準(zhǔn),最多的為樹(shù)頂,每次pool O,即可取出資源最充足的機(jī)架??梢岳斫猓诒景l(fā)明的其他實(shí)施例中,也可以在最大堆索引樹(shù)中直接以機(jī)架對(duì)象為節(jié)點(diǎn)元素,并以每個(gè)機(jī)架的空閑機(jī)器數(shù)為優(yōu)選級(jí)排列的標(biāo)準(zhǔn),最多的為樹(shù)頂,每次操作只需要取頭元素,即pool O,就可取出資源最充足的機(jī)架。上述機(jī)房和機(jī)架即相當(dāng)于物理位置。
[0056]其中ClusterMode是分配模型,這是由來(lái)自Request的信息所建立的,它包含了一個(gè)或多個(gè)集群的模型,它本質(zhì)上是一個(gè)優(yōu)先級(jí)隊(duì)列類型的容器(如圖3所示的集群分配請(qǐng)求隊(duì)列),元素為單集群模型(SingleClusterMode)。它的優(yōu)先級(jí)排列會(huì)以每個(gè)SingleClusterMode的分配復(fù)雜度及分配資源數(shù)量為優(yōu)先級(jí)排列的標(biāo)準(zhǔn),越復(fù)雜及數(shù)量越大的優(yōu)先級(jí)越高,這樣可以促使把最難分配的SingleClusterMode成功分配,然后再去做簡(jiǎn)單結(jié)構(gòu)的SingleClusterMode分配,從而可以提高整個(gè)ClusterMode分配的成功率。具體地說(shuō):
[0057]1.整個(gè)分配過(guò)程開(kāi)始后,遍歷集群分配請(qǐng)求隊(duì)列中的每一個(gè)單集群模型(即子分配請(qǐng)求),每取到一個(gè)小集群模型時(shí),就是一個(gè)分配請(qǐng)求。
[0058]2.然后開(kāi)始進(jìn)入索引樹(shù)結(jié)構(gòu)中去進(jìn)行分配。如圖4所示,找到的top節(jié)點(diǎn)元素(即頂部節(jié)點(diǎn))就可以看作為一個(gè)機(jī)房對(duì)象,里面又聚合了機(jī)架元素的最大樹(shù),所要包含了此機(jī)房每個(gè)機(jī)架上的機(jī)器數(shù)量類型統(tǒng)計(jì)信息。通過(guò)這些信息就可以判斷出第一個(gè)滿足要求的機(jī)房,也是目前資源最充足的機(jī)房。
[0059]3.得出此位置信息后直接從資源池中分配出所需要的機(jī)器,每次分配出資源的同時(shí),索引樹(shù)的top節(jié)點(diǎn)元素都會(huì)同步更新,保持信息的實(shí)時(shí)性,以便于給整個(gè)大集群的可持續(xù)分配。這里每次使用top分配完一個(gè)小集群之后,若同一機(jī)房可以重復(fù)出現(xiàn)此次分配的多個(gè)小集群時(shí),則重新把top節(jié)點(diǎn)元素再次插入索引樹(shù),不然就把此top去除。可以根據(jù)實(shí)際需求靈活地變動(dòng)。
[0060]4.由I至3步驟循環(huán),直到集群請(qǐng)求隊(duì)列遍歷完成,此次分配才算完成,如果中間有任何一步失敗,此次分配直接失敗返回。
[0061]使用最大堆建立資源位置索引樹(shù)的意義不在于排序,而是在于資源選擇時(shí)的優(yōu)先調(diào)度管理,能快速定位資源最充足的機(jī)房機(jī)架,建立一個(gè)最大堆的復(fù)雜度為O(NlogN),而在堆結(jié)構(gòu)中插入一個(gè)值重新構(gòu)造堆結(jié)構(gòu),取走最大/最下值后重新構(gòu)造堆結(jié)構(gòu),其時(shí)間復(fù)雜度為O(1gN),而其他方法最少為O(N)。假設(shè)同構(gòu)情況下,有m個(gè)機(jī)房,每個(gè)機(jī)房有η個(gè)機(jī)架,且每個(gè)機(jī)房可重復(fù)分配,如果要分配一個(gè)包含了 X個(gè)小集群,每個(gè)小集群需要y臺(tái)機(jī)器資源的集群模型,按照普通的方法這里的時(shí)間復(fù)雜度為mxny,而使用索引樹(shù)的方法時(shí)0(MNlogM*logN+xlogM*ylogN),可以看出隨著集群分配量的加大或資源池本身的增大,索引樹(shù)在查找資源時(shí)的優(yōu)勢(shì)也相應(yīng)擴(kuò)大。有了這二個(gè)結(jié)構(gòu)(索引樹(shù)結(jié)構(gòu)和最大堆結(jié)構(gòu)),在每次分配過(guò)程中,都可以很容易地做到兩個(gè)方面,資源池會(huì)從多開(kāi)始分配,集群分配模型會(huì)從復(fù)雜開(kāi)始分配。從整體資源上看,這對(duì)整個(gè)資源池內(nèi)部的機(jī)房、機(jī)架之間的平衡無(wú)疑是非常有利的;從實(shí)施邏輯上來(lái)看,這無(wú)疑把復(fù)雜度降低了。
[0062]由上可以看到,上述方法使用資源位置信息建立索引樹(shù),提高了分配效率,也相對(duì)平衡了機(jī)房機(jī)架的負(fù)載,并且對(duì)分配請(qǐng)求進(jìn)行優(yōu)先級(jí)化,提高了整體的分配成功率,從而在機(jī)房資源分配調(diào)度管理方面具有很強(qiáng)的簡(jiǎn)便性??梢岳斫猓鲜龇椒ㄒ部梢詰?yīng)用于其他具有物理位置的資源分配上,例如各倉(cāng)庫(kù)中的資源等。
[0063]以上各改進(jìn)組合后形成本發(fā)明的較佳實(shí)施方式,但各改進(jìn)也可以分別使用。
[0064]本發(fā)明的各方法實(shí)施方式均可以以軟件、硬件、固件等方式實(shí)現(xiàn)。不管本發(fā)明是以軟件、硬件、還是固件方式實(shí)現(xiàn),指令代碼都可以存儲(chǔ)在任何類型的計(jì)算機(jī)可訪問(wèn)的存儲(chǔ)器中(例如永久的或者可修改的,易失性的或者非易失性的,固態(tài)的或者非固態(tài)的,固定的或者可更換的介質(zhì)等等)。同樣,存儲(chǔ)器可以例如是可編程陣列邏輯(Programmable ArrayLogic,簡(jiǎn)稱“PAL”)、隨機(jī)存取存儲(chǔ)器(Random Access Memory,簡(jiǎn)稱“RAM”)、可編程只讀存儲(chǔ)器(Programmable Read Only Memory,簡(jiǎn)稱 “PROM”)、只讀存儲(chǔ)器(Read-Only Memory,簡(jiǎn)稱“ROM”)、電可擦除可編程只讀存儲(chǔ)器(Electrically Erasable Programmable ROM,簡(jiǎn)稱“EEPR0M”)、磁盤、光盤、數(shù)字通用光盤(Digital Versatile Disc,簡(jiǎn)稱“DVD”)等等。
[0065]本發(fā)明第四實(shí)施方式涉及一種服務(wù)器資源分配系統(tǒng)。圖5是該服務(wù)器資源分配系統(tǒng)的結(jié)構(gòu)示意圖。如圖5所示,該服務(wù)器資源分配系統(tǒng)包括:
[0066]獲取單元,用于獲取空閑服務(wù)器資源數(shù)量和所在的物理位置信息??梢岳斫?,服務(wù)器資源主要是指處理器資源和存儲(chǔ)器資源,是有具體物理位置的資源,例如在機(jī)房A的機(jī)架B上。
[0067]選擇單元,用于根據(jù)獲取單元獲取的信息選擇空閑服務(wù)器資源數(shù)量最多的物理位置作為最空閑物理位置。以及
[0068]分配單元,用于優(yōu)先分配屬于最空閑物理位置的空閑服務(wù)器資源。
[0069]在本實(shí)施方式的系統(tǒng)中,獲取單元獲取空閑服務(wù)器資源數(shù)量和所在的物理位置信息,選擇單元選擇空閑服務(wù)器資源數(shù)量最多的物理位置來(lái)優(yōu)先分配其中的空閑服務(wù)器資源,有利于每次分配的可控性,以平衡各物理位置所具有空閑服務(wù)器資源的數(shù)量比例,在出現(xiàn)物理性事故時(shí)可以防止受影響的業(yè)務(wù)比例過(guò)大。
[0070]優(yōu)選地,在分配服務(wù)器資源時(shí),考慮各服務(wù)器資源的性能差異,以更好地實(shí)現(xiàn)負(fù)載平衡。具體地說(shuō):
[0071]上述空閑服務(wù)器資源數(shù)量是根據(jù)各服務(wù)器資源的性能比例計(jì)算的相對(duì)空閑服務(wù)器資源數(shù)量。例如,物理位置A處具有m個(gè)服務(wù)器資源a和η個(gè)服務(wù)器資源b,物理位置B處具有η個(gè)服務(wù)器資源a和m個(gè)服務(wù)器資源b,服務(wù)器資源a具有性能i,服務(wù)器資源b具有性能j,若以服務(wù)器資源a為基準(zhǔn),則物理位置A處具有m+n* j/i個(gè)服務(wù)器資源a,物理位置B處具有n+m*j/i個(gè)服務(wù)器資源a。
[0072]此外,可以理解,在本發(fā)明的其他實(shí)施方式中,空閑服務(wù)器資源數(shù)也可以是服務(wù)器資源的絕對(duì)數(shù)量。
[0073]第一實(shí)施方式是與本實(shí)施方式相對(duì)應(yīng)的方法實(shí)施方式,本實(shí)施方式可與第一實(shí)施方式互相配合實(shí)施。第一實(shí)施方式中提到的相關(guān)技術(shù)細(xì)節(jié)在本實(shí)施方式中依然有效,為了減少重復(fù),這里不再贅述。相應(yīng)地,本實(shí)施方式中提到的相關(guān)技術(shù)細(xì)節(jié)也可應(yīng)用在第一實(shí)施方式中。
[0074]本發(fā)明第五實(shí)施方式涉及一種服務(wù)器資源分配系統(tǒng)。第五實(shí)施方式在第四實(shí)施方式的基礎(chǔ)上進(jìn)行了改進(jìn),主要改進(jìn)之處在于:構(gòu)建子單元根據(jù)所獲取的信息先建立索引樹(shù),并基于該索引樹(shù)進(jìn)行服務(wù)器資源分配,提高了服務(wù)器資源分配的效率。具體地說(shuō):
[0075]選擇單元包括構(gòu)建子單元,用于根據(jù)獲取單元獲取的信息建立索引樹(shù),在該索引樹(shù)中以物理位置為節(jié)點(diǎn)并根據(jù)各物理位置處的空閑服務(wù)器資源數(shù)量對(duì)各物理位置進(jìn)行從大到小的排序,索引樹(shù)的頂部節(jié)點(diǎn)對(duì)應(yīng)空閑服務(wù)器資源數(shù)量最多的物理位置。
[0076]此外,可以理解,在某些實(shí)例中,也可以根據(jù)所獲取的信息建立其他形式的索引,例如B+樹(shù)、隊(duì)列、列表等,只要能夠快速選取出空閑服務(wù)器資源數(shù)量最多的物理位置即可。
[0077]則上述分配單元用于從構(gòu)建子單元建立的索引樹(shù)中取出頂部節(jié)點(diǎn)作為待分配節(jié)點(diǎn)、并優(yōu)先分配該待分配節(jié)點(diǎn)中的空閑服務(wù)器資源。
[0078]可選地,上述系統(tǒng)還可以包括更新單元,用于在分配單元進(jìn)行空閑服務(wù)器資源分配后更新待分配節(jié)點(diǎn)的剩余空閑服務(wù)器資源數(shù)量,并將該待分配節(jié)點(diǎn)重新插入索引樹(shù)。
[0079]或上述系統(tǒng)還可以包括刪除單元,用于在分配單元進(jìn)行空閑服務(wù)器資源分配后刪除最空閑物理位置的相關(guān)信息。
[0080]將進(jìn)行過(guò)服務(wù)器資源分配的物理位置的相關(guān)信息刪除,以從不同物理位置對(duì)服務(wù)器資源進(jìn)行分配,從而提高容災(zāi)能力。
[0081]此外,可以理解,在某些實(shí)例中,也可以根據(jù)實(shí)際情況,選擇同一物理位置為多個(gè)分配請(qǐng)求進(jìn)行服務(wù)器資源分配。
[0082]第二實(shí)施方式是與本實(shí)施方式相對(duì)應(yīng)的方法實(shí)施方式,本實(shí)施方式可與第二實(shí)施方式互相配合實(shí)施。第二實(shí)施方式中提到的相關(guān)技術(shù)細(xì)節(jié)在本實(shí)施方式中依然有效,為了減少重復(fù),這里不再贅述。相應(yīng)地,本實(shí)施方式中提到的相關(guān)技術(shù)細(xì)節(jié)也可應(yīng)用在第二實(shí)施方式中。
[0083]本發(fā)明第六實(shí)施方式涉及一種服務(wù)器資源分配系統(tǒng)。第六實(shí)施方式在第四或第五實(shí)施方式的基礎(chǔ)上進(jìn)行了改進(jìn),主要改進(jìn)之處在于:排序子單元根據(jù)所需分配的服務(wù)器資源數(shù)量和服務(wù)器資源類型對(duì)各子分配請(qǐng)求進(jìn)行從大到小的排序,分配子單元按照順序進(jìn)行服務(wù)器資源分配,可以提高整體的分配成功率。具體地說(shuō):
[0084]上述系統(tǒng)還包括接收單元,用于在分配單元進(jìn)行空閑服務(wù)器資源分配前接收分配請(qǐng)求,該分配請(qǐng)求包括多個(gè)子分配請(qǐng)求。
[0085]上述分配單元包括:
[0086]排序子單元,用于根據(jù)所需分配的服務(wù)器資源數(shù)量和服務(wù)器資源類型將接收單元接收的多個(gè)子分配請(qǐng)求進(jìn)行從大到小的排序。以及
[0087]分配子單元,用于按照順序依次為各子分配請(qǐng)求分配屬于最空閑物理位置的空閑服務(wù)器資源。
[0088]第三實(shí)施方式是與本實(shí)施方式相對(duì)應(yīng)的方法實(shí)施方式,本實(shí)施方式可與第三實(shí)施方式互相配合實(shí)施。第三實(shí)施方式中提到的相關(guān)技術(shù)細(xì)節(jié)在本實(shí)施方式中依然有效,為了減少重復(fù),這里不再贅述。相應(yīng)地,本實(shí)施方式中提到的相關(guān)技術(shù)細(xì)節(jié)也可應(yīng)用在第三實(shí)施方式中。
[0089]綜上,本發(fā)明的服務(wù)器資源分配方法及其系統(tǒng)具有以下幾個(gè)優(yōu)點(diǎn):
[0090]1、分配策略具體實(shí)現(xiàn)采用了最大堆等數(shù)據(jù)結(jié)構(gòu)與多重比較方法,這樣有利于每次分配的可擴(kuò)展性與復(fù)雜度可控性,做到了優(yōu)先考慮服務(wù)器資源現(xiàn)存數(shù)量的問(wèn)題,這一點(diǎn)可以幫助平衡各物理位置各自擁有服務(wù)器資源的數(shù)量比例;
[0091]2、對(duì)于集群間的分配,具有高可擴(kuò)展性,支持多集群分配和異構(gòu)類型的集群分配,同時(shí)考慮到容災(zāi)能力的提高,在沒(méi)有指定機(jī)房的情況下,分配策略分自動(dòng)將各集群選定在不同機(jī)房;
[0092]3、對(duì)于單個(gè)小集群內(nèi)的分配,同樣具備了高可擴(kuò)展性與高異構(gòu)性,最極端的情況下,可以配成集群內(nèi)部各服務(wù)器之間的類型各異。
[0093]需要說(shuō)明的是,本發(fā)明各設(shè)備實(shí)施方式中提到的各單元都是邏輯單元,在物理上,一個(gè)邏輯單元可以是一個(gè)物理單元,也可以是一個(gè)物理單元的一部分,還可以以多個(gè)物理單元的組合實(shí)現(xiàn),這些邏輯單元本身的物理實(shí)現(xiàn)方式并不是最重要的,這些邏輯單元所實(shí)現(xiàn)的功能的組合才是解決本發(fā)明所提出的技術(shù)問(wèn)題的關(guān)鍵。此外,為了突出本發(fā)明的創(chuàng)新部分,本發(fā)明上述各設(shè)備實(shí)施方式并沒(méi)有將與解決本發(fā)明所提出的技術(shù)問(wèn)題關(guān)系不太密切的單元引入,這并不表明上述設(shè)備實(shí)施方式并不存在其它的單元。
[0094]需要說(shuō)明的是,在本專利的權(quán)利要求和說(shuō)明書中,諸如第一和第二等之類的關(guān)系術(shù)語(yǔ)僅僅用來(lái)將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開(kāi)來(lái),而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語(yǔ)“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過(guò)程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒(méi)有明確列出的其他要素,或者是還包括為這種過(guò)程、方法、物品或者設(shè)備所固有的要素。在沒(méi)有更多限制的情況下,由語(yǔ)句“包括一個(gè)”限定的要素,并不排除在包括所述要素的過(guò)程、方法、物品或者設(shè)備中還存在另外的相同要素。
[0095]雖然通過(guò)參照本發(fā)明的某些優(yōu)選實(shí)施方式,已經(jīng)對(duì)本發(fā)明進(jìn)行了圖示和描述,但本領(lǐng)域的普通技術(shù)人員應(yīng)該明白,可以在形式上和細(xì)節(jié)上對(duì)其作各種改變,而不偏離本發(fā)明的精神和范圍。
【主權(quán)項(xiàng)】
1.一種服務(wù)器資源分配方法,其特征在于,包括以下步驟: 獲取空閑服務(wù)器資源數(shù)量和所在的物理位置信息; 根據(jù)所獲取的信息選擇空閑服務(wù)器資源數(shù)量最多的物理位置作為最空閑物理位置; 優(yōu)先分配屬于所述最空閑物理位置的空閑服務(wù)器資源。2.根據(jù)權(quán)利要求1所述的服務(wù)器資源分配方法,其特征在于,所述“根據(jù)所獲取的信息選擇空閑服務(wù)器資源數(shù)量最多的物理位置作為最空閑物理位置”的步驟中包括以下子步驟: 根據(jù)所獲取的信息建立索引樹(shù),在該索引樹(shù)中以物理位置為節(jié)點(diǎn)并根據(jù)各物理位置處的空閑服務(wù)器資源數(shù)量對(duì)各物理位置進(jìn)行從大到小的排序,所述索引樹(shù)的頂部節(jié)點(diǎn)對(duì)應(yīng)空閑服務(wù)器資源數(shù)量最多的物理位置。3.根據(jù)權(quán)利要求1所述的服務(wù)器資源分配方法,其特征在于,在所述“優(yōu)先分配屬于所述最空閑物理位置的空閑服務(wù)器資源”的步驟前還包括以下步驟: 接收分配請(qǐng)求,該分配請(qǐng)求包括多個(gè)子分配請(qǐng)求; 在所述“優(yōu)先分配屬于所述最空閑物理位置的空閑服務(wù)器資源”的步驟中包括以下子步驟: 根據(jù)所需分配的服務(wù)器資源數(shù)量和服務(wù)器資源類型將所述多個(gè)子分配請(qǐng)求進(jìn)行從大到小的排序; 按照順序依次為各子分配請(qǐng)求分配屬于所述最空閑物理位置的空閑服務(wù)器資源。4.根據(jù)權(quán)利要求2所述的服務(wù)器資源分配方法,其特征在于,所述“優(yōu)先分配屬于所述最空閑物理位置的空閑服務(wù)器資源”的步驟中,從所述索引樹(shù)中取出頂部節(jié)點(diǎn)作為待分配節(jié)點(diǎn)、并優(yōu)先分配該待分配節(jié)點(diǎn)中的空閑服務(wù)器資源; 所述“優(yōu)先分配屬于所述最空閑物理位置的空閑服務(wù)器資源”的步驟后還包括以下步驟: 更新所述待分配節(jié)點(diǎn)的剩余空閑服務(wù)器資源數(shù)量,并將該待分配節(jié)點(diǎn)重新插入所述索引樹(shù)。5.根據(jù)權(quán)利要求1至3中任一項(xiàng)所述的服務(wù)器資源分配方法,其特征在于,所述“優(yōu)先分配屬于所述最空閑物理位置的空閑服務(wù)器資源”的步驟后還包括以下步驟: 刪除所述最空閑物理位置的相關(guān)信息。6.根據(jù)權(quán)利要求1至4中任一項(xiàng)所述的服務(wù)器資源分配方法,其特征在于,所述空閑服務(wù)器資源數(shù)量是根據(jù)各服務(wù)器資源的性能比例計(jì)算的相對(duì)空閑服務(wù)器資源數(shù)量。7.一種服務(wù)器資源分配系統(tǒng),其特征在于,所述系統(tǒng)包括: 獲取單元,用于獲取空閑服務(wù)器資源數(shù)量和所在的物理位置信息; 選擇單元,用于根據(jù)所述獲取單元獲取的信息選擇空閑服務(wù)器資源數(shù)量最多的物理位置作為最空閑物理位置;以及 分配單元,用于優(yōu)先分配屬于所述最空閑物理位置的空閑服務(wù)器資源。8.根據(jù)權(quán)利要求7所述的服務(wù)器資源分配系統(tǒng),其特征在于,所述選擇單元包括構(gòu)建子單元,用于根據(jù)所述獲取單元獲取的信息建立索引樹(shù),在該索引樹(shù)中以物理位置為節(jié)點(diǎn)并根據(jù)各物理位置處的空閑服務(wù)器資源數(shù)量對(duì)各物理位置進(jìn)行從大到小的排序,所述索引樹(shù)的頂部節(jié)點(diǎn)對(duì)應(yīng)空閑服務(wù)器資源數(shù)量最多的物理位置。9.根據(jù)權(quán)利要求7所述的服務(wù)器資源分配系統(tǒng),其特征在于,所述系統(tǒng)還包括接收單元,用于在所述分配單元進(jìn)行空閑服務(wù)器資源分配前接收分配請(qǐng)求,該分配請(qǐng)求包括多個(gè)子分配請(qǐng)求; 所述分配單元包括: 排序子單元,用于根據(jù)所需分配的服務(wù)器資源數(shù)量和服務(wù)器資源類型將所述接收單元接收的多個(gè)子分配請(qǐng)求進(jìn)行從大到小的排序;以及 分配子單元,用于按照順序依次為各子分配請(qǐng)求分配屬于所述最空閑物理位置的空閑服務(wù)器資源。10.根據(jù)權(quán)利要求8所述的服務(wù)器資源分配系統(tǒng),其特征在于,所述分配單元用于從所述構(gòu)建子單元建立的索引樹(shù)中取出頂部節(jié)點(diǎn)作為待分配節(jié)點(diǎn)、并優(yōu)先分配該待分配節(jié)點(diǎn)中的空閑服務(wù)器資源; 所述系統(tǒng)還包括更新單元,用于在所述分配單元進(jìn)行空閑服務(wù)器資源分配后更新所述待分配節(jié)點(diǎn)的剩余空閑服務(wù)器資源數(shù)量,并將該待分配節(jié)點(diǎn)重新插入所述索引樹(shù)。11.根據(jù)權(quán)利要求7至9中任一項(xiàng)所述的服務(wù)器資源分配系統(tǒng),其特征在于,所述系統(tǒng)還包括刪除單元,用于在所述分配單元進(jìn)行空閑服務(wù)器資源分配后刪除所述最空閑物理位置的相關(guān)信息。12.根據(jù)權(quán)利要求7至10中任一項(xiàng)所述的服務(wù)器資源分配系統(tǒng),其特征在于,所述空閑服務(wù)器資源數(shù)量是根據(jù)各服務(wù)器資源的性能比例計(jì)算的相對(duì)空閑服務(wù)器資源數(shù)量。
【文檔編號(hào)】H04L12/803GK105991478SQ201510061103
【公開(kāi)日】2016年10月5日
【申請(qǐng)日】2015年2月5日
【發(fā)明人】張秦濤
【申請(qǐng)人】阿里巴巴集團(tuán)控股有限公司