本發(fā)明涉及航空電子,更具體而言涉及一種用于對機載網(wǎng)絡(luò)中的丟失幀進行復(fù)原的方法和系統(tǒng)。
背景技術(shù):
1、航空電子系統(tǒng)中往往采用afdx(avionics?full-duplex?switched?ethernet)來進行機上通信。afdx是一種高速以太網(wǎng)協(xié)議,它通過使用全雙工交換以太網(wǎng)來實現(xiàn)高可靠性和低延遲的數(shù)據(jù)傳輸。然而,盡管afdx設(shè)計初衷是為了提高可靠性和減少幀丟失,但在實際應(yīng)用中,幀丟失仍有可能發(fā)生。
2、當(dāng)網(wǎng)絡(luò)流量超過交換機或機載網(wǎng)絡(luò)的處理能力時,就會發(fā)生網(wǎng)絡(luò)擁塞,從而導(dǎo)致數(shù)據(jù)幀丟失。同時,不正確的網(wǎng)絡(luò)配置(如端口配置或帶寬分配)也可能導(dǎo)致數(shù)據(jù)幀丟失。
3、當(dāng)前機上網(wǎng)絡(luò)的幀丟失會導(dǎo)致飛行安全風(fēng)險系數(shù)增加。另外,發(fā)送端和接收端的握手重傳并不能保證丟失幀一定能通過重傳被成功接收。即使丟失幀通過重傳能夠被接收端成功接收,也不能保證接收端能在合理的時間內(nèi)及時接收到丟失幀。這使得無法保證及時提供飛機飛行過程中每時每刻的數(shù)據(jù)幀。飛機飛行的過程中,關(guān)鍵的飛行數(shù)據(jù)(數(shù)據(jù)幀)的丟失會導(dǎo)致飛機的安全裕度下降。
4、現(xiàn)有的針對飛機上丟失的數(shù)據(jù)幀進行復(fù)原方法非常少,僅有網(wǎng)絡(luò)監(jiān)控和管理、設(shè)備冗余、握手重傳等方式,這些方式并不能及時可靠地恢復(fù)丟失幀。
5、有鑒于此,期望提供一種改進的用于對機載網(wǎng)絡(luò)中的丟失幀進行復(fù)原的方法和系統(tǒng)。
技術(shù)實現(xiàn)思路
1、以下給出一個或多個方面的簡要概述以提供對這些方面的基本理解。此概述不是所有構(gòu)想到的方面的詳盡綜覽,并且既非旨在標識出所有方面的關(guān)鍵性或決定性要素亦非試圖界定任何或所有方面的范圍。其唯一的目的是以簡化形式給出一個或多個方面的一些概念以作為稍后給出的更詳細描述之序言。
2、本發(fā)明提供了一種用于對機載網(wǎng)絡(luò)中的丟失幀進行復(fù)原的方法,包括:對該機載網(wǎng)絡(luò)中發(fā)送端與接收端之間的丟失幀進行時間標記,該丟失幀表示在帶寬分配間隔(bag)內(nèi)未被正確接收或處理的幀;為該丟失幀創(chuàng)建虛擬鏈路;基于該丟失幀的預(yù)計傳輸時間t以及該發(fā)送端與該接收端的往返時間rtt來確定是否需要對該丟失幀進行分片處理,該預(yù)計傳輸時間t包括從該丟失幀被標記的時間到預(yù)計該接收端接收到該丟失幀的時間之間的時間段;在確定需要對該丟失幀進行分片處理的情況下,將該丟失幀切成特定數(shù)目的分片;通過該虛擬鏈路將該特定數(shù)目的分片傳輸至該接收端;以及根據(jù)該接收端接收到的分片來復(fù)原該丟失幀。
3、在一些實施例中,該方法進一步包括:基于丟失幀被標記的時間的先后順序來確定丟失幀的優(yōu)先級;以及按照優(yōu)先級來調(diào)度對丟失幀的重傳。
4、在一些實施例中,基于丟失幀的預(yù)計傳輸時間t以及發(fā)送端與接收端的往返時間rtt來確定是否要對丟失幀進行分片處理進一步包括:如果t<rtt,則確定不需要對丟失幀進行分片處理;以及如果t≧rtt,則確定需要對丟失幀進行分片處理。
5、在一些實施例中,該方法進一步包括:在確定不需要對丟失幀進行分片處理的情況下,通過虛擬鏈路將丟失幀重傳至接收端。
6、在一些實施例中,該方法進一步包括:基于接收端接收到的所有分片中每一分片的幀頭來確定特定數(shù)目的分片中是否有分片在傳輸中丟失,每一分片的幀頭包括該分片所屬幀的幀序列號、分片總數(shù)、分片序號;如果有分片丟失,則對丟失分片進行分片處理以獲得子分片;以及將子分片重傳至接收端,直至接收端接收到特定數(shù)目的分片。
7、在一些實施例中,該方法進一步包括:根據(jù)接收端接收到的分片的幀頭中包括的分片總數(shù)、幀序列號、分片序號對接收到的所有分片進行排序;以及對經(jīng)排序的分片進行組包以復(fù)原丟失幀。
8、在一些實施例中,為丟失幀創(chuàng)建虛擬鏈路進一步包括:為發(fā)送端和接收端創(chuàng)建新的udp地址和新的通信端口,并使發(fā)送端和接收端的mac地址和ip地址保持不變。
9、在一些實施例中,特定數(shù)目的分片中的每一分片占用一個新的udp地址和一個新的通信端口,并且在接收端接收到分片之后釋放相應(yīng)的udp地址和通信端口。
10、本發(fā)明還提供了一種用于對機載網(wǎng)絡(luò)中的丟失幀進行復(fù)原的系統(tǒng),包括:時間標記模塊,其被配置成:對該機載網(wǎng)絡(luò)中發(fā)送端與接收端之間的丟失幀進行時間標記,該丟失幀表示在帶寬分配間隔(bag)內(nèi)未被正確接收或處理的幀;虛擬鏈路創(chuàng)建模塊,其被配置成:為該丟失幀創(chuàng)建虛擬鏈路;分片判斷模塊,其被配置成:基于該丟失幀的預(yù)計傳輸時間t以及該發(fā)送端與該接收端的往返時間rtt來確定是否需要對該丟失幀進行分片處理,該預(yù)計傳輸時間t包括從該丟失幀被標記的時間到預(yù)計該接收端接收到該丟失幀的時間之間的時間段;分片處理模塊,其被配置成:在確定需要對該丟失幀進行分片處理的情況下,將該丟失幀切成特定數(shù)目的分片;傳輸模塊,其被配置成:通過該虛擬鏈路將該特定數(shù)目的分片傳輸至該接收端;以及復(fù)原模塊,其被配置成:根據(jù)該接收端接收到的分片來復(fù)原該丟失幀。
11、在一些實施例中,該系統(tǒng)還包括幀重傳調(diào)度模塊,其被配置成:基于丟失幀被標記的時間的先后順序來確定丟失幀的優(yōu)先級;以及按照優(yōu)先級來調(diào)度對丟失幀的重傳。
12、在一些實施例中,分片判斷模塊被進一步配置成:如果t<rtt,則確定不需要對丟失幀進行分片處理;以及如果t≧rtt,則確定需要對丟失幀進行分片處理。
13、在一些實施例中,傳輸模塊被進一步配置成:在確定不需要對丟失幀進行分片處理的情況下,通過虛擬鏈路將丟失幀重傳至接收端。
14、在一些實施例中,傳輸模塊被進一步配置成:基于接收端接收到的所有分片中每一分片的幀頭來確定特定數(shù)目的分片中是否有分片在傳輸中丟失,每一分片的幀頭包括該分片所屬幀的幀序列號、分片總數(shù)、分片序號;如果有分片丟失,則對丟失分片進行分片處理以獲得子分片;以及將子分片重傳至接收端,直至接收端接收到特定數(shù)目的分片。
15、在一些實施例中,復(fù)原模塊被進一步配置成:根據(jù)接收端接收到的分片的幀頭中包括的分片總數(shù)、幀序列號、分片序號對接收到的所有分片進行排序;以及對經(jīng)排序的分片進行組包以復(fù)原丟失幀。
16、在一些實施例中,虛擬鏈路創(chuàng)建模塊被進一步配置成:為發(fā)送端和接收端創(chuàng)建新的udp地址和新的通信端口,并使發(fā)送端和接收端的mac地址和ip地址保持不變。
17、在一些實施例中,特定數(shù)目的分片中的每一分片占用一個新的udp地址和一個新的通信端口,并且在接收端接收到分片之后釋放相應(yīng)的udp地址和通信端口。
18、本發(fā)明還提供了一種計算機可讀介質(zhì),其存儲用于對機載網(wǎng)絡(luò)中的丟失幀進行復(fù)原的計算機程序,這些計算機程序能被處理器執(zhí)行以執(zhí)行前述用于對機載網(wǎng)絡(luò)中的丟失幀進行復(fù)原的方法。
19、本發(fā)明的技術(shù)方案對丟失幀進行時間標記以記錄其被丟棄的時間,并利用被丟棄時間的先后順序來調(diào)度丟失幀的重傳,使得接收端能夠在bag內(nèi)及時接收到丟失幀,不影響bag前后的數(shù)據(jù)幀傳輸。另外,通過對丟失幀進行分片判斷和分片傳輸,能夠保證接收端100%接收到發(fā)送端發(fā)送的所有數(shù)據(jù)幀,從而確保數(shù)據(jù)傳輸可靠性和效率。