[發明專利]一種阿瑞斯協議分析系統中雙緩存的設計與實現方法無效
| 申請號: | 201110085747.8 | 申請日: | 2011-04-02 |
| 公開(公告)號: | CN102143083A | 公開(公告)日: | 2011-08-03 |
| 發明(設計)人: | 王汝傳;周東旭;李致遠;韓志杰;徐鶴;邵星;趙丹 | 申請(專利權)人: | 南京郵電大學 |
| 主分類號: | H04L12/56 | 分類號: | H04L12/56;H04L29/06 |
| 代理公司: | 南京經緯專利商標代理有限公司 32200 | 代理人: | 葉連生 |
| 地址: | 210003 *** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 阿瑞斯 協議 分析 系統 緩存 設計 實現 方法 | ||
技術領域
本發明是一種針對阿瑞斯協議分析系統的緩存的設計與實現,主要用來解決阿瑞斯網絡報文的截獲和篡改重定向之間速率不匹配的問題,解決了高速實時和變速可延時模塊共享數據導致處理速率下降的問題,屬于緩沖技術領域。
背景技術
近些年來P2P流量大量地占據了主干網絡,使得運營成本不斷增加,如何降低主干網的壓力,有效控制P2P流量是關鍵。阿瑞斯協議也是一個比較優秀的P2P協議,為了達到控制該協議流量的目的,我們需要對該協議進行實時地分析,然后控制它在主干網上的流量,使阿瑞斯協議的客戶端盡量能夠在城域網范圍內完成下載功能,降低主干網的負擔。為了解決阿瑞斯協議分析中實時處理和延時等待的問題,我們必須采用一定的存儲技術來實現模塊間的良好運轉。
緩沖技術就是為了協調吞吐速度相差很大或者實時性要求很高的設備以及模塊之間的數據傳送工作。在數據到達與離去速度不匹配的地方,就應該使用緩沖技術。緩沖技術好比是一個水庫,如果上游來的水太多,下游來不及排走,水庫就起到“緩沖”作用,先讓水在水庫中停留一段時間,等下游能繼續排水,再把水送往下游。它的應用非常廣泛,在計算機硬件技術領域,通常CPU的速度要比I/O設備的速度快得多得多,所以可以設置緩沖區,對于從CPU來的數據,先放在緩沖區中,然后設備可以慢慢地從緩沖區中讀出數據,這樣的緩沖區有內存以及cache緩存。在計算機軟件技術領域,通常為了匹配兩個不同模塊的工作速率或者工作延遲,我們可以也采用軟緩沖技術來實現,如使用緩沖技術在線播放視頻。常見的緩沖技術有:單緩沖,雙緩沖,循環緩沖,緩沖池。
當然,緩沖區的高效管理也離不丌一個合理的數據存儲結構,不同的數據存儲結構體現出不同的訪問性能,對于不同的使用場合,就應該使用對應的存儲結構。現今的數據存儲結構大體上包括了線性結構、樹形結構、圖形結構、集合結構等。
因此一個靈活的,高效的緩沖區的設計不但需要考慮需求本身的因素,而且還要綜合考慮它的數據結構的存取性能,代價因素等等。針對阿瑞斯協議分析系統,我們考慮到內核抓包模塊對數據包抓取的實時性要求很高,但內核數據處理模塊需要對數據進行延時處理,所以有必要設計一個高效的,符合要求的緩沖區,以提高各個模塊的工作性能。
發明內容
技術問題:本發明的目的是提供一種阿瑞斯協議分析系統中雙緩存的設計與實現方法,緩沖高速實時模塊(內核抓包模塊)和變速可延時模塊(內核數據處理模塊),以提高各模塊的工作效率。本發明相比以往的方案,有效分離高速實時模塊和變速可延時模塊,具有運行的高效性、穩定性、靈活性。
技術方案:本發明的方法采用了哈希鏈表的存儲結構對截獲的阿瑞斯協議的哈希搜索數據包進行存儲,并使用數據包的源端的IP地址和端口號作為輸入,計算其MD5值作為哈希鏈表的哈希值的來源,并使用了雙哈希鏈表的方式,分離了兩個不同模塊的共享數據,使兩個不同模塊對共享數據的讀、寫分開,互補干擾,以提高高速實時模塊(即內核抓包模塊)的運行效率,將不需要或者無法實時處理的部分放到內核數據處理模塊當中,進一步細化模塊分工。
該方法為:
步驟1)進行需求分析,對內核抓包模塊需要存儲的信息進行詳細分析,并生成需求分析文檔;
步驟2)根據步驟1的分析文檔,理清內核抓包模塊和內核數據處理模塊的處理流程以及他們之間的邏輯關系,并生成邏輯交互圖以及功能說明文檔;
步驟3)根據步驟2的邏輯關系以及功能說明文檔,設計并實現了內核抓包模塊中有關數據處理的相關步驟,并針對該模塊對高速度和實時性的要求,專門設計了基于哈希值的哈希鏈表結構的存儲模式,該存儲結構具有存儲的靈活性,較線性表存儲結構而言,具有更好的查詢優勢,并使用鏈表結構,可以隨意增減哈希鏈表的容量;
步驟4)根據步驟2的邏輯關系以及功能說明文檔,設計并實現了內核數據處理模塊,實現了該模塊與用戶態的NETLINK(一種內核態與用戶態的通信套接字)通信,對哈希鏈表的讀取操作,以及通知內核抓包模塊完成雙哈希鏈表之間的輪換,有效提高了模塊與模塊之間的獨立性;
步驟5)根據步驟2的邏輯關系以及功能說明文檔,定義了3種結構,包括:節點結構、線性表結構、哈希表頭結構,設計并實現了雙緩沖結構下的哈希鏈表的節點創建、存儲、讀取、刪除、獲取節點個數等操作,借鑒了內存池的相關特性在刪除操作上使用了只清空節點信息,而不釋放內存的方式以提高寫入速度,同時使用了內核態的鎖機制,對公共數據區進行數據保護,實現了數據的可靠操作。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于南京郵電大學,未經南京郵電大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201110085747.8/2.html,轉載請聲明來源鉆瓜專利網。





