一種基于網(wǎng)絡(luò)感知的新型云數(shù)據(jù)中心資源分配方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明設(shè)及一種基于網(wǎng)絡(luò)感知的新型云數(shù)據(jù)中屯、資源分配方法,屬于計(jì)算機(jī)網(wǎng)絡(luò)
技術(shù)領(lǐng)域。
【背景技術(shù)】
[0002] 隨著互聯(lián)網(wǎng)的迅猛發(fā)展和信息數(shù)據(jù)規(guī)模的爆發(fā)式增長(zhǎng),工業(yè)界和學(xué)術(shù)界對(duì)大規(guī)模 計(jì)算和海量數(shù)據(jù)處理的需求也日益增多。云計(jì)算作為一種新型的商業(yè)計(jì)算模型和服務(wù)模式 應(yīng)運(yùn)而生,它將計(jì)算任務(wù)分配在由大量計(jì)算節(jié)點(diǎn)構(gòu)成的大型數(shù)據(jù)中屯、上,使得各種應(yīng)用能 夠按需獲取計(jì)算能力、存儲(chǔ)空間和信息服務(wù)。
[0003] 資源分配問(wèn)題是云數(shù)據(jù)中屯、能夠提供高效服務(wù)的關(guān)鍵問(wèn)題之一。資源規(guī)模的巨 大、虛擬化技術(shù)的運(yùn)用W及應(yīng)用請(qǐng)求的實(shí)時(shí)多變性都對(duì)云數(shù)據(jù)中屯、的資源分配提出了諸多 挑戰(zhàn)。云數(shù)據(jù)中屯、的資源分配需要考慮W下幾個(gè)問(wèn)題。第一是性能保證,在數(shù)據(jù)中屯、的網(wǎng) 絡(luò)性能實(shí)時(shí)變化的情況下,如何保證用戶的作業(yè)獲取穩(wěn)定性能;第二,對(duì)于數(shù)據(jù)中屯、而言, 用戶的資源需要是動(dòng)態(tài)變化的;第=,數(shù)據(jù)中屯、的資源是多元化的,包括CPU、內(nèi)存和網(wǎng)絡(luò) 等,而用戶的資源需求也是多元化的;第四,無(wú)論是企業(yè)的私有云,還是數(shù)據(jù)中屯、運(yùn)營(yíng)商,都 要考慮運(yùn)營(yíng)成本和實(shí)際效益。
[0004] 現(xiàn)有的資源分配技術(shù)往往只針對(duì)上述的其中一個(gè)或幾個(gè)角度來(lái)進(jìn)行設(shè)計(jì),例如在 滿足用戶資源需求多元化的基礎(chǔ)上,卻無(wú)法保證網(wǎng)絡(luò)性能的效率,從而也就增加了數(shù)據(jù)中 屯、的運(yùn)營(yíng)成本,降低了實(shí)際效益;在保證網(wǎng)絡(luò)性能的前提下,卻忽略了數(shù)據(jù)中屯、的資源多元 化問(wèn)題。 陽(yáng)〇化]本發(fā)明所提供的基于網(wǎng)絡(luò)感知的新型云數(shù)據(jù)中屯、資源分配方法,根據(jù)云數(shù)據(jù)中屯、 自身所具有的樹(shù)狀網(wǎng)絡(luò)拓?fù)涮卣鬟M(jìn)行算法設(shè)計(jì),同時(shí)通過(guò)引入"二維背包"算法來(lái)解決用戶 及數(shù)據(jù)中屯、資源的多元化問(wèn)題,與現(xiàn)有技術(shù)相比可W更好的應(yīng)對(duì)上述四個(gè)問(wèn)題。
【發(fā)明內(nèi)容】
[0006] 本發(fā)明提供了一種基于網(wǎng)絡(luò)感知的新型云數(shù)據(jù)中屯、資源分配方法,可W有效降低 云數(shù)據(jù)中屯、內(nèi)部網(wǎng)絡(luò)帶寬消耗,提升用戶服務(wù)性能,同時(shí)還可W滿足云數(shù)據(jù)中屯、資源和用 戶所需資源的多元化特性。
[0007] 本發(fā)明的處理流程如圖1所示,首先,依據(jù)云數(shù)據(jù)中屯、內(nèi)部的拓?fù)浣Y(jié)構(gòu),由云數(shù)據(jù) 中屯、內(nèi)部的資源分配模塊構(gòu)建包含交換機(jī)和物理機(jī)的邏輯樹(shù)(具體構(gòu)建方法可參考實(shí)施 例,另外邏輯樹(shù)的具體結(jié)構(gòu)由云數(shù)據(jù)中屯、內(nèi)部交換機(jī)和物理機(jī)之間的拓?fù)浣Y(jié)構(gòu)決定),其 中物理機(jī)服務(wù)器為該邏輯樹(shù)的葉子節(jié)點(diǎn),云數(shù)據(jù)中屯、的所有已用和可用計(jì)算資源(即虛擬 機(jī))皆放置在各葉子節(jié)點(diǎn)對(duì)應(yīng)的物理機(jī)上,并通過(guò)樹(shù)形拓?fù)溥B接的交換機(jī)實(shí)現(xiàn)彼此的通 信。顯然,為了降低虛擬機(jī)之間的通信代價(jià),提高通信效率,應(yīng)該盡可能的將那些彼此之間 通信需求較大的虛擬機(jī)集合分配到同一個(gè)葉子節(jié)點(diǎn)上或者邏輯距離相近的幾個(gè)不同葉子 節(jié)點(diǎn)上。
[0008] 因此,本發(fā)明的核屯、思想在于當(dāng)云數(shù)據(jù)中屯、接收到用戶發(fā)來(lái)的虛擬機(jī)需求集合 時(shí)(包括所需虛擬機(jī)的數(shù)量,每個(gè)虛擬機(jī)所需要配置的CPU、內(nèi)存大小,W及虛擬機(jī)之間的 通信需求),依次W該數(shù)據(jù)中屯、中的每個(gè)結(jié)點(diǎn)(即所有的交換機(jī)和物理機(jī))為根構(gòu)建邏輯 子樹(shù),其中對(duì)于每個(gè)邏輯子樹(shù),分別進(jìn)行后續(xù)遍歷物理機(jī),對(duì)于遍歷過(guò)程中遇到的每個(gè)物理 機(jī),依次采用二維背包原則將還未分配的虛擬機(jī)集合中通信量最大的虛擬機(jī)子集預(yù)分配到 該物理機(jī)上。
[0009] 運(yùn)樣,如果整個(gè)數(shù)據(jù)中屯、含有M個(gè)結(jié)點(diǎn),則存在M個(gè)邏輯子樹(shù),分別后續(xù)遍歷后,可 W得到最多M種用戶虛擬機(jī)預(yù)分配方案。最終,選擇樹(shù)高最低的邏輯子樹(shù)所對(duì)應(yīng)的預(yù)分配 方案作為最終分配方案(即用戶虛擬機(jī)所在物理機(jī)之間的邏輯距離最近,連接所有虛擬機(jī) 所需的交換機(jī)層級(jí)最少)。 陽(yáng)010] 本發(fā)明的技術(shù)方案為:
[0011] 一種基于網(wǎng)絡(luò)感知的新型云數(shù)據(jù)中屯、資源分配方法,其步驟為:
[0012] 1)根據(jù)云數(shù)據(jù)中屯、的拓?fù)浣Y(jié)構(gòu)為該云數(shù)據(jù)中屯、構(gòu)建一邏輯樹(shù);其中,云數(shù)據(jù)中屯、 的物理機(jī)為該邏輯樹(shù)的葉子節(jié)點(diǎn),物理機(jī)通過(guò)樹(shù)形拓?fù)溥B接的交換機(jī)實(shí)現(xiàn)彼此的通信;
[0013] 2)當(dāng)該云數(shù)據(jù)中屯、接收到一虛擬機(jī)需求集合時(shí),W該邏輯樹(shù)中的每個(gè)節(jié)點(diǎn)為根分 別構(gòu)建一邏輯子樹(shù);
[0014] 扣對(duì)于每一邏輯子樹(shù),遍歷其中的物理機(jī),對(duì)遍歷到的每個(gè)物理機(jī),采用二維背包 原則將該虛擬機(jī)需求集合中還未分配的通信量最大的虛擬機(jī)子集預(yù)分配到該物理機(jī)上;如 果該虛擬機(jī)需求集合分配成功,則保存該邏輯子樹(shù)對(duì)應(yīng)的虛擬機(jī)預(yù)分配方案;
[0015] 4)從步驟3)得到的若干種虛擬機(jī)預(yù)分配方案中選擇一樹(shù)高最低的邏輯子樹(shù)對(duì)應(yīng) 的預(yù)分配方案作為該虛擬機(jī)需求集合的最終分配方案。
[0016] 進(jìn)一步的,所述虛擬機(jī)需求集合的信息包括:所需虛擬機(jī)的數(shù)量,每個(gè)虛擬機(jī)所需 要配置的物理資源,W及虛擬機(jī)之間的通信需求。
[0017] 進(jìn)一步的,分別W該云數(shù)據(jù)中屯、的每一物理機(jī)、交換機(jī)為根構(gòu)建一邏輯子樹(shù)。
[0018] 進(jìn)一步的,所述云數(shù)據(jù)中屯、保存每一物理機(jī)的物理資源。
[0019] 進(jìn)一步的,所述物理資源包括物理機(jī)的可用CPU總數(shù)、可用內(nèi)存總數(shù)。
[0020] 與現(xiàn)有技術(shù)相比,本發(fā)明的積極效果為:
[0021] 本發(fā)明根據(jù)云數(shù)據(jù)中屯、自身的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)特點(diǎn)構(gòu)造相應(yīng)的云數(shù)據(jù)中屯、邏輯樹(shù), 來(lái)實(shí)現(xiàn)基于網(wǎng)絡(luò)感知的資源分配的目的,并且通過(guò)引入二維背包原則,來(lái)滿足用戶的資源 需求多元化及數(shù)據(jù)中屯、計(jì)算資源多元化的特征,提高資源分配的實(shí)用性,具有W下優(yōu)點(diǎn):
[0022] (1)本發(fā)明所提供基于網(wǎng)絡(luò)感知的新型云數(shù)據(jù)中屯、資源分配方法能夠有效降低待 分配虛擬機(jī)之間的通信代價(jià),提高數(shù)據(jù)中屯、的通信效率;
[0023] (2)本發(fā)明所提供基于網(wǎng)絡(luò)感知的新型云數(shù)據(jù)中屯、資源分配方法能夠滿足用戶的 計(jì)算資源多元化需求,同時(shí)滿足了云數(shù)據(jù)中屯、資源多元化的特性。
【附圖說(shuō)明】
[0024] 圖1為本發(fā)明的處理方法流程圖;
[0025] 圖2為數(shù)據(jù)中屯、內(nèi)部拓?fù)涫疽鈭D; 陽(yáng)0%] 圖3為邏輯子樹(shù)拓?fù)涫疽鈭D。
【具體實(shí)施方式】
[0027]每個(gè)數(shù)據(jù)中屯、對(duì)應(yīng)一個(gè)邏輯樹(shù),其中所包含的邏輯子樹(shù)的數(shù)量也是固定,其中的 物理機(jī)用來(lái)存放用戶所需的虛擬機(jī)集合。一個(gè)典型的采用二叉樹(shù)結(jié)構(gòu)部署的數(shù)據(jù)中屯、,其 邏輯樹(shù)如附圖2所示。 陽(yáng)02引其中包含3個(gè)交換機(jī)和4個(gè)物理機(jī)共計(jì)7個(gè)結(jié)點(diǎn),相應(yīng)的該數(shù)據(jù)中屯、的邏輯樹(shù)如 附圖2所示,其中包含了 7個(gè)邏輯子樹(shù)。當(dāng)收到一用戶的待分配虛擬機(jī)需求時(shí),對(duì)于其中每 一個(gè)邏輯子樹(shù),后續(xù)遍歷其中的每個(gè)物理機(jī),對(duì)于遍歷過(guò)程中遇到的每個(gè)物理機(jī),依次采用 二維背包原則將還未分配的虛擬機(jī)集合中彼此通信量最大的虛擬機(jī)子集預(yù)分配到該物理 機(jī)上。其中每個(gè)物理機(jī)上可用的CPU和內(nèi)存數(shù)如附表1所示。每個(gè)用戶虛擬機(jī)所需CPU、內(nèi) 存數(shù)如附表2所示。用戶虛擬機(jī)之間的通信需求如附表3所示,運(yùn)里設(shè)定每個(gè)虛擬機(jī)的通 信需求等于該虛擬機(jī)和其他虛擬機(jī)通信需求之和。
[0029] 附表1.數(shù)據(jù)中屯、可用CPU、內(nèi)存總數(shù)
[0030]
[0031] 附表2.用戶虛擬機(jī)所需CPU、內(nèi)存數(shù)
[0032]
陽(yáng)0;33]附表3.用戶虛擬機(jī)間通信需求情況
[0034]
陽(yáng)035]附表4為針對(duì)上述7個(gè)邏輯子樹(shù)進(jìn)行預(yù)分配后的結(jié)果。W第6個(gè)邏輯子樹(shù)為例, 該子樹(shù)交換機(jī)2"為根,包含"物理機(jī)2"和"物理機(jī)3"共計(jì)兩個(gè)物理機(jī),如附圖3所示。 首先對(duì)"物理機(jī)2"根據(jù)二維背包原則對(duì)用戶虛擬機(jī)集合進(jìn)行預(yù)分配,預(yù)分配的結(jié)果是虛擬 機(jī)1,2, 3, 5, 6, 7被預(yù)分配到"物理機(jī)2"上面;然后我們對(duì)剩下的4個(gè)虛擬機(jī)在"物理機(jī)3" 上面進(jìn)行同樣的預(yù)分配過(guò)程,預(yù)分配的結(jié)果是剩余的4個(gè)虛擬機(jī)全部被預(yù)分配到"物理機(jī) 3"上面,從而成功生成一種用戶虛擬機(jī)預(yù)分配方案,該方案對(duì)應(yīng)的子樹(shù)樹(shù)高=2。
[0036] 如附表4所示,分別對(duì)上述7個(gè)邏輯子樹(shù)進(jìn)行預(yù)分配后,共計(jì)成功生成3種預(yù)分配 方案(其中前4個(gè)邏輯子樹(shù)未能尋找到合適的物理機(jī)來(lái)存放用戶的虛擬機(jī)),其中第5個(gè)邏 輯子樹(shù)的樹(shù)高最低,故選擇該子樹(shù)所對(duì)應(yīng)的預(yù)分配方案作為最終分配方案。
[0037] 附表4.子樹(shù)預(yù)分配結(jié)果
【主權(quán)項(xiàng)】
1. 一種基于網(wǎng)絡(luò)感知的新型云數(shù)據(jù)中心資源分配方法,其步驟為: 1) 根據(jù)云數(shù)據(jù)中心的拓?fù)浣Y(jié)構(gòu)為該云數(shù)據(jù)中心構(gòu)建一邏輯樹(shù);其中,云數(shù)據(jù)中心的物 理機(jī)為該邏輯樹(shù)的葉子節(jié)點(diǎn),物理機(jī)通過(guò)樹(shù)形拓?fù)溥B接的交換機(jī)實(shí)現(xiàn)彼此的通信; 2) 當(dāng)該云數(shù)據(jù)中心接收到一虛擬機(jī)需求集合時(shí),以該邏輯樹(shù)中的每個(gè)節(jié)點(diǎn)為根分別構(gòu) 建一邏輯子樹(shù); 3) 對(duì)于每一邏輯子樹(shù),遍歷其中的物理機(jī),對(duì)遍歷到的每個(gè)物理機(jī),采用二維背包原則 將該虛擬機(jī)需求集合中還未分配的通信量最大的虛擬機(jī)子集預(yù)分配到該物理機(jī)上;如果該 虛擬機(jī)需求集合分配成功,則保存該邏輯子樹(shù)對(duì)應(yīng)的虛擬機(jī)預(yù)分配方案; 4) 從步驟3)得到的若干種虛擬機(jī)預(yù)分配方案中選擇一樹(shù)高最低的邏輯子樹(shù)對(duì)應(yīng)的預(yù) 分配方案作為該虛擬機(jī)需求集合的最終分配方案。2. 如權(quán)利要求1所述的方法,其特征在于,所述虛擬機(jī)需求集合的信息包括:所需虛擬 機(jī)的數(shù)量,每個(gè)虛擬機(jī)所需要配置的物理資源,以及虛擬機(jī)之間的通信需求。3. 如權(quán)利要求1或2所述的方法,其特征在于,分別以該云數(shù)據(jù)中心的每一物理機(jī)、交 換機(jī)為根構(gòu)建一邏輯子樹(shù)。4. 如權(quán)利要求3所述的方法,其特征在于,所述云數(shù)據(jù)中心保存每一物理機(jī)的物理資 源。5. 如權(quán)利要求4所述的方法,其特征在于,所述物理資源包括物理機(jī)的可用CPU總數(shù)、 可用內(nèi)存總數(shù)。
【專利摘要】本發(fā)明公開(kāi)了一種基于網(wǎng)絡(luò)感知的新型云數(shù)據(jù)中心資源分配方法。本方法為:1)根據(jù)云數(shù)據(jù)中心的拓?fù)浣Y(jié)構(gòu)為該云數(shù)據(jù)中心構(gòu)建一邏輯樹(shù);2)當(dāng)該云數(shù)據(jù)中心接收到一虛擬機(jī)需求集合時(shí),以該邏輯樹(shù)中的每個(gè)節(jié)點(diǎn)為根分別構(gòu)建一邏輯子樹(shù);3)對(duì)于每一邏輯子樹(shù),遍歷其中的物理機(jī),對(duì)遍歷到的每個(gè)物理機(jī),采用二維背包原則將該虛擬機(jī)需求集合中還未分配的通信量最大的虛擬機(jī)子集預(yù)分配到該物理機(jī)上;如果該虛擬機(jī)需求集合分配成功,則保存該邏輯子樹(shù)對(duì)應(yīng)的虛擬機(jī)預(yù)分配方案;4)從步驟3)得到的若干種虛擬機(jī)預(yù)分配方案中選擇一樹(shù)高最低的邏輯子樹(shù)對(duì)應(yīng)的預(yù)分配方案作為該虛擬機(jī)需求集合的最終分配方案。本發(fā)明能夠大大提高云數(shù)據(jù)中心的通信效率。
【IPC分類】H04L29/08, H04L12/911
【公開(kāi)號(hào)】CN105430058
【申請(qǐng)?zhí)枴緾N201510736537
【發(fā)明人】尉遲學(xué)彪, 李曉東
【申請(qǐng)人】中國(guó)互聯(lián)網(wǎng)絡(luò)信息中心
【公開(kāi)日】2016年3月23日
【申請(qǐng)日】2015年11月3日