摘 要: 設(shè)計(jì)了STP網(wǎng)元集中管理系統(tǒng),,闡述了該系統(tǒng)的體系結(jié)構(gòu)和各模塊的功能以及各模塊間的通信方式,。通過使用CORBA構(gòu)建技術(shù)、IDL接口描述語言以及文本描述語言TL1,,使得系統(tǒng)具有靈活性,、可維護(hù)性和可擴(kuò)展性的特點(diǎn)。該系統(tǒng)的實(shí)現(xiàn),,使得對(duì)信令網(wǎng)中的STP設(shè)備進(jìn)行集中管理和統(tǒng)一維護(hù)成為可能,,為進(jìn)一步對(duì)信令網(wǎng)的檢測(cè)和歷史數(shù)據(jù)的采集分析提供了基礎(chǔ)。
關(guān)鍵詞: CORBA,;TL1,;STP網(wǎng)元集中管理系統(tǒng)
七號(hào)信令系統(tǒng)是一種國(guó)際性標(biāo)準(zhǔn)化的通用公共信道信令系統(tǒng)。作為電信網(wǎng)的三大支撐之一,、電信網(wǎng)的重要組成部分,,其應(yīng)用十分廣泛。目前,,我國(guó)已經(jīng)建立了由高級(jí)信令轉(zhuǎn)接點(diǎn)(HSTP),、低級(jí)信令轉(zhuǎn)接點(diǎn)(LSTP)和信令點(diǎn)(SP)的三級(jí)結(jié)構(gòu)七號(hào)信令網(wǎng)[1]。為了方便對(duì)信令網(wǎng)中的信令轉(zhuǎn)接點(diǎn)設(shè)備(STP)進(jìn)行集中管理和統(tǒng)一維護(hù),,有必要建立一個(gè)全網(wǎng)的STP管理系統(tǒng),,使得管理員遠(yuǎn)程對(duì)處于不同地點(diǎn)的STP進(jìn)行管理和檢測(cè)成為可能。本文介紹了如何利用構(gòu)建技術(shù)CORBA,、文本語言TL1以及高級(jí)編程語言實(shí)現(xiàn)STP網(wǎng)元集中管理系統(tǒng),。
1 CORBA技術(shù)簡(jiǎn)介
通用對(duì)象請(qǐng)求代理體系結(jié)構(gòu)CORBA(Common ORB Architecture)技術(shù)是當(dāng)今主流的三大構(gòu)件技術(shù)之一。所謂構(gòu)件是指軟件系統(tǒng)的基本單元,由一個(gè)或多個(gè)在邏輯上緊密關(guān)聯(lián)的對(duì)象封裝而成,,也是一種開發(fā)人員不必改變軟件源代碼就可以跨平臺(tái)運(yùn)行,,并在各種軟件環(huán)境下實(shí)現(xiàn)重用的、具有某種功能的獨(dú)立軟件[2],。構(gòu)件技術(shù)能很好地解決分布式計(jì)算環(huán)境中異構(gòu)數(shù)據(jù)源間的互聯(lián)共享和互操作問題,,實(shí)現(xiàn)各種應(yīng)用程序間的協(xié)同工作。此外,,利用構(gòu)件的重構(gòu)性還可以大大提高軟件系統(tǒng)的開發(fā)效率,增強(qiáng)系統(tǒng)的穩(wěn)定性和開放性,,大大提高系統(tǒng)的可擴(kuò)展性和可維護(hù)性?,F(xiàn)在它已經(jīng)成為分布軟件開發(fā)的主流,并被業(yè)界廣泛接受?,F(xiàn)有操作系統(tǒng)和硬件平臺(tái)的任一種組合幾乎都支持CORBA技術(shù),,同時(shí)CORBA支持大量編程語言。
ORB是CORBA的基礎(chǔ),,是在分布環(huán)境下,,CORBA所使用的、基于對(duì)象模型的軟件總線,,其基本職責(zé)是解決對(duì)象引用的請(qǐng)求和建立應(yīng)用對(duì)象之間的聯(lián)結(jié),,通過標(biāo)準(zhǔn)接口,使這種聯(lián)結(jié)獨(dú)立于所使用的硬件和軟件平臺(tái),,從而保證了對(duì)平臺(tái)的透明性以及對(duì)操作系統(tǒng),、網(wǎng)絡(luò)協(xié)議和編程語言的透明性。對(duì)象服務(wù)是為公共設(shè)施和各種應(yīng)用對(duì)象提供的基本服務(wù),,它包括命名服務(wù),、事件服務(wù)、事件處理服務(wù),、通知服務(wù),、交易服務(wù)、生命周期服務(wù)和安全服務(wù)等等,,其體系結(jié)構(gòu)如圖1所示,。CORBA提供了開發(fā)可移植的分布式應(yīng)用程序的抽象和服務(wù),而不必顧及它們的底層細(xì)節(jié),,并對(duì)多請(qǐng)求響應(yīng)模型的支持,,透明的對(duì)象定位和調(diào)動(dòng)、以及編程語言和操作系統(tǒng)的無關(guān)性為傳統(tǒng)的系統(tǒng)集成和新的應(yīng)用程序的開發(fā)提供了堅(jiān)實(shí)的基礎(chǔ),。
圖1說明了客戶應(yīng)用和服務(wù)對(duì)象是如何交互的,。客戶應(yīng)用不必知道服務(wù)對(duì)象位于本機(jī)上或者遠(yuǎn)程的機(jī)器上??蛻魬?yīng)用只需要知道服務(wù)對(duì)象的對(duì)象引用(或者機(jī)器名和端口號(hào))及如何來使用服務(wù)對(duì)象的公共接口即可,。由ORB來處理發(fā)送請(qǐng)求、對(duì)象定位和返回結(jié)果等具體問題,。
需要注意的是,,ORB并不是一個(gè)單獨(dú)的進(jìn)程。它是庫(kù)函數(shù)和網(wǎng)絡(luò)資源的集合,,并且要與客戶程序集成在一起,,起到定位和方便使用分布對(duì)象的作用。
2 TL1協(xié)議簡(jiǎn)介
TL1由Telcordia(先前的Bellcore)定義,,全稱為Transaction Language-1,。它是一個(gè)基于字符的管理協(xié)議,因此,,消息閱讀很容易,,不需要復(fù)雜的調(diào)試和協(xié)議分析器。
TL1作為網(wǎng)絡(luò)設(shè)備和網(wǎng)絡(luò)管理程序間的基本接口,,用于操作,、管理和維護(hù)電信網(wǎng)絡(luò)。TL1代理位于被管設(shè)備上提供訪問被管設(shè)備數(shù)據(jù)的接口,,TL1管理者使用這個(gè)接口監(jiān)視和控制被管設(shè)備,。數(shù)據(jù)(TL1 messages)在兩者之間以二進(jìn)制流的方式傳送。在設(shè)備側(cè)和管理程序側(cè)的TL1實(shí)現(xiàn)允許用戶進(jìn)行以下操作:告警和網(wǎng)絡(luò)監(jiān)視,、性能監(jiān)控,、網(wǎng)絡(luò)安全和管理及檢索網(wǎng)絡(luò)資產(chǎn)數(shù)據(jù)。
TL1定義了四種消息類型:(1)輸入消息(Input Message),。輸入消息是一條從OS或其他來源(如管理者)到網(wǎng)元(如代理)的命令,,這條消息要求NE進(jìn)行一些動(dòng)作;(2)響應(yīng)消息(Response Message),。響應(yīng)消息是對(duì)應(yīng)一條輸入命令的詳細(xì)回復(fù)(可以是一個(gè)回復(fù)或多個(gè)回復(fù)),,它包含了命令是否執(zhí)行成功的信息以及所需要返回的數(shù)據(jù);(3)應(yīng)答消息(Acknowledgment Message),。應(yīng)答消息是一個(gè)從NE的簡(jiǎn)短回復(fù),,標(biāo)志輸入命令消息正在處理或已經(jīng)被拒絕執(zhí)行,主要是通知用戶NE對(duì)所收到的命令需要較長(zhǎng)時(shí)間的處理,;(4)自發(fā)消息(Automomous Message),。當(dāng)NE進(jìn)行周期性的操作或報(bào)告異常事件發(fā)生時(shí)產(chǎn)生自發(fā)消息。圖2說明了TL1與STP的通信過程,。
傳輸提供者接口(Transport Provider Interface)作為底層傳輸協(xié)議和會(huì)話層之間的一個(gè)橋梁,,傳輸提供者接口對(duì)應(yīng)于管理者和TL1代理之間的通信方式,。使用特定的協(xié)議以滿足通信需求,并可以讓會(huì)話層不必理會(huì)底層所用的傳輸協(xié)議,。
消息處理(Message Processing)用于處理從客戶端收到的輸入消息,,它解析和處理TL1引擎收到的輸入消息,并且發(fā)送輸出的響應(yīng)消息和自發(fā)消息到網(wǎng)元,。
管理者只需要建立一個(gè)連接到被管理者,,之后可以通過連接發(fā)送字符消息對(duì)被管理者進(jìn)行操作。管理者只需要對(duì)接收到的字符消息進(jìn)行解析就可以了,。
3 CORBA在STP管理中的實(shí)現(xiàn)
借助于CORBA創(chuàng)建某個(gè)應(yīng)用X,,該應(yīng)用包括兩個(gè)部分,即客戶方程序和服務(wù)方程序,。首先,,定義一個(gè)接口,接口中定義了服務(wù)端提供的操作,。服務(wù)器程序的功能是實(shí)現(xiàn)應(yīng)用中定義的接口,為接口提供一個(gè)實(shí)現(xiàn)對(duì)象,,該對(duì)象也稱為服務(wù)對(duì)象(Servant)為客戶方提供服務(wù),。當(dāng)服務(wù)對(duì)象被請(qǐng)求時(shí),該對(duì)象可以實(shí)現(xiàn)被請(qǐng)求的功能,。通過一個(gè)CORBA對(duì)象來提供這一功能,,并用IDL接口來描述訪問語法。X_impl類是提供這一功能的C++語言級(jí)對(duì)象類,,通過創(chuàng)建一個(gè)X_impl對(duì)象實(shí)例并將其注冊(cè)到對(duì)象適配器上或發(fā)布一個(gè)對(duì)象引用,,便使C++語言級(jí)對(duì)象變成了可被遠(yuǎn)程訪問的分布對(duì)象??蛻舫绦蛲ㄟ^對(duì)象適配器或服務(wù)對(duì)象發(fā)布的對(duì)象引用就可以訪問該對(duì)象,,該訪問過程就好象服務(wù)對(duì)象在本地一樣。
(1)接口,。使用IDL語言來描述服務(wù)對(duì)象的公共接口,。IDL語言描述服務(wù)方對(duì)外提供,客戶方可以訪問的共有操作,。
(2)對(duì)象適配器,。對(duì)象適配器(Object Adapter)是ORB的一個(gè)組成部分,它提供產(chǎn)生和解釋對(duì)象引用,、激活對(duì)象實(shí)現(xiàn)和訪問對(duì)象狀態(tài)相關(guān)的各種服務(wù),。
(3)客戶方和服務(wù)方的框架代碼??蛻舴娇蚣艽a(stub)負(fù)責(zé)將對(duì)服務(wù)對(duì)象的本地接口請(qǐng)求轉(zhuǎn)換成為網(wǎng)絡(luò)請(qǐng)求,。服務(wù)方的框架代碼(skeketon)幫助對(duì)象適配器將相應(yīng)的接口傳到服務(wù)對(duì)象(Servant)的具體實(shí)現(xiàn),。
(4)服務(wù)方程序。服務(wù)方程序(Server)是一個(gè)擁有一個(gè)或多個(gè)CORBA對(duì)象的應(yīng)用程序,,用來實(shí)現(xiàn)接口中所聲明對(duì)象,。服務(wù)方程序負(fù)責(zé)創(chuàng)建提供接口服務(wù)的實(shí)例X_impl類,將該命令注冊(cè)到對(duì)象適配器中并創(chuàng)建對(duì)象引用,。對(duì)象引用包括了對(duì)象ID和它在網(wǎng)絡(luò)中的位置信息,。
(5)客戶方程序??蛻舴匠绦蛲ㄟ^對(duì)象引用中的信息來定位將請(qǐng)求發(fā)送給對(duì)象,,獲得相應(yīng)的服務(wù)[3]。
4 STP網(wǎng)元集中管理系統(tǒng)的實(shí)現(xiàn)
4.1 網(wǎng)元管理系統(tǒng)(EMS)對(duì)STP的管理
圖3顯示了EMS與STP的通信方式,。EMS使用TL1通過TCP/IP協(xié)議與STP進(jìn)行通信,。EMS對(duì)STP的管理分為主動(dòng)方式、被動(dòng)方式和數(shù)據(jù)庫(kù)方式,。(1)主動(dòng)方式,。EMS可以向STP發(fā)送指定的TL1命令,STP接收到TL1命令后,,解析該命令并向EMS發(fā)送相應(yīng)的返回字符串,。EMS通過解析該返回字符串就可獲得與所發(fā)送命令相關(guān)STP的屬性和狀態(tài);(2)被動(dòng)方式,。EMS可以通過設(shè)定時(shí)間間隔,,使得STP定期向EMS報(bào)告其所處的狀態(tài)。EMS還可以設(shè)置STP需要上報(bào)的告警和事件類型,,使得STP可以主動(dòng)向EMS上報(bào)相應(yīng)的告警和過濾,;(3)數(shù)據(jù)庫(kù)方式。EMS設(shè)定STP更新數(shù)據(jù)庫(kù)的時(shí)間間隔,,可以通過訪問該數(shù)據(jù)庫(kù)中的內(nèi)容獲得STP的相關(guān)屬性,。但這種方式只能查看STP的屬性,不能對(duì)STP進(jìn)行相關(guān)的管理,。
4.2 STP網(wǎng)元集中管理系統(tǒng)的實(shí)現(xiàn)
圖4顯示了STP網(wǎng)元集中管理系統(tǒng)的層次結(jié)構(gòu),。該系統(tǒng)總共分四層。第一層是STP網(wǎng)元集中管理系統(tǒng),;第二層是適配器,;第三層是EMS;第四層是信念轉(zhuǎn)接點(diǎn)設(shè)備,。網(wǎng)元管理系統(tǒng)(EMS)北向接口為EMS與STP網(wǎng)元集中管理系統(tǒng)傳遞信息的接口,,STP網(wǎng)元集中管理系統(tǒng)通過該接口可以實(shí)現(xiàn)對(duì)EMS下的STP的管理。網(wǎng)元集中管理系統(tǒng)通過適配器與若干個(gè)EMS相連,,通過EMS管理該EMS下的若干個(gè)STP,。STP網(wǎng)元集中管理系統(tǒng)對(duì)STP的管理分為與網(wǎng)元管理系統(tǒng)對(duì)STP的方式類似,。只是STP網(wǎng)元集中管理系統(tǒng)首先需要通過適配器將相應(yīng)的TL1命令發(fā)送到STP所屬的EMS,再由EMS對(duì)指定的STP進(jìn)行管理,。此外,,適配器需要根據(jù)STP返回的TL1字符串更新相關(guān)的數(shù)據(jù)庫(kù)。STP網(wǎng)元集中管理系統(tǒng)也可以通過查詢?cè)摂?shù)據(jù)庫(kù)獲得相應(yīng)的STP屬性,。該數(shù)據(jù)庫(kù)與EMS所需更新的數(shù)據(jù)庫(kù)是兩個(gè)相互獨(dú)立的數(shù)據(jù)庫(kù),。該數(shù)據(jù)庫(kù)包含了整個(gè)信令網(wǎng)中的所有STP信息。
采用CORBA和TL1技術(shù)來實(shí)現(xiàn)STP網(wǎng)元集中管理系統(tǒng)具有明顯的優(yōu)勢(shì),,使STP網(wǎng)元集中管理系統(tǒng)具有以下特點(diǎn):(1)靈活性,。由于CORBA具有跨平臺(tái)性、跨操作系統(tǒng)和跨語言的特性,,因此在開發(fā)平臺(tái)和運(yùn)行平臺(tái)以及編程語言的選取上有極大的靈活性,。(2)可維護(hù)性。由于接口的屏蔽作用,,使得服務(wù)方可以在實(shí)現(xiàn)服務(wù)的情況下隨意改動(dòng)服務(wù)的實(shí)現(xiàn)方式而不影響客戶端的實(shí)現(xiàn),。(3)可擴(kuò)展性。由于采用了接口語言IDL,,只需要通過修改IDL代碼,,并在服務(wù)方程序中添加相應(yīng)的功能代碼,服務(wù)方就可以實(shí)現(xiàn)其功能范圍的擴(kuò)展而不影響現(xiàn)存服務(wù)方程序和客戶方程序,。
STP網(wǎng)元集中管理系統(tǒng)的開發(fā)使得STP管理員可以實(shí)現(xiàn)遠(yuǎn)程對(duì)信令網(wǎng)的管理和維護(hù),減輕了信令網(wǎng)管理和維護(hù)的代價(jià)以及管理員的負(fù)擔(dān),。而且,,為進(jìn)一步對(duì)信令網(wǎng)的檢測(cè)和歷史數(shù)據(jù)的采集、分析等提供了基礎(chǔ),。
參考文獻(xiàn)
[1] 桂海源,,駱亞國(guó).No.7信令系統(tǒng)[M].北京:北京郵電大學(xué)出版社,2009.
[2] 樂江源,,賴小華.基于CORBA技術(shù)的電工電子虛擬實(shí)驗(yàn)室的開發(fā)[J].井岡山學(xué)院學(xué)報(bào),,2007,28(10):19-21.
[3] 朱其亮,,鄭斌.CORBA原理及應(yīng)用[M].北京:北京郵電大學(xué)出版社,,2001.