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

一種基于云壓縮鏈接的壓縮和解壓縮方法、裝置及系統(tǒng)的制作方法

文檔序號:7705826閱讀:163來源:國知局
專利名稱:一種基于云壓縮鏈接的壓縮和解壓縮方法、裝置及系統(tǒng)的制作方法
技術領域
本發(fā)明涉及壓縮和解壓縮技術,特別是涉及一種基于云壓縮鏈接的壓縮方法、一種基于云壓縮鏈接的解壓縮方法、一種基于云壓縮鏈接的壓縮裝置、一種基于云壓縮鏈接的解壓縮裝置及一種基于云壓縮鏈接的系統(tǒng)。
背景技術
隨著互聯網技術的發(fā)展,越來越多的人通過網絡進行溝通和交流,并利用網絡進行文件的傳輸,如使用電子郵箱、即時通訊工具等方式分享文件。但是,人們在互聯網上進行文件分享時,會遇到各種各樣的情況。例如,文件太大而無法通過郵箱發(fā)送,或者使用即時通訊工具傳輸大文件,由于網速等原因往往需等待更多時間,等等問題,制約了文件在互聯網上的分享。壓縮軟件的出現在一定程度上緩解了上述問題。傳統(tǒng)的壓縮軟件通過將大文件進行壓縮,能夠把文件體積縮小很多,節(jié)省了帶寬,方便了分享。但是,壓縮軟件仍解決不了對文件上傳有限制的情況。例如一個論壇不允許上傳附件,或者由于用戶積分不夠,即使極小的IK大的文件也不允許上傳,這時候分享文件很困難;在微博上想給大家分享一個PPT,但是該微博不支持文件上傳功能,僅支持圖片和音樂的上傳;在即時通訊的群里,想要方便地直接發(fā)一個文件給大家,但群里不能上傳文件;等等。在上述列舉的這些情況或者其他類似的情況下,由于不允許將文件作為附件進行上傳,因此限制了文件在網絡上的分享。

