一種文件傳輸方法及裝置的制造方法
【技術領域】
[0001] 本發明涉及互聯網技術領域,特別涉及一種文件傳輸方法及裝置。
【背景技術】
[0002] 隨著網絡技術的快速發展,兩個終端之間可以便捷的通過網絡傳輸文件,從而實 現不同用戶之間的信息分享。
[0003] 現有技術中,兩個終端之間傳輸文件時,通常采用P2P (Peer to Peer)對傳法實現 文件傳輸。采用P2P對傳法實現文件傳輸時,用于發送文件的終端每次向用于接收文件的 終端發送一個文件,均需先與用于接收文件的終端建立連接,成功建立連接后才能向用于 接收文件的終端發送文件。這樣在用于發送文件的終端需要向用于接收文件的終端發送大 量文件時,要多次建立連接,進而導致兩個終端之間傳輸文件時在建立連接上消耗的時間 較多,另外,兩個終端之間每次建立連接,文件傳輸速度均會從較低的速度開始慢慢達到較 高的速度,這樣兩個終端之間傳輸文件時無法保證能夠以較高的速度傳輸文件。
[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] 為達到上述目的,本發明實施例公開了一種文件傳輸裝置,應用于接收端,所述裝 置包括:
[0054] 文件接收模塊,用于接收發送端發送的文件;
[0055] 打包文件判斷模塊,用于判斷所接收的文件是否為打包文件,其中,所述打包文件 為:所述發送端根據預設的文件打包規則對文件列表中文件狀態標識為第一文件狀態標識 的列表向對應的文件進行文件打包處理生成的文件,所述文件列表為所述發送端根據多個 待傳輸文件獲得的文件列表,所述文件列表中包含多個列表項,各個列表項與待傳輸文件 對應,所述第一文件狀態標識表不文件處于未打包狀態且處于未發送狀態;
[0056] 解包處理模塊,用于在所述打包判斷模塊的判斷結果為是的情況下,按照預設的 文件解包規則對所接收的文件進行解包處理,進而獲得待傳輸文件。
[005