數(shù)據(jù)中心系統(tǒng)及數(shù)據(jù)中心系統(tǒng)的管理方法
【專利摘要】本發(fā)明提供一種數(shù)據(jù)中心系統(tǒng)和數(shù)據(jù)中心系統(tǒng)的管理方法。在由通信網(wǎng)絡(luò)連續(xù)用戶、多個(gè)數(shù)據(jù)中心站點(diǎn)、指令部、多個(gè)站點(diǎn)代理部而構(gòu)成的數(shù)據(jù)中心系統(tǒng)中,當(dāng)用戶向指令部發(fā)送應(yīng)用請(qǐng)求時(shí),指令部根據(jù)所有種類的應(yīng)用所需的資源估算運(yùn)行用戶請(qǐng)求的應(yīng)用所需的資源,根據(jù)各數(shù)據(jù)中心站點(diǎn)的資源使用狀態(tài)和估算的所需的資源計(jì)算在各個(gè)數(shù)據(jù)中心站點(diǎn)運(yùn)行用戶請(qǐng)求的應(yīng)用的電力成本和帶寬成本,指令部向運(yùn)行用戶請(qǐng)求的應(yīng)用的電力成本與帶寬成本之和最低的數(shù)據(jù)中心站點(diǎn)的站點(diǎn)代理部發(fā)送應(yīng)用運(yùn)行請(qǐng)求,接收到應(yīng)用運(yùn)行請(qǐng)求的站點(diǎn)代理部將請(qǐng)求運(yùn)行的應(yīng)用分配給該站點(diǎn)代理部管理的服務(wù)器。由此避免了分別優(yōu)化電力成本或帶寬成本產(chǎn)生的不平衡,從而減少了數(shù)據(jù)中心的總運(yùn)營(yíng)成本。
【專利說(shuō)明】數(shù)據(jù)中心系統(tǒng)及數(shù)據(jù)中心系統(tǒng)的管理方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及數(shù)據(jù)中心,特別是涉及數(shù)據(jù)中心系統(tǒng)及數(shù)據(jù)中心系統(tǒng)的管理方法。
【背景技術(shù)】
[0002] 數(shù)據(jù)中心作為高速發(fā)展的云計(jì)算產(chǎn)業(yè)的基礎(chǔ)設(shè)施,對(duì)成本管理有高度要求。特別 是隨著IT設(shè)備計(jì)算能力和設(shè)備密度的增長(zhǎng),初期建設(shè)成本和設(shè)備購(gòu)置成本在數(shù)據(jù)中心的 總體成本中的比重逐漸下降,而運(yùn)營(yíng)成本、特別是電力成本正在不斷增加,并且達(dá)到了和設(shè) 備購(gòu)置成本相近的比重。因此數(shù)據(jù)中心的運(yùn)營(yíng)成本正在受到越來(lái)越多的關(guān)注,并產(chǎn)生了一 些能降低數(shù)據(jù)中心運(yùn)營(yíng)成本的方法和技術(shù)。
[0003] 例如,在公知技術(shù)US 2011/0191773 A1中,公開(kāi)了一種數(shù)據(jù)中心能耗管理的系統(tǒng) 和方法。所述方法包括,對(duì)多個(gè)數(shù)據(jù)中心中的每一個(gè)都至少部分地根據(jù)在各個(gè)數(shù)據(jù)中心執(zhí) 行應(yīng)用所需的電力來(lái)判定在各個(gè)數(shù)據(jù)中心執(zhí)行應(yīng)用相關(guān)的成本。所述方法還包括根據(jù)在各 個(gè)數(shù)據(jù)中心執(zhí)行應(yīng)用相關(guān)的成本來(lái)從多個(gè)數(shù)據(jù)中心中選擇一個(gè)來(lái)執(zhí)行應(yīng)用,并且在所選的 數(shù)據(jù)中心執(zhí)行應(yīng)用。
[0004] 該方法通過(guò)優(yōu)化負(fù)載(也就是所述的應(yīng)用,下文中統(tǒng)稱為負(fù)載)在多個(gè)數(shù)據(jù)中心中 的分配來(lái)最小化作為一個(gè)整體考慮的所述多個(gè)數(shù)據(jù)中心的電力成本,從而降低了所述多個(gè) 數(shù)據(jù)中心的運(yùn)營(yíng)成本。但是數(shù)據(jù)中心的運(yùn)營(yíng)成本除了電力成本通常還包括固定資產(chǎn)折舊、 人工費(fèi)、以及帶寬成本。其中固定資產(chǎn)折舊和人工費(fèi)通常為固定費(fèi)用支出,而帶寬成本和電 力成本一樣,屬于可以優(yōu)化的費(fèi)用支出。特別是在中國(guó),和其他國(guó)家相比,帶寬較貴而電價(jià) 較低,導(dǎo)致帶寬成本成為影響數(shù)據(jù)中心總運(yùn)營(yíng)成本的重要因素。例如,根據(jù)中國(guó)聯(lián)通在2009 年的報(bào)告,帶寬成本占其數(shù)據(jù)中心總運(yùn)營(yíng)成本的29%,而電力成本占28%。
[0005] 此外,在中國(guó)目前大多數(shù)省市執(zhí)行的電價(jià)是分季節(jié)和峰平谷分時(shí)段的電價(jià),還沒(méi) 有實(shí)現(xiàn)逐時(shí)或逐分實(shí)時(shí)電價(jià),這使得不同地區(qū)以及不同時(shí)間的電價(jià)變化相對(duì)較小,部分的 局限了公知技術(shù)中的優(yōu)化效果。同時(shí),中國(guó)不同地區(qū)的網(wǎng)絡(luò)建設(shè)差異較大,帶寬定價(jià)較為 靈活,使得不同地區(qū)的單位帶寬價(jià)格差異較大,具有潛在的優(yōu)化可能性。例如,根據(jù)發(fā)明人 的調(diào)研,在中國(guó)不同城市的帶寬價(jià)格的變異系數(shù)(CV)是0.32,而電力價(jià)格的變異系數(shù)是 0. 12。也就是說(shuō),對(duì)于中國(guó)的數(shù)據(jù)中心,在不同地區(qū)執(zhí)行負(fù)載所需要的帶寬成本的差異要超 過(guò)電力成本的差異。因此,如果使用公知技術(shù)來(lái)進(jìn)行數(shù)據(jù)中心管理,可能無(wú)法得到最佳總運(yùn) 營(yíng)成本。
[0006] 此外,公知技術(shù)通過(guò)用基準(zhǔn)測(cè)試得到的預(yù)設(shè)數(shù)據(jù)來(lái)估計(jì)給定負(fù)載的電力消耗。這 不能處理不包含在基準(zhǔn)測(cè)試中的新類型的負(fù)載。
【發(fā)明內(nèi)容】
[0007] 為了解決上述問(wèn)題,本發(fā)明通過(guò)優(yōu)化負(fù)載在多個(gè)數(shù)據(jù)中心中的分配來(lái)最小化所述 多個(gè)數(shù)據(jù)中心的電力成本和帶寬成本之和,從而降低了所述多個(gè)數(shù)據(jù)中心的總運(yùn)營(yíng)成本。 此外,本發(fā)明對(duì)數(shù)據(jù)中心狀態(tài)進(jìn)行實(shí)時(shí)監(jiān)測(cè),并基于歷史監(jiān)測(cè)數(shù)據(jù)來(lái)在線估計(jì)在不同站點(diǎn) 執(zhí)行負(fù)載所需的電力和帶寬消耗。
[0008] 本發(fā)明的第一方面的數(shù)據(jù)中心系統(tǒng)包括:多個(gè)數(shù)據(jù)中心站點(diǎn),每個(gè)數(shù)據(jù)中心站點(diǎn) 包括一個(gè)以上用于處理用戶的應(yīng)用的服務(wù)器;指令部,其管理上述多個(gè)數(shù)據(jù)中心站點(diǎn),并向 用戶提供應(yīng)用服務(wù);多個(gè)站點(diǎn)代理部,其對(duì)應(yīng)上述多個(gè)數(shù)據(jù)中心站點(diǎn)的每一個(gè)而設(shè)置,管理 各自的數(shù)據(jù)中心站點(diǎn)的狀態(tài)并將應(yīng)用分配給服務(wù)器運(yùn)行;和通信網(wǎng)絡(luò),其連接用戶、上述多 個(gè)數(shù)據(jù)中心站點(diǎn)、上述指令部和上述站點(diǎn)代理部,上述指令部具有計(jì)算各個(gè)數(shù)據(jù)中心站點(diǎn) 運(yùn)行應(yīng)用的、至少包括電力成本和帶寬成本的運(yùn)行成本的成本計(jì)算器,當(dāng)用戶向上述指令 部發(fā)送應(yīng)用請(qǐng)求時(shí),上述指令部根據(jù)所有種類的應(yīng)用所需的資源估算運(yùn)行用戶請(qǐng)求的應(yīng)用 所需的資源,上述成本計(jì)算器根據(jù)各數(shù)據(jù)中心站點(diǎn)的資源使用狀態(tài)和估算的所需的資源計(jì) 算在各個(gè)數(shù)據(jù)中心站點(diǎn)運(yùn)行用戶請(qǐng)求的應(yīng)用的電力成本和帶寬成本,上述指令部向運(yùn)行用 戶請(qǐng)求的應(yīng)用的電力成本與帶寬成本之和最低的數(shù)據(jù)中心站點(diǎn)的站點(diǎn)代理部發(fā)送應(yīng)用運(yùn) 行請(qǐng)求,接收到上述應(yīng)用運(yùn)行請(qǐng)求的站點(diǎn)代理部將請(qǐng)求運(yùn)行的應(yīng)用分配給該站點(diǎn)代理部管 理的服務(wù)器。
[0009] 本發(fā)明的第二方面的數(shù)據(jù)中心系統(tǒng)的管理方法,上述數(shù)據(jù)中心系統(tǒng)通過(guò)通信網(wǎng)絡(luò) 聯(lián)接用戶、多個(gè)數(shù)據(jù)中心站點(diǎn)、指令部和站點(diǎn)代理部而構(gòu)成,上述多個(gè)數(shù)據(jù)中心站點(diǎn)的每一 個(gè)都包括一個(gè)以上的服務(wù)器,上述數(shù)據(jù)中心系統(tǒng)的管理方法包括:上述指令部接收來(lái)自用 戶的應(yīng)用請(qǐng)求,根據(jù)所有種類的應(yīng)用所需的資源估算運(yùn)行用戶請(qǐng)求的應(yīng)用所需的資源的步 驟;根據(jù)各個(gè)數(shù)據(jù)中心站點(diǎn)的狀態(tài)和估算的所需的資源計(jì)算在各個(gè)數(shù)據(jù)中心站點(diǎn)運(yùn)行用戶 請(qǐng)求的應(yīng)用的、至少包括電力成本和帶寬成本的運(yùn)行成本的步驟;上述指令部向運(yùn)行用戶 請(qǐng)求的應(yīng)用的電力成本與帶寬成本之和最低的數(shù)據(jù)中心站點(diǎn)的站點(diǎn)代理部發(fā)送應(yīng)用運(yùn)行 請(qǐng)求的步驟;和接收到上述應(yīng)用運(yùn)行請(qǐng)求的站點(diǎn)代理部將請(qǐng)求運(yùn)行的應(yīng)用分配給該站點(diǎn)代 理部管理的服務(wù)器的步驟。
[0010] 根據(jù)本發(fā)明的數(shù)據(jù)中心系統(tǒng)及數(shù)據(jù)中心系統(tǒng)的管理方法,同時(shí)考慮了數(shù)據(jù)中心總 運(yùn)營(yíng)成本中的電力成本和帶寬成本的優(yōu)化,避免了分別優(yōu)化電力成本或帶寬成本產(chǎn)生的不 平衡,從而減少了數(shù)據(jù)中心的總運(yùn)營(yíng)成本。本發(fā)明還可以處理任何類型的負(fù)載,而不需要預(yù) 先設(shè)定的基準(zhǔn)測(cè)試。
【專利附圖】
【附圖說(shuō)明】
[0011] 根據(jù)以下結(jié)合附圖對(duì)本發(fā)明非限制實(shí)施例的詳細(xì)描述,本發(fā)明的以上和其他目 的、特征和優(yōu)點(diǎn)將變得更加清楚,其中:
[0012] 圖1表示具有全局負(fù)載均衡的多站點(diǎn)數(shù)據(jù)中心系統(tǒng)結(jié)構(gòu)。
[0013] 圖2表示指令器的結(jié)構(gòu)。
[0014] 圖3表示運(yùn)行在虛擬機(jī)上的站點(diǎn)代理的結(jié)構(gòu)。
[0015] 圖4表示處理流類型需求的時(shí)序。
[0016] 圖5表示處理MapReduce類型需求的時(shí)序。
[0017] 圖6表示選擇第二低成本站點(diǎn)的時(shí)序。
[0018] 圖7表示為業(yè)務(wù)選擇站點(diǎn)失敗的時(shí)序。
[0019] 圖8表示指令器選擇具有優(yōu)化成本的站點(diǎn)的流程圖。
[0020] 圖9是表示站點(diǎn)代理為從指令器來(lái)的負(fù)載請(qǐng)求選擇服務(wù)器的流程圖。
[0021] 圖10是表示指令器為業(yè)務(wù)需求估計(jì)資源需求并生成負(fù)載描述的流程圖。
[0022] 圖11是表示站點(diǎn)代理在業(yè)務(wù)資源增量表中記錄流類型負(fù)載的業(yè)務(wù)運(yùn)行時(shí)資源消 耗的流程圖。
[0023] 圖12是表示站點(diǎn)代理在業(yè)務(wù)資源增量表中記錄MapReduce類型負(fù)載的業(yè)務(wù)運(yùn)行 時(shí)資源消耗的流程圖。
[0024] 圖13是表示站點(diǎn)代理分析站點(diǎn)狀態(tài)并發(fā)送站點(diǎn)狀態(tài)消息的流程圖。
[0025] 圖14是表示站點(diǎn)代理調(diào)節(jié)開(kāi)機(jī)中的服務(wù)器和上聯(lián)帶寬的數(shù)量的流程圖。
[0026] 圖15是表示指令器從站點(diǎn)代理收到站點(diǎn)狀態(tài)消息并更新站點(diǎn)狀態(tài)表和業(yè)務(wù)資源 需求表的流程圖。
[0027] 圖16表不全局負(fù)載列表的格式。
[0028] 圖17表示站點(diǎn)狀態(tài)表的格式。
[0029] 圖18表示業(yè)務(wù)資源需求表的格式。
[0030] 圖19 (a)表不了站點(diǎn)11的本地負(fù)載列表的格式;圖19 (b)表不了站點(diǎn)12的本 地負(fù)載列表的格式。
[0031] 圖20表示站點(diǎn)11的服務(wù)器狀態(tài)表的格式。
[0032] 圖21表示站點(diǎn)11的業(yè)務(wù)資源增量表的格式。
[0033] 圖22表示站點(diǎn)狀態(tài)消息的格式。
[0034] 圖23表示負(fù)載請(qǐng)求消息的格式。
【具體實(shí)施方式】
[0035] 下面參照【專利附圖】
【附圖說(shuō)明】本發(fā)明的實(shí)施方式。圖中相同的符號(hào)代表相同的部件。
[0036] 圖1表示了具有全局負(fù)載均衡的多站點(diǎn)數(shù)據(jù)中心系統(tǒng)結(jié)構(gòu)。圖中的三個(gè)數(shù)據(jù)中心 11、12、13 (以下也稱數(shù)據(jù)中心站點(diǎn)或站點(diǎn))由指令器20進(jìn)行管理,并通過(guò)IP核心網(wǎng)40向 位于局域網(wǎng)50的客戶51提供服務(wù)。所述數(shù)據(jù)中心站點(diǎn)11包括用于執(zhí)行計(jì)算任務(wù)的服務(wù) 器111、112、113 ;用于連接服務(wù)器111、112、113和轉(zhuǎn)發(fā)業(yè)務(wù)數(shù)據(jù)的交換機(jī)114 ;用于連接交 換機(jī)114和IP核心網(wǎng)40的邊緣路由器115 ;用于存儲(chǔ)數(shù)據(jù)的存儲(chǔ)117、118、119 ;用于連接 存儲(chǔ)117、118、119和服務(wù)器111、112、113的交換機(jī)116 ;以及用于管理數(shù)據(jù)中心站點(diǎn)11并 具有本地負(fù)載列表301、服務(wù)器狀態(tài)表302和業(yè)務(wù)資源增量表303的站點(diǎn)代理30。站點(diǎn)12 和13具有和站點(diǎn)11類似的結(jié)構(gòu),圖中省去站點(diǎn)12和13的具體結(jié)構(gòu)。所述指令器20用 于站點(diǎn)11、12、13的集中管理,包括全局負(fù)載列表201、站點(diǎn)狀態(tài)表202和業(yè)務(wù)資源需求表 203。指令器20和站點(diǎn)代理30均為邏輯功能模塊,在實(shí)現(xiàn)方式上,可以作為獨(dú)立設(shè)備存在, 通過(guò)網(wǎng)絡(luò)和各站點(diǎn)相連接,也可以作為一個(gè)或多個(gè)軟件,運(yùn)行在數(shù)據(jù)中心站點(diǎn)內(nèi)的一臺(tái)或 多臺(tái)服務(wù)器上。特別是指令器20,在邏輯上是集中式管理模塊,在物理上既可以是集中的方 式也可以是分布的方式,例如分布運(yùn)行在位于站點(diǎn)11、12、13的某些服務(wù)器上。所述IP核 心網(wǎng)40連接業(yè)務(wù)的提供方和使用方,對(duì)業(yè)務(wù)數(shù)據(jù)進(jìn)行轉(zhuǎn)發(fā),包括分別用于連接數(shù)據(jù)中心站 點(diǎn)11、12、13的邊緣路由器44、43、36,連接局域網(wǎng)50的邊緣路由器41,以及中間路由器42、 45。局域網(wǎng)50除了具有客戶51,還可以有其他客戶,都通過(guò)邊緣路由器52和IP核心網(wǎng)40 相連接。
[0037] 客戶51產(chǎn)生的業(yè)務(wù)需求61首先通過(guò)局域網(wǎng)50和IP核心網(wǎng)40發(fā)送到指令器20, 經(jīng)過(guò)指令器20的處理得到相關(guān)負(fù)載的描述且記錄到全局負(fù)載列表201中后,發(fā)送負(fù)載請(qǐng)求 63到例如站點(diǎn)11(或者其他站點(diǎn)),使得站點(diǎn)11的站點(diǎn)代理30把相關(guān)負(fù)載記錄到本地負(fù)載 列表301中,并通過(guò)站點(diǎn)11中的服務(wù)器和存儲(chǔ)等設(shè)備向客戶51提供業(yè)務(wù)。同時(shí),站點(diǎn)11、 12、13監(jiān)測(cè)自身狀態(tài),例如站點(diǎn)代理30通過(guò)監(jiān)測(cè)信息60把服務(wù)器111、112、113的狀態(tài)記錄 到服務(wù)器狀態(tài)表302中,把正在運(yùn)行的業(yè)務(wù)的狀態(tài)記錄到業(yè)務(wù)資源增量表303中,并通過(guò)站 點(diǎn)狀態(tài)62向指令器20定期報(bào)告自身狀態(tài),使得指令器20把各站點(diǎn)的狀態(tài)記錄到站點(diǎn)狀態(tài) 表202和業(yè)務(wù)資源需求表203中,在處理業(yè)務(wù)需求61的時(shí)候能以此作為依據(jù)。
[0038] 圖2表示了指令器20的結(jié)構(gòu)。指令器20用于站點(diǎn)11、12、13的集中管理,包括用 于記錄所有負(fù)載的描述信息的全局負(fù)載列表201,用于記錄所有數(shù)據(jù)中心站點(diǎn)的資源使用 情況的站點(diǎn)狀態(tài)表202,用于記錄所有種類的業(yè)務(wù)的資源消耗情況的業(yè)務(wù)資源需求表203, 用于給每一個(gè)業(yè)務(wù)需求61選擇成本最優(yōu)的執(zhí)行站點(diǎn)的全局均衡器204,用于計(jì)算對(duì)某個(gè)給 定負(fù)載在各個(gè)站點(diǎn)可能會(huì)消耗的電力成本和帶寬成本的成本計(jì)算器205,用于給業(yè)務(wù)需求 61估計(jì)可能要消耗的計(jì)算資源和帶寬資源的需求處理器206,用于向站點(diǎn)代理30、209、210 發(fā)送負(fù)載請(qǐng)求63并從所述站點(diǎn)代理接收站點(diǎn)狀態(tài)62的消息接口 207,以及用于運(yùn)行或存儲(chǔ) 以上模塊的虛擬機(jī)或虛擬機(jī)集群208。所述站點(diǎn)代理209、210分別位于數(shù)據(jù)中心站點(diǎn)12、 13并管理所在站點(diǎn)。如前所述,指令器20在實(shí)現(xiàn)方式上,可以作為獨(dú)立設(shè)備存在,通過(guò)網(wǎng)絡(luò) 和各站點(diǎn)相連接,也可以作為一個(gè)或多個(gè)軟件,運(yùn)行在數(shù)據(jù)中心站點(diǎn)內(nèi)的一臺(tái)或多臺(tái)服務(wù) 器上。也就是說(shuō),指令器20的虛擬機(jī)或虛擬機(jī)集群208可以運(yùn)行在一個(gè)位于站點(diǎn)11、12、 13之外的例如服務(wù)器的獨(dú)立設(shè)備上,也可以運(yùn)行在位于站點(diǎn)11、12、13的一個(gè)或多個(gè)的一 個(gè)或多個(gè)服務(wù)器上。
[0039] 類似的,站點(diǎn)代理30也可以作為獨(dú)立設(shè)備存在,或者作為一個(gè)或多個(gè)軟件,運(yùn)行 在數(shù)據(jù)中心站點(diǎn)11內(nèi)的一臺(tái)或多臺(tái)服務(wù)器上。在本實(shí)施例中,站點(diǎn)代理30作為虛擬機(jī)312 運(yùn)行在服務(wù)器111上。圖3表示了運(yùn)行在虛擬機(jī)111上的站點(diǎn)代理30的結(jié)構(gòu)。站點(diǎn)代理 30用于管理數(shù)據(jù)中心站點(diǎn)11,包括用于記錄分配給站點(diǎn)11的負(fù)載的描述信息的本地負(fù)載 列表301、用于記錄站點(diǎn)11的服務(wù)器111、112、113的資源使用情況的服務(wù)器狀態(tài)表302、用 于記錄在站點(diǎn)11的所有種類的業(yè)務(wù)的資源消耗情況的業(yè)務(wù)資源增量表303、用于給每一個(gè) 負(fù)載請(qǐng)求63選擇執(zhí)行服務(wù)器的本地均衡器304、用于監(jiān)測(cè)和控制基礎(chǔ)設(shè)施330的基礎(chǔ)設(shè)施 控制接口 305、用于監(jiān)測(cè)和控制例如交換機(jī)115的網(wǎng)絡(luò)設(shè)備的網(wǎng)絡(luò)控制接口 306、用于監(jiān)測(cè) 和控制各服務(wù)器上運(yùn)行的管理器(Hypervisor)的控制接口 307、用于從指令器20接收負(fù)載 請(qǐng)求63并向指令器20發(fā)送站點(diǎn)狀態(tài)62的消息接口 308、以及用于運(yùn)行或存儲(chǔ)以上模塊的 虛擬機(jī)操作系統(tǒng)309。
[0040] 站點(diǎn)代理30所在的物理服務(wù)器111使用虛擬機(jī)技術(shù)運(yùn)行包括站點(diǎn)代理30在內(nèi)的 多個(gè)虛擬機(jī)。具體的,物理服務(wù)器111包括具有處理器320、內(nèi)存321、存儲(chǔ)322、電源323 和物理網(wǎng)卡324的物理資源319,具有硬件監(jiān)控器317和虛擬機(jī)監(jiān)控器318并把物理資源 319虛擬化后提供給虛擬機(jī)的管理器316,以及運(yùn)行在管理器316之上并提供實(shí)際業(yè)務(wù)的虛 擬機(jī)310、311、312。其中管理器316可以通過(guò)硬件監(jiān)控器317和虛擬機(jī)監(jiān)控器318分別對(duì) 物理資源319和虛擬機(jī)310、311、312進(jìn)行監(jiān)控,向管理器控制接口 307報(bào)告監(jiān)測(cè)到的狀態(tài) 信息,以及從管理器控制接口 307接收例如關(guān)閉虛擬機(jī)和遷移虛擬機(jī)的控制信息。虛擬機(jī) 310、311、312分別通過(guò)虛擬機(jī)網(wǎng)卡313、314、315和管理器316中的虛擬交換機(jī)(未示出)相 連接,并進(jìn)一步經(jīng)過(guò)物理網(wǎng)卡324和交換機(jī)115和其他連接到網(wǎng)絡(luò)上的設(shè)備進(jìn)行通信。當(dāng) 然,虛擬機(jī)310、311、312也可以互相通信。此外,電源323和基礎(chǔ)設(shè)施330相連接獲得供電, 而基礎(chǔ)設(shè)施330在從基礎(chǔ)設(shè)施控制接口 305收到例如斷開(kāi)電源和接通電源的控制信息時(shí), 可以對(duì)電源323進(jìn)行斷開(kāi)或接通,從而控制服務(wù)器111的斷開(kāi)或接通?;A(chǔ)設(shè)施330除了 供電設(shè)施,還包括空調(diào)、照明、水循環(huán)等系統(tǒng),在本實(shí)施例中沒(méi)有涉及,因此未示出。
[0041] 在本實(shí)施例中,將數(shù)據(jù)中心需要提供的業(yè)務(wù)分為兩類,一類是流類型的業(yè)務(wù),其中 使用業(yè)務(wù)的客戶和提供業(yè)務(wù)的一個(gè)服務(wù)器之間建立會(huì)話和連接,另一類是MapReduce類型 的業(yè)務(wù),其中把使用業(yè)務(wù)的客戶提交的業(yè)務(wù)拆分成若干任務(wù)并分發(fā)給多個(gè)服務(wù)器來(lái)執(zhí)行。 下面在圖4和圖5中分別對(duì)處理這兩種業(yè)務(wù)的時(shí)序進(jìn)行描述。
[0042] 圖4表示了處理流類型需求的時(shí)序。首先由客戶51向指令器20發(fā)送業(yè)務(wù)需求61 (步驟401 )。指令器20的需求處理器206在判斷此業(yè)務(wù)需求61為流類型的業(yè)務(wù)后,為該業(yè) 務(wù)生成負(fù)載描述并添加到全局負(fù)載列表201中(參考圖10的流程圖),然后指令器20的全 局均衡器204和成本計(jì)算器205從所有數(shù)據(jù)中心站點(diǎn)中選擇一個(gè)對(duì)于執(zhí)行所述負(fù)載具有最 低成本的站點(diǎn)(參考圖8的流程圖),例如站點(diǎn)11 (步驟402),并通過(guò)消息接口 207向所選 站點(diǎn)11的站點(diǎn)代理30發(fā)送負(fù)載請(qǐng)求63來(lái)通知所選站點(diǎn)11執(zhí)行所述負(fù)載(步驟403)。當(dāng) 所選站點(diǎn)11的站點(diǎn)代理30通過(guò)消息接口 308收到所述負(fù)載請(qǐng)求63時(shí),站點(diǎn)代理30的本 地均衡器304從站點(diǎn)11的服務(wù)器中選擇一個(gè)合適的服務(wù)器(參考圖9的流程圖),例如服務(wù) 器111,將選擇結(jié)果和所述負(fù)載的描述信息一起添加到本地負(fù)載列表301中(步驟404),并 向指令器20返回接受來(lái)確認(rèn)執(zhí)行負(fù)載(步驟405),使得指令器20從全局負(fù)載列表201中移 除所述負(fù)載(步驟406)并向客戶51返回所述業(yè)務(wù)的響應(yīng),例如包括站點(diǎn)11的IP地址(步 驟407)。同時(shí)站點(diǎn)代理30還向包括交換機(jī)115的站點(diǎn)11的網(wǎng)絡(luò)120發(fā)送增加新條目的消 息來(lái)通知網(wǎng)絡(luò)120 (步驟408),使得網(wǎng)絡(luò)120更新自己的流表(步驟409),從而為所述負(fù)載 將會(huì)產(chǎn)生的數(shù)據(jù)流添加一條網(wǎng)絡(luò)路徑,以保證數(shù)據(jù)流可以正常的到達(dá)所選服務(wù)器111。當(dāng)客 戶51收到來(lái)自指令器20的響應(yīng)后,發(fā)起和服務(wù)器111之間的會(huì)話連接,開(kāi)始從服務(wù)器111 向客戶提供服務(wù)(步驟410 )。在業(yè)務(wù)結(jié)束后,例如客戶51或服務(wù)器111結(jié)束了會(huì)話連接,站 點(diǎn)代理30從本地負(fù)載列表301中移除所述負(fù)載(步驟411),同時(shí)通知網(wǎng)絡(luò)120拆除相應(yīng)的 網(wǎng)絡(luò)路徑(未示出)。
[0043] 圖5表示了處理MapReduce類型需求的時(shí)序。首先由客戶51向指令器20發(fā)送業(yè) 務(wù)需求61(步驟501)。指令器20的需求處理器206在判斷此業(yè)務(wù)需求61為MapReduce類 型的業(yè)務(wù)后,將該業(yè)務(wù)拆分(Map)成多個(gè)任務(wù)(Task),為該業(yè)務(wù)生成負(fù)載描述,并添加到全 局負(fù)載列表201中(參考圖10的流程圖),然后指令器20的全局均衡器204和成本計(jì)算器 205從所有數(shù)據(jù)中心站點(diǎn)中選擇一個(gè)對(duì)于執(zhí)行所述負(fù)載具有最低成本的站點(diǎn)(參考圖8的 流程圖),例如站點(diǎn)11 (步驟502),并通過(guò)消息接口 207向所選站點(diǎn)11的站點(diǎn)代理30發(fā)送 負(fù)載請(qǐng)求63來(lái)通知所選站點(diǎn)11執(zhí)行所述負(fù)載(步驟503)。當(dāng)所選站點(diǎn)11的站點(diǎn)代理30 通過(guò)消息接口 308收到所述負(fù)載請(qǐng)求63時(shí),站點(diǎn)代理30的本地均衡器304從站點(diǎn)11的服 務(wù)器中選擇一個(gè)或多個(gè)合適的服務(wù)器(參考圖9的流程圖),例如服務(wù)器111,將選擇結(jié)果和 所述負(fù)載的描述信息一起添加到本地負(fù)載列表301中(步驟504),并向指令器20返回接受 來(lái)確認(rèn)執(zhí)行負(fù)載(步驟505),使得指令器20將所述多個(gè)任務(wù)的例如輸入數(shù)據(jù)的信息發(fā)送到 站點(diǎn)代理30 (步驟506)后從全局負(fù)載列表201中移除所述負(fù)載(步驟507)。站點(diǎn)代理30 在收到任務(wù)后分別轉(zhuǎn)發(fā)給所選的一個(gè)或多個(gè)服務(wù)器,例如服務(wù)器111(步驟508)。然后所選 的一個(gè)或多個(gè)服務(wù)器,例如服務(wù)器111,各自執(zhí)行從站點(diǎn)代理30收到的任務(wù)(步驟509)。執(zhí) 行結(jié)果作為輸出經(jīng)過(guò)站點(diǎn)代理30轉(zhuǎn)發(fā)到指令器20 (步驟510),并在指令器20對(duì)來(lái)自一個(gè) 或多個(gè)服務(wù)器的輸出進(jìn)行合并(Reduce)(步驟512)。期間站點(diǎn)代理30在轉(zhuǎn)發(fā)輸出后從本 地負(fù)載列表301中移除所述負(fù)載(步驟511)。最后指令器20使用合并后的結(jié)果向客戶51 發(fā)送包含最終執(zhí)行結(jié)果的響應(yīng)(步驟513)。
[0044] 在某些情況下,圖4和圖5中選擇的最低成本的站點(diǎn)可能會(huì)拒絕執(zhí)行任務(wù),例如站 點(diǎn)的總可用資源大于業(yè)務(wù)的資源需求,但是單個(gè)服務(wù)器的最大可用資源小于業(yè)務(wù)的資源需 求,或者站點(diǎn)狀態(tài)62的傳輸和處理延時(shí)造成站點(diǎn)狀態(tài)表202和實(shí)際上的站點(diǎn)狀態(tài)之間存在 差異。在這種情況下,指令器20需要順序選擇成本次優(yōu)的站點(diǎn)。
[0045] 圖6表示了選擇第二低成本站點(diǎn)的時(shí)序。首先由客戶51向指令器20發(fā)送業(yè)務(wù)需 求61(步驟601)。指令器20為該業(yè)務(wù)生成負(fù)載描述并添加到全局負(fù)載列表201中(參考圖 10的流程圖),然后指令器20的全局均衡器204和成本計(jì)算器205從所有數(shù)據(jù)中心站點(diǎn)中 選擇一個(gè)對(duì)于執(zhí)行所述負(fù)載具有最低成本的站點(diǎn)(參考圖8的流程圖),例如站點(diǎn)11 (步驟 602),并通過(guò)消息接口 207向所選站點(diǎn)11的站點(diǎn)代理30發(fā)送負(fù)載請(qǐng)求63來(lái)通知所選站點(diǎn) 11執(zhí)行所述負(fù)載(步驟603)。當(dāng)所選站點(diǎn)11的站點(diǎn)代理30通過(guò)消息接口 308收到所述負(fù) 載請(qǐng)求63時(shí),站點(diǎn)代理30的本地均衡器304進(jìn)行站點(diǎn)內(nèi)服務(wù)器的選擇失敗(參考圖9的流 程圖,步驟604),并向指令器20返回拒絕來(lái)拒絕執(zhí)行負(fù)載(步驟605)。指令器20收到拒絕 消息后,繼續(xù)從除了站點(diǎn)11之外的數(shù)據(jù)中心站點(diǎn)中選擇一個(gè)對(duì)于執(zhí)行所述負(fù)載具有最低 成本的站點(diǎn),也就是在所有數(shù)據(jù)中心站點(diǎn)中具有第二低成本的站點(diǎn)(參考圖8的流程圖),例 如站點(diǎn)12 (步驟606),并通過(guò)消息接口 207向所選站點(diǎn)12的站點(diǎn)代理209發(fā)送負(fù)載請(qǐng)求 63來(lái)通知所選站點(diǎn)12執(zhí)行所述負(fù)載(步驟607)。當(dāng)所選站點(diǎn)12的站點(diǎn)代理209收到所述 負(fù)載請(qǐng)求63時(shí),站點(diǎn)代理209從站點(diǎn)12的服務(wù)器中選擇一個(gè)合適的服務(wù)器(參考圖9的流 程圖),將選擇結(jié)果和所述負(fù)載的描述信息一起添加到站點(diǎn)代理209的本地負(fù)載列表中(步 驟608),并向指令器20返回接受來(lái)確認(rèn)執(zhí)行負(fù)載(步驟609),使得指令器20從全局負(fù)載列 表201中移除所述負(fù)載(步驟610)并向客戶51返回所述業(yè)務(wù)的響應(yīng)(步驟611),或者執(zhí)行 類似圖5中步驟506-步驟513的對(duì)MapReduce類業(yè)務(wù)的后繼處理(未示出)。
[0046] 圖7表示了為業(yè)務(wù)選擇站點(diǎn)失敗的時(shí)序。首先由客戶51向指令器20發(fā)送業(yè)務(wù)需 求61(步驟701)。指令器20為該業(yè)務(wù)生成負(fù)載描述并添加到全局負(fù)載列表201中(參考圖 10的流程圖),然后指令器20的全局均衡器204和成本計(jì)算器205從所有數(shù)據(jù)中心站點(diǎn)中 選擇一個(gè)對(duì)于執(zhí)行所述負(fù)載具有最低成本的站點(diǎn)(參考圖8的流程圖),例如站點(diǎn)11 (步驟 702),并通過(guò)消息接口 207向所選站點(diǎn)11的站點(diǎn)代理30發(fā)送負(fù)載請(qǐng)求63來(lái)通知所選站點(diǎn) 11執(zhí)行所述負(fù)載(步驟703)。
[0047] 當(dāng)所選站點(diǎn)11的站點(diǎn)代理30通過(guò)消息接口 308收到所述負(fù)載請(qǐng)求63時(shí),站點(diǎn)代 理30的本地均衡器304進(jìn)行站點(diǎn)內(nèi)服務(wù)器的選擇失敗(參考圖9的流程圖,步驟704),并 向指令器20返回拒絕來(lái)拒絕執(zhí)行負(fù)載(步驟705)。指令器20收到拒絕消息后,繼續(xù)從除 了站點(diǎn)11之外的數(shù)據(jù)中心站點(diǎn)中選擇一個(gè)對(duì)于執(zhí)行所述負(fù)載具有最低成本的站點(diǎn),也就 是在所有數(shù)據(jù)中心站點(diǎn)中具有第二低成本的站點(diǎn)(參考圖8的流程圖),例如站點(diǎn)12 (步驟 706),并通過(guò)消息接口 207向所選站點(diǎn)12的站點(diǎn)代理209發(fā)送負(fù)載請(qǐng)求63來(lái)通知所選站 點(diǎn)12執(zhí)行所述負(fù)載(步驟707)。
[0048] 當(dāng)所選站點(diǎn)12的站點(diǎn)代理209收到所述負(fù)載請(qǐng)求63時(shí),站點(diǎn)代理209進(jìn)行站點(diǎn) 內(nèi)服務(wù)器的選擇失敗(參考圖9的流程圖,步驟708),并向指令器20返回拒絕來(lái)拒絕執(zhí)行負(fù) 載(步驟709)。指令器20收到拒絕消息后,繼續(xù)從除了站點(diǎn)11、12之外的數(shù)據(jù)中心站點(diǎn)中 選擇一個(gè)對(duì)于執(zhí)行所述負(fù)載具有最低成本的站點(diǎn),也就是在所有數(shù)據(jù)中心站點(diǎn)中具有第三 低成本的站點(diǎn)(參考圖8的流程圖),例如站點(diǎn)13 (步驟710),并通過(guò)消息接口 207向所選 站點(diǎn)13的站點(diǎn)代理210發(fā)送負(fù)載請(qǐng)求63來(lái)通知所選站點(diǎn)13執(zhí)行所述負(fù)載(步驟711)。
[0049] 當(dāng)所選站點(diǎn)13的站點(diǎn)代理210收到所述負(fù)載請(qǐng)求63時(shí),站點(diǎn)代理210進(jìn)行站點(diǎn) 內(nèi)服務(wù)器的選擇失敗(參考圖9的流程圖,步驟712),并向指令器20返回拒絕來(lái)拒絕執(zhí)行負(fù) 載(步驟713)。指令器20收到拒絕消息后,發(fā)現(xiàn)對(duì)于所述負(fù)載的可用站點(diǎn)為空,因此判定 為所述業(yè)務(wù)選擇站點(diǎn)失敗(參考圖8的流程圖),從全局負(fù)載列表201中移除所述負(fù)載(步驟 714),并向客戶51返回失敗來(lái)拒絕客戶的業(yè)務(wù)需求61 (步驟715)。
[0050] 下面結(jié)合具體的流程圖對(duì)圖4-圖7中涉及的指令器20和站點(diǎn)代理30的處理過(guò) 程進(jìn)行說(shuō)明。在圖8-圖23中所使用的用字母表示的序號(hào)指代含義為,i表示某個(gè)數(shù)據(jù)中 心站點(diǎn),η表示站點(diǎn)內(nèi)的某個(gè)服務(wù)器,j表示某個(gè)具體的業(yè)務(wù)或負(fù)載,k表示某個(gè)業(yè)務(wù)類型, p表示MapReduce類業(yè)務(wù)或負(fù)載拆分得到的某個(gè)任務(wù)。
[0051] 圖8表示了指令器20選擇具有優(yōu)化成本的站點(diǎn)的流程圖。如圖4-圖7中所述,當(dāng) 指令器20收到第j個(gè)(例如,j=2)業(yè)務(wù)需求61時(shí)(步驟801),指令器20的需求處理器206 根據(jù)業(yè)務(wù)資源需求表203估計(jì)第j個(gè)業(yè)務(wù)需求61的處理器資源需求R OT(j,t)和帶寬資源 需求Rbw(j,t),產(chǎn)生第j個(gè)需求對(duì)應(yīng)的負(fù)載描述(參考圖10的流程圖,步驟802),并把產(chǎn) 生的第j個(gè)負(fù)載添加到全局負(fù)載列表201中(參考圖16的表格式,步驟803)。然后指令器 20的成本計(jì)算器205根據(jù)所述資源需求R OT(j,t),Rbw(j,t)和站點(diǎn)狀態(tài)表202依次計(jì)算在 第i個(gè)(i=l,2, 3)站點(diǎn)執(zhí)行第j個(gè)負(fù)載時(shí)可能消耗的電力成本(步驟804): ^0052] Ce,v(/, /) = j ( RCPl;(jj) " .V,,(/, /,) //>HE (/, /〇) * di
[0053] 其中,Cele(j,i)是第i個(gè)站點(diǎn)執(zhí)行第j個(gè)負(fù)載時(shí)可能消耗的電力成本,N ele(i,tQ) 是第i個(gè)站點(diǎn)在當(dāng)前時(shí)間h的電力系數(shù),PUE(i,〇是第i個(gè)站點(diǎn)在當(dāng)前時(shí)間h的電源使 用效率(Power Usage Effectiveness), tj是第j個(gè)負(fù)載可能執(zhí)行的時(shí)長(zhǎng)。既然負(fù)載的可 能執(zhí)行時(shí)長(zhǎng)對(duì)每一個(gè)數(shù)據(jù)中心站點(diǎn)是不變的,并不影響最后的優(yōu)化結(jié)果,因此h可以設(shè)定 為單位時(shí)長(zhǎng),例如1秒。
[0054] 類似的,指令器20的成本計(jì)算器205根據(jù)所述資源需求ROT(j,t),R bw(j,t)和站 點(diǎn)狀態(tài)表202依次計(jì)算在第i個(gè)(i=l,2, 3)站點(diǎn)執(zhí)行第j個(gè)負(fù)載時(shí)可能消耗的帶寬成本(步 驟805):
[0055] ( ;,,(/,/) = Rhw(jJ) * NfjL/〇) * dt
[0056] 其中,Cbw(j,i)是第i個(gè)站點(diǎn)執(zhí)行第j個(gè)負(fù)載時(shí)可能消耗的帶寬成本,N bw(i,〇是 第i個(gè)站點(diǎn)在當(dāng)前時(shí)間h的帶寬系數(shù),\是第j個(gè)負(fù)載可能執(zhí)行的時(shí)長(zhǎng),例如1秒。
[0057] 在成本計(jì)算器205完成對(duì)所有站點(diǎn)的成本計(jì)算后,把中間計(jì)算結(jié)果Celc;(j,i)和 Cbw (j,i)發(fā)送給全局均衡器204,并由全局均衡器204選擇具有最小電力成本及帶寬成本之 和卿Min(Sum(Cele(j,i),Cbw(j,i)))的站點(diǎn),例如站點(diǎn)11(步驟806)。然后全局均衡器204 檢查站點(diǎn)狀態(tài)表202中所選站點(diǎn)對(duì)應(yīng)條目中的站點(diǎn)忙碌標(biāo)識(shí)來(lái)判斷所選站點(diǎn)是否忙碌(參 考圖17的表格式,步驟807)。如果步驟807的判斷結(jié)果為否,則通過(guò)消息接口 207向所選 站點(diǎn)11的站點(diǎn)代理30發(fā)送負(fù)載請(qǐng)求63來(lái)通知所選站點(diǎn)11執(zhí)行所述負(fù)載(步驟808)。發(fā) 出負(fù)載請(qǐng)求63的指令器20的全局均衡器204需要等待所選站點(diǎn)11的答復(fù)來(lái)判斷所選站 點(diǎn)11是否接受所述負(fù)載請(qǐng)求63(步驟809)。如果步驟809中收到接受消息,則把全局負(fù)載 列表201的執(zhí)行站點(diǎn)項(xiàng)更新為所選站點(diǎn)11的名稱(例如PEK,步驟810),并響應(yīng)客戶51 (參 考圖4、圖5的時(shí)序圖),最后把第j個(gè)負(fù)載從全局負(fù)載列表201中移除。如果步驟807的判 斷結(jié)果為是,或者如果步驟809中收到拒絕消息(判斷結(jié)果為否),或者如果步驟809中等待 答復(fù)超時(shí)(判斷結(jié)果為否),則全局均衡器204把所選站點(diǎn)(例如站點(diǎn)11)從第j個(gè)負(fù)載的可 用站點(diǎn)列表中移除(步驟813),檢查對(duì)于第j個(gè)負(fù)載是否還有可用站點(diǎn)(步驟814)。如果步 驟814的判斷結(jié)果為是,則返回步驟806繼續(xù)選擇次優(yōu)成本的站點(diǎn)。全局均衡器204可能 會(huì)重復(fù)步驟806-步驟814的循環(huán),直到某個(gè)選中的站點(diǎn)接受所述負(fù)載請(qǐng)求63,響應(yīng)客戶(步 驟811 ),或者嘗試完所有站點(diǎn),在步驟814的判斷結(jié)果為否,向客戶發(fā)送失敗(步驟815 )。最 后無(wú)論第j個(gè)負(fù)載的處理是成功還是失敗,都將其從全局負(fù)載列表201中移除并進(jìn)入下一 個(gè)業(yè)務(wù)需求的處理(步驟812)。
[0058] 圖9表示了站點(diǎn)代理30為從指令器來(lái)的負(fù)載請(qǐng)求63選擇服務(wù)器的流程圖。如 圖4-圖7中所述,當(dāng)所選站點(diǎn)11的站點(diǎn)代理30通過(guò)消息接口 308收到第j個(gè)負(fù)載產(chǎn)生 的負(fù)載請(qǐng)求63時(shí)(步驟901),站點(diǎn)代理30的本地均衡器304從站點(diǎn)11的服務(wù)器中選擇一 個(gè)合適的服務(wù)器,或者選擇服務(wù)器失敗,并向答復(fù)指令器20是否接受所述負(fù)載請(qǐng)求63。在 以上處理過(guò)程中,站點(diǎn)代理30的本地均衡器304首先檢查負(fù)載請(qǐng)求63中的業(yè)務(wù)類型(參考 圖23的消息格式),判斷所接收到的負(fù)載是否為流類型業(yè)務(wù)(步驟902)。如果步驟902的 判斷結(jié)果為是,則從負(fù)載請(qǐng)求63中讀出第j個(gè)負(fù)載的處理器資源需求R^at)和帶寬資 源需求R bw(j,t),將其設(shè)為選擇一個(gè)服務(wù)器的算法的輸入(步驟903),然后調(diào)用例如網(wǎng)絡(luò)感 知的負(fù)載均衡算法(參照中國(guó)專利申請(qǐng)CN201210033677. 6)來(lái)根據(jù)ROT(j,t)、Rbw(j,t)和 服務(wù)器狀態(tài)表302從站點(diǎn)11的所有開(kāi)機(jī)中的服務(wù)器中選擇一個(gè)滿足資源需求的服務(wù)器, 例如服務(wù)器112 (步驟904)。如果步驟902的判斷結(jié)果為否,表示MapReduce業(yè)務(wù),則從負(fù) 載請(qǐng)求63中讀出第j個(gè)負(fù)載的處理器資源需求R ePU(j, t)、帶寬資源需求Rbw(j, t)和任務(wù) 數(shù),將處理器資源需求RCTU(j,t)和帶寬資源需求Rbw(j,t)除以任務(wù)數(shù)后設(shè)為選擇一個(gè)服 務(wù)器的算法的輸入(步驟905),然后調(diào)用例如網(wǎng)絡(luò)感知的負(fù)載均衡算法(參照中國(guó)專利申請(qǐng) CN201210033677. 6)來(lái)根據(jù)所述輸入和服務(wù)器狀態(tài)表302從站點(diǎn)11的所有開(kāi)機(jī)中的服務(wù)器 中為所述負(fù)載的下一個(gè)任務(wù)選擇一個(gè)滿足資源需求的服務(wù)器,例如服務(wù)器111 (步驟906)。
[0059] 運(yùn)行完選擇一個(gè)服務(wù)器的算法后,本地均衡器304查看運(yùn)行結(jié)果是否包含可用的 服務(wù)器和從邊緣路由器115到達(dá)所述服務(wù)器的路徑(步驟907)。如果步驟907的判斷結(jié)果 為是,則檢查負(fù)載請(qǐng)求63中的業(yè)務(wù)類型和任務(wù)列表來(lái)判斷是否完成負(fù)載請(qǐng)求63的處理(步 驟908),步驟908具體包括如果步驟903-步驟906處理的是一個(gè)流類型負(fù)載或者是一個(gè) MapReduce負(fù)載的最后一個(gè)任務(wù)則判斷結(jié)果為是,否則如果步驟903-步驟906處理的是一 個(gè)MapReduce負(fù)載的最后一個(gè)任務(wù)之前的任務(wù)則判斷結(jié)果為否。如果步驟908的判斷結(jié)果 為是,則本地均衡器304把負(fù)載和所選的一個(gè)或多個(gè)服務(wù)器{P(j,η)}加入到本地負(fù)載列表 301(參考圖19的表格式,步驟910),并通過(guò)消息接口 308向指令器發(fā)送接受負(fù)載的答復(fù)消 息(步驟911 )。如果步驟908的判斷結(jié)果為否,則返回步驟902繼續(xù)處理MapReduce負(fù)載的 下一個(gè)任務(wù)。對(duì)于流類型的負(fù)載,本地均衡器304只需要執(zhí)行一遍步驟902-步驟907。而 對(duì)于MapReduce負(fù)載,本地均衡器304需要重復(fù)步驟902-步驟907的循環(huán),直到處理完該 負(fù)載的所有任務(wù)。
[0060] 如果步驟907的判斷結(jié)果為否,表示當(dāng)前無(wú)可用服務(wù)器或路徑,則本地均衡器304 檢查站點(diǎn)11的服務(wù)器狀態(tài)表302 (參考圖20的表格式)來(lái)判斷在站點(diǎn)11中是否還有關(guān)機(jī) 中的服務(wù)器(步驟912)。如果步驟912的判斷結(jié)果為是,則通過(guò)基礎(chǔ)設(shè)施控制接口 305向 站點(diǎn)11的基礎(chǔ)設(shè)施330發(fā)送控制命令為一個(gè)隨機(jī)選中的或根據(jù)空調(diào)運(yùn)行狀況及服務(wù)器物 理位置選中的關(guān)機(jī)中的服務(wù)器的電源323接通,通過(guò)管理器控制接口 307向所述服務(wù)器發(fā) 送控制命令來(lái)產(chǎn)生一個(gè)新的虛擬機(jī),以及通過(guò)網(wǎng)絡(luò)控制接口 306向包括交換機(jī)115的網(wǎng)絡(luò) 120發(fā)送控制命令來(lái)連接所述服務(wù)器和虛擬機(jī),從而使一個(gè)關(guān)機(jī)中的服務(wù)器進(jìn)入開(kāi)機(jī)狀態(tài) (步驟913),然后返回步驟902重新進(jìn)行步驟902-步驟907的循環(huán)來(lái)選擇服務(wù)器。如果步 驟912的判斷結(jié)果為否,則表示站點(diǎn)11無(wú)法再增加開(kāi)機(jī)中的服務(wù)器的數(shù)量來(lái)增加資源,因 此本地均衡器304通過(guò)消息接口 308向指令器發(fā)送拒絕負(fù)載的答復(fù)消息(步驟911)。
[0061] 圖10表示了指令器20為業(yè)務(wù)需求61估計(jì)資源需求并生成負(fù)載描述的流程圖,即 圖8中的步驟802的詳細(xì)流程。在估計(jì)資源需求時(shí),首先指令器20的需求處理器206從收 到的業(yè)務(wù)需求61的IP包頭中讀取包括目的IP地址和目的端口號(hào)的目標(biāo)套接字地址(步驟 1001),并通過(guò)和已知的作業(yè)服務(wù)器(JobTracker)的地址進(jìn)行比較來(lái)判斷所述業(yè)務(wù)需求61 的目標(biāo)套接字地址是否為作業(yè)服務(wù)器(步驟1002)。注意這里的術(shù)語(yǔ)作業(yè)服務(wù)器并不一定是 一個(gè)物理服務(wù)器,而只是MapReduce構(gòu)架中負(fù)責(zé)作業(yè)拆分和分配的一個(gè)功能模塊。如果步 驟1002的判斷結(jié)果為否,則把業(yè)務(wù)類型設(shè)為流(參考圖16的表格式,步驟1003),從業(yè)務(wù)需 求61的IP包頭中讀取協(xié)議類型(如TCP、UDP)和目的端口號(hào)并設(shè)置到負(fù)載描述中相應(yīng)的協(xié) 議類型和端口號(hào)(步驟1004),以及把不是用于描述流類型業(yè)務(wù)的任務(wù)數(shù)和任務(wù)列表的指針 設(shè)為空(步驟1005)。如果步驟1002的判斷結(jié)果為是,則把業(yè)務(wù)類型設(shè)為MapReduce (參考 圖16的表格式,步驟1006),調(diào)用作業(yè)服務(wù)器的JobTacker. submitjob〇方法來(lái)初始化業(yè) 務(wù)需求61的任務(wù)列表,得到任務(wù)數(shù),并設(shè)置到負(fù)載描述中相應(yīng)的任務(wù)列表和任務(wù)數(shù)(步驟 1007),以及把不是用于描述MapReduce類型業(yè)務(wù)的協(xié)議類型和端口號(hào)設(shè)為空(步驟1008)。
[0062] 完成步驟1005或步驟1008后,需求處理器206根據(jù)從業(yè)務(wù)需求61得到的信息 {:業(yè)務(wù)類型,協(xié)議類型,端口號(hào)}搜索業(yè)務(wù)資源需求表203中的匹配業(yè)務(wù)(步驟1009),并檢 查是否存在匹配記錄(步驟1010)。如果步驟1010的判斷結(jié)果為是,則根據(jù)找到的匹配記錄 (例如第k條記錄)來(lái)估計(jì)所述業(yè)務(wù)需求的資源需求。具體包括,判斷業(yè)務(wù)類型是否為流類 型(步驟1012)。如果步驟1012的判斷結(jié)果為是,則把匹配記錄中處理器資源需求和帶寬資 源需求對(duì)站點(diǎn)i和時(shí)間t的平均值分別設(shè)為當(dāng)前的第j個(gè)業(yè)務(wù)需求61的處理器資源需求 和帶寬資源需求,即
【權(quán)利要求】
1. 一種數(shù)據(jù)中心系統(tǒng),其特征在于,包括: 多個(gè)數(shù)據(jù)中心站點(diǎn),每個(gè)數(shù)據(jù)中心站點(diǎn)包括一個(gè)以上用于處理用戶的應(yīng)用的服務(wù)器; 指令部,其管理所述多個(gè)數(shù)據(jù)中心站點(diǎn),并向用戶提供應(yīng)用服務(wù); 多個(gè)站點(diǎn)代理部,其對(duì)應(yīng)所述多個(gè)數(shù)據(jù)中心站點(diǎn)的每一個(gè)而設(shè)置,管理各自的數(shù)據(jù)中 心站點(diǎn)的狀態(tài)并將應(yīng)用分配給服務(wù)器運(yùn)行;和 通信網(wǎng)絡(luò),其連接用戶、所述多個(gè)數(shù)據(jù)中心站點(diǎn)、所述指令部和所述站點(diǎn)代理部, 所述指令部具有計(jì)算各個(gè)數(shù)據(jù)中心站點(diǎn)運(yùn)行應(yīng)用的、至少包括電力成本和帶寬成本的 運(yùn)行成本的成本計(jì)算器, 當(dāng)用戶向所述指令部發(fā)送應(yīng)用請(qǐng)求時(shí),所述指令部根據(jù)所有種類的應(yīng)用所需的資源估 算運(yùn)行用戶請(qǐng)求的應(yīng)用所需的資源,所述成本計(jì)算器根據(jù)各數(shù)據(jù)中心站點(diǎn)的資源使用狀態(tài) 和估算的所需的資源計(jì)算在各個(gè)數(shù)據(jù)中心站點(diǎn)運(yùn)行用戶請(qǐng)求的應(yīng)用的電力成本和帶寬成 本,所述指令部向運(yùn)行用戶請(qǐng)求的應(yīng)用的電力成本與帶寬成本之和最低的數(shù)據(jù)中心站點(diǎn)的 站點(diǎn)代理部發(fā)送應(yīng)用運(yùn)行請(qǐng)求,接收到所述應(yīng)用運(yùn)行請(qǐng)求的站點(diǎn)代理部將請(qǐng)求運(yùn)行的應(yīng)用 分配給該站點(diǎn)代理部管理的服務(wù)器。
2. 如權(quán)利要求1所述的數(shù)據(jù)中心系統(tǒng),其特征在于: 所述應(yīng)用運(yùn)行請(qǐng)求中包含估算的運(yùn)行用戶請(qǐng)求的應(yīng)用所需的資源的信息, 所述站點(diǎn)代理部根據(jù)本站點(diǎn)的各服務(wù)器的資源使用狀態(tài)和估算的運(yùn)行用戶請(qǐng)求的應(yīng) 用所需的資源的信息,將用戶請(qǐng)求的應(yīng)用分配給能夠運(yùn)行該應(yīng)用的服務(wù)器。
3. 如權(quán)利要求1或2所述的數(shù)據(jù)中心系統(tǒng),其特征在于: 所述指令部還包括指令部存儲(chǔ)器,其存儲(chǔ)有數(shù)據(jù)中心站點(diǎn)狀態(tài)表和應(yīng)用資源需求表, 所述數(shù)據(jù)中心站點(diǎn)狀態(tài)表用于記錄所述各數(shù)據(jù)中心站點(diǎn)的資源使用狀態(tài), 所述應(yīng)用資源需求表用于記錄所述所有種類的應(yīng)用所需的資源。
4. 如權(quán)利要求3所述的數(shù)據(jù)中心系統(tǒng),其特征在于: 所述站點(diǎn)代理部具有站點(diǎn)代理部存儲(chǔ)器,該站點(diǎn)代理部存儲(chǔ)器存儲(chǔ)有用于記錄本站點(diǎn) 的各服務(wù)器的資源使用狀態(tài)的服務(wù)器狀態(tài)表和用于記錄本站點(diǎn)的各服務(wù)器正在運(yùn)行的應(yīng) 用的資源增量表,所述服務(wù)器狀態(tài)表和資源增量表被定期地上傳至所述指令部,以更新所 述指令部存儲(chǔ)器存儲(chǔ)的數(shù)據(jù)中心站點(diǎn)狀態(tài)表和應(yīng)用資源需求表。
5. 如權(quán)利要求2所述的數(shù)據(jù)中心系統(tǒng),其特征在于: 接收到所述應(yīng)用運(yùn)行請(qǐng)求的站點(diǎn)代理部,在沒(méi)有找到能夠運(yùn)行請(qǐng)求的應(yīng)用的服務(wù)器的 情況下,向所述指令部返回拒絕運(yùn)行應(yīng)用的信息, 所述指令部接收到拒絕運(yùn)行應(yīng)用的信息后,向另一數(shù)據(jù)中心站點(diǎn)的站點(diǎn)代理部發(fā)送應(yīng) 用運(yùn)行請(qǐng)求,該另一數(shù)據(jù)中心站點(diǎn)運(yùn)行用戶請(qǐng)求的應(yīng)用的電力成本與帶寬成本之和僅比返 回拒絕運(yùn)行應(yīng)用的信息的站點(diǎn)代理部所管理的數(shù)據(jù)中心站點(diǎn)高。
6. 如權(quán)利要求3所述的數(shù)據(jù)中心系統(tǒng),其特征在于: 所述數(shù)據(jù)中心站點(diǎn)狀態(tài)表包括電力系數(shù)、電力使用效率和帶寬系數(shù),所述應(yīng)用資源需 求表包括應(yīng)用類型、CPU需求和帶寬需求, 所述指令器根據(jù)應(yīng)用資源需求表的應(yīng)用類型、CPU需求和帶寬需求估算運(yùn)行應(yīng)用所需 的資源, 所述成本計(jì)算器,根據(jù)所述電力系數(shù)、電力使用效率和估算的運(yùn)行應(yīng)用所需的資源計(jì) 算電力成本,根據(jù)帶寬系數(shù)和估算運(yùn)行應(yīng)用所需的資源計(jì)算帶寬成本。
7. -種數(shù)據(jù)中心系統(tǒng)的管理方法,所述數(shù)據(jù)中心系統(tǒng)通過(guò)通信網(wǎng)絡(luò)聯(lián)接用戶、多個(gè)數(shù) 據(jù)中心站點(diǎn)、指令部和站點(diǎn)代理部而構(gòu)成,所述多個(gè)數(shù)據(jù)中心站點(diǎn)的每一個(gè)都包括一個(gè)以 上的服務(wù)器,所述數(shù)據(jù)中心系統(tǒng)的管理方法的特征在于,包括: 所述指令部接收來(lái)自用戶的應(yīng)用請(qǐng)求,根據(jù)所有種類的應(yīng)用所需的資源估算運(yùn)行用戶 請(qǐng)求的應(yīng)用所需的資源的步驟; 根據(jù)各個(gè)數(shù)據(jù)中心站點(diǎn)的狀態(tài)和估算的所需的資源計(jì)算在各個(gè)數(shù)據(jù)中心站點(diǎn)運(yùn)行用 戶請(qǐng)求的應(yīng)用的、至少包括電力成本和帶寬成本的運(yùn)行成本的步驟; 所述指令部向運(yùn)行用戶請(qǐng)求的應(yīng)用的電力成本與帶寬成本之和最低的數(shù)據(jù)中心站點(diǎn) 的站點(diǎn)代理部發(fā)送應(yīng)用運(yùn)行請(qǐng)求的步驟;和 接收到所述應(yīng)用運(yùn)行請(qǐng)求的站點(diǎn)代理部將請(qǐng)求運(yùn)行的應(yīng)用分配給該站點(diǎn)代理部管理 的服務(wù)器的步驟。
8. 如權(quán)利要求7所述的數(shù)據(jù)中心系統(tǒng)的管理方法,其特征在于: 所述應(yīng)用運(yùn)行請(qǐng)求中包含估算的運(yùn)行用戶請(qǐng)求的應(yīng)用所需的資源的信息, 所述站點(diǎn)代理部根據(jù)本站點(diǎn)的各服務(wù)器的資源使用狀態(tài)和估算的運(yùn)行用戶請(qǐng)求的應(yīng) 用所需的資源的信息,將用戶請(qǐng)求的應(yīng)用分配給能夠運(yùn)行該應(yīng)用的服務(wù)器。
9. 如權(quán)利要求7或8所述的數(shù)據(jù)中心系統(tǒng)的管理方法,其特征在于: 所述指令部還包括指令部存儲(chǔ)器,其存儲(chǔ)有數(shù)據(jù)中心站點(diǎn)狀態(tài)表和應(yīng)用資源需求表, 所述數(shù)據(jù)中心站點(diǎn)狀態(tài)表用于記錄所述各數(shù)據(jù)中心站點(diǎn)的資源使用狀態(tài), 所述應(yīng)用資源需求表用于記錄所述所有種類的應(yīng)用所需的資源。
10. 如權(quán)利要求9所述的數(shù)據(jù)中心系統(tǒng)的管理方法,其特征在于: 還包括所述站點(diǎn)代理部定期地將該站點(diǎn)代理部管理的服務(wù)器的狀態(tài)信息上傳至所述 指令部,以更新所述數(shù)據(jù)中心站點(diǎn)狀態(tài)表和所述應(yīng)用資源需求表的步驟。
11. 如權(quán)利要求8所述的數(shù)據(jù)中心系統(tǒng)的管理方法,其特征在于,還包括: 在站點(diǎn)代理部沒(méi)有找到能夠運(yùn)行該應(yīng)用的服務(wù)器的情況下,向所述指令部返回拒絕運(yùn) 行應(yīng)用的信息的步驟;和 所述指令部接收到拒絕運(yùn)行應(yīng)用的信息后,向另一數(shù)據(jù)中心站點(diǎn)的站點(diǎn)代理部發(fā)送應(yīng) 用運(yùn)行請(qǐng)求的步驟,該另一數(shù)據(jù)中心站點(diǎn)運(yùn)行用戶請(qǐng)求的應(yīng)用的電力成本與帶寬成本之和 僅比返回拒絕運(yùn)行應(yīng)用的信息的站點(diǎn)代理部所管理的數(shù)據(jù)中心站點(diǎn)高。
12. 如權(quán)利要求9所述的數(shù)據(jù)中心系統(tǒng)的管理方法,其特征在于: 所述數(shù)據(jù)中心站點(diǎn)狀態(tài)表包括電力系數(shù)、電力使用效率和帶寬系數(shù),所述應(yīng)用資源需 求表包括應(yīng)用類型、CPU需求和帶寬需求, 在估算運(yùn)行用戶請(qǐng)求的應(yīng)用所需的資源的步驟中,根據(jù)應(yīng)用資源需求表的應(yīng)用類型、 CPU需求和帶寬需求估算運(yùn)行應(yīng)用所需的資源, 在計(jì)算至少包括電力成本和帶寬成本的運(yùn)行成本的步驟中,根據(jù)所述電力系數(shù)、電力 使用效率和估算的運(yùn)行應(yīng)用所需的資源計(jì)算電力成本,根據(jù)帶寬系數(shù)和估算運(yùn)行應(yīng)用所需 的資源計(jì)算帶寬成本。
【文檔編號(hào)】G06Q50/06GK104144183SQ201310166725
【公開(kāi)日】2014年11月12日 申請(qǐng)日期:2013年5月8日 優(yōu)先權(quán)日:2013年5月8日
【發(fā)明者】石穎 申請(qǐng)人:株式會(huì)社日立制作所