,使得針對異構(gòu)自組織網(wǎng)絡(luò)建立的虛擬骨干網(wǎng)的性能更加完善。
【附圖說明】
[0034]為了更清楚地說明本申請實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請的實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。
[0035]圖1為本申請實(shí)施例公開的一種構(gòu)建虛擬骨干網(wǎng)的流程圖;
[0036]圖2為本申請示例的一種二維圓盤無向圖。
【具體實(shí)施方式】
[0037]下面將結(jié)合本申請實(shí)施例中的附圖,對本申請實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本申請一部分實(shí)施例,而不是全部的實(shí)施例?;诒旧暾堉械膶?shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本申請保護(hù)的范圍。
[0038]本申請實(shí)施例公開了一種異構(gòu)自組織網(wǎng)絡(luò)中虛擬骨干網(wǎng)的建立方法。該方法應(yīng)用于異構(gòu)自組織網(wǎng)絡(luò)中的各節(jié)點(diǎn)內(nèi),屬于分布式算法的一種。
[0039]為了便于讀者對本申請方案的理解,我們先給出本申請構(gòu)建虛擬骨干網(wǎng)的一個(gè)宏觀流程,如圖1所示,該過程包括以下幾個(gè)環(huán)節(jié):
[0040]步驟S1、各節(jié)點(diǎn)將自身標(biāo)記為第一類節(jié)點(diǎn);
[0041]步驟S2、依據(jù)網(wǎng)絡(luò)中各節(jié)點(diǎn)的D(U) xL(U)(B)值,滿足條件的節(jié)點(diǎn)將自身標(biāo)記為第二類節(jié)點(diǎn),第二類節(jié)點(diǎn)的鄰居節(jié)點(diǎn)將自身標(biāo)記為第三類節(jié)點(diǎn);
[0042]其中,u指代節(jié)點(diǎn),u可以為第一、第二、第三或第四類節(jié)點(diǎn)。λ為預(yù)置的調(diào)整參數(shù),λ e [0,l],D(u)為節(jié)點(diǎn)的度,也即與節(jié)點(diǎn)連接的線段的條數(shù),L(U)為節(jié)點(diǎn)的生存時(shí)間。當(dāng)λ接近O時(shí),由第二類節(jié)點(diǎn)組成的連通支配集的生存時(shí)間更長;當(dāng)λ接近I時(shí),由第二類節(jié)點(diǎn)組成的連通支配集中節(jié)點(diǎn)數(shù)量更少。
[0043]步驟S3、依據(jù)預(yù)置算法,第三類節(jié)點(diǎn)中的部分節(jié)點(diǎn)將自身標(biāo)記為第四類節(jié)點(diǎn);
[0044]步驟S4、由第二類節(jié)點(diǎn)和第四類節(jié)點(diǎn)共同構(gòu)成虛擬骨干網(wǎng)。
[0045]接下來分別介紹各節(jié)點(diǎn)作為不同角色時(shí),各自執(zhí)行的流程。
[0046]在虛擬骨干網(wǎng)的建立過程中,各節(jié)點(diǎn)的角色在第一類節(jié)點(diǎn)、第二類節(jié)點(diǎn)、第三類節(jié)點(diǎn)和第四類節(jié)點(diǎn)間轉(zhuǎn)換。
[0047]初始狀態(tài)時(shí),各節(jié)點(diǎn)均將自身標(biāo)記為第一類節(jié)點(diǎn)。
[0048]標(biāo)記為第一類節(jié)點(diǎn)的各節(jié)點(diǎn)分別執(zhí)行第一操作,所述第一操作包括:
[0049]各第一類節(jié)點(diǎn)向網(wǎng)絡(luò)中其它節(jié)點(diǎn)廣播WHITE信息,所述WHITE信息包括各第一類節(jié)點(diǎn)的唯一標(biāo)識(shí)ID以及D(U) xL(U)(B)值,u指代節(jié)點(diǎn),λ為預(yù)置的調(diào)整參數(shù),λ e [0,1],D(u)為節(jié)點(diǎn)的度,L(U)為節(jié)點(diǎn)的生存時(shí)間;
[0050]各第一類節(jié)點(diǎn)接收網(wǎng)絡(luò)中其它節(jié)點(diǎn)廣播的若干個(gè)WHITE信息,將所述若干個(gè)WHITE信息和自身廣播的WHITE信息,按照D (u) xL (U) (1])值由大至小的順序,依次存儲(chǔ)在與自身對應(yīng)的第一列表中;
[0051]當(dāng)各第一類節(jié)點(diǎn)檢測到自身廣播的WHITE信息位于所述第一列表中的首位時(shí),將自身標(biāo)記為第二類節(jié)點(diǎn),并向鄰居節(jié)點(diǎn)廣播攜帶有自身的唯一標(biāo)識(shí)ID的BLACK信息,以及執(zhí)行相應(yīng)的第二類節(jié)點(diǎn)操作;
[0052]當(dāng)各第一類節(jié)點(diǎn)接收鄰居節(jié)點(diǎn)發(fā)送的攜帶有鄰居節(jié)點(diǎn)唯一標(biāo)識(shí)ID的BLACK信息時(shí),將自身標(biāo)記為第三類節(jié)點(diǎn),并向網(wǎng)絡(luò)中其它節(jié)點(diǎn)廣播攜帶有自身的唯一標(biāo)識(shí)ID和所述鄰居節(jié)點(diǎn)唯一標(biāo)識(shí)ID的GRAYl信息,以及執(zhí)行相應(yīng)的第三類節(jié)點(diǎn)操作;
[0053]當(dāng)各第一類節(jié)點(diǎn)接收到其它節(jié)點(diǎn)廣播的攜帶有其唯一標(biāo)識(shí)ID和其鄰居節(jié)點(diǎn)唯一標(biāo)識(shí)ID的GRAYl信息時(shí),將自身對應(yīng)的第一列表中,包含所述GRAYl信息中的ID的WHITE信息刪除。
[0054]標(biāo)記為第二類節(jié)點(diǎn)的各節(jié)點(diǎn)所執(zhí)行的所述第二類節(jié)點(diǎn)操作包括:
[0055]各第二類節(jié)點(diǎn)維護(hù)一個(gè)第一標(biāo)識(shí)符CID,并將其初始化為自身的唯一標(biāo)識(shí)ID,向鄰居節(jié)點(diǎn)發(fā)送攜帶有自身的第一標(biāo)識(shí)符CID的組件信息;
[0056]當(dāng)各第二類節(jié)點(diǎn)收到鄰居節(jié)點(diǎn)發(fā)送的攜帶鄰居節(jié)點(diǎn)的CID的BLUEl信息時(shí),將自身的CID更新為所述鄰居節(jié)點(diǎn)的CID,并向鄰居節(jié)點(diǎn)發(fā)送攜帶有自身更新前及更新后CID的BLUE3信息。
[0057]標(biāo)記為第三類節(jié)點(diǎn)的各節(jié)點(diǎn)所執(zhí)行的所述第三類節(jié)點(diǎn)操作包括:
[0058]各第三類節(jié)點(diǎn)維護(hù)一個(gè)第一標(biāo)識(shí)符CID,并將其初始化為-1,維護(hù)一個(gè)第二標(biāo)識(shí)符SAME_NEIGHBOR,并將其初始化為O ;
[0059]當(dāng)各第三類節(jié)點(diǎn)接收到鄰居節(jié)點(diǎn)發(fā)送的攜帶有鄰居節(jié)點(diǎn)的第一標(biāo)識(shí)符CID的組件信息時(shí),將所述鄰居節(jié)點(diǎn)的第一標(biāo)識(shí)符CID添加至自身的第二列表中,以及,向鄰居節(jié)點(diǎn)發(fā)送攜帶有自身的第二列表的GRAY2信息;
[0060]當(dāng)各第三類節(jié)點(diǎn)接收到鄰居節(jié)點(diǎn)發(fā)送的攜帶鄰居節(jié)點(diǎn)的第二列表的GRAY2信息時(shí),在確定鄰居節(jié)點(diǎn)的第二列表與自身的第二列表中有相同的第一標(biāo)識(shí)符CID時(shí),將自身的第二標(biāo)識(shí)符SAME_NEIGHBOR置為1,以及,
[0061]向網(wǎng)絡(luò)中其它節(jié)點(diǎn)廣播GRAY3信息,所述GRAY3信息攜帶有如下信息:自身的ID、C_NEIGHBOR xL(U) (1_λ)值、自身的第二列表中CID的個(gè)數(shù)| C_NEIGHBOR |、自身的第二標(biāo)識(shí)符SAME_NEIGHBOR,其中u指代節(jié)點(diǎn),L(U)為自身的生存時(shí)間;
[0062]當(dāng)各第三類節(jié)點(diǎn)接收到其它節(jié)點(diǎn)廣播的GRAY3信息時(shí),將自身廣播的GRAY3信息和接收到的GRAY3信息,按照|C_NEIGHBOR| xL(U) (1_λ)值由大至小的順序,依次存儲(chǔ)在自身的第三列表中,并且,
[0063]各第三類節(jié)點(diǎn)在判斷滿足下述條件時(shí),將自身標(biāo)記為第四類節(jié)點(diǎn),并將自身的CID置為自身的第二列表中的最小的元素,然后向鄰居節(jié)點(diǎn)發(fā)送攜帶有自身的第一標(biāo)識(shí)符CID的BLUE I信息,以及,發(fā)送攜帶自身的唯一標(biāo)識(shí)ID的BLUE2信息,并執(zhí)行相應(yīng)的第四類節(jié)點(diǎn)操作,其中所述條件包括:
[0064]1、自身廣播的GRAY3信息位于第三列表的首位;
[0065]2、在第三列表中,位于自身廣播的GRAY3信息之前的GRAY3信息的| C_NEIGHBOR值等于1、SAME_NEIGHBOR等于1,以及,自身廣播的GRAY3信息的|C_NEIGHBOR|值等于1、SAME_NEIGHBOR 等于 O ;
[0066]當(dāng)各第三類節(jié)點(diǎn)收到鄰居節(jié)點(diǎn)發(fā)送的攜帶鄰居節(jié)點(diǎn)唯一標(biāo)識(shí)ID的BLUE2信息時(shí),從自身的第三列表刪除包含鄰居節(jié)點(diǎn)唯一標(biāo)識(shí)ID的GRAY3信息;
[0067]當(dāng)各第三類節(jié)點(diǎn)接收到鄰居節(jié)點(diǎn)發(fā)送的攜帶有鄰居節(jié)點(diǎn)更新前及更新后CID的BLUE3信息時(shí),在自身的第二列表中添加所述鄰居節(jié)點(diǎn)更新后的CID,并刪除所述鄰居節(jié)點(diǎn)更新前的CID ;以及,在確定自身的SAME_NEIGHBOR等于O時(shí),將自身的SAME_NEIGHBOR置為I,然后向其它節(jié)點(diǎn)廣播GRAY3信息,并向鄰居節(jié)點(diǎn)發(fā)送攜帶有自身的第二列表的GRAY4
信息;
[0068]當(dāng)各第三類節(jié)點(diǎn)收到鄰居節(jié)點(diǎn)發(fā)送的攜帶有鄰居節(jié)點(diǎn)的第二列表的GRAY4信息,且自身的SAME_NEIGHBOR等于0、自身的第二列表和所述鄰居節(jié)點(diǎn)的第二列表中包含相同的CID時(shí),將自身的SAME_NEIGHBOR置為1,并向其它節(jié)點(diǎn)廣播GRAY3信息;
[0069]標(biāo)記為第四類節(jié)點(diǎn)的各節(jié)點(diǎn)所執(zhí)行的所述第四類節(jié)點(diǎn)操作包括:
[0070]當(dāng)各第四類節(jié)點(diǎn)收到鄰居節(jié)點(diǎn)發(fā)送的攜帶鄰居節(jié)點(diǎn)的CID的BLUEl信息時(shí),將自身的CID更新為所述鄰居節(jié)點(diǎn)的CID,并向鄰居節(jié)點(diǎn)發(fā)送攜帶有自身更新前及更新后CID的BLUE3信息;
[0071]網(wǎng)絡(luò)中各個(gè)節(jié)點(diǎn)在確定自身及其它節(jié)點(diǎn)的第三列表中|C_NEIGHBOR|值等于I且SAME_NEIGHBOR等于I時(shí),由第四類節(jié)點(diǎn)和第二類節(jié)點(diǎn)共同構(gòu)成虛擬骨干網(wǎng)。
[0072]需要解釋的是,上述各類節(jié)點(diǎn)在執(zhí)行時(shí),相互之間進(jìn)行通信,因此涉及信息交互的過程還請對應(yīng)參照。
[0073]本申請實(shí)施例提供的異構(gòu)自組織網(wǎng)絡(luò)中虛擬骨干網(wǎng)的建立方法,逐步選出網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)中D (u) aL(u) (1_λ)值最大的節(jié)點(diǎn)U,組成第二類節(jié)點(diǎn)集合,剩余的作為第三類節(jié)點(diǎn),并按照本申請的算法規(guī)則從第三類節(jié)點(diǎn)中挑選第四類節(jié)點(diǎn),由第