欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種數(shù)據(jù)文件傳輸和校驗的方法、設(shè)備及系統(tǒng)的制作方法

文檔序號:7752174閱讀:159來源:國知局
專利名稱:一種數(shù)據(jù)文件傳輸和校驗的方法、設(shè)備及系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及信息與通信技術(shù),尤其涉及一種數(shù)據(jù)文件傳輸和校驗的方法、設(shè)備及系統(tǒng)。
背景技術(shù)
為了確保通信系統(tǒng)的正常運行,通信系統(tǒng)中的設(shè)備之間經(jīng)常涉及數(shù)據(jù)文件的傳輸 (包括無線傳輸或有線傳輸),由于傳輸過程中網(wǎng)絡(luò)的狀態(tài)較差或傳輸通道不穩(wěn)定造成數(shù)據(jù)文件丟包或數(shù)據(jù)文件的編解碼錯誤等問題,可能導致傳輸?shù)侥繕嗽O(shè)備上的數(shù)據(jù)文件的內(nèi)容出現(xiàn)差錯。為了避免由于數(shù)據(jù)文件的內(nèi)容出現(xiàn)差錯導致目標設(shè)備利用有誤的數(shù)據(jù)文件進行業(yè)務(wù)操作失敗的情況,目標設(shè)備在接收到源設(shè)備傳輸?shù)臄?shù)據(jù)文件后,需要對該數(shù)據(jù)文件進行校驗。目前,目標設(shè)備對接收到的數(shù)據(jù)文件進行校驗的方法是針對循環(huán)冗余校驗(crc) 字段的校驗。具體做法是首先,源設(shè)備生成待傳輸?shù)臄?shù)據(jù)文件,針對整個數(shù)據(jù)文件計算crc值,并將計算出的crc值寫入數(shù)據(jù)文件的固定位置后傳輸給目標設(shè)備;然后,目標設(shè)備針對接收到的整個數(shù)據(jù)文件重新計算crc值,并將目標設(shè)備計算出的crc值與數(shù)據(jù)文件的固定位置寫入的crc值比較,從而對接收到的數(shù)據(jù)文件的正確性進行校驗。如果比較結(jié)果為目標設(shè)備計算出的crc值與數(shù)據(jù)文件的固定位置寫入的crc值匹配,則表示該數(shù)據(jù)文件在傳輸過程中未出現(xiàn)差錯;否則,表示該數(shù)據(jù)文件在傳輸過程中出現(xiàn)差錯。在上述目標設(shè)備對數(shù)據(jù)文件的校驗過程中,源設(shè)備和目標設(shè)備都是針對整個數(shù)據(jù)文件來計算crc值的,因此,只有在目標設(shè)備完整接收數(shù)據(jù)文件后才能校驗數(shù)據(jù)文件傳輸?shù)恼_性,即使在接收到的部分數(shù)據(jù)文件已出現(xiàn)差錯時也無法及時發(fā)現(xiàn)。

發(fā)明內(nèi)容
本發(fā)明實施例提供一種數(shù)據(jù)文件傳輸和校驗的方法、設(shè)備及系統(tǒng),用以解決現(xiàn)有技術(shù)中不能及時發(fā)現(xiàn)數(shù)據(jù)文件傳輸過程中的錯誤的問題。一種數(shù)據(jù)文件傳輸?shù)姆椒ǎ摲椒òㄔ丛O(shè)備對待傳輸?shù)臄?shù)據(jù)文件進行分段,得到多個數(shù)據(jù)片段;源設(shè)備計算每個數(shù)據(jù)片段的循環(huán)冗余校驗crc值;源設(shè)備將數(shù)據(jù)片段以及該數(shù)據(jù)片段的crc值傳輸給目標設(shè)備。一種數(shù)據(jù)文件校驗的方法,所述方法包括目標設(shè)備針對接收到的數(shù)據(jù)片段,計算該數(shù)據(jù)片段的crc值,并將計算的數(shù)據(jù)片段的crc值與接收到的數(shù)據(jù)片段的crc值進行比較;若目標設(shè)備確定計算的數(shù)據(jù)片段的crc值與接收到的該數(shù)據(jù)片段的crc值匹配, 則確定該數(shù)據(jù)片段校驗成功;否則,確定該數(shù)據(jù)片段校驗失敗。
一種數(shù)據(jù)文件傳輸?shù)脑O(shè)備,該設(shè)備包括分段模塊,用于對數(shù)據(jù)文件進行分段,得到多個數(shù)據(jù)片段;第一 crc值計算模塊,用于計算每個數(shù)據(jù)片段的循環(huán)冗余校驗crc值;傳輸模塊,用于傳輸數(shù)據(jù)片段以及該數(shù)據(jù)片段的crc值。一種數(shù)據(jù)文件校驗的設(shè)備,該設(shè)備包括接收模塊,用于接收數(shù)據(jù)片段以及該數(shù)據(jù)片段的crc值;第二 crc值計算模塊,用于計算接收到的數(shù)據(jù)片段的crc值;校驗?zāi)K,用于將第二 crc值計算模塊計算的數(shù)據(jù)片段的crc值與接收到的數(shù)據(jù)片段的crc值進行比較,若計算的數(shù)據(jù)片段的crc值與接收到的該數(shù)據(jù)片段的crc值匹配, 則確定該數(shù)據(jù)片段校驗成功;否則,確定該數(shù)據(jù)片段校驗失敗。一種數(shù)據(jù)文件校驗系統(tǒng),所述系統(tǒng)包括源設(shè)備和目標設(shè)備,其中源設(shè)備,用于對數(shù)據(jù)文件進行分段,得到多個數(shù)據(jù)片段,計算每個數(shù)據(jù)片段的循環(huán)冗余校驗crc值,并將數(shù)據(jù)片段以及該數(shù)據(jù)片段的crc值發(fā)送給目標設(shè)備;目標設(shè)備,用于針對接收到的數(shù)據(jù)片段,計算該數(shù)據(jù)片段的crc值,并將計算的數(shù)據(jù)片段的crc值與接收到的數(shù)據(jù)片段的crc值進行比較,若確定計算的數(shù)據(jù)片段的crc值與接收到的該數(shù)據(jù)片段的crc值匹配,則確定該數(shù)據(jù)片段校驗成功;否則,確定該數(shù)據(jù)片段校驗失敗。本發(fā)明由源設(shè)備將數(shù)據(jù)文件分為多個數(shù)據(jù)片段,并計算每個數(shù)據(jù)片段的crc值后,對每個數(shù)據(jù)片段和數(shù)據(jù)片段的crc值分別進行傳輸,使得接收到數(shù)據(jù)片段和數(shù)據(jù)片段的crc值的目標設(shè)備可以針對每個數(shù)據(jù)片段進行校驗,使目標設(shè)備可以在數(shù)據(jù)文件還未完全傳輸時及時發(fā)現(xiàn)數(shù)據(jù)文件傳輸過程中出現(xiàn)的錯誤。


