[發(fā)明專利]一種報(bào)文重組方法和裝置在審
| 申請?zhí)枺?/td> | 201410079548.X | 申請日: | 2014-03-05 |
| 公開(公告)號(hào): | CN103888449A | 公開(公告)日: | 2014-06-25 |
| 發(fā)明(設(shè)計(jì))人: | 羅峰;黃蘇支;李娜 | 申請(專利權(quán))人: | 億贊普(北京)科技有限公司 |
| 主分類號(hào): | H04L29/06 | 分類號(hào): | H04L29/06;H04L12/741 |
| 代理公司: | 北京潤澤恒知識(shí)產(chǎn)權(quán)代理有限公司 11319 | 代理人: | 蘭淑鐸 |
| 地址: | 100081 北京市海淀區(qū)南大街東北*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 報(bào)文 重組 方法 裝置 | ||
技術(shù)領(lǐng)域
本申請涉及網(wǎng)絡(luò)技術(shù)領(lǐng)域,特別是涉及一種報(bào)文重組方法和裝置。
背景技術(shù)
HTTP?GET報(bào)文用于獲取服務(wù)器上的數(shù)據(jù)信息,因此,目前大數(shù)據(jù)處理時(shí),大部分是通過過濾TCP80(TCP協(xié)議+目的端口80)端口的HTTP?GET報(bào)文,進(jìn)而對過濾的HTTP?GET報(bào)文進(jìn)行分析來了解用戶的需求。然而,HTTP?GET報(bào)文中TCP分片報(bào)文量占到15%-23%,想要獲取完整的HTTP?GET報(bào)文,就需要對接收到的HTTP?GET報(bào)文中的TCP分片報(bào)文進(jìn)行重組。
目前,TCP重組方法通常是監(jiān)測TCP傳輸過程中整個(gè)連接過程的全部數(shù)據(jù),即三次握手建立連接,四次握手?jǐn)嚅_連接。中間傳輸數(shù)據(jù)時(shí)由于各個(gè)報(bào)文的TCP序列號(hào)滿足一定的順序關(guān)系,根據(jù)各個(gè)報(bào)文的TCP序列號(hào)進(jìn)行TCP的重組。相當(dāng)于一個(gè)布袋,在收到TCP三次握手時(shí)打開布袋,然后將各個(gè)報(bào)文放入布袋中,收到四次握手?jǐn)嚅_連接時(shí),扎住布袋,在此基礎(chǔ)上,在對TCP分片報(bào)文進(jìn)行重組時(shí),一方面,需要查找TCP分片報(bào)文的源IP和與TCP分片報(bào)文的源IP相對應(yīng)的目的IP,以確定相應(yīng)的TCP會(huì)話;另一方面,每次中間傳輸?shù)腡CP分片報(bào)文都需要多次比對同一TCP會(huì)話的源IP和與TCP分片報(bào)文的源IP相對應(yīng)的目的IP,如果傳輸?shù)腡CP分片報(bào)文屬于該TCP會(huì)話則將收到的TCP分片報(bào)文保存;直至TCP分片報(bào)文全部傳輸完畢,然后再根據(jù)各個(gè)TCP分片報(bào)文的TCP序列號(hào)進(jìn)行排序,最終輸出重組后的TCP報(bào)文。
可見,現(xiàn)有的TCP重組方法在TCP重組過程中,通過遍歷多個(gè)TCP會(huì)話,查找TCP分片報(bào)文的源IP和與TCP分片報(bào)文的源IP相對應(yīng)的目的IP,并且,在重組過程中,需要頻繁比對同一TCP會(huì)話的多個(gè)TCP分片報(bào)文,因此造成TCP重組效率低。
發(fā)明內(nèi)容
本申請?zhí)峁┮环N報(bào)文重組方法和裝置,以解決現(xiàn)有技術(shù)中TCP分片報(bào)文重組效率低的問題。
為了解決上述問題,本申請公開了一種報(bào)文重組方法,包括:
接收HTTP報(bào)文的TCP分片報(bào)文,根據(jù)TCP分片報(bào)文的源IP、目的IP和源端口確定所述HTTP報(bào)文所屬的TCP會(huì)話;
根據(jù)哈希函數(shù)計(jì)算出所述TCP會(huì)話的哈希關(guān)鍵字,將接收的所述TCP分片報(bào)文按照報(bào)文序號(hào)順序鏈接至已建立的所述TCP會(huì)話的哈希鏈表中;
當(dāng)接收到所述TCP會(huì)話的全部TCP分片報(bào)文后,根據(jù)所述TCP會(huì)話對應(yīng)的哈希鏈表進(jìn)行HTTP報(bào)文重組。
優(yōu)選地,所述根據(jù)哈希函數(shù)計(jì)算出所述TCP會(huì)話的哈希關(guān)鍵字,將接收的所述TCP分片報(bào)文按照報(bào)文序號(hào)順序鏈接至已建立的所述TCP會(huì)話的哈希鏈表中,包括:
根據(jù)哈希函數(shù)計(jì)算出所述TCP會(huì)話的哈希關(guān)鍵字;
判斷所述哈希鏈表中是否已存在所述TCP會(huì)話的哈希關(guān)鍵字;
若存在,則將接收到的TCP分片報(bào)文按照報(bào)文序號(hào)順序插入到所述TCP會(huì)話的哈希鏈表中;
若不存在,則在所述哈希鏈表中插入所述TCP會(huì)話的哈希關(guān)鍵字,并將接收到的所述TCP分片報(bào)文鏈接到插入的所述哈希關(guān)鍵字對應(yīng)的所述TCP會(huì)話的哈希鏈表中。
優(yōu)選地,在所述接收HTTP報(bào)文的TCP分片報(bào)文的步驟之后,還包括:
利用循環(huán)數(shù)組存儲(chǔ)接收到所述TCP會(huì)話的TCP分片報(bào)文。
優(yōu)選地,利用循環(huán)數(shù)組存儲(chǔ)接收到所述TCP會(huì)話的TCP分片報(bào)文的步驟包括:
判斷所述循環(huán)數(shù)組存儲(chǔ)空間是否已滿;
若是,則根據(jù)接收到所述TCP分片報(bào)文反查所述TCP會(huì)話的哈希鏈表,若根據(jù)反查結(jié)果確定當(dāng)前數(shù)組指針指示的TCP分片報(bào)文未在所述哈希鏈表中,則將當(dāng)前數(shù)組指針指示的TCP分片報(bào)文替換為所述接收到的TCP分片報(bào)文;若根據(jù)反查結(jié)果確定當(dāng)前數(shù)組指針指示的TCP分片報(bào)文在所述哈希鏈表中,則將當(dāng)前數(shù)組指針移到下一個(gè)循環(huán)數(shù)組中的TCP分片報(bào)文,直至根據(jù)反查結(jié)果確定當(dāng)前數(shù)組指針指示的TCP分片報(bào)文未在所述哈希鏈表中;
若否,則直接將所述TCP會(huì)話的TCP分片報(bào)文存儲(chǔ)至所述循環(huán)數(shù)組。
優(yōu)選地,所述根據(jù)所述TCP會(huì)話對應(yīng)的哈希鏈表進(jìn)行HTTP報(bào)文重組的步驟包括:
順序讀取所述TCP會(huì)話對應(yīng)的哈希鏈表中的各個(gè)節(jié)點(diǎn)的TCP分片報(bào)文,按照讀取的順序組合所述TCP分片報(bào)文,生成所述HTTP報(bào)文。
為了解決上述問題,本申請還公開了一種報(bào)文重組裝置,包括:
確定模塊,用于接收HTTP報(bào)文的TCP分片報(bào)文,根據(jù)TCP分片報(bào)文的源IP、目的IP和源端口確定所述HTTP報(bào)文所屬的TCP會(huì)話;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于億贊普(北京)科技有限公司,未經(jīng)億贊普(北京)科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410079548.X/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 數(shù)字集群系統(tǒng)中對集群呼叫進(jìn)行重組和還原的方法
- 一種集群通信系統(tǒng)中實(shí)現(xiàn)動(dòng)態(tài)重組的方法
- 一種重組竹強(qiáng)度特征值計(jì)算方法
- 用于表征重組病毒顆粒的分析性超速離心法
- O型口蹄疫病毒重組核酸、重組疫苗株及其制備方法和應(yīng)用
- 一種多核系統(tǒng)中的分片重組方法、裝置及設(shè)備
- 烯烴分離裝置
- 一種可搭建重組的教學(xué)用壓力機(jī)實(shí)驗(yàn)臺(tái)
- 一種重組竹保溫防結(jié)露剪力墻及其施工方法
- 一種可搭建重組的教學(xué)用壓力機(jī)實(shí)驗(yàn)臺(tái)
- 一種數(shù)據(jù)庫讀寫分離的方法和裝置
- 一種手機(jī)動(dòng)漫人物及背景創(chuàng)作方法
- 一種通訊綜合測試終端的測試方法
- 一種服裝用人體測量基準(zhǔn)點(diǎn)的獲取方法
- 系統(tǒng)升級(jí)方法及裝置
- 用于虛擬和接口方法調(diào)用的裝置和方法
- 線程狀態(tài)監(jiān)控方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 一種JAVA智能卡及其虛擬機(jī)組件優(yōu)化方法
- 檢測程序中方法耗時(shí)的方法、裝置及存儲(chǔ)介質(zhì)
- 函數(shù)的執(zhí)行方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)





