孫同慶,王富章
(中國鐵道科學研究院 電子計算技術研究所,北京 100081)
城市軌道交通乘客信息系統(PIS)是利用網絡技術、多媒體技術和圖像顯示技術,在指定的時間內將信息顯示給指定的人群;通過在地鐵空間里建立動態的信息顯示,可以讓乘客隨時與外部保持信息交流。消息調度是PIS內一個重要的功能組成部分,其擔負著地鐵運營和管理部門向乘客傳遞信息的任務。
PIS包括外部接口子系統、媒體發布子系統、綜合信息管理平臺、播放子系統、媒體設計子系統5部分。
外部接口子系統:部署在接口服務器上,接受如列車自動監控(ATS)、路網指揮中心(TCC)、時鐘信號(CLK)等外部接口的消息進行解析、并在屏幕的對應區域進行顯示。媒體發布子系統:部署在中心服務器上,對各種多媒體信息進行管理和發布。綜合信息管理平臺:部署在中心服務器上,管理整個信息系統的數據庫并記錄PIS的運行狀態和告警等信息。播放子系統:包括車站服務器、LCD屏和LED屏,能夠執行車站子系統和中心下發的控制指令和上報設備狀態,是向乘客提供信息服務的終端。媒體設計子系統:可以通過拖拽式進行模板設計,并且能夠插入各種格式的圖片、視頻、動畫、聲音。
針對消息調度,外部接口子系統負責接收外部接口發送消息的指令;綜合信息管理平臺負責控制本系統發布的消息;播放子系統負責消息顯示;媒體設計子系統負責消息在播放終端上的顯示方式。PIS網絡結構如圖1。
本文主要研究PIS的消息調度技術及具體實施方案,該方案已經在中國鐵道科學研究院電子計算技術研究所乘客信息系統中得以應用。

圖1 PIS網絡結構圖
消息調度分為緊急消息發布、滾動消息發布和TCC等接口消息發布。緊急信息調度,可根據播放信息內容的輕重緩急,高優先級覆蓋低優先級,在緊急狀態下可將預定義緊急信息發送至某站指定播放器、某站所有播放器、某幾個站指定播放器、某幾個站所有播放器、全線所有站所有播放器;滾動消息調度,根據實際需求排計劃,在計劃時間內執行,可將預定義滾動信息發送至某站指定播放器、某站所有播放器、某幾個站指定播放器、某幾個站所有播放器、全線所有站所有播放器;TCC等接口消息調度,TCC發布的消息和現有緊急或滾動消息進行級別比較,高級的優先顯示,同級的疊加顯示,低級的不顯示。
目前PIS的消息主要來源于接口(如TCC/綜合監控系統(ISCS)等)和線路本身。各個接口和線路對消息級別和如何顯示有明確的定義,具體規則詳見《城市軌道交通乘客信息系統技術規范》。
滾動消息和緊急消息的調度流程總體比較相似,本文以緊急消息流程為例,介紹消息調度的流程,如圖2。

圖2 緊急消息處理流程圖
其中緊急消息的級別等級如下:
TCC緊急消息>車站(PIS)緊急消息>OCC(運營控制中心)(PIS)緊急消息
多條緊急消息的處理方法為同級的先到先發不疊加,高級發送,低級不發。
滾動消息可以預先設計播放順序,級別等級如下:
TCC滾動(4級消息)>OCC(PIS)滾動消息(2級消息)>TCC(1~3)滾動(1級消息)=車站滾動(1級消息)
多條滾動消息的處理方式為同級疊加,高級發送,低級不發。
分析其中要害,主要原因是需求分析的缺失和課程模式缺乏針對性。任何課程都需要學習者的需求為前提的,ESP也不例外,沒有需求分析,就沒有ESP。而在我國,ESP需求分析對絕大多數的ESP課程仍是一個可有可無的概念。沒有明確的社會需求分析和學習者需求分析,課堂學習與實際需求脫鉤,ESP課程設置也就無法真正落實。
PIS的消息調度因為消息的級別過多,不同級別之間的消息處理方法也不相同,消息與消息之間的時間重合多,因此對其調度將會比較困難,需要用嚴格的調度算法對其進行控制。
同級別的緊急消息如表1,調度如圖3。

表1 同級別的緊急消息表

圖3 同級別的緊急消息調度示意圖
不同級別的緊急消息如表2,調度如圖4。

表2 不同級別的緊急消息表

圖4 不同級別的緊急消息調度示意圖
同級別的滾動消息如表3,調度如圖5。

