?

基于CORBA技術的EDFA遠程監控軟件架構設計

2013-12-10 14:07菲尼薩光電通訊科技無錫有限公司
電子世界 2013年4期
關鍵詞:通信協議調用遠程

菲尼薩光電通訊科技(無錫)有限公司 華 歆

目前,EDFA(Erbium Doped Fiber Amplifier)的電路設計已經使其成為了相對獨立的智能化嵌入式設備,在對其進行相應的應用模式設置后,就可以運行在無人監管的狀態下。但是,隨著光纖通信網絡應用規模的不斷擴大,EDFA的使用量也隨之迅速增多、而且應用分布的結構日趨復雜,在這樣的前提下,為了監控EDFA的運行狀態以防止意外的運行異常,或者針對相關應用需要人為更改EDFA的工作模式,所以必需要構建一套專門的EDFA網絡監控系統來對EDFA的實時運行狀態加以管理。

一、EDFA控制的演化

由于EDFA的工作穩定性直接影響到光纖通信網絡的傳輸性能,所以對于EDFA的電路設計要求非常嚴格,幾乎要為其在實際應用中遇到的各類問題都備有相對的解決方案,因此,一個獨立的EDFA模塊本身就可以工作在沒有任何外圍設備干預的狀態之中。

隨著光纖通信網絡技術的日益復雜化,對EDFA的實際應用也提出了多種要求,有時就需要人為參與一些對它的操作設置,這樣就需要有外部的相應軟件對它進行監控。最普通的方法是在計算機中設計一個控制軟件,通過使用與EDFA中匹配的通信協議,就可以很好的監控EDFA的工作狀態。

單機的EDFA控制雖然設計簡單、操作方便,但是這種模式的管理使得資源消耗比較浪費,因此又提出了多機控制方式,即一臺計算機同時管理多臺EDFA,監控方式可以采用針對特定單機的訪問模式,也可以采用分時輪循多機的訪問模式。

圖1 軟件框架模型示意圖

但是對于EDFA網絡的集中管理,新的問題又出現了。第一,EDFA在區域上的分布比較隨機,很可能所要管理的EDFA由幾個不同的計算機單獨管理,第二,所有的EDFA種類比較繁多,因此其通信協議也不盡相同,無法使用統一的通信協議對其進行管理。針對這樣的問題,有一種方法可以非常有效的解決,那就是采用分布式應用的方式來設計遠程監控軟件。

二、CORBA簡介

CORBA(Common Object Request Broker Architecture公共對象請求代理體系結構)是由OMG組織制定的一種標準的面向對象的應用程序體系規范。由對象請求代理ORB、對象服務、公共設施、域接口和應用接口這幾個部分組成。其核心部分就是對象請求代理ORB(Object Request Broker)。ORB提供了一種機制,通過這種機制,對象可以透明地發出請求和接收響應。分布的、可以互操作的對象可以利用ORB構造進行互操作的應用。ORB可看作是在對象之間建立客戶/服務關系的一種中間件?;贠RB,客戶可以透明的調用服務對象提供的方法,該服務對象可以與客戶運行在同一臺機器上,也可以運行在其他機器上通過網絡與客戶進行交互。ORB截取客戶發送的請求,并負責在該軟件總線上找到實現該請求的服務對象,然后完成參數、方法調用,并返回最終結果。

ORB最重要的特性是提供了客戶與目標對象之間的交互透明性,具體屏蔽了以下幾個內容:

對象位置:客戶不必知道目標對象的物理位置。目標對象可能與客戶一起駐留在同一個進程中或同一機器的不同進程中,也有可能駐留在網絡上的遠程機器上;

對象實現:客戶不必知道有關對象實現的具體細節。例如對象設計所采用的編程語言,對象所在結點的硬件平臺和操作系統等;

對象的執行狀態:客戶不必知道目標對象在被其發送調用請求時是否處于活動狀態,如果目標對象不是活動的,那么在ORB傳送客戶的調用請求之前,會自動的將它激活;

對象通信機制:客戶不必知道ORB所使用的通信機制,如TCP/IP、管道、共享內存、本地方法調用等;

數據的表示:客戶不必知道本地機器和遠程機器對數據的表示方法是否相同。

ORB的這些特點使應用程序開發者不必過多的了解底層分布式編程的細節,而把精力集中在自己的具體應用設計上。

三、實現原理

在客戶向目標對象發送請求之前,必須知道目標對象所支持的相關服務,而目標對象通過界面定義來說明它所能提供的服務。CORBA的對象界面由OMG IDL來定義。IDL(接口定義語言)是一個純說明性語言,與主機上具體采用的編程語言無關。只要是支持CORBA開發的編程語言工具,它都可以通過自己獨特的IDL編譯器來編譯IDL文件,這就強制性的使界面與對象實現分離,即可以用不同的編程語言來實現目標對象。

