復合文檔的上傳方法、裝置及系統的制作方法
【技術領域】
[0001]本發明涉及計算機技術領域,尤其涉及一種復合文檔的上傳方法、裝置及系統。
【背景技術】
[0002]隨著計算機科學和信息技術的發展,云端存儲已經被越來越廣泛地應用,而復合文檔的云端存儲是其中的重要組成部分。復合文檔不僅包含文本而且包括圖形、電子表格數據、聲音、視頻圖像以及其它信息。它是一個zip壓縮包,包含若干文件,由內容文件和資源文件組成。傳統的將復合文檔上傳至云端的方法是將整個復合文檔完整地一次性上傳,或者是將復合文檔分割成若干的文件塊,分塊上傳。將整個文檔一次性上傳或者將文檔分塊上傳都會因為上傳的文檔過多過大而造成占用過多帶寬,同時由于一些文檔被重復上傳,導致上傳速度過慢和云端資源的浪費。
【發明內容】
[0003]本發明實施例提出一種復合文檔的上傳方法、裝置及系統,能夠提高復合文檔的上傳速度,且減少網絡帶寬的占用。
[0004]本發明實施例的一個方面提供一種復合文檔的上傳方法,具體包括:
[0005]向服務端發送復合文檔的上傳文件列表,使所述服務端通過對比所述復合文檔的上傳文件列表和所述服務端存儲的文件索引列表而獲得上傳文件增量列表;其中,所述上傳文件增量列表為存在于所述上傳文件列表中而不存在于服務端存儲的文件索引列表中的文件的列表;
[0006]接收所述服務端反饋的所述上傳文件增量列表;
[0007]將所述上傳文件增量列表中的文件進行上傳。
[0008]進一步地,在向服務端發送復合文檔的上傳文件列表之前,還包括:
[0009]向所述服務端發送索引列表獲取指令,使所述服務端根據所述索引列表獲取指令從所述服務端存儲的文件索引列表中獲取所述復合文檔的第二文件索引列表;所述索引列表獲取指令包括所述復合文檔的識別碼;
[0010]接收所述服務端反饋的所述第二文件索引列表;
[0011 ]將所述第二文件索引列表與所述復合文檔在本地存儲的第一文件索引列表進行對比,獲得所述復合文檔的上傳文件列表;其中,所述上傳文件列表為存在于所述第一文件索引列表中而不存在于所述第二文件索引列表中的文件的列表。
[0012]進一步地,所述第一文件索引列表和所述第二文件索引列表分別包括其列出的各個文件的哈希值;所述各個文件的哈希值是根據所述文件的識別碼和所述文件的內容而生成的;
[0013]所述將所述第二文件索引列表與所述復合文檔在本地存儲的第一文件索引列表進行對比,獲得所述復合文檔的上傳文件列表,具體包括:
[0014]將所述第二文件索引列表中的各個文件的哈希值與所述第一文件索引列表中的各個文件的哈希值進行對比,獲得所述復合文檔的上傳文件列表;所述上傳文件列表為存在于所述第一文件索引列表中而不存在于所述第二文件索引列表中的文件的列表。
[0015]本發明實施例的另一個方面還提供了一種復合文檔的上傳方法,具體包括:
[0016]接收客戶端發送的復合文檔的上傳文件列表;
[0017]將所述上傳文件列表與本地存儲的文件索引列表進行對比,獲得上傳文件增量列表;其中,所述上傳文件增量列表為存在于所述上傳文件列表中而不存在于本地存儲的文件索引列表中的文件的列表;
[0018]將所述上傳文件增量列表發送至所述客戶端,使所述客戶端將所述上傳文件增量列表中的文件進行上傳。
[0019]進一步地,在所述接收客戶端發送的復合文檔的上傳文件列表之前,還包括:
[0020]接收所述客戶端發送的索引列表獲取指令;所述索引列表獲取指令包括所述復合文檔的識別碼;
[0021]根據所述復合文檔的識別碼從本地存儲的文件索引列表中獲取所述復合文檔的第二文件索引列表;
[0022]將所述第二文件索引列表反饋給所述客戶端,使所述客戶端將所述第二文件索引列表與所述復合文檔在所述客戶端存儲的第一文件索引列表進行對比,獲得所述復合文檔的上傳文件列表;其中,所述上傳文件列表為存在于所述第一文件索引列表中而不存在于所述第二文件索引列表中的文件的列表。
[0023]進一步地,所述上傳文件列表和所述本地存儲的文件索引列表分別包括其列出的各個文件的哈希值;所述各個文件的哈希值是根據所述文件的識別碼和所述文件的內容而生成的;
[0024]所述將所述上傳文件列表與本地存儲的文件索引列表進行對比,獲得上傳文件增量列表,具體包括:
[0025]將所述上傳文件列表中的各個文件的哈希值與所述本地存儲的文件索引列表中的各個文件的哈希值進行對比,獲得所述復合文檔的上傳文件增量列表;所述上傳文件增量列表為存在于所述上傳文件列表中而不存在于本地存儲的文件索引列表中的文件的列表。
[0026]再進一步地,在所述將所述上傳增量文件列表發送至所述客戶端,使所述客戶端將所述上傳文件增量列表中的文件進行上傳之后,還包括:
[0027]接收所述客戶端上傳的文件;
[0028]根據所述上傳文件列表將所述第二文件索引列表更新為所述第一文件索引列表。
[0029]相應地,本發明實施例的一個方面還提供了一種復合文檔的上傳裝置,具體包括:
[0030]上傳文件列表發送模塊,用于向服務端發送復合文檔的上傳文件列表,使所述服務端通過對比所述復合文檔的上傳文件列表和所述服務端存儲的文件索引列表而獲得上傳文件增量列表;其中,所述上傳文件增量列表為存在于所述上傳文件列表中而不存在于服務端存儲的文件索引列表中的文件的列表;
[0031]上傳文件增量列表接收模塊,用于接收所述服務端反饋的所述上傳文件增量列表;以及,
[0032]文件上傳模塊,用于將所述上傳文件增量列表中的文件進行上傳。
[0033]進一步地,所述復合文檔的上傳裝置還包括:
[0034]指令發送模塊,用于向所述服務端發送索引列表獲取指令,使所述服務端根據所述索引列表獲取指令從所述服務端存儲的文件索引列表中獲取所述復合文檔的第二文件索引列表;所述索引列表獲取指令包括所述復合文檔的識別碼;
[0035]第二文件索引列表接收模塊,用于接收所述服務端反饋的所述第二文件索引列表;以及,
[0036]上傳文件列表獲得模塊,用于將所述第二文件索引列表與所述復合文檔在本地存儲的第一文件索引列表進行對比,獲得所述復合文檔的上傳文件列表;其中,所述上傳文件列表為存在于所述第一文件索引列表中而不存在于所述第二文件索引列表中的文件的列表。
[0037]進一步地,所述第一文件索引列表和所述第二文件索引列表分別包括其列出的各個文件的哈希值;所述各個文件的哈希值是根據所述文件的識別碼和所述文件的內容而生成的;
[0038]所述上傳文件列表獲得模塊具體用于將所述第二文件索引列表中的各個文件的哈希值與所述第一文件索引列表中的各個文件的哈希值進行對比,獲得所述復合文檔的上傳文件列表;所述上傳文件列表為存在于所述第一文件索引列表中而不存在于所述第二文件索引列表中的文件的列表。
[0039]本發明實施例的另一個方面還提供了一種復合文檔的上傳裝置,具體包括:
[0040]上傳文件列表接收模塊,用于接收客戶端發送的復合文檔的上傳文件列表;
[0041]上傳文件增量列表獲得模塊,用于將所述上傳文件列表與本地存儲的文件索引列表進行對比,獲得上傳文件增量列表;其中,所述上傳文件增量列表為存在于所述上傳文件列表中而不存在于本地存儲的文件索引列表中的文件的列表;以及,
[0042]上傳文件增量列表發送模塊,用于將所述上傳文件增量列表發送至所述客戶端,使所述客戶端將所述上傳文件增量列表中的文件進行上傳。
[0043]進一步地,所述復合文檔的上傳裝置還包括:
[0044]指令接收模塊,用于接收所述客戶端發送的索引列表獲取指令;所述索引列表獲取指令包括所述復合文檔的識別碼;
[0045]第二文件索引列表獲取模塊,根據所述復合文檔的識別碼從本地存儲的文件索引列表中獲取所述復合文檔的第二文件索引列表;以及,
[0046]第二文件索引列表反饋模塊,用于將所述第二文件索引列表反饋給所述客戶端,使所述客戶端將所述第二文件索引列表與所述復合文檔在所述客戶端存儲的第一文件索引列表進行對比,獲得所述復合文檔的上傳文件列表;其中,所述上傳文件列表為存在于所述第一文件索引列表中而不存在于所述第二文件索引列表中的文件的列表。
[0047]進一步地,所述上傳文件列表和所述本地存儲的文件索引列表分別包括其列出的各個文件的哈希值;所述各個文件的哈希值是根據所述文件的識別碼和所述文件的內容而生成的;
[0048]所述上傳文件增量列表獲得模塊具體用于將所述上傳文件列表中的各個文件的哈希值與所述本地存儲的文件索引列表中的各個文件的哈希值進行對比,獲得所述復合文檔的上傳文件增量列表;所述上傳文件增量列表為存在于所述上傳文件列表中而不存在于本地存儲的文件索引列表中的文件的列表。
[0049]再進一步地,所述復合文檔的上傳裝置還包括:
[0050]文件接收模塊,用于接收所述客戶端上傳的文件;以及,
[0051 ]第二文件索引列表更新模塊,用于根據所述上傳文件列表將所述第二文件索引列表更新為所述第一文件索引列表。
[0052]相應地,本發明實施例還提供一種復合文檔的上傳系統,包括客戶端和服務端:
[0053]所述客戶端是上述一個方面的實施例所提供的復合文檔的上傳