馬 禎,王 彤,張德強
(1.中國鐵道科學研究院集團有限公司,北京 100081;2.中國鐵道科學研究院集團有限公司 電子計算技術研究所,北京 100081)
截止2016年底,我國高速鐵路營業里程已超過2.2萬km,為保障列車運行安全,已建設的高速鐵路均按線建設了災害監測系統,并且已有兩個鐵路局建設了災害監測系統鐵路局中心系統(簡稱:鐵路局中心系統)[1]。隨著系統運行發現,現有系統存在協調組織難,信息量大,缺少便攜等問題。通過調研得知,韓國高速鐵路災害監測系統已有手機APP應用,可實時掌握災害監測及報警,當發生災害報警或設備故障報警時相關部門可在5 min內采取行動。臺灣高鐵災害監測系統也于2013年引入手機APP應用,以替代傳統的無線電等通信手段,將緊急狀況發生時的聯系、協調時間由50 min縮短至5 min內。綜上所述,亟需開展對災害監測系統移動手持終端的技術研究以及APP的開發,以解決現有災害監測系統存在的問題、豐富其終端、提供技術儲備。
災害監測系統移動終端設計的主要目的是縮短協調時間、簡化信息量、提供可移動的應急終端和及時掌握災害報警信息等。主要實現的功能分為災害報警模塊、設備故障報警模塊和查詢統計模塊。災害報警模塊包括風、雨、雪、異物侵限的報警,設備故障報警包括現場監控單元設備故障報警和鐵路局中心系統設備故障報警,查詢統計包括風、雨、雪的監測歷史數據,各類型報警的報表。
災害監測移動終端系統結構如圖1所示[2]。鐵路局中心系統和手機應用通信服務器作為服務層,手機APP作為客戶端。手機應用通信服務器與鐵路局中心系統通過外網接口鏈接,達到服務層之間相互通信的目的[3]。

圖1 整體架構圖
移動終端系統采用3層架構設計,如圖2所示。數據層主要工作是在業務層向其發送數據請求時,判斷是否需要訪問緩存服務,若需要則通過訪問緩存獲取數據并將數據打包發送給業務層,否則將通過網絡API獲取數據并將其打包發送給業務層。業務層主要作用是從數據層獲取數據;從展示層獲取需求。展示層的主要工作是如何將數據更好的展示。

圖2 軟件架構設計
硬件相關配置如表1所示。

表1 硬件配置
軟件相關配置如表2所示。

表2 軟件配置
采用React Native開發平臺與X-Code開發平臺相結合的方式進行開發。React Native(RN)是2015年推出的一款開源的、可跨平臺的移動應用開發框架,其理念是:Learnonce,write anywhere.RN使用Javascript語言,以及CSS來開發移動應用,因此熟悉Web前端開發的技術人員只需很少的學習就可以進入移動應用開發領域[4]。其工作原理(以IOS平臺為例),RN底層調用的代碼還是Objective-C代碼,不同的是其上層結構是JavaScript的形式告訴底層的,即RN的運行是通過JavaScript與Objective-C的交互完成的。在JavaScript與Objective-C兩端都保存了一份配置表,配置表中的內容包括了對方的所有模塊和方法。JavaScript向Objective-C傳遞ModuleId、MethodId和Arguments(即表示類、方法和方法參數)這3個元素,Objective-C在接收到這些參數后進行相應的處理,將處理結果通過回調函數傳回JavaScript[5]。JavaScript與Objective-C的交互流程如圖3所示。
系統功能如圖4所示。

圖3 JavaScript與Objective-C的交互流程