圖1為本發(fā)明實施例一數(shù)據(jù)文件傳輸?shù)姆椒鞒淌疽鈭D;圖2(a)為本發(fā)明實施例一數(shù)據(jù)文件示意圖;圖2(b)和圖2(c)為本發(fā)明實施例一中分段后的數(shù)據(jù)片段示意圖;圖3為本發(fā)明實施例二數(shù)據(jù)文件校驗的方法流程示意圖;圖4為本發(fā)明實施例四數(shù)據(jù)文件傳輸設(shè)備結(jié)構(gòu)示意圖;圖5為本發(fā)明實施例五數(shù)據(jù)文件校驗設(shè)備結(jié)構(gòu)示意圖;圖6為本發(fā)明實施例六數(shù)據(jù)文件校驗系統(tǒng)結(jié)構(gòu)示意圖。
具體實施例方式為了實現(xiàn)本發(fā)明目的,本發(fā)明實施例提出將數(shù)據(jù)文件進行分段,在源設(shè)備側(cè)分別針對每個數(shù)據(jù)片段計算crc值,并將數(shù)據(jù)片段以及該數(shù)據(jù)片段的crc值都發(fā)送給目標設(shè)備, 而在目標設(shè)備側(cè),目標設(shè)備在接收到數(shù)據(jù)片段后,再次計算數(shù)據(jù)片段的crc值,然后將目標設(shè)備針對某一數(shù)據(jù)片段計算的crc值和源設(shè)備發(fā)送的該數(shù)據(jù)片段的crc值進行匹配,進而確定該數(shù)據(jù)片段的校驗是否成功。在本發(fā)明方式下,目標設(shè)備可以在接收到部分數(shù)據(jù)文件時就對接收到的數(shù)據(jù)文件的正確性進行校驗,在部分數(shù)據(jù)文件發(fā)送錯誤時能夠及時發(fā)現(xiàn), 提高了數(shù)據(jù)文件傳輸?shù)恼_率。
下面結(jié)合說明書附圖對本發(fā)明的實施例進行詳細說明。實施例一如圖1所示,為本發(fā)明實施例一提供的一種數(shù)據(jù)文件傳輸?shù)姆椒ǎ唧w步驟為步驟101 源設(shè)備對數(shù)據(jù)文件進行分段。在本步驟中,源設(shè)備可以按照預先設(shè)定的數(shù)據(jù)片段數(shù)量以及各數(shù)據(jù)片段的長度對數(shù)據(jù)文件進行分段。包括但不限于以下兩種分段方法。方法一設(shè)定一個片段長度,根據(jù)設(shè)定的片段長度將數(shù)據(jù)文件平均劃分為多個數(shù)據(jù)片段, 如果數(shù)據(jù)文件長度無法完全平均劃分,則最后一個數(shù)據(jù)片段的長度可以小于設(shè)定的片段長度。例如,如圖2(a)所示,為一個長度為0x00012000的數(shù)據(jù)文件,圖2 (a)中只顯示了數(shù)據(jù)文件開始的32個字節(jié)內(nèi)容和結(jié)尾的32個字節(jié)內(nèi)容。設(shè)定片段長度為0x4000,則如圖2(b) 所示,整個數(shù)據(jù)文件劃分為5個數(shù)據(jù)片段,前面4個數(shù)據(jù)片段的長度為0x4000,最后一個數(shù)據(jù)片段未寫滿,只有長度為0x2000的部分寫入了內(nèi)容。方法二將數(shù)據(jù)文件劃分為多個長度不完全相同的數(shù)據(jù)片段,例如,數(shù)據(jù)文件在劃分前仍如圖2(a)所示,長度為0x00012000,將數(shù)據(jù)文件劃分為如圖2(c)所示的4個數(shù)據(jù)片段,每個數(shù)據(jù)片段長度依次分別為0x2000,0x6000,0x7000,0x3000。用上述任一方式對數(shù)據(jù)文件進行分段得到數(shù)據(jù)片段后,需要對各數(shù)據(jù)片段依次分配片段標識。為敘述方便,對各數(shù)據(jù)片段依次分配標識為1,2……η。步驟102 源設(shè)備計算每個數(shù)據(jù)片段的循環(huán)冗余校驗crc值。源設(shè)備將數(shù)據(jù)文件劃分為多個數(shù)據(jù)片段后,利用循環(huán)冗余校驗方法,計算各數(shù)據(jù)片段的crc值。在源設(shè)備計算出每個數(shù)據(jù)片段的crc值后,本發(fā)明實施例一提供但不限于以下三種保存各數(shù)據(jù)片段的crc值的方法一將crc值保存在各數(shù)據(jù)片段的固定位置。源設(shè)備將計算出的各數(shù)據(jù)片段的crc值保存在相應(yīng)數(shù)據(jù)片段的固定位置。進一步的,可以在非最后一個數(shù)據(jù)片段內(nèi)容的結(jié)尾加上片段結(jié)束符,在最后一個數(shù)據(jù)片段內(nèi)容的結(jié)尾加上一個文件結(jié)束符,以便于目標設(shè)備能夠正確判斷數(shù)據(jù)片段及數(shù)據(jù)文件的傳輸是否完成。方法二 將crc值保存在參數(shù)片段中。在本方法中,源設(shè)備在數(shù)據(jù)文件的數(shù)據(jù)頭部增加一個參數(shù)片段,為該片段分配片段標識,為敘述方便,為該片段分配標識0,片段0的長度可以是根據(jù)實際的數(shù)據(jù)傳輸需求來設(shè)定的,只要片段0的長度大于或等于需要攜帶的內(nèi)容所需的空間即可。源設(shè)備將計算出的各數(shù)據(jù)片段的crc值寫入片段0。為了使目標設(shè)備能夠從片段 0中正確識別各數(shù)據(jù)片段的crc值,在片段0中寫入crc值的同時,還記錄每個crc值對應(yīng)的數(shù)據(jù)片段;或者,在片段0中開辟專用于存儲數(shù)據(jù)片段的crc值的區(qū)域,按照數(shù)據(jù)片段的標識由小到大(或由大到小)的順序,依次寫入數(shù)據(jù)片段的crc值,使得目標設(shè)備根據(jù)接收到的數(shù)據(jù)片段的順序以及讀取的crc值的順序能夠正確識別數(shù)據(jù)片段和crc值的關(guān)系。進一步的,還可以將原始文件總長度、各數(shù)據(jù)片段的長度以及參數(shù)片段的長度寫入片段0的相應(yīng)位置。上述三個參數(shù)可用于后續(xù)目標設(shè)備判斷數(shù)據(jù)文件、某個數(shù)據(jù)片段或參數(shù)片段的傳輸是否完成。在上述需要保存在片段0的各項內(nèi)容寫入完成后,源設(shè)備計算片段0的crc值,并將計算得到的參數(shù)片段的crc值寫入片段0的固定位置,用于后續(xù)目標設(shè)備根據(jù)參數(shù)片段的crc值校驗片段0的傳輸是否成功。方法三將crc值保存在請求消息中。源設(shè)備生成一條請求消息,將計算出的各數(shù)據(jù)片段的crc值保存在請求消息的固定位置中。進一步的,可以將數(shù)據(jù)文件總長度以及各數(shù)據(jù)片段的長度寫入請求消息的相應(yīng)位置。上述兩個參數(shù)可用于后續(xù)目標設(shè)備判斷數(shù)據(jù)文件或某個數(shù)據(jù)片段的傳輸是否完成,以決定下一步的操作。步驟103 源設(shè)備將數(shù)據(jù)片段以及該數(shù)據(jù)片段的crc值傳輸給目標設(shè)備。針對步驟102中三種保存crc值的方法,本步驟中也提供以下三種傳輸模式,將數(shù)據(jù)片段以及數(shù)據(jù)片段的crc值發(fā)送給目標設(shè)備傳輸模式一如果源設(shè)備將crc值保存在各數(shù)據(jù)片段的固定位置,則本步驟中,源設(shè)備將各數(shù)據(jù)片段直接傳輸?shù)侥繕嗽O(shè)備。傳輸模式二 如果源設(shè)備將crc值保存在額外設(shè)置的參數(shù)片段中,則本步驟中,由于參數(shù)片段的內(nèi)容提供了目標設(shè)備后續(xù)對數(shù)據(jù)片段的操作依據(jù),因此,源設(shè)備按照參數(shù)片段先于數(shù)據(jù)片段傳輸?shù)臈l件,將所述參數(shù)片段和各數(shù)據(jù)片段傳輸給目標設(shè)備。較優(yōu)地,可以在源設(shè)備接收到目標設(shè)備返回的參數(shù)片段傳輸成功的響應(yīng)消息后,再繼續(xù)傳輸數(shù)據(jù)片段。傳輸模式三如果源設(shè)備將crc值保存在請求消息中,由于請求消息的內(nèi)容提供了目標設(shè)備后續(xù)對數(shù)據(jù)片段的操作依據(jù),因此,源設(shè)備首先向目標設(shè)備傳輸請求消息,并在請求消息傳輸成功后,再繼續(xù)傳輸數(shù)據(jù)片段。通過本發(fā)明實施例一的方案,源設(shè)備通過多種方式將數(shù)據(jù)片段以及每個數(shù)據(jù)片段的crc值發(fā)送給目標設(shè)備,由于數(shù)據(jù)文件已分片,因此,目標設(shè)備可以針對長度較短的數(shù)據(jù)片段進行數(shù)據(jù)的接收、校驗,提高了數(shù)據(jù)文件傳輸?shù)恼_率。實施例二 本發(fā)明實施例二在實施例一的傳輸數(shù)據(jù)文件的基礎(chǔ)上,提供一種數(shù)據(jù)文件校驗的方法,如圖3所示,包括以下步驟步驟201 目標設(shè)備在接收到數(shù)據(jù)片段后,計算該數(shù)據(jù)片段的crc值。在本步驟中,目標設(shè)備和源設(shè)備采用相同的算法計算數(shù)據(jù)片段的crc值。步驟202 目標設(shè)備將自身計算的crc值與源設(shè)備發(fā)送的該數(shù)據(jù)片段的crc值進行比較;若比較結(jié)果為crc值匹配,則執(zhí)行步驟203 ;否則,執(zhí)行步驟204。步驟203 目標設(shè)備確定該數(shù)據(jù)片段校驗成功。步驟204 目標設(shè)備確定該數(shù)據(jù)片段校驗失敗??紤]到實施例一中源設(shè)備向目標設(shè)備傳輸數(shù)據(jù)片段的傳輸模式至少有三種,因此,在本實施例二的方案中,目標設(shè)備接收數(shù)據(jù)片段,并對數(shù)據(jù)片段進行校驗的方式也可以包括以下三種校驗?zāi)J揭蝗绻丛O(shè)備按照步驟103中的傳輸模式一向目標設(shè)備發(fā)送數(shù)據(jù)片段和數(shù)據(jù)片段的crc值,則目標設(shè)備接收源設(shè)備直接傳輸?shù)臄?shù)據(jù)片段后,首先通過各數(shù)據(jù)片段的片段結(jié)束符/文件結(jié)束符判斷對數(shù)據(jù)片段/數(shù)據(jù)文件的接收是否完成,并對接收完成的數(shù)據(jù)片段進行校驗。其校驗方式為目標設(shè)備每接收完成一個數(shù)據(jù)片段時,計算該數(shù)據(jù)片段的crc 值,并與保存在該片段中固定位置的crc值進行比較,如果兩個crc值不匹配,該數(shù)據(jù)片段的校驗失敗,目標設(shè)備請求源設(shè)備重傳校驗失敗的數(shù)據(jù)片段;否則,該數(shù)據(jù)片段的校驗成功,目標設(shè)備繼續(xù)接收并校驗其他數(shù)據(jù)片段。直到根據(jù)文件結(jié)束符判斷出整個數(shù)據(jù)文件的傳輸完成,且各片段均校驗成功時,目標設(shè)備再對每個數(shù)據(jù)片段進行整合,得到源設(shè)備傳輸?shù)臄?shù)據(jù)文件。校驗?zāi)J蕉?如果源設(shè)備按照步驟103中的傳輸模式二向目標設(shè)備發(fā)送數(shù)據(jù)片段和數(shù)據(jù)片段的crc值,則目標設(shè)備首先接收參數(shù)片段,并通過參數(shù)片段中提供的參數(shù)片段的長度判斷參數(shù)片段是否傳輸完成,在判斷接收完整個參數(shù)片段后,計算接收到的參數(shù)片段的crc值, 并與保存在參數(shù)片段中固定位置的crc值進行比較,如果兩個crc值不匹配,參數(shù)片段的校驗失敗,請求源設(shè)備重傳參數(shù)片段,否則,參數(shù)片段的校驗成功,目標設(shè)備從參數(shù)片段中提取攜帶的各數(shù)據(jù)片段的crc值,并利用提取的crc值校驗數(shù)據(jù)片段。目標設(shè)備可以按照單線程或多線程的方式對接收到的數(shù)據(jù)片段進行校驗。在單線程校驗方式下,目標設(shè)備在參數(shù)片段校驗成功后,再接收第一個數(shù)據(jù)片段, 并根據(jù)參數(shù)片段中各數(shù)據(jù)片段的長度判斷第一個數(shù)據(jù)片段的傳輸是否完成,在判斷接收到完整的第一個數(shù)據(jù)片段后,計算該第一個數(shù)據(jù)片段的crc值,并與保存在參數(shù)片段中該第一個數(shù)據(jù)片段的crc值進行比較,如果兩個crc值不匹配,該數(shù)據(jù)片段的校驗失敗,目標設(shè)備請求源設(shè)備重傳校驗失敗的數(shù)據(jù)片段;否則,該數(shù)據(jù)片段的校驗成功,繼續(xù)接收第二個數(shù)據(jù)片段,并按照上述方式對第二個數(shù)據(jù)片段進行校驗,直到根據(jù)參數(shù)片段中的原始文件總長度判斷出整個數(shù)據(jù)文件已傳輸完成,且各數(shù)據(jù)片段均校驗成功,目標設(shè)備對整個數(shù)據(jù)文件的校驗完成。需要說明的是,在單線程校驗方式下,目標設(shè)備可以每次只接收一個數(shù)據(jù)片段,并在該數(shù)據(jù)片段校驗成功時再接收下一個數(shù)據(jù)片段;目標設(shè)備也可以每次只接收N(N為大于 1的正整數(shù))個數(shù)據(jù)片段,并在該N個數(shù)據(jù)片段全部都校驗成功時再接收之后的N個數(shù)據(jù)片段;如果N個數(shù)據(jù)片段中有至少一個數(shù)據(jù)片段未校驗成功,則目標設(shè)備將請求源設(shè)備重傳校驗失敗的數(shù)據(jù)片段,直至N個數(shù)據(jù)片段全部校驗成功。在多線程校驗方式下,目標設(shè)備在參數(shù)片段校驗成功后,目標設(shè)備在對接收完全的數(shù)據(jù)片段進行校驗的同時,如果當前還有未接收完全的數(shù)據(jù)片段,則目標設(shè)備將一邊進行數(shù)據(jù)片段校驗一邊接收其他的數(shù)據(jù)片段。在當前進行校驗的至少一個數(shù)據(jù)片段都校驗成功時,繼續(xù)從已接收到的數(shù)據(jù)片段中確定還未進行數(shù)據(jù)校驗的數(shù)據(jù)片段,并計算繼續(xù)確定的數(shù)據(jù)片段的crc值,以及對繼續(xù)確定的數(shù)據(jù)片段進行校驗;否則,請求源設(shè)備重傳校驗失敗的數(shù)據(jù)片段。
校驗?zāi)J饺绻丛O(shè)備按照步驟103中的傳輸模式三向目標設(shè)備發(fā)送數(shù)據(jù)片段和數(shù)據(jù)片段的crc值,則目標設(shè)備首先接收請求消息,從請求消息中提取出各數(shù)據(jù)片段的crc值以及原始文件總長度、各數(shù)據(jù)片段的長度等信息。目標設(shè)備接收數(shù)據(jù)片段后,根據(jù)請求消息中攜帶的各數(shù)據(jù)片段的長度判斷該數(shù)據(jù)片段的傳輸是否完成,在判斷接收到完整的數(shù)據(jù)片段后,計算接收到的數(shù)據(jù)片段的crc值, 并與請求消息中攜帶的該數(shù)據(jù)片段的crc值進行比較,如果兩個crc值不匹配,該數(shù)據(jù)片段的校驗失敗,目標設(shè)備將請求源設(shè)備重傳校驗失敗的數(shù)據(jù)片段;否則,該數(shù)據(jù)片段的校驗成功,繼續(xù)校驗其他數(shù)據(jù)片段,直到根據(jù)請求消息中的數(shù)據(jù)文件總長度判斷出整個數(shù)據(jù)文件的傳輸完成,且各數(shù)據(jù)片段均校驗成功,目標設(shè)備對整個數(shù)據(jù)文件的校驗完成。實施例三本發(fā)明實施例三通過具體的實例對實施例一和實施例二的方案進行說明。仍以傳輸圖2(a)所示的數(shù)據(jù)文件為例,本實施例三中源設(shè)備向目標設(shè)備發(fā)送數(shù)據(jù)文件以及目標設(shè)備對接收到的數(shù)據(jù)文件進行校驗的方法包括第一步、設(shè)定分段長度為0x4000,按照該片段長度對數(shù)據(jù)文件進行分段,由于數(shù)據(jù)文件總長度是0x00012000,所以可以將數(shù)據(jù)文件分成5個數(shù)據(jù)片段,各數(shù)據(jù)片段依次編號為1,2……5,最后一個數(shù)據(jù)片段不足0x4000大小,分段結(jié)果如圖2(b)所示。第二步、在數(shù)據(jù)文件頭部增加一個0x4000大小的參數(shù)片段,該參數(shù)片段編號為0。 在本實施例中,可以將增加參數(shù)片段后的數(shù)據(jù)文件稱為新文件,未增加參數(shù)片段時的數(shù)據(jù)文件稱為原始文件。由于在增加參數(shù)片段之前,數(shù)據(jù)文件的總大小0x00012000,因此,原始文件內(nèi)容在新文件內(nèi)的偏移位置是0x4000,除最后一個數(shù)據(jù)片段外,每個數(shù)據(jù)片段的大小是 0x4000。第三步、對文件的第1至第5個數(shù)據(jù)片段分別計算crc值,得到第1至第5個數(shù)據(jù)片段對應(yīng)的crcl、crc2、crc3、crc4、crc5,并將得到的crc值分別寫入片段0中相應(yīng)的位置。第四步、將所述數(shù)據(jù)文件的總長度、各數(shù)據(jù)片段的長度以及所述參數(shù)片段的長度置于所述參數(shù)片段內(nèi)的相應(yīng)位置。第五步、計算增加了各項信息后的片段0的crc,并寫入片段0的固定位置。第六步、將新文件的片段0傳輸?shù)侥繕嗽O(shè)備。第七步、目標設(shè)備依據(jù)參數(shù)片段的長度完整接收片段0后,對片段0進行校驗。目標設(shè)備計算片段0的crc值,并與片段0中固定位置保存的該片段0的crc值進行比較,如果比較結(jié)果不一致,則校驗不通過,目標設(shè)備將請求重新下載片段0,返回到第六步;如果比較結(jié)果一致,校驗通過,表示片段0的傳輸成功,執(zhí)行第八步。第八步、源設(shè)備將一個數(shù)據(jù)片段傳輸?shù)侥繕嗽O(shè)備。第九步、目標設(shè)備根據(jù)數(shù)據(jù)片段的長度完整接收到該數(shù)據(jù)片段后,計算出該片段的crc值,并把計算結(jié)果與片段0內(nèi)寫入的該數(shù)據(jù)片段的crc值作比較,如果兩個crc值一致,表示該數(shù)據(jù)片段傳輸成功,跳轉(zhuǎn)至第十步;如果判斷出crc值不一致,則請求重新下載該數(shù)據(jù)片段,并在重新下載的數(shù)據(jù)片段校驗成功時,跳轉(zhuǎn)至第十步。第十步、目標設(shè)備根據(jù)數(shù)據(jù)文件的總長度和數(shù)據(jù)片段的長度判斷當前是否已完整接收數(shù)據(jù)文件,若是,則將已接收到且校驗成功的數(shù)據(jù)片段整合為數(shù)據(jù)文件,并結(jié)束數(shù)據(jù)文件傳輸以及校驗的操作;否則,跳轉(zhuǎn)至第八步。重復第八步至第十步,在所有數(shù)據(jù)片段都傳輸和校驗成功后,表示整個文件傳輸成功。通過本發(fā)明方案,將數(shù)據(jù)文件分為多個數(shù)據(jù)片段進行傳輸,由目標設(shè)備分別對各數(shù)據(jù)片段傳輸?shù)恼_性進行及時校驗,通過及時發(fā)現(xiàn)錯誤傳輸能夠有效提高傳輸?shù)恼_率;同時,目標設(shè)備在發(fā)現(xiàn)某一個或多個數(shù)據(jù)片段傳輸錯誤時,只需要請求源設(shè)備將發(fā)生傳輸錯誤的數(shù)據(jù)片段重新傳輸,減少了重傳時需要占用的通道資源以及傳輸時間,提高了數(shù)據(jù)文件的傳輸效率。實施例四本發(fā)明實施例四提供一種數(shù)據(jù)文件傳輸設(shè)備,如圖4所示,該設(shè)備包括分段模塊 11、第一 crc值計算模塊12和傳輸模塊13,其中分段模塊11用于對數(shù)據(jù)文件進行分段,得到多個數(shù)據(jù)片段;第一 crc值計算模塊 12用于計算每個數(shù)據(jù)片段的循環(huán)冗余校驗crc值;傳輸模塊13用于傳輸數(shù)據(jù)片段以及該數(shù)據(jù)片段的crc值。所述分段模塊11還用于生成參數(shù)片段;所述第一 crc值計算模塊12還用于計算置入數(shù)據(jù)片段的crc值后的參數(shù)片段的crc值;所述傳輸模塊13還用于傳輸參數(shù)片段,其中,參數(shù)片段先于數(shù)據(jù)片段傳輸。所述設(shè)備還包括信息置入模塊14,用于將每個數(shù)據(jù)片段的crc值置于參數(shù)片段內(nèi),以及將該參數(shù)片段的crc置于參數(shù)片段內(nèi);進一步地,所述信息置入模塊14還用于將所述數(shù)據(jù)文件的總長度、各數(shù)據(jù)片段的長度以及所述參數(shù)片段的長度置于所述參數(shù)片段內(nèi)。實施例五本發(fā)明實施例五提供一種數(shù)據(jù)文件校驗設(shè)備,如圖5所示,該設(shè)備包括接收模塊 21、第二 crc值計算模塊22和校驗?zāi)K23,其中接收模塊21用于接收數(shù)據(jù)片段以及該數(shù)據(jù)片段的crc值;第二 crc值計算模塊22 用于計算接收到的數(shù)據(jù)片段的crc值;校驗?zāi)K23用于將第二 crc值計算模塊計算的數(shù)據(jù)片段的crc值與接收到的數(shù)據(jù)片段的crc值進行比較,若計算的數(shù)據(jù)片段的crc值與接收到的該數(shù)據(jù)片段的crc值匹配,則確定該數(shù)據(jù)片段校驗成功;否則,確定該數(shù)據(jù)片段校驗失敗。所述接收模塊21還用于接收參數(shù)片段以及該參數(shù)片段的crc值;所述第二 crc值計算模塊22還用于計算接收到的參數(shù)片段的crc值;所述校驗?zāi)K23還用于在確定計算的參數(shù)片段的crc值與接收到的參數(shù)片段的crc值匹配時,確定所述參數(shù)片段校驗成功。所述設(shè)備還包括信息確定模塊M用于確定所述參數(shù)片段中攜帶的各數(shù)據(jù)片段的crc值。所述校驗?zāi)K23還用于在確定該數(shù)據(jù)片段校驗失敗后,請求重傳校驗失敗的數(shù)據(jù)片段。所述校驗?zāi)K23,具體用于每接收到至少一個數(shù)據(jù)片段后,計算所述至少一個數(shù)據(jù)片段的crc值,并將計算的至少一個數(shù)據(jù)片段的crc值與接收到所述至少一個數(shù)據(jù)片段的crc值進行比較,在確定所述至少一個數(shù)據(jù)片段都校驗成功時,繼續(xù)接收數(shù)據(jù)片段,并計算繼續(xù)接收到的數(shù)據(jù)片段的crc值,以及對繼續(xù)接收到的數(shù)據(jù)片段進行校驗,否則,請求源設(shè)備重傳校驗失敗的數(shù)據(jù)片段。所述校驗?zāi)K23,具體用于從已接收到的數(shù)據(jù)片段中確定至少一個數(shù)據(jù)片段后, 計算確定的所述至少一個數(shù)據(jù)片段的crc值,并將計算出的所述至少一個數(shù)據(jù)片段的crc 值與接收到所述至少一個數(shù)據(jù)片段的crc值進行比較,在確定所述至少一個數(shù)據(jù)片段都校驗成功時,繼續(xù)從已接收到的數(shù)據(jù)片段中確定還未進行數(shù)據(jù)校驗的數(shù)據(jù)片段,并計算繼續(xù)確定的數(shù)據(jù)片段的crc值,以及對繼續(xù)確定的數(shù)據(jù)片段進行校驗,否則,請求源設(shè)備重傳校驗失敗的數(shù)據(jù)片段。實施例四和實施例五中的提供的設(shè)備可以是獨立的兩個物理設(shè)備,分別實現(xiàn)實施例一至實施例二中數(shù)據(jù)文件傳輸、數(shù)據(jù)文件校驗的各種功能,也可以集成在一個物理設(shè)備中,集成了實施例四和實施例五的物理設(shè)備在向其他設(shè)備傳輸數(shù)據(jù)文件時,可以使用實施例四中涉及的功能模塊實現(xiàn)數(shù)據(jù)傳輸操作;同時,該物理設(shè)備在接收到其他設(shè)備傳來的數(shù)據(jù)文件時,可以使用實施例五中涉及的功能模塊實現(xiàn)校驗的操作。本發(fā)明實施例六提供一種數(shù)據(jù)文件校驗系統(tǒng),如圖6所示,該設(shè)備包括接源設(shè)備 31和目標設(shè)備32,其中源設(shè)備31用于對數(shù)據(jù)文件進行分段,得到多個數(shù)據(jù)片段,計算每個數(shù)據(jù)片段的循環(huán)冗余校驗crc值,并將數(shù)據(jù)片段以及該數(shù)據(jù)片段的crc值發(fā)送給目標設(shè)備32 ;目標設(shè)備 32用于針對接收到的數(shù)據(jù)片段,計算該數(shù)據(jù)片段的crc值,并將計算的數(shù)據(jù)片段的crc值與接收到的數(shù)據(jù)片段的crc值進行比較,若確定計算的數(shù)據(jù)片段的crc值與接收到的該數(shù)據(jù)片段的crc值匹配,則確定該數(shù)據(jù)片段校驗成功;否則,確定該數(shù)據(jù)片段校驗失敗。本發(fā)明實施例六中涉及的源設(shè)備31可以是實現(xiàn)實施例一至實施例三中涉及的源設(shè)備,且具有實施例四中涉及的各種功能模塊;目標設(shè)備32是實現(xiàn)實施例一至實施例三中涉及的目標設(shè)備,且具有實施例五中涉及的各種功能模塊,在此不再贅述。顯然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明進行各種改動和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。
權(quán)利要求
1.一種數(shù)據(jù)文件傳輸?shù)姆椒ǎ涮卣髟谟?,該方法包?源設(shè)備對數(shù)據(jù)文件進行分段,得到多個數(shù)據(jù)片段; 源設(shè)備計算每個數(shù)據(jù)片段的循環(huán)冗余校驗crc值;源設(shè)備將數(shù)據(jù)片段以及該數(shù)據(jù)片段的crc值發(fā)送給目標設(shè)備。
2.如權(quán)利要求1所述的方法,其特征在于,計算每個數(shù)據(jù)片段的crc值之后,且將數(shù)據(jù)片段以及該數(shù)據(jù)片段的crc值傳輸給目標設(shè)備之前,所述方法還包括源設(shè)備將每個數(shù)據(jù)片段的crc值置于參數(shù)片段內(nèi),并計算置入數(shù)據(jù)片段的crc值后的參數(shù)片段的crc值,以及將該參數(shù)片段的crc值置于參數(shù)片段內(nèi);所述將數(shù)據(jù)片段以及該數(shù)據(jù)片段的crc值傳輸給目標設(shè)備,具體包括 源設(shè)備將所述參數(shù)片段和各數(shù)據(jù)片段傳輸給目標設(shè)備,其中,參數(shù)片段先于數(shù)據(jù)片段傳輸。
3.一種數(shù)據(jù)文件校驗的方法,其特征在于,所述方法包括目標設(shè)備針對接收到的數(shù)據(jù)片段,計算該數(shù)據(jù)片段的crc值,并將計算的數(shù)據(jù)片段的 crc值與接收到的數(shù)據(jù)片段的crc值進行比較;若目標設(shè)備確定計算的數(shù)據(jù)片段的crc值與接收到的該數(shù)據(jù)片段的crc值匹配,則確定該數(shù)據(jù)片段校驗成功;否則,確定該數(shù)據(jù)片段校驗失敗。
4.如權(quán)利要求3所述的方法,其特征在于,目標設(shè)備計算數(shù)據(jù)片段的crc值之前,所述方法還包括目標設(shè)備針對接收到的參數(shù)片段,計算該參數(shù)片段的crc值,在確定計算的參數(shù)片段的crc值與該參數(shù)片段中攜帶的參數(shù)片段的crc值匹配時,確定所述參數(shù)片段校驗成功; 目標設(shè)備確定所述參數(shù)片段中攜帶的各數(shù)據(jù)片段的crc值。
5.如權(quán)利要求3所述的方法,其特征在于,在確定該數(shù)據(jù)片段校驗失敗后,所述方法還包括目標設(shè)備請求源設(shè)備重傳校驗失敗的數(shù)據(jù)片段。
6.一種數(shù)據(jù)文件傳輸?shù)脑O(shè)備,其特征在于,該設(shè)備包括 分段模塊,用于對數(shù)據(jù)文件進行分段,得到多個數(shù)據(jù)片段;第一 crc值計算模塊,用于計算每個數(shù)據(jù)片段的循環(huán)冗余校驗crc值; 傳輸模塊,用于傳輸數(shù)據(jù)片段以及該數(shù)據(jù)片段的crc值。
7.如權(quán)利要求6所述的設(shè)備,其特征在于, 所述分段模塊,還用于生成參數(shù)片段;所述第一 crc值計算模塊,還用于計算置入數(shù)據(jù)片段的crc值后的參數(shù)片段的crc值; 所述設(shè)備還包括信息置入模塊,用于將每個數(shù)據(jù)片段的crc值置于參數(shù)片段內(nèi),以及將該參數(shù)片段的 crc值置于參數(shù)片段內(nèi);所述傳輸模塊,還用于傳輸參數(shù)片段,其中,參數(shù)片段先于數(shù)據(jù)片段傳輸。
8.一種數(shù)據(jù)文件校驗的設(shè)備,其特征在于,該設(shè)備包括 接收模塊,用于接收數(shù)據(jù)片段以及該數(shù)據(jù)片段的crc值; 第二 crc值計算模塊,用于計算接收到的數(shù)據(jù)片段的crc值;校驗?zāi)K,用于將第二 crc值計算模塊計算的數(shù)據(jù)片段的crc值與接收到的數(shù)據(jù)片段的crc值進行比較,若計算的數(shù)據(jù)片段的crc值與接收到的該數(shù)據(jù)片段的crc值匹配,則確定該數(shù)據(jù)片段校驗成功;否則,確定該數(shù)據(jù)片段校驗失敗。
9.如權(quán)利要求8所述的設(shè)備,其特征在于,所述接收模塊,還用于接收參數(shù)片段以及該參數(shù)片段的crc值;所述第二 crc值計算模塊,還用于計算接收到的參數(shù)片段的crc值;所述校驗?zāi)K,還用于在確定計算的參數(shù)片段的crc值與接收到的參數(shù)片段的crc值匹配時,確定所述參數(shù)片段校驗成功;所述設(shè)備還包括信息確定模塊,用于確定所述參數(shù)片段中攜帶的各數(shù)據(jù)片段的crc值。
10.如權(quán)利要求8所述的設(shè)備,其特征在于,所述校驗?zāi)K,還用于在確定該數(shù)據(jù)片段校驗失敗后,請求重傳校驗失敗的數(shù)據(jù)片段。
11.一種數(shù)據(jù)文件校驗系統(tǒng),其特征在于,所述系統(tǒng)包括源設(shè)備和目標設(shè)備,其中源設(shè)備,用于對數(shù)據(jù)文件進行分段,得到多個數(shù)據(jù)片段,計算每個數(shù)據(jù)片段的循環(huán)冗余校驗Crc值,并將數(shù)據(jù)片段以及該數(shù)據(jù)片段的crc值發(fā)送給目標設(shè)備;目標設(shè)備,用于針對接收到的數(shù)據(jù)片段,計算該數(shù)據(jù)片段的crc值,并將計算的數(shù)據(jù)片段的crc值與接收到的數(shù)據(jù)片段的crc值進行比較,若確定計算的數(shù)據(jù)片段的crc值與接收到的該數(shù)據(jù)片段的crc值匹配,則確定該數(shù)據(jù)片段校驗成功;否則,確定該數(shù)據(jù)片段校驗失敗。
全文摘要
本發(fā)明公開了一種數(shù)據(jù)文件傳輸和校驗的方法、設(shè)備及系統(tǒng),主要內(nèi)容包括本發(fā)明由源設(shè)備將數(shù)據(jù)文件分為多個數(shù)據(jù)片段,并計算每個數(shù)據(jù)片段的循環(huán)冗余校驗crc值后,對每個數(shù)據(jù)片段和數(shù)據(jù)片段的crc值分別進行傳輸,使得接收到數(shù)據(jù)片段和數(shù)據(jù)片段的crc值的目標設(shè)備可以針對每個數(shù)據(jù)片段進行校驗,使目標設(shè)備可以在數(shù)據(jù)文件還未完全傳輸時及時發(fā)現(xiàn)數(shù)據(jù)文件傳輸過程中出現(xiàn)的錯誤。
文檔編號H04L29/08GK102281121SQ201010207720
公開日2011年12月14日 申請日期2010年6月13日 優(yōu)先權(quán)日2010年6月13日
發(fā)明者王光輝, 謝大, 賈曉強 申請人:中興通訊股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
南召县| 乳源| 锦屏县| 即墨市| 四子王旗| 长丰县| 汶上县| 黑龙江省| 安龙县| 大邑县| 玉环县| 额敏县| 清远市| 汪清县| 仁寿县| 沽源县| 安仁县| 吉木萨尔县| 云梦县| 丰原市| 偏关县| 武夷山市| 稷山县| 东乡族自治县| 怀化市| 越西县| 新田县| 义乌市| 阳泉市| 高平市| 志丹县| 安康市| 驻马店市| 安庆市| 共和县| 星座| 涞源县| 江北区| 安阳县| 开封市| 兰溪市|