文件傳輸方法、裝置、計算機可讀存儲介質(zhì)及計算機設(shè)備_第1頁
文件傳輸方法、裝置、計算機可讀存儲介質(zhì)及計算機設(shè)備_第2頁
文件傳輸方法、裝置、計算機可讀存儲介質(zhì)及計算機設(shè)備_第3頁
文件傳輸方法、裝置、計算機可讀存儲介質(zhì)及計算機設(shè)備_第4頁
文件傳輸方法、裝置、計算機可讀存儲介質(zhì)及計算機設(shè)備_第5頁
已閱讀5頁,還剩21頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

(19)中華人民共和國國家知識產(chǎn)權(quán)局

(12)發(fā)明專利申請

HP(10)申請公布號CN110022329A

(43)申請公布日2019.07.16

(21)申請?zhí)?01810016688.0

(22)申請日2018.01.08

(71)申請人騰訊科技(深圳)有限公司

地址518000廣東省深圳市南山區(qū)高新區(qū)

科技中一路騰訊大廈35層

(72)發(fā)明人白銀峰梁若黃建華

(74)專利代理機構(gòu)廣州華進聯(lián)合專利商標(biāo)代理

有限公司44224

代理人何平鄧云鵬

(51)lnt.CI.

HO4L2%98(2006.01)

權(quán)利要求書2頁說明書14頁附圖9頁

(54)發(fā)明名稱

文件傳輸方法、裝置、計算機可讀存儲介質(zhì)

及計算機設(shè)備

(57)摘要

本申請涉及一種文件傳輸方法、裝置、計算

機可讀存儲介質(zhì)和計算機設(shè)備,方法包括:第二

終端獲取第一終端發(fā)送的會話消息,會話消息中

攜帶有第一終端發(fā)送的文件對應(yīng)的文件標(biāo)識;第

二終端觸發(fā)會話消息,產(chǎn)生文件傳輸請求,文件

傳輸請求用于從服務(wù)器請求傳輸文件標(biāo)識對應(yīng)

的文件;當(dāng)?shù)诙K端檢測到與第一終端之間具有

直連傳輸通道時,則通過服務(wù)器提供的多路離線

傳輸通道及直連傳輸通道傳輸文件標(biāo)識對應(yīng)的

文件。通過這種方式使得在通過服務(wù)器提供的多

路離線傳輸通道傳輸文件的同時,還能夠通過終

v端之間的直連傳輸通道傳輸該文件,有效的利用

患了直連傳輸通道的資源,大幅度的提高了文件傳

照輸?shù)乃俾剩€能夠有效的減少對服務(wù)器帶寬資源

2的占用。

r-H

g

CN110022329A權(quán)利要求書1/2頁

1.一種文件傳輸方法,所述方法包括:

第二終端獲取所述第一終端發(fā)送的會話消息,所述會話消息中攜帶有所述第一終端發(fā)

送的文件對應(yīng)的文件標(biāo)識;

所述第二終端觸發(fā)所述會話消息,產(chǎn)生文件傳輸請求,所述文件傳輸請求用于從服務(wù)

器請求傳輸所述文件標(biāo)識對應(yīng)的文件;

當(dāng)所述第二終端檢測到與所述第一終端之間具有直連傳輸通道時,則通過所述服務(wù)器

提供的多路離線傳輸通道及所述直連傳輸通道傳輸所述文件標(biāo)識對應(yīng)的文件。

2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述會話消息中還攜帶有所述第一終端的

局域網(wǎng)地址;當(dāng)所述第二終端根據(jù)所述第一終端的局域網(wǎng)地址檢測到與所述第一終端處于

同一局域網(wǎng)中時,則所述第二終端與所述第一終端之間具有直連傳輸通道。

3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述會話消息中還攜帶有第一終端的藍牙

標(biāo)識;當(dāng)所述第二終端根據(jù)所述第一終端的藍牙標(biāo)識檢測到與所述第一終端通過藍牙連接

時,則所述第二終端與所述第一終端之間具有直連傳輸通道。

4.根據(jù)權(quán)利要求1所述的方法,其特征在于,當(dāng)所述第二終端檢測到與所述第一終端通

過物理連接方式連接時,則所述第二終端與所述第一終端之間具有直連傳輸通道。

5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述通過所述服務(wù)器提供的多路離線傳輸

通道及與所述直連傳輸通道傳輸所述文件標(biāo)識對應(yīng)的文件,包括:

獲取為所述多路離線傳輸通道中包含的每個離線下載器分配的對應(yīng)的文件分片區(qū)間

以及每個離線下載器對所述對應(yīng)的文件分片區(qū)間的傳輸速度;

將離線下載器按照所述每個離線下載器分配的對應(yīng)的文件分片區(qū)間的順序進行排列;

根據(jù)排列后的所述每個離線下載器分配的對應(yīng)的文件分片區(qū)間以及對所述文件分片

區(qū)間的傳輸速度計算得到傳輸函數(shù);

根據(jù)所述傳輸函數(shù)獲取最大時間點所在的離線下載器對應(yīng)的文件分片區(qū)間;

通過所述直連傳輸通道與所述多路離線傳輸通道傳輸所述與最大時間點對應(yīng)的文件

分片區(qū)間。

6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述通過所述直連傳輸通道與所述多路離

線傳輸通道傳輸所述與最大時間點對應(yīng)的文件分片區(qū)間,包括:

獲取對所述直連傳輸通道的預(yù)設(shè)傳輸速度值;

獲取所述最大時間點所在的離線下載器的傳輸速度;

根據(jù)所述直連通道的預(yù)設(shè)傳輸速度值與所述最大時間點所在的離線下載器的傳輸速

度計算得到傳輸速度比例;

通過所述傳輸速度比例分別從所述直連傳輸通道及所述最大時間點所在的離線下載

器獲取與所述最大時間點對應(yīng)的文件分片區(qū)間。

7.一種文件傳輸方法,所述方法包括:

接收第一終端向第二終端發(fā)送的文件并保存;

接收第二終端發(fā)起的文件傳輸請求,根據(jù)所述文件傳輸請求建立與所述第二終端之間

的多路離線傳輸通道,所述多路離線傳輸通道用于當(dāng)所述第一終端和第二終端之間具有直

連傳輸通道時,與所述直連傳輸通道共同傳輸所述文件至所述第二終端。

8.根據(jù)權(quán)利要求7所述的方法,其特征在于,所述直連傳輸通道包括第一終端與第二終

2

CN110022329A權(quán)利要求書2/2頁

端之間的局域網(wǎng)傳輸通道、藍牙傳輸通道和物理連接傳輸通道中的至少一種。

9.一種文件傳輸裝置,其特征在于,所述裝置包括:

會話消息獲取模塊,用于第二終端獲取所述第一終端發(fā)送的會話消息,所述會話消息

中攜帶有所述第一終端發(fā)送的文件對應(yīng)的文件標(biāo)識;

傳輸請求產(chǎn)生模塊,用于所述第二終端觸發(fā)所述會話消息,產(chǎn)生文件傳輸請求,所述文

件傳輸請求用于從服務(wù)器請求傳輸所述文件標(biāo)識對應(yīng)的文件;

文件傳輸模塊,用于當(dāng)所述第二終端檢測到與所述第一終端之間具有直連傳輸通道

時,則通過所述服務(wù)器提供的多路離線傳輸通道及所述直連傳輸通道傳輸所述文件標(biāo)識對

應(yīng)的文件。

10.一種文件傳輸裝置,其特征在于,所述裝置包括:

保存模塊,用于接收第一終端向第二終端發(fā)送的文件并保存;

傳輸模塊,用于接收第二終端文件傳輸請求,根據(jù)所述文件傳輸請求建立與所述第二

終端之間的多路離線傳輸通道,所述多路離線傳輸通道用于當(dāng)所述第一終端和第二終端之

間具有直連傳輸通道時,與所述直連傳輸通道共同傳輸所述文件至至所述第二終端。

11.一種計算機可讀存儲介質(zhì),存儲有計算機程序,所述計算機程序被處理器執(zhí)行時,

使得所述處理器執(zhí)行如權(quán)利要求1至8中任一項所述方法的步驟。

12.一種計算機設(shè)備,包括存儲器和處理器,所述存儲器存儲有計算機程序,所述計算

