本發(fā)明涉及車載網(wǎng)絡(luò)的技術(shù)領(lǐng)域,更具體地,涉及一種軟件定義車載網(wǎng)絡(luò)轉(zhuǎn)發(fā)策略的一致性更新方法。
背景技術(shù):
車載網(wǎng)絡(luò)與傳統(tǒng)網(wǎng)絡(luò)最大的不同是車載網(wǎng)絡(luò)的轉(zhuǎn)發(fā)節(jié)點(diǎn)是車輛,以車輛組成網(wǎng)絡(luò)拓?fù)洌蚨D(zhuǎn)發(fā)節(jié)點(diǎn)時(shí)刻變動(dòng),網(wǎng)絡(luò)拓?fù)鋱D時(shí)刻變化。而傳統(tǒng)網(wǎng)絡(luò)的轉(zhuǎn)發(fā)結(jié)點(diǎn)是路由器,從安裝部署好了之后路由器的位置就固定不變。為了更好地管理消息的轉(zhuǎn)發(fā)與接收,利用SDN集中式的思想可以統(tǒng)一在控制器端進(jìn)行計(jì)算和下發(fā)轉(zhuǎn)發(fā)策略,克服原來(lái)分布式網(wǎng)絡(luò)拓?fù)鋷?lái)的開銷大、每個(gè)轉(zhuǎn)發(fā)節(jié)點(diǎn)計(jì)算量大的缺點(diǎn)。但是轉(zhuǎn)發(fā)策略不是一成不變的,車輛位置時(shí)刻變動(dòng)、轉(zhuǎn)發(fā)目的車輛的變動(dòng),都可能需要更新每一輛車的轉(zhuǎn)發(fā)策略,如果只是簡(jiǎn)單的給每輛車進(jìn)行策略更新,會(huì)造成轉(zhuǎn)發(fā)出現(xiàn)環(huán)路(Loop)、轉(zhuǎn)發(fā)斷路等一致性問(wèn)題,即數(shù)據(jù)包無(wú)法順利轉(zhuǎn)發(fā)到目的地。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明要解決的問(wèn)題是:提供一種轉(zhuǎn)發(fā)策略更新一致、提高數(shù)據(jù)包收發(fā)效率的軟件定義車載網(wǎng)絡(luò)轉(zhuǎn)發(fā)策略的一致性更新方法。
本發(fā)明實(shí)現(xiàn)上述目的所提出的技術(shù)方案如下:
一種軟件定義車載網(wǎng)絡(luò)轉(zhuǎn)發(fā)策略的一致性更新方法,包括以下步驟:
S1.對(duì)進(jìn)入控制器覆蓋范圍的車輛進(jìn)行注冊(cè),經(jīng)過(guò)注冊(cè)的車輛將其位置信息上傳至控制器;
S2.在已注冊(cè)車輛中選出用于傳遞消息的車輛集合A,然后將車輛集合A與控制器的網(wǎng)絡(luò)拓?fù)鋱DB進(jìn)行存儲(chǔ);
S3.控制器向傳遞消息的車輛集合下發(fā)轉(zhuǎn)發(fā)策略;
S4.若需要改變轉(zhuǎn)發(fā)策略,則從已注冊(cè)車輛中選出用于傳遞消息的車輛集合C,并將車輛集合C與控制器的網(wǎng)絡(luò)拓?fù)鋱DD進(jìn)行存儲(chǔ);
S5.將網(wǎng)絡(luò)拓?fù)鋱DB與網(wǎng)絡(luò)拓?fù)鋱DD進(jìn)行比較;根據(jù)網(wǎng)絡(luò)拓?fù)鋱DD中新增的車輛利用圖論算法對(duì)網(wǎng)絡(luò)拓?fù)鋱DD進(jìn)行分割,得到若干個(gè)子拓?fù)鋱D,分別為:V1、V2、V3…….Vn;
S6.對(duì)于每個(gè)子拓?fù)鋱D,控制器采用軟件定義網(wǎng)絡(luò)一致性算法對(duì)其數(shù)據(jù)轉(zhuǎn)發(fā)鏈路中的每輛車的轉(zhuǎn)發(fā)策略進(jìn)行更新。
在上述方案中,控制器向傳遞消息的車輛集合A下發(fā)轉(zhuǎn)發(fā)策略,進(jìn)行數(shù)據(jù)的轉(zhuǎn)發(fā)與接收;當(dāng)車輛位置不斷發(fā)生改變時(shí),若需要改變轉(zhuǎn)發(fā)策略,則從已注冊(cè)車輛中選出用于傳遞消息的車輛集合C,控制器采用軟件定義網(wǎng)絡(luò)一致性算法對(duì)其數(shù)據(jù)轉(zhuǎn)發(fā)鏈路中的每輛車的轉(zhuǎn)發(fā)策略進(jìn)行更新;有效解決了轉(zhuǎn)發(fā)策略更新不一致的問(wèn)題,同時(shí)提高了數(shù)據(jù)包收發(fā)的效率。
優(yōu)選的,所述子拓?fù)鋱D中所有的節(jié)點(diǎn)均為車輛,所述車輛狀態(tài)可為三個(gè)狀態(tài)之一:Old、Limbo或New,其中Old表示該車輛處于策略更新前,Limbo表示該車輛處于策略更新中,New表示該車輛處于策略更新后;
所述軟件定義網(wǎng)絡(luò)一致性算法對(duì)子拓?fù)鋱D中的車輛的轉(zhuǎn)發(fā)策略進(jìn)行更新的具體過(guò)程如下:
S11.將每個(gè)子拓?fù)鋱D中的所有節(jié)點(diǎn)的狀態(tài)設(shè)置為Old,然后從每個(gè)子拓?fù)鋱D中的節(jié)點(diǎn)中分別找出根節(jié)點(diǎn):
設(shè)車輛節(jié)點(diǎn)u的初始狀態(tài)為Old,判斷其更新轉(zhuǎn)發(fā)策略后會(huì)不會(huì)形成環(huán)路,若是則不對(duì)其狀態(tài)進(jìn)行變換;否則將其狀態(tài)設(shè)置為L(zhǎng)imbo;
S12.執(zhí)行步驟S11后,將子拓?fù)鋱D中所有狀態(tài)為L(zhǎng)imbo的節(jié)點(diǎn)確認(rèn)為根節(jié)點(diǎn),然后對(duì)每一個(gè)根節(jié)點(diǎn)執(zhí)行步驟S13;
S13.判斷與根節(jié)點(diǎn)存在數(shù)據(jù)連接的節(jié)點(diǎn)在更新轉(zhuǎn)發(fā)策略后會(huì)不會(huì)形成環(huán)路,若是則不對(duì)其狀態(tài)進(jìn)行變換,否則將其狀態(tài)設(shè)置為L(zhǎng)imbo;將與根節(jié)點(diǎn)存在數(shù)據(jù)連接的狀態(tài)為L(zhǎng)imbo的節(jié)點(diǎn)確認(rèn)為根節(jié)點(diǎn)的孩子節(jié)點(diǎn);
S14.通過(guò)步驟S13為每個(gè)根節(jié)點(diǎn)構(gòu)建一個(gè)新樹結(jié)構(gòu);
S15. 控制器并行地向各個(gè)新樹結(jié)構(gòu)中的每一棵樹以根節(jié)點(diǎn)到孩子節(jié)點(diǎn)的順序下發(fā)新的轉(zhuǎn)發(fā)策略。
優(yōu)選的,所述步驟S11、S13通過(guò)DFS深度優(yōu)先搜索方法判斷是否形成環(huán)路。
與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是:
本發(fā)明通過(guò)軟件定義車載網(wǎng)絡(luò)轉(zhuǎn)發(fā)策略的一致性更新方法,控制器向傳遞消息的車輛集合下發(fā)轉(zhuǎn)發(fā)策略,當(dāng)需要更新轉(zhuǎn)發(fā)策略時(shí),控制器采用軟件定義網(wǎng)絡(luò)一致性算法對(duì)其數(shù)據(jù)轉(zhuǎn)發(fā)鏈路中的每輛車的轉(zhuǎn)發(fā)策略進(jìn)行更新,有效解決了轉(zhuǎn)發(fā)策略更新不一致的問(wèn)題,同時(shí)提高了數(shù)據(jù)包收發(fā)的效率。
附圖說(shuō)明
圖1為本發(fā)明提供一種軟件定義車載網(wǎng)絡(luò)轉(zhuǎn)發(fā)策略的一致性更新方法的具體步驟流程圖。
具體實(shí)施方式
附圖僅用于示例性說(shuō)明,不能理解為對(duì)本專利的限制;為了更好說(shuō)明本實(shí)施例,附圖某些部件會(huì)有省略、放大或縮小,并不代表實(shí)際產(chǎn)品的尺寸;對(duì)于本領(lǐng)域技術(shù)人員來(lái)說(shuō),附圖中某些公知結(jié)構(gòu)及其說(shuō)明可能省略是可以理解的;為了更好地理解本發(fā)明專利,下面結(jié)合附圖和實(shí)施案例對(duì)本發(fā)明的技術(shù)方案做進(jìn)一步的說(shuō)明。
下面對(duì)本發(fā)明的具體實(shí)施方案進(jìn)行描述:
一種軟件定義車載網(wǎng)絡(luò)轉(zhuǎn)發(fā)策略的一致性更新方法,具體步驟流程如圖1所示:
S1.對(duì)進(jìn)入控制器覆蓋范圍的車輛進(jìn)行注冊(cè),經(jīng)過(guò)注冊(cè)的車輛將其位置信息上傳至控制器;
S2.在已注冊(cè)車輛中選出用于傳遞消息的車輛集合A,然后將車輛集合A與控制器的網(wǎng)絡(luò)拓?fù)鋱DB進(jìn)行存儲(chǔ);
S3.控制器向傳遞消息的車輛集合下發(fā)轉(zhuǎn)發(fā)策略;
S4.若需要改變轉(zhuǎn)發(fā)策略,則從已注冊(cè)車輛中選出用于傳遞消息的車輛集合C,并將車輛集合C與控制器的網(wǎng)絡(luò)拓?fù)鋱DD進(jìn)行存儲(chǔ);
S5.將網(wǎng)絡(luò)拓?fù)鋱DB與網(wǎng)絡(luò)拓?fù)鋱DD進(jìn)行比較;根據(jù)網(wǎng)絡(luò)拓?fù)鋱DD中新增的車輛利用圖論算法對(duì)網(wǎng)絡(luò)拓?fù)鋱DD進(jìn)行分割,得到若干個(gè)子拓?fù)鋱D,分別為:V1、V2、V3…….Vn;
S6.對(duì)于每個(gè)子拓?fù)鋱D,控制器采用軟件定義網(wǎng)絡(luò)一致性算法對(duì)其數(shù)據(jù)轉(zhuǎn)發(fā)鏈路中的每輛車的轉(zhuǎn)發(fā)策略進(jìn)行更新。
在本實(shí)施例中,在已注冊(cè)車輛中選出用于傳遞消息的車輛集合A,然后將車輛集合A與控制器的網(wǎng)絡(luò)拓?fù)鋱DB進(jìn)行存儲(chǔ),控制器向傳遞消息的車輛集合A下發(fā)轉(zhuǎn)發(fā)策略,進(jìn)行數(shù)據(jù)的轉(zhuǎn)發(fā)與接收;當(dāng)車輛位置不斷發(fā)生改變時(shí),若需要改變轉(zhuǎn)發(fā)策略,則從已注冊(cè)車輛中選出用于傳遞消息的車輛集合C,并將車輛集合C與控制器的網(wǎng)絡(luò)拓?fù)鋱DD進(jìn)行存儲(chǔ);將網(wǎng)絡(luò)拓?fù)鋱DB與網(wǎng)絡(luò)拓?fù)鋱DD進(jìn)行比較;根據(jù)網(wǎng)絡(luò)拓?fù)鋱DD中新增的車輛利用圖論算法對(duì)網(wǎng)絡(luò)拓?fù)鋱DD進(jìn)行分割,得到若干個(gè)子拓?fù)鋱D;控制器采用軟件定義網(wǎng)絡(luò)一致性算法對(duì)其數(shù)據(jù)轉(zhuǎn)發(fā)鏈路中的每輛車的轉(zhuǎn)發(fā)策略進(jìn)行更新;有效解決了轉(zhuǎn)發(fā)策略更新不一致的問(wèn)題,同時(shí)提高了數(shù)據(jù)包收發(fā)的效率。
在本實(shí)施例中,所述子拓?fù)鋱D中所有的節(jié)點(diǎn)均為車輛,所述車輛狀態(tài)可為三個(gè)狀態(tài)之一:Old、Limbo或New,其中Old表示該車輛處于策略更新前,Limbo表示該車輛處于策略更新中,New表示該車輛處于策略更新后;
所述軟件定義網(wǎng)絡(luò)一致性算法對(duì)子拓?fù)鋱D中的車輛的轉(zhuǎn)發(fā)策略進(jìn)行更新的具體過(guò)程如下:
S11.將每個(gè)子拓?fù)鋱D中的所有節(jié)點(diǎn)的狀態(tài)設(shè)置為Old,然后從每個(gè)子拓?fù)鋱D中的節(jié)點(diǎn)中分別找出根節(jié)點(diǎn):
設(shè)車輛節(jié)點(diǎn)u的初始狀態(tài)為Old,判斷其更新轉(zhuǎn)發(fā)策略后會(huì)不會(huì)形成環(huán)路,若是則不對(duì)其狀態(tài)進(jìn)行變換;否則將其狀態(tài)設(shè)置為L(zhǎng)imbo;
S12.執(zhí)行步驟S11后,將子拓?fù)鋱D中所有狀態(tài)為L(zhǎng)imbo的節(jié)點(diǎn)確認(rèn)為根節(jié)點(diǎn),然后對(duì)每一個(gè)根節(jié)點(diǎn)執(zhí)行步驟S13;
S13.判斷與根節(jié)點(diǎn)存在數(shù)據(jù)連接的節(jié)點(diǎn)在更新轉(zhuǎn)發(fā)策略后會(huì)不會(huì)形成環(huán)路,若是則不對(duì)其狀態(tài)進(jìn)行變換,否則將其狀態(tài)設(shè)置為L(zhǎng)imbo;將與根節(jié)點(diǎn)存在數(shù)據(jù)連接的狀態(tài)為L(zhǎng)imbo的節(jié)點(diǎn)確認(rèn)為根節(jié)點(diǎn)的孩子節(jié)點(diǎn);
S14.通過(guò)步驟S13為每個(gè)根節(jié)點(diǎn)構(gòu)建一個(gè)新樹結(jié)構(gòu);
S15. 控制器并行地向各個(gè)新樹結(jié)構(gòu)中的每一棵樹以根節(jié)點(diǎn)到孩子節(jié)點(diǎn)的順序下發(fā)新的轉(zhuǎn)發(fā)策略。
其中,在本實(shí)施例中,所述步驟S11、S13通過(guò)DFS深度優(yōu)先搜索方法判斷是否形成環(huán)路。
顯然,本發(fā)明的上述實(shí)施例僅僅是為清楚地說(shuō)明本發(fā)明所作的舉例,而并非是對(duì)本發(fā)明的實(shí)施方式的限定。對(duì)于所屬領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在上述說(shuō)明的基礎(chǔ)上還可以做出其它不同形式的變化或變動(dòng)。這里無(wú)需也無(wú)法對(duì)所有的實(shí)施方式予以窮舉。凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明權(quán)利要求的保護(hù)范圍之內(nèi)。