文件傳輸方法及設(shè)備與流程
本發(fā)明涉及通信技術(shù),尤其涉及一種文件傳輸方法及設(shè)備。
背景技術(shù):
:文件傳輸是在目前的網(wǎng)絡(luò)應(yīng)用中普遍使用的功能,典型地,用于如下的場景:1)通過社交應(yīng)用提供的文件傳輸功能,向參與會話的一個或多個好友發(fā)送分享照片和視頻等大容量的文件進(jìn)行分享;2)用戶使用網(wǎng)絡(luò)客戶端向云端傳輸用戶終端的本地文件(如媒體文件、程序、設(shè)置信息)進(jìn)行備份,以在必要時從云端恢復(fù)。上述文件傳輸?shù)膽?yīng)用場景都具有傳輸文件容量大、要求可靠傳輸?shù)奶攸c(diǎn),為了提升文件傳輸速度,相關(guān)技術(shù)提供了分片傳輸方案,簡單來說,在發(fā)送端將文件進(jìn)行分割為若干分片,利用發(fā)送端與接收端之間的多個連接并行傳輸分片,每個連接傳輸?shù)姆制诘玫浇邮斩说捻憫?yīng)時繼續(xù)傳輸下一個分片,這樣能夠充分利用接收端與發(fā)送端之間的傳輸帶寬,最大化文件傳輸速率,另外,當(dāng)分片傳輸失敗時只要重傳對應(yīng)的分片,而不需要重傳整個文件,保證了傳輸效率。其中,當(dāng)發(fā)送端在一個連接上發(fā)送分片后,發(fā)送端需要在超時時間內(nèi)等待發(fā)送端接收到分片的響應(yīng),如接收到則繼續(xù)傳輸下一個分片,若未接收到響應(yīng)則重傳分片,可見超時時間是影響文件傳輸效率的重要因素。實(shí)際應(yīng)用中,發(fā)送端的接入網(wǎng)絡(luò)的類型復(fù)雜多樣,并且由于用戶的移動的特性,發(fā)送端的接入網(wǎng)絡(luò)的類型會不可避免地發(fā)生頻繁的變動,對于如何根據(jù)發(fā)送端的接入網(wǎng)絡(luò)的情況有針對性確定超時時間,提升分片文件傳輸?shù)男?,相關(guān)技術(shù)尚無有效方案。技術(shù)實(shí)現(xiàn)要素:本發(fā)明實(shí)施例提供一種文件傳輸方法及設(shè)備,能夠根據(jù)發(fā)送端的接入網(wǎng)絡(luò)而自適應(yīng)確定超時時間,提升文件傳輸效率。本發(fā)明實(shí)施例的技術(shù)方案是這樣實(shí)現(xiàn)的:第一方面,本發(fā)明實(shí)施例提供一種文件傳輸方法,包括:基于發(fā)送端的接入網(wǎng)絡(luò)的類型,確定所述發(fā)送端與所述接收端之間所建立的至少兩個連接的初始的超時時間;基于各所述連接的初始的超時時間,通過各所述連接向所述接收端并行傳輸文件的不同文件分片;基于各所述連接的歷史往返傳輸時間,對相應(yīng)連接的歷史超時時間進(jìn)行補(bǔ)償,得到各所述連接的更新的超時時間;基于各所述連接的更新的超時時間,通過各所述連接向所述接收端并行傳輸所述文件的不同文件分片。第二方面,本發(fā)明實(shí)施例提供一種用于進(jìn)行文件傳輸?shù)碾娮釉O(shè)備,作為發(fā)送端,包括:超時單元,基于所述發(fā)送端的接入網(wǎng)絡(luò)的類型,確定所述發(fā)送端與所述接收端之間所建立的至少兩個連接的初始的超時時間;傳輸單元,基于各所述連接的初始的超時時間,通過各所述連接向所述接收端并行傳輸文件的不同文件分片;補(bǔ)償單元,用于基于各所述連接的歷史往返傳輸時間,對相應(yīng)連接的歷史超時時間進(jìn)行補(bǔ)償,得到各所述連接的更新的超時時間;所述傳輸單元,還用于基于各所述連接的更新的超時時間,通過各所述連接向所述接收端并行傳輸所述文件的不同文件分片。第三方面,本發(fā)明實(shí)施例提供一種作為發(fā)送端的電子設(shè)備,包括:存儲器和處理器,存儲器中存儲有可執(zhí)行指令,用于引起處理器執(zhí)行本發(fā)明實(shí)施例提供的文件傳輸方法。第四方面,本發(fā)明實(shí)施例提供一種存儲介質(zhì),存儲有可執(zhí)行指令,用于執(zhí)行本發(fā)明實(shí)施例提供的文件傳輸方法。本發(fā)明實(shí)施例具有以下有益效果:首先,基于發(fā)送端的接入網(wǎng)絡(luò)的類型初步確定通過連接傳輸文件分片的超時時間,對于優(yōu)質(zhì)的接入網(wǎng)絡(luò)而言,能夠避免因設(shè)置統(tǒng)一的超時時間而無法利用傳輸帶寬最大化傳輸效率的問題;對于帶寬有限的接入網(wǎng)絡(luò)而言,能夠避免因超時時間過短導(dǎo)致頻繁重傳文件分片,造成接入網(wǎng)絡(luò)進(jìn)一步擁塞以及過度消耗網(wǎng)絡(luò)流量的問題;其次,通過各連接的歷史往返傳輸時間對初始的超時時間進(jìn)行補(bǔ)償,由于往返傳輸時間反映了連接傳輸文件分片的實(shí)時的性能,通過使用歷史往返傳輸時間對超時時間進(jìn)行補(bǔ)償,能夠針對接入網(wǎng)絡(luò)的實(shí)際情況(如接入網(wǎng)絡(luò)故障、接入網(wǎng)絡(luò)帶寬提升)而使連接傳輸文件分片性能進(jìn)行自適應(yīng)的調(diào)整,避免超時時間過長而影響連接利用率,并避免超時時間過短導(dǎo)致的頻繁重發(fā)的情況,最大程度提升文件傳輸效率。附圖說明圖1是本發(fā)明實(shí)施例提供的文件傳輸方法的一個可選的處理示意圖;圖2是本發(fā)明實(shí)施例提供的文件傳輸方法的一個可選的流程示意圖;圖3是本發(fā)明實(shí)施例提供的文件傳輸方法的一個可選的流程示意圖;圖4是本發(fā)明實(shí)施例提供的作為發(fā)送端的電子設(shè)備10的一個可選的軟硬件結(jié)構(gòu)示意圖;圖5-1是本發(fā)明實(shí)施例提供的文件傳輸方法的一個可選的流程示意圖圖5-2是本發(fā)明實(shí)施例提供發(fā)送端與接收端之間建立連接的一個可選的流程示意圖;圖6是本發(fā)明實(shí)施例提供的設(shè)備的一個可選的功能結(jié)構(gòu)示意圖;圖7是本發(fā)明實(shí)施例提供的客戶端向服務(wù)器傳輸文件分片的一個可選的流程示意圖;圖8是本發(fā)明實(shí)施例提供的客戶端向服務(wù)器傳輸文件分片的一個可選的流程示意圖。具體實(shí)施方式以下結(jié)合附圖及實(shí)施例,對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所提供的實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。另外,以下所提供的實(shí)施例是用于實(shí)施本發(fā)明的部分實(shí)施例,而非提供實(shí)施本發(fā)明的全部實(shí)施例,在本領(lǐng)域技術(shù)人員不付出創(chuàng)造性勞動的前提下,對以下實(shí)施例的技術(shù)方案進(jìn)行重組所得的實(shí)施例、以及基于對發(fā)明所實(shí)施的其他實(shí)施例均屬于本發(fā)明的保護(hù)范圍。需要說明的是,在本發(fā)明實(shí)施例中,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的方法或者裝置不僅包括所明確記載的要素,而且還包括沒有明確列出的其他要素,或者是還包括為實(shí)施方法或者裝置所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括該要素的方法或者裝置中還存在另外的相關(guān)要素(例如方法中的步驟或者裝置中的單元)。例如,本發(fā)明實(shí)施例提供的文件傳輸方法包含了一系列的步驟,但是本發(fā)明實(shí)施例提供的文件傳輸方法不限于所記載的步驟,同樣地,本發(fā)明實(shí)施例提供的文件傳輸設(shè)備-發(fā)送端包括了一系列單元,但是本發(fā)明實(shí)施例提供的文件傳輸設(shè)備不限于包括所明確記載的單元,還可以包括為獲取相關(guān)信息、或基于信息進(jìn)行處理時所需要設(shè)置的單元。對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明之前,對本發(fā)明實(shí)施例中涉及的名詞和術(shù)語進(jìn)行說明,本發(fā)明實(shí)施例中涉及的名詞和術(shù)語適用于如下的解釋。1)文件分片,文件(如視頻、音頻、圖像、安裝包和壓縮包等任意形式的支持復(fù)制并傳輸?shù)奈募?的數(shù)據(jù)進(jìn)行分割形成,一般地,對同一文件進(jìn)行分割形成的文件分片具有相同的容量,當(dāng)然,也可以分割形成不同容量的文件分片。2)接入網(wǎng)絡(luò),接入網(wǎng)絡(luò)是一種用戶網(wǎng)絡(luò),連接用戶設(shè)備到特定的服務(wù)提供商并通過承載網(wǎng)絡(luò)到達(dá)其他網(wǎng)絡(luò)(如互聯(lián)網(wǎng)),例如,包括2g/3g/4g的蜂窩通信網(wǎng)絡(luò)、無線局域網(wǎng)絡(luò)如wifi網(wǎng)絡(luò)、以及光纖網(wǎng)絡(luò)等。3)超時時間,與連接一一對應(yīng),發(fā)送端通過連接向接收端重新傳輸文件分片之前所等待的時間。4)往返傳輸時間(rtt,round-triptime),發(fā)送端從接收端傳輸文件分片開始,至接收來自接收端的響應(yīng)(ack)所耗費(fèi)的時間。以基于傳輸控制協(xié)議(tcp,transmissioncontrolprotocol)的連接來說,接收端和發(fā)送端同時支持tcp時戳選項(xiàng)時,發(fā)送端記錄在tcp數(shù)據(jù)包的包選項(xiàng)內(nèi)的時戳可以被接收端隨響應(yīng)反射回來,發(fā)送端就可以利用響應(yīng)報(bào)文的反射時戳計(jì)算出某個tcp包的即時往返傳輸時間。5)長連接,指在發(fā)送端與接收端之間連續(xù)傳輸多個文件分片的連接,在連接保持期間,如果預(yù)定時間內(nèi)沒有文件分片在長連接上傳輸,發(fā)送端與接收端釋放連接。6)短連接,指在發(fā)送端與接收端之間連續(xù)傳輸一個文件分片的連接,在傳輸完成后即釋放的連接。繼續(xù)針對文件傳輸方案在傳輸效率上存在的問題進(jìn)行分析,參見圖1以及圖2,圖1是本發(fā)明實(shí)施例提供的文件傳輸方法的一個可選的處理示意圖,圖2是本發(fā)明實(shí)施例提供的文件傳輸方法的一個可選的流程示意圖,以手機(jī)qq客戶端向服務(wù)器傳輸文件為例,手機(jī)qq的客戶端在向服務(wù)器進(jìn)行富媒體的文件傳輸時,客戶端通過接入網(wǎng)絡(luò)接入互聯(lián)網(wǎng),建立與服務(wù)器之間的基于tcp的多個連接,將待傳輸?shù)奈募凑展潭ù笮∵M(jìn)行分割形成文件分片,基于多個連接并行傳輸不同的文件分片??蛻舳嗽诿總€連接上向服務(wù)器傳輸一個文件分片,并開始計(jì)時,在超時時間(45s)內(nèi)沒有接收到服務(wù)器接收到文件分片的響應(yīng),即認(rèn)為傳輸文件分片丟失,重新傳輸文件分片,直至接收到服務(wù)器的響應(yīng)并繼續(xù)傳輸其余的文件分片。當(dāng)重新文件分片超過預(yù)定次數(shù)(如3次)且未收到服務(wù)器的響應(yīng)時,若傳輸文件的所耗費(fèi)的時間已經(jīng)超出預(yù)定時間(如8分鐘),則可以結(jié)束文件傳輸,若傳輸文件的所耗費(fèi)的時間沒有超出預(yù)定時間(如8分鐘),則可以嘗試更換在接入網(wǎng)絡(luò)的ip地址繼續(xù)嘗試重新傳輸?;趫D1和圖2提供的文件傳輸方案,至少存在以下問題:1)發(fā)送端的接入網(wǎng)絡(luò)的類型不同時,采用的超時時間都相同,不利于在接入網(wǎng)絡(luò)是優(yōu)質(zhì)無線網(wǎng)絡(luò)的情況進(jìn)行文件分片的快速重傳。比如wifi網(wǎng)絡(luò)的質(zhì)量平均來說是遠(yuǎn)遠(yuǎn)優(yōu)于2g網(wǎng)絡(luò),但是wifi網(wǎng)絡(luò)和2g網(wǎng)絡(luò)的超時時間相同,會導(dǎo)致在質(zhì)量較優(yōu)的wifi網(wǎng)絡(luò)下,要等待很長的超時時間才能重傳之前傳輸失敗的文件分片,這會降低因丟包而重傳文件分片時優(yōu)質(zhì)無線網(wǎng)絡(luò)下的傳輸效率。2)不能根據(jù)同一接入網(wǎng)絡(luò)質(zhì)量的變化而自適應(yīng)更新。例如,中國的移動通信網(wǎng)絡(luò)是非常復(fù)雜的,不同地域不同省份不同片區(qū)不同基站不同時段,網(wǎng)絡(luò)質(zhì)量千差萬別,而且網(wǎng)絡(luò)質(zhì)量是不斷變化的,比如高峰期和人員擁堵地段網(wǎng)絡(luò)質(zhì)量就很差,而低峰期和人員稀少地段網(wǎng)絡(luò)質(zhì)量就很好。如果采用固定的超時時間,很可能導(dǎo)致網(wǎng)絡(luò)質(zhì)量好的地區(qū)或時段,在丟包時仍要采用很長的超時時間才能重試傳輸文件分片,從而導(dǎo)致傳輸時間很長,用戶體驗(yàn)很差。當(dāng)網(wǎng)絡(luò)質(zhì)量特別差時,固定的超時相對于質(zhì)量較低的接入網(wǎng)絡(luò)來說太短,導(dǎo)致重試傳輸?shù)奈募制瑫龆啵黾恿诉M(jìn)入網(wǎng)絡(luò)的分片,從而浪費(fèi)用戶流量。針對上述問題,本發(fā)明實(shí)施例提供一種文件傳輸方法,提供對發(fā)送端使用連接傳輸文件分片的超時時間進(jìn)行自適應(yīng)調(diào)整的方案,參見圖3,圖3是本發(fā)明實(shí)施例提供的文件傳輸方法的一個可選的流程示意圖,包括以下步驟:步驟101,發(fā)送端基于發(fā)送端的接入網(wǎng)絡(luò)的類型,確定發(fā)送端與接收端之間所建立的至少兩個連接分別對應(yīng)的初始的超時時間。步驟102,發(fā)送端基于各連接對應(yīng)的初始的超時時間,通過各連接向接收端并行傳輸文件的不同文件分片。步驟103,發(fā)送端基于各連接的歷史往返傳輸時間,對相應(yīng)連接的歷史超時時間進(jìn)行補(bǔ)償,得到各連接對應(yīng)的更新的超時時間。步驟104,發(fā)送端基于各連接對應(yīng)的更新的超時時間,通過各連接向接收端并行傳輸文件的不同文件分片。首先,基于發(fā)送端的接入網(wǎng)絡(luò)的類型初步確定通過連接傳輸文件分片的超時時間,使得超時時間因接入網(wǎng)絡(luò)的類型具有差異化的特性,對于優(yōu)質(zhì)的接入網(wǎng)絡(luò)而言,能夠避免因設(shè)置統(tǒng)一的超時時間而無法充分利用傳輸帶寬最大化傳輸效率的問題;對于帶寬有限的接入網(wǎng)絡(luò)而言,能夠避免因超時時間過短導(dǎo)致頻繁重傳文件分片,造成接入網(wǎng)絡(luò)進(jìn)一步擁塞的問題;其次,通過各連接的往返傳輸時間對初始的超時時間進(jìn)行補(bǔ)償,由于往返傳輸時間反映了接入網(wǎng)絡(luò)傳輸文件分片的實(shí)時的性能,通過使用往返傳輸時間對超時時間進(jìn)行補(bǔ)償,能夠針對接入網(wǎng)絡(luò)的實(shí)際情況(如接入網(wǎng)絡(luò)故障,接入網(wǎng)絡(luò)帶寬變化)而使連接傳輸文件分片性能進(jìn)行自適應(yīng)的調(diào)整,避免超時時間過長而影響連接利用率,并避免超時時間過段導(dǎo)致的頻繁重發(fā)的情況,最大程度提升文件傳輸效率。下文中,繼續(xù)以發(fā)送端和接收端為例進(jìn)行說明,可以理解地,在不同的業(yè)務(wù)場景中,發(fā)送端和接收端可以實(shí)施為不同的設(shè)備,如終端和服務(wù)器。例如,在即時通信的業(yè)務(wù)場景中,發(fā)送端可以為運(yùn)行即時通信客戶端的終端,接收端可以為部署在網(wǎng)絡(luò)中的即時通信服務(wù)器,用于接收某一用戶通過即時通信客戶端在會話中發(fā)送的文件。同時,服務(wù)器又可以作為發(fā)送端將文件分片(可以為所接收的文件分片,或者為根據(jù)接收的文件分片合并為文件后重新分割的文件分片)傳輸給參與會話的其他用戶的即時通信客戶端。再例如,在云端存儲服務(wù)的業(yè)務(wù)場景中,發(fā)送端可以為運(yùn)行網(wǎng)盤客戶端的終端,接收端可以為部署有云端存儲服務(wù)的服務(wù)器。與前述的發(fā)送端對應(yīng),本發(fā)明實(shí)施例還提供用于實(shí)施上述文件傳輸方法的電子設(shè)備,例如,電子設(shè)備可以基于用戶側(cè)的終端,例如,智能手機(jī)、平板電腦、筆記本電腦,也可以為部署在網(wǎng)絡(luò)中的用于提供文件傳輸后臺服務(wù)的服務(wù)器。在硬件層面上,實(shí)現(xiàn)電子設(shè)備的硬件資源包括如處理器和內(nèi)存的計(jì)算資源、如網(wǎng)絡(luò)接口的通信資源實(shí)現(xiàn);在軟件層面上,電子設(shè)備可以實(shí)施為存儲于存儲介質(zhì)中的可執(zhí)行指令(包括諸如程序、模塊之類的計(jì)算機(jī)可執(zhí)行指令)。如上,參見圖4示出的本發(fā)明實(shí)施例提供的作為發(fā)送端的電子設(shè)備10的一個可選的軟硬件結(jié)構(gòu)示意圖,電子設(shè)備10包括硬件層、中間層、操作系統(tǒng)層和軟件層。然而,本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,圖4示出的電子設(shè)備10的結(jié)構(gòu)僅為示例,并不構(gòu)成對電子設(shè)備10結(jié)構(gòu)的限定。例如,電子設(shè)備10可以根據(jù)實(shí)施需要設(shè)置較圖4更多的組件,或者根據(jù)實(shí)施需要省略設(shè)置部分組件。電子設(shè)備10的硬件層包括處理器11、輸入/輸出接口13,存儲介質(zhì)14以及網(wǎng)絡(luò)接口12,組件可以經(jīng)系統(tǒng)總線連接通信。處理器11可以采用中央處理器(cpu)、微處理器(mcu,microcontrollerunit)、專用集成電路(asic,applicationspecificintegratedcircuit)或邏輯可編程門陣列(fpga,field-programmablegatearray)實(shí)現(xiàn)。輸入/輸出接口13可以采用如顯示屏、觸摸屏、揚(yáng)聲器等輸入/輸出器件實(shí)現(xiàn)。存儲介質(zhì)14可以采用閃存、硬盤、光盤等非易失性存儲介質(zhì)實(shí)現(xiàn),也可以采用雙倍率(ddr,doubledatarate)動態(tài)緩存等易失性存儲介質(zhì)實(shí)現(xiàn),其中存儲有用以執(zhí)行上述文件傳輸方法的可執(zhí)行指令。示例性地,存儲介質(zhì)14可以與電子設(shè)備10的其他組件集中設(shè)置,也可以相對于電子設(shè)備10中的其他組件分布設(shè)置。網(wǎng)絡(luò)接口12向處理器11提供外部數(shù)據(jù)如異地設(shè)置的存儲介質(zhì)14的訪問能力,示例性地,網(wǎng)絡(luò)接口12可以基于近場通信(nfc,nearfieldcommunication)技術(shù)、藍(lán)牙(bluetooth)技術(shù)、紫蜂(zigbee)技術(shù)進(jìn)行的近距離通信,另外,還可以實(shí)現(xiàn)如cdma、wcdma等通信制式及其演進(jìn)制式的通信。驅(qū)動層包括用于供操作系統(tǒng)16識別硬件層并與硬件層各組件通信的中間件15,例如可以為針對硬件層的各組件的驅(qū)動程序的集合。操作系統(tǒng)16用于提供面向用戶的圖形界面,示例性地,包括插件圖標(biāo)、桌面背景和應(yīng)用圖標(biāo),操作系統(tǒng)16支持用戶經(jīng)由圖形界面對設(shè)備的控制本發(fā)明實(shí)施例對上述設(shè)備的軟件環(huán)境如操作系統(tǒng)類型、版本不做限定,例如可以是linux操作系統(tǒng)、unix操作系統(tǒng)或其他操作系統(tǒng)。協(xié)議層配置有支持設(shè)備實(shí)現(xiàn)無線局域網(wǎng)通信的協(xié)議如無線相容性認(rèn)證(wifi)協(xié)議,還配置有支持設(shè)備將文件分片進(jìn)行封裝為數(shù)據(jù)報(bào)文、并將數(shù)據(jù)報(bào)文的形式通過連接傳輸?shù)膖cp/網(wǎng)際協(xié)議(internetprotocol)。應(yīng)用層包括提供有文件傳輸功能的應(yīng)用,對于設(shè)備是終端的情況,應(yīng)用層可以包括如即時通信客戶端19,提供向用戶好友傳輸文件進(jìn)行共享的功能,再例如網(wǎng)盤客戶端18,提供將電子設(shè)備10本地的文件(如用戶照片、視頻等個人文件,以及操作系統(tǒng)設(shè)置文件、安裝包文件)上傳到云端的服務(wù)器,并在必要時將文件從云端恢復(fù)到電子設(shè)備10。對于設(shè)備是服務(wù)器的情況,應(yīng)用層可以包括如用于支持即時通信業(yè)務(wù)的業(yè)務(wù)邏輯(如用戶數(shù)據(jù)管理、消息管理)。參見圖5-1,圖5-1是本發(fā)明實(shí)施例提供的文件傳輸方法的一個可選的流程示意圖,包括:步驟201,發(fā)送端通過接入網(wǎng)絡(luò)建立與接收端之間的用于傳輸文件分片的多個連接。在一個實(shí)施例中,發(fā)送端與客戶端之間通過三次握手建立多個長連接,通過長連接進(jìn)行后續(xù)的文件分片的傳輸,由于長連接具有在沒有文件分片傳輸時仍然保持一定時間的特性,當(dāng)發(fā)送端向接收端連續(xù)傳輸多個文件時,能夠節(jié)省發(fā)送端與接收端之間的資源消耗和時間消耗。在另一個實(shí)施例中,發(fā)送端與客戶端之間通過三次握手建立至少多個短連接,通過短連接進(jìn)行后續(xù)的文件分片的傳輸,由于短連接具有在沒有文件分片傳輸時即釋放的特性,當(dāng)大量的發(fā)送端向接收端連接傳輸文件時,能夠節(jié)約接收端維護(hù)大量并發(fā)連接的資源消耗。對發(fā)送端與接收端之間建立連接的過程進(jìn)行說明,參見圖5-2示出的發(fā)送端與接收端之間建立連接的一個可選的流程示意圖,包括三次握手操作。第一次握手:建立連接時,發(fā)送端發(fā)送同步序列號(syn,synchronizesequencenumbers)包(syn=j(luò))到接收端,并進(jìn)入syn_sent狀態(tài),等待接收端確認(rèn);同步序列編號。第二次握手:接收端收到syn包,必須確認(rèn)客戶的syn(ack=j(luò)+1),同時自己也發(fā)送一個syn包(syn=k),即syn+ack包,此時接收端進(jìn)入syn_recv狀態(tài)。第三次握手:發(fā)送端收到服務(wù)器的syn+ack包,向接收端發(fā)送確認(rèn)包ack(ack=k+1),此包發(fā)送完畢,發(fā)送端和接收端進(jìn)入established(tcp連接成功)狀態(tài),完成三次握手。步驟202,接收端基于發(fā)送端的接入網(wǎng)絡(luò)的類型,確定發(fā)送端與接收端之間所建立的多個連接各自的初始的超時時間。在一個實(shí)施例中,各連接的初始的超時時間是對各連接的基礎(chǔ)超時時間進(jìn)行補(bǔ)償?shù)玫健τ诨A(chǔ)超時時間來說,不同類型的接入網(wǎng)絡(luò)的基礎(chǔ)超時時間與接入網(wǎng)絡(luò)的帶寬以及傳輸速率負(fù)相關(guān),即接入網(wǎng)絡(luò)的帶寬越大,傳輸速率越快,則通過連接所傳輸?shù)奈募制枰臅r間越少,從而發(fā)送端在發(fā)送文件分片之后能夠在相對更短的時間內(nèi)接收到接收端的確認(rèn),相應(yīng)地,在重傳文件分片之前所等待的時間(基礎(chǔ)超時時間)也越短。實(shí)際應(yīng)用中,作為一個示例,不同類型的接入網(wǎng)絡(luò)的基礎(chǔ)超時時間,可以通過一段時間內(nèi)發(fā)送端通過相應(yīng)類型的接入網(wǎng)絡(luò)中傳輸文件分片時所使用的超時時間進(jìn)行統(tǒng)計(jì)(發(fā)送端統(tǒng)計(jì)或由接收端統(tǒng)計(jì)),并對統(tǒng)計(jì)到的超時時間求取均值得到。如對最近一周或一月的超時時間進(jìn)行統(tǒng)計(jì)并求取均值得到,這里的均值可以是算術(shù)平均值或中位值(即統(tǒng)計(jì)到的往返傳輸時間中排序處于中間位置的值),從而,形成不同類型的接入網(wǎng)絡(luò)與基礎(chǔ)超時時間的對應(yīng)關(guān)系??商鎿Q地,作為另一個示例,不同類型的接入網(wǎng)絡(luò)的基礎(chǔ)超時時間,也可以通過一段時間內(nèi),發(fā)送端通過相應(yīng)類型的接入網(wǎng)絡(luò)建立的連接傳輸文件分片時的往返傳輸時間進(jìn)行統(tǒng)計(jì),并對統(tǒng)計(jì)到的往返傳輸時間求取均值得到。如對最近一周或一月的往返傳輸時間進(jìn)行統(tǒng)計(jì)并求取均值得到,這里的均值可以是算術(shù)平均值或中位值(即統(tǒng)計(jì)到的往返傳輸時間中排序處于中間位置的值),從而,形成不同類型的接入網(wǎng)絡(luò)與基礎(chǔ)超時時間的對應(yīng)關(guān)系。不同類型的接入網(wǎng)絡(luò)與基礎(chǔ)超時時間的對應(yīng)關(guān)系的一個可選的示例如表1所示。接入網(wǎng)絡(luò)2g網(wǎng)絡(luò)3g/4gwifi網(wǎng)絡(luò)基礎(chǔ)超時時間60秒(s)40s20s表1對于發(fā)送端檢測到所接入網(wǎng)絡(luò)的類型而言,發(fā)送端基于上述的不同類型的接入網(wǎng)絡(luò)與基礎(chǔ)超時時間之間的對應(yīng)關(guān)系,能夠確定與發(fā)送端的接入網(wǎng)絡(luò)的對應(yīng)的基礎(chǔ)超時時間。步驟203,發(fā)送端基于各連接的建立時間對相應(yīng)連接的基礎(chǔ)超時時間進(jìn)行補(bǔ)償,對應(yīng)得到各連接的初始的超時時間。在一個實(shí)施例中,發(fā)送端基于各連接的建立時間(即發(fā)送端與接收端進(jìn)行三次握手以建立連接所消耗的時間)、相應(yīng)連接的基礎(chǔ)超時時間求取加和的方式對基礎(chǔ)超時時間進(jìn)行補(bǔ)償,得到各連接的初始的超時時間。例如,對于發(fā)送端與接收端建立的一個連接來說,假設(shè)發(fā)送端與接收端三次握手建立該連接所消耗的時間為tconnect,發(fā)送端的接入網(wǎng)絡(luò)對應(yīng)的基礎(chǔ)超時時間為tbase,那么該連接初始的超時時間可以表示為:tinitial=tbase+tconnect(1)結(jié)合連接的基礎(chǔ)傳輸時間和連接建立時間作為連接首次傳輸文件分片的超時時間,從接入網(wǎng)絡(luò)的類型所反映的整體的傳輸性能(通過基礎(chǔ)超時時間來反映)、以及接入網(wǎng)絡(luò)實(shí)時的傳輸性能(通過連接建立時間來反映)兩個方面確定超時時間,既考慮了發(fā)送端的接入網(wǎng)絡(luò)的類型這一宏觀的因素對連接的傳輸性能的影響,又兼顧了相同類型的不同接入網(wǎng)絡(luò)對(100兆帶寬的無線局域網(wǎng)和1000兆帶寬的無線局域網(wǎng))的差異對連接的傳輸性能的影響,使得超時時間能夠精確反映連接的傳輸性能。例如,對于發(fā)送端接入無線局域網(wǎng)發(fā)送文件分片,相較于發(fā)送端接入2g蜂窩網(wǎng)絡(luò)發(fā)送文件分片的情況,由于無線局域網(wǎng)的連接建立時間,必然短于2g蜂窩通信網(wǎng)絡(luò)時的連接建立時間,同時,無線局域網(wǎng)的基礎(chǔ)超時時間,必然短于接入2g蜂窩通信網(wǎng)絡(luò)的基礎(chǔ)超時時間。因此,無線局域網(wǎng)的初始的超時時間必然短于2g蜂窩網(wǎng)絡(luò)的初始的超時時間,在傳輸失敗時,基于無線局域網(wǎng)建立的連接能夠較基于2g蜂窩通信網(wǎng)絡(luò)建立的連接更快發(fā)起文件分片重傳,從而提升傳輸效率。再例如,對于發(fā)送端接入100兆帶寬的無線局域網(wǎng)發(fā)送文件分片,相較于發(fā)送端接入1000兆帶寬的無線局域網(wǎng)發(fā)送文件分片的情況,由于1000兆帶寬無線局域網(wǎng)的連接建立時間,必然短于100兆帶寬無線局域網(wǎng)的連接建立時間,同時,1000兆帶寬無線局域網(wǎng)的基礎(chǔ)超時時間,必然短于100兆帶寬無線局域網(wǎng)的基礎(chǔ)超時時間,因此,1000兆帶寬無線局域網(wǎng)的初始的超時時間必然短于100兆帶寬無線局域網(wǎng)的初始的超時時間,在傳輸失敗時,發(fā)送端接入1000兆帶寬無線局域網(wǎng)建立的連接能夠較發(fā)送端接入100兆帶寬無線局域網(wǎng)建立的連接更快發(fā)起文件分片重傳,從而充分利用優(yōu)質(zhì)接入網(wǎng)絡(luò)提升傳輸效率。在另一個實(shí)施例中,發(fā)送端基于各連接的建立時間(即發(fā)送端與接收端進(jìn)行三次握手以建立連接所消耗的時間)、基礎(chǔ)超時時間與第一加權(quán)系數(shù)的第一乘積的加和,對應(yīng)得到各連接的初始的超時時間。例如,對于發(fā)送端與接收端建立的一個連接來說,假設(shè)發(fā)送端與接收端三次握手建立該連接所消耗的時間為tconnect,發(fā)送端的接入網(wǎng)絡(luò)對應(yīng)的基礎(chǔ)超時時間為tbase,第一加權(quán)系數(shù)為β,那么該連接初始的超時時間tinitial可以表示為:tinitial=tbase+β*tconnect(2)文件分片在發(fā)送端的tcp協(xié)議層封裝為數(shù)據(jù)報(bào)文(以文件分片的數(shù)據(jù)為載荷數(shù)據(jù))的形式在連接中傳輸,并且,數(shù)據(jù)報(bào)文不可避免地需要異構(gòu)網(wǎng)絡(luò)中傳輸,鑒于這種情況,為了避免數(shù)據(jù)報(bào)文在異構(gòu)網(wǎng)絡(luò)中被分片,從而造成一個文件分片的部分?jǐn)?shù)據(jù)在異構(gòu)網(wǎng)絡(luò)中丟包的情況,接收端對連接的基礎(chǔ)超時時間進(jìn)行補(bǔ)償之前,首先比較發(fā)送端向接收端并行傳輸?shù)奈募制娜萘?、以及發(fā)送端向接收端傳輸?shù)臄?shù)據(jù)報(bào)文的最大長度,基于比較結(jié)果調(diào)整基礎(chǔ)超時時間,然后使用比較結(jié)果作為第一加權(quán)系數(shù)對相應(yīng)連接對應(yīng)的調(diào)整后的基礎(chǔ)超時時間進(jìn)行補(bǔ)償。其中,對于基于比較結(jié)果調(diào)整基礎(chǔ)超時時間而言,可以采用這樣的方式:以第一加權(quán)系數(shù)與相應(yīng)連接基礎(chǔ)超時時間的乘積為調(diào)整后的基礎(chǔ)超時時間,其中第一加權(quán)系數(shù)為發(fā)送端向接收端并行傳輸?shù)奈募制娜萘?、與發(fā)送端向接收端傳輸?shù)臄?shù)據(jù)報(bào)文的最大長度的比值。例如,假設(shè)發(fā)送端向接收端并行傳輸?shù)奈募制娜萘繛閟ize,則容量size可以表示為:size=l*nallow*s(3)其中,l為發(fā)送端與接收端所建立的連接的數(shù)量,nallow為連接允許同時傳輸?shù)奈募制臄?shù)量,s為文件分片大小(容量)。假設(shè)發(fā)送端向接收端傳輸?shù)臄?shù)據(jù)報(bào)文的最大長度為mss,則mss為從發(fā)送端到接收端所經(jīng)過的網(wǎng)絡(luò)中各網(wǎng)絡(luò)允許的做大傳輸單元(mtu,maximumtransmissionunit)的最小值,當(dāng)將比較結(jié)果作為第一加權(quán)系數(shù)β時,第一加權(quán)系數(shù)β可以表示為:β=size/mss(4)相應(yīng)地,基于比較結(jié)果調(diào)整的基礎(chǔ)超時時間可以表示為:β*tconnect=(size/mss)*tconnect(5)則當(dāng)比較結(jié)果作為第一加權(quán)系數(shù)β對調(diào)整的基礎(chǔ)超時時間進(jìn)行補(bǔ)償,所得到的初始的超時時間tinitial可以表示為:tinitial=tbase+(size/mss)*tconnect(6)步驟204,接收端基于各連接對應(yīng)的初始的超時時間,通過各連接向接收端并行傳輸文件的不同文件分片。仍然參見圖1,發(fā)送端將文件分割為n個文件分片,在每個連接傳輸預(yù)定數(shù)量的文件分片,假設(shè)每個連接中允許同時傳輸?shù)奈募制臄?shù)量為2,則發(fā)送端首先在連接1中傳輸文件分片1和文件分片2,在連接2中傳輸文件分片3和文件分片4。對于每個分片發(fā)送后基于tinitial開始計(jì)時并進(jìn)行相應(yīng)的處理,以文件分片1為例,如果在初始的超時時間tinitial沒有接收到服務(wù)器通過連接1返回的針對文件分片1的響應(yīng),則重新傳輸文件分片1,當(dāng)重新文件分片1超過預(yù)定次數(shù)(如3次)且未收到服務(wù)器的響應(yīng)時,若傳輸文件的所耗費(fèi)的時間已經(jīng)超出預(yù)定時間(如8分鐘),則可以結(jié)束文件傳輸,若傳輸文件的所耗費(fèi)的時間沒有超出預(yù)定時間(如8分鐘),則可以嘗試更換ip地址繼續(xù)嘗試重新傳輸文件分片1。當(dāng)接收端通過連接的初始的超時時間傳輸文件分片之后,在后續(xù)每次傳輸新的文件分片時,或者在通過連接傳輸?shù)男碌奈募制瑵M足預(yù)定條件時,通過對連接使用的超時時間(如初始的超時時間)進(jìn)行補(bǔ)償,得到連接的更新的超時時間,基于更新的超時時間繼續(xù)傳輸文件的文件分片,通過循環(huán)執(zhí)行下述步驟205和步驟206來完成。步驟205,發(fā)送端基于各連接的歷史往返傳輸時間,對相應(yīng)連接的歷史超時時間進(jìn)行補(bǔ)償,得到各連接對應(yīng)的更新的超時時間。步驟206,發(fā)送端基于各連接的更新的超時時間,通過各連接向接收端并行傳輸文件的不同文件分片。下面結(jié)合循環(huán)執(zhí)行步驟205和步驟206對更新超時時間的實(shí)現(xiàn)方式進(jìn)行說明。例如,首次執(zhí)行步驟205時,歷史超時時間thistory即為步驟203中確定的初始的超時時間tinitial,歷史往返傳輸時間rtthistory即為通過連接首次傳輸文件分片的初始的往返傳輸時間rttinitial(即,通過連接初次傳輸文件分片至接收到接收端返回的響應(yīng)所消耗的時間),基于各連接的初始的往返傳輸時間rttinitial,對相應(yīng)連接的初始的超時時間tinitial進(jìn)行補(bǔ)償,得到各連接對應(yīng)的更新的超時時間。首次執(zhí)行步驟206時,作為一種補(bǔ)償方式,將初始的超時時間與連接的初始的超時時間求和的方式進(jìn)行補(bǔ)償,得到的連接對應(yīng)的更新的超時時間toptimal可以表示為:toptimal=rttinitial+tinitial(7)后續(xù),再次執(zhí)行步驟204時,歷史超時時間即為最近一次更新過的超時時間tlasttime,歷史往返傳輸時間即為最近一次通過連接傳輸文件分片的往返傳輸時間rttlasttime(即,通過連接最近一次傳輸文件分片至接收到接收端返回的響應(yīng)所消耗的時間),則基于各連接的歷史往返傳輸時間,對相應(yīng)連接的初始的超時時間tinitial進(jìn)行補(bǔ)償,得到各連接對應(yīng)的更新的超時時間。作為一種補(bǔ)償方式,將連接的歷史往返傳輸時間與連接的歷史超時時間求和的方式進(jìn)行補(bǔ)償,得到的更新的超時時間toptimal可以表示為:toptimal=rttlasttime+tlasttime(8)后續(xù),當(dāng)步驟205和步驟206再次執(zhí)行時,根據(jù)上述公式(8)可迭代更新超時時間,不再贅述。繼續(xù)對上述的針對歷史超時時間的補(bǔ)償方式進(jìn)行說明,作為另一種補(bǔ)償方式,假設(shè)連接的歷史超時時間為thistory,則可將歷史的超時時間與連接的歷史往返傳輸時間rtthistory求和的方式對歷史超時時間thistory進(jìn)行補(bǔ)償,得到的連接對應(yīng)的更新的超時時間toptimal可以表示為:toptimal=rtthistory+thistory(9)需要指出地,當(dāng)補(bǔ)償?shù)某瑫r時間不是初始的超時時間的情況,對于連接已傳輸文件分片所對應(yīng)的歷史往返傳輸時間rtthistory的取值來說,取值有多種可選的情況,例如,取值可以是通過連接最近一次傳輸文件分片所對應(yīng)的往返傳輸時間rttlasttime,或者,取值可以是通過連接傳輸部分或全部文件分片所對應(yīng)的超時時間的均值rttaverage;同理,對于連接的歷史超時時間thistory的取值來說,取值有多種可選的情況,例如,取值可以是通過連接最近一次傳輸文件分片時所使用的超時時間tlasttime,或者,取值可以是通過連接傳輸部分或全部文件分片所使用的超時時間的均值taverage。由此來看,基于公式(9),更新的超時時間除了采用公式(8)示出的表達(dá)表達(dá)方式,還可以有其他的表達(dá)方式,以基于均值rttaverage和超時時間的均值taverage表達(dá)方式來說,更新的超時時間toptimal可以表示為:toptimal=rttaverage+taverage(10)在另一個實(shí)施例中,作為前述公式(9)示出的補(bǔ)償方式的可替換的補(bǔ)償方式,提供另一種對超時時間進(jìn)行補(bǔ)償?shù)姆绞?。首先,對各連接的歷史往返傳輸時間進(jìn)行調(diào)整,對各連接的歷史超時時間進(jìn)行調(diào)整,然后,基于各連接的調(diào)整后的歷史往返傳輸時間,對相應(yīng)連接的調(diào)整后的歷史超時時間進(jìn)行補(bǔ)償,得到各連接對應(yīng)的更新的超時時間。就對連接的歷史往返傳輸時間進(jìn)行調(diào)整而言,可以以連接的歷史往返傳輸時間rtthistory(即從通過該連接傳輸文件分片開始,至接收到來自接收端的針對該文件分片的確認(rèn)所消耗的時間)與第二加權(quán)系數(shù)α(小于1)的第二乘積α*rtthistory作為調(diào)整后的歷史往返傳輸時間。就對連接的歷史超時時間進(jìn)行調(diào)整而言,可以以連接的歷史超時時間thistory與第三加權(quán)系數(shù)1-α(小于1,當(dāng)然,也可以為其他任意的小于1的取值)的第三乘積(1-α)*thistory作為相應(yīng)連接調(diào)整后的歷史超時時間。相應(yīng)地,連接的更新的超時時間toptimal可以表示為:toptimal=α*rtthistory+(1-α)*thistory(11)與前述的補(bǔ)償方式類似地,對于連接的歷史往返傳輸時間rtthistory來說,取值有多種可選的情況,歷史往返傳輸時間rtthistory可以是通過連接最近一次傳輸文件分片所對應(yīng)的往返傳輸時間rttlasttime,或者,可以是通過連接傳輸部分或全部文件分片所對應(yīng)的超時時間的均值rttaverage;同理,對于連接的歷史超時時間thistory來說,取值有多種可選的情況,例如,可以是通過連接最近一次傳輸文件分片時所使用的超時時間tlasttime,或者,可以是通過連接傳輸部分或全部文件分片所使用的超時時間的均值taverage。例如,當(dāng)thistory取值是通過連接最近一次傳輸文件分片時所使用的超時時間tlasttime,且rtthistory取值是通過連接最近一次傳輸文件分片所對應(yīng)往返傳輸時間rttlasttime時,連接的更新的超時時間toptimal可以表示為:toptimal=α*rttlasttime+(1-α)*tlasttime(12)再例如,當(dāng)thistory取值是是通過連接傳輸部分或全部文件分片所使用的超時時間的均值taverage,且rtthistory取值是通過連接傳輸部分或全部文件分片所對應(yīng)的超時時間的均值rttaverage時,連接的更新的超時時間toptimal可以表示為:toptimal=α*rttaverage+(1-α)*taverage(13)下面結(jié)合這種補(bǔ)償方式對步驟205中更新超時時間進(jìn)行說明。首次執(zhí)行步驟205時,作為一種補(bǔ)償方式,將連接初始的往返傳輸時間rttinitial與第二加權(quán)系數(shù)α相乘形成第二乘積α*rttinitial,將連接的初始的超時時間tinitial與第三加權(quán)系數(shù)(1-α)相乘形成第三乘積(1-α)*tinitial,以第二乘積與第三乘積求加和的方式對初始的超時時間tinitial進(jìn)行補(bǔ)償,得到的連接的更新的超時時間toptimal可以表示為:toptimal=α*rttinitial+(1-α)*tinitial(14)后續(xù),再次執(zhí)行步驟205時,歷史超時時間即為最近一次更新過的超時時間tlasttime,歷史往返傳輸時間即為最近一次通過連接傳輸文件分片的往返傳輸時間rttlasttime(即,通過連接最近一次傳輸文件分片至接收到接收端返回的響應(yīng)所消耗的時間),則基于各連接的歷史往返傳輸時間,對相應(yīng)連接的初始的超時時間tinitial進(jìn)行補(bǔ)償,得到各連接對應(yīng)的更新的超時時間。相應(yīng)地,將連接的歷史往返傳輸時間與連接的歷史超時時間求和的方式進(jìn)行補(bǔ)償,得到的更新的超時時間toptimal可以表示為:toptimal=α*rttlasttime+(1-α)*tlasttime(15)后續(xù),當(dāng)步驟205和步驟206再次執(zhí)行時,根據(jù)上述公式(15)可迭代更新超時時間,不再贅述。在另外一個實(shí)施例中,提供又一種對超時時間進(jìn)行補(bǔ)償?shù)姆绞?,基于上述的補(bǔ)償方式,基于各連接的調(diào)整后的歷史往返傳輸時間,對相應(yīng)連接的歷史超時時間進(jìn)行補(bǔ)償之后,還基于通過各連接重新傳輸同一文件分片的次數(shù)對相應(yīng)連接的歷史超時時間再次進(jìn)行補(bǔ)償,得到各連接的更新的超時時間。舉例來說,將各連接重新傳輸同一文件分片的次數(shù)retrytimes與動態(tài)調(diào)整網(wǎng)絡(luò)基數(shù)乘積δ的乘積δ*retrytimes對相應(yīng)連接的歷史超時時間進(jìn)行補(bǔ)償,即將連接傳輸文件分片的歷史超時時間與第二加權(quán)系數(shù)的第二乘積α*rtthistory、相應(yīng)連接的歷史往返傳輸時間thistory與第三加權(quán)系數(shù)(1-α)的第三乘積(1-α)*thistory進(jìn)行加和求和,得到確定各連接對應(yīng)的更新的超時時間toptimal,可以表示為:toptimal=α*rtthistory+(1-α)*thistory+δ*retrytimes(16)同理,當(dāng)thistory取值是通過連接最近一次傳輸文件分片時所使用的超時時間tlasttime,且rtthistory取值是通過連接最近一次傳輸文件分片所對應(yīng)往返傳輸時間rttlasttime時,連接的更新的超時時間toptimal可以表示為:toptimal=α*rttlasttime+(1-α)*tlasttime+δ*retrytimes(17)在對歷史超時時間補(bǔ)償時,通過加入重新傳輸次數(shù)的因子,能夠基于連接當(dāng)前的實(shí)際傳輸性能精確確定超時時間。在一個實(shí)施例中,對于發(fā)送端與接收端之間所建立的每個連接,發(fā)送端在每個連接傳輸文件分片之后,即通過步驟205對連接的歷史超時時間進(jìn)行補(bǔ)償,以形成更新的超時時間,基于更新的超時時間通過連接進(jìn)行后續(xù)的文件分片的傳輸。通過連接每傳輸一個文件分片之后即更新連接的超時時間,能夠針對接入網(wǎng)絡(luò)的實(shí)際情況(如接入網(wǎng)絡(luò)故障、接入網(wǎng)絡(luò)帶寬提升)自適應(yīng)的調(diào)整超時時間,保證文件傳輸?shù)男省T诹硪粋€實(shí)施例中,對于發(fā)送端與接收端之間所建立的每個連接,發(fā)送端檢測是否滿足更新超時時間的預(yù)定條件,在預(yù)定條件滿足時,即通過步驟205基于各連接的歷史往返傳輸時間,對相應(yīng)連接的歷史超時時間進(jìn)行補(bǔ)償,得到各連接對應(yīng)的更新的超時時間。示例性地,預(yù)定條件可以包括下面幾種類型:更新條件1)發(fā)送端在超時時間內(nèi)未接收到發(fā)送端針對所傳輸文件分片的響應(yīng);更新條件2)發(fā)送端通過連接重傳文件分片次數(shù)超出預(yù)定次數(shù)時,仍未接收到接收端針對所傳輸文件分片的響應(yīng);更新條件3)發(fā)送端向接收端傳輸?shù)奈募制臅r間到達(dá)預(yù)定更新時間;更新條件4)發(fā)送端向接收端傳輸?shù)奈募制臄?shù)量到達(dá)預(yù)定文件分片數(shù)量;更新條件5)發(fā)送端向接收端傳輸?shù)奈募臄?shù)量到達(dá)預(yù)定文件數(shù)量。上述更新條件的示例僅為示例,在不沖突的情況下,上述更新條件可以擇一或組合使用,使用預(yù)定條件判斷是否更新超時時間的方案。例如,對于發(fā)送端的接入網(wǎng)絡(luò)的網(wǎng)絡(luò)質(zhì)量穩(wěn)定,并且發(fā)送端頻繁向接收端傳輸文件分片的情況,一般來說,當(dāng)滿足上述更新條件1)至更新條件3)時,說明當(dāng)前的超時時間與接入網(wǎng)絡(luò)的網(wǎng)絡(luò)質(zhì)量是適配的,且接入網(wǎng)絡(luò)的網(wǎng)絡(luò)質(zhì)量穩(wěn)定,在這種情況下,不必在通過連接每次傳輸文件分片后即更新連接的超時時間,一方面,對于發(fā)送端來說,可以節(jié)約計(jì)算資源的開銷,另一方面,在不滿足預(yù)定條件時能夠及時更新超時時間,保證了文件傳輸效率。下面在針對文件傳輸過程中以及文件傳輸完成后的一些情況進(jìn)行說明。在文件的傳輸過程中,當(dāng)各連接向接收端并行傳輸文件的不同文件分片之后,在相應(yīng)連接的更新的超時時間到達(dá)時,包括以下2種情況:1)若接收到接收端針對所傳輸文件分片的確認(rèn),則繼續(xù)傳輸文件的待傳輸?shù)奈募制?)若未接收到接收端針對所傳輸文件分片的響應(yīng)則重新傳輸相應(yīng)的文件分片,當(dāng)重新傳輸文件分片超過預(yù)定次數(shù)(如3次)且未收到接收端的響應(yīng)時:2.1)若傳輸文件的所耗費(fèi)的時間已經(jīng)超出預(yù)定時間(如8分鐘),此時說明接入網(wǎng)絡(luò)可能出現(xiàn)問題,沒有必要繼續(xù)傳輸文件,則可以結(jié)束文件傳輸,并發(fā)出接入網(wǎng)絡(luò)可能出現(xiàn)故障的提示,以便盡快恢復(fù)文件傳輸。2.2)若傳輸文件的所耗費(fèi)的時間沒有超出預(yù)定時間(如8分鐘),則可以嘗試更換ip地址并更新超時時間,基于更新的超時時間通過連接繼續(xù)重傳文件分片,通過更換ip地址的方式以及更新超時時間的方式,盡快恢復(fù)文件傳輸,保證文件傳輸效率。在文件傳輸完成之后,包括以下2種情況:1)若發(fā)送端與接收端建立的連接類型為短連接,則通過四次握手操作釋放與接收端建立的連接,節(jié)省接收端維護(hù)大量并發(fā)連接的資源消耗。2)若發(fā)送端與接收端建立的連接類型為長連接,發(fā)送端通過向接收端發(fā)送心跳信息的方式保持各連接,直至預(yù)定的保持時間到達(dá),且不再有文件分片傳輸時通過與接收端執(zhí)行四次握手操作釋放各連接。由于長連接具有在沒有文件分片傳輸時仍然保持一定時間的特性,當(dāng)發(fā)送端向接收端連續(xù)傳輸多個文件時,能夠節(jié)省發(fā)送端與接收端之間的資源消耗和時間消耗下面,再對當(dāng)發(fā)送端向接收端傳輸一個文件的文件分片完畢并期望繼續(xù)傳輸新文件的文件分片的情況進(jìn)行說明。步驟207,發(fā)送端需要向接收端傳輸新文件時,基于各連接傳輸歷史文件的文件分片的歷史往返傳輸時間,對各連接的歷史超時時間進(jìn)行補(bǔ)償,得到各連接對應(yīng)的更新的超時時間。由于發(fā)送端復(fù)用連接向接收端傳輸新文件的文件分片,因此,發(fā)送端更新超時時間時,可以結(jié)合各連接歷史文件時所使用的超時時間,基于公式(8),對各連接的最后一次傳輸歷史文件的文件分片的超時時間進(jìn)行補(bǔ)償,形成更新的超時時間,或者,對基于公式(10),對各連接的傳輸歷史文件的部分或全部文件分片的超時時間的均值進(jìn)行補(bǔ)償,形成更新的超時時間,具體補(bǔ)償方式參見可以根據(jù)前述的記載而理解,不再贅述。步驟208,發(fā)送端基于各連接對應(yīng)的更新的超時時間,通過各連接向接收端并行傳輸新文件的不同文件分片??梢岳斫獾?,前述記載的針對在文件的傳輸過程中的處理、以及文件傳輸完成后的處理仍然適用新文件的文件分片的傳輸,不再贅述。針對前述設(shè)電子設(shè)備的功能結(jié)構(gòu)進(jìn)行說明,參見圖6,圖6是本發(fā)明實(shí)施例提供的電子設(shè)備的一個可選的功能結(jié)構(gòu)示意圖,包括:超時單元21,用于基于發(fā)送端的接入網(wǎng)絡(luò)的類型,確定發(fā)送端與接收端之間所建立的至少兩個連接的初始的超時時間;傳輸單元22,用于基于各連接的初始的超時時間,通過各連接向接收端并行傳輸文件的不同文件分片;補(bǔ)償單元23,用于基于各連接的歷史往返傳輸時間,對相應(yīng)連接的歷史超時時間進(jìn)行補(bǔ)償,得到各連接的更新的超時時間;傳輸單元22,還用于基于各連接的更新的超時時間,通過各連接向接收端并行傳輸文件的不同文件分片。在一個實(shí)施例中,超時單元21,還用于基于不同類型的接入網(wǎng)絡(luò)與基礎(chǔ)超時時間之間的對應(yīng)關(guān)系,確定與發(fā)送端的接入網(wǎng)絡(luò)的對應(yīng)的基礎(chǔ)超時時間;基于各連接的建立時間對相應(yīng)連接的基礎(chǔ)超時時間進(jìn)行補(bǔ)償,對應(yīng)得到各連接的初始的超時時間。在一個實(shí)施例中,超時單元21,還用于對各連接對應(yīng)的基礎(chǔ)超時時間進(jìn)行補(bǔ)償之前,比較發(fā)送端向接收端并行傳輸?shù)奈募制娜萘?、與發(fā)送端能夠向接收端傳輸?shù)臄?shù)據(jù)報(bào)文的最大長度,基于比較結(jié)果調(diào)整相應(yīng)連接的基礎(chǔ)超時時間。例如,在超時單元21基于比較結(jié)果調(diào)整相應(yīng)連接的基礎(chǔ)超時時間時,采用這樣的方式:以第一加權(quán)系數(shù)與相應(yīng)連接基礎(chǔ)超時時間的乘積為調(diào)整后的基礎(chǔ)超時時間,其中第一加權(quán)系數(shù)為發(fā)送端向接收端并行傳輸?shù)奈募制娜萘?、與發(fā)送端向接收端傳輸?shù)臄?shù)據(jù)報(bào)文的最大長度的比值。在一個實(shí)施例中,補(bǔ)償單元23,還用于對各連接的歷史往返傳輸時間進(jìn)行調(diào)整,對各連接的歷史的超時時間進(jìn)行調(diào)整,基于各連接的調(diào)整后的歷史往返傳輸時間,對相應(yīng)連接的調(diào)整后的超時時間進(jìn)行補(bǔ)償,得到各連接的更新的超時時間。例如,在補(bǔ)償單元23基于各連接的調(diào)整后的歷史往返傳輸時間,對相應(yīng)連接的歷史超時時間進(jìn)行補(bǔ)償時,采用這樣的方式:確定各連接最近一次傳輸文件分片時所使用的超時時間與第二加權(quán)系數(shù)的第二乘積、以及相應(yīng)連接的最近一次傳輸文件分片時的往返傳輸時間與第三加權(quán)系數(shù)的第三乘積,基于第二乘積與第三乘積的加和,得到各連接的更新的超時時間。在一個實(shí)施例中,補(bǔ)償單元23,還用于基于各連接的調(diào)整后的歷史往返傳輸時間,對相應(yīng)連接的歷史超時時間進(jìn)行補(bǔ)償之后,基于通過各連接重新傳輸同一文件分片的次數(shù)對相應(yīng)連接的歷史超時時間再次進(jìn)行補(bǔ)償,得到各連接的更新的超時時間。例如,在補(bǔ)償單元23基于通過各連接重新傳輸同一文件分片的次數(shù)對相應(yīng)連接的歷史超時時間進(jìn)行補(bǔ)償時采用這樣的方式:將各連接重新傳輸同一文件分片的次數(shù)與動態(tài)調(diào)整網(wǎng)絡(luò)基數(shù)乘積的加和、與相應(yīng)連接的歷史超時時間(即相應(yīng)連接傳輸文件分片的歷史超時時間與第二加權(quán)系數(shù)的第二乘積、相應(yīng)連接的歷史往返傳輸時間與第三加權(quán)系數(shù)的第三乘積進(jìn)行加和)求和,得到確定各連接對應(yīng)的更新的超時時間。在一個實(shí)施例中,傳輸單元22,還用于當(dāng)通過連接重新傳輸文件分片的次數(shù)超過預(yù)定次數(shù)、且傳輸文件所耗費(fèi)的時間未超出預(yù)定時間時,更新發(fā)送端的網(wǎng)際協(xié)議地址,并基于更新的超時時間,通過連接重新傳輸文件分片。在一個實(shí)施例中,補(bǔ)償單元23,還用于當(dāng)需要向接收端傳輸新文件時,基于各連接傳輸歷史文件分片的歷史往返傳輸時間,對各連接傳輸歷史文件分片的歷史超時時間進(jìn)行補(bǔ)償,得到各連接對應(yīng)的更新的超時時間;傳輸單元22,還用于基于各連接對應(yīng)的更新的超時時間,通過各連接向接收端并行傳輸新文件的不同文件分片。在一個實(shí)施例中,傳輸單元22,還用于當(dāng)各連接的類型為長連接、且向接收端傳輸文件的文件分片完成后保持各連接,直至預(yù)定的保持時間到達(dá)且不再有文件分片傳輸時釋放各連接。參見圖7,圖7是本發(fā)明實(shí)施例提供的客戶端向服務(wù)器傳輸文件分片的一個可選的流程示意圖,結(jié)合圖7對客戶端向服務(wù)器傳輸文件的一個業(yè)務(wù)場景進(jìn)行說明。一、后臺計(jì)算不同類型的網(wǎng)絡(luò)(接入網(wǎng)絡(luò))的基礎(chǔ)超時時間,下發(fā)給客戶端。后臺每天通過對客戶端的海量連接數(shù)據(jù)進(jìn)行統(tǒng)計(jì)和分析,對于使用相同類型網(wǎng)絡(luò)的客戶端,利用客戶端傳輸分片的連接所使用的超時時間的中位數(shù),作為相應(yīng)類型網(wǎng)絡(luò)對應(yīng)的基礎(chǔ)超時時間tbase,然后通過配置的方式下發(fā)給客戶端,配置每天更新一次。如2g的基礎(chǔ)超時時間為60s,3g和4g為40s,wifi網(wǎng)絡(luò)的基礎(chǔ)超時時間為20s。二、客戶端計(jì)算新建連接首次傳輸?shù)某跏汲瑫r時間??蛻舳撕头?wù)器同時建立多條連接,客戶端在通過新建的連接傳輸?shù)谝唤M分片之前,根據(jù)當(dāng)前所接入網(wǎng)絡(luò)的基礎(chǔ)超時時間tbase、建立當(dāng)次連接的時間(消耗時間)tconnect和并發(fā)傳輸分片的總大小size來計(jì)算新建連接首次傳輸?shù)某跏汲瑫r時間tinitial,如下:tinitial=tbase+(size/mss)*tconnect(6)其中,并發(fā)傳輸分片總大小size=連接數(shù)*每條連接允許同時傳輸?shù)姆制瑪?shù)*分片大小,以圖1為例,假設(shè)連接數(shù)為2,每條連接允許同時傳輸?shù)奈募制臄?shù)量為2個,分片大小為4kb,則size為2*2*4kib=16kib。mss為網(wǎng)絡(luò)允許傳輸?shù)淖畲髨?bào)文長度,通常為1460b或?yàn)楦〉闹?。然后,客戶端根?jù)初始超時時間tinitial發(fā)送第一組分片。為了實(shí)時的評估網(wǎng)絡(luò)質(zhì)量,得出后續(xù)分片傳輸最優(yōu)的超時時間,客戶端還要結(jié)合往次分片傳輸?shù)某瑫r時間tlasttime、往次分片傳輸?shù)耐祩鬏敃r間rttlasttime來計(jì)算當(dāng)次分片傳輸?shù)淖顑?yōu)超時時間toptimal,如下所示:toptimal=α*rttlasttime+(1-α)*tlasttime+δ*retrytimes(17)其中,α是加權(quán)系數(shù),0<α<1,一般取1/8。δ為動態(tài)調(diào)整網(wǎng)絡(luò)時間基數(shù),如5s,即分片每重試一次,增加5s的超時時間。α和δ可以根據(jù)實(shí)際情況進(jìn)行調(diào)整到最優(yōu)值,然后通過配置的方式下發(fā)給客戶端。為了避免網(wǎng)絡(luò)質(zhì)量突然變差,導(dǎo)致當(dāng)toptimal過小時頻繁重新傳輸文件分片,當(dāng)計(jì)算得出的toptimal限制范圍超出預(yù)定范圍[10s,120s]時,則取該預(yù)定范圍的邊界值作為toptimal。三、客戶端根據(jù)最優(yōu)超時時間toptimal發(fā)送后續(xù)文件分片,對新建連接上的第一組分片來說,最優(yōu)超時時間toptimal等于tinitial。四、客戶端根據(jù)文件分片最優(yōu)超時時間決定是否重發(fā)分片。客戶端根據(jù)最優(yōu)超時時間toptimal發(fā)送文件分片,如果在最優(yōu)超時時間toptimal達(dá)到后,文件分片的響應(yīng)還沒有返回客戶端,客戶端則重發(fā)該文件分片,并重新計(jì)算超時時間,直到達(dá)到最大的重試次數(shù)或者達(dá)到文件允許的最大發(fā)送時間。五、客戶端發(fā)送心跳信息保持連接,后續(xù)發(fā)送新文件的分片時利用上一次文件發(fā)送的超時信息。在文件發(fā)送完成后,每分鐘發(fā)一次心跳?;钸B接,連續(xù)3分鐘沒有新文件的文件分片傳輸發(fā)送則釋放連接。如果3分鐘內(nèi)有新文件的文件分片發(fā)送,直接利用上一次文件最后一個文件分片的最優(yōu)超時時間和rtt時間,基于公式(17)計(jì)算新文件第一組分片的初始的超時時間。參見圖8,圖8是本發(fā)明實(shí)施例提供的手機(jī)qq客戶端(下面簡稱客戶端)向服務(wù)器傳輸富媒體格式的文件分片的一個可選的流程示意圖,結(jié)合圖8對客戶端如手機(jī)qq客戶端向服務(wù)器傳輸文件的一個業(yè)務(wù)場景進(jìn)行說明??蛻舳伺c服務(wù)器建立多個連接,按照固定的大小對待傳輸?shù)奈募M(jìn)行分割形成文件分片,在通過連接初次傳輸文件分片時,基于上述公式(6)計(jì)算初始的超時時間傳輸文件分片tinitial,當(dāng)再次傳輸文件分片時,根據(jù)連接的往返傳輸時間rtt、基于上述公式(17)計(jì)算當(dāng)前文件分片傳輸時最優(yōu)的超時時間toptimal。在文件分片的傳輸過程中,如果傳輸通過連接傳輸某一文件分片之后,在超時時間(初始傳輸為tinitial,后續(xù)傳輸為toptimal),在超時時間內(nèi)沒有接收到服務(wù)器接收到文件分片的響應(yīng),則重新傳輸文件分片,直至接收到服務(wù)器的響應(yīng)并繼續(xù)傳輸其余的文件分片。當(dāng)重新文件分片超過預(yù)定次數(shù)(如3次)且未收到服務(wù)器的響應(yīng)時,若傳輸文件的所耗費(fèi)的時間已經(jīng)超出預(yù)定時間(如8分鐘),則可以結(jié)束文件傳輸,若傳輸文件的所耗費(fèi)的時間沒有超出預(yù)定時間(如8分鐘),則可以嘗試更換ip地址,由于更換ip地址相當(dāng)于實(shí)現(xiàn)了新建連接的效果,因此,在更換ip地址后,基于公式(6)重新計(jì)算更換ip地址的連接的初始的超時時間,基于初始的超時時間通過連接繼續(xù)嘗試重新傳輸文件分片,當(dāng)重新傳輸文件分片成功,且繼續(xù)傳輸文件分片時,通過公式(17)計(jì)算最優(yōu)的超時時間,并基于最優(yōu)的超時時間通過連接繼續(xù)傳輸文件分片。綜上所述,本發(fā)明實(shí)施例實(shí)現(xiàn)以下有益效果:本發(fā)明實(shí)施例,解決了采用固定超時時長不能實(shí)時反映網(wǎng)絡(luò)質(zhì)量從而導(dǎo)致異常網(wǎng)絡(luò)狀態(tài)下,重傳文件分片的的超時時間過長拉低傳輸效率的問題。根據(jù)不同的接入網(wǎng)絡(luò)(2g、3g、4g和wifi)中不同的基礎(chǔ)超時時間、每次分片傳輸?shù)耐祩鬏敃r間、往次傳輸超時時間、并發(fā)傳輸分片的總大小和分片的重試次數(shù)來動態(tài)計(jì)算傳輸?shù)淖顑?yōu)超時時間,能夠快速感應(yīng)網(wǎng)絡(luò)質(zhì)量的變化,讓文件分片在各種網(wǎng)絡(luò)狀態(tài)下都能有合理的超時時間,從而降低發(fā)送延時,提升發(fā)送速度或者減少流量消耗。特別是在優(yōu)質(zhì)無線網(wǎng)絡(luò)下或者當(dāng)網(wǎng)絡(luò)從異常狀態(tài)恢復(fù)至正常狀態(tài)的時候能夠快速重傳丟失分片,從而大幅降低發(fā)送延時,提高文件傳輸速度,進(jìn)而給用戶帶來更好的文件傳輸體驗(yàn)。在不同網(wǎng)絡(luò)條件下,發(fā)送端都能設(shè)置合理的分片超時時間,從而降低文件的發(fā)送延時,提升文件傳輸速度或者節(jié)約用戶流量。經(jīng)過數(shù)據(jù)統(tǒng)計(jì),采用本發(fā)明實(shí)施例方案在2g網(wǎng)絡(luò)下的文件的平均發(fā)送延時降低了15%左右,3g和4g網(wǎng)絡(luò)下降低了約10%,wifi網(wǎng)絡(luò)下降低了約5%,有效提升了文件傳輸效率。本領(lǐng)域的技術(shù)人員可以理解:實(shí)現(xiàn)上述方法實(shí)施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成,前述的程序可以存儲于一計(jì)算機(jī)可讀取存儲介質(zhì)中,該程序在執(zhí)行時,執(zhí)行包括上述方法實(shí)施例的步驟;而前述的存儲介質(zhì)包括:移動存儲裝置、隨機(jī)存取存儲器(ram,randomaccessmemory)、只讀存儲器(rom,read-onlymemory)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)?;蛘?,本發(fā)明上述集成的單元如果以軟件功能模塊的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時,也可以存儲在一個計(jì)算機(jī)可讀取存儲介質(zhì)中?;谶@樣的理解,本發(fā)明實(shí)施例的技術(shù)方案本質(zhì)上或者說對相關(guān)技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計(jì)算機(jī)裝置(可以是個人計(jì)算機(jī)、服務(wù)器、或者網(wǎng)絡(luò)裝置等)執(zhí)行本發(fā)明各個實(shí)施例所述方法的全部或部分。而前述的存儲介質(zhì)包括:移動存儲裝置、ram、rom、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。以上所述,僅為本發(fā)明的具體實(shí)施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本
技術(shù)領(lǐng)域:
的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)以所述權(quán)利要求的保護(hù)范圍為準(zhǔn)。當(dāng)前第1頁12
相關(guān)知識
健身計(jì)劃生成方法及相關(guān)設(shè)備與流程
健康檢測方法、裝置、終端設(shè)備及存儲介質(zhì)與流程
健康監(jiān)測方法、裝置及電子設(shè)備與流程
BMI檢測方法、裝置以及電子設(shè)備與流程
基于人臉圖像的胖瘦識別方法及裝置、電子設(shè)備與流程
一種健康監(jiān)測系統(tǒng)及方法與流程
基于5G技術(shù)與傳感器結(jié)合對健康數(shù)據(jù)采集處理傳輸?shù)姆椒ㄅc流程
三大文件傳輸方法助力解讀醫(yī)療健康與生命密碼
電池健康狀態(tài)檢測方法、裝置和電子設(shè)備與流程
電池健康狀態(tài)測算方法以及相關(guān)設(shè)備與流程
網(wǎng)址: 文件傳輸方法及設(shè)備與流程 http://m.u1s5d6.cn/newsview1440153.html
推薦資訊
- 1發(fā)朋友圈對老公徹底失望的心情 12775
- 2BMI體重指數(shù)計(jì)算公式是什么 11235
- 3補(bǔ)腎吃什么 補(bǔ)腎最佳食物推薦 11199
- 4性生活姿勢有哪些 盤點(diǎn)夫妻性 10425
- 5BMI正常值范圍一般是多少? 10137
- 6在線基礎(chǔ)代謝率(BMR)計(jì)算 9652
- 7一邊做飯一邊躁狂怎么辦 9138
- 8從出汗看健康 出汗透露你的健 9063
- 9早上怎么喝水最健康? 8613
- 10五大原因危害女性健康 如何保 7826