機程序被所述處理器執(zhí)行時,使得所述處理器執(zhí)行如權(quán)利要求1至8中任一項所述方法的步

驟。

3

CN110022329A說明書1/14頁

文件傳輸方法'裝置'計算機可讀存儲介質(zhì)及計算機設(shè)備

技術(shù)領(lǐng)域

[0001]本申請涉及計算機技術(shù)領(lǐng)域,特別是涉及一種文件傳輸方法、裝置、計算機可讀存

儲介質(zhì)和計算機設(shè)備。

背景技術(shù)

[0002]隨著互聯(lián)網(wǎng)的飛速發(fā)展,用戶通過互聯(lián)網(wǎng)互相傳輸文件,分享文件也越來越頻繁。

但在傳輸文件時,若傳輸?shù)奈募^大則會占用網(wǎng)絡(luò)帶寬,造成網(wǎng)絡(luò)卡頓等問題。

[0003]傳統(tǒng)技術(shù)中,解決文件傳輸?shù)膯栴}采用的是P2P(peertopeer,點對點技術(shù))加速

傳輸技術(shù),指使用了類似BitTorrent(比特流)、eMule(電騾)等p2P文件分享傳輸協(xié)議來加

速文件傳輸?shù)能浖褂玫募夹g(shù)。P2P技術(shù)通常使用一個Tracker服務(wù)器(BitTorrent服務(wù)器

稱為Tracker)來存儲網(wǎng)絡(luò)中該文件傳輸軟件的各個用戶持有的文件的摘要信息。文件接收

方在從文件的源地址下載文件的同時,還會通過向Tracker服務(wù)器根據(jù)文件的摘要信息查

找出持有該文件的用戶,并向該用戶請求文件,以達到加速下載的目的。

[0004]然而,這種P2P加速傳輸技術(shù)的缺點在于,不能實現(xiàn)文件接收方和發(fā)送方之間的精

準(zhǔn)加速,在加速過程中,也無端占用了非接收方用戶的網(wǎng)絡(luò)帶寬和計算機的運算能力,造成

了服務(wù)器帶寬資源的浪費。

發(fā)明內(nèi)容

[0005]基于-此,有必要針對帶寬資源浪費的技術(shù)問題,提供一種文件傳輸方法、裝置、計

算機可讀存儲介質(zhì)和計算機設(shè)備。

[0006]一種文件傳輸方法,所述方法包括:

[0007]第二終端獲取所述第一終端發(fā)送的會話消息,所述會話消息中攜帶有所述第一終

端發(fā)送的文件對應(yīng)的文件標(biāo)識;

[0008]所述第二終端觸發(fā)所述會話消息,產(chǎn)生文件傳輸請求,所述文件傳輸請求用于從

服務(wù)器請求傳輸所述文件標(biāo)識對應(yīng)的文件;

[0009]當(dāng)所述第二終端檢測到與所述第一終端之間具有直連傳輸通道時,則通過所述服

務(wù)器提供的多路離線傳輸通道及所述直連傳輸通道傳輸所述文件標(biāo)識對應(yīng)的文件。

[0010]一種文件傳輸方法,所述方法包括:

[0011]接收第一終端向第二終端發(fā)送的文件并保存;

[0012]接收第二終端文件傳輸請求,根據(jù)所述文件傳輸請求建立與所述第二終端之間的

多路離線傳輸通道,所述多路離線傳輸通道用于當(dāng)所述第一終端和第二終端之間具有直連

傳輸通道時,與所述直連傳輸通道共同傳輸所述文件至至所述第二終端。

[0013]一種文件傳輸裝置,所述裝置包括:

[0014]會話消息獲取模塊,用于第二終端獲取所述第一終端發(fā)送的會話消息,所述會話

消息中攜帶有所述第一終端發(fā)送的文件對應(yīng)的文件標(biāo)識;

[0015]傳輸請求產(chǎn)生模塊,用于所述第二終端觸發(fā)所述會話消息,產(chǎn)生文件傳輸請求,所

4

CN110022329A說明書2/14頁

述文件傳輸請求用于從服務(wù)器請求傳輸所述文件標(biāo)識對應(yīng)的文件;

[0016]文件傳輸模塊,用于當(dāng)所述第二終端檢測到與所述第一終端之間具有直連傳輸通

道時,則通過所述服務(wù)器提供的多路離線傳輸通道及所述直連傳輸通道傳輸所述文件標(biāo)識

對應(yīng)的文件。

[0017]一種文件傳輸裝置,所述裝置包括:

[0018]保存模塊,用于接收第一終端向第二終端發(fā)送的文件并保存;

[0019]傳輸模塊,用于接收第二終端文件傳輸請求,根據(jù)所述文件傳輸請求建立與所述

第二終端之間的多路離線傳輸通道,所述多路離線傳輸通道用于當(dāng)所述第一終端和第二終

端之間具有直連傳輸通道時,與所述直連傳輸通道共同傳輸所述文件至至所述第二終端。

[0020]一種計算機設(shè)備,包括存儲器、處理器及存儲在所述存儲器上并可在處理器上運

行的計算機程序,所述處理器執(zhí)行所述計算機程序時實現(xiàn)以下步驟:

[0021]第二終端獲取所述第一終端發(fā)送的會話消息,所述會話消息中攜帶有所述第一終

端發(fā)送的文件對應(yīng)的文件標(biāo)識;

[0022]所述第二終端觸發(fā)所述會話消息,產(chǎn)生文件傳輸請求,所述文件傳輸請求用于從

服務(wù)器請求傳輸所述文件標(biāo)識對應(yīng)的文件;

[0023]當(dāng)所述第二終端檢測到與所述第一終端之間具有直連傳輸通道時,則通過所述服

務(wù)器提供的多路離線傳輸通道及所述直連傳輸通道傳輸所述文件標(biāo)識對應(yīng)的文件。

[0024]一種計算機設(shè)備,包括存儲器、處理器及存儲在所述存儲器上并可在處理器上運

行的計算機程序,所述處理器執(zhí)行所述計算機程序時實現(xiàn)以下步驟:

[0025]接收第一終端向第二終端發(fā)送的文件并保存;

[0026]接收第二終端文件傳輸請求,根據(jù)所述文件傳輸請求建立與所述第二終端之間的

多路離線傳輸通道,所述多路離線傳輸通道用于當(dāng)所述第一終端和第二終端之間具有直連

傳輸通道時,與所述直連傳輸通道共同傳輸所述文件至至所述第二終端。

[0027]一種計算機可讀存儲介質(zhì),其上存儲有計算機程序,所述計算機程序被處理器執(zhí)

行時實現(xiàn)以下步驟:

[0028]第二終端獲取所述第一終端發(fā)送的會話消息,所述會話消息中攜帶有所述第一終

端發(fā)送的文件對應(yīng)的文件標(biāo)識;

[0029]所述第二終端觸發(fā)所述會話消息,產(chǎn)生文件傳輸請求,所述文件傳輸請求用于從

服務(wù)器請求傳輸所述文件標(biāo)識對應(yīng)的文件;

[0030]當(dāng)所述第二終端檢測到與所述第一終端之間具有直連傳輸通道時,則通過所述服

務(wù)器提供的多路離線傳輸通道及所述直連傳輸通道傳輸所述文件標(biāo)識對應(yīng)的文件。

[0031]一種計算機可讀存儲介質(zhì),其上存儲有計算機程序,所述計算機程序被處理器執(zhí)

行時實現(xiàn)以下步驟:

[0032]接收第一終端向第二終端發(fā)送的文件并保存;

[0033]接收第二終端文件傳輸請求,根據(jù)所述文件傳輸請求建立與所述第二終端之間的

多路離線傳輸通道,所述多路離線傳輸通道用于當(dāng)所述第一終端和第二終端之間具有直連

傳輸通道時,與所述直連傳輸通道共同傳輸所述文件至至所述第二終端。

[0034]上述文件傳輸方法、裝置、計算機可讀存儲介質(zhì)及計算機設(shè)備,通過第二終端獲取

第一終端發(fā)送的會話消息,會話消息中攜帶有第一終端發(fā)送的文件對應(yīng)的文件標(biāo)識;第二

5

CN110022329A說明書3/14頁

