專利名稱:網(wǎng)絡(luò)文件還原方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)數(shù)據(jù)處理領(lǐng)域,特別涉及一種網(wǎng)絡(luò)文件還原方法及裝置。
背景技術(shù):
計(jì)算機(jī)網(wǎng)絡(luò)中的數(shù)據(jù)傳輸是基于數(shù)據(jù)包的發(fā)送和接收,經(jīng)過一系列后臺處理后,呈現(xiàn)給用戶數(shù)據(jù)所需的文本或者文件,因此對用戶來說數(shù)據(jù)包是透明存在的。傳統(tǒng)的文件還原方法依賴于協(xié)議識別技術(shù),數(shù)據(jù)包在經(jīng)過協(xié)議棧處理時(shí),判斷其協(xié)議,然后根據(jù)協(xié)議進(jìn)行文件還原,然而,當(dāng)出現(xiàn)未知協(xié)議時(shí),傳統(tǒng)的文件還原方法因其對協(xié)議識別技術(shù)的依賴,則無法還原出文件或無法準(zhǔn)確還原文件。
發(fā)明內(nèi)容
本發(fā)明提供了一種網(wǎng)絡(luò)文件還原方法及裝置,解決了傳統(tǒng)文件還原方法中,當(dāng)出現(xiàn)未知協(xié)議時(shí),無法還原文件的問題。一種網(wǎng)絡(luò)文件還原方法,用于網(wǎng)絡(luò)數(shù)據(jù)包流量重組,數(shù)據(jù)包重新排序后,包括 捕獲數(shù)據(jù)包,確定文件起始位置;
將數(shù)據(jù)包中文件寫入緩存;
捕獲下一數(shù)據(jù)包,判斷是否包含文件結(jié)束位置,如果不包含,則將數(shù)據(jù)包中文件繼續(xù)寫入緩存,并捕獲下一數(shù)據(jù)包,否則將數(shù)據(jù)包中文件寫入緩存后,將緩存中所有文件寫入硬盤或內(nèi)存。所述的方法中,所述確定文件起始位置為文件頭識別。所述的方法中,若文件大小超過緩存大小,則將文件連續(xù)寫入多個(gè)緩存鏈中。一種網(wǎng)絡(luò)文件還原裝置,包括
獲取單元,用于獲取數(shù)據(jù)包,確定文件起始位置;
第一寫入單元,用于將數(shù)據(jù)包中的文件寫入緩存;
結(jié)束判斷單元,用于判斷數(shù)據(jù)包是否包含文件結(jié)束位置,如果不包含,則第一寫入單元將數(shù)據(jù)包中文件繼續(xù)寫入緩存,否則第一寫入單元將數(shù)據(jù)包中文件寫入緩存后,進(jìn)入第二寫入單元;
第二寫入單元,用于當(dāng)結(jié)束判斷單元判斷到數(shù)據(jù)包包含文件結(jié)束位置后,將緩存中的所有文件寫入硬盤或內(nèi)存。所述的裝置中,所述確定文件起始位置為文件頭識別。所述的裝置中,若文件大小超過緩存大小,則將文件連續(xù)寫入多個(gè)緩存鏈中。本發(fā)明解決了傳統(tǒng)網(wǎng)絡(luò)文件還原方法依賴于協(xié)議識別技術(shù)的瓶頸,發(fā)明了一種新的網(wǎng)絡(luò)文件還原方法,解決了文件還原依賴于協(xié)議識別技術(shù)的難題,只要數(shù)據(jù)包是非加密的完整數(shù)據(jù)、流,則可以準(zhǔn)確還原出網(wǎng)絡(luò)文件。本發(fā)明提供一種網(wǎng)絡(luò)文件還原方法,用于網(wǎng)絡(luò)數(shù)據(jù)包流量重組,數(shù)據(jù)包重新排序后,方法包括捕獲數(shù)據(jù)包,確定文件起始位置;將數(shù)據(jù)包中文件寫入緩存;捕獲下一數(shù)據(jù)包,判斷是否包含文件結(jié)束位置,如果不包含,則將數(shù)據(jù)包中文件繼續(xù)寫入緩存,并捕獲下一數(shù)據(jù)包,否則將數(shù)據(jù)包中文件寫入緩存后,將緩存中所有文件寫入硬盤或內(nèi)存。通過本發(fā)明的方法,可以不依賴于協(xié)議識別技術(shù)來進(jìn)行文件還原。
為了更清楚地說明本發(fā)明或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明中記載的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖I為一種網(wǎng)絡(luò)文件還原方法流程 圖2為一種網(wǎng)絡(luò)文件還原裝置結(jié)構(gòu)示意圖。
具體實(shí)施方式
為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明實(shí)施例中的技術(shù)方案,并使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖對本發(fā)明中技術(shù)方案作進(jìn)一步詳細(xì)的說明。本發(fā)明提供了一種網(wǎng)絡(luò)文件還原方法及裝置,解決了傳統(tǒng)文件還原方法中,當(dāng)出現(xiàn)未知協(xié)議文件時(shí),無法還原文件的問題。一種網(wǎng)絡(luò)文件還原方法,用于網(wǎng)絡(luò)數(shù)據(jù)包流量重組,數(shù)據(jù)包重新排序后,如圖I所示,包括
5101:捕獲數(shù)據(jù)包,確定文件起始位置;
5102:將數(shù)據(jù)包中文件寫入緩存;
5103:捕獲下一數(shù)據(jù)包,判斷是否包含文件結(jié)束位置,如果不包含,則執(zhí)行S104,否則執(zhí)行S105 ;
5104:將數(shù)據(jù)包中文件繼續(xù)寫入緩存,并捕獲下一數(shù)據(jù)包;
S105:將數(shù)據(jù)包中文件寫入緩存后,將緩存中所有文件寫入硬盤或內(nèi)存。所述的方法中,所述確定文件起始位置為文件頭識別。所述的方法中,若文件大小超過緩存大小,則將文件連續(xù)寫入多個(gè)緩存鏈中。緩存大小可根據(jù)經(jīng)驗(yàn)進(jìn)行判斷,選擇20至50k,本實(shí)施過程以16k為例,如果文件大小超過16k,則可以寫入多個(gè)16k緩存鏈,直至文件結(jié)束。一種網(wǎng)絡(luò)文件還原裝置,如圖2所示,包括
獲取單元201,用于獲取數(shù)據(jù)包,確定文件起始位置;
第一寫入單元202,用于將數(shù)據(jù)包中的文件寫入緩存;
結(jié)束判斷單元203,用于判斷數(shù)據(jù)包是否包含文件結(jié)束位置,如果不包含,則第一寫入單元202將數(shù)據(jù)包中文件繼續(xù)寫入緩存,否則第一寫入單元202將數(shù)據(jù)包中文件寫入緩存后,進(jìn)入第二寫入單元204;
第二寫入單元204,用于當(dāng)結(jié)束判斷單元203判斷到數(shù)據(jù)包包含文件結(jié)束位置后,將緩存中的所有文件寫入硬盤或內(nèi)存。所述的裝置中,所述確定文件起始位置為文件頭識別。
所述的裝置中,若文件大小超過緩存大小,則將文件連續(xù)寫入多個(gè)緩存鏈中。本發(fā)明解決了傳統(tǒng)網(wǎng)絡(luò)文件還原方法依賴于協(xié)議識別技術(shù)的瓶頸,發(fā)明了一種新的網(wǎng)絡(luò)文件還原方法,解決了文件還原依賴于協(xié)議識別技術(shù)的難題,只要數(shù)據(jù)包是非加密的完整數(shù)據(jù)流,則可以準(zhǔn)確還原出網(wǎng)絡(luò)文件。本發(fā)明提供一種網(wǎng)絡(luò)文件還原方法,用于網(wǎng)絡(luò)數(shù)據(jù)包流量重組,數(shù)據(jù)包重新排序后,方法包括捕獲數(shù)據(jù)包,確定文件起始位置;將數(shù)據(jù)包中文件寫入緩存;捕獲下一數(shù)據(jù)包,判斷是否包含文件結(jié)束位置,如果不包含,則將數(shù)據(jù)包中文件繼續(xù)寫入緩存,并捕獲下一數(shù)據(jù)包,否則將數(shù)據(jù)包中文件寫入緩存后,將緩存中所有文件寫入硬盤或內(nèi)存。通過本發(fā)明的方法,可以不依賴于協(xié)議識別技術(shù)來進(jìn)行文件還原。通過以上的實(shí)施方式的描述可知,本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可借助軟件加必需的通用硬件平臺的方式來實(shí)現(xiàn)。 雖然通過實(shí)施例描繪了本發(fā)明,本領(lǐng)域普通技術(shù)人員知道,本發(fā)明有許多變形和變化而不脫離本發(fā)明的精神,希望所附的權(quán)利要求包括這些變形和變化而不脫離本發(fā)明的精神。
權(quán)利要求
1.一種網(wǎng)絡(luò)文件還原方法,用于網(wǎng)絡(luò)數(shù)據(jù)包流量重組,數(shù)據(jù)包重新排序后,其特征在于,包括 捕獲數(shù)據(jù)包,確定文件起始位置; 將數(shù)據(jù)包中文件寫入緩存; 捕獲下ー數(shù)據(jù)包,判斷是否包含文件結(jié)束位置,如果不包含,則將數(shù)據(jù)包中文件繼續(xù)寫入緩存,并捕獲下ー數(shù)據(jù)包,否則將數(shù)據(jù)包中文件寫入緩存后,將緩存中所有文件寫入硬盤或內(nèi)存。
2.如權(quán)利要求I所述的方法,其特征在于,所述確定文件起始位置為文件頭識別。
3.如權(quán)利要求I所述的方法,其特征在于,若文件大小超過緩存大小,則將文件連續(xù)寫入多個(gè)緩存鏈中。
4.一種網(wǎng)絡(luò)文件還原裝置,其特征在于,包括 獲取單元,用于獲取數(shù)據(jù)包,確定文件起始位置; 第一寫入?yún)g元,用于將數(shù)據(jù)包中的文件寫入緩存; 結(jié)束判斷単元,用于判斷數(shù)據(jù)包是否包含文件結(jié)束位置,如果不包含,則第一寫入?yún)g元將數(shù)據(jù)包中文件繼續(xù)寫入緩存,否則第一寫入?yún)g元將數(shù)據(jù)包中文件寫入緩存后,進(jìn)入第二寫入?yún)g元; 第二寫入?yún)g元,用于當(dāng)結(jié)束判斷単元判斷到數(shù)據(jù)包包含文件結(jié)束位置后,將緩存中的所有文件寫入硬盤或內(nèi)存。
5.如權(quán)利要求4所述的裝置,其特征在于,所述確定文件起始位置為文件頭識別。
6.如權(quán)利要求4所述的裝置,其特征在于,若文件大小超過緩存大小,則將文件連續(xù)寫入多個(gè)緩存鏈中。
全文摘要
本發(fā)明提供一種網(wǎng)絡(luò)文件還原方法,用于網(wǎng)絡(luò)數(shù)據(jù)包流量重組,數(shù)據(jù)包重新排序后,方法包括捕獲數(shù)據(jù)包,確定文件起始位置;將數(shù)據(jù)包中文件寫入緩存;捕獲下一數(shù)據(jù)包,判斷是否包含文件結(jié)束位置,如果不包含,則將數(shù)據(jù)包中文件繼續(xù)寫入緩存,并捕獲下一數(shù)據(jù)包,否則將數(shù)據(jù)包中文件寫入緩存后,將緩存中所有文件寫入硬盤或內(nèi)存。通過本發(fā)明的方法,可以不依賴于協(xié)議識別技術(shù)來進(jìn)行文件還原。
文檔編號H04L29/08GK102769658SQ201110398880
公開日2012年11月7日 申請日期2011年12月6日 優(yōu)先權(quán)日2011年12月6日
發(fā)明者劉靜, 肖新光, 邱勇良 申請人:北京安天電子設(shè)備有限公司