一種文件傳輸方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,特別涉及一種文件傳輸方法及裝置。
【背景技術(shù)】
[0002] 隨著網(wǎng)絡(luò)技術(shù)的快速發(fā)展,兩個(gè)終端之間可以便捷的通過網(wǎng)絡(luò)傳輸文件,從而實(shí) 現(xiàn)不同用戶之間的信息分享。
[0003] 現(xiàn)有技術(shù)中,兩個(gè)終端之間傳輸文件時(shí),通常采用P2P (Peer to Peer)對傳法實(shí)現(xiàn) 文件傳輸。采用P2P對傳法實(shí)現(xiàn)文件傳輸時(shí),用于發(fā)送文件的終端每次向用于接收文件的 終端發(fā)送一個(gè)文件,均需先與用于接收文件的終端建立連接,成功建立連接后才能向用于 接收文件的終端發(fā)送文件。這樣在用于發(fā)送文件的終端需要向用于接收文件的終端發(fā)送大 量文件時(shí),要多次建立連接,進(jìn)而導(dǎo)致兩個(gè)終端之間傳輸文件時(shí)在建立連接上消耗的時(shí)間 較多,另外,兩個(gè)終端之間每次建立連接,文件傳輸速度均會(huì)從較低的速度開始慢慢達(dá)到較 高的速度,這樣兩個(gè)終端之間傳輸文件時(shí)無法保證能夠以較高的速度傳輸文件。
[0004] 綜合以上,應(yīng)用現(xiàn)有技術(shù)在兩個(gè)終端之間傳輸文件時(shí),文件傳輸效率低。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明實(shí)施例公開了一種文件傳輸方法及裝置,以提高文件傳輸效率。
[0006] 為達(dá)到上述目的,本發(fā)明實(shí)施例公開了一種文件傳輸方法,應(yīng)用于發(fā)送端,所述方 法包括:
[0007] 根據(jù)多個(gè)待傳輸文件獲得文件列表,其中,所述文件列表中包含多個(gè)列表項(xiàng),各個(gè) 列表項(xiàng)與待傳輸文件 對應(yīng);
[0008] 根據(jù)預(yù)設(shè)的文件打包規(guī)則對所述文件列表中文件狀態(tài)標(biāo)識為第一文件狀態(tài)標(biāo)識 的列表項(xiàng)對應(yīng)的文件進(jìn)行文件打包處理,生成打包文件,并根據(jù)所生成的打包文件,按照 預(yù)設(shè)的列表更新規(guī)則,更新所述文件列表中包含的列表項(xiàng),其中,所述預(yù)設(shè)的文件打包規(guī)則 為:根據(jù)多個(gè)文件生成一個(gè)打包文件的規(guī)則,所述第一文件狀態(tài)標(biāo)識表不文件處于未打包 狀態(tài)且處于未發(fā)送狀態(tài);
[0009] 在獲得所述文件列表后,循環(huán)執(zhí)行以下步驟直至逐個(gè)將所述文件列表中文件狀態(tài) 標(biāo)識為第二文件狀態(tài)標(biāo)識的列表項(xiàng)對應(yīng)的文件發(fā)送至接收端,其中,所述第二文件狀態(tài)標(biāo) 識表示文件處于未發(fā)送狀態(tài):
[0010] 確定所述文件列表中當(dāng)前文件件狀態(tài)為第三文件狀態(tài)標(biāo)識的列表項(xiàng)對應(yīng)的文件 中占用存儲空間最大的文件,其中,所述第三文件狀態(tài)標(biāo)識表示文件處于未發(fā)送狀態(tài)且處 于非正在打包狀態(tài);將所確定的文件發(fā)送至所述接收端。
[0011] 在本發(fā)明的一種具體實(shí)現(xiàn)方式中,所述根據(jù)預(yù)設(shè)的文件打包規(guī)則對所述文件列表 中文件狀態(tài)標(biāo)識為第一文件狀態(tài)標(biāo)識的列表項(xiàng)對應(yīng)的文件進(jìn)行文件打包處理,生成打包文 件,包括:
[0012] 確定所述文件列表中當(dāng)前剩余的文件狀態(tài)標(biāo)識為第一文件狀態(tài)標(biāo)識的列表項(xiàng);
[0013] 在所確定列表項(xiàng)的數(shù)量小于預(yù)設(shè)閾值的情況下,根據(jù)所確定列表項(xiàng)對應(yīng)文件的大 小,估算向所述接收端發(fā)送所確定列表項(xiàng)對應(yīng)文件的第一估算時(shí)間,并根據(jù)預(yù)估的將所確 定列表項(xiàng)對應(yīng)的文件進(jìn)行文件打包處理所生成打包文件的大小,估算先所述接收端發(fā)送所 生成的打包文件的第二估算時(shí)間;
[0014] 在所述第一估算時(shí)間大于第二估算時(shí)間的情況下,對所確定的列表項(xiàng)對應(yīng)的文件 進(jìn)行文件打包處理,并生成打包文件。
[0015] 在本發(fā)明的一種具體實(shí)現(xiàn)方式中,在所述將所確定的文件發(fā)送至所述接收端后, 還包括:
[0016] 釋放用于發(fā)送所確定的文件的存儲資源。
[0017] 在本發(fā)明的一種具體實(shí)現(xiàn)方式中,在所述將所確定的文件發(fā)送至所述接收端后, 還包括:
[0018] 判斷所確定的文件是否為打包文件;
[0019] 若為是,釋放所確定的文件占用的存儲資源。
[0020] 在本發(fā)明的一種具體實(shí)現(xiàn)方式中,在將所述文件列表中文件狀態(tài)標(biāo)識為第二文件 狀態(tài)標(biāo)識的列表項(xiàng)對應(yīng)的文件全部發(fā)送至所述接收端后,還包括:
[0021] 將根據(jù)多個(gè)待傳輸文件獲得的文件列表發(fā)送至所述接收端。
[0022] 在本發(fā)明的一種具體實(shí)現(xiàn)方式中,在將所述文件列表中文件狀態(tài)標(biāo)識為第二文件 狀態(tài)標(biāo)識的列表項(xiàng)對應(yīng)的文件全部發(fā)送至所述接收端后,還包括:
[0023] 向用戶展示文件發(fā)送結(jié)果。
[0024] 為達(dá)到上述目的,本發(fā)明實(shí)施例公開了一種文件傳輸方法,應(yīng)用于接收端,所述方 法包括:
[0025] 接收發(fā)送端發(fā)送的文件;
[0026] 判斷所接收的文件是否為打包文件,其中,所述打包文件為:所述發(fā)送端根據(jù)預(yù)設(shè) 的文件打包規(guī)則對文件列表中文件狀態(tài)標(biāo)識為第一文件狀態(tài)標(biāo)識的列表向?qū)?yīng)的文件進(jìn) 行文件打包處理生成的文件,所述文件列表為所述發(fā)送端根據(jù)多個(gè)待傳輸文件獲得的文件 列表,所述文件列表中包含多個(gè)列表項(xiàng),各個(gè)列表項(xiàng)與待傳輸文件 對應(yīng),所述第一文件 狀態(tài)標(biāo)識表示文件處于未打包狀態(tài)且處于未發(fā)送狀態(tài);
[0027] 若為是,按照預(yù)設(shè)的文件解包規(guī)則對所接收的文件進(jìn)行解包處理,進(jìn)而獲得待傳 輸文件。
[0028] 在本發(fā)明的一種具體實(shí)現(xiàn)方式中,在所述按照預(yù)設(shè)的文件解包規(guī)則對所接收的文 件進(jìn)行解包處理后,還包括:
[0029] 刪除所接收的文件。
[0030] 在本發(fā)明的一種具體實(shí)現(xiàn)方式中,所述文件傳輸方法還包括:
[0031] 向用戶展示文件接收結(jié)果。
[0032] 為達(dá)到上述目的,本發(fā)明實(shí)施例公開了一種文件傳輸裝置,應(yīng)用于發(fā)送端,所述裝 置包括:
[0033] 文件列表獲得模塊,用于根據(jù)多個(gè)待傳輸文件獲得文件列表,其中,所述文件列表 中包含多個(gè)列表項(xiàng),各個(gè)列表項(xiàng)與待傳輸文件 對應(yīng);
[0034] 打包文件生成模塊,用于根據(jù)預(yù)設(shè)的文件打包規(guī)則對所述文件列表中文件狀態(tài)標(biāo) 識為第一文件狀態(tài)標(biāo)識的列表項(xiàng)對應(yīng)的文件進(jìn)行文件打包處理,生成打包文件;
[0035] 列表項(xiàng)更新模塊,用于根據(jù)所生成的打包文件,按照預(yù)設(shè)的列表更新規(guī)則,更新所 述文件列表中包含的列表項(xiàng),其中,所述預(yù)設(shè)的文件打包規(guī)則為:根據(jù)多個(gè)文件生成一個(gè)打 包文件的規(guī)則,所述第一文件狀態(tài)標(biāo)識表示文件處于未打包狀態(tài)且處于未發(fā)送狀態(tài);
[0036] 文件發(fā)送模塊,用于在獲得所述文件列表后,逐個(gè)將所述文件列表中文件狀態(tài)標(biāo) 識為第二文件狀態(tài)標(biāo)識的列表項(xiàng)對應(yīng)的文件發(fā)送至接收端,其中,所述第二文件狀態(tài)標(biāo)識 表不文件處于未發(fā)送狀態(tài);
[0037] 其中,所述文件發(fā)送模塊,包括:
[0038] 文件確定子模塊,用于確定所述文件列表中當(dāng)前文件件狀態(tài)為第三文件狀態(tài)標(biāo)識 的列表項(xiàng)對應(yīng)的文件中占用存儲空間最大的文件,其中,所述第三文件狀態(tài)標(biāo)識表示文件 處于未發(fā)送狀態(tài)且處于非正在打包狀態(tài);
[0039] 文件發(fā)送子模塊,用于將所確定的文件發(fā)送至所述接收端。
[0040] 在本發(fā)明的一種具體實(shí)現(xiàn)方式中,所述打包文件生成模塊,包括:
[0041] 列表項(xiàng)確定子模塊,用于確定所述文件列表中當(dāng)前剩余的文件狀態(tài)標(biāo)識為第一文 件狀態(tài)標(biāo)識的列表項(xiàng);
[0042] 時(shí)間估算子模塊,用于在所確定列表項(xiàng)的數(shù)量小于預(yù)設(shè)閾值的情況下,根據(jù)所確 定列表項(xiàng)對應(yīng)文件的大小,估算向所述接收端發(fā)送所確定列表項(xiàng)對應(yīng)文件的第一估算時(shí) 間,并根據(jù)預(yù)估的將所確定列表項(xiàng)對應(yīng)的文件進(jìn)行文件打包處理所生成打包文件的大小, 估算先所述接收端發(fā)送所生成的打包文件的第二估算時(shí)間;
[0043] 打包文件生成子模塊,用于在所述第一估算時(shí)間大于第二估算時(shí)間的情況下,對 所確定的列表項(xiàng)對應(yīng)的文件進(jìn)行文件打包處理,并生成打包文件。
[0044] 在本發(fā)明的一種具體實(shí)現(xiàn)方式中,所述文件發(fā)送模塊,還包括:
[0045] 第一存儲資源釋放子模塊,用于在所述文件發(fā)送子模塊發(fā)送文件后,釋放用于發(fā) 送所確定的文件的存儲資源。
[0046] 在本發(fā)明的一種具體實(shí)現(xiàn)方式中,所述文件發(fā)送模塊,還包括:
[0047] 打包文件判斷子模塊,用于在所述文件發(fā)送子模塊發(fā)送文件后,判斷所確定的文 件是否為打包文件;
[0048] 第二存儲資源釋放子模塊,用于在所述打包文件判斷子模塊的判斷結(jié)果為是的情 況下,釋放所確定的文件占用的存儲資源。
[0049] 在本發(fā)明的一種具體實(shí)現(xiàn)方式中,所述文件傳輸裝置還包括:
[0050] 文件列表發(fā)送模塊,用于在所述文件發(fā)送模塊將所述文件列表中文件狀態(tài)標(biāo)識為 第二文件狀態(tài)標(biāo)識的列表項(xiàng)對應(yīng)的文件全部發(fā)送至所述接收端后,將根據(jù)多個(gè)待傳輸文件 獲得的文件列表發(fā)送至所述接收端。
[0051] 在本發(fā)明的一種具體實(shí)現(xiàn)方式中,所述文件傳輸裝置還包括:
[0052] 文件發(fā)送結(jié)果展示模塊,用于在所述文件發(fā)送模塊將所述文件列表中文件狀態(tài)標(biāo) 識為第二文件狀態(tài)標(biāo)識的列表項(xiàng)對應(yīng)的文件全部發(fā)送至所述接收端后,向用戶展示文件發(fā) 送結(jié)果。
[0053] 為達(dá)到上述目的,本發(fā)明實(shí)施例公開了一種文件傳輸裝置,應(yīng)用于接收端,所述裝 置包括:
[0054] 文件接收模塊,用于接收發(fā)送端發(fā)送的文件;
[0055] 打包文件判斷模塊,用于判斷所接收的文件是否為打包文件,其中,所述打包文件 為:所述發(fā)送端根據(jù)預(yù)設(shè)的文件打包規(guī)則對文件列表中文件狀態(tài)標(biāo)識為第一文件狀態(tài)標(biāo)識 的列表向?qū)?yīng)的文件進(jìn)行文件打包處理生成的文件,所述文件列表為所述發(fā)送端根據(jù)多個(gè) 待傳輸文件獲得的文件列表,所述文件列表中包含多個(gè)列表項(xiàng),各個(gè)列表項(xiàng)與待傳輸文件 對應(yīng),所述第一文件狀態(tài)標(biāo)識表不文件處于未打包狀態(tài)且處于未發(fā)送狀態(tài);
[0056] 解包處理模塊,用于在所述打包判斷模塊的判斷結(jié)果為是的情況下,按照預(yù)設(shè)的 文件解包規(guī)則對所接收的文件進(jìn)行解包處理,進(jìn)而獲得待傳輸文件。
[005