本發(fā)明涉及ZigBee路由領(lǐng)域,尤其涉及一種基于ZigBee網(wǎng)絡(luò)的路由信息維護(hù)方法及裝置。
背景技術(shù):
ZigBee網(wǎng)絡(luò)(技術(shù))是一種近距離、低復(fù)雜度、低功耗、低速率、低成本的雙向無(wú)線通訊網(wǎng)絡(luò)(技術(shù))。現(xiàn)有的ZigBee網(wǎng)絡(luò)(技術(shù))中采用以下兩種協(xié)議的結(jié)合體作為自身的路由協(xié)議:1)AODVjr(AODV Junior),這是ZigBee網(wǎng)絡(luò)(技術(shù))中使用的一種簡(jiǎn)化版本的AODV協(xié)議(Ad-HocOn-demand Distance Vector Routing,按需距離矢量路由協(xié)議),2)Cluster-Tree algorithm(樹(shù)型網(wǎng)絡(luò)結(jié)構(gòu)路由協(xié)議)。
在ZigBee網(wǎng)絡(luò)中采用的AODVjr協(xié)議,為了節(jié)省功耗,將定時(shí)發(fā)送的Hello數(shù)據(jù)包從AODV協(xié)議中精簡(jiǎn)掉了,使ZigBee網(wǎng)絡(luò)中各節(jié)點(diǎn)不再維護(hù)屬于自己的路由信息,變成完全按需查找路由。即,當(dāng)某一個(gè)節(jié)點(diǎn)需要發(fā)送數(shù)據(jù)包時(shí),每次都要先廣播發(fā)送尋路報(bào)文以獲取到達(dá)當(dāng)前數(shù)據(jù)包的目的節(jié)點(diǎn)的路由信息,然后再根據(jù)此路由信息發(fā)送數(shù)據(jù)包,使數(shù)據(jù)包到達(dá)目的節(jié)點(diǎn)。
由于缺少了Hello數(shù)據(jù)包的存在,在ZigBee網(wǎng)絡(luò)處于AODV模式時(shí),每個(gè)節(jié)點(diǎn)都不會(huì)維護(hù)自己與其他節(jié)點(diǎn)的路由信息,在發(fā)送數(shù)據(jù)包時(shí)每次都要像上述所說(shuō)的步驟一樣,先廣播發(fā)送尋路報(bào)文,在得到路由信息后再發(fā)送數(shù)據(jù)包,這一整個(gè)流程中,尋路過(guò)程非常耗時(shí),且需要緩沖數(shù)據(jù)。當(dāng)組網(wǎng)環(huán)境較簡(jiǎn)單的情況下,明明數(shù)據(jù)包只會(huì)通過(guò)幾條路由進(jìn)行發(fā)送,可是還是每次都需要重新發(fā)送尋路報(bào)文,得到相應(yīng)的路由后,再發(fā)送數(shù)據(jù)包,這一過(guò)程會(huì)產(chǎn)生大量的廣播報(bào)文,大部分廣播出去的報(bào)文都是無(wú)效數(shù)據(jù)包,增加了網(wǎng)絡(luò)負(fù)荷,且最終都要丟掉,大大降低了響應(yīng)速度。當(dāng)組網(wǎng)環(huán)境變化很大時(shí),往往會(huì)產(chǎn)生無(wú)效的路由信息,但是由于缺少了Hello數(shù)據(jù)包的發(fā)送,不能很快檢測(cè)到這個(gè)問(wèn)題,從而使其響應(yīng)速度變慢,大大降低了用戶的使用體驗(yàn)。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的是提供一種基于ZigBee網(wǎng)絡(luò)的路由信息維護(hù)方法及裝置,提高響應(yīng)速度,提高用戶的使用體驗(yàn)。
本發(fā)明提供的技術(shù)方案如下:
一種基于ZigBee網(wǎng)絡(luò)的路由信息維護(hù)方法,包括:步驟S100當(dāng)ZigBee網(wǎng)絡(luò)處于AODV模式時(shí),根據(jù)路由表,獲取特定節(jié)點(diǎn)信息;步驟S200向所述特定節(jié)點(diǎn)信息對(duì)應(yīng)的特定節(jié)點(diǎn)發(fā)送Hello數(shù)據(jù)包;步驟S300判斷是否在預(yù)設(shè)時(shí)間內(nèi)接收到所述特定節(jié)點(diǎn)反饋的所述Hello數(shù)據(jù)包的Hello回應(yīng)包,若是,則執(zhí)行步驟S400;步驟S400當(dāng)接收到所述特定節(jié)點(diǎn)反饋的所述Hello回應(yīng)包時(shí),則完成與所述特定節(jié)點(diǎn)的路由信息的維護(hù)。
在上述技術(shù)方案中,ZigBee網(wǎng)絡(luò)處于AODV模式時(shí),增加Hello數(shù)據(jù)報(bào)文使每個(gè)節(jié)點(diǎn)開(kāi)始維護(hù)自己的路由信息,考慮到ZigBee網(wǎng)絡(luò)低功耗的需求,只與某一個(gè)特定節(jié)點(diǎn)維護(hù)路由信息,即當(dāng)前節(jié)點(diǎn)只與它的一個(gè)特定節(jié)點(diǎn)維護(hù)路由信息。在后續(xù)需要發(fā)送數(shù)據(jù)包時(shí),首先發(fā)送給與它有路由信息的特定節(jié)點(diǎn),讓此特定節(jié)點(diǎn)再發(fā)送給它的特定節(jié)點(diǎn),以此類推,免去了現(xiàn)有技術(shù)中先尋路,再發(fā)送數(shù)據(jù)包的尋路過(guò)程,使各節(jié)點(diǎn)的響應(yīng)速度更快,提高用戶的使用體驗(yàn)。
進(jìn)一步,所述步驟S100具體包括:步驟S110獲取所述路由表中各節(jié)點(diǎn)信息;步驟S120根據(jù)所述節(jié)點(diǎn)信息,獲取各所述節(jié)點(diǎn)信息對(duì)應(yīng)的所述數(shù)據(jù)發(fā)送頻率;步驟S130根據(jù)所述數(shù)據(jù)發(fā)送頻率從高到低,對(duì)各所述節(jié)點(diǎn)信息進(jìn)行排序,生成頻率序列表;步驟S140將所述頻率序列表中數(shù)據(jù)發(fā)送頻率最高的所述節(jié)點(diǎn)信息設(shè)為所述特定節(jié)點(diǎn)信息。
在上述技術(shù)方案中,當(dāng)前節(jié)點(diǎn)的特定節(jié)點(diǎn)是指,當(dāng)前節(jié)點(diǎn)將數(shù)據(jù)包發(fā)送給下一跳的節(jié)點(diǎn)的頻率最頻繁的一個(gè)節(jié)點(diǎn),數(shù)據(jù)發(fā)送頻率最高說(shuō)明當(dāng)前節(jié)點(diǎn)與這個(gè)特定節(jié)點(diǎn)的路由信息使用最頻繁,數(shù)據(jù)包發(fā)送給此特定節(jié)點(diǎn)的概率也最大,因此,可以維護(hù)與此特定節(jié)點(diǎn)的路由關(guān)系,便于后續(xù)提高數(shù)據(jù)包傳輸?shù)乃俣取?/p>
進(jìn)一步,所述步驟S300還包括:若否,則執(zhí)行步驟S500;所述步驟S300之后還包括:步驟S500當(dāng)未在所述預(yù)設(shè)時(shí)間內(nèi)接到所述特定節(jié)點(diǎn)反饋的所述Hello回應(yīng)包時(shí),將所述頻率序列表中所述特定節(jié)點(diǎn)信息的下一個(gè)節(jié)點(diǎn)信息設(shè)置為新的所述特定節(jié)點(diǎn),并執(zhí)行步驟S200。
在上述技術(shù)方案中,當(dāng)前節(jié)點(diǎn)向特定節(jié)點(diǎn)發(fā)送了Hello數(shù)據(jù)包后,特定節(jié)點(diǎn)如果收到的話會(huì)反饋對(duì)應(yīng)的Hello回應(yīng)包,當(dāng)前節(jié)點(diǎn)只有收到了此Hello回應(yīng)包,才說(shuō)明與特定節(jié)點(diǎn)維護(hù)了路由信息。當(dāng)沒(méi)有收到Hello回應(yīng)包時(shí),那說(shuō)明當(dāng)前節(jié)點(diǎn)無(wú)法和此特定節(jié)點(diǎn)維護(hù)路由信息,只能找下一個(gè)特定節(jié)點(diǎn)。而特定節(jié)點(diǎn)的設(shè)置規(guī)律則是按照當(dāng)前節(jié)點(diǎn)發(fā)送數(shù)據(jù)包給下一跳節(jié)點(diǎn)的數(shù)據(jù)發(fā)送頻率從高到低進(jìn)行設(shè)置,保證當(dāng)前節(jié)點(diǎn)維護(hù)的路由信息,可以盡最大可能地提高后續(xù)的數(shù)據(jù)包傳輸響應(yīng)速度。
進(jìn)一步,所述步驟S300包括:步驟S310判斷是否接收到所述特定節(jié)點(diǎn)反饋的所述Hello數(shù)據(jù)包的Hello回應(yīng)包,若是,則執(zhí)行步驟S400,若否,則執(zhí)行步驟S320;步驟S320判斷距離發(fā)送所述Hello數(shù)據(jù)包的時(shí)間是否達(dá)到所述預(yù)設(shè)時(shí)間,若否,則執(zhí)行步驟S310。
在上述技術(shù)方案中,當(dāng)發(fā)送了Hello數(shù)據(jù)包后不可能無(wú)限制地等待特定節(jié)點(diǎn)反饋的Hello回應(yīng)包,預(yù)設(shè)時(shí)間的存在杜絕了無(wú)限期的可能。同時(shí),若沒(méi)有接收到Hello回應(yīng)包的話,也可以執(zhí)行后面的步驟,保證當(dāng)前節(jié)點(diǎn)可以與某一個(gè)(特定)節(jié)點(diǎn)維護(hù)路由信息。
進(jìn)一步,所述步驟S100之前還包括:步驟S000配置所述預(yù)設(shè)時(shí)間。
在上述技術(shù)方案中,配置預(yù)設(shè)時(shí)間是后續(xù)進(jìn)行判斷Hello回應(yīng)包是否接收的先決條件,也是保證了當(dāng)前節(jié)點(diǎn)與特定節(jié)點(diǎn)維護(hù)路由信息的基礎(chǔ)。
本發(fā)明還提供一種基于ZigBee網(wǎng)絡(luò)的路由信息維護(hù)裝置,包括:信息獲取模塊,當(dāng)ZigBee網(wǎng)絡(luò)處于AODV模式時(shí),所述信息獲取模塊用于根據(jù)路由表,獲取特定節(jié)點(diǎn)信息;Hello包發(fā)送模塊,與所述信息獲取模塊電連接,當(dāng)所述信息獲取模塊獲取了所述特定節(jié)點(diǎn)信息后,所述Hello包發(fā)送模塊向所述特定節(jié)點(diǎn)信息對(duì)應(yīng)的特定節(jié)點(diǎn)發(fā)送Hello數(shù)據(jù)包;回應(yīng)判斷模塊,與所述Hello包發(fā)送模塊、所述信息獲取模塊電連接,當(dāng)所述Hello包發(fā)送模塊向所述特定節(jié)點(diǎn)發(fā)送了Hello數(shù)據(jù)包后,所述回應(yīng)判斷模塊判斷是否在預(yù)設(shè)時(shí)間內(nèi)接收到所述特定節(jié)點(diǎn)反饋的所述Hello數(shù)據(jù)包的Hello回應(yīng)包;當(dāng)所述回應(yīng)判斷模塊收到了所述Hello數(shù)據(jù)包的Hello回應(yīng)包,則完成了與所述特定節(jié)點(diǎn)的路由信息的維護(hù)。
在上述技術(shù)方案中,ZigBee網(wǎng)絡(luò)中的路由信息維護(hù)裝置通過(guò)發(fā)送Hello數(shù)據(jù)包給特定節(jié)點(diǎn)(裝置),以維護(hù)兩者之間的路由信息,為后續(xù)數(shù)據(jù)包的發(fā)送提高了響應(yīng)速度,大大提高了用戶的使用體驗(yàn)。
進(jìn)一步,所述信息獲取模塊具體包括:節(jié)點(diǎn)獲取子模塊,用于獲取所述路由表中各節(jié)點(diǎn)信息;頻率獲取子模塊,當(dāng)所述節(jié)點(diǎn)獲取子模塊獲取了所述路由表中各節(jié)點(diǎn)信息后,所述頻率獲取子模塊根據(jù)所述節(jié)點(diǎn)信息,獲取各所述節(jié)點(diǎn)信息對(duì)應(yīng)的所述數(shù)據(jù)發(fā)送頻率;列表生成子模塊,當(dāng)所述頻率獲取子模塊獲取了各所述節(jié)點(diǎn)信息對(duì)應(yīng)的所述數(shù)據(jù)發(fā)送頻率后,所述列表生成子模塊根據(jù)所述數(shù)據(jù)發(fā)送頻率從高到低,對(duì)各所述節(jié)點(diǎn)信息進(jìn)行排序,生成頻率序列表;特定節(jié)點(diǎn)設(shè)置子模塊,當(dāng)所述列表生成子模塊生成了頻率序列表后,所述特定節(jié)點(diǎn)設(shè)置子模塊將所述頻率序列表中數(shù)據(jù)發(fā)送頻率最高的所述節(jié)點(diǎn)信息設(shè)為所述特定節(jié)點(diǎn)信息。
進(jìn)一步,所述特定節(jié)點(diǎn)設(shè)置子模塊,當(dāng)所述回應(yīng)判斷模塊未在所述預(yù)設(shè)時(shí)間內(nèi)接到所述特定節(jié)點(diǎn)反饋的所述Hello回應(yīng)包時(shí),所述特定節(jié)點(diǎn)設(shè)置子模塊進(jìn)一步用于將所述頻率序列表中所述特定節(jié)點(diǎn)信息的下一個(gè)節(jié)點(diǎn)信息設(shè)置為新的所述特定節(jié)點(diǎn)。
進(jìn)一步,所述回應(yīng)判斷模塊包括:回應(yīng)包判斷子模塊,當(dāng)所述Hello包發(fā)送模塊向所述特定節(jié)點(diǎn)發(fā)送了Hello數(shù)據(jù)包后,或,當(dāng)時(shí)間判斷子模塊判斷距離發(fā)送所述Hello數(shù)據(jù)包的時(shí)間沒(méi)有達(dá)到預(yù)設(shè)時(shí)間時(shí),所述回應(yīng)包判斷子模塊判斷是否接收到所述特定節(jié)點(diǎn)反饋的所述Hello數(shù)據(jù)包的所述Hello回應(yīng)包;當(dāng)所述回應(yīng)包判斷子模塊收到了所述Hello數(shù)據(jù)包的Hello回應(yīng)包,則完成了與所述特定節(jié)點(diǎn)的路由信息的維護(hù);時(shí)間判斷子模塊,當(dāng)所述回應(yīng)包判斷子模塊判斷沒(méi)有接收到所述Hello回應(yīng)包時(shí),所述時(shí)間判斷子模塊判斷距離發(fā)送所述Hello數(shù)據(jù)包的時(shí)間是否達(dá)到所述預(yù)設(shè)時(shí)間;所述特定節(jié)點(diǎn)設(shè)置子模塊,當(dāng)所述時(shí)間判斷子模塊判斷距離發(fā)送所述Hello數(shù)據(jù)包的時(shí)間達(dá)到了所述預(yù)設(shè)時(shí)間時(shí),所述特定節(jié)點(diǎn)設(shè)置子模塊進(jìn)一步用于將所述頻率序列表中所述特定節(jié)點(diǎn)信息的下一個(gè)節(jié)點(diǎn)信息設(shè)置為新的所述特定節(jié)點(diǎn)。
進(jìn)一步,還包括:時(shí)間配置模塊,與所述回應(yīng)判斷模塊電連接,所述時(shí)間配置模塊用于配置所述預(yù)設(shè)時(shí)間。
與現(xiàn)有技術(shù)相比,本發(fā)明的基于ZigBee網(wǎng)絡(luò)的路由信息維護(hù)方法及裝置有益效果在于:
通過(guò)在ZigBee網(wǎng)絡(luò)處于AODV模式時(shí),各節(jié)點(diǎn)與一個(gè)自己的特定節(jié)點(diǎn)維護(hù)路由信息,提高各節(jié)點(diǎn)間的響應(yīng)速度,且提升快速將數(shù)據(jù)包傳輸?shù)侥康墓?jié)點(diǎn)的概率。特別是在組網(wǎng)環(huán)境較簡(jiǎn)單的情況下,各節(jié)點(diǎn)與一個(gè)自己的特定節(jié)點(diǎn)維護(hù)路由信息的方式可以大大提升數(shù)據(jù)包的傳輸速度,提高用戶的使用體驗(yàn)。
附圖說(shuō)明
下面將以明確易懂的方式,結(jié)合附圖說(shuō)明優(yōu)選實(shí)施方式,對(duì)一種基于ZigBee網(wǎng)絡(luò)的路由信息維護(hù)方法及裝置的上述特性、技術(shù)特征、優(yōu)點(diǎn)及其實(shí)現(xiàn)方式予以進(jìn)一步說(shuō)明。
圖1是本發(fā)明基于ZigBee網(wǎng)絡(luò)的路由信息維護(hù)方法一個(gè)實(shí)施例的流程圖;
圖2是本發(fā)明基于ZigBee網(wǎng)絡(luò)的路由信息維護(hù)方法另一個(gè)實(shí)施例的流程圖;
圖3是本發(fā)明基于ZigBee網(wǎng)絡(luò)的路由信息維護(hù)裝置一個(gè)實(shí)施例的結(jié)構(gòu)示意圖;
圖4是本發(fā)明基于ZigBee網(wǎng)絡(luò)的路由信息維護(hù)裝置另一個(gè)實(shí)施例的結(jié)構(gòu)示意圖。
附圖標(biāo)號(hào)說(shuō)明:
10.信息獲取模塊,11.節(jié)點(diǎn)獲取子模塊,12.頻率獲取子模塊,13.列表生成子模塊,14.特定節(jié)點(diǎn)設(shè)置子模塊,20.Hello包發(fā)送模塊,30.回應(yīng)判斷模塊,31.回應(yīng)包判斷子模塊,32.時(shí)間判斷子模塊,40.時(shí)間配置模塊。
具體實(shí)施方式
為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)照附圖說(shuō)明本發(fā)明的具體實(shí)施方式。顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖,并獲得其他的實(shí)施方式。
為使圖面簡(jiǎn)潔,各圖中只示意性地表示出了與本發(fā)明相關(guān)的部分,它們并不代表其作為產(chǎn)品的實(shí)際結(jié)構(gòu)。另外,以使圖面簡(jiǎn)潔便于理解,在有些圖中具有相同結(jié)構(gòu)或功能的部件,僅示意性地繪示了其中的一個(gè),或僅標(biāo)出了其中的一個(gè)。在本文中,“一個(gè)”不僅表示“僅此一個(gè)”,也可以表示“多于一個(gè)”的情形。
在本發(fā)明的一個(gè)實(shí)施例中,如圖1所示,一種基于ZigBee網(wǎng)絡(luò)的路由信息維護(hù)方法,包括:步驟S100當(dāng)ZigBee網(wǎng)絡(luò)處于AODV模式時(shí),根據(jù)路由表,獲取特定節(jié)點(diǎn)信息;步驟S200向所述特定節(jié)點(diǎn)信息對(duì)應(yīng)的特定節(jié)點(diǎn)發(fā)送Hello數(shù)據(jù)包;步驟S300判斷是否在預(yù)設(shè)時(shí)間內(nèi)接收到所述特定節(jié)點(diǎn)反饋的所述Hello數(shù)據(jù)包的Hello回應(yīng)包,若是,則執(zhí)行步驟S400;步驟S400當(dāng)接收到所述特定節(jié)點(diǎn)反饋的所述Hello回應(yīng)包時(shí),則完成與所述特定節(jié)點(diǎn)的路由信息的維護(hù)。
具體的,ZigBee網(wǎng)絡(luò)中的每個(gè)節(jié)點(diǎn)周期性地發(fā)送Hello數(shù)據(jù)包維護(hù)自己的路由信息,考慮到ZigBee網(wǎng)絡(luò)低功耗的需求,只與某一個(gè)特定節(jié)點(diǎn)維護(hù)路由信息,即當(dāng)前節(jié)點(diǎn)只與它的一個(gè)特定節(jié)點(diǎn)維護(hù)路由信息。在后續(xù)需要發(fā)送數(shù)據(jù)包時(shí),首先發(fā)送給與它有路由信息的特定節(jié)點(diǎn),讓此特定節(jié)點(diǎn)再發(fā)送給它的特定節(jié)點(diǎn),以此類推,免去了現(xiàn)有技術(shù)中先尋路,再發(fā)送數(shù)據(jù)包的尋路過(guò)程,使各節(jié)點(diǎn)的響應(yīng)速度更快,提高用戶的使用體驗(yàn)。步驟S400當(dāng)接收到所述特定節(jié)點(diǎn)反饋的所述Hello回應(yīng)包時(shí),則完成與所述特定節(jié)點(diǎn)的路由信息的維護(hù),并等待下一個(gè)發(fā)送Hello數(shù)據(jù)包的周期。這里的周期可以理解為,當(dāng)前節(jié)點(diǎn)可能會(huì)以一定的周期(例如:1秒為周期)發(fā)送Hello數(shù)據(jù)包來(lái)維護(hù)它與特定節(jié)點(diǎn)的路由信息,如果在這個(gè)周期里只花了很少的時(shí)間(例如1毫秒)就收到了Hello回應(yīng)包,那就完成了這個(gè)周期的利用Hello數(shù)據(jù)包來(lái)維護(hù)路由信息的任務(wù),可以等待下一個(gè)周期再發(fā)送。
優(yōu)選地,所述步驟S100具體包括:步驟S110獲取所述路由表中各節(jié)點(diǎn)信息;步驟S120根據(jù)所述節(jié)點(diǎn)信息,獲取各所述節(jié)點(diǎn)信息對(duì)應(yīng)的所述數(shù)據(jù)發(fā)送頻率;步驟S130根據(jù)所述數(shù)據(jù)發(fā)送頻率從高到低,對(duì)各所述節(jié)點(diǎn)信息進(jìn)行排序,生成頻率序列表;步驟S140將所述頻率序列表中數(shù)據(jù)發(fā)送頻率最高的所述節(jié)點(diǎn)信息設(shè)為所述特定節(jié)點(diǎn)信息。
具體的,(當(dāng)前節(jié)點(diǎn)的)特定節(jié)點(diǎn)是指,當(dāng)前節(jié)點(diǎn)將數(shù)據(jù)包發(fā)送給下一跳的節(jié)點(diǎn)的頻率最頻繁的一個(gè)節(jié)點(diǎn),數(shù)據(jù)發(fā)送頻率最高說(shuō)明當(dāng)前節(jié)點(diǎn)與這個(gè)特定節(jié)點(diǎn)的路由信息使用最頻繁,數(shù)據(jù)包發(fā)送給此特定節(jié)點(diǎn)的概率也最大,因此,可以維護(hù)與此特定節(jié)點(diǎn)的路由關(guān)系,便于后續(xù)提高數(shù)據(jù)包傳輸?shù)乃俣取?/p>
優(yōu)選地,所述步驟S300還包括:若否,則執(zhí)行步驟S500;所述步驟S300之后還包括:步驟S500當(dāng)未在所述預(yù)設(shè)時(shí)間內(nèi)接到所述特定節(jié)點(diǎn)反饋的所述Hello回應(yīng)包時(shí),將所述頻率序列表中所述特定節(jié)點(diǎn)信息的下一個(gè)節(jié)點(diǎn)信息設(shè)置為新的所述特定節(jié)點(diǎn),并執(zhí)行步驟S200。
具體的,當(dāng)前節(jié)點(diǎn)向特定節(jié)點(diǎn)發(fā)送了Hello數(shù)據(jù)包后,特定節(jié)點(diǎn)如果收到的話會(huì)反饋對(duì)應(yīng)的Hello回應(yīng)包,當(dāng)前節(jié)點(diǎn)只有收到了此Hello回應(yīng)包,才說(shuō)明與特定節(jié)點(diǎn)維護(hù)了路由信息。當(dāng)沒(méi)有收到Hello回應(yīng)包時(shí),那說(shuō)明當(dāng)前節(jié)點(diǎn)無(wú)法和此特定節(jié)點(diǎn)維護(hù)路由信息,只能找下一個(gè)特定節(jié)點(diǎn);沒(méi)有收到Hello回應(yīng)包也可能是因此這個(gè)特定節(jié)點(diǎn)在當(dāng)前節(jié)點(diǎn)發(fā)送Hello數(shù)據(jù)包時(shí)有了變化,因此,當(dāng)前節(jié)點(diǎn)沒(méi)有與此特定節(jié)點(diǎn)進(jìn)行路由信息維護(hù),這也保證了與當(dāng)前節(jié)點(diǎn)有路由信息維護(hù)的特定節(jié)點(diǎn)是可以更新的,保證了當(dāng)前節(jié)點(diǎn)的路由信息的實(shí)時(shí)性,為后續(xù)各節(jié)點(diǎn)提高響應(yīng)速度提供了保障。而特定節(jié)點(diǎn)的設(shè)置規(guī)律則是按照當(dāng)前節(jié)點(diǎn)發(fā)送數(shù)據(jù)包給下一跳節(jié)點(diǎn)的數(shù)據(jù)發(fā)送頻率從高到低進(jìn)行設(shè)置,保證當(dāng)前節(jié)點(diǎn)維護(hù)的路由信息,可以盡最大可能地被利用到,從而提高各節(jié)點(diǎn)間的傳輸響應(yīng)速度。
例如,請(qǐng)參見(jiàn)表一,當(dāng)前節(jié)點(diǎn)為A,其路由表中與它發(fā)生過(guò)路由信息關(guān)系的節(jié)點(diǎn)有多個(gè):B、C、D,根據(jù)節(jié)點(diǎn)信息得到它們各自對(duì)應(yīng)的數(shù)據(jù)發(fā)送頻率為5、4、7。當(dāng)獲取到這些信息后,會(huì)根據(jù)數(shù)據(jù)發(fā)送頻率從高到低進(jìn)行排序,可以得到下述表二中的頻率序列表,那么一開(kāi)始必然是將數(shù)據(jù)發(fā)送頻率最高的D節(jié)點(diǎn)信息設(shè)為特定節(jié)點(diǎn)信息。當(dāng)前節(jié)點(diǎn)A向D節(jié)點(diǎn)信息(特定節(jié)點(diǎn)信息)對(duì)應(yīng)的節(jié)點(diǎn)D發(fā)送Hello數(shù)據(jù)包,當(dāng)收到節(jié)點(diǎn)D反饋的Hello回應(yīng)包時(shí),當(dāng)前節(jié)點(diǎn)A維護(hù)了與(特定)節(jié)點(diǎn)D的路由信息。
若當(dāng)前節(jié)點(diǎn)A沒(méi)有收到(特定)節(jié)點(diǎn)D反饋的Hello回應(yīng)包,說(shuō)明即使當(dāng)前節(jié)點(diǎn)A想和(特定)節(jié)點(diǎn)D維護(hù)路由信息,也無(wú)法完成,節(jié)點(diǎn)D可能出現(xiàn)了變化,因此,當(dāng)前節(jié)點(diǎn)A只能找另外一節(jié)點(diǎn),與它進(jìn)行維護(hù)路由信息關(guān)系。在頻率序列中(如表二)所示,當(dāng)前的特定節(jié)點(diǎn)信息是D,因此,它的下一個(gè)節(jié)點(diǎn)信息則為B,因此,設(shè)置節(jié)點(diǎn)信息B為新的特定節(jié)點(diǎn)信息;當(dāng)前節(jié)點(diǎn)A再向特定節(jié)點(diǎn)信息B對(duì)應(yīng)的特定節(jié)點(diǎn)B發(fā)送Hello數(shù)據(jù)包,若收到其反饋的Hello回應(yīng)包時(shí),則當(dāng)前節(jié)點(diǎn)A完成了與(特定)節(jié)點(diǎn)B的路由信息。若還是沒(méi)有收到其反饋的Hello回應(yīng)包時(shí),則再設(shè)置下一個(gè)節(jié)點(diǎn)信息為特定節(jié)點(diǎn)信息,例如:節(jié)點(diǎn)信息C,直至收到Hello回應(yīng)包,使當(dāng)前節(jié)點(diǎn)可以與一個(gè)(特定)節(jié)點(diǎn)之間維護(hù)路由信息。
表一
表二
當(dāng)維護(hù)了路由信息后,若當(dāng)前節(jié)點(diǎn)A需要將數(shù)據(jù)包發(fā)送給目的節(jié)點(diǎn)D,而要將數(shù)據(jù)包發(fā)送到目的節(jié)點(diǎn)D的實(shí)際路由為A→B→C→D。若當(dāng)前節(jié)點(diǎn)A的特定節(jié)點(diǎn)為B,與節(jié)點(diǎn)B有路由信息,那么當(dāng)前節(jié)點(diǎn)A會(huì)直接把數(shù)據(jù)包發(fā)送給節(jié)點(diǎn)B;而若節(jié)點(diǎn)B的特定節(jié)點(diǎn)為C,與節(jié)點(diǎn)C有路由信息,那么節(jié)點(diǎn)B在收到數(shù)據(jù)后,會(huì)判斷自己是不是目的節(jié)點(diǎn),如果不是的話會(huì)直接把收到的數(shù)據(jù)包發(fā)送給節(jié)點(diǎn)C;同理,若節(jié)點(diǎn)C的特定節(jié)點(diǎn)為D,與節(jié)點(diǎn)D有路由信息,那么節(jié)點(diǎn)C會(huì)判斷自己是不是目的節(jié)點(diǎn),若不是的話直接把收到的數(shù)據(jù)包發(fā)送給節(jié)點(diǎn)D,從而非??焖俚貙?shù)據(jù)包發(fā)送到了目的節(jié)點(diǎn)。當(dāng)然這種使用路由信息來(lái)發(fā)送數(shù)據(jù)包的時(shí)間是有限制的,比如說(shuō)在預(yù)設(shè)數(shù)據(jù)傳輸時(shí)間內(nèi)數(shù)據(jù)包還沒(méi)有到達(dá)目的節(jié)點(diǎn),就需要利用現(xiàn)有技術(shù)先發(fā)尋路報(bào)文獲取路由,然后再發(fā)數(shù)據(jù)包這種方式。
例如:若當(dāng)前節(jié)點(diǎn)A需要將數(shù)據(jù)包發(fā)送給目的節(jié)點(diǎn)D,而要將數(shù)據(jù)包發(fā)送到目的節(jié)點(diǎn)D的實(shí)際路由為A→B→C→D;節(jié)點(diǎn)A的特定節(jié)點(diǎn)為B,節(jié)點(diǎn)A與節(jié)點(diǎn)B有路由信息;節(jié)點(diǎn)B的特定節(jié)點(diǎn)為C,節(jié)點(diǎn)B與節(jié)點(diǎn)C有路由信息;節(jié)點(diǎn)C的特定節(jié)點(diǎn)為E,節(jié)點(diǎn)C與節(jié)點(diǎn)E有路由信息。若源節(jié)點(diǎn)A需要將數(shù)據(jù)包發(fā)送到目的節(jié)點(diǎn)D,在預(yù)設(shè)數(shù)據(jù)傳輸時(shí)間內(nèi),各節(jié)點(diǎn)在接收到數(shù)據(jù)包時(shí)會(huì)判斷自己是不是目的節(jié)點(diǎn),如果不是的話,直接將數(shù)據(jù)包轉(zhuǎn)發(fā)給自己的特定節(jié)點(diǎn),以此類推,即A→B→C→E→……。當(dāng)過(guò)了預(yù)設(shè)數(shù)據(jù)傳輸時(shí)間,但此數(shù)據(jù)包還沒(méi)有到達(dá)目的節(jié)點(diǎn),那么就要發(fā)送尋路報(bào)文來(lái)獲取路由。發(fā)送尋路報(bào)文的源節(jié)點(diǎn)可以為達(dá)到預(yù)設(shè)數(shù)據(jù)傳輸時(shí)間時(shí),接收到數(shù)據(jù)包的節(jié)點(diǎn)(例如:E),也可以是一開(kāi)始的將數(shù)據(jù)包發(fā)送出來(lái)的節(jié)點(diǎn)(例如:A)。假設(shè)是節(jié)點(diǎn)E的話,節(jié)點(diǎn)E作為源節(jié)點(diǎn)先廣播發(fā)送尋路報(bào)文給自己的鄰居節(jié)點(diǎn),鄰居節(jié)點(diǎn)收到后,先判斷自己是不是目的節(jié)點(diǎn),如果不是的話再?gòu)V播給自己的鄰居節(jié)點(diǎn),直到讓目的節(jié)點(diǎn)收到此尋路報(bào)文,然后此目的節(jié)點(diǎn)再向發(fā)送給它尋路報(bào)文的發(fā)起節(jié)點(diǎn)發(fā)送尋路響應(yīng)報(bào)文,接收尋路響應(yīng)報(bào)文的節(jié)點(diǎn)再向發(fā)送給它尋路報(bào)文的發(fā)起節(jié)點(diǎn)發(fā)送尋路響應(yīng)報(bào)文,直到源節(jié)點(diǎn)收到尋路響應(yīng)報(bào)文,從而使源節(jié)點(diǎn)E獲取了到達(dá)目的節(jié)點(diǎn)的路由,然后源節(jié)點(diǎn)E再根據(jù)此路由將數(shù)據(jù)包發(fā)送給下一跳的節(jié)點(diǎn),下一跳的節(jié)點(diǎn)再根據(jù)它獲得的路由向下一跳的節(jié)點(diǎn)轉(zhuǎn)發(fā)數(shù)據(jù)包,直到讓目的節(jié)點(diǎn)收到此數(shù)據(jù)包。
總的來(lái)說(shuō),各節(jié)點(diǎn)維護(hù)與一個(gè)特定節(jié)點(diǎn)的路由信息,可以提高各節(jié)點(diǎn)之間數(shù)據(jù)包的傳輸速度,特別是在組網(wǎng)環(huán)境變化不大時(shí),其數(shù)據(jù)包的發(fā)送路由也就只有一些,這種每個(gè)節(jié)點(diǎn)維護(hù)一個(gè)特定節(jié)點(diǎn)的路由的方法,會(huì)大大加快數(shù)據(jù)包傳輸?shù)捻憫?yīng)速度,使數(shù)據(jù)包快速發(fā)送到目的節(jié)點(diǎn),從而提高用戶的使用體驗(yàn)。
優(yōu)選地,所述步驟S300具體包括:步驟S310判斷是否接收到所述特定節(jié)點(diǎn)反饋的所述Hello數(shù)據(jù)包的Hello回應(yīng)包,若是,則執(zhí)行步驟S400,若否,則執(zhí)行步驟S320;步驟S320判斷距離發(fā)送所述Hello數(shù)據(jù)包的時(shí)間是否達(dá)到所述預(yù)設(shè)時(shí)間,若否,則執(zhí)行步驟S310。
優(yōu)選地,所述步驟S100之前還包括:步驟S000配置所述預(yù)設(shè)時(shí)間。
具體的,發(fā)送Hello數(shù)據(jù)包后不可能無(wú)限制地等待特定節(jié)點(diǎn)反饋的Hello回應(yīng)包,預(yù)設(shè)時(shí)間的存在杜絕了無(wú)限期等待的可能,預(yù)設(shè)時(shí)間的設(shè)置是后續(xù)進(jìn)行判斷Hello回應(yīng)包是否接收的先決條件,也是保證了當(dāng)前節(jié)點(diǎn)與特定節(jié)點(diǎn)維護(hù)路由信息的基礎(chǔ)。同時(shí),若沒(méi)有接收到Hello回應(yīng)包的話,也可以盡快執(zhí)行后面的步驟,保證當(dāng)前節(jié)點(diǎn)可以與某一個(gè)(特定)節(jié)點(diǎn)維護(hù)路由信息,為后續(xù)提高響應(yīng)速度做好了前期準(zhǔn)備。
在本發(fā)明的另一個(gè)實(shí)施例中,如圖2所示,一種基于ZigBee網(wǎng)絡(luò)的路由信息維護(hù)方法,包括:步驟S000配置所述預(yù)設(shè)時(shí)間;步驟S100當(dāng)ZigBee網(wǎng)絡(luò)處于AODV模式時(shí),根據(jù)路由表,獲取特定節(jié)點(diǎn)信息;所述步驟S100具體包括:步驟S110獲取所述路由表中各節(jié)點(diǎn)信息;步驟S120根據(jù)所述節(jié)點(diǎn)信息,獲取各所述節(jié)點(diǎn)信息對(duì)應(yīng)的所述數(shù)據(jù)發(fā)送頻率;步驟S130根據(jù)所述數(shù)據(jù)發(fā)送頻率從高到低,對(duì)各所述節(jié)點(diǎn)信息進(jìn)行排序,生成頻率序列表;步驟S140將所述頻率序列表中數(shù)據(jù)發(fā)送頻率最高的所述節(jié)點(diǎn)信息設(shè)為所述特定節(jié)點(diǎn)信息;步驟S200向所述特定節(jié)點(diǎn)信息對(duì)應(yīng)的特定節(jié)點(diǎn)發(fā)送Hello數(shù)據(jù)包;步驟S300判斷是否在預(yù)設(shè)時(shí)間內(nèi)接收到所述特定節(jié)點(diǎn)反饋的所述Hello數(shù)據(jù)包的Hello回應(yīng)包,若是,則執(zhí)行步驟S400,若否,則執(zhí)行步驟S500;所述步驟S300具體包括:步驟S310判斷是否接收到所述特定節(jié)點(diǎn)反饋的所述Hello數(shù)據(jù)包的Hello回應(yīng)包,若是,則執(zhí)行步驟S400,若否,則執(zhí)行步驟S320;步驟S320判斷距離發(fā)送所述Hello數(shù)據(jù)包的時(shí)間是否達(dá)到所述預(yù)設(shè)時(shí)間,若否,則執(zhí)行步驟S310,若是,則執(zhí)行步驟S500;步驟S400當(dāng)接收到所述特定節(jié)點(diǎn)反饋的所述Hello回應(yīng)包時(shí),則完成與所述特定節(jié)點(diǎn)的路由信息的維護(hù);步驟S500當(dāng)未在所述預(yù)設(shè)時(shí)間內(nèi)接到所述特定節(jié)點(diǎn)反饋的所述Hello回應(yīng)包時(shí),將所述頻率序列表中所述特定節(jié)點(diǎn)信息的下一個(gè)節(jié)點(diǎn)信息設(shè)置為新的所述特定節(jié)點(diǎn),并執(zhí)行步驟S200。
具體的,本發(fā)明通過(guò)在ZigBee網(wǎng)絡(luò)處于AODV模式時(shí),各節(jié)點(diǎn)與一個(gè)自己的特定節(jié)點(diǎn)維護(hù)路由信息,提高各節(jié)點(diǎn)間的響應(yīng)速度,且提升快速將數(shù)據(jù)包傳輸?shù)侥康墓?jié)點(diǎn)的概率。特別是在組網(wǎng)環(huán)境較簡(jiǎn)單的情況下,各節(jié)點(diǎn)與一個(gè)自己的特定節(jié)點(diǎn)維護(hù)路由信息的方式可以大大提升數(shù)據(jù)包的傳輸速度,提高用戶的使用體驗(yàn)。
在本發(fā)明的另一個(gè)實(shí)施例中,如圖3所示,一種基于ZigBee網(wǎng)絡(luò)的路由信息維護(hù)裝置,包括:信息獲取模塊10,當(dāng)ZigBee網(wǎng)絡(luò)處于AODV模式時(shí),所述信息獲取模塊用于根據(jù)路由表,獲取特定節(jié)點(diǎn)信息;Hello包發(fā)送模塊20,與所述信息獲取模塊電連接,當(dāng)所述信息獲取模塊獲取了所述特定節(jié)點(diǎn)信息后,所述Hello包發(fā)送模塊向所述特定節(jié)點(diǎn)信息對(duì)應(yīng)的特定節(jié)點(diǎn)發(fā)送Hello數(shù)據(jù)包;回應(yīng)判斷模塊30,與所述Hello包發(fā)送模塊20、所述信息獲取模塊10電連接,當(dāng)所述Hello包發(fā)送模塊向所述特定節(jié)點(diǎn)發(fā)送了Hello數(shù)據(jù)包后,所述回應(yīng)判斷模塊判斷是否在預(yù)設(shè)時(shí)間內(nèi)接收到所述特定節(jié)點(diǎn)反饋的所述Hello數(shù)據(jù)包的Hello回應(yīng)包;當(dāng)所述回應(yīng)判斷模塊收到了所述Hello數(shù)據(jù)包的Hello回應(yīng)包,則完成了與所述特定節(jié)點(diǎn)的路由信息的維護(hù)。
具體的,ZigBee網(wǎng)絡(luò)中的每個(gè)節(jié)點(diǎn)開(kāi)始維護(hù)自己的路由信息,考慮到ZigBee網(wǎng)絡(luò)低功耗的需求,只與某一個(gè)特定節(jié)點(diǎn)維護(hù)路由信息,即當(dāng)前節(jié)點(diǎn)只與它的一個(gè)特定節(jié)點(diǎn)維護(hù)路由信息。在后續(xù)需要發(fā)送數(shù)據(jù)包時(shí),首先發(fā)送給與它有路由信息的特定節(jié)點(diǎn),讓此特定節(jié)點(diǎn)再發(fā)送給它的特定節(jié)點(diǎn),以此類推,免去了現(xiàn)有技術(shù)中先尋路,再發(fā)送數(shù)據(jù)包的尋路過(guò)程,使各節(jié)點(diǎn)的響應(yīng)速度更快,提高用戶的使用體驗(yàn)。
優(yōu)選地,所述信息獲取模塊具體包括:節(jié)點(diǎn)獲取子模塊11,用于獲取所述路由表中各節(jié)點(diǎn)信息;頻率獲取子模塊12,當(dāng)所述節(jié)點(diǎn)獲取子模塊獲取了所述路由表中各節(jié)點(diǎn)信息后,所述頻率獲取子模塊根據(jù)所述節(jié)點(diǎn)信息,獲取各所述節(jié)點(diǎn)信息對(duì)應(yīng)的所述數(shù)據(jù)發(fā)送頻率;列表生成子模塊13,當(dāng)所述頻率獲取子模塊獲取了各所述節(jié)點(diǎn)信息對(duì)應(yīng)的所述數(shù)據(jù)發(fā)送頻率后,所述列表生成子模塊根據(jù)所述數(shù)據(jù)發(fā)送頻率從高到低,對(duì)各所述節(jié)點(diǎn)信息進(jìn)行排序,生成頻率序列表;特定節(jié)點(diǎn)設(shè)置子模塊14,當(dāng)所述列表生成子模塊生成了頻率序列表后,所述特定節(jié)點(diǎn)設(shè)置子模塊將所述頻率序列表中數(shù)據(jù)發(fā)送頻率最高的所述節(jié)點(diǎn)信息設(shè)為所述特定節(jié)點(diǎn)信息。
具體的,(當(dāng)前節(jié)點(diǎn)的)特定節(jié)點(diǎn)是指,當(dāng)前節(jié)點(diǎn)將數(shù)據(jù)包發(fā)送給下一跳的節(jié)點(diǎn)的頻率最頻繁的一個(gè)節(jié)點(diǎn),數(shù)據(jù)發(fā)送頻率最高說(shuō)明當(dāng)前節(jié)點(diǎn)與這個(gè)特定節(jié)點(diǎn)的路由信息使用最頻繁,數(shù)據(jù)包發(fā)送給此特定節(jié)點(diǎn)的概率也最大,因此,可以維護(hù)與此特定節(jié)點(diǎn)的路由關(guān)系,便于后續(xù)提高數(shù)據(jù)包傳輸?shù)乃俣取?/p>
優(yōu)選地,所述特定節(jié)點(diǎn)設(shè)置子模塊,當(dāng)所述回應(yīng)判斷模塊未在所述預(yù)設(shè)時(shí)間內(nèi)接到所述特定節(jié)點(diǎn)反饋的所述Hello回應(yīng)包時(shí),所述特定節(jié)點(diǎn)設(shè)置子模塊進(jìn)一步用于將所述頻率序列表中所述特定節(jié)點(diǎn)信息的下一個(gè)節(jié)點(diǎn)信息設(shè)置為新的所述特定節(jié)點(diǎn)。
具體的,當(dāng)前節(jié)點(diǎn)向特定節(jié)點(diǎn)發(fā)送了Hello數(shù)據(jù)包后,特定節(jié)點(diǎn)如果收到的話會(huì)反饋對(duì)應(yīng)的Hello回應(yīng)包,當(dāng)前節(jié)點(diǎn)只有收到了此Hello回應(yīng)包,才說(shuō)明與特定節(jié)點(diǎn)維護(hù)了路由信息。當(dāng)沒(méi)有收到Hello回應(yīng)包時(shí),那說(shuō)明當(dāng)前節(jié)點(diǎn)無(wú)法和此特定節(jié)點(diǎn)維護(hù)路由信息,只能找下一個(gè)特定節(jié)點(diǎn)。而特定節(jié)點(diǎn)的設(shè)置規(guī)律則是按照當(dāng)前節(jié)點(diǎn)發(fā)送數(shù)據(jù)包給下一跳節(jié)點(diǎn)的數(shù)據(jù)發(fā)送頻率從高到低進(jìn)行設(shè)置,保證當(dāng)前節(jié)點(diǎn)維護(hù)的路由信息,可以盡最大可能地被利用到,從而提高各節(jié)點(diǎn)間的傳輸響應(yīng)速度。
優(yōu)選地,所述回應(yīng)判斷模塊30包括:回應(yīng)包判斷子模塊31,當(dāng)所述Hello包發(fā)送模塊向所述特定節(jié)點(diǎn)發(fā)送了Hello數(shù)據(jù)包后,或,當(dāng)時(shí)間判斷子模塊判斷距離發(fā)送所述Hello數(shù)據(jù)包的時(shí)間沒(méi)有達(dá)到預(yù)設(shè)時(shí)間時(shí),所述回應(yīng)包判斷子模塊判斷是否接收到所述特定節(jié)點(diǎn)反饋的所述Hello數(shù)據(jù)包的所述Hello回應(yīng)包;當(dāng)所述回應(yīng)包判斷子模塊收到了所述Hello數(shù)據(jù)包的Hello回應(yīng)包,則完成了與所述特定節(jié)點(diǎn)的路由信息的維護(hù);時(shí)間判斷子模塊32,當(dāng)所述回應(yīng)包判斷子模塊判斷沒(méi)有接收到所述Hello回應(yīng)包時(shí),所述時(shí)間判斷子模塊判斷距離發(fā)送所述Hello數(shù)據(jù)包的時(shí)間是否達(dá)到所述預(yù)設(shè)時(shí)間;所述特定節(jié)點(diǎn)設(shè)置子模塊,當(dāng)所述時(shí)間判斷子模塊判斷距離發(fā)送所述Hello數(shù)據(jù)包的時(shí)間達(dá)到了所述預(yù)設(shè)時(shí)間時(shí),所述特定節(jié)點(diǎn)設(shè)置子模塊進(jìn)一步用于將所述頻率序列表中所述特定節(jié)點(diǎn)信息的下一個(gè)節(jié)點(diǎn)信息設(shè)置為新的所述特定節(jié)點(diǎn)。
優(yōu)選地,還包括:時(shí)間配置模塊40,與所述回應(yīng)判斷模塊電連接,所述時(shí)間配置模塊用于配置所述預(yù)設(shè)時(shí)間。
具體的,發(fā)送Hello數(shù)據(jù)包后不可能無(wú)限制地等待特定節(jié)點(diǎn)反饋的Hello回應(yīng)包,預(yù)設(shè)時(shí)間的存在杜絕了無(wú)限期等待的可能,預(yù)設(shè)時(shí)間的設(shè)置/配置是后續(xù)進(jìn)行判斷Hello回應(yīng)包是否接收的先決條件,也是保證了當(dāng)前節(jié)點(diǎn)與特定節(jié)點(diǎn)維護(hù)路由信息的基礎(chǔ)。同時(shí),若沒(méi)有接收到Hello回應(yīng)包的話,也可以盡快執(zhí)行后面的步驟,保證當(dāng)前節(jié)點(diǎn)可以與某一個(gè)(特定)節(jié)點(diǎn)維護(hù)路由信息,為后續(xù)提高各節(jié)點(diǎn)之間的響應(yīng)速度做好了前期準(zhǔn)備。
在本發(fā)明的另一個(gè)實(shí)施例中,如圖4所示,一種基于ZigBee網(wǎng)絡(luò)的路由信息維護(hù)裝置,包括:信息獲取模塊10,當(dāng)ZigBee網(wǎng)絡(luò)處于AODV模式時(shí),所述信息獲取模塊用于根據(jù)路由表,獲取特定節(jié)點(diǎn)信息;所述信息獲取模塊10具體包括:節(jié)點(diǎn)獲取子模塊11,用于獲取所述路由表中各節(jié)點(diǎn)信息;頻率獲取子模塊12,當(dāng)所述節(jié)點(diǎn)獲取子模塊獲取了所述路由表中各節(jié)點(diǎn)信息后,所述頻率獲取子模塊根據(jù)所述節(jié)點(diǎn)信息,獲取各所述節(jié)點(diǎn)信息對(duì)應(yīng)的所述數(shù)據(jù)發(fā)送頻率;列表生成子模塊13,當(dāng)所述頻率獲取子模塊獲取了各所述節(jié)點(diǎn)信息對(duì)應(yīng)的所述數(shù)據(jù)發(fā)送頻率后,所述列表生成子模塊根據(jù)所述數(shù)據(jù)發(fā)送頻率從高到低,對(duì)各所述節(jié)點(diǎn)信息進(jìn)行排序,生成頻率序列表;特定節(jié)點(diǎn)設(shè)置子模塊14,當(dāng)所述列表生成子模塊生成了頻率序列表后,所述特定節(jié)點(diǎn)設(shè)置子模塊將所述頻率序列表中數(shù)據(jù)發(fā)送頻率最高的所述節(jié)點(diǎn)信息設(shè)為所述特定節(jié)點(diǎn)信息;以及,當(dāng)所述回應(yīng)判斷模塊未在所述預(yù)設(shè)時(shí)間內(nèi)接到所述特定節(jié)點(diǎn)反饋的所述Hello回應(yīng)包時(shí)(即,當(dāng)所述時(shí)間判斷子模塊判斷距離發(fā)送所述Hello數(shù)據(jù)包的時(shí)間達(dá)到了所述預(yù)設(shè)時(shí)間時(shí)),所述特定節(jié)點(diǎn)設(shè)置子模塊進(jìn)一步用于將所述頻率序列表中所述特定節(jié)點(diǎn)信息的下一個(gè)節(jié)點(diǎn)信息設(shè)置為新的所述特定節(jié)點(diǎn);Hello包發(fā)送模塊20,與所述信息獲取模塊電連接,當(dāng)所述信息獲取模塊獲取了所述特定節(jié)點(diǎn)信息后,所述Hello包發(fā)送模塊向所述特定節(jié)點(diǎn)信息對(duì)應(yīng)的特定節(jié)點(diǎn)發(fā)送Hello數(shù)據(jù)包;回應(yīng)判斷模塊30,與所述Hello包發(fā)送模塊20、所述信息獲取模塊10電連接,當(dāng)所述Hello包發(fā)送模塊向所述特定節(jié)點(diǎn)發(fā)送了Hello數(shù)據(jù)包后,所述回應(yīng)判斷模塊判斷是否在預(yù)設(shè)時(shí)間內(nèi)接收到所述特定節(jié)點(diǎn)反饋的所述Hello數(shù)據(jù)包的Hello回應(yīng)包;當(dāng)所述回應(yīng)判斷模塊收到了所述Hello數(shù)據(jù)包的Hello回應(yīng)包,則完成了與所述特定節(jié)點(diǎn)的路由信息的維護(hù);所述回應(yīng)判斷模塊30包括:回應(yīng)包判斷子模塊31,當(dāng)所述Hello包發(fā)送模塊向所述特定節(jié)點(diǎn)發(fā)送了Hello數(shù)據(jù)包后,或,當(dāng)時(shí)間判斷子模塊判斷距離發(fā)送所述Hello數(shù)據(jù)包的時(shí)間沒(méi)有達(dá)到預(yù)設(shè)時(shí)間時(shí),所述回應(yīng)包判斷子模塊判斷是否接收到所述特定節(jié)點(diǎn)反饋的所述Hello數(shù)據(jù)包的所述Hello回應(yīng)包;當(dāng)所述回應(yīng)包判斷子模塊收到了所述Hello數(shù)據(jù)包的Hello回應(yīng)包,則完成了與所述特定節(jié)點(diǎn)的路由信息的維護(hù);時(shí)間判斷子模塊32,當(dāng)所述回應(yīng)包判斷子模塊判斷沒(méi)有接收到所述Hello回應(yīng)包時(shí),所述時(shí)間判斷子模塊判斷距離發(fā)送所述Hello數(shù)據(jù)包的時(shí)間是否達(dá)到所述預(yù)設(shè)時(shí)間;時(shí)間配置模塊40,與所述回應(yīng)判斷模塊電連接,所述時(shí)間配置模塊用于配置所述預(yù)設(shè)時(shí)間。
具體的,本發(fā)明通過(guò)在ZigBee網(wǎng)絡(luò)處于AODV模式時(shí),各節(jié)點(diǎn)與一個(gè)自己的特定節(jié)點(diǎn)維護(hù)路由信息,提高各節(jié)點(diǎn)間的響應(yīng)速度,且提升快速將數(shù)據(jù)包傳輸?shù)侥康墓?jié)點(diǎn)的概率。特別是在組網(wǎng)環(huán)境較簡(jiǎn)單的情況下,數(shù)據(jù)包傳輸?shù)穆酚芍挥袔讞l,各節(jié)點(diǎn)與一個(gè)自己的特定節(jié)點(diǎn)維護(hù)路由信息的方式可以大大提升數(shù)據(jù)包的傳輸速度,提高用戶的使用體驗(yàn)。
應(yīng)當(dāng)說(shuō)明的是,上述實(shí)施例均可根據(jù)需要自由組合。以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤(rùn)飾,這些改進(jìn)和潤(rùn)飾也應(yīng)視為本發(fā)明的保護(hù)范圍。