本發(fā)明涉及車載通信領(lǐng)域,具體涉及一種環(huán)網(wǎng)通信冗余控制方法、裝置、電子設(shè)備及可讀存儲(chǔ)介質(zhì)。
背景技術(shù):
1、汽車電動(dòng)化、智能化發(fā)展的快速推進(jìn)對車載系統(tǒng)的能力提出了更高的要求,汽車電子電氣架構(gòu)也隨著高算力計(jì)算中心的實(shí)現(xiàn)逐步向“中央+區(qū)域”形態(tài)演進(jìn),中央計(jì)算中心主要用于計(jì)算及決策,區(qū)域控制器主要用于將車身、傳感相關(guān)數(shù)據(jù)傳輸至中央計(jì)算中心,執(zhí)行中央計(jì)算中心的控制指令。為了保障中央與區(qū)域控制器間數(shù)據(jù)交互的帶寬及可靠性,中央與區(qū)域控制器間通常基于以太網(wǎng)鏈路以環(huán)網(wǎng)形態(tài)進(jìn)行組網(wǎng)實(shí)現(xiàn)通信的互為冗余。
2、環(huán)網(wǎng)通信冗余控制方案的核心在于,通過環(huán)網(wǎng)中各節(jié)點(diǎn)的協(xié)同實(shí)現(xiàn)通信鏈路異常情況下的冗余切換。目前,為實(shí)現(xiàn)車載領(lǐng)域的通信冗余控制,一些解決方案中基于tsn技術(shù)在環(huán)網(wǎng)的各節(jié)點(diǎn)中集成幀復(fù)制、幀消除等功能,確保任意鏈路情況下都有一份正確的報(bào)文。然而,這種方式對節(jié)點(diǎn)的硬件資源要求較高,無法有效解決車輛環(huán)網(wǎng)通信中的冗余控制問題。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明的目的之一在于提供一種環(huán)網(wǎng)通信冗余控制方法、裝置、電子設(shè)備及可讀存儲(chǔ)介質(zhì),以解決車輛環(huán)網(wǎng)通信中的冗余控制問題。
2、為了實(shí)現(xiàn)上述目的,本發(fā)明采用的技術(shù)方案如下:
3、一種環(huán)網(wǎng)通信冗余控制方法,應(yīng)用于車載環(huán)網(wǎng)系統(tǒng),所述車載環(huán)網(wǎng)系統(tǒng)包括多個(gè)節(jié)點(diǎn),所述多個(gè)節(jié)點(diǎn)通過以太網(wǎng)鏈路連接形成環(huán)網(wǎng)鏈路,所述多個(gè)節(jié)點(diǎn)包含主控節(jié)點(diǎn),所述環(huán)網(wǎng)通信冗余控制方法包括:
4、所述節(jié)點(diǎn)響應(yīng)檢測到以太網(wǎng)鏈路異常,基于控制區(qū)域網(wǎng)絡(luò)can通信廣播以太網(wǎng)鏈路的鏈路異常狀態(tài);
5、所述主控節(jié)點(diǎn)根據(jù)獲取到的鏈路異常狀態(tài)判斷是否需要進(jìn)行冗余鏈路切換,并在需要進(jìn)行冗余鏈路切換時(shí),基于can通信廣播冗余切換控制報(bào)文;
6、所述節(jié)點(diǎn)根據(jù)所述冗余切換控制報(bào)文,調(diào)整節(jié)點(diǎn)自身的端口設(shè)置,以根據(jù)調(diào)整后的端口設(shè)置形成新的環(huán)網(wǎng)鏈路。
7、根據(jù)上述技術(shù)手段,利用以太網(wǎng)的鏈路異常檢測機(jī)制及以太網(wǎng)轉(zhuǎn)發(fā)表刷寫機(jī)制使得在鏈路異常情況下以太網(wǎng)通信可以切換至備用以太網(wǎng)鏈路通信,確保關(guān)聯(lián)節(jié)點(diǎn)間的正常通信。
8、進(jìn)一步,所述主控節(jié)點(diǎn)根據(jù)獲取到的鏈路異常狀態(tài)判斷是否需要進(jìn)行冗余鏈路切換,包括:
9、所述主控節(jié)點(diǎn)整合獲取到的鏈路異常狀態(tài),獲得所述車載環(huán)網(wǎng)系統(tǒng)的全局鏈路狀態(tài);
10、所述主控節(jié)點(diǎn)根據(jù)所述全局鏈路狀態(tài),判斷是否需要進(jìn)行冗余鏈路切換。
11、進(jìn)一步,所述主控節(jié)點(diǎn)根據(jù)所述全局鏈路狀態(tài),判斷是否需要進(jìn)行冗余鏈路切換,包括:
12、響應(yīng)所述全局鏈路狀態(tài)在預(yù)設(shè)的第一時(shí)段內(nèi)保持不變,比較所述全局鏈路狀態(tài)與上一次判斷時(shí)記錄的全局鏈路狀態(tài)是否一致;
13、若一致,則不需要進(jìn)行冗余鏈路切換;
14、若不一致,則需要進(jìn)行冗余鏈路切換。
15、進(jìn)一步,所述冗余切換控制報(bào)文攜帶所述全局鏈路狀態(tài),所述節(jié)點(diǎn)根據(jù)所述冗余切換控制報(bào)文,調(diào)整節(jié)點(diǎn)自身的端口設(shè)置,包括:
16、所述節(jié)點(diǎn)根據(jù)所述全局鏈路狀態(tài)和預(yù)設(shè)的映射關(guān)系,確定所述全局鏈路狀態(tài)對應(yīng)的端口參數(shù);
17、所述節(jié)點(diǎn)根據(jù)所述端口參數(shù),調(diào)整節(jié)點(diǎn)對應(yīng)的端口設(shè)置。
18、進(jìn)一步,所述端口參數(shù)包括當(dāng)前節(jié)點(diǎn)對應(yīng)的目標(biāo)節(jié)點(diǎn),所述根據(jù)所述端口參數(shù)調(diào)整節(jié)點(diǎn)對應(yīng)的端口設(shè)置,包括:
19、根據(jù)所述當(dāng)前節(jié)點(diǎn)與故障節(jié)點(diǎn)的數(shù)據(jù)流向,對所述當(dāng)前節(jié)點(diǎn)對應(yīng)的交換機(jī)進(jìn)行報(bào)文收發(fā)阻塞,所述故障節(jié)點(diǎn)為與所述當(dāng)前節(jié)點(diǎn)之間存在鏈路通信異常的節(jié)點(diǎn);
20、將故障節(jié)點(diǎn)的媒體存取控制位址mac地址對應(yīng)的端口修改為所述目標(biāo)節(jié)點(diǎn)的mac地址對應(yīng)的端口。
21、進(jìn)一步,所述冗余切換控制報(bào)文攜帶待切換的冗余鏈路,所述節(jié)點(diǎn)根據(jù)所述冗余切換控制報(bào)文,調(diào)整節(jié)點(diǎn)自身的端口設(shè)置,包括:
22、所述節(jié)點(diǎn)根據(jù)所述待切換的冗余鏈路,調(diào)整節(jié)點(diǎn)自身的端口設(shè)置。
23、進(jìn)一步,所述冗余切換控制報(bào)文包括切換指令和全局鏈路狀態(tài)。
24、進(jìn)一步,所述節(jié)點(diǎn)檢測到以太網(wǎng)鏈路異常,包括:所述節(jié)點(diǎn)檢測到直連的以太網(wǎng)鏈路異常。
25、進(jìn)一步,該環(huán)網(wǎng)通信冗余控制方法還包括:
26、所述節(jié)點(diǎn)周期性檢測以太網(wǎng)鏈路是否異常;
27、相應(yīng)地,所述節(jié)點(diǎn)響應(yīng)檢測到以太網(wǎng)鏈路異常,基于can通信廣播以太網(wǎng)鏈路的鏈路異常狀態(tài),包括:
28、所述節(jié)點(diǎn)響應(yīng)在連續(xù)多個(gè)檢測周期檢測到同一以太網(wǎng)鏈路異常,基于can通信廣播以太網(wǎng)鏈路的鏈路異常狀態(tài)。
29、一種環(huán)網(wǎng)通信冗余控制方法,應(yīng)用于車載環(huán)網(wǎng)系統(tǒng)中的第一節(jié)點(diǎn),所述車載環(huán)網(wǎng)系統(tǒng)包括所述第一節(jié)點(diǎn)以及多個(gè)通過以太網(wǎng)鏈路進(jìn)行連接的第二節(jié)點(diǎn),所述第一節(jié)點(diǎn)與所述第二節(jié)點(diǎn)基于控制區(qū)域網(wǎng)絡(luò)can進(jìn)行通信,所述環(huán)網(wǎng)通信冗余控制方法包括:
30、獲取所述第二節(jié)點(diǎn)基于can通信廣播的鏈路狀態(tài)報(bào)文,所述鏈路狀態(tài)報(bào)文表征所述第二節(jié)點(diǎn)檢測到的以太網(wǎng)鏈路的狀態(tài);
31、根據(jù)所述鏈路狀態(tài)報(bào)文中以太網(wǎng)鏈路的狀態(tài)確定所述車載環(huán)網(wǎng)系統(tǒng)是否需要進(jìn)行冗余鏈路切換,若需要,基于can通信廣播冗余切換控制報(bào)文,所述冗余切換控制報(bào)文用于指示所述第二節(jié)點(diǎn)執(zhí)行鏈路切換操作。
32、進(jìn)一步,所述根據(jù)所述鏈路狀態(tài)報(bào)文中以太網(wǎng)鏈路的狀態(tài)確定所述車載環(huán)網(wǎng)系統(tǒng)是否需要進(jìn)行冗余鏈路切換,包括:
33、整合多個(gè)所述第二節(jié)點(diǎn)檢測到的以太網(wǎng)鏈路的狀態(tài),以得到全局鏈路狀態(tài);
34、根據(jù)所述全局鏈路狀態(tài)判斷是否需要進(jìn)行冗余鏈路切換。
35、進(jìn)一步,所述根據(jù)所述全局鏈路狀態(tài)判斷是否需要進(jìn)行冗余鏈路切換,包括:
36、比對所述全局鏈路狀態(tài)與預(yù)設(shè)的參考鏈路狀態(tài)是否一致;
37、若一致,則判定不需要進(jìn)行冗余鏈路切換;
38、若不一致,則判定需要進(jìn)行冗余鏈路切換,獲取切換后的全局鏈路狀態(tài)并記錄。
39、進(jìn)一步,所述參考鏈路狀態(tài)為上一次判定需要進(jìn)行冗余鏈路切換時(shí)記錄的全局鏈路狀態(tài)。
40、進(jìn)一步,所述冗余切換控制報(bào)文的報(bào)文數(shù)據(jù)場包含用于表征所述全局鏈路狀態(tài)的標(biāo)志位。
41、進(jìn)一步,所述第一節(jié)點(diǎn)與所述第二節(jié)點(diǎn)通過以太網(wǎng)鏈路進(jìn)行連接,所述環(huán)網(wǎng)通信冗余控制方法還包括:
42、檢測連接的以太網(wǎng)鏈路的狀態(tài);
43、所述根據(jù)所述鏈路狀態(tài)報(bào)文中以太網(wǎng)鏈路的狀態(tài)確定所述車載環(huán)網(wǎng)系統(tǒng)是否需要進(jìn)行冗余鏈路切換,包括:
44、根據(jù)檢測到的以太網(wǎng)鏈路的狀態(tài)和所述鏈路狀態(tài)報(bào)文中以太網(wǎng)鏈路的狀態(tài)確定所述車載環(huán)網(wǎng)系統(tǒng)是否需要進(jìn)行冗余鏈路切換。
45、進(jìn)一步,還包括:
46、響應(yīng)于確定需要進(jìn)行冗余鏈路切換,根據(jù)所述全局鏈路狀態(tài)確定是否需要執(zhí)行鏈路切換操作,并在需要時(shí)執(zhí)行鏈路切換操作。
47、一種環(huán)網(wǎng)通信冗余控制方法,應(yīng)用于車載環(huán)網(wǎng)系統(tǒng)中的第二節(jié)點(diǎn),所述第二節(jié)點(diǎn)有多個(gè),不同第二節(jié)點(diǎn)之間通過以太網(wǎng)鏈路進(jìn)行連接,所述車載環(huán)網(wǎng)系統(tǒng)還包括與所述第二節(jié)點(diǎn)基于控制區(qū)域網(wǎng)絡(luò)can進(jìn)行通信的第一節(jié)點(diǎn),所述環(huán)網(wǎng)通信冗余控制方法包括:
48、檢測連接的以太網(wǎng)鏈路的狀態(tài);
49、響應(yīng)于確定所述以太網(wǎng)鏈路的狀態(tài)滿足預(yù)設(shè)的異常條件,基于can通信廣播鏈路狀態(tài)報(bào)文,所述鏈路狀態(tài)報(bào)文表征所述以太網(wǎng)鏈路的狀態(tài);
50、接收所述第一節(jié)點(diǎn)基于can通信廣播的冗余切換控制報(bào)文;
51、根據(jù)所述冗余切換控制報(bào)文確定是否需要執(zhí)行鏈路切換操作,若需要,則執(zhí)行鏈路切換操作。
52、進(jìn)一步,所述檢測連接的以太網(wǎng)鏈路的狀態(tài),包括:
53、周期性檢測連接的以太網(wǎng)鏈路的狀態(tài);
54、相應(yīng)地,所述響應(yīng)于確定所述以太網(wǎng)鏈路的狀態(tài)滿足預(yù)設(shè)的異常條件,基于can通信廣播鏈路狀態(tài)報(bào)文,包括:
55、確定是否在連續(xù)多個(gè)檢測周期檢測到所述以太網(wǎng)鏈路的狀態(tài)為異常狀態(tài),若是,則基于can通信廣播鏈路狀態(tài)報(bào)文。
56、進(jìn)一步,所述鏈路狀態(tài)報(bào)文的報(bào)文數(shù)據(jù)場包括節(jié)點(diǎn)標(biāo)志位和狀態(tài)標(biāo)志位,所述節(jié)點(diǎn)標(biāo)志位表征發(fā)出所述鏈路狀態(tài)報(bào)文的節(jié)點(diǎn)的身份信息,所述狀態(tài)標(biāo)志位表征以太網(wǎng)鏈路的狀態(tài)。
57、進(jìn)一步,所述冗余切換控制報(bào)文包含全局鏈路狀態(tài),所述全局鏈路狀態(tài)包括所述車載環(huán)網(wǎng)系統(tǒng)中多個(gè)第二節(jié)點(diǎn)對應(yīng)的以太網(wǎng)鏈路的狀態(tài),所述根據(jù)所述冗余切換控制報(bào)文確定是否需要執(zhí)行鏈路切換操作,包括:
58、根據(jù)所述全局鏈路狀態(tài)和預(yù)設(shè)的映射關(guān)系,確定需連通的目標(biāo)鏈路,所述目標(biāo)鏈路是基于當(dāng)前第二節(jié)點(diǎn)與其他第二節(jié)點(diǎn)之間連接的以太網(wǎng)鏈路確定的;
59、若所述目標(biāo)鏈路與當(dāng)前第二節(jié)點(diǎn)已連通的以太網(wǎng)鏈路不一致,則需要執(zhí)行鏈路切換操作;
60、若所述目標(biāo)鏈路與當(dāng)前第二節(jié)點(diǎn)已連通的以太網(wǎng)鏈路一致,則不需要執(zhí)行鏈路切換操作。
61、進(jìn)一步,所述執(zhí)行鏈路切換操作,包括:
62、根據(jù)所述目標(biāo)鏈路確定需連通的目標(biāo)節(jié)點(diǎn);
63、將所述目標(biāo)節(jié)點(diǎn)對應(yīng)的端口修改為所述目標(biāo)鏈路所在的端口。
64、一種環(huán)網(wǎng)通信冗余控制裝置,應(yīng)用于車載環(huán)網(wǎng)系統(tǒng),所述車載環(huán)網(wǎng)系統(tǒng)包括多個(gè)節(jié)點(diǎn),所述多個(gè)節(jié)點(diǎn)通過以太網(wǎng)鏈路連接形成環(huán)網(wǎng)鏈路,所述多個(gè)節(jié)點(diǎn)包含主控節(jié)點(diǎn),所述環(huán)網(wǎng)通信冗余控制裝置包括:
65、節(jié)點(diǎn)檢測模塊,用于控制所述節(jié)點(diǎn)響應(yīng)檢測到以太網(wǎng)鏈路異常,基于控制區(qū)域網(wǎng)絡(luò)can通信廣播以太網(wǎng)鏈路的鏈路異常狀態(tài);
66、主控管理模塊,用于控制所述主控節(jié)點(diǎn)根據(jù)獲取到的鏈路異常狀態(tài)判斷是否需要進(jìn)行冗余鏈路切換,并在需要進(jìn)行冗余鏈路切換時(shí),基于can通信廣播冗余切換控制報(bào)文;
67、切換模塊,用于控制所述節(jié)點(diǎn)根據(jù)所述冗余切換控制報(bào)文,調(diào)整節(jié)點(diǎn)自身的端口設(shè)置,以根據(jù)調(diào)整后的端口設(shè)置形成新的環(huán)網(wǎng)鏈路。
68、一種電子設(shè)備,包括:處理器,以及與所述處理器通信連接的存儲(chǔ)器;
69、所述存儲(chǔ)器存儲(chǔ)計(jì)算機(jī)執(zhí)行指令;
70、所述處理器執(zhí)行所述存儲(chǔ)器存儲(chǔ)的計(jì)算機(jī)執(zhí)行指令,以實(shí)現(xiàn)如以上任一項(xiàng)所述的環(huán)網(wǎng)通信冗余控制方法。
71、一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),包括:所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中存儲(chǔ)有計(jì)算機(jī)執(zhí)行指令,所述計(jì)算機(jī)執(zhí)行指令被處理器執(zhí)行時(shí)用于實(shí)現(xiàn)如以上任一項(xiàng)所述的環(huán)網(wǎng)通信冗余控制方法。
72、一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)程序,該計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如以上任一項(xiàng)所述的環(huán)網(wǎng)通信冗余控制方法。
73、本發(fā)明的有益效果:
74、(1)本發(fā)明中以太網(wǎng)鏈路檢測及判斷切換鏈路在不同節(jié)點(diǎn)間的協(xié)同均通過can通信實(shí)現(xiàn),可以利用can通信的高可靠性確保在任意以太網(wǎng)鏈路異常的情況下所有以太網(wǎng)鏈路的狀態(tài)能夠被同步到對應(yīng)節(jié)點(diǎn),從而可以提高車載環(huán)網(wǎng)系統(tǒng)整體通信的可靠性;
75、(2)本發(fā)明中以太網(wǎng)鏈路檢測、冗余鏈路切換控制可以基于以太網(wǎng)通信本身實(shí)現(xiàn),通過在主控節(jié)點(diǎn)中集成根據(jù)鏈路異常狀態(tài)判斷是否切換鏈路以及廣播切換控制報(bào)文的功能,對主控節(jié)點(diǎn)以外的其他節(jié)點(diǎn)要求較低,從而可以降低車載環(huán)網(wǎng)通信冗余控制方案對節(jié)點(diǎn)硬件資源的要求,相較于現(xiàn)有控制方案更加簡單易行,可用性更強(qiáng)。