IDL編譯器除了將IDL文件映射成相對應的編程語言之外,還會根據IDL文件中的界面定義來產生客戶方的存根和服務方的框架。存根代表客戶創建并發出請求,框架則把這個請求交給CORBA對象來實現。具體的說,存根為客戶提供了一種機制,使客戶不用關心ORB的細節,它負責將客戶請求的參數進行封裝和發送,并對返回的結果進行接收和解封裝。而框架在接收到客戶的請求后,會先將請求參數解封裝,從中識別客戶請求所需要的服務,然后調用對象實現,并把執行結果進行封裝后返回給客戶。

當然,CORBA的底層細節是實現ORB通信的關鍵,其中包括為ORB之間通信規定傳輸文法和信息格式的GIOP(Global Inter_ORB Protocol)、如何在TCP/IP網絡上交換GIOP消息的IIOP(Internet Inter_ORB Protocol)、標準對象引用格式IOR(Interoperability Object Reference),還有聯系對象實現和ORB本身的對象適配器等。由于這些內容不用程序開發者過多的關注,所以不在這里詳述。

四、設計應用

要設計一個基于CORBA技術的EDFA遠程監控軟件,首先必須對軟件需求進行分析,清楚所設計的軟件要具備哪些功能,并對其中需要哪些具體的服務有個總體把握,這對以后設計、編寫IDL文件和Servant文件很重要。

整個軟件設計可以分為兩個部分進行:EDFA控制和CORBA服務。

一般來說,在設計EDFA控制軟件時,會根據客戶的要求和EDFA所具備的功能制定一套相應的控制通信協議,包括數據傳輸格式、相關命令字、校驗方式、返回信息編碼等,通過這個協議,計算機就可以控制EDFA的工作方式并實時監測其運行狀態。

而CORBA服務的開發要遵循一定的開發步驟,首先是編寫IDL文件。因為CORBA關系服務將對象關系使用IDL描述成CORBA對象,所以一個IDL中規定的接口描述將決定整個CORBA服務的功能范圍,而且一旦設計好CORBA服務程序后再對IDL進行更改,則整個CORBA服務程序必須重新構建才能夠實現新的功能要求。編寫完成IDL文件后要用專門的編譯器對其進行編譯,以生成存根和框架供客戶端及服務器端編碼使用。最后是編寫輔助功能文件,并根據選定的CORBA服務方式編寫客戶端和服務器端的代碼。

因此,要設計一個基于CORBA技術的EDFA遠程監控軟件,首先要將所有對EDFA的遠程控制命令都為其設計一個對應的接口模塊,并規定各個接口中的傳輸變量及數據傳輸的格式。然后一個非常重要的步驟就是編寫Servant文件。Servant稱作仆從管理器,是POA(可移植對象適配器)中的一個組件,用于實現一個或多個對象請求,通常存在于服務器進程的環境中。ORB將客戶端根據對象引用發出的操作請求轉換為對仆從的調用。因此,Servant的編寫質量直接關系到整個軟件運行的效率。對一個基于CORBA技術的EDFA遠程監控軟件而言,Servant所負責的操作就是如何將CORBA服務轉換成對應的EDFA控制通信協議。最后,根據采用的CORBA服務方式編寫出客戶端和服務器端的代碼。整個軟件的框架模型如圖1所示。

通過采用CORBA服務的方式,客戶在網絡上發出控制EDFA的請求,ORB則自動截取這個服務的請求,然后負責在網絡上找到可以實現該請求的服務對象并將其定位和調用。而服務器端通過Servant將CORBA服務請求轉換成對應的EDFA控制命令和通信協議并對EDFA進行相應的操作,最后將操作結果轉換成CORBA服務的信息傳輸格式返回到網絡上供發送請求的客戶接收。

五、結語

使用CORBA技術來實現的EDFA遠程監控軟件,除了可以很好的滿足采用分布式構建的EDFA應用網絡的監控要求,而且能夠支持應用集成框架的建立,適應協同工作的需求,更方便地實現EDFA應用網絡的可移植性、互操作性和分布透明性。

[1]張云勇,張智江,等.中間件技術原理與應用[M].北京:清華大學出版社,2004.

[2]朱其亮,鄭斌.CORBA原理及應用[M].北京:北京郵電大學出版社,2001.

[3]何麗,方英蘭,等.分布式應用程序開發[M].北京:清華大學出版社,2004.

[4]對象計算組織TAO開發者指南1.3a.美國:Object Computing,Inc,2003.

猜你喜歡
通信協議調用遠程
讓人膽寒的“遠程殺手”:彈道導彈
遠程工作狂綜合征
核電項目物項調用管理的應用研究
LabWindows/CVI下基于ActiveX技術的Excel調用
遠程詐騙
基于Z-Stack通信協議棧的紅外地溫采集電路設計
基于系統調用的惡意軟件檢測技術研究
基于DMX512通信協議的多路轉發器設計與研究
基于NS-3的PLC多頻通信協議仿真平臺設計與實現
RSSP-I、RSSP-Ⅱ及SAHARA三種安全通信協議實現技術簡介
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合