終端觸發(fā)會話消息,產(chǎn)生文件傳輸請求,文件傳輸請求用于從服務(wù)器請求傳輸文件標(biāo)識對

應(yīng)的文件;當(dāng)?shù)诙K端檢測到與第一終端之間具有直連傳輸通道時,則通過服務(wù)器提供的

多路離線傳輸通道及直連傳輸通道傳輸文件標(biāo)識對應(yīng)的文件。通過這種方式,使得在通過

服務(wù)器提供的多路離線傳輸通道傳輸文件的同時,還能夠通過終端之間的直連傳輸通道傳

輸該文件,有效的利用了直連傳輸通道的資源,大幅度的提高了文件傳輸?shù)乃俾剩€能夠有

效的減少對服務(wù)器帶寬資源的占用,節(jié)約文件傳輸需耗費的流量。

附圖說明

[0035]圖1為一個實施例中文件傳輸方法的應(yīng)用環(huán)境圖;

[0036]圖2A為一個實施例中計算機設(shè)備的結(jié)構(gòu)框圖;

[0037]圖2B為另一個實施例中計算機設(shè)備的結(jié)構(gòu)框圖;

[0038]圖3為一個實施例中文件傳輸方法的流程示意圖;

[0039]圖4為一個實施例中第二終端通過多路離線傳輸通道及直連傳輸通道傳輸文件時

的流程示意圖;

[0040]圖5為另一個實施例中文件傳輸方法的流程示意圖;

[0041]圖6為一個實施例中文件傳輸時的時序圖;

[0042]圖7為一個實施例中文件傳輸流向示意圖;

[0043]圖8A為一個實施例中傳輸函數(shù)的函數(shù)圖像示意圖一;

[0044]圖8B為一個實施例中傳輸函數(shù)的函數(shù)圖像示意圖二;

[0045]圖9A為另一個實施例中傳輸函數(shù)的函數(shù)圖像示意圖一;

[0046]圖9B為另一個實施例中傳輸函數(shù)的函數(shù)圖像示意圖二;

[0047]圖10為一個實施例中以特定的即時通信應(yīng)用作為應(yīng)用場景的界面示意圖;

[0048]圖11為另一個實施例中文件傳輸方法的流程示意圖;

[0049]圖12為一個實施例中文件傳輸裝置的結(jié)構(gòu)框圖;

[0050]圖13為另一個實施例中文件傳輸裝置的結(jié)構(gòu)框圖。

具體實施方式

[0051]為了使本申請的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對

本申請進行進一步詳細說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本申請,并

不用于限定本申請。

[0052]圖1示出了一個實施例中文件傳輸方法的應(yīng)用環(huán)境圖。參照圖1,該文件傳輸方法

可應(yīng)用于文件傳輸系統(tǒng)中,該系統(tǒng)包括終端110A、終端110B和服務(wù)器120,服務(wù)器120中包含

有離線文件服務(wù)器,終端110A和終端110B通過網(wǎng)絡(luò)與服務(wù)器120連接。終端110A和終端110B

可以是但不限于各種能運行文件傳輸方法的個人計算機、筆記本電腦、個人數(shù)字助理、智能

手機、平板電腦和便攜式可穿戴設(shè)備等。服務(wù)器120可以是實現(xiàn)單一功能的服務(wù)器,也可以

是實現(xiàn)多種功能的服務(wù)器,具體可以是獨立的物理服務(wù)器,也可以是物理服務(wù)器集群。具體

地,終端110A通過特定的應(yīng)用向終端110B發(fā)送離線文件時,終端110A先通過網(wǎng)絡(luò)將文件上

傳至服務(wù)器120中的離線文件服務(wù)器,服務(wù)器120再向終端110B發(fā)送一條攜帶有文件對應(yīng)的

文件標(biāo)識的會話消息。終端110B觸發(fā)該會話消息產(chǎn)生文件傳輸請求后,離線文件服務(wù)器將

6

CN110022329A說明書4/14頁

與文件標(biāo)識對應(yīng)的文件傳輸至終端U0B,即終端110B從服務(wù)器120中的離線文件服務(wù)器下

載該文件。

[0053]圖2A示出了一個實施例中計算機設(shè)備的內(nèi)部結(jié)構(gòu)圖。該計算機設(shè)備具體可以是圖

1中的終端110A、終端110B。如圖2A所示,該計算機設(shè)備包括該計算機設(shè)備包括通過系統(tǒng)總

線連接的處理器、存儲器、網(wǎng)絡(luò)接口、輸入裝置和顯示屏。其中,存儲器包括非易失性存儲介

質(zhì)和內(nèi)存儲器。該計算機設(shè)備的非易失性存儲介質(zhì)存儲有操作系統(tǒng),還可存儲有計算機程

序,該計算機程序被處理器執(zhí)行時,可使得處理器實現(xiàn)下述圖3至圖10中的文件傳輸方法。

該內(nèi)存儲器中也可儲存有計算機程序,該計算機程序被處理器執(zhí)行時,可使得處理器執(zhí)行

下述圖3至圖10中的文件傳輸方法。終端110A和終端110B通過網(wǎng)絡(luò)接口與服務(wù)器120進行網(wǎng)

絡(luò)通信,比如終端110A向服務(wù)器120發(fā)起向終端110B發(fā)送文件的請求。計算機設(shè)備的顯示屏

可以是液晶顯示屏或者電子墨水顯示屏,計算機設(shè)備的輸入裝置可以是顯示屏上覆蓋的觸

摸層,也可以是計算機設(shè)備外殼上設(shè)置的按鍵、軌跡球或觸控板,還可以是外接的鍵盤、觸

控板或鼠標(biāo)等。輸入裝置可獲取用戶觸發(fā)的發(fā)送文件的請求或文件傳輸請求。顯示屏可用

于顯示特定應(yīng)用界面,比如顯示文件傳輸?shù)南螺d界面。

[0054]圖2B示出了一個實施例中計算機設(shè)備的內(nèi)部結(jié)構(gòu)圖。該計算機設(shè)備具體可以是圖

1中的服務(wù)器120。如圖2B所示,該計算機設(shè)備包括該計算機設(shè)備包括通過系統(tǒng)總線連接的

處理器、存儲器、網(wǎng)絡(luò)接口。其中,存儲器包括非易失性存儲介質(zhì)和內(nèi)存儲器。該計算機設(shè)備

的非易失性存儲介質(zhì)存儲有操作系統(tǒng),還可存儲有計算機程序,該計算機程序被處理器執(zhí)

行時,可使得處理器實現(xiàn)下述圖11中的文件傳輸方法o該內(nèi)存儲器中也可儲存有計算機程

序,該計算機程序被處理器執(zhí)行時,可使得處理器執(zhí)行文件傳輸方法。終端110A和終端110B

通過網(wǎng)絡(luò)接口與服務(wù)器120進行網(wǎng)絡(luò)通信,比如通過網(wǎng)絡(luò)接口接收終端110A向終端110B發(fā)

送的文件并保存。

[0055]本領(lǐng)域技術(shù)人員可以理解,圖2A和圖2B中示出的結(jié)構(gòu),僅僅是與本申請方案相關(guān)

的部分結(jié)構(gòu)的框圖,并不構(gòu)成對本申請方案所應(yīng)用于其上的計算機設(shè)備的限定,具體的計

算機設(shè)備可以包括比圖中所示更多或更少的部件,或者組合某些部件,或者具有不同的部

件布置。

[0056]如圖3所示,在一個實施例中,提供了一種文件傳輸方法,該方法以應(yīng)用于如圖1和

圖2中所示的終端中進行舉例說明。包括:

[0057]步驟302,第二終端獲取第一終端發(fā)送的會話消息,會話消息中攜帶有第一終端發(fā)

送的文件對應(yīng)的文件標(biāo)識。

[0058]在第一終端和第二終端上,都裝有特定的應(yīng)用,可用于文件傳輸,文件傳輸一般分

為在線傳輸和離線傳輸兩種。在線傳輸是指第一終端在將文件發(fā)送至第二終端時,第二終

端在同意接收文件后,可立即接收到第一終端發(fā)送的文件。而離線傳輸則是在第二終端無

需立即同意傳輸?shù)那闆r下,第一終端也可先將文件上傳到服務(wù)器上保存下來,當(dāng)?shù)诙K端

