專利名稱:節(jié)點(diǎn)標(biāo)識(shí)分配方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及移動(dòng)通信領(lǐng)域,尤其涉及一種節(jié)點(diǎn)標(biāo)識(shí)分配方法及裝置。
背景技術(shù):
Chord協(xié)議是一種結(jié)構(gòu)化點(diǎn)對點(diǎn)(P2P, Point to Point)協(xié)議,根據(jù)該協(xié)議,每個(gè)節(jié)點(diǎn)分別對應(yīng)互不相同的節(jié)點(diǎn)標(biāo)識(shí)(ID,Identity),而每個(gè)節(jié)點(diǎn)對應(yīng)的關(guān)鍵字也分別用互不相同的關(guān)鍵字ID進(jìn)行標(biāo)識(shí),其中,一般采用一致性哈希算法或其他P2P算法分別對各節(jié)點(diǎn)的特征信息進(jìn)行計(jì)算,從而得到各個(gè)節(jié)點(diǎn)的節(jié)點(diǎn)ID值,其中節(jié)點(diǎn)的特征信息可以為節(jié)點(diǎn)的互聯(lián)網(wǎng)協(xié)議(IP, Internet Protocol)地址等唯一的特征信息。當(dāng)節(jié)點(diǎn)ID長度被設(shè)置為m時(shí),節(jié)點(diǎn)ID值的取值范圍為
。根據(jù)Chord協(xié)議,節(jié)點(diǎn)ID值可以組成一個(gè)ID環(huán),如圖I所示,即為節(jié)點(diǎn)ID長度為3的ID環(huán),ID環(huán)上的數(shù)字代表節(jié)點(diǎn)ID值,圖I中的節(jié)點(diǎn)
O、節(jié)點(diǎn)I和節(jié)點(diǎn)3為已分配ID值的節(jié)點(diǎn),其他節(jié)點(diǎn)為待分配ID值的節(jié)點(diǎn),環(huán)上的每個(gè)節(jié)點(diǎn)都有一個(gè)后繼節(jié)點(diǎn)(successor node),也有一個(gè)前驅(qū)節(jié)點(diǎn),針對加入ID環(huán)上的任一節(jié)點(diǎn)n,其后繼節(jié)點(diǎn)是指在ID環(huán)上沿順時(shí)針方向距離節(jié)點(diǎn)n最近的節(jié)點(diǎn),而節(jié)點(diǎn)n的前驅(qū)節(jié)點(diǎn)則是指在ID環(huán)上沿逆時(shí)針方向距離節(jié)點(diǎn)n最近的節(jié)點(diǎn)。Chord協(xié)議消除集中管理點(diǎn),在應(yīng)對節(jié)點(diǎn)抖動(dòng)以及大規(guī)模節(jié)點(diǎn)組網(wǎng)方面具有優(yōu)勢,因此適用于互聯(lián)網(wǎng)(Internet)部署環(huán)境。在大規(guī)模分布式系統(tǒng)中,節(jié)點(diǎn)可能隨時(shí)加入和退出ID環(huán),為了保證業(yè)務(wù)的連續(xù)性,必須為每個(gè)節(jié)點(diǎn)分配一個(gè)或者多個(gè)備份節(jié)點(diǎn)。Chord協(xié)議通常選取節(jié)點(diǎn)的后繼節(jié)點(diǎn)或者前驅(qū)節(jié)點(diǎn)作為備份節(jié)點(diǎn),或者根據(jù)哈希(HASH)空間等分的方法,確定節(jié)點(diǎn)的備份節(jié)點(diǎn)。在實(shí)際部署過程中,由于物理機(jī)的性能非常強(qiáng)大,一般來說可以在單個(gè)物理機(jī)上部署多個(gè)虛擬機(jī),即虛擬節(jié)點(diǎn),因此,在虛擬節(jié)點(diǎn)的節(jié)點(diǎn)ID分配過程中,由于節(jié)點(diǎn)ID分配的不準(zhǔn)確,使得同一物理機(jī)上的各虛擬節(jié)點(diǎn)的備份節(jié)點(diǎn)均在同一物理機(jī)上。那么當(dāng)各虛擬節(jié)點(diǎn)所在的物理機(jī)發(fā)生故障時(shí),部署在該物理機(jī)上的多個(gè)虛擬節(jié)點(diǎn)均無法正常工作,此時(shí)應(yīng)啟動(dòng)每個(gè)虛擬節(jié)點(diǎn)的備份節(jié)點(diǎn),但是若多個(gè)虛擬節(jié)點(diǎn)的備份節(jié)點(diǎn)均在同一物理機(jī)上,而這個(gè)物理機(jī)也發(fā)生了故障,那么多個(gè)虛擬節(jié)點(diǎn)的備份節(jié)點(diǎn)也就無法正常工作,導(dǎo)致多個(gè)虛擬節(jié)點(diǎn)的備份節(jié)點(diǎn)同時(shí)失效,使得節(jié)點(diǎn)的可靠性和容災(zāi)性較低。
發(fā)明內(nèi)容
本發(fā)明公開了一種節(jié)點(diǎn)標(biāo)識(shí)分配方法及裝置,用以提高節(jié)點(diǎn)ID分配的準(zhǔn)確性,提高各虛擬節(jié)點(diǎn)的備份節(jié)點(diǎn)的可靠性和容災(zāi)性。本發(fā)明實(shí)施例提供一種節(jié)點(diǎn)標(biāo)識(shí)分配方法,包括當(dāng)需要為第一節(jié)點(diǎn)分配節(jié)點(diǎn)標(biāo)識(shí)ID時(shí),在可分配的節(jié)點(diǎn)ID中選擇第一個(gè)節(jié)點(diǎn)ID ;根據(jù)選擇出的節(jié)點(diǎn)ID,確定第一節(jié)點(diǎn)對應(yīng)的備份節(jié)點(diǎn); 并確定與第一節(jié)點(diǎn)位于同一物理機(jī)上的各第二節(jié)點(diǎn)分別對應(yīng)的備份節(jié)點(diǎn);
根據(jù)確定的第一節(jié)點(diǎn)對應(yīng)的備份節(jié)點(diǎn)和各第二節(jié)點(diǎn)分別對應(yīng)的備份節(jié)點(diǎn),構(gòu)造各備份節(jié)點(diǎn)集合,每個(gè)備份節(jié)點(diǎn)集合中包含第一節(jié)點(diǎn)對應(yīng)的至少一個(gè)備份節(jié)點(diǎn)和每個(gè)第二節(jié)點(diǎn)分別對應(yīng)的至少一個(gè)備份節(jié)點(diǎn) ;判斷在構(gòu)造的各備份節(jié)點(diǎn)集合中,是否存在至少一個(gè)備份節(jié)點(diǎn)集合滿足預(yù)設(shè)條件,其中所述預(yù)設(shè)條件為任意兩個(gè)備份節(jié)點(diǎn)均不位于同一物理機(jī)上;若判斷結(jié)果為是,則將選擇出的該節(jié)點(diǎn)ID分配給所述第一節(jié)點(diǎn);否則在可分配的節(jié)點(diǎn)ID中選擇下一個(gè)節(jié)點(diǎn)ID,并返回繼續(xù)執(zhí)行確定第一節(jié)點(diǎn)和各第二節(jié)點(diǎn)對應(yīng)的備份節(jié)點(diǎn)、構(gòu)造各備份節(jié)點(diǎn)集合以及判斷是否存在至少一個(gè)備份節(jié)點(diǎn)集合滿足預(yù)設(shè)條件的操作。本發(fā)明實(shí)施例提供一種節(jié)點(diǎn)分配裝置,包括第一選擇單元,用于當(dāng)需要為第一節(jié)點(diǎn)分配節(jié)點(diǎn)標(biāo)識(shí)ID時(shí),在可分配的節(jié)點(diǎn)ID中選擇第一個(gè)節(jié)點(diǎn)ID,以及在判斷單元的判斷結(jié)果為否時(shí),選擇下一個(gè)節(jié)點(diǎn)ID ;第一確定單元,用于根據(jù)第一選擇單元選擇出的節(jié)點(diǎn)ID,確定第一節(jié)點(diǎn)對應(yīng)的備份節(jié)點(diǎn);第二確定單元,用于確定與第一節(jié)點(diǎn)位于同一物理機(jī)上的各第二節(jié)點(diǎn)分別對應(yīng)的備份節(jié)點(diǎn);構(gòu)造單元,用于根據(jù)確定的第一節(jié)點(diǎn)對應(yīng)的備份節(jié)點(diǎn)和各第二節(jié)點(diǎn)分別對應(yīng)的備份節(jié)點(diǎn),構(gòu)造各備份節(jié)點(diǎn)集合,每個(gè)備份節(jié)點(diǎn)集合中包含第一節(jié)點(diǎn)對應(yīng)的至少一個(gè)備份節(jié)點(diǎn)和每個(gè)第二節(jié)點(diǎn)分別對應(yīng)的至少一個(gè)備份節(jié)點(diǎn);判斷單元,用于判斷在構(gòu)造單元構(gòu)造的各備份節(jié)點(diǎn)集合中,是否存在至少一個(gè)節(jié)點(diǎn)集合滿足預(yù)設(shè)條件,所述預(yù)設(shè)條件為任意兩個(gè)備份節(jié)點(diǎn)均不位于同一物理機(jī)上;分配單元,用于在判斷單元的判斷結(jié)果為是時(shí),將第一選擇單元選擇出的節(jié)點(diǎn)ID分配給所述第一節(jié)點(diǎn)。本發(fā)明實(shí)施例提供的節(jié)點(diǎn)分配方法及裝置,在節(jié)點(diǎn)標(biāo)識(shí)分配過程中,當(dāng)需要為第一節(jié)點(diǎn)分配節(jié)點(diǎn)ID時(shí),首先選擇第一個(gè)節(jié)點(diǎn)ID ;根據(jù)該選中的節(jié)點(diǎn)ID確定第一節(jié)點(diǎn)的備份節(jié)點(diǎn);在確定與第一節(jié)點(diǎn)位于同一物理機(jī)上的各第二節(jié)點(diǎn)的備份節(jié)點(diǎn)后,從第一節(jié)點(diǎn)的備份節(jié)點(diǎn)中選擇至少一個(gè)備份節(jié)點(diǎn),以及從每個(gè)第二節(jié)點(diǎn)的備份節(jié)點(diǎn)中選擇至少一個(gè)備份節(jié)點(diǎn)組成所有可能的備份節(jié)點(diǎn)集合,分別判斷每個(gè)備份節(jié)點(diǎn)集合是否滿足該備份節(jié)點(diǎn)集合中的任意兩個(gè)備份節(jié)點(diǎn)均不在同一物理機(jī)上的預(yù)設(shè)條件,如果至少有一個(gè)備份節(jié)點(diǎn)集合滿足該預(yù)設(shè)條件,則將該選擇的節(jié)點(diǎn)ID分配給第一節(jié)點(diǎn),如果所有的節(jié)點(diǎn)集合均不滿足該預(yù)設(shè)條件,則選擇下一個(gè)可分配的節(jié)點(diǎn)ID,并重復(fù)上述過程,按照上述方式為需要分配節(jié)點(diǎn)ID的節(jié)點(diǎn)確定出的節(jié)點(diǎn)ID,達(dá)到了提高節(jié)點(diǎn)ID分配的準(zhǔn)確性的目的,提高了各虛擬節(jié)點(diǎn)的備份節(jié)點(diǎn)的可靠性和容災(zāi)性。本發(fā)明的其它特征和優(yōu)點(diǎn)將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實(shí)施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點(diǎn)可通過在所寫的說明書、權(quán)利要求書、以及附圖中所特別指出的結(jié)構(gòu)來實(shí)現(xiàn)和獲得。
圖I為現(xiàn)有技術(shù)中,節(jié)點(diǎn)ID長度為3的ID環(huán)的示意圖2為本發(fā)明實(shí)施例中,節(jié)點(diǎn)標(biāo)識(shí)分配方法的實(shí)施流程示意圖;圖3為本發(fā)明實(shí)施例中,節(jié)點(diǎn)標(biāo)識(shí)分配裝置一種可能的結(jié)構(gòu)示意圖;圖4為本發(fā)明實(shí)施例中,為虛擬節(jié)點(diǎn)Vl分配節(jié)點(diǎn)ID的實(shí)施流程示意圖;圖5a為本發(fā)明實(shí)施例中,為節(jié)點(diǎn)Vl確定初始節(jié)點(diǎn)標(biāo)識(shí)i_ID的示意圖;
圖5b為本發(fā)明實(shí)施例中,在鄰節(jié)點(diǎn)之間的可分配的節(jié)點(diǎn)ID中,為節(jié)點(diǎn)Vl確定節(jié)點(diǎn)ID的示意圖。
具體實(shí)施例方式為了在節(jié)點(diǎn)ID分配的過程中,達(dá)到提高節(jié)點(diǎn)ID分配的準(zhǔn)確性的目的,以避免同一物理機(jī)上的各虛擬節(jié)點(diǎn)的備份節(jié)點(diǎn)在同一物理機(jī)上,本發(fā)明實(shí)施例提供了一種節(jié)點(diǎn)ID分配方法及裝置。以下結(jié)合說明書附圖對本發(fā)明的優(yōu)選實(shí)施例進(jìn)行說明,應(yīng)當(dāng)理解,此處所描述的優(yōu)選實(shí)施例僅用于說明和解釋本發(fā)明,并不用于限定本發(fā)明,并且在不沖突的情況下,本發(fā)明中的實(shí)施例及實(shí)施例中的特征可以相互組合。如圖2所示,為本發(fā)明實(shí)施例提供的節(jié)點(diǎn)ID分配方法的實(shí)施流程示意圖,包括如下步驟S20、當(dāng)需要為第一節(jié)點(diǎn)分配節(jié)點(diǎn)ID時(shí),在可分配的節(jié)點(diǎn)ID中,選擇第一個(gè)節(jié)點(diǎn)ID S21、根據(jù)選擇出的節(jié)點(diǎn)ID,確定第一節(jié)點(diǎn)對應(yīng)的備份節(jié)點(diǎn);S22、確定與第一節(jié)點(diǎn)位于同一物理機(jī)上的各第二節(jié)點(diǎn)分別對應(yīng)的備份節(jié)點(diǎn);S23、根據(jù)確定的第一節(jié)點(diǎn)對應(yīng)的備份節(jié)點(diǎn)和各第二節(jié)點(diǎn)分別對應(yīng)的備份節(jié)點(diǎn),構(gòu)造各備份節(jié)點(diǎn)集合,每個(gè)備份節(jié)點(diǎn)集合中包含第一節(jié)點(diǎn)對應(yīng)的至少一個(gè)備份節(jié)點(diǎn)和每個(gè)第二節(jié)點(diǎn)分別對應(yīng)的至少一個(gè)備份節(jié)點(diǎn);S24、判斷在構(gòu)造的各備份節(jié)點(diǎn)集合中,是否存在至少一個(gè)備份節(jié)點(diǎn)集合滿足預(yù)設(shè)條件,如果判斷結(jié)果為是,則轉(zhuǎn)至步驟S25,如果判斷結(jié)果為否,則轉(zhuǎn)至步驟S26,其中的預(yù)設(shè)條件為任意兩個(gè)備份節(jié)點(diǎn)均不位于同一物理機(jī)上;S25、將選擇出的該節(jié)點(diǎn)ID分配給第一節(jié)點(diǎn);S26、在可分配的節(jié)點(diǎn)ID中,選擇下一個(gè)節(jié)點(diǎn)ID,并返回繼續(xù)執(zhí)行步驟步驟S21 S24。具體實(shí)施中,在步驟S20中,可以在可分配的節(jié)點(diǎn)ID中,隨機(jī)選擇第一個(gè)節(jié)點(diǎn)ID,以及在步驟S24的判斷結(jié)果為否時(shí),隨機(jī)選擇下一個(gè)節(jié)點(diǎn)ID。此外,也可以先確定可分配的節(jié)點(diǎn)ID的選擇順序,后續(xù)按照該選擇順序,依次選擇節(jié)點(diǎn)ID,其中,可以按照如下步驟確定可分配節(jié)點(diǎn)ID的選擇順序S200、根據(jù)第一節(jié)點(diǎn)的節(jié)點(diǎn)特征信息,確定第一節(jié)點(diǎn)的初始節(jié)點(diǎn)ID ;具體的,第一節(jié)點(diǎn)的節(jié)點(diǎn)特征信息包括第一節(jié)點(diǎn)的IP地址、域名等可以唯一標(biāo)識(shí)第一節(jié)點(diǎn)的信息,根據(jù)第一節(jié)點(diǎn)的節(jié)點(diǎn)特征信息,可以利用HSAH函數(shù)生成該第一節(jié)點(diǎn)的初始節(jié)點(diǎn)ID ;S201、將該初始節(jié)點(diǎn)ID確定為選擇的第一個(gè)節(jié)點(diǎn)ID ;S202、根據(jù)該初始節(jié)點(diǎn)ID,確定第一節(jié)點(diǎn)的各鄰節(jié)點(diǎn)的節(jié)點(diǎn)ID ;
具體的,確定 第一節(jié)點(diǎn)的各鄰節(jié)點(diǎn)的節(jié)點(diǎn)ID包括針對每一節(jié)點(diǎn),獲取該節(jié)點(diǎn)的節(jié)點(diǎn)ID與該節(jié)點(diǎn)的各鄰節(jié)點(diǎn)的節(jié)點(diǎn)ID之間的對應(yīng)關(guān)系;根據(jù)所述初始節(jié)點(diǎn)ID,在獲取的對應(yīng)關(guān)系中,查找所述初始節(jié)點(diǎn)ID對應(yīng)的各鄰節(jié)點(diǎn)的節(jié)點(diǎn)ID。假設(shè)節(jié)點(diǎn)ID為V-ID、利用預(yù)先設(shè)置的規(guī)則確定V-ID的鄰區(qū),該預(yù)先設(shè)置的規(guī)則可以為鄰區(qū)確定算法,或者是預(yù)先指定鄰區(qū)的深度。鄰區(qū)內(nèi)包含的已分配節(jié)點(diǎn)ID的節(jié)點(diǎn)即為V-ID對應(yīng)的節(jié)點(diǎn)的鄰節(jié)點(diǎn),節(jié)點(diǎn)ID與各鄰節(jié)點(diǎn)的節(jié)點(diǎn)ID之間的對應(yīng)關(guān)系可以表示為
{V-ID-N-ID1,V-ID-N-ID2,......V-ID-N-IDp};或者,以與V-ID的差值不超過預(yù)先指定的
鄰區(qū)深度的已分配的節(jié)點(diǎn)ID作為V-ID鄰節(jié)點(diǎn)的節(jié)點(diǎn)ID,節(jié)點(diǎn)ID與各鄰節(jié)點(diǎn)的節(jié)點(diǎn)ID之
間的對應(yīng)關(guān)系可以表示為{V-ID-N-ID1,V-ID-N-ID2,......V-ID-N-IDp}。由此,可以根據(jù)
初始節(jié)點(diǎn)ID,在節(jié)點(diǎn)ID與各鄰節(jié)點(diǎn)的節(jié)點(diǎn)ID之間的對應(yīng)關(guān)系中,查找該初始節(jié)點(diǎn)ID對應(yīng)的各鄰節(jié)點(diǎn)的節(jié)點(diǎn)ID。S203、獲得任意兩個(gè)相鄰的鄰節(jié)點(diǎn)的節(jié)點(diǎn)ID之間所包含的、可分配的節(jié)點(diǎn)ID ;其中,可分配的節(jié)點(diǎn)ID包括確定出的初始節(jié)點(diǎn)ID和根據(jù)該初始節(jié)點(diǎn)ID確定出的第一節(jié)點(diǎn)的鄰節(jié)點(diǎn)的節(jié)點(diǎn)ID之間未被分配的節(jié)點(diǎn)ID。S204、根據(jù)預(yù)設(shè)的確定規(guī)則,確定獲得的各節(jié)點(diǎn)ID的選擇順序。具體的,以初始節(jié)點(diǎn)ID為第一個(gè)可分配的節(jié)點(diǎn)ID,在根據(jù)該初始節(jié)點(diǎn)ID確定的第一節(jié)點(diǎn)的鄰節(jié)點(diǎn)中,按照與初始節(jié)點(diǎn)ID差值由小到大的順序,依次將每每相鄰的兩個(gè)鄰節(jié)點(diǎn)ID之間所包含的、可分配的節(jié)點(diǎn)ID進(jìn)行排序,由此確定可分配的節(jié)點(diǎn)ID的選擇順序;較佳的,為了局部節(jié)點(diǎn)ID分配的均勻性,在確定可分配的節(jié)點(diǎn)ID的選擇順序時(shí),可以只選擇相鄰的兩個(gè)鄰節(jié)點(diǎn)ID的1/2處對應(yīng)的節(jié)點(diǎn)ID進(jìn)行排序,將選擇出的可分配的節(jié)點(diǎn)ID按照與初始節(jié)點(diǎn)ID差值由小到大的順序確定選擇順序。具體實(shí)施中,在步驟S21中,根據(jù)選擇出的節(jié)點(diǎn)ID,確定第一節(jié)點(diǎn)對應(yīng)的備份節(jié)點(diǎn),包括根據(jù)選擇出的節(jié)點(diǎn)ID,在預(yù)設(shè)的節(jié)點(diǎn)ID和備份節(jié)點(diǎn)ID之間的對應(yīng)關(guān)系中,查找選擇出的節(jié)點(diǎn)ID對應(yīng)的各備份節(jié)點(diǎn)ID ;將查找到的備份節(jié)點(diǎn)ID對應(yīng)的各備份節(jié)點(diǎn),確定為第一節(jié)點(diǎn)對應(yīng)的各備份節(jié)點(diǎn)。具體的,根據(jù)各節(jié)點(diǎn)的節(jié)點(diǎn)ID(包括已分配的節(jié)點(diǎn)ID和未分配的節(jié)點(diǎn)ID),利用P2P備份算法確定各節(jié)點(diǎn)ID的備份節(jié)點(diǎn),例如,節(jié)點(diǎn)ID為Vl-ID對應(yīng)的備份節(jié)點(diǎn)可以表示
為{V1-B-ID1,V1-B-ID2,......Vl-B-IDm}。這樣,在節(jié)點(diǎn)ID確定后,便可以根據(jù)該節(jié)點(diǎn)ID
與備份節(jié)點(diǎn)的節(jié)點(diǎn)ID之間的對應(yīng)關(guān)系查找該節(jié)點(diǎn)ID對應(yīng)的各備份節(jié)點(diǎn)的節(jié)點(diǎn)ID,從而,也可以確定出該節(jié)點(diǎn)ID對應(yīng)的節(jié)點(diǎn)的各備份節(jié)點(diǎn)。具體實(shí)施中,步驟S23中,確定與第一節(jié)點(diǎn)位于同一物理機(jī)上的各第二節(jié)點(diǎn)分別對應(yīng)的備份節(jié)點(diǎn),包括獲取物理機(jī)ID與節(jié)點(diǎn)ID之間的對應(yīng)關(guān)系;確定所述第一節(jié)點(diǎn)所在的物理機(jī)的物理機(jī)ID ;根據(jù)確定出的物理機(jī)ID,在所述對應(yīng)關(guān)系中,查找確定出的物理機(jī)ID對應(yīng)的各節(jié)點(diǎn)ID ;將查找到的各節(jié)點(diǎn)ID對應(yīng)的各節(jié)點(diǎn),確定為與所述第一節(jié)點(diǎn)位于同一物理機(jī)上的各第二節(jié)點(diǎn);
分別確定每個(gè)第二節(jié)點(diǎn)的備份節(jié)點(diǎn)。具體的,物理機(jī)ID與該物理機(jī)ID對應(yīng)的物理機(jī)上虛擬節(jié)點(diǎn)的節(jié)點(diǎn)ID之間的對應(yīng)
關(guān)系可以表示為{W1-V1-ID1, W1-V2-ID2,......Wl-Vn-IDn},根據(jù)該對應(yīng)關(guān)系,在確定了
需要分配節(jié)點(diǎn)ID的第一節(jié)點(diǎn)所在的物理機(jī)后,可根據(jù)該對應(yīng)關(guān)系確定與第一節(jié)點(diǎn)同在一個(gè)物理機(jī)上的各第二節(jié)點(diǎn)的節(jié)點(diǎn)ID,從而可以確定各第二節(jié)點(diǎn),也就可以根據(jù)節(jié)點(diǎn)ID和備份節(jié)點(diǎn)的節(jié)點(diǎn)ID之間的對應(yīng)關(guān)系確定各第二節(jié)點(diǎn)的備份節(jié)點(diǎn)。具體實(shí)施中,節(jié)點(diǎn)標(biāo)識(shí)分配方法,還包括 當(dāng)所述第一節(jié)點(diǎn)所在的物理機(jī)發(fā)生故障時(shí),在滿足預(yù)設(shè)條件的各備份節(jié)點(diǎn)集合中,選擇一個(gè)備份節(jié)點(diǎn)集合;并啟動(dòng)選擇的該備份節(jié)點(diǎn)集合中的各備份節(jié)點(diǎn),接替所述各備份節(jié)點(diǎn)對應(yīng)的第一節(jié)點(diǎn)或第二節(jié)點(diǎn)繼續(xù)工作。具體實(shí)施中,在確定了可分配節(jié)點(diǎn)ID的選擇順序后,根據(jù)該選擇順序確定的第一個(gè)可分配的節(jié)點(diǎn)ID(即本發(fā)明實(shí)施例中的初始節(jié)點(diǎn)ID),獲取第一節(jié)點(diǎn)對應(yīng)的備份節(jié)點(diǎn),假
設(shè)為{V1-B-ID1, V1-B-ID2,......Vl-B-IDm};與第一節(jié)點(diǎn)位于同一物理機(jī)上的各第二節(jié)
點(diǎn)為{V2-ID2,V3-ID3,......Vn_IDn};同樣,獲取各第二節(jié)點(diǎn)對應(yīng)的備份節(jié)點(diǎn),假設(shè)節(jié)點(diǎn)
ID為V2-ID2對應(yīng)的備份節(jié)點(diǎn)為{V2-B-ID1, V2-B-ID2,......V2-B_IDm},依次類推,節(jié)點(diǎn)
ID為Vn-IDn對應(yīng)的備份節(jié)點(diǎn)為{Vn-B-IDl,Vn_B_ID2,......Vn-B-IDm};確定了第一節(jié)點(diǎn)
和各第二節(jié)點(diǎn)的備份節(jié)點(diǎn)后,從第一節(jié)點(diǎn)的備份節(jié)點(diǎn)中選擇一個(gè)備份節(jié)點(diǎn),各第二節(jié)點(diǎn)的備份節(jié)點(diǎn)中選擇一個(gè)備份節(jié)點(diǎn)組成備份節(jié)點(diǎn)集合,例如,備份節(jié)點(diǎn)集合可以為{V1-B-ID1,
V2-B-ID1,......Vn-B-IDl},或者{Vl-B-IDl,V2-B-ID2,Vn-B_ID2},依次類推,針對每一個(gè)
備份節(jié)點(diǎn)集合,判斷其是否滿足預(yù)設(shè)條件該備份節(jié)點(diǎn)集合中的任意兩個(gè)備份節(jié)點(diǎn)均不位于同一物理機(jī)上;如果至少存在一個(gè)備份節(jié)點(diǎn)集合滿足該預(yù)設(shè)條件,則將該第一個(gè)可分配的節(jié)點(diǎn)ID分配給第一節(jié)點(diǎn);如果所有的備份節(jié)點(diǎn)集合均不滿足條件,則按照確定出的選擇順序,依次確定下一個(gè)可分配的節(jié)點(diǎn)ID作為臨時(shí)節(jié)點(diǎn)ID,并對該臨時(shí)節(jié)點(diǎn)ID執(zhí)行上述過程,直至根據(jù)該臨時(shí)節(jié)點(diǎn)ID,確定出的第一節(jié)點(diǎn)的備份節(jié)點(diǎn)與第一節(jié)點(diǎn)位于同一物理機(jī)上的各第二節(jié)點(diǎn)的備份節(jié)點(diǎn)組成的至少一個(gè)備份節(jié)點(diǎn)集合滿足預(yù)設(shè)條件,則確定該臨時(shí)節(jié)點(diǎn)ID為分配給第一節(jié)點(diǎn)的節(jié)點(diǎn)ID,并將該臨時(shí)節(jié)點(diǎn)ID分配給第一節(jié)點(diǎn)。基于同一技術(shù)構(gòu)思,本發(fā)明實(shí)施例中還提供了一種節(jié)點(diǎn)標(biāo)識(shí)分配裝置,由于該裝置解決技術(shù)問題的原理與節(jié)點(diǎn)標(biāo)識(shí)分配方法相似,因此該裝置的實(shí)施可以參見方法的實(shí)施,重復(fù)之處不再贅述。如圖3所示,為本發(fā)明實(shí)施例提供的節(jié)點(diǎn)標(biāo)識(shí)分配裝置一種可能的結(jié)構(gòu)示意圖,包括第一選擇單元301,用于當(dāng)需要為第一節(jié)點(diǎn)分配節(jié)點(diǎn)標(biāo)識(shí)ID時(shí),在可分配的節(jié)點(diǎn)ID中選擇第一個(gè)節(jié)點(diǎn)ID,以及在判斷單元305的判斷結(jié)果為否時(shí),選擇下一個(gè)節(jié)點(diǎn)ID ;第一確定單元302,用于根據(jù)第一選擇單元301選擇出的節(jié)點(diǎn)ID,確定第一節(jié)點(diǎn)對應(yīng)的備份節(jié)點(diǎn);第二確定單元303,用于確定與第一節(jié)點(diǎn)位于同一物理機(jī)上的各第二節(jié)點(diǎn)分別對應(yīng)的備份節(jié)點(diǎn);構(gòu)造單元304,用于根據(jù)確定的第一節(jié)點(diǎn)對應(yīng)的備份節(jié)點(diǎn)和各第二節(jié)點(diǎn)分別對應(yīng)的備份節(jié)點(diǎn),構(gòu)造各備份節(jié)點(diǎn)集合,每個(gè)備份節(jié)點(diǎn)集合中包含第一節(jié)點(diǎn)對應(yīng)的至少一個(gè)備份節(jié)點(diǎn)和每個(gè)第二節(jié)點(diǎn)分別對應(yīng)的至少一個(gè)備份節(jié)點(diǎn);判斷單元305,用于判斷在構(gòu)造單元304構(gòu)造的各備份節(jié)點(diǎn)集合中,是否存在至少一個(gè)節(jié)點(diǎn)集合滿足預(yù)設(shè)條件,該預(yù)設(shè)條件為任意兩個(gè)備份節(jié)點(diǎn)均不位于同一物理機(jī)上;分配單元306,用于將第一選擇單元301選擇出的節(jié)點(diǎn)ID分配給所述第一節(jié)點(diǎn)。具體實(shí)施中,第一選擇單元具體包括第一確定子單元,用于確定可分配的節(jié)點(diǎn)ID的選擇順序;
選擇子單元,用于按照第一確定子單元確定出的選擇順序,選擇第一個(gè)節(jié)點(diǎn)ID,以及在判斷單元305的判斷結(jié)果為否時(shí),按照第一確定子單元確定出的選擇順序,選擇下一個(gè)節(jié)點(diǎn)ID。具體實(shí)施中,第一確定子單元具體包括第一確定模塊,用于根據(jù)第一節(jié)點(diǎn)的節(jié)點(diǎn)特征信息,確定第一節(jié)點(diǎn)的初始節(jié)點(diǎn)ID ;第二確定模塊,用于將第一確定模塊確定出的初始節(jié)點(diǎn)ID確定為選擇的第一個(gè)節(jié)點(diǎn)ID ;第三確定模塊,用于根據(jù)第一確定模塊確定出的初始節(jié)點(diǎn)ID,確定第一節(jié)點(diǎn)的各鄰節(jié)點(diǎn)的節(jié)點(diǎn)ID ;獲得模塊,用于獲得任意兩個(gè)鄰節(jié)點(diǎn)的節(jié)點(diǎn)ID之間所包含的、可分配的節(jié)點(diǎn)ID ;第四確定模塊,用于根據(jù)預(yù)設(shè)的確定規(guī)則,確定獲得模塊獲得的各節(jié)點(diǎn)ID的選擇順序。具體實(shí)施中,第三確定模塊具體包括獲取子模塊,用于針對每一節(jié)點(diǎn),獲取該節(jié)點(diǎn)的節(jié)點(diǎn)ID與該節(jié)點(diǎn)的各鄰節(jié)點(diǎn)的節(jié)點(diǎn)ID之間的對應(yīng)關(guān)系;查找子模塊,用于根據(jù)所述初始節(jié)點(diǎn)ID,在獲取子模塊獲取的對應(yīng)關(guān)系中,查找初始節(jié)點(diǎn)ID對應(yīng)的各鄰節(jié)點(diǎn)的節(jié)點(diǎn)ID。具體實(shí)施中,第一確定單元302具體包括第一查找子單元,用于根據(jù)第一選擇單元301選擇出的節(jié)點(diǎn)ID,在預(yù)設(shè)的節(jié)點(diǎn)ID和備份節(jié)點(diǎn)ID之間的對應(yīng)關(guān)系中,查找選擇出的節(jié)點(diǎn)ID對應(yīng)的各備份節(jié)點(diǎn)ID ;第二確定子單元,用于將第一查找子單元查找到的備份節(jié)點(diǎn)ID對應(yīng)的各備份節(jié)點(diǎn),確定為第一節(jié)點(diǎn)對應(yīng)的各備份節(jié)點(diǎn)。具體實(shí)施中,第二確定單元303具體包括獲取子單元,用于獲取物理機(jī)ID與第二節(jié)點(diǎn)的節(jié)點(diǎn)ID之間的對應(yīng)關(guān)系;第三確定子單元,用于確定所述第一節(jié)點(diǎn)所在的物理機(jī)的物理機(jī)ID ;第二查找子單元,用于根據(jù)第三確定子單元確定出的物理機(jī)ID,在獲取子單元獲取到的對應(yīng)關(guān)系中,查找第三確定子單元確定出的物理機(jī)ID對應(yīng)的各節(jié)點(diǎn)ID ;第四確定子單元,用于將第二查找子單元查找到的各節(jié)點(diǎn)ID對應(yīng)的各節(jié)點(diǎn),確定為與第一節(jié)點(diǎn)位于同一物理機(jī)上的各第二節(jié)點(diǎn);第五確定子單元,用于分別確定每個(gè)第二節(jié)點(diǎn)的備份節(jié)點(diǎn)。具體實(shí)施中,節(jié)點(diǎn)標(biāo)識(shí)分配裝置還可以包括
第二選擇單元307,用于當(dāng)所述第一節(jié)點(diǎn)所在的物理機(jī)發(fā)生故障時(shí),在滿足預(yù)設(shè)條件的各備份節(jié)點(diǎn)集合中,選擇一個(gè)備份節(jié)點(diǎn)集合;啟動(dòng)單元308,用于啟動(dòng)第二選擇單元307選擇的該備份節(jié)點(diǎn)集合中的各備份節(jié)點(diǎn)。為了更好的理解本發(fā)明實(shí)施例的實(shí)施方式,下面以為虛擬節(jié)點(diǎn)Vl分配節(jié)點(diǎn)ID的過程為例進(jìn)行說明。如圖4所示,為虛擬節(jié)點(diǎn)Vl分配節(jié)點(diǎn)ID的實(shí)施流程示意圖,包括如下步驟S401、基于HASH算法生成Vl的初始節(jié)點(diǎn)ID ;具體的,假設(shè)根據(jù)HASH算法生成Vl的初始節(jié)點(diǎn)ID為i-ID ; S402、根據(jù)該初始節(jié)點(diǎn)ID,確定Vl的鄰節(jié)點(diǎn)的節(jié)點(diǎn)ID ;具體的,假設(shè)Vl 的鄰節(jié)點(diǎn)的節(jié)點(diǎn) ID 為{V1-N-ID1, V1-N-ID2,......Vl-N-IDp};S403、獲得Vl任意兩個(gè)相鄰的鄰節(jié)點(diǎn)的節(jié)點(diǎn)ID之間所包含的、可分配的節(jié)點(diǎn)ID ;具體的,以Vl-N-IDl與V1-N-ID2之間包含的、可分配節(jié)點(diǎn)ID為例,假設(shè)Vl-N-IDl與V1-V-ID2之間包含的、可分配節(jié)點(diǎn)為{V1-N1-ID1,V1-N2-ID2,
V1-N3-ID3,......Vl-Nm-IDm},為了便于描述,假設(shè)該集合中的節(jié)點(diǎn)ID按照由小到大的順
序排列;依次類推,獲得V1-N-ID2與V1-N-ID3之間、V1-N-ID3與V1-N-ID4之間、.......
Vl-N-IDp-I與Vl-N-IDp之間包含的、可分配的節(jié)點(diǎn)ID ;S404、以初始節(jié)點(diǎn)ID為起點(diǎn),將所有獲得的可分配的節(jié)點(diǎn)ID按照由小到大的順序進(jìn)行排列,確定可分配的節(jié)點(diǎn)ID的選擇順序;S405、按照確定出的選擇順序,選擇第一個(gè)節(jié)點(diǎn)ID ;S406、根據(jù)選擇的節(jié)點(diǎn)ID,確定Vl對應(yīng)的各備份節(jié)點(diǎn);具體的,從節(jié)點(diǎn)ID和備份節(jié)點(diǎn)ID之間的對應(yīng)關(guān)系中,查找選擇的節(jié)點(diǎn)ID對應(yīng)的各備份節(jié)點(diǎn)ID ;S407、確定與Vl位于同一物理機(jī)上的各第二節(jié)點(diǎn)分別對應(yīng)的備份節(jié)點(diǎn);具體的,假設(shè)與Vl同在一個(gè)物理機(jī)上的虛擬節(jié)點(diǎn)有V2、V3,并確定Vl位于的物理機(jī)的物理機(jī)ID,根據(jù)該物理機(jī)ID,從物理機(jī)ID與第二節(jié)點(diǎn)的節(jié)點(diǎn)ID之間的對應(yīng)關(guān)系中查找V2和V3的節(jié)點(diǎn)ID,從節(jié)點(diǎn)ID和備份節(jié)點(diǎn)ID之間的對應(yīng)關(guān)系中,查找V2的備份節(jié)點(diǎn)ID和V3的備份節(jié)點(diǎn)ID ;S408、構(gòu)造所有備份節(jié)點(diǎn)集合;具體的,備份節(jié)點(diǎn)集合應(yīng)該滿足該備份節(jié)點(diǎn)集合中包含Vl的至少一個(gè)備份節(jié)點(diǎn)和V2的至少一個(gè)備份節(jié)點(diǎn)及V3的至少一個(gè)備份節(jié)點(diǎn);S409、判斷是否存在至少一個(gè)備份節(jié)點(diǎn)集合是否滿足預(yù)設(shè)條件,如果是,則執(zhí)行步驟S410,如果否,則執(zhí)行步驟S411 ;具體的,預(yù)設(shè)條件為該備份節(jié)點(diǎn)集合中的任意兩個(gè)備份節(jié)點(diǎn)均不位于同一物理機(jī)上;如圖5a所示,為確定初始標(biāo)識(shí)i-ID為分配給Vl的節(jié)點(diǎn)ID的示意圖,其中,VI,V2,V3
為位于同一物理機(jī)的虛擬節(jié)點(diǎn),{V1-N-ID1, V1-N-ID2,......V1-N-ID5}為根據(jù)初始標(biāo)識(shí)
i-ID確定出的Vl的鄰節(jié)點(diǎn);S410、將選擇出的節(jié)點(diǎn)ID確定為分配給Vl的節(jié)點(diǎn)ID,并執(zhí)行步驟S412 ;S411、按照確定出的選擇順序,選擇下一個(gè)可分配的節(jié)點(diǎn)ID,并返回執(zhí)行步驟S406 ;具體的,如圖5b所示,為在Vl的鄰節(jié)點(diǎn)之間的可分配的節(jié)點(diǎn)ID中確定分配給Vl的節(jié)點(diǎn)ID示意圖,其中,VI,V2,V3為位于同一物理機(jī)的虛擬節(jié)點(diǎn),{V1-N-ID1,V1-N-ID2,......V1-N-ID5}為根據(jù)初始標(biāo)識(shí)i_ID確定出的Vl的鄰節(jié)點(diǎn);S412、將確定出的Vl的節(jié)點(diǎn)ID分配給VI。本發(fā)明實(shí)施例提供的節(jié)點(diǎn)分配方法及裝置,在節(jié)點(diǎn)標(biāo)識(shí)分配過程中,當(dāng)需要為第一節(jié)點(diǎn)分配節(jié)點(diǎn)ID時(shí) ,首先選擇第一個(gè)節(jié)點(diǎn)ID ;根據(jù)該選中的節(jié)點(diǎn)ID確定第一節(jié)點(diǎn)的備份節(jié)點(diǎn);在確定與第一節(jié)點(diǎn)位于同一物理機(jī)上的各第二節(jié)點(diǎn)的備份節(jié)點(diǎn)后,從第一節(jié)點(diǎn)的備份節(jié)點(diǎn)中選擇至少一個(gè)備份節(jié)點(diǎn),以及從每個(gè)第二節(jié)點(diǎn)的備份節(jié)點(diǎn)中選擇至少一個(gè)備份節(jié)點(diǎn)組成所有可能的備份節(jié)點(diǎn)集合,分別判斷每個(gè)備份節(jié)點(diǎn)集合是否滿足該備份節(jié)點(diǎn)集合中的任意兩個(gè)備份節(jié)點(diǎn)均不在同一物理機(jī)上的預(yù)設(shè)條件,如果至少有一個(gè)備份節(jié)點(diǎn)集合滿足該預(yù)設(shè)條件,則將該選擇的節(jié)點(diǎn)ID分配給第一節(jié)點(diǎn),如果所有的節(jié)點(diǎn)集合均不滿足該預(yù)設(shè)條件,則選擇下一個(gè)可分配的節(jié)點(diǎn)ID,并重復(fù)上述過程,按照上述方式為需要分配節(jié)點(diǎn)ID的節(jié)點(diǎn)確定出的節(jié)點(diǎn)ID,達(dá)到了提高節(jié)點(diǎn)ID分配的準(zhǔn)確性的目的,提高了各虛擬節(jié)點(diǎn)的備份節(jié)點(diǎn)的可靠性和容災(zāi)性。顯然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。
權(quán)利要求
1.一種節(jié)點(diǎn)標(biāo)識(shí)分配方法,其特征在于,包括 當(dāng)需要為第一節(jié)點(diǎn)分配節(jié)點(diǎn)標(biāo)識(shí)ID時(shí),在可分配的節(jié)點(diǎn)ID中選擇第一個(gè)節(jié)點(diǎn)ID ; 根據(jù)選擇出的節(jié)點(diǎn)ID,確定第一節(jié)點(diǎn)對應(yīng)的備份節(jié)點(diǎn);并 確定與第一節(jié)點(diǎn)位于同一物理機(jī)上的各第二節(jié)點(diǎn)分別對應(yīng)的備份節(jié)點(diǎn); 根據(jù)確定的第一節(jié)點(diǎn)對應(yīng)的備份節(jié)點(diǎn)和各第二節(jié)點(diǎn)分別對應(yīng)的備份節(jié)點(diǎn),構(gòu)造各備份節(jié)點(diǎn)集合,每個(gè)備份節(jié)點(diǎn)集合中包含第一節(jié)點(diǎn)對應(yīng)的至少一個(gè)備份節(jié)點(diǎn)和每個(gè)第二節(jié)點(diǎn)分別對應(yīng)的至少一個(gè)備份節(jié)點(diǎn); 判斷在構(gòu)造的各備份節(jié)點(diǎn)集合中,是否存在至少一個(gè)備份節(jié)點(diǎn)集合滿足預(yù)設(shè)條件,其中所述預(yù)設(shè)條件為任意兩個(gè)備份節(jié)點(diǎn)均不位于同一物理機(jī)上; 若判斷結(jié)果為是,則將選擇出的該節(jié)點(diǎn)ID分配給所述第一節(jié)點(diǎn);否則在可分配的節(jié)點(diǎn)ID中選擇下一個(gè)節(jié)點(diǎn)ID,并返回繼續(xù)執(zhí)行確定第一節(jié)點(diǎn)和各第二節(jié)點(diǎn)對應(yīng)的備份節(jié)點(diǎn)、構(gòu)造各備份節(jié)點(diǎn)集合以及判斷是否存在至少一個(gè)備份節(jié)點(diǎn)集合滿足預(yù)設(shè)條件的操作。
2.如權(quán)利要求I所述的方法,其特征在于,在可分配的節(jié)點(diǎn)ID中選擇第一個(gè)節(jié)點(diǎn)ID,具體包括 確定可分配的節(jié)點(diǎn)ID的選擇順序; 按照確定出的選擇順序,選擇第一個(gè)節(jié)點(diǎn)ID ; 在可分配的節(jié)點(diǎn)ID中選擇下一個(gè)節(jié)點(diǎn)ID,具體包括 按照確定出的所述選擇順序,選擇下一個(gè)節(jié)點(diǎn)ID。
3.如權(quán)利要求2所述的方法,其特征在于,確定可分配的節(jié)點(diǎn)ID的選擇順序,具體包括 根據(jù)所述第一節(jié)點(diǎn)的節(jié)點(diǎn)特征信息,確定第一節(jié)點(diǎn)的初始節(jié)點(diǎn)ID ; 將所述初始節(jié)點(diǎn)ID確定為選擇的第一個(gè)節(jié)點(diǎn)ID ; 根據(jù)所述初始節(jié)點(diǎn)ID,確定所述第一節(jié)點(diǎn)的各鄰節(jié)點(diǎn)的節(jié)點(diǎn)ID ; 獲得任意兩個(gè)相鄰的鄰節(jié)點(diǎn)的節(jié)點(diǎn)ID之間所包含的、可分配的節(jié)點(diǎn)ID ; 根據(jù)預(yù)設(shè)的確定規(guī)則,確定獲得的各節(jié)點(diǎn)ID的選擇順序。
4.如權(quán)利要求3所述的方法,其特征在于,確定所述第一節(jié)點(diǎn)的各鄰節(jié)點(diǎn)的節(jié)點(diǎn)ID,具體包括 針對每一節(jié)點(diǎn),獲取該節(jié)點(diǎn)的節(jié)點(diǎn)ID與該節(jié)點(diǎn)的各鄰節(jié)點(diǎn)的節(jié)點(diǎn)ID之間的對應(yīng)關(guān)系; 根據(jù)所述初始節(jié)點(diǎn)ID,在獲取的對應(yīng)關(guān)系中,查找所述初始節(jié)點(diǎn)ID對應(yīng)的各鄰節(jié)點(diǎn)的節(jié)點(diǎn)ID。
5.如權(quán)利要求I所述的方法,其特征在于,所述根據(jù)選擇出的節(jié)點(diǎn)ID,確定第一節(jié)點(diǎn)對應(yīng)的備份節(jié)點(diǎn),具體包括 根據(jù)選擇出的節(jié)點(diǎn)ID,在預(yù)設(shè)的節(jié)點(diǎn)ID和備份節(jié)點(diǎn)ID之間的對應(yīng)關(guān)系中,查找選擇出的節(jié)點(diǎn)ID對應(yīng)的各備份節(jié)點(diǎn)ID ; 將查找到的備份節(jié)點(diǎn)ID對應(yīng)的各備份節(jié)點(diǎn),確定為第一節(jié)點(diǎn)對應(yīng)的各備份節(jié)點(diǎn)。
6.如權(quán)利要求I所述的方法,其特征在于,所述確定與第一節(jié)點(diǎn)位于同一物理機(jī)上的各第二節(jié)點(diǎn)分別對應(yīng)的備份節(jié)點(diǎn),具體包括獲取物理機(jī)ID與節(jié)點(diǎn)ID之間的對應(yīng)關(guān)系; 確定所述第一節(jié)點(diǎn)所在的物理機(jī)的物理機(jī)ID ; 根據(jù)確定出的物理機(jī)ID,在所述對應(yīng)關(guān)系中,查找確定出的物理機(jī)ID對應(yīng)的各節(jié)點(diǎn)ID ; 將查找到的各節(jié)點(diǎn)ID對應(yīng)的各節(jié)點(diǎn),確定為與所述第一節(jié)點(diǎn)位于同一物理機(jī)上的各第二節(jié)點(diǎn); 分別確定每個(gè)第二節(jié)點(diǎn)的備份節(jié)點(diǎn)。
7.如權(quán)利要求I至6任一權(quán)利要求所述的方法,其特征在于,還包括 當(dāng)所述第一節(jié)點(diǎn)所在的物理機(jī)發(fā)生故障時(shí),在滿足所述預(yù)設(shè)條件的各備份節(jié)點(diǎn)集合中,選擇一個(gè)備份節(jié)點(diǎn)集合;并 啟動(dòng)選擇的該備份節(jié)點(diǎn)集合中的各備份節(jié)點(diǎn)。
8.一種節(jié)點(diǎn)標(biāo)識(shí)分配裝置,其特征在于,包括 第一選擇單元,用于當(dāng)需要為第一節(jié)點(diǎn)分配節(jié)點(diǎn)標(biāo)識(shí)ID時(shí),在可分配的節(jié)點(diǎn)ID中選擇第一個(gè)節(jié)點(diǎn)ID,以及在判斷單元的判斷結(jié)果為否時(shí),選擇下一個(gè)節(jié)點(diǎn)ID ; 第一確定單元,用于根據(jù)第一選擇單元選擇出的節(jié)點(diǎn)ID,確定第一節(jié)點(diǎn)對應(yīng)的備份節(jié)占. 第二確定單元,用于確定與第一節(jié)點(diǎn)位于同一物理機(jī)上的各第二節(jié)點(diǎn)分別對應(yīng)的備份節(jié)點(diǎn); 構(gòu)造單元,用于根據(jù)確定的第一節(jié)點(diǎn)對應(yīng)的備份節(jié)點(diǎn)和各第二節(jié)點(diǎn)分別對應(yīng)的備份節(jié)點(diǎn),構(gòu)造各備份節(jié)點(diǎn)集合,每個(gè)備份節(jié)點(diǎn)集合中包含第一節(jié)點(diǎn)對應(yīng)的至少一個(gè)備份節(jié)點(diǎn)和每個(gè)第二節(jié)點(diǎn)分別對應(yīng)的至少一個(gè)備份節(jié)點(diǎn); 判斷單元,用于判斷在構(gòu)造單元構(gòu)造的各備份節(jié)點(diǎn)集合中,是否存在至少一個(gè)節(jié)點(diǎn)集合滿足預(yù)設(shè)條件,所述預(yù)設(shè)條件為任意兩個(gè)備份節(jié)點(diǎn)均不位于同一物理機(jī)上; 分配單元,用于在判斷單元的判斷結(jié)果為是時(shí),將第一選擇單元選擇出的節(jié)點(diǎn)ID分配給所述第一節(jié)點(diǎn)。
9.如權(quán)利要求8所述的裝置,其特征在于,第一選擇單元具體包括 第一確定子單元,用于確定可分配的節(jié)點(diǎn)ID的選擇順序; 選擇子單元,用于按照第一確定子單元確定出的選擇順序,選擇第一個(gè)節(jié)點(diǎn)ID,以及在判斷單元的判斷結(jié)果為否時(shí),按照第一確定子單元確定出的選擇順序,選擇下一個(gè)節(jié)點(diǎn)ID。
10.如權(quán)利要求9所述的裝置,其特征在于,第一確定子單元具體包括 第一確定模塊,用于根據(jù)所述第一節(jié)點(diǎn)的節(jié)點(diǎn)特征信息,確定第一節(jié)點(diǎn)的初始節(jié)點(diǎn)ID ; 第二確定模塊,用于將所述初始節(jié)點(diǎn)ID確定為選擇的第一個(gè)節(jié)點(diǎn)ID ; 第三確定模塊,用于根據(jù)所述初始節(jié)點(diǎn)ID,確定所述第一節(jié)點(diǎn)的各鄰節(jié)點(diǎn)的節(jié)點(diǎn)ID ; 獲得模塊,用于獲得任意兩個(gè)鄰節(jié)點(diǎn)的節(jié)點(diǎn)ID之間所包含的、可分配的節(jié)點(diǎn)ID ; 第四確定模塊,用于根據(jù)預(yù)設(shè)的確定規(guī)則,確定獲得模塊獲得的各節(jié)點(diǎn)ID的選擇順序。
11.如權(quán)利要求10所述的裝置,其特征在于,第三確定模塊具體包括 獲取子模塊,用于針對每一節(jié)點(diǎn),獲取該節(jié)點(diǎn)的節(jié)點(diǎn)ID與該節(jié)點(diǎn)的各鄰節(jié)點(diǎn)的節(jié)點(diǎn)ID之間的對應(yīng)關(guān)系; 查找子模塊,用于根據(jù)所述初始節(jié)點(diǎn)ID,在所述獲取子模塊獲取的對應(yīng)關(guān)系中,查找所述初始節(jié)點(diǎn)ID對應(yīng)的各鄰節(jié)點(diǎn)的節(jié)點(diǎn)ID。
12.如權(quán)利要求8所述的裝置,其特征在于,所述第一確定單元具體包括 第一查找子單元,用于根據(jù)所述第一選擇單元選擇出的節(jié)點(diǎn)ID,在預(yù)設(shè)的節(jié)點(diǎn)ID和備份節(jié)點(diǎn)ID之間的對應(yīng)關(guān)系中,查找選擇出的節(jié)點(diǎn)ID對應(yīng)的各備份節(jié)點(diǎn)ID ; 第二確定子單元,用于將第一查找子單元查找到的備份節(jié)點(diǎn)ID對應(yīng)的各備份節(jié)點(diǎn),確定為第一節(jié)點(diǎn)對應(yīng)的各備份節(jié)點(diǎn)。
13.如權(quán)利要求8所述的裝置,其特征在于,所述第二確定單元具體包括 獲取子單元,用于獲取物理機(jī)ID與節(jié)點(diǎn)ID之間的對應(yīng)關(guān)系; 第三確定子單元,用于確定所述第一節(jié)點(diǎn)所在的物理機(jī)的物理機(jī)ID ; 第二查找子單元,用于根據(jù)第三確定子單元確定出的物理機(jī)ID,在所述對應(yīng)關(guān)系中,查找第三確定子單元確定出的物理機(jī)ID對應(yīng)的各節(jié)點(diǎn)ID ; 第四確定子單元,用于將第二查找子單元查找到的各節(jié)點(diǎn)ID對應(yīng)的各節(jié)點(diǎn),確定為與所述第一節(jié)點(diǎn)位于同一物理機(jī)上的各第二節(jié)點(diǎn); 第五確定子單元,用于分別確定每個(gè)第二節(jié)點(diǎn)的備份節(jié)點(diǎn)。
14.如權(quán)利要求8至13任一權(quán)利要求所述的裝置,其特征在于,還包括 第二選擇單元,用于當(dāng)所述第一節(jié)點(diǎn)所在的物理機(jī)發(fā)生故障時(shí),在滿足所述預(yù)設(shè)條件的各備份節(jié)點(diǎn)集合中,選擇一個(gè)備份節(jié)點(diǎn)集合; 啟動(dòng)單元,用于啟動(dòng)第二選擇單元選擇的該備份節(jié)點(diǎn)集合中的各備份節(jié)點(diǎn)。
全文摘要
本發(fā)明公開了一種節(jié)點(diǎn)標(biāo)識(shí)分配方法及裝置,用以提高節(jié)點(diǎn)ID分配的準(zhǔn)確性,避免同一物理機(jī)上的各虛擬節(jié)點(diǎn)的備份節(jié)點(diǎn)在同一物理機(jī)上。其中,所述節(jié)點(diǎn)標(biāo)識(shí)分配方法,包括當(dāng)需要為第一節(jié)點(diǎn)分配節(jié)點(diǎn)標(biāo)識(shí)ID時(shí),在可分配的節(jié)點(diǎn)ID中選擇第一個(gè)節(jié)點(diǎn)ID;根據(jù)選擇出的節(jié)點(diǎn)ID,確定第一節(jié)點(diǎn)對應(yīng)的備份節(jié)點(diǎn);確定與第一節(jié)點(diǎn)位于同一物理機(jī)上的各第二節(jié)點(diǎn)分別對應(yīng)的備份節(jié)點(diǎn);構(gòu)造各備份節(jié)點(diǎn)集合;在判斷出存在至少一個(gè)備份節(jié)點(diǎn)集合滿足預(yù)設(shè)條件時(shí),將選擇出的該節(jié)點(diǎn)ID分配給所述第一節(jié)點(diǎn);否則選擇下一個(gè)節(jié)點(diǎn)ID,并返回繼續(xù)執(zhí)行上述操作。
文檔編號(hào)H04L29/12GK102624936SQ20111002994
公開日2012年8月1日 申請日期2011年1月27日 優(yōu)先權(quán)日2011年1月27日
發(fā)明者樂利鋒, 臺(tái)璇, 彭晉, 李剛 申請人:中國移動(dòng)通信集團(tuán)公司