專利名稱:機架空間分配方法及裝置的制作方法
技術領域:
本發明涉及空間分配技術,更具體地說,涉及一種互聯網數據中心的機架空間的自動分配方法及裝置。
背景技術:
在互聯網的數據中心,一般都是用機架(rack)容納客戶的設備(數據),機架具有機架空間(rack space),客戶的設備(數據)保存在機架空間中,客戶的設備(數據)稱之為業務,業務需要保存在連續的空閑的機架空間中。當有一個新的業務請求出現時,就需要查詢目前的機架空間中連續的空閑空間是否大于該業務所要求的空間,當有足夠的連續空間時,就能夠接受該業務。
機架空間是一種昂貴而稀有的資源,通常,機架空間的大小以單位空間(Unit Space)來表示,下面的描述中將使用單位U來表示機架空間的大小。通常,一個中等大小的互聯網數據中心具有的機架空間的大小為200(單個機架的數量)×40(單個機架中所具有的單位空間數)=8000U=8KU。所以,相對而言,在互聯網數據中心中,機架空間是珍貴的資源。
對于珍貴資源的利用必須是高效率的,但是,和其他所有的空間分配方案一樣,比如計算機的硬盤分配方案和內存分配方案,機架空間的分配也會遇到碎片的問題。碎片是由于反復地分配、釋放空間而產生。碎片的數量和分配的算法直接相關,同時,碎片的數量將直接影響到機架空間的整體性能。大量的碎片將導致機架空間中連續可用空間的數量大大減少,以至于在總的空閑空間量足夠的情況下仍然無法承接新的業務請求。
比如,參考下面的例子,參見圖1所示,圖1中示出了兩個機架,機架A和機架B,它們都具有30U的總空間,但是使用的狀況不相同對于機架A,總共具有6U的空閑空間,被分成了4部分,分別是1U、1U、2U、2U。機架B也具有6U的空閑空間,被分成了2部分,分別是5U和1U。此時,出現了一個業務請求,大小是4U,對于機架A,雖然總共具有6U的空閑空間,但是其中沒有任何一個連續空間的大小是達到4U的,因此機架A無法承接這個業務,而機架B中具有一個5U的連續空間,機架B可以承接這個業務。此時,就可以看到,由于大量的碎片(相對于4U的業務來說,小于4U的連續空間都可被視為是碎片)存在,使得機架A在總的空閑空間足夠的情況下仍然無法承接這個新的業務,并且,此時的機架A只能夠承接2U以下的業務,如果沒有2U以下的業務出現,機架A中的空閑空間將一直閑置,這種情況對于珍貴的機架空間來說是一種極大的浪費。
然后,在討論一下碎片產生的原因,參考圖2,圖2A示出了一個10U的連續的機架空間。此時,一個新的業務請求了1U的空間。對于10U的連續空間來說,其中的任意位置都能夠存放這1U的業務請求,但是不恰當的分配就會導致碎片的產生。
比如,按照圖2B的分配方式,將位于中間1U空間分配給了這個業務,從而剩下的連續空間形成了4U和5U兩個空間,這時,該機架只能承接5U以下的新業務,對于一個6U的業務,它將無法承接,但是實際上該機架空間中的空閑空間有9U。
如果更換一種分配的方式,將位于一端的1U空間分配給這個業務,參考圖2C所示,則剩下的連續空間還是9U,該機架仍然可以承接9U的業務,與其實際的空閑空間相等,達到高的利用效率。
通過上面的實例,可以得知,在實際的應用中,由于業務請求的大小不一,在處理大量需要較小空間的業務請求時,如果分配的方式不合理,就會產生大量的碎片,從而大大地降低整個機架空間的性能。
類似的問題也會出現在其他的空間分配領域中,比如計算機的硬盤空間或者內存空間的分配。參考圖3A,此時所示的是計算機的硬盤空間或者內存空間的狀況,同樣對于一個30U的空間(為了說明簡單,此處將計算機的硬盤空間或者內存空間也采用單位空間U作為計量單位)。它的使用狀況如下4個被占用的空間,大小分別是11U、5U、3U、3U,它們之間被空閑空間隔開,分別是1U、1U、2U、2U,此時出現了一個5U的業務請求。如果是計算機的硬盤空間或者內存空間,則可以通過調整空間的使用狀況來合并上述不連續的空閑空間,通過調整之后,將產生一個6U的連續空間,所有的被占用的空間也將變得連續,參考圖3B。在計算機的硬盤空間或者內存空間中,這樣的調整是可行的,因為底層的物理空間對用用戶來說是透明的,并且調整存儲位置并不會影響到這些數據的使用。
但是,上述的方法在機架空間中是不可行的,因為1)互聯網數據中心的機架空間中保存的是用戶的設備(數據),每一次存儲空間的改變都會牽涉到該設備的相應調整,由于用戶的數量眾多,每當有新的業務請求產生時,就要求所有的用戶都調整存儲的位置并修改設備的相應設置顯然是不可行的。
2)互聯網數據中心的機架空間是一個向用戶開放的空間,不像計算機的硬盤空間或者內存空間是一個僅供系統使用的內部空間。對于開放空間的頻繁改動是用戶所不能接受的。
因此,和其他的空間分配方案相比較,機架空間的分配有著如下的重要差別,所分配的空間只能被釋放,而不能被移動,因而,對于已經分配的空間,不能通過調整合并的方式來進行修改。
于是,對于機架空間的分配,就要求在分配時就要考慮如何減少碎片產生的可能性,并盡量保持較大的連續空閑空間,因為在分配之后就無法通過空間的移動和合并來消除碎片。
發明內容
本發明的目的是提供一種能夠有效減少碎片并盡量保持較大的連續空閑空間的機架空間的分配方法。
根據本發明的第一方面,提供一種互聯網數據中心的機架空間的分配方法,包括確定一片段空間門限值;以及在所述機架空間中劃分一片段空間;其中,當接收到請求機架空間的業務時,首先判斷該業務所請求的空間大小是否小于所述片段空間門限值,如果小于所述片段空間門限值,則從所述片段空間中分配空間給所述業務。
較佳的,每一次接收到新的業務并從所述機架空間中分配空間后,重新確定片段空間門限值。以及,每一次接收到新的業務并從所述機架空間中分配空間后,重新劃分片段空間。
根據本發明,所述方法還包括確定一大空間門限值;以及在所述機架空間中劃分一大空間,所述大空間與所述片段空間不重疊;其中當接收到請求機架空間的業務時,首先判斷該業務所請求的空間大小是否大于所述大空間門限值,如果大于所述大空間門限值,則從所述大空間中分配空間給所述業務。
較佳的,每一次接收到新的業務并從所述機架空間中分配空間后,重新確定大空間門限值。以及,每一次接收到新的業務并從所述機架空間中分配空間后,重新劃分大空間。
根據本發明,所述方法還包括,所述機架空間中除去片段空間和大空間以外的空間設定為一般業務空間,當接收到請求機架空間的業務,并且判斷該業務所請求的空間大小是小于所述大空間門限值而大于所述片段空間門限值,則從所述一般業務空間中分配空間給所述業務。
較佳的,所述片段空間、大空間和一般業務空間都是連續的空間。
根據本發明,所述方法還包括,所述互聯網數據中心的機架空間劃分為數個機架,設定第一對象,每個第一對象表示一單個的機架;設定第二對象,每個第二對象表示一單個機架中的一連續的空閑空間;當接收到請求機架空間的業務時,基于所述第一對象、第二對象、該業務所請求的空間、所述大空間門限值以及所述片段空間門限確定分配給所述業務的空間。
其中,所述第二對象包括第一子對象,表示該單個機架中的該連續的空閑空間的權重;第二子對象,表示該單個機架中的該連續的空閑空間的大小;當接收到請求機架空間的業務時,基于所述第一對象、第一子對象、第二子對象、該業務所請求的空間、所述大空間門限值以及所述片段空間門限確定分配給所述業務的空間。以及,根據第一對象當前值、第一子對象當前值、第二子對象當前值、業務所請求的空間、大空間門限值以及片段空間門限計算確定新的第一子對象的值,即一單個機架中的一連續的空閑空間的權重;在分配空間時,所分配的空間需滿足如下的條件,該連續空間具有最大的第一子對象值,即最大的權重;該空間具有不小于業務所請求的空間的第二子對象值,即連續的空閑空間。
較佳的,該方法還包括,設定第三對象,表示機架空間中一單位空間的大小。
根據本發明的第二方面,提供一種互聯網數據中心的機架空間的分配裝置,包括門限值確定裝置,確定一片段空間門限值;空間劃分裝置,在所述機架空間中劃分一片段空間;判斷裝置,判斷所接收的業務所請求的空間大小;以及空間分配裝置,分配空間給所述業務;其中,當接收到請求機架空間的業務時,判斷裝置首先判斷該業務所請求的空間大小是否小于門限值確定裝置所設定的片段空間門限值,如果小于片段空間門限值,則空間分配裝置從空間劃分裝置劃分的片段空間中分配空間給所述業務。
較佳的,門限值確定裝置在每一次接收到新的業務并從所述機架空間中分配空間后重新確定片段空間門限值。以及,空間劃分裝置在每一次接收到新的業務并從所述機架空間中分配空間后重新劃分片段空間。
根據本發明,門限值確定裝置還確定一大空間門限值;以及空間劃分裝置還在機架空間中劃分一大空間,所述大空間與所述片段空間不重疊;其中,當接收到請求機架空間的業務時,判斷裝置首先判斷該業務所請求的空間大小是否大于門限值確定裝置所設定的大空間門限值,如果大于大空間門限值,則空間分配裝置從空間劃分裝置劃分的大空間中分配空間給所述業務。
較佳的,門限值確定裝置在每一次接收到新的業務并從所述機架空間中分配空間后重新確定大空間門限值。以及,空間劃分裝置在每一次接收到新的業務并從所述機架空間中分配空間后重新劃分大空間。
根據本發明,空間劃分裝置將機架空間中除去片段空間和大空間以外的空間設定為一般業務空間,當接收到請求機架空間的業務,并且判斷裝置判斷該業務所請求的空間大小是小于大空間門限值而大于片段空間門限值,則從一般業務空間中分配空間給所述業務。
較佳的,空間劃分裝置將片段空間、大空間和一般業務空間都劃分成連續的空間。
根據本發明,所述互聯網數據中心的機架空間劃分為數個機架,所述分配裝置還包括對象設定裝置,該對象設定裝置,設定第一對象,每個第一對象表示一單個的機架;設定第二對象,每個第二對象表示一單個機架中的一連續的空閑空間;當接收到請求機架空間的業務時,基于所述第一對象、第二對象、該業務所請求的空間、所述大空間門限值以及所述片段空間門限確定分配給所述業務的空間。
其中,對象設定裝置還為第二對象設定子對象,包括第一子對象,表示該單個機架中的該連續的空閑空間的權重;第二子對象,表示該單個機架中的該連續的空閑空間的大小;當接收到請求機架空間的業務時,基于所述第一對象、第一子對象、第二子對象、該業務所請求的空間、所述大空間門限值以及所述片段空間門限確定分配給所述業務的空間。以及,本發明的分配裝置還包括計算裝置,該計算裝置根據第一對象當前值、第一子對象當前值、第二子對象當前值、業務所請求的空間、大空間門限值以及片段空間門限計算確定新的第一子對象的值,即一單個機架中的一連續的空閑空間的權重;空間分配裝置將滿足如下的條件的空間分配給所述業務,該連續空間具有最大的第一子對象值,即最大的權重;該空間具有不小于業務所請求的空間的第二子對象值,即連續的空閑空間。
較佳的,對象設定裝置還設定第三對象,表示機架空間中一單位空間的大小。
采用了本發明的技術方案,通過將較小的業務請求放置在專門劃分的片段空間中,從而避免了較小的業務請求占用大段的連續空間的狀況,可有效地減小機架空間中碎片產生的可能性,并且,較大的連續空間可供較大的業務請求使用,加大了機架空間的整體利用效率,提高了性能并且較小了出現浪費的可能性。
本發明上述的以及其他的特征、性質和優勢將通過下面結合附圖和實施例的詳細描述而變得更加明顯,在附圖中,相同的附圖標記始終表示相同的特征,其中圖1是機架空間使用狀況的一個實例,其中產生了碎片;圖2A-C是產生碎片的原因分析的示意圖;圖3A、B是其他空間分配方式中的碎片消除方法的示意圖;圖4A是根據本發明的機架空間分配方法的第一實施例的流程圖;圖4B是根據本發明的機架空間分配方法的第二實施例的流程圖;圖4C是根據本發明的機架空間分配方法的第三實施例的流程圖;圖5A-D是根據本發明的機架空間分配方法的第一實施例進行分配后的機架空間的分配狀況;圖5E-H是根據本發明的機架空間分配方法的第二實施例進行分配后的機架空間的分配狀況;圖6示出了根據本發明的一機架分配算法的示例;圖7示出了根據本發明的一實施例的權重計算算法的流程圖;圖8示出了根據本發明的一實施例的機架空間分配裝置的結構框圖。
具體實施例方式
本發明的目的是提供一種互聯網數據中心的機架空間的分配方案,其主要思想是對容易產生碎片的較小的業務請求從專門的區域中分配空間,從而避免對于較大的連續空間的不必要的分割,由此可保留較大的連續空間供較大的業務請求使用。
示例的機架空間分配方法第一實施例參考圖4A,其示出了根據本發明的一種互聯網數據中心的機架空間的分配方法,包括如下的步驟400.確定一片段空間門限值;402.在機架空間中劃分一片段空間;404.接收到請求機架空間的業務時,判斷該業務所請求的空間大小是否小于片段空間門限值;406.如果小于片段空間門限值,則從片段空間中分配空間給所述業務;408.如果大于片段空間門限值,則從除片段空間以外的空間中分配給所述業務。
參考圖5A所示,圖5A示出了根據圖4A所示的分配方法進行分配后的機架空間的分配狀況。在圖5A所示的實例中,一個具有20U的機架空間500被分成了兩個部分,5U的片段空間501以及15U的剩余空間502。根據使用狀況,設定片段空間門限值為2U,即小于2U的業務請求將被放置到5U的片段空間501中,大于2U的業務請求將被放置到15U的剩余空間502中,對于恰好是2U的業務請求,放在任何一個空間中都可以,這可以根據實際的使用狀況加以設定,本發明并不對此作出限制。
通常,在進行了一次空間分配之后,需要重新確定片段空間門限值以及重新劃分片段空間。例如參考圖5B,在5U的片段空間501中已經有三個1 U的空間被占據,此時,片段空間501最大的連續空間已經變成了1U,則可以重新確定片段空間門限值為1U。
在每一次接收到新的業務并從機架空間中分配空間后,還可以重新劃分片段空間,比如,參考圖5C所示,在5U的片段空間501中已經有兩個1U的空間被占據,且片段空間501最大的連續空間已經變成了1U,此時希望繼續保持片段空間門限值為2U,則可以通過改變片段空間501的大小來實現,比如,如圖5C所示的,將片段空間501的大小變為6U,從而使的片段空間501中最大的連續空間大小依然為2U。
有時,需要同時調整片段空間門限值以及重新劃分片段空間,比如在圖5D所示的情況中,片段空間501中已經有兩個1U的空間被占據,而15U的剩余空間502中同樣有11U的空間被占據,此時,希望保持這個機架仍然能夠承接5U的業務,則需要將剩余空間502擴大為16U,這樣,片段空間501中最大的連續空間變成了1U,則需要將片段空間門限值為1U。
第二實施例圖4B是根據本發明的機架空間分配方法的第二實施例的流程圖,根據該實施例,該方法包括如下的步驟410.確定一片段空間門限值;411.在機架空間中劃分一片段空間;412.確定一大空間門限值;413.在機架空間中劃分一大空間,大空間與片段空間不重疊;414.接收到請求機架空間的業務時,判斷該業務所請求的空間大小是否小于片段空間門限值;415.如果小于片段空間門限值,則從片段空間中分配空間給所述業務;416.如果大于片段空間門限值,則進一步判斷該業務所請求的空間是否大空間門限值;417.如果大于大空間門限,則從大空間中分配空間給所述業務;418.如果小于大空間門限,則從除了片段空間和大空間之外的空間中分配給所述業務。
參考圖5E所示,圖5E示出了根據圖4B所示的分配方法進行分配后的機架空間的分配狀況。在圖5E所示的實例中,一個具有30U的機架空間510被分成了兩個部分,5U的片段空間511以及10U的剩余空間502和15U的大空間513。根據使用狀況,設定片段空間門限值為2U,即小于2U的業務請求將被放置到5U的片段空間511中,大空間門限值被設定為5U,即大于5U的業務請求將被放置到大空間513中,大于2U而小于5U的業務請求將被放置到10U的剩余空間512中,對于恰好是2U以及5U的業務請求,類似前面所述的情況,可以根據實際的使用狀況加以設定放置在哪一個空間中,本發明并不對此作出限制。
通常,在進行了一次空間分配之后,也需要重新確定大空間門限值以及重新劃大空間。例如參考圖5F,在15U的大空間513中已經有一個6U和一個5U的空間被占據,此時,大空間513最大的連續空間已經變成了4U,則可以重新確定片段空間門限值為4U。
在每一次接收到新的業務并從機架空間中分配空間后,還可以重新劃分大空間,比如,參考圖5G所示,此時希望繼續保持大空間門限值為5U,則可以通過改變大空間513的大小來實現,比如,如圖5G所示的,將大空間513的大小變為16U,從而使的大空間513中最大的連續空間大小依然為5U,此時,剩余空間的大小變為9U。
有時,需要同時調整大空間門限值以及重新劃分大空間,比如在圖5G所示的情況中,大空間501中已經有一個6U和一個5U的空間被占據,此時,希望這個機架能夠承接一個7U的業務,則需要將大空間513擴大為18U,這樣,大空間513中最大的連續空間變成了7U,可將大空間門限值也調整為7U,相應的,剩余空間縮小到了7U,參考圖5H所示。
對于本領域技術人員來說,可以預見到,在一些情況下,對于大空間參數的調整會影響到片段空間的參數,此時,就需要對兩者同時進行調整,比如,在上述的圖5H中,如果希望保持剩余空間的大小為10U,就需要調整片段空間的大小,結合片段空間的使用狀況,可能還需要調整片段門限值。這是屬于本領域的技術人員可以預見的內容,這里就不再詳細描述。
第三實施例圖4C是根據本發明的機架空間分配方法的第三實施例的流程圖,根據該實施例,該方法包括如下的步驟420.確定一片段空間門限值;421.在機架空間中劃分一片段空間;422.確定一大空間門限值;423.在機架空間中劃分一大空間,大空間與片段空間不重疊;424.將剩余的空間設定為一般業務空間;425.接收到請求機架空間的業務時,判斷該業務所請求的空間大小是否小于片段空間門限值;426.如果小于片段空間門限值,則從片段空間中分配空間給所述業務;427.如果大于片段空間門限值,則進一步判斷該業務所請求的空間是否大空間門限值;428.如果大于大空間門限,則從大空間中分配空間給所述業務;429.如果小于大空間門限,則從一般業務空間中分配給所述業務。
該實施例的流程以及空間分配的狀況和上述的第二實施例相近,這里就不再重復描述。需要說明,通常,片段空間、大空間和一般業務空間都是各自連續的空間。三個空間互相領接,對于如何安排這三個空間的順序,本發明并不進行限制。
劃分機架時的機架空間分配算法在實際的應用中,通常在一個互聯網的數據中心的機架空間會被劃分成數個機架,每一個機架會具有一對應的機架空間,此時,當出現一業務請求時,就需要從數個機架中選取最合適的機架來分配給該業務。總的分配原則如上面所介紹的,下面說明一具體的示例分配算法。
首先,需要定義一系列的對象,包括第一對象,每個第一對象表示一單個的機架。在該示例中,第一對象被設定為Rack;第二對象,每個第二對象表示一單個機架中的一連續的空閑空間,在該示例中,第二對象被設定為RackRoom。在該實例中,第二對象還包括兩個字對象第一子對象,表示該單個機架中的該連續的空閑空間的權重,此處被設定為iWeight;第二子對象,表示該單個機架中的該連續的空閑空間的大小,此處被設定為iSpace;該示例中,還設定了第三對象,表示機架空間中一單位空間的大小,即一個U的大小,由于U不是標準的空間單位,該對象規定了一個U的實際大小,第三對象被設定為RackSpace。
此外,還定義了一系列的參數,包括片段空間門限值(fragment space threshold,FSH);大空間門限值(big space threshold,BSH);片段空間區域(fragment space area,FSA),FSA將表示片段空間的范圍。
業務所請求的空間大小iNeedSpace。
此處,并沒有定義大空間區域,下面的描述將結合上述三個參數來進行,對于本領域的技術人員來說,可以預見到,如果增加一個大空間區域的參數,也可以實現上述的算法。
當接收到一個新的業務請求時,可根據Rack當前值、iWeight當前值、iSpace當前值、iNeedSpace、BSH、FSH和FSA計算確定新的iWeight值,即一單個機架中的一連續的空閑空間的權重;在分配空間時,所分配的空間需滿足如下的條件,該空間具有最大的iWeight,即最大的權重;該空間具有不小于iNeedSpace的iSpace,即連續的空閑空間。
圖6示出了根據本發明的一機架分配算法的示例,參考圖6,該算法包括600.接收業務所要求的機架空間iNeedSpace;602.計算所有單個機架中的所有連續空間的權重,即對于所有的Rack,計算其中母一個RackRoom的iWeight;604.從所有的單個機架的所有連續空間中,找到具有最大權重的一個,即遍歷所有Rack的所有RackRoom,尋找具有最高的iWeight的一個;606.如果該RackRoom的iSpace同樣符合小于iNeedSpace條件,就確定為該連續空間分配給該業務;608.在分配之后,重新計算所有的所有單個機架中的所有連續空間的權重,即對于所有的Rack,重新計算其中每一個RackRoom的iWeight;610.在全部運行結束后,清除所有的權重值,即對于所有Rack中的所有RackRoom清除其iWeight值。
在上述的步驟中,無疑計算權重iWeight是實現本發明的算法的最重要一環。
圖7示出了根據本發明的一實施例的權重計算算法的流程圖,參考圖7,該算法包括700.接收業務所要求的機架空間iNeedSpace;701.判斷iNeedSpace與BSH的大小,如果iNeedSpace大于BSH,則進入步驟703,如果不大于,則進入步驟702;702.設置一中間變量iCtrl,并將其設置為1,之后進入步驟704;703.設置一中間變量iCtrl,并將其設置為-1,之后進入步驟704;704.設置一中間變量i,且對于所有Rack,使用i作為其索引;705.判斷下述條件是否滿足當前的Rack不是處于FSA中,并且iNeedSpace不大于FSH,如果符合上述條件,則改變上述的索引值i,查詢下一Rack時候符合上述條件,直至找到出現不符合的Rack;706.對于在該Rack中的所有RackRoom,進行如下的判斷該RackRoom的iSpace大于iNeedSpace,如果是的話,進入步驟708,如果不是的話,則進入步驟707;707.將該RackRoom的iWeight設置為0;進入步驟709;708.將該RackRoom的iWeight設置為iWeightthreshold-i*iCtrl;進入步驟709,此處,iWeightthreshold是一預定的變量值,通常,iWeightthreshold會被設置成一個常量,以保證iWeight總是能夠大于0;709.判斷是否對于該Rack內所有的RackRoom都進行了iWeight設置,如果沒有完成,回到步驟706對該Rack中的下一個RackRoom計算iWeight;如果該Rack中的RackRoom已經計算完畢,則回到步驟705,查找下一個Rack。
當所有的Rack以及其中所有的RackRoom都具有了iWeight之后,遍歷所有的Rack中的所有RackRoom,找到其中具有最高的iWeight的RackRoom,并判斷該RackRoom的iSpace大于iNeedSpace,即可進行分配。
上述的算法中,RackRoom的iSpace大于iNeedSpace的,它們的iWeight總是要比那些iSpace小于等于iNeedSpace的RackRoom大。
通過上述的算法,可以將要求較小空間的業務限制在FSA內,以保證留有足夠的連續空間供要求較大空間的業務使用。
示例的機架空間分配裝置第一實施例根據本發明的第二方面,提供一種互聯網數據中心的機架空間的分配裝置,圖8示出了根據本發明的一實施例的機架空間分配裝置的結構框圖,如圖8所示,該裝置800包括門限值確定裝置802,用于確定一片段空間門限值;空間劃分裝置804,在機架空間中劃分一片段空間;判斷裝置806,判斷所接收的業務所請求的空間大小;以及空間分配裝置808,分配空間給所述業務;其中,當接收到請求機架空間的業務時,判斷裝置806首先判斷該業務所請求的空間大小是否小于門限值確定裝置802所設定的片段空間門限值,如果小于片段空間門限值,則空間分配裝置808從空間劃分裝置804劃分的片段空間中分配空間給所述業務。
第一實施例的空間分配裝置的功能與上述的第一實施例的機架空間的分配方法相對應,具體的功能以及空間分配的實例參考上面的描述以及圖5A-5D。
同樣,根據第一實施例,門限值確定裝置802在每一次接收到新的業務并從機架空間中分配空間后重新確定片段空間門限值。以及,空間劃分裝置804在每一次接收到新的業務并從所述機架空間中分配空間后重新劃分片段空間。
第二實施例第二實施例的結構框圖同樣參考圖8所示,該裝置800包括門限值確定裝置802,用于確定一片段空間門限值,還確定一大空間門限值空間劃分裝置804,在機架空間中劃分一片段空間,還在機架空間中劃分一大空間,所述大空間與所述片段空間不重疊;判斷裝置806,判斷所接收的業務所請求的空間大小;以及空間分配裝置808,分配空間給所述業務;其中,當接收到請求機架空間的業務時,判斷裝置806首先判斷該業務所請求的空間大小是否小于門限值確定裝置802所設定的片段空間門限值,如果小于片段空間門限值,則空間分配裝置808從空間劃分裝置804劃分的片段空間中分配空間給所述業務,如果不小于片段空間門限值,則判斷裝置806還判斷該業務所請求的空間大小是否大于門限值確定裝置802所設定的大空間門限值,如果大于大空間門限值,則空間分配裝置808從空間劃分裝置804劃分的大空間中分配空間給所述業務。
第二實施例的空間分配裝置的功能與上述的第二實施例的機架空間的分配方法相對應,具體的功能以及空間分配的實例參考上面的描述以及圖5E-5H。
同樣,根據第二實施例,門限值確定裝置802在每一次接收到新的業務并從所述機架空間中分配空間后重新確定大空間門限值。以及,空間劃分裝置804在每一次接收到新的業務并從所述機架空間中分配空間后重新劃分大空間。類似的,第二實施例的裝置也可能由門限值確定裝置802同時調整片段空間門限值和大空間門限值,而空間劃分裝置804可同時調整片段空間和大空間。
第三實施例第三實施例的結構框圖同樣參考圖8所示,該裝置800包括門限值確定裝置802,用于確定一片段空間門限值,還確定一大空間門限值;空間劃分裝置將機架空間中除去片段空間和大空間以外的空間設定為一般業務空間空間劃分裝置804,在機架空間中劃分一片段空間,還在機架空間中劃分一大空間,所述大空間與所述片段空間不重疊;空間劃分裝置804還將判斷裝置806,判斷所接收的業務所請求的空間大小;以及空間分配裝置808,分配空間給所述業務;其中,當接收到請求機架空間的業務時,判斷裝置806首先判斷該業務所請求的空間大小是否小于門限值確定裝置802所設定的片段空間門限值,如果小于片段空間門限值,則空間分配裝置808從空間劃分裝置804劃分的片段空間中分配空間給所述業務,如果不小于片段空間門限值,則判斷裝置806還判斷該業務所請求的空間大小是否大于門限值確定裝置802所設定的大空間門限值,如果大于大空間門限值,則空間分配裝置808從空間劃分裝置804劃分的大空間中分配空間給所述業務。對于判斷裝置806判斷該業務所請求的空間大小是小于大空間門限值而大于片段空間門限值,則從一般業務空間中分配空間給所述業務。
在上述的三個實施例中,空間劃分裝置804將片段空間、大空間和一般業務空間都劃分成連續的空間。
劃分機架時的機架空間分配裝置同樣對應于前面所述的劃分機架時的空間分配算法,本發明也提供一種劃分機架時的空間分配裝置,一般的互聯網數據中心的機架空間都會劃分為數個機架,因此,在上述三個實施例中的任一個的基礎上,該分配裝置還包括對象設定裝置810,該對象設定裝置810用于設定第一對象,每個第一對象表示一單個的機架。在該示例中,第一對象被設定為Rack;第二對象,每個第二對象表示一單個機架中的一連續的空閑空間,在該示例中,第二對象被設定為RackRoom。在該實例中,第二對象還包括兩個字對象第一子對象,表示該單個機架中的該連續的空閑空間的權重,此處被設定為iWeight;第二子對象,表示該單個機架中的該連續的空閑空間的大小,此處被設定為iSpace;該示例中,還設定了第三對象,表示機架空間中一單位空間的大小,即一個U的大小,由于U不是標準的空間單位,該對象規定了一個U的實際大小,第三對象被設定為RackSpace。
此外,對象設定裝置804還定義了一系列的參數,包括片段空間門限值(fragment space threshold,FSH);大空間門限值(big space threshold,BSH);片段空間區域(fragment space area,FSA),FSA將表示片段空間的范圍。
業務所請求的空間大小iNeedSpace。
此處,并沒有定義大空間區域,下面的描述將結合上述三個參數來進行,對于本領域的技術人員來說,可以預見到,如果增加一個大空間區域的參數,也可以實現上述的算法。
當接收到一個新的業務請求時,可根據Rack當前值、iWeight當前值、iSpace當前值、iNeedSpace、BSH、FSH和FSA計算確定新的iWeight值,即一單個機架中的一連續的空閑空間的權重;
在分配空間時,空間分配裝置808所分配的空間需滿足如下的條件,該空間具有最大的iWeight,即最大的權重;該空間具有不小于iNeedSpace的iSpace,即連續的空閑空間。
上述的分配裝置800中的判斷裝置806和空間分配裝置808共同實現下列的功能,或者,也可以在分配裝置800中另外增加一處理器812,用于實現下述的算法接收業務所要求的機架空間iNeedSpace;計算所有單個機架中的所有連續空間的權重,即對于所有的Rack,計算其中每一個RackRoom的iWeight;從所有的單個機架的所有連續空間中,找到具有最大權重的一個,即遍歷所有Rack的所有RackRoom,尋找具有最高的iWeight的一個;如果該RackRoom的iSpace同樣符合小于iNeedSpace條件,就確定為該連續空間分配給該業務;在分配之后,重新計算所有的所有單個機架中的所有連續空間的權重,即對于所有的Rack,重新計算其中每一個RackRoom的iWeight;在全部運行結束后,清除所有的權重值,即對于所有Rack中的所有RackRoom清除其iWeight值。
在上述的過程中,無疑計算權重iWeight是實現本發明的算法的最重要一環。權重計算算法包括接收業務所要求的機架空間iNeedSpace;判斷iNeedSpace與BSH的大小,如果iNeedSpace大于BSH,則設置一中間變量iCtrl,并將其設置為-1;如果不大于,則設置一中間變量iCtrl,并將其設置為1;設置一中間變量i,且對于所有Rack,使用i作為其索引;判斷下述條件是否滿足當前的Rack不是處于FSA中,并且iNeedSpace不大于FSH,如果符合上述條件,則改變上述的索引值i,查詢下一Rack時候符合上述條件,直至找到出現不符合的Rack;對于在該Rack中的所有RackRoom,進行如下的判斷該RackRoom的iSpace大于iNeedSpace,如果是的話,將該RackRoom的iWeight設置為iWeightthreshold-i*iCtrl,此處,iWeightthreshold是一預定的變量值,通常,iWeightthreshold會被設置成一個常量,以保證iWeight總是能夠大于0;如果不是的話,則將該RackRoom的iWeight設置為0;判斷是否對于該Rack內所有的RackRoom都進行了iWeight設置,如果沒有完成,回到前面的過程對該Rack中的下一個RackRoom計算iWeight;如果該Rack中的RackRoom已經計算完畢,則回到前面的過程查找下一個Rack。
當所有的Rack以及其中所有的RackRoom都具有了iWeight之后,遍歷所有的Rack中的所有RackRoom,找到其中具有最高的iWeight的RackRoom,并判斷該RackRoom的iSpace大于iNeedSpace,即可進行分配。
上述的算法中,RackRoom的iSpace大于iNeedSpace的,它們的iWeight總是要比那些iSpace小于等于iNeedSpace的RackRoom大。
通過上述的算法,可以將要求較小空間的業務限制在FSA內,以保證留有足夠的連續空間供要求較大空間的業務使用。
需要說明,對本領域的技術人員來說,實現上述算法的裝置可以有多種實現的形式,比如執行一軟件程序的通用處理器、專門設計的專用處理器、邏輯電路等等,這些都在本發明的范圍之內。
采用了本發明的技術方案,通過將較小的業務請求放置在專門劃分的片段空間中,從而避免了較小的業務請求占用大段的連續空間的狀況,可有效地減小機架空間中碎片產生的可能性,并且,較大的連續空間可供較大的業務請求使用,加大了機架空間的整體利用效率,提高了性能并且較小了出現浪費的可能性。
上述實施例是提供給熟悉本領域內的人員來實現或使用本發明/實用新型的,熟悉本領域的人員可在不脫離本發明/實用新型的發明思想的情況下,對上述實施例做出種種修改或變化,因而本發明/實用新型的保護范圍并不被上述實施例所限,而應該是符合權利要求書提到的創新性特征的最大范圍。
權利要求
1.一種互聯網數據中心的機架空間的分配方法,其特征在于,包括確定一片段空間門限值;以及在所述機架空間中劃分一片段空間;其中,當接收到請求機架空間的業務時,首先判斷該業務所請求的空間大小是否小于所述片段空間門限值,如果小于所述片段空間門限值,則從所述片段空間中分配空間給所述業務。
2.如權利要求1所述的分配方法,其特征在于,還包括每一次接收到新的業務并從所述機架空間中分配空間后,重新確定片段空間門限值。
3.如權利要求2所述的分配方法,其特征在于,還包括每一次接收到新的業務并從所述機架空間中分配空間后,重新劃分片段空間。
4.如權利要求1所述的分配方法,其特征在于,還包括確定一大空間門限值;以及在所述機架空間中劃分一大空間,所述大空間與所述片段空間不重疊;其中當接收到請求機架空間的業務時,首先判斷該業務所請求的空間大小是否大于所述大空間門限值,如果大于所述大空間門限值,則從所述大空間中分配空間給所述業務。
5.如權利要求4所述的分配方法,其特征在于,還包括每一次接收到新的業務并從所述機架空間中分配空間后,重新確定大空間門限值。
6.如權利要求5所述的分配方法,其特征在于,還包括每一次接收到新的業務并從所述機架空間中分配空間后,重新劃分大空間。
7.如權利要求4所述的分配方法,其特征在于,還包括所述機架空間中除去片段空間和大空間以外的空間設定為一般業務空間,當接收到請求機架空間的業務,并且判斷該業務所請求的空間大小是小于所述大空間門限值而大于所述片段空間門限值,則從所述一般業務空間中分配空間給所述業務。
8.如權利要求7所述的分配方法,其特征在于,所述片段空間、大空間和一般業務空間都是連續的空間。
9.如權利要求7所述的分配方法,其特征在于,所述互聯網數據中心的機架空間劃分為數個機架,該方法還包括設定第一對象,每個第一對象表示一單個的機架;設定第二對象,每個第二對象表示一單個機架中的一連續的空閑空間;當接收到請求機架空間的業務時,基于所述第一對象、第二對象、該業務所請求的空間、所述大空間門限值以及所述片段空間門限確定分配給所述業務的空間。
10.如權利要求9所述的分配方法,其特征在于,所述第二對象包括第一子對象,表示該單個機架中的該連續的空閑空間的權重;第二子對象,表示該單個機架中的該連續的空閑空間的大小;當接收到請求機架空間的業務時,基于所述第一對象、第一子對象、第二子對象、該業務所請求的空間、所述大空間門限值以及所述片段空間門限確定分配給所述業務的空間。
11.如權利要求10所述的分配方法,其特征在于,根據第一對象當前值、第一子對象當前值、第二子對象當前值、業務所請求的空間、大空間門限值以及片段空間門限計算確定新的第一子對象的值,即一單個機架中的一連續的空閑空間的權重;在分配空間時,所分配的空間需滿足如下的條件,該連續空間具有最大的第一子對象值,即最大的權重;該空間具有不小于業務所請求的空間的第二子對象值,即連續的空閑空間。
12.如權利要求11所述的分配方法,其特征在于,還包括設定第三對象,表示機架空間中一單位空間的大小。
13.一種互聯網數據中心的機架空間的分配裝置,其特征在于,包括門限值確定裝置,確定一片段空間門限值;空間劃分裝置,在所述機架空間中劃分一片段空間;判斷裝置,判斷所接收的業務所請求的空間大小;以及空間分配裝置,分配空間給所述業務;其中,當接收到請求機架空間的業務時,判斷裝置首先判斷該業務所請求的空間大小是否小于門限值確定裝置所設定的片段空間門限值,如果小于片段空間門限值,則空間分配裝置從空間劃分裝置劃分的片段空間中分配空間給所述業務。
14.如權利要求13所述的分配裝置,其特征在于,門限值確定裝置在每一次接收到新的業務并從所述機架空間中分配空間后重新確定片段空間門限值。
15.如權利要求14所述的分配裝置,其特征在于,空間劃分裝置在每一次接收到新的業務并從所述機架空間中分配空間后重新劃分片段空間。
16.如權利要求13所述的分配裝置,其特征在于,門限值確定裝置還確定一大空間門限值;以及空間劃分裝置還在機架空間中劃分一大空間,所述大空間與所述片段空間不重疊;其中,當接收到請求機架空間的業務時,判斷裝置首先判斷該業務所請求的空間大小是否大于門限值確定裝置所設定的大空間門限值,如果大于大空間門限值,則空間分配裝置從空間劃分裝置劃分的大空間中分配空間給所述業務。
17.如權利要求16所述的分配裝置,其特征在于,門限值確定裝置在每一次接收到新的業務并從所述機架空間中分配空間后重新確定大空間門限值。
18.如權利要求17所述的分配裝置,其特征在于,空間劃分裝置在每一次接收到新的業務并從所述機架空間中分配空間后重新劃分大空間。
19.如權利要求16所述的分配裝置,其特征在于,空間劃分裝置將機架空間中除去片段空間和大空間以外的空間設定為一般業務空間,當接收到請求機架空間的業務,并且判斷裝置判斷該業務所請求的空間大小是小于大空間門限值而大于片段空間門限值,則從一般業務空間中分配空間給所述業務。
20.如權利要求19所述的分配裝置,其特征在于,空間劃分裝置將片段空間、大空間和一般業務空間都劃分成連續的空間。
21.如權利要求20所述的分配裝置,其特征在于,所述互聯網數據中心的機架空間劃分為數個機架,所述分配裝置還包括對象設定裝置,該對象設定裝置,設定第一對象,每個第一對象表示一單個的機架;設定第二對象,每個第二對象表示一單個機架中的一連續的空閑空間;當接收到請求機架空間的業務時,基于所述第一對象、第二對象、該業務所請求的空間、所述大空間門限值以及所述片段空間門限確定分配給所述業務的空間。
22.如權利要求21所述的分配裝置,其特征在于,對象設定裝置還為第二對象設定子對象,包括第一子對象,表示該單個機架中的該連續的空閑空間的權重;第二子對象,表示該單個機架中的該連續的空閑空間的大小;當接收到請求機架空間的業務時,基于所述第一對象、第一子對象、第二子對象、該業務所請求的空間、所述大空間門限值以及所述片段空間門限確定分配給所述業務的空間。
23.如權利要求22所述的分配裝置,其特征在于,還包括計算裝置,該計算裝置根據第一對象當前值、第一子對象當前值、第二子對象當前值、業務所請求的空間、大空間門限值以及片段空間門限計算確定新的第一子對象的值,即一單個機架中的一連續的空閑空間的權重;空間分配裝置將滿足如下的條件的空間分配給所述業務,該連續空間具有最大的第一子對象值,即最大的權重;該空間具有不小于業務所請求的空間的第二子對象值,即連續的空閑空間。
24.如權利要求23所述的分配方法,其特征在于,對象設定裝置還設定第三對象,表示機架空間中一單位空間的大小。
全文摘要
本發明揭示了一種互聯網數據中心的機架空間的分配方法,包括確定一片段空間門限值;以及在機架空間中劃分一片段空間;其中,當接收到請求機架空間的業務時,首先判斷該業務所請求的空間大小是否小于片段空間門限值,如果小于片段空間門限值,則從片段空間中分配空間給所述業務。采用了本發明的技術方案,通過將較小的業務請求放置在專門劃分的片段空間中,從而避免了較小的業務請求占用大段的連續空間的狀況,可有效地減小機架空間中碎片產生的可能性,并且,較大的連續空間可供較大的業務請求使用,加大了機架空間的整體利用效率,提高了性能并且減小了出現浪費的可能性。
文檔編號H04L12/24GK101071386SQ20061002648
公開日2007年11月14日 申請日期2006年5月12日 優先權日2006年5月12日
發明者蔡軍, 尤毅 申請人:上海惠普有限公司