需要下載的時候,可再從服務(wù)器上下載該文件。

[0059]當(dāng)?shù)谝唤K端通過離線傳輸方式向第二終端發(fā)送文件時,會先將文件上傳至服務(wù)

器,也可認為是將此文件保存至服務(wù)器中的離線文件服務(wù)器。服務(wù)器將此文件保存成功后,

會生成與此文件對應(yīng)的文件標(biāo)識,文件標(biāo)識一般是唯一的。然后第一終端會再向第二終端

發(fā)送一條包含此文件對應(yīng)的文件標(biāo)識的會話消息,第二終端收到此這條會話消息后,代表

7

CN110022329A說明書5/14頁

第一終端已經(jīng)成功將文件上傳至服務(wù)器并保存,第二終端需要時可從服務(wù)器下載此文件。

[0060]步驟304,第二終端觸發(fā)會話消息,產(chǎn)生文件傳輸請求,文件傳輸請求用于從服務(wù)

器請求傳輸文件標(biāo)識對應(yīng)的文件。

[0061]第二終端在收到第一終端發(fā)送的與文件相關(guān)的會話消息后,可通過觸發(fā)此會話消

息產(chǎn)生對應(yīng)的文件傳輸請求,當(dāng)文件傳輸請求向服務(wù)器成功發(fā)送后,可啟動傳輸操作,也可

以理解為是下載操作。服務(wù)器在獲取到第二終端的文件傳輸請求后,會根據(jù)文件傳輸請求

中攜帶的文件標(biāo)識從數(shù)據(jù)庫中查找與此文件標(biāo)識對應(yīng)的文件。

[0062]步驟306,當(dāng)?shù)诙K端檢測到與第一終端之間具有直連傳輸通道時,則通過服務(wù)器

提供的多路離線傳輸通道及直連傳輸通道傳輸文件標(biāo)識對應(yīng)的文件。

[0063]傳輸通道,指文件數(shù)據(jù)傳輸?shù)耐緩健V边B傳輸通道則指終端與終端之間無需通過

服務(wù)器的中轉(zhuǎn),而是相互之間直接建立起的文件數(shù)據(jù)傳輸途徑。第二終端通過觸發(fā)會話消

息從服務(wù)器上下載文件時,實際上是通過服務(wù)器提供的多路離線傳輸通道下載該文件。

[0064]但當(dāng)?shù)诙K端檢測到與第一終端之間具有直連傳輸通道時,那么第二終端則可以

通過多路離線傳輸通道從服務(wù)器下載該文件,同時還可以通過直連傳輸通道從第一終端下

載該文件,即當(dāng)?shù)诙K端檢測到與第一終端之間具有直連傳輸通道時,第二終端可以同時

通過服務(wù)器提供的多路離線傳輸通道及直連傳輸通道下載該文件。一般情況下,需要第一

終端與第二終端均保持在線狀態(tài)時,才認為第一終端與第二終端之間具有直連傳輸通道,

但也可以設(shè)計成,即便第一終端處于離線狀態(tài),但只要第一終端與第二終端之間具有直連

傳輸通道,第二終端也可以同時通過多路離線傳輸通道與直連傳輸通道下載文件。在線狀

態(tài)指的是第一終端與第二終端通過特定應(yīng)用傳輸文件時,是否成功登錄了此特定應(yīng)用,使

得第一終端與第二終端登錄的應(yīng)用賬號處于在線狀態(tài)。

[0065]通過這種方式,使得在通過服務(wù)器提供的多路離線傳輸通道下載文件的同時,還

能夠通過終端之間的直連傳輸通道下載該文件,有效的利用了直連傳輸通道的資源,大幅

度的提高了文件傳輸?shù)乃俾剩€能夠有效的減少對服務(wù)器帶寬資源的占用,節(jié)約文件傳輸

需耗費的流量。

[0066]在一個實施例中,會話消息中還攜帶有第一終端的局域網(wǎng)地址;當(dāng)?shù)诙K端根據(jù)

第一終端的局域網(wǎng)地址檢測到與第一終端處于同一局域網(wǎng)中時,則第二終端與第一終端之

間具有直連傳輸通道。

[0067]局域網(wǎng)(LocalAreaNetwork,LAN)是指在一個局部的地理范圍內(nèi),將各種計算

機、外部設(shè)備和數(shù)據(jù)庫等互相聯(lián)接起來組成的計算機通信網(wǎng)。它可以通過數(shù)據(jù)通信網(wǎng)或?qū)?/p>

用數(shù)據(jù)電路,與遠方的局域網(wǎng)、數(shù)據(jù)庫或處理中心相連接,構(gòu)成一個較大范圍的信息處理系

統(tǒng)。局域網(wǎng)可以實現(xiàn)文件管理、應(yīng)用軟件共享、打印機共享、掃描儀共享、工作組內(nèi)的日程安

排、電子郵件和傳真通信服務(wù)等功能。

[0068]第一終端給第二終端發(fā)送離線文件時,會先將文件上傳至服務(wù)器保存,保存后,第

一終端會發(fā)送一條會話消息至第二終端,這條會話消息中除了攜帶有文件標(biāo)識外,還攜帶

有第一終端的局域網(wǎng)地址。第二終端在觸發(fā)會話消息后,可根據(jù)會話消息中攜帶的第一終

端的局域網(wǎng)地址檢測第二終端的局域網(wǎng)地址和第一終端的局域網(wǎng)地址是否處于同一局域

網(wǎng)中。如果第一終端與第二終端處于同一局域網(wǎng)中,那么第一終端與第二終端之間則存在

基于局域網(wǎng)的直連傳輸通道,即局域網(wǎng)傳輸通道,那么第二終端可以同時通過服務(wù)器提供

8

CN110022329A說明書6/14頁

的多路離線傳輸通道及局域網(wǎng)傳輸通道下載該文件。有效的利用了局域網(wǎng)傳輸通道的資

源,減少了對服務(wù)器帶寬資源的占用,從而節(jié)約了文件傳輸需耗費的流量。

[0069]在一個實施例中,會話消息中還攜帶有第一終端的藍牙標(biāo)識;當(dāng)?shù)诙K端根據(jù)第

一終端的藍牙標(biāo)識檢測到與第一終端通過藍牙連接時,則第二終端與第一終端之間具有直

連傳輸通道。

[0070]藍牙是一種短距離的無線通訊技術(shù),電子裝置彼此可以透過藍牙而連接起來,省

去了傳統(tǒng)的電線。透過芯片上的無線接收器,配有藍牙技術(shù)的電子產(chǎn)品能夠在一定的距離

內(nèi)彼此相通,傳輸速度可以達到每秒鐘1兆字節(jié)。

[0071]第二終端收到第一終端發(fā)送的會話消息中,不僅攜帶了文件標(biāo)識,還攜帶有第一

終端的藍牙標(biāo)識。藍牙標(biāo)識對應(yīng)藍牙設(shè)備,第二終端在觸發(fā)會話消息后,可根據(jù)第一終端的

藍牙標(biāo)識在第二終端的藍牙配對列表里查找是否有對應(yīng)連接成功的藍牙設(shè)備。當(dāng)檢測到藍

牙配對列表里連接成功的藍牙設(shè)備與第一終端的藍牙標(biāo)識對應(yīng)成功后,則說明第一終端與

第二終端已成功通過藍牙連接,那么第一終端與第二終端之間具有直連傳輸通道,即藍牙

傳輸通道。則第二終端可以同時通過服務(wù)器提供的多路離線傳輸通道及藍牙傳輸通道下載

該文件。一般情況下,藍牙連接后,數(shù)據(jù)傳輸可隨時在主設(shè)備和其他設(shè)備之間進行,因此利

用藍牙傳輸通道也可有效的減少對服務(wù)器帶寬資源的占用,提升對文件傳輸?shù)乃俾省?/p>

[0072]在一個實施例中,當(dāng)?shù)诙K端檢測到與第一終端通過物理連接方式連接時,則第

二終端與第一終端之間具有直連傳輸通道。

[0073]物理連接方式連接,指比如通過網(wǎng)線、數(shù)據(jù)線等物理方式連接的方式。當(dāng)?shù)诙K端

在觸發(fā)會話消息時,可以檢測第二終端與第一終端之間是否通過物理連接方式連接,當(dāng)有,

