[發明專利]一種基于動態插樁技術的數據包處理時延分析方法有效
| 申請號: | 201110309258.6 | 申請日: | 2011-10-13 |
| 公開(公告)號: | CN102346710A | 公開(公告)日: | 2012-02-08 |
| 發明(設計)人: | 劉家軍;郝沁汾;張偉 | 申請(專利權)人: | 北京航空航天大學 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36;G06F15/163 |
| 代理公司: | 北京慧泉知識產權代理有限公司 11232 | 代理人: | 王順榮;唐愛華 |
| 地址: | 100191*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 動態 技術 數據包 處理 分析 方法 | ||
(一)技術領域
本發明涉及一種基于動態插樁技術的數據包處理時延分析方法,具體涉及到一種運用基于動態插樁技術對數據包處理過程中操作系統內核的各個函數的處理時延進行分析的方法,屬于計算機技術領域。
(二)背景技術
近年來隨著網絡應用的不斷豐富,網絡分布越來越廣,網絡流量也越來越大,對于數據中心的網絡性能提出了新的需求和挑戰。為了應對這種挑戰,數據中心有必要對網絡結構進行調整,提高服務器的處理能力。然而,目前許多數據中心為了提高服務器的利用率、簡化服務器的管理和維護、提高應用程序的可用性、降低成本,大多開始采用虛擬化技術。虛擬化技術有很多的優勢,但也會引入額外的開銷,尤其是在I/O虛擬化方面。在虛擬化環境下,數據包的處理過程更加復雜,傳輸路徑更長,使得總體的網絡性能很差。
為了對網絡性能進行優化,就必須知道系統的瓶頸在哪兒,系統的哪些環節開銷最大,然后有針對性的進行改進。目前有許多人在研究如何提高虛擬化環境下的網絡性能,這些研究大多是從虛擬化的原理出發,試圖降低虛擬化的開銷,提高網絡帶寬,降低網絡時延。然而,這些研究并沒有對數據包的處理時延進行量化的分析,目前也沒有工具能夠自動的分析數據包從接收到發送整個處理過程中的各個函數的時延。本發明基于動態插樁技術,設計了一種能夠自動分析操作系統內核各個函數在數據包發送和接收過程中的時延的方法。
插樁技術是一種在軟件測試中有廣泛的運用,GCC編譯器也提供相應的功能用于測試代碼覆蓋率,有些操作系統也支持插樁技術,如Solaris的DTrace、Linux的Kprobe等。動態插樁技術則更近一步,能夠在程序運行的時候動態的將一段代碼插入到程序的某個位置用于收集信息或改變程序的行為,而不需要對原程序作任何修改。本發明就是基于動態插樁技術對操作系統數據包處理時延進行分析的。
(三)發明內容
1、目的
本發明的目的是提供一種基于動態插樁技術的數據包處理時延分析方法,它能夠統計出數據包處理過程中操作系統內核的每個函數所消耗的時間以及在隊列中排隊等待的時間,為進一步的網絡優化提供了強有力的依據。
2、技術方案
本發明的技術方案如下:一種基于動態插樁技術的數據包處理時延分析方法,其總體的框架如圖1所示,圖1中的機器可以是真實的計算機,也可以是通過虛擬化軟件虛擬出來的虛擬計算機,圖1中的機器1和機器2主要是從功能的角度來劃分的,它們可以同時部署在同一個物理機上。機器1的主要功能是提供控制界面,分析并輸出結果,機器1上部署了發包模塊和統計模塊,機器2的主要功能是收集信息,并將收集到的信息反饋給機器1,機器2上部署了插樁模塊和收包模塊。具體流程如圖2所示,本發明一種基于動態插樁技術的數據包處理時延分析方法,該方法包括以下步驟:
步驟201.在機器2上收集內核符號表,獲取內核函數與地址的對應關系,輸出可以進行插樁的函數列表,并傳遞給機器1。
步驟202.在機器1上根據優化的目標,確定需要分析的函數,輸出需要插樁的函數列表,并傳遞給機器2。
步驟203.將步驟202所確定的函數列表傳遞到機器2上,機器2運用動態插樁技術在需要監控的函數的頭部插入一段代碼,該代碼會將函數的地址和當前的時間戳寫入數據包。
步驟204.啟動收包模塊和發包模塊。機器1開始發送數據包,數據包傳遞到機器2的內核之后,若檢測到數據包的目的地是機器2的收包模塊的話,就將當前正在執行的函數的地址和時間戳寫入數據包。當數據包到達機器2的收包模塊時,收包模塊將數據包返還給機器1,機器1的發包模塊將來自機器2的數據包以文件的形式存儲起來。
步驟205.機器1統計所有來自機器2接收模塊的數據包,計算并輸出統計結果。
其中,步驟201在機器2上收集內核符號表是要收集正在運行的內核的符號表,內核符號表中記錄了內核函數和變量在內存中的地址,在Linux系統下,通過讀取/boot目錄下與內核版本相對應的System.map或直接讀取/proc/ksyms就可以獲取到內核符號表了,此外,還可以通過分析內核文件或內核調試信息來獲得的內核符號表。由于內核符號表中不僅記錄了內核函數的在內存中的地址,還記錄了內核變量的地址,因此需要對讀取到的內核符號表進行分析,過濾掉那些非函數的內核符號,輸出所有內核函數的符號表,這些函數就是可以進行插樁的函數列表,確定之后,將其傳遞給機器1。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京航空航天大學,未經北京航空航天大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201110309258.6/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:注射器芯桿
- 下一篇:電路板零配件整理裝置





