前言:想要寫(xiě)出一篇引人入勝的文章?我們特意為您整理了信令監(jiān)控系統(tǒng)數(shù)據(jù)存儲(chǔ)檢索功能設(shè)計(jì)范文,希望能給你帶來(lái)靈感和參考,敬請(qǐng)閱讀。
摘要:針對(duì)信令數(shù)據(jù)自身的特殊性,在考慮了計(jì)算機(jī)配置、網(wǎng)絡(luò)速度等硬件因素的情況下,通過(guò)建立多級(jí)索引結(jié)構(gòu),并借鑒數(shù)據(jù)庫(kù)分區(qū)的概念,使用多線(xiàn)程查詢(xún)等方式,為信令數(shù)據(jù)存儲(chǔ)和檢索提供一種有效解決方案,可以對(duì)監(jiān)控系統(tǒng)的海量信令信息進(jìn)行組織、存儲(chǔ),并實(shí)現(xiàn)對(duì)海量數(shù)據(jù)的快速便捷檢索。此外,它還具有極高的耦合度,易于擴(kuò)展,能夠與其他系統(tǒng)快速兼容。
關(guān)鍵詞:信令監(jiān)控;封包數(shù)據(jù);數(shù)據(jù)存儲(chǔ);數(shù)據(jù)檢索
1引言
信令監(jiān)控是實(shí)時(shí)采集,數(shù)據(jù)在線(xiàn)處理,遠(yuǎn)程測(cè)試,實(shí)時(shí)監(jiān)控,數(shù)據(jù)分析以及通信網(wǎng)絡(luò)中信令流程的實(shí)時(shí)重組和分析的過(guò)程[1-2]。信令監(jiān)控系統(tǒng)所要采集和分析的數(shù)據(jù)包括:信令和媒體兩部分[3]。信令監(jiān)控系統(tǒng)可以評(píng)估和監(jiān)控信令網(wǎng)絡(luò)的運(yùn)行狀態(tài),定位和分析故障,并監(jiān)控運(yùn)營(yíng)商的服務(wù)質(zhì)量[4-5]。由于網(wǎng)絡(luò)通信過(guò)程中將產(chǎn)生海量的信令封包數(shù)據(jù),這些數(shù)據(jù)除了大容量、高速率、高實(shí)時(shí)性外,它還具有一些特殊性[6-7]。這些特殊性使得簡(jiǎn)單的數(shù)據(jù)庫(kù)存儲(chǔ)方式[8]不可行。因此,要檢索信令封包數(shù)據(jù),往往需要關(guān)聯(lián)出一個(gè)完整的信令流程[9-10],而如何在檢索時(shí)準(zhǔn)確并快速地關(guān)聯(lián)一次信令會(huì)話(huà)中的所有封包,是一個(gè)非常關(guān)鍵的問(wèn)題。本文主要針對(duì)網(wǎng)絡(luò)通信時(shí)產(chǎn)生的大量信令封包,結(jié)合數(shù)據(jù)的特點(diǎn),為其存儲(chǔ)和檢索提供一種解決方案。
2信令監(jiān)控系統(tǒng)
信令監(jiān)控系統(tǒng)主要用于IP承載協(xié)議的信令收集,協(xié)議分析,數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)關(guān)聯(lián)分析。在不影響生產(chǎn)效率的情況下,通過(guò)將業(yè)務(wù)流程中產(chǎn)生的所有信令碼流采集,提取出各協(xié)議各呼叫相關(guān)信令、相應(yīng)存儲(chǔ)、并對(duì)同一呼叫中各協(xié)議的關(guān)聯(lián)進(jìn)行分析,以便更好的監(jiān)控相應(yīng)業(yè)務(wù)系統(tǒng)的運(yùn)行。采用松耦合的方式[11]對(duì)業(yè)務(wù)平臺(tái)進(jìn)行跟蹤和分析,更有利于以獨(dú)立的第三方的視點(diǎn)觀(guān)測(cè)。信令監(jiān)控系統(tǒng)部署在IP承載網(wǎng)邊界,跟蹤業(yè)務(wù)系統(tǒng)與IP承載網(wǎng)之間的數(shù)據(jù)包,可實(shí)現(xiàn)對(duì)業(yè)務(wù)系統(tǒng)與其他網(wǎng)元交互的數(shù)據(jù)跟蹤。該系統(tǒng)主要包括以下幾個(gè)模塊:核心控制模塊、協(xié)議解析模塊、實(shí)時(shí)監(jiān)控模塊、數(shù)據(jù)存儲(chǔ)模塊和數(shù)據(jù)檢索模塊。信令監(jiān)控系統(tǒng)核心控制模塊收到采集點(diǎn)傳入的信令封包數(shù)據(jù)后,首先傳給協(xié)議解析模塊,對(duì)封包進(jìn)行多層次的協(xié)議解析,將協(xié)議類(lèi)型以及其他信息返回給核心控制模塊;如果封包在系統(tǒng)監(jiān)控的協(xié)議范圍內(nèi),則接收該封包。接收封包后,如果控制模塊開(kāi)啟了該協(xié)議的實(shí)時(shí)監(jiān)控功能,則將封包的關(guān)鍵信息以及原始封包傳入實(shí)時(shí)監(jiān)控模塊,由監(jiān)控模塊負(fù)責(zé)實(shí)時(shí)寫(xiě)入文件,用戶(hù)使用呈現(xiàn)工具打開(kāi)該文件即可看到封包信息;如果開(kāi)啟了該協(xié)議的非實(shí)時(shí)監(jiān)控功能,則將封包的關(guān)鍵信息以及原始封包傳入數(shù)據(jù)存儲(chǔ)模塊,由該模塊組織封包的存儲(chǔ)。用戶(hù)使用非實(shí)時(shí)查詢(xún)功能時(shí),從前臺(tái)輸入要查詢(xún)的信息,數(shù)據(jù)檢索模塊檢索封包數(shù)據(jù)并返回查詢(xún)結(jié)果。
3數(shù)據(jù)存儲(chǔ)功能
數(shù)據(jù)存儲(chǔ)模塊包括了信令數(shù)據(jù)存儲(chǔ)和異常信令數(shù)據(jù)處理??紤]到索引是提高檢索效率的最基本和最有效的方法,通過(guò)建立和管理索引數(shù)據(jù)來(lái)加速檢索。為了提高索引生成的效率并避免重復(fù)遍歷原始數(shù)據(jù)文件,在數(shù)據(jù)存儲(chǔ)的同時(shí),還生成并存儲(chǔ)了索引數(shù)據(jù)。數(shù)據(jù)存儲(chǔ)功能模塊包含兩個(gè)功能,一是信令封包存儲(chǔ)功能:對(duì)信令封包進(jìn)行存儲(chǔ),保存原始的封包數(shù)據(jù),用于查詢(xún)結(jié)果的呈現(xiàn);二是索引數(shù)據(jù)存儲(chǔ)功能:負(fù)責(zé)存儲(chǔ)封包的索引數(shù)據(jù),以便快速檢索原始數(shù)據(jù)。
3.1信令封包存儲(chǔ)功能
由于現(xiàn)有網(wǎng)絡(luò)信令包的數(shù)據(jù)量非常大,為了加快文件查詢(xún)定位速度,需要對(duì)信令數(shù)據(jù)包進(jìn)行分類(lèi)存儲(chǔ),如圖2所示。這樣做不僅使存儲(chǔ)結(jié)構(gòu)清晰,也有利于文件的清理操作,由于系統(tǒng)只存儲(chǔ)一定時(shí)間內(nèi)的文件,過(guò)期的文件夾下的數(shù)據(jù)被系統(tǒng)定時(shí)清理,以釋放存儲(chǔ)空間。還可以根據(jù)不同的用戶(hù)需求以及容量等綜合條件對(duì)數(shù)據(jù)保留時(shí)間進(jìn)行配置,此外,系統(tǒng)的分區(qū)占用率也可以作為一個(gè)限制條件,當(dāng)分區(qū)占用率超過(guò)一個(gè)臨界值時(shí),最舊的文件,不論其是否超過(guò)了規(guī)定的存儲(chǔ)時(shí)間,都會(huì)被清除。
3.2索引數(shù)據(jù)存儲(chǔ)功能
考慮到現(xiàn)網(wǎng)信令數(shù)據(jù)的流量為每秒百兆的級(jí)別,程序借鑒非聚簇索引的方式組織存儲(chǔ)和索引結(jié)構(gòu),即對(duì)原始數(shù)據(jù)的順序不進(jìn)行變動(dòng),而是在索引中保存封包所在的位置信息和長(zhǎng)度,通過(guò)查詢(xún)較小的索引文件就可以方便的定位到原始數(shù)據(jù)。數(shù)據(jù)存儲(chǔ)模塊的設(shè)計(jì)流程圖,如圖3所示。圖3數(shù)據(jù)存儲(chǔ)流程圖描述了數(shù)據(jù)存儲(chǔ)以及數(shù)據(jù)索引存儲(chǔ)的過(guò)程,其中原始數(shù)據(jù)文件中實(shí)時(shí)記錄了系統(tǒng)收到的封包數(shù)據(jù),索引文件記錄了一級(jí)索引,以便于后續(xù)二級(jí)索引的生成以及檢索時(shí)的定位,寫(xiě)入的周期為系統(tǒng)可配。模塊收到一個(gè)核心模塊傳入的信令封包后,將未經(jīng)處理過(guò)的封包數(shù)據(jù)實(shí)時(shí)地寫(xiě)入相應(yīng)原始數(shù)據(jù)文件中,同時(shí)記錄下封包中的關(guān)鍵信息,保存在索引結(jié)點(diǎn)中,索引結(jié)點(diǎn)暫存在內(nèi)存cache中。以BICC封包為例的索引處理流程圖,如圖4所示。當(dāng)達(dá)到系統(tǒng)設(shè)置的檢查周期,即索引文件的寫(xiě)入時(shí)間時(shí),模塊檢查當(dāng)前內(nèi)存中的所有節(jié)點(diǎn)。對(duì)于所有臟數(shù)據(jù),如果信令過(guò)程完成,即接收到結(jié)束封包RLC消息,則將節(jié)點(diǎn)信息存儲(chǔ)在主索引文件中,并刪除內(nèi)存中的節(jié)點(diǎn);如果信令過(guò)程沒(méi)有完成,則將節(jié)點(diǎn)的現(xiàn)有信息存儲(chǔ)在索引文件中,刪除位置信息,并更新節(jié)點(diǎn)狀態(tài)為干凈數(shù)據(jù)。對(duì)于異常的封包數(shù)據(jù),如接收信令結(jié)束消息RLC超時(shí)的呼叫流程節(jié)點(diǎn),如果超出容納的錯(cuò)誤節(jié)點(diǎn)個(gè)數(shù)范圍,則寫(xiě)入臨時(shí)文件,后續(xù)檢索時(shí)如果查不到信息則可以從臨時(shí)文件中查找。
4數(shù)據(jù)檢索功能及實(shí)現(xiàn)
數(shù)據(jù)檢索主要是指根據(jù)索引信息進(jìn)行封包數(shù)據(jù)檢索,即用戶(hù)通過(guò)輸入可能的過(guò)濾條件,如號(hào)碼、時(shí)間、信令協(xié)議等信息,查詢(xún)已經(jīng)捕獲到的信令封包數(shù)據(jù)。模塊通過(guò)索引檢索到相關(guān)封包后,將其重新組織成網(wǎng)絡(luò)包分析工具wire-shark[12-13]可識(shí)別的文件形式,以便于用戶(hù)直觀(guān)的了解封包信息,確定信令通訊過(guò)程是否存在問(wèn)題,如圖5所示。用戶(hù)可以查看封包數(shù)據(jù)的時(shí)間、主被叫以及碼流等詳細(xì)信息。為了加快響應(yīng)速度,模塊采用多線(xiàn)程的方式,可同時(shí)接收多個(gè)用戶(hù)的查詢(xún)請(qǐng)求,通過(guò)啟動(dòng)不同的線(xiàn)程為用戶(hù)提供統(tǒng)一的檢索服務(wù)。為了測(cè)試本方案的檢測(cè)效率,實(shí)驗(yàn)?zāi)M了一個(gè)信令監(jiān)測(cè)數(shù)據(jù)檢索系統(tǒng),對(duì)其檢測(cè)性能進(jìn)行了測(cè)試比較,如圖6所示。橫軸為用戶(hù)輸入的查詢(xún)時(shí)間跨度,縱軸為單次檢索所需時(shí)間,P為分文件粒度。從圖中可以看出,分文件粒度越大,單次檢索時(shí)間就越短、效率就越高。
5總結(jié)
本文給出了一種對(duì)信令監(jiān)控?cái)?shù)據(jù)進(jìn)行存儲(chǔ)及快速檢索的方案。該方案在數(shù)據(jù)存儲(chǔ)的同時(shí),生成并存儲(chǔ)了索引數(shù)據(jù),通過(guò)建立和管理索引數(shù)據(jù)來(lái)加快檢索進(jìn)度,解決了如何對(duì)信令監(jiān)控過(guò)程中產(chǎn)生的海量數(shù)據(jù)進(jìn)行高效存儲(chǔ)與快速查詢(xún)的問(wèn)題。
作者:劉皎 曹榮榮 武立 單位:商洛學(xué)院