左 林 劉 貞 王一民
(1.北京全路通信信號(hào)研究設(shè)計(jì)院集團(tuán)有限公司,北京 100070;2.北京市高速鐵路運(yùn)行控制系統(tǒng)工程技術(shù)研究中心,北京 100070)
安全計(jì)算機(jī)平臺(tái)是鐵路信號(hào)系統(tǒng)的基礎(chǔ),必須滿(mǎn)足“故障-安全”原則[1-2],保證在系統(tǒng)發(fā)生故障時(shí)不產(chǎn)生危險(xiǎn)側(cè)輸出。DS6-80地面信號(hào)安全平臺(tái)(簡(jiǎn)稱(chēng)安全平臺(tái))采用二乘二取二架構(gòu)[3-6],主要提供通信、安全計(jì)算、存儲(chǔ)和維護(hù)功能,通過(guò)EN50126/128/129標(biāo)準(zhǔn)的SIL4級(jí)安全認(rèn)證,滿(mǎn)足鐵路地面信號(hào)控制設(shè)備的高可靠性與高安全性的要求,可支持高安全等級(jí)要求的關(guān)鍵應(yīng)用,如城軌地面ZC系統(tǒng)以及大鐵RBC、TSRS、CBI等系統(tǒng)[7-9]。
安全平臺(tái)的結(jié)構(gòu)如圖1所示,由完全相同的兩系組成。每系負(fù)責(zé)安全計(jì)算的部分采用雙CPU實(shí)現(xiàn)二取二操作,負(fù)責(zé)與外部以太網(wǎng)通信的CPU提供7個(gè)以太網(wǎng)通道,每個(gè)通道最多可配置200個(gè)通信連接。每系還通過(guò)以太網(wǎng)與維護(hù)機(jī)相連。
圖1 安全平臺(tái)結(jié)構(gòu)示意圖Fig.1 Schematic diagram of safety platform structure
本文介紹一種安全平臺(tái)通信性能測(cè)試系統(tǒng),將所有測(cè)試案例預(yù)先設(shè)置好,對(duì)安全平臺(tái)的通信性能進(jìn)行自動(dòng)化測(cè)試。測(cè)試結(jié)果可作為判定產(chǎn)品是否合格的依據(jù),達(dá)到控制產(chǎn)品質(zhì)量、及時(shí)發(fā)現(xiàn)問(wèn)題的目的。
常見(jiàn)的測(cè)試方法主要有白盒測(cè)試、黑盒測(cè)試、灰盒測(cè)試等。白盒測(cè)試需要測(cè)試者對(duì)軟件源代碼或硬件設(shè)計(jì)原理圖進(jìn)行分析,從而發(fā)現(xiàn)缺陷或錯(cuò)誤。黑盒測(cè)試將被測(cè)對(duì)象看作內(nèi)部結(jié)構(gòu)未知的整體,通過(guò)輸入數(shù)據(jù)并查看輸出結(jié)果以判斷是否滿(mǎn)足指定的要求?;液袦y(cè)試則兼具白盒和黑盒測(cè)試的特點(diǎn)。一般來(lái)說(shuō),白盒測(cè)試較為復(fù)雜,測(cè)試者需要掌握軟硬件的具體設(shè)計(jì)實(shí)現(xiàn)過(guò)程及測(cè)試?yán)碚摚覝y(cè)試結(jié)果通常不夠直觀(guān)。而黑盒測(cè)試的技術(shù)門(mén)檻低,能夠做到自動(dòng)化測(cè)試,并且可以制作豐富的人機(jī)交互界面,在方便操作的同時(shí)可直觀(guān)展示出測(cè)試結(jié)果。為提高測(cè)試效率,滿(mǎn)足工廠(chǎng)生產(chǎn)過(guò)程中的自動(dòng)化測(cè)試要求,本文選取黑盒測(cè)試的方式。
安全平臺(tái)除承擔(dān)應(yīng)用的對(duì)外通信功能外,還會(huì)對(duì)應(yīng)用的輸入、輸出數(shù)據(jù)進(jìn)行安全處理,如系內(nèi)二取二比較等。只有通過(guò)安全處理后,應(yīng)用才能接收到數(shù)據(jù)。若平臺(tái)產(chǎn)生故障,不能正確完成對(duì)數(shù)據(jù)的安全處理,這些數(shù)據(jù)也會(huì)被丟棄,造成丟包,影響應(yīng)用功能的執(zhí)行,甚至導(dǎo)致宕機(jī)。因此,本文采用丟包率作為衡量安全平臺(tái)通信性能的最重要指標(biāo),不僅指數(shù)據(jù)在以太網(wǎng)通信傳輸、發(fā)送、接收過(guò)程中產(chǎn)生的丟包,還包括因?yàn)槠脚_(tái)安全處理故障造成的丟包。本測(cè)試以丟包率不得高于萬(wàn)分之一作為判定通信性能是否滿(mǎn)足要求的閾值。
安全平臺(tái)之間通過(guò)以太網(wǎng)傳輸數(shù)據(jù),而UDP通信本身是不可靠的,故選取TCP方式進(jìn)行通信。由于TCP傳輸?shù)氖菙?shù)據(jù)流,所以接收處理應(yīng)當(dāng)具備數(shù)據(jù)流的拼包和拆包功能,對(duì)于囤包能正確解析,并丟棄接收不完整或產(chǎn)生誤碼的包。
發(fā)送數(shù)據(jù)時(shí),將通道號(hào)、連接號(hào)、發(fā)送序列號(hào)(每次發(fā)送后加一)、本包數(shù)據(jù)的長(zhǎng)度、數(shù)據(jù)內(nèi)容、本包數(shù)據(jù)的CRC校驗(yàn)碼按指定格式填入每包發(fā)送數(shù)據(jù)中,如圖2所示,然后將所有發(fā)送數(shù)據(jù)包組成一個(gè)大包并發(fā)送。這里的數(shù)據(jù)內(nèi)容項(xiàng)僅僅是為滿(mǎn)足數(shù)據(jù)長(zhǎng)度而進(jìn)行的填充,可不關(guān)心其具體組成。
圖2 發(fā)送數(shù)據(jù)格式Fig.2 Format of transmitting data
接收方的處理流程如圖3所示,首先識(shí)別出接收數(shù)據(jù)的通道號(hào)和索引號(hào),其次查詢(xún)緩存中是否有上一周期未接收完整的數(shù)據(jù)包,如有則嘗試進(jìn)行拼包。若拼包失敗,將清除緩存。接著,獲取發(fā)送數(shù)據(jù)格式中的數(shù)據(jù)長(zhǎng)度信息,識(shí)別是否存在接收不完整的包或囤包。對(duì)于接收不完整的包,本周期暫不處理,進(jìn)行緩存,等待與下一周期接收到的數(shù)據(jù)拼包。對(duì)于囤包,則進(jìn)行拆分。然后,對(duì)數(shù)據(jù)包進(jìn)行CRC校驗(yàn)。最后,對(duì)通過(guò)CRC校驗(yàn)的數(shù)據(jù)包序列號(hào)進(jìn)行分析,得出丟包率。若小于閾值,則丟包率測(cè)試通過(guò)。
在編寫(xiě)測(cè)試案例時(shí),還應(yīng)注意結(jié)合系統(tǒng)需求,覆蓋通信性能的邊界值,例如單通道發(fā)送接收的連接數(shù)和數(shù)據(jù)量、整體發(fā)送接收的連接數(shù)和數(shù)據(jù)量等。
圖3 接收數(shù)據(jù)處理流程Fig.3 Processing flow of receiving data
安全平臺(tái)雙系同時(shí)運(yùn)行時(shí),兩系之間存在內(nèi)部系間通信,使備系能夠?qū)崟r(shí)獲取主系的狀態(tài)數(shù)據(jù),以保證與主系運(yùn)行同步。這樣當(dāng)主系發(fā)生嚴(yán)重故障時(shí),備系升為主系,接替原主系的功能,使整個(gè)安全平臺(tái)無(wú)縫切換。所以除了丟包率以外,系間通信是否正常的信息也需要一并傳達(dá)給測(cè)試者。
測(cè)試系統(tǒng)結(jié)構(gòu)如圖4所示。由于安全平臺(tái)為周期運(yùn)行方式,每隔固定時(shí)間對(duì)通信數(shù)據(jù)進(jìn)行收發(fā)處理,因此每次可同時(shí)測(cè)試兩個(gè)安全平臺(tái),互相作為對(duì)方的通信數(shù)據(jù)輸入。這樣不僅結(jié)構(gòu)簡(jiǎn)單,而且進(jìn)一步提高了測(cè)試效率。另外,考慮到鐵路信號(hào)設(shè)備需要進(jìn)行電磁兼容、高低溫、振動(dòng)等環(huán)境實(shí)驗(yàn),為了簡(jiǎn)化配置并盡量避免輔助測(cè)試設(shè)備性能對(duì)測(cè)試結(jié)果的影響,不再采用交換機(jī)等網(wǎng)絡(luò)節(jié)點(diǎn)設(shè)備,安全平臺(tái)之間采取直連的方式通信。
圖4 測(cè)試系統(tǒng)結(jié)構(gòu)示意圖Fig.4 Schematic diagram of test system structure
將發(fā)送接收數(shù)據(jù)、系間通信等測(cè)試案例嵌入運(yùn)行于安全平臺(tái)的應(yīng)用中。平臺(tái)上電后加載應(yīng)用,所有測(cè)試案例可以自動(dòng)執(zhí)行,無(wú)需人工干預(yù)。測(cè)試結(jié)果按照指定的格式通過(guò)以太網(wǎng)實(shí)時(shí)傳輸至上位機(jī),經(jīng)過(guò)解析后在用戶(hù)界面中呈現(xiàn),包括系統(tǒng)運(yùn)行時(shí)間和控制模式、各通道接收到的包數(shù)及丟包率、系間通道是否正常等。當(dāng)某通道的丟包率不滿(mǎn)足要求時(shí),會(huì)以紅色背景顯示,以提示測(cè)試人員。
在一次測(cè)試中,各通道的連接數(shù)及數(shù)據(jù)量配置如表1所示。經(jīng)過(guò)5 h的測(cè)試,結(jié)果如圖5所示,各通道的丟包率均在萬(wàn)分之一以下,且系間通信正常,因此測(cè)試通過(guò)。
表1 測(cè)試配置Tab. 1 Test configuration
圖5 測(cè)試結(jié)果Fig.5 Test results
介紹了一種安全平臺(tái)通信性能測(cè)試系統(tǒng),對(duì)安全平臺(tái)的丟包率進(jìn)行自動(dòng)化測(cè)試,結(jié)果可作為判定產(chǎn)品是否合格的依據(jù),并達(dá)到控制產(chǎn)品質(zhì)量、及時(shí)發(fā)現(xiàn)問(wèn)題的目的。