周庭梁 張兵建 趙時旻
(1.同濟大學交通運輸工程學院,201804,上海;2.卡斯柯信號有限公司,200071,上海∥第一作者,博士研究生)
在城市軌道交通領域,隨著新技術的不斷應用,列車運行控制系統(以下簡稱“運控系統”)發展很快,功能越來越復雜,性能要求越來越高,對運控系統本身的功能和性能評估也隨之變得越來越困難。
作為整個運控系統的設備狀態監測和維護輔助系統,信號維護支持系統(MSS)[1]需要與所有運控系統設備(包括車載、軌旁、控制中心的控制設備,以及通信系統設備等)接口通信。目前主要通過利用真實的設備來進行故障模擬和性能測試,其代價較高,環境搭建過程復雜,并且受制于真實設備數量,能夠模擬的現場環境范圍有限,難以滿足產品性能測試需求。如何采用仿真方法來模擬逼真的運控系統環境,用于MSS 系統的測試,以及如何有效地確保仿真測試的性能,成了一個亟待解決的問題和研究方向。
國外一些廠家已經開發了針對運控系統的仿真測試工具,比如西門子公司的VICOS(車輛和基礎設施控制和操作系統)T&S 仿真系統可用來培訓駕駛員和進行仿真;阿爾斯通公司的FIVP(工廠集成)測試平臺,用來對全系統進行場內集成及測試。國內對運控系統的仿真研究開始于20 世紀80年代,雖起步較晚,但也有些具有針對性的仿真系統。
本文對城市軌道交通運控系統的各車載、軌旁等子系統維護接口做了分析研究,針對仿真測試系統通常面臨的性能瓶頸問題(即有限的硬件及網絡環境下,盡可能地滿足仿真容量要求),通過引入隨機篩選調度算法,有選擇性地丟棄一定比例的信息,達到類似于擁塞控制的效果,確保能仿真出足夠數量的信號設備,保證MSS 系統測試正常執行。
MSS 系統主要監測對象為城市軌道交通運控系統,范圍涉及列車自動監控系統(ATS)、列車自動控制系統(ATC)、聯鎖(CBI)、通信等子系統。
MSS 系統主要通過簡單網管協議[2](SNMP 協議)與監測對象進行交互,查詢和接收設備的狀態及故障信息。以上詳細協議和接口內容均在文獻[2]中有說明,在此不再贅述。在城市軌道交通信號系統中,每個監測設備均可稱為一個Agent(代理),每個Agent 里有多個監測點。例如,一個站上的聯鎖系統就是一個Agent,軌旁的轉轍機就是一個監測點;Agent 中所有的監測點信息由SNMP 協議送給MSS。
MSS 系統測試主要包括對運控系統設備實時狀態的信息采集、報警接收分析和性能測試等幾個方面,往往需要模擬現場大量運控系統設備。目前在有限的網絡帶寬及數據處理能力的情況下,根據實際測試情況來看,大量設備監測信息的模擬會造成信息處理不及時、網絡擁堵等問題,影響系統性能相關測試的有效執行。
由于運控系統中狀態信息的多樣性,以及緊急程度不同,運控系統設備的狀態信息分為設備運行實時狀態和設備主動上報的故障報警信息2 大類。對于不同種類的信息處理,系統有不同的寬恕周期。合理利用系統寬恕周期,可以在避免影響系統功能測試的前提下,模擬更多的監測設備,減少仿真測試環境性能瓶頸對系統測試的影響。
具體來說,對于運控系統設備主動上報的報警,一般比較重要,不能隨意丟棄。而對于設備運行實時狀態,MSS 系統會定期向運控系統設備進行輪詢,在輪詢超時的情況下會進行寬恕,有限次地嘗試再次發出輪詢請求,直到收到有效答復。否則,會判斷設備已經失去連接。因此,MSS 系統可以容忍仿真測試軟件對運控系統設備狀態輪詢請求的主動過濾。
為了滿足仿真性能和容量要求,引入了隨機篩選調度算法。在大數據量設備仿真過程中,對仿真數據流進行控制,當單位時間內系統狀態信息達到一定數量后,有選擇性地丟棄較低優先級的設備運行實時狀態,降低對于仿真測試的性能及網絡帶寬要求。即在有限的仿真環境網絡帶寬及數據處理能力下,使得仿真平臺能夠模擬更多的信號設備。
為此,隨機篩選調度算法設計如下:通過內置一個優先級遞減的隊列,控制外部請求和內部輸出。當更高優先級的隊列為空時才服務低優先級的隊列。即當仿真系統需要仿真的運控系統設備數量超過仿真系統的容量時,該調度算法主動篩選低優先級隊列的數據包。
在該算法中,設定報警隊列的優先級最高,其次將設備狀態信息隊列分為若干優先級,相應的設備狀態信息數據包按照一定的規律設定加權值,并放入對應優先級的隊列。如圖1所示。

