數(shù)據(jù)塊數(shù)據(jù)不完成時(shí),只需向服務(wù)器發(fā)送包含當(dāng)前解析出的不完整的圖片塊數(shù)據(jù)對(duì)應(yīng)的圖片塊的序列號(hào)和被請(qǐng)求圖片的圖片標(biāo)識(shí)符的圖片塊請(qǐng)求。服務(wù)器在接收到該請(qǐng)求后,將會(huì)重新發(fā)送客戶端請(qǐng)求的圖片數(shù)據(jù)塊數(shù)據(jù),從而有效地提高了圖片的傳輸效率。
[0082]實(shí)施例二
[0083]圖4為本發(fā)明實(shí)施例二中一種圖片分割傳輸方法的流程圖,如圖4所示,該方法包括步驟 S401-S411:
[0084]步驟S401:客戶端向服務(wù)器發(fā)送圖片請(qǐng)求;
[0085]步驟S402:服務(wù)器根據(jù)客戶端發(fā)來的圖片請(qǐng)求,搜索并獲取被請(qǐng)求圖片;
[0086]步驟S403:服務(wù)器將被請(qǐng)求圖片分割成N個(gè)圖片塊,并根據(jù)預(yù)定編號(hào)規(guī)則生成被請(qǐng)求圖片的N個(gè)圖片塊的序列號(hào);同時(shí),生成各圖片塊的校驗(yàn)值。其中,N為預(yù)先設(shè)置的圖片塊分割數(shù);
[0087]步驟S404:服務(wù)器將被請(qǐng)求圖片的N個(gè)圖片塊依次生成為報(bào)文數(shù)據(jù)發(fā)送給客戶端;每次發(fā)送給客戶端的報(bào)文數(shù)據(jù)包括當(dāng)前發(fā)送的圖片塊數(shù)據(jù)、圖片塊的序列號(hào)、圖片塊的校驗(yàn)值及該圖片塊數(shù)據(jù)對(duì)應(yīng)的被請(qǐng)求圖片的圖片標(biāo)識(shí)符。
[0088]步驟S405:客戶端接收服務(wù)器發(fā)來的報(bào)文數(shù)據(jù);
[0089]步驟S406:客戶端對(duì)當(dāng)前接收的報(bào)文數(shù)據(jù)進(jìn)行解析,獲取一個(gè)圖片塊數(shù)據(jù)、圖片塊的序列號(hào)、圖片塊的校驗(yàn)值及該圖片塊數(shù)據(jù)對(duì)應(yīng)的被請(qǐng)求圖片的圖片標(biāo)識(shí)符并緩存;
[0090]步驟S407:客戶端根據(jù)當(dāng)前接收的報(bào)文數(shù)據(jù)中解析出的圖片塊的校驗(yàn)值驗(yàn)證同一報(bào)文數(shù)據(jù)中解析出的圖片塊數(shù)據(jù)是否完整,是則執(zhí)行S410,否則執(zhí)行S408 ;
[0091]步驟S408:客戶端向服務(wù)器發(fā)送圖片塊請(qǐng)求,圖片塊請(qǐng)求包含當(dāng)前解析出的不完整的圖片塊數(shù)據(jù)對(duì)應(yīng)的圖片塊的序列號(hào)和被請(qǐng)求圖片的圖片標(biāo)識(shí)符,并執(zhí)行步驟S409 ;
[0092]步驟S409:服務(wù)器根據(jù)客戶端發(fā)來的包含圖片標(biāo)識(shí)符及圖片塊序列號(hào)的圖片塊請(qǐng)求,重新生成圖片塊請(qǐng)求指定的圖片塊對(duì)應(yīng)的報(bào)文數(shù)據(jù)并發(fā)送給客戶端,并執(zhí)行步驟S405 ;
[0093]步驟S410:客戶端判斷緩存的被請(qǐng)求圖片的圖片塊數(shù)據(jù)的個(gè)數(shù)是否為N,是則執(zhí)行步驟S411,否則執(zhí)行步驟S405 ;其中,N為預(yù)先設(shè)置的圖片塊分割數(shù);
[0094]步驟S411:客戶端根據(jù)預(yù)定編號(hào)規(guī)則以及各圖片塊的序列號(hào),將緩存的被請(qǐng)求圖片的圖片標(biāo)識(shí)符對(duì)應(yīng)的N個(gè)圖片塊數(shù)據(jù)組合成被請(qǐng)求圖片。
[0095]實(shí)施例二提供的方法中,服務(wù)器將圖片分割傳輸給客戶端,達(dá)到提高圖片的網(wǎng)絡(luò)傳輸效率及在圖片傳輸失敗的情況下快速向客戶端傳輸圖片的目的。
[0096]對(duì)應(yīng)于上述實(shí)施例提供的圖片分割傳輸方法,本發(fā)明實(shí)施例還提供一種圖片分割傳輸裝置。如圖5所示,該裝置用于服務(wù)器,包括:圖片獲取模塊51,圖片分割模塊52,圖片塊數(shù)據(jù)發(fā)送模塊53 ;
[0097]圖片獲取模塊51,用于根據(jù)客戶端發(fā)來的圖片請(qǐng)求,搜索并獲取被請(qǐng)求圖片,并將該被請(qǐng)求圖片發(fā)送給圖片分割模塊52 ;
[0098]圖片分割模塊52,用于將被請(qǐng)求圖片分割成N個(gè)圖片塊,并根據(jù)預(yù)定編號(hào)規(guī)則生成被請(qǐng)求圖片的N個(gè)圖片塊的序列號(hào),并將被請(qǐng)求圖片的圖片標(biāo)識(shí)符、各圖片塊數(shù)據(jù)及各圖片塊的序列號(hào)緩存;其中,N為預(yù)先設(shè)置的圖片塊分割數(shù);
[0099]圖片塊數(shù)據(jù)發(fā)送模塊53,用于將圖片分割模塊52得到的被請(qǐng)求圖片的N個(gè)圖片塊依次生成為報(bào)文數(shù)據(jù)發(fā)送給客戶端;每次發(fā)送給客戶端的報(bào)文數(shù)據(jù)包括當(dāng)前發(fā)送的圖片塊數(shù)據(jù)、圖片塊的序列號(hào)及該圖片塊數(shù)據(jù)對(duì)應(yīng)的被請(qǐng)求圖片的圖片標(biāo)識(shí)符。這樣,收到報(bào)文數(shù)據(jù)的客戶端就可以根據(jù)報(bào)文數(shù)據(jù)中的圖片塊數(shù)據(jù)和相關(guān)信息,根據(jù)預(yù)定編號(hào)規(guī)則將N各圖片塊合成為所請(qǐng)求的圖片。
[0100]在一個(gè)實(shí)施例中,用于服務(wù)器的一種圖片分割傳輸裝置,如圖6所示,還包括圖片塊數(shù)據(jù)獲取模塊61 ;
[0101]圖片分割模塊52還用于在將被請(qǐng)求圖片分割成N個(gè)圖片塊后,生成每個(gè)圖片塊的校驗(yàn)值并緩存各圖片塊的校驗(yàn)值;其中,圖片塊的校驗(yàn)值為圖片塊數(shù)據(jù)的大小或MD5值;
[0102]圖片塊數(shù)據(jù)獲取模塊61,用于根據(jù)客戶端發(fā)來的包含圖片標(biāo)識(shí)符及圖片塊序列號(hào)的圖片塊請(qǐng)求,獲取圖片分割模塊52緩存的該圖片塊請(qǐng)求指定的圖片塊數(shù)據(jù)和圖片塊的校驗(yàn)值,并將獲取的圖片塊數(shù)據(jù)、圖片塊的校驗(yàn)值、圖片塊的序列號(hào)及該圖片塊數(shù)據(jù)對(duì)應(yīng)的被請(qǐng)求圖片的圖片標(biāo)識(shí)符發(fā)送給圖片塊數(shù)據(jù)發(fā)送模塊53 ;
[0103]圖片塊數(shù)據(jù)發(fā)送模塊53,還用于將圖片塊數(shù)據(jù)獲取模塊61發(fā)來的圖片塊數(shù)據(jù)、圖片塊的校驗(yàn)值、圖片塊的序列號(hào)及該圖片塊數(shù)據(jù)對(duì)應(yīng)的被請(qǐng)求圖片的圖片標(biāo)識(shí)符生成為報(bào)文數(shù)據(jù)發(fā)送給客戶端。
[0104]本發(fā)明實(shí)施例還提供一種圖片分割傳輸裝置,如圖7所示,該裝置用于客戶端,包括:請(qǐng)求模塊71,接收模塊72,解析模塊73,第一判斷模塊74和組合模塊75 ;
[0105]請(qǐng)求模塊71,用于接收用戶的圖片請(qǐng)求,并將圖片請(qǐng)求發(fā)送給服務(wù)器;
[0106]接收模塊72,用于接收服務(wù)器發(fā)來的報(bào)文數(shù)據(jù),并發(fā)送給解析模塊73 ;
[0107]解析模塊73,用于對(duì)當(dāng)前接收的報(bào)文數(shù)據(jù)進(jìn)行解析,獲取一個(gè)圖片塊數(shù)據(jù)、圖片塊的序列號(hào)及該圖片塊數(shù)據(jù)對(duì)應(yīng)的被請(qǐng)求圖片的圖片標(biāo)識(shí)符并緩存,并在緩存完后向第一判斷模塊74發(fā)送計(jì)數(shù)指令;
[0108]第一判斷模塊74,用于根據(jù)計(jì)數(shù)指令令當(dāng)前計(jì)數(shù)值M = M+1,隨后判斷M是否為N,是則令M = O并向組合模塊75發(fā)送組合指令;其中,M為當(dāng)前已緩存的被請(qǐng)求圖片的圖片塊數(shù)據(jù)的個(gè)數(shù),初始值為O ;N為預(yù)先設(shè)置的圖片塊分割數(shù);
[0109]組合模塊75,用于在接收到第一判斷模塊74發(fā)來的組合指令后,將解析模塊73緩存的N個(gè)圖片塊數(shù)據(jù)根據(jù)預(yù)定編號(hào)規(guī)則以及各圖片塊的序列號(hào)進(jìn)行組合。
[0110]在一個(gè)實(shí)施例中,如圖8所示,用于客戶端的一種圖片分割傳輸裝置還包括:第二判斷模塊81,圖片塊請(qǐng)求模塊82 ;
[0111]解析模塊73還用于緩存當(dāng)前接收的報(bào)文數(shù)據(jù)中解析出的圖片塊的校驗(yàn)值,并將當(dāng)前接收的報(bào)文數(shù)據(jù)中解析出的圖片塊數(shù)據(jù)及圖片塊的校驗(yàn)值發(fā)送給第二判斷模塊81 ;解析模塊73還用于根據(jù)第二判斷模塊81發(fā)來的第一指令,向第一判斷模塊74發(fā)送計(jì)數(shù)指令;
[0112]第二判斷模塊81,用于根據(jù)收到的圖片塊的校驗(yàn)值驗(yàn)證同時(shí)收到的圖片塊數(shù)據(jù)是否完整,是則向解析模塊73發(fā)送第一指令,否則向圖片塊請(qǐng)求模塊82發(fā)送包含當(dāng)前驗(yàn)證使用的圖片塊的校驗(yàn)值的第二指令;
[0113]圖片塊請(qǐng)求模塊82,用于根據(jù)收到的第二指令中的圖片塊的校驗(yàn)值,獲取解析模塊73緩存的該圖片塊的校驗(yàn)值對(duì)應(yīng)的被請(qǐng)求圖片的圖片標(biāo)識(shí)符及圖片塊的序列號(hào),向服務(wù)器發(fā)送含有獲取的被請(qǐng)求圖片的圖片標(biāo)識(shí)符和圖片塊的序列號(hào)的圖片塊請(qǐng)求。
[0114]本發(fā)明實(shí)施例提供的圖片分割傳輸裝置,通過將圖片分割成多個(gè)圖片塊,并為各個(gè)圖片塊編號(hào),使得在圖片傳輸失敗的情況下,服務(wù)器只需將傳輸失敗的圖片塊數(shù)據(jù)重新發(fā)送給客戶端即可,不用再將整個(gè)圖片重發(fā),從而達(dá)到提高圖片傳輸效率的目的。
[0115]本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實(shí)施例可提供為方法、系統(tǒng)、或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本發(fā)明可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤存儲(chǔ)器和光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。
[0116]本發(fā)明是參照根據(jù)本發(fā)明實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的