基于主從節(jié)點(diǎn)通信網(wǎng)絡(luò)的偽廣播通信方法
【專利摘要】本發(fā)明公開了一種基于主從節(jié)點(diǎn)通信網(wǎng)絡(luò)的偽廣播通信方法,該方法包括如下步驟:主節(jié)點(diǎn)按深度優(yōu)先的原則,按通信路徑向從節(jié)點(diǎn)發(fā)送廣播命令;收到廣播命令的從節(jié)點(diǎn),首先檢查判斷收到的該廣播命令是否與上次收到的廣播命令相同;是,則不執(zhí)行廣播命令所指示的動作,否則,執(zhí)行該廣播命令所指示的動作并更新所執(zhí)行的廣播命令的序列號;然后該節(jié)點(diǎn)再根據(jù)所述廣播命令檢查判斷該條命令是否是通過自己進(jìn)行中繼轉(zhuǎn)發(fā);是,則轉(zhuǎn)發(fā)所述廣播命令,否則,丟棄該廣播命令。在不改變上述序列號的情況下,重復(fù)上述步驟,直至所有從節(jié)點(diǎn)接收到該廣播命令并執(zhí)行其所指示的動作。本發(fā)明實(shí)現(xiàn)了通信廣播,節(jié)約了大量通信時間,提高了廣播通信效率。
【專利說明】基于主從節(jié)點(diǎn)通信網(wǎng)絡(luò)的偽廣播通信方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種廣播通信方法,特別涉及一種基于主從節(jié)點(diǎn)通信網(wǎng)絡(luò)的偽廣播通/[目方法。
【背景技術(shù)】
[0002]目前常用的廣播通信方式基本上是:能與主節(jié)點(diǎn)直接通信的從節(jié)點(diǎn)采用廣播通訊,而不能與主節(jié)點(diǎn)直接通信的從節(jié)點(diǎn)采用點(diǎn)對點(diǎn)通信。這種廣播通信方案的缺點(diǎn)在于:如果不能與主節(jié)點(diǎn)直接通信的從節(jié)點(diǎn)越多,則需要的通信時間就越多,速度就越慢,嚴(yán)重影響了廣播命令的執(zhí)行效率。
【發(fā)明內(nèi)容】
[0003]本發(fā)明的目的是提供一種快速高效的基于主從節(jié)點(diǎn)通信網(wǎng)絡(luò)的偽廣播通信方法。
[0004]本發(fā)明提供的這種基于主從節(jié)點(diǎn)通信網(wǎng)絡(luò)的偽廣播通信方法,該方法包括如下步驟:
步驟1,主節(jié)點(diǎn)按深度優(yōu)先的原則,按通信路徑向從節(jié)點(diǎn)發(fā)送廣播命令;
步驟2,收到廣播命令的從節(jié)點(diǎn),首先檢查判斷收到的該廣播命令的序列號是否與上次執(zhí)行的廣播命令的序列號相同;是,則不執(zhí)行該廣播命令所指示的動作,否則,執(zhí)行該廣播命令所指示的動作,并將已存的序列號更新為當(dāng)前所執(zhí)行的廣播命令的序列號;
然后該節(jié)點(diǎn)再根據(jù)所述廣播命令檢查判斷該條命令是否是通過自己進(jìn)行中繼轉(zhuǎn)發(fā);是,則轉(zhuǎn)發(fā)所述廣播命令,否則,丟棄該廣播命令;
步驟3,在不改變所述序列號的情況下,重復(fù)步驟I至步驟2,直至所有從節(jié)點(diǎn)接收到該條廣播命令并執(zhí)行該廣播命令所指示的動作。
[0005]所述步驟I中主節(jié)點(diǎn)按照網(wǎng)絡(luò)拓?fù)鋱D,一次僅選取目前未廣播的從節(jié)點(diǎn)中一條包含節(jié)點(diǎn)最多的通信路徑,向網(wǎng)絡(luò)中的從節(jié)點(diǎn)進(jìn)行廣播。所述廣播命令包括序列號、中繼節(jié)點(diǎn)地址、目的節(jié)點(diǎn)地址、需要執(zhí)行的動作。所述主節(jié)點(diǎn)是一次通信過程的發(fā)起方和結(jié)束方。所述從節(jié)點(diǎn)是一次通信過程的響應(yīng)方;從節(jié)點(diǎn)受所述主節(jié)點(diǎn)控制。
[0006]本發(fā)明不僅實(shí)現(xiàn)了通信廣播,還節(jié)約了大量廣播通信的時間,大幅提高了廣播命令的執(zhí)行效率。
【專利附圖】
【附圖說明】
[0007]圖1是本發(fā)明實(shí)施方式的一種網(wǎng)絡(luò)結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0008]下面結(jié)合附圖和具體實(shí)施例對本發(fā)明作進(jìn)一步的說明。
[0009]本發(fā)明優(yōu)選在載波通信領(lǐng)域的主從節(jié)點(diǎn)通信網(wǎng)絡(luò)中應(yīng)用。
[0010]設(shè)現(xiàn)在有主節(jié)點(diǎn)BB,從節(jié)點(diǎn)CO、從節(jié)點(diǎn)Cl、從節(jié)點(diǎn)C2、從節(jié)點(diǎn)C3、從節(jié)點(diǎn)C4、從節(jié)點(diǎn)C5、從節(jié)點(diǎn)C6、從節(jié)點(diǎn)C7、從節(jié)點(diǎn)C8、從節(jié)點(diǎn)C9、從節(jié)點(diǎn)CIO ;上述節(jié)點(diǎn)均處于如圖1所示的已組網(wǎng)成功的通信網(wǎng)絡(luò)內(nèi)。
[0011]所有節(jié)點(diǎn)收到主節(jié)點(diǎn)BB發(fā)出的同一序列號的廣播命令,并執(zhí)行該命令所指示的動作,即為此次廣播通信的結(jié)束。
[0012]根據(jù)對如圖1所示的通信網(wǎng)絡(luò)的分析,本發(fā)明僅選擇兩條路徑發(fā)送廣播命令即可完成所有從節(jié)點(diǎn)的廣播通信。這兩條路徑分別是:BB-C0-C5-C9、BB-C1-C7-C8-C10。
[0013]具體步驟如下:
步驟1,依據(jù)如圖1所示的網(wǎng)絡(luò)拓?fù)鋱D,按深度優(yōu)先的原則,主節(jié)點(diǎn)BB先選取路徑BB-C1-C7-C8-C10,按該通信路徑發(fā)送廣播命令。該廣播命令的序列號為I ;中繼表的各中繼節(jié)點(diǎn)地址為:從節(jié)點(diǎn)Cl、從節(jié)點(diǎn)C7、從節(jié)點(diǎn)CS ;目的節(jié)點(diǎn)地址為從節(jié)點(diǎn)ClO ;需要執(zhí)行的動作為A。
[0014]步驟2,從節(jié)點(diǎn)CO、從節(jié)點(diǎn)Cl、從節(jié)點(diǎn)C2和從節(jié)點(diǎn)C3均接收到廣播命令。
[0015]從節(jié)點(diǎn)CO根據(jù)收到的廣播命令,首先檢測判斷此命令的序列號與之前執(zhí)行的廣播命令的序列號不同,執(zhí)行該命令所指示的動作A,并將該節(jié)點(diǎn)所存的序列號更新為I ;然后根據(jù)該命令判斷出該條命令不是通過自己進(jìn)行中繼轉(zhuǎn)發(fā),丟棄該命令。
[0016]從節(jié)點(diǎn)Cl根據(jù)收到的廣播命令,首先檢測判斷此命令的序列號與之前執(zhí)行的廣播命令的序列號不同,執(zhí)行該命令所指示的動作A,并將該節(jié)點(diǎn)所存的序列號更新為I ;然后根據(jù)該命令判斷出該條命令是通過自己進(jìn)行中繼轉(zhuǎn)發(fā),該節(jié)點(diǎn)先在該廣播命令的中繼表中將以自己為中繼的中繼節(jié)點(diǎn)地址刪除后,轉(zhuǎn)發(fā)該條廣播命令。此時的中繼表的各中繼節(jié)點(diǎn)地址為從節(jié)點(diǎn)C7和從節(jié)點(diǎn)C8。
[0017]從節(jié)點(diǎn)C2根據(jù)收到的廣播命令,首先檢測判斷此命令的序列號與之前執(zhí)行的廣播命令的序列號不同,執(zhí)行該命令所指示的動作A,并將該節(jié)點(diǎn)所存的序列號更新為I ;然后根據(jù)該命令判斷出該條命令不是通過自己進(jìn)行中繼轉(zhuǎn)發(fā),丟棄該命令。
[0018]從節(jié)點(diǎn)C3根據(jù)收到的廣播命令,首先檢測判斷此命令的序列號與之前執(zhí)行的廣播命令的序列號不同,執(zhí)行該命令所指示的動作A,并將該節(jié)點(diǎn)所存的序列號更新為I ;然后根據(jù)該命令判斷出該條命令不是通過自己進(jìn)行中繼轉(zhuǎn)發(fā),丟棄該命令。
[0019]步驟3,從節(jié)點(diǎn)C6和從節(jié)點(diǎn)C7均接收到由從節(jié)點(diǎn)Cl轉(zhuǎn)發(fā)的廣播命令。
[0020]從節(jié)點(diǎn)C6根據(jù)收到的廣播命令,首先檢測判斷此命令的序列號與之前執(zhí)行的廣播命令的序列號不同,執(zhí)行該命令所指示的動作A,并將該節(jié)點(diǎn)所存的序列號更新為I ;然后根據(jù)該命令判斷出該條命令不是通過自己進(jìn)行中繼轉(zhuǎn)發(fā),丟棄該命令。
[0021]從節(jié)點(diǎn)C7根據(jù)收到的廣播命令,首先檢測判斷此命令的序列號與之前執(zhí)行的廣播命令的序列號不同,執(zhí)行該命令所指示的動作A,并將該節(jié)點(diǎn)所存的序列號更新為I ;然后根據(jù)該命令判斷出該條命令是通過自己進(jìn)行中繼轉(zhuǎn)發(fā),該節(jié)點(diǎn)先在該廣播命令的中繼表中將以自己為中繼的中繼節(jié)點(diǎn)地址刪除后,轉(zhuǎn)發(fā)該條廣播命令。此時的中繼表的各中繼節(jié)點(diǎn)地址為從節(jié)點(diǎn)C8。
[0022]步驟4,從節(jié)點(diǎn)Cl和從節(jié)點(diǎn)C8均接收到由從節(jié)點(diǎn)C7轉(zhuǎn)發(fā)的廣播命令。
[0023]從節(jié)點(diǎn)Cl根據(jù)收到的廣播命令,首先檢測判斷此命令的序列號與之前執(zhí)行的廣播命令的序列號相同,則不執(zhí)行該廣播命令所指示的動作;然后根據(jù)該命令判斷出該條命令不是通過自己進(jìn)行中繼轉(zhuǎn)發(fā),丟棄該命令。[0024]從節(jié)點(diǎn)CS根據(jù)收到的廣播命令,首先檢測判斷此命令的序列號與之前執(zhí)行的廣播命令的序列號不同,執(zhí)行該命令所指示的動作A,并將該節(jié)點(diǎn)所存的序列號更新為I ;然后根據(jù)該命令判斷出該條命令是通過自己進(jìn)行中繼轉(zhuǎn)發(fā),該節(jié)點(diǎn)先在該廣播命令的中繼表中將以自己為中繼的中繼節(jié)點(diǎn)地址刪除后,轉(zhuǎn)發(fā)該條廣播命令。此時的中繼表中已沒有中繼節(jié)點(diǎn)地址的信息。
[0025]步驟5,從節(jié)點(diǎn)C2、從節(jié)點(diǎn)C7和從節(jié)點(diǎn)ClO均接收到由從節(jié)點(diǎn)C8轉(zhuǎn)發(fā)的廣播命令。
[0026]從節(jié)點(diǎn)C2根據(jù)收到的廣播命令,首先檢測判斷此命令的序列號與之前執(zhí)行的廣播命令的序列號相同,則不執(zhí)行該廣播命令所指示的動作;然后根據(jù)該命令判斷出不是通過自己進(jìn)行中繼轉(zhuǎn)發(fā),丟棄該命令。
[0027]從節(jié)點(diǎn)C7根據(jù)收到的廣播命令,首先檢測判斷此命令的序列號與之前執(zhí)行的廣播命令的序列號相同,則不執(zhí)行該廣播命令所指示的動作;然后根據(jù)該命令判斷出不是通過自己進(jìn)行中繼轉(zhuǎn)發(fā),丟棄該命令。
[0028]從節(jié)點(diǎn)ClO根據(jù)收到的廣播命令,首先檢測判斷此命令的序列號與之前執(zhí)行的廣播命令的序列號不同,執(zhí)行該命令所指示的動作A,并將該節(jié)點(diǎn)所存的序列號更新為I。
[0029]步驟6,依據(jù)如圖1所示的網(wǎng)絡(luò)拓?fù)鋱D,按深度優(yōu)先的原則,主節(jié)點(diǎn)BB再選取路徑BB-C0-C5-C9,按此通信路徑發(fā)送廣播命令。該廣播命令的序列號為1,中繼節(jié)點(diǎn)地址為從節(jié)點(diǎn)CO、從節(jié)點(diǎn)C5,目的節(jié)點(diǎn)地址為從節(jié)點(diǎn)C9,需要執(zhí)行的動作為A。
[0030]步驟7,從節(jié)點(diǎn)CO、從節(jié)點(diǎn)Cl、從節(jié)點(diǎn)C2和從節(jié)點(diǎn)C3均接收到廣播命令。
[0031]從節(jié)點(diǎn)CO根據(jù)收到的廣播命令,首先檢測判斷此命令的序列號與之前執(zhí)行的廣播命令的序列號相同,不執(zhí)行該命令所指示的廣播動作;然后根據(jù)該命令判斷出該條命令是通過自己進(jìn)行中繼轉(zhuǎn)發(fā),該節(jié)點(diǎn)先在該廣播命令的中繼表中將以自己為中繼的中繼節(jié)點(diǎn)地址刪除后,轉(zhuǎn)發(fā)該條廣播命令。此時的中繼表的各中繼節(jié)點(diǎn)地址為從節(jié)點(diǎn)C5。
[0032]從節(jié)點(diǎn)Cl根據(jù)收到的廣播命令,首先檢測判斷此命令的序列號與之前執(zhí)行的廣播命令的序列號相同,不執(zhí)行該命令所指示的廣播動作;然后根據(jù)該命令判斷出該條命令不是通過自己進(jìn)行中繼轉(zhuǎn)發(fā),丟棄該命令。
[0033]從節(jié)點(diǎn)C2根據(jù)收到的廣播命令,首先檢測判斷此命令的序列號與之前執(zhí)行的廣播命令的序列號相同,不執(zhí)行該命令所指示的廣播動作;然后根據(jù)該命令判斷出該條命令不是通過自己進(jìn)行中繼轉(zhuǎn)發(fā),丟棄該命令。
[0034]從節(jié)點(diǎn)C3根據(jù)收到的廣播命令,首先檢測判斷此命令的序列號與之前執(zhí)行的廣播命令的序列號相同,不執(zhí)行該命令所指示的廣播動作;然后根據(jù)該命令判斷出該條命令不是通過自己進(jìn)行中繼轉(zhuǎn)發(fā),丟棄該命令。
[0035]步驟8,從節(jié)點(diǎn)C4和從節(jié)點(diǎn)C5均接收到由從節(jié)點(diǎn)CO轉(zhuǎn)發(fā)的廣播命令。
[0036]從節(jié)點(diǎn)C4根據(jù)收到的廣播命令,首先檢測判斷此命令的序列號與之前執(zhí)行的廣播命令的序列號不同,執(zhí)行該命令所指示的動作A,并將該節(jié)點(diǎn)所存的序列號更新為I ;然后根據(jù)該命令判斷出該條命令不是通過自己進(jìn)行中繼轉(zhuǎn)發(fā),丟棄該命令。
[0037]從節(jié)點(diǎn)C5根據(jù)收到的廣播命令,首先檢測判斷此命令的序列號與之前執(zhí)行的廣播命令的序列號不同,執(zhí)行該命令所指示的動作A,并將該節(jié)點(diǎn)所存的序列號更新為I ;然后根據(jù)該命令判斷出該條命令是通過自己進(jìn)行中繼轉(zhuǎn)發(fā),該節(jié)點(diǎn)先在該廣播命令的中繼表中,將以自己為中繼的中繼節(jié)點(diǎn)地址刪除后,轉(zhuǎn)發(fā)該條廣播命令。此時的中繼表中已沒有中繼節(jié)點(diǎn)地址的信息。
[0038]步驟9,從節(jié)點(diǎn)CO和從節(jié)點(diǎn)C9均接收到由從節(jié)點(diǎn)C5轉(zhuǎn)發(fā)的廣播命令。
[0039]從節(jié)點(diǎn)CO根據(jù)收到的廣播命令,首先檢測判斷此命令的序列號與之前執(zhí)行的廣播命令的序列號相同,則不執(zhí)行該廣播命令所指示的動作;然后根據(jù)該命令判斷出不是通過自己進(jìn)行中繼轉(zhuǎn)發(fā),丟棄該命令。
[0040]從節(jié)點(diǎn)C9根據(jù)收到的廣播命令,首先檢測判斷此命令的序列號與之前執(zhí)行的廣播命令的序列號不同,執(zhí)行該命令所指示的動作A,并將該節(jié)點(diǎn)所存的序列號更新為I。
[0041]至此,如圖1所示的通信網(wǎng)絡(luò)中,所有節(jié)點(diǎn)均收到序列號為I的廣播命令并執(zhí)行了其所指示的動作A。
[0042]如圖1所示的通信網(wǎng)路,假設(shè)相鄰節(jié)點(diǎn)通訊時間為I秒。若按傳統(tǒng)方式發(fā)送廣播命令,所有節(jié)點(diǎn)都收到同條廣播命令的耗時需要17秒;若按照本發(fā)明的方法,只需要走BB-C0-C5-C9、BB-C1-C7-C8-C10兩條路徑發(fā)送廣播命令即可,所有節(jié)點(diǎn)都收到同條廣播命令的耗時僅需7秒。顯然,采用本發(fā)明進(jìn)行廣播通信,可以大大節(jié)約所需要的時間。
[0043]如果考慮到廣播命令轉(zhuǎn)發(fā)到后級時,前級網(wǎng)絡(luò)已經(jīng)空閑,可以再次接收命令的特性,其通信時間可以更短。
[0044]此外,本發(fā)明僅與網(wǎng)絡(luò)拓?fù)溆嘘P(guān),與網(wǎng)絡(luò)中節(jié)點(diǎn)數(shù)量沒有很大的關(guān)系,本發(fā)明極大提升了廣播通信效率。
【權(quán)利要求】
1.一種基于主從節(jié)點(diǎn)通信網(wǎng)絡(luò)的偽廣播通信方法,其特征在于,該方法包括如下步驟: 步驟1,主節(jié)點(diǎn)按深度優(yōu)先的原則,按通信路徑向從節(jié)點(diǎn)發(fā)送廣播命令; 步驟2,收到廣播命令的從節(jié)點(diǎn),首先檢查判斷收到的該廣播命令的序列號是否與上次執(zhí)行的廣播命令的序列號相同;是,則不執(zhí)行該廣播命令所指示的動作,否則,執(zhí)行該廣播命令所指示的動作,并將已存的序列號更新為當(dāng)前所執(zhí)行的廣播命令的序列號; 然后該節(jié)點(diǎn)再根據(jù)所述廣播命令檢查判斷該條命令是否是通過自己進(jìn)行中繼轉(zhuǎn)發(fā);是,則轉(zhuǎn)發(fā)所述廣播命令,否則,丟棄該廣播命令; 步驟3,在不改變所述序列號的情況下,重復(fù)步驟I至步驟2,直至所有從節(jié)點(diǎn)接收到該條廣播命令并執(zhí)行該廣播命令所指示的動作。
2.根據(jù)權(quán)利要求1所述的基于主從節(jié)點(diǎn)通信網(wǎng)絡(luò)的偽廣播通信方法,其特征在于,所述步驟I中主節(jié)點(diǎn)按照網(wǎng)絡(luò)拓?fù)鋱D,一次僅選取目前未廣播的從節(jié)點(diǎn)中一條包含節(jié)點(diǎn)最多的通信路徑,向網(wǎng)絡(luò)中的從節(jié)點(diǎn)進(jìn)行廣播。
3.根據(jù)權(quán)利要求1所述的基于主從節(jié)點(diǎn)通信網(wǎng)絡(luò)的偽廣播通信方法,其特征在于,所述廣播命令包括序列號、中繼節(jié)點(diǎn)地址、目的節(jié)點(diǎn)地址、需要執(zhí)行的動作。
4.根據(jù)權(quán)利要求1所述的基于主從節(jié)點(diǎn)通信網(wǎng)絡(luò)的偽廣播通信方法,其特征在于,所述主節(jié)點(diǎn)是一次通信過程的發(fā)起方和結(jié)束方。
5.根據(jù)權(quán)利要求1所述的基于主從節(jié)點(diǎn)通信網(wǎng)絡(luò)的偽廣播通信方法,其特征在于,所述從節(jié)點(diǎn)是一次通信過程的響應(yīng)方;從節(jié)點(diǎn)受所述主節(jié)點(diǎn)控制。
【文檔編號】H04L12/18GK103457751SQ201310414662
【公開日】2013年12月18日 申請日期:2013年9月13日 優(yōu)先權(quán)日:2013年9月13日
【發(fā)明者】徐鵬程, 劉連義, 陽武, 范律, 肖林松, 邱仁峰, 張棟 申請人:長沙威勝信息技術(shù)有限公司