則說明第二終端與第一終端之間存在有直連傳輸通道,即由物理連接方式連接成功構(gòu)成的

物理傳輸通道。那么第二終端可以同時通過服務(wù)器提供的多路離線傳輸通道及物理傳輸通

道傳輸該文件,即下載該文件。直接通過物理連接方式傳輸文件,無需耗費流量,因此將物

理傳輸通道與離線下載通道共同傳輸文件,大幅度的提高了文件傳輸?shù)乃俾剩矞p少了對

流量的耗費,節(jié)約流量成本。

[0074]在一個實施例中,如圖4所示,通過服務(wù)器提供的多路離線傳輸通道及直連傳輸通

道傳輸文件標(biāo)識對應(yīng)的文件,包括:

[0075]步驟402,獲取為多路離線傳輸通道中包含的每個離線下載器分配的對應(yīng)的文件

分片區(qū)間以及每個離線下載器對應(yīng)的文件分片區(qū)間的傳輸速度。

[0076]下載器,是指在某個傳輸通道上下載文件的程序模塊,通常可以控制下載的開始、

暫停以及下載的文件范圍等。在服務(wù)器提供的多路離線傳輸通道中就包含有多個下載器,

因此當(dāng)終端通過多路離線傳輸通道下載文件時,實際上是通過多路離線傳輸通道中的多個

離線下載器下載該文件。而在多個離線下載器同時下載一個文件時,實際上會將這一個文

件分成多個文件分片區(qū)間,然后每個離線下載器對應(yīng)一個分片區(qū)間,當(dāng)所有離線下載器都

各自完成了文件分片區(qū)間的下載后,則代表整個文件下載完成。

[0077]每個離線下載器在下載各自對應(yīng)的文件分片區(qū)間時,都會有對應(yīng)的傳輸速度,各

個下載器的傳輸速度會存在差異。有的下載器速度更快,而有的下載器由于分配的文件分

片區(qū)間較大導(dǎo)致傳輸速度較慢,也可能由于網(wǎng)絡(luò)延遲導(dǎo)致有的下載器下載異常。總之,每個

下載器都有各自分配的文件分片區(qū)間以及對應(yīng)的文件分片區(qū)間傳輸速度。

9

CN110022329A說明書7/14頁

[0078]步驟404,將離線下載器按照每個離線下載器分配的對應(yīng)的文件分片區(qū)間的順序

進行排列。

[0079]將每個離線下載器分配的文件分片區(qū)間組合即構(gòu)成了完整的文件。在實際運用

中,為了保證文件的完整性,下載器分配的文件分片區(qū)間會有部分區(qū)間重疊,因此需要將每

個離線下載器分配的對應(yīng)的文件分片區(qū)間排序,按照文件原本的順序排序后則可組成完整

的文件。比如,將文件A分成10個文件分片區(qū)間,分配給3個下載器B1,B2及B3,其中下載器B1

分配了文件分片區(qū)間1-5,下載器B2分配了文件分片區(qū)間3-8,下載器B3分配了文件分片區(qū)

間7-10。可看出,下載器分配的文件分片區(qū)間存在有重疊的文件分片區(qū)間。此時,則需要將

下載器進行排列,排列后B1和B2以及B2和B3之間的重復(fù)部分會被覆蓋,依次排列后即可得

到完整的文件。

[0080]步驟406,根據(jù)排列后的每個離線下載器分配的對應(yīng)的文件分片區(qū)間以及對文件

分片區(qū)間的傳輸速度計算得到傳輸函數(shù)。

[0081]每個離線下載器分配有對應(yīng)的文件分片區(qū)間,文件分片區(qū)間都有大小,在獲取到

每個離線下載器下載分配的文件分片區(qū)間時的傳輸速度后,則可以得到每個離線下載器下

載文件分片區(qū)間時對應(yīng)的傳輸函數(shù)。比如,下載器B1分配了文件分片區(qū)間1-5,總大小為4M,

而下載器B1的傳輸速度為2M/s,那么可得到下載器B1下載該文件分片區(qū)間時,需耗費的時

間與文件分片區(qū)間對應(yīng)的傳輸函數(shù)為:下載時間=1/2*文件分片區(qū)間。通過這種方式,可得

到每個離線下載器下載各自對應(yīng)的文件分片區(qū)間時,需耗費的時間與文件分片區(qū)間對應(yīng)的

傳輸函數(shù)。

[0082]再將全部離線下載器的傳輸函數(shù)匯總,并按照離線下載器分配的文件分片區(qū)間依

次將離線下載器排列,則可得到一個總的傳輸函數(shù),即得到通過多路離線傳輸通道下載該

文件的傳輸函數(shù)。

[0083]步驟408,根據(jù)傳輸函數(shù)獲取最大時間點所在的離線下載器對應(yīng)的文件分片區(qū)間。

[0084]在得到通過多路離線傳輸通道下載該文件的傳輸函數(shù)后,可根據(jù)此傳輸函數(shù)得到

最大時間點,最大時間點決定了在通過多路離線傳輸通道下載該文件時,最終需耗費的時

間。因此可根據(jù)傳輸函數(shù)中最大時間點可找到對應(yīng)的下載器,再根據(jù)對應(yīng)的下載器可得到

該下載器分配的對應(yīng)的文件分片區(qū)間。

[0085]步驟410,通過直連傳輸通道與多路離線傳輸通道傳輸與最大時間點對應(yīng)的文件

分片區(qū)間。

[0086]由于最大時間點決定了在通過多路離線傳輸通道傳輸該文件時最終需耗費的時

間,因此當(dāng)根據(jù)最大時間點查找到對應(yīng)的文件分片區(qū)間后,為了減少傳輸需耗費的時間,則

需要對最大時間點查找到對應(yīng)的文件分片區(qū)間進行再次分配,使用新加入的直連傳輸通道

與之前分配的離線下載器共同傳輸此最大時間點查找到對應(yīng)的文件分片區(qū)間,對最大時間

點對應(yīng)的文件分片區(qū)間的再次分配直接有效的減少了對整個文件的傳輸時間,提高了文件

傳輸?shù)乃俾省?/p>

[0087]在一個實施例中,通過直連傳輸通道與多路離線傳輸通道傳輸與最大時間點對應(yīng)

的文件分片區(qū)間,包括:獲取對直連傳輸通道的預(yù)設(shè)傳輸速度值;獲取最大時間點所在的離

線下載器的傳輸速度;根據(jù)直連通道的預(yù)設(shè)傳輸速度值與最大時間點所在的離線下載器的

傳輸速度計算得到傳輸速度比例;通過傳輸速度比例分別從直連傳輸通道及最大時間點所

10

CN110022329A說明書8/14頁

在的離線下載器獲取與最大時間點對應(yīng)的文件分片區(qū)間。

[0088]直連傳輸通道的預(yù)設(shè)傳輸速度值可獲取到之前使用的下載通道的歷史速度,若沒

有歷史速度,則可以將直連傳輸通道的預(yù)設(shè)傳輸速度值根據(jù)經(jīng)驗設(shè)定。當(dāng)根據(jù)多路離線傳

輸通道傳輸該文件的傳輸函數(shù)得到最大時間點后,可查找到與該最大時間點對應(yīng)的離線下

載器。而每個離線下載器都有對應(yīng)的傳輸速度,因此可根據(jù)直連傳輸通道的預(yù)設(shè)傳輸速度

值與該最大時間點所在的離線下載器的傳輸速度計算得到傳輸速度比例。再根據(jù)傳輸速度

比例將與最大時間點對應(yīng)的文件分片區(qū)間分配給直連傳輸通道對應(yīng)的下載器以及該最大

時間點所在的離線下載器。

[0089]根據(jù)傳輸速度分配文件分片區(qū)間,而不是直接平均分配,可以最大化利用下載器

的資源,使得離線下載通道與直連通道的合作傳輸文件的速率能夠大幅度提升,減少傳輸

時間,節(jié)約文件傳輸?shù)臅r間成本。

[0090]在一個實施例中,如圖5所示,提供了一種文件傳輸方法,該方法以應(yīng)用于如圖1和

圖2中所示的終端中進行舉例說明。方法包括:

[0091]步驟502,第二終端獲取第一終端發(fā)送的與傳輸文件對應(yīng)的會話消息。

