董敬超,崔紅月
(1. 北京交通大學(xué),北京 100044;2. 中車唐山機車車輛有限公司,河北 唐山 063000)
在動車運行過程中,車輛檢測器件,交互組件,以及控制單元將產(chǎn)生大量異構(gòu)的數(shù)據(jù),而這些數(shù)據(jù)的集中處理需要依靠動車通信網(wǎng)絡(luò),進(jìn)行及時可靠的傳輸。由于這些數(shù)據(jù)直接影響動車運行的狀態(tài),因此動車通信網(wǎng)絡(luò)的可靠性與可用性至關(guān)重要[1-2]。對于動車的大量數(shù)據(jù)與復(fù)雜控制,通信網(wǎng)絡(luò)在滿足大數(shù)據(jù)吞吐量的同時,也要盡可能提高傳輸速率與網(wǎng)絡(luò)安全[3-4],傳統(tǒng)的以太網(wǎng)通信協(xié)議已經(jīng)難以應(yīng)對應(yīng)用需求,對此,研究人員也提出了一些優(yōu)化的網(wǎng)絡(luò)方法。
文獻(xiàn)[5]采用對交換機進(jìn)行優(yōu)先等級劃分的方式,優(yōu)化了網(wǎng)絡(luò)傳輸?shù)乃俣?,但是該方法沒有實現(xiàn)網(wǎng)絡(luò)的冗余設(shè)計,通信數(shù)據(jù)的可靠性無法保證。文獻(xiàn)[6]針對交換機設(shè)計了混合調(diào)度策略,通過演算理論判斷各類數(shù)據(jù)對應(yīng)的時間窗口,從而提高網(wǎng)絡(luò)數(shù)據(jù)的傳輸實時性,但是該方法也沒有考慮動車通信網(wǎng)絡(luò)的高可用與高可靠。文獻(xiàn)[7]采用了PRP與HSR的網(wǎng)絡(luò)結(jié)構(gòu),提升了網(wǎng)絡(luò)異常恢復(fù)的速度,而且網(wǎng)絡(luò)實現(xiàn)了冗余設(shè)計,提高了通信數(shù)據(jù)的可靠性,但是網(wǎng)絡(luò)的高可用沒有采取優(yōu)化。針對動車運行的實際需要與現(xiàn)有研究的缺陷,提出了高可用無縫冗余傳輸策略。網(wǎng)絡(luò)整體采用主從熱備機制,保證通信網(wǎng)絡(luò)大吞吐量的同時,也引入了網(wǎng)絡(luò)冗余設(shè)計,提高網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)目煽啃裕以O(shè)計的優(yōu)先級調(diào)度策略,以及協(xié)議中加入的冗余參數(shù),都能夠有效改善網(wǎng)絡(luò)的傳輸延時。
動車在啟動運行過程中,會產(chǎn)生大量的通信數(shù)據(jù),這些數(shù)據(jù)類型復(fù)雜且異構(gòu),分為過程、消息、監(jiān)控、流,以及其它數(shù)據(jù),它們包含了車輛啟動運行時的所有檢測、指令與故障信息,通過列車通信系統(tǒng)的并行拓?fù)鋫鬟f到各個機構(gòu)處理??紤]到數(shù)據(jù)量與傳輸速度,并行冗余通信的底層選擇數(shù)據(jù)帶寬大的Ethernet及其相應(yīng)協(xié)議,并根據(jù)實際需求對運行其上的傳輸協(xié)議與應(yīng)用協(xié)議做出相應(yīng)的修改與優(yōu)化,通過高性能網(wǎng)絡(luò)路由完成通信鏈路的測試與切換任務(wù)。為了具有良好的可靠性,在動車上層通信協(xié)議中,設(shè)計了雙層通信拓?fù)銭TB和ECN,并在其上應(yīng)用冗余協(xié)議。具體實現(xiàn)如圖1中描述。
圖1 動車通信網(wǎng)絡(luò)的冗余設(shè)計
圖中描述了兩個并行通信網(wǎng)絡(luò),共同實現(xiàn)通信協(xié)議的高可用。每個并行通信網(wǎng)絡(luò)又分別具有ETB和ECN兩層,其中ETB層采取的是線性結(jié)構(gòu)的工作機制,ECN層采取的是環(huán)結(jié)構(gòu)工作機制。并行通信網(wǎng)絡(luò)之間的ETB根據(jù)設(shè)計的競爭機制,獲得主機通信權(quán)力,另外的ETB自動成為備機。由主ETB對通信協(xié)議做初始化,以及參與通信數(shù)據(jù)的包裝,同時由主ETB中的ETBN和ECN建立通信,ETBN會把并行通信網(wǎng)絡(luò)的ECN區(qū)分為主從,從而形成主從熱備狀態(tài),提高可用性。在發(fā)現(xiàn)其中一個ETB或者ECN宕機時,自動喚行另外的備機,繼續(xù)通信,保證可靠性。
在動車通信數(shù)據(jù)中,監(jiān)控與故障數(shù)據(jù)是最為重要的,這類數(shù)據(jù)應(yīng)該盡可能保證其時效性與安全性,而相對次要的數(shù)據(jù)則可以適當(dāng)調(diào)整其傳輸周期及包結(jié)構(gòu)。如果在動車運行中發(fā)生通信故障,應(yīng)該做到50ms內(nèi)實現(xiàn)恢復(fù),才能滿足傳輸性能要求,由于PRP協(xié)議的并發(fā)特點,可以在通信故障情況下進(jìn)行無縫切換,該過程的耗時遠(yuǎn)遠(yuǎn)小于要求的50ms,因此將其用于上層通信協(xié)議中,有利于網(wǎng)絡(luò)的高可用。而相對于實時性要求并不強的數(shù)據(jù),可以將其重要程度進(jìn)行降檔處理,采取交替?zhèn)鬏斕幚?,由此可以?jié)約帶寬,保障重要數(shù)據(jù)的傳遞性能能。
在并行傳輸?shù)倪^程中,PRP協(xié)議利用LRE準(zhǔn)備網(wǎng)絡(luò)傳輸報文,報文格式如圖2所示。如果執(zhí)行的是發(fā)送處理,通過LRE把傳輸報文采取副本機制,同時追加4 Byte冗余參數(shù)RCT,再將雙副本報文傳輸?shù)礁鞑⑿芯W(wǎng)絡(luò),從而提高報文發(fā)送的冗余性。如果執(zhí)行的是接收處理,LRE采取逆向操作,根據(jù)報文冗余參數(shù)判斷副本,保證數(shù)據(jù)的安全與可靠。
圖2 傳輸報文格式
報文尾部追加的冗余參數(shù)由16bit的序列碼SequenceNr,4bit的標(biāo)識符LAN,以及12bit的數(shù)據(jù)字節(jié)數(shù)量LSNU-size構(gòu)成。當(dāng)開始一次新的發(fā)送任務(wù)時,LRE會在準(zhǔn)備報文的同時對前一次的SequenceNr進(jìn)行遞增,作為本次的序列碼填充到報文中。LSNU-size為報文中數(shù)據(jù)字節(jié)數(shù)量,根據(jù)該值可以判斷是否要采取冗余操作,若判斷出數(shù)據(jù)未包含冗余參數(shù)時,則將報文不做任何處理進(jìn)行轉(zhuǎn)發(fā)。LAN用于控制將報文發(fā)往哪個并行網(wǎng)絡(luò)中,所以多個副本發(fā)送時,只有該值是不同的。多副本通過并行網(wǎng)絡(luò)傳輸,接收報文的時間有先后,LRE根據(jù)冗余參數(shù)判斷報文是否存在,如果不存在,保留報文,反之拋出。這種處理方法可以有效避免某個并發(fā)網(wǎng)絡(luò)異常,使得傳輸鏈路不通,導(dǎo)致報文丟失,通信中斷。該處理利用并發(fā)網(wǎng)絡(luò)采取副本冗余機制,將一個報文從多條鏈路傳輸,接收節(jié)點只需要根據(jù)冗余參數(shù)確定報文的去留即可,而且不會增加網(wǎng)絡(luò)傳輸帶寬和傳輸開銷。
在拋棄報文時,需要根據(jù)SequenceNr確定拋棄窗口,此時涉及到上下邊界問題,假定窗口范圍表示為[StarSequence,ExpectedSequence],且當(dāng)前收到的SequenceNr是CurrentSequence,則可以得到
ExpectedSequence=CurrentSequence+1
(1)
報文拋棄窗口設(shè)計如圖3所示,假定某次通信收到LANB的傳輸報文,通過SequenceNr進(jìn)行判斷,如果該報文同樣也來自于LANA,則將該報文與拋棄窗口進(jìn)行比較,并判定來自兩個并發(fā)網(wǎng)絡(luò)報文的有效性,判定依據(jù)如下
圖3 報文拋棄窗口設(shè)計
(2)
當(dāng)序列碼滿足該條件時,判定為拋棄接收到的LANB報文
(3)
當(dāng)序列碼滿足該條件時,判定為保留接收到的LANB報文。
在所設(shè)計的動車通信網(wǎng)絡(luò)中,實現(xiàn)高可用與無縫冗余功能的是兩個并行網(wǎng)絡(luò),分別標(biāo)記為A和B,它們構(gòu)成雙機熱備系統(tǒng),假定A發(fā)生異常的概率是p1,異?;謴?fù)的概率是u1,B發(fā)生異常的概率是p2,異常恢復(fù)的概率是u2,則通信網(wǎng)絡(luò)整體失效的概率可以表示為
(4)
網(wǎng)絡(luò)拓?fù)湓O(shè)備的恢復(fù)概率一般可看作固定不變,即有u1=u2=1/tmttr,假設(shè)每個并行網(wǎng)絡(luò)中設(shè)置4臺交換機,則每個并行網(wǎng)絡(luò)的可用程度計算為
(5)
根據(jù)動態(tài)故障狀態(tài)的特點,采取si描述網(wǎng)絡(luò)狀態(tài)i對應(yīng)的穩(wěn)態(tài)概率如下
(6)
其中的Q代表狀態(tài)矩陣,由故障概率與恢復(fù)概率,得到關(guān)于網(wǎng)絡(luò)狀態(tài)矩陣Q如下
(7)
利用式(6)和式(7),整理得到關(guān)于穩(wěn)態(tài)分布的公式如下
(8)
網(wǎng)絡(luò)拓?fù)鋯蝹€設(shè)備的故障率通常是固定不變的,利用前述公式便可以計算出網(wǎng)絡(luò)的靜態(tài)可靠性。對于動態(tài)組件,比如DANH端口,假定其異常概率是p,異?;謴?fù)的概率是u,基于并行網(wǎng)絡(luò)的平等特點,可以將動態(tài)組件的故障狀態(tài)描述如圖4所示。
圖4 故障狀態(tài)描述
此時,可以將狀態(tài)矩陣表示為
(9)
對應(yīng)的穩(wěn)態(tài)概率可以描述如下
(10)
根據(jù)式(9)和式(10),整理得出穩(wěn)態(tài)分布公式為
(11)
據(jù)此,可以求出通信網(wǎng)路的動態(tài)可靠度。
為了驗證設(shè)計的動車高可用無縫冗余通信網(wǎng)絡(luò)的性能,基于TimeNet平臺建立仿真分析,分別從通信可靠性、傳輸延時,以及數(shù)據(jù)吞吐量三個方面對其進(jìn)行驗證。
在本文設(shè)計的高可用冗余通信網(wǎng)絡(luò)中,其中任何一個并行網(wǎng)絡(luò)發(fā)生故障,造成通信鏈路中斷時,另外的副本網(wǎng)絡(luò)都會無縫接替其工作,恢復(fù)通信,因此,將可靠性定義如下
Rs=RETB×RECN
(12)
等式右側(cè)的兩項依次代表ETB和ECN兩層的可靠度,通過仿真,得到高可用無縫冗余網(wǎng)絡(luò)的可靠性結(jié)果如圖5所示。根據(jù)結(jié)果曲線分析可知,單一網(wǎng)絡(luò),沒有冗余設(shè)計時,一旦存在故障且不能及時恢復(fù),就會導(dǎo)致通信失敗,可靠性差。而引入高可用冗余設(shè)計后,提高了網(wǎng)絡(luò)抗故障的能力,雙機熱備能夠?qū)崿F(xiàn)監(jiān)督機制,發(fā)現(xiàn)主機網(wǎng)絡(luò)存在故障,從機網(wǎng)絡(luò)快速轉(zhuǎn)為工作模式。
圖5 動車通信網(wǎng)絡(luò)可靠性結(jié)果曲線
引入傳統(tǒng)PRP協(xié)議與本文方法進(jìn)行性能對比,實驗得到兩種通信網(wǎng)絡(luò)中對應(yīng)的可靠性相關(guān)數(shù)據(jù)如表1所示。根據(jù)實驗數(shù)據(jù)對比,本文方法顯著降低了網(wǎng)絡(luò)故障的概率,發(fā)生故障的平均間隔比傳統(tǒng)PRP延長了將近一倍的時間,且真正實現(xiàn)了通信網(wǎng)絡(luò)的高可用性。從可靠性的角度分析,本文方法能夠顯著提高動車通信網(wǎng)絡(luò)的傳輸性能。
表1 可靠性數(shù)據(jù)結(jié)果對比
在動車通信網(wǎng)絡(luò)中,報文傳輸?shù)臅r間計算公式可以表示為
T=Ln/Bwidth
(13)
其中,Ln表示傳輸數(shù)據(jù)的字節(jié)數(shù)量,Bwidth表示網(wǎng)絡(luò)帶寬??紤]到過程數(shù)據(jù)的形成具有的周期性,在其周期改變的過程中觀測與通信時間的關(guān)系。實驗過程中,采用傳統(tǒng)PRP協(xié)議與本文方法進(jìn)行對比,通信延時結(jié)果曲線如圖6所示。根據(jù)結(jié)果曲線可知,隨著數(shù)據(jù)形成周期的增加,在15ms之前,傳統(tǒng)PRP協(xié)議傳輸延時呈現(xiàn)下降趨勢,當(dāng)周期變化到15ms時,下降平緩,并趨于穩(wěn)定,保持在0.6ms左右。而本文的高可用冗余協(xié)議無論周期如何變化,始終穩(wěn)定在0.2ms左右,通信延時明顯優(yōu)于傳統(tǒng)PRP協(xié)議。導(dǎo)致該結(jié)果的原因是由于本文方法將傳輸數(shù)據(jù)進(jìn)行重要程度區(qū)分等級,在協(xié)議中對重要程度最高的數(shù)據(jù)采取并行發(fā)送,處理周期更快,報文更小;而重要程度較弱的數(shù)據(jù)則采取大報文,串行發(fā)送,使優(yōu)先級低的數(shù)據(jù)讓優(yōu)先級高的數(shù)據(jù)先行,這種優(yōu)先級調(diào)度策略有效保證了實時性要求高的數(shù)據(jù)傳遞性能。
圖6 通信延時結(jié)果曲線
數(shù)據(jù)吞吐量也是衡量通信網(wǎng)絡(luò)性能的重要指標(biāo),它的計算公式表示如下
(14)
其中,E{Pm}是待傳輸數(shù)據(jù)的平均標(biāo)識數(shù),Ln是傳輸報文的字節(jié)數(shù)。由于數(shù)據(jù)字節(jié)的多少會影響數(shù)據(jù)吞吐量,因此在實驗過程中,改變數(shù)據(jù)報文的生成速度,得到吞吐量的變化情況,如圖7所示。
圖7 吞吐量和報文生成速度曲線
根據(jù)結(jié)果曲線分析,隨著報文生成速度的增長,通信網(wǎng)絡(luò)的數(shù)據(jù)吞吐量會隨之增加,但是本文方法的吞吐量增長速度更快,且一直高于傳統(tǒng)PRP方法,這也是由于協(xié)議中采用了優(yōu)先級調(diào)度策略導(dǎo)致的。
動車通信網(wǎng)絡(luò)需要完成大量異構(gòu)數(shù)據(jù)的傳輸,傳統(tǒng)傳輸協(xié)議存在可靠性與實時性等諸多性能缺陷,為此,本文提出并設(shè)計了關(guān)于動車通信網(wǎng)絡(luò)的高可用無縫冗余傳輸協(xié)議。方法首先針對動車通信網(wǎng)絡(luò)中數(shù)據(jù)的類型與傳輸要求,設(shè)計了雙層通信拓?fù)銭TB和ECN,并在并行網(wǎng)絡(luò)中形成主從熱備。然后根據(jù)數(shù)據(jù)的重要程度與實時性要求,設(shè)計優(yōu)先級調(diào)度策略,將傳輸數(shù)據(jù)劃分為不同等級,并采取不同的傳輸策略。再在傳輸報文尾部追加冗余參數(shù),并設(shè)計報文拋棄窗口,對冗余參數(shù)進(jìn)行判定,處理接收報文。最后對動車通信網(wǎng)絡(luò)可靠性進(jìn)行了相應(yīng)分析。實驗結(jié)果表明,高可用無縫冗余協(xié)議具有比傳統(tǒng)通信協(xié)議更高的傳輸可靠性,且報文傳輸延時更小,數(shù)據(jù)吞吐量更大,能夠有效處理動車大量異構(gòu)的數(shù)據(jù)傳輸。