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