[0092]當(dāng)?shù)谝唤K端發(fā)送離線文件至第二終端時,第一終端會先將文件上傳至服務(wù)器保

存,也可稱為將文件上傳至離線文件服務(wù)器保存。但為了避免文件重復(fù)上傳,可在文件上傳

之前,對文件的內(nèi)容進行MD5算法計算得到對應(yīng)的MD5值,即文件的一種哈希值(hash)。由于

MD5值是根據(jù)文件的內(nèi)容計算得到的,因此同樣內(nèi)容的文件的MD5值是一樣的,那么在文件

上傳至離線文件服務(wù)器之前,可根據(jù)文件的MD5值從離線文件服務(wù)器查找是否有一致的MD5

值,如果有,則說明離線文件服務(wù)器上已經(jīng)存儲有此文件了,那么無需再次上傳,可以直接

實現(xiàn)“秒傳”;如果沒有,則說明離線文件服務(wù)器上并沒有此文件,文件需要上傳,則正常啟

動上傳操作。

[0093]在文件上傳至離線文件服務(wù)器后,離線文件服務(wù)器會為每次的文件提供一個文件

標(biāo)識(UUID),離線文件服務(wù)器可根據(jù)文件標(biāo)識查找對應(yīng)的文件。需理解的是,并不是同一個

文件的UUID是一樣的,而是根據(jù)每一次上傳分配一個UUID,因此UUID是唯一的。比如,當(dāng)終

端A向終端B發(fā)送離線文件Q時,如果根據(jù)文件Q的MD5值查詢到離線文件服務(wù)器上已經(jīng)存儲

有文件Q,那么文件Q則可實現(xiàn)“秒傳”,這時離線文件服務(wù)器仍然會為本次的文件Q提供一個

新的UUID;如果根據(jù)文件Q的MD5值查詢到離線文件服務(wù)器上未存儲有文件Q,則文件Q需上

傳,上傳后離線文件服務(wù)器為文件Q提供唯一的UUID,然后第一終端再發(fā)送一條攜帶有本次

文件Q的UUID的會話消息至第二終端。因此,多次發(fā)送相同內(nèi)容的文件,也會算作不同的離

線文件,它們的UUID是不同的,但相同內(nèi)容的文件的MD5值是相同的。

[0094]另外,在第一終端發(fā)送了離線文件至第二終端后,可將此文件加入到第一終端的

加速隊列中。加速隊列是發(fā)送方維護的一個列表,當(dāng)發(fā)送方了發(fā)送一個離線文件之后,會將

這個離線文件的相關(guān)信息(例如這個文件在終端中的路徑,離線文件UUID等等)添加到這個

列表中。當(dāng)接收方的第二終端與第一終端之間具有直連傳輸通道時,可通過加速隊列中取

出相關(guān)信息,從而從第一終端直接獲取文件。

[0095]如圖6所示的時序圖,發(fā)送方首先會觸發(fā)發(fā)送的操作,然后讀取文件,通過文件內(nèi)

容計算得到文件的MD5值,再向離線文件服務(wù)器發(fā)送攜帶有MD5值的上傳文件的請求。離線

文件服務(wù)器獲取到MD5值后,將根據(jù)MD5值查找是否之前有用戶上傳過相同內(nèi)容的文件,即

11

CN110022329A說明書9/14頁

離線文件服務(wù)器上是否存儲有與此MD5值相同的文件。如沒有,則返回“文件不存在”的通知

至發(fā)送方,發(fā)送方即可開始上傳文件,文件上傳成功后再返回文件對應(yīng)的UUID至發(fā)送方;如

有,則直接返回文件對應(yīng)的UUID至發(fā)送方。然后發(fā)送方發(fā)送一條攜帶有文件對應(yīng)的UUID的

會話消息至接收方,同時發(fā)送方再將文件加入加速隊列中,以便接收方后續(xù)下載時用到。

[0096]步驟504,第二終端觸發(fā)會話消息,下載文件。

[0097]第二終端在收到第一終端發(fā)送的與傳輸文件對應(yīng)的會話消息后,可通過觸發(fā)會話

消息產(chǎn)生文件傳輸請求,從而開始下載文件。此會話消息中攜帶有文件標(biāo)識,即UUID,當(dāng)?shù)?/p>

二終端觸發(fā)會話消息產(chǎn)生文件傳輸請求并發(fā)送至服務(wù)器時,即發(fā)送至離線文件服務(wù)器時,

離線文件服務(wù)器會根據(jù)文件傳輸請求中攜帶的文件UUID查找是否有對應(yīng)的文件。離線文件

服務(wù)器可設(shè)置有文件過期時間,比如設(shè)置文件的有效期為7天,當(dāng)?shù)诙K端超過了7天才開

始下載該文件時,那么離線文件服務(wù)器已自動將該文件刪除,那么離線文件服務(wù)器上則不

會存儲有與文件UUID對應(yīng)的文件,第二終端也無法再下載該文件。如查找到了對應(yīng)的文件,

則第二終端可以通過離線文件服務(wù)器提供的多路離線傳輸通道下載該文件。

[0098]步驟506,第二終端檢測是否與第一終端之間具有直連傳輸通道,若是,則執(zhí)行步

驟508;若否,則執(zhí)行步驟510。

[0099]直連傳輸通道指終端與終端之間無需通過路由器或服務(wù)器的中轉(zhuǎn),而是相互之間

直接建立起的文件數(shù)據(jù)傳輸途徑。在第一終端與第二終端之間,具有直連傳輸通道至少有

以下三種情況:

[0100]情況一:第一終端與第二終端位于同一個局域網(wǎng)中。

[0101]第二終端可以通過會話消息中攜帶的第一終端的局域網(wǎng)地址,檢測是否與第一終

端位于同一個局域網(wǎng)中,若是,那么第一終端與第二終端之間則存在基于局域網(wǎng)的直連傳

輸通道,即局域網(wǎng)傳輸通道。

[0102]情況二:第一終端與第二終端通過藍牙連接。

[0103]第二終端可以通過會話消息中攜帶的第一終端的藍牙標(biāo)識,檢測是否與第一終端

通過藍牙連接。第二終端可根據(jù)第一終端的藍牙標(biāo)識與已經(jīng)連接的藍牙設(shè)備進行匹配,當(dāng)

已經(jīng)連接的藍牙設(shè)備對應(yīng)的藍牙標(biāo)識與第一終端的藍牙標(biāo)識一致時,則說明第二終端已經(jīng)

與第一終端通過藍牙連接成功。那么第一終端與第二終端之間則存在基于藍牙的直連傳輸

通道,即藍牙傳輸通道。

[0104]情況三:第一終端與第二終端與通過物理方式連接。

[0105]兩個終端之間可通過數(shù)據(jù)線、網(wǎng)線等物理方式連接。當(dāng)連接成功后,兩個終端之間

則存在有基于物理方式連接產(chǎn)生的傳輸通道,即物理傳輸通道。

[0106]在以上三種情況中,任意滿足一種均可以認為第一終端與第二終端之間具有直連

傳輸通道,但一般實際運用過程中,會考慮再加上第一終端是否在線的條件,即需要當(dāng)?shù)谝?/p>

終端也處于在線狀態(tài)時,第二終端才可同時通過多路離線傳輸通道與第一終端之間存在的

直連傳輸通道下載文件。但這個條件是否需要存在則由開發(fā)人員或產(chǎn)品的設(shè)計而定,因為

若是第一終端處于離線狀態(tài)時第二終端也能通過直連傳輸通道下載文件,會占用第一終端

的內(nèi)存等,會消耗第一終端的資源。但若是實際需求需要設(shè)計為更靈活,也可設(shè)計成第一終

端處于離線狀態(tài),即第一終端不在線,第二終端也可通過直連傳輸通道下載文件。此處的在

線狀態(tài)指的是第一終端與第二終端通過特定應(yīng)用傳輸文件時,是否成功登錄了此特定應(yīng)

12

CN110022329A說明書10/14頁

用,使得第一終端與第二終端登錄的應(yīng)用賬號處于在線狀態(tài),比如當(dāng)?shù)谝唤K端與第二終端

是通過特定的某個即時通信應(yīng)用進行文件傳輸時,那么第一終端在線則指第一終端成功登

