付承彪
(曲靖師范學(xué)院 計(jì)算機(jī)科學(xué)與工程學(xué)院,云南 曲靖 655011)
隨著現(xiàn)代通信網(wǎng)絡(luò)的飛速發(fā)展,基于IP承載技術(shù)的NGN(Next Generation Network,下一代網(wǎng)絡(luò))已被廣泛認(rèn)為是實(shí)現(xiàn)三網(wǎng)合一的最適合技術(shù)。
NGN網(wǎng)絡(luò)是一個(gè)由若干協(xié)議所組成的龐大網(wǎng)絡(luò)[1],各個(gè)網(wǎng)元設(shè)備之間采用標(biāo)準(zhǔn)的協(xié)議進(jìn)行通信,從而構(gòu)成一個(gè)完整而龐大的協(xié)議體系。它的信令協(xié)議不但可以滿足新型網(wǎng)絡(luò)的要求,而且還可以兼容原有的PSTN網(wǎng)絡(luò)。比如信令傳輸適配協(xié)議(SIGTRAN協(xié)議:M2UA、M3UA、SUA),媒體網(wǎng)關(guān)控制協(xié)議[2](MGCP、H.248/Megaco 協(xié)議),對(duì)等協(xié)議(BICC、SIP協(xié)議)等。因此對(duì)于NGN網(wǎng)絡(luò)中數(shù)據(jù)是非常龐大和復(fù)雜的。
我們從網(wǎng)絡(luò)中獲取了NGN網(wǎng)絡(luò)的數(shù)據(jù),是最基本的數(shù)據(jù),為分析整個(gè)網(wǎng)絡(luò)的運(yùn)行情況,我們必須對(duì)其進(jìn)行相應(yīng)的處理[3]。我們采取的處理方法是:先把統(tǒng)計(jì)接口提供上來(lái)的數(shù)據(jù)存儲(chǔ),然后再根據(jù)統(tǒng)計(jì)類型進(jìn)行相應(yīng)統(tǒng)計(jì)分析,并把結(jié)果存儲(chǔ),最后通過(guò)界面呈現(xiàn)。
圖1 數(shù)據(jù)處理流程圖
為了提高效率,在開(kāi)發(fā)過(guò)程中,采用映射map結(jié)構(gòu),根據(jù)網(wǎng)關(guān)、軟交換地址進(jìn)行統(tǒng)計(jì)分析,之后將數(shù)據(jù)存于map。然后統(tǒng)計(jì)視圖根據(jù)需要直接從map取數(shù)據(jù),從而完成統(tǒng)計(jì)分析的呈現(xiàn)功能。為了實(shí)現(xiàn)對(duì)數(shù)據(jù)的進(jìn)一步統(tǒng)計(jì)分析。
map是由關(guān)鍵字(Key)及其對(duì)應(yīng)的元素值(Value)所組成的元素單元(Element)的表單式集合。其內(nèi)部采用的就是一種非常高效的平衡檢索二叉樹(shù):紅黑樹(shù)。紅黑樹(shù)的統(tǒng)計(jì)性能要好于一般的平衡二叉樹(shù),所以被STL選擇作為了關(guān)聯(lián)容器的內(nèi)部結(jié)構(gòu)[4-5]。它可以在O(logn)時(shí)間內(nèi)做查找,插入和刪除,這里的n是樹(shù)中元素的數(shù)目。通常,對(duì)于map而言,使用給定的Key,可以迅速地從單元集合中檢索到相應(yīng)的元素。因此,在需要對(duì)大量數(shù)據(jù)進(jìn)行查找操作而查找的性能又占據(jù)重要地位的場(chǎng)合,map無(wú)疑是一種較理想的容器。比如,在MFC中,使用map來(lái)實(shí)現(xiàn)句柄映射,以及其他的一些內(nèi)部數(shù)據(jù)結(jié)構(gòu)。同時(shí),MFC也提供了公共map類。使用這個(gè)公共map類,MFC程序員可以輕易地高效地根據(jù)自身的需求實(shí)現(xiàn)程序中自定義的映射。
由于map采用的是紅黑樹(shù)結(jié)構(gòu),所以首先需要給其定義一個(gè)key值,用于傳入需要比較的關(guān)鍵字。然后還需定義相關(guān)的比較方法,把數(shù)據(jù)傳進(jìn)去?;镜脑O(shè)計(jì)流程如圖1所示。
在設(shè)計(jì)中,把這部分統(tǒng)計(jì)分析的數(shù)據(jù)處理過(guò)程專門封裝在一個(gè)類里面處理,實(shí)現(xiàn)了數(shù)據(jù)與顯示的分離,在設(shè)計(jì)中通過(guò)返回map的形式,實(shí)現(xiàn)向統(tǒng)計(jì)視圖提供數(shù)據(jù)。這個(gè)類的基本函數(shù)接口如下所示:
在統(tǒng)計(jì)分析數(shù)據(jù)的具體處理中,我們把協(xié)議分析模塊傳上來(lái)的數(shù)據(jù)根據(jù)統(tǒng)計(jì)類型(網(wǎng)關(guān)、軟交換等)統(tǒng)計(jì)存于map,最終根據(jù)界面顯示的需要,以map的形式把數(shù)據(jù)返回。
本文首先概述NGN網(wǎng)絡(luò)中的數(shù)據(jù),然后對(duì)數(shù)據(jù)處理流程進(jìn)行了研究,選擇了一種基于map的設(shè)計(jì)方法。本文所闡述的NGN網(wǎng)絡(luò)中大容量數(shù)據(jù)的處理,在現(xiàn)網(wǎng)中的應(yīng)用有一定的現(xiàn)實(shí)意義。
[1]沈樂(lè),鮑可進(jìn).基于H.248協(xié)議的SIP網(wǎng)絡(luò)資源分配策略[J].計(jì)算機(jī)工程與設(shè)計(jì),2011,32(11):3646-3649 轉(zhuǎn) 3831.
[2]付承彪,蔡昌許,陶燕林.H.248協(xié)議在 NGN 網(wǎng)絡(luò)中的應(yīng)用分析[J].曲靖師范學(xué)院,2013,32(06):48-51.
[3]林瑞云.盤點(diǎn) NGN 五大協(xié)議[J].中國(guó)電信業(yè),2004,06.
[4]田安紅,付承彪,李麗.基于Socket的網(wǎng)絡(luò)通信過(guò)程的研究[J].曲靖師范學(xué)院,2013,32(06):45-47.
[5]代孝東,陳文星.基于SIP和H.248協(xié)議的混合軟交換技術(shù)的研究[J].計(jì)算機(jī)科學(xué),2011,38(10A):336-337 轉(zhuǎn) 352.