圖4 系統功能圖
災害報警模塊為用戶提供了風速、雨量、雪深和異物侵限4種災害類型的報警推送、顯示、處置、存儲等功能。當用戶進入該模塊后,根據需要顯示某一災害類型當前報警信息以及歷史報警信息(默認展示風速報警),其展示界面會為用戶提供從當前時間算起近30 d的報警信息。展示順序以先近后遠的時間排序。當本軟件未被運行或者在后臺運行時,此時發生災害報警,需將該報警信息以推送的方式推送到手機界面上,以便用戶能夠及時做出相應處理。若用戶未確認該條報警信息,終端軟件會在界面上提醒用戶確認報警信息,此外用戶還可對本條報警信息進行備注、本地刪除等操作。所有的災害報警信息都將存儲于本地,以方便用戶查看,存儲周期為從當前時間算起的30 d內的所有災害報警信息。
設備故障報警模塊為用戶提供了現場監測設備故障和鐵路局中心系統設備故障的報警推送、顯示、處置、存儲等功能[6],其作用與災害報警模塊大致相同。不同點在于,本模塊默認展示現場監測設備故障的信息。鐵路局中心系統設備故障的報警信息只展示100條數據(時間由近及遠)。報警推送功能是經過系統后臺評定后,有選擇的進行推送。鐵路局中心系統設備故障報警信息在本地只存儲100條。
查詢統計模塊為用戶提供了各監測類型的監測數據和報警數據的查詢功能,提供了風速、雨量、雪深、異物侵限以及現場監測設備在某一時間段的報警信息匯總,時間提供了周、月、季度和年4種選擇模式,提供了關鍵詞搜索功能以方便用戶能夠快速找到需要的信息。
災害報警數據流程如圖5所示。當有災害報警或災害報警解除發生時,災害監測系統鐵路局中心系統會將該信息發送至手機應用通信服務器,手機應用通信服務器則根據數據類型,向不同的業務終端發送該信息。終端在接收該條信息后,先向災害監測系統鐵路局中心系統發送自動確認接收回執,然后根據終端軟件的使用狀態進行推送和顯示,并將該條信息存儲到本地。用戶在確認本條報警信息后,終端會向災害監測系統鐵路局中心系統發送用戶收到確認信息。當鐵路局中心系統未接收到終端自動確認回執時,會再次發送本條信息。
設備故障報警數據流程如圖6所示。當有設備故障報警或報警解除發生時,災害監測系統鐵路局中心系統會將該信息發送至手機應用通信服務器,手機應用通信服務器首先根據數據類型篩選出需要向哪幾類業務終端發送該條信息,如果本條信息為報警信息則會對其所攜帶的故障信息進行故障等級、類別評定。終端在接收該條信息后,向災害監測系統鐵路局中心系統發送自動確認接收回執,根據終端軟件的使用狀態以及故障等級、類別選擇是否推送,或顯示并將該條信息存儲到本地。用戶在確認本條報警信息后,終端會向災害監測系統鐵路局中心系統發送用戶收到確認信息。當鐵路局中心系統未接收到終端自動確認接收回執時,會再次發送本條信息。

圖5 災害報警數據流程

圖6 設備故障報警數據流程
查詢統計數據流程如圖7所示。當用戶發送查詢請求時,終端軟件先判斷數據類型是否為報警類型,如果是則調用本地數據服務,否則向鐵路局中心系統發送請求,鐵路局中心系統接收到請求后發送相關數據。終端接收到數據后自動確認接收,當鐵路局中心系統未接收到終端自動確認接收回執時,會再次發送本條信息。

圖7 查詢統計數據流程
基于IOS的高速鐵路自然災害監測系統移動終端現已通過高速鐵路自然災害及異物侵限系統實驗室測試,在該實驗室已正常穩定運行45 d,并進一步優化與改進了移動終端的界面運行速度。基于IOS的高速鐵路自然災害監測系統移動終端的實現,不僅為高速鐵路自然災害監測系統提供了相關的技術儲配,而且在很大程度上提高了響應速度,縮短了協調時間,為保障高速鐵路的安全運營增添了一份保障。
[1]中國鐵道科學研究院. 高速鐵路防災系統調研報告[R].北京:中國鐵道科學研究院,2017.
[2]王 瑞,喻麒睿,王 彤. 高速鐵路災害監測系統優化升級[J].中國鐵路,2013(10):17-20.
[3]武明生,王 彤,王 瑞. 高速鐵路災害監測系統接口方案研究[J].鐵道運輸與經濟,2015,37(12):72-76.
[4]王利華,魏曉軍,馮誠祺. React Native入門與實戰[M].北京:人民郵電出版社,2016.
[5]闕喜濤. React Native跨平臺移動應用開發[M].北京:電子工業出版社,2016.
[6]王 彤. 高速鐵路防災安全監控系統研究與開發[J].中國鐵路,2009(8):25-28.
[7]姚洪磊,劉江川,王 彤. 高速鐵路自然災害及異物侵限監測系統信息安全架構設計和研究[J].鐵路計算機應用,2015,24(2):52-55.