[發明專利]一種基于動態插樁技術的數據包處理時延分析方法有效
| 申請號: | 201110309258.6 | 申請日: | 2011-10-13 |
| 公開(公告)號: | CN102346710A | 公開(公告)日: | 2012-02-08 |
| 發明(設計)人: | 劉家軍;郝沁汾;張偉 | 申請(專利權)人: | 北京航空航天大學 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36;G06F15/163 |
| 代理公司: | 北京慧泉知識產權代理有限公司 11232 | 代理人: | 王順榮;唐愛華 |
| 地址: | 100191*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 動態 技術 數據包 處理 分析 方法 | ||
1.一種基于動態插樁技術的數據包處理時延分析方法,其特征在于:該方法具體步驟如下:
步驟一.在機器2上收集內核符號表,獲取內核函數與地址的對應關系,輸出能進行插樁的函數列表,并傳遞給機器1;
步驟二.在機器1上根據優化的目標,確定需要分析的函數,輸出需要插樁的函數列表,并傳遞給機器2;
步驟三.將步驟二所確定的函數列表傳遞到機器2上,機器2運用動態插樁技術在需要監控的函數的頭部插入一段代碼,該代碼會將函數的地址和當前的時間戳寫入數據包;
步驟四.啟動收包模塊和發包模塊;機器1開始發送數據包,數據包傳遞到機器2的內核之后,若檢測到數據包的目的地是機器2的收包模塊的話,就將當前正在執行的函數的地址和時間戳寫入數據包;當數據包到達機器2的收包模塊時,收包模塊將數據包返還給機器1,機器1的發包模塊將來自機器2的數據包以文件的形式存儲起來;
步驟五.機器1統計所有來自機器2接收模塊的數據包,計算并輸出統計結果;
其中,所述的機器1和機器2是真實的計算機,或是通過虛擬化軟件虛擬出來的虛擬計算機,它們同時部署在同一個物理機上;機器1的功能是提供控制界面,分析并輸出結果,機器1上部署了發包模塊和統計模塊,機器2的功能是收集信息,并將收集到的信息反饋給機器1,機器2上部署了插樁模塊和收包模塊。
2.根據權利要求1所述的一種基于動態插樁技術的數據包處理時延分析方法,其特征在于:步驟一中所述的“在機器2上收集內核符號表”是指:收集正在運行的內核的符號表,內核符號表中記錄了內核函數和變量在內存中的地址,在Linux系統下,通過讀取/boot目錄下與內核版本相對應的System.map或直接讀取/proc/ksyms就獲取到內核符號表,此外,還能通過分析內核文件或內核調試信息來獲得的內核符號表;由于內核符號表中不僅記錄了內核函數的在內存中的地址,還記錄了內核變量的地址,因此需要對讀取到的內核符號表進行分析,過濾掉那些非函數的內核符號,輸出所有內核函數的符號表,這些函數就是能進行插樁的函數列表,確定之后,將其傳遞給機器1。
3.根據權利要求1所述的一種基于動態插樁技術的數據包處理時延分析方法,其特征在于:步驟二中所述的“在機器1上根據優化的目標,確定需要分析的函數,輸出需要插樁的函數列表,并傳遞給機器2”是指:當機器1收到機器2的能插樁的函數列表之后,手動或自動確定需要插樁的函數列表;手動確定需要對于內核處理過程熟悉,知道內核會調用哪些函數來處理數據包,然后手動的將需要插樁的函數寫入文件形成需要插樁的函數列表;除了手動確定外,也能寫些腳步通過名字匹配的方法來自動確定。
4.根據權利要求1所述的一種基于動態插樁技術的數據包處理時延分析方法,其特征在于:步驟三中所述的“將步驟二所確定的函數列表傳遞到機器2上,機器2運用動態插樁技術在需要監控的函數的頭部插入一段代碼,該代碼會將函數的地址和當前的時間戳寫入數據包”是指:需要監控的函數的頭部插入一段代碼完成之后,內核執行該函數時會首先執行插入的代碼,接著執行原函數;插入的代碼的功能是對當前正在處理的數據包進行檢測,若滿足條件則將當前正在執行的函數的地址和當前的時間戳添加數據包后面。
5.根據權利要求1所述的一種基于動態插樁技術的數據包處理時延分析方法,其特征在于:步驟四中所述的“啟動收包模塊和發包模塊”是指:機器1的發包模塊和機器2的收包模塊都是運行在用戶態下的應用程序;機器1的發包模塊被激活之后會根據用戶的配置以一定的速率向機器2的收包模塊發送數據包,數據包包含兩部分信息,元信息部分記錄了數據包總共的大小、數據信息的偏移量及目前需要插入信息的偏移量;數據信息就是一個函數地址與時間戳的表格,插樁模塊每次都將函數地址和時間戳寫入到數據信息的末尾;機器1的發包模塊發送的數據包的數據信息部分用零填充,數據包到達機器2之后,位于內核中的插樁模塊會將需要監控的函數的地址及內核調用該函數時的時間戳寫入數據包的數據信息部分,并修改數據包的元信息;當數據包傳遞到收包模塊之后,收包模塊不會修改數據包,而是直接將數據包返還給機器1的發包模塊。
6.根據權利要求1所述的一種基于動態插樁技術的數據包處理時延分析方法,其特征在于:步驟五中所述的“機器1統計所有來自機器2接收模塊的數據包,計算并輸出統計結果”是指:機器1的發包模塊接收到機器2返還的數據包之后,先將數據包以文件的形式存儲起來,結束后再結合步驟二收集到的內核符號表,通過分析數據包的數據信息,計算出內核在數據包處理過程中調用了哪些函數,以及各個函數所消耗的時間,若對內核的數據包處理過程熟悉的話,通過查看入隊列和出隊列的時間戳,還能夠分析出數據包在處理過程中的排隊時延。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京航空航天大學,未經北京航空航天大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201110309258.6/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:注射器芯桿
- 下一篇:電路板零配件整理裝置





