基于動態調控的通信策略
時間:2022-08-19 02:33:17
導語:基于動態調控的通信策略一文來源于網友上傳,不代表本站觀點,若需要原創文章可咨詢客服老師,歡迎參考。
1AC板間通信總體結構及功能
AC在多板架構中對外展現的是一個完整系統,而內部是基于ATCA架構,包含兩種類型的板卡:主控板和業務板。主控板的功能是對各個業務板的業務下發、狀態控制以及設備維護;業務板的功能是對接入點和用戶的業務進行處理并將其狀態上傳。要將AC的多板架構對外展現出一致性,就需要板間通信的協同。AC的多板構架及模塊組成如圖1所示。在AC板間通信中,使用Linux操作系統[1]的套接字作為板間通信的基礎,有以下好處:(1)有一個已經實現的協議棧,可以支持各種應用層協議,能夠對板間通信提供穩定的支撐。(2)統一的平臺使板間通信方法更具有通用性,可以在多個類型的板卡(如X86,mips,powerPC等)硬件架構上使用。(3)使板間通信有了清晰的網絡層次結構,實現于傳輸層及以上、應用層之下。可為應用層提供服務;而在傳輸層以下,直接使用協議棧的接口。當需要增加新的底層通信通道時,可以加入新增的底層實現方式,并調用即可。實現了層次架構的可擴展性。本文中的板間通信方法是分層次的,保證了數據信令層和管理維護層的分開傳輸,既可以將多個板卡之間的數據進行收發處理,又對各個板卡進行監控維護。板間通信模塊的分層結構如圖2所示管理維護層為各個板卡的狀態提供有力支撐。主控板在啟動時,會對業務板進行動態的發現,確定板卡是否存在,并獲取其基本信息。在建立關聯之后對板卡狀態進行維護管理,通過心跳檢測功能確定板卡狀態。若板卡異常,則會立即通知應用。數據信令層為各個板卡提供數據傳輸通道。主控板在管理維護層發現板卡成功之后,就會開啟板卡的數據信令層通道,等待業務板進行連接,之后板卡之間就通過此通道進行數據業務的發送,附帶有保活機制。
2AC板間通信設計原理
基于以上功能需求,對AC板間通信的設計在管理維護層和數據信令層的方法是分而治之的[2]。兩個平面既有交集又相互獨立,這是維護板卡AC和底層支撐的關鍵。在實現方式上,管理維護層由于要實現板卡發現和心跳維護,因而使用UDP廣播發現;數據信令層需要考慮可靠的數據傳輸以及消息的確認,則使用TCP方式來實現[3]。
2.1管理維護層設計原理
主控板對業務板的管理是通過管理維護層來實現的。主控板上維持著業務板的狀態機,運行在主控板上的管理維護層還需同其他模塊進行交互。圖3所示為管理維護層的狀態機的狀態遷移圖。各狀態分析如下:發現狀態:每個板卡從ATCA機框的接口可以獲取各自的板卡槽位號。業務板在剛啟動時通過廣播來發現主控板,主控板會對廣播進行單播響應。若主控板未響應,則業務板會重發發現請求消息。加入狀態:在業務板收到發現響應消息,即發現了主控板后,會發送加入請求消息到主控板,主控板則對請求作出回應。配置狀態:業務板進入加入狀態初期,還不能正常運行,因為板卡上沒有信息,也沒有接入點和用戶的上下文,此時要發送配置消息來請求配置。數據檢查狀態:主控板配置業務板完成后,業務板檢查自己的狀態是否正確,如果正確,則進入運行狀態。運行狀態:在此狀態下業務板可以正常轉發數據,可以接收主控板的配置消息(添加或刪除某個接入點或用戶的上下文),還要定期向主控板發送心跳消息,讓主控板知道業務板仍在正常工作。如果心跳檢測失敗,則通知上層應用,通過指令令其重啟。重置狀態:當主控板幾次沒有對心跳消息作出回應時,進入此狀態。一段時間后,業務板將重啟,進入最初始的狀態。通過管理維護層的幾個狀態的轉換,主控板就可以動態地將業務板關聯起來,并實時地維護板卡狀態,對有問題的板卡,馬上對應用及數據信令層進行上報。另外,在進入加入狀態之后,管理維護層會為數據信令層提供節點號(板號)到IP地址或端口的映射。由于該映射是動態記錄的,在板卡發生變化時就會產生新的映射關系。
2.2數據信令層設計原理
數據信令層依靠管理維護層對各個板卡實現的關聯,用TCP[4]為應用建立一條可靠的數據通路,使應用可以使用這個專用通道進行數據的傳輸,并通過消息的方式通知應用收取消息,或者從應用的消息隊列中取出消息發送到對應業務板上。圖4所示為數據信令層的狀態機的狀態遷移圖。各狀態分析如下:初始化狀態:為各個板卡進行初始化配置,創建選擇、消息隊列和信號量。判斷管理維護層進入加入狀態之后,跳轉到下一個狀態。選擇/連接狀態:主控板此時會進入選擇狀態,對每一個業務板進行通道建立及I/O(輸入/輸出)復用;業務板此時會通過之前從管理維護層中獲取的主控板IP等信息,對板卡進行連接狀態連接;由于數據信令層的可靠性一定程度承載在管理維護層之上,因此會很快建立起連接,并將連接保持。接收/發送狀態:此狀態是從應用收取消息,發送到指定板卡以及從對板收到消息,交付給指定的應用的一個狀態。在接收到管理維護層的命令或者TCP的保活異常時都會進入重置狀態。重置狀態:進入此狀態,則說明板卡出現了不可恢復的問題,會馬上重新進入初始化狀態。基于以上兩個層次的協同合作,就可以為AC提供穩定的板間通信方法。
3板間通信運行結果
根據設計原理用C語言編程[5]實現,使用一臺在網絡中的ATCA平臺業務管理系統中的3塊單板,其中一塊單板作為主控板,另兩塊作為業務板,這3臺主機同時運行板間通信模塊。主控板的工作設置為向業務板進行消息廣播,同時接收業務板發送過來的消息。業務板的工作設置為向主控板發送消息,并接收主控板發送過來的消息。各個板卡的板號由ATCA接口提供。在應用的使用過程中,并不會感知到板間通信管理維護層的存在,而只是認為有板間通信數據信令層在工作。實際上,在應用發送消息之前,管理維護層已經使主控板對各個板卡進行了關聯。
4結束語
本文設計的板間通信是適用于最新構架的AC的一種動態調控的板間通信策略。管理維護層可以動態獲取ATCA機框上板卡信息,并使之關聯,為業務面提供支持;業務面可以借助管理維護層的信息,使各個板卡實現數據的可靠傳輸,大大增強了AC在大流量多用戶情況下的運行穩定性。
本文作者:杜勇余勛玲熊桂蘭工作單位:光纖通信技術和網絡國家重點實驗室
- 上一篇:電力通信的光纖通信應用探討
- 下一篇:計算機在通信的運用研究