王穎,王夢(mèng)園,陳澤華,馬海峰,王澤
(1.東北大學(xué)軟件學(xué)院信息安全系,沈陽110819;2.東北大學(xué)軟件學(xué)院軟件工程系,沈陽110819)
基于逆向分析的高鐵列控車載設(shè)備圖形化分析平臺(tái)設(shè)計(jì)
王穎1,王夢(mèng)園1,陳澤華2,馬海峰2,王澤1
(1.東北大學(xué)軟件學(xué)院信息安全系,沈陽110819;2.東北大學(xué)軟件學(xué)院軟件工程系,沈陽110819)
高鐵列控車載設(shè)備數(shù)據(jù)采集系統(tǒng)產(chǎn)生的數(shù)據(jù)文件格式不一且互不兼容,原有的分析工具兼容性差同時(shí)缺乏故障統(tǒng)計(jì)與診斷的情況。該平臺(tái)采用逆向分析的方法分析出各廠商的數(shù)據(jù)解析軟件生成文件的方式,并進(jìn)行重新編寫,統(tǒng)一解析軟件解析出來的文件格式。用C#與MATLAB混合編程來實(shí)現(xiàn)數(shù)據(jù)的圖形化。該平臺(tái)以故障文本信息為依據(jù),使用基于文本挖掘的故障診斷方法。不同的車型及車載設(shè)備,統(tǒng)一由讀取分析一體化的、可視化的新型數(shù)據(jù)平臺(tái)接管。
逆向分析;數(shù)據(jù)圖形化;文件格式;故障統(tǒng)計(jì)
近些年來,我國高速鐵路的建設(shè)發(fā)展迅速。從2003年至今,高速鐵路已成為我國為數(shù)不多的能夠整體領(lǐng)先世界的高端裝備產(chǎn)業(yè)之一,更在實(shí)施“走出去”和“一帶一路”構(gòu)想中被寄予厚望。高端的技術(shù)離不開軟硬件的相輔相成,中國列車控制系統(tǒng)CTCS(Chinese Train Control System)是我國為進(jìn)一步適應(yīng)鐵路發(fā)展戰(zhàn)略而制定的一套技術(shù)規(guī)范,以保證鐵路運(yùn)輸安全,促進(jìn)鐵路運(yùn)輸?shù)陌l(fā)展。其中,CTCS-2級(jí)系統(tǒng)是目前我國正在使用的一體化列車控制系統(tǒng),是基于軌道電路和點(diǎn)式信息設(shè)備傳輸信息的列車運(yùn)行控制系統(tǒng),面向提速干線和高速線,現(xiàn)已被廣泛應(yīng)用于我國高鐵的運(yùn)營。車載設(shè)備作為列控系統(tǒng)的重要組成部分,在工作過程中會(huì)產(chǎn)生大量數(shù)據(jù),這些數(shù)據(jù)的采集和處理對(duì)高速列車的安全運(yùn)行有著重要意義。
目前,國內(nèi)正在使用的車載設(shè)備數(shù)據(jù)分析工具主要分為文本分析工具和圖形分析工具兩類,前者的分析依賴于多種格式的數(shù)據(jù)文件,分析過程具有切換文件不方便以及數(shù)據(jù)展現(xiàn)不夠直觀的缺點(diǎn)。后者雖滿足了部分?jǐn)?shù)據(jù)的圖形化展現(xiàn),卻存在圖形界面不支持?jǐn)?shù)據(jù)檢索與仿真,分析過程無法脫離文本文件存在等缺陷。
目前國內(nèi)主流的車載設(shè)備文本分析工具的原理是將車載二進(jìn)制文件解析為若干個(gè)Excel文件和HTML文件,如法國CSEE公司的PCSAM軟件,是將運(yùn)行記錄生成約20個(gè)Excel文件和眾多HTML文件。其中Excel文件是記錄高鐵運(yùn)行過程實(shí)時(shí)數(shù)據(jù)的運(yùn)行文件,HTML文件為可用瀏覽器查看的應(yīng)答器報(bào)文。此類工具操作簡單,但功能性也有一定的局限,具體如下[1]:
(1)數(shù)據(jù)文件種類繁多,分析工具兼容性差。由于目前國內(nèi)引進(jìn)的列車車型和相關(guān)技術(shù)來自不同的廠商,而這些數(shù)據(jù)采集系統(tǒng)產(chǎn)生的數(shù)據(jù)文件格式不一,需要由這些廠商設(shè)計(jì)的相應(yīng)數(shù)據(jù)解析軟件讀取,而各個(gè)軟件支持的格式不能互相兼容。
(2)車載設(shè)備所產(chǎn)生的數(shù)據(jù)量龐大,人工執(zhí)行效率低。列車的運(yùn)行產(chǎn)生的數(shù)據(jù)量是非常龐大的,有些文件達(dá)到幾萬條,目前的人工檢測(cè)工作方式會(huì)給工作人員帶來極大的負(fù)擔(dān)。
(3)數(shù)據(jù)呈現(xiàn)方式不夠直觀
(4)缺少數(shù)據(jù)檢索和仿真功能,缺少故障分類和前期預(yù)警功能。
(5)缺少數(shù)據(jù)統(tǒng)計(jì)功能,關(guān)鍵數(shù)據(jù)仍需要分析人員手工統(tǒng)計(jì)和計(jì)算。
(6)界面單一,未考慮到分析人員對(duì)功能的需求差異性,未設(shè)置人性化配置文件。
圖形化分析工具處理數(shù)據(jù)的步驟是先將車載二進(jìn)制數(shù)據(jù)解析為系統(tǒng)數(shù)據(jù),程序按特定的方式進(jìn)行讀取,據(jù)此生成圖形與表格供分析人員使用。此類工具雖使數(shù)據(jù)觀測(cè)更加直觀,但也有另一些不足,具體如下:
(1)不能完整展示全部數(shù)據(jù)。
(2)不支持?jǐn)?shù)據(jù)檢索,查詢?cè)敿?xì)數(shù)據(jù)還是要依賴于文本化數(shù)據(jù)。
(3)不支持?jǐn)?shù)據(jù)仿真功能,缺少故障分類和前期預(yù)警功能。
(4)缺少數(shù)據(jù)統(tǒng)計(jì)功能,關(guān)鍵數(shù)據(jù)仍需要分析人員手工統(tǒng)計(jì)和計(jì)算。
(5)界面單一,未考慮到分析人員對(duì)功能的需求差異性,未設(shè)置人性化配置文件[1]。
針對(duì)數(shù)據(jù)采集系統(tǒng)產(chǎn)生的數(shù)據(jù)文件格式不一且互不兼容以及缺乏故障統(tǒng)計(jì)與診斷的情況,該平臺(tái)不但可以統(tǒng)一文件的格式,而且可以對(duì)故障信息進(jìn)行統(tǒng)計(jì)與診斷并圖形化顯示。
平臺(tái)使用逆向分析技術(shù),分析出各廠商的數(shù)據(jù)解析軟件生成文件的方式,并進(jìn)行重新編寫,統(tǒng)一了解析軟件解析出來的文件格式。格式統(tǒng)一的文件為數(shù)據(jù)的統(tǒng)計(jì)分析以及圖形化顯示提供了極大的便利。
平臺(tái)的圖形化顯示使用C#與MATLAB混合編程來實(shí)現(xiàn)。通過將*.m文件用MATLAB編譯器編譯成可供C#調(diào)用的動(dòng)態(tài)鏈接庫文件(*.dll文件),然后在C#中實(shí)現(xiàn)混合編程[3]。
平臺(tái)使用基于文本挖掘的車載設(shè)備的故障診斷方法來進(jìn)行故障診斷[4]。
高鐵列控車載設(shè)備數(shù)據(jù)分析平臺(tái)的核心是通過逆向分析,統(tǒng)一不同數(shù)據(jù)解析軟件生成的文件的格式。用戶在使用此平臺(tái)時(shí),不用多次切換文件,提高了工作效率。圖1為高鐵列控車載設(shè)備數(shù)據(jù)分析平臺(tái)的設(shè)計(jì)圖,共有9個(gè)模塊,分別為參數(shù)設(shè)定、數(shù)據(jù)下載、文件解析、詳細(xì)文本信息、統(tǒng)計(jì)信息、文件讀取格式選擇、文件存儲(chǔ)格式選擇、故障信息提取和故障信息分析與診斷[2]。
圖1 基于逆向分析的高鐵列控車載設(shè)備數(shù)據(jù)分析平臺(tái)總體設(shè)計(jì)圖[2]
車載設(shè)備將數(shù)據(jù)下載下來,使用平臺(tái)生成統(tǒng)一格式的文件,各個(gè)模塊加載數(shù)據(jù),實(shí)現(xiàn)它們對(duì)應(yīng)的功能。功能模塊名稱與說明如下。
表1 功能模塊名稱與說明[2]
平臺(tái)生成統(tǒng)一格式的文件是使用逆向分析來實(shí)現(xiàn)的。通過分析數(shù)據(jù)解析軟件的動(dòng)態(tài)鏈接庫,分析其導(dǎo)出函數(shù)的參數(shù)類型、參數(shù)個(gè)數(shù)以及返回值來作為參考,重新編碼實(shí)現(xiàn)其功能,代替只能生成特定文件格式的數(shù)據(jù)解析軟件,從而使文件格式統(tǒng)一化。IDA Pro可以將匯編代碼翻譯成C++代碼,通過觀察匯編代碼、C++代碼以及函數(shù)都調(diào)用了哪些系統(tǒng)函數(shù),來推斷函數(shù)的功能以及函數(shù)參數(shù)。通過編寫測(cè)試代碼,顯式調(diào)用動(dòng)態(tài)鏈接庫。通過GetProcAddress獲取函數(shù)的起始地址并返回一個(gè)函數(shù)指針。調(diào)用函數(shù)指針來調(diào)用動(dòng)態(tài)鏈接庫中的函數(shù),從而確定推斷出來的函數(shù)參數(shù)的正確性。
對(duì)于調(diào)用函數(shù)較多的導(dǎo)出函數(shù),使用Ollydbg對(duì)其進(jìn)行動(dòng)態(tài)調(diào)試。使用Ollydbg設(shè)置INT3斷點(diǎn),單步運(yùn)行,查看導(dǎo)出函數(shù)被調(diào)用時(shí)都有哪些值被壓棧。根據(jù)程序的調(diào)試過程可以推斷出向函數(shù)傳遞了哪些參數(shù)。
通過靜態(tài)調(diào)試和動(dòng)態(tài)調(diào)試相結(jié)合的方式,逐步推斷出函數(shù)的功能、參數(shù)以及返回值從而重寫函數(shù)實(shí)現(xiàn)其功能。
C#綜合了VB的可視化操作和C++的高運(yùn)行效率,其強(qiáng)大的操作能力、支持.NET開發(fā)和便捷的面向組件編程都適合用來進(jìn)行平臺(tái)的開發(fā)工作。但其在統(tǒng)計(jì)方面存在不足,而MATLAB在計(jì)算和圖形處理方面具有非常強(qiáng)大的能力。但MATLAB在運(yùn)行效率和外部設(shè)備連接上卻不盡人意。平臺(tái)從簡單實(shí)用的角度出發(fā),通過將*.m文件用MATLAB編譯器編譯成可供C#調(diào)用的動(dòng)態(tài)鏈接庫文件(*.dll文件),然后在C#中實(shí)現(xiàn)混合編程。MATLAB編譯器deploy命令將*.m文件轉(zhuǎn)換成*.dll文件,將此*.dll文件保存到相應(yīng)的目錄下,*.dll即為.NET可以使用的動(dòng)態(tài)鏈接庫。使用.NET對(duì)此*.dll文件進(jìn)行調(diào)用,即可完成數(shù)據(jù)的圖形化顯示。
平臺(tái)以故障文本信息為依據(jù),使用基于文本挖掘的高鐵列控車載設(shè)備的故障診斷方法[4]。
大數(shù)據(jù)時(shí)代應(yīng)充分運(yùn)用大數(shù)據(jù)的力量。高鐵列車每秒都將產(chǎn)生數(shù)量巨大的信息。這些信息具有價(jià)值密度低,卻極其重要的特點(diǎn)。以系統(tǒng)各部件結(jié)點(diǎn)溫度舉例,由于數(shù)據(jù)量巨大,異常數(shù)據(jù)夾雜于海量信息中常常難于察覺,這就需要軟件為我們完成數(shù)據(jù)的篩選和預(yù)處理。一體化數(shù)據(jù)分析平臺(tái)的提出,正填補(bǔ)了我國高鐵車載設(shè)備數(shù)據(jù)分析領(lǐng)域的空白。不同的車型及車載設(shè)備將統(tǒng)一由讀取分析一體化的、功能全面、可視化的新型數(shù)據(jù)平臺(tái)接管。此舉將有效地打破外國廠商多年的壟斷地位,使中國的高鐵發(fā)展更上一個(gè)新的臺(tái)階。
[1]吳衛(wèi)平,張利芝,唐俊同,楊獻(xiàn),劉旭君.高速鐵路車載設(shè)備圖形化仿真分析裝置[P].湖南:CN101877023A,2010-11-03.
[2]吳衛(wèi)平,楊玻雅.高速鐵路車載設(shè)備記錄的圖形化分析平臺(tái)[J].高速鐵路技術(shù),2011(03):24-28.
[3]李凱,王勁松.Visual C#與MATLAB混合編程原理及其在數(shù)據(jù)圖形化中的應(yīng)用[J].數(shù)字技術(shù)與應(yīng)用,2014(09):55-56.
[4]趙陽,徐田華.基于文本挖掘的高鐵信號(hào)系統(tǒng)車載設(shè)備故障診斷[J].鐵道學(xué)報(bào),2015(08):53-59.
Abstract:
The formats of files generated by high-speed railway on-board equipment are diverse and incompatible with each other.The existing analy?sis tools can hardly fit these file formats and lack functions of fault statistics and diagnosis.The platform designed can figure out the means each data parsing software use to read data files based upon reverse analysis technology,and restructure them to a unified format.Uses C#and MATLAB programming to visualize these data.This platform can also use text mining methods to dig out potential failures according to the text messages.All different types of vehicles and on-board equipment can be managed by this read-analysis-visualization integrated platform.
Keywords:
Reverse Analysis;Data Graphical;File Format;Fault Statistics
Design of Graphic Analysis Platform for High-Speed Railway On-Board Equipment Based on Reverse Analysis
WANG Ying1,WANG Meng-yuan1,CHEN Ze-hua2,MA Hai-feng2,WANG Ze1
(1.Department of Information Security,Northeastern University,Shenyang 110819;2.Department of Software Engineering,Northeastern University,Shenyang 110819)
2017-04-14
2017-06-18
1007-1423(2017)18-0067-04
10.3969/j.issn.1007-1423.2017.18.016
2016年國家級(jí)大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練計(jì)劃項(xiàng)目(No.201610145114)
王穎(1995-),女,陜西韓城人,學(xué)生