專利名稱:具有后繼備份關(guān)系的邏輯節(jié)點的部屬方法及設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信領(lǐng)域,尤其涉及一種具有后繼備份關(guān)系的邏輯節(jié)點的部屬方法及設(shè)備。
背景技術(shù):
自從亞馬遜于2006年推出“彈性計算云”平臺EC2 (Elastic Compute Cloud)并大獲成功之后,業(yè)界廣泛開始對基于虛擬化彈性資源池提供數(shù)據(jù)中心基礎(chǔ)設(shè)施對內(nèi)整合(私有云)或?qū)ν庾赓U服務(wù)這種全新商業(yè)模式(IaaS模式的公有云)進行研究。作為云計算資源池的核心部件,盡管為使用IaaS服務(wù)的上層(第三方)業(yè)務(wù)系統(tǒng)提供動態(tài)部署和虛擬機管理、自動負載均衡、服務(wù)器整合和動態(tài)資源伸縮與劃分等諸多特性,針對大規(guī)模數(shù)據(jù)中心的現(xiàn)有虛擬化基礎(chǔ)設(shè)施管理系統(tǒng)普遍存在以下不足只支持first fit、round robin等少量靜態(tài)配置的節(jié)點部署策略;缺乏針對包含若干虛擬節(jié)點的虛擬機集合的特定資源調(diào)度、節(jié)點部署和配置策略支持。云計算應(yīng)用中目前使用的虛擬節(jié)點部署策略可劃分為兩大類負載均衡類基于盡量平均化物理節(jié)點負載壓力的策略,如,靜態(tài)的輪轉(zhuǎn)策略 (round robin)、以及動態(tài)的負載均衡(load balancing);資源壓縮類基于盡量最小化在使用物理節(jié)點數(shù)量的策略,如,靜態(tài)的貪心算法 (first fit)和動態(tài)的服務(wù)器整合(server consolidation)。目前已有的虛擬節(jié)點部署算法/策略均假設(shè)各個虛擬機節(jié)點是不存在任何依賴/ 互斥關(guān)系的獨立實體,因此,只從物理資源池的效率/公平/安全需求角度出發(fā)進行決策。 然而在由若干虛擬節(jié)點組成的分布式計算系統(tǒng)中,不同節(jié)點之間可能存在影響其物理部署決策的各種復雜關(guān)系。例如,在P2P系統(tǒng)中,作為由不穩(wěn)定的自治用戶節(jié)點構(gòu)成的開放式系統(tǒng),用戶上下線引發(fā)系統(tǒng)節(jié)點集合的頻繁動態(tài)變化是確保系統(tǒng)可用性需要解決的首要問題之一。為此,P2P系統(tǒng)中的peer之間存在事先約定的后繼備份關(guān)系。以chord為例,peer 之間的前驅(qū)后繼關(guān)系形成一個環(huán)形結(jié)構(gòu),環(huán)上第i個peer的后繼節(jié)點i+Ι自動成為前者退出系統(tǒng)時的數(shù)據(jù)與服務(wù)備份節(jié)點;與之對應(yīng),第j個peer加入網(wǎng)絡(luò)時自動從其后繼節(jié)點 j+Ι中分擔后者的數(shù)據(jù)與服務(wù)負載。但是,如果存在備份關(guān)系的虛擬節(jié)點部署在同一臺物理服務(wù)器上,則該物理服務(wù)器故障時,其上不同虛擬節(jié)點之間的冗余備份關(guān)系將失去意義,導致備份失效。另外,如果虛擬節(jié)點部署在不同物理服務(wù)器上、則這種存在后繼備份關(guān)系的虛擬節(jié)點的部署可能導致雪崩效應(yīng)每當突發(fā)性大規(guī)模用戶請求導致對應(yīng)peer資源耗盡而不可用時,后續(xù)請求將被直接定位到該節(jié)點的后繼peer ;如果該后繼節(jié)點唯一,加上其本身承擔的用戶請求負載,則其資源也很可能被馬上耗盡也變得不可用;類似的現(xiàn)象循著peer 之間的后繼關(guān)系不斷向前推進,得不到滿足的用戶請求集合像“雪球”一樣越滾越大,而P2P 系統(tǒng)將最終全面癱瘓。
發(fā)明內(nèi)容
本發(fā)明提供了一種具有后繼備份關(guān)系的邏輯節(jié)點的部屬方法及設(shè)備,解決了物理節(jié)點故障時導致的備份失效和雪崩效應(yīng)。本發(fā)明提供了一種具有后繼備份關(guān)系的邏輯節(jié)點的部屬方法,包括步驟1,獲得待分配的邏輯節(jié)點和承載邏輯節(jié)點的物理節(jié)點;步驟2,對于任一承載有多個邏輯節(jié)點的物理節(jié)點,配置其上承載的所述多個邏輯節(jié)點的后繼備份關(guān)系分別指向其他不同的物理節(jié)點。所述物理節(jié)點的個數(shù)與邏輯節(jié)點的個數(shù)滿足關(guān)系式m彡mX (m-1),其中η為邏輯節(jié)點的個數(shù),m為物理節(jié)點的個數(shù)。當所述物理節(jié)點的個數(shù)與邏輯節(jié)點的個數(shù)滿足關(guān)系式η >m時,將不存在后繼備份關(guān)系的邏輯節(jié)點進行打包得到新的邏輯節(jié)點,直到所述新的邏輯節(jié)點滿足關(guān)系式 η ^mX (m-1),其中η為邏輯節(jié)點的個數(shù),m為物理節(jié)點的個數(shù)。設(shè)η為邏輯節(jié)點的個數(shù),m為物理節(jié)點的個數(shù);步驟2包括當η < m時,直接將所述η個邏輯節(jié)點配置到所述m個物理節(jié)點中的η個物理節(jié)占.
^ \\\ 當η > m時,使用后繼備份關(guān)系記錄矩陣M(m,m)標記當前可用和已用的物理節(jié)點,其每行每列代表一個物理節(jié)點,將所述后繼備份關(guān)系記錄矩陣M(m,m)的對角線置為第一標識;在每一物理節(jié)點上配置一個邏輯節(jié)點,根據(jù)邏輯節(jié)點的后繼備份關(guān)系設(shè)置所述后繼備份關(guān)系記錄矩陣M(m,m)中元素M(l,2)...M(m-l,m)數(shù)值為第一標識;獲取當前部署節(jié)點坐標記錄為χ = m-l,y = m,在所述后繼備份關(guān)系記錄矩陣M(m,m)的第m行獲取物理節(jié)點作為新的邏輯節(jié)點對應(yīng)的物理節(jié)點;根據(jù)當前部署節(jié)點坐標獲取下一邏輯節(jié)點所對應(yīng)的物理節(jié)點,直到獲取所有邏輯節(jié)點對應(yīng)的物理節(jié)點。在所述后繼備份關(guān)系記錄矩陣M(m,m)的第m行獲取物理節(jié)點作為新的邏輯節(jié)點對應(yīng)的物理節(jié)點包括在所述后繼備份關(guān)系記錄矩陣M(m,m)中獲取第m行從左向右最后一個第一標識元素的右側(cè)相鄰元素,將所述相鄰元素所在的行所對應(yīng)的物理節(jié)點作為新的邏輯節(jié)點對應(yīng)的物理節(jié)點;或者在所述后繼備份關(guān)系記錄矩陣M (m,m)中獲取第m行非第一標識元素所在列對應(yīng)的物理節(jié)點中當前可用資源數(shù)目最多的元素,將該元素所在的行所對應(yīng)的物理節(jié)點作為新的邏輯節(jié)點對應(yīng)的物理節(jié)點;或者在所述后繼備份關(guān)系記錄矩陣M (m,m)中獲取第m行從左至右滿足關(guān)系P (Hii) ^p 的第一個非第一標識元素,將該元素所在的行所對應(yīng)的物理節(jié)點作為新的邏輯節(jié)點對應(yīng)的物理節(jié)點;所述P(Hii)表示第m行第i個元素所在列對應(yīng)的物理節(jié)點的當前可用資源數(shù)目, 所述P表示配置邏輯節(jié)點所需要的最小資源數(shù)目。還包括步驟3,當任一物理節(jié)點故障時,其上承載的邏輯節(jié)點的功能分別由各自的后繼備份節(jié)點執(zhí)行,且所述各自的后繼備份節(jié)點位于不同物理節(jié)點。一種具有后繼備份關(guān)系的邏輯節(jié)點的部屬設(shè)備,包括
5
獲得單元,用于獲得待分配的邏輯節(jié)點和承載邏輯節(jié)點的物理節(jié)點;部署單元,用于在任一承載有多個邏輯節(jié)點的物理節(jié)點上,配置所述多個邏輯節(jié)點的后繼備份關(guān)系分別指向其他不同的物理節(jié)點。所述獲得單元獲得的所述物理節(jié)點的個數(shù)與邏輯節(jié)點的個數(shù)滿足關(guān)系式 η ^mX (m-1),其中η為邏輯節(jié)點的個數(shù),m為物理節(jié)點的個數(shù)。還包括打包單元,用于物理節(jié)點的個數(shù)與邏輯節(jié)點的個數(shù)滿足關(guān)系式η > m時,將不存在后繼備份關(guān)系的邏輯節(jié)點進行打包得到新的邏輯節(jié)點,直到所述新的邏輯節(jié)點滿足關(guān)系式n ^ mX (m-1),其中η為邏輯節(jié)點的個數(shù),m為物理節(jié)點的個數(shù)。設(shè)η為邏輯節(jié)點的個數(shù),m為物理節(jié)點的個數(shù);所述部署單元還用于當η < m時,直接將所述η個邏輯節(jié)點配置到所述m個物理節(jié)點中的η個物理節(jié)占.
^ \\\ 當η > m時,使用后繼備份關(guān)系記錄矩陣M(m,m)標記當前可用和已用的物理節(jié)點,其每行每列代表一個物理節(jié)點,將所述后繼備份關(guān)系記錄矩陣M(m,m)的對角線置為第一標識;在每一物理節(jié)點上配置一個邏輯節(jié)點,根據(jù)邏輯節(jié)點的后繼備份關(guān)系設(shè)置所述后繼備份關(guān)系記錄矩陣M(m,m)中元素M(l,2)...M(m-l,m)數(shù)值為第一標識;獲取當前部署節(jié)點坐標記錄為χ = m-l,y = m,在所述后繼備份關(guān)系記錄矩陣M(m,m)的第m行獲取物理節(jié)點作為新的邏輯節(jié)點對應(yīng)的物理節(jié)點;根據(jù)當前部署節(jié)點坐標獲取下一邏輯節(jié)點所對應(yīng)的物理節(jié)點,直到獲取所有邏輯節(jié)點對應(yīng)的物理節(jié)點。所述部署單元還用于在所述后繼備份關(guān)系記錄矩陣M(m,m)中獲取第m行從左向右最后一個第一標識元素的右側(cè)相鄰元素,將所述相鄰元素所在的行所對應(yīng)的物理節(jié)點作為新的邏輯節(jié)點對應(yīng)的物理節(jié)點;或者在所述后繼備份關(guān)系記錄矩陣M (m,m)中獲取第m行非第一標識元素所在列對應(yīng)的物理節(jié)點中當前可用資源數(shù)目最多的元素,將該元素所在的行所對應(yīng)的物理節(jié)點作為新的邏輯節(jié)點對應(yīng)的物理節(jié)點;或者在所述后繼備份關(guān)系記錄矩陣M (m,m)中獲取第m行從左至右滿足關(guān)系P (Hii) ^p 的第一個非第一標識元素,將該元素所在的行所對應(yīng)的物理節(jié)點作為新的邏輯節(jié)點對應(yīng)的物理節(jié)點;所述P(Hii)表示第m行第i個元素所在列對應(yīng)的物理節(jié)點的當前可用資源數(shù)目, 所述P表示配置邏輯節(jié)點所需要的最小資源數(shù)目。與現(xiàn)有技術(shù)相比,本發(fā)明至少具有以下優(yōu)點本發(fā)明中,對于任一承載有多個邏輯節(jié)點的物理節(jié)點,配置其上承載的多個邏輯節(jié)點的后繼關(guān)系分別指向其他不同的物理節(jié)點,從而當物理節(jié)點故障時,防止邏輯節(jié)點在物理節(jié)點上部署不當引發(fā)的備份失效與雪崩效應(yīng)。
為了更清楚地說明本發(fā)明的實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對本發(fā)明的實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是本發(fā)明實施例一提供的具有后繼備份關(guān)系的邏輯節(jié)點的部屬方法示意圖;圖2是DSN的平臺資源融合架構(gòu)示意圖;圖3是DSN的平臺資源融合架構(gòu)中虛擬節(jié)點的部屬過程示意圖;圖4是現(xiàn)有技術(shù)中導致雪崩效應(yīng)的虛擬節(jié)點的部屬方法示意圖;圖5是本發(fā)明實施例二中避免雪崩效應(yīng)的虛擬節(jié)點的部屬方法示意圖;圖6是本發(fā)明實施例二中具有后繼備份關(guān)系的邏輯節(jié)點的部屬方法流程示意圖;圖7是本發(fā)明實施例二中虛擬節(jié)點的部屬舉例示意圖;圖8是本發(fā)明實施例三中具有后繼備份關(guān)系的邏輯節(jié)點的部屬方法流程示意圖;圖9是本發(fā)明實施例四中具有后繼備份關(guān)系的邏輯節(jié)點的部屬方法流程示意圖;圖10是本發(fā)明實施例六提供的具有后繼備份關(guān)系的邏輯節(jié)點的部屬設(shè)備的結(jié)構(gòu)示意圖。
具體實施例方式
下面將結(jié)合本發(fā)明的實施例中的附圖,對本發(fā)明的實施例中的技術(shù)方案進行清楚、完整地描述,顯然,下面所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明的實施例保護的范圍。實施例一本發(fā)明實施例一提供一種具有后繼備份關(guān)系的邏輯節(jié)點的部屬方法,如圖1所示,包括步驟101,獲得待分配的邏輯節(jié)點和承載邏輯節(jié)點的物理節(jié)點;步驟102,對于任一承載有多個邏輯節(jié)點的物理節(jié)點,配置其上承載的所述多個邏輯節(jié)點的后繼備份關(guān)系分別指向其他不同的物理節(jié)點。步驟101之后、步驟102之前,還包括步驟103,判斷物理節(jié)點的個數(shù)與邏輯節(jié)點的個數(shù)之間是否滿足關(guān)系式 η ( m(m-l),其中η為邏輯節(jié)點的個數(shù),m為物理節(jié)點的個數(shù);當判斷結(jié)果為滿足時,執(zhí)行步驟102。該方法還包括當步驟103中判斷結(jié)果為不滿足時,將不存在后繼備份關(guān)系的邏輯節(jié)點進行打包得到新的邏輯節(jié)點,當所述打包后得到的新的邏輯節(jié)點的個數(shù)與物理節(jié)點的個數(shù)之間滿足所述關(guān)系式時,執(zhí)行步驟102。設(shè)η為邏輯節(jié)點的個數(shù),m為物理節(jié)點的個數(shù);需要說明的是,本發(fā)明實時例中也可以不包括步驟103,而預(yù)先限制物理節(jié)點的個數(shù)與邏輯節(jié)點的個數(shù)滿足關(guān)系式n ( mX (m-1)。當物理節(jié)點的個數(shù)與邏輯節(jié)點的個數(shù)滿足關(guān)系式η > m時,將不存在后繼備份關(guān)系的邏輯節(jié)點進行打包得到新的邏輯節(jié)點,直到所述新的邏輯節(jié)點滿足關(guān)系式n ( mX (m-1),其中η為邏輯節(jié)點的個數(shù),m為物理節(jié)點的個數(shù)。步驟102具體為當η < m時,直接將所述η個邏輯節(jié)點配置到所述m個物理節(jié)點中的η個物理節(jié)點。當η > m時,使用后繼備份關(guān)系記錄矩陣M(m,m)標記當前可用和已用的物理節(jié)點,其每行每列代表一個物理節(jié)點,將所述后繼備份關(guān)系記錄矩陣M(m,m)的對角線置為第一標識;在每一物理節(jié)點上配置一個邏輯節(jié)點,根據(jù)邏輯節(jié)點的后繼備份關(guān)系設(shè)置所述后繼備份關(guān)系記錄矩陣M(m,m)中元素M(l,2)...M(m-l,m)數(shù)值為第一標識;獲取當前部署節(jié)點坐標記錄為χ = m-l,y = m,在所述后繼備份關(guān)系記錄矩陣M (m,m)中獲取第m行從左向右最后一個非0元素的右側(cè)相鄰元素,將所述相鄰元素所在的行所對應(yīng)的物理節(jié)點作為所述新的邏輯節(jié)點對應(yīng)的物理節(jié)點;根據(jù)當前部署節(jié)點坐標獲取下一邏輯節(jié)點所對應(yīng)的物理節(jié)點,直到獲取所有邏輯節(jié)點對應(yīng)的物理節(jié)點。步驟102還可以為當η < m時,直接將所述η個邏輯節(jié)點配置到所述m個物理節(jié)點中的η個物理節(jié)點。當η > m時,使用后繼備份關(guān)系記錄矩陣M(m,m)標記當前可用和已用的物理節(jié)點,其每行每列代表一個物理節(jié)點,將所述后繼備份關(guān)系記錄矩陣M(m,m)的對角線置為第一標識;在每一物理節(jié)點上配置一個邏輯節(jié)點,根據(jù)邏輯節(jié)點的后繼備份關(guān)系設(shè)置所述后繼備份關(guān)系記錄矩陣M(m,m)中元素M(l,2)...M(m-l,m)數(shù)值為第一標識;獲取當前部署節(jié)點坐標記錄為χ = m-l,y = m,在所述后繼備份關(guān)系記錄矩陣M (m,m)中獲取第m行非第一標識元素所在列對應(yīng)的物理節(jié)點中當前可用資源數(shù)目最多的元素,將該元素所在的行所對應(yīng)的物理節(jié)點作為所述新的邏輯節(jié)點對應(yīng)的物理節(jié)點;根據(jù)當前部署節(jié)點坐標獲取下一邏輯節(jié)點所對應(yīng)的物理節(jié)點,直到獲取所有邏輯節(jié)點對應(yīng)的物理節(jié)點。步驟102還可以為當η < m時,直接將所述η個邏輯節(jié)點配置到所述m個物理節(jié)點中的η個物理節(jié)點。當η > m時,使用后繼備份關(guān)系記錄矩陣M(m,m)標記當前可用和已用的物理節(jié)點,其每行每列代表一個物理節(jié)點,將所述后繼備份關(guān)系記錄矩陣M(m,m)的對角線置為第一標識;在每一物理節(jié)點上配置一個邏輯節(jié)點,根據(jù)邏輯節(jié)點的后繼備份關(guān)系設(shè)置所述后繼備份關(guān)系記錄矩陣M(m,m)中元素M(l,2)...M(m-l,m)數(shù)值為第一標識;獲取當前部署節(jié)點坐標記錄為χ = m-l,y = m,在所述后繼備份關(guān)系記錄矩陣M (m,m)中獲取第m行從左至右滿足關(guān)系P(Hii) ^ ρ的第一個非第一標識元素,將該元素所在的行所對應(yīng)的物理節(jié)點作為所述新的邏輯節(jié)點對應(yīng)的物理節(jié)點;所述P (Hii)表示第m行第i個元素所在列對應(yīng)的物理節(jié)點的當前可用資源數(shù)目,所述P表示配置邏輯節(jié)點所需要的最小資源數(shù)目;根據(jù)當前部署節(jié)點坐標獲取下一邏輯節(jié)點所對應(yīng)的物理節(jié)點,直到獲取所有邏輯節(jié)點對應(yīng)的物理節(jié)點。該方法還包括步驟104,當任一物理節(jié)點故障時,其上承載的邏輯節(jié)點的功能分別由各自的后繼備份節(jié)點執(zhí)行,且所述各自的后繼備份節(jié)點位于不同物理節(jié)點。實施例二本發(fā)明實施例二提供一種邏輯節(jié)點的部屬方法,以該方法應(yīng)用于圖2所示的系統(tǒng)為例進行介紹,其中邏輯節(jié)點以虛擬節(jié)點為例進行說明。
圖2中DSN的平臺資源融合架構(gòu)位于核心功能層以下的基礎(chǔ)設(shè)施層,包括DSN核心功能節(jié)點管理系統(tǒng)、DSN虛擬資源管理系統(tǒng)和聯(lián)合策略庫其中,核心功能層包含若干抽象的電信業(yè)務(wù)能力(DSN分布式交換網(wǎng)、智能媒體路由和內(nèi)容交換網(wǎng)等),并向上對各類電信應(yīng)用軟件提供調(diào)用接口。例如,以VoIP為代表的語音類業(yè)務(wù)、以Mreaming為代表的內(nèi)容共享類業(yè)務(wù)等。各個核心功能系統(tǒng)內(nèi)部利用P2P 等分布式技術(shù),將來自終端的大量用戶請求分發(fā)給分布式業(yè)務(wù)系統(tǒng)中的各個業(yè)務(wù)功能邏輯實體,后者使用由基礎(chǔ)設(shè)施層提供的虛擬資源(即虛擬機)提供服務(wù)?;A(chǔ)設(shè)施層向業(yè)務(wù)層提供計算、存儲、調(diào)度等抽象網(wǎng)絡(luò)能力,具體包含DSN核心功能節(jié)點管理系統(tǒng)、聯(lián)合策略庫和分布式虛擬機監(jiān)控系統(tǒng),利用系統(tǒng)級虛擬化技術(shù)以虛擬機方式實現(xiàn)對物理服務(wù)器資源的靈活劃分、并進一步借助無停機虛擬機遷移、資源流動等技術(shù)實現(xiàn)不同業(yè)務(wù)、不同虛擬機、不同物理服務(wù)器之間細粒度的資源動態(tài)調(diào)度決策與實施?;A(chǔ)設(shè)施層中,DSN核心功能節(jié)點管理系統(tǒng)負責管理DSN功能節(jié)點的動態(tài)加入/退出;同時根據(jù)應(yīng)用層特定策略,依據(jù)各個功能實體的實時負載實施用戶請求分流與調(diào)整,實現(xiàn)應(yīng)用層的負載均衡與容災(zāi)機制;聯(lián)合策略庫包括DSN核心功能層的負載均衡機制和物理資源調(diào)度機制,采用統(tǒng)一的策略庫或者保持策略庫的一致性;分布式虛擬機監(jiān)控系統(tǒng)通過可控的觸發(fā)機制和執(zhí)行機制在運營商為核心網(wǎng)部署的各個物理服務(wù)器內(nèi)/間實施聯(lián)合策略庫的資源調(diào)度決策。每個物理服務(wù)器上運行若干虛擬機,每個虛擬機中運行著某個業(yè)務(wù)系統(tǒng)的請求處理等邏輯功能軟件。本實施例提供的方法可作為DSN融合架構(gòu)中基礎(chǔ)設(shè)施層的聯(lián)合策略庫組成部分, 用于完成DSN VoIP、DSN Streaming等P2P業(yè)務(wù)系統(tǒng)在DSN融合架構(gòu)提供的統(tǒng)一資源池上進行具體部署時的資源調(diào)度決策,其使用場景與涉及交互過程如圖3所示由管理員根據(jù)新業(yè)務(wù)部署需求,向DSN節(jié)點管理系統(tǒng)發(fā)起P2P業(yè)務(wù)系統(tǒng)部署請求,后者請求策略庫根據(jù)當前資源池可用資源計算節(jié)點部署方案;計算所得的合理部署方案被進一步交由DSN虛擬資源管理系統(tǒng)負責實施,DSN虛擬資源管理系統(tǒng)將部署方案拆分成針對各個物理服務(wù)器的虛擬機創(chuàng)建指令,發(fā)送給對應(yīng)物理節(jié)點執(zhí)行,并收集創(chuàng)建成功的業(yè)務(wù)虛擬機id作為業(yè)務(wù)部署結(jié)果,反饋給DSN節(jié)點管理系統(tǒng);節(jié)點管理系統(tǒng)根據(jù)部署結(jié)果,更新當前可用資源統(tǒng)計并將創(chuàng)建好的業(yè)務(wù)虛擬機集合反饋給管理員。由此可見,策略庫采用的業(yè)務(wù)節(jié)點到物理節(jié)點的節(jié)點部署算法,是決定其輸出節(jié)點部署方案是否合理的關(guān)鍵。為了清楚的說明本發(fā)明實施例提供的虛擬節(jié)點的部屬方法,首先介紹現(xiàn)有技術(shù)中導致雪崩效應(yīng)的虛擬節(jié)點的部屬方法,如圖4所示,由6個虛擬節(jié)點組成的P2P業(yè)務(wù)系統(tǒng)被部署到由3臺物理服務(wù)器組成的虛擬資源池上;編號為1到6的業(yè)務(wù)虛擬機之間存在如圖 4左圖所示的環(huán)形備份依賴關(guān)系,例如,虛擬節(jié)點1臨時不可用時其業(yè)務(wù)功能將由虛擬節(jié)點 2來承擔,以此類推;由于虛擬節(jié)點之間的備份依賴關(guān)系的存在,在圖4部署方案下,3個物理節(jié)點之間也形成了如圖4右圖所示的簡單環(huán)形備份依賴關(guān)系,這將引發(fā)物理節(jié)點的雪崩效應(yīng)。例如,當物理節(jié)點1臨時不可用時,其上虛擬節(jié)點1、4均將不可用,此時根據(jù)虛擬節(jié)點之間的后繼備份關(guān)系,得不到響應(yīng)的用戶請求將被P2P系統(tǒng)自動導向虛擬節(jié)點2、5 ;而在當前部署方案下,虛擬節(jié)點2、5均位于物理節(jié)點2上,這意味著物理節(jié)點2將承受兩個物理節(jié)點的業(yè)務(wù)負載,當物理節(jié)點2無法承受該業(yè)務(wù)負載而故障時,物理節(jié)點3將承受三個物理節(jié)點的業(yè)務(wù)負載,導致物理節(jié)點3故障,S卩引發(fā)雪崩效應(yīng)。下面介紹本發(fā)明實施例中采用的虛擬節(jié)點的部屬方法,如圖5所示,3個物理節(jié)點之間形成了特殊的備份依賴關(guān)系,可以最大程度地避免物理節(jié)點的雪崩效應(yīng)。例如,當物理節(jié)點1臨時不可用時,其上虛擬節(jié)點1、4均將不可用,此時根據(jù)虛擬節(jié)點之間的后繼備份關(guān)系,得不到響應(yīng)的用戶請求將被P2P系統(tǒng)自動導向虛擬節(jié)點2、5;而在當前部署方案下,虛擬節(jié)點2、5分別位于物理節(jié)點2和3上,這意味著原來由物理節(jié)點1承擔的業(yè)務(wù)負載將由剩余的可用物理節(jié)點2和3共同承擔,因此,不容易導致物理節(jié)點2或3的故障,避免了雪崩效應(yīng)。圖5所示本發(fā)明實施例中虛擬節(jié)點的部屬方法之所以能避免單一物理節(jié)點失效而引發(fā)雪崩效應(yīng),是因為對于任意物理節(jié)點而言,其上承載的若干虛擬節(jié)點的后繼關(guān)系分別指向其他不同的物理節(jié)點。下面對本發(fā)明實施例提供的虛擬節(jié)點的部屬方法進行進一步介紹,本發(fā)明實施例中,將不會產(chǎn)生雪崩效應(yīng)的理想狀態(tài)下,η個物理節(jié)點之間因為其上m個虛擬節(jié)點而間接產(chǎn)生的備份依賴關(guān)系抽象為m元集合元素相鄰關(guān)系各自唯一的η個由m元集合元素構(gòu)成的環(huán)形排列,相應(yīng)的節(jié)點部署問題求解過程就轉(zhuǎn)換成核心排列算法對符合條件環(huán)形排列的計算過程。該部署方法的核心是節(jié)點部署基本定理將η個業(yè)務(wù)節(jié)點組成的P2P系統(tǒng)S= {1,. . .,η}部署到m個物理節(jié)點M = {1,..., m}上的部署方案D A —M,部署方案D是將單個物理節(jié)點失效而引發(fā)雪崩進行最大化解的理想部署,當且僅當以下條件成立(l)n < m(m-l);且(2)由S集合元素之間η個形如S1 — S2的后繼關(guān)系組成的環(huán)排列引發(fā)的物理節(jié)點之間η個形如D(S1) — D(S2)的后繼關(guān)系組成的環(huán)形排列上,任意相鄰節(jié)點對各自唯一。基于上述“節(jié)點部署基本定理”的結(jié)論,本實施例中提供的虛擬節(jié)點的部屬方法主要包括核心排列算法alg-core (η, m),如圖6所示,包括步驟0 輸入?yún)?shù)健康檢查具體的,檢查是否存在符合條件的部署方案(即,n<m(m-l)是否成立),否則設(shè)置輸出方案D為空集,并跳至步驟4。檢查是否存在無需循環(huán)計算的部署方案(即,η < m是否成立),是則設(shè)置輸出方案D= {(1,1)... (η,η)},并跳至步驟4;否則執(zhí)行步驟1。步驟1 初始化變量輸出方案D = {}。已部署節(jié)點個數(shù)c = 0。記錄矩陣M(m, m)元素初始化為全0;對角線元素初始化為1。初始m元排列Ptl= {(1,1)... (m,m)}。步驟2 根據(jù)初始排列Ptl更新變量根據(jù)Ptl中元素的節(jié)點后繼關(guān)系設(shè)置M(m,m)對應(yīng)元素M(l,2)...M(m-l,m)數(shù)值為l。輸出方案D =。。已部署節(jié)點個數(shù)c = m。當前部署節(jié)點后繼關(guān)系坐標χ = m-Ι ;y = m。步驟3 循環(huán)檢查是否全部節(jié)點已部署完畢(即,η < c是否成立)是則跳至步驟4;否則進入循環(huán)。具體的,根據(jù)當前部署節(jié)點后繼關(guān)系(X,y)選擇下一節(jié)點下一部署節(jié)點坐標 (X1J1)為M(m,m)中第y行從左向右最后一個非0元素的右側(cè)相鄰元素,即Xl = y且yi =(yQ+l)m0dm,其中(y,y(1)是M(m,m)中第y行從左向右最后一個非0元素。根據(jù)下一部署節(jié)點更新變量設(shè)置M(Xl,yi) = 1。將新增部署元素(c+l,yi)添加到輸出方案集合D(即,第c+1個虛擬節(jié)點被部署到第yi個物理節(jié)點上)。更新已部署節(jié)點數(shù)c = c+1。更新當前部署節(jié)點后繼關(guān)系坐標χ = X1 ;y = yi。步驟4 計算結(jié)束,返回結(jié)果輸出方案D。值得指出的是,當輸入?yún)?shù)不滿足關(guān)系η ^ m(m-l)時,盡管理論上不存在最優(yōu)部署方案,但仍可以通過將若干不存在后繼備份關(guān)系的P2P虛擬節(jié)點進行打包,將打包后的虛擬節(jié)點分組個數(shù)作為核心排列算法的輸入?yún)?shù)n,從而計算優(yōu)化部署方案。為例更清楚地介紹本發(fā)明實施例提供的邏輯節(jié)點的部屬方法,下面進一步對該方法舉例說明。假設(shè)輸入為n = 20,m = 5(即需要將20個虛擬節(jié)點部署到5臺物理服務(wù)器上)。如圖7所示,左側(cè)方格記錄輸出集合D的更新計算過程,其中每列代表一個物理服務(wù)器;右側(cè)后繼關(guān)系記錄矩陣M(m,m),每行每列各代表一個物理服務(wù)器,其中元素M(x,y)= 1標識當前輸出集合D中存在χ — y的物理節(jié)點后繼關(guān)系。該方法包括(1)參數(shù)檢查通過。(2)初始化變量左側(cè)方格為空,右側(cè)矩陣除對角線元素為全1外其他元素均為全 O0(3)根據(jù)初始排列Ptl= {(1,1)... (5,5)}更新二者記錄左側(cè)輸出方格第一行被依次填以1至5用于標識D = Ptl ;右側(cè)關(guān)系矩陣對應(yīng)元素M(l,2). . . M(4,5)被分別置為1 ; 已部署節(jié)點數(shù)目c = 5 ;當前部署節(jié)點坐標記錄為χ = 4,y = 5。(4)循環(huán)為尋找合適物理節(jié)點用戶部署編號為6的虛擬節(jié)點,找到關(guān)系矩陣第 y(=幻行從左向右最后一個非0元素M(5j)的右側(cè)相鄰元素M(5,l);將編號6的虛擬節(jié)點部署到所得元素對應(yīng)的行所在物理節(jié)點,即將6填入左側(cè)輸出方格第二行的第一列位置,然后對應(yīng)更新矩陣記錄設(shè)置M(5,1) = 1 ;已部署節(jié)點數(shù)c = c+1 = 6 ;當前部署節(jié)點坐標記錄為χ = 5, y = 1。如此循環(huán),直至全部輸入虛擬節(jié)點均被部署完畢。實施例三本發(fā)明實施例三提供一種邏輯節(jié)點的部屬方法,考慮到實際系統(tǒng)中每個物理節(jié)點的資源容量是有限的,結(jié)合實際系統(tǒng)的當前可用物理資源的總量與分布,綜合業(yè)務(wù)系統(tǒng)需求給出一種邏輯節(jié)點的部屬方法,該邏輯節(jié)點仍以實施例二中虛擬節(jié)點為例進行說明。本實施例三中的虛擬節(jié)點的部屬方法中包括綜合負載均衡需求的節(jié)點部署算法 alg_lb (η, m, P, ρ)。alg_lb算法的出發(fā)點是為實現(xiàn)提高系統(tǒng)可靠性的目標,基于盡量平均化物理節(jié)點負載壓力的物理資源調(diào)度原則,對alg_C0re的步驟3中根據(jù)當前部署節(jié)點后繼關(guān)系 (X,y)和當前資源可用情況選擇下一節(jié)點的過程修改為下一部署節(jié)點坐標為M(m,m)中第y行非1元素U1 = 1,I1)所在列對應(yīng)的物理節(jié)點中當前可用資源最多的,即P(Y1)= max {P (y) |M(X1,y) = 0},其具體流程如圖8所示。其中新增算法參數(shù)P是一個統(tǒng)計函數(shù), 對給定物理節(jié)點x,P(x)給出物理節(jié)點χ的當前可用資源數(shù)目;參數(shù)P是業(yè)務(wù)系統(tǒng)給出的針對業(yè)務(wù)虛擬節(jié)點的最小資源配置數(shù)目。實施例四
本發(fā)明實施例四提供一種邏輯節(jié)點的部屬方法,結(jié)合實際系統(tǒng)的當前可用物理資源的總量與分布,綜合物理資源限制給出一種邏輯節(jié)點的部屬方法,該邏輯節(jié)點仍以實施例二中虛擬節(jié)點為例進行說明。本實施例四中的虛擬節(jié)點的部屬方法中包括綜合節(jié)約能耗需求的節(jié)點部署算法 alg_lb (η, m, P, ρ)。alg_cv算法的出發(fā)點是為實現(xiàn)節(jié)能減排的目標,基于盡量最小化在使用物理節(jié)點數(shù)量的物理資源調(diào)度原則,對alg_COre的步驟3中的下一節(jié)點選擇過程修改為下一部署節(jié)點坐標為M(m,m)中第y行中從左至右滿足關(guān)系P (yi)彡ρ的第一個非1元素。alg_lb (n, m, P,ρ)的具體流程如圖9所示。實施例五本發(fā)明實施例中對上述各實施例中采用的節(jié)點部署基本定理進行證明。節(jié)點部署基本定理將η個業(yè)務(wù)節(jié)點組成的Ρ2Ρ系統(tǒng)S = {1,. . .,η}部署到m個物理節(jié)點M= {1,...,m}上的部署方案D A — Μ,部署方案D是將單個物理節(jié)點失效而引發(fā)雪崩進行最大化解的理想部署,當且僅當以下條件成立(1)η 彡 m(m-l);且(2)由S集合元素之間η個形如S1 — S2的后繼關(guān)系組成的環(huán)排列引發(fā)的m個物理節(jié)點之間η個形如D (S1) — D(S2)的后繼關(guān)系組成的環(huán)形排列上,任意相鄰節(jié)點對各自唯
ο證明第一步,證明D是理想部署當且僅當條件( 成立,分為以下兩方面先證必要性 (=^ ):用反證法,假設(shè)部署方案D中存在兩個重復的物理節(jié)點后繼關(guān)系?1 —p2,證明D非理想部署。換言之,存在兩組虛擬節(jié)點— &和s/ -S2'滿足關(guān)系D(S1) =D(s/ )= 1且0(82) =D(S2' ) =p2。此時,一旦物理節(jié)點P1失效,其上兩個虛擬節(jié)點S1和&的業(yè)務(wù)請求將被P2P系統(tǒng)自動定向到同一個物理節(jié)點p2。因此,部署方案D并非理想部署。再證充分性(¢=):用反證法,假設(shè)部署方案D為非理想部署,證明存在兩個重復的物理節(jié)點后繼關(guān)系P1 — p2。換言之,部署方案D作用下,至少存在兩個物理節(jié)點P1,P2和兩個虛擬業(yè)務(wù)節(jié)點Sl,s2,使得一旦物理節(jié)點P1失效,其上兩個虛擬節(jié)點S1和&的業(yè)務(wù)請求將被P2P系統(tǒng)自動定向物理節(jié)點p2。不妨假設(shè)物理節(jié)點P2上對應(yīng)于S1和&的后繼虛擬節(jié)點分別為s/ ,s2' (BPjS1-S1'和& —&‘),則由D的定義可知,有如下關(guān)系成立D(S1) = D(S2) = 1且0(8/ ) =D(S2' ) =P20故存在兩個重復的物理節(jié)點后繼關(guān)系?1 —p2。第二步,證明條件(1)是(2)的自然推論,即證明符合條件(2)的環(huán)形排列至多有 m(m-l)個元素給定m元集合,其中任意兩個元素的前后相鄰關(guān)系共有Pm2 = m(m-l)種。 長度為χ符合條件的環(huán)形排列中涉及χ個唯一的相鄰關(guān)系。因此,符合條件的環(huán)形排列中元素數(shù)目至多為^ =講(m-1),即理想部署方案滿足η彡m(m-l)。綜上所述,命題得證。本發(fā)明實施例中,還對上述實施例二-四中的算法開銷進行了估計,通過簡單分析可知,本提案中的三類算法的計算與存儲開銷如表1所示。表1
1權(quán)利要求
1.一種具有后繼備份關(guān)系的邏輯節(jié)點的部屬方法,其特征在于,包括步驟1,獲得待分配的邏輯節(jié)點和承載邏輯節(jié)點的物理節(jié)點;步驟2,對于任一承載有多個邏輯節(jié)點的物理節(jié)點,配置其上承載的所述多個邏輯節(jié)點的后繼備份關(guān)系分別指向其他不同的物理節(jié)點。
2.如權(quán)利要求1所述的方法,其特征在于,所述物理節(jié)點的個數(shù)與邏輯節(jié)點的個數(shù)滿足關(guān)系式n ^ mX (m-1),其中η為邏輯節(jié)點的個數(shù),m為物理節(jié)點的個數(shù)。
3.如權(quán)利要求1所述的方法,其特征在于,當所述物理節(jié)點的個數(shù)與邏輯節(jié)點的個數(shù)滿足關(guān)系式η > m時,將不存在后繼備份關(guān)系的邏輯節(jié)點進行打包得到新的邏輯節(jié)點,直到所述新的邏輯節(jié)點滿足關(guān)系式n ^ mX (m-1),其中η為邏輯節(jié)點的個數(shù),m為物理節(jié)點的個數(shù)。
4.如權(quán)利要求1所述的方法,其特征在于,設(shè)η為邏輯節(jié)點的個數(shù),m為物理節(jié)點的個數(shù);步驟2包括當η < m時,直接將所述η個邏輯節(jié)點配置到所述m個物理節(jié)點中的η個物理節(jié)點;當η >m時,使用后繼備份關(guān)系記錄矩陣M(n,m)標記當前可用和已用的物理節(jié)點,其每行每列代表一個物理節(jié)點,將所述后繼備份關(guān)系記錄矩陣M(m,m)的對角線置為第一標識;在每一物理節(jié)點上配置一個邏輯節(jié)點,根據(jù)邏輯節(jié)點的后繼備份關(guān)系設(shè)置所述后繼備份關(guān)系記錄矩陣M(m,m)中元素M(l,2)...M(m-l,m)數(shù)值為第一標識;獲取當前部署節(jié)點坐標記錄為χ = m-l,y = m,在所述后繼備份關(guān)系記錄矩陣M(m,m)的第m行獲取物理節(jié)點作為新的邏輯節(jié)點對應(yīng)的物理節(jié)點;根據(jù)當前部署節(jié)點坐標獲取下一邏輯節(jié)點所對應(yīng)的物理節(jié)點,直到獲取所有邏輯節(jié)點對應(yīng)的物理節(jié)點。
5.如權(quán)利要求4所述的方法,其特征在于,在所述后繼備份關(guān)系記錄矩陣M(m,m)的第 m行獲取物理節(jié)點作為新的邏輯節(jié)點對應(yīng)的物理節(jié)點包括在所述后繼備份關(guān)系記錄矩陣M (m,m)中獲取第m行從左向右最后一個第一標識元素的右側(cè)相鄰元素,將所述相鄰元素所在的行所對應(yīng)的物理節(jié)點作為新的邏輯節(jié)點對應(yīng)的物理節(jié)點;或者在所述后繼備份關(guān)系記錄矩陣M (m,m)中獲取第m行非第一標識元素所在列對應(yīng)的物理節(jié)點中當前可用資源數(shù)目最多的元素,將該元素所在的行所對應(yīng)的物理節(jié)點作為新的邏輯節(jié)點對應(yīng)的物理節(jié)點;或者在所述后繼備份關(guān)系記錄矩陣M(m,m)中獲取第m行從左至右滿足關(guān)系P (Hii) > 的第一個非第一標識元素,將該元素所在的行所對應(yīng)的物理節(jié)點作為新的邏輯節(jié)點對應(yīng)的物理節(jié)點;所述P(Hii)表示第m行第i個元素所在列對應(yīng)的物理節(jié)點的當前可用資源數(shù)目,所述P表示配置邏輯節(jié)點所需要的最小資源數(shù)目。
6.如權(quán)利要求1所述的方法,其特征在于,還包括步驟3,當任一物理節(jié)點故障時,其上承載的邏輯節(jié)點的功能分別由各自的后繼備份節(jié)點執(zhí)行,且所述各自的后繼備份節(jié)點位于不同物理節(jié)點。
7.一種具有后繼備份關(guān)系的邏輯節(jié)點的部屬設(shè)備,其特征在于,包括獲得單元,用于獲得待分配的邏輯節(jié)點和承載邏輯節(jié)點的物理節(jié)點;部署單元,用于在任一承載有多個邏輯節(jié)點的物理節(jié)點上,配置所述多個邏輯節(jié)點的后繼備份關(guān)系分別指向其他不同的物理節(jié)點。
8.如權(quán)利要求7所述的設(shè)備,其特征在于,所述獲得單元獲得的所述物理節(jié)點的個數(shù)與邏輯節(jié)點的個數(shù)滿足關(guān)系式n ^ mX (m-1),其中η為邏輯節(jié)點的個數(shù),m為物理節(jié)點的個數(shù)。
9.如權(quán)利要求7所述的設(shè)備,其特征在于,還包括打包單元,用于物理節(jié)點的個數(shù)與邏輯節(jié)點的個數(shù)滿足關(guān)系式η >m時,將不存在后繼備份關(guān)系的邏輯節(jié)點進行打包得到新的邏輯節(jié)點,直到所述新的邏輯節(jié)點滿足關(guān)系式n ^ mX (m-1),其中η為邏輯節(jié)點的個數(shù),m 為物理節(jié)點的個數(shù)。
10.如權(quán)利要求7所述的設(shè)備,其特征在于,設(shè)η為邏輯節(jié)點的個數(shù),m為物理節(jié)點的個數(shù);所述部署單元還用于當η < m時,直接將所述η個邏輯節(jié)點配置到所述m個物理節(jié)點中的η個物理節(jié)點;當η > m時,使用后繼備份關(guān)系記錄矩陣M(m,m)標記當前可用和已用的物理節(jié)點,其每行每列代表一個物理節(jié)點,將所述后繼備份關(guān)系記錄矩陣M(m,m)的對角線置為第一標識;在每一物理節(jié)點上配置一個邏輯節(jié)點,根據(jù)邏輯節(jié)點的后繼備份關(guān)系設(shè)置所述后繼備份關(guān)系記錄矩陣M(m,m)中元素M(l,2)...M(m-l,m)數(shù)值為第一標識;獲取當前部署節(jié)點坐標記錄為χ = m-l,y = m,在所述后繼備份關(guān)系記錄矩陣M(m,m)的第m行獲取物理節(jié)點作為新的邏輯節(jié)點對應(yīng)的物理節(jié)點;根據(jù)當前部署節(jié)點坐標獲取下一邏輯節(jié)點所對應(yīng)的物理節(jié)點,直到獲取所有邏輯節(jié)點對應(yīng)的物理節(jié)點。
11.如權(quán)利要求10所述的設(shè)備,其特征在于,所述部署單元還用于在所述后繼備份關(guān)系記錄矩陣(m,m)中獲取第m行從左向右最后一個第一標識元素的右側(cè)相鄰元素,將所述相鄰元素所在的行所對應(yīng)的物理節(jié)點作為新的邏輯節(jié)點對應(yīng)的物理節(jié)點;或者在所述后繼備份關(guān)系記錄矩陣M (m,m)中獲取第m行非第一標識元素所在列對應(yīng)的物理節(jié)點中當前可用資源數(shù)目最多的元素,將該元素所在的行所對應(yīng)的物理節(jié)點作為新的邏輯節(jié)點對應(yīng)的物理節(jié)點;或者在所述后繼備份關(guān)系記錄矩陣M(m,m)中獲取第m行從左至右滿足關(guān)系P (Hii) > 的第一個非第一標識元素,將該元素所在的行所對應(yīng)的物理節(jié)點作為新的邏輯節(jié)點對應(yīng)的物理節(jié)點;所述P(Hii)表示第m行第i個元素所在列對應(yīng)的物理節(jié)點的當前可用資源數(shù)目,所述P表示配置邏輯節(jié)點所需要的最小資源數(shù)目。
全文摘要
本發(fā)明實施例公開了一種具有后繼備份關(guān)系的邏輯節(jié)點的部屬方法及設(shè)備,該方法包括步驟1,獲得待分配的邏輯節(jié)點和承載邏輯節(jié)點的物理節(jié)點;步驟2,對于任一承載有多個邏輯節(jié)點的物理節(jié)點,配置其上承載的所述多個邏輯節(jié)點的后繼備份關(guān)系分別指向其他不同的物理節(jié)點。本發(fā)明解決了物理節(jié)點故障時導致的備份失效和雪崩效應(yīng)。
文檔編號H04L12/56GK102281134SQ201010205428
公開日2011年12月14日 申請日期2010年6月11日 優(yōu)先權(quán)日2010年6月11日
發(fā)明者于青, 彭晉, 鄧靈莉 申請人:中國移動通信集團公司