一種上傳網(wǎng)絡(luò)數(shù)據(jù)的方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,特別涉及一種上傳網(wǎng)絡(luò)數(shù)據(jù)的方法和裝置。
【背景技術(shù)】
[0002]目前,大部分終端都具有接入網(wǎng)絡(luò)的功能,當(dāng)終端接入到網(wǎng)絡(luò)時(shí),終端可以向服務(wù)器上傳網(wǎng)絡(luò)數(shù)據(jù)。服務(wù)器保存該終端上傳的網(wǎng)絡(luò)數(shù)據(jù),網(wǎng)絡(luò)中的除該終端之外的其他終端可以從服務(wù)器下載該網(wǎng)絡(luò)數(shù)據(jù),從而實(shí)現(xiàn)網(wǎng)絡(luò)數(shù)據(jù)的共享。例如,終端可以向服務(wù)器上傳一段視頻,服務(wù)器保存該視頻,網(wǎng)絡(luò)中的除該終端之外的其他終端可以從服務(wù)器下載該視頻,從而實(shí)現(xiàn)視頻的共享。
[0003]現(xiàn)有技術(shù)中提供了一種上傳網(wǎng)絡(luò)數(shù)據(jù)的方法,可以為:終端獲取待上傳的網(wǎng)絡(luò)數(shù)據(jù),如果當(dāng)前接入的網(wǎng)絡(luò)為Wifi (wireless fidelity,無(wú)線保真)網(wǎng)絡(luò)時(shí),終端將該待上傳的網(wǎng)絡(luò)數(shù)據(jù)封裝為一個(gè)HTTP (Hypertext transfer protocol,超文本傳輸協(xié)議)請(qǐng)求,向服務(wù)器發(fā)送該HTTP請(qǐng)求;如果當(dāng)前接入的網(wǎng)絡(luò)為GPRS (General Packet Rad1 Service,通用分組無(wú)線業(yè)務(wù))網(wǎng)絡(luò)時(shí),根據(jù)待上傳的網(wǎng)絡(luò)數(shù)據(jù)的大小,將網(wǎng)絡(luò)數(shù)據(jù)切分為多個(gè)數(shù)據(jù)包,該多個(gè)數(shù)據(jù)包中的每個(gè)數(shù)據(jù)包的大小都不大于128KB ;將每個(gè)數(shù)據(jù)包封裝為一個(gè)HTTP請(qǐng)求,得到多個(gè)HTTP請(qǐng)求,向服務(wù)器分別發(fā)送多個(gè)HTTP請(qǐng)求中的每個(gè)HTTP請(qǐng)求。
[0004]在實(shí)現(xiàn)本發(fā)明的過(guò)程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)至少存在以下問(wèn)題:
[0005]如果當(dāng)前接入的網(wǎng)絡(luò)為公共場(chǎng)所的Wifi網(wǎng)絡(luò),而公共場(chǎng)所的Wifi網(wǎng)絡(luò)接入的終端數(shù)目較多,網(wǎng)絡(luò)帶寬競(jìng)爭(zhēng)激烈,直接將待上傳的網(wǎng)絡(luò)數(shù)據(jù)封裝為一個(gè)HTTP請(qǐng)求,向服務(wù)器發(fā)送該HTTP請(qǐng)求時(shí)容易上傳失敗。并且,不同地點(diǎn)的不同時(shí)段GPRS網(wǎng)絡(luò)的帶寬波動(dòng)性很大,例如,當(dāng)前GPRS網(wǎng)絡(luò)的帶寬很大,還是以128KB固定大小的分包上傳網(wǎng)絡(luò)數(shù)據(jù),沒(méi)有充分利用網(wǎng)絡(luò)帶寬,從而導(dǎo)致上傳效率低。
【發(fā)明內(nèi)容】
[0006]為了使解決現(xiàn)有技術(shù)的問(wèn)題,本發(fā)明提供了一種上傳網(wǎng)絡(luò)數(shù)據(jù)的方法和裝置。技術(shù)方案如下:
[0007]—方面,本發(fā)明提供了一種上傳網(wǎng)絡(luò)數(shù)據(jù)的方法,所述方法包括:
[0008]獲取待上傳的網(wǎng)絡(luò)數(shù)據(jù)和終端接入的網(wǎng)絡(luò)的當(dāng)前上傳速率;
[0009]根據(jù)所述當(dāng)前上傳速率,確定上傳所述待上傳的網(wǎng)絡(luò)數(shù)據(jù)的數(shù)據(jù)包大??;
[0010]根據(jù)所述確定的數(shù)據(jù)包大小,向服務(wù)器上傳所述待上傳的網(wǎng)絡(luò)數(shù)據(jù)。
[0011]另一方面,本發(fā)明提供了一種上傳網(wǎng)絡(luò)數(shù)據(jù)的裝置,所述裝置包括:
[0012]第一獲取模塊,用于獲取待上傳的網(wǎng)絡(luò)數(shù)據(jù)和終端接入的網(wǎng)絡(luò)的當(dāng)前上傳速率;
[0013]確定模塊,用于根據(jù)所述當(dāng)前上傳速率,確定上傳所述待上傳的網(wǎng)絡(luò)數(shù)據(jù)的數(shù)據(jù)包大??;
[0014]第一上傳模塊,用于根據(jù)所述確定的數(shù)據(jù)包大小,向服務(wù)器上傳所述待上傳的網(wǎng)絡(luò)數(shù)據(jù)。
[0015]在本發(fā)明實(shí)施例中,根據(jù)當(dāng)前上傳速率,確定上傳待上傳的網(wǎng)絡(luò)數(shù)據(jù)的數(shù)據(jù)包大?。桓鶕?jù)確定的數(shù)據(jù)包大小,向服務(wù)器上傳待上傳的網(wǎng)絡(luò)數(shù)據(jù),從而能夠根據(jù)當(dāng)前網(wǎng)絡(luò)狀況確定上傳分包大小,提高了上傳網(wǎng)絡(luò)數(shù)據(jù)的成功率和效率。
【附圖說(shuō)明】
[0016]圖1是本發(fā)明實(shí)施例1提供的一種上傳網(wǎng)絡(luò)數(shù)據(jù)的方法流程圖;
[0017]圖2是本發(fā)明實(shí)施例2提供的一種上傳網(wǎng)絡(luò)數(shù)據(jù)的方法流程圖;
[0018]圖3是本發(fā)明實(shí)施例3提供的一種上傳網(wǎng)絡(luò)數(shù)據(jù)的裝置結(jié)構(gòu)示意圖;
[0019]圖4是本發(fā)明實(shí)施例4提供的一種終端的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0020]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對(duì)本發(fā)明實(shí)施方式作進(jìn)一步地詳細(xì)描述。
[0021]實(shí)施例1
[0022]本發(fā)明實(shí)施例提供了一種上傳網(wǎng)絡(luò)數(shù)據(jù)的方法,該方法的執(zhí)行主體可以為終端,參見(jiàn)圖1,其中,該方法包括:
[0023]步驟101:獲取待上傳的網(wǎng)絡(luò)數(shù)據(jù)和終端接入的網(wǎng)絡(luò)的當(dāng)前上傳速率;
[0024]步驟102:根據(jù)當(dāng)前上傳速率,確定上傳待上傳的網(wǎng)絡(luò)數(shù)據(jù)的數(shù)據(jù)包大?。?br>[0025]步驟103:根據(jù)確定的數(shù)據(jù)包大小,向服務(wù)器上傳待上傳的網(wǎng)絡(luò)數(shù)據(jù)。
[0026]在本發(fā)明實(shí)施例中,根據(jù)當(dāng)前上傳速率,確定上傳待上傳的網(wǎng)絡(luò)數(shù)據(jù)的數(shù)據(jù)包大??;根據(jù)確定的數(shù)據(jù)包大小,向服務(wù)器上傳待上傳的網(wǎng)絡(luò)數(shù)據(jù),從而能夠根據(jù)當(dāng)前網(wǎng)絡(luò)狀況確定上傳分包大小,提高了上傳網(wǎng)絡(luò)數(shù)據(jù)的成功率和效率。
[0027]實(shí)施例2
[0028]本發(fā)明實(shí)施例提供了一種上傳網(wǎng)絡(luò)數(shù)據(jù)的方法,該方法的執(zhí)行主體可以為終端,參見(jiàn)圖2,其中,該方法包括:
[0029]步驟201:獲取待上傳的網(wǎng)絡(luò)數(shù)據(jù)和終端接入的網(wǎng)絡(luò)的當(dāng)前上傳速率;
[0030]當(dāng)用戶想要向服務(wù)器上傳網(wǎng)絡(luò)數(shù)據(jù)時(shí),終端獲取待上傳的網(wǎng)絡(luò)數(shù)據(jù),該網(wǎng)絡(luò)數(shù)據(jù)可以為視頻、圖片或者首樂(lè)等。
[0031]在本發(fā)明實(shí)施例中,根據(jù)終端接入的網(wǎng)絡(luò)的當(dāng)前上傳速率確定上傳網(wǎng)絡(luò)數(shù)據(jù)的數(shù)據(jù)包大小,因此,終端首先通過(guò)以下步驟(1)至(4)獲取終端接入的網(wǎng)絡(luò)的當(dāng)前上傳速率,包括:
[0032](1):從預(yù)設(shè)的數(shù)據(jù)包大小中選擇最小的數(shù)據(jù)包大?。?br>[0033]終端事先預(yù)設(shè)多個(gè)數(shù)據(jù)包大小,在向服務(wù)器上傳網(wǎng)絡(luò)數(shù)據(jù)時(shí),由于不知道終端接入的網(wǎng)絡(luò)的當(dāng)前上傳速率,為了保證能夠成功上傳網(wǎng)絡(luò)數(shù)據(jù),在本步驟中從預(yù)設(shè)的數(shù)據(jù)包大小中選擇最小的數(shù)據(jù)包大小。
[0034]例如,終端事先預(yù)設(shè)多個(gè)數(shù)據(jù)包大小分別為32KB、64KB、128KB、512KB和1024KB。終端從預(yù)設(shè)多個(gè)數(shù)據(jù)包大小中選擇最小的數(shù)據(jù)包為32KB。
[0035](2):從待上傳的網(wǎng)絡(luò)數(shù)據(jù)中獲取數(shù)據(jù)大小不超過(guò)最小的數(shù)據(jù)包大小的網(wǎng)絡(luò)數(shù)據(jù);
[0036]如果待上傳的網(wǎng)絡(luò)數(shù)據(jù)的大小不小于最小的數(shù)據(jù)包大小時(shí),在本步驟中,從待上傳的網(wǎng)絡(luò)數(shù)據(jù)中獲取數(shù)據(jù)大小等于最小的數(shù)據(jù)包大小的網(wǎng)絡(luò)數(shù)據(jù);如果待上傳的網(wǎng)絡(luò)數(shù)據(jù)的大小小于最小的數(shù)據(jù)包大小時(shí),在本步驟中,直接獲取待上傳的網(wǎng)絡(luò)數(shù)據(jù)。
[0037]例如,用戶想向服務(wù)器上傳一段視頻,該視頻的大小為1024KB,在本步驟中,從該視頻中獲取數(shù)據(jù)大小為32KB的視頻。
[0038](3):向服務(wù)器上傳數(shù)據(jù)大小不超過(guò)最小的數(shù)據(jù)包大小的網(wǎng)絡(luò)數(shù)據(jù),獲取上傳時(shí)間;
[0039]終端將數(shù)據(jù)大小不超過(guò)最小的數(shù)據(jù)包大小的網(wǎng)絡(luò)數(shù)據(jù)封裝為一個(gè)HTTP請(qǐng)求,向服務(wù)器發(fā)送該HTTP請(qǐng)求,記錄發(fā)送時(shí)間;服務(wù)器接收終端發(fā)送的該HTTP請(qǐng)求,向終端返回成功響應(yīng),該成功響應(yīng)用于指示該HTTP請(qǐng)求上傳成功;終端接收服務(wù)器返回的成功響應(yīng),記錄接收時(shí)間;根據(jù)發(fā)送時(shí)間和接收時(shí)間,計(jì)算上傳時(shí)間。
[0040]例如,終端將32KB的視頻封裝為一個(gè)HTTP請(qǐng)求,向服務(wù)器發(fā)送該HTTP請(qǐng)求,記錄發(fā)送時(shí)間為10:00:05am ;服務(wù)器接收終端發(fā)送的該HTTP請(qǐng)求,向終端返回成功響應(yīng),終端接收服務(wù)器發(fā)送的成功響應(yīng),記錄接收時(shí)間為10:00:07am。根據(jù)發(fā)送時(shí)間10:00:05am和接收時(shí)間10:00:07am,計(jì)算上傳時(shí)間為2s。
[0041](4):根據(jù)最小的數(shù)據(jù)包大小和上傳時(shí)間,計(jì)算終端接入的網(wǎng)絡(luò)的當(dāng)前上傳速率。
[0042]具體地,計(jì)算最小的數(shù)據(jù)包大小和上傳時(shí)間的比值,將該比值作為終端接入的網(wǎng)絡(luò)的當(dāng)前上傳速率。
[0043]例如,最小的數(shù)據(jù)包大小為32KB,上傳時(shí)間為2S,則終端接入的網(wǎng)絡(luò)的當(dāng)前上傳速率為16KB/S。
[0044]步驟202:根據(jù)當(dāng)前上傳速率,確定上傳待上傳的網(wǎng)絡(luò)數(shù)據(jù)的數(shù)據(jù)包大小;
[0045]步驟202可以通過(guò)以下步驟(1)和(2)實(shí)現(xiàn),包括:
[0046](1):根據(jù)當(dāng)前上傳速率,確定當(dāng)前上傳速率所在的上傳速率范圍;
[0047]在本步驟之前,終端事先設(shè)置多個(gè)上傳速率范圍,根據(jù)當(dāng)前上傳速率和設(shè)置的多個(gè)上傳速率范圍,確定當(dāng)前上傳速率所在的上傳速率范圍。
[0048]例如,終端事先設(shè)置五個(gè)上傳速率范圍,第一上傳速率范圍為:上傳速率〈4KB/S ;第二上傳速率范圍為:4KB/S = <上傳速率〈15KB/S ;第三上傳速率范圍為:15KB/S =〈上傳速率〈120KB/S ;第四上傳速率范圍為:120KB/S =〈上傳速率〈250KB/S ;第五上傳速率范圍為:上傳速率> =250KB/S。終端接入的網(wǎng)絡(luò)的當(dāng)前上傳速率為16KB/S,確定當(dāng)前上傳速率所在的上傳速率范圍為第三上傳速率范圍。
[0049]進(jìn)一步地,終端將上傳速率在第一上傳速率范圍的網(wǎng)絡(luò)確定為非常差的網(wǎng)絡(luò),將上傳速率在第二上傳速率范圍的網(wǎng)絡(luò)確定為2G(2rd Generat1n,第二代移動(dòng)通信)的網(wǎng)絡(luò),將上傳速率在第三上傳速率范圍的網(wǎng)絡(luò)確定為3G(3rd Generat1n,第三代移動(dòng)通信)的網(wǎng)絡(luò);將上傳速率在第四上傳速率范圍的網(wǎng)絡(luò)確定為4G(4d Generat1n,第四代移動(dòng)通信)的網(wǎng)絡(luò),將上傳速率在第五上傳速率范圍的網(wǎng)絡(luò)確定為Wifi網(wǎng)絡(luò)。
[0050](2):根據(jù)確定的上傳速率范圍,從上傳速率范圍和預(yù)設(shè)的數(shù)據(jù)包大小的對(duì)應(yīng)關(guān)系中獲取上傳待上傳的網(wǎng)絡(luò)數(shù)據(jù)的數(shù)據(jù)包大小。
[0051]在本步驟之前,終端存儲(chǔ)上傳速率范圍和預(yù)設(shè)的數(shù)據(jù)大小的對(duì)應(yīng)關(guān)系;在本步驟中,根據(jù)確定的上傳速率范圍,從上傳速率范圍和預(yù)設(shè)的數(shù)據(jù)包大小的對(duì)應(yīng)關(guān)系中獲取上傳待上傳的網(wǎng)絡(luò)數(shù)據(jù)的數(shù)據(jù)包大小。
[0052]例如,終端規(guī)定的第一上傳速率范圍對(duì)應(yīng)的數(shù)據(jù)包大小為32KB ;第二上傳速率范圍對(duì)應(yīng)