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