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