本發(fā)明涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,尤其涉及一種數(shù)據(jù)流傳輸控制方法及其設(shè)備。
背景技術(shù):
隨著互聯(lián)網(wǎng)技術(shù)不斷的開發(fā)和完善,手機(jī)和平板電腦等終端已經(jīng)成為了人們生活中不可或缺的一個(gè)部分,隨著技術(shù)的發(fā)展,多類互聯(lián)網(wǎng)終端應(yīng)用被開發(fā)出來以滿足人們?nèi)找嬖鲩L的日常需求,例如體育類應(yīng)用,用于記錄用戶日常體育運(yùn)動(dòng)的相關(guān)信息,包括:行走步數(shù)、行走公里數(shù)、跑步路徑等運(yùn)動(dòng)數(shù)據(jù),并對這些數(shù)據(jù)進(jìn)行云端上傳和記錄。然而由于此類數(shù)據(jù)具備實(shí)時(shí)傳輸?shù)奶匦?,對通信延遲需求較高,因此當(dāng)出現(xiàn)網(wǎng)絡(luò)擁塞的情況,容易導(dǎo)致數(shù)據(jù)傳輸?shù)难舆t或丟失,降低了數(shù)據(jù)的準(zhǔn)確性,影響了對運(yùn)動(dòng)數(shù)據(jù)進(jìn)行實(shí)時(shí)記錄的效果。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供一種數(shù)據(jù)流傳輸控制方法及其設(shè)備,可以動(dòng)態(tài)調(diào)整數(shù)據(jù)流發(fā)送的擁塞窗口,保證傳輸網(wǎng)絡(luò)的帶寬利用率,有效減少數(shù)據(jù)傳輸?shù)难舆t或丟失,提升數(shù)據(jù)的準(zhǔn)確性,保證對運(yùn)動(dòng)數(shù)據(jù)進(jìn)行實(shí)時(shí)記錄的效果。
本發(fā)明實(shí)施例第一方面提供了一種數(shù)據(jù)流傳輸控制方法,可包括:
獲取當(dāng)前往返時(shí)延(Round-Trip Time,RTT)內(nèi)進(jìn)行數(shù)據(jù)流傳輸?shù)膫鬏斁W(wǎng)絡(luò)的擁塞程度信息;
根據(jù)所述當(dāng)前RTT的擁塞程度信息設(shè)置針對當(dāng)前RTT的擁塞窗口的變量數(shù)值;
采用所述當(dāng)前RTT的變量數(shù)值對所述當(dāng)前RTT的上一個(gè)RTT的擁塞窗口進(jìn)行調(diào)整以生成當(dāng)前RTT的擁塞窗口;
采用所述當(dāng)前RTT的擁塞窗口對當(dāng)前RTT內(nèi)的數(shù)據(jù)流進(jìn)行輸出。
本發(fā)明實(shí)施例第二方面提供了一種數(shù)據(jù)流傳輸控制設(shè)備,可包括:
信息獲取單元,用于獲取當(dāng)前RTT內(nèi)進(jìn)行數(shù)據(jù)流傳輸?shù)膫鬏斁W(wǎng)絡(luò)的擁塞程度信息;
數(shù)值設(shè)置單元,用于根據(jù)所述當(dāng)前RTT的擁塞程度信息設(shè)置針對當(dāng)前RTT的擁塞窗口的變量數(shù)值;
窗口調(diào)整單元,用于采用所述當(dāng)前RTT的變量數(shù)值對所述當(dāng)前RTT的上一個(gè)RTT的擁塞窗口進(jìn)行調(diào)整以生成當(dāng)前RTT的擁塞窗口;
數(shù)據(jù)流輸出單元,用于采用所述當(dāng)前RTT的擁塞窗口對當(dāng)前RTT內(nèi)的數(shù)據(jù)流進(jìn)行輸出。
在本發(fā)明實(shí)施例中,通過獲取當(dāng)前RTT內(nèi)進(jìn)行數(shù)據(jù)流傳輸?shù)膫鬏斁W(wǎng)絡(luò)的擁塞程度信息,并根據(jù)擁塞程度信息設(shè)置針對當(dāng)前RTT的擁塞窗口的變量數(shù)值,最終采用該變量數(shù)值對上一個(gè)RTT的擁塞窗口進(jìn)行調(diào)整生成當(dāng)前RTT的擁塞窗口以及采用當(dāng)前RTT的擁塞窗口進(jìn)行數(shù)據(jù)流輸出,實(shí)現(xiàn)了動(dòng)態(tài)調(diào)整數(shù)據(jù)流發(fā)送的擁塞窗口,保證了傳輸網(wǎng)絡(luò)的帶寬利用率,有效減少了數(shù)據(jù)傳輸?shù)难舆t或丟失,進(jìn)而提升了數(shù)據(jù)的準(zhǔn)確性,保證了對運(yùn)動(dòng)數(shù)據(jù)進(jìn)行實(shí)時(shí)記錄的效果。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是本發(fā)明實(shí)施例提供的一種數(shù)據(jù)流傳輸控制方法的流程示意圖;
圖2是本發(fā)明實(shí)施例提供的另一種數(shù)據(jù)流傳輸控制方法的流程示意圖;
圖3是本發(fā)明實(shí)施例提供的一種數(shù)據(jù)流傳輸控制設(shè)備的結(jié)構(gòu)示意圖;
圖4是本發(fā)明實(shí)施例提供的另一種數(shù)據(jù)流傳輸控制設(shè)備的結(jié)構(gòu)示意圖;
圖5是本發(fā)明實(shí)施例提供的信息獲取單元的結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
本發(fā)明實(shí)施例提供的數(shù)據(jù)流傳輸控制方法可以應(yīng)用于對終端應(yīng)用獲取的數(shù)據(jù)進(jìn)行云端上報(bào)并記錄的場景,例如:數(shù)據(jù)流傳輸控制設(shè)備獲取當(dāng)前RTT內(nèi)進(jìn)行數(shù)據(jù)流傳輸?shù)膫鬏斁W(wǎng)絡(luò)的擁塞程度信息,所述數(shù)據(jù)流傳輸控制設(shè)備根據(jù)所述當(dāng)前RTT的擁塞程度信息設(shè)置針對當(dāng)前RTT的擁塞窗口的變量數(shù)值,所述數(shù)據(jù)流傳輸控制設(shè)備采用所述當(dāng)前RTT的變量數(shù)值對所述當(dāng)前RTT的上一個(gè)RTT的擁塞窗口進(jìn)行調(diào)整以生成當(dāng)前RTT的擁塞窗口,所述數(shù)據(jù)流傳輸控制設(shè)備采用所述當(dāng)前RTT的擁塞窗口對當(dāng)前RTT內(nèi)的數(shù)據(jù)流進(jìn)行輸出的場景等。實(shí)現(xiàn)了動(dòng)態(tài)調(diào)整數(shù)據(jù)流發(fā)送的擁塞窗口,保證了傳輸網(wǎng)絡(luò)的帶寬利用率,有效減少了數(shù)據(jù)傳輸?shù)难舆t或丟失,進(jìn)而提升了數(shù)據(jù)的準(zhǔn)確性,保證了對運(yùn)動(dòng)數(shù)據(jù)進(jìn)行實(shí)時(shí)記錄的效果。
本發(fā)明實(shí)施例涉及的數(shù)據(jù)流傳輸控制設(shè)備可以為包括平板電腦、智能手機(jī)、個(gè)人計(jì)算機(jī)(PC)、掌上電腦以及移動(dòng)互聯(lián)網(wǎng)設(shè)備(MID)等具備終端應(yīng)用運(yùn)行功能的終端設(shè)備,或者可以為數(shù)據(jù)中心;所述終端應(yīng)用優(yōu)選為基于數(shù)據(jù)流傳輸控制設(shè)備采集相關(guān)數(shù)據(jù)并進(jìn)行云端上報(bào)的應(yīng)用,例如:體育應(yīng)用、多媒體應(yīng)用等。
下面將結(jié)合附圖1和附圖2,對本發(fā)明實(shí)施例提供的數(shù)據(jù)流傳輸控制方法進(jìn)行詳細(xì)介紹。
請參見圖1,為本發(fā)明實(shí)施例提供了一種數(shù)據(jù)流傳輸控制方法的流程示意圖。如圖1所示,本發(fā)明實(shí)施例的所述方法可以包括以下步驟S101-S104。
S101,獲取當(dāng)前RTT內(nèi)進(jìn)行數(shù)據(jù)流傳輸?shù)膫鬏斁W(wǎng)絡(luò)的擁塞程度信息;
具體的,數(shù)據(jù)流傳輸控制設(shè)備可以獲取當(dāng)前RTT內(nèi)進(jìn)行數(shù)據(jù)流傳輸?shù)膫鬏斁W(wǎng)絡(luò)的擁塞程度信息,可以理解的是,所述傳輸網(wǎng)絡(luò)由所述數(shù)據(jù)流傳輸控制設(shè)備、交換機(jī)、云端服務(wù)器共同構(gòu)成,所述數(shù)據(jù)流傳輸控制設(shè)備用于采集數(shù)據(jù)以形成數(shù)據(jù)流進(jìn)行上報(bào),所述交換機(jī)用于對上報(bào)的數(shù)據(jù)流進(jìn)行轉(zhuǎn)移,所述云端服務(wù)器用于接收數(shù)據(jù)流,并對數(shù)據(jù)流中的數(shù)據(jù)進(jìn)行記錄,所述擁塞程度信息用于表示所述傳輸網(wǎng)絡(luò)中當(dāng)前的擁塞程度,優(yōu)選為擁塞程度值。
可以理解的是,在交換機(jī)中可以維護(hù)有一個(gè)數(shù)據(jù)流隊(duì)列,當(dāng)所述數(shù)據(jù)流隊(duì)列中數(shù)據(jù)流排隊(duì)的隊(duì)列大于預(yù)設(shè)閾值時(shí),則表示當(dāng)前的傳輸網(wǎng)絡(luò)中發(fā)生了擁塞,所述交換機(jī)可以對超過預(yù)設(shè)閾值的數(shù)據(jù)流進(jìn)行擁塞標(biāo)識的設(shè)置等,并告知所述云端服務(wù)器,所述云端服務(wù)器解析到存在此類擁塞標(biāo)識時(shí),可以通過應(yīng)答包向所述數(shù)據(jù)流傳輸控制設(shè)備反饋當(dāng)前的傳輸網(wǎng)絡(luò)的擁塞情況。
S102,根據(jù)所述當(dāng)前RTT的擁塞程度信息設(shè)置針對當(dāng)前RTT的擁塞窗口的變量數(shù)值;
具體的,所述數(shù)據(jù)流傳輸控制設(shè)備可以根據(jù)所述當(dāng)前RTT的擁塞程度信息設(shè)置針對當(dāng)前RTT的擁塞窗口的變量數(shù)值,可以理解的是,所述變量數(shù)值具體為基于所述傳輸網(wǎng)絡(luò)的網(wǎng)絡(luò)狀態(tài),并根據(jù)所述當(dāng)前RTT的擁塞程度信息對當(dāng)前RTT的擁塞窗口動(dòng)態(tài)設(shè)置的變量數(shù)值,進(jìn)一步的,所述數(shù)據(jù)流傳輸控制設(shè)備可以預(yù)先獲取所述傳輸網(wǎng)絡(luò)的網(wǎng)絡(luò)狀態(tài),所述網(wǎng)絡(luò)狀態(tài)為擁塞狀態(tài)和擁塞避免狀態(tài)中的任一種,所述數(shù)據(jù)流傳輸控制設(shè)備可以在獲取基于當(dāng)前RTT的上一個(gè)RTT內(nèi)的數(shù)據(jù)流中存在擁塞標(biāo)識的數(shù)據(jù)包的數(shù)量的同時(shí),獲取所述傳輸網(wǎng)絡(luò)的網(wǎng)絡(luò)狀態(tài),若上一個(gè)RTT內(nèi)的數(shù)據(jù)流中存在擁塞標(biāo)識的數(shù)據(jù)包,則表示所述傳輸網(wǎng)絡(luò)的網(wǎng)絡(luò)狀態(tài)為擁塞狀態(tài),若上一個(gè)RTT內(nèi)的數(shù)據(jù)流中不存在擁塞標(biāo)識的數(shù)據(jù)包,則表示所述傳輸網(wǎng)絡(luò)的網(wǎng)絡(luò)狀態(tài)為擁塞避免狀態(tài)。
S103,采用所述當(dāng)前RTT的變量數(shù)值對所述當(dāng)前RTT的上一個(gè)RTT的擁塞窗口進(jìn)行調(diào)整以生成當(dāng)前RTT的擁塞窗口;
具體的,所述數(shù)據(jù)流傳輸控制設(shè)備可以采用所述當(dāng)前RTT的變量數(shù)值對所述當(dāng)前RTT的上一個(gè)RTT的擁塞窗口進(jìn)行調(diào)整以生成當(dāng)前RTT的擁塞窗口,進(jìn)一步的,所述數(shù)據(jù)流傳輸控制設(shè)備可以依據(jù)大數(shù)據(jù)流和小數(shù)據(jù)流的優(yōu)先級分別生成當(dāng)前RTT的擁塞窗口,以保證對通信延遲需求較高的小數(shù)據(jù)流可以優(yōu)先進(jìn)行處理??梢岳斫獾氖牵捎诮K端應(yīng)用上報(bào)的數(shù)據(jù)流往往是來自與用戶交互生成的小數(shù)據(jù)流,小數(shù)據(jù)流通常對通信延遲需求較高,而大數(shù)據(jù)流往往來自于數(shù)據(jù)中心的內(nèi)部數(shù)據(jù)備份和索引計(jì)算等,大數(shù)據(jù)流對通信延遲需求不高,因此需要對大數(shù)據(jù)流和小數(shù)據(jù)流進(jìn)行區(qū)分,以保證小數(shù)據(jù)流具備更高的優(yōu)先級進(jìn)行處理,開發(fā)人員可以設(shè)置一預(yù)設(shè)數(shù)據(jù)量,所述數(shù)據(jù)流傳輸控制設(shè)備可以預(yù)先根據(jù)預(yù)設(shè)數(shù)據(jù)量對當(dāng)前RTT內(nèi)的數(shù)據(jù)流的數(shù)據(jù)量進(jìn)行判斷,若當(dāng)前RTT內(nèi)的數(shù)據(jù)流的數(shù)據(jù)量大于預(yù)設(shè)數(shù)據(jù)量,則所述數(shù)據(jù)流傳輸控制設(shè)備可以確定所述當(dāng)前RTT內(nèi)的數(shù)據(jù)流為大數(shù)據(jù)流;若當(dāng)前RTT內(nèi)的數(shù)據(jù)流的數(shù)據(jù)量小于或等于預(yù)設(shè)數(shù)據(jù)量,則所述數(shù)據(jù)流傳輸控制設(shè)備可以確定所述當(dāng)前RTT內(nèi)的數(shù)據(jù)流為小數(shù)據(jù)流。
S104,采用所述當(dāng)前RTT的擁塞窗口對當(dāng)前RTT內(nèi)的數(shù)據(jù)流進(jìn)行輸出。
在本發(fā)明實(shí)施例中,通過獲取當(dāng)前RTT內(nèi)進(jìn)行數(shù)據(jù)流傳輸?shù)膫鬏斁W(wǎng)絡(luò)的擁塞程度信息,并根據(jù)擁塞程度信息設(shè)置針對當(dāng)前RTT的擁塞窗口的變量數(shù)值,最終采用該變量數(shù)值對上一個(gè)RTT的擁塞窗口進(jìn)行調(diào)整生成當(dāng)前RTT的擁塞窗口以及采用當(dāng)前RTT的擁塞窗口進(jìn)行數(shù)據(jù)流輸出,實(shí)現(xiàn)了動(dòng)態(tài)調(diào)整數(shù)據(jù)流發(fā)送的擁塞窗口,保證了傳輸網(wǎng)絡(luò)的帶寬利用率,有效減少了數(shù)據(jù)傳輸?shù)难舆t或丟失,進(jìn)而提升了數(shù)據(jù)的準(zhǔn)確性,保證了對運(yùn)動(dòng)數(shù)據(jù)進(jìn)行實(shí)時(shí)記錄的效果。
請參見圖2,為本發(fā)明實(shí)施例提供了另一種數(shù)據(jù)流傳輸控制方法的流程示意圖。如圖2所示,本發(fā)明實(shí)施例的所述方法可以包括以下步驟S201-S208。
S201,獲取基于當(dāng)前RTT的上一個(gè)RTT內(nèi)的數(shù)據(jù)流中存在擁塞標(biāo)識的數(shù)據(jù)包的數(shù)量,并根據(jù)所述存在擁塞標(biāo)識的數(shù)據(jù)包的數(shù)量計(jì)算所述存在擁塞標(biāo)識的數(shù)據(jù)包在所述上一個(gè)RTT內(nèi)的數(shù)據(jù)流中所占的比例;
S202,基于所述上一個(gè)RTT的擁塞程度信息,并采用預(yù)設(shè)樣本權(quán)重值和所述比例計(jì)算當(dāng)前RTT內(nèi)進(jìn)行數(shù)據(jù)流傳輸?shù)膫鬏斁W(wǎng)絡(luò)的擁塞程度信息;
具體的,數(shù)據(jù)流傳輸控制設(shè)備可以獲取當(dāng)前RTT內(nèi)進(jìn)行數(shù)據(jù)流傳輸?shù)膫鬏斁W(wǎng)絡(luò)的擁塞程度信息,可以理解的是,所述傳輸網(wǎng)絡(luò)由所述數(shù)據(jù)流傳輸控制設(shè)備、交換機(jī)、云端服務(wù)器共同構(gòu)成,所述數(shù)據(jù)流傳輸控制設(shè)備用于采集數(shù)據(jù)以形成數(shù)據(jù)流進(jìn)行上報(bào),所述交換機(jī)用于對上報(bào)的數(shù)據(jù)流進(jìn)行轉(zhuǎn)移,所述云端服務(wù)器用于接收數(shù)據(jù)流,并對數(shù)據(jù)流中的數(shù)據(jù)進(jìn)行記錄,所述擁塞程度信息用于表示所述傳輸網(wǎng)絡(luò)中當(dāng)前的擁塞程度,優(yōu)選為擁塞程度值。
可以理解的是,在交換機(jī)中可以維護(hù)有一個(gè)數(shù)據(jù)流隊(duì)列,當(dāng)所述數(shù)據(jù)流隊(duì)列中數(shù)據(jù)流排隊(duì)的隊(duì)列大于預(yù)設(shè)閾值時(shí),則表示當(dāng)前的傳輸網(wǎng)絡(luò)中發(fā)生了擁塞,所述交換機(jī)可以對超過預(yù)設(shè)閾值的數(shù)據(jù)流進(jìn)行擁塞標(biāo)識的設(shè)置等,并告知所述云端服務(wù)器,所述云端服務(wù)器解析到存在此類擁塞標(biāo)識時(shí),可以通過應(yīng)答包向所述數(shù)據(jù)流傳輸控制設(shè)備反饋當(dāng)前的傳輸網(wǎng)絡(luò)的擁塞情況。
進(jìn)一步的,所述數(shù)據(jù)流傳輸控制設(shè)備可以獲取基于當(dāng)前RTT的上一個(gè)RTT內(nèi)的數(shù)據(jù)流中存在擁塞標(biāo)識的數(shù)據(jù)包的數(shù)量,并根據(jù)所述存在擁塞標(biāo)識的數(shù)據(jù)包的數(shù)量計(jì)算所述存在擁塞標(biāo)識的數(shù)據(jù)包在所述上一個(gè)RTT內(nèi)的數(shù)據(jù)流中所占的比例,優(yōu)選的,所述應(yīng)答包中可以包括在所述上一個(gè)RTT內(nèi)的數(shù)據(jù)流中存在擁塞標(biāo)識的數(shù)據(jù)包的數(shù)量,所述數(shù)據(jù)流傳輸控制設(shè)備可以在所述應(yīng)答包中解析得到所述上一個(gè)RTT內(nèi)的數(shù)據(jù)流中存在擁塞標(biāo)識的數(shù)據(jù)包的數(shù)量,并計(jì)算存在擁塞標(biāo)識的數(shù)據(jù)包在所述上一個(gè)RTT內(nèi)的數(shù)據(jù)流中所占的比例,所述數(shù)據(jù)流傳輸控制設(shè)備可以基于所述上一個(gè)RTT的擁塞程度信息,并采用預(yù)設(shè)樣本權(quán)重值和所述比例計(jì)算當(dāng)前RTT內(nèi)進(jìn)行數(shù)據(jù)流傳輸?shù)膫鬏斁W(wǎng)絡(luò)的擁塞程度信息,具體可以通過以下?lián)砣潭扔?jì)算公式進(jìn)行計(jì)算:
α=(1-g)×α上一個(gè)+g×F
其中,α表示為所述當(dāng)前RTT的擁塞程度信息,α上一個(gè)表示為所述上一個(gè)RTT的擁塞程度信息,F(xiàn)表示為上一個(gè)RTT內(nèi)的數(shù)據(jù)流中存在擁塞標(biāo)識的數(shù)據(jù)包在上一個(gè)RTT內(nèi)的數(shù)據(jù)流中所占的比例,g為樣本比例,可以根據(jù)人為經(jīng)驗(yàn)進(jìn)行設(shè)置,優(yōu)選為g=1/16。可以理解的是,所述當(dāng)前RTT的擁塞程度信息具體為上一個(gè)RTT中被標(biāo)記為擁塞標(biāo)識的數(shù)據(jù)包所占比例的平滑值,α的取值范圍為[0,1]。
S203,獲取所述傳輸網(wǎng)絡(luò)的網(wǎng)絡(luò)狀態(tài);
具體的,所述數(shù)據(jù)流傳輸控制設(shè)備可以預(yù)先獲取所述傳輸網(wǎng)絡(luò)的網(wǎng)絡(luò)狀態(tài),所述網(wǎng)絡(luò)狀態(tài)為擁塞狀態(tài)和擁塞避免狀態(tài)中的任一種,所述數(shù)據(jù)流傳輸控制設(shè)備可以在獲取基于當(dāng)前RTT的上一個(gè)RTT內(nèi)的數(shù)據(jù)流中存在擁塞標(biāo)識的數(shù)據(jù)包的數(shù)量的同時(shí),獲取所述傳輸網(wǎng)絡(luò)的網(wǎng)絡(luò)狀態(tài),若上一個(gè)RTT內(nèi)的數(shù)據(jù)流中存在擁塞標(biāo)識的數(shù)據(jù)包,則表示所述傳輸網(wǎng)絡(luò)的網(wǎng)絡(luò)狀態(tài)為擁塞狀態(tài),若上一個(gè)RTT內(nèi)的數(shù)據(jù)流中不存在擁塞標(biāo)識的數(shù)據(jù)包,則表示所述傳輸網(wǎng)絡(luò)的網(wǎng)絡(luò)狀態(tài)為擁塞避免狀態(tài)。
S204,若當(dāng)前RTT內(nèi)的數(shù)據(jù)流的數(shù)據(jù)量大于預(yù)設(shè)數(shù)據(jù)量,則確定所述當(dāng)前RTT內(nèi)的數(shù)據(jù)流為大數(shù)據(jù)流;
S205,若當(dāng)前RTT內(nèi)的數(shù)據(jù)流的數(shù)據(jù)量小于或等于預(yù)設(shè)數(shù)據(jù)量,則確定所述當(dāng)前RTT內(nèi)的數(shù)據(jù)流為小數(shù)據(jù)流;
具體的,開發(fā)人員可以設(shè)置一預(yù)設(shè)數(shù)據(jù)量,所述數(shù)據(jù)流傳輸控制設(shè)備可以預(yù)先根據(jù)預(yù)設(shè)數(shù)據(jù)量對當(dāng)前RTT內(nèi)的數(shù)據(jù)流的數(shù)據(jù)量進(jìn)行判斷,若當(dāng)前RTT內(nèi)的數(shù)據(jù)流的數(shù)據(jù)量大于預(yù)設(shè)數(shù)據(jù)量,則所述數(shù)據(jù)流傳輸控制設(shè)備可以確定所述當(dāng)前RTT內(nèi)的數(shù)據(jù)流為大數(shù)據(jù)流;若當(dāng)前RTT內(nèi)的數(shù)據(jù)流的數(shù)據(jù)量小于或等于預(yù)設(shè)數(shù)據(jù)量,則所述數(shù)據(jù)流傳輸控制設(shè)備可以確定所述當(dāng)前RTT內(nèi)的數(shù)據(jù)流為小數(shù)據(jù)流。
S206,根據(jù)所述當(dāng)前RTT的擁塞程度信息設(shè)置針對當(dāng)前RTT的擁塞窗口的變量數(shù)值;
具體的,所述數(shù)據(jù)流傳輸控制設(shè)備可以根據(jù)所述當(dāng)前RTT的擁塞程度信息設(shè)置針對當(dāng)前RTT的擁塞窗口的變量數(shù)值,可以理解的是,所述變量數(shù)值具體為基于所述傳輸網(wǎng)絡(luò)的網(wǎng)絡(luò)狀態(tài),并根據(jù)所述當(dāng)前RTT的擁塞程度信息對當(dāng)前RTT的擁塞窗口動(dòng)態(tài)設(shè)置的變量數(shù)值。
在本發(fā)明實(shí)施例的第一種實(shí)現(xiàn)方式中,當(dāng)所述傳輸網(wǎng)絡(luò)的網(wǎng)絡(luò)狀態(tài)為擁塞避免狀態(tài)時(shí),開發(fā)人員可以根據(jù)經(jīng)驗(yàn)預(yù)設(shè)一個(gè)擁塞控制閾值,所述擁塞控制閾值表示為預(yù)期需要所述傳輸網(wǎng)絡(luò)維持的擁塞程度,即在所述傳輸網(wǎng)絡(luò)不存在擁塞的情況下,需要保證當(dāng)前RTT的擁塞窗口維持在一定的期望值,使得傳輸網(wǎng)絡(luò)的帶寬資源利用率維持在一個(gè)較高的水平,保證傳輸網(wǎng)絡(luò)的吞吐率,因此,當(dāng)所述當(dāng)前RTT的擁塞程度信息大于預(yù)設(shè)的擁塞控制閾值時(shí),所述數(shù)據(jù)流傳輸控制設(shè)備可以基于第一變量計(jì)算公式,并采用所述上一個(gè)RTT的變量數(shù)值、所述當(dāng)前RTT的擁塞程度信息和所述擁塞控制閾值,計(jì)算所述當(dāng)前RTT的擁塞窗口的變量數(shù)值,所述第一變量計(jì)算公式為:
其中,C當(dāng)前表示為所述當(dāng)前RTT的變量數(shù)值,C上一個(gè)表示為所述上一個(gè)RTT的變量數(shù)值,α表示為所述當(dāng)前RTT的擁塞程度信息,t表示為所述擁塞控制閾值。當(dāng)α的值非常接近于t的時(shí)候,當(dāng)前傳輸網(wǎng)絡(luò)的擁塞程度非常接近于預(yù)期的擁塞程度,采用第一變量計(jì)算公式只需要輕微調(diào)節(jié)C當(dāng)前的值的大小,于是在上式中C當(dāng)前的值的減小量也接近于0。網(wǎng)絡(luò)擁塞程度越大,擁塞窗口的增加量C當(dāng)前的值的減小量也越大,并且隨著網(wǎng)絡(luò)擁塞程度的增加,C當(dāng)前的值的減小量也線性增加,在最壞情況下,網(wǎng)絡(luò)極度擁塞,α的值趨近于1,此時(shí)C當(dāng)前的值將減小為原來的1/2。
而當(dāng)所述當(dāng)前RTT的擁塞程度信息小于預(yù)設(shè)的擁塞控制閾值時(shí),所述數(shù)據(jù)流傳輸控制設(shè)備可以基于第二變量計(jì)算公式,并采用所述上一個(gè)RTT的變量數(shù)值、所述當(dāng)前RTT的擁塞程度信息、所述擁塞控制閾值和預(yù)設(shè)參數(shù),計(jì)算所述當(dāng)前RTT的擁塞窗口的變量數(shù)值,所述第二變量計(jì)算公式為:
其中,C當(dāng)前表示為所述當(dāng)前RTT的變量數(shù)值,C上一個(gè)表示為所述上一個(gè)RTT的變量數(shù)值,α表示為所述當(dāng)前RTT的擁塞程度信息,t表示為所述擁塞控制閾值,Cincr表示為所述預(yù)設(shè)參數(shù)。同理,如果網(wǎng)絡(luò)擁塞程度只是稍微小于預(yù)期的t值,則C當(dāng)前的值的增加量接近于0。隨著α和t之間的差距不斷增大,C當(dāng)前的值也隨著線性增加。當(dāng)α趨于最小值0的時(shí)候,C當(dāng)前的值的增加量將趨于Cincr,需要說明的是,預(yù)設(shè)參數(shù)的取值可以根據(jù)開發(fā)人員的經(jīng)驗(yàn)進(jìn)行設(shè)置,所述預(yù)設(shè)參數(shù)的取值可以與上一個(gè)RTT的變量數(shù)值相關(guān),例如:Cincr=1/2×C上一個(gè),采用此方式取值,使得C當(dāng)前的值與當(dāng)所述當(dāng)前RTT的擁塞程度信息大于預(yù)設(shè)的擁塞控制閾值時(shí)的值對稱,或者可以令所述預(yù)設(shè)參數(shù)為一常數(shù)值,例如:Cincr=1等,采用此方式取值,使得C當(dāng)前的值的變化過程可預(yù)測。
進(jìn)一步的,針對所述當(dāng)前RTT的變量數(shù)值,為了避免當(dāng)前RTT的擁塞窗口的增長速率過快或者減小速率過快,可以預(yù)先設(shè)置預(yù)設(shè)變量數(shù)值范圍,使得當(dāng)前RTT的變量數(shù)值保持在一個(gè)合理調(diào)整的范圍內(nèi),當(dāng)所述當(dāng)前RTT的變量數(shù)值大于預(yù)設(shè)變量數(shù)值范圍的最大值時(shí),所述數(shù)據(jù)流傳輸控制設(shè)備可以直接將所述當(dāng)前RTT的擁塞窗口的變量數(shù)值調(diào)整為所述最大值;而當(dāng)所述當(dāng)前RTT的變量數(shù)值小于預(yù)設(shè)變量數(shù)值范圍的最小值時(shí),所述數(shù)據(jù)流傳輸控制設(shè)備可以直接將所述當(dāng)前RTT的擁塞窗口的變量數(shù)值調(diào)整為所述最小值。
在本發(fā)明實(shí)施例的第二種實(shí)現(xiàn)方式中,當(dāng)所述傳輸網(wǎng)絡(luò)的網(wǎng)絡(luò)狀態(tài)為擁塞狀態(tài)時(shí),可以理解的是,當(dāng)所述當(dāng)前RTT內(nèi)的數(shù)據(jù)流為大數(shù)據(jù)流時(shí),所述數(shù)據(jù)流傳輸控制設(shè)備可以基于第三變量計(jì)算公式,并采用所述當(dāng)前RTT的擁塞程度信息計(jì)算所述當(dāng)前RTT的擁塞窗口的變量數(shù)值,所述第三變量計(jì)算公式為:
其中,C當(dāng)前表示為所述當(dāng)前RTT的變量數(shù)值,α表示為所述當(dāng)前RTT的擁塞程度信息。
而當(dāng)所述當(dāng)前RTT內(nèi)的數(shù)據(jù)流為小數(shù)據(jù)流時(shí),所述數(shù)據(jù)流傳輸控制設(shè)備可以基于第四變量計(jì)算公式,并采用所述當(dāng)前RTT的擁塞程度信息和預(yù)設(shè)指數(shù)參數(shù)計(jì)算所述當(dāng)前RTT的擁塞窗口的變量數(shù)值,所述第四變量計(jì)算公式為:
其中,C當(dāng)前表示為所述當(dāng)前RTT的變量數(shù)值,α表示為所述當(dāng)前RTT的擁塞程度信息,d表示為預(yù)設(shè)指數(shù)參數(shù),d為大于1的實(shí)數(shù)。
S207,采用所述當(dāng)前RTT的變量數(shù)值對所述當(dāng)前RTT的上一個(gè)RTT的擁塞窗口進(jìn)行調(diào)整以生成當(dāng)前RTT的擁塞窗口;
具體的,所述數(shù)據(jù)流傳輸控制設(shè)備可以采用所述當(dāng)前RTT的變量數(shù)值對所述當(dāng)前RTT的上一個(gè)RTT的擁塞窗口進(jìn)行調(diào)整以生成當(dāng)前RTT的擁塞窗口,進(jìn)一步的,所述數(shù)據(jù)流傳輸控制設(shè)備可以依據(jù)大數(shù)據(jù)流和小數(shù)據(jù)流的優(yōu)先級分別生成當(dāng)前RTT的擁塞窗口,以保證對通信延遲需求較高的小數(shù)據(jù)流可以優(yōu)先進(jìn)行處理。
進(jìn)一步的,針對上述第一種實(shí)施方式,當(dāng)所述當(dāng)前RTT內(nèi)的數(shù)據(jù)流為大數(shù)據(jù)流時(shí),所述數(shù)據(jù)流傳輸控制設(shè)備可以在所述上一個(gè)RTT的擁塞窗口上增加所述當(dāng)前RTT的變量數(shù)值以生成當(dāng)前RTT的擁塞窗口,而當(dāng)所述當(dāng)前RTT內(nèi)的數(shù)據(jù)流為小數(shù)據(jù)流時(shí),所述數(shù)據(jù)流傳輸控制設(shè)備可以在所述上一個(gè)RTT的擁塞窗口上增加所述最大值以生成當(dāng)前RTT的擁塞窗口。由于針對小數(shù)據(jù)流,其增加量恒為預(yù)設(shè)變量數(shù)值范圍的最大值,因此其增加量總是大于或等于大數(shù)據(jù)流的增加量,因此在網(wǎng)絡(luò)狀態(tài)處于擁塞避免狀態(tài)時(shí),可以更快的對小數(shù)據(jù)流進(jìn)行處理,有效的降低了在擁塞避免狀態(tài)下的小數(shù)據(jù)流的傳輸延遲。
針對上述第二種實(shí)施方式,所述數(shù)據(jù)流傳輸控制設(shè)備可以將所述上一個(gè)RTT的擁塞窗口與所述當(dāng)前RTT的變量數(shù)值相乘以生成當(dāng)前RTT的擁塞窗口,由于小數(shù)據(jù)流的當(dāng)前RTT的變量數(shù)值總是大于或等于大數(shù)據(jù)流的增加量,因此與上一個(gè)RTT的擁塞窗口相乘時(shí),小數(shù)據(jù)流的當(dāng)前RTT的擁塞窗口相較上一個(gè)RTT的擁塞窗口的減少量總是小于或等于大數(shù)據(jù)流的,因此在網(wǎng)絡(luò)狀態(tài)處于擁塞狀態(tài)時(shí),可以更好的維持針對小數(shù)據(jù)流的當(dāng)前RTT的擁塞窗口,更快的對小數(shù)據(jù)流進(jìn)行處理,有效的降低了在擁塞狀態(tài)下的小數(shù)據(jù)流的傳輸延遲。
S208,采用所述當(dāng)前RTT的擁塞窗口對當(dāng)前RTT內(nèi)的數(shù)據(jù)流進(jìn)行輸出。
在本發(fā)明實(shí)施例中,通過獲取當(dāng)前RTT內(nèi)進(jìn)行數(shù)據(jù)流傳輸?shù)膫鬏斁W(wǎng)絡(luò)的擁塞程度信息,并根據(jù)擁塞程度信息設(shè)置針對當(dāng)前RTT的擁塞窗口的變量數(shù)值,最終采用該變量數(shù)值對上一個(gè)RTT的擁塞窗口進(jìn)行調(diào)整生成當(dāng)前RTT的擁塞窗口以及采用當(dāng)前RTT的擁塞窗口進(jìn)行數(shù)據(jù)流輸出,實(shí)現(xiàn)了動(dòng)態(tài)調(diào)整數(shù)據(jù)流發(fā)送的擁塞窗口,保證了傳輸網(wǎng)絡(luò)的帶寬利用率,有效減少了數(shù)據(jù)傳輸?shù)难舆t或丟失,進(jìn)而提升了數(shù)據(jù)的準(zhǔn)確性,保證了對運(yùn)動(dòng)數(shù)據(jù)進(jìn)行實(shí)時(shí)記錄的效果;通過在傳輸網(wǎng)絡(luò)的網(wǎng)絡(luò)狀態(tài)為擁塞避免狀態(tài)時(shí)預(yù)設(shè)一擁塞控制閾值,可以在擁塞避免狀態(tài)下動(dòng)態(tài)調(diào)整當(dāng)前RTT的擁塞窗口,是的傳輸網(wǎng)絡(luò)的帶寬資源利用率保持在較高的水平,進(jìn)而保證傳輸網(wǎng)絡(luò)的吞吐率,同時(shí)通過設(shè)置預(yù)設(shè)變量數(shù)值范圍對當(dāng)前RTT的變量數(shù)值進(jìn)行限定,可以避免當(dāng)前RTT的擁塞窗口的增長速率過快或者減小速率過快,保證了傳輸網(wǎng)絡(luò)的穩(wěn)定性;通過對大數(shù)據(jù)流和小數(shù)據(jù)流進(jìn)行區(qū)分,可以更快的對小數(shù)據(jù)流進(jìn)行處理,有效的降低了小數(shù)據(jù)流的傳輸延遲。
下面將結(jié)合附圖3-附圖5,對本發(fā)明實(shí)施例提供的數(shù)據(jù)流傳輸控制設(shè)備進(jìn)行詳細(xì)介紹。需要說明的是,附圖3-附圖5所示的數(shù)據(jù)流傳輸控制設(shè)備,用于執(zhí)行本發(fā)明圖1和圖2所示實(shí)施例的方法,為了便于說明,僅示出了與本發(fā)明實(shí)施例相關(guān)的部分,具體技術(shù)細(xì)節(jié)未揭示的,請參照本發(fā)明圖1和圖2所示的實(shí)施例。
請參見圖3,為本發(fā)明實(shí)施例提供了一種數(shù)據(jù)流傳輸控制設(shè)備的結(jié)構(gòu)示意圖。如圖3所示,本發(fā)明實(shí)施例的所述數(shù)據(jù)流傳輸控制設(shè)備1可以包括:信息獲取單元11、數(shù)值設(shè)置單元12、窗口調(diào)整單元13和數(shù)據(jù)流輸出單元14。
信息獲取單元11,用于獲取當(dāng)前RTT內(nèi)進(jìn)行數(shù)據(jù)流傳輸?shù)膫鬏斁W(wǎng)絡(luò)的擁塞程度信息;
具體實(shí)現(xiàn)中,所述信息獲取單元11可以獲取當(dāng)前RTT內(nèi)進(jìn)行數(shù)據(jù)流傳輸?shù)膫鬏斁W(wǎng)絡(luò)的擁塞程度信息,可以理解的是,所述傳輸網(wǎng)絡(luò)由所述數(shù)據(jù)流傳輸控制設(shè)備1、交換機(jī)、云端服務(wù)器共同構(gòu)成,所述數(shù)據(jù)流傳輸控制設(shè)備1用于采集數(shù)據(jù)以形成數(shù)據(jù)流進(jìn)行上報(bào),所述交換機(jī)用于對上報(bào)的數(shù)據(jù)流進(jìn)行轉(zhuǎn)移,所述云端服務(wù)器用于接收數(shù)據(jù)流,并對數(shù)據(jù)流中的數(shù)據(jù)進(jìn)行記錄,所述擁塞程度信息用于表示所述傳輸網(wǎng)絡(luò)中當(dāng)前的擁塞程度,優(yōu)選為擁塞程度值。
可以理解的是,在交換機(jī)中可以維護(hù)有一個(gè)數(shù)據(jù)流隊(duì)列,當(dāng)所述數(shù)據(jù)流隊(duì)列中數(shù)據(jù)流排隊(duì)的隊(duì)列大于預(yù)設(shè)閾值時(shí),則表示當(dāng)前的傳輸網(wǎng)絡(luò)中發(fā)生了擁塞,所述交換機(jī)可以對超過預(yù)設(shè)閾值的數(shù)據(jù)流進(jìn)行擁塞標(biāo)識的設(shè)置等,并告知所述云端服務(wù)器,所述云端服務(wù)器解析到存在此類擁塞標(biāo)識時(shí),可以通過應(yīng)答包向所述數(shù)據(jù)流傳輸控制設(shè)備1反饋當(dāng)前的傳輸網(wǎng)絡(luò)的擁塞情況。
數(shù)值設(shè)置單元12,用于根據(jù)所述當(dāng)前RTT的擁塞程度信息設(shè)置針對當(dāng)前RTT的擁塞窗口的變量數(shù)值;
具體實(shí)現(xiàn)中,所述數(shù)值設(shè)置單元12可以根據(jù)所述當(dāng)前RTT的擁塞程度信息設(shè)置針對當(dāng)前RTT的擁塞窗口的變量數(shù)值,可以理解的是,所述變量數(shù)值具體為基于所述傳輸網(wǎng)絡(luò)的網(wǎng)絡(luò)狀態(tài),并根據(jù)所述當(dāng)前RTT的擁塞程度信息對當(dāng)前RTT的擁塞窗口動(dòng)態(tài)設(shè)置的變量數(shù)值,進(jìn)一步的,所述數(shù)據(jù)流傳輸控制設(shè)備1可以預(yù)先獲取所述傳輸網(wǎng)絡(luò)的網(wǎng)絡(luò)狀態(tài),所述網(wǎng)絡(luò)狀態(tài)為擁塞狀態(tài)和擁塞避免狀態(tài)中的任一種,所述數(shù)據(jù)流傳輸控制設(shè)備1可以在獲取基于當(dāng)前RTT的上一個(gè)RTT內(nèi)的數(shù)據(jù)流中存在擁塞標(biāo)識的數(shù)據(jù)包的數(shù)量的同時(shí),獲取所述傳輸網(wǎng)絡(luò)的網(wǎng)絡(luò)狀態(tài),若上一個(gè)RTT內(nèi)的數(shù)據(jù)流中存在擁塞標(biāo)識的數(shù)據(jù)包,則表示所述傳輸網(wǎng)絡(luò)的網(wǎng)絡(luò)狀態(tài)為擁塞狀態(tài),若上一個(gè)RTT內(nèi)的數(shù)據(jù)流中不存在擁塞標(biāo)識的數(shù)據(jù)包,則表示所述傳輸網(wǎng)絡(luò)的網(wǎng)絡(luò)狀態(tài)為擁塞避免狀態(tài)。
窗口調(diào)整單元13,用于采用所述當(dāng)前RTT的變量數(shù)值對所述當(dāng)前RTT的上一個(gè)RTT的擁塞窗口進(jìn)行調(diào)整以生成當(dāng)前RTT的擁塞窗口;
具體實(shí)現(xiàn)中,所述窗口調(diào)整單元13可以采用所述當(dāng)前RTT的變量數(shù)值對所述當(dāng)前RTT的上一個(gè)RTT的擁塞窗口進(jìn)行調(diào)整以生成當(dāng)前RTT的擁塞窗口,進(jìn)一步的,所述窗口調(diào)整單元13可以依據(jù)大數(shù)據(jù)流和小數(shù)據(jù)流的優(yōu)先級分別生成當(dāng)前RTT的擁塞窗口,以保證對通信延遲需求較高的小數(shù)據(jù)流可以優(yōu)先進(jìn)行處理。可以理解的是,由于終端應(yīng)用上報(bào)的數(shù)據(jù)流往往是來自與用戶交互生成的小數(shù)據(jù)流,小數(shù)據(jù)流通常對通信延遲需求較高,而大數(shù)據(jù)流往往來自于數(shù)據(jù)中心的內(nèi)部數(shù)據(jù)備份和索引計(jì)算等,大數(shù)據(jù)流對通信延遲需求不高,因此需要對大數(shù)據(jù)流和小數(shù)據(jù)流進(jìn)行區(qū)分,以保證小數(shù)據(jù)流具備更高的優(yōu)先級進(jìn)行處理,開發(fā)人員可以設(shè)置一預(yù)設(shè)數(shù)據(jù)量,所述數(shù)據(jù)流傳輸控制設(shè)備1可以預(yù)先根據(jù)預(yù)設(shè)數(shù)據(jù)量對當(dāng)前RTT內(nèi)的數(shù)據(jù)流的數(shù)據(jù)量進(jìn)行判斷,若當(dāng)前RTT內(nèi)的數(shù)據(jù)流的數(shù)據(jù)量大于預(yù)設(shè)數(shù)據(jù)量,則所述數(shù)據(jù)流傳輸控制設(shè)備1可以確定所述當(dāng)前RTT內(nèi)的數(shù)據(jù)流為大數(shù)據(jù)流;若當(dāng)前RTT內(nèi)的數(shù)據(jù)流的數(shù)據(jù)量小于或等于預(yù)設(shè)數(shù)據(jù)量,則所述數(shù)據(jù)流傳輸控制設(shè)備1可以確定所述當(dāng)前RTT內(nèi)的數(shù)據(jù)流為小數(shù)據(jù)流。
數(shù)據(jù)流輸出單元14,用于采用所述當(dāng)前RTT的擁塞窗口對當(dāng)前RTT內(nèi)的數(shù)據(jù)流進(jìn)行輸出。
在本發(fā)明實(shí)施例中,通過獲取當(dāng)前RTT內(nèi)進(jìn)行數(shù)據(jù)流傳輸?shù)膫鬏斁W(wǎng)絡(luò)的擁塞程度信息,并根據(jù)擁塞程度信息設(shè)置針對當(dāng)前RTT的擁塞窗口的變量數(shù)值,最終采用該變量數(shù)值對上一個(gè)RTT的擁塞窗口進(jìn)行調(diào)整生成當(dāng)前RTT的擁塞窗口以及采用當(dāng)前RTT的擁塞窗口進(jìn)行數(shù)據(jù)流輸出,實(shí)現(xiàn)了動(dòng)態(tài)調(diào)整數(shù)據(jù)流發(fā)送的擁塞窗口,保證了傳輸網(wǎng)絡(luò)的帶寬利用率,有效減少了數(shù)據(jù)傳輸?shù)难舆t或丟失,進(jìn)而提升了數(shù)據(jù)的準(zhǔn)確性,保證了對運(yùn)動(dòng)數(shù)據(jù)進(jìn)行實(shí)時(shí)記錄的效果。
請參見圖4,為本發(fā)明實(shí)施例提供了另一種數(shù)據(jù)流傳輸控制設(shè)備的結(jié)構(gòu)示意圖。如圖4所示,本發(fā)明實(shí)施例的所述數(shù)據(jù)流傳輸控制設(shè)備1可以包括:信息獲取單元11、數(shù)值設(shè)置單元12、窗口調(diào)整單元13、數(shù)據(jù)流輸出單元14、狀態(tài)獲取單元15和數(shù)據(jù)流確定單元16。
信息獲取單元11,用于獲取當(dāng)前RTT內(nèi)進(jìn)行數(shù)據(jù)流傳輸?shù)膫鬏斁W(wǎng)絡(luò)的擁塞程度信息;
具體實(shí)現(xiàn)中,所述信息獲取單元11可以獲取當(dāng)前RTT內(nèi)進(jìn)行數(shù)據(jù)流傳輸?shù)膫鬏斁W(wǎng)絡(luò)的擁塞程度信息,可以理解的是,所述傳輸網(wǎng)絡(luò)由所述數(shù)據(jù)流傳輸控制設(shè)備1、交換機(jī)、云端服務(wù)器共同構(gòu)成,所述數(shù)據(jù)流傳輸控制設(shè)備1用于采集數(shù)據(jù)以形成數(shù)據(jù)流進(jìn)行上報(bào),所述交換機(jī)用于對上報(bào)的數(shù)據(jù)流進(jìn)行轉(zhuǎn)移,所述云端服務(wù)器用于接收數(shù)據(jù)流,并對數(shù)據(jù)流中的數(shù)據(jù)進(jìn)行記錄,所述擁塞程度信息用于表示所述傳輸網(wǎng)絡(luò)中當(dāng)前的擁塞程度,優(yōu)選為擁塞程度值。
可以理解的是,在交換機(jī)中可以維護(hù)有一個(gè)數(shù)據(jù)流隊(duì)列,當(dāng)所述數(shù)據(jù)流隊(duì)列中數(shù)據(jù)流排隊(duì)的隊(duì)列大于預(yù)設(shè)閾值時(shí),則表示當(dāng)前的傳輸網(wǎng)絡(luò)中發(fā)生了擁塞,所述交換機(jī)可以對超過預(yù)設(shè)閾值的數(shù)據(jù)流進(jìn)行擁塞標(biāo)識的設(shè)置等,并告知所述云端服務(wù)器,所述云端服務(wù)器解析到存在此類擁塞標(biāo)識時(shí),可以通過應(yīng)答包向所述數(shù)據(jù)流傳輸控制設(shè)備1反饋當(dāng)前的傳輸網(wǎng)絡(luò)的擁塞情況。
具體的,請一并參見圖5,為本發(fā)明實(shí)施例提供了信息獲取單元的結(jié)構(gòu)示意圖。如圖5所示,所述信息獲取單元11可包括:
比例計(jì)算子單元111,用于獲取基于當(dāng)前RTT的上一個(gè)RTT內(nèi)的數(shù)據(jù)流中存在擁塞標(biāo)識的數(shù)據(jù)包的數(shù)量,并根據(jù)所述存在擁塞標(biāo)識的數(shù)據(jù)包的數(shù)量計(jì)算所述存在擁塞標(biāo)識的數(shù)據(jù)包在所述上一個(gè)RTT內(nèi)的數(shù)據(jù)流中所占的比例;
信息計(jì)算子單元112,用于基于所述上一個(gè)RTT的擁塞程度信息,并采用預(yù)設(shè)樣本權(quán)重值和所述比例計(jì)算當(dāng)前RTT內(nèi)進(jìn)行數(shù)據(jù)流傳輸?shù)膫鬏斁W(wǎng)絡(luò)的擁塞程度信息;
具體實(shí)現(xiàn)中,所述信息獲取單元11可以獲取當(dāng)前RTT內(nèi)進(jìn)行數(shù)據(jù)流傳輸?shù)膫鬏斁W(wǎng)絡(luò)的擁塞程度信息,可以理解的是,所述傳輸網(wǎng)絡(luò)由所述數(shù)據(jù)流傳輸控制設(shè)備1、交換機(jī)、云端服務(wù)器共同構(gòu)成,所述數(shù)據(jù)流傳輸控制設(shè)備1用于采集數(shù)據(jù)以形成數(shù)據(jù)流進(jìn)行上報(bào),所述交換機(jī)用于對上報(bào)的數(shù)據(jù)流進(jìn)行轉(zhuǎn)移,所述云端服務(wù)器用于接收數(shù)據(jù)流,并對數(shù)據(jù)流中的數(shù)據(jù)進(jìn)行記錄,所述擁塞程度信息用于表示所述傳輸網(wǎng)絡(luò)中當(dāng)前的擁塞程度,優(yōu)選為擁塞程度值。
可以理解的是,在交換機(jī)中可以維護(hù)有一個(gè)數(shù)據(jù)流隊(duì)列,當(dāng)所述數(shù)據(jù)流隊(duì)列中數(shù)據(jù)流排隊(duì)的隊(duì)列大于預(yù)設(shè)閾值時(shí),則表示當(dāng)前的傳輸網(wǎng)絡(luò)中發(fā)生了擁塞,所述交換機(jī)可以對超過預(yù)設(shè)閾值的數(shù)據(jù)流進(jìn)行擁塞標(biāo)識的設(shè)置等,并告知所述云端服務(wù)器,所述云端服務(wù)器解析到存在此類擁塞標(biāo)識時(shí),可以通過應(yīng)答包向所述數(shù)據(jù)流傳輸控制設(shè)備1反饋當(dāng)前的傳輸網(wǎng)絡(luò)的擁塞情況。
進(jìn)一步的,所述比例計(jì)算子單元111可以獲取基于當(dāng)前RTT的上一個(gè)RTT內(nèi)的數(shù)據(jù)流中存在擁塞標(biāo)識的數(shù)據(jù)包的數(shù)量,并根據(jù)所述存在擁塞標(biāo)識的數(shù)據(jù)包的數(shù)量計(jì)算所述存在擁塞標(biāo)識的數(shù)據(jù)包在所述上一個(gè)RTT內(nèi)的數(shù)據(jù)流中所占的比例,優(yōu)選的,所述應(yīng)答包中可以包括在所述上一個(gè)RTT內(nèi)的數(shù)據(jù)流中存在擁塞標(biāo)識的數(shù)據(jù)包的數(shù)量,所述比例計(jì)算子單元111可以在所述應(yīng)答包中解析得到所述上一個(gè)RTT內(nèi)的數(shù)據(jù)流中存在擁塞標(biāo)識的數(shù)據(jù)包的數(shù)量,所述信息計(jì)算子單元112計(jì)算存在擁塞標(biāo)識的數(shù)據(jù)包在所述上一個(gè)RTT內(nèi)的數(shù)據(jù)流中所占的比例,所述信息計(jì)算子單元112可以基于所述上一個(gè)RTT的擁塞程度信息,并采用預(yù)設(shè)樣本權(quán)重值和所述比例計(jì)算當(dāng)前RTT內(nèi)進(jìn)行數(shù)據(jù)流傳輸?shù)膫鬏斁W(wǎng)絡(luò)的擁塞程度信息,具體可以通過以下?lián)砣潭扔?jì)算公式進(jìn)行計(jì)算:
α=(1-g)×α上一個(gè)+g×F
其中,α表示為所述當(dāng)前RTT的擁塞程度信息,α上一個(gè)表示為所述上一個(gè)RTT的擁塞程度信息,F(xiàn)表示為上一個(gè)RTT內(nèi)的數(shù)據(jù)流中存在擁塞標(biāo)識的數(shù)據(jù)包在上一個(gè)RTT內(nèi)的數(shù)據(jù)流中所占的比例,g為樣本比例,可以根據(jù)人為經(jīng)驗(yàn)進(jìn)行設(shè)置,優(yōu)選為g=1/16。可以理解的是,所述當(dāng)前RTT的擁塞程度信息具體為上一個(gè)RTT中被標(biāo)記為擁塞標(biāo)識的數(shù)據(jù)包所占比例的平滑值,α的取值范圍為[0,1]。
狀態(tài)獲取單元15,用于獲取所述傳輸網(wǎng)絡(luò)的網(wǎng)絡(luò)狀態(tài);
具體實(shí)現(xiàn)中,所述狀態(tài)獲取單元15可以預(yù)先獲取所述傳輸網(wǎng)絡(luò)的網(wǎng)絡(luò)狀態(tài),所述網(wǎng)絡(luò)狀態(tài)為擁塞狀態(tài)和擁塞避免狀態(tài)中的任一種,所述數(shù)據(jù)流傳輸控制設(shè)備1可以在獲取基于當(dāng)前RTT的上一個(gè)RTT內(nèi)的數(shù)據(jù)流中存在擁塞標(biāo)識的數(shù)據(jù)包的數(shù)量的同時(shí),獲取所述傳輸網(wǎng)絡(luò)的網(wǎng)絡(luò)狀態(tài),若上一個(gè)RTT內(nèi)的數(shù)據(jù)流中存在擁塞標(biāo)識的數(shù)據(jù)包,則表示所述傳輸網(wǎng)絡(luò)的網(wǎng)絡(luò)狀態(tài)為擁塞狀態(tài),若上一個(gè)RTT內(nèi)的數(shù)據(jù)流中不存在擁塞標(biāo)識的數(shù)據(jù)包,則表示所述傳輸網(wǎng)絡(luò)的網(wǎng)絡(luò)狀態(tài)為擁塞避免狀態(tài)。
數(shù)據(jù)流確定單元16,用于若當(dāng)前RTT內(nèi)的數(shù)據(jù)流的數(shù)據(jù)量大于預(yù)設(shè)數(shù)據(jù)量,則確定所述當(dāng)前RTT內(nèi)的數(shù)據(jù)流為大數(shù)據(jù)流;
所述數(shù)據(jù)流確定單元16,還用于若當(dāng)前RTT內(nèi)的數(shù)據(jù)流的數(shù)據(jù)量小于或等于預(yù)設(shè)數(shù)據(jù)量,則確定所述當(dāng)前RTT內(nèi)的數(shù)據(jù)流為小數(shù)據(jù)流;
具體實(shí)現(xiàn)中,開發(fā)人員可以設(shè)置一預(yù)設(shè)數(shù)據(jù)量,所述數(shù)據(jù)流確定單元16可以預(yù)先根據(jù)預(yù)設(shè)數(shù)據(jù)量對當(dāng)前RTT內(nèi)的數(shù)據(jù)流的數(shù)據(jù)量進(jìn)行判斷,若當(dāng)前RTT內(nèi)的數(shù)據(jù)流的數(shù)據(jù)量大于預(yù)設(shè)數(shù)據(jù)量,則所述數(shù)據(jù)流確定單元16可以確定所述當(dāng)前RTT內(nèi)的數(shù)據(jù)流為大數(shù)據(jù)流;若當(dāng)前RTT內(nèi)的數(shù)據(jù)流的數(shù)據(jù)量小于或等于預(yù)設(shè)數(shù)據(jù)量,則所述數(shù)據(jù)流確定單元16可以確定所述當(dāng)前RTT內(nèi)的數(shù)據(jù)流為小數(shù)據(jù)流。
數(shù)值設(shè)置單元12,用于根據(jù)所述當(dāng)前RTT的擁塞程度信息設(shè)置針對當(dāng)前RTT的擁塞窗口的變量數(shù)值;
具體實(shí)現(xiàn)中,所述數(shù)值設(shè)置單元12可以根據(jù)所述當(dāng)前RTT的擁塞程度信息設(shè)置針對當(dāng)前RTT的擁塞窗口的變量數(shù)值,可以理解的是,所述變量數(shù)值具體為基于所述傳輸網(wǎng)絡(luò)的網(wǎng)絡(luò)狀態(tài),并根據(jù)所述當(dāng)前RTT的擁塞程度信息對當(dāng)前RTT的擁塞窗口動(dòng)態(tài)設(shè)置的變量數(shù)值。
在本發(fā)明實(shí)施例的第一種實(shí)現(xiàn)方式中,當(dāng)所述傳輸網(wǎng)絡(luò)的網(wǎng)絡(luò)狀態(tài)為擁塞避免狀態(tài)時(shí),開發(fā)人員可以根據(jù)經(jīng)驗(yàn)預(yù)設(shè)一個(gè)擁塞控制閾值,所述擁塞控制閾值表示為預(yù)期需要所述傳輸網(wǎng)絡(luò)維持的擁塞程度,即在所述傳輸網(wǎng)絡(luò)不存在擁塞的情況下,需要保證當(dāng)前RTT的擁塞窗口維持在一定的期望值,使得傳輸網(wǎng)絡(luò)的帶寬資源利用率維持在一個(gè)較高的水平,保證傳輸網(wǎng)絡(luò)的吞吐率,因此,當(dāng)所述當(dāng)前RTT的擁塞程度信息大于預(yù)設(shè)的擁塞控制閾值時(shí),所述數(shù)值設(shè)置單元12可以基于第一變量計(jì)算公式,并采用所述上一個(gè)RTT的變量數(shù)值、所述當(dāng)前RTT的擁塞程度信息和所述擁塞控制閾值,計(jì)算所述當(dāng)前RTT的擁塞窗口的變量數(shù)值,所述第一變量計(jì)算公式為:
其中,C當(dāng)前表示為所述當(dāng)前RTT的變量數(shù)值,C上一個(gè)表示為所述上一個(gè)RTT的變量數(shù)值,α表示為所述當(dāng)前RTT的擁塞程度信息,t表示為所述擁塞控制閾值。當(dāng)α的值非常接近于t的時(shí)候,當(dāng)前傳輸網(wǎng)絡(luò)的擁塞程度非常接近于預(yù)期的擁塞程度,采用第一變量計(jì)算公式只需要輕微調(diào)節(jié)C當(dāng)前的值的大小,于是在上式中C當(dāng)前的值的減小量也接近于0。網(wǎng)絡(luò)擁塞程度越大,擁塞窗口的增加量C當(dāng)前的值的減小量也越大,并且隨著網(wǎng)絡(luò)擁塞程度的增加,C當(dāng)前的值的減小量也線性增加,在最壞情況下,網(wǎng)絡(luò)極度擁塞,α的值趨近于1,此時(shí)C當(dāng)前的值將減小為原來的1/2。
而當(dāng)所述當(dāng)前RTT的擁塞程度信息小于預(yù)設(shè)的擁塞控制閾值時(shí),所述數(shù)值設(shè)置單元12可以基于第二變量計(jì)算公式,并采用所述上一個(gè)RTT的變量數(shù)值、所述當(dāng)前RTT的擁塞程度信息、所述擁塞控制閾值和預(yù)設(shè)參數(shù),計(jì)算所述當(dāng)前RTT的擁塞窗口的變量數(shù)值,所述第二變量計(jì)算公式為:
其中,C當(dāng)前表示為所述當(dāng)前RTT的變量數(shù)值,C上一個(gè)表示為所述上一個(gè)RTT的變量數(shù)值,α表示為所述當(dāng)前RTT的擁塞程度信息,t表示為所述擁塞控制閾值,Cincr表示為所述預(yù)設(shè)參數(shù)。同理,如果網(wǎng)絡(luò)擁塞程度只是稍微小于預(yù)期的t值,則C當(dāng)前的值的增加量接近于0。隨著α和t之間的差距不斷增大,C當(dāng)前的值也隨著線性增加。當(dāng)α趨于最小值0的時(shí)候,C當(dāng)前的值的增加量將趨于Cincr,需要說明的是,預(yù)設(shè)參數(shù)的取值可以根據(jù)開發(fā)人員的經(jīng)驗(yàn)進(jìn)行設(shè)置,所述預(yù)設(shè)參數(shù)的取值可以與上一個(gè)RTT的變量數(shù)值相關(guān),例如:Cincr=1/2×C上一個(gè),采用此方式取值,使得C當(dāng)前的值與當(dāng)所述當(dāng)前RTT的擁塞程度信息大于預(yù)設(shè)的擁塞控制閾值時(shí)的值對稱,或者可以令所述預(yù)設(shè)參數(shù)為一常數(shù)值,例如:Cincr=1等,采用此方式取值,使得C當(dāng)前的值的變化過程可預(yù)測。
進(jìn)一步的,針對所述當(dāng)前RTT的變量數(shù)值,為了避免當(dāng)前RTT的擁塞窗口的增長速率過快或者減小速率過快,可以預(yù)先設(shè)置預(yù)設(shè)變量數(shù)值范圍,使得當(dāng)前RTT的變量數(shù)值保持在一個(gè)合理調(diào)整的范圍內(nèi),本發(fā)明實(shí)施例的所述數(shù)據(jù)流傳輸控制設(shè)備1還可以包括:
數(shù)值調(diào)整單元,用于當(dāng)所述當(dāng)前RTT的變量數(shù)值大于預(yù)設(shè)變量數(shù)值范圍的最大值時(shí),將所述當(dāng)前RTT的擁塞窗口的變量數(shù)值調(diào)整為所述最大值;
所述數(shù)值調(diào)整單元,還用于當(dāng)所述當(dāng)前RTT的變量數(shù)值小于預(yù)設(shè)變量數(shù)值范圍的最小值時(shí),將所述當(dāng)前RTT的擁塞窗口的變量數(shù)值調(diào)整為所述最小值。
在本發(fā)明實(shí)施例的第二種實(shí)現(xiàn)方式中,當(dāng)所述傳輸網(wǎng)絡(luò)的網(wǎng)絡(luò)狀態(tài)為擁塞狀態(tài)時(shí),可以理解的是,當(dāng)所述當(dāng)前RTT內(nèi)的數(shù)據(jù)流為大數(shù)據(jù)流時(shí),所述數(shù)值設(shè)置單元12可以基于第三變量計(jì)算公式,并采用所述當(dāng)前RTT的擁塞程度信息計(jì)算所述當(dāng)前RTT的擁塞窗口的變量數(shù)值,所述第三變量計(jì)算公式為:
其中,C當(dāng)前表示為所述當(dāng)前RTT的變量數(shù)值,α表示為所述當(dāng)前RTT的擁塞程度信息。
而當(dāng)所述當(dāng)前RTT內(nèi)的數(shù)據(jù)流為小數(shù)據(jù)流時(shí),所述數(shù)值設(shè)置單元12可以基于第四變量計(jì)算公式,并采用所述當(dāng)前RTT的擁塞程度信息和預(yù)設(shè)指數(shù)參數(shù)計(jì)算所述當(dāng)前RTT的擁塞窗口的變量數(shù)值,所述第四變量計(jì)算公式為:
其中,C當(dāng)前表示為所述當(dāng)前RTT的變量數(shù)值,α表示為所述當(dāng)前RTT的擁塞程度信息,d表示為預(yù)設(shè)指數(shù)參數(shù),d為大于1的實(shí)數(shù)。
窗口調(diào)整單元13,用于采用所述當(dāng)前RTT的變量數(shù)值對所述當(dāng)前RTT的上一個(gè)RTT的擁塞窗口進(jìn)行調(diào)整以生成當(dāng)前RTT的擁塞窗口;
具體實(shí)現(xiàn)中,所述窗口調(diào)整單元13可以采用所述當(dāng)前RTT的變量數(shù)值對所述當(dāng)前RTT的上一個(gè)RTT的擁塞窗口進(jìn)行調(diào)整以生成當(dāng)前RTT的擁塞窗口,進(jìn)一步的,所述窗口調(diào)整單元13可以依據(jù)大數(shù)據(jù)流和小數(shù)據(jù)流的優(yōu)先級分別生成當(dāng)前RTT的擁塞窗口,以保證對通信延遲需求較高的小數(shù)據(jù)流可以優(yōu)先進(jìn)行處理。
進(jìn)一步的,針對上述第一種實(shí)施方式,當(dāng)所述當(dāng)前RTT內(nèi)的數(shù)據(jù)流為大數(shù)據(jù)流時(shí),所述窗口調(diào)整單元13可以在所述上一個(gè)RTT的擁塞窗口上增加所述當(dāng)前RTT的變量數(shù)值以生成當(dāng)前RTT的擁塞窗口,而當(dāng)所述當(dāng)前RTT內(nèi)的數(shù)據(jù)流為小數(shù)據(jù)流時(shí),所述窗口調(diào)整單元13可以在所述上一個(gè)RTT的擁塞窗口上增加所述最大值以生成當(dāng)前RTT的擁塞窗口。由于針對小數(shù)據(jù)流,其增加量恒為預(yù)設(shè)變量數(shù)值范圍的最大值,因此其增加量總是大于或等于大數(shù)據(jù)流的增加量,因此在網(wǎng)絡(luò)狀態(tài)處于擁塞避免狀態(tài)時(shí),可以更快的對小數(shù)據(jù)流進(jìn)行處理,有效的降低了在擁塞避免狀態(tài)下的小數(shù)據(jù)流的傳輸延遲。
針對上述第二種實(shí)施方式,所述窗口調(diào)整單元13可以將所述上一個(gè)RTT的擁塞窗口與所述當(dāng)前RTT的變量數(shù)值相乘以生成當(dāng)前RTT的擁塞窗口,由于小數(shù)據(jù)流的當(dāng)前RTT的變量數(shù)值總是大于或等于大數(shù)據(jù)流的增加量,因此與上一個(gè)RTT的擁塞窗口相乘時(shí),小數(shù)據(jù)流的當(dāng)前RTT的擁塞窗口相較上一個(gè)RTT的擁塞窗口的減少量總是小于或等于大數(shù)據(jù)流的,因此在網(wǎng)絡(luò)狀態(tài)處于擁塞狀態(tài)時(shí),可以更好的維持針對小數(shù)據(jù)流的當(dāng)前RTT的擁塞窗口,更快的對小數(shù)據(jù)流進(jìn)行處理,有效的降低了在擁塞狀態(tài)下的小數(shù)據(jù)流的傳輸延遲。
數(shù)據(jù)流輸出單元14,用于采用所述當(dāng)前RTT的擁塞窗口對當(dāng)前RTT內(nèi)的數(shù)據(jù)流進(jìn)行輸出。
在本發(fā)明實(shí)施例中,通過獲取當(dāng)前RTT內(nèi)進(jìn)行數(shù)據(jù)流傳輸?shù)膫鬏斁W(wǎng)絡(luò)的擁塞程度信息,并根據(jù)擁塞程度信息設(shè)置針對當(dāng)前RTT的擁塞窗口的變量數(shù)值,最終采用該變量數(shù)值對上一個(gè)RTT的擁塞窗口進(jìn)行調(diào)整生成當(dāng)前RTT的擁塞窗口以及采用當(dāng)前RTT的擁塞窗口進(jìn)行數(shù)據(jù)流輸出,實(shí)現(xiàn)了動(dòng)態(tài)調(diào)整數(shù)據(jù)流發(fā)送的擁塞窗口,保證了傳輸網(wǎng)絡(luò)的帶寬利用率,有效減少了數(shù)據(jù)傳輸?shù)难舆t或丟失,進(jìn)而提升了數(shù)據(jù)的準(zhǔn)確性,保證了對運(yùn)動(dòng)數(shù)據(jù)進(jìn)行實(shí)時(shí)記錄的效果;通過在傳輸網(wǎng)絡(luò)的網(wǎng)絡(luò)狀態(tài)為擁塞避免狀態(tài)時(shí)預(yù)設(shè)一擁塞控制閾值,可以在擁塞避免狀態(tài)下動(dòng)態(tài)調(diào)整當(dāng)前RTT的擁塞窗口,是的傳輸網(wǎng)絡(luò)的帶寬資源利用率保持在較高的水平,進(jìn)而保證傳輸網(wǎng)絡(luò)的吞吐率,同時(shí)通過設(shè)置預(yù)設(shè)變量數(shù)值范圍對當(dāng)前RTT的變量數(shù)值進(jìn)行限定,可以避免當(dāng)前RTT的擁塞窗口的增長速率過快或者減小速率過快,保證了傳輸網(wǎng)絡(luò)的穩(wěn)定性;通過對大數(shù)據(jù)流和小數(shù)據(jù)流進(jìn)行區(qū)分,可以更快的對小數(shù)據(jù)流進(jìn)行處理,有效的降低了小數(shù)據(jù)流的傳輸延遲。
本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分流程,是可以通過計(jì)算機(jī)程序來指令相關(guān)的硬件來完成,所述的程序可存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),可包括如上述各方法的實(shí)施例的流程。其中,所述的存儲(chǔ)介質(zhì)可為磁碟、光盤、只讀存儲(chǔ)記憶體(Read-Only Memory,ROM)或隨機(jī)存儲(chǔ)記憶體(Random Access Memory,RAM)等。
以上所揭露的僅為本發(fā)明較佳實(shí)施例而已,當(dāng)然不能以此來限定本發(fā)明之權(quán)利范圍,因此依本發(fā)明權(quán)利要求所作的等同變化,仍屬本發(fā)明所涵蓋的范圍。