基于gpsr協(xié)議的路由優(yōu)化方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及車載網(wǎng)絡(luò)數(shù)據(jù)傳輸技術(shù)領(lǐng)域,更為具體地,涉及一種基于GPSR協(xié)議的 路由優(yōu)化方法及裝置。
【背景技術(shù)】
[0002] 隨著全球汽車保有量的上升、道路擁堵?tīng)顩r的加劇以及交通事故的頻繁發(fā)生,提 升道路安全的技術(shù)和措施越來(lái)越多,其中,網(wǎng)絡(luò)技術(shù)的高速發(fā)展使得車間網(wǎng)絡(luò)應(yīng)運(yùn)而生。車 間網(wǎng)絡(luò)是將道路上的車輛加入網(wǎng)絡(luò),通過(guò)車輛間的相互通信,從而感知周圍車輛的存在及 運(yùn)行狀態(tài),并據(jù)此預(yù)防潛在的危險(xiǎn)。
[0003] 在車間網(wǎng)絡(luò)中,車輛作為車間網(wǎng)絡(luò)的各個(gè)節(jié)點(diǎn),由于車輛具有高速移動(dòng)的特性,因 此車間網(wǎng)絡(luò)也是一個(gè)節(jié)點(diǎn)快速移動(dòng)、網(wǎng)絡(luò)拓?fù)渥兓l繁的網(wǎng)絡(luò)。由于作為節(jié)點(diǎn)的車輛移動(dòng) 速度快,使車間網(wǎng)絡(luò)拓?fù)鋾r(shí)刻發(fā)生變化,因此,在車間網(wǎng)絡(luò)中,如何快速定位節(jié)點(diǎn)成為一個(gè) 重要的研宄方向。在定位節(jié)點(diǎn)的耗時(shí)中,路由查找是占用時(shí)長(zhǎng)最多的環(huán)節(jié),因此,如何快速 確定區(qū)最優(yōu)路徑成為快速定位節(jié)點(diǎn)的關(guān)鍵因素。在自組網(wǎng)的路由協(xié)議中,基于位置的路由 協(xié)議由于比較適應(yīng)車間網(wǎng)絡(luò)的特點(diǎn),在車間網(wǎng)絡(luò)中成為應(yīng)用的主流。
[0004] 在基于位置的路由協(xié)議中,最具代表性的是GPSR協(xié)議(貪婪周邊無(wú)狀態(tài)路由, Greedy Perimeter Stateless Routing),相較于其它的路由協(xié)議來(lái)說(shuō),GPSR協(xié)議是一種無(wú) 狀態(tài)的路由,需要車間網(wǎng)絡(luò)中的節(jié)點(diǎn)定期通報(bào)自己的位置信息,每個(gè)節(jié)點(diǎn)將相鄰節(jié)點(diǎn)的位 置信息保存在相鄰節(jié)點(diǎn)列表中,節(jié)點(diǎn)在發(fā)送數(shù)據(jù)前不尋找路由,不保存路由表,直接根據(jù)自 己、相鄰節(jié)點(diǎn)以及目的節(jié)點(diǎn)的位置信息制定數(shù)據(jù)轉(zhuǎn)發(fā)決策,因此,GPSR協(xié)議更加適合拓?fù)渥?化快的車間網(wǎng)絡(luò)。
[0005] 但在車間網(wǎng)絡(luò)中,GPSR協(xié)議存在以下問(wèn)題:
[0006] 第一,GPSR協(xié)議是根據(jù)當(dāng)前節(jié)點(diǎn)的相鄰節(jié)點(diǎn)列表選擇一跳范圍內(nèi)的最優(yōu)節(jié)點(diǎn)作為 數(shù)據(jù)傳輸?shù)南乱惶?jié)點(diǎn),GPSR協(xié)議只考慮節(jié)點(diǎn)的距離,而沒(méi)有考慮節(jié)點(diǎn)的走向問(wèn)題,如果選 擇的下一跳節(jié)點(diǎn)相對(duì)于當(dāng)前節(jié)點(diǎn)是相向而行的,則選擇的下一跳節(jié)點(diǎn)將會(huì)很快移出當(dāng)前節(jié) 點(diǎn)的通信范圍,造成通信失效。
[0007] 第二,在根據(jù)GPSR協(xié)議進(jìn)行貪婪轉(zhuǎn)發(fā)時(shí)考慮的是節(jié)點(diǎn)間的距離,只有比自身到目 的節(jié)點(diǎn)更近的中間節(jié)點(diǎn)才有資格進(jìn)行貪婪轉(zhuǎn)發(fā),這種策略可能會(huì)造成某些符合條件的中間 節(jié)點(diǎn)不能進(jìn)行貪婪轉(zhuǎn)發(fā),導(dǎo)致不能快速定位到達(dá)目的節(jié)點(diǎn)的區(qū)最優(yōu)路徑。
[0008] 第三,在根據(jù)GPSR協(xié)議進(jìn)行周邊轉(zhuǎn)發(fā)時(shí)采用右手法則進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā),簡(jiǎn)單的按照 右手法則進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā)可能會(huì)造成所選擇的路徑不是最短的路徑,在車載環(huán)境中,鏈路的 節(jié)點(diǎn)數(shù)越多則鏈路穩(wěn)定性相對(duì)越差,降低了節(jié)點(diǎn)間的連通率。
【發(fā)明內(nèi)容】
[0009] 鑒于上述問(wèn)題,本發(fā)明的目的是提供一種基于GPSR協(xié)議的路由優(yōu)化方法及裝置, 以解決GPSR協(xié)議在車間網(wǎng)絡(luò)中適用性不強(qiáng)、連通率不高的問(wèn)題。
[0010] 本發(fā)明提供基于GPSR協(xié)議的路由優(yōu)化方法,包括:
[0011] SllO :根據(jù)相鄰節(jié)點(diǎn)分類算法確定起始節(jié)點(diǎn)的同向相鄰節(jié)點(diǎn)列表;
[0012] S120 :對(duì)同向相鄰節(jié)點(diǎn)列表中的節(jié)點(diǎn)劃分貪婪轉(zhuǎn)發(fā)區(qū)域和周邊轉(zhuǎn)發(fā)區(qū)域;
[0013] S130 :在貪婪轉(zhuǎn)發(fā)區(qū)域內(nèi)存在同向相鄰節(jié)點(diǎn)列表中的節(jié)點(diǎn)時(shí),根據(jù)貪婪算法從貪 婪轉(zhuǎn)發(fā)區(qū)域內(nèi)確定一個(gè)偏離目的節(jié)點(diǎn)角度最小的節(jié)點(diǎn)作為起始節(jié)點(diǎn)的下一跳節(jié)點(diǎn);
[0014] S140 :重復(fù)步驟SllO?S130,直到目的節(jié)點(diǎn)為止。
[0015] 本發(fā)明還提供一種基于GPSR協(xié)議的路由優(yōu)化裝置,包括:
[0016] 相鄰節(jié)點(diǎn)列表確定單元,用于根據(jù)相鄰節(jié)點(diǎn)分類算法確定起始節(jié)點(diǎn)的同向相鄰節(jié) 點(diǎn)列表;
[0017] 轉(zhuǎn)發(fā)區(qū)域劃分單元,用于對(duì)同向相鄰節(jié)點(diǎn)列表中的節(jié)點(diǎn)劃分貪婪轉(zhuǎn)發(fā)區(qū)域和周邊 轉(zhuǎn)發(fā)區(qū)域;
[0018] 下一跳節(jié)點(diǎn)確定單元,用于在貪婪轉(zhuǎn)發(fā)區(qū)域內(nèi)存在同向相鄰節(jié)點(diǎn)列表中的節(jié)點(diǎn) 時(shí),根據(jù)貪婪算法從貪婪轉(zhuǎn)發(fā)區(qū)域內(nèi)確定一個(gè)偏離目的節(jié)點(diǎn)角度最小的節(jié)點(diǎn)作為起始節(jié)點(diǎn) 的下一跳節(jié)點(diǎn);
[0019] 節(jié)點(diǎn)循環(huán)單元,用于將下一跳節(jié)點(diǎn)確定單元確定出的下一跳節(jié)點(diǎn)作為新的起始節(jié) 點(diǎn),根據(jù)相鄰節(jié)點(diǎn)列表確定單元、轉(zhuǎn)發(fā)區(qū)域劃分單元和下一跳節(jié)點(diǎn)確定單元,重新確定新的 起始節(jié)點(diǎn)的下一跳節(jié)點(diǎn),直到循環(huán)到目的節(jié)點(diǎn)為止。
[0020] 利用上述本發(fā)明提供的基于GPSR協(xié)議的路由優(yōu)化方法及裝置,首先,通過(guò)引入同 向相鄰節(jié)點(diǎn)列表及反向相鄰節(jié)點(diǎn)列表,將當(dāng)前節(jié)點(diǎn)的相鄰節(jié)點(diǎn)歸類成優(yōu)先級(jí)不同的兩大 類,在選擇路由時(shí),首先從同向相鄰節(jié)點(diǎn)類別中選取當(dāng)前節(jié)點(diǎn)的下一跳節(jié)點(diǎn),該策略能夠提 升路由選擇的速率,降低數(shù)據(jù)分組的發(fā)送時(shí)延,同時(shí)選擇的路徑穩(wěn)定性相對(duì)較高,能夠保證 數(shù)據(jù)分組發(fā)送的成功率;其次,通過(guò)限制區(qū)域的貪婪轉(zhuǎn)發(fā)策略,確定貪婪轉(zhuǎn)發(fā)區(qū)域,在該區(qū) 域內(nèi)的節(jié)點(diǎn)都有貪婪轉(zhuǎn)發(fā)的資格,增大快速定位到達(dá)目的節(jié)點(diǎn)的路由的概率,同時(shí)根據(jù)貪 婪算法能夠選擇路由的最優(yōu)路徑。
[0021] 為了實(shí)現(xiàn)上述以及相關(guān)目的,本發(fā)明的一個(gè)或多個(gè)方面包括后面將詳細(xì)說(shuō)明并在 權(quán)利要求中特別指出的特征。下面的說(shuō)明以及附圖詳細(xì)說(shuō)明了本發(fā)明的某些示例性方面。 然而,這些方面指示的僅僅是可使用本發(fā)明的原理的各種方式中的一些方式。此外,本發(fā)明 旨在包括所有這些方面以及它們的等同物。
【附圖說(shuō)明】
[0022] 通過(guò)參考以下結(jié)合附圖的說(shuō)明及權(quán)利要求書的內(nèi)容,并且隨著對(duì)本發(fā)明的更全面 理解,本發(fā)明的其它目的及結(jié)果將更加明白及易于理解。在附圖中:
[0023] 圖1為根據(jù)本發(fā)明實(shí)施例的基于GPSR協(xié)議的路由優(yōu)化方法的流程示意圖;
[0024] 圖2為根據(jù)本發(fā)明實(shí)施例的相鄰兩個(gè)時(shí)刻節(jié)點(diǎn)的位置變化圖;
[0025] 圖3為根據(jù)本發(fā)明實(shí)施例的相鄰節(jié)點(diǎn)列表的劃分區(qū)域圖;
[0026] 圖4為根據(jù)本發(fā)明實(shí)施例的當(dāng)前節(jié)點(diǎn)、相鄰節(jié)點(diǎn)和目的節(jié)點(diǎn)間的位置關(guān)系圖;
[0027] 圖5為根據(jù)本發(fā)明實(shí)施例的基于GPSR協(xié)議的路由優(yōu)化裝置的邏輯結(jié)構(gòu)示意圖;
[0028] 圖6為根據(jù)本發(fā)明另一實(shí)施例的基于GPSR協(xié)議的路由優(yōu)化裝置的邏輯結(jié)構(gòu)示意 圖。
[0029] 在所有附圖中相同的標(biāo)號(hào)指示相似或相應(yīng)的特征或功能。
【具體實(shí)施方式】
[0030] 在下面的描述中,出于說(shuō)明的目的,為了提供對(duì)一個(gè)或多個(gè)實(shí)施例的全面理解,闡 述了許多具體細(xì)節(jié)。然而,很明顯,也可以在沒(méi)有這些具體細(xì)節(jié)的情況下實(shí)現(xiàn)這些實(shí)施例。 在其它例子中,為了便于描述一個(gè)或多個(gè)實(shí)施例,公知的結(jié)構(gòu)和設(shè)備以方框圖的形式示出。
[0031] 在現(xiàn)有的車間網(wǎng)絡(luò)中,針對(duì)GPSR協(xié)議適用性不強(qiáng),連通率不高的問(wèn)題,本發(fā)明對(duì) 當(dāng)前節(jié)點(diǎn)的相鄰節(jié)點(diǎn)進(jìn)行分類,將與起始節(jié)點(diǎn)同向相鄰節(jié)點(diǎn)加入同向相鄰列表,將與起始 節(jié)點(diǎn)反向相鄰節(jié)點(diǎn)加入反向相鄰列表,由于同向的兩個(gè)節(jié)點(diǎn)位置關(guān)系相對(duì)穩(wěn)定,相鄰節(jié)點(diǎn) 間的連通率較高,在選擇起始節(jié)點(diǎn)的下一跳節(jié)點(diǎn)時(shí),首先從同向相鄰節(jié)點(diǎn)列表中選擇起始 節(jié)點(diǎn)的下一跳節(jié)點(diǎn),在同向相鄰節(jié)點(diǎn)列表中沒(méi)有節(jié)點(diǎn)的情況下,從反向相鄰節(jié)點(diǎn)列表中按 照貪婪轉(zhuǎn)發(fā)規(guī)則或右手法則選擇起始節(jié)點(diǎn)的下一跳節(jié)點(diǎn),一直循環(huán)到目的節(jié)點(diǎn)為止,確定 區(qū)最優(yōu)路徑,按照區(qū)最優(yōu)路徑進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā),據(jù)此完成GPSR協(xié)議的路由優(yōu)化。
[0032] 以下將結(jié)合附圖對(duì)本發(fā)明的具體實(shí)施例進(jìn)行詳細(xì)描述。
[0033] 圖1示出了基于GPSR協(xié)議的路由優(yōu)化方法的流程。
[0034] 如圖1所示,本發(fā)明實(shí)施例提供的基于GPSR協(xié)議的路由優(yōu)化方法,包括如下步 驟:
[0035] SlOO :根據(jù)相鄰節(jié)點(diǎn)分類算法確定起始節(jié)點(diǎn)的同向相鄰節(jié)點(diǎn)列表。
[0036] 現(xiàn)有的GPSR協(xié)議在起始節(jié)點(diǎn)的相鄰節(jié)點(diǎn)列表中選擇下一跳節(jié)點(diǎn)時(shí),由于只考慮 節(jié)點(diǎn)的距離而未考慮節(jié)點(diǎn)的方向,如果選擇的節(jié)點(diǎn)與起始節(jié)點(diǎn)方向相反,則下一跳節(jié)點(diǎn)會(huì) 很快移出起始節(jié)點(diǎn)的通信范圍,從而造成起始節(jié)點(diǎn)與下一跳節(jié)點(diǎn)的通信失效,這種情況鏈 路穩(wěn)定性差,從而導(dǎo)致數(shù)據(jù)的丟包率變大。針對(duì)此問(wèn)題,本發(fā)明根據(jù)相鄰節(jié)點(diǎn)分類算法對(duì)起 始節(jié)點(diǎn)的相鄰節(jié)點(diǎn)進(jìn)行分類,將與起始節(jié)點(diǎn)同向的相鄰節(jié)點(diǎn)加入同向相鄰節(jié)點(diǎn)列表中,而 與起始節(jié)點(diǎn)反向的相鄰節(jié)點(diǎn)加入反向相鄰節(jié)點(diǎn)列表中,由于同方向的車輛位置關(guān)系變化相 對(duì)穩(wěn)定,為了保證鏈路的穩(wěn)定性,在選擇起始節(jié)點(diǎn)的下一跳節(jié)點(diǎn)時(shí),優(yōu)先選擇同向相鄰節(jié)點(diǎn) 列表中的節(jié)點(diǎn),在同向相鄰節(jié)點(diǎn)列表中無(wú)節(jié)點(diǎn)時(shí),再?gòu)姆聪蛳噜徆?jié)點(diǎn)列表中選擇起始節(jié)點(diǎn) 的下一跳節(jié)點(diǎn)。
[0037] SlOl :對(duì)同向相鄰節(jié)點(diǎn)列表中的節(jié)點(diǎn)劃分貪婪轉(zhuǎn)發(fā)區(qū)域和周邊轉(zhuǎn)發(fā)區(qū)域。
[0038] 貪婪轉(zhuǎn)發(fā)區(qū)域內(nèi)的節(jié)點(diǎn)按照貪婪轉(zhuǎn)發(fā)模式進(jìn)行轉(zhuǎn)發(fā),周邊轉(zhuǎn)發(fā)區(qū)域內(nèi)的節(jié)點(diǎn)按照 右手法則進(jìn)行轉(zhuǎn)發(fā),節(jié)點(diǎn)區(qū)域的劃分將在下文中詳細(xì)說(shuō)明。
[0039] S102:在貪婪轉(zhuǎn)發(fā)區(qū)域內(nèi)是否存在同向相鄰節(jié)點(diǎn)列表中的節(jié)點(diǎn)時(shí),利用貪婪算法 從貪婪轉(zhuǎn)發(fā)區(qū)域內(nèi)確定一個(gè)偏離目的節(jié)點(diǎn)角度最小的節(jié)點(diǎn)作為起始節(jié)點(diǎn)的下一跳節(jié)點(diǎn)。
[0040] 如果貪婪轉(zhuǎn)發(fā)區(qū)域內(nèi)存在同向相鄰節(jié)點(diǎn)列表中的節(jié)點(diǎn),利用貪婪算法從同向相鄰 節(jié)點(diǎn)列表中確定一個(gè)偏離目的節(jié)點(diǎn)角度最小的節(jié)點(diǎn)作為起始節(jié)點(diǎn)的下一跳節(jié)點(diǎn),進(jìn)行數(shù)據(jù) 的轉(zhuǎn)發(fā);如果貪婪轉(zhuǎn)發(fā)區(qū)域內(nèi)不存在同向相鄰節(jié)點(diǎn)列表中的節(jié)點(diǎn),則判斷周邊轉(zhuǎn)發(fā)區(qū)域內(nèi) 是否存在同向相鄰節(jié)點(diǎn)列表中的節(jié)點(diǎn),如果周邊轉(zhuǎn)發(fā)區(qū)域內(nèi)存在同向相鄰節(jié)點(diǎn)列表中的節(jié) 點(diǎn),按照右手法則確定到達(dá)目的節(jié)點(diǎn)的路徑,進(jìn)行數(shù)據(jù)的轉(zhuǎn)發(fā);如果周邊轉(zhuǎn)發(fā)區(qū)域內(nèi)不存在 同向相鄰節(jié)點(diǎn)列表中的節(jié)點(diǎn),則在貪婪轉(zhuǎn)發(fā)區(qū)域內(nèi)判斷是否存在反向相鄰節(jié)點(diǎn)列表中的節(jié) 點(diǎn),如果貪婪轉(zhuǎn)發(fā)區(qū)域內(nèi)存在反向相鄰節(jié)點(diǎn)列表中的節(jié)點(diǎn),利用貪婪算法從反向相鄰節(jié)點(diǎn) 列表中確定一個(gè)偏離目的節(jié)點(diǎn)角度最小的節(jié)點(diǎn)作為起始節(jié)點(diǎn)的下一跳節(jié)點(diǎn),進(jìn)行數(shù)據(jù)的轉(zhuǎn) 發(fā);如果貪婪轉(zhuǎn)發(fā)區(qū)域內(nèi)不存在反向相鄰節(jié)點(diǎn)列表中的節(jié)點(diǎn),則判斷周邊轉(zhuǎn)發(fā)區(qū)域內(nèi)是否 存在反向相鄰節(jié)點(diǎn)列表中的節(jié)點(diǎn),如果存在,則按照右手法則確定到達(dá)目的節(jié)點(diǎn)的路徑,進(jìn) 行數(shù)據(jù)轉(zhuǎn)發(fā);如果不存在,則說(shuō)明起始節(jié)點(diǎn)沒(méi)有相鄰節(jié)點(diǎn),無(wú)法進(jìn)行數(shù)據(jù)的轉(zhuǎn)發(fā)。
[0041] 上述內(nèi)容說(shuō)明了如何從同向相鄰節(jié)點(diǎn)列