本發(fā)明涉及對(duì)象存儲(chǔ)系統(tǒng)領(lǐng)域,特別是涉及一種應(yīng)用于對(duì)象存儲(chǔ)系統(tǒng)的文件傳輸方法及裝置。
背景技術(shù):
對(duì)象存儲(chǔ)系統(tǒng)是綜合了nas和san的優(yōu)點(diǎn),同時(shí)具有san的高速直接訪問(wèn)和nas的數(shù)據(jù)共享等優(yōu)勢(shì),提供了高可靠性、跨平臺(tái)性以及安全的數(shù)據(jù)共享的存儲(chǔ)體系結(jié)構(gòu)。由于對(duì)象存儲(chǔ)系統(tǒng)具有存儲(chǔ)功能,因此,客戶端可以將文件上傳到對(duì)象存儲(chǔ)系統(tǒng)中進(jìn)行保存,或者可以從對(duì)象存儲(chǔ)系統(tǒng)中下載需要的文件。
在云存儲(chǔ)時(shí)代下,用戶會(huì)產(chǎn)生海量的文件,尤其是圖像文件,這些圖像文件上傳到對(duì)象存儲(chǔ)系統(tǒng)時(shí),需要海量的網(wǎng)絡(luò)帶寬,從而對(duì)傳輸網(wǎng)絡(luò)的帶寬帶來(lái)巨大的壓力,且傳輸時(shí)間過(guò)長(zhǎng),甚至導(dǎo)致網(wǎng)絡(luò)癱瘓。
由此可見(jiàn),如何降低傳輸網(wǎng)絡(luò)的壓力,提高傳輸效率是本領(lǐng)域技術(shù)人員亟待解決地問(wèn)題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的是提供一種應(yīng)用于對(duì)象存儲(chǔ)系統(tǒng)的文件傳輸方法及裝置,用于降低傳輸網(wǎng)絡(luò)的壓力,提高傳輸效率。
為解決上述技術(shù)問(wèn)題,本發(fā)明提供一種應(yīng)用于對(duì)象存儲(chǔ)系統(tǒng)的文件傳輸方法,包括:
遍歷待上傳文件,篩選出具有目標(biāo)后綴名的第一目標(biāo)文件,其中,所述目標(biāo)后綴名為jpg/jpeg;
利用lepton壓縮工具將所述第一目標(biāo)文件進(jìn)行壓縮得到壓縮文件;
將所述壓縮文件和其余待上傳文件傳輸至對(duì)象存儲(chǔ)系統(tǒng)。
優(yōu)選地,還包括:
在所述壓縮文件傳輸完成后,對(duì)所述壓縮文件添加壓縮標(biāo)志。
優(yōu)選地,在篩選出具有目標(biāo)后綴名的第一目標(biāo)文件之前,還包括:
判斷全部所述待上傳文件所占的存儲(chǔ)空間和當(dāng)前網(wǎng)絡(luò)帶寬的關(guān)系是否滿足預(yù)設(shè)關(guān)系;
如果是,則進(jìn)入篩選出具有目標(biāo)后綴名的第一目標(biāo)文件的步驟。
優(yōu)選地,所述將所述壓縮文件和其余待上傳文件傳輸至對(duì)象存儲(chǔ)系統(tǒng)具體包括:
對(duì)各所述壓縮文件所占的存儲(chǔ)空間和各所述其余待上傳文件所占的存儲(chǔ)空間進(jìn)行排序;
按照由小到大的順序?qū)⑺鰤嚎s文件和所述其余待上傳文件傳輸所述對(duì)象存儲(chǔ)系統(tǒng)。
優(yōu)選地,其特征在于,還包括:
在獲取到用戶的下載指令后,根據(jù)所述下載指令將所述對(duì)象存儲(chǔ)系統(tǒng)中的待下載文件傳輸至客戶端;
遍歷所述待下載文件,篩選出具有所述目標(biāo)后綴名的第二目標(biāo)文件;
判斷所述第二目標(biāo)文件是否經(jīng)過(guò)壓縮;
如果是,則利用所述lepton壓縮工具將所述第二目標(biāo)文件進(jìn)行解壓得到解壓文件。
為解決上述技術(shù)問(wèn)題,本發(fā)明還提供一種應(yīng)用于對(duì)象存儲(chǔ)系統(tǒng)的文件傳輸裝置,包括:
第一遍歷模塊,用于遍歷待上傳文件,篩選出具有目標(biāo)后綴名的第一目標(biāo)文件,其中,所述目標(biāo)后綴名為jpg/jpeg;
壓縮模塊,用于利用lepton壓縮工具將所述第一目標(biāo)文件進(jìn)行壓縮得到壓縮文件;
上傳模塊,用于將所述壓縮文件和其余待上傳文件傳輸至對(duì)象存儲(chǔ)系統(tǒng)。
優(yōu)選地,還包括:
添加模塊,用于在所述壓縮文件傳輸完成后,對(duì)所述壓縮文件添加壓縮標(biāo)志。
優(yōu)選地,還包括:
第一判斷模塊,用于判斷全部所述待上傳文件所占的存儲(chǔ)空間和當(dāng)前網(wǎng)絡(luò)帶寬的關(guān)系是否滿足預(yù)設(shè)關(guān)系;
如果是,則觸發(fā)所述第一遍歷模塊執(zhí)行篩選出具有目標(biāo)后綴名的第一目標(biāo)文件的步驟。
優(yōu)選地,所述上傳模塊具體包括:
排序單元,用于對(duì)各所述壓縮文件所占的存儲(chǔ)空間和各所述其余待上傳文件所占的存儲(chǔ)空間進(jìn)行排序;
傳輸單元,用于按照由小到大的順序?qū)⑺鰤嚎s文件和所述其余待上傳文件傳輸所述對(duì)象存儲(chǔ)系統(tǒng)。
優(yōu)選地,還包括:
下載模塊,用于在獲取到用戶的下載指令后,根據(jù)所述下載指令將所述對(duì)象存儲(chǔ)系統(tǒng)中的待下載文件傳輸至客戶端;
第二遍歷模塊,用于遍歷所述待下載文件,篩選出具有所述目標(biāo)后綴名的第二目標(biāo)文件;
第二判斷模塊,用于判斷所述第二目標(biāo)文件是否經(jīng)過(guò)壓縮;
解壓模塊,用于在所述第二判斷模塊的判斷結(jié)果為是的情況下,利用所述lepton壓縮工具將所述第二目標(biāo)文件進(jìn)行解壓得到解壓文件。
本發(fā)明所提供的應(yīng)用于對(duì)象存儲(chǔ)系統(tǒng)的文件傳輸方法,通過(guò)lepton壓縮工具對(duì)第一目標(biāo)文件進(jìn)行壓縮得到壓縮文件,使得在向?qū)ο蟠鎯?chǔ)系統(tǒng)上傳文件時(shí),一部分文件是經(jīng)過(guò)壓縮過(guò)的,因此,能夠大幅度減少網(wǎng)絡(luò)傳輸數(shù)據(jù)所需的帶寬,提高jpeg圖像數(shù)據(jù)的傳輸速率。此外,本發(fā)明所提供的應(yīng)用于對(duì)象存儲(chǔ)系統(tǒng)的文件傳輸裝置,亦具有上述效果。
附圖說(shuō)明
為了更清楚地說(shuō)明本發(fā)明實(shí)施例,下面將對(duì)實(shí)施例中所需要使用的附圖做簡(jiǎn)單的介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實(shí)施例提供的一種應(yīng)用于對(duì)象存儲(chǔ)系統(tǒng)的文件傳輸方法的流程圖;
圖2為本發(fā)明實(shí)施例提供的另一種應(yīng)用于對(duì)象存儲(chǔ)系統(tǒng)的文件傳輸方法的流程圖;
圖3為本發(fā)明實(shí)施例提供的一種應(yīng)用于對(duì)象存儲(chǔ)系統(tǒng)的文件傳輸裝置的結(jié)構(gòu)圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下,所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)范圍。
本發(fā)明的核心是提供一種應(yīng)用于對(duì)象存儲(chǔ)系統(tǒng)的文件傳輸方法及裝置,用于降低傳輸網(wǎng)絡(luò)的壓力,提高傳輸效率。
為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面結(jié)合附圖和具體實(shí)施方式對(duì)本發(fā)明作進(jìn)一步的詳細(xì)說(shuō)明。
圖1為本發(fā)明實(shí)施例提供的一種應(yīng)用于對(duì)象存儲(chǔ)系統(tǒng)的文件傳輸方法的流程圖。如圖1所示,應(yīng)用于對(duì)象存儲(chǔ)系統(tǒng)的文件傳輸方法包括:
s10:遍歷待上傳文件,篩選出具有目標(biāo)后綴名的第一目標(biāo)文件,其中,目標(biāo)后綴名為jpg/jpeg。
可以理解的是,待上傳文件的類型有很多種,例如數(shù)據(jù)型的文件,圖像型的文件等。尤其是圖像型文件,在傳輸過(guò)程中會(huì)占用大量的網(wǎng)絡(luò)帶寬,導(dǎo)致傳輸時(shí)間過(guò)程,傳輸效率低的問(wèn)題。本實(shí)施例中,將目標(biāo)后綴名為jpg/jpeg的文件從待上傳文件中篩選出來(lái)作為第一目標(biāo)文件。
s11:利用lepton壓縮工具將第一目標(biāo)文件進(jìn)行壓縮得到壓縮文件。
為了降低傳輸?shù)臄?shù)據(jù)量,本實(shí)施例采用lepton壓縮工具實(shí)現(xiàn)文件的壓縮。lepton壓縮工具是dropbox公司提供的一種開源壓縮工具,能夠?qū)哂泻缶Y名為jpg/jpeg的圖像進(jìn)行壓縮,該壓縮工具對(duì)jpeg圖像的平均壓縮率為22%,從而大幅度減少網(wǎng)絡(luò)傳輸數(shù)據(jù)所需的帶寬,提高jpeg圖像數(shù)據(jù)的傳輸速率。
s12:將壓縮文件和其余待上傳文件傳輸至對(duì)象存儲(chǔ)系統(tǒng)。
可以理解的是,其余待上傳文件不需要壓縮,因此會(huì)直接傳輸給上傳線程池進(jìn)行上傳,當(dāng)?shù)谝荒繕?biāo)文件經(jīng)過(guò)壓縮后形成壓縮文件,此時(shí),該壓縮文件可以直接傳輸給上傳線程池進(jìn)行上傳。
作為一種優(yōu)選地實(shí)施方式,s12具體包括:
對(duì)各壓縮文件所占的存儲(chǔ)空間和各其余待上傳文件所占的存儲(chǔ)空間進(jìn)行排序;
按照由小到大的順序?qū)嚎s文件和其余待上傳文件傳輸對(duì)象存儲(chǔ)系統(tǒng)。
可以理解的是,所占的存儲(chǔ)空間越小,則所需的傳輸時(shí)間就會(huì)越短,按照所占的存儲(chǔ)空間進(jìn)行排列上傳,有助于在確定的時(shí)間范圍內(nèi),傳輸較多的文件。例如,傳輸過(guò)程中,網(wǎng)絡(luò)突然癱瘓,則前期傳輸?shù)奈募嫉拇鎯?chǔ)空間越小,對(duì)象存儲(chǔ)系統(tǒng)中獲得的文件數(shù)量就會(huì)越多。
本實(shí)施例提供的應(yīng)用于對(duì)象存儲(chǔ)系統(tǒng)的文件傳輸方法,通過(guò)lepton壓縮工具對(duì)第一目標(biāo)文件進(jìn)行壓縮得到壓縮文件,使得在向?qū)ο蟠鎯?chǔ)系統(tǒng)上傳文件時(shí),一部分文件是經(jīng)過(guò)壓縮過(guò)的,因此,能夠大幅度減少網(wǎng)絡(luò)傳輸數(shù)據(jù)所需的帶寬,提高jpeg圖像數(shù)據(jù)的傳輸速率。
圖2為本發(fā)明實(shí)施例提供的另一種應(yīng)用于對(duì)象存儲(chǔ)系統(tǒng)的文件傳輸方法的流程圖。如圖2所示,作為一種優(yōu)選地實(shí)施方式,還包括:
s20:在壓縮文件傳輸完成后,對(duì)壓縮文件添加壓縮標(biāo)志。
由于對(duì)象存儲(chǔ)系統(tǒng)中存儲(chǔ)有大量的文件,而這些文件不僅類型不同,而且同一類型的文件中,可能有的經(jīng)過(guò)了壓縮,有的沒(méi)有經(jīng)過(guò)壓縮。為了便于區(qū)別,本實(shí)施例中對(duì)經(jīng)過(guò)壓縮的文件添加壓縮標(biāo)志。在此基礎(chǔ)上,可以通過(guò)判斷文件是否有壓縮標(biāo)志來(lái)確定該文件是否被壓縮過(guò)。
作為一種優(yōu)選地實(shí)施方式,在篩選出具有目標(biāo)后綴名的第一目標(biāo)文件之前,還包括:
判斷全部待上傳文件所占的存儲(chǔ)空間和當(dāng)前網(wǎng)絡(luò)帶寬的關(guān)系是否滿足預(yù)設(shè)關(guān)系;
如果是,則進(jìn)入篩選出具有目標(biāo)后綴名的第一目標(biāo)文件的步驟。
在具體實(shí)施中,如果當(dāng)前網(wǎng)絡(luò)帶寬足夠,且待上傳文件所占的存儲(chǔ)空間均很小,則這種情況下,就無(wú)需對(duì)第一目標(biāo)文件進(jìn)行壓縮,這是因?yàn)?,壓縮的過(guò)程也需要時(shí)間,而在網(wǎng)絡(luò)帶寬足夠的情況下,該時(shí)間有可能就能完成對(duì)第一目標(biāo)文件的傳輸。
因此,本實(shí)施例中,首先判斷全部待上傳文件所占的存儲(chǔ)空間從而確定所需的網(wǎng)絡(luò)帶寬,通過(guò)所需的網(wǎng)絡(luò)帶寬和當(dāng)前網(wǎng)絡(luò)帶寬的關(guān)系就可以確定出是否有必要對(duì)第一目標(biāo)文件壓縮??梢岳斫獾氖?,預(yù)設(shè)關(guān)系需要預(yù)先確定,至于預(yù)設(shè)關(guān)系的具體內(nèi)容,本實(shí)施例不再贅述。
如圖2所示,作為一種優(yōu)選地實(shí)施方式,還包括:
s21:在獲取到用戶的下載指令后,根據(jù)下載指令將對(duì)象存儲(chǔ)系統(tǒng)中的待下載文件傳輸至客戶端。
s22:遍歷待下載文件,篩選出具有目標(biāo)后綴名的第二目標(biāo)文件。
s23:判斷第二目標(biāo)文件是否經(jīng)過(guò)壓縮,如果是,進(jìn)入s24。
s24:利用lepton壓縮工具將第二目標(biāo)文件進(jìn)行解壓得到解壓文件。
文件的傳輸可以為上傳,也可以為下載,上文中步驟s10-s12為上傳過(guò)程,而步驟s21-s22實(shí)現(xiàn)下載過(guò)程??梢岳斫獾氖?,待下載文件與待上傳文件可以是完全相同,也可以是完全不同,也可以是部分相同,因此,第二目標(biāo)文件與第一目標(biāo)文件也可以是完全相同,也可以是完全不同,也可以是部分相同。通過(guò)下載和解壓可以將對(duì)應(yīng)的文件從對(duì)象存儲(chǔ)系統(tǒng)傳輸至客戶端。
在上文中對(duì)于由于應(yīng)用于對(duì)象存儲(chǔ)系統(tǒng)的文件傳輸方法對(duì)應(yīng)實(shí)施例進(jìn)行了詳細(xì)的描述,本發(fā)明還提供一種應(yīng)用于對(duì)象存儲(chǔ)系統(tǒng)的文件傳輸裝置。由于裝置部分的實(shí)施例與方法部分的實(shí)施例相互對(duì)應(yīng),因此裝置部分的實(shí)施例請(qǐng)參見(jiàn)方法部分的實(shí)施例的描述,這里暫不贅述。
圖3為本發(fā)明實(shí)施例提供的一種應(yīng)用于對(duì)象存儲(chǔ)系統(tǒng)的文件傳輸裝置的結(jié)構(gòu)圖。如圖3所示,包括:
第一遍歷模塊10,用于遍歷待上傳文件,篩選出具有目標(biāo)后綴名的第一目標(biāo)文件,其中,目標(biāo)后綴名為jpg/jpeg;
壓縮模塊11,用于利用lepton壓縮工具將第一目標(biāo)文件進(jìn)行壓縮得到壓縮文件;
上傳模塊12,用于將壓縮文件和其余待上傳文件傳輸至對(duì)象存儲(chǔ)系統(tǒng)。
本實(shí)施例提供的應(yīng)用于對(duì)象存儲(chǔ)系統(tǒng)的文件傳輸裝置,通過(guò)lepton壓縮工具對(duì)第一目標(biāo)文件進(jìn)行壓縮得到壓縮文件,使得在向?qū)ο蟠鎯?chǔ)系統(tǒng)上傳文件時(shí),一部分文件是經(jīng)過(guò)壓縮過(guò)的,因此,能夠大幅度減少網(wǎng)絡(luò)傳輸數(shù)據(jù)所需的帶寬,提高jpeg圖像數(shù)據(jù)的傳輸速率。
作為一種優(yōu)選地實(shí)施方式,還包括:
添加模塊,用于在壓縮文件傳輸完成后,對(duì)壓縮文件添加壓縮標(biāo)志。
作為一種優(yōu)選地實(shí)施方式,還包括:
第一判斷模塊,用于判斷全部待上傳文件所占的存儲(chǔ)空間和當(dāng)前網(wǎng)絡(luò)帶寬的關(guān)系是否滿足預(yù)設(shè)關(guān)系;
如果是,則觸發(fā)第一遍歷模塊執(zhí)行篩選出具有目標(biāo)后綴名的第一目標(biāo)文件的步驟。
作為一種優(yōu)選地實(shí)施方式,上傳模塊具體包括:
排序單元,用于對(duì)各壓縮文件所占的存儲(chǔ)空間和各其余待上傳文件所占的存儲(chǔ)空間進(jìn)行排序;
傳輸單元,用于按照由小到大的順序?qū)嚎s文件和其余待上傳文件傳輸對(duì)象存儲(chǔ)系統(tǒng)。
作為一種優(yōu)選地實(shí)施方式,還包括:
下載模塊,用于在獲取到用戶的下載指令后,根據(jù)下載指令將對(duì)象存儲(chǔ)系統(tǒng)中的待下載文件傳輸至客戶端;
第二遍歷模塊,用于遍歷待下載文件,篩選出具有目標(biāo)后綴名的第二目標(biāo)文件;
第二判斷模塊,用于判斷第二目標(biāo)文件是否經(jīng)過(guò)壓縮;
解壓模塊,用于在第二判斷模塊的判斷結(jié)果為是的情況下,利用lepton壓縮工具將第二目標(biāo)文件進(jìn)行解壓得到解壓文件。
以上對(duì)本發(fā)明所提供的應(yīng)用于對(duì)象存儲(chǔ)系統(tǒng)的文件傳輸方法及裝置進(jìn)行了詳細(xì)介紹。說(shuō)明書中各個(gè)實(shí)施例采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說(shuō)明的都是與其他實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似部分互相參見(jiàn)即可。對(duì)于實(shí)施例公開的裝置而言,由于其與實(shí)施例公開的方法相對(duì)應(yīng),所以描述的比較簡(jiǎn)單,相關(guān)之處參見(jiàn)方法部分說(shuō)明即可。應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明原理的前提下,還可以對(duì)本發(fā)明進(jìn)行若干改進(jìn)和修飾,這些改進(jìn)和修飾也落入本發(fā)明權(quán)利要求的保護(hù)范圍內(nèi)。
還需要說(shuō)明的是,在本說(shuō)明書中,諸如第一和第二等之類的關(guān)系術(shù)語(yǔ)僅僅用來(lái)將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開來(lái),而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語(yǔ)“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過(guò)程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒(méi)有明確列出的其他要素,或者是還包括為這種過(guò)程、方法、物品或者設(shè)備所固有的要素。在沒(méi)有更多限制的情況下,由語(yǔ)句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過(guò)程、方法、物品或者設(shè)備中還存在另外的相同要素。