基于數(shù)據(jù)分塊的數(shù)據(jù)傳輸方法和裝置制造方法
【專利摘要】本發(fā)明公開了一種基于數(shù)據(jù)分塊的數(shù)據(jù)傳輸方法和裝置,屬于通訊【技術(shù)領(lǐng)域】。所述方法包括:終端設(shè)備根據(jù)待傳輸數(shù)據(jù)所包含的數(shù)據(jù)塊的塊索引和存儲地址信息,獲取至少一個數(shù)據(jù)塊;所述終端設(shè)備向服務(wù)器發(fā)送傳輸請求消息,所述傳輸請求消息攜帶所述至少一個數(shù)據(jù)塊和所述至少一個數(shù)據(jù)塊的塊索引;所述終端設(shè)備接收所述服務(wù)器返回的傳輸響應(yīng)消息;所述終端設(shè)備根據(jù)所述傳輸響應(yīng)消息,確定所述至少一個數(shù)據(jù)塊的傳輸狀態(tài);所述終端設(shè)備根據(jù)所述至少一個數(shù)據(jù)塊的傳輸狀態(tài),繼續(xù)傳輸所述待傳輸數(shù)據(jù)的數(shù)據(jù)塊。本發(fā)明通過根據(jù)塊索引和存儲地址信息進行數(shù)據(jù)塊的傳輸,并根據(jù)數(shù)據(jù)塊的傳輸狀態(tài)傳輸數(shù)據(jù),保證了傳輸?shù)臄?shù)據(jù)的完整性。
【專利說明】基于數(shù)據(jù)分塊的數(shù)據(jù)傳輸方法和裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通訊【技術(shù)領(lǐng)域】,特別涉及一種基于數(shù)據(jù)分塊的數(shù)據(jù)傳輸方法和裝置?!颈尘凹夹g(shù)】
[0002]隨著互聯(lián)網(wǎng)的不斷發(fā)展,終端設(shè)備和服務(wù)器之間的數(shù)據(jù)傳輸也越來越普遍。數(shù)據(jù)傳輸就是按照一定的規(guī)則,經(jīng)過一條或多條鏈路,在數(shù)據(jù)源和數(shù)據(jù)宿之間傳送數(shù)據(jù)的過程,也表示借助信道上的信號將數(shù)據(jù)從一處送往另一處的操作。如,用戶通過email、各種論壇、聊天軟件進行數(shù)據(jù)傳輸,都會將數(shù)據(jù)從終端設(shè)備傳輸?shù)椒?wù)器或者從服務(wù)器下載數(shù)據(jù)到終端設(shè)備。
[0003]在現(xiàn)有技術(shù)中,數(shù)據(jù)傳輸過程中通常會將大數(shù)據(jù)分成很多小的數(shù)據(jù)塊,每次傳輸一個小數(shù)據(jù)塊,避免了一次傳輸較大的文件,而這種傳輸會導(dǎo)致客戶端對當(dāng)前傳輸文件的進度一無所知,因此,文件分塊傳輸方法的設(shè)計和實現(xiàn)就變得越來越重要。
[0004]在實現(xiàn)本發(fā)明的過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)至少存在以下問題:
[0005]目前互聯(lián)網(wǎng)領(lǐng)域主流的數(shù)據(jù)傳輸服務(wù)模式為終端設(shè)備一次性傳輸,如果在傳輸過程中出現(xiàn)異常,導(dǎo)致傳輸過程終止,那么所有已傳輸?shù)臄?shù)據(jù)也會完全丟失,不能保證數(shù)據(jù)完整性。
【發(fā)明內(nèi)容】
[0006]為了解決數(shù)據(jù)傳輸中數(shù)據(jù)完整性的問題,本發(fā)明實施例提供了一種基于數(shù)據(jù)分塊的數(shù)據(jù)傳輸方法和裝置。所述技術(shù)方案如下:
[0007]—方面,一種基于數(shù)據(jù)分塊的數(shù)據(jù)傳輸方法,所述方法包括:
[0008]終端設(shè)備根據(jù)待傳輸數(shù)據(jù)所包含的數(shù)據(jù)塊的塊索引和存儲地址信息,獲取至少一個數(shù)據(jù)塊;
[0009]所述終端設(shè)備向服務(wù)器發(fā)送傳輸請求消息,所述傳輸請求消息攜帶所述至少一個數(shù)據(jù)塊和所述至少一個數(shù)據(jù)塊的塊索引;
[0010]所述終端設(shè)備接收所述服務(wù)器返回的傳輸響應(yīng)消息;
[0011]所述終端設(shè)備根據(jù)所述傳輸響應(yīng)消息,確定所述至少一個數(shù)據(jù)塊的傳輸狀態(tài);
[0012]所述終端設(shè)備根據(jù)所述至少一個數(shù)據(jù)塊的傳輸狀態(tài),繼續(xù)傳輸所述待傳輸數(shù)據(jù)的數(shù)據(jù)塊。
[0013]終端設(shè)備根據(jù)待傳輸數(shù)據(jù)所包含的數(shù)據(jù)塊的塊索引和存儲地址信息,獲取至少一個數(shù)據(jù)塊之前,包括:
[0014]對待傳輸數(shù)據(jù)進行分塊,獲取每個數(shù)據(jù)塊的存儲地址信息以及每個數(shù)據(jù)塊的塊索引。
[0015]對待傳輸數(shù)據(jù)進行分塊,獲取每個數(shù)據(jù)塊的存儲地址信息以及每個數(shù)據(jù)塊的塊索引之后,終端設(shè)備根據(jù)待傳輸數(shù)據(jù)所包含的數(shù)據(jù)塊的塊索引和存儲地址信息,獲取至少一個數(shù)據(jù)塊之前,所述方法還包括:[0016]向所述服務(wù)器發(fā)送所述待傳輸數(shù)據(jù)的數(shù)據(jù)信息,所述待傳輸數(shù)據(jù)的數(shù)據(jù)信息至少包括對所述待傳輸數(shù)據(jù)進行分塊所得到的每個數(shù)據(jù)塊的塊索引和所述待傳輸數(shù)據(jù)的文件大小。
[0017] 所述終端設(shè)備根據(jù)所述傳輸響應(yīng)消息,確定所述至少一個數(shù)據(jù)塊的傳輸狀態(tài),包括:
[0018]當(dāng)所述傳輸響應(yīng)消息攜帶所述至少一個數(shù)據(jù)塊中第一數(shù)據(jù)塊的塊索引時,則確定所述至少一個數(shù)據(jù)塊中第一數(shù)據(jù)塊傳輸不成功;當(dāng)所述傳輸響應(yīng)消息未攜帶任何塊索引時,則確定所述至少一個數(shù)據(jù)塊傳輸成功。
[0019]所述終端設(shè)備根據(jù)所述至少一個數(shù)據(jù)塊的傳輸狀態(tài)繼續(xù)傳輸所述待傳輸數(shù)據(jù)的數(shù)據(jù)塊,包括:
[0020]當(dāng)確定所述至少一個數(shù)據(jù)塊中第一數(shù)據(jù)塊傳輸不成功,則根據(jù)所述傳輸響應(yīng)消息所攜帶的塊索引,確定所述傳輸響應(yīng)消息所攜帶的塊索引對應(yīng)的數(shù)據(jù)塊的存儲地址信息,獲取所述第一數(shù)據(jù)塊,并重新傳輸所述第一數(shù)據(jù)塊;
[0021]當(dāng)確定所述至少一個數(shù)據(jù)塊傳輸成功,則根據(jù)所述至少一個數(shù)據(jù)塊的塊索引確定所述待傳輸數(shù)據(jù)是否全部傳輸完成,如果所述待傳輸數(shù)據(jù)未全部傳輸完成,則根據(jù)所述至少一個數(shù)據(jù)塊的塊索引,確定第二數(shù)據(jù)塊的塊索引,獲取所述第二數(shù)據(jù)塊的塊索引對應(yīng)的第二數(shù)據(jù)塊的存儲地址信息,獲取第二數(shù)據(jù)塊,并傳輸所述第二數(shù)據(jù)塊;如果所述待傳輸數(shù)據(jù)全部傳輸完成,則結(jié)束傳輸。
[0022]另一方面,一種基于數(shù)據(jù)分塊的數(shù)據(jù)傳輸裝置,所述裝置包括:
[0023]數(shù)據(jù)塊獲取模塊,用于根據(jù)待傳輸數(shù)據(jù)所包含的數(shù)據(jù)塊的塊索引和存儲地址信息,獲取至少一個數(shù)據(jù)塊;
[0024]傳輸模塊,用于向服務(wù)器發(fā)送傳輸請求消息,所述傳輸請求消息攜帶所述至少一個數(shù)據(jù)塊和所述至少一個數(shù)據(jù)塊的塊索引;
[0025]接收模塊,用于接收所述服務(wù)器返回的傳輸響應(yīng)消息;
[0026]傳輸狀態(tài)確定模塊,用于根據(jù)所述傳輸響應(yīng)消息,確定所述至少一個數(shù)據(jù)塊的傳輸狀態(tài);
[0027]所述傳輸模塊,還用于根據(jù)所述至少一個數(shù)據(jù)塊的傳輸狀態(tài),繼續(xù)傳輸所述待傳輸數(shù)據(jù)的數(shù)據(jù)塊。
[0028]所述裝置還包括:
[0029]分塊模塊,用于對待傳輸數(shù)據(jù)進行分塊,獲取每個數(shù)據(jù)塊的存儲地址信息以及每個數(shù)據(jù)塊的塊索引。
[0030]所述傳輸模塊還用于向所述服務(wù)器發(fā)送所述待傳輸數(shù)據(jù)的數(shù)據(jù)信息,所述待傳輸數(shù)據(jù)的數(shù)據(jù)信息至少包括對所述待傳輸數(shù)據(jù)進行分塊所得到的每個數(shù)據(jù)塊的塊索引和所述待傳輸數(shù)據(jù)的文件大小。
[0031]所述傳輸狀態(tài)確定模塊具體用于當(dāng)所述傳輸響應(yīng)消息攜帶所述至少一個數(shù)據(jù)塊中第一數(shù)據(jù)塊的塊索引時,則確定所述至少一個數(shù)據(jù)塊中第一數(shù)據(jù)塊傳輸不成功;當(dāng)所述傳輸響應(yīng)消息未攜帶任何塊索引時,則確定所述至少一個數(shù)據(jù)塊傳輸成功。
[0032]所述傳輸模塊還具體用于當(dāng)確定所述至少一個數(shù)據(jù)塊中第一數(shù)據(jù)塊傳輸不成功,則根據(jù)所述傳輸響應(yīng)消息所攜帶的塊索引,確定所述傳輸響應(yīng)消息所攜帶的塊索引對應(yīng)的數(shù)據(jù)塊的存儲地址信息,獲取所述第一數(shù)據(jù)塊,并重新傳輸所述第一數(shù)據(jù)塊;當(dāng)確定所述至少一個數(shù)據(jù)塊傳輸成功,則根據(jù)所述至少一個數(shù)據(jù)塊的塊索引確定所述待傳輸數(shù)據(jù)是否全部傳輸完成,如果所述待傳輸數(shù)據(jù)未全部傳輸完成,則根據(jù)所述至少一個數(shù)據(jù)塊的塊索引,確定第二數(shù)據(jù)塊的塊索引,獲取所述第二數(shù)據(jù)塊的塊索引對應(yīng)的第二數(shù)據(jù)塊的存儲地址信息,獲取第二數(shù)據(jù)塊,并傳輸所述第二數(shù)據(jù)塊;如果所述待傳輸數(shù)據(jù)全部傳輸完成,則結(jié)束傳輸。
[0033]本發(fā)明實施例提供的一種基于數(shù)據(jù)分塊的數(shù)據(jù)傳輸方法和裝置,通過終端設(shè)備根據(jù)待傳輸數(shù)據(jù)所包含的數(shù)據(jù)塊的存儲地址信息,獲取至少一個數(shù)據(jù)塊;所述終端設(shè)備向服務(wù)器發(fā)送傳輸請求消息,所述傳輸請求消息攜帶所述至少一個數(shù)據(jù)塊和所述至少一個數(shù)據(jù)塊的塊索引;所述終端設(shè)備接收所述服務(wù)器返回的傳輸響應(yīng)消息;所述終端設(shè)備根據(jù)所述傳輸響應(yīng)消息,確定所述至少一個數(shù)據(jù)塊的傳輸狀態(tài);所述終端設(shè)備根據(jù)所述至少一個數(shù)據(jù)塊的傳輸狀態(tài),繼續(xù)傳輸所述待傳輸數(shù)據(jù)的數(shù)據(jù)塊。采用本發(fā)明實施例提供的技術(shù)方案,根據(jù)塊索引和存儲地址信息進行數(shù)據(jù)塊的傳輸,并根據(jù)數(shù)據(jù)塊的傳輸狀態(tài)傳輸數(shù)據(jù),保證了傳輸?shù)臄?shù)據(jù)的完整性。
【專利附圖】
【附圖說明】
[0034]為了更清楚地說明本發(fā)明實施例中的技術(shù)方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0035]圖1是本發(fā)明實施例提供的一種基于數(shù)據(jù)分塊的數(shù)據(jù)傳輸方法的流程圖;
[0036]圖2是本發(fā)明實施例提供的一種基于數(shù)據(jù)分塊的數(shù)據(jù)傳輸方法的流程圖;
[0037]圖3是本發(fā)明實施例提供的一種基于數(shù)據(jù)分塊的數(shù)據(jù)傳輸裝置的結(jié)構(gòu)示意圖。
【具體實施方式】
[0038]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖對本發(fā)明實施方式作進一步地詳細描述。
[0039]本發(fā)明實施例中,終端設(shè)備指向用戶提供語音和/或數(shù)據(jù)連通性的設(shè)備,包括無線終端或有線終端。無線終端可以是具有無線連接功能的手持式設(shè)備、或連接到無線調(diào)制解調(diào)器的其他處理設(shè)備,經(jīng)無線接入網(wǎng)與一個或多個核心網(wǎng)進行通信的移動終端。例如,無線終端可以是移動電話(或稱為“蜂窩”電話)和具有移動終端的計算機。又如,無線終端也可以是便攜式、袖珍式、手持式、計算機內(nèi)置的或者車載的移動裝置。再如,無線終端可以為移動站(Mobile Station,以下簡稱MS)、接入點(Access Point,以下簡稱AP)、或用戶裝備(User Equipment,以下簡稱 UE)等。
[0040]圖1是本發(fā)明實施例提供的一種基于數(shù)據(jù)分塊的數(shù)據(jù)傳輸方法的流程圖,參見圖1,該方法包括:
[0041]102:終端設(shè)備根據(jù)待傳輸數(shù)據(jù)所包含的數(shù)據(jù)塊的塊索引和存儲地址信息,獲取至少一個數(shù)據(jù)塊;
[0042]其中,待傳輸數(shù)據(jù)是指當(dāng)前正在傳輸或是準備傳輸?shù)臄?shù)據(jù),其中,該待傳輸數(shù)據(jù)包括至少一個數(shù)據(jù)塊,各個數(shù)據(jù)塊均有其相應(yīng)的存儲地址,即各個數(shù)據(jù)塊均對應(yīng)有存儲地址信息,且各個數(shù)據(jù)塊均具有對應(yīng)的塊索引,該塊索引可以是有規(guī)律可循的任意標記,如塊索引可以為0-Ν,或OOfOON,N為正整數(shù)。
[0043]其中,該至少一個數(shù)據(jù)塊可以是待傳輸數(shù)據(jù)塊中未傳輸?shù)囊粋€或多個數(shù)據(jù)塊。對于每次獲取來說,可以僅獲取一個數(shù)據(jù)塊,也即是在后續(xù)的傳輸中每次僅傳輸一個數(shù)據(jù)塊,而如果終端設(shè)備以及網(wǎng)絡(luò)狀態(tài)允許,可以一次獲取兩個或兩個以上的數(shù)據(jù)塊,也即是在后續(xù)的傳輸中每次均傳輸兩個或兩個以上的數(shù)據(jù)塊,以縮短傳輸所需的時間。該兩個或兩個以上的數(shù)據(jù)塊可以是順序獲取,也可以是隨機獲取。
[0044]104:所述終端設(shè)備向服務(wù)器發(fā)送傳輸請求消息,所述傳輸請求消息攜帶所述至少一個數(shù)據(jù)塊和所述至少一個數(shù)據(jù)塊的塊索引;
[0045]其中,塊索引用于表示數(shù)據(jù)塊在整個待傳輸數(shù)據(jù)中的相對位置關(guān)系,數(shù)據(jù)塊與塊索引--對應(yīng),且每個數(shù)據(jù)塊具有唯一對應(yīng)的塊索引。
[0046]106:所述終端設(shè)備接收所述服務(wù)器返回的傳輸響應(yīng)消息;
[0047]由于在數(shù)據(jù)傳輸過程中,網(wǎng)絡(luò)干擾和設(shè)備故障常使數(shù)據(jù)產(chǎn)生錯誤,出現(xiàn)數(shù)據(jù)傳輸中斷和失敗的現(xiàn)象,為了保證數(shù)據(jù)的完整性以及提示終端設(shè)備該數(shù)據(jù)塊傳輸中斷或失敗,服務(wù)器會返回傳輸響應(yīng)消息。具體地,當(dāng)服務(wù)器接收到終端設(shè)備發(fā)送的數(shù)據(jù)塊和數(shù)據(jù)塊的塊索引時,當(dāng)存儲了數(shù)據(jù)塊以及其塊索引,向終端設(shè)備返回不攜帶任何塊索引的傳輸響應(yīng)消息,當(dāng)根據(jù)數(shù)據(jù)塊大小確定服務(wù)器未完全接收整個數(shù)據(jù)塊時,向終端設(shè)備返回攜帶該數(shù)據(jù)塊的塊索引的傳輸響應(yīng)消息,以使終端設(shè)備獲知該數(shù)據(jù)塊的傳輸狀態(tài)。
[0048]108:所述終端設(shè)備根據(jù)所述傳輸響應(yīng)消息,確定所述至少一個數(shù)據(jù)塊的傳輸狀態(tài);
[0049]其中,傳輸狀態(tài)是指該至少一個數(shù)據(jù)塊中每個數(shù)據(jù)塊是否傳輸成功。
[0050]當(dāng)所述傳輸響應(yīng)消息攜帶所述塊索引時,則確定所述傳輸響應(yīng)消息攜帶所述塊索引對應(yīng)的數(shù)據(jù)塊傳輸不成功;當(dāng)所述傳輸響應(yīng)消息未攜帶任何塊索引時,則確定數(shù)據(jù)塊傳輸成功。
[0051]110:所述終端設(shè)備根據(jù)所述至少一個數(shù)據(jù)塊的傳輸狀態(tài),繼續(xù)傳輸所述待傳輸數(shù)據(jù)的數(shù)據(jù)塊。
[0052]進一步地,當(dāng)數(shù)據(jù)塊是按照塊索引順序傳輸時,服務(wù)器根據(jù)已獲知的數(shù)據(jù)信息確定接收到的數(shù)據(jù)塊為待傳輸數(shù)據(jù)中的最后一個數(shù)據(jù)塊,則確定傳輸結(jié)束,而當(dāng)數(shù)據(jù)塊是隨機傳輸時,服務(wù)器可根據(jù)已獲知的數(shù)據(jù)信息,判斷接收到的數(shù)據(jù)塊的塊數(shù)是否包括所有待傳輸數(shù)據(jù)中的數(shù)據(jù)塊,如果否,則根據(jù)數(shù)據(jù)信息獲取未傳輸?shù)臄?shù)據(jù)塊的塊索引,并向終端發(fā)送該未傳輸?shù)臄?shù)據(jù)塊的塊索引,使得終端根據(jù)該塊索引傳輸該未傳輸?shù)臄?shù)據(jù)塊,如果是,則確定傳輸結(jié)束。
[0053]本發(fā)明通過終端設(shè)備根據(jù)待傳輸數(shù)據(jù)所包含的數(shù)據(jù)塊的存儲地址信息,獲取至少一個數(shù)據(jù)塊;所述終端設(shè)備向服務(wù)器發(fā)送傳輸請求消息,所述傳輸請求消息攜帶所述至少一個數(shù)據(jù)塊和所述至少一個數(shù)據(jù)塊的塊索引;所述終端設(shè)備接收所述服務(wù)器返回的傳輸響應(yīng)消息;所述終端設(shè)備根據(jù)所述傳輸響應(yīng)消息,確定所述至少一個數(shù)據(jù)塊的傳輸狀態(tài);所述終端設(shè)備根據(jù)所述至少一個數(shù)據(jù)塊的傳輸狀態(tài),繼續(xù)傳輸所述待傳輸數(shù)據(jù)的數(shù)據(jù)塊。采用本發(fā)明實施例提供的技術(shù)方案,根據(jù)塊索引和存儲地址信息進行數(shù)據(jù)塊的傳輸,并根據(jù)數(shù)據(jù)塊的傳輸狀態(tài)傳輸數(shù)據(jù),保證了傳輸?shù)臄?shù)據(jù)的完整性。
[0054]可選地,在圖1所示實施例技術(shù)方案的基礎(chǔ)上,該步驟102 “終端設(shè)備根據(jù)待傳輸數(shù)據(jù)所包含的數(shù)據(jù)塊的存儲地址信息,獲取至少一個數(shù)據(jù)塊”之前,包括步驟100:
[0055]100:對待傳輸數(shù)據(jù)進行分塊,獲取每個數(shù)據(jù)塊的存儲地址信息以及每個數(shù)據(jù)塊的塊索引。
[0056] 具體地,根據(jù)預(yù)設(shè)數(shù)據(jù)塊大小,對待傳輸數(shù)據(jù)進行分塊,獲取每個數(shù)據(jù)塊的存儲地址信息以及每個數(shù)據(jù)塊的塊索引。為了保證數(shù)據(jù)傳輸過程的數(shù)據(jù)完整性,在待傳輸數(shù)據(jù)進行傳輸前,對待傳輸數(shù)據(jù)進行分塊。
[0057]其中,預(yù)設(shè)數(shù)據(jù)塊的大小可以由終端設(shè)備默認,也可以由用戶根據(jù)待傳輸數(shù)據(jù)的大小進行設(shè)置。為了減少數(shù)據(jù)塊在傳輸過程中由于傳輸失敗而重新傳輸?shù)臅r間,優(yōu)選地,預(yù)設(shè)數(shù)據(jù)塊的大小應(yīng)小于64kb。進一步優(yōu)選地,預(yù)設(shè)數(shù)據(jù)塊大小可以為4kb。例如,待傳輸數(shù)據(jù)的大小為length (單位為byte),預(yù)設(shè)數(shù)據(jù)塊的大小為k時,則數(shù)據(jù)塊的塊數(shù)可以取Iengthk的整數(shù)位加I。
[0058]為了保證數(shù)據(jù)傳輸?shù)耐暾?,可以在分塊過程中用塊索引表示數(shù)據(jù)塊在整個待傳輸數(shù)據(jù)中的相對位置關(guān)系,如,該塊索引可以為數(shù)字,在對待傳輸數(shù)據(jù)的分塊過程中,按照每個數(shù)據(jù)塊在待傳輸數(shù)據(jù)中的相對位置關(guān)系,為每個數(shù)據(jù)塊分配塊索引,如從O到n,同時,將每個數(shù)據(jù)塊所分配的塊索引與數(shù)據(jù)塊的首地址對應(yīng)存儲,以便后續(xù)根據(jù)塊索引和其對應(yīng)的首地址,在存儲介質(zhì)中找到至少一個數(shù)據(jù)塊,使終端設(shè)備向服務(wù)器發(fā)送該數(shù)據(jù)塊。優(yōu)選地,該塊索引以及數(shù)據(jù)塊的首地址可以對應(yīng)存儲于一映射表中。
[0059]進一步可選地,在圖1所示實施例技術(shù)方案的基礎(chǔ)上,在該步驟100 “該對待傳輸數(shù)據(jù)進行分塊,獲取每個數(shù)據(jù)塊的存儲地址信息以及每個數(shù)據(jù)塊的塊索引”之后,該步驟102 “終端設(shè)備根據(jù)待傳輸數(shù)據(jù)所包含的數(shù)據(jù)塊的塊索引和存儲地址信息,獲取至少一個數(shù)據(jù)塊”之前,所述方法還包括步驟101:
[0060]101:向所述服務(wù)器發(fā)送所述待傳輸數(shù)據(jù)的數(shù)據(jù)信息,所述待傳輸數(shù)據(jù)的數(shù)據(jù)信息至少包括對所述待傳輸數(shù)據(jù)進行分塊所得到的每個數(shù)據(jù)塊的塊索引和所述待傳輸數(shù)據(jù)的文件大小。
[0061]為了保證服務(wù)器能夠為終端設(shè)備的待傳輸數(shù)據(jù)分配存儲地址,以及保證數(shù)據(jù)傳輸?shù)耐暾?,在進行數(shù)據(jù)傳輸前,終端設(shè)備需要將此次待傳輸數(shù)據(jù)的數(shù)據(jù)信息發(fā)送到服務(wù)器,
待傳輸數(shù)據(jù)的數(shù)據(jù)信息至少包括對所述待傳輸數(shù)據(jù)進行分塊所得到的每個數(shù)據(jù)塊的塊索引和所述待傳輸數(shù)據(jù)的文件大小,還可以包括待傳輸數(shù)據(jù)的文件名稱、傳輸路徑等,本發(fā)明實施例對此不作具體限定。
[0062]由于各個數(shù)據(jù)塊在傳輸過程中的速度可能不一致,服務(wù)器接收到的數(shù)據(jù)塊的順序也就不一致,在接收完各個數(shù)據(jù)塊后,服務(wù)器將根據(jù)塊索引,對接收到的各個數(shù)據(jù)塊進行排序,以得到完整的數(shù)據(jù)。
[0063]可選地,在圖1所示實施例技術(shù)方案的基礎(chǔ)上,該步驟108 “所述終端設(shè)備根據(jù)所述傳輸響應(yīng)消息,確定所述至少一個數(shù)據(jù)塊的傳輸狀態(tài)”,包括:當(dāng)所述傳輸響應(yīng)消息攜帶所述至少一個數(shù)據(jù)塊中第一數(shù)據(jù)塊的塊索引時,則確定所述至少一個數(shù)據(jù)塊中第一數(shù)據(jù)塊傳輸不成功;當(dāng)所述傳輸響應(yīng)消息未攜帶任何塊索引時,則確定所述至少一個數(shù)據(jù)塊傳輸成功。[0064]在本發(fā)明實施例中,為了及時獲知數(shù)據(jù)塊的傳輸狀態(tài),可判斷傳輸響應(yīng)消息是否攜帶塊索引,如果不攜帶,則認為傳輸成功,如果攜帶,則要根據(jù)攜帶的塊索引對該未傳輸成功的數(shù)據(jù)塊進行重新傳輸。
[0065]可選地,在圖1所示實施例技術(shù)方案的基礎(chǔ)上,該步驟110 “所述終端設(shè)備根據(jù)所述至少一個數(shù)據(jù)塊的傳輸狀態(tài)繼續(xù)傳輸所述待傳輸數(shù)據(jù)的數(shù)據(jù)塊”,包括IlOa和IlOb:
[0066]110a:當(dāng)確定所述至少一個數(shù)據(jù)塊中第一數(shù)據(jù)塊傳輸不成功,則根據(jù)所述傳輸響應(yīng)消息所攜帶的塊索引,確定所述傳輸響應(yīng)消息所攜帶的塊索引對應(yīng)的數(shù)據(jù)塊的存儲地址信息,獲取所述第一數(shù)據(jù)塊,并重新傳輸所述第一數(shù)據(jù)塊;
[0067]在本發(fā)明實施例中,為了描述方便,將傳輸不成功的數(shù)據(jù)塊稱為第一數(shù)據(jù)塊,而該第一數(shù)據(jù)塊可以為待傳輸數(shù)據(jù)塊中的任意數(shù)據(jù)塊。終端設(shè)備對于沒有成功傳輸?shù)臄?shù)據(jù)塊進行重新傳輸,由于數(shù)據(jù)塊與整個待傳輸數(shù)據(jù)相比,字節(jié)數(shù)較小,重新傳輸所消耗的時間就會相對少的多,大大降低了數(shù)據(jù)傳輸?shù)臅r間,同時,通過數(shù)據(jù)塊的重新傳輸保證了數(shù)據(jù)的完整性。[0068]110b:當(dāng)確定所述至少一個數(shù)據(jù)塊傳輸成功,則根據(jù)所述至少一個數(shù)據(jù)塊的塊索引確定所述待傳輸數(shù)據(jù)是否全部傳輸完成,如果所述待傳輸數(shù)據(jù)未全部傳輸完成,則根據(jù)所述至少一個數(shù)據(jù)塊的塊索引,確定第二數(shù)據(jù)塊的塊索引,獲取所述第二數(shù)據(jù)塊的塊索引對應(yīng)的第二數(shù)據(jù)塊的存儲地址信息,獲取第二數(shù)據(jù)塊,并傳輸所述第二數(shù)據(jù)塊;如果所述待傳輸數(shù)據(jù)全部傳輸完成,則結(jié)束傳輸。
[0069]具體地,當(dāng)服務(wù)器返回的傳輸響應(yīng)消息中未攜帶任何塊索引時,表明第一數(shù)據(jù)塊傳輸成功,此時,終端設(shè)備比較第一數(shù)據(jù)塊的塊索引和待傳輸數(shù)據(jù)的分塊數(shù)。當(dāng)?shù)谝粩?shù)據(jù)塊的塊索引小于待傳輸數(shù)據(jù)的分塊數(shù)時,說明待傳輸數(shù)據(jù)未全部傳輸完成,終端設(shè)備將獲取第二數(shù)據(jù)塊的塊索引,即通過在第一數(shù)據(jù)塊的塊索引的基礎(chǔ)上加一得到第二數(shù)據(jù)塊的塊索弓丨,在獲取第二數(shù)據(jù)塊的塊索引后,根據(jù)第二數(shù)據(jù)塊的塊索引對應(yīng)的第二數(shù)據(jù)塊的存儲地址信息,獲取第二數(shù)據(jù)塊,進行第二數(shù)據(jù)塊傳輸,直到待傳輸數(shù)據(jù)中的所有數(shù)據(jù)塊全部傳輸成功,結(jié)束數(shù)據(jù)傳輸。
[0070]由于能夠根據(jù)服務(wù)器返回的傳輸響應(yīng)消息確定傳輸進度,使得終端設(shè)備能夠?qū)崟r的根據(jù)傳輸進度進行重傳或繼續(xù)傳輸,不僅減少了數(shù)據(jù)傳輸?shù)臅r間,且減少了重新傳輸數(shù)據(jù)所需的時間。
[0071]圖2是本發(fā)明實施例提供的一種基于數(shù)據(jù)分塊的數(shù)據(jù)傳輸方法的流程圖,本發(fā)明實施例中的執(zhí)行主體是終端設(shè)備,參見圖2,該方法包括:
[0072]201:終端設(shè)備對待傳輸數(shù)據(jù)進行分塊,獲取每個數(shù)據(jù)塊的存儲地址信息以及每個數(shù)據(jù)塊的塊索引;
[0073]202:終端設(shè)備向所述服務(wù)器發(fā)送所述待傳輸數(shù)據(jù)的數(shù)據(jù)信息,所述待傳輸數(shù)據(jù)的數(shù)據(jù)信息至少包括對所述待傳輸數(shù)據(jù)進行分塊所得到的每個數(shù)據(jù)塊的塊索引和所述待傳輸數(shù)據(jù)的文件大??;
[0074]需要說明的是,根據(jù)數(shù)據(jù)傳輸協(xié)議的不同,該終端設(shè)備與服務(wù)器可經(jīng)過多次握手,建立數(shù)據(jù)連接,從而通過該數(shù)據(jù)連接進行步驟203的傳輸,本發(fā)明實施例中對數(shù)據(jù)連接的具體建立過程不再贅述。
[0075]203:終端設(shè)備根據(jù)待傳輸數(shù)據(jù)所包含的數(shù)據(jù)塊的塊索引和存儲地址信息,獲取所述待傳輸數(shù)據(jù)塊的第一數(shù)據(jù)塊;
[0076]為了完整描述整個傳輸過程,該步驟203對該待傳輸數(shù)據(jù)中的第一數(shù)據(jù)塊的獲取進行了描述,具體地,終端設(shè)備根據(jù)待傳輸數(shù)據(jù)所包含的第一數(shù)據(jù)塊的塊索引和存儲地址信息,獲取所述待傳輸數(shù)據(jù)塊的第一數(shù)據(jù)塊。
[0077]為了便于確認數(shù)據(jù)傳輸?shù)倪M度,該首次傳輸?shù)臄?shù)據(jù)塊可以為待傳輸數(shù)據(jù)塊中的第一個數(shù)據(jù)塊,該第一個數(shù)據(jù)塊的塊索引為O。
[0078]204:所述終端設(shè)備向服務(wù)器發(fā)送該第一數(shù)據(jù)塊和該第一數(shù)據(jù)塊的塊索引;
[0079]在本實施例中,終端設(shè)備獲取第一數(shù)據(jù)塊后,向服務(wù)器發(fā)送獲取到的第一數(shù)據(jù)塊和第一數(shù)據(jù)塊的塊索引,使得服務(wù)器獲知第一數(shù)據(jù)塊在整個待傳輸數(shù)據(jù)中的相對位置,也就獲知了數(shù)據(jù)傳輸進度,并根據(jù)傳輸狀態(tài)返回相應(yīng)的傳輸響應(yīng)消息。
[0080]當(dāng)服務(wù)器接收到終端設(shè)備發(fā)送的第一數(shù)據(jù)塊和第一數(shù)據(jù)塊的塊索引時,當(dāng)存儲了第一數(shù)據(jù)塊以及其塊索引,向終端設(shè)備返回不攜帶任何塊索引的傳輸響應(yīng)消息,當(dāng)根據(jù)數(shù)據(jù)塊大小確定服務(wù)器未完全接收整個第一數(shù)據(jù)塊時,向終端設(shè)備返回攜帶該第一數(shù)據(jù)塊的塊索引的傳輸響應(yīng)消息,以使終端設(shè)備獲知該第一數(shù)據(jù)塊的傳輸狀態(tài)。
[0081]205:服務(wù)器接收到第一數(shù)據(jù)塊和塊索引,根據(jù)數(shù)據(jù)信息確定該第一數(shù)據(jù)塊的傳輸狀態(tài),并向所述終端設(shè)備發(fā)送傳輸響應(yīng)消息;
[0082]在該步驟205中,該傳輸響應(yīng)消息用于通知終端設(shè)備該第一數(shù)據(jù)塊是否傳輸成功。終端設(shè)備接收服務(wù)器返回的傳輸響應(yīng)消息,終端設(shè)備將根據(jù)該傳輸響應(yīng)消息確定該第一數(shù)據(jù)塊是否傳輸成功。
[0083]服務(wù)器可根據(jù)接收到的數(shù)據(jù)信息判斷該第一數(shù)據(jù)塊是否傳輸完畢,如判斷該第一數(shù)據(jù)塊是否為數(shù)據(jù)信息所包括的數(shù)據(jù)塊大小,如果是,則傳輸完畢,如果否,則傳輸未成功。
[0084]例如,當(dāng)該傳輸響應(yīng)消息中攜帶的塊索引為3時,表明塊索引為3對應(yīng)的數(shù)據(jù)塊傳輸失敗。
[0085]可選地,傳輸響應(yīng)消息還可以攜帶多個塊索引,例如,當(dāng)該傳輸響應(yīng)消息中攜帶的塊索引為3、5、7時,表明塊索引為3、5、7對應(yīng)的數(shù)據(jù)塊傳輸失敗。
[0086]206:所述終端設(shè)備當(dāng)接收到所述服務(wù)器返回的傳輸響應(yīng)消息時,根據(jù)所述傳輸響應(yīng)消息,確定所述第一數(shù)據(jù)塊的傳輸狀態(tài),當(dāng)終端設(shè)備根據(jù)傳輸響應(yīng)消息,確定第一數(shù)據(jù)塊傳輸不成功時,執(zhí)行步驟204 ;當(dāng)終端設(shè)備根據(jù)傳輸響應(yīng)消息,確定第一數(shù)據(jù)塊傳輸成功時,執(zhí)行步驟207 ;
[0087]當(dāng)所述傳輸響應(yīng)消息攜帶所述第一數(shù)據(jù)塊的塊索引時,則確定所述第一數(shù)據(jù)塊傳輸不成功;當(dāng)所述傳輸響應(yīng)消息未攜帶任何塊索引時,則確定所述第一數(shù)據(jù)塊傳輸成功。
[0088]而由于數(shù)據(jù)塊與整個待傳輸數(shù)據(jù)相比,字節(jié)數(shù)較小,重新傳輸所消耗的時間就會相對少的多,大大降低了數(shù)據(jù)傳輸?shù)臅r間,同時,通過數(shù)據(jù)塊的重新傳輸保證了數(shù)據(jù)的完整性。
[0089]207:當(dāng)終端設(shè)備 根據(jù)傳輸響應(yīng)消息,確定第一數(shù)據(jù)塊傳輸成功時,終端設(shè)備根據(jù)第一數(shù)據(jù)塊的塊索引,確定第二數(shù)據(jù)塊的塊索引,獲取所述第二數(shù)據(jù)塊的塊索引對應(yīng)的第二數(shù)據(jù)塊的存儲地址信息,獲取第二數(shù)據(jù)塊,并傳輸所述第二數(shù)據(jù)塊。
[0090]該數(shù)據(jù)傳輸過程中包括多個數(shù)據(jù)塊的串行傳輸,對于每個數(shù)據(jù)塊來說,均需進行步驟206的確定傳輸狀態(tài)的過程,并根據(jù)確定的結(jié)果重新傳輸或繼續(xù)傳輸其他數(shù)據(jù)塊,其中,重新傳輸?shù)木唧w過程與步驟204相同,其區(qū)別僅在于每次重新傳輸?shù)臄?shù)據(jù)塊,而繼續(xù)傳輸?shù)木唧w過程與步驟207相同,其區(qū)別僅在于每次傳輸?shù)臄?shù)據(jù)塊不同。
[0091]如第一數(shù)據(jù)塊的塊索引為N,第一數(shù)據(jù)塊對應(yīng)的塊索引N對應(yīng)的首地址為add,則第一數(shù)據(jù)塊為從地址為add到add+N之間的數(shù)據(jù),隨著待傳輸數(shù)據(jù)進度的增加,所傳輸?shù)膲K索引的值也在不斷增加,直到最后傳輸?shù)臄?shù)據(jù)塊為待傳輸數(shù)據(jù)的最后一個數(shù)據(jù)塊。
[0092] 而當(dāng)數(shù)據(jù)傳輸過程中包括每次對多個數(shù)據(jù)塊的并行傳輸時,可以在傳輸至少一個數(shù)據(jù)塊之后,根據(jù)其傳輸狀態(tài),確定該至少一個數(shù)據(jù)塊中每個數(shù)據(jù)塊是否傳輸成功,當(dāng)均傳輸成功,則根據(jù)該至少一個數(shù)據(jù)塊的塊索引獲取下一次傳輸?shù)闹辽僖粋€數(shù)據(jù)塊進行傳輸,而如果有任一個傳輸未成功,則重新傳輸該傳輸未成功的數(shù)據(jù)塊,待傳輸成功后,則根據(jù)該至少一個數(shù)據(jù)塊的塊索引獲取下一次傳輸?shù)闹辽僖粋€數(shù)據(jù)塊進行傳輸。通過對數(shù)據(jù)塊的并行傳輸,加快了數(shù)據(jù)傳輸速度。
[0093]本發(fā)明通過終端設(shè)備根據(jù)待傳輸數(shù)據(jù)所包含的至少一個數(shù)據(jù)塊的存儲地址信息,獲取第一數(shù)據(jù)塊;所述終端設(shè)備向服務(wù)器發(fā)送傳輸請求消息,所述傳輸請求消息攜帶所述第一數(shù)據(jù)塊和所述第一數(shù)據(jù)塊的塊索引;所述終端設(shè)備接收所述服務(wù)器返回的傳輸響應(yīng)消息;所述終端設(shè)備根據(jù)所述傳輸響應(yīng)消息,確定所述第一數(shù)據(jù)塊的傳輸狀態(tài);所述終端設(shè)備根據(jù)所述第一數(shù)據(jù)塊的傳輸狀態(tài)繼續(xù)傳輸所述待傳輸數(shù)據(jù)的數(shù)據(jù)塊。采用本發(fā)明實施例提供的技術(shù)方案,根據(jù)塊索引和存儲地址信息進行數(shù)據(jù)塊的傳輸,并根據(jù)數(shù)據(jù)塊的傳輸狀態(tài)傳輸數(shù)據(jù),保證了傳輸?shù)臄?shù)據(jù)的完整性。進一步地,由于能夠根據(jù)服務(wù)器返回的傳輸響應(yīng)消息確定傳輸進度,使得終端設(shè)備能夠?qū)崟r的根據(jù)傳輸進度進行重傳或繼續(xù)傳輸,不僅減少了數(shù)據(jù)傳輸?shù)臅r間,且減少了重新傳輸數(shù)據(jù)所需的時間。
[0094]圖3是本發(fā)明實施例提供的一種基于數(shù)據(jù)分塊的數(shù)據(jù)傳輸裝置的結(jié)構(gòu)示意圖。參見圖3,所述裝置包括:
[0095]數(shù)據(jù)塊獲取模塊31,用于根據(jù)待傳輸數(shù)據(jù)所包含的數(shù)據(jù)塊的塊索引和存儲地址信息,獲取至少一個數(shù)據(jù)塊;
[0096]傳輸模塊32,用于向服務(wù)器發(fā)送傳輸請求消息,所述傳輸請求消息攜帶所述至少一個數(shù)據(jù)塊和所述至少一個數(shù)據(jù)塊的塊索引;
[0097]接收模塊33,用于接收所述服務(wù)器返回的傳輸響應(yīng)消息;
[0098]傳輸狀態(tài)確定模塊34,用于根據(jù)所述傳輸響應(yīng)消息,確定所述至少一個數(shù)據(jù)塊的傳輸狀態(tài);
[0099]所述傳輸模塊32,還用于根據(jù)所述至少一個數(shù)據(jù)塊的傳輸狀態(tài),繼續(xù)傳輸所述待傳輸數(shù)據(jù)的數(shù)據(jù)塊。
[0100]所述裝置還包括:
[0101]分塊模塊35,用于對待傳輸數(shù)據(jù)進行分塊,獲取每個數(shù)據(jù)塊的存儲地址信息以及每個數(shù)據(jù)塊的塊索引。
[0102]所述傳輸模塊32還用于向所述服務(wù)器發(fā)送所述待傳輸數(shù)據(jù)的數(shù)據(jù)信息,所述待傳輸數(shù)據(jù)的數(shù)據(jù)信息至少包括對所述待傳輸數(shù)據(jù)進行分塊所得到的每個數(shù)據(jù)塊的塊索引和所述待傳輸數(shù)據(jù)的文件大小。
[0103]所述傳輸狀態(tài)確定模塊34具體用于當(dāng)所述傳輸響應(yīng)消息攜帶所述至少一個數(shù)據(jù)塊中第一數(shù)據(jù)塊的塊索引時,則確定所述至少一個數(shù)據(jù)塊中第一數(shù)據(jù)塊傳輸不成功;當(dāng)所述傳輸響應(yīng)消息未攜帶任何塊索引時,則確定所述至少一個數(shù)據(jù)塊傳輸成功。
[0104]所述傳輸模塊32還具體用于當(dāng)確定所述至少一個數(shù)據(jù)塊中第一數(shù)據(jù)塊傳輸不成功,則根據(jù)所述傳輸響應(yīng)消息所攜帶的塊索引,確定所述傳輸響應(yīng)消息所攜帶的塊索引對應(yīng)的數(shù)據(jù)塊的存儲地址信息,獲取所述第一數(shù)據(jù)塊,并重新傳輸所述第一數(shù)據(jù)塊;當(dāng)確定所述至少一個數(shù)據(jù)塊傳輸成功,則根據(jù)所述至少一個數(shù)據(jù)塊的塊索引確定所述待傳輸數(shù)據(jù)是否全部傳輸完成,如果所述待傳輸數(shù)據(jù)未全部傳輸完成,則根據(jù)所述至少一個數(shù)據(jù)塊的塊索引,確定第二數(shù)據(jù)塊的塊索引,獲取所述第二數(shù)據(jù)塊的塊索引對應(yīng)的第二數(shù)據(jù)塊的存儲地址信息,獲取第二數(shù)據(jù)塊,并傳輸所述第二數(shù)據(jù)塊;如果所述待傳輸數(shù)據(jù)全部傳輸完成,則結(jié)束傳輸。
[0105]需要說明的是:上述實施例提供的基于數(shù)據(jù)分塊的數(shù)據(jù)傳輸裝置在數(shù)據(jù)傳輸時,僅以上述各功能模塊的劃分進行舉例說明,實際應(yīng)用中,可以根據(jù)需要而將上述功能分配由不同的功能模塊完成,即將設(shè)備的內(nèi)部結(jié)構(gòu)劃分成不同的功能模塊,以完成以上描述的全部或者部分功能。另外,上述實施例提供的基于數(shù)據(jù)分塊的數(shù)據(jù)傳輸裝置與基于數(shù)據(jù)分塊的數(shù)據(jù)傳輸方法實施例屬于同一構(gòu)思,其具體實現(xiàn)過程詳見方法實施例,這里不再贅述。
[0106]本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述實施例的全部或部分步驟可以通過硬件來完成,也可以通過程序來指令相關(guān)的硬件完成,所述的程序可以存儲于一種計算機可讀存儲介質(zhì)中,上述提到的存儲介質(zhì)可以是只讀存儲器,磁盤或光盤等。
[0107]以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
【權(quán)利要求】
1.一種基于數(shù)據(jù)分塊的數(shù)據(jù)傳輸方法,其特征在于,所述方法包括: 終端設(shè)備根據(jù)待傳輸數(shù)據(jù)所包含的數(shù)據(jù)塊的塊索引和存儲地址信息,獲取至少一個數(shù)據(jù)塊; 所述終端設(shè)備向服務(wù)器發(fā)送傳輸請求消息,所述傳輸請求消息攜帶所述至少一個數(shù)據(jù)塊和所述至少一個數(shù)據(jù)塊的塊索引; 所述終端設(shè)備接收所述服務(wù)器返回的傳輸響應(yīng)消息; 所述終端設(shè)備根據(jù)所述傳輸響應(yīng)消息,確定所述至少一個數(shù)據(jù)塊的傳輸狀態(tài); 所述終端設(shè)備根據(jù)所述至少一個數(shù)據(jù)塊的傳輸狀態(tài),繼續(xù)傳輸所述待傳輸數(shù)據(jù)的數(shù)據(jù)塊。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,終端設(shè)備根據(jù)待傳輸數(shù)據(jù)所包含的數(shù)據(jù)塊的塊索引和存儲地址信息,獲取至少一個數(shù)據(jù)塊之前,包括: 對待傳輸數(shù)據(jù)進行分塊,獲取每個數(shù)據(jù)塊的存儲地址信息以及每個數(shù)據(jù)塊的塊索引。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,對待傳輸數(shù)據(jù)進行分塊,獲取每個數(shù)據(jù)塊的存儲地址信息以及每個數(shù)據(jù)塊的塊索引之后,終端設(shè)備根據(jù)待傳輸數(shù)據(jù)所包含的數(shù)據(jù)塊的塊索引和存儲地址信息,獲取至少一個數(shù)據(jù)塊之前,所述方法還包括: 向所述服務(wù)器發(fā)送所述待傳輸數(shù)據(jù)的數(shù)據(jù)信息,所述待傳輸數(shù)據(jù)的數(shù)據(jù)信息至少包括對所述待傳輸數(shù)據(jù)進行分塊所得到的每個數(shù)據(jù)塊的塊索引和所述待傳輸數(shù)據(jù)的文件大小。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述終端設(shè)備根據(jù)所述傳輸響應(yīng)消息,確定所述至少一個數(shù)據(jù)塊的傳輸狀態(tài),包括: 當(dāng)所述傳輸響應(yīng)消息攜帶所述至少一個數(shù)據(jù)塊中第一數(shù)據(jù)塊的塊索引時,則確定所述至少一個數(shù)據(jù)塊中第一數(shù)據(jù)塊傳輸不成功;當(dāng)所述傳輸響應(yīng)消息未攜帶任何塊索引時,則確定所述至少一個數(shù)據(jù)塊傳輸成功。
5.根據(jù)權(quán)利要求1-4任一項所述的方法,其特征在于,所述終端設(shè)備根據(jù)所述至少一個數(shù)據(jù)塊的傳輸狀態(tài)繼續(xù)傳輸所述待傳輸數(shù)據(jù)的數(shù)據(jù)塊,包括: 當(dāng)確定所述至少一個數(shù)據(jù)塊中第一數(shù)據(jù)塊傳輸不成功,則根據(jù)所述傳輸響應(yīng)消息所攜帶的塊索引,確定所述傳輸響應(yīng)消息所攜帶的塊索引對應(yīng)的數(shù)據(jù)塊的存儲地址信息,獲取所述第一數(shù)據(jù)塊,并重新傳輸所述第一數(shù)據(jù)塊; 當(dāng)確定所述至少一個數(shù)據(jù)塊傳輸成功,則根據(jù)所述至少一個數(shù)據(jù)塊的塊索引確定所述待傳輸數(shù)據(jù)是否全部傳輸完成,如果所述待傳輸數(shù)據(jù)未全部傳輸完成,則根據(jù)所述至少一個數(shù)據(jù)塊的塊索引,確定第二數(shù)據(jù)塊的塊索引,獲取所述第二數(shù)據(jù)塊的塊索引對應(yīng)的第二數(shù)據(jù)塊的存儲地址信息,獲取第二數(shù)據(jù)塊,并傳輸所述第二數(shù)據(jù)塊;如果所述待傳輸數(shù)據(jù)全部傳輸完成,則結(jié)束傳輸。
6.一種基于數(shù)據(jù)分塊的數(shù)據(jù)傳輸裝置,其特征在于,所述裝置包括: 數(shù)據(jù)塊獲取模塊,用于根據(jù)待傳輸數(shù)據(jù)所包含的數(shù)據(jù)塊的塊索引和存儲地址信息,獲取至少一個數(shù)據(jù)塊; 傳輸模塊,用于向服務(wù)器發(fā)送傳輸請求消息,所述傳輸請求消息攜帶所述至少一個數(shù)據(jù)塊和所述至少一個數(shù)據(jù)塊的塊索引; 接收模塊,用于接收所述服務(wù)器返回的傳輸響應(yīng)消息; 傳輸狀態(tài)確定模塊,用于根據(jù)所述傳輸響應(yīng)消息,確定所述至少一個數(shù)據(jù)塊的傳輸狀態(tài); 所述傳輸模塊,還用于根據(jù)所述至少一個數(shù)據(jù)塊的傳輸狀態(tài),繼續(xù)傳輸所述待傳輸數(shù)據(jù)的數(shù)據(jù)塊。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述裝置還包括: 分塊模塊,用于對待傳輸數(shù)據(jù)進行分塊,獲取每個數(shù)據(jù)塊的存儲地址信息以及每個數(shù)據(jù)塊的塊索引。
8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述傳輸模塊還用于向所述服務(wù)器發(fā)送所述待傳輸數(shù)據(jù)的數(shù)據(jù)信息,所述待傳輸數(shù)據(jù)的數(shù)據(jù)信息至少包括對所述待傳輸數(shù)據(jù)進行分塊所得到的每個數(shù)據(jù)塊的塊索引和所述待傳輸數(shù)據(jù)的文件大小。
9.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述傳輸狀態(tài)確定模塊具體用于當(dāng)所述傳輸響應(yīng)消息攜帶所述至少一個數(shù)據(jù)塊中第一數(shù)據(jù)塊的塊索引時,則確定所述至少一個數(shù)據(jù)塊中第一數(shù)據(jù)塊傳輸不成功;當(dāng)所述傳輸響應(yīng)消息未攜帶任何塊索引時,則確定所述至少一個數(shù)據(jù)塊傳輸成功。
10.根據(jù)權(quán)利要求6-9任一項所述的裝置,其特征在于,所述傳輸模塊還具體用于當(dāng)確定所述至少一個數(shù)據(jù)塊中第一數(shù)據(jù)塊傳輸不成功,則根據(jù)所述傳輸響應(yīng)消息所攜帶的塊索弓丨,確定所述傳輸響應(yīng)消息所攜帶的塊索引對應(yīng)的數(shù)據(jù)塊的存儲地址信息,獲取所述第一數(shù)據(jù)塊,并重新傳輸所述第一數(shù)據(jù)塊;當(dāng)確定所述至少一個數(shù)據(jù)塊傳輸成功,則根據(jù)所述至少一個數(shù)據(jù)塊的塊索引確定所述待傳輸數(shù)據(jù)是否全部傳輸完成,如果所述待傳輸數(shù)據(jù)未全部傳輸完成,則根據(jù)所述至少一個數(shù)據(jù)塊的塊索引,確定第二數(shù)據(jù)塊的塊索引,獲取所述第二數(shù)據(jù)塊的塊索引對應(yīng)的第 二數(shù)據(jù)塊的存儲地址信息,獲取第二數(shù)據(jù)塊,并傳輸所述第二數(shù)據(jù)塊;如果所述待傳輸數(shù)據(jù)全部傳輸完成,則結(jié)束傳輸。
【文檔編號】H04L1/18GK103905145SQ201210581230
【公開日】2014年7月2日 申請日期:2012年12月27日 優(yōu)先權(quán)日:2012年12月27日
【發(fā)明者】馬永生 申請人:北京新媒傳信科技有限公司