劉皎 曹榮榮 武立
摘 要:針對信令數(shù)據(jù)自身的特殊性,在考慮了計算機(jī)配置、網(wǎng)絡(luò)速度等硬件因素的情況下,通過建立多級索引結(jié)構(gòu),并借鑒數(shù)據(jù)庫分區(qū)的概念,使用多線程查詢等方式,為信令數(shù)據(jù)存儲和檢索提供一種有效解決方案,可以對監(jiān)控系統(tǒng)的海量信令信息進(jìn)行組織、存儲,并實(shí)現(xiàn)對海量數(shù)據(jù)的快速便捷檢索。此外,它還具有極高的耦合度,易于擴(kuò)展,能夠與其他系統(tǒng)快速兼容。
關(guān)鍵詞: 信令監(jiān)控; 封包數(shù)據(jù); 數(shù)據(jù)存儲; 數(shù)據(jù)檢索
中圖分類號: TP302
文獻(xiàn)標(biāo)志碼: A
Abstract: For the particularity of the signaling data itself, in consideration of hardware factors such as computer configuration and network speed, by establishing a multi-level index structure, and drawing on the concept of database partitioning, using multi-thread query, an effective solution for signaling data storage and retrieval is presented. The scheme can organize and store the massive signaling information of the monitoring system, and realize fast and convenient retrieval of massive data. In addition, it has a very high degree of coupling, is easy to expand, and is quickly compatible with other systems.
Key words: signaling monitoring; packet data; data storage; data retrieval
0 引言
信令監(jiān)控是實(shí)時采集,數(shù)據(jù)在線處理,遠(yuǎn)程測試,實(shí)時監(jiān)控,數(shù)據(jù)分析以及通信網(wǎng)絡(luò)中信令流程的實(shí)時重組和分析的過程[1-2]。信令監(jiān)控系統(tǒng)所要采集和分析的數(shù)據(jù)包括:信令和媒體兩部分[3]。信令監(jiān)控系統(tǒng)可以評估和監(jiān)控信令網(wǎng)絡(luò)的運(yùn)行狀態(tài),定位和分析故障,并監(jiān)控運(yùn)營商的服務(wù)質(zhì)量[4-5]。由于網(wǎng)絡(luò)通信過程中將產(chǎn)生海量的信令封包數(shù)據(jù),這些數(shù)據(jù)除了大容量、高速率、高實(shí)時性外,它還具有一些特殊性[6-7]。這些特殊性使得簡單的數(shù)據(jù)庫存儲方式[8]不可行。因此,要檢索信令封包數(shù)據(jù),往往需要關(guān)聯(lián)出一個完整的信令流程[9-10],而如何在檢索時準(zhǔn)確并快速地關(guān)聯(lián)一次信令會話中的所有封包,是一個非常關(guān)鍵的問題。本文主要針對網(wǎng)絡(luò)通信時產(chǎn)生的大量信令封包,結(jié)合數(shù)據(jù)的特點(diǎn),為其存儲和檢索提供一種解決方案。
2 信令監(jiān)控系統(tǒng)
信令監(jiān)控系統(tǒng)主要用于IP承載協(xié)議的信令收集,協(xié)議分析,數(shù)據(jù)存儲和數(shù)據(jù)關(guān)聯(lián)分析。在不影響生產(chǎn)效率的情況下,通過將業(yè)務(wù)流程中產(chǎn)生的所有信令碼流采集,提取出各協(xié)議各呼叫相關(guān)信令、相應(yīng)存儲、并對同一呼叫中各協(xié)議的關(guān)聯(lián)進(jìn)行分析,以便更好的監(jiān)控相應(yīng)業(yè)務(wù)系統(tǒng)的運(yùn)行。采用松耦合的方式[11]對業(yè)務(wù)平臺進(jìn)行跟蹤和分析,更有利于以獨(dú)立的第三方的視點(diǎn)觀測。
信令監(jiān)控系統(tǒng)的部署與總體結(jié)構(gòu)圖,如圖1所示。
信令監(jiān)控系統(tǒng)部署在IP承載網(wǎng)邊界,跟蹤業(yè)務(wù)系統(tǒng)與IP承載網(wǎng)之間的數(shù)據(jù)包,可實(shí)現(xiàn)對業(yè)務(wù)系統(tǒng)與其他網(wǎng)元交互的數(shù)據(jù)跟蹤。該系統(tǒng)主要包括以下幾個模塊:核心控制模塊、協(xié)議解析模塊、實(shí)時監(jiān)控模塊、數(shù)據(jù)存儲模塊和數(shù)據(jù)檢索模塊。
信令監(jiān)控系統(tǒng)核心控制模塊收到采集點(diǎn)傳入的信令封包數(shù)據(jù)后,首先傳給協(xié)議解析模塊,對封包進(jìn)行多層次的協(xié)議解析,將協(xié)議類型以及其他信息返回給核心控制模塊;如果封包在系統(tǒng)監(jiān)控的協(xié)議范圍內(nèi),則接收該封包。接收封包后,如果控制模塊開啟了該協(xié)議的實(shí)時監(jiān)控功能,則將封包的關(guān)鍵信息以及原始封包傳入實(shí)時監(jiān)控模塊,由監(jiān)控模塊負(fù)責(zé)實(shí)時寫入文件,用戶使用呈現(xiàn)工具打開該文件即可看到封包信息;如果開啟了該協(xié)議的非實(shí)時監(jiān)控功能,則將封包的關(guān)鍵信息以及原始封包傳入數(shù)據(jù)存儲模塊,由該模塊組織封包的存儲。用戶使用非實(shí)時查詢功能時,從前臺輸入要查詢的信息,數(shù)據(jù)檢索模塊檢索封包數(shù)據(jù)并返回查詢結(jié)果。
3 數(shù)據(jù)存儲功能
數(shù)據(jù)存儲模塊包括了信令數(shù)據(jù)存儲和異常信令數(shù)據(jù)處理??紤]到索引是提高檢索效率的最基本和最有效的方法,通過建立和管理索引數(shù)據(jù)來加速檢索。為了提高索引生成的效率并避免重復(fù)遍歷原始數(shù)據(jù)文件,在數(shù)據(jù)存儲的同時,還生成并存儲了索引數(shù)據(jù)。
數(shù)據(jù)存儲功能模塊包含兩個功能,一是信令封包存儲功能:對信令封包進(jìn)行存儲,保存原始的封包數(shù)據(jù),用于查詢結(jié)果的呈現(xiàn);二是索引數(shù)據(jù)存儲功能:負(fù)責(zé)存儲封包的索引數(shù)據(jù),以便快速檢索原始數(shù)據(jù)。
3.1 信令封包存儲功能
由于現(xiàn)有網(wǎng)絡(luò)信令包的數(shù)據(jù)量非常大,為了加快文件查詢定位速度,需要對信令數(shù)據(jù)包進(jìn)行分類存儲,如圖2所示。
這樣做不僅使存儲結(jié)構(gòu)清晰,也有利于文件的清理操作,由于系統(tǒng)只存儲一定時間內(nèi)的文件,過期的文件夾下的數(shù)據(jù)被系統(tǒng)定時清理,以釋放存儲空間。
還可以根據(jù)不同的用戶需求以及容量等綜合條件對數(shù)據(jù)保留時間進(jìn)行配置,此外,系統(tǒng)的分區(qū)占用率也可以作為一個限制條件,當(dāng)分區(qū)占用率超過一個臨界值時,最舊的文件,不論其是否超過了規(guī)定的存儲時間,都會被清除。
3.2 索引數(shù)據(jù)存儲功能
考慮到現(xiàn)網(wǎng)信令數(shù)據(jù)的流量為每秒百兆的級別,程序借鑒非聚簇索引的方式組織存儲和索引結(jié)構(gòu),即對原始數(shù)據(jù)的順序不進(jìn)行變動,而是在索引中保存封包所在的位置信息和長度,通過查詢較小的索引文件就可以方便的定位到原始數(shù)據(jù)。數(shù)據(jù)存儲模塊的設(shè)計流程圖,如圖3所示。
描述了數(shù)據(jù)存儲以及數(shù)據(jù)索引存儲的過程,其中原始數(shù)據(jù)文件中實(shí)時記錄了系統(tǒng)收到的封包數(shù)據(jù),索引文件記錄了一級索引,以便于后續(xù)二級索引的生成以及檢索時的定位,寫入的周期為系統(tǒng)可配。
模塊收到一個核心模塊傳入的信令封包后,將未經(jīng)處理過的封包數(shù)據(jù)實(shí)時地寫入相應(yīng)原始數(shù)據(jù)文件中,同時記錄下封包中的關(guān)鍵信息,保存在索引結(jié)點(diǎn)中,索引結(jié)點(diǎn)暫存在內(nèi)存cache中。以BICC封包為例的索引處理流程圖,如圖4所示。
當(dāng)達(dá)到系統(tǒng)設(shè)置的檢查周期,即索引文件的寫入時間時,模塊檢查當(dāng)前內(nèi)存中的所有節(jié)點(diǎn)。對于所有臟數(shù)據(jù),如果信令過程完成,即接收到結(jié)束封包RLC消息,則將節(jié)點(diǎn)信息存儲在主索引文件中,并刪除內(nèi)存中的節(jié)點(diǎn);如果信令過程沒有完成,則將節(jié)點(diǎn)的現(xiàn)有信息存儲在索引文件中,刪除位置信息,并更新節(jié)點(diǎn)狀態(tài)為干凈數(shù)據(jù)。
對于異常的封包數(shù)據(jù),如接收信令結(jié)束消息RLC超時的呼叫流程節(jié)點(diǎn),如果超出容納的錯誤節(jié)點(diǎn)個數(shù)范圍,則寫入臨時文件,后續(xù)檢索時如果查不到信息則可以從臨時文件中查找。
4 數(shù)據(jù)檢索功能及實(shí)現(xiàn)
數(shù)據(jù)檢索主要是指根據(jù)索引信息進(jìn)行封包數(shù)據(jù)檢索,即用戶通過輸入可能的過濾條件,如號碼、時間、信令協(xié)議等信息,查詢已經(jīng)捕獲到的信令封包數(shù)據(jù)。模塊通過索引檢索到相關(guān)封包后,將其重新組織成網(wǎng)絡(luò)包分析工具wireshark[12-13]可識別的文件形式,以便于用戶直觀的了解封包信息,確定信令通訊過程是否存在問題,如圖5所示。
用戶可以查看封包數(shù)據(jù)的時間、主被叫以及碼流等詳細(xì)信息。為了加快響應(yīng)速度,模塊采用多線程的方式,可同時接收多個用戶的查詢請求,通過啟動不同的線程為用戶提供統(tǒng)一的檢索服務(wù)。
為了測試本方案的檢測效率,實(shí)驗(yàn)?zāi)M了一個信令監(jiān)測數(shù)據(jù)檢索系統(tǒng),對其檢測性能進(jìn)行了測試比較,如圖6所示。
橫軸為用戶輸入的查詢時間跨度,縱軸為單次檢索所需時間,P為分文件粒度。從圖中可以看出,分文件粒度越大,單次檢索時間就越短、效率就越高。
5 總結(jié)
本文給出了一種對信令監(jiān)控數(shù)據(jù)進(jìn)行存儲及快速檢索的方案。該方案在數(shù)據(jù)存儲的同時,生成并存儲了索引數(shù)據(jù),通過建立和管理索引數(shù)據(jù)來加快檢索進(jìn)度,解決了如何對信令監(jiān)控過程中產(chǎn)生的海量數(shù)據(jù)進(jìn)行高效存儲與快速查詢的問題。
參考文獻(xiàn)
[1] 汪保友,姚健,張正卿.基于FKS的信令采集與監(jiān)控技術(shù)[J].電信科學(xué),2018,34(3):145-155.
[2] 基于軟交換網(wǎng)絡(luò)的移動信令監(jiān)測系統(tǒng)設(shè)計與實(shí)現(xiàn)[D]. 成都:電子科技大學(xué), 2014:10-23.
[3] 蔡家鵬, 計寧, 王遜. VoLTE信令和媒體流路徑優(yōu)化方法研究[J]. 電信工程技術(shù)與標(biāo)準(zhǔn)化, 2015, 28(7):58-61.
[4] 鄧飛. LTE網(wǎng)絡(luò)信令采集數(shù)據(jù)的分析及探討[J]. 互聯(lián)網(wǎng)天地, 2016(2):4-10.
[5] 胡忠順,王進(jìn),朱亮.基于手機(jī)信令數(shù)據(jù)的大客流監(jiān)控應(yīng)用研究[J].電信技術(shù),2017(4):21-25.
[6] 葛強(qiáng).基于LTE信令軟采的高鐵性能監(jiān)控及質(zhì)量評估[J].電信工程技術(shù)與標(biāo)準(zhǔn)化,2016,29(10):13-17.
[7] 胡為艷, 艾民, 周光彬,等. 基于大數(shù)據(jù)的信令監(jiān)測系統(tǒng)的設(shè)計與實(shí)現(xiàn)[J]. 電視技術(shù), 2016, 40(1):95-101.
[8] 韓翔宇. 數(shù)據(jù)庫存儲過程的探討及應(yīng)用[J]. 信息系統(tǒng)工程, 2015(12):48.
[9] 何麗華. LTE信令監(jiān)測系統(tǒng)建設(shè)分析[J]. 互聯(lián)網(wǎng)天地, 2015(2):46-49.
[10] 孫萬飛, 馬秀榮, 單云龍,等. TD-LTE系統(tǒng)信令流程仿真平臺設(shè)計[J]. 電子測量技術(shù), 2018,41(9):109-115.
[11] 盧罡,徐勤良,許南山,等.復(fù)雜網(wǎng)絡(luò)松耦合分布式計算框架的設(shè)計與實(shí)現(xiàn)[J].計算機(jī)工程,2015,41(11):73-76.
[12] 朱逸坤,朱威,李永芳.基于抓包軟件的MPLS故障分析研究[J].信息通信,2018(9):85-86.
[13] 趙怡.利用Wireshark實(shí)現(xiàn)數(shù)據(jù)包分析的應(yīng)用案例[J].電腦編程技巧與維護(hù),2018(5):106-108.
(收稿日期: 2019.08.18)