複製鏈接
請複製以下鏈接發送給好友

前端處理器

鎖定
前端處理器(front end processor,FEP),通常也被稱為通信控制器,其主要功能是釋放主機以運行應用程序。這樣,主機就不會不斷地被外部設備打擾,使得它能更有效地處理應用。
中文名
前端處理器
外文名
front end processor,FEP

前端處理器儀器介紹

前端處理器(front end processor,FEP),通常也被稱為通信控制器,其主要功能是釋放主機以運行應用程序。這樣,主機就不會不斷地被外部設備打擾,使得它能更有效地處理應用。它可以是複雜的前台大型計算機接口或者簡單的設備如多路複用器、橋接器和路由器等。這些設備把計算機的並行數據轉換為通信線上傳輸的串行數據,並完成所有必要的控制功能、錯誤檢測和同步。現代設備還完成數據壓縮、路由選擇、安全性功能,並收集管理信息。前端處理機一般是小型或微型機,專門為大型主幹計算機處理數據通信控制功能。前端處理機能夠控制對網絡的存取並允許註冊過的用户才能使用系統;對信息指定優先權;登記所有的數據通信活動;統記全部網絡活動;在網絡鏈路間路由信息,大大釋放了大型主幹計算機的數據通信控制功能,使主機能從事其它信息處理任務。

前端處理器功能

前端處理器功能需求

在綜合監控系統中,FEP主要擔負綜合監控系統與各相連子系統的接口管理。通過協議轉換、數據採集和數據下發等功能,完成服務器與子系統設備間的數據交互,從而實現對相連子系統設備的監控 [1] 

前端處理器功能實現

圖1 圖1
FEP要完成服務器與子系統間的數據交互(見圖1),其功能及原理分析如下。
  1. 與子系統設備建立通信連接。在物理鏈路連通之後,由FEP主動向設備通信主機請求信息,同時設備通信主機返回應答信息,見圖1中的①。
  2. FEP獲取設備狀態信息,解析並緩存在本地。FEP交互的信息都緩存在本地的實時數據庫中,在登錄後可觀察一定時間內雙方交互的原始報文及解析後的數據。在系統調試初期,這些緩存的報文可輔助檢測問題;在系統穩定之後,可以維護FEP穩定高效地運行。
  3. 服務器端的FEP採取驅動輪詢,採集FEP收集的狀態數據。為建立FEP與服務器的數據交互通道,在服務器端安裝了FEP驅動,FEP上傳的數據均由驅動分派至服務器相應的寄存器中,見圖1中的②,最終由HMI展現在界面上。
  4. 控制指令經由FEP驅動下發至FEP。下置數據的順序與採集數據的順序相反,會先存儲在服務器端相應的寄存器裏,再由FEP讀取後處理,見圖1中的③。
  5. FEP將控制指令按照協議格式發送給設備。FEP在接收到指令之後,根據接口協議轉換成正確的報文格式發送,見圖1中的④。
在整個流程中,通過①→②完成對設備狀態的獲取,通過③→④完成對控制指令的下發;對於不同的子系統,區別只是對數據處理的方式。

前端處理器冗餘機制

圖2 圖2
為提高綜合監控系統的可靠性,對其主要硬件配置全部採用冗餘機制,FEP也不例外,如圖2所示。圖2中的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的設計方案,保證後續線路不會重蹈覆轍 [1] 
硬件可靠性分析研究
目前,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本身的負荷會小很多,數據傳輸效率自然會隨之提高。
圖3 圖3
從數據處理的角度來考慮,對於不需經過服務器處理的數據,最好由FEP直接協議轉換並轉發,以降低中轉的環節,提高整個綜合監控系統的工作效率。圖3中(a)是某地鐵綜合監控系統ATS信息轉發PIS的方案:FEP在接收到ATS上傳的數據之後,將數據傳輸至服務器進行處理,再將數據返回給FEP,由FEP傳輸至PIS系統,整個流程一共要進行4次數據收發。圖3中(b)是FEP具備協議轉換功能之後的優化方案:ATS的數據上傳至FEP後,直接由FEP轉發給PIS系統,中間減少了2次數據收發,不僅減少了系統的故障點,而且還提高了系統的可靠性。因此,FEP今後的發展一定要越來越適應這種大數據量的接口設備。
冗餘機制分析研究
綜合監控系統的接口數量多,接口方式也多種多樣,因此接口性能的穩定是綜合監控系統與子系統之間保持正常通信的關鍵,但接口設備不可能達到100%的無故障率。當系統間的某個部件發生故障時,可通過備用部件進行正常的數據收發,使系統的可靠性得到保障,這就是目前提高系統可靠性最普遍的做法—--冗餘切換。每個綜合監控系統採用的冗餘機制都不盡相同,但都有共同的目的,就是在系統結構更簡單的同時,冗餘的可靠性更高。
冗餘方式1
圖4 圖4
目前的FEP採用設備級的冗餘機制居多,如圖4所示。FEP通過計算與其通信正常的子系統數量來設置冗餘標誌位,多的設置為“主”,少的設置為“備”。當FEP1與A子系統的通信中斷之後,FEP1通過其內部的交換機卡1連接FEP2的交換機卡2,完成與A子系統的通信建立,實現冗餘切換。這種機制的FEP結構較為複雜,內部需配置交換機卡,其實現難度主要集中在兩台FEP之間的路由轉換,因此被稱為“基於FEP本身的冗餘”。
冗餘方式2
圖5 圖5
從綜合監控系統建設的角度來看,在冗餘功能相同的前提下,整體方案應越簡單越好。因此,通過將冗餘取決權上交至服務器端FEP驅動的方式,替換FEP內部交換機卡所完成的任務,實現冗餘功能,被稱為“基於上位驅動的冗餘”,如圖5所示。FEP1和FEP2相對獨立,內部不需要配置交換機卡,但FEP要將與每個子系統的連接狀態傳輸給上位的FEP驅動,由FEP驅動根據端口通信情況來決定鏈路。如圖5所示,當FEP1與A系統連接中斷、FEP2與B系統連接中斷時,上位驅動就會選擇FEP1的B系統和FEP2的A系統作為通信鏈路,實現冗餘功能。這種機制的FEP結構較為簡單,其實現難度主要集中在上位FEP驅動的開發。與方式1相比,這種機制的優點就是結構簡單,由於內部環節比較少,所以維護起來也方便。
兩種冗餘方式結合
圖6 圖6
FEP畢竟屬於獨立設備,服務器無法直接檢測端口的真正狀態,所以可將兩種方式結合起來,如圖6所示。在兩台FEP之間建立一條心跳連接,通過“心跳線”,FEP就能瞭解彼此子系統端口的狀態,然後以寫入配置文件的方式,指定上位的FEP驅動和哪台FEP的子系統交互數據;只有當“心跳線”中斷之後,取決權才上交由上位FEP驅動來選擇,這樣FEP原有的冗餘功能才不會缺失,且提高了多點故障時的數據可靠性。
參考資料