錄了該即時通信應(yīng)用。

[0W7]步驟508,第二終端通過多路離線傳輸通道及直連傳輸通道下載文件。

[0108]如圖7所示的文件傳輸流向示意圖,當(dāng)?shù)谝唤K端與第二終端之間至少存在有上述

三種情況中的一種直連傳輸通道時,第二終端在下載文件時可以通過的多路離線傳輸通道

和直連傳輸通道同時下載該文件。通過多路離線傳輸通道下載文件時是從離線文件服務(wù)器

上下載,而通過直連傳輸通道從第一終端下載文件時,則可根據(jù)文件標(biāo)識(UUID)從第一終

端的加速隊列中取出相關(guān)信息,從而下載對應(yīng)的文件。

[0109]在下載時,由于是通過兩個通道下載同一個文件,則存在文件分配的問題。從邏輯

上理解,可將一個文件看作成多個文件分片區(qū)間組成的,那么在通過通道下載文件時,實際

上是每個通道下載一部分文件分片區(qū)間,當(dāng)通道將各自分配的文件分片區(qū)間均下載完畢

時,則為多個通道共同完成了文件的下載。

[0110]離線文件服務(wù)器提供的多路離線傳輸通道中包含了多個離線下載器,因此當(dāng)通過

多路離線傳輸通道下載文件時,實際上是多個離線下載器在下載各個分配的文件分片區(qū)

間,對于直連傳輸通道而言,也是如此。但由于直連傳輸通道一般情況下并不是多路下載

的,可能只包含有一個下載器,因此可直接認為直連傳輸通道對應(yīng)一個直連下載器。然而,

網(wǎng)絡(luò)環(huán)境復(fù)雜多變,不同的下載通道的傳輸速度不同,即多路離線傳輸通道與直連傳輸通

道的傳輸速度會有差異,因此在將文件對應(yīng)的多個文件分片區(qū)間分配給多路離線傳輸通道

與直連傳輸通道,即將文件對應(yīng)的多個文件分片區(qū)間分配給多個離線下載器和直連下載器

時,若是簡單的將多個文件分片區(qū)間進行平均分配,那顯然不是一個最優(yōu)解。

[0111]如圖8A所示,為了便于理解可以引入一個t(n)函數(shù)。其中設(shè)定下載文件的大小為

20MB(計算機中的一種儲存單位,讀作“兆”),自變量n表示第n個文件分片區(qū)間,t(n)表示第

n個文件分片區(qū)間被下載完成的時間,那么t(n)的max值則表示整個文件被真正下載完成時

需耗費的時間。因為必須全部文件分片區(qū)間均被下載完畢,才可認為文件是被真正下載完

畢的,因此耗時最大的文件分片區(qū)間決定了下載整個文件時需耗費的時間。下載器的數(shù)量、

下載器分配的文件分片區(qū)間以及下載器的速度等決定了t(n)函數(shù)完成下載文件的圖像。假

設(shè)僅通過多路離線傳輸通道下載文件,且下載器的速度均穩(wěn)定在IMB/s,那么t(n)函數(shù)的圖

像則如圖8A所示。

[0112]此時,再將直連傳輸通道的直連下載器加入到下載隊列中,假設(shè)直連下載器的傳

輸速度穩(wěn)定在3MB/s,也將文件分片區(qū)間平均分配到多個離線下載器和直連下載器,則會得

到如圖8B所示的t(n)函數(shù)。顯然,從圖8B中可看出,下載時間并未得到很好的優(yōu)化效果。因

此,提出將文件分片區(qū)間按照下載器的傳輸速度比例分配的策略。將最大時間點對應(yīng)的文

件分片區(qū)間進行重新分配,按照最大時間點對應(yīng)的離線下載器與新加入的直連下載器的傳

輸速度比例進行分配。

[0113]具體地,如圖9A所示,假設(shè)多路離線傳輸通道中包含有兩個離線下載器,傳輸速度

分別為2MB/s和3MB/s。此時新加入的直連傳輸通道對應(yīng)的直連下載器的傳輸速度為2MB/s,

那么在將最大時間點對應(yīng)的文件分片區(qū)間進行重新分配后,傳輸函數(shù)的圖像則由圖9A變成

了圖9B,可明顯看出下載時間明顯縮短,整體傳輸速度加快。

13

CN110022329A說明書11/14頁

[0114]步驟510,第二終端通過多路離線傳輸通道下載文件。

[0115]當(dāng)?shù)诙K端與第一終端之間不具有直連傳輸通道時,則第二終端只會通過離線文

件服務(wù)器提供的多路離線傳輸通道下載該文件。

[0116]在確認第二終端是否完整下載了該文件時,可將第二終端下載的文件對應(yīng)的MD5

值與離線文件服務(wù)器上存儲的對應(yīng)文件的MD5值進行對比,當(dāng)兩者相同時,則代表第二終端

已完整下載了該文件。采取同時通過服務(wù)器提供的多路離線傳輸通道及局域網(wǎng)傳輸通道下

載該文件的方式,有效的利用了局域網(wǎng)傳輸通道的資源,減少了對服務(wù)器帶寬資源的占用,

從而節(jié)約了文件傳輸需耗費的流量。

[0117]本發(fā)明實施例所提供的文件傳輸方法適用于特定的即時通信應(yīng)用中。以特定的即

時通信應(yīng)用作為應(yīng)用場景進行舉例說明。通過此特定的即時通信應(yīng)用可發(fā)起在線文件傳輸

業(yè)務(wù)或者離線文件傳輸業(yè)務(wù),在線文件傳輸業(yè)務(wù)是指在線傳輸是指第一終端在將文件發(fā)送

至第二終端時,第二終端在同意接受文件后,可立即接收到第一終端發(fā)送的文件。而離線文

件傳輸業(yè)務(wù)則是指文件的發(fā)送方先將文件上傳至離線文件服務(wù)器,然后將該文件在離線文

件服務(wù)器上對應(yīng)的文件標(biāo)識發(fā)送給文件的接收方。接收方根據(jù)該文件標(biāo)識從離線文件服務(wù)

器下載該文件的文件傳輸方式。

[0118]如圖10所示,當(dāng)發(fā)送方與接收方之間具有直連傳輸通道時,在接收方的應(yīng)用界面

上會顯示“接受加速”的提示,當(dāng)接受方點擊了“接受加速”的提示選項后,則說明接收方開

啟了直連傳輸通道的加速模式,接收方即可同時通過多路離線傳輸通道及直連傳輸通道下

載該文件。在接收方的應(yīng)用界面上也會顯示“雙方在同一網(wǎng)絡(luò)上為您提速:3MB/s”等提示用

語。文件的接收方可以不只有一個。例如發(fā)送方將文件發(fā)送至討論組或者群,那么討論組和

群內(nèi)的用戶都可以是接收方。

[0119]在一個實施例中,如圖11所示,還提供了一種文件傳輸方法,該方法以應(yīng)用于如圖

1和圖2中所示的終端中進行舉例說明。該方法包括:

[0120]步驟1102,接收第一終端向第二終端發(fā)送的文件并保存。

[0121]第一終端向第二終端發(fā)送離線文件時,會先將文件上傳至服務(wù)器保存,即將文件

上傳至離線文件服務(wù)器。離線文件服務(wù)器接收到第一終端向第二終端發(fā)送的文件后,會先

將文件保存起來,再為該文件生成唯一的文件標(biāo)識,文件標(biāo)識與文件一一對應(yīng)。但在保存之

前,離線文件服務(wù)器實際上會先獲取這個文件的皿5值,再查找離線文件服務(wù)器上是否存儲

有與MD5值相同的文件,如有,則不需要再次將此文件上傳,而是可實現(xiàn)“秒傳”,再生成一個

唯一的對應(yīng)文件標(biāo)識即可。然后第一終端會向第二終端發(fā)送一條攜帶有文件標(biāo)識的會話消

息。

[0122]步驟1104,接收第二終端發(fā)起的文件傳輸請求,根據(jù)文件傳輸請求建立與第二終

端之間的多路離線傳輸通道,多路離線傳輸通道用于當(dāng)?shù)谝唤K端和第二終端之間具有直連

傳輸通道時,與直連傳輸通道共同傳輸文件至至第二終端。

