前端處理器(front end processor,FEP),通常也被稱為通信控制器,其主要功能是釋放主機以運行應用程式。這樣,主機就不會不斷地被外部設備打擾,使得它能更有效地處理套用。
基本介紹
- 中文名:前端處理器
- 外文名:front end processor,FEP
儀器介紹,功能,功能需求,功能實現,冗餘機制,FEP套用現狀,
儀器介紹
前端處理器(front end processor,FEP),通常也被稱為通信控制器,其主要功能是釋放主機以運行應用程式。這樣,主機就不會不斷地被外部設備打擾,使得它能更有效地處理套用。它可以是複雜的前台大型計算機接口或者簡單的設備如多路復用器、橋接器和路由器等。這些設備把計算機的並行數據轉換為通信線上傳輸的串列數據,並完成所有必要的控制功能、錯誤檢測和同步。現代設備還完成數據壓縮、路由選擇、安全性功能,並收集管理信息。前端處理機一般是小型或微型機,專門為大型主幹計算機處理數據通信控制功能。前端處理機能夠控制對網路的存取並允許註冊過的用戶才能使用系統;對信息指定優先權;登記所有的數據通信活動;統記全部網路活動;在網路鏈路間路由信息,大大釋放了大型主幹計算機的數據通信控制功能,使主機能從事其它信息處理任務。
功能
功能需求
在綜合監控系統中,FEP主要擔負綜合監控系統與各相連子系統的接口管理。通過協定轉換、數據採集和數據下發等功能,完成伺服器與子系統設備間的數據互動,從而實現對相連子系統設備的監控。
功能實現
FEP要完成伺服器與子系統間的數據互動(見圖),其功能及原理分析如下。
- 與子系統設備建立通信連線。在物理鏈路連通之後,由FEP主動向設備通信主機請求信息,同時設備通信主機返回應答信息,見圖中的①。
- FEP獲取設備狀態信息,解析並快取在本地。FEP互動的信息都快取在本地的實時資料庫中,在登錄後可觀察一定時間內雙方互動的原始報文及解析後的數據。在系統調試初期,這些快取的報文可輔助檢測問題;在系統穩定之後,可以維護FEP穩定高效地運行。
- 伺服器端的FEP採取驅動輪詢,採集FEP收集的狀態數據。為建立FEP與伺服器的數據互動通道,在伺服器端安裝了FEP驅動,FEP上傳的數據均由驅動分派至伺服器相應的暫存器中,見圖中的②,最終由HMI展現在界面上。
- 控制指令經由FEP驅動下發至FEP。下置數據的順序與採集數據的順序相反,會先存儲在伺服器端相應的暫存器里,再由FEP讀取後處理,見圖中的③。
- FEP將控制指令按照協定格式傳送給設備。FEP在接收到指令之後,根據接口協定轉換成正確的報文格式傳送,見圖中的④。
在整個流程中,通過①→②完成對設備狀態的獲取,通過③→④完成對控制指令的下發;對於不同的子系統,區別只是對數據處理的方式。
冗餘機制
為提高綜合監控系統的可靠性,對其主要硬體配置全部採用冗餘機制,FEP也不例外,如圖所示。圖中的FEP1和FEP2各自獨立運行,與X系統的通信鏈路分別為①和②,且FEP1和FEP2均能同時向伺服器1和伺服器2上傳數據。伺服器與FEP之間的鏈路為③~⑥,這樣從伺服器到X系統設備間就建立了4條鏈路:鏈路1,①→③;鏈路2,①→⑤;鏈路3,②→④;鏈路4,②→⑥。當FEP1與X系統(鏈路①)的通信中斷時,伺服器1可通過鏈路4獲取X系統的數據,伺服器2可通過鏈路3獲取X系統的數據;同理,FEP2故障後,鏈路1和鏈路2可實現數據的正常互動,從而實現了冗餘切換的功能。
FEP套用現狀
研究目前,全國各城市已有多條綜合監控系統上線運行。從FEP的運行情況來看,易造成通信中斷級別的故障主要集中在硬體方面,如鏈路接頭鬆動和接口模組損壞等。除此之外,瞬間大數據量互動對FEP性能也有一定的影響,易造成FEP的CPU、記憶體利用率居高不下或是暫時性的數據阻塞等,導致系統功能異常。針對這些問題,應最佳化FEP的設計方案,保證後續線路不會重蹈覆轍。
硬體可靠性分析研究
目前,FEP接口模組只有乙太網口和串口兩種,傳輸介質分別為RJ45雙絞線和串口線;無論是哪種連線埠,對接點的數量都與故障率的高低成正比。對於使用網口與FEP對連的設備來說,越來越成熟的網路配線架已將兩者之間的對接方式模組化,對接的可靠性已達到很高的水平。相比之下,串口基於其特性,接頭處需採用人工接線,穩定性相對於網口自然會低一些;但串口的成本較低,在數據互動頻率不高的系統中依然得到了很廣泛的套用。儘管如此,串口模組由於工作時存在電平差,所以當數據互動瞬間次數很高時,發熱就會很嚴重,造成整個FEP溫度上升,影響系統性能以及設備的使用壽命。
總之,網口和串口模組各有優勢。就捷運項目而言,由於子系統的功能有簡有繁,對於數據量互動很頻繁的系統來說,乙太網口是最好的選擇;但對於系統數據量互動一般或很少的系統來說,從降低成本的角度出發,可選擇使用串口模組。因此,在接口設計初期,可通過預估數據互動頻率、數據量大小和用戶對鏈路的日常維護要求,確定接口模組的類型。
FEP硬體能夠同時支持多種通信接口模組,即支持很多的網口和串口同時運行。因此,為防止因地址混亂而造成的通信故障,在作業系統安裝時就應為每個連線埠規劃其相應的地址,實現網路隔離。除此之外,還需要保證各功能模組具有自診斷和自恢復的功能,保證鏈路恢復後通信能夠自行恢復。
軟體可靠性分析
研究在FEP與子系統連線建立的初期,FEP會按照雙方約定的協定來檢測第一個通信模組,待雙方正常通信後,再按照這個步驟來逐個檢測剩下的通信模組,直到初始化過程完畢,FEP的各模組才開始輪詢採集子系統設備信息,並快取在本地的暫存器中,實現通過協定轉換獲取設備信息的功能。
由於雙方通信連線的保持是通過不斷地收發報文來實現的,而報文是由程式按照協定格式封裝而成的,所以協定本身就是報文穩定性的一個關鍵。根據系統功能定製開發的協定,互動報文的穩定性相比標準協定規定的穩定性要低得多。雖然在數據互動時允許報文出錯,且接收方可以根據錯誤校驗丟棄報文,但是浪費了頻寬資源。因此,從通用性和易維護性方面來考慮,協定的商定應儘量選擇標準的類型,以減少由FEP定製開發所產生的不必要錯誤。同時,當FEP與設備的鏈路遭遇通信中斷的問題時,對不同的系統應有不同的處理方式;對信息實時性要求較高的系統,在遇到連線中斷或阻塞等情況時,FEP必須具備丟棄報文的功能,如廣播系統(public address,PA)、導乘信息系統(passenger information system,PIS)、門禁系統(access control system,ACS)等;對信息完整性要求較高的系統,FEP必須在本地快取這些指令,待鏈路恢復後繼續互動,如電力監控系統(power supervisory control and data acquisition system,PSCADA)的事件順序記錄(sequence of event,SOE)等。
數據通信性能分析研究
當FEP與子系統瞬間數據互動量很大時,FEP的性能肯定會受到一定的影響,輕則造成短時的數據阻塞,重則造成系統出現故障。以接入綜合監控系統的列車監控系統(automatictrainsupervision,ATS)為例,全線約2000個信息點,按照2次/min數據交換計算,全天互動高達500萬個信息點,這個數據量對任何伺服器都是個挑戰。因此,針對這種大數據量的接口設備,從數據傳輸的角度來考慮,採用塊傳輸的效率肯定高於採用點傳輸的效率,但缺點是數據的可讀性會隨之下降。對此,可以採用折中的辦法,FEP採用塊傳輸的方式傳輸數據,數據的解析通過外接維護工作站來實現,調試人員可以在維護工作站上觀察雙方的數據互動情況,這樣FEP本身的負荷會小很多,數據傳輸效率自然會隨之提高。
從數據處理的角度來考慮,對於不需經過伺服器處理的數據,最好由FEP直接協定轉換並轉發,以降低中轉的環節,提高整個綜合監控系統的工作效率。圖中(a)是某捷運綜合監控系統ATS信息轉發PIS的方案:FEP在接收到ATS上傳的數據之後,將數據傳輸至伺服器進行處理,再將數據返回給FEP,由FEP傳輸至PIS系統,整個流程一共要進行4次數據收發。圖中(b)是FEP具備協定轉換功能之後的最佳化方案:ATS的數據上傳至FEP後,直接由FEP轉發給PIS系統,中間減少了2次數據收發,不僅減少了系統的故障點,而且還提高了系統的可靠性。因此,FEP今後的發展一定要越來越適應這種大數據量的接口設備。
冗餘機制分析研究
綜合監控系統的接口數量多,接口方式也多種多樣,因此接口性能的穩定是綜合監控系統與子系統之間保持正常通信的關鍵,但接口設備不可能達到100%的無故障率。當系統間的某個部件發生故障時,可通過備用部件進行正常的數據收發,使系統的可靠性得到保障,這就是目前提高系統可靠性最普遍的做法—--冗餘切換。每個綜合監控系統採用的冗餘機制都不盡相同,但都有共同的目的,就是在系統結構更簡單的同時,冗餘的可靠性更高。
冗餘方式1
目前的FEP採用設備級的冗餘機制居多,如圖所示。FEP通過計算與其通信正常的子系統數量來設定冗餘標誌位,多的設定為“主”,少的設定為“備”。當FEP1與A子系統的通信中斷之後,FEP1通過其內部的交換機卡1連線FEP2的交換機卡2,完成與A子系統的通信建立,實現冗餘切換。這種機制的FEP結構較為複雜,內部需配置交換機卡,其實現難度主要集中在兩台FEP之間的路由轉換,因此被稱為“基於FEP本身的冗餘”。
冗餘方式2
從綜合監控系統建設的角度來看,在冗餘功能相同的前提下,整體方案應越簡單越好。因此,通過將冗餘取決權上交至伺服器端FEP驅動的方式,替換FEP內部交換機卡所完成的任務,實現冗餘功能,被稱為“基於上位驅動的冗餘”,如圖所示。FEP1和FEP2相對獨立,內部不需要配置交換機卡,但FEP要將與每個子系統的連線狀態傳輸給上位的FEP驅動,由FEP驅動根據連線埠通信情況來決定鏈路。如圖所示,當FEP1與A系統連線中斷、FEP2與B系統連線中斷時,上位驅動就會選擇FEP1的B系統和FEP2的A系統作為通信鏈路,實現冗餘功能。這種機制的FEP結構較為簡單,其實現難度主要集中在上位FEP驅動的開發。與方式1相比,這種機制的優點就是結構簡單,由於內部環節比較少,所以維護起來也方便。
兩種冗餘方式結合
FEP畢竟屬於獨立設備,伺服器無法直接檢測連線埠的真正狀態,所以可將兩種方式結合起來,如圖所示。在兩台FEP之間建立一條心跳連線,通過“心跳線”,FEP就能了解彼此子系統連線埠的狀態,然後以寫入配置檔案的方式,指定上位的FEP驅動和哪台FEP的子系統互動數據;只有當“心跳線”中斷之後,取決權才上交由上位FEP驅動來選擇,這樣FEP原有的冗餘功能才不會缺失,且提高了多點故障時的數據可靠性。