程 澄,劉 云,賈 凡
(北京交通大學通信與信息系統北京市重點實驗室,北京100044)
隨著高速鐵路在我國的飛速發展,對鐵路調度系統提出了更高的要求,基于GSM-R的無線通信及列車定位技術的列車運行控制系統,實現了列車控制信息的無線傳輸與真正的“數字化鐵路”。其中無線通信質量受到了極大關注。在無線通信傳輸過程中起信號中繼作用的直放站設備運行的正常與否直接影響著整個無線通信系統的運行狀態與服務質量。由于直放站設備分散在移動網絡覆蓋的各個區域,而且有些站點地理環境復雜不能時常人工巡檢,那么就需要直放站監控系統對其進行有效監控管理以及日常維護。而這種監控又是建立在監控系統與直放站之間實時通信基礎之上的。考慮到直放站的設備類型以及其所處的網絡環境和通信開銷,最經濟并且最便利的通信方式就是采用短消息(Short Message)的形式。為此設計了一套建立在直放站網關系統Web服務器與短消息中心(SMC(Short Message Center))之間的短信網關平臺,通過中國移動點對點協議(CMPP(China Mobile Peer to Peer))與直放站通信。
系統功能模塊見圖1,其中的設備管理、告警管理、輪詢管理這些模塊需要與直放站進行短消息通信,并對發送接收到的數據進行處理。告警管理模塊負責接收直放站發來的告警信息,對告警信息進行記錄分析并發送確認信息,將重要頻繁的告警信息通過短信網關轉發給相關人員。設備管理模塊和輪詢管理模塊提供對于直放站站點單個或者批量的同步處理,可對站點單個或全部參數進行查詢和修改。整個與直放站的通信也是通過短信息實現。

圖1 直放站網關系統功能模塊圖
短信平臺主要提供短信收發,將接收到的短信初解碼,并將初解碼后的信息通過Socket發送給Web端,進行解碼分析。另將Web端發來的準備發送的信息,按照CMPP協議打包發出。
作為ISMG(Internet Short Message Gateway)的短信服務器與短信中心之間按照中國移動通信信息資源站實體與互聯網短消息網關接口協議進行通信。短信網關在系統中的位置見圖2。
通信中采取CMPP中規定的長連接模式,就是短信平臺建立與短信中心(SMC)的連接,不斷將數據包(一個個CMPP消息)發送到SMC,此處發送不必等待某條消息的回應消息返回,就接著發送下一個消息。發送同接收消息不是一定要同步的,實際采用異步(同時也時雙工)模式。

圖2 短信網關在系統中的位置
當收到短信中心發來的短信即CMPP包的時候開啟短信處理程序,其流程見圖3。

圖3 短信接收處理程序流程圖
首先啟動短信程序,開始對于短信中心發來的消息進行監聽捕獲,一旦收到短信開啟新線程處理信息。再將準備好的Socket消息發給Web的時候,為了避免大通信量導致的擁塞和Web端處理能力的溢出,在此以隊列的形式進行發送。
當Web端有發送消息的請求時,Web端根據業務需要形成需要發送的短信形成固定的格式,提交給短信網關。
在通信服務器端,運行著SocketServer程序,用來監聽來自Web端的發送請求。當收到Web端發來的發送請求的時候,首先分析信息格式,是否合法,包括信息編碼格式,目標地址格式等等。然后對信息提取,取出目標地址和短信內容,按照CMPP協議進行封裝后發出。
根據直放站監控系統的業務要求,在執行全部站點輪詢業務時,需要短時間內給系統中的幾千個直放站發送輪詢請求,由于設備數量大,各自所處的網絡環境復雜,短信回復的時間有很大的隨機性,加之系統同時還要處理日常的告警信息,巡檢信息和開站上報信息,就可能在很短時間內并發幾十條甚至上百條短信回復,這對于系統造成了很大的處理壓力,極端情況下可能導致系統癱瘓,所以采用了多線程處理技術,花在為每一個短信請求創建一個線程并在任務完成后銷毀的時間和消耗的系統資源要比處理短信請求的時間和資源更多。也會造成CPU和內存資源的大量耗費,降低了系統的性能。因此在此采用線程池技術應對這個問題。

圖4 短信發送處理流程圖
在短信網關程序啟動時便啟動100個短信接收和解碼處理的線程,并讓這些線程處于睡眠狀態,當直放站發來一個回復短信時,就會喚醒線程池中的某一個睡眠線程,讓它來處理收到的短信請求,處理完該請求后,線程又處于睡眠狀態,等待下次請求時被喚醒。短信發送處理流程見圖4。
本系統用Java語言開發,Java語言本身內置了線程對象,當創建一個線程,就要從Thread類中繼承,并實現其run()接口。這樣就可以用wait()和notify()方法休眠或喚醒一個線程。
三者之間的數據交換采取異步全雙工模式進行,用以應對隨時發生的通信請求。采取了Socket長連接來進行消息發送,數據收發流程如圖5。

圖5 短信網關數據收發流程圖
短信網關平臺是直放站監控系統中底層通信的承載體,是系統中一切業務正常運行的基礎,這種基礎性的地位決定了短信網關平臺必須具有高性能、高穩定性、高可靠性的特點。本程序現只適應中國移動CMPP協議,后期可以繼續對于本系統加以完善,改進其多協議適應性加入SMPP,SGIP,SMGP等短信網關協議的支持,使得系統能在各種協議下正常工作。
經實驗室測試、生產環境下測試,本系統運行正常,各項指標達到中國移動直放站監控系統性能規范的要求。
[1] Allen Holub.Taming Java Threads[M] . Apress. June 1, 2000.
[2] QB-GF-028-2003,中國移動通信互聯網短信網關接口協議[S] . 北京:中國移動通信集團有限公司,2005,7.
[3] QB-W-003-2005,中國移動直放站監控系統數據需求規范[S] . 北京:中國移動通信集團有限公司,2005,8.
[4] 周恒民. Java TCP/IP Socket 編程[M] . 北京:機械工業出版社,2009,1.
[5] 侯建剛. 基于CMPP協議短信運營管理平臺的設計與實現[D] . 濟南:山東大學,2007.