圖1 隨機篩選調度模型說明
該算法的關鍵是如何合理地設置設備狀態信息的加權值,充分利用仿真測試系統的容量,盡快地將高優先級的設備狀態信息返回給MSS 系統。
假定一段時間內,MSS 系統允許單個運控系統設備的某一狀態量連續丟失N 次,即MSS 系統連續N次輪詢設備狀態信息而沒有得到反饋,當到第N +1次輪詢還是沒有得到反饋,則認為該設備已失去連接。即單一設備狀態信息的丟失容忍度是N。
仿真測試系統初始化時,將所有仿真設備的設備狀態信息的加權值定義為1,每次輪詢過程中將未反饋設備狀態信息的加權值加1,將反饋設備狀態信息的加權值重置為1。則當某一個設備狀態信息的加權值升到N 時,表明此設備狀態信息必須在下一次輪詢過程中發送出去,避免被MSS 系統誤認為設備失去連接。
假設仿真測試系統允許在一個時隙內允許發送的數據包極限為T,那么該算法將生成隊列n、隊列n-1……隊列2、隊列1 以及報警隊列共n +1 個隊列。其中隊列n 中是加權值為n 的狀態量組合,是除了報警隊列外優先級最高的隊列。該算法的詳細描述如下:
①初始化各設備狀態量的加權值為1
②在每個輪詢周期內
③{
④已反饋的運控系統設備狀態輪詢請求s=0;
⑤對每個隊列n(從高優先級開始依次到低優先級)
⑥{
⑦ If(隊列n 狀態量個數<=T-s)
⑧{
⑨將隊列n 的狀態量全部發送出去;
⑩將隊列n 的所有狀態量加權值重置為1,取出放入隊列1;
? s=s+隊列 n 狀態量個數;
? }
?.Else
? {
? 從隊列 n 隨機抽取 T- s 個狀態量發送出去;
? 將上一步驟中隨機抽取T-s 個狀態量的加權值重置為1,取出放入隊列1;
? s=T;
? 將隊列n 中未被抽取到的狀態量的加權值做加1 操作,并放入隊列n+1;
? }
? }
? }
該調度機制會使低優先級隊列處于饑餓狀態。例如,當報警數據包和高優先級的數據包在一段時間內以100%的輸出鏈路速率到達,調度器將不會為中優先級和低優先級的隊列服務。因此,該調度算法有一個極限,就是當報警數據包和最高優先級包的個數之和達到了仿真系統的極限容量C,此時再增加設備數量就會對被測的MSS 系統產生影響。

按照前文的定義,通過Agent 來仿真信號設備。假定Agent 數量定義為A,每個Agent 定義的狀態量個數定義為M,報警發生率定義為P。則仿真容量C 與Agent 數量A、每個Agent 定義的狀態量個數M以及報警發生率P 成正比,定義如下:

其中,比率K 為常數;
應用隨機篩選調度方法后,仿真容量 C 變化為:


由于仿真容量C 一定,故:

基于上海軌道交通10號線的應用數據,在實驗室模擬仿真了聯鎖、ATS 等信號設備,并和MSS 系統進行集成測試。在無隨機丟包和報警情況下,模擬了100 個Agent(A),分別包含80 個監測項(M),假定K 為1,根據式(1),仿真容量則為8 000 個。
根據式(2),仿真容量一定的情況下,仿真設備數量理論最大可以達到:

應用隨機篩選調度,分別設置隨機丟包為1 和2,并將報警發生率設定在10%~100%之間,在相同仿真測試環境,同時不影響MSS 系統功能測試的情況下,做了多組實驗測試。圖2 顯示了實際測試和理論情況下,報警發生率P,隨機丟包數L 和仿真設備數量A 之間的關系。
實際測試中,由于報警的存在,會降低模擬仿真設備的數量,當報警發生率為30%,實際能模擬68個Agent,5 440 個監測項,離實際應用相去甚遠;應用隨機篩選調度算法,當允許丟包1 個,仿真設備數量可以達到104 個,是傳統的1.5 倍;當允許丟包2個,仿真設備數量可以達到125 個,是傳統的1.8倍,有效地擴大了MSS 仿真測試容量,滿足了整個運控系統中信號設備的維護接口仿真測試需求。
根據測試結果可以看到,應用隨機篩選調度算法可以顯著提高仿真環境模擬的仿真設備數量。允許丟包1 個和2 個時,仿真設備容量分別是應用之前的1.3~1.8 倍和 1.5~2.6 倍,與理論結果基本一致。

圖2 測試和理論情況下仿真設備數量與預警發生率之間的關系
針對城市軌道交通信號維護支持系統測試的特點和任務目標,將隨機篩選調度方法應用到運控設備維護接口仿真測試系統中,模擬出了運控系統中車載、網絡、計算機和軌旁等設備的報警和維護信息,既能確保仿真測試系統的規模和真實性,又能為MSS 系統提供有效的仿真測試環境。實際測試結果驗證了該方法的有效性。
[1]周庭梁,張兵建.地鐵信號維護支持系統的研究與應用[J].城市軌道交通研究,2009,5(5):39.
[2]W.Richard Stevens.TCP/IP 詳解,卷1:協議,第二十五章[M].北京:機械工業出版社,2000.