【摘 要】本文提出了一種基于多種協(xié)議的通信適配器,著重探討了該適配器中的各個模塊,并給出了部分重要模塊的實現(xiàn)算法,在傳統(tǒng)的服務(wù)開通模型上,提出了一種基于多種協(xié)議的通信適配器架構(gòu)。該架構(gòu)通過業(yè)務(wù)解析控制器和指令分發(fā)控制器,實現(xiàn)了指令和響應(yīng)差異的屏蔽,使得服務(wù)開通系統(tǒng)面對復(fù)雜多變的網(wǎng)絡(luò)環(huán)境時,更加從容適配。
【關(guān)鍵詞】通信適配器;多種協(xié)議; 業(yè)務(wù)解析; 指令分發(fā)
1.緒論
隨著電信的重組、網(wǎng)絡(luò)的融合,新一輪設(shè)備替換和設(shè)備新增拉開了帷幕,同時隨著電信業(yè)務(wù)的逐漸普及,中國的電信用戶數(shù)也在不斷的攀升,使得原有的設(shè)備容量無法滿足現(xiàn)有的需要,同樣由設(shè)備擴(kuò)容也引起了新一輪設(shè)備的更新,但是目前在設(shè)備側(cè)沒有一個統(tǒng)一的規(guī)范和標(biāo)準(zhǔn),新老設(shè)備在接口協(xié)議和消息格式上,由于提供商的不同,一定風(fēng)格迥異,導(dǎo)致運(yùn)營商原有的服務(wù)開通系統(tǒng)在對接新設(shè)備時存在困難。
本文在傳統(tǒng)的服務(wù)開通模型[1]上,提出了一種基于多種協(xié)議[2]的通信適配器[3]架構(gòu)。該架構(gòu)通過業(yè)務(wù)解析控制器和指令分發(fā)控制器,實現(xiàn)了指令和響應(yīng)差異的屏蔽,作為服務(wù)開通系統(tǒng)的一部分,使得服務(wù)開通系統(tǒng)面對復(fù)雜多變的網(wǎng)絡(luò)環(huán)境時,更加從容適配。
2.通信適配器總體設(shè)計
如果要在業(yè)務(wù)支撐系統(tǒng)[4]毫不感知的情況下替換網(wǎng)元,而舊網(wǎng)元和新網(wǎng)元與業(yè)務(wù)系統(tǒng)間對接協(xié)議是不一樣的,只有在業(yè)務(wù)系統(tǒng)和網(wǎng)元之間增加一個翻譯的模塊,對指令和響應(yīng)信息進(jìn)行翻譯,并在性能上做到近乎無損,這個負(fù)責(zé)翻譯的模塊即為通信適配器。
2.1 通信適配器框架模型
通信適配器包括業(yè)務(wù)控制器和報文分發(fā)器兩部分,業(yè)務(wù)控制器和報文分發(fā)器是兩個獨(dú)立的應(yīng)用程序,它們是適配器依據(jù)兩個不同參數(shù)啟動的兩個實例,從功能上可以分為業(yè)務(wù)控制和報文分發(fā)。報文分發(fā)器就像一個代理,它的主要功能是登錄到HLR[5]、轉(zhuǎn)發(fā)業(yè)務(wù)報文及維護(hù)心跳,對于業(yè)務(wù)控制器是透明的它就像一個網(wǎng)元一樣。而最主要的部分是業(yè)務(wù)控制器,它將控制和實現(xiàn)整個業(yè)務(wù)核心,本文的設(shè)計和闡述也主要針對業(yè)務(wù)控制器。
2.2 通信適配器業(yè)務(wù)控制器原理模型
通信適配器的業(yè)務(wù)控制器由三部分組成:
(1)路由控制器:鑒別報文是否有效,根據(jù)報文確定業(yè)務(wù)及路由類型。
(2)報文解析器:解析報文、從報文中提取參數(shù)、參數(shù)轉(zhuǎn)換、參數(shù)判斷及數(shù)據(jù)運(yùn)算。
(3)報文生成器:生成網(wǎng)絡(luò)報文,特殊報文轉(zhuǎn)換。
2.2.1 路由控制器模塊設(shè)計和實現(xiàn)
2.2.1.1接受報文鑒權(quán)數(shù)據(jù)配置設(shè)計
接收報文包括EHLR發(fā)送的請求報文和HHLR反饋的響應(yīng)報文,為了能夠讓通信適配器正確的識別和接收這兩種報文,需要在數(shù)據(jù)庫中配置一些鑒權(quán)數(shù)據(jù),完成對接收報文的鑒權(quán),由于EHLR發(fā)送的指令,哪怕是同一條指令,實際的參數(shù)組成也是動態(tài)變化的。在實際的指令中,有一些參數(shù)是固定不變的,有些參數(shù)是動態(tài)出現(xiàn)的,程序也不可能有窮舉所有指令的能力。
2.2.1.2接受報文路由處理邏輯設(shè)計
在路由控制器前段分別有一個Socket服務(wù)器端和一個Socket的客戶端,服務(wù)器用于和EHLR進(jìn)行交互,客戶端用于和HHLR進(jìn)行交互,也就是說接收報文在到達(dá)路由器前就可以通過不同的渠道來區(qū)分兩種類型的接收報文,從服務(wù)器端接收的報文為E2H類型的報文,從客戶端接收的報文為JUDGE類型的報文。路由器根據(jù)不同的類型,分別到不同的緩存容器中去匹配相應(yīng)的路由記錄。這里需要對匹配的算法做詳細(xì)的設(shè)計,因為匹配是每個報文必須經(jīng)過的步驟,性能的關(guān)鍵點(diǎn),匹配算法的好壞直接影響整個系統(tǒng)的性能。業(yè)務(wù)對系統(tǒng)的要求,關(guān)于執(zhí)行性能,首先是關(guān)鍵業(yè)務(wù)需要保證優(yōu)先執(zhí)行。其次,發(fā)送頻率高的業(yè)務(wù)也要保證能夠優(yōu)先匹配,但是對于某個指令的發(fā)送頻率是一個動態(tài)波動的數(shù)值,不是一成不變的,所以單純通過優(yōu)先級是解決不了發(fā)送頻率問題的,需要引進(jìn)一個新的機(jī)制,為每一個緩存的匹配記錄增加一個匹配度的屬性,該屬性記錄該條數(shù)據(jù)被匹配的次數(shù),每被匹配一次匹配度就加1。
2.2.2 報文解析器模塊設(shè)計和實現(xiàn)
2.2.2.1報文解析數(shù)據(jù)配置設(shè)計
解析器需要完成的工作是將EHLR指令中有用的參數(shù)值進(jìn)行提取、計算和轉(zhuǎn)化,供報文生成器使用,那么提取、計算和轉(zhuǎn)換就是解析中的關(guān)鍵了。一條EHLR指令中包含n個參數(shù),每個參數(shù)的提取和計算的規(guī)則都不一樣,為了得到最后生成報文中的一個參數(shù)值,可能需要不止一條的解析規(guī)則。
2.2.2.2報文解析器處理邏輯設(shè)計
設(shè)計的基礎(chǔ)需要清楚所要設(shè)計模塊的輸入輸出是什么,通過上文的一系列的分析可知,報文解析器的輸入是EHLR或HHLR發(fā)給通信適配器的原始報文以及經(jīng)過路由控制器輸出的數(shù)據(jù),輸出是根據(jù)解析規(guī)則獲取的原報文中的參數(shù)值或根據(jù)原報文中參數(shù)值計算的目標(biāo)值??梢詫⑤敵龆x為一個HashMap容器,來存放這些值。
2.2.3 報文生成器模塊設(shè)計和實現(xiàn)
2.2.3.1報文生成數(shù)據(jù)配置設(shè)計
當(dāng)通信適配器接收到一個合法的從EHLR發(fā)來的報文時,后續(xù)需要發(fā)送到HHLR,以及反饋給EHLR的響應(yīng)報文模板就都已經(jīng)確定,即通過對EHLR和HHLR指令的分析,每一個EHLR的指令都可以分解為一個或多個HHLR的指令,并且每一個EHLR指令的響應(yīng)報文都是確定的。因此,發(fā)送到HHLR的報文模板,以及反饋給EHLR的響應(yīng)報文模板都可以配置出來。
2.2.3.2報文生成器處理邏輯設(shè)計
報文生成器處理邏輯需要分為兩條流程去設(shè)計,因為對于同樣的接收報文,E2H類型和JUDGE類型的處理方式不一樣的。
所有的報文適配都是以E2H報文為開始點(diǎn)的,報文生成器接收到E2H的報文就表示一個流程的開始,需要構(gòu)建新的流程對象。所有的流程都以發(fā)向ECMD的指令為結(jié)束。
流程在流轉(zhuǎn)的過程中產(chǎn)生每個流程節(jié)點(diǎn)需要發(fā)送的報文,傳統(tǒng)的方式使得流程處理和報文發(fā)送成為串行執(zhí)行的方式,在串行期間一個分發(fā)器只能為一個流程服務(wù),對性能的損耗比較大。為了解決該問題,通信適配器引入內(nèi)存數(shù)據(jù)庫技術(shù),用內(nèi)存數(shù)據(jù)庫將處理流程和報文分發(fā)隔離開,實現(xiàn)異步處理。
3.總結(jié)
本文研究了業(yè)界服務(wù)開通,通信適配器的相關(guān)技術(shù),設(shè)計并實現(xiàn)了一種基于多種協(xié)議的高效適配器,該適配器采用協(xié)議適配和消息適配機(jī)制,并且在適配的基礎(chǔ)上引入了基于匹配度的動態(tài)調(diào)整匹配度模型。在解析器部分模塊中,給出了一種基于正則表達(dá)式改進(jìn)的解析表達(dá)式算法,該表達(dá)式不僅有效地簡化了解析表達(dá)式的處理,而且也大大簡化了數(shù)據(jù)配置的難度,使得系統(tǒng)更易維護(hù)。另外,提出了動態(tài)匹配技術(shù),通過引入匹配度概念,根據(jù)系統(tǒng)在運(yùn)行過程中實際的解析規(guī)則被匹配的次數(shù),動態(tài)調(diào)整解析規(guī)則的優(yōu)先級,從而能夠優(yōu)先滿足那些發(fā)送頻率較高和使用較頻繁的指令快速地匹配,提升適配器整體的處理效率。
參考文獻(xiàn):
[1]嚴(yán)磊.全新IT規(guī)劃下服務(wù)開通系統(tǒng)的定位和建設(shè)思路——新一代綜合業(yè)務(wù)服務(wù)開通系統(tǒng)介紹.通信世界.2005,(48):58-59.
[2]吳磊,方馬,盧東昕,謝世波.網(wǎng)管系統(tǒng)多協(xié)議適配器框架的JCA構(gòu)架實現(xiàn).計算機(jī)與現(xiàn)代化.2004,(6):61-63.
[3][5] 周丹,陳旭東,楊芳南.綜合網(wǎng)管系統(tǒng)中基于XML的接口協(xié)議適配器.2005,25(10):1651-1653.
[4]肖丁,安靜,王柏.基于構(gòu)件的電信運(yùn)營支撐系統(tǒng)的開發(fā).計算機(jī)應(yīng)用研究.2006,23(02):167-170.
[5]支勇.綜合HLR的研究,[碩士學(xué)位論文].華南理工大學(xué),2006.
作者簡介:
田小敏(1979-),女(漢族),江蘇省南京市人,南京工業(yè)職業(yè)技術(shù)學(xué)院講師。