本發(fā)明屬于通信技術(shù)領(lǐng)域,涉及一種快速組網(wǎng)方法,可應(yīng)用于各種采用csma機(jī)制進(jìn)行組網(wǎng)并屬于星型拓?fù)涞木钟蚓W(wǎng)和接入網(wǎng)領(lǐng)域。
背景技術(shù):
在星型網(wǎng)絡(luò)中,由一個中心節(jié)點和多個從屬節(jié)點構(gòu)成一個網(wǎng)絡(luò)。在中心節(jié)點的控制下,多個從屬節(jié)點要求入網(wǎng),中心節(jié)點通常指定一個包含若干時隙的接入時段,供從屬節(jié)點隨機(jī)競爭接入并發(fā)送入網(wǎng)請求報文。在已有的組網(wǎng)方案中,從屬節(jié)點通常采用二進(jìn)制指數(shù)退避的方式競爭入網(wǎng)。
在二進(jìn)制指數(shù)退避方式中,從屬節(jié)點每次參與競爭時,從退避窗口[0,cw-1]中隨機(jī)選擇一個值作為退避時隙數(shù),當(dāng)退避完成時向中心節(jié)點發(fā)送入網(wǎng)請求報文。其中cw根據(jù)已發(fā)生碰撞的次數(shù)k、最小退避指數(shù)kmin和最大退避指數(shù)kmax取值,當(dāng)k≤kmin時,
在上述二進(jìn)制指數(shù)退避方式中,由于kmin取值固定且通常情況下kmin取值較小,在從屬節(jié)點數(shù)目較多的情況下,尤其是當(dāng)多個從屬節(jié)點同時上電或發(fā)生斷電等故障后重新上電時,大量從屬節(jié)點首次參與競爭時在退避窗口[0,cwmin-1]中隨機(jī)選擇一個值作為退避時隙數(shù),此時會由于cwmin取值較小而導(dǎo)致多個節(jié)點的退避時隙數(shù)相同,從而引發(fā)大量沖突和重傳,直到cw開始增大,才能減小發(fā)生沖突的概率,此時大量的沖突和重傳可能導(dǎo)致整個網(wǎng)絡(luò)的組網(wǎng)效率很低,甚至組網(wǎng)失敗。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的在于針對上述現(xiàn)有技術(shù)的不足,提出一種基于中心節(jié)點控制的快速組網(wǎng)方法,以避免從屬節(jié)點在入網(wǎng)過程中產(chǎn)生沖突,從而提高整個網(wǎng)絡(luò)的組網(wǎng)效率。
為實現(xiàn)上述目的,本發(fā)明的技術(shù)方案包括如下步驟:
(1)中心節(jié)點將n個待入網(wǎng)節(jié)點所對應(yīng)的未響應(yīng)次數(shù)置為0,并用n個待入網(wǎng)節(jié)點組成待入網(wǎng)節(jié)點集合h,即h中的待入網(wǎng)節(jié)點數(shù)x=n;
(2)中心節(jié)點將信道劃分為連續(xù)不重疊的信標(biāo)周期,每個信標(biāo)周期包括三個時段:
信標(biāo)時段,用于中心節(jié)點發(fā)送信標(biāo)幀;
接入時段,由若干接入時隙組成,用于中心節(jié)點和待入網(wǎng)節(jié)點發(fā)送入網(wǎng)報文;
數(shù)據(jù)時段,用于其他用途的數(shù)據(jù)傳輸;
(3)中心節(jié)點在信標(biāo)周期開始時刻從h中選擇m個節(jié)點組成入網(wǎng)節(jié)點集合g,并指定g中m個待入網(wǎng)節(jié)點在接入時段內(nèi)發(fā)送入網(wǎng)請求報文前需等待的接入時隙數(shù)分別為:p1,p2,…,pi,…,pm,其中i=1,2,…,m,p1≠p2≠…≠pi≠…≠pm,p1,p2,…,pi,…,pm≥0,0<m≤x;
(4)中心節(jié)點在信標(biāo)時段以廣播的形式將信標(biāo)幀發(fā)送給h中的待入網(wǎng)節(jié)點,其中信標(biāo)幀包含了g中m個待入網(wǎng)節(jié)點的節(jié)點標(biāo)識及其對應(yīng)的需等待的接入時隙數(shù);
(5)待入網(wǎng)節(jié)點收到信標(biāo)幀后,將自身節(jié)點標(biāo)識與信標(biāo)幀中指定的m個節(jié)點標(biāo)識進(jìn)行匹配:
若有相同的節(jié)點標(biāo)識,則將該節(jié)點的退避計數(shù)器設(shè)置為中心節(jié)點在信標(biāo)幀中為該節(jié)點指定的需等待的接入時隙數(shù),執(zhí)行步驟(6);
若沒有相同的節(jié)點標(biāo)識,則放棄在本信標(biāo)周期內(nèi)發(fā)送報文,并等待下一個信標(biāo)幀;
(6)待入網(wǎng)節(jié)點判斷退避計數(shù)器的大?。?/p>
如果退避計數(shù)器為0,則在接入時段中第一個接入時隙的開始時刻向中心節(jié)點發(fā)送入網(wǎng)請求報文;
如果退避計數(shù)器不為0,則在接入時段中每個接入時隙的開始時刻偵聽信道狀態(tài):
若信道狀態(tài)為忙,則停止退避,放棄在本信標(biāo)周期內(nèi)發(fā)送報文,并等待下一個信標(biāo)幀;
若信道狀態(tài)為空閑,則將退避計數(shù)器減1,當(dāng)退避計數(shù)器減為0時,在下一個接入時隙的開始時刻向中心節(jié)點發(fā)送入網(wǎng)請求報文;
(7)中心節(jié)點在接入時段等待g中待入網(wǎng)節(jié)點的入網(wǎng)請求報文:
若在接入時段收到入網(wǎng)請求報文,則將對應(yīng)待入網(wǎng)節(jié)點標(biāo)記為入網(wǎng);
若在接入時段沒有收到入網(wǎng)請求報文,則更新g中待入網(wǎng)節(jié)點的未響應(yīng)次數(shù),并等待信標(biāo)周期結(jié)束;
(8)中心節(jié)點在信標(biāo)周期結(jié)束時刻,將g中未響應(yīng)次數(shù)超過最大值的節(jié)點及被標(biāo)記為入網(wǎng)的節(jié)點從h中移除,同時更新待入網(wǎng)節(jié)點集合h中的待入網(wǎng)節(jié)點數(shù)x;
(9)中心節(jié)點判斷h中是否還有待入網(wǎng)節(jié)點:若有,則重復(fù)步驟(3)到步驟(8);若沒有,則結(jié)束快速組網(wǎng)。
本發(fā)明與現(xiàn)有技術(shù)相比有如下優(yōu)點:
1、本發(fā)明充分利用中心節(jié)點所掌握的組網(wǎng)節(jié)點規(guī)模、組網(wǎng)名單等參數(shù),由中心節(jié)點指定待入網(wǎng)節(jié)點接入信道的時機(jī)和順序,避免了組網(wǎng)過程中發(fā)生沖突,從而提高組網(wǎng)效率。
2、本發(fā)明依據(jù)網(wǎng)絡(luò)中的待入網(wǎng)節(jié)點數(shù)動態(tài)調(diào)整待入網(wǎng)節(jié)點需等待的接入時隙數(shù),使組網(wǎng)過程更加靈活可控。
附圖說明
圖1是本發(fā)明的實現(xiàn)流程圖;
圖2是本發(fā)明中節(jié)點入網(wǎng)的第一實施例示意圖;
圖3時本發(fā)明中節(jié)點入網(wǎng)的第二實施例示意圖。
具體實施方式
本發(fā)明利用中心節(jié)點所掌握的組網(wǎng)節(jié)點規(guī)模、組網(wǎng)節(jié)點名單等參數(shù),由中心節(jié)點在組網(wǎng)時發(fā)布組網(wǎng)方案和組網(wǎng)參數(shù),控制或指定各從屬節(jié)點接入信道的時機(jī)和順序,引導(dǎo)其有序接入。實際上,在進(jìn)行網(wǎng)絡(luò)規(guī)劃時,中心節(jié)點可以掌握組網(wǎng)節(jié)點規(guī)模、組網(wǎng)節(jié)點名單等參數(shù),在斷電重啟后,中心節(jié)點也通常保存著斷電前的組網(wǎng)信息如節(jié)點數(shù)、節(jié)點硬件地址或節(jié)點邏輯標(biāo)識等信息,這些信息可以在組網(wǎng)或重新組網(wǎng)時使用,從而可大大提高組網(wǎng)效率。
實施例一,
參照圖1,本實例的實現(xiàn)步驟如下:
步驟1,中心節(jié)點組成待入網(wǎng)節(jié)點集合h。
中心節(jié)點將10個待入網(wǎng)節(jié)點所對應(yīng)的未響應(yīng)次數(shù)置為0,并用10個待入網(wǎng)節(jié)點組成待入網(wǎng)節(jié)點集合h,即h中的待入網(wǎng)節(jié)點數(shù)x=10。
步驟2,中心節(jié)點規(guī)劃信道。
中心節(jié)點將信道劃分為連續(xù)不重疊的信標(biāo)周期,每個信標(biāo)周期包括信標(biāo)、接入和數(shù)據(jù)三個時段,其中:
信標(biāo)時段,用于中心節(jié)點發(fā)送信標(biāo)幀;
接入時段,由若干接入時隙組成,用于中心節(jié)點和待入網(wǎng)節(jié)點發(fā)送入網(wǎng)報文;
數(shù)據(jù)時段,用于其他用途的數(shù)據(jù)傳輸。
步驟3,中心節(jié)點根據(jù)待入網(wǎng)節(jié)點集合h中的待入網(wǎng)節(jié)點數(shù)x組成入網(wǎng)節(jié)點集合g。
中心節(jié)點在信標(biāo)周期開始時刻判斷h中的待入網(wǎng)節(jié)點數(shù)x:
若x≥4,則從h中選擇4個節(jié)點組成入網(wǎng)節(jié)點集合g,并指定g中4個待入網(wǎng)節(jié)點在接入時段內(nèi)發(fā)送入網(wǎng)請求報文前需等待的接入時隙數(shù)分別為:0,1,2,3;
若x=3,則將h中的3個節(jié)點組成入網(wǎng)節(jié)點集合g,并指定g中3個待入網(wǎng)節(jié)點在接入時段內(nèi)發(fā)送入網(wǎng)請求報文前需等待的接入時隙數(shù)分別為:0,1,2;
若x=2,則將h中的2個節(jié)點組成入網(wǎng)節(jié)點集合g,并指定g中2個待入網(wǎng)節(jié)點在接入時段內(nèi)發(fā)送入網(wǎng)請求報文前需等待的接入時隙數(shù)分別為:0,1;
若x=1,則將h中的1個節(jié)點組成入網(wǎng)節(jié)點集合g,并指定g中1個待入網(wǎng)節(jié)點在接入時段內(nèi)發(fā)送入網(wǎng)請求報文前需等待的接入時隙數(shù)為0。
步驟4,中心節(jié)點在信標(biāo)時段發(fā)送信標(biāo)幀。
中心節(jié)點在信標(biāo)時段以廣播的形式將信標(biāo)幀發(fā)送給h中的待入網(wǎng)節(jié)點,其中信標(biāo)幀包含了g中待入網(wǎng)節(jié)點的節(jié)點標(biāo)識及其對應(yīng)的需等待的接入時隙數(shù)。
步驟5,待入網(wǎng)節(jié)點匹配節(jié)點標(biāo)識。
待入網(wǎng)節(jié)點收到信標(biāo)幀后,將自身節(jié)點標(biāo)識與信標(biāo)幀中指定的節(jié)點標(biāo)識進(jìn)行匹配:
若有相同的節(jié)點標(biāo)識,則將該節(jié)點的退避計數(shù)器設(shè)置為中心節(jié)點在信標(biāo)幀中為該節(jié)點指定的需等待的接入時隙數(shù),執(zhí)行步驟6;
若沒有相同的節(jié)點標(biāo)識,則放棄在本信標(biāo)周期內(nèi)發(fā)送報文,并等待下一個信標(biāo)幀。
步驟6,待入網(wǎng)節(jié)點根據(jù)退避計數(shù)器是否為0發(fā)送入網(wǎng)請求報文。
參照圖2,本步驟的具體實現(xiàn)如下:
待入網(wǎng)節(jié)點判斷退避計數(shù)器的大?。?/p>
如果退避計數(shù)器為0,則在接入時段中第一個接入時隙的開始時刻向中心節(jié)點發(fā)送入網(wǎng)請求報文;
如果退避計數(shù)器不為0,則在接入時段中每個接入時隙的開始時刻偵聽信道狀態(tài):
若信道狀態(tài)為忙,則停止退避,放棄在本信標(biāo)周期內(nèi)發(fā)送報文,并等待下一個信標(biāo)幀;
若信道狀態(tài)為空閑,則將退避計數(shù)器減1,當(dāng)退避計數(shù)器減為0時,在下一個接入時隙的開始時刻向中心節(jié)點發(fā)送入網(wǎng)請求報文。
步驟7,中心節(jié)點根據(jù)是否收到入網(wǎng)請求報文發(fā)送入網(wǎng)請求響應(yīng)報文。
中心節(jié)點在接入時段等待入網(wǎng)節(jié)點集合g中待入網(wǎng)節(jié)點的入網(wǎng)請求報文的收到:
若在接入時段收到入網(wǎng)請求報文,則將對應(yīng)待入網(wǎng)節(jié)點標(biāo)記為入網(wǎng);
若在接入時段沒有收到入網(wǎng)請求報文,則將g中每個節(jié)點的未響應(yīng)次數(shù)加1,并等待信標(biāo)周期結(jié)束。
步驟8,中心節(jié)點更新待入網(wǎng)節(jié)點集合h。
中心節(jié)點在信標(biāo)周期結(jié)束時刻,將g中未響應(yīng)次數(shù)超過最大值的節(jié)點及被標(biāo)記為入網(wǎng)的節(jié)點從h中移除,同時更新待入網(wǎng)節(jié)點集合h中的待入網(wǎng)節(jié)點數(shù)x。
步驟9,中心節(jié)點做出是否結(jié)束快速組網(wǎng)的判斷。
中心節(jié)點判斷待入網(wǎng)節(jié)點集合h中的待入網(wǎng)節(jié)點數(shù)x是否為0:若不為0,則重復(fù)步驟3到步驟8;若為0,則結(jié)束快速組網(wǎng)。
實施例二
參照圖1,本實例的實現(xiàn)步驟如下:
步驟一,中心節(jié)點組成待入網(wǎng)節(jié)點集合h。
中心節(jié)點將8個待入網(wǎng)節(jié)點所對應(yīng)的未響應(yīng)次數(shù)置為0,并用8個待入網(wǎng)節(jié)點組成待入網(wǎng)節(jié)點集合h,即h中的待入網(wǎng)節(jié)點數(shù)x=8。
步驟二,中心節(jié)點規(guī)劃信道。
中心節(jié)點將信道劃分為連續(xù)不重疊的信標(biāo)周期,每個信標(biāo)周期包括信標(biāo)、接入和數(shù)據(jù)三個時段,其中:
信標(biāo)時段,用于中心節(jié)點發(fā)送信標(biāo)幀;
接入時段,由若干接入時隙組成,用于中心節(jié)點和待入網(wǎng)節(jié)點發(fā)送入網(wǎng)報文;
數(shù)據(jù)時段,用于其他用途的數(shù)據(jù)傳輸。
步驟三,中心節(jié)點組成入網(wǎng)節(jié)點集合g。
中心節(jié)點在信標(biāo)周期從h中選擇1個節(jié)點組成入網(wǎng)節(jié)點集合g,并指定g中1個待入網(wǎng)節(jié)點在接入時段內(nèi)發(fā)送入網(wǎng)請求報文前需等待的接入時隙數(shù)為0。
步驟四,中心節(jié)點在信標(biāo)時段發(fā)送信標(biāo)幀。
中心節(jié)點在信標(biāo)時段以廣播的形式將信標(biāo)幀發(fā)送給h中的待入網(wǎng)節(jié)點,其中信標(biāo)幀包含了g中待入網(wǎng)節(jié)點的節(jié)點標(biāo)識及其對應(yīng)的需等待的接入時隙數(shù)。
步驟五,待入網(wǎng)節(jié)點匹配節(jié)點標(biāo)識。
參照圖3,本步驟的具體實現(xiàn)如下:
待入網(wǎng)節(jié)點收到信標(biāo)幀后,將自身節(jié)點標(biāo)識與信標(biāo)幀中指定的節(jié)點標(biāo)識進(jìn)行匹配:
若節(jié)點標(biāo)識相同,則將該節(jié)點的退避計數(shù)器設(shè)置為中心節(jié)點在信標(biāo)幀中為該節(jié)點指定的需等待的接入時隙數(shù),即設(shè)置退避計數(shù)器為0,并在接入時段中第一個接入時隙的開始時刻向中心節(jié)點發(fā)送入網(wǎng)請求報文;
若節(jié)點標(biāo)識不相同,則放棄在本信標(biāo)周期內(nèi)發(fā)送報文,并等待下一個信標(biāo)幀。
步驟六,中心節(jié)點根據(jù)是否收到入網(wǎng)請求報文發(fā)送入網(wǎng)請求響應(yīng)報文。
中心節(jié)點在接入時段等待入網(wǎng)節(jié)點集合g中待入網(wǎng)節(jié)點的入網(wǎng)請求報文的收到:
若在接入時段收到入網(wǎng)請求報文,則將對應(yīng)待入網(wǎng)節(jié)點標(biāo)記為入網(wǎng);
若在接入時段沒有收到入網(wǎng)請求報文,則將g中待入網(wǎng)節(jié)點的未響應(yīng)次數(shù)加1,并等待信標(biāo)周期結(jié)束。
步驟七,中心節(jié)點更新待入網(wǎng)節(jié)點集合h。
中心節(jié)點在信標(biāo)周期結(jié)束時刻,將g中未響應(yīng)次數(shù)超過最大值的節(jié)點及被標(biāo)記為入網(wǎng)的節(jié)點從h中移除,同時更新待入網(wǎng)節(jié)點集合h中的待入網(wǎng)節(jié)點數(shù)x。
步驟八,中心節(jié)點做出是否結(jié)束快速組網(wǎng)的判斷。
中心節(jié)點判斷待入網(wǎng)節(jié)點集合h中的待入網(wǎng)節(jié)點數(shù)x是否為0:若不為0,則重復(fù)步驟三到步驟七;若為0,則結(jié)束快速組網(wǎng)。