小文件的網(wǎng)絡(luò)傳輸與接收方法及裝置、和網(wǎng)絡(luò)傳輸系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種小文件的網(wǎng)絡(luò)傳輸方法,其將位于第一計(jì)算設(shè)備的多個(gè)小文件傳輸至第二計(jì)算設(shè)備,該方法包括:將第一計(jì)算設(shè)備上的多個(gè)小文件進(jìn)行分組;將每組的小文件組合成一個(gè)大文件;以及將組合成的大文件經(jīng)網(wǎng)絡(luò)傳輸至所述第二計(jì)算設(shè)備。另外,本發(fā)明還公開了一種小文件的網(wǎng)絡(luò)接收方法及裝置、小文件的網(wǎng)絡(luò)傳輸裝置、以及網(wǎng)絡(luò)傳輸系統(tǒng)。利用本發(fā)明可以減少文件在兩個(gè)終端之間傳輸時(shí)兩個(gè)終端之間的交互次數(shù),從而實(shí)現(xiàn)大量小文件的快速網(wǎng)絡(luò)傳輸。
【專利說明】小文件的網(wǎng)絡(luò)傳輸與接收方法及裝置、和網(wǎng)絡(luò)傳輸系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)網(wǎng)絡(luò)【技術(shù)領(lǐng)域】,尤其涉及小文件的網(wǎng)絡(luò)傳輸方法及裝置、小文件的網(wǎng)絡(luò)接收方法及裝置、以及網(wǎng)絡(luò)傳輸系統(tǒng)。
【背景技術(shù)】
[0002]在現(xiàn)有技術(shù)中,通常,在將文件上傳至服務(wù)器時(shí),無論文件大小,每個(gè)文件都做為一個(gè)獨(dú)立的文件上傳,這樣每個(gè)文件都要單獨(dú)地與服務(wù)器交互一次,而對(duì)于小文件(通常是小于256KB的文件,例如50KB左右大小的文件)的傳輸,文件傳輸所花的時(shí)間實(shí)際上并不多,更多的時(shí)間都耗費(fèi)在客戶端與服務(wù)器的交互上了,例如,當(dāng)有100個(gè)文件被傳輸時(shí),這100個(gè)文件都要分別與服務(wù)器交互I次,因此,總共需要交互100次,從而導(dǎo)致傳輸速度不快。另外,在傳輸過程中,流量也不能充分利用。
【發(fā)明內(nèi)容】
[0003]鑒于上述問題,提出了本發(fā)明以便提供一種克服上述問題或者至少部分地解決上述問題的小文件的網(wǎng)絡(luò)傳輸方法及裝置、小文件的網(wǎng)絡(luò)接收方法及裝置、以及網(wǎng)絡(luò)傳輸系統(tǒng)。
[0004]依據(jù)本發(fā)明的一個(gè)方面,提供了一種小文件的網(wǎng)絡(luò)傳輸方法,其將位于第一計(jì)算設(shè)備的多個(gè)小文件傳輸至第二計(jì)算設(shè)備,該方法包括:將第一計(jì)算設(shè)備上的多個(gè)小文件進(jìn)行分組;將每組的小文件組合成一個(gè)大文件;以及將組合成的大文件經(jīng)網(wǎng)絡(luò)傳輸至所述第二計(jì)算設(shè)備。
[0005]可選地,根據(jù)本發(fā)明的小文件的網(wǎng)絡(luò)傳輸方法,在所述將所述組合成的大文件經(jīng)網(wǎng)絡(luò)傳輸至所述第二計(jì)算設(shè)備的步驟包括:在所述組合成的大文件的傳輸中斷后又重新恢復(fù)傳輸時(shí),所述組合成的大文件從上次中斷處續(xù)傳。
[0006]可選地,根據(jù)本發(fā)明的小文件的網(wǎng)絡(luò)傳輸方法,在將所述組合成的大文件經(jīng)網(wǎng)絡(luò)傳輸至所述第二計(jì)算設(shè)備的步驟之前,還包括:將每個(gè)組所形成的大文件進(jìn)行壓縮,或者,在將要傳輸至第二計(jì)算設(shè)備的多個(gè)小文件進(jìn)行分組的步驟之前還包括:對(duì)每個(gè)小文件進(jìn)行壓縮。
[0007]根據(jù)本發(fā)明的另一方面,本發(fā)明還提供一種小文件的網(wǎng)絡(luò)接收方法,其中,位于第一計(jì)算設(shè)備的多個(gè)小文件傳輸至第二計(jì)算設(shè)備,該方法包括:接收從第一計(jì)算設(shè)備傳送的由多個(gè)小文件組合成的大文件;以及將接收到的組合成的大文件分解成原來的多個(gè)小文件。
[0008]根據(jù)本發(fā)明的又一方面,本發(fā)明還提供一種小文件的網(wǎng)絡(luò)傳輸裝置,其將位于第一計(jì)算設(shè)備的多個(gè)小文件傳輸至第二計(jì)算設(shè)備,該裝置包括:分組模塊,其適于將第一計(jì)算設(shè)備的多個(gè)小文件進(jìn)行分組;組合模塊,其適于將每組的小文件組合成一個(gè)大文件;以及傳輸模塊,其適于將所述組合成的大文件經(jīng)網(wǎng)絡(luò)傳輸至所述第二計(jì)算設(shè)備。
[0009]根據(jù)本發(fā)明的還一方面,本發(fā)明還提供一種小文件的網(wǎng)絡(luò)接收裝置,其位于接收來自第一計(jì)算設(shè)備的多個(gè)小文件的第二計(jì)算設(shè)備中,該裝置包括:接收模塊,其接收從客戶端傳送的組合成的大文件;以及分解模塊,其將所述接收模塊接收到的組合成的大文件分解成原來的多個(gè)小文件。
[0010]根據(jù)本發(fā)明的再一方面,本發(fā)明還提供一種網(wǎng)絡(luò)傳輸系統(tǒng),其包括:前面所述的小文件的網(wǎng)絡(luò)傳輸裝置、以及前面所述的小文件的網(wǎng)絡(luò)接收裝置。
[0011]利用本發(fā)明,在有大量小文件需要在網(wǎng)絡(luò)中傳輸時(shí),可以減少客戶端與服務(wù)端、客戶端與客戶端、服務(wù)端與服務(wù)端之間的交互次數(shù),從而實(shí)現(xiàn)大量小文件的快速網(wǎng)絡(luò)傳輸。
[0012]上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說明書的內(nèi)容予以實(shí)施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點(diǎn)能夠更明顯易懂,以下特舉本發(fā)明的【具體實(shí)施方式】。
【專利附圖】
【附圖說明】
[0013]通過閱讀下文優(yōu)選實(shí)施方式的詳細(xì)描述,各種其他的優(yōu)點(diǎn)和益處對(duì)于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實(shí)施方式的目的,而并不認(rèn)為是對(duì)本發(fā)明的限制。而且在整個(gè)附圖中,用相同的參考符號(hào)表示相同的部件。在附圖中:
[0014]圖1示出了根據(jù)本發(fā)明的一種實(shí)施方式的小文件的網(wǎng)絡(luò)傳輸方法的流程圖;
[0015]圖2示出了一種文件動(dòng)態(tài)壓縮方法的流程圖;
[0016]圖3示出了根據(jù)本發(fā)明的一種實(shí)施方式的小文件的網(wǎng)絡(luò)接收方法的流程圖;
[0017]圖4示出了根據(jù)本發(fā)明的一種實(shí)施方式的小文件的網(wǎng)絡(luò)傳輸裝置的結(jié)構(gòu)框圖;
[0018]圖5示出了壓縮模塊的一種實(shí)現(xiàn)方式;
[0019]圖6示出了根據(jù)本發(fā)明的一種實(shí)施方式的小文件的網(wǎng)絡(luò)接收裝置的結(jié)構(gòu)框圖;以及
[0020]圖7示出了根據(jù)本發(fā)明的一種實(shí)施方式的網(wǎng)絡(luò)傳輸系統(tǒng)的方框圖。
【具體實(shí)施方式】
[0021]下面將參照附圖更詳細(xì)地描述本公開的示例性實(shí)施例。雖然附圖中顯示了本公開的示例性實(shí)施例,然而應(yīng)當(dāng)理解,可以以各種形式實(shí)現(xiàn)本公開而不應(yīng)被這里闡述的實(shí)施例所限制。相反,提供這些實(shí)施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。
[0022]在日常生活及工作中,經(jīng)常需要將文件在網(wǎng)絡(luò)中的兩個(gè)計(jì)算設(shè)備之間進(jìn)行傳輸,例如從本地客戶端上傳至服務(wù)器,或者從本地客戶端傳送至遠(yuǎn)程的另一個(gè)客戶端,或者從一個(gè)服務(wù)器傳送至另一服務(wù)器、或者從服務(wù)器下載至客戶端等等。尤其,最近云端服務(wù)器為用戶提供了方便使用的大容量的云存儲(chǔ)器,只要用戶將需要使用的文件上傳至其自己的云存儲(chǔ)器,就可以在不同的地方從云存儲(chǔ)器上下載所需的文件,而無需攜帶移動(dòng)硬盤、U盤等存儲(chǔ)設(shè)備,不會(huì)擔(dān)心因?yàn)榇鎯?chǔ)設(shè)備損壞或者忘記攜帶而不能及時(shí)獲得自己所需的文件的問題的出現(xiàn)。
[0023]在傳輸文件時(shí),有可能會(huì)涉及大量小文件的傳輸,由于每個(gè)小文件單獨(dú)進(jìn)行傳輸時(shí)都會(huì)與服務(wù)器進(jìn)行交互,從而影響傳輸?shù)男始熬W(wǎng)絡(luò)帶寬的利用率,為此本發(fā)明提出一種小文件的網(wǎng)絡(luò)傳輸方法,該方法主要用于大量小文件的傳輸。[0024]圖1示出了根據(jù)本發(fā)明的一種實(shí)施方式的小文件的網(wǎng)絡(luò)傳輸方法的流程圖。本發(fā)明的小文件的網(wǎng)絡(luò)傳輸方法主要用于將位于第一計(jì)算設(shè)備的多個(gè)小文件傳輸至第二計(jì)算設(shè)備。這里的第一計(jì)算設(shè)備和第二計(jì)算設(shè)備可以是客戶端、服務(wù)器或者其它網(wǎng)絡(luò)中的設(shè)備。
[0025]如圖1所示,本發(fā)明的小文件的網(wǎng)絡(luò)傳輸方法100始于步驟S110,在步驟S110,將第一計(jì)算設(shè)備上的的多個(gè)小文件進(jìn)行分組。這里的小文件主要是指小于256KB的文件,最大不能超過512KB的文件,其中每個(gè)小文件的大小可能不一樣,也可能一樣。當(dāng)有多個(gè)小文件都要上傳至服務(wù)器時(shí),對(duì)這些小文件進(jìn)行分組,使得分組后的每組小文件的大小總和不大于一預(yù)定大小,例如1MB。通常按照小文件的傳輸次序從前往后依次進(jìn)行選取,當(dāng)所選取的小文件的大小之和接近于所述預(yù)定大小時(shí),則開始下一個(gè)組的小文件的選取,以此類推。另外,每組的小文件的總大小并不一定相同,但只要每組中所有小文件的大小之和小于所述預(yù)定大小即可。所述預(yù)定大小的選擇是一個(gè)實(shí)驗(yàn)數(shù)據(jù),通常在512KB?4MB范圍,目前IMB的測試效果較好,例如這與網(wǎng)絡(luò)的平均帶寬等有一定關(guān)系。例如,將一個(gè)時(shí)段內(nèi)所有要傳輸?shù)男∥募孔鳛橐粋€(gè)組也可以,但傳輸效果和靈活性不夠高,這在下面的說明中會(huì)變得更明白。
[0026]接下來,在步驟S120,將每組的小文件組合成一個(gè)大文件。通常,將每組的小文件按照客戶端與服務(wù)器之間的某種協(xié)議組合成一個(gè)大文件,例如,采用標(biāo)準(zhǔn)的HTTPmultipart協(xié)議,按照約定的邊界,把每組中的多個(gè)小文件串起來封裝成一個(gè)大文件。
[0027]接下來,在步驟S130,將所述組合成的大文件經(jīng)網(wǎng)絡(luò)傳輸至所述第二計(jì)算設(shè)備。具體地,將在步驟S120中得到的多個(gè)大文件通過網(wǎng)絡(luò)傳輸給所述第二計(jì)算設(shè)備,所述傳輸可以有多種傳輸方式,例如一個(gè)一個(gè)地傳輸,或者所有大文件并行傳輸,優(yōu)選并行傳輸,并行傳輸時(shí)會(huì)限定并行傳輸?shù)膫€(gè)數(shù)。這里所述所述第二計(jì)算設(shè)備例如可以是云端服務(wù)器。
[0028]這里說明一下,不同的分組對(duì)文件的傳輸?shù)挠绊?,?dāng)將要傳輸?shù)亩鄠€(gè)小文件作為一個(gè)組而組合成一個(gè)大文件時(shí),這雖然減少了客戶端與服務(wù)器之間的交互次數(shù),但大文件的傳輸時(shí)間長,而且一旦開始傳輸了,如果想要放棄或者替換傳輸中的某個(gè)或某幾個(gè)小文件,則要將需要傳輸?shù)男∥募匦陆M合成一個(gè)大文件,然后再進(jìn)行傳輸。而如果將多個(gè)小文件分成多個(gè)組,多個(gè)組可以并行傳輸,這一方面,可以充分利用帶寬以及流量,另一方面,在傳輸?shù)倪^程中,可以靈活地選擇放棄或替換某個(gè)組中的一個(gè)或多個(gè)小文件,而將該組中剩余的小文件或者替換完后的小文件與其它文件重新組合成一個(gè)大文件再進(jìn)行傳輸,不影響其它組的傳輸。
[0029]可選地,在所述組合成的大文件的傳輸中斷后又重新恢復(fù)傳輸時(shí),所述組合成的大文件可以從上次中斷處續(xù)傳,因?yàn)樵谖募鬏斶^程中可能會(huì)有很多因素導(dǎo)致其傳輸中斷,如果能夠續(xù)傳,則可以節(jié)省傳輸時(shí)間。
[0030]舉一個(gè)具體的例子,現(xiàn)在有100個(gè)txt類型的小文件需要從客戶端傳送至服務(wù)器,每個(gè)小文件的大小為20KB。為了提高傳輸效率,利用本發(fā)明的一個(gè)實(shí)施例的方法,在步驟SI 10中,將這100個(gè)文件分成5個(gè)組,每個(gè)組20個(gè)文件,則這時(shí)每組的文件總大小為400KB。接下來,在步驟S120中,將這5個(gè)組中每個(gè)組中的小文件組合成一個(gè)大文件,那么每個(gè)大文件的大小為400KB。接下來,在步驟S130,將所組合成的5個(gè)大文件并行傳輸至服務(wù)器;接下來,在步驟S140,將所組合成的5個(gè)大文件分別分解成原來的20個(gè)小文件。這樣,將100個(gè)小文件分別從客戶端傳輸至服務(wù)器,和將5個(gè)大文件從客戶端傳輸至服務(wù)器相比,后者比前者的傳輸速度要快得多,因?yàn)?,例如客戶端并行傳輸個(gè)數(shù)為5個(gè),此時(shí)開始傳輸100個(gè)20KB的小文件,一開始只能傳5*20KB=100KB的內(nèi)容,必須要等其中一個(gè)完成才能繼續(xù)下一個(gè),其中的網(wǎng)絡(luò)帶寬浪費(fèi)比較嚴(yán)重。如果把20個(gè)文件打包成I個(gè)大文件,哪怕是單文件傳輸,也相當(dāng)于原來的20個(gè)并行傳輸。可選地,在執(zhí)行步驟SllO前,可以對(duì)每個(gè)小文件進(jìn)行壓縮,這樣小文件將變得更小,為此,分組時(shí),可以考慮分更少的組,例如分成3個(gè)組。又可選地,在執(zhí)行步驟S120之后,對(duì)每個(gè)組所形成的大文件分別進(jìn)行壓縮,以便進(jìn)一步提高傳輸速度。
[0031]另外,可選地,在執(zhí)行步驟S130之前,還可以執(zhí)行步驟S125,對(duì)文件進(jìn)行壓縮。該步驟S125可以在SllO之前執(zhí)行,即,將每個(gè)小文件先行進(jìn)行壓縮,然后執(zhí)行如前所述的步驟S110,將壓縮后的小文件進(jìn)行分組,每組小文件的大小總和不大于一預(yù)定大小。可選地,步驟S125也可以在步驟S120之后執(zhí)行,即,對(duì)組合成的大文件進(jìn)行壓縮。通過對(duì)文件進(jìn)行壓縮,可以使得組合成的大文件的尺寸變得更小,進(jìn)一步減小傳輸時(shí)間。
[0032]可選地,在對(duì)文件進(jìn)行壓縮時(shí),可以采用目前的通常的壓縮方法(例如WINRAR和WINZIP)對(duì)各個(gè)文件進(jìn)行壓縮。另外,可選地,也可以采用圖2所示的文件動(dòng)態(tài)壓縮方法進(jìn)行壓縮。
[0033]如圖2所示,該文件動(dòng)態(tài)壓縮方法200可以始于步驟S230,在步驟S230,從要被壓縮的文件中提取預(yù)定大小的部分。所述預(yù)定大小的部分可以是從要被壓縮的文件中抽取的512KB大小的部分,所述預(yù)定大小的具體數(shù)值可以根據(jù)情況來確定,只要能夠顯現(xiàn)出壓縮比例即可,例如取512KB大小的部分。另外,所述預(yù)定大小的部分,可以從要被壓縮的文件的最開始部分開始向后連續(xù)抽取,也可以從最末端部分開始向前連續(xù)抽取,還可以從中間部分抽取。
[0034]接下來,在步驟S250,對(duì)所提取的預(yù)定大小的部分進(jìn)行壓縮,即對(duì)文件進(jìn)行預(yù)壓縮。這里所采用的壓縮工具可以是WINRAR、WINZIP等工具。
[0035]接下來,在步驟S270,判斷壓縮完成后的壓縮比例是否達(dá)到預(yù)定的壓縮比例,若是,則執(zhí)行步驟S290,對(duì)該文件進(jìn)行壓縮;若不是,則執(zhí)行步驟S260,不對(duì)該文件進(jìn)行壓縮。在步驟S290,當(dāng)該文件預(yù)定大小的部分是從該文件的最開始抽取的情況下,可以在之前預(yù)壓縮的基礎(chǔ)上對(duì)該文件繼續(xù)進(jìn)行壓縮,而不用再從頭開始?jí)嚎s整個(gè)文件;如果該文件預(yù)定大小的部分是從該文件的中間部分或者從最后往前抽取的情況下,則對(duì)整個(gè)文件從頭開始進(jìn)行壓縮,由此可知,在抽取該文件的預(yù)定大小時(shí),優(yōu)選從文件的最開始進(jìn)行抽取。當(dāng)判斷該文件預(yù)定大小的部分的壓縮比例未達(dá)到預(yù)定的壓縮比例時(shí),不再對(duì)該文件進(jìn)行壓縮,則該文件可以被直接傳輸。
[0036]這里,所述的預(yù)定的壓縮比例可以根據(jù)需求而設(shè)定,一般要壓縮比例在15%以上才值得去壓縮,當(dāng)然,也可以定得高些,例如30%。
[0037]另外,可選地,在步驟S230之前還可以包括步驟S210,在步驟S210,判斷要被壓縮的文件的文件格式是否位于黑名單中,當(dāng)判斷要被壓縮的文件的文件格式不在黑名單中時(shí),執(zhí)行步驟S230,當(dāng)判斷要被壓縮的文件的文件格式在黑名單中時(shí),執(zhí)行步驟S260,不對(duì)該文件進(jìn)行壓縮。其中,所述黑名單中存放有不需要被壓縮的文件格式,例如擴(kuò)展名為jpg,zip, rar, pdf, wma, rmvb, rm, flash, mp4等的文件格式,這些文件格式的文件要么無法壓縮,要么即使被壓縮,壓縮效果也不大。[0038]通過使用黑名單,在執(zhí)行步驟S230的預(yù)壓縮之前,可以先行判斷該文件是否要被壓縮,如果該文件的文件格式在黑名單中,則判斷該文件不需被壓縮,直接進(jìn)行文件傳輸即可;如果該文件的文件格式不在黑名單中,則說明該文件格式是未知的文件格式,不確定對(duì)其壓縮的效果是否明顯,為此可以執(zhí)行步驟S230和步驟S250,嘗試性地對(duì)其進(jìn)行壓縮,再通過步驟S270來進(jìn)行判斷是否需要對(duì)其進(jìn)行壓縮。
[0039]這里,黑名單可以是臨時(shí)性文件,即只對(duì)本批要壓縮的文件有效,不需長期保存,這時(shí),黑名單存儲(chǔ)在內(nèi)存中即可。例如,有一大批.cad文件要被壓縮后傳輸時(shí),如果程序發(fā)現(xiàn)第一個(gè).cad文件壓縮比例不滿足預(yù)期,那么就把.cad加到黑名單列表里,以后再傳輸下一個(gè).cad文件時(shí),就不會(huì)檢測是否需要被壓縮。另外,黑名單也可以是永久性文件,這時(shí),其在本機(jī)中可以記錄為配置文件,該配置文件中包含一個(gè)文件擴(kuò)展名列表,例如包含.saz、.png等,在對(duì)文件壓縮前,先確認(rèn)其是否存在于黑名單中。
[0040]另外,可選地,在步驟S270,當(dāng)判斷壓縮完成后的壓縮比例未達(dá)到預(yù)定的壓縮比例時(shí),還可以執(zhí)行如下步驟:將該文件的文件格式添加到所述黑名單中。這里的黑名單是長期保存的文件。這樣,可以減少對(duì)一些文件格式類型的文件的預(yù)壓縮。由于不在黑名單中的文件格式是未知的文件格式,具有這種文件格式的文件通常也不會(huì)有很多,所以,通常不需要將這種文件格式添加到黑名單中,因?yàn)槿绻诤诿麊沃写娣盘嗟奈募袷?,雖然可以減少對(duì)一些文件格式類型的文件進(jìn)行后續(xù)的預(yù)壓縮,但在步驟S210中進(jìn)行判斷時(shí)所耗費(fèi)的時(shí)間會(huì)增加,而實(shí)際上對(duì)文件進(jìn)行預(yù)壓縮時(shí),由于選取的文件大小大約為512KB左右,進(jìn)行預(yù)壓縮所花的時(shí)間非常短,另外,再加上這類文件比較少,所以總共對(duì)這類文件進(jìn)行預(yù)壓縮所花費(fèi)的時(shí)間也不會(huì)太多,不象具有在黑名單中所存放的那些文件格式的文件,文件數(shù)量可能會(huì)比較大,如果一一進(jìn)行預(yù)壓縮和判斷,累積的時(shí)間則可能會(huì)比較大。
[0041]上述文件動(dòng)態(tài)壓縮方法,不僅適用于將文件上傳至服務(wù)器側(cè),也適用于從服務(wù)器側(cè)下載文件。為了加快從服務(wù)器側(cè)下載文件的速度,在下載之前,可以將文件尺寸壓縮得小一些,然后再進(jìn)行傳輸,下載前對(duì)文件的壓縮就可以采用本發(fā)明的方法進(jìn)行壓縮。當(dāng)然,本發(fā)明的方法,不限于用于前面所述的情形,其可以廣泛地用于任何兩個(gè)通過網(wǎng)絡(luò)連接的設(shè)備之間傳輸?shù)奈募?br>
[0042]另外,本發(fā)明還提供一種小文件的網(wǎng)絡(luò)接收方法,該方法用于當(dāng)需要將第一計(jì)算設(shè)備的多個(gè)小文件傳輸至第二計(jì)算設(shè)備時(shí)的情形,對(duì)應(yīng)于前面圖1所述的小文件的網(wǎng)絡(luò)傳輸方法100。如圖3所示,其示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的小文件的網(wǎng)絡(luò)接收方法300的流程圖。本發(fā)明的小文件的網(wǎng)絡(luò)接收方法300包括如下步驟:在步驟S310,接收從第一計(jì)算設(shè)備傳送的由多個(gè)小文件組合成的大文件。根據(jù)前面關(guān)于小文件的網(wǎng)絡(luò)傳輸方法的描述中可知,所接收的由多個(gè)小文件組合成的大文件可以是經(jīng)過壓縮后的大文件,也可以未經(jīng)壓縮的大文件,或者該大文件是由多個(gè)經(jīng)過壓縮的小文件組成。
[0043]接下來,在步驟S320,將接收到的組合成的大文件分解成原來的多個(gè)小文件。在組合成的大文件傳送至第二計(jì)算設(shè)備后,根據(jù)與之前將多個(gè)小文件組合成大文件所采用的協(xié)議相同的協(xié)議,將該組合成的大文件分解成原始的多個(gè)小文件,從而使得最終在第二計(jì)算設(shè)備上看到的是原始的多個(gè)小文件。在這一點(diǎn)上,也可以體現(xiàn)出將多個(gè)小文件組合成一個(gè)大文件進(jìn)行傳輸?shù)姆绞經(jīng)]有將多個(gè)小文件分成多個(gè)組然后分別傳輸?shù)姆绞胶?,因?yàn)椋趯⒍鄠€(gè)小文件組合成一個(gè)大文件進(jìn)行傳輸?shù)那闆r下,所有的小文件都要等到大文件傳輸完之后才能在第二計(jì)算設(shè)備處被看到。而在將多個(gè)小文件分成多個(gè)組進(jìn)行傳輸?shù)那闆r下,每個(gè)組所形成的大文件傳輸完的時(shí)間通常是不同的,先傳輸完畢的大文件,形成該大文件的多個(gè)原始小文件會(huì)在第二計(jì)算設(shè)備側(cè)先被看到,不需要等待全部組傳完之后才能看到。
[0044]圖4示出了根據(jù)本發(fā)明的一種實(shí)施方式的小文件的網(wǎng)絡(luò)傳輸裝置400,其主要用于將位于第一計(jì)算設(shè)備的多個(gè)小文件傳輸至第二計(jì)算設(shè)備的情形。這里的第一計(jì)算設(shè)備和第二計(jì)算設(shè)備可以是客戶端、服務(wù)器或者其它網(wǎng)絡(luò)中的終端設(shè)備。
[0045]如圖4所示,本發(fā)明的小文件的網(wǎng)絡(luò)傳輸裝置400包括分組模塊410、組合模塊420、和傳輸模塊440。
[0046]其中,分組模塊410適于將第一計(jì)算設(shè)備的多個(gè)小文件進(jìn)行分組。這里的小文件主要是指小于256KB的文件,最大不能超過512KB的文件,其中每個(gè)小文件的大小可能不一樣,也可能一樣。當(dāng)有多個(gè)小文件都要上傳至服務(wù)器時(shí),對(duì)這些小文件進(jìn)行分組,使得分組后的每組小文件的大小總和不大于一預(yù)定大小,例如1MB。通常按照小文件的傳輸次序從前往后依次進(jìn)行選取,當(dāng)所選取的小文件的大小之和接近于所述預(yù)定大小時(shí),則開始下一個(gè)組的小文件的選取,以此類推。另外,每組的小文件的總大小并不一定相同,但只要每組中所有小文件的大小之和小于所述預(yù)定大小即可。所述預(yù)定大小的選擇是一個(gè)實(shí)驗(yàn)數(shù)據(jù),通常在512KB?4MB范圍,目前IMB的測試效果較好,例如與網(wǎng)絡(luò)的平均帶寬等等有一定的關(guān)系。例如,將一個(gè)時(shí)段內(nèi)所有要傳輸?shù)男∥募孔鳛橐粋€(gè)組也可以,但傳輸效果和靈活性不夠高,這從前面的方法的說明中可以明白。
[0047]組合模塊420適于將每組的小文件組合成一個(gè)大文件。通常,將每組的小文件按照客戶端與服務(wù)器之間的某種協(xié)議組合成一個(gè)大文件,例如,采用標(biāo)準(zhǔn)的HTTP multipart協(xié)議,按照約定的邊界,把每組中的多個(gè)小文件串起來封裝成一個(gè)大文件。
[0048]傳輸模塊440適于將所述組合成的大文件經(jīng)網(wǎng)絡(luò)傳輸至所述第二計(jì)算設(shè)備。具體地,將組合模塊420得到的多個(gè)大文件通過網(wǎng)絡(luò)傳輸給所述第二計(jì)算設(shè)備,所述傳輸可以有多種傳輸方式,例如一個(gè)一個(gè)地傳輸,或者所有大文件并行傳輸,優(yōu)選并行傳輸,該并行傳輸會(huì)有個(gè)數(shù)的限制。這里所述第二計(jì)算設(shè)備例如可以是云端服務(wù)器。
[0049]這里說明一下,不同的分組對(duì)文件的傳輸?shù)挠绊?,?dāng)將要傳輸?shù)亩鄠€(gè)小文件作為一個(gè)組而組合成一個(gè)大文件時(shí),這雖然減少了客戶端與服務(wù)器之間的交互次數(shù),但大文件的傳輸時(shí)間長,而且一旦開始傳輸了,如果想要放棄或者替換傳輸中的某個(gè)或某幾個(gè)小文件,則要將需要傳輸?shù)男∥募匦陆M合成一個(gè)大文件,然后再進(jìn)行傳輸。而如果將多個(gè)小文件分成多個(gè)組,多個(gè)組可以并行傳輸,這一方面,可以充分利用帶寬以及流量,另一方面,在傳輸?shù)倪^程中,可以靈活地選擇放棄或替換某個(gè)組中的一個(gè)或多個(gè)小文件,而將該組中剩余的小文件或者替換完后的小文件與其它文件重新組合成一個(gè)大文件再進(jìn)行傳輸,不影響其它組的傳輸。
[0050]另外,可選地,傳輸模塊440還可以包括中斷模塊,該中斷模塊適于將正在并行傳輸?shù)拇笪募膫鬏斨袛?。在文件傳輸過程中,有時(shí)用戶可能由于某種原因想放棄其中某個(gè)或某幾個(gè)小文件的傳輸,例如忽然間意識(shí)到傳輸?shù)哪硞€(gè)小文件不是最新版本等,這時(shí),中斷模塊可以中斷包含這個(gè)或這幾個(gè)小文件的組的傳輸,方便用戶操作。
[0051]另外,可選地,傳輸模塊440還可以包括續(xù)傳模塊,該續(xù)傳模塊適于將中斷傳輸?shù)拇笪募纳洗沃袛嗵庍M(jìn)行續(xù)傳。通常,文件傳輸過程中可能有很多因素會(huì)導(dǎo)致文件傳輸中斷,續(xù)傳模塊使得中斷傳輸?shù)奈募趥鬏斨袛嗪笥种匦禄謴?fù)傳輸時(shí)可以從上次中斷處續(xù)傳,從而可以節(jié)省傳輸時(shí)間。
[0052]另外,本發(fā)明的裝置400還可以包括壓縮模塊430。壓縮模塊430可以適于在對(duì)小文件分組前對(duì)每個(gè)小文件分別進(jìn)行壓縮,也可以適于將所述組合模塊420組合成的大文件進(jìn)行壓縮。壓縮模塊430可以采用目前的通常的壓縮方法對(duì)文件進(jìn)行壓縮,另外,可選地,也可以采用圖4所示的結(jié)構(gòu)。
[0053]如圖5所示,壓縮模塊430包括:提取單元4325、壓縮單元4330和壓縮識(shí)別單元4340。
[0054]其中,提取單元4325適于從要壓縮的文件中提取預(yù)定大小的部分。所述預(yù)定大小的部分可以是從要被壓縮的文件中抽取的512KB大小的部分,所述預(yù)定大小的具體數(shù)值可以根據(jù)情況來確定,只要能夠顯現(xiàn)出壓縮比例即可,例如取512KB大小的部分。另外,所述預(yù)定大小的部分,可以從要被壓縮的文件的最開始部分開始向后連續(xù)抽取,也可以從最末端部分開始向前連續(xù)抽取,還可以從中間部分抽取。
[0055]壓縮單元4330適于對(duì)提取單元4325所提取的預(yù)定大小的部分進(jìn)行壓縮,即對(duì)文件進(jìn)行預(yù)壓縮。這里所采用的壓縮工具可以是WINRAR、WINZIP等工具。
[0056]壓縮識(shí)別單元4340判斷壓縮單元4330對(duì)提取的預(yù)定大小部分壓縮完成后的壓縮比例是否達(dá)到預(yù)定的壓縮比例。其中,當(dāng)壓縮識(shí)別單元4340判斷壓縮單元4330對(duì)提取的預(yù)定大小部分壓縮完成后的壓縮比例達(dá)到預(yù)定的壓縮比例時(shí),壓縮單元4330對(duì)該文件進(jìn)行壓縮,當(dāng)該文件預(yù)定大小的部分是從該文件的最開始抽取的情況下,壓縮單元4330可以在之前預(yù)壓縮的基礎(chǔ)上對(duì)該文件繼續(xù)進(jìn)行壓縮,而不用再從頭開始?jí)嚎s整個(gè)文件;如果該文件預(yù)定大小的部分是從該文件的中間部分或者從最后往前抽取的情況下,則壓縮單元4330需要對(duì)整個(gè)文件從頭開始進(jìn)行壓縮,由此可知,在抽取該文件的預(yù)定大小時(shí),優(yōu)選從文件的最開始進(jìn)行抽取。當(dāng)壓縮識(shí)別單元4340判斷壓縮單元230壓縮完成后的壓縮比例未達(dá)到預(yù)定的壓縮比例時(shí),壓縮單元4330不再對(duì)該文件進(jìn)行壓縮,則該文件可以被直接傳輸。這里,所述的預(yù)定的壓縮比例可以根據(jù)需求而設(shè)定,一般要壓縮比例在15%以上才值得去壓縮,當(dāng)然,也可以定得高些,例如30%。
[0057]另外,壓縮模塊430還可以包括存儲(chǔ)單元4310和判斷單元4320。其中,存儲(chǔ)單元4310適于存儲(chǔ)黑名單,該黑名單中存放不需要壓縮的文件格式,例如擴(kuò)展名為pdf,wma,rmvb, rm, flash, mp4等的文件格式,這些文件格式的文件要么無法壓縮,要么即使被壓縮,壓縮效果也不大。判斷單元4320適于判斷要被壓縮的文件的文件格式是否位于黑名單中。其中,當(dāng)判斷單元4320判斷要被壓縮的文件的文件格式不在黑名單中時(shí),提取單元4325從要壓縮的文件中提取預(yù)定大小的部分,然后壓縮單元4330對(duì)所提取的預(yù)定大小的部分進(jìn)行壓縮。當(dāng)判斷單元4320判斷要被壓縮的文件的文件格式在黑名單中時(shí),壓縮單元4330不對(duì)該文件進(jìn)行壓縮。通過使用黑名單,在壓縮單元4330進(jìn)行預(yù)壓縮之前,判斷單元4320可以先行判斷該文件是否要被壓縮,如果該文件的文件格式在黑名單中,則判斷該文件不需被壓縮,直接進(jìn)行文件傳輸即可;如果該文件的文件格式不在黑名單中,再由壓縮單元4330進(jìn)行預(yù)壓縮。這里,黑名單可以是臨時(shí)性文件,即只對(duì)本批要壓縮的文件有效,不需長期保存,這時(shí),黑名單存儲(chǔ)在內(nèi)存中即可。例如,有一大批.cad文件要被壓縮后傳輸時(shí),如果程序發(fā)現(xiàn)第一個(gè).cad文件壓縮比例不滿足預(yù)期,那么就把.cad加到黑名單列表里,以后再傳輸下一個(gè).cad文件時(shí),就不會(huì)檢測是否需要被壓縮。另外,黑名單也可以是永久性文件,這時(shí),其在本機(jī)中可以記錄為配置文件,該配置文件中包含一個(gè)文件擴(kuò)展名列表,例如包含.saz、.png等,在對(duì)文件壓縮前,先確認(rèn)其是否存在于黑名單中。
[0058]另外,可選地,在判斷單元4320判斷要壓縮的文件的文件格式不在黑名單中的情況下,且當(dāng)壓縮識(shí)別單元4340判斷對(duì)所提取的預(yù)定大小的部分壓縮完成后的壓縮比例未達(dá)到預(yù)定的壓縮比例時(shí),壓縮識(shí)別單元4340將該要被壓縮的文件的文件格式添加到所述黑名單中。這里的黑名單是長期保存的文件。由于不在黑名單中的文件格式是未知的文件格式,具有這種文件格式的文件通常也不會(huì)有很多,所以,通常不需要將這種文件格式添加到黑名單中,因?yàn)槿绻诤诿麊沃写娣盘嗟奈募袷?,雖然可以減少對(duì)一些文件格式類型的文件進(jìn)行后續(xù)的預(yù)壓縮,但判斷單元4320進(jìn)行判斷時(shí)所耗費(fèi)的時(shí)間會(huì)增加,而實(shí)際上對(duì)文件進(jìn)行預(yù)壓縮時(shí),由于選取的文件大小大約為512KB左右,進(jìn)行預(yù)壓縮所花的時(shí)間非常短,另外,再加上這類文件比較少,所以總共對(duì)這類文件進(jìn)行預(yù)壓縮所花費(fèi)的時(shí)間也不會(huì)太多,不象具有在黑名單中所存放的那些文件格式的文件,文件數(shù)量可能會(huì)比較大,如果一一進(jìn)行預(yù)壓縮和判斷,累積的時(shí)間則可能會(huì)比較大。
[0059]通過圖5所述的壓縮模塊430,可以實(shí)現(xiàn)對(duì)文件的動(dòng)態(tài)壓縮,可以有選擇地對(duì)文件進(jìn)行壓縮,對(duì)不需進(jìn)行壓縮的文件可以直接進(jìn)行傳輸,從而可以減少對(duì)CPU資源的占用。
[0060]另外,本發(fā)明還提供一種小文件的網(wǎng)絡(luò)接收裝置,其包含于接收來自第一計(jì)算設(shè)備的多個(gè)小文件的第二計(jì)算設(shè)備中,其對(duì)應(yīng)前面圖4所示的小文件的網(wǎng)絡(luò)傳輸裝置400。如圖6所示,其示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的小文件的網(wǎng)絡(luò)接收裝置600的方框圖。本發(fā)明的小文件的網(wǎng)絡(luò)接收裝置600包括接收模塊610和分解模塊620。
[0061]其中,接收模塊610接收從客戶端傳送的組合成的大文件。根據(jù)前面關(guān)于小文件的網(wǎng)絡(luò)傳輸裝置的描述中可知,所接收的由多個(gè)小文件組合成的大文件可以是經(jīng)過壓縮后的大文件,也可以未經(jīng)壓縮的大文件,或者該大文件是由多個(gè)經(jīng)過壓縮的小文件組成。
[0062]分解模塊620將接收模塊610接收到的組合成的大文件分解成原來的多個(gè)小文件。在組合成的大文件傳送至第二計(jì)算設(shè)備后,根據(jù)與之前將多個(gè)小文件組合成大文件所采用的協(xié)議相同的協(xié)議,將該組合成的大文件分解成原始的多個(gè)小文件,從而使得最終在第二計(jì)算設(shè)備上看到的是原始的多個(gè)小文件。在這一點(diǎn)上,也可以體現(xiàn)出將多個(gè)小文件組合成一個(gè)大文件進(jìn)行傳輸?shù)姆绞經(jīng)]有將多個(gè)小文件分成多個(gè)組然后分別傳輸?shù)姆绞胶?,因?yàn)?,在將多個(gè)小文件組合成一個(gè)大文件進(jìn)行傳輸?shù)那闆r下,所有的小文件都要等到大文件傳輸完之后才能在第二計(jì)算設(shè)備處被看到。而在將多個(gè)小文件分成多個(gè)組進(jìn)行傳輸?shù)那闆r下,每個(gè)組所形成的大文件傳輸完的時(shí)間通常是不同的,先傳輸完畢的大文件,形成該大文件的多個(gè)原始小文件會(huì)在第二計(jì)算設(shè)備側(cè)先被看到,不需要等待全部組傳完之后才能看到。
[0063]另外,根據(jù)本發(fā)明的另一方面,還提供一種網(wǎng)絡(luò)傳輸系統(tǒng)。如圖7所示,其示出了本發(fā)明的網(wǎng)絡(luò)傳輸系統(tǒng)700的方框圖。本發(fā)明的網(wǎng)絡(luò)傳輸系統(tǒng)700包括前面所述的小文件的網(wǎng)絡(luò)傳輸裝置400和小文件的網(wǎng)絡(luò)接收裝置600。為了簡潔起見,這里不再重復(fù)描述小文件的網(wǎng)絡(luò)傳輸裝置400和小文件的網(wǎng)絡(luò)接收裝置600結(jié)構(gòu)。本發(fā)明,即可以用于從客戶端向服務(wù)器端(例如云端服務(wù)器側(cè))上傳大量小文件,也適于基于客戶端向服務(wù)器發(fā)送的指令或者請(qǐng)求而從服務(wù)器下載大量小文件。本發(fā)明不限于客戶端與服務(wù)器之間的大量小文件傳輸,適用于任何兩個(gè)終端之間的大量小文件傳輸。利用本發(fā)明,可以減少文件在兩個(gè)終端之間傳輸時(shí)兩個(gè)終端之間的交互次數(shù),從而實(shí)現(xiàn)大量小文件的快速網(wǎng)絡(luò)傳輸。
[0064]在此提供的算法和顯示不與任何特定計(jì)算機(jī)、虛擬系統(tǒng)或者其它設(shè)備固有相關(guān)。各種通用系統(tǒng)也可以與基于在此的示教一起使用。根據(jù)上面的描述,構(gòu)造這類系統(tǒng)所要求的結(jié)構(gòu)是顯而易見的。此外,本發(fā)明也不針對(duì)任何特定編程語言。應(yīng)當(dāng)明白,可以利用各種編程語言實(shí)現(xiàn)在此描述的本發(fā)明的內(nèi)容,并且上面對(duì)特定語言所做的描述是為了披露本發(fā)明的最佳實(shí)施方式。
[0065]在此處所提供的說明書中,說明了大量具體細(xì)節(jié)。然而,能夠理解,本發(fā)明的實(shí)施例可以在沒有這些具體細(xì)節(jié)的情況下實(shí)踐。在一些實(shí)例中,并未詳細(xì)示出公知的方法、結(jié)構(gòu)和技術(shù),以便不模糊對(duì)本說明書的理解。
[0066]類似地,應(yīng)當(dāng)理解,為了精簡本公開并幫助理解各個(gè)發(fā)明方面中的一個(gè)或多個(gè),在上面對(duì)本發(fā)明的示例性實(shí)施例的描述中,本發(fā)明的各個(gè)特征有時(shí)被一起分組到單個(gè)實(shí)施例、圖、或者對(duì)其的描述中。然而,并不應(yīng)將該公開的方法解釋成反映如下意圖:即所要求保護(hù)的本發(fā)明要求比在每個(gè)權(quán)利要求中所明確記載的特征更多的特征。更確切地說,如下面的權(quán)利要求書所反映的那樣,發(fā)明方面在于少于前面公開的單個(gè)實(shí)施例的所有特征。因此,遵循【具體實(shí)施方式】的權(quán)利要求書由此明確地并入該【具體實(shí)施方式】,其中每個(gè)權(quán)利要求本身都作為本發(fā)明的單獨(dú)實(shí)施例。
[0067]本領(lǐng)域那些技術(shù)人員可以理解,可以對(duì)實(shí)施例中的設(shè)備中的模塊進(jìn)行自適應(yīng)性地改變并且把它們?cè)O(shè)置在與該實(shí)施例不同的一個(gè)或多個(gè)設(shè)備中??梢园褜?shí)施例中的模塊或單元或組件組合成一個(gè)模塊或單元或組件,以及此外可以把它們分成多個(gè)子模塊或子單元或子組件。除了這樣的特征和/或過程或者單元中的至少一些是相互排斥之外,可以采用任何組合對(duì)本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的所有特征以及如此公開的任何方法或者設(shè)備的所有過程或單元進(jìn)行組合。除非另外明確陳述,本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的每個(gè)特征可以由提供相同、等同或相似目的的替代特征來代替。
[0068]此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此所述的一些實(shí)施例包括其它實(shí)施例中所包括的某些特征而不是其它特征,但是不同實(shí)施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實(shí)施例。例如,在下面的權(quán)利要求書中,所要求保護(hù)的實(shí)施例的任意之一都可以以任意的組合方式來使用。
[0069]本發(fā)明的各個(gè)部件實(shí)施例可以以硬件實(shí)現(xiàn),或者以在一個(gè)或者多個(gè)處理器上運(yùn)行的軟件模塊實(shí)現(xiàn),或者以它們的組合實(shí)現(xiàn)。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,可以在實(shí)踐中使用微處理器或者數(shù)字信號(hào)處理器(DSP)來實(shí)現(xiàn)根據(jù)本發(fā)明實(shí)施例的瀏覽器客戶端中的一些或者全部部件的一些或者全部功能。本發(fā)明還可以實(shí)現(xiàn)為用于執(zhí)行這里所描述的方法的一部分或者全部的設(shè)備或者裝置程序(例如,計(jì)算機(jī)程序和計(jì)算機(jī)程序產(chǎn)品)。這樣的實(shí)現(xiàn)本發(fā)明的程序可以存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)上,或者可以具有一個(gè)或者多個(gè)信號(hào)的形式。這樣的信號(hào)可以從因特網(wǎng)網(wǎng)站上下載得到,或者在載體信號(hào)上提供,或者以任何其他形式提供。
[0070]應(yīng)該注意的是上述實(shí)施例對(duì)本發(fā)明進(jìn)行說明而不是對(duì)本發(fā)明進(jìn)行限制,并且本領(lǐng)域技術(shù)人員在不脫離所附權(quán)利要求的范圍的情況下可設(shè)計(jì)出替換實(shí)施例。在權(quán)利要求中,不應(yīng)將位于括號(hào)之間的任何參考符號(hào)構(gòu)造成對(duì)權(quán)利要求的限制。單詞“包含”不排除存在未列在權(quán)利要求中的元件或步驟。位于元件之前的單詞“一”或“一個(gè)”不排除存在多個(gè)這樣的元件。本發(fā)明可以借助于包括有若干不同元件的硬件以及借助于適當(dāng)編程的計(jì)算機(jī)來實(shí)現(xiàn)。在列舉了若干裝置的單元權(quán)利要求中,這些裝置中的若干個(gè)可以是通過同一個(gè)硬件項(xiàng)來具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序??蓪⑦@些單詞解釋為名稱。
[0071]本發(fā)明公開Al、一種小文件的網(wǎng)絡(luò)傳輸方法,其將位于第一計(jì)算設(shè)備的多個(gè)小文件傳輸至第二計(jì)算設(shè)備,該方法包括:
[0072]將第一計(jì)算設(shè)備上的多個(gè)小文件進(jìn)行分組;
[0073]將每組的小文件組合成一個(gè)大文件;以及
[0074]將組合成的大文件經(jīng)網(wǎng)絡(luò)傳輸至所述第二計(jì)算設(shè)備。
[0075]A2、根據(jù)Al所述的方法,其中,
[0076]所述組合成的大文件的大小為512KB-4MB。
[0077]A3、根據(jù)Al或A2所述的方法,其中,
[0078]在所述將所述組合成的大文件經(jīng)網(wǎng)絡(luò)傳輸至所述第二計(jì)算設(shè)備的步驟包括:
[0079]在所述組合成的大文件的傳輸中斷后又重新恢復(fù)傳輸時(shí),所述組合成的大文件從上次中斷處續(xù)傳。
[0080]A4、根據(jù)A1-A3中任何一項(xiàng)所述的方法,其中,
[0081]在將所述組合成的大文件經(jīng)網(wǎng)絡(luò)傳輸至所述第二計(jì)算設(shè)備的步驟之前,還包括:
[0082]將每個(gè)組所形成的大文件進(jìn)行壓縮,或者,
[0083]在將要傳輸至第二計(jì)算設(shè)備的多個(gè)小文件進(jìn)行分組的步驟之前,還包括:
[0084]對(duì)每個(gè)小文件進(jìn)行壓縮。
[0085]A5、根據(jù)A4所述的方法,所述將每個(gè)組所形成的大文件進(jìn)行壓縮的步驟包括:
[0086]判斷所述大文件的文件格式是否位于黑名單中,其中所述黑名單包括不需要被壓縮的文件格式;以及
[0087]當(dāng)所述大文件的文件格式不在黑名單中時(shí),對(duì)該大文件的預(yù)定大小的文件進(jìn)行壓縮,當(dāng)壓縮比例達(dá)到預(yù)定比例時(shí),則對(duì)該大文件進(jìn)行壓縮;當(dāng)壓縮比例未達(dá)到預(yù)定比例時(shí),不對(duì)該大文件進(jìn)行壓縮。
[0088]本發(fā)明還公開了 B1、一種小文件的網(wǎng)絡(luò)接收方法,其中,位于第一計(jì)算設(shè)備的多個(gè)小文件傳輸至第二計(jì)算設(shè)備,該方法包括:
[0089]接收從第一計(jì)算設(shè)備傳送的由多個(gè)小文件組合成的大文件;以及
[0090]將接收到的組合成的大文件分解成原來的多個(gè)小文件。
[0091]本發(fā)明還公開了 Cl、一種小文件的網(wǎng)絡(luò)傳輸裝置,其將位于第一計(jì)算設(shè)備的多個(gè)小文件傳輸至第二計(jì)算設(shè)備,該裝置包括:
[0092]分組模塊,其適于將第一計(jì)算設(shè)備的多個(gè)小文件進(jìn)行分組;
[0093]組合模塊,其適于將每組的小文件組合成一個(gè)大文件;以及
[0094]傳輸模塊,其適于將所述組合成的大文件經(jīng)網(wǎng)絡(luò)傳輸至所述第二計(jì)算設(shè)備。
[0095]C2、根據(jù)Cl所述裝置,其中,
[0096]所述組合模塊組合成的大文件的大小為512KB-2MB。
[0097]C3、根據(jù)Cl或C2所述的裝置,其中,[0098]所述傳輸模塊包括中斷模塊,該中斷模塊適于將正在傳輸?shù)拇笪募膫鬏斨袛唷?br>
[0099]C4、根據(jù)C1-C3中任何一項(xiàng)所述的裝置,其中,所述傳輸模塊還包括續(xù)傳模塊,該續(xù)傳模塊適于將中斷傳輸?shù)拇笪募纳洗沃袛嗵庍M(jìn)行續(xù)傳。
[0100]C5、根據(jù)C1-C4中任何一項(xiàng)所述的裝置,還包括:
[0101]壓縮模塊,其適于在所述分組模塊對(duì)第一計(jì)算設(shè)備上的多個(gè)小文件進(jìn)行分組前對(duì)每個(gè)小文件進(jìn)行壓縮或者將所述組合模塊組合成的大文件進(jìn)行壓縮。
[0102]C6、根據(jù)C5所述的裝置,其中,所述壓縮模塊包括:
[0103]壓縮單元,其適于先對(duì)要被壓縮的文件的預(yù)定大小的部分進(jìn)行壓縮;和
[0104]壓縮識(shí)別單元,其判斷對(duì)該文件的預(yù)定大小的部分的壓縮比例是否達(dá)到預(yù)定的壓縮比例;
[0105]其中,當(dāng)所述壓縮識(shí)別單元判斷該文件預(yù)定大小的部分的壓縮比例達(dá)到預(yù)定的壓縮比例時(shí),所述壓縮單元對(duì)該文件進(jìn)行壓縮;當(dāng)所述壓縮識(shí)別單元判斷該文件預(yù)定大小的部分的壓縮比例未達(dá)到預(yù)定的壓縮比例時(shí),所述壓縮單元不再對(duì)該文件進(jìn)行壓縮。
[0106]C7、根據(jù)C6所述的裝置,其中,所述壓縮模塊還包括:
[0107]存儲(chǔ)單元,其適于存儲(chǔ)黑名單,該黑名單中存放不需要壓縮的文件格式;和
[0108]判斷單元,其適于判斷要被壓縮的文件的文件格式是否位于黑名單中;
[0109]其中,當(dāng)所述判斷單元判斷要被壓縮的文件的文件格式不在黑名單中時(shí),所述壓縮單元對(duì)要被壓縮的文件的預(yù)定大小的部分進(jìn)行壓縮;當(dāng)所述判斷單元判斷要被壓縮的文件的文件格式在黑名單中時(shí),所述壓縮單元不對(duì)該文件進(jìn)行壓縮。
[0110]本發(fā)明還公開了 D1、一種小文件的網(wǎng)絡(luò)接收裝置,其包含于接收來自第一計(jì)算設(shè)備的多個(gè)小文件的第二計(jì)算設(shè)備中,該裝置包括:
[0111]接收模塊,其接收從客戶端傳送的組合成的大文件;以及
[0112]分解模塊,其將所述接收模塊接收到的組合成的大文件分解成原來的多個(gè)小文件。
[0113]本發(fā)明還公開了 E1、一種網(wǎng)絡(luò)傳輸系統(tǒng),包括:
[0114]根據(jù)權(quán)利要求C1-C7中任何一項(xiàng)所述的小文件的網(wǎng)絡(luò)傳輸裝置;以及
[0115]根據(jù)Dl所述的小文件的網(wǎng)絡(luò)接收裝置。
【權(quán)利要求】
1.一種小文件的網(wǎng)絡(luò)傳輸方法,其將位于第一計(jì)算設(shè)備的多個(gè)小文件傳輸至第二計(jì)算設(shè)備,該方法包括: 將第一計(jì)算設(shè)備上的多個(gè)小文件進(jìn)行分組; 將每組的小文件組合成一個(gè)大文件;以及 將組合成的大文件經(jīng)網(wǎng)絡(luò)傳輸至所述第二計(jì)算設(shè)備。
2.根據(jù)權(quán)利要求1所述的方法,其中, 在將所述組合成的大文件經(jīng)網(wǎng)絡(luò)傳輸至所述第二計(jì)算設(shè)備的步驟之前,還包括: 將每個(gè)組所形成的大文件進(jìn)行壓縮,或者, 在將要傳輸至第二計(jì)算設(shè)備的多個(gè)小文件進(jìn)行分組的步驟之前,還包括: 對(duì)每個(gè)小文件進(jìn)行壓縮。
3.根據(jù)權(quán)利要求2所述的方法,所述將每個(gè)組所形成的大文件進(jìn)行壓縮的步驟包括: 判斷所述大文件的文件格式是否位于黑名單中,其中所述黑名單包括不需要被壓縮的文件格式;以及 當(dāng)所述大文件的文件格式 不在黑名單中時(shí),對(duì)該大文件的預(yù)定大小的文件進(jìn)行壓縮,當(dāng)壓縮比例達(dá)到預(yù)定比例時(shí),則對(duì)該大文件進(jìn)行壓縮;當(dāng)壓縮比例未達(dá)到預(yù)定比例時(shí),不對(duì)該大文件進(jìn)行壓縮。
4.一種小文件的網(wǎng)絡(luò)接收方法,其中,位于第一計(jì)算設(shè)備的多個(gè)小文件傳輸至第二計(jì)算設(shè)備,該方法包括: 接收從第一計(jì)算設(shè)備傳送的由多個(gè)小文件組合成的大文件;以及 將接收到的組合成的大文件分解成原來的多個(gè)小文件。
5.一種小文件的網(wǎng)絡(luò)傳輸裝置,其將位于第一計(jì)算設(shè)備的多個(gè)小文件傳輸至第二計(jì)算設(shè)備,該裝置包括: 分組模塊,其適于將第一計(jì)算設(shè)備的多個(gè)小文件進(jìn)行分組; 組合模塊,其適于將每組的小文件組合成一個(gè)大文件;以及 傳輸模塊,其適于將所述組合成的大文件經(jīng)網(wǎng)絡(luò)傳輸至所述第二計(jì)算設(shè)備。
6.根據(jù)權(quán)利要求5所述的裝置,還包括: 壓縮模塊,其適于在所述分組模塊對(duì)第一計(jì)算設(shè)備上的多個(gè)小文件進(jìn)行分組前對(duì)每個(gè)小文件進(jìn)行壓縮或者將所述組合模塊組合成的大文件進(jìn)行壓縮。
7.根據(jù)權(quán)利要求6所述的裝置,其中,所述壓縮模塊包括: 壓縮單元,其適于先對(duì)要被壓縮的文件的預(yù)定大小的部分進(jìn)行壓縮;和 壓縮識(shí)別單元,其判斷對(duì)該文件的預(yù)定大小的部分的壓縮比例是否達(dá)到預(yù)定的壓縮比例; 其中,當(dāng)所述壓縮識(shí)別單元判斷該文件預(yù)定大小的部分的壓縮比例達(dá)到預(yù)定的壓縮比例時(shí),所述壓縮單元對(duì)該文件進(jìn)行壓縮;當(dāng)所述壓縮識(shí)別單元判斷該文件預(yù)定大小的部分的壓縮比例未達(dá)到預(yù)定的壓縮比例時(shí),所述壓縮單元不再對(duì)該文件進(jìn)行壓縮。
8.根據(jù)權(quán)利要求7所述的裝置,其中,所述壓縮模塊還包括: 存儲(chǔ)單元,其適于存儲(chǔ)黑名單,該黑名單中存放不需要壓縮的文件格式;和 判斷單元,其適于判斷要被壓縮的文件的文件格式是否位于黑名單中; 其中,當(dāng)所述判斷單元判斷要被壓縮的文件的文件格式不在黑名單中時(shí),所述壓縮單元對(duì)要被壓縮的文件的預(yù)定大小的部分進(jìn)行壓縮;當(dāng)所述判斷單元判斷要被壓縮的文件的文件格式在黑名單中時(shí),所述壓縮單元不對(duì)該文件進(jìn)行壓縮。
9.一種小文件的網(wǎng)絡(luò)接收裝置,其包含于接收來自第一計(jì)算設(shè)備的多個(gè)小文件的第二計(jì)算設(shè)備中,該裝置包括: 接收模塊,其接收從客戶端傳送的組合成的大文件;以及 分解模塊,其將所述接收模塊接收到的組合成的大文件分解成原來的多個(gè)小文件。
10.一種網(wǎng)絡(luò)傳輸系統(tǒng),包括: 根據(jù)權(quán)利要求5-8中任何一項(xiàng)所述的小文件的網(wǎng)絡(luò)傳輸裝置;以及 根據(jù)權(quán)利要求9所述的小文`件的網(wǎng)絡(luò)接收裝置。
【文檔編號(hào)】H04L29/08GK103701860SQ201310656749
【公開日】2014年4月2日 申請(qǐng)日期:2013年12月6日 優(yōu)先權(quán)日:2013年12月6日
【發(fā)明者】趙化強(qiáng), 王林 申請(qǐng)人:北京奇虎科技有限公司, 奇智軟件(北京)有限公司