本發(fā)明實(shí)施例涉及文件傳輸技術(shù)領(lǐng)域,特別是涉及一種文件傳輸?shù)姆椒?、系統(tǒng)、發(fā)送端及接收端。
背景技術(shù):
在互聯(lián)網(wǎng)時代,信息共享已經(jīng)成為人們生活的一部分。文件傳輸無時無刻不在進(jìn)行著,在大量文件的傳輸應(yīng)用中,通常會出現(xiàn)用戶多次上傳或下載同樣文件的情況,那么大量相同的文件在多次傳輸?shù)倪^程每次均需要占用一定的帶寬資源,因此,在相同文件的多次傳輸過程中會浪費(fèi)一定的帶寬資源,并且在一定程度上降低了文件的傳輸速度、降低了用戶體驗(yàn)。
因此,如何提供一種解決上述技術(shù)問題的文件傳輸?shù)姆椒?、系統(tǒng)、發(fā)送端及接收端成為本領(lǐng)域的技術(shù)人員需要解決的問題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例的目的是提供一種文件傳輸?shù)姆椒ā⑾到y(tǒng)、發(fā)送端及接收端,在使用過程中在一定程度上節(jié)約了帶寬資源、提高了傳輸速度,同時提升了用戶體驗(yàn)。
為解決上述技術(shù)問題,本發(fā)明實(shí)施例提供了一種文件傳輸?shù)姆椒ǎǎ?/p>
發(fā)送端將待發(fā)送文件分割為多個數(shù)據(jù)塊,并將所述待發(fā)送文件的文件信息發(fā)送至接收端;所述文件信息包括與各個所述數(shù)據(jù)塊一一對應(yīng)的標(biāo)識碼以及各個所述數(shù)據(jù)塊的排列順序;
所述接收端接收所述文件信息,并將各個所述標(biāo)識碼與緩存區(qū)中所存儲的各個數(shù)據(jù)塊的標(biāo)識碼進(jìn)行匹配,以確定出各個待發(fā)送數(shù)據(jù)塊,并將各個所述待發(fā)送數(shù)據(jù)塊的標(biāo)識碼返回至發(fā)送端;
所述發(fā)送端依據(jù)各個所述待發(fā)送數(shù)據(jù)塊的標(biāo)識碼,從分割得到的各個所述數(shù)據(jù)塊中找到各個所述待發(fā)送數(shù)據(jù)塊,并將各個所述待發(fā)送數(shù)據(jù)塊發(fā)送至接收端;
所述接收端將所述待發(fā)送數(shù)據(jù)塊存儲至所述緩存區(qū)中,并從所述緩存區(qū)中獲取與各個所述標(biāo)識碼對應(yīng)的各個數(shù)據(jù)塊,并按照所述排列順序?qū)⒏鱾€所述數(shù)據(jù)塊進(jìn)行組合以形成接收文件。
可選的,所述發(fā)送端將待發(fā)送文件分割為多個數(shù)據(jù)塊之前還包括:
將待發(fā)送的文件進(jìn)行壓縮得到待發(fā)送文件;
則,所述按照所述排列順序?qū)⒏鱾€所述數(shù)據(jù)塊進(jìn)行組合以形成接收文件的過程具體為:
按照所述排列順序?qū)⒏鱾€所述數(shù)據(jù)塊進(jìn)行組合得到組合后的數(shù)據(jù)文件;
將所述組合后的數(shù)據(jù)文件進(jìn)行解壓縮操作,得到接收文件。
可選的,所述發(fā)送端將待發(fā)送文件分割為多個數(shù)據(jù)塊的過程具體為:
發(fā)送端按照預(yù)設(shè)長度將待發(fā)送文件分割為多個數(shù)據(jù)塊。
可選的,所述文件信息還包括待發(fā)送文件的標(biāo)識碼;所述方法還包括:
接收端獲取所述接收文件的標(biāo)識碼,并判斷所述接收文件的標(biāo)識碼與所述待發(fā)送文件的標(biāo)識碼是否一致,如果是,則文件傳輸成功。
可選的,所述文件信息還包括文件名稱、文件大小以及每個所述數(shù)據(jù)塊的大小。
可選的,如上述所述的文件傳輸方法,所述標(biāo)識碼為md5值;所述md5值為依據(jù)信息摘要算法5對相應(yīng)的數(shù)據(jù)塊進(jìn)行計(jì)算得到的。
為解決上述技術(shù)問題,本發(fā)明實(shí)施例提供了一種發(fā)送端,包括:
分割模塊,用于將待發(fā)送文件分割為多個數(shù)據(jù)塊;
第一發(fā)送模塊,用于獲取所述待發(fā)送文件的文件信息,并將所述待發(fā)送文件的文件信息發(fā)送至接收端;所述文件信息包括與各個所述數(shù)據(jù)塊一一對應(yīng)的標(biāo)識碼以及各個所述數(shù)據(jù)塊的排列順序;還用于將各個待發(fā)送數(shù)據(jù)塊發(fā)送至接收端;
第一查找模塊,用于接收端發(fā)送的各個所述待發(fā)送數(shù)據(jù)塊的標(biāo)識碼,并依據(jù)各個所述待發(fā)送數(shù)據(jù)塊的標(biāo)識碼,從分割得到的各個所述數(shù)據(jù)塊中找到各個所述待發(fā)送數(shù)據(jù)塊。
為解決上述技術(shù)問題,本發(fā)明實(shí)施例提供了一種接收端,包括:
第二查找模塊,用于接收所述文件信息,并將各個所述標(biāo)識碼與緩存區(qū)中所存儲的各個數(shù)據(jù)塊的標(biāo)識碼進(jìn)行匹配,以確定出各個待發(fā)送數(shù)據(jù)塊;
第二發(fā)送模塊,用于將各個所述待發(fā)送數(shù)據(jù)塊的標(biāo)識碼返回至發(fā)送端,以便所述發(fā)送端依據(jù)所述待發(fā)送數(shù)據(jù)塊的標(biāo)識碼找到相應(yīng)的待發(fā)送數(shù)據(jù)塊;
存儲模塊,用于接收發(fā)送端發(fā)送的所述待發(fā)送數(shù)據(jù)塊,并將其存儲至所述緩存區(qū)中;
組合模塊,用于從所述緩存區(qū)中獲取與各個所述標(biāo)識碼對應(yīng)的各個數(shù)據(jù)塊,并按照所述排列順序?qū)⒏鱾€所述數(shù)據(jù)塊進(jìn)行組合以形成接收文件。
為解決上述技術(shù)問題,本發(fā)明實(shí)施例提供了一種文件傳輸系統(tǒng),包括如上述所述的發(fā)送端和如上述所述的接收端。
本發(fā)明提供了一種文件傳輸?shù)姆椒?、系統(tǒng)、發(fā)送端和接收端,包括發(fā)送端將待發(fā)送文件分割為多個數(shù)據(jù)塊,并將待發(fā)送文件的文件信息發(fā)送至接收端;文件信息包括與各個數(shù)據(jù)塊一一對應(yīng)的標(biāo)識碼以及各個數(shù)據(jù)塊的排列順序;接收端接收文件信息,并將各個標(biāo)識碼與緩存區(qū)中所存儲的各個數(shù)據(jù)塊的標(biāo)識碼進(jìn)行匹配,以確定出各個待發(fā)送數(shù)據(jù)塊,并將各個待發(fā)送數(shù)據(jù)塊的標(biāo)識碼返回至發(fā)送端;發(fā)送端依據(jù)各個待發(fā)送數(shù)據(jù)塊的標(biāo)識碼,從分割得到的各個數(shù)據(jù)塊中找到各個待發(fā)送數(shù)據(jù)塊,并將各個待發(fā)送數(shù)據(jù)塊發(fā)送至接收端;接收端將待發(fā)送數(shù)據(jù)塊存儲至緩存區(qū)中,并從緩存區(qū)中獲取與各個標(biāo)識碼對應(yīng)的各個數(shù)據(jù)塊,并按照排列順序?qū)⒏鱾€數(shù)據(jù)塊進(jìn)行組合以形成接收文件。
可見,在進(jìn)行文件傳輸?shù)倪^程中,本發(fā)明實(shí)施例采用分塊傳輸?shù)姆绞絺鬏斘募?,發(fā)送端在發(fā)送文件之前,先將待發(fā)送文件分割成多個數(shù)據(jù)塊,并且每個數(shù)據(jù)塊均對應(yīng)一個標(biāo)識碼,發(fā)送端將包括各個標(biāo)識碼的文件信息發(fā)送至接收端,接收端根據(jù)各個標(biāo)識碼到緩存區(qū)中所緩存的各個數(shù)據(jù)塊中進(jìn)行查找,將沒有緩存至緩存區(qū)中的數(shù)據(jù)塊找出,并將這些沒有緩存至緩存區(qū)中的數(shù)據(jù)塊作為待發(fā)送數(shù)據(jù)塊,將與待發(fā)送數(shù)據(jù)塊對應(yīng)的標(biāo)識碼返回至發(fā)送端,發(fā)送端依據(jù)待發(fā)送數(shù)據(jù)塊的標(biāo)識碼將各個待發(fā)送數(shù)據(jù)塊發(fā)送至接收端,并存儲至緩存區(qū)中,從而使接收端可以從緩存區(qū)中得到與待發(fā)送文件對應(yīng)的所有數(shù)據(jù)塊,并將這些數(shù)據(jù)塊進(jìn)行組合即可得到接收文件,也即實(shí)現(xiàn)了待發(fā)送文件的傳輸。本發(fā)明實(shí)施例在使用的過程中在一定程度上節(jié)約了帶寬資源、提高了傳輸速度,同時提升了用戶體驗(yàn)。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對現(xiàn)有技術(shù)和實(shí)施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實(shí)施例提供的一種文件傳輸?shù)姆椒ǖ牧鞒淌疽鈭D;
圖2為本發(fā)明實(shí)施例提供的一種發(fā)送端的結(jié)構(gòu)示意圖;
圖3為本發(fā)明實(shí)施例提供的一種接收端的結(jié)構(gòu)示意圖;
圖4為本發(fā)明實(shí)施例提供的一種文件傳輸?shù)南到y(tǒng)的結(jié)構(gòu)示意圖。
具體實(shí)施方式
本發(fā)明實(shí)施例提供了一種文件傳輸?shù)姆椒?、系統(tǒng)、發(fā)送端及接收端,在使用過程中在一定程度上節(jié)約了帶寬資源、提高了傳輸速度,同時提升了用戶體驗(yàn)。
為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
請參照圖1,圖1為本發(fā)明實(shí)施例提供的一種文件傳輸?shù)姆椒ǖ牧鞒淌疽鈭D。該方法包括:
s11:發(fā)送端將待發(fā)送文件分割為多個數(shù)據(jù)塊,并將待發(fā)送文件的文件信息發(fā)送至接收端;文件信息包括與各個數(shù)據(jù)塊一一對應(yīng)的標(biāo)識碼以及各個數(shù)據(jù)塊的排列順序;
s12:接收端接收文件信息,并將各個標(biāo)識碼與緩存區(qū)中所存儲的各個數(shù)據(jù)塊的標(biāo)識碼進(jìn)行匹配,以確定出各個待發(fā)送數(shù)據(jù)塊,并將各個待發(fā)送數(shù)據(jù)塊的標(biāo)識碼返回至發(fā)送端;
s13:發(fā)送端依據(jù)各個待發(fā)送數(shù)據(jù)塊的標(biāo)識碼,從分割得到的各個數(shù)據(jù)塊中找到各個待發(fā)送數(shù)據(jù)塊,并將各個待發(fā)送數(shù)據(jù)塊發(fā)送至接收端;
s14:接收端將待發(fā)送數(shù)據(jù)塊存儲至緩存區(qū)中,并從緩存區(qū)中獲取與各個標(biāo)識碼對應(yīng)的各個數(shù)據(jù)塊,并按照排列順序?qū)⒏鱾€數(shù)據(jù)塊進(jìn)行組合以形成接收文件。
需要說明的是,本發(fā)明實(shí)施例需要預(yù)先在接收端(即接收端磁盤)上建立一個緩存區(qū),并且本發(fā)明實(shí)施例中的發(fā)送端是采用分塊傳輸?shù)姆绞桨l(fā)送文件的,接收端將接收到的每個數(shù)據(jù)塊均存儲至緩存區(qū)中,以便后續(xù)在進(jìn)行文件傳輸時,可以依據(jù)發(fā)送端發(fā)送的各個數(shù)據(jù)塊的標(biāo)識碼到緩存區(qū)中確定哪些數(shù)據(jù)塊已經(jīng)存儲在緩存區(qū)中,哪些沒有存儲過,存儲在緩存區(qū)中的數(shù)據(jù)塊說明以往發(fā)送過,而現(xiàn)有又要發(fā)送同樣的數(shù)據(jù)塊。在緩存區(qū)中依據(jù)存儲的數(shù)據(jù)庫無需再發(fā)送,只發(fā)送緩存區(qū)中沒有存儲的數(shù)據(jù)塊即可,從而接收端可以從緩存區(qū)中獲取將與待發(fā)送文件向?qū)?yīng)的所有的數(shù)據(jù)塊,并對其進(jìn)行組合后即可得到接收文件(也即待發(fā)送文件),以實(shí)現(xiàn)文件的傳輸。
具體的,本發(fā)明實(shí)施例中所提供的標(biāo)識碼為與各個數(shù)據(jù)塊唯一對應(yīng)的標(biāo)識碼,并且當(dāng)數(shù)據(jù)塊中的某個字節(jié)發(fā)送變化時,其標(biāo)識碼就會發(fā)生變化,從而可以依據(jù)標(biāo)識碼是否相同來確定數(shù)據(jù)塊是否相同。該標(biāo)識碼可以為md5值,也即,將與每個數(shù)據(jù)塊對應(yīng)的md5值作為標(biāo)識碼。當(dāng)然,標(biāo)識碼不僅限于為md5值,也可以為其他類型的標(biāo)識碼,具體的本發(fā)明實(shí)施例對此不做特殊的限定,能實(shí)現(xiàn)本發(fā)明實(shí)施例的目的即可。
另外,還需要說明的是,在對待發(fā)送文件進(jìn)行分割時可以對分割后的各個數(shù)據(jù)塊進(jìn)行編號,或者是將各個數(shù)據(jù)塊的首尾進(jìn)行編號處理,以確定出各個數(shù)據(jù)塊的排列順序,為后期對各個數(shù)據(jù)塊的組合提供依據(jù)。
當(dāng)然,各個數(shù)據(jù)塊的排列順序不僅限于采用上述方法進(jìn)行確定,也可以通過其他的方式進(jìn)行確定,具體的本發(fā)明實(shí)施例對此不做特殊的限定,能實(shí)現(xiàn)本發(fā)明實(shí)施例的目的即可。
本發(fā)明提供了一種文件傳輸?shù)姆椒?,包括發(fā)送端將待發(fā)送文件分割為多個數(shù)據(jù)塊,并將待發(fā)送文件的文件信息發(fā)送至接收端;文件信息包括與各個數(shù)據(jù)塊一一對應(yīng)的標(biāo)識碼以及各個數(shù)據(jù)塊的排列順序;接收端接收文件信息,并將各個標(biāo)識碼與緩存區(qū)中所存儲的各個數(shù)據(jù)塊的標(biāo)識碼進(jìn)行匹配,以確定出各個待發(fā)送數(shù)據(jù)塊,并將各個待發(fā)送數(shù)據(jù)塊的標(biāo)識碼返回至發(fā)送端;發(fā)送端依據(jù)各個待發(fā)送數(shù)據(jù)塊的標(biāo)識碼,從分割得到的各個數(shù)據(jù)塊中找到各個待發(fā)送數(shù)據(jù)塊,并將各個待發(fā)送數(shù)據(jù)塊發(fā)送至接收端;接收端將待發(fā)送數(shù)據(jù)塊存儲至緩存區(qū)中,并從緩存區(qū)中獲取與各個標(biāo)識碼對應(yīng)的各個數(shù)據(jù)塊,并按照排列順序?qū)⒏鱾€數(shù)據(jù)塊進(jìn)行組合以形成接收文件。
可見,在進(jìn)行文件傳輸?shù)倪^程中,本發(fā)明實(shí)施例采用分塊傳輸?shù)姆绞絺鬏斘募l(fā)送端在發(fā)送文件之前,先將待發(fā)送文件分割成多個數(shù)據(jù)塊,并且每個數(shù)據(jù)塊均對應(yīng)一個標(biāo)識碼,發(fā)送端將包括各個標(biāo)識碼的文件信息發(fā)送至接收端,接收端根據(jù)各個標(biāo)識碼到緩存區(qū)中所緩存的各個數(shù)據(jù)塊中進(jìn)行查找,將沒有緩存至緩存區(qū)中的數(shù)據(jù)塊找出,并將這些沒有緩存至緩存區(qū)中的數(shù)據(jù)塊作為待發(fā)送數(shù)據(jù)塊,將與待發(fā)送數(shù)據(jù)塊對應(yīng)的標(biāo)識碼返回至發(fā)送端,發(fā)送端依據(jù)待發(fā)送數(shù)據(jù)塊的標(biāo)識碼將各個待發(fā)送數(shù)據(jù)塊發(fā)送至接收端,并存儲至緩存區(qū)中,從而使接收端可以從緩存區(qū)中得到與待發(fā)送文件對應(yīng)的所有數(shù)據(jù)塊,并將這些數(shù)據(jù)塊進(jìn)行組合即可得到接收文件,也即實(shí)現(xiàn)了待發(fā)送文件的傳輸。本發(fā)明實(shí)施例在使用的過程中在一定程度上節(jié)約了帶寬資源、提高了傳輸速度,同時提升了用戶體驗(yàn)。
本發(fā)明實(shí)施例公開了一種文件傳輸?shù)姆椒?,相對于上一?shí)施例,本實(shí)施例對技術(shù)方案作了進(jìn)一步的說明和優(yōu)化。具體的:
在上一實(shí)施例的s11,發(fā)送端將待發(fā)送文件分割為多個數(shù)據(jù)塊之前還包括:
將待發(fā)送的文件進(jìn)行壓縮得到待發(fā)送文件;
具體的,為了更進(jìn)一步節(jié)約帶寬可以將待發(fā)送的文件進(jìn)行壓縮,然后在將壓縮后的文件進(jìn)行分割操作,進(jìn)一步使分割后的每個數(shù)據(jù)庫均為壓縮數(shù)據(jù)庫,從而使在對相應(yīng)的待發(fā)送數(shù)據(jù)塊進(jìn)行發(fā)送的過程中可以節(jié)約一定的帶寬。
則,在上一實(shí)施例的s14中,按照排列順序?qū)⒏鱾€數(shù)據(jù)塊進(jìn)行組合以形成接收文件的過程,具體可以為:
按照排列順序?qū)⒏鱾€數(shù)據(jù)塊進(jìn)行組合得到組合后的數(shù)據(jù)文件;
將組合后的數(shù)據(jù)文件進(jìn)行解壓縮操作,得到接收文件。
需要說明的是,如果發(fā)送端所發(fā)送的待發(fā)送數(shù)據(jù)塊為壓縮后的待發(fā)送數(shù)據(jù)分割而成的,則再接收端將與接收到的所有的標(biāo)識碼對應(yīng)的各個數(shù)據(jù)塊組合得到的數(shù)據(jù)文件進(jìn)行解壓縮操作才能得到與待發(fā)送的文件相同的文件。
進(jìn)一步的,在上述實(shí)施例的s11中,發(fā)送端將待發(fā)送文件分割為多個數(shù)據(jù)塊的過程,具體可以為:
發(fā)送端按照預(yù)設(shè)長度將待發(fā)送文件分割為多個數(shù)據(jù)塊。
需要說明的是,可以按照預(yù)設(shè)長度將待發(fā)送數(shù)據(jù)分割成多個數(shù)據(jù)塊,當(dāng)然,從待發(fā)送數(shù)據(jù)的起始位置至終止位置算起,除了分割而成的最后一個數(shù)據(jù)塊外,其他的數(shù)據(jù)塊均按照預(yù)設(shè)長度均分分割,最后一個數(shù)據(jù)塊的大小可以與其他的數(shù)據(jù)塊不同。另外,對于預(yù)設(shè)長度的具體數(shù)據(jù)可以根據(jù)實(shí)際情況進(jìn)行設(shè)定,本發(fā)明實(shí)施例對此不做特殊的限定,能實(shí)現(xiàn)本發(fā)明實(shí)施例的目的即可。
具體的,文件信息還包括待發(fā)送文件的標(biāo)識碼;則該方法還可以包括:
接收端獲取接收文件的標(biāo)識碼,并判斷接收文件的標(biāo)識碼與待發(fā)送文件的標(biāo)識碼是否一致,如果是,則文件傳輸成功。
需要說明的是,本發(fā)明實(shí)施例中優(yōu)選的可以對接收端組合而成的接收文件進(jìn)行驗(yàn)證,以確定該接收文件就是發(fā)送端要發(fā)送的待發(fā)送文件。具體的,發(fā)送端可以將與待發(fā)送文件唯一對應(yīng)的標(biāo)識碼發(fā)送至接收端,接收端在對所有相應(yīng)的數(shù)據(jù)塊進(jìn)行組合得到接收文件后,可以獲取與該接收文件唯一對應(yīng)的標(biāo)識碼,并將接收文件的標(biāo)識碼與待發(fā)送文件的標(biāo)識碼進(jìn)行比較,如果兩個標(biāo)識碼一樣則說明文件傳輸成功,也即傳輸過程中沒有發(fā)生錯誤;如果兩個標(biāo)識碼不一樣則說明接收文件并不是發(fā)送端發(fā)送的待發(fā)送文件,待發(fā)送數(shù)據(jù)庫在傳輸過程中可能發(fā)生了錯誤,此時,接收端可以向發(fā)送端返回錯誤提示,以便發(fā)送端重新發(fā)送相應(yīng)的待發(fā)送數(shù)據(jù)塊。
當(dāng)然,當(dāng)文件發(fā)送成功時,接收端也可以向發(fā)送端返回發(fā)送成功的提示信息,以便用戶知道發(fā)送結(jié)果。
可選的,文件信息還包括文件名稱、文件大小以及每個數(shù)據(jù)塊的大小。
需要說明的是,不僅限于包括上述幾種信息,還可以包括其他的信息,具體包括哪些信息本發(fā)明實(shí)施例對此不做特殊的限定,能實(shí)現(xiàn)本發(fā)明實(shí)施例的目的即可。
可選的,如上述的文件傳輸方法,標(biāo)識碼為md5值;md5值為依據(jù)信息摘要算法5對相應(yīng)的數(shù)據(jù)塊進(jìn)行計(jì)算得到的。
具體的,本發(fā)明實(shí)施例中的標(biāo)識碼優(yōu)選的為md5值,當(dāng)然,也可以為其他的標(biāo)識碼,具體的,本發(fā)明實(shí)施例對此不做特殊的限定,能實(shí)現(xiàn)本發(fā)明實(shí)施例的目的即可。
相應(yīng)的,本發(fā)明實(shí)施例公開了一種發(fā)送端,具體請參照圖2,圖2為本發(fā)明實(shí)施例提供的一種發(fā)送端的結(jié)構(gòu)示意圖在上述實(shí)施例的基礎(chǔ)上:
該發(fā)送端包括:
分割模塊11,用于將待發(fā)送文件分割為多個數(shù)據(jù)塊;
第一發(fā)送模塊12,用于獲取待發(fā)送文件的文件信息,并將待發(fā)送文件的文件信息發(fā)送至接收端;文件信息包括與各個數(shù)據(jù)塊一一對應(yīng)的標(biāo)識碼以及各個數(shù)據(jù)塊的排列順序;還用于將各個待發(fā)送數(shù)據(jù)塊發(fā)送至接收端;
第一查找模塊13,用于接收端發(fā)送的各個待發(fā)送數(shù)據(jù)塊的標(biāo)識碼,并依據(jù)各個待發(fā)送數(shù)據(jù)塊的標(biāo)識碼,從分割得到的各個數(shù)據(jù)塊中找到各個待發(fā)送數(shù)據(jù)塊。
相應(yīng)的,本發(fā)明實(shí)施例公開了一種接收端,具體請參照圖2,圖2為本發(fā)明實(shí)施例提供的一種接收端的結(jié)構(gòu)示意圖。在上述實(shí)施例的基礎(chǔ)上:
該接收端包括:
第二查找模塊21,用于接收文件信息,并將各個標(biāo)識碼與緩存區(qū)中所存儲的各個數(shù)據(jù)塊的標(biāo)識碼進(jìn)行匹配,以確定出各個待發(fā)送數(shù)據(jù)塊;
第二發(fā)送模塊22,用于將各個待發(fā)送數(shù)據(jù)塊的標(biāo)識碼返回至發(fā)送端,以便發(fā)送端依據(jù)待發(fā)送數(shù)據(jù)塊的標(biāo)識碼找到相應(yīng)的待發(fā)送數(shù)據(jù)塊;
存儲模塊23,用于接收發(fā)送端發(fā)送的待發(fā)送數(shù)據(jù)塊,并將其存儲至緩存區(qū)中;
組合模塊24,用于從緩存區(qū)中獲取與各個標(biāo)識碼對應(yīng)的各個數(shù)據(jù)塊,并按照排列順序?qū)⒏鱾€數(shù)據(jù)塊進(jìn)行組合以形成接收文件。
請參照圖4,圖4為本發(fā)明實(shí)施例提供的一種文件傳輸?shù)南到y(tǒng)的結(jié)構(gòu)示意圖。在上述實(shí)施例的基礎(chǔ)上:
本發(fā)明實(shí)施例提供了一種文件傳輸系統(tǒng),包括如上述的發(fā)送端和如上述的接收端。
需要說明的是,本發(fā)明提供了一種文件傳輸?shù)南到y(tǒng),在使用的過程中在一定程度上節(jié)約了帶寬資源、提高了傳輸速度,同時提升了用戶體驗(yàn)。另外,對于本發(fā)明實(shí)施例中所涉及到的文件傳輸方法的具體介紹請參照上述方法實(shí)施例,本申請?jiān)诖瞬辉儋樖觥?/p>
還需要說明的是,在本說明書中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個實(shí)體或者操作與另一個實(shí)體或操作區(qū)分開來,而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。
對所公開的實(shí)施例的上述說明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本發(fā)明。對這些實(shí)施例的多種修改對本領(lǐng)域的專業(yè)技術(shù)人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其他實(shí)施例中實(shí)現(xiàn)。因此,本發(fā)明將不會被限制于本文所示的這些實(shí)施例,而是要符合與本文所公開的原理和新穎特點(diǎn)相一致的最寬的范圍。