本發(fā)明涉及數(shù)據(jù)處理技術(shù)領(lǐng)域,特別涉及一種客戶端、服務(wù)端、數(shù)據(jù)傳輸方法及系統(tǒng)。
背景技術(shù):
隨著互聯(lián)網(wǎng)技術(shù)的普及,互聯(lián)網(wǎng)中各個機構(gòu)間的數(shù)據(jù)傳輸越來越頻繁。
目前,互聯(lián)網(wǎng)中數(shù)據(jù)傳輸?shù)姆椒ㄍǔ椋悍?wù)端確定需要傳輸?shù)臄?shù)據(jù)后,直接將數(shù)據(jù)傳輸給客戶端。
但是,在數(shù)據(jù)傳輸過程中可能會出現(xiàn)客戶端的內(nèi)存存儲空間小于服務(wù)端傳輸數(shù)據(jù)的數(shù)據(jù)量大小的情況,以導(dǎo)致數(shù)據(jù)不能傳輸?shù)娇蛻舳?。因此,通過現(xiàn)有的數(shù)據(jù)傳輸方式進行數(shù)據(jù)傳輸時,數(shù)據(jù)傳輸失敗的概率較高。
技術(shù)實現(xiàn)要素:
本發(fā)明提供了一種客戶端、服務(wù)端、數(shù)據(jù)傳輸方法及系統(tǒng),可以降低數(shù)據(jù)傳輸失敗的概率。
第一方面,本發(fā)明提供了一種客戶端,該客戶端包括:主控芯片以及內(nèi)存,其中,所述主控芯片中包括直接內(nèi)存存取dma模塊;其中,
所述內(nèi)存設(shè)置至少兩個緩存區(qū);
所述主控芯片,用于向外部服務(wù)端發(fā)送獲取數(shù)據(jù)請求;當(dāng)接收到所述服務(wù)端傳輸?shù)膶?yīng)于所述獲取數(shù)據(jù)請求的各個數(shù)據(jù)切片時,觸發(fā)所述dma模塊;
所述dma模塊,用于根據(jù)所述主控芯片的觸發(fā),循環(huán)執(zhí)行n1至n3,直至完成接收全部所述數(shù)據(jù)切片;
n1:在所述至少兩個緩存區(qū)中選取目標緩存區(qū);
n2:將外部服務(wù)端傳輸?shù)母鱾€數(shù)據(jù)切片寫入到所述目標緩存區(qū);
n3:當(dāng)所述目標緩存區(qū)寫滿時,判斷是否接收到全部的所述數(shù)據(jù)切片;如果是,將所述目標緩存區(qū)的各個所述數(shù)據(jù)切片轉(zhuǎn)存至外部連接的存儲區(qū)域;如果否,將所述目標緩存區(qū)的各個所述數(shù)據(jù)切片轉(zhuǎn)存至所述存儲區(qū)域,并執(zhí)行n1。
優(yōu)選地,
進一步包括:無線局域網(wǎng)wifi模塊;
所述wifi模塊,包括:軟件開發(fā)工具包sdk和應(yīng)用程序編程api接口;
所述主控芯片,用于向所述服務(wù)端發(fā)送獲取數(shù)據(jù)請求時,觸發(fā)所述wifi模塊;通過所述wifi模塊接收所述服務(wù)端傳輸?shù)膶?yīng)于所述獲取數(shù)據(jù)請求的各個數(shù)據(jù)切片;
所述wifi模塊,用于當(dāng)接收到所述主控芯片的觸發(fā)時,根據(jù)所述sdk調(diào)用所述api接口,向所述服務(wù)端發(fā)送獲取數(shù)據(jù)請求;根據(jù)所述sdk調(diào)用所述api接口接收所述服務(wù)端傳輸?shù)膶?yīng)于所述獲取數(shù)據(jù)請求的各個數(shù)據(jù)切片,將各個所述數(shù)據(jù)切片傳輸至所述主控芯片。
優(yōu)選地,
所述主控芯片,進一步包括:同步/異步串行收發(fā)usart模塊;
所述usart模塊,用于當(dāng)所述主控芯片觸發(fā)所述dma模塊時,將各個所述數(shù)據(jù)切片傳輸至所述dma模塊。
優(yōu)選地,
進一步包括:安全數(shù)字輸入輸出卡sdio總線;
所述sdio總線,分別與所述內(nèi)存和所述存儲區(qū)域相連,用于將所述內(nèi)存的各個所述數(shù)據(jù)切片傳輸至所述存儲區(qū)域。
優(yōu)選地,
進一步包括:電子標識模塊;
所述電子標識模塊,包括攜帶圖形、文字以及功能說明的電子標識,用于向用戶提供所述電子標識,以使用戶根據(jù)所述電子標識觸發(fā)所述主控芯片向所述服務(wù)端發(fā)送獲取數(shù)據(jù)請求。
第二方面,本發(fā)明提供了一種服務(wù)端,該服務(wù)端包括:確定模塊、切片模塊、傳輸模塊;其中,
所述確定模塊,用于獲取外部客戶端發(fā)送的獲取數(shù)據(jù)請求,并確定與所述獲取數(shù)據(jù)請求對應(yīng)的數(shù)據(jù);
所述切片模塊,用于根據(jù)預(yù)先設(shè)定的切片長度對所述數(shù)據(jù)進行切片處理,形成至少一個數(shù)據(jù)切片;
所述傳輸模塊,用于將各個所述數(shù)據(jù)切片傳輸給所述客戶端,循環(huán)執(zhí)行m1至m2,直至完成傳輸全部所述數(shù)據(jù)切片;
m1:將各個所述數(shù)據(jù)切片傳輸至所述客戶端中的目標緩存區(qū);
m2:當(dāng)所述目標緩存區(qū)寫滿時,判斷全部的所述數(shù)據(jù)切片是否傳輸完成;如果否,確定未傳輸?shù)母鱾€所述數(shù)據(jù)切片,并執(zhí)行m1。
第三方面,本發(fā)明提供了一種數(shù)據(jù)傳輸方法,應(yīng)用于客戶端,該方法可以包括:
在所述客戶端部署dma模塊以及在所述客戶端的內(nèi)存中設(shè)置至少兩個緩存區(qū);
向外部服務(wù)端發(fā)送獲取數(shù)據(jù)請求;
當(dāng)接收到所述服務(wù)端傳輸?shù)膶?yīng)于所述獲取數(shù)據(jù)請求的各個數(shù)據(jù)切片時,觸發(fā)所述dma模塊;
利用所述dma模塊接收所述服務(wù)端傳輸?shù)膶?yīng)于所述獲取數(shù)據(jù)請求的各個數(shù)據(jù)切片,利用所述dma模塊循環(huán)執(zhí)行n1至n3,直至完成接收全部所述數(shù)據(jù)切片;
n1:在所述至少兩個緩存區(qū)中選取目標緩存區(qū);
n2:將外部服務(wù)端傳輸?shù)母鱾€數(shù)據(jù)切片寫入到所述目標緩存區(qū);
n3:當(dāng)所述目標緩存區(qū)寫滿時,判斷是否接收到全部的所述數(shù)據(jù)切片;如果是,將所述目標緩存區(qū)的各個所述數(shù)據(jù)切片轉(zhuǎn)存至外部連接的存儲區(qū)域;如果否,將所述目標緩存區(qū)的各個所述數(shù)據(jù)切片轉(zhuǎn)存至所述存儲區(qū)域,并執(zhí)行n1。
優(yōu)選地,
當(dāng)所述客戶端進一步包括wifi模塊時,
所述向外部服務(wù)端發(fā)送獲取數(shù)據(jù)請求,包括:
觸發(fā)所述wifi模塊根據(jù)所述sdk調(diào)用所述api接口,向所述服務(wù)端發(fā)送獲取數(shù)據(jù)請求;
所述接收到所述服務(wù)端傳輸?shù)膶?yīng)于所述獲取數(shù)據(jù)請求的各個數(shù)據(jù)切片,包括:
通過所述wifi模塊根據(jù)所述sdk調(diào)用所述api接口接收所述服務(wù)端傳輸?shù)膶?yīng)于所述獲取數(shù)據(jù)請求的各個數(shù)據(jù)切片。
優(yōu)選地,
在所述觸發(fā)所述dma模塊之后,進一步包括:
利用usart模塊將各個所述數(shù)據(jù)切片傳輸至所述dma模塊。
優(yōu)選地,
在所述向外部服務(wù)端發(fā)送獲取數(shù)據(jù)請求之前,進一步包括:
向用戶提供包括攜帶圖形、文字以及功能說明的電子標識,以使用戶根據(jù)所述電子標識觸發(fā)所述客戶端向所述服務(wù)端發(fā)送獲取數(shù)據(jù)請求。
第四方面,本發(fā)明提供了一種數(shù)據(jù)傳輸方法,應(yīng)用于服務(wù)端,該方法可以包括:
獲取外部客戶端發(fā)送的獲取數(shù)據(jù)請求,并確定與所述獲取數(shù)據(jù)請求對應(yīng)的數(shù)據(jù);
根據(jù)預(yù)先設(shè)定的切片長度對所述數(shù)據(jù)進行切片處理,形成至少一個數(shù)據(jù)切片;
將各個所述數(shù)據(jù)切片傳輸給所述客戶端,循環(huán)執(zhí)行m1至m2,直至完成傳輸全部所述數(shù)據(jù)切片;
m1:將各個所述數(shù)據(jù)切片傳輸至所述客戶端中的目標緩存區(qū);
m2:當(dāng)所述目標緩存區(qū)寫滿時,判斷全部的所述數(shù)據(jù)切片是否傳輸完成;如果否,確定未傳輸?shù)母鱾€所述數(shù)據(jù)切片,并執(zhí)行m1。
第五方面,本發(fā)明提供了一種數(shù)據(jù)傳輸?shù)南到y(tǒng),包括:上述任一所述的客戶端,以及上述任一所述的服務(wù)端;其中,
所述客戶端與所述服務(wù)端通過socket通信方式連接。
本發(fā)明實施例提供了一種客戶端、服務(wù)端、數(shù)據(jù)傳輸方法及系統(tǒng),該客戶端包括主控芯片以及設(shè)置了至少兩個緩存區(qū)的內(nèi)存。當(dāng)主控芯片接收到服務(wù)端傳輸?shù)膶?yīng)于其發(fā)送的獲取數(shù)據(jù)請求的各個數(shù)據(jù)切片時,觸發(fā)dma模塊在緩存區(qū)中選取目標緩存區(qū),并將數(shù)據(jù)切片寫入到目標緩存區(qū)。當(dāng)目標緩存區(qū)寫滿時,且接收了全部的數(shù)據(jù)切片則將目標緩存區(qū)的數(shù)據(jù)切片轉(zhuǎn)存至連接的存儲區(qū)域。當(dāng)目標緩存區(qū)寫滿時,未接收到全部的數(shù)據(jù)切片,則將當(dāng)前目標緩存區(qū)的數(shù)據(jù)切片轉(zhuǎn)存至存儲區(qū)域,并繼續(xù)選取下一個目標緩存區(qū),重復(fù)上述將數(shù)據(jù)切片寫入到目標緩存區(qū)及判斷是否接收到全部的數(shù)據(jù)切片的過程,直至客戶端完成接收全部數(shù)據(jù)切片。通過上述可知,本方案在內(nèi)存中設(shè)置了緩存區(qū),利用緩存區(qū)寫入服務(wù)端傳輸?shù)臄?shù)據(jù),當(dāng)一個緩存區(qū)寫滿后,將該緩存區(qū)的數(shù)據(jù)轉(zhuǎn)存至存儲區(qū)域,且選擇下一個緩存區(qū)繼續(xù)寫入服務(wù)端傳輸?shù)臄?shù)據(jù),從而減少發(fā)生由于內(nèi)存存儲空間不夠?qū)е虏荒芙邮辗?wù)端傳輸?shù)臄?shù)據(jù)的情況,因此本發(fā)明提供的方案可以降低數(shù)據(jù)傳輸失敗的概率。
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是本發(fā)明一個實施例提供的一種客戶端的結(jié)構(gòu)示意圖;
圖2是本發(fā)明一個實施例提供的一種包括wifi模塊的客戶端的結(jié)構(gòu)示意圖;
圖3是本發(fā)明一個實施例提供的一種包括usart模塊的客戶端的結(jié)構(gòu)示意圖;
圖4是本發(fā)明一個實施例提供的一種包括sdio總線的客戶端的結(jié)構(gòu)示意圖;
圖5是本發(fā)明一個實施例提供的一種包括電子標識模塊的客戶端的結(jié)構(gòu)示意圖;
圖6是本發(fā)明一個實施例提供的一種服務(wù)端的結(jié)構(gòu)示意圖;
圖7是本發(fā)明一個實施例提供的一種應(yīng)用于客戶端的數(shù)據(jù)傳輸方法的流程圖;
圖8是本發(fā)明一個實施例提供的一種應(yīng)用于服務(wù)端的數(shù)據(jù)傳輸方法的流程圖;
圖9是本發(fā)明一個實施例提供的一種數(shù)據(jù)傳輸系統(tǒng)的結(jié)構(gòu)示意圖;
圖10是本發(fā)明一個實施例提供的一種應(yīng)用于數(shù)據(jù)傳輸系統(tǒng)的數(shù)據(jù)傳輸方法的流程圖。
具體實施方式
為使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例,基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動的前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
如圖1所示,本發(fā)明實施例提供了一種客戶端,該客戶端包括:主控芯片101以及內(nèi)存102,其中,所述主控芯片101中包括直接內(nèi)存存取dma模塊1011;其中,
所述內(nèi)存102設(shè)置至少兩個緩存區(qū)1021;
所述主控芯片101,用于向外部服務(wù)端發(fā)送獲取數(shù)據(jù)請求;當(dāng)接收到所述服務(wù)端傳輸?shù)膶?yīng)于所述獲取數(shù)據(jù)請求的各個數(shù)據(jù)切片時,觸發(fā)所述dma模塊1011;
所述dma模塊1011,用于根據(jù)所述主控芯片101的觸發(fā),循環(huán)執(zhí)行n1至n3,直至完成接收全部所述數(shù)據(jù)切片;
n1:在所述至少兩個緩存區(qū)1021中選取目標緩存區(qū);
n2:將外部服務(wù)端傳輸?shù)母鱾€數(shù)據(jù)切片寫入到所述目標緩存區(qū);
n3:當(dāng)所述目標緩存區(qū)寫滿時,判斷是否接收到全部的所述數(shù)據(jù)切片;如果是,將所述目標緩存區(qū)的各個所述數(shù)據(jù)切片轉(zhuǎn)存至外部連接的存儲區(qū)域;如果否,將所述目標緩存區(qū)1021的各個所述數(shù)據(jù)切片轉(zhuǎn)存至所述存儲區(qū)域,并執(zhí)行n1。
根據(jù)如圖1所示的實施例,該客戶端包括主控芯片以及設(shè)置了至少兩個緩存區(qū)的內(nèi)存。當(dāng)主控芯片接收到服務(wù)端傳輸?shù)膶?yīng)于其發(fā)送的獲取數(shù)據(jù)請求的各個數(shù)據(jù)切片時,觸發(fā)dma模塊在緩存區(qū)中選取目標緩存區(qū),并將數(shù)據(jù)切片寫入到目標緩存區(qū)。當(dāng)目標緩存區(qū)寫滿時,且接收了全部的數(shù)據(jù)切片則將目標緩存區(qū)的數(shù)據(jù)切片轉(zhuǎn)存至連接的存儲區(qū)域。當(dāng)目標緩存區(qū)寫滿時,未接收到全部的數(shù)據(jù)切片,則將當(dāng)前目標緩存區(qū)的數(shù)據(jù)切片轉(zhuǎn)存至存儲區(qū)域,并繼續(xù)選取下一個目標緩存區(qū),重復(fù)上述將數(shù)據(jù)切片寫入到目標緩存區(qū)及判斷是否接收到全部的數(shù)據(jù)切片的過程,直至客戶端完成接收全部數(shù)據(jù)切片。通過上述可知,本方案在內(nèi)存中設(shè)置了緩存區(qū),利用緩存區(qū)寫入服務(wù)端傳輸?shù)臄?shù)據(jù),當(dāng)一個緩存區(qū)寫滿后,將該緩存區(qū)的數(shù)據(jù)轉(zhuǎn)存至存儲區(qū)域,且選擇下一個緩存區(qū)繼續(xù)寫入服務(wù)端傳輸?shù)臄?shù)據(jù),從而減少發(fā)生由于內(nèi)存存儲空間不夠?qū)е虏荒芙邮辗?wù)端傳輸?shù)臄?shù)據(jù)的情況,因此本發(fā)明實施例可以降低數(shù)據(jù)傳輸失敗的概率。
在本發(fā)明一個實施例中,主控芯片以及內(nèi)存的型號可以根據(jù)具體的業(yè)務(wù)要求確定,比如為了減少成本,主控芯片可以選用采用意法半導(dǎo)體的stm32f103rbt6芯片。
在本發(fā)明一個實施例中,客戶端與服務(wù)端之間的數(shù)據(jù)傳輸可以通過有線網(wǎng)絡(luò)實現(xiàn),也可以通過無線網(wǎng)絡(luò)實現(xiàn)。當(dāng)采用無線網(wǎng)絡(luò)時,可以通過在客戶端中設(shè)置wifi模塊,以實現(xiàn)客戶端與服務(wù)端之間的數(shù)據(jù)傳輸。
當(dāng)采用無線網(wǎng)絡(luò)方式時,在本發(fā)明一個實施例中,如圖2所示,在圖1所示客戶端中可以進一步包括:wifi模塊201;
所述wifi模塊201,包括:軟件開發(fā)工具包sdk和應(yīng)用程序編程api接口;
所述主控芯片101,用于向所述服務(wù)端發(fā)送獲取數(shù)據(jù)請求時,觸發(fā)所述wifi模塊201;通過所述wifi模塊201接收所述服務(wù)端傳輸?shù)膶?yīng)于所述獲取數(shù)據(jù)請求的各個數(shù)據(jù)切片;
所述wifi模塊201,用于當(dāng)接收到所述主控芯片101的觸發(fā)時,根據(jù)所述sdk調(diào)用所述api接口,向所述服務(wù)端發(fā)送獲取數(shù)據(jù)請求;根據(jù)所述sdk調(diào)用所述api接口接收所述服務(wù)端傳輸?shù)膶?yīng)于所述獲取數(shù)據(jù)請求的各個數(shù)據(jù)切片,將各個所述數(shù)據(jù)切片傳輸至所述主控芯片101。
在本實施例中,wifi模塊采用的具體型式可以根據(jù)具體業(yè)務(wù)要求確定,比如為了節(jié)約成本可以選用采用樂鑫esp8266芯片,esp8266芯片配套sdk開發(fā)包,數(shù)據(jù)傳輸采用usart,波特率為115200bps。
在本實施例中,客戶端向服務(wù)端發(fā)送的獲取數(shù)據(jù)請求包括的具體內(nèi)容可以根據(jù)業(yè)務(wù)要求確定,比如可以是獲取圖片的請求也可以是獲取音樂的請求。比如,主控芯片需要向服務(wù)端發(fā)送獲取數(shù)據(jù)請求時,需要觸發(fā)wifi模塊,以通過wifi模塊將獲取數(shù)據(jù)請求發(fā)送至服務(wù)端。然后再通過wifi模塊接收服務(wù)端傳輸?shù)膶?yīng)于獲取數(shù)據(jù)請求的各個數(shù)據(jù)切片。當(dāng)wifi模塊將獲取數(shù)據(jù)請求發(fā)送至服務(wù)端時,wifi模塊需要根據(jù)其自身包括的sdk調(diào)用其自身的api接口,利用api接口向服務(wù)端發(fā)送獲取數(shù)據(jù)請求;當(dāng)服務(wù)端向客戶端傳輸數(shù)據(jù)切片時,wifi模塊根據(jù)其自身包括的sdk調(diào)用其自身的api接口,利用api接口接收服務(wù)端傳輸?shù)母鱾€數(shù)據(jù)切片。
根據(jù)上述實施例,客戶端中可以進一步包括wifi模塊,利用wifi模塊完成客戶端與服務(wù)端之間的獲取數(shù)據(jù)請求和數(shù)據(jù)切片的傳輸,由于wifi模塊為無線局域網(wǎng),因此可以提高客戶端與服務(wù)端之間數(shù)據(jù)傳輸?shù)谋憷浴?/p>
在本發(fā)明一個實施例中,如圖3所示,在圖1所示客戶端中的主控芯片101可以進一步包括:同步/異步串行收發(fā)usart模塊301;
所述usart模塊301,用于當(dāng)所述主控芯片101觸發(fā)所述dma模塊1011時,將各個所述數(shù)據(jù)切片傳輸至所述dma模塊1011。
在本實施例中,由于usart模塊可以實現(xiàn)數(shù)據(jù)傳輸發(fā)送方和數(shù)據(jù)接收方的時鐘同步,實現(xiàn)數(shù)據(jù)的快速傳輸。且由于傳輸速度快,所以數(shù)據(jù)傳輸過程中出現(xiàn)數(shù)據(jù)丟失的可能性較小。
在本實施例中,usart模塊包括的元件型號可以根據(jù)具體的業(yè)務(wù)要求確定。
根據(jù)上述實施例,主控芯片中可以進一步包括usart模塊,當(dāng)主控芯片觸發(fā)dma模塊時,利用usart模塊將各個數(shù)據(jù)切片傳輸至dma模塊,以使dma模塊將數(shù)據(jù)切片寫入到目標緩存區(qū),由于usart模塊可以實現(xiàn)數(shù)據(jù)傳輸發(fā)送方和數(shù)據(jù)接收方的時鐘同步,因此可以提高傳輸數(shù)據(jù)切片的速度。
在本發(fā)明一個實施例中,所述dma模塊用于接收服務(wù)端發(fā)送的數(shù)據(jù)切片的整個循環(huán)過程,可以通過如下代碼實現(xiàn):
上述的代碼只是一種優(yōu)選方式,還可以根據(jù)其他的業(yè)務(wù)要求,采用其他的代碼形式實現(xiàn)dma模塊接收服務(wù)端發(fā)送的數(shù)據(jù)切片的過程。
在本發(fā)明一個實施例中,如圖4所示,所述客戶端可以進一步包括:安全數(shù)字輸入輸出卡sdio總線401;
所述sdio總線401,分別與所述內(nèi)存102和所述存儲區(qū)域402相連,用于將所述內(nèi)存102的各個所述數(shù)據(jù)切片傳輸至所述存儲區(qū)域402。
在本實施例中,存儲區(qū)域可以是客戶端內(nèi)置的存儲區(qū)域,也可以包括u盤或tf卡的外置存儲區(qū)域。為了加快將目標緩存區(qū)的各個數(shù)據(jù)切片轉(zhuǎn)存至存儲區(qū)域的速度,使用sdio總線連接內(nèi)存與存儲區(qū)域,利用sdio總線將數(shù)據(jù)切片轉(zhuǎn)存至存儲區(qū)域。另外由于sdio總線傳輸速度塊,還可以減少數(shù)據(jù)傳輸過程中出現(xiàn)數(shù)據(jù)丟失的可能性。
根據(jù)上述實施例,內(nèi)存與存儲區(qū)域之間通過sdio總線連接,利用sdio總線將目標緩存區(qū)的數(shù)據(jù)切片轉(zhuǎn)存至存儲區(qū)域,由于sdio總線性能良好,可以提高數(shù)據(jù)切片的傳輸速度。
在本發(fā)明一個實施例中,如圖5所示,所述客戶端可以進一步包括:電子標識模塊501;
所述電子標識模塊501,包括攜帶圖形、文字以及功能說明的電子標識,用于向用戶提供所述電子標識,以使用戶根據(jù)所述電子標識觸發(fā)所述主控芯片101向所述服務(wù)端發(fā)送獲取數(shù)據(jù)請求。
在本實施例中,電子標識可以以二維碼的型式呈現(xiàn)。比如在充電寶上設(shè)置有二維碼,用戶可以利用手機等電子設(shè)備掃描該二維碼,當(dāng)用戶掃描完成之后,用戶根據(jù)該二維碼的相關(guān)信息觸發(fā)主控芯片向服務(wù)端發(fā)送獲取數(shù)據(jù)請求。另外該電子標識,還可以為用戶提供嵌套付款等功能。
根據(jù)上述實施例,客戶端可以進一步包括電子標識模塊,利用電子標識模塊向用戶提供電子標識,以使用戶根據(jù)電子標識觸發(fā)主控芯片向服務(wù)端發(fā)送獲取數(shù)據(jù)請求。用戶可以隨時根據(jù)需要利用電子標識觸發(fā)主控芯片向服務(wù)端發(fā)送獲取數(shù)據(jù)請求,因此使用的便利性較高。
在本發(fā)明一個實施例中,客戶端中還可以進一步包括還原模塊,還原模塊,用于當(dāng)存儲區(qū)域存儲服務(wù)端傳輸?shù)娜繑?shù)據(jù)切片時,根據(jù)各個數(shù)據(jù)切片的標識,還原各個數(shù)據(jù)切片對應(yīng)的數(shù)據(jù)。比如當(dāng)存儲區(qū)域存儲服務(wù)端傳輸?shù)娜繑?shù)據(jù)切片為:數(shù)據(jù)切片1、數(shù)據(jù)切片2和數(shù)據(jù)切片3,還原模塊就可以根據(jù)數(shù)據(jù)切片1、數(shù)據(jù)切片2和數(shù)據(jù)切片3對應(yīng)的標識順序?qū)⒏鱾€數(shù)據(jù)切片進行組合,從而還原各個數(shù)據(jù)切片對應(yīng)的數(shù)據(jù)。
在本發(fā)明一個實施例中,客戶端中還可以進一步包括解密模塊,當(dāng)服務(wù)端傳輸?shù)母鱾€數(shù)據(jù)切片為加密的數(shù)據(jù)切片時,解密模塊,用于根據(jù)預(yù)先設(shè)定的解密算法對各個數(shù)據(jù)切片進行解密,得到解密后的各個所述數(shù)據(jù)切片;然后還原模塊,用于根據(jù)解密后的各個數(shù)據(jù)切片的標識,還原各個數(shù)據(jù)切片對應(yīng)的數(shù)據(jù)。解密算法可以根據(jù)業(yè)務(wù)要求確定,但是需要注意的是解密算法應(yīng)為客戶端和服務(wù)端約定好的算法。
如圖6所示,本發(fā)明實施例提供了一種服務(wù)端,該服務(wù)端包括:確定模塊601、切片模塊602、傳輸模塊603;其中,
所述確定模塊601,用于獲取外部客戶端發(fā)送的獲取數(shù)據(jù)請求,并確定與所述獲取數(shù)據(jù)請求對應(yīng)的數(shù)據(jù);
所述切片模塊602,用于根據(jù)預(yù)先設(shè)定的切片長度對所述數(shù)據(jù)進行切片處理,形成至少一個數(shù)據(jù)切片;
所述傳輸模塊603,用于將各個所述數(shù)據(jù)切片傳輸給所述客戶端,循環(huán)執(zhí)行m1至m2,直至完成傳輸全部所述數(shù)據(jù)切片;
m1:將各個所述數(shù)據(jù)切片傳輸至所述客戶端中的目標緩存區(qū);
m2:當(dāng)所述目標緩存區(qū)寫滿時,判斷全部的所述數(shù)據(jù)切片是否傳輸完成;如果否,確定未傳輸?shù)母鱾€所述數(shù)據(jù)切片,并執(zhí)行m1。
根據(jù)如圖6所示的實施例,該服務(wù)端包括:確定模塊、切片模塊、傳輸模塊,確定模塊確定與客戶端發(fā)送的獲取數(shù)據(jù)請求對應(yīng)的數(shù)據(jù)之后,切片模塊根據(jù)預(yù)先設(shè)定的切片長度對確定模塊確定的數(shù)據(jù)進行切片處理形成至少一個數(shù)據(jù)切片,再利用傳輸模塊將各個數(shù)據(jù)切片傳輸至客戶端中的目標緩存區(qū),當(dāng)目標緩存區(qū)寫滿時,全部數(shù)據(jù)切片未傳輸完成時,確定未傳輸?shù)臄?shù)據(jù)切片,并將未傳輸?shù)臄?shù)據(jù)切片繼續(xù)寫入到下一個目標緩存區(qū),傳輸模塊循環(huán)上述數(shù)據(jù)切片傳輸過程直至完成傳輸全部所述數(shù)據(jù)切片。通過上述可知,本方案將數(shù)據(jù)進行了切分形成了數(shù)據(jù)切片,將數(shù)據(jù)切片傳輸至客戶端的目標緩存區(qū),當(dāng)一個緩存區(qū)寫滿后,將未傳輸?shù)臄?shù)據(jù)切片傳輸至下一個緩存區(qū),由于數(shù)據(jù)切片傳輸給各個緩存區(qū),因此本發(fā)明提供的實施例可以降低數(shù)據(jù)傳輸失敗的概率。
在本發(fā)明一個實施例中,服務(wù)端可以進一步包括:加密單元;加密單元,用于根據(jù)預(yù)先設(shè)定的加密算法對形成的所述至少一個數(shù)據(jù)切片進行加密。加密算法可以根據(jù)業(yè)務(wù)要求確定,需要注意的加密算法應(yīng)為與客戶端約定好的算法,由于對數(shù)據(jù)進行了加密,因此在數(shù)據(jù)傳輸過程中可以減少數(shù)據(jù)泄露的可能性。
如圖7所示,本發(fā)明實施例提供了一種應(yīng)用于客戶端的數(shù)據(jù)傳輸方法,該方法包括:
步驟701:在所述客戶端部署dma模塊;
步驟702:在所述客戶端的內(nèi)存中設(shè)置至少兩個緩存區(qū);
步驟703:向外部服務(wù)端發(fā)送獲取數(shù)據(jù)請求;
步驟704:當(dāng)接收到所述服務(wù)端傳輸?shù)膶?yīng)于所述獲取數(shù)據(jù)請求的各個數(shù)據(jù)切片時,觸發(fā)所述dma模塊;
步驟705:利用所述dma模塊接收所述服務(wù)端傳輸?shù)膶?yīng)于所述獲取數(shù)據(jù)請求的各個數(shù)據(jù)切片;
步驟706:在所述至少兩個緩存區(qū)中選取目標緩存區(qū);
步驟707:將外部服務(wù)端傳輸?shù)母鱾€數(shù)據(jù)切片寫入到所述目標緩存區(qū);
步驟708:當(dāng)所述目標緩存區(qū)寫滿時,判斷是否接收到全部的所述數(shù)據(jù)切片;如果是,執(zhí)行步驟709;如果否,執(zhí)行步驟709和步驟706;
步驟709:將所述目標緩存區(qū)的各個所述數(shù)據(jù)切片轉(zhuǎn)存至外部連接的存儲區(qū)域。
根據(jù)如圖7所示的實施例,該應(yīng)用于客戶端的數(shù)據(jù)傳輸方法包括:當(dāng)接收到服務(wù)端傳輸?shù)膶?yīng)于客戶端發(fā)送的獲取數(shù)據(jù)請求的各個數(shù)據(jù)切片時,觸發(fā)客戶端中部署的dma模塊,并利用dma模塊在內(nèi)存中的緩存區(qū)中選取目標緩存區(qū),將服務(wù)端傳輸?shù)母鱾€數(shù)據(jù)切片寫入到目標緩存區(qū),當(dāng)目標緩存區(qū)寫滿時,全部的數(shù)據(jù)切片未傳輸完成時,將目標緩存區(qū)的各個數(shù)據(jù)切片轉(zhuǎn)存至存儲區(qū)域,并選擇下一個目標緩存區(qū)寫入剩余部分數(shù)據(jù)切片,重復(fù)上述過程,直至完成接收全部數(shù)據(jù)切片,通過上述可知,本方案在內(nèi)存中設(shè)置了緩存區(qū),利用緩存區(qū)寫入服務(wù)端傳輸?shù)臄?shù)據(jù),當(dāng)一個緩存區(qū)寫滿后,將該緩存區(qū)的數(shù)據(jù)轉(zhuǎn)存至存儲區(qū)域,且選擇下一個緩存區(qū)繼續(xù)寫入服務(wù)端傳輸?shù)臄?shù)據(jù),從而減少發(fā)生由于內(nèi)存存儲空間不夠?qū)е虏荒芙邮辗?wù)端傳輸?shù)臄?shù)據(jù)的情況,因此本發(fā)明提供的實施例可以降低數(shù)據(jù)傳輸失敗的概率。
在本發(fā)明一個實施例中,當(dāng)所述客戶端進一步包括wifi模塊時,
則圖7所示流程圖中的步驟703向外部服務(wù)端發(fā)送獲取數(shù)據(jù)請求可以包括:觸發(fā)所述wifi模塊根據(jù)所述sdk調(diào)用所述api接口,向所述服務(wù)端發(fā)送獲取數(shù)據(jù)請求;
則圖7所示流程圖中的步驟705接收到所述服務(wù)端傳輸?shù)膶?yīng)于所述獲取數(shù)據(jù)請求的各個數(shù)據(jù)切片可以包括:通過所述wifi模塊根據(jù)所述sdk調(diào)用所述api接口接收所述服務(wù)端傳輸?shù)膶?yīng)于所述獲取數(shù)據(jù)請求的各個數(shù)據(jù)切片。
在本發(fā)明一個實施例中,在圖7所示流程圖中步驟704中所涉及的觸發(fā)所述dma模塊之后可以進一步包括:利用usart模塊將各個所述數(shù)據(jù)切片傳輸至所述dma模塊。
在本發(fā)明一個實施例中,在圖7所示流程圖中步驟703向外部服務(wù)端發(fā)送獲取數(shù)據(jù)請求之前可以進一步包括:向用戶提供包括攜帶圖形、文字以及功能說明的電子標識,以使用戶根據(jù)所述電子標識觸發(fā)所述客戶端向所述服務(wù)端發(fā)送獲取數(shù)據(jù)請求。
如圖8所示,本發(fā)明實施例提供了一種應(yīng)用于服務(wù)端的數(shù)據(jù)傳輸方法,該方法包括:
步驟801:獲取外部客戶端發(fā)送的獲取數(shù)據(jù)請求,并確定與所述獲取數(shù)據(jù)請求對應(yīng)的數(shù)據(jù);
步驟802:根據(jù)預(yù)先設(shè)定的切片長度對所述數(shù)據(jù)進行切片處理,形成至少一個數(shù)據(jù)切片;
步驟803:將各個所述數(shù)據(jù)切片傳輸至所述客戶端中的目標緩存區(qū);
步驟804:當(dāng)所述目標緩存區(qū)寫滿時,判斷全部的所述數(shù)據(jù)切片是否傳輸完成;如果否,執(zhí)行步驟805;否則結(jié)束當(dāng)前流程;
步驟805:確定未傳輸?shù)母鱾€所述數(shù)據(jù)切片,并執(zhí)行步驟803。
根據(jù)如圖8所示的實施例,該應(yīng)用于服務(wù)端的數(shù)據(jù)傳輸方法包括:確定與客戶端發(fā)送的獲取數(shù)據(jù)請求對應(yīng)的數(shù)據(jù),然后根據(jù)預(yù)先設(shè)定的切片長度對確定的數(shù)據(jù)進行切片處理形成至少一個數(shù)據(jù)切片,再利用將各個數(shù)據(jù)切片傳輸至客戶端中的目標緩存區(qū),當(dāng)目標緩存區(qū)寫滿時,全部數(shù)據(jù)切片未傳輸完成時,確定未傳輸?shù)臄?shù)據(jù)切片,并將未傳輸?shù)臄?shù)據(jù)切片繼續(xù)寫入到下一個目標緩存區(qū),循環(huán)上述數(shù)據(jù)切片傳輸過程直至完成傳輸全部所述數(shù)據(jù)切片。通過上述可知,本方案將數(shù)據(jù)進行了切分形成了數(shù)據(jù)切片,將數(shù)據(jù)切片傳輸至客戶端的目標緩存區(qū),當(dāng)一個緩存區(qū)寫滿后,將未傳輸?shù)臄?shù)據(jù)切片傳輸至下一個緩存區(qū),由于數(shù)據(jù)切片傳輸給各個緩存區(qū),因此本發(fā)明提供的實施例可以降低數(shù)據(jù)傳輸失敗的概率。
如圖9所示,本發(fā)明實施例提供了一種數(shù)據(jù)傳輸?shù)南到y(tǒng),該系統(tǒng)包括:上述任一所述的客戶端901,以及上述任一所述的服務(wù)端902;其中,
所述客戶端901與所述服務(wù)端902通過socket通信方式連接。
在本發(fā)明一個實施例中,客戶端與服務(wù)端通過socket通信方式連接只是一種優(yōu)選地方式,可以根據(jù)業(yè)務(wù)要求選擇其他的通信方式。
下面以包括設(shè)置dma模塊的主控芯片、wifi模塊、usart模塊、sdio總線、電子標識模塊的客戶端、服務(wù)端以及存儲區(qū)域為tf卡為例。展開說明數(shù)據(jù)傳輸方法,如圖10所示,該數(shù)據(jù)傳輸方法可以包括如下步驟:
步驟1001:在客戶端部署dma模塊、在內(nèi)存中設(shè)置至少兩個緩存區(qū)、設(shè)置電子標識,以及將內(nèi)存通過sdio總線與tf卡連接。
在本步驟中,在內(nèi)存中設(shè)置了3個大小為20k的緩存區(qū)。
步驟1002:預(yù)先設(shè)定切片長度。
在本步驟中,根據(jù)業(yè)務(wù)要求設(shè)定的切片長度為10k。
步驟1003:客戶端向用戶提供電子標識,用戶根據(jù)電子標識觸發(fā)客戶端利用wifi模塊利用sdk調(diào)用api接口,向服務(wù)端發(fā)送獲取數(shù)據(jù)請求。
在本步驟中,客戶端向用戶提供的電子標識為二維碼。
步驟1004:服務(wù)端獲取客戶端發(fā)送的獲取數(shù)據(jù)請求,并確定與獲取數(shù)據(jù)請求對應(yīng)的數(shù)據(jù)。
在本步驟中,服務(wù)端根據(jù)客戶端發(fā)送的獲取數(shù)據(jù)請求,確定的數(shù)據(jù)為一張50k圖片。
步驟1005:服務(wù)端根據(jù)預(yù)先設(shè)定的切片長度對數(shù)據(jù)進行切片處理,形成至少一個數(shù)據(jù)切片。
在本步驟中,服務(wù)端根據(jù)步驟1002中設(shè)定的切片長度10k對步驟1004中確定的50k的圖片進行切片處理,形成了5個數(shù)據(jù)切片。
步驟1006:服務(wù)端將各個數(shù)據(jù)切片傳輸至客戶端。
步驟1007:客戶端的wifi模塊根據(jù)sdk調(diào)用api接口接收服務(wù)端傳輸?shù)膶?yīng)于獲取數(shù)據(jù)請求的各個數(shù)據(jù)切片,觸發(fā)dma模塊。
步驟1008:客戶端的usart模塊將各個數(shù)據(jù)切片傳輸至dma模塊。
步驟1009:客戶端利用dma模塊在至少兩個緩存區(qū)中選取目標緩存區(qū)。
在本步驟中,客戶端利用dma模塊在步驟1001設(shè)置的三個緩存區(qū)中選取緩存區(qū)1為目標緩存區(qū)。
步驟1010:客戶端的dma模塊將usart模塊傳輸?shù)母鱾€數(shù)據(jù)切片寫入到目標緩存區(qū)。
在本步驟中dma模塊將usart模塊傳輸?shù)母鱾€數(shù)據(jù)切片寫入到步驟1009確定的緩存區(qū)1中。
步驟1011:客戶端當(dāng)目標緩存區(qū)寫滿時,判斷是否接收到全部的所述數(shù)據(jù)切片;如果是,執(zhí)行步驟1012;如果否,執(zhí)行步驟1013和步驟1009。
在本步驟中,緩存區(qū)1大小為20k,當(dāng)寫入兩個10k的數(shù)據(jù)切片后,則寫滿,判斷是否接收了全部的5個數(shù)據(jù)切片,如果否則執(zhí)行步驟1013和步驟1009。以使客戶端在除緩存區(qū)1的另外兩個緩存區(qū)中選取下一個目標緩存區(qū),比如緩存區(qū)2繼續(xù)寫入未寫入到緩存區(qū)1中的數(shù)據(jù)切片。
步驟1012:服務(wù)端結(jié)束傳輸流程,客戶端將目標緩存區(qū)的各個數(shù)據(jù)切片通過sdio總線轉(zhuǎn)存至tf卡,并結(jié)束當(dāng)前流程。
在本步驟中,全部的數(shù)據(jù)切片傳輸完成,則將當(dāng)前目標緩存區(qū)中的數(shù)據(jù)通過sdio總線轉(zhuǎn)存至tf卡。
步驟1013:服務(wù)端確定未傳輸?shù)母鱾€數(shù)據(jù)切片,客戶端將目標緩存區(qū)的各個數(shù)據(jù)切片通過sdio總線轉(zhuǎn)存至tf卡。
在本步驟中,服務(wù)端確定未傳輸?shù)臄?shù)據(jù)切片為數(shù)據(jù)切片3、數(shù)據(jù)切片4、數(shù)據(jù)切片5,客戶端將緩存區(qū)1中的各個數(shù)據(jù)切片通過sdio總線轉(zhuǎn)存至tf卡。
綜上所述,本發(fā)明各個實施例至少可以實現(xiàn)如下有益效果:
1、在本發(fā)明實施例中,該客戶端包括主控芯片以及設(shè)置了至少兩個緩存區(qū)的內(nèi)存。當(dāng)主控芯片接收到服務(wù)端傳輸?shù)膶?yīng)于其發(fā)送的獲取數(shù)據(jù)請求的各個數(shù)據(jù)切片時,觸發(fā)dma模塊在緩存區(qū)中選取目標緩存區(qū),并將數(shù)據(jù)切片寫入到目標緩存區(qū)。當(dāng)目標緩存區(qū)寫滿時,且接收了全部的數(shù)據(jù)切片則將目標緩存區(qū)的數(shù)據(jù)切片轉(zhuǎn)存至連接的存儲區(qū)域。當(dāng)目標緩存區(qū)寫滿時,未接收到全部的數(shù)據(jù)切片,則將當(dāng)前目標緩存區(qū)的數(shù)據(jù)切片轉(zhuǎn)存至存儲區(qū)域,并繼續(xù)選取下一個目標緩存區(qū),重復(fù)上述將數(shù)據(jù)切片寫入到目標緩存區(qū)及判斷是否接收到全部的數(shù)據(jù)切片的過程,直至客戶端完成接收全部數(shù)據(jù)切片。通過上述可知,本方案在內(nèi)存中設(shè)置了緩存區(qū),利用緩存區(qū)寫入服務(wù)端傳輸?shù)臄?shù)據(jù),當(dāng)一個緩存區(qū)寫滿后,將該緩存區(qū)的數(shù)據(jù)轉(zhuǎn)存至存儲區(qū)域,且選擇下一個緩存區(qū)繼續(xù)寫入服務(wù)端傳輸?shù)臄?shù)據(jù),從而減少發(fā)生由于內(nèi)存存儲空間不夠?qū)е虏荒芙邮辗?wù)端傳輸?shù)臄?shù)據(jù)的情況,因此本發(fā)明實施例可以降低數(shù)據(jù)傳輸失敗的概率。
2、在本發(fā)明實施例中,客戶端中可以進一步包括wifi模塊,利用wifi模塊完成客戶端與服務(wù)端之間的獲取數(shù)據(jù)請求和數(shù)據(jù)切片的傳輸,由于wifi模塊為無線局域網(wǎng),因此可以提高客戶端與服務(wù)端之間數(shù)據(jù)傳輸?shù)谋憷浴?/p>
3、在本發(fā)明實施例中,主控芯片中可以進一步包括usart模塊,當(dāng)主控芯片觸發(fā)dma模塊時,利用usart模塊將各個數(shù)據(jù)切片傳輸至dma模塊,以使dma模塊將數(shù)據(jù)切片寫入到目標緩存區(qū),由于usart模塊可以實現(xiàn)數(shù)據(jù)傳輸發(fā)送方和數(shù)據(jù)接收方的時鐘同步,因此可以提高傳輸數(shù)據(jù)切片的速度。
4、在本發(fā)明實施例中,內(nèi)存與存儲區(qū)域之間通過sdio總線連接,利用sdio總線將目標緩存區(qū)的數(shù)據(jù)切片轉(zhuǎn)存至存儲區(qū)域,由于sdio總線性能良好,可以提高數(shù)據(jù)切片的傳輸速度。
5、在本發(fā)明實施例中,客戶端可以進一步包括電子標識模塊,利用電子標識模塊向用戶提供電子標識,以使用戶根據(jù)電子標識觸發(fā)主控芯片向服務(wù)端發(fā)送獲取數(shù)據(jù)請求。用戶可以隨時根據(jù)需要利用電子標識觸發(fā)主控芯片向服務(wù)端發(fā)送獲取數(shù)據(jù)請求,因此使用的便利性較高。
6、在本發(fā)明實施例中,該服務(wù)端包括:確定模塊、切片模塊、傳輸模塊,確定模塊確定與客戶端發(fā)送的獲取數(shù)據(jù)請求對應(yīng)的數(shù)據(jù)之后,切片模塊根據(jù)預(yù)先設(shè)定的切片長度對確定模塊確定的數(shù)據(jù)進行切片處理形成至少一個數(shù)據(jù)切片,再利用傳輸模塊將各個數(shù)據(jù)切片傳輸至客戶端中的目標緩存區(qū),當(dāng)目標緩存區(qū)寫滿時,全部數(shù)據(jù)切片未傳輸完成時,確定未傳輸?shù)臄?shù)據(jù)切片,并將未傳輸?shù)臄?shù)據(jù)切片繼續(xù)寫入到下一個目標緩存區(qū),傳輸模塊循環(huán)上述數(shù)據(jù)切片傳輸過程直至完成傳輸全部所述數(shù)據(jù)切片。通過上述可知,本方案將數(shù)據(jù)進行了切分形成了數(shù)據(jù)切片,將數(shù)據(jù)切片傳輸至客戶端的目標緩存區(qū),當(dāng)一個緩存區(qū)寫滿后,將未傳輸?shù)臄?shù)據(jù)切片傳輸至下一個緩存區(qū),由于數(shù)據(jù)切片傳輸給各個緩存區(qū),因此本發(fā)明提供的實施例可以降低數(shù)據(jù)傳輸失敗的概率。
7、在本發(fā)明實施例中,該應(yīng)用于客戶端的數(shù)據(jù)傳輸方法包括:當(dāng)接收到服務(wù)端傳輸?shù)膶?yīng)于客戶端發(fā)送的獲取數(shù)據(jù)請求的各個數(shù)據(jù)切片時,觸發(fā)客戶端中部署的dma模塊,并利用dma模塊在內(nèi)存中的緩存區(qū)中選取目標緩存區(qū),將服務(wù)端傳輸?shù)母鱾€數(shù)據(jù)切片寫入到目標緩存區(qū),當(dāng)目標緩存區(qū)寫滿時,全部的數(shù)據(jù)切片未傳輸完成時,將目標緩存區(qū)的各個數(shù)據(jù)切片轉(zhuǎn)存至存儲區(qū)域,并選擇下一個目標緩存區(qū)寫入剩余部分數(shù)據(jù)切片,重復(fù)上述過程,直至完成接收全部數(shù)據(jù)切片,通過上述可知,本方案在內(nèi)存中設(shè)置了緩存區(qū),利用緩存區(qū)寫入服務(wù)端傳輸?shù)臄?shù)據(jù),當(dāng)一個緩存區(qū)寫滿后,將該緩存區(qū)的數(shù)據(jù)轉(zhuǎn)存至存儲區(qū)域,且選擇下一個緩存區(qū)繼續(xù)寫入服務(wù)端傳輸?shù)臄?shù)據(jù),從而減少發(fā)生由于內(nèi)存存儲空間不夠?qū)е虏荒芙邮辗?wù)端傳輸?shù)臄?shù)據(jù)的情況,因此本發(fā)明提供的實施例可以降低數(shù)據(jù)傳輸失敗的概率。
8、在本發(fā)明實施例中,該應(yīng)用于服務(wù)端的數(shù)據(jù)傳輸方法包括:確定與客戶端發(fā)送的獲取數(shù)據(jù)請求對應(yīng)的數(shù)據(jù),然后根據(jù)預(yù)先設(shè)定的切片長度對確定的數(shù)據(jù)進行切片處理形成至少一個數(shù)據(jù)切片,再利用將各個數(shù)據(jù)切片傳輸至客戶端中的目標緩存區(qū),當(dāng)目標緩存區(qū)寫滿時,全部數(shù)據(jù)切片未傳輸完成時,確定未傳輸?shù)臄?shù)據(jù)切片,并將未傳輸?shù)臄?shù)據(jù)切片繼續(xù)寫入到下一個目標緩存區(qū),循環(huán)上述數(shù)據(jù)切片傳輸過程直至完成傳輸全部所述數(shù)據(jù)切片。通過上述可知,本方案將數(shù)據(jù)進行了切分形成了數(shù)據(jù)切片,將數(shù)據(jù)切片傳輸至客戶端的目標緩存區(qū),當(dāng)一個緩存區(qū)寫滿后,將未傳輸?shù)臄?shù)據(jù)切片傳輸至下一個緩存區(qū),由于數(shù)據(jù)切片傳輸給各個緩存區(qū),因此本發(fā)明提供的實施例可以降低數(shù)據(jù)傳輸失敗的概率。
需要說明的是,在本文中,諸如第一和第二之類的關(guān)系術(shù)語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個······”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同因素。
本領(lǐng)域普通技術(shù)人員可以理解:實現(xiàn)上述方法實施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成,前述的程序可以存儲在計算機可讀取的存儲介質(zhì)中,該程序在執(zhí)行時,執(zhí)行包括上述方法實施例的步驟;而前述的存儲介質(zhì)包括:rom、ram、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)中。
最后需要說明的是:以上所述僅為本發(fā)明的較佳實施例,僅用于說明本發(fā)明的技術(shù)方案,并非用于限定本發(fā)明的保護范圍。凡在本發(fā)明的精神和原則之內(nèi)所做的任何修改、等同替換、改進等,均包含在本發(fā)明的保護范圍內(nèi)。