[0123]第二終端在接收到第一終端發(fā)送的攜帶有文件標(biāo)識的會話消息后,可觸發(fā)會話消

息產(chǎn)生對應(yīng)的文件傳輸請求。當(dāng)接收到第二終端發(fā)起的文件傳輸請求后,離線文件服務(wù)器

則根據(jù)文件傳輸請求中攜帶的文件標(biāo)識查找與文件標(biāo)識對應(yīng)的文件,并通過多路離線傳輸

通道將該文件傳輸至第二終端。當(dāng)?shù)谝唤K端與第二終端之間具有直連傳輸通道時,則通過

多路離線傳輸通道與直連傳輸通道將文件共同傳輸至第二終端。

14

CN110022329A說明書12/14頁

[0124]通過這種方式,使得在通過服務(wù)器提供的多路離線傳輸通道傳輸文件的同時,還

能夠通過終端之間的直連傳輸通道傳輸該文件,有效的利用了直連傳輸通道的資源,大幅

度的提高了文件傳輸?shù)乃俾剩€能夠有效的減少對服務(wù)器帶寬資源的占用,節(jié)約文件傳輸

需耗費的流量。

[0125]在一個實施例中,直連傳輸通道包括第一終端與第二終端之間的局域網(wǎng)傳輸通

道、藍牙傳輸通道和物理連接傳輸通道中的至少一種。

[0126]直連傳輸通道指終端與終端之間無需通過路由器或服務(wù)器的中轉(zhuǎn),而是相互之間

直接建立起的文件數(shù)據(jù)傳輸途徑。當(dāng)?shù)谝唤K端與第二終端之間滿足以下三種情況中的任意

一種時,都說明第一終端與第二終端之間具有直連傳輸通道:

[0127]1、第一終端向第二終端發(fā)送離線文件時,會先將文件上傳至離線文件服務(wù)器,當(dāng)

上傳成功后,會將攜帶有該文件對應(yīng)的文件標(biāo)識的會話消息發(fā)送至第二終端。該會話消息

中還攜帶有第一終端的局域網(wǎng)地址,當(dāng)?shù)诙K端通過會話消息中攜帶的第一終端的局域網(wǎng)

地址檢測到與第一終端位于同一個局域網(wǎng)中時,那么第一終端與第二終端之間則存在基于

局域網(wǎng)的直連傳輸通道,即局域網(wǎng)傳輸通道。

[0128]2、第二終端通過會話消息中攜帶的第一終端的藍牙標(biāo)識檢測到與第一終端通過

藍牙連接時,則說明第一終端與第二終端之間存在基于藍牙的直連傳輸通道,即藍牙傳輸

通道。

[0129]3、第一終端與第二終端之間通過數(shù)據(jù)線、網(wǎng)線等物理方式連接成功時,則第一終

端與第二終端之間存在有基于物理方式連接產(chǎn)生的傳輸通道,即物理傳輸通道。

[0130]有效的利用各種可能是直連傳輸通道的情況,結(jié)合離線下載通道共同傳輸文件,

能大幅度的提高了文件傳輸?shù)乃俾剩€能夠有效的減少對服務(wù)器帶寬資源的占用,節(jié)約文

件傳輸需耗費的流量。

[0131]如圖12所示,在一個實施例中,還提供了一種文件傳輸裝置,該裝置包括:

[0132]會話消息獲取模塊1202,用于第二終端獲取第一終端發(fā)送的會話消息,會話消息

中攜帶有第一終端發(fā)送的文件對應(yīng)的文件標(biāo)識。

[0133]傳輸請求產(chǎn)生模塊1204,用于第二終端觸發(fā)會話消息,產(chǎn)生文件傳輸請求,文件傳

輸請求用于從服務(wù)器請求傳輸文件標(biāo)識對應(yīng)的文件。

[0134]文件傳輸模塊1206,用于當(dāng)?shù)诙K端檢測到與第一終端之間具有直連傳輸通道

時,則通過服務(wù)器提供的多路離線傳輸通道及直連傳輸通道傳輸文件標(biāo)識對應(yīng)的文件。

[0135]在一個實施例中,上述會話消息獲取模塊1202獲取到的會話消息中還攜帶有第一

終端的局域網(wǎng)地址。上述裝置還包括直連傳輸通道檢測模塊(圖中未示出),用于當(dāng)?shù)诙K

端根據(jù)第一終端的局域網(wǎng)地址檢測到與第一終端處于同一局域網(wǎng)中時,則第二終端與第一

終端之間具有直連傳輸通道。

[0136]在一個實施例中,上述會話消息獲取模塊1202獲取到的會話消息中還攜帶有第一

終端的藍牙標(biāo)識。上述直連傳輸通道檢測模塊還用于,當(dāng)?shù)诙K端根據(jù)第一終端的藍牙標(biāo)

識檢測到與第一終端通過藍牙連接時,則第二終端與第一終端之間具有直連傳輸通道。

[0137]在一個實施例中,上述直連傳輸通道檢測模塊還用于,當(dāng)?shù)诙K端檢測到與第一

終端通過物理連接方式連接時,則第二終端與第一終端之間具有直連傳輸通道。

[0138]在一個實施例中,上述文件傳輸模塊1206還用于,獲取為多路離線傳輸通道中包

15

CN110022329A說明書13/14頁

含的每個離線下載器分配的對應(yīng)的文件分片區(qū)間以及每個離線下載器對對應(yīng)的文件分片

區(qū)間的傳輸速度;將離線下載器按照每個離線下載器分配的對應(yīng)的文件分片區(qū)間的順序進

行排列;根據(jù)排列后的每個離線下載器分配的對應(yīng)的文件分片區(qū)間以及對文件分片區(qū)間的

傳輸速度計算得到傳輸函數(shù);根據(jù)傳輸函數(shù)獲取最大時間點所在的離線下載器對應(yīng)的文件

分片區(qū)間;通過直連傳輸通道與多路離線傳輸通道下載與最大時間點對應(yīng)的文件分片區(qū)

間。

[0139]在一個實施例中,上述文件傳輸模塊1206還用于,獲取對直連傳輸通道的預(yù)設(shè)傳

輸速度值;獲取最大時間點所在的離線下載器的傳輸速度;根據(jù)直連通道的預(yù)設(shè)傳輸速度

值與最大時間點所在的離線下載器的傳輸速度計算得到傳輸速度比例;通過傳輸速度比例

分別從直連傳輸通道及最大時間點所在的離線下載器獲取與最大時間點對應(yīng)的文件分片

區(qū)間。

[0140]如圖13所示,在一個實施例中,還提供了一種文件傳輸裝置,該裝置包括:

[0141]保存模塊1302,用于接收第一終端向第二終端發(fā)送的文件并保存。

[0142]傳輸模塊1304,用于接收第二終端文件傳輸請求,根據(jù)文件傳輸請求建立與第二

終端之間的多路離線傳輸通道,多路離線傳輸通道用于當(dāng)?shù)谝唤K端和第二終端之間具有直

連傳輸通道時,與直連傳輸通道共同傳輸文件至至第二終端。

[0143]在一個實施例中,上述直連傳輸通道包括第一終端與第二終端之間的局域網(wǎng)傳輸

通道、藍牙傳輸通道和物理連接傳輸通道中的至少一種。

[0144]在一個實施例中,還提供了一種計算機可讀存儲介質(zhì),其上存儲有計算機程序,該

程序被處理器執(zhí)行時實現(xiàn)以下步驟:第二終端獲取第一終端發(fā)送的會話消息,會話消息中

攜帶有第一終端發(fā)送的文件對應(yīng)的文件標(biāo)識;第二終端觸發(fā)會話消息,產(chǎn)生文件傳輸請求,

文件傳輸請求用于從服務(wù)器請求傳輸文件標(biāo)識對應(yīng)的文件;當(dāng)?shù)诙K端檢測到與第一終端

之間具有直連傳輸通道時,則通過服務(wù)器提供的多路離線傳輸通道及直連傳輸通道傳輸文

件標(biāo)識對應(yīng)的文件。

[0145]在一個實施例中,計算機程序被處理器執(zhí)行上述步驟時,會話消息中還攜帶有第

一終端的局域網(wǎng)地址;當(dāng)?shù)诙K端根據(jù)第一終端的局域網(wǎng)地址檢測到與第一

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論