用于網(wǎng)格網(wǎng)絡(luò)的數(shù)據(jù)轉(zhuǎn)發(fā)方法及節(jié)點(diǎn)設(shè)備的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及網(wǎng)絡(luò)數(shù)據(jù)通信技術(shù),更具體地,涉及用于網(wǎng)格網(wǎng)絡(luò)的數(shù)據(jù)轉(zhuǎn)發(fā)方法及節(jié)點(diǎn)設(shè)備。
【背景技術(shù)】
[0002]隨著物聯(lián)技術(shù)的發(fā)展,越來(lái)越多的智能設(shè)備接入網(wǎng)絡(luò)。網(wǎng)格網(wǎng)絡(luò)(meshnetwork)具有可動(dòng)態(tài)擴(kuò)展、尚連接性、尚可靠性和尚穩(wěn)定性的優(yōu)點(diǎn),因而越來(lái)越受到關(guān)注。作為終端的智能設(shè)備可以先接入網(wǎng)格網(wǎng)絡(luò),然后進(jìn)一步接入相同或不同類型的其他網(wǎng)絡(luò),從而實(shí)現(xiàn)智能設(shè)備的遠(yuǎn)程管理、定時(shí)控制和參數(shù)調(diào)節(jié)等功能。
[0003]網(wǎng)格網(wǎng)絡(luò)是包括網(wǎng)絡(luò)控制器和多個(gè)節(jié)點(diǎn)的網(wǎng)絡(luò)架構(gòu)。網(wǎng)絡(luò)控制器可以有一個(gè)或者幾個(gè),網(wǎng)絡(luò)節(jié)點(diǎn)有多個(gè)。網(wǎng)絡(luò)控制器用于節(jié)點(diǎn)之間的通信調(diào)度和節(jié)點(diǎn)與外部網(wǎng)絡(luò)之間的通信路由。節(jié)點(diǎn)可以經(jīng)由網(wǎng)絡(luò)控制器訪問(wèn)外部網(wǎng)絡(luò)。在同一時(shí)刻,一般只有一個(gè)網(wǎng)絡(luò)控制器對(duì)網(wǎng)絡(luò)進(jìn)行控制。現(xiàn)有技術(shù)通過(guò)廣播來(lái)實(shí)現(xiàn)網(wǎng)格網(wǎng)絡(luò),實(shí)現(xiàn)的協(xié)議不盡相同。例如,可以基于藍(lán)牙協(xié)議4.0實(shí)現(xiàn)網(wǎng)格網(wǎng)絡(luò)。
[0004]在網(wǎng)格網(wǎng)絡(luò)中,利用相鄰的節(jié)點(diǎn)轉(zhuǎn)發(fā)數(shù)據(jù),以代替長(zhǎng)距離的直接連接,這種通信方式也稱為“多跳(mult1-hop)”通信。節(jié)點(diǎn)通過(guò)轉(zhuǎn)發(fā)收到的數(shù)據(jù)包來(lái)實(shí)現(xiàn)數(shù)據(jù)的傳遞,這種方式可以通過(guò)以節(jié)點(diǎn)作為中繼的方式實(shí)現(xiàn)信息的傳遞。在整個(gè)網(wǎng)絡(luò)中,節(jié)點(diǎn)的數(shù)據(jù)轉(zhuǎn)發(fā)都是基于隨機(jī)延時(shí)實(shí)現(xiàn)的。然而,頻繁的數(shù)據(jù)轉(zhuǎn)發(fā)使得整個(gè)網(wǎng)絡(luò)的功耗可能變得很大。如果不加約束的對(duì)數(shù)據(jù)包進(jìn)行轉(zhuǎn)發(fā),則甚至?xí)捎跀?shù)據(jù)包碰撞而導(dǎo)致網(wǎng)絡(luò)的崩潰。
[0005]因此,期望進(jìn)一步改進(jìn)網(wǎng)格網(wǎng)絡(luò)的數(shù)據(jù)通信控制方法以降低網(wǎng)絡(luò)設(shè)備功耗和減少數(shù)據(jù)包碰撞。
【發(fā)明內(nèi)容】
[0006]鑒于上述問(wèn)題,本發(fā)明的目的在于提供一種可以限制數(shù)據(jù)包轉(zhuǎn)發(fā)次數(shù)的數(shù)據(jù)轉(zhuǎn)發(fā)方法及節(jié)點(diǎn)設(shè)備,從而可以實(shí)現(xiàn)節(jié)能和提高網(wǎng)絡(luò)通信效率。
[0007]根據(jù)本發(fā)明的一方面,提供一種用于網(wǎng)格網(wǎng)絡(luò)的數(shù)據(jù)轉(zhuǎn)發(fā)方法,所述網(wǎng)格網(wǎng)絡(luò)包括多個(gè)節(jié)點(diǎn),所述多個(gè)節(jié)點(diǎn)中的至少一個(gè)節(jié)點(diǎn)作為中繼節(jié)點(diǎn),用于將源節(jié)點(diǎn)產(chǎn)生的數(shù)據(jù)包轉(zhuǎn)發(fā)至目標(biāo)節(jié)點(diǎn),所述方法包括:根據(jù)所述數(shù)據(jù)包的類型和轉(zhuǎn)發(fā)計(jì)數(shù),判斷是否轉(zhuǎn)發(fā)所述數(shù)據(jù)包,其中,在轉(zhuǎn)發(fā)所述數(shù)據(jù)包時(shí),根據(jù)所述數(shù)據(jù)包的類型進(jìn)行不同的計(jì)數(shù)以獲得所述轉(zhuǎn)發(fā)計(jì)數(shù)。
[0008]優(yōu)選地,所述數(shù)據(jù)包的類型包括命令數(shù)據(jù)包和狀態(tài)數(shù)據(jù)包,以及在轉(zhuǎn)發(fā)所述命令數(shù)據(jù)包時(shí)進(jìn)行遞增計(jì)數(shù),在轉(zhuǎn)發(fā)所述狀態(tài)數(shù)據(jù)包時(shí)進(jìn)行遞減計(jì)數(shù)。
[0009]優(yōu)選地,所述方法還包括獲得所述多個(gè)節(jié)點(diǎn)的網(wǎng)絡(luò)相對(duì)位置。
[0010]優(yōu)選地所述多個(gè)節(jié)點(diǎn)包括控制器,所述多個(gè)節(jié)點(diǎn)的網(wǎng)絡(luò)相對(duì)位置表示所述多個(gè)節(jié)點(diǎn)與所述控制器之間的最短路徑的節(jié)點(diǎn)數(shù)量。
[0011 ]優(yōu)選地,在網(wǎng)絡(luò)初始化期間,所述控制器產(chǎn)生命令數(shù)據(jù)包,將所述命令數(shù)據(jù)包經(jīng)由所述最短路徑到達(dá)所述多個(gè)節(jié)點(diǎn)的轉(zhuǎn)發(fā)次數(shù)作為所述多個(gè)節(jié)點(diǎn)的網(wǎng)絡(luò)相對(duì)位置。
[0012]優(yōu)選地,所述多個(gè)節(jié)點(diǎn)在網(wǎng)絡(luò)初始化期間存儲(chǔ)網(wǎng)絡(luò)相對(duì)位置。
[0013]優(yōu)選地,所述多個(gè)節(jié)點(diǎn)在轉(zhuǎn)發(fā)命令數(shù)據(jù)包時(shí)更新網(wǎng)絡(luò)相對(duì)位置。
[0014]優(yōu)選地,將所述源節(jié)點(diǎn)的網(wǎng)絡(luò)相對(duì)位置作為所述轉(zhuǎn)發(fā)計(jì)數(shù)的初始值。
[0015]優(yōu)選地,所述源節(jié)點(diǎn)產(chǎn)生狀態(tài)數(shù)據(jù)包,并且在產(chǎn)生狀態(tài)數(shù)據(jù)包時(shí)設(shè)置所述轉(zhuǎn)發(fā)計(jì)數(shù)的初始值。
[0016]優(yōu)選地,判斷步驟包括將所述轉(zhuǎn)發(fā)計(jì)數(shù)與參考值相比較。
[0017]優(yōu)選地,所述數(shù)據(jù)包為命令數(shù)據(jù)包,所述參考值為預(yù)設(shè)的最大值。
[0018]優(yōu)選地,如果所述轉(zhuǎn)發(fā)計(jì)數(shù)小于等于所述最大值,則轉(zhuǎn)發(fā)所述命令數(shù)據(jù)包,如果所述轉(zhuǎn)發(fā)計(jì)數(shù)大于等于所述最大值,則中止轉(zhuǎn)發(fā)所述命令數(shù)據(jù)包。
[0019]優(yōu)選地,所述數(shù)據(jù)包為狀態(tài)數(shù)據(jù)包,所述參考值為所述中繼節(jié)點(diǎn)的網(wǎng)絡(luò)相對(duì)位置。
[0020]優(yōu)選地,如果所述轉(zhuǎn)發(fā)計(jì)數(shù)大于等于所述中繼節(jié)點(diǎn)的網(wǎng)絡(luò)相對(duì)位置,則轉(zhuǎn)發(fā)所述命令數(shù)據(jù)包,如果所述轉(zhuǎn)發(fā)計(jì)數(shù)小于所述中繼節(jié)點(diǎn)的網(wǎng)絡(luò)相對(duì)位置,則中止轉(zhuǎn)發(fā)所述命令數(shù)據(jù)包。
[0021]優(yōu)選地,所述方法還包括在轉(zhuǎn)發(fā)所述數(shù)據(jù)包之前,進(jìn)行隨機(jī)延時(shí)。
[0022]根據(jù)本發(fā)明的另一方面,提供一種用于網(wǎng)格網(wǎng)絡(luò)的節(jié)點(diǎn)設(shè)備,所述節(jié)點(diǎn)設(shè)備在所述網(wǎng)格網(wǎng)絡(luò)中作為中續(xù)節(jié)點(diǎn),用于將源節(jié)點(diǎn)產(chǎn)生的數(shù)據(jù)包轉(zhuǎn)發(fā)至目標(biāo)節(jié)點(diǎn),所述節(jié)點(diǎn)設(shè)備包括:節(jié)點(diǎn)控制器,用于從所述數(shù)據(jù)包的內(nèi)容獲得數(shù)據(jù)包類型和轉(zhuǎn)發(fā)計(jì)數(shù);最大值寄存器,用于存儲(chǔ)轉(zhuǎn)發(fā)計(jì)數(shù)的最大值;相對(duì)位置標(biāo)識(shí)寄存器,用于節(jié)點(diǎn)設(shè)備自身的相對(duì)位置標(biāo)識(shí);射頻收發(fā)器,用于實(shí)現(xiàn)所述數(shù)據(jù)包的接收和發(fā)送;以及收發(fā)時(shí)序控制器,用于為所述射頻收發(fā)器提供時(shí)鐘和控制信號(hào),從而實(shí)現(xiàn)對(duì)所述射頻收發(fā)器的狀態(tài)控制,其中,所述節(jié)點(diǎn)控制器根據(jù)所述數(shù)據(jù)包的類型和轉(zhuǎn)發(fā)計(jì)數(shù),判斷是否轉(zhuǎn)發(fā)所述數(shù)據(jù)包,在轉(zhuǎn)發(fā)所述數(shù)據(jù)包時(shí),根據(jù)所述數(shù)據(jù)包的類型進(jìn)行不同的計(jì)數(shù)以獲得所述轉(zhuǎn)發(fā)計(jì)數(shù)。
[0023]優(yōu)選地,所述節(jié)點(diǎn)設(shè)備還包括隨機(jī)延時(shí)控制器,用于為所述收發(fā)時(shí)序控制器提供延時(shí)信號(hào)。
[0024]優(yōu)選地,所述節(jié)點(diǎn)控制器在網(wǎng)絡(luò)初始化期間,根據(jù)接收到的命令數(shù)據(jù)包獲得所述轉(zhuǎn)發(fā)計(jì)數(shù)的最大值和自身的相對(duì)位置標(biāo)識(shí),并且分別存儲(chǔ)在所述最大值寄存器和所述相對(duì)位置標(biāo)識(shí)寄存器中。
[0025]優(yōu)選地,所述多個(gè)節(jié)點(diǎn)設(shè)備在轉(zhuǎn)發(fā)命令數(shù)據(jù)包時(shí)更新網(wǎng)絡(luò)相對(duì)位置。
[0026]優(yōu)選地,所述節(jié)點(diǎn)控制器在網(wǎng)絡(luò)正常工作期間,在接收到數(shù)據(jù)包之后,根據(jù)所述數(shù)據(jù)包的轉(zhuǎn)發(fā)計(jì)數(shù)和自身的網(wǎng)絡(luò)相對(duì)位置產(chǎn)生用于指示是否轉(zhuǎn)發(fā)的控制命令,將該控制命令提供給所述射頻轉(zhuǎn)發(fā)器,從而控制所述節(jié)點(diǎn)設(shè)備的轉(zhuǎn)發(fā)功能。
[0027]優(yōu)選地,所述數(shù)據(jù)包的類型包括命令數(shù)據(jù)包和狀態(tài)數(shù)據(jù)包,所述節(jié)點(diǎn)控制器在轉(zhuǎn)發(fā)所述命令數(shù)據(jù)包時(shí)進(jìn)行遞增計(jì)數(shù),在轉(zhuǎn)發(fā)所述狀態(tài)數(shù)據(jù)包時(shí)進(jìn)行遞減計(jì)數(shù)。
[0028]優(yōu)選地,在接收到所述命令數(shù)據(jù)包時(shí),如果所述轉(zhuǎn)發(fā)計(jì)數(shù)大于等于所述最大值,則所述節(jié)點(diǎn)控制器中止轉(zhuǎn)發(fā)所述命令數(shù)據(jù)包。
[0029]優(yōu)選地,在接收到所述狀態(tài)數(shù)據(jù)包時(shí),如果所述轉(zhuǎn)發(fā)計(jì)數(shù)小于等于所述節(jié)點(diǎn)設(shè)備自身的相對(duì)位置標(biāo)識(shí),則所述節(jié)點(diǎn)控制器中止轉(zhuǎn)發(fā)所述狀態(tài)數(shù)據(jù)包。
[0030]優(yōu)選地,所述射頻收發(fā)器為遵循藍(lán)牙協(xié)議、WIFI協(xié)議、ZigBee中至少一種協(xié)議的無(wú)線收發(fā)器。
[0031]優(yōu)選地,所述節(jié)點(diǎn)設(shè)備為選自電視、冰箱、熱水器、LED燈、攝像頭、監(jiān)控器、插座和定時(shí)器中的一種,并且支持網(wǎng)絡(luò)連接功能。
[0032]根據(jù)本發(fā)明實(shí)施例的數(shù)據(jù)轉(zhuǎn)發(fā)方法,針對(duì)命令數(shù)據(jù)包和狀態(tài)數(shù)據(jù)包,采用不同的處理方式處理數(shù)據(jù)包的內(nèi)容。根據(jù)數(shù)據(jù)包的類型和轉(zhuǎn)發(fā)計(jì)數(shù)判斷是否轉(zhuǎn)發(fā)數(shù)據(jù)包。由于根據(jù)數(shù)據(jù)包的類型進(jìn)行不同的計(jì)數(shù),因此可以減少無(wú)效的數(shù)據(jù)傳送,從而有效地減少網(wǎng)絡(luò)對(duì)數(shù)據(jù)包的轉(zhuǎn)發(fā)次數(shù),從而實(shí)現(xiàn)節(jié)能和提高網(wǎng)絡(luò)通信效率。
[0033]在優(yōu)選的實(shí)施例中,將產(chǎn)生數(shù)據(jù)包的源節(jié)點(diǎn)的網(wǎng)絡(luò)相對(duì)位置作為轉(zhuǎn)發(fā)計(jì)數(shù)的初始值,并且在轉(zhuǎn)發(fā)命令數(shù)據(jù)包時(shí)進(jìn)行遞增計(jì)數(shù),在轉(zhuǎn)發(fā)所述狀態(tài)數(shù)據(jù)包時(shí)進(jìn)行遞減計(jì)數(shù)。在判斷是否轉(zhuǎn)發(fā)數(shù)據(jù)包時(shí),針對(duì)命令數(shù)據(jù)包,采用預(yù)設(shè)的轉(zhuǎn)發(fā)計(jì)數(shù)最大值為參考值,針對(duì)狀態(tài)數(shù)據(jù)包,采用該節(jié)點(diǎn)自身的網(wǎng)絡(luò)相對(duì)位置為參考值,根據(jù)數(shù)據(jù)包的轉(zhuǎn)發(fā)計(jì)數(shù)和參考值的比較結(jié)果判斷是否進(jìn)行轉(zhuǎn)發(fā)。該方法可以進(jìn)一步限制數(shù)據(jù)包中續(xù)的數(shù)據(jù)傳送方向,從而在減少數(shù)據(jù)包的轉(zhuǎn)發(fā)次數(shù)的同時(shí),保證數(shù)據(jù)包的有效轉(zhuǎn)發(fā),從而進(jìn)一步提高網(wǎng)絡(luò)通信效率。
[0034]在優(yōu)選的實(shí)施例中,節(jié)點(diǎn)設(shè)備在轉(zhuǎn)發(fā)命令數(shù)據(jù)時(shí)更新該節(jié)點(diǎn)設(shè)備的網(wǎng)絡(luò)相對(duì)位置標(biāo)識(shí)。由于節(jié)點(diǎn)設(shè)備可以動(dòng)態(tài)更新節(jié)點(diǎn)設(shè)備的網(wǎng)絡(luò)相對(duì)位置,因此可以適應(yīng)于動(dòng)態(tài)變化的網(wǎng)絡(luò)網(wǎng)絡(luò)結(jié)構(gòu)。即使在網(wǎng)格網(wǎng)絡(luò)工作期間,節(jié)點(diǎn)設(shè)備插入或去除,節(jié)點(diǎn)設(shè)備也仍然可以有效地適應(yīng)新的網(wǎng)絡(luò)結(jié)構(gòu),正確執(zhí)行上述數(shù)據(jù)包的轉(zhuǎn)發(fā)。
【附圖說(shuō)明】
[0035]通過(guò)以下參照附圖對(duì)本發(fā)明實(shí)施例的描述,本發(fā)明的上述以及其他目的、特征和優(yōu)點(diǎn)將更為清楚,在附圖中:
[0036]圖1示出第一類型的網(wǎng)格網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu);
[0037]圖2示出第二類型的網(wǎng)格網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu);
[0038]圖3示出根據(jù)本發(fā)明實(shí)施例的數(shù)據(jù)包的數(shù)據(jù)結(jié)構(gòu);
[0039]圖4示出根據(jù)本發(fā)明實(shí)施例的節(jié)點(diǎn)設(shè)備的示意性框圖;
[0040]圖5示出根據(jù)本發(fā)明實(shí)施例的控制器控制方法的流程圖;<