表3 同級別的滾動消息表

圖5 同級別的滾動消息調度示意圖
不同級別的滾動消息如表4,調度如圖6。

表4 不同級別的滾動消息表

圖6 不同級別的滾動消息調度示意圖
滾動消息和緊急調度方法也比較相似,不同之處在于滾動消息同級別的允許重疊播放,而緊急消息只能唯一播放。但處理流程是一樣的。下面以緊急消息為例進行介紹。
根據緊急消息的開始時間排序;將排位數(最先開始的為0)返給各個消息,如上面同級別緊急消息的排位是A(0)、B(1)、C(2)、D(4)、E(3);然后根據排位將各消息的開始時間和結束時間命名,如Start0=a、End0=f、Start1=b、End1=g、Start2=c、End2=h、Start3=d、End3=j、Start4=e、End4=i;然后根據時間值進行排位,如a
最后再對各時間進行處理,可分為如下幾個情況:
(2)2個Start之間播放排位靠前的消息,如Start0和Start1之間播放排位為0的緊急消息A。
(3)在此期間比較兩消息的級別,若排位靠后的消息級別小于等于排位靠前的消息級別,則將后者的Start后的排位數改為前者,如:緊急消息A和緊急消息B的級別相同,在a~b段時將Start1=b改為Start0=b;若排位靠后的消息級別大于排位靠前的消息級別,則保持不變。
(4)Start與End之間播放Start后的排位數的消息,且當End后的排位數不等于Start后的排位數時,直接將End時間點刪除。
(5)2個End間播放后者End后排位數的消息。(6)End(N-1)后不播放消息。
乘客信息系統的實時性很大程度決定于調度算法,調度算法的好壞直接影響到響應時間和是否能夠成功調度。本系統選擇的是最早截止期優先算法。
最早截止期優先算法(Earliest Deadline First,簡稱EDF),也稱為截止期驅動調度算法(Deadline Drive Scheduling,簡稱DDS),是一種動態調度算法。EDF在調度時,優先選擇截止期早的任務,即截止期越早,任務優先級越高。對于給定的任務集按照EDF算法調度,可調度的充分條件是ρ≤1(ρ為計算機CPU占用率)。
需要調度的消息集S={τ1,τ2,…,τi,…,τn}(0≤i≤n),消息所對應的調度周期為T1,T2,…,Ti,…,Tn(0≤i≤n),消息對應的調度最大執行時間為C1,C2,…,Ci,…,Cn(0≤i≤n),消息對應的調度截止期為D1,D2,…,Di,…,Dn(0≤i≤n),假設消息彼此間是獨立調度的,則Di=Ti(0≤i≤n),則CPU占用率為:

PIS內的消息調度根據實際運營情況(統計數據),T1取值無窮大,Tn的值一般以小時計值(這里取20 min),Ti(0

本文所采用的媒體控制器采用X86架構的工程機。EDF算法受任務數的影響很小,可以承受比較多的任務負載。該算法存在負載超過某個臨界值,其算法性能將會下降的不足,但是綜合考慮實際情況(消息調度在短時間的任務量遠遠小于該臨界值),該算法缺陷對消息調度影響不大。
消息調度是每個工程機以其IP作為獨立標識,工程機以時鐘變化來實現消息調度,當時鐘運行到調度時間點時運行相應的調度信息。對于EDF算法其優先級是變化的,同級別的消息開始時間點靠前的優先半個級,這也能夠滿足緊急消息調度中“同級的先到先發不疊加”的原則。
消息調度擔負著地鐵運營和管理部門向乘客傳遞信息的重任。如何能夠快捷、迅速、準確地將信息發送到指定顯示終端,且能遵守規定是消息調度的重中之重,本文中的消息調度方法通過實驗室運行、實驗室壓力測試、現場模擬測試和現場實際運行,都能達到并超過要求。
[1]丁樹奎,陳忠興,朱勝利,等. 城市軌道交通乘客信息系統(PIS)技術[C]. 中國城市軌道交通新技術(第三集),2009.
[2]闞庭明. 城市軌道交通乘客信息系統技術發展趨勢探討[J].鐵路計算機應用,2009,18(1):37-39.
[3]王 珊,薩師煊. 數據庫系統概論[M]. 北京:高等教育出版社,2006.
[4]邢群科,郝紅衛,溫天江. 兩種經典實時調度算法的研究與實現[J]. 計算機工程與設計,2006,27(1):117-119.