發(fā)明內容
本發(fā)明所要解決的技術問題是提供一種基于云壓縮鏈接的壓縮和解壓縮方法、裝置及系統(tǒng),以解決現有技術中不允許將文件作為附件上傳,限制文件在網絡上分享的問題。為了解決上述問題,本發(fā)明公開了一種基于云壓縮鏈接的壓縮方法,包括觸發(fā)云壓縮請求;客戶端依據所述云壓縮請求對要壓縮的本地文件數據進行自動壓縮,并將壓縮后的數據上傳至服務器作為云壓縮數據存儲;服務器依據所述云壓縮請求生成對應的云壓縮鏈接,并將該云壓縮鏈接發(fā)送給客戶端;服務器對云壓縮數據建立與云壓縮鏈接的映射關系。其中,所述云壓縮鏈接包含傳輸協議和文件標識信息,其中所述文件標識信息對應服務器中云壓縮數據的基本文件信息,所述基本文件信息包含文件目錄結構。
其中,所述要壓縮的本地文件數據為單個文件,或者為多個文件,或者為單個文件夾,或者為多個文件夾。其中,如果所述云壓縮請求為先壓縮并上傳數據,再生成云壓縮鏈接,則所述服務器在客戶端上傳完畢之后,再依據所述請求生成對應的云壓縮鏈接;如果所述云壓縮請求為先生成云壓縮鏈接,則所述服務器在接收到所述請求后依據所述請求生成對應的云壓縮鏈接,并將該云壓縮鏈接立即發(fā)送給客戶端,同時接收客戶端上傳的云壓縮數據。優(yōu)選的,如果所述云壓縮請求為先生成云壓縮鏈接,則還包括在客戶端未上傳完畢的時候,另一客戶端通過點擊云壓縮鏈接從所述服務器下載已經上傳的部分云壓縮數據。優(yōu)選的,所述觸發(fā)云壓縮請求之后,還包括客戶端將要壓縮的本地文件的基本文件信息上傳給服務器;服務器根據所述基本文件信息查詢是否存儲了相同的文件,并將查詢結果返回給客戶端,所述查詢結果中包含服務器未存儲的部分文件的基本文件信息;客戶端依據所述查詢結果,將服務器未存儲的本地文件數據進行自動壓縮,并將壓縮后的云壓縮數據上傳至服務器存儲;如果服務器已存儲客戶端要壓縮的所有文件,則服務器直接將對應的云壓縮鏈接發(fā)送給客戶端。優(yōu)選的,客戶端將壓縮后的云壓縮數據分塊上傳至服務器存儲;若客戶端上傳部分數據后發(fā)生上傳失敗,則所述方法還包括客戶端重新開始上傳數據,如果服務器上存在相同的數據塊,則客戶端不再上傳所述相同的數據塊;或者,客戶端在上傳失敗的斷點處做標記,然后從所述標記的斷點處繼續(xù)上傳數據。優(yōu)選的,所述觸發(fā)云壓縮請求之后,還包括客戶端在壓縮前添加密碼和/或注釋信息;或者,服務器存儲云壓縮數據時添加密碼和/或注釋信息。優(yōu)選的,所述觸發(fā)云壓縮請求之后,還包括客戶端智能判斷壓縮率并自動調整壓縮級別進行壓縮。本發(fā)明還提供了一種基于云壓縮鏈接的解壓縮方法,包括通過打開云壓縮鏈接觸發(fā)云解壓請求;客戶端從服務器上獲取與所述云壓縮鏈接對應的云壓縮數據的基本文件信息,所述基本文件信息包含文件目錄結構;客戶端根據所述云壓縮鏈接,從服務器上下載對應的云壓縮數據;客戶端依據所述基本文件信息對下載到本地的云壓縮數據進行解壓,得到原始文件數據。優(yōu)選的,所述通過打開云壓縮鏈接觸發(fā)云解壓請求后,還包括客戶端從服務器指定的其他客戶端獲取與所述云壓縮鏈接對應的云壓縮數據的基本文件信息,所述基本文件信息包含文件目錄結構;客戶端根據所述云壓縮鏈接,從所述其他客戶端上下載對應的云壓縮數據;客戶端依據所述基本文件信息對下載到本地的云壓縮數據進行解壓,得到原始文件數據。其中,所述云壓縮鏈接包含傳輸協議和文件標識信息,其中所述文件標識信息對應服務器中云壓縮數據的基本文件信息,所述基本文件信息包含文件目錄結構。優(yōu)選的,所述客戶端下載全部或部分云壓縮數據。本發(fā)明還提供了一種基于云壓縮鏈接的壓縮裝置,包括客戶端裝置和服務器裝
7置,其中,所述客戶端裝置包括云壓縮觸發(fā)單元,用于觸發(fā)云壓縮請求;云壓縮單元,用于依據所述云壓縮請求對要壓縮的本地文件數據進行自動壓縮, 并將壓縮后的數據上傳至服務器作為云壓縮數據存儲;云壓縮鏈接接收單元,用于從服務器接收對應的云壓縮鏈接;所述服務器裝置包括云壓縮數據存儲單元,用于存儲客戶端上傳的云壓縮數據;云壓縮鏈接生成單元,用于依據所述云壓縮請求生成對應的云壓縮鏈接,并將該云壓縮鏈接發(fā)送給客戶端;映射單元,用于對云壓縮數據建立與云壓縮鏈接的映射關系。其中,所述云壓縮鏈接包含傳輸協議和文件標識信息,其中所述文件標識信息對應服務器中云壓縮數據的基本文件信息,所述基本文件信息包含文件目錄結構。其中,所述要壓縮的本地文件數據為單個文件,或者為多個文件,或者為單個文件夾,或者為多個文件夾。優(yōu)選的,如果所述云壓縮請求為先壓縮并上傳數據,再生成云壓縮鏈接,則所述服務器裝置中的云壓縮鏈接生成單元在客戶端上傳完畢之后,再依據所述請求生成對應的云壓縮鏈接;如果所述云壓縮請求為先生成云壓縮鏈接,則所述服務器裝置中的云壓縮鏈接生成單元在接收到所述請求后依據所述請求生成對應的云壓縮鏈接,并將該云壓縮鏈接立即發(fā)送給客戶端,同時所述服務器裝置中的云壓縮數據存儲單元接收客戶端上傳的云壓縮數據并存儲。優(yōu)選的,所述客戶端裝置還包括基本文件信息上傳單元,用于將要壓縮的本地文件的基本文件信息上傳給服務器;所述云壓縮單元還用于依據服務器的查詢結果,將服務器未存儲的本地文件數據進行自動壓縮,并將壓縮后的云壓縮數據上傳至服務器存儲;所述服務器裝置還包括查詢單元,用于根據所述基本文件信息查詢是否存儲了相同的文件,并將查詢結果返回給客戶端,所述查詢結果中包含服務器未存儲的部分文件的基本文件信息;如果服務器已存儲客戶端要壓縮的所有文件,則直接將對應的云壓縮鏈接發(fā)送給客戶端。優(yōu)選的,所述客戶端裝置的云壓縮單元將壓縮后的云壓縮數據分塊上傳至服務器存儲;所述客戶端裝置還包括斷點續(xù)傳單元,用于當所述云壓縮單元上傳部分數據后發(fā)生上傳失敗,并重新開始上傳數據時,如果服務器上存在相同的數據塊,則不再上傳所述相同的數據塊;或者,在上傳失敗的斷點處做標記,然后從所述標記的斷點處繼續(xù)上傳數據。優(yōu)選的,所述客戶端裝置還包括加密單元,用于在云壓縮單元進行壓縮前添加密碼;和/或,注釋單元,用于在云壓縮單元進行壓縮前添加注釋信息。優(yōu)選的,所述服務器裝置還包括加密單元,用于存儲云壓縮數據時添加密碼;
8
和/或,注釋單元,用于存儲云壓縮數據時添加注釋信息。優(yōu)選的,所述客戶端裝置還包括壓縮級別調整單元,用于智能判斷壓縮率并自動調整壓縮級別;所述云壓縮單元以壓縮級別調整單元調整的壓縮級別進行壓縮。本發(fā)明還提供了一種基于云壓縮鏈接的解壓縮裝置,包括客戶端裝置和服務器裝置,其中,所述客戶端裝置包括云解壓觸發(fā)單元,用于通過打開云壓縮鏈接觸發(fā)云解壓請求;基本文件信息獲取單元,用于從服務器上獲取與所述云壓縮鏈接對應的云壓縮數據的基本文件信息,所述基本文件信息包含文件目錄結構;下載單元,用于根據所述云壓縮鏈接,從服務器上下載對應的云壓縮數據;解壓縮單元,用于依據所述基本文件信息對下載到本地的云壓縮數據進行解壓, 得到原始文件數據;所述服務器裝置包括基本文件信息查詢單元,用于查找與所述云壓縮鏈接對應的云壓縮數據的基本文件信息,并返回給客戶端;云壓縮數據查詢單元,用于根據所述基本文件信息查找對應的云壓縮數據,并返回給客戶端。優(yōu)選的,所述客戶端裝置的基本文件信息獲取單元還用于從服務器指定的其他客戶端獲取與所述云壓縮鏈接對應的云壓縮數據的基本文件信息,所述基本文件信息包含文件目錄結構;所述客戶端裝置的下載單元還用于根據所述云壓縮鏈接,從所述其他客戶端上下載對應的云壓縮數據。本發(fā)明還提供了一種基于云壓縮鏈接的系統(tǒng),包括上述的基于云壓縮鏈接的壓縮裝置,和,上述的基于云壓縮鏈接的解壓縮裝置。與現有技術相比,本發(fā)明包括以下優(yōu)點首先,本發(fā)明提出一種新式的壓縮方法,可以將本地文件自動壓縮并上傳到網絡服務器上存儲,服務器對應云壓縮數據生成云壓縮鏈接再發(fā)送給客戶端,客戶端用戶可以把云壓縮鏈接發(fā)給其他的客戶端用戶。用戶通過點擊所述云壓縮鏈接,就可以直接從網絡上下載對應的云壓縮數據并進行解壓。因此,本發(fā)明所述方法可將任意大小的文件轉化為云壓縮鏈接,方便發(fā)送給他人,節(jié)省傳輸帶寬,易于分享,在幾乎任何可以輸入字符的地方, 如即時通訊窗口、微博、論壇、郵件里等,都可以分享文件而無需上傳附件。其次,本發(fā)明與網盤上傳文件的方式相比,無需用戶手動壓縮文件,然后再手動將壓縮文件上傳至網絡,而是將壓縮和上傳結合在一起一步到位,節(jié)省了操作和壓縮上傳時間,非常方便。再次,本發(fā)明也無需用戶經過打開瀏覽器、輸入網址、登錄、上傳等復雜的網盤操作步驟,而是在客戶端安裝云壓縮軟件,通過直接點擊右鍵菜單或者打開客戶端的云壓縮軟件等方式直接觸發(fā)云壓縮,因此本發(fā)明操作起來更加方便直接。最后,本發(fā)明還具有智能選取壓縮級別、支持斷點續(xù)傳、可添加密碼和注釋信息等等優(yōu)點,這些優(yōu)點將在具體實施方式
中詳細說明。


圖1是本發(fā)明實施例所述一種基于云壓縮鏈接的壓縮方法流程圖;圖2是本發(fā)明實施例所述一種基于云壓縮鏈接的解壓縮方法流程圖;圖3是本發(fā)明實施例所述一種基于云壓縮鏈接的壓縮裝置結構圖;圖4是本發(fā)明實施例所述一種基于云壓縮鏈接的解壓縮裝置結構圖;圖5. 1至5. 8是本發(fā)明實施例中用系統(tǒng)右鍵菜單生成云壓縮鏈接的過程示意圖;圖6是本發(fā)明實施例中用系統(tǒng)右鍵菜單一鍵生成云壓縮鏈接的過程示意圖;圖7是本發(fā)明實施例中用云壓縮軟件主窗口生成云壓縮鏈接的過程示意圖;圖8. 1至8. 3是本發(fā)明實施例中用戶打開一個云壓縮鏈接的狀態(tài)示意圖;圖9. 1至9. 2是本發(fā)明實施例中點擊直接解壓一個云壓縮鏈接的過程示意圖;圖10是本發(fā)明實施例中在瀏覽器中右鍵點擊云壓縮鏈接的狀態(tài)示意圖。
具體實施例方式為使本發(fā)明的上述目的、特征和優(yōu)點能夠更加明顯易懂,下面結合附圖和具體實施方式
對本發(fā)明作進一步詳細的說明。本發(fā)明提出一種新式的壓縮方法,可以將本地文件自動壓縮并上傳到網絡服務器上存儲,服務器對應云壓縮數據生成云壓縮鏈接再發(fā)送給客戶端,客戶端用戶可以把云壓縮鏈接發(fā)給其他的客戶端用戶。用戶通過點擊所述云壓縮鏈接,就可以直接從網絡上下載對應的云壓縮數據并進行解壓。以下均把這種采用將數據流上傳到服務器并生成云壓縮鏈接的新型壓縮方式稱為云壓縮,壓縮并上傳到服務器后的云壓縮數據稱為云壓縮文件。下面通過實施例對這種新型壓縮方式進行詳細說明。參照圖1,是本發(fā)明實施例所述一種基于云壓縮鏈接的壓縮方法流程圖。步驟11,觸發(fā)云壓縮請求;一般通過用戶操作觸發(fā)云壓縮請求,用戶在客戶端選擇要進行云壓縮的本地文件數據,然后通過一定的操作觸發(fā)對該文件數據進行云壓縮。其中,所述“一定的操作”可以是點擊右鍵菜單,選擇“添加到云壓縮文件”選項進行觸發(fā);也可以是打開客戶端安裝的云壓縮軟件主窗口,選擇文件并點擊“云鏈接”選項進行觸發(fā);或者,也可以是其他的操作觸發(fā)方式,可根據實際應用進行具體實現。用戶在客戶端觸發(fā)云壓縮請求后,客戶端和服務器分別進行步驟121和步驟122 的處理步驟121,客戶端依據所述云壓縮請求對要壓縮的本地文件數據進行自動壓縮,并將壓縮后的數據上傳至服務器作為云壓縮數據存儲;即客戶端將壓縮和上傳結合在一起自動完成;其中,所述要壓縮的本地文件數據可以為單個文件,也可以為多個文件,還可以為單個文件夾或多個文件夾。即可以將單個文件或多個文件、單個文件夾或多個文件夾自動壓縮為一個云壓縮文件,并在服務器上進行存儲。該云壓縮文件中可能包含多個文件或文件夾的壓縮包。上述的云壓縮數據可以指所述的云壓縮文件。
進一步的,要壓縮的本地文件數據可以是壓縮前的文件或文件夾,還可以是在本地已經進行過壓縮的文件。步驟122,服務器依據所述云壓縮請求生成對應的云壓縮鏈接,并將該云壓縮鏈接發(fā)送給客戶端;服務器會對應每個云壓縮文件生成唯一的云壓縮鏈接,并把這個鏈接發(fā)給請求的客戶端。本實施例中,所述云壓縮鏈接是一個超鏈接,這個超鏈接可以包含傳輸協議和文件標識信息,所述文件標識信息可以是唯一云壓縮文件序列號。此外所述云壓縮鏈接中還可以包括文件名、文件大小、網絡服務器地址(用于客戶端找到對應的服務器)等信息,這些信息由客戶端上傳給服務器。其中唯一云壓縮文件序列號可采用哈希(Hash)算法或MD5 等算法生成,如果是哈希算法則可以直接用Hash值表示。例如,一個包含傳輸協議、唯一云壓縮文件序列號、文件名、文件大小的云壓縮鏈接表示如下cloudzip: "57C4862BB8058ADED8CAlAB8667A2C59BB5EE0B3&name = Avatar+1080p&length = 7062222453其中,所述唯一云壓縮文件序列號對應服務器中云壓縮數據的基本文件信息,即對應著服務器上數據庫中的云壓縮文件的基本文件信息。所述基本文件信息包括文件的序列號(通常以Hash值為序列號)、文件的名稱、文件夾的目錄結構、文件的大小等信息。根據實際應用的不同,上述步驟121和122可以同時進行,也可以先后進行,這將在后面的內容中進行詳細說明。服務器生成云壓縮鏈接后,服務器還繼續(xù)執(zhí)行步驟13。步驟13,服務器對云壓縮數據建立與云壓縮鏈接的映射關系。即在服務器上建立云壓縮文件與云壓縮鏈接的對應關系。經過上述步驟的處理,可以把一個文件數據壓縮成為一個超鏈接,并可以把該超鏈接發(fā)送到幾乎任何地方??蛻舳擞脩酎c擊該超鏈接,就可以直接從網絡上下載對應的云壓縮文件并進行解壓,從而利用互聯網實現了文件分享。因此,使用本發(fā)明實施例所述方法,任意大小的文件,無論是10M、100M還是500M、1G,只要服務器空間足夠大,帶寬足夠高, 均可以壓縮成一個超鏈接,非常便于發(fā)送給他人,節(jié)省傳輸帶寬,易于分享,在幾乎任何可以輸入字符的地方,無論是在即時通訊軟件上,還是在微博、論壇、郵件里,都可以分享文件而不占附件空間,無需上傳。此外,將上述實施例所述方法與網盤上傳文件的方式相比,還具有以下區(qū)別及優(yōu)占.
^ \\\ ·第一,網盤上傳文件的方式在多數情況下為了節(jié)省傳輸時間,需要用戶先手動使用傳統(tǒng)的壓縮軟件對本地文件進行壓縮,生成一個壓縮包,然后再手動使用網盤上傳壓縮包。而本發(fā)明實施例將壓縮和上傳結合在一起一步到位,用戶點擊云壓縮后就可以獲得一個超鏈接,無需手動壓縮文件然后再手動上傳等操作,節(jié)省了操作和壓縮上傳時間,非常方便。第二,網盤上傳文件的方式需要用戶注冊,用戶需經過打開瀏覽器、輸入網址、登錄、上傳等復雜的網盤操作步驟。而本發(fā)明實施例所述方法是在客戶端安裝云壓縮軟件,通過直接點擊右鍵菜單或者打開客戶端的云壓縮軟件等方式直接觸發(fā)云壓縮,因此本發(fā)明操作起來更加方便直接?;趫D1所示實施例的內容,本發(fā)明還可實現更多的功能,并具有更多的優(yōu)點,下面分別說明。1、步驟121和122可以同時執(zhí)行,也可以先后執(zhí)行;如果所述請求為先壓縮并上傳數據,再生成云壓縮鏈接,則所述服務器在客戶端上傳完畢之后,再依據所述請求生成對應的云壓縮鏈接;即步驟121先執(zhí)行,待步驟121執(zhí)行完畢之后,步驟122再開始執(zhí)行;如果所述請求為先生成云壓縮鏈接,則所述服務器在接收到所述請求后依據所述請求生成對應的云壓縮鏈接,并將該云壓縮鏈接立即發(fā)送給客戶端,同時接收客戶端上傳的云壓縮數據;即步驟121和122可以同時執(zhí)行,也可以先執(zhí)行步驟122再執(zhí)行步驟121。對于上述第二種情況,在未將云壓縮過程中的數據流上傳到服務器上時,可以先生成云壓縮鏈接,然后再繼續(xù)上傳數據流,否則對于一些較大文件,可能要等待十幾分鐘才能得到云壓縮鏈接。例如把客戶端的云壓縮軟件最小化到托盤在后臺慢慢傳輸,用戶不用等待就可以先把云壓縮鏈接發(fā)郵件給其他人,其他人看到該郵件時,數據流已經傳輸完畢, 可以正常解壓。例如,生成云壓縮鏈接時如果100M的文件壓縮到50M大小,50M大小的數據在 IMadsl寬帶下需要傳輸8分鐘左右。在先生成云壓縮鏈接后傳輸數據(或同時傳輸數據) 的情況下,只需要十幾秒就可以生成云壓縮鏈接,然后用戶A可以立即把云壓縮鏈接用郵件發(fā)給別人,同時云壓縮在后臺再用8分鐘傳輸數據,而用戶B在幾小時后查看郵件時數據已經傳輸完畢可以解壓。這樣云壓縮的用戶A節(jié)約了 8分鐘時間。2、邊壓縮上傳邊解壓;如果所述請求為先生成云壓縮鏈接,則還可以包括在客戶端未上傳完畢的時候,另一客戶端通過點擊云壓縮鏈接從所述服務器下載已經上傳的部分云壓縮數據。在先生成云壓縮鏈接,然后再繼續(xù)上傳數據流的方式中,可以在未上傳完畢時,解壓云壓縮鏈接的人可以下載上傳了部分的數據流進行解壓操作。這樣能夠讓制作云壓縮鏈接的人和解壓云壓縮鏈接的人在最短的時間內實現壓縮和解壓。例如,在邊上傳云壓縮數據流邊下載數據流進行解壓的情況下,用戶A在把100M 的文件花十幾秒云壓縮后,立即把云壓縮鏈接用郵件附件發(fā)給用戶B,此時云壓縮邊上傳數據流,用戶B可以立即對已經上傳的部分數據流進行下載解壓,雙方都不需要等待。3、服務器避免重復存儲的問題;當使用云壓縮的人特別多之后,服務器上的已存儲文件會有很多重復的。為了避免這種問題,可以在服務器上對文件進行Hash值計算,如果Hash值相同,那么兩個文件完全相同,則可以只在服務器上保存一個文件。在本地客戶端上,對文件進行Hash值計算,通過與服務器上的Hash表進行對比,如果有相同的值,即服務器上已經有相同的文件,則不進行傳輸該文件,進而節(jié)省服務器空間和帶寬。而且,服務器在生成云壓縮鏈接時,如果有用戶已經進行過相同文件的云壓縮, 則服務器上已經存在相同的文件,那么可以省去傳輸該文件,可以瞬間完成云壓縮,只需 1秒。例如一個用戶A云壓縮過100M的“忍者貓.rmvb”,則服務器上已經存在了 “忍者
12貓.rmvb”文件,則用戶B云壓縮“忍者貓.rmvb”時,由于省去了該文件的傳輸過程,僅需1 秒即可得到云壓縮鏈接。上述內容可以通過以下步驟實現在所述觸發(fā)云壓縮請求之后,還包括1)客戶端將要壓縮的本地文件的基本文件信息(包含Hash值)上傳給服務器;2)服務器根據所述基本文件信息查詢是否存儲了相同的文件,并將查詢結果返回給客戶端,所述查詢結果中包含服務器未存儲的部分文件的基本文件信息;即通過Hash值的比較查詢是否存儲相同文件,查詢結果一般包括三種第一種是客戶端要壓縮的所有文件都已在服務器上存儲;第二種時客戶端要壓縮的所有文件都沒有在服務器上存儲;第三種是客戶端要壓縮的所有文件中,有部分文件在服務器上存儲,還有剩余部分的文件沒有在服務器上存儲。3)客戶端依據所述查詢結果,將服務器未存儲的本地文件數據進行自動壓縮,并將壓縮后的云壓縮數據上傳至服務器存儲;4)如果服務器已存儲客戶端要壓縮的所有文件,則服務器直接將對應的云壓縮鏈接發(fā)送給客戶端。4、斷點續(xù)傳;壓縮上傳過程可以支持斷點續(xù)傳,即斷開網絡后,重新連上時可以從斷點處繼續(xù)進行云壓縮。由于文件很大時會有網絡斷開的情況,會造成云壓縮中斷,造成傳輸的部分數據流白傳輸而需要重新傳輸。針對這種問題,可以對大文件的數據進行分塊處理,例如進行分塊Hash值計算,如果服務器上存在相同的數據塊Hash值,則該部分將不用再傳輸,從而實現斷點續(xù)傳,即以斷點續(xù)傳來實現斷點續(xù)壓。此外,也可以直接在斷點處做上數據標記,實現斷點續(xù)傳的云壓縮。上述內容可以通過以下步驟實現客戶端將壓縮后的云壓縮數據分塊上傳至服務器存儲;若客戶端上傳部分數據后發(fā)生上傳失敗,則所述方法還包括客戶端重新開始上傳數據,如果服務器上存在相同的數據塊,則客戶端不再上傳所述相同的數據塊;或者,客戶端在上傳失敗的斷點處做標記,然后從所述標記的斷點處繼續(xù)上傳數據。5、添加密碼;云壓縮可以選擇加密,以實現對云壓縮鏈接的加密,進行解壓云壓縮鏈接的人需要輸入密碼才可以打開,提高了私密性。選擇添加密碼既可以在本地壓縮時加密然后上傳, 也可以在服務器接收到上傳的數據后再加密。上述內容可以通過以下步驟實現所述觸發(fā)云壓縮請求之后,還包括客戶端在壓縮前添加密碼;或者,服務器存儲云壓縮數據時添加密碼。
6、添加注釋;在進行云壓縮時可以選擇添加注釋,以實現對云壓縮鏈接的注釋,注釋可以包括 制作云壓縮鏈接的作者、相關說明等信息,方便下載者查看。這些注釋信息即可以在客戶端壓縮文件時存儲在云壓縮文件內,也可以由客戶端發(fā)送到服務器上并在服務器上存儲。上述內容可以通過以下步驟實現所述觸發(fā)云壓縮請求之后,還包括客戶端在壓縮前添加注釋信息;或者,服務器存儲云壓縮數據時添加注釋信息。7、以不同的壓縮級別進行壓縮;在進行文件壓縮時,可以選用不同的壓縮級別進行壓縮。并且,還可以智能判斷壓縮率而自動以不同的壓縮級別進行壓縮,例如存儲、最快、標準等壓縮級別。例如對于一些壓縮率很低的文件,如rmvb、mp4、mp3等文件,可以直接以存儲壓縮方式上傳數據流,不耗費 CPU。上述內容可以通過以下步驟實現所述觸發(fā)云壓縮請求之后,還包括客戶端智能判斷壓縮率并自動調整壓縮級別進行壓縮。8、云壓縮確認。由于用戶可能會誤操作,例如誤把“添加到云壓縮”文件命令執(zhí)行,從而誤將私密文件上傳到服務器而造成隱私泄露,因此在執(zhí)行云壓縮之前可以讓用戶確認是否云壓縮該文件,以提高操作的準確性。針對上述的云壓縮方法,本發(fā)明實施例還提供了相應的解壓縮方法,如圖2所示。參照圖2,是本發(fā)明實施例所述一種基于云壓縮鏈接的解壓縮方法流程圖。步驟201,通過打開云壓縮鏈接觸發(fā)云解壓請求;步驟202,客戶端從服務器上獲取與所述云壓縮鏈接對應的云壓縮數據的基本文件信息,所述基本文件信息包含文件目錄結構;客戶端將所述云解壓請求發(fā)送給服務器后,服務器查找與所請求的云壓縮鏈接對應的云壓縮數據的基本文件信息,如文件的序列號(通常以Hash值為序列號)、文件的名稱、文件夾的目錄結構、文件的大小等信息。如前所述,所述云壓縮鏈接中可以包含傳輸協議和唯一云壓縮文件序列號,或者還包含文件名和文件大小等信息,其中所述唯一云壓縮文件序列號對應服務器中云壓縮數據的基本文件信息。根據這種對應關系,服務器可以快速查找到對應的基本文件信息,然后返回給客戶端??蛻舳烁鶕掌鞣祷氐幕疚募畔⒖梢垣@得文件目錄結構和文件屬性(文件名、文件大小等)。在實際應用中,用戶在瀏覽器中單擊云壓縮鏈接打開后可以看到該云壓縮文件的內部目錄、文件名、文件大小等基本文件信息,這些基本文件信息即是從服務器上獲得的。這樣,用戶可以打開云壓縮鏈接先查看該云壓縮鏈接的內部文件目錄再決定是否下載并解壓,對于認為沒有價值的文件用戶可以不選擇下載并解壓,這樣就不必下載解壓完再進行刪除了。當然,如果是默認設置,則所述基本文件信息也可以不展示給用戶。
步驟203,客戶端根據所述云壓縮鏈接,從服務器上下載對應的云壓縮數據;服務器可以根據云壓縮鏈接中的唯一云壓縮文件序列號查找到對應的云壓縮數據的基本文件信息,然后依據所述基本文件信息再查找到對應的壓縮文件。進一步的,客戶端可以根據文件目錄結構和文件屬性向服務器發(fā)出下載請求,客戶端可以選擇所述文件目錄結構中的全部文件下載,也可以選擇部分文件下載。服務器根據所述下載請求查找對應的云壓縮文件,并傳輸給客戶端。如果客戶端請求下載部分文件,則服務器根據客戶端請求的文件的序列號或文件名稱等信息,查找到對應的文件并傳給客戶端。上述步驟202和步驟203沒有必然的先后順序。步驟204,客戶端依據所述基本文件信息對下載到本地的云壓縮數據進行解壓,得到原始文件數據??蛻舳诉x擇存放目錄,并按照所述服務器返回的文件目錄結構,在本地的存放目錄下創(chuàng)建目錄結構,并進行解壓。在上述解壓過程中,如果所述云壓縮鏈接設置了密碼,在步驟202之前,還需要用戶輸入密碼,然后服務器進行驗證,驗證通過后,才繼續(xù)執(zhí)行步驟202。基于圖2所示的解壓縮方法,優(yōu)選的,如果很多用戶同時壓縮生成過相同文件的云壓縮鏈接,那么這些用戶在各自的客戶端本地可能擁有相同的壓縮前或解壓后的文件。 因此,在解壓云壓縮鏈接時,數據流可以不只來自于服務器,同樣可以來自于擁有相同原始文件的用戶客戶端上。即相當于構建了一個以云壓縮文件為節(jié)點的P2P網絡,并在服務器上維護每個云壓縮文件的所有客戶端的列表,同時還需要在客戶端本地保存云壓縮鏈接和原始文件目錄數據。這種處理方式將極大減少服務器帶寬占用和提高用戶的下載速度。上述內容可以通過以下步驟實現所述通過打開云壓縮鏈接觸發(fā)云解壓請求后,還包括客戶端從服務器指定的其他客戶端獲取與所述云壓縮鏈接對應的云壓縮數據的基本文件信息,所述基本文件信息包含文件目錄結構;所述服務器指定的其他客戶端即是服務器所維護的列表中的客戶端;客戶端根據所述云壓縮鏈接,從所述其他客戶端上下載對應的云壓縮數據并進行下載;客戶端依據所述基本文件信息對下載到本地的云壓縮數據進行解壓,得到原始文件數據。此外,優(yōu)選的,客戶端可以下載全部或部分的云壓縮數據。如前所述,在先生成云壓縮鏈接,然后再繼續(xù)上傳數據流的方式中,可以在未上傳完畢時,解壓云壓縮鏈接的人可以下載上傳了部分的數據流進行解壓操作。即邊進行壓縮上傳,邊進行下載解壓,這種情況下,客戶端下載的就是部分的云壓縮數據;當上傳完畢后,就可以全部下載下來。還有一種下載部分云壓縮數據的情況,就是客戶端用戶根據基本文件信息(文件目錄結構)只選擇了其中的部分文件進行下載,這種情況下服務器根據客戶端請求的文件的序列號或文件名等信息可以查找到對應的文件,并發(fā)送給客戶端。需要說明的是,對于前述的各方法實施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領域技術人員應該知悉,本發(fā)明并不受所描述的動作順序的限制,因為依據本發(fā)明,某些步驟可以采用其他順序或者同時進行。其次,本領域技術人員也應該知悉,說明書中所描述的實施例均屬于優(yōu)選實施例,所涉及的動作和模塊并不一定是本發(fā)明所必須的。為了使本領域技術人員更加了解本發(fā)明的內容,下面通過圖5至圖10的操作進行說明。1、用系統(tǒng)右鍵菜單生成云壓縮鏈接的過程選擇即將云壓縮的文件
權利要求
1.一種基于云壓縮鏈接的壓縮方法,其特征在于,包括 觸發(fā)云壓縮請求;客戶端依據所述云壓縮請求對要壓縮的本地文件數據進行自動壓縮,并將壓縮后的數據上傳至服務器作為云壓縮數據存儲;服務器依據所述云壓縮請求生成對應的云壓縮鏈接,并將該云壓縮鏈接發(fā)送給客戶端;服務器對云壓縮數據建立與云壓縮鏈接的映射關系。
2.根據權利要求1所述的方法,其特征在于所述云壓縮鏈接包含傳輸協議和文件標識信息,其中所述文件標識信息對應服務器中云壓縮數據的基本文件信息,所述基本文件信息包含文件目錄結構。
3.根據權利要求1所述的方法,其特征在于所述要壓縮的本地文件數據為單個文件,或者為多個文件,或者為單個文件夾,或者為多個文件夾。
4.根據權利要求1所述的方法,其特征在于如果所述云壓縮請求為先壓縮并上傳數據,再生成云壓縮鏈接,則所述服務器在客戶端上傳完畢之后,再依據所述請求生成對應的云壓縮鏈接;如果所述云壓縮請求為先生成云壓縮鏈接,則所述服務器在接收到所述請求后依據所述請求生成對應的云壓縮鏈接,并將該云壓縮鏈接立即發(fā)送給客戶端,同時接收客戶端上傳的云壓縮數據。
5.根據權利要求4所述的方法,其特征在于,如果所述云壓縮請求為先生成云壓縮鏈接,則還包括在客戶端未上傳完畢的時候,另一客戶端通過點擊云壓縮鏈接從所述服務器下載已經上傳的部分云壓縮數據。
6.根據權利要求1所述的方法,其特征在于,所述觸發(fā)云壓縮請求之后,還包括 客戶端將要壓縮的本地文件的基本文件信息上傳給服務器;服務器根據所述基本文件信息查詢是否存儲了相同的文件,并將查詢結果返回給客戶端,所述查詢結果中包含服務器未存儲的部分文件的基本文件信息;客戶端依據所述查詢結果,將服務器未存儲的本地文件數據進行自動壓縮,并將壓縮后的云壓縮數據上傳至服務器存儲;如果服務器已存儲客戶端要壓縮的所有文件,則服務器直接將對應的云壓縮鏈接發(fā)送給客戶端。
7.根據權利要求1所述的方法,其特征在于客戶端將壓縮后的云壓縮數據分塊上傳至服務器存儲; 若客戶端上傳部分數據后發(fā)生上傳失敗,則所述方法還包括 客戶端重新開始上傳數據,如果服務器上存在相同的數據塊,則客戶端不再上傳所述相同的數據塊;或者,客戶端在上傳失敗的斷點處做標記,然后從所述標記的斷點處繼續(xù)上傳數據。
8.根據權利要求1所述的方法,其特征在于,所述觸發(fā)云壓縮請求之后,還包括 客戶端在壓縮前添加密碼和/或注釋信息;或者,服務器存儲云壓縮數據時添加密碼和/或注釋信息。
9.根據權利要求1所述的方法,其特征在于,所述觸發(fā)云壓縮請求之后,還包括 客戶端智能判斷壓縮率并自動調整壓縮級別進行壓縮。
10.一種基于云壓縮鏈接的解壓縮方法,其特征在于,包括 通過打開云壓縮鏈接觸發(fā)云解壓請求;客戶端從服務器上獲取與所述云壓縮鏈接對應的云壓縮數據的基本文件信息,所述基本文件信息包含文件目錄結構;客戶端根據所述云壓縮鏈接,從服務器上下載對應的云壓縮數據; 客戶端依據所述基本文件信息對下載到本地的云壓縮數據進行解壓,得到原始文件數據。
11.根據權利要求10所述的方法,其特征在于,所述通過打開云壓縮鏈接觸發(fā)云解壓請求后,還包括客戶端從服務器指定的其他客戶端獲取與所述云壓縮鏈接對應的云壓縮數據的基本文件信息,所述基本文件信息包含文件目錄結構;客戶端根據所述云壓縮鏈接,從所述其他客戶端上下載對應的云壓縮數據; 客戶端依據所述基本文件信息對下載到本地的云壓縮數據進行解壓,得到原始文件數據。
12.根據權利要求10或11所述的方法,其特征在于所述云壓縮鏈接包含傳輸協議和文件標識信息,其中所述文件標識信息對應服務器中云壓縮數據的基本文件信息,所述基本文件信息包含文件目錄結構。
13.根據權利要求10或11所述的方法,其特征在于 所述客戶端下載全部或部分云壓縮數據。
14.一種基于云壓縮鏈接的壓縮裝置,其特征在于,包括客戶端裝置和服務器裝置, 其中,所述客戶端裝置包括云壓縮觸發(fā)單元,用于觸發(fā)云壓縮請求;云壓縮單元,用于依據所述云壓縮請求對要壓縮的本地文件數據進行自動壓縮,并將壓縮后的數據上傳至服務器作為云壓縮數據存儲;云壓縮鏈接接收單元,用于從服務器接收對應的云壓縮鏈接; 所述服務器裝置包括云壓縮數據存儲單元,用于存儲客戶端上傳的云壓縮數據;云壓縮鏈接生成單元,用于依據所述云壓縮請求生成對應的云壓縮鏈接,并將該云壓縮鏈接發(fā)送給客戶端;映射單元,用于對云壓縮數據建立與云壓縮鏈接的映射關系。
15.根據權利要求14所述的裝置,其特征在于所述云壓縮鏈接包含傳輸協議和文件標識信息,其中所述文件標識信息對應服務器中云壓縮數據的基本文件信息,所述基本文件信息包含文件目錄結構。
16.根據權利要求14所述的裝置,其特征在于所述要壓縮的本地文件數據為單個文件,或者為多個文件,或者為單個文件夾,或者為多個文件夾。
17.根據權利要求14所述的裝置,其特征在于如果所述云壓縮請求為先壓縮并上傳數據,再生成云壓縮鏈接,則所述服務器裝置中的云壓縮鏈接生成單元在客戶端上傳完畢之后,再依據所述請求生成對應的云壓縮鏈接;如果所述云壓縮請求為先生成云壓縮鏈接,則所述服務器裝置中的云壓縮鏈接生成單元在接收到所述請求后依據所述請求生成對應的云壓縮鏈接,并將該云壓縮鏈接立即發(fā)送給客戶端,同時所述服務器裝置中的云壓縮數據存儲單元接收客戶端上傳的云壓縮數據并存儲。
18.根據權利要求14所述的裝置,其特征在于, 所述客戶端裝置還包括基本文件信息上傳單元,用于將要壓縮的本地文件的基本文件信息上傳給服務器; 所述云壓縮單元還用于依據服務器的查詢結果,將服務器未存儲的本地文件數據進行自動壓縮,并將壓縮后的云壓縮數據上傳至服務器存儲; 所述服務器裝置還包括查詢單元,用于根據所述基本文件信息查詢是否存儲了相同的文件,并將查詢結果返回給客戶端,所述查詢結果中包含服務器未存儲的部分文件的基本文件信息;如果服務器已存儲客戶端要壓縮的所有文件,則直接將對應的云壓縮鏈接發(fā)送給客戶端。
19.根據權利要求14所述的裝置,其特征在于所述客戶端裝置的云壓縮單元將壓縮后的云壓縮數據分塊上傳至服務器存儲;所述客戶端裝置還包括斷點續(xù)傳單元,用于當所述云壓縮單元上傳部分數據后發(fā)生上傳失敗,并重新開始上傳數據時,如果服務器上存在相同的數據塊,則不再上傳所述相同的數據塊;或者,在上傳失敗的斷點處做標記,然后從所述標記的斷點處繼續(xù)上傳數據。
20.根據權利要求14所述的裝置,其特征在于,所述客戶端裝置還包括 加密單元,用于在云壓縮單元進行壓縮前添加密碼;和/或,注釋單元,用于在云壓縮單元進行壓縮前添加注釋信息。
21.根據權利要求14所述的裝置,其特征在于,所述服務器裝置還包括 加密單元,用于存儲云壓縮數據時添加密碼;和/或,注釋單元,用于存儲云壓縮數據時添加注釋信息。
22.根據權利要求14所述的裝置,其特征在于,所述客戶端裝置還包括 壓縮級別調整單元,用于智能判斷壓縮率并自動調整壓縮級別;所述云壓縮單元以壓縮級別調整單元調整的壓縮級別進行壓縮。
23.一種基于云壓縮鏈接的解壓縮裝置,其特征在于,包括客戶端裝置和服務器裝置,其中,所述客戶端裝置包括云解壓觸發(fā)單元,用于通過打開云壓縮鏈接觸發(fā)云解壓請求; 基本文件信息獲取單元,用于從服務器上獲取與所述云壓縮鏈接對應的云壓縮數據的基本文件信息,所述基本文件信息包含文件目錄結構;下載單元,用于根據所述云壓縮鏈接,從服務器上下載對應的云壓縮數據;解壓縮單元,用于依據所述基本文件信息對下載到本地的云壓縮數據進行解壓,得到原始文件數據;所述服務器裝置包括基本文件信息查詢單元,用于查找與所述云壓縮鏈接對應的云壓縮數據的基本文件信息,并返回給客戶端;云壓縮數據查詢單元,用于根據所述基本文件信息查找對應的云壓縮數據,并返回給客戶端。
24.根據權利要求23所述的裝置,其特征在于所述客戶端裝置的基本文件信息獲取單元還用于從服務器指定的其他客戶端獲取與所述云壓縮鏈接對應的云壓縮數據的基本文件信息,所述基本文件信息包含文件目錄結構;所述客戶端裝置的下載單元還用于根據所述云壓縮鏈接,從所述其他客戶端上下載對應的云壓縮數據。
25.一種基于云壓縮鏈接的系統(tǒng),其特征在于,包括權利要求14至22任一權利要求所述的壓縮裝置,和,權利要求23至M任一權利要求所述的解壓縮裝置。
全文摘要
本發(fā)明提供了一種基于云壓縮鏈接的壓縮和解壓縮方法、裝置及系統(tǒng),以解決現有技術中不允許將文件作為附件上傳,限制文件在網絡上分享的問題。所述壓縮方法包括觸發(fā)云壓縮請求;客戶端依據所述云壓縮請求對要壓縮的本地文件數據進行自動壓縮,并將壓縮后的數據上傳至服務器作為云壓縮數據存儲;服務器依據所述云壓縮請求生成對應的云壓縮鏈接,并將該云壓縮鏈接發(fā)送給客戶端;服務器對云壓縮數據建立與云壓縮鏈接的映射關系。本發(fā)明所述方法可將任意大小的文件轉化為云壓縮鏈接,方便發(fā)送給他人,節(jié)省傳輸帶寬,易于分享,在幾乎任何可以輸入字符的地方,如即時通訊窗口、微博、論壇、郵件里等,都可以分享文件而無需上傳附件。
文檔編號H04L29/08GK102420843SQ201110174658
公開日2012年4月18日 申請日期2011年6月24日 優(yōu)先權日2011年6月24日
發(fā)明者馬占凱 申請人:奇智軟件(北京)有限公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
定日县| 晋江市| 平度市| 东阿县| 中阳县| 望奎县| 贵南县| 安仁县| 平武县| 顺义区| 漳平市| 定西市| 伊金霍洛旗| 皮山县| 上饶市| 青州市| 镇巴县| 龙泉市| 南涧| 屏南县| 布拖县| 颍上县| 佛坪县| 精河县| 两当县| 阳曲县| 大丰市| 沈丘县| 闵行区| 安丘市| 利辛县| 宁强县| 海宁市| 宁都县| 济宁市| 当阳市| 射阳县| 日土县| 延长县| 宝丰县| 扬中市|