本發(fā)明涉及通信技術(shù),尤其涉及一種終端的數(shù)據(jù)處理方法及終端。
背景技術(shù):
隨著智能手機的發(fā)展,用戶可以在智能手機中安裝各種應(yīng)用程序,其中,用戶正在使用或操作的應(yīng)用程序為前臺程序,用戶未操作但是仍然運行的程序為后臺程序。前臺程序和后臺程序在運行時都可能存在與網(wǎng)絡(luò)進行交互,即使用網(wǎng)絡(luò)帶寬的情況。
現(xiàn)有技術(shù)中,僅允許前臺程序使用網(wǎng)絡(luò)帶寬,而禁止后臺程序占用網(wǎng)絡(luò)帶寬,以盡量滿足前臺程序的帶寬需求。
但是,現(xiàn)有技術(shù)中一律禁止后臺程序使用網(wǎng)絡(luò)帶寬的方法可能導(dǎo)致后臺程序無法正常執(zhí)行,影響用戶體驗。
技術(shù)實現(xiàn)要素:
本發(fā)明提供一種終端的數(shù)據(jù)處理方法及終端,用于解決現(xiàn)有技術(shù)中一律禁止后臺程序使用網(wǎng)絡(luò)帶寬所導(dǎo)致的后臺程序無法正常執(zhí)行的問題。
本發(fā)明第一方面提供一種終端的數(shù)據(jù)處理方法,包括:
確定終端中所運行程序的待發(fā)送數(shù)據(jù),所述待發(fā)送數(shù)據(jù)中包括所述待發(fā)送數(shù)據(jù)的程序標(biāo)識,所述程序標(biāo)識用于標(biāo)識發(fā)送所述待發(fā)送數(shù)據(jù)的程序為前臺程序或后臺程序;
將所述待發(fā)送數(shù)據(jù)添加到所述程序標(biāo)識對應(yīng)的發(fā)送隊列,其中,所述發(fā)送隊列包括前臺發(fā)送隊列以及后臺發(fā)送隊列;
根據(jù)前臺程序和后臺程序的發(fā)送數(shù)據(jù)比例,選擇所述前臺發(fā)送隊列或所述后臺發(fā)送隊列中的待發(fā)送數(shù)據(jù)進行發(fā)送。
進一步地,所述根據(jù)前臺程序和后臺程序的發(fā)送數(shù)據(jù)比例,選擇所述前臺發(fā)送隊列或所述后臺發(fā)送隊列中的待發(fā)送數(shù)據(jù)進行發(fā)送之前,還包括:
確定所述終端中所運行的前臺程序所需使用的網(wǎng)絡(luò)流量;
根據(jù)所述終端中所運行的前臺程序所需使用的網(wǎng)絡(luò)流量以及當(dāng)前網(wǎng)速,確定前臺程序和后臺程序的發(fā)送數(shù)據(jù)比例。
進一步地,所述根據(jù)前臺程序和后臺程序的發(fā)送數(shù)據(jù)比例,選擇所述前臺發(fā)送隊列或所述后臺發(fā)送隊列中的待發(fā)送數(shù)據(jù)進行發(fā)送,包括:
若當(dāng)前已發(fā)送的前臺數(shù)據(jù)數(shù)量未超出所述前臺程序和后臺程序的發(fā)送數(shù)據(jù)比例中所述前臺程序?qū)?yīng)的發(fā)送數(shù)據(jù)數(shù)量,則選擇所述前臺發(fā)送隊列中的待發(fā)送數(shù)據(jù)進行發(fā)送,否則,選擇所述后臺發(fā)送隊列中的待發(fā)送數(shù)據(jù)進行發(fā)送,其中,所述前臺數(shù)據(jù)為程序標(biāo)識為前臺程序標(biāo)識的待發(fā)送數(shù)據(jù)。
本發(fā)明第二方面提供一種終端的數(shù)據(jù)處理方法,包括:
接收待解析數(shù)據(jù);
確定所述待解析數(shù)據(jù)對應(yīng)的目標(biāo)程序;
將所述待解析數(shù)據(jù)添加到所述待解析數(shù)據(jù)對應(yīng)的目標(biāo)程序?qū)?yīng)的接收隊列,其中,所述接收隊列包括前臺接收隊列以及后臺接收隊列;
根據(jù)前臺程序和后臺程序的接收處理數(shù)據(jù)比例,選擇所述前臺接收隊列或所述后臺接收隊列中的待解析數(shù)據(jù)進行解析處理。
進一步地,所述將所述待解析數(shù)據(jù)添加到所述待解析數(shù)據(jù)對應(yīng)的目標(biāo)程序?qū)?yīng)的接收隊列之前,還包括:
若所述待解析數(shù)據(jù)對應(yīng)的目標(biāo)程序?qū)?yīng)的接收隊列已滿,則丟棄所述待解析數(shù)據(jù)。
進一步地,所述根據(jù)前臺程序和后臺程序的接收處理數(shù)據(jù)比例,選擇所述前臺接收隊列或所述后臺接收隊列中的待解析數(shù)據(jù)進行解析處理之前,還包括:
確定所述終端中所運行的前臺程序所需使用的網(wǎng)絡(luò)流量;
根據(jù)所述終端中所運行的前臺程序所需使用的網(wǎng)絡(luò)流量以及當(dāng)前網(wǎng)速,確定所述前臺程序和后臺程序的接收處理數(shù)據(jù)比例。
本發(fā)明第三方面提供一種終端,包括:
第一確定模塊,用于確定終端中所運行程序的待發(fā)送數(shù)據(jù),所述待發(fā)送數(shù)據(jù)中包括所述待發(fā)送數(shù)據(jù)的程序標(biāo)識,所述程序標(biāo)識用于標(biāo)識發(fā)送所述待發(fā)送數(shù)據(jù)的程序為前臺程序或后臺程序;
第一添加模塊,用于將所述待發(fā)送數(shù)據(jù)添加到所述程序標(biāo)識對應(yīng)的發(fā)送隊列,其中,所述發(fā)送隊列包括前臺發(fā)送隊列以及后臺發(fā)送隊列;
發(fā)送模塊,用于根據(jù)前臺程序和后臺程序的發(fā)送數(shù)據(jù)比例,選擇所述前臺發(fā)送隊列或所述后臺發(fā)送隊列中的待發(fā)送數(shù)據(jù)進行發(fā)送。
進一步地,還包括:
第二確定模塊,用于確定所述終端中所運行的前臺程序所需使用的網(wǎng)絡(luò)流量;
第三確定模塊,用于根據(jù)所述終端中所運行的前臺程序所需使用的網(wǎng)絡(luò)流量以及當(dāng)前網(wǎng)速,確定前臺程序和后臺程序的發(fā)送數(shù)據(jù)比例。
進一步地,所述發(fā)送模塊具體用于:
若當(dāng)前已發(fā)送的前臺數(shù)據(jù)數(shù)量未超出所述前臺程序和后臺程序的發(fā)送數(shù)據(jù)比例中所述前臺程序?qū)?yīng)的發(fā)送數(shù)據(jù)數(shù)量,則選擇所述前臺發(fā)送隊列中的待發(fā)送數(shù)據(jù)進行發(fā)送,否則,選擇所述后臺發(fā)送隊列中的待發(fā)送數(shù)據(jù)進行發(fā)送,其中,所述前臺數(shù)據(jù)為程序標(biāo)識為前臺程序標(biāo)識的待發(fā)送數(shù)據(jù)。
本發(fā)明第四方面提供一種終端,包括:
接收模塊,用于接收待解析數(shù)據(jù);
第一確定模塊,用于確定所述待解析數(shù)據(jù)對應(yīng)的目標(biāo)程序;
添加模塊,用于將所述待解析數(shù)據(jù)添加到所述待解析數(shù)據(jù)對應(yīng)的目標(biāo)程序?qū)?yīng)的接收隊列,其中,所述接收隊列包括前臺接收隊列以及后臺接收隊列;
解析模塊,用于根據(jù)前臺程序和后臺程序的接收處理數(shù)據(jù)比例,選擇所述前臺接收隊列或所述后臺接收隊列中的待解析數(shù)據(jù)進行解析處理。
進一步地,還包括:
丟棄模塊,用于在所述待解析數(shù)據(jù)對應(yīng)的目標(biāo)程序?qū)?yīng)的接收隊列已滿時,則丟棄所述待解析數(shù)據(jù)。
進一步地,還包括:
第二確定模塊,用于確定所述終端中所運行的前臺程序所需使用的網(wǎng)絡(luò)流量;
第三確定模塊,用于根據(jù)所述終端中所運行的前臺程序所需使用的網(wǎng)絡(luò)流量以及當(dāng)前網(wǎng)速,確定所述前臺程序和后臺程序的接收處理數(shù)據(jù)比例。
本發(fā)明所提供的終端的數(shù)據(jù)處理方法及終端,通過在終端中建立前臺發(fā)送隊列以及后臺發(fā)送隊列,并根據(jù)前臺程序和后臺程序的發(fā)送數(shù)據(jù)比例來發(fā)送數(shù)據(jù),從而使得在保證前臺程序的帶寬需求基礎(chǔ)上,也能保證后臺程序的數(shù)據(jù)得到合理的發(fā)送,從而保證后臺程序的正常執(zhí)行,極大提升用戶體驗。
附圖說明
為了更清楚地說明本發(fā)明或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明所提供的終端的數(shù)據(jù)處理方法對應(yīng)的系統(tǒng)架構(gòu)圖;
圖2為本發(fā)明提供的一種終端的數(shù)據(jù)處理方法實施例一的流程示意圖;
圖3為本發(fā)明提供的一種終端的數(shù)據(jù)處理方法實施例二的流程示意圖;
圖4為本發(fā)明提供的一種終端的數(shù)據(jù)處理方法實施例三的流程示意圖;
圖5為本發(fā)明提供的另一種終端的數(shù)據(jù)處理方法實施例一的流程示意圖;
圖6為本發(fā)明提供的另一種終端的數(shù)據(jù)處理方法實施例二的流程示意圖;
圖7為本發(fā)明提供的一種終端實施例一的模塊結(jié)構(gòu)圖;
圖8為本發(fā)明提供的一種終端實施例二的模塊結(jié)構(gòu)圖;
圖9為本發(fā)明提供的另一種終端實施例一的模塊結(jié)構(gòu)圖;
圖10為本發(fā)明提供的另一種終端實施例二的模塊結(jié)構(gòu)圖;
圖11為本發(fā)明提供的另一種終端實施例三的模塊結(jié)構(gòu)圖。
具體實施方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
圖1為本發(fā)明所提供的終端的數(shù)據(jù)處理方法對應(yīng)的系統(tǒng)架構(gòu)圖,如圖1所示,該方法涉及終端及網(wǎng)絡(luò)側(cè)設(shè)備,其中,終端具體可以指移動終端(例如智能手機、平板電腦等)或者可以安裝應(yīng)用程序并可以與網(wǎng)絡(luò)交互的其他終端(例如智能電視),網(wǎng)絡(luò)側(cè)設(shè)備例如可以是終端上所安裝的應(yīng)用程序(application,簡稱app)對應(yīng)的服務(wù)器等,終端中所運行的程序同網(wǎng)絡(luò)側(cè)設(shè)備進行交互,從而產(chǎn)生網(wǎng)絡(luò)流量。
現(xiàn)有技術(shù)中,為保證前臺程序的帶寬需求,終端可以禁止后臺程序與網(wǎng)絡(luò)進行交互,但是這種處理方式可能導(dǎo)致后臺程序無法正常向網(wǎng)絡(luò)發(fā)送數(shù)據(jù),影響后臺程序的正常執(zhí)行,進而影響用戶體驗。
本發(fā)明基于上述問題,提出一種終端的數(shù)據(jù)處理方法,根據(jù)前臺程序和后臺程序的數(shù)據(jù)發(fā)送比例向網(wǎng)絡(luò)側(cè)發(fā)送數(shù)據(jù),從而在保證前臺程序帶寬需求的基礎(chǔ)上使得后臺程序的數(shù)據(jù)也可以正常發(fā)送。
圖2為本發(fā)明提供的一種終端的數(shù)據(jù)處理方法實施例一的流程示意圖,該方法的執(zhí)行主體為上述的終端,如圖2所示,該方法包括:
s201、確定終端中所運行程序的待發(fā)送數(shù)據(jù),該待發(fā)送數(shù)據(jù)中包括待發(fā)送數(shù)據(jù)的程序標(biāo)識,該程序標(biāo)識用于標(biāo)識發(fā)送所述待發(fā)送數(shù)據(jù)的程序為前臺程序或后臺程序。
可選地,終端中所運行的程序需要外部網(wǎng)絡(luò)發(fā)送數(shù)據(jù)時,在需要發(fā)送的數(shù)據(jù)中添加待發(fā)送數(shù)據(jù)的程序標(biāo)識,例如,如果發(fā)送某個數(shù)據(jù)a的程序為前臺程序,則在數(shù)據(jù)a中增加前臺程序標(biāo)識,如果發(fā)送數(shù)據(jù)a的程序為后臺程序,則在數(shù)據(jù)a中增加后臺程序標(biāo)識。示例性地,可以使用“1”表示前臺程序標(biāo)識,使用“0”表示后臺程序標(biāo)識。
s202、將上述待發(fā)送數(shù)據(jù)添加到上述程序標(biāo)識對應(yīng)的發(fā)送隊列,其中,該發(fā)送隊列包括前臺發(fā)送隊列以及后臺發(fā)送隊列。
具體地,終端中可以建立兩個發(fā)送隊列,分別為前臺發(fā)送隊列以及后臺發(fā)送隊列,其中,前臺發(fā)送隊列中僅存放前臺程序發(fā)出的數(shù)據(jù),后臺發(fā)送隊列中僅存放后臺程序發(fā)送的數(shù)據(jù)。如前所述,程序在發(fā)出數(shù)據(jù)時,在數(shù)據(jù)中添加程序標(biāo)識,本步驟中,可以根據(jù)數(shù)據(jù)中的程序標(biāo)識,將數(shù)據(jù)添加到程序標(biāo)識對應(yīng)的發(fā)送隊列中。例如,如果某個數(shù)據(jù)a的程序標(biāo)識為“1”,即數(shù)據(jù)a由前臺數(shù)據(jù)發(fā)出,則將數(shù)據(jù)a添加到前臺發(fā)送隊列中;如果數(shù)據(jù)a的程序標(biāo)識為“0”,即數(shù)據(jù)a由后臺程序發(fā)出,則將數(shù)據(jù)a添加到后臺發(fā)送隊列中。
s203、根據(jù)前臺程序和后臺程序的發(fā)送數(shù)據(jù)比例,選擇前臺發(fā)送隊列或后臺發(fā)送隊列中的待發(fā)送數(shù)據(jù)進行發(fā)送。
其中,前臺程序和后臺程序的發(fā)送數(shù)據(jù)比例具體指一個發(fā)送周期內(nèi)的前臺程序和后臺程序的發(fā)送的數(shù)據(jù)的比例,一個發(fā)送周期是指在這個周期內(nèi)既發(fā)送了前臺程序的數(shù)據(jù),又發(fā)送了后臺程序的數(shù)據(jù)。例如,假設(shè)前臺程序和后臺程序的發(fā)送數(shù)據(jù)比例為8:1,則發(fā)送9個數(shù)據(jù)的總時間為一個發(fā)送周期,即在每個發(fā)送周期內(nèi),先發(fā)送8個前臺程序的數(shù)據(jù),再發(fā)送1個后臺程序的數(shù)據(jù)。當(dāng)9個數(shù)據(jù)發(fā)送完成后,繼續(xù)按照8:1的比例進行下個發(fā)送周期的數(shù)據(jù)發(fā)送。
具體地,以上述8:1的比例為例,終端可以連續(xù)從前臺發(fā)送隊列中讀取8個數(shù)據(jù)進行發(fā)送,之后,再從后臺發(fā)送隊列中讀取1個數(shù)據(jù)進行發(fā)送,即在一個周期內(nèi),既能發(fā)送前臺程序的數(shù)據(jù),也能發(fā)送后臺程序的數(shù)據(jù)。
可選地,前臺程序和后臺程序的發(fā)送數(shù)據(jù)比例可以預(yù)先設(shè)置為固定值,或者,也可以根據(jù)終端當(dāng)前運行情況動態(tài)確定,將在下述實施例中進行詳細解釋,所設(shè)置或所確定的發(fā)送數(shù)據(jù)比例可以保證前臺程序的帶寬需求。
本實施例中,通過在終端中建立前臺發(fā)送隊列以及后臺發(fā)送隊列,并根據(jù)前臺程序和后臺程序的發(fā)送數(shù)據(jù)比例來發(fā)送數(shù)據(jù),從而使得在保證前臺程序的帶寬需求基礎(chǔ)上,也能保證后臺程序的數(shù)據(jù)得到合理的發(fā)送,從而保證后臺程序的正常執(zhí)行,極大提升用戶體驗。
在上述實施例的基礎(chǔ)上,本實施例涉及確定前臺程序和后臺程序的發(fā)送數(shù)據(jù)比例的具體方法,即,圖3為本發(fā)明提供的一種終端的數(shù)據(jù)處理方法實施例二的流程示意圖,如圖3所示,在上述步驟s203之前,還包括:
s301、確定終端中所運行的前臺程序所需使用的網(wǎng)絡(luò)流量。
可選地,終端可以根據(jù)當(dāng)前運行的前臺程序的類型或者根據(jù)歷史流量使用情況所統(tǒng)計的單位流量耗費,來確定前臺程序在一個預(yù)設(shè)周期內(nèi)所需使用的網(wǎng)絡(luò)流量。例如,假設(shè)經(jīng)過統(tǒng)計,終端上當(dāng)前運行的前臺程序b的流量耗費為1mb/秒,則可以確定前臺程序所需使用的網(wǎng)絡(luò)流量為每分鐘1mb的流量。
s302、根據(jù)終端中所運行的前臺程序所需使用的網(wǎng)絡(luò)流量以及當(dāng)前網(wǎng)速,確定前臺程序和后臺程序的發(fā)送數(shù)據(jù)比例。
具體地,如果當(dāng)前網(wǎng)速與前臺程序的所需使用的網(wǎng)絡(luò)流量的差值大于預(yù)設(shè)值,則說明當(dāng)前網(wǎng)速完全超出前臺程序的網(wǎng)絡(luò)流量需求,則終端可以將前臺程序和后臺程序的發(fā)送比例的值設(shè)置的較小,即在發(fā)送較少數(shù)量的前臺程序數(shù)據(jù)之后就可以發(fā)送后臺程序的數(shù)據(jù);而如果當(dāng)前網(wǎng)速與前臺程序的所需使用的網(wǎng)絡(luò)流量的差值小于預(yù)設(shè)值,則終端可以將前臺程序和后臺程序的發(fā)送比例的值設(shè)置的較大,即在發(fā)送較多數(shù)量的前臺程序數(shù)據(jù)之后才發(fā)送后臺程序的數(shù)據(jù),從而保證在當(dāng)前網(wǎng)速較低時前臺程序的數(shù)據(jù)能夠正常發(fā)送。
需要說明的是,上述步驟s301-s302可以按照一定的周期執(zhí)行,例如,每隔1分鐘執(zhí)行一次上述步驟s301-s302,從而實現(xiàn)根據(jù)前臺程序的流量需求以及當(dāng)前網(wǎng)速動態(tài)調(diào)整前臺程序和后臺程序的發(fā)送數(shù)據(jù)的比例。
本實施例中,根據(jù)前臺程序的流量需求以及當(dāng)前網(wǎng)速確定前臺程序和后臺程序的發(fā)送數(shù)據(jù)比例,從而實現(xiàn)了動態(tài)調(diào)整前臺程序和后臺程序的發(fā)送數(shù)據(jù)比例,從而保證前臺程序和后臺程序的發(fā)送數(shù)據(jù)比例的合理性。
在上述實施例的基礎(chǔ)上,本實施例涉及根據(jù)前臺程序和后臺程序的發(fā)送數(shù)據(jù)比例,選擇前臺發(fā)送隊列或后臺發(fā)送隊列中的待發(fā)送數(shù)據(jù)進行發(fā)送的具體方法,即,圖4為本發(fā)明提供的一種終端的數(shù)據(jù)處理方法實施例三的流程示意圖,如圖4所示,上述步驟s203具體包括:
s401、判斷當(dāng)前已發(fā)送的前臺數(shù)據(jù)數(shù)量是否未超出前臺程序和后臺程序的發(fā)送數(shù)據(jù)比例中前臺程序?qū)?yīng)的發(fā)送數(shù)據(jù)數(shù)量,若是,則執(zhí)行s402,否則,執(zhí)行s403。
可選地,在每一個前述的發(fā)送周期中,已發(fā)送的前臺數(shù)據(jù)數(shù)量初始值為0,終端每發(fā)送一個前臺程序的數(shù)據(jù),則將已發(fā)送前臺數(shù)據(jù)數(shù)量加1,判斷加1之后的結(jié)果是否超出前臺程序和后臺程序的發(fā)送數(shù)據(jù)比例中前臺程序?qū)?yīng)的發(fā)送數(shù)據(jù)數(shù)量。例如,前臺程序和后臺程序的發(fā)送數(shù)據(jù)比例為8:2,即每發(fā)送8個前臺程序的數(shù)據(jù)后發(fā)送2個后臺程序的數(shù)據(jù)。又例如,前臺程序和后臺程序的發(fā)送數(shù)據(jù)比例為9:1,即每發(fā)送9個前臺程序的數(shù)據(jù)后發(fā)送1個后臺程序的數(shù)據(jù)。以發(fā)送數(shù)據(jù)比例為8:2為例,本步驟中,當(dāng)發(fā)送完一個前臺數(shù)據(jù)之后,將已發(fā)送前臺數(shù)據(jù)數(shù)量加1,進而判斷加1之后的結(jié)果是否小于8,若是,則說明前臺程序的數(shù)據(jù)發(fā)送數(shù)量還未超出發(fā)送數(shù)據(jù)比例中前臺程序?qū)?yīng)的發(fā)送數(shù)據(jù)數(shù)量,則繼續(xù)執(zhí)行s402進行處理,否則,說明前臺程序的數(shù)據(jù)發(fā)送數(shù)量已經(jīng)超出發(fā)送數(shù)據(jù)比例中前臺程序?qū)?yīng)的發(fā)送數(shù)據(jù)數(shù)量,需要停止發(fā)送前臺程序的數(shù)據(jù),而開始發(fā)送后臺程序的數(shù)據(jù),即執(zhí)行s403。
其中,上述前臺數(shù)據(jù)是指程序標(biāo)識為前臺程序標(biāo)識的待發(fā)送數(shù)據(jù),即前臺發(fā)送隊列中的數(shù)據(jù)。
s402、選擇前臺發(fā)送隊列中的待發(fā)送數(shù)據(jù)進行發(fā)送。
需要說明的是,本步驟中,如果前臺發(fā)送隊列中不存在待發(fā)送隊列,即當(dāng)前前臺程序沒有數(shù)據(jù)需要發(fā)送。并在發(fā)送之后,繼續(xù)從前臺發(fā)送隊列中讀取數(shù)據(jù)。
s403、選擇后臺發(fā)送隊列中的待發(fā)送數(shù)據(jù)進行發(fā)送。
圖5為本發(fā)明提供的另一種終端的數(shù)據(jù)處理方法實施例一的流程示意圖,如圖5所示,該方法包括:
s501、接收待解析數(shù)據(jù)。
其中,待解析數(shù)據(jù)是指網(wǎng)絡(luò)側(cè)設(shè)備向終端發(fā)送的數(shù)據(jù),需要終端進行解析處理。
s502、確定上述待解析數(shù)據(jù)對應(yīng)的目標(biāo)程序。
可選地,網(wǎng)絡(luò)側(cè)設(shè)備向終端發(fā)送數(shù)據(jù)時,會在該數(shù)據(jù)中攜帶接收數(shù)據(jù)的目標(biāo)程序的標(biāo)識,例如app的標(biāo)識等。例如,網(wǎng)絡(luò)側(cè)設(shè)備可以在每個發(fā)送的數(shù)據(jù)包的包頭中攜帶app的標(biāo)識,終端通過解析數(shù)據(jù)包的包頭,可以獲知該數(shù)據(jù)包對應(yīng)的目標(biāo)程序。
s503、將上述待解析數(shù)據(jù)添加到上述待解析數(shù)據(jù)對應(yīng)的目標(biāo)程序?qū)?yīng)的接收隊列,其中,該接收隊列包括前臺接收隊列以及后臺接收隊列。
具體地,與前述發(fā)送數(shù)據(jù)相對應(yīng),在終端的接收端,也建立兩個接收隊列,分別用來存放網(wǎng)絡(luò)側(cè)設(shè)備發(fā)送給前臺程序的數(shù)據(jù)以及發(fā)送給后臺程序的數(shù)據(jù)。在上述確定出待解析數(shù)據(jù)的目標(biāo)程序之后,本步驟中,即可將待解析數(shù)據(jù)添加到對應(yīng)的接收隊列中。具體地,如果待解析數(shù)據(jù)對應(yīng)的目標(biāo)程序為前臺程序,則將待解析數(shù)據(jù)添加到前臺接收隊列中,否則,將待解析數(shù)據(jù)添加到后臺接收隊列中。
s504、根據(jù)前臺程序和后臺程序的接收處理數(shù)據(jù)比例,選擇所述前臺接收隊列或所述后臺接收隊列中的待解析數(shù)據(jù)進行解析處理。
其中,選擇所述前臺接收隊列或所述后臺接收隊列中的待解析數(shù)據(jù)進行解析處理具體是指將前臺接收隊列或后臺接收隊列中的數(shù)據(jù)發(fā)送到對應(yīng)的目標(biāo)程序,由目標(biāo)程序進行解析處理。
一般情況下,當(dāng)網(wǎng)絡(luò)側(cè)設(shè)備向終端發(fā)送數(shù)據(jù)之后,終端在解析出數(shù)據(jù)內(nèi)容之后,需要向網(wǎng)絡(luò)側(cè)設(shè)備發(fā)送響應(yīng)消息,或者,根據(jù)數(shù)據(jù)內(nèi)容向網(wǎng)絡(luò)側(cè)設(shè)備發(fā)送對應(yīng)的信息。而如果終端長時間未向網(wǎng)絡(luò)側(cè)設(shè)備回復(fù)響應(yīng)消息或者對應(yīng)信息,則網(wǎng)絡(luò)側(cè)設(shè)備會在重復(fù)若干次發(fā)送之后停止向終端發(fā)送數(shù)據(jù)。而本實施例中,根據(jù)前臺程序和后臺程序的接收處理數(shù)據(jù)比例來選擇前臺接收隊列或所述后臺接收隊列中的數(shù)據(jù)進行解析,即在解析一定數(shù)量的前臺程序數(shù)據(jù)之后才會解析后臺程序數(shù)據(jù),這樣,一些后臺程序程序數(shù)據(jù)的解析周期相對較長,后臺程序?qū)?yīng)的網(wǎng)絡(luò)側(cè)設(shè)備可能一直接收不到后臺程序的響應(yīng)消息或信息,從而停止向后臺程序發(fā)送數(shù)據(jù),從而避免產(chǎn)生流量耗費。即,通過設(shè)置前臺程序和后臺程序的接收處理數(shù)據(jù)比例,可以使得一部分發(fā)送給后臺程序的數(shù)據(jù)量減小,以保證前臺程序的帶寬需求,同時又能保證在此基礎(chǔ)上一部分后臺程序能夠正常接收數(shù)據(jù),即保證后臺程序的正常運行。
其中,本實施例中的前臺程序和后臺程序的接收處理數(shù)據(jù)比例的具體設(shè)置可以參照前述實施例中發(fā)送數(shù)據(jù)比例的確定方法,即,首先確定終端中所運行的前臺程序所需使用的網(wǎng)絡(luò)流量,進而,根據(jù)終端中所運行的前臺程序所需使用的網(wǎng)絡(luò)流量以及當(dāng)前網(wǎng)速,確定前臺程序和后臺程序的接收處理數(shù)據(jù)比例。具體地,如果當(dāng)前網(wǎng)速與前臺程序的所需使用的網(wǎng)絡(luò)流量的差值大于預(yù)設(shè)值,則說明當(dāng)前網(wǎng)速完全超出前臺程序的網(wǎng)絡(luò)流量需求,則終端可以將前臺程序和后臺程序的接收處理數(shù)據(jù)比例的值設(shè)置的較小,即在接收處理較少數(shù)量的前臺程序數(shù)據(jù)之后就可以接收處理后臺程序的數(shù)據(jù);而如果當(dāng)前網(wǎng)速與前臺程序的所需使用的網(wǎng)絡(luò)流量的差值小于預(yù)設(shè)值,則終端可以將前臺程序和后臺程序的接收處理數(shù)據(jù)比例的值設(shè)置的較大,即在接收處理較多數(shù)量的前臺程序數(shù)據(jù)之后才接收處理后臺程序的數(shù)據(jù),從而保證在當(dāng)前網(wǎng)速較低時前臺程序能夠正常接收處理數(shù)據(jù)。
本實施例中,通過設(shè)置前臺程序和后臺程序的接收處理數(shù)據(jù)比例,可以保證前臺程序的帶寬需求,同時又能保證在此基礎(chǔ)上一部分后臺程序能夠正常接收數(shù)據(jù),即保證后臺程序的正常運行。
圖6為本發(fā)明提供的另一種終端的數(shù)據(jù)處理方法實施例二的流程示意圖,如圖6所示,在上述步驟s403之前,還包括:
s601、判斷待解析數(shù)據(jù)對應(yīng)的目標(biāo)程序?qū)?yīng)的接收隊列是否已滿,若是,則執(zhí)行s602。
s602、丟棄上述待解析數(shù)據(jù)。
本實施例中,通過在接收隊列已滿時丟棄接收數(shù)據(jù),同樣可以使得一部分后臺程序?qū)?yīng)的網(wǎng)絡(luò)側(cè)設(shè)備一直接收不到后臺程序的響應(yīng)消息或信息,從而停止向后臺程序發(fā)送數(shù)據(jù),從而避免產(chǎn)生流量耗費。而同時,又能保證后臺接收隊列中的數(shù)據(jù)可以得到處理,即在保證前臺程序的帶寬需求的基礎(chǔ)上使得一部分后臺程序能夠正常接收數(shù)據(jù),即保證后臺程序的正常運行。
圖7為本發(fā)明提供的一種終端實施例一的模塊結(jié)構(gòu)圖,如圖7所示,該終端包括:
第一確定模塊701,用于確定終端中所運行程序的待發(fā)送數(shù)據(jù),所述待發(fā)送數(shù)據(jù)中包括所述待發(fā)送數(shù)據(jù)的程序標(biāo)識,所述程序標(biāo)識用于標(biāo)識發(fā)送所述待發(fā)送數(shù)據(jù)的程序為前臺程序或后臺程序。
添加模塊702,用于將所述待發(fā)送數(shù)據(jù)添加到所述程序標(biāo)識對應(yīng)的發(fā)送隊列,其中,所述發(fā)送隊列包括前臺發(fā)送隊列以及后臺發(fā)送隊列。
發(fā)送模塊703,用于根據(jù)前臺程序和后臺程序的發(fā)送數(shù)據(jù)比例,選擇所述前臺發(fā)送隊列或所述后臺發(fā)送隊列中的待發(fā)送數(shù)據(jù)進行發(fā)送。
該終端用于實現(xiàn)前述方法實施例,其實現(xiàn)原理和技術(shù)效果類似,此處不再贅述。
圖8為本發(fā)明提供的一種終端實施例二的模塊結(jié)構(gòu)圖,如圖7所示,該終端還包括:
第二確定模塊704,用于確定所述終端中所運行的前臺程序所需使用的網(wǎng)絡(luò)流量。
第三確定模塊705,用于根據(jù)所述終端中所運行的前臺程序所需使用的網(wǎng)絡(luò)流量以及當(dāng)前網(wǎng)速,確定前臺程序和后臺程序的發(fā)送數(shù)據(jù)比例。
另一實施例中,發(fā)送模塊703具體用于:
若當(dāng)前已發(fā)送的前臺數(shù)據(jù)數(shù)量未超出前臺程序和后臺程序的發(fā)送數(shù)據(jù)比例中所述前臺程序?qū)?yīng)的發(fā)送數(shù)據(jù)數(shù)量,則選擇所述前臺發(fā)送隊列中的待發(fā)送數(shù)據(jù)進行發(fā)送,否則,選擇所述后臺發(fā)送隊列中的待發(fā)送數(shù)據(jù)進行發(fā)送,其中,所述前臺數(shù)據(jù)為程序標(biāo)識為前臺程序標(biāo)識的待發(fā)送數(shù)據(jù)。
圖9為本發(fā)明提供的另一種終端實施例一的模塊結(jié)構(gòu)圖,如圖9所示,該終端包括:
接收模塊901,用于接收待解析數(shù)據(jù)。
第一確定模塊902,用于確定所述待解析數(shù)據(jù)對應(yīng)的目標(biāo)程序。
添加模塊903,用于將所述待解析數(shù)據(jù)添加到所述待解析數(shù)據(jù)對應(yīng)的目標(biāo)程序?qū)?yīng)的接收隊列,其中,所述接收隊列包括前臺接收隊列以及后臺接收隊列。
解析模塊904,用于根據(jù)前臺程序和后臺程序的接收處理數(shù)據(jù)比例,選擇所述前臺接收隊列或所述后臺接收隊列中的待解析數(shù)據(jù)進行解析處理。
圖10為本發(fā)明提供的另一種終端實施例二的模塊結(jié)構(gòu)圖,如圖10所示,該終端還包括:
丟棄模塊905,用于在所述待解析數(shù)據(jù)對應(yīng)的目標(biāo)程序?qū)?yīng)的接收隊列已滿時,則丟棄所述待解析數(shù)據(jù)。
圖11為本發(fā)明提供的另一種終端實施例三的模塊結(jié)構(gòu)圖,如圖11所示,該終端還包括:
第二確定模塊906,用于確定所述終端中所運行的前臺程序所需使用的網(wǎng)絡(luò)流量。
第三確定模塊907,用于根據(jù)所述終端中所運行的前臺程序所需使用的網(wǎng)絡(luò)流量以及當(dāng)前網(wǎng)速,確定所述前臺程序和后臺程序的接收處理數(shù)據(jù)比例。
本領(lǐng)域普通技術(shù)人員可以理解:實現(xiàn)上述各方法實施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成。前述的程序可以存儲于一計算機可讀取存儲介質(zhì)中。該程序在執(zhí)行時,執(zhí)行包括上述各方法實施例的步驟;而前述的存儲介質(zhì)包括:rom、ram、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
最后應(yīng)說明的是:以上各實施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述各實施例對本發(fā)明進行了詳細的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對前述各實施例所記載的技術(shù)方案進行修改,或者對其中部分或者全部技術(shù)特征進行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實施例技術(shù)方案的范圍。