[發(fā)明專利]一種基于動態(tài)插樁技術(shù)的數(shù)據(jù)包處理時(shí)延分析方法有效
| 申請?zhí)枺?/td> | 201110309258.6 | 申請日: | 2011-10-13 |
| 公開(公告)號: | CN102346710A | 公開(公告)日: | 2012-02-08 |
| 發(fā)明(設(shè)計(jì))人: | 劉家軍;郝沁汾;張偉 | 申請(專利權(quán))人: | 北京航空航天大學(xué) |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36;G06F15/163 |
| 代理公司: | 北京慧泉知識產(chǎn)權(quán)代理有限公司 11232 | 代理人: | 王順榮;唐愛華 |
| 地址: | 100191*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 動態(tài) 技術(shù) 數(shù)據(jù)包 處理 分析 方法 | ||
(一)技術(shù)領(lǐng)域
本發(fā)明涉及一種基于動態(tài)插樁技術(shù)的數(shù)據(jù)包處理時(shí)延分析方法,具體涉及到一種運(yùn)用基于動態(tài)插樁技術(shù)對數(shù)據(jù)包處理過程中操作系統(tǒng)內(nèi)核的各個(gè)函數(shù)的處理時(shí)延進(jìn)行分析的方法,屬于計(jì)算機(jī)技術(shù)領(lǐng)域。
(二)背景技術(shù)
近年來隨著網(wǎng)絡(luò)應(yīng)用的不斷豐富,網(wǎng)絡(luò)分布越來越廣,網(wǎng)絡(luò)流量也越來越大,對于數(shù)據(jù)中心的網(wǎng)絡(luò)性能提出了新的需求和挑戰(zhàn)。為了應(yīng)對這種挑戰(zhàn),數(shù)據(jù)中心有必要對網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行調(diào)整,提高服務(wù)器的處理能力。然而,目前許多數(shù)據(jù)中心為了提高服務(wù)器的利用率、簡化服務(wù)器的管理和維護(hù)、提高應(yīng)用程序的可用性、降低成本,大多開始采用虛擬化技術(shù)。虛擬化技術(shù)有很多的優(yōu)勢,但也會引入額外的開銷,尤其是在I/O虛擬化方面。在虛擬化環(huán)境下,數(shù)據(jù)包的處理過程更加復(fù)雜,傳輸路徑更長,使得總體的網(wǎng)絡(luò)性能很差。
為了對網(wǎng)絡(luò)性能進(jìn)行優(yōu)化,就必須知道系統(tǒng)的瓶頸在哪兒,系統(tǒng)的哪些環(huán)節(jié)開銷最大,然后有針對性的進(jìn)行改進(jìn)。目前有許多人在研究如何提高虛擬化環(huán)境下的網(wǎng)絡(luò)性能,這些研究大多是從虛擬化的原理出發(fā),試圖降低虛擬化的開銷,提高網(wǎng)絡(luò)帶寬,降低網(wǎng)絡(luò)時(shí)延。然而,這些研究并沒有對數(shù)據(jù)包的處理時(shí)延進(jìn)行量化的分析,目前也沒有工具能夠自動的分析數(shù)據(jù)包從接收到發(fā)送整個(gè)處理過程中的各個(gè)函數(shù)的時(shí)延。本發(fā)明基于動態(tài)插樁技術(shù),設(shè)計(jì)了一種能夠自動分析操作系統(tǒng)內(nèi)核各個(gè)函數(shù)在數(shù)據(jù)包發(fā)送和接收過程中的時(shí)延的方法。
插樁技術(shù)是一種在軟件測試中有廣泛的運(yùn)用,GCC編譯器也提供相應(yīng)的功能用于測試代碼覆蓋率,有些操作系統(tǒng)也支持插樁技術(shù),如Solaris的DTrace、Linux的Kprobe等。動態(tài)插樁技術(shù)則更近一步,能夠在程序運(yùn)行的時(shí)候動態(tài)的將一段代碼插入到程序的某個(gè)位置用于收集信息或改變程序的行為,而不需要對原程序作任何修改。本發(fā)明就是基于動態(tài)插樁技術(shù)對操作系統(tǒng)數(shù)據(jù)包處理時(shí)延進(jìn)行分析的。
(三)發(fā)明內(nèi)容
1、目的
本發(fā)明的目的是提供一種基于動態(tài)插樁技術(shù)的數(shù)據(jù)包處理時(shí)延分析方法,它能夠統(tǒng)計(jì)出數(shù)據(jù)包處理過程中操作系統(tǒng)內(nèi)核的每個(gè)函數(shù)所消耗的時(shí)間以及在隊(duì)列中排隊(duì)等待的時(shí)間,為進(jìn)一步的網(wǎng)絡(luò)優(yōu)化提供了強(qiáng)有力的依據(jù)。
2、技術(shù)方案
本發(fā)明的技術(shù)方案如下:一種基于動態(tài)插樁技術(shù)的數(shù)據(jù)包處理時(shí)延分析方法,其總體的框架如圖1所示,圖1中的機(jī)器可以是真實(shí)的計(jì)算機(jī),也可以是通過虛擬化軟件虛擬出來的虛擬計(jì)算機(jī),圖1中的機(jī)器1和機(jī)器2主要是從功能的角度來劃分的,它們可以同時(shí)部署在同一個(gè)物理機(jī)上。機(jī)器1的主要功能是提供控制界面,分析并輸出結(jié)果,機(jī)器1上部署了發(fā)包模塊和統(tǒng)計(jì)模塊,機(jī)器2的主要功能是收集信息,并將收集到的信息反饋給機(jī)器1,機(jī)器2上部署了插樁模塊和收包模塊。具體流程如圖2所示,本發(fā)明一種基于動態(tài)插樁技術(shù)的數(shù)據(jù)包處理時(shí)延分析方法,該方法包括以下步驟:
步驟201.在機(jī)器2上收集內(nèi)核符號表,獲取內(nèi)核函數(shù)與地址的對應(yīng)關(guān)系,輸出可以進(jìn)行插樁的函數(shù)列表,并傳遞給機(jī)器1。
步驟202.在機(jī)器1上根據(jù)優(yōu)化的目標(biāo),確定需要分析的函數(shù),輸出需要插樁的函數(shù)列表,并傳遞給機(jī)器2。
步驟203.將步驟202所確定的函數(shù)列表傳遞到機(jī)器2上,機(jī)器2運(yùn)用動態(tài)插樁技術(shù)在需要監(jiān)控的函數(shù)的頭部插入一段代碼,該代碼會將函數(shù)的地址和當(dāng)前的時(shí)間戳寫入數(shù)據(jù)包。
步驟204.啟動收包模塊和發(fā)包模塊。機(jī)器1開始發(fā)送數(shù)據(jù)包,數(shù)據(jù)包傳遞到機(jī)器2的內(nèi)核之后,若檢測到數(shù)據(jù)包的目的地是機(jī)器2的收包模塊的話,就將當(dāng)前正在執(zhí)行的函數(shù)的地址和時(shí)間戳寫入數(shù)據(jù)包。當(dāng)數(shù)據(jù)包到達(dá)機(jī)器2的收包模塊時(shí),收包模塊將數(shù)據(jù)包返還給機(jī)器1,機(jī)器1的發(fā)包模塊將來自機(jī)器2的數(shù)據(jù)包以文件的形式存儲起來。
步驟205.機(jī)器1統(tǒng)計(jì)所有來自機(jī)器2接收模塊的數(shù)據(jù)包,計(jì)算并輸出統(tǒng)計(jì)結(jié)果。
其中,步驟201在機(jī)器2上收集內(nèi)核符號表是要收集正在運(yùn)行的內(nèi)核的符號表,內(nèi)核符號表中記錄了內(nèi)核函數(shù)和變量在內(nèi)存中的地址,在Linux系統(tǒng)下,通過讀取/boot目錄下與內(nèi)核版本相對應(yīng)的System.map或直接讀取/proc/ksyms就可以獲取到內(nèi)核符號表了,此外,還可以通過分析內(nèi)核文件或內(nèi)核調(diào)試信息來獲得的內(nèi)核符號表。由于內(nèi)核符號表中不僅記錄了內(nèi)核函數(shù)的在內(nèi)存中的地址,還記錄了內(nèi)核變量的地址,因此需要對讀取到的內(nèi)核符號表進(jìn)行分析,過濾掉那些非函數(shù)的內(nèi)核符號,輸出所有內(nèi)核函數(shù)的符號表,這些函數(shù)就是可以進(jìn)行插樁的函數(shù)列表,確定之后,將其傳遞給機(jī)器1。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京航空航天大學(xué),未經(jīng)北京航空航天大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201110309258.6/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 上一篇:注射器芯桿
- 下一篇:電路板零配件整理裝置
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F11-00 錯(cuò)誤檢測;錯(cuò)誤校正;監(jiān)控
G06F11-07 .響應(yīng)錯(cuò)誤的產(chǎn)生,例如,容錯(cuò)
G06F11-22 .在準(zhǔn)備運(yùn)算或者在空閑時(shí)間期間內(nèi),通過測試作故障硬件的檢測或定位
G06F11-28 .借助于檢驗(yàn)標(biāo)準(zhǔn)程序或通過處理作錯(cuò)誤檢測、錯(cuò)誤校正或監(jiān)控
G06F11-30 .監(jiān)控
G06F11-36 .通過軟件的測試或調(diào)試防止錯(cuò)誤
- 動態(tài)矢量譯碼方法和動態(tài)矢量譯碼裝置
- 動態(tài)口令的顯示方法及動態(tài)令牌
- 動態(tài)庫管理方法和裝置
- 動態(tài)令牌的身份認(rèn)證方法及裝置
- 令牌、動態(tài)口令生成方法、動態(tài)口令認(rèn)證方法及系統(tǒng)
- 一種動態(tài)模糊控制系統(tǒng)
- 一種基于動態(tài)信號的POS機(jī)和安全保護(hù)方法
- 圖像動態(tài)展示的方法、裝置、系統(tǒng)及介質(zhì)
- 一種基于POS機(jī)聚合碼功能分離顯示動態(tài)聚合碼的系統(tǒng)
- 基于動態(tài)口令的身份認(rèn)證方法、裝置和動態(tài)令牌
- 防止技術(shù)開啟的鎖具新技術(shù)
- 技術(shù)評價(jià)裝置、技術(shù)評價(jià)程序、技術(shù)評價(jià)方法
- 防止技術(shù)開啟的鎖具新技術(shù)
- 視聽模擬技術(shù)(VAS技術(shù))
- 用于技術(shù)縮放的MRAM集成技術(shù)
- 用于監(jiān)測技術(shù)設(shè)備的方法和用戶接口、以及計(jì)算機(jī)可讀存儲介質(zhì)
- 用于監(jiān)測技術(shù)設(shè)備的技術(shù)
- 技術(shù)偵查方法及技術(shù)偵查系統(tǒng)
- 使用投影技術(shù)增強(qiáng)睡眠技術(shù)
- 基于技術(shù)庫的技術(shù)推薦方法
- 通過冗余提高數(shù)據(jù)傳輸速度的方法
- 數(shù)據(jù)包調(diào)度方法和裝置
- 一種數(shù)據(jù)包的轉(zhuǎn)發(fā)方法和設(shè)備
- 網(wǎng)絡(luò)通信主體確認(rèn)方法及系統(tǒng)
- 一種轉(zhuǎn)發(fā)數(shù)據(jù)包的方法、裝置和路由設(shè)備
- 一種數(shù)據(jù)報(bào)文接收方法及裝置
- 一種降低語音丟包統(tǒng)計(jì)量的方法及基站
- 數(shù)據(jù)包的處理方法、裝置、電子設(shè)備及存儲介質(zhì)
- 一種數(shù)據(jù)包處理方法、裝置及電子設(shè)備和存儲介質(zhì)
- 一種數(shù)據(jù)傳輸方法、裝置、設(shè)備及存儲介質(zhì)





