所屬的技術(shù)人員能夠理解,本技術(shù)的各個方面可以實(shí)現(xiàn)為系統(tǒng)、方法或程序產(chǎn)品。因此,本技術(shù)的各個方面可以具體實(shí)現(xiàn)為以下形式,即:完全的硬件實(shí)施方式、完全的軟件實(shí)施方式(包括固件、微代碼等),或硬件和軟件方面結(jié)合的實(shí)施方式,這里可以統(tǒng)稱為“電路”、“模塊”或“系統(tǒng)”。下面參照圖4來描述根據(jù)本技術(shù)的這種實(shí)施方式的電子設(shè)備600。圖4顯示的電子設(shè)備600僅僅是一個示例,不應(yīng)對本技術(shù)實(shí)施例的功能和使用范圍帶來任何限制。如圖4所示,電子設(shè)備600以通用計(jì)算設(shè)備的形式表現(xiàn)。電子設(shè)備600的組件可以包括但不限于:至少一個處理單元610、至少一個存儲單元620、連接不同系統(tǒng)組件(包括存儲單元620和處理單元610)的總線630、顯示單元640等。其中,所述存儲單元存儲有程序代碼,所述程序代碼可以被所述處理單元610執(zhí)行,使得所述處理單元610執(zhí)行本說明書上述網(wǎng)絡(luò)狀態(tài)評估方法部分中描述的根據(jù)本技術(shù)各種示例性實(shí)施方式的步驟。例如,所述處理單元610可以執(zhí)行如圖1中所示的步驟。所述存儲單元620可以包括易失性存儲單元形式的可讀介質(zhì),例如隨機(jī)存取存儲單元(ram)6201和/或高速緩存存儲單元6202,還可以進(jìn)一步包括只讀存儲單元(rom)6203。所述存儲單元620還可以包括具有一組(至少一個)程序模塊6205的程序/實(shí)用工具6204,這樣的程序模塊6205包括但不限于:操作系統(tǒng)、一個或者多個應(yīng)用程序、其它程序模塊以及程序數(shù)據(jù),這些示例中的每一個或某種組合中可能包括網(wǎng)絡(luò)環(huán)境的實(shí)現(xiàn)??偩€630可以為表示幾類總線結(jié)構(gòu)中的一種或多種,包括存儲單元總線或者存儲單元控制器、外圍總線、圖形加速端口、處理單元或者使用多種總線結(jié)構(gòu)中的任意總線結(jié)構(gòu)的局域總線。電子設(shè)備600也可以與一個或多個外部設(shè)備700(例如鍵盤、指向設(shè)備、藍(lán)牙設(shè)備等)通信,還可與一個或者多個使得用戶能與該電子設(shè)備600交互的設(shè)備通信,和/或與使得該電子設(shè)備600能與一個或多個其它計(jì)算設(shè)備進(jìn)行通信的任何設(shè)備(例如路由器、調(diào)制解調(diào)器等等)通信。這種通信可以通過輸入/輸出(i/o)接口650進(jìn)行。并且,電子設(shè)備600還可以通過網(wǎng)絡(luò)適配器660與一個或者多個網(wǎng)絡(luò)(例如局域網(wǎng)(lan),廣域網(wǎng)(wan)和/或公共網(wǎng)絡(luò),例如因特網(wǎng))通信。網(wǎng)絡(luò)適配器660可以通過總線630與電子設(shè)備600的其它模塊通信。應(yīng)當(dāng)明白,盡管圖中未示出,可以結(jié)合電子設(shè)備600使用其它硬件和/或軟件模塊,包括但不限于:微代碼、設(shè)備驅(qū)動器、冗余處理單元、外部磁盤驅(qū)動陣列、raid系統(tǒng)、磁帶驅(qū)動器以及數(shù)據(jù)備份存儲系統(tǒng)等。通過采用本技術(shù)所提供的網(wǎng)絡(luò)狀態(tài)評估設(shè)備,所述處理器在執(zhí)行所述可執(zhí)行指令時執(zhí)行所述的網(wǎng)絡(luò)狀態(tài)評估方法,由此可以獲得上述網(wǎng)絡(luò)狀態(tài)評估方法的有益效果。本技術(shù)實(shí)施例還提供一種計(jì)算機(jī)可讀存儲介質(zhì),用于存儲程序,所述程序被處理器執(zhí)行時實(shí)現(xiàn)所述的網(wǎng)絡(luò)狀態(tài)評估方法的步驟。在一些可能的實(shí)施方式中,本技術(shù)的各個方面還可以實(shí)現(xiàn)為一種程序產(chǎn)品的形式,其包括程序代碼,當(dāng)所述程序產(chǎn)品在終端設(shè)備上運(yùn)行時,所述程序代碼用于使所述終端設(shè)備執(zhí)行本說明書上述網(wǎng)絡(luò)狀態(tài)評估方法部分中描述的根據(jù)本技術(shù)各種示例性實(shí)施方式的步驟。參考圖5所示,描述了根據(jù)本技術(shù)的實(shí)施方式的用于實(shí)現(xiàn)上述方法的程序產(chǎn)品800,其可以采用便攜式緊湊盤只讀存儲器(cd-rom)并包括程序代碼,并可以在終端設(shè)備,例如個人電腦上運(yùn)行。然而,本技術(shù)的程序產(chǎn)品不限于此,在本文件中,可讀存儲介質(zhì)可以是任何包含或存儲程序的有形介質(zhì),該程序可以被指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用。所述程序產(chǎn)品可以采用一個或多個可讀介質(zhì)的任意組合??勺x介質(zhì)可以是可讀信號介質(zhì)或者可讀存儲介質(zhì)??勺x存儲介質(zhì)例如可以為但不限于電、磁、光、電磁、紅外線、或半導(dǎo)體的系統(tǒng)、裝置或器件,或者任意以上的組合??勺x存儲介質(zhì)的更具體的例子(非窮舉的列表)包括:具有一個或多個導(dǎo)線的電連接、便攜式盤、硬盤、隨機(jī)存取存儲器(ram)、只讀存儲器(rom)、可擦式可編程只讀存儲器(eprom或閃存)、光纖、便攜式緊湊盤只讀存儲器(cd-rom)、光存儲器件、磁存儲器件、或者上述的任意合適的組合。所述計(jì)算機(jī)可讀存儲介質(zhì)可以包括在基帶中或者作為載波一部分傳播的數(shù)據(jù)信號,其中承載了可讀程序代碼。這種傳播的數(shù)據(jù)信號可以采用多種形式,包括但不限于電磁信號、光信號或上述的任意合適的組合。可讀存儲介質(zhì)還可以是可讀存儲介質(zhì)以外的任何可讀介質(zhì),該可讀介質(zhì)可以發(fā)送、傳播或者傳輸用于由指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用的程序??勺x存儲介質(zhì)上包含的程序代碼可以用任何適當(dāng)?shù)慕橘|(zhì)傳輸,包括但不限于無線、有線、光纜、rf等等,或者上述的任意合適的組合??梢砸砸环N或多種程序設(shè)計(jì)語言的任意組合來編寫用于執(zhí)行本技術(shù)操作的程序代碼,所述程序設(shè)計(jì)語言包括面向?qū)ο蟮某绦蛟O(shè)計(jì)語言—諸如java、c++等,還包括常規(guī)的過程式程序設(shè)計(jì)語言—諸如“c”語言或類似的程序設(shè)計(jì)語言。程序代碼可以完全地在用戶計(jì)算設(shè)備上執(zhí)行、部分地在用戶設(shè)備上執(zhí)行、作為一個獨(dú)立的軟件包執(zhí)行、部分在用戶計(jì)算設(shè)備上部分在遠(yuǎn)程計(jì)算設(shè)備上執(zhí)行、或者完全在遠(yuǎn)程計(jì)算設(shè)備或集群上執(zhí)行。在涉及遠(yuǎn)程計(jì)算設(shè)備的情形中,遠(yuǎn)程計(jì)算設(shè)備可以通過任意種類的網(wǎng)絡(luò),包括局域網(wǎng)(lan)或廣域網(wǎng)(wan),連接到用戶計(jì)算設(shè)備,或者,可以連接到外部計(jì)算設(shè)備(例如利用因特網(wǎng)服務(wù)提供商來通過因特網(wǎng)連接)。通過采用本技術(shù)所提供的計(jì)算機(jī)可讀存儲介質(zhì),其中存儲的程序在被執(zhí)行時實(shí)現(xiàn)所述的網(wǎng)絡(luò)狀態(tài)評估方法的步驟,由此可以獲得上述網(wǎng)絡(luò)狀態(tài)評估方法的有益效果。以上內(nèi)容是結(jié)合具體的優(yōu)選實(shí)施方式對本技術(shù)所作的進(jìn)一步詳細(xì)說明,不能認(rèn)定本技術(shù)的具體實(shí)施只局限于這些說明。對于本技術(shù)所屬的普通技術(shù)人員來說,在不脫離本技術(shù)構(gòu)思的前提下,還可以做出若干簡單推演或替換,都應(yīng)當(dāng)視為屬于本技術(shù)的保護(hù)范圍。
背景技術(shù):
1、webrtc(web?real-time?communications,網(wǎng)頁視頻語音實(shí)時通信)中的帶寬估計(jì)是其擁塞控制機(jī)制的核心組成部分,其中一種策略為基于延遲的帶寬估計(jì)delaybasedbwe?;谘訒r的帶寬估計(jì)主要基于延遲變化推斷出可用的網(wǎng)絡(luò)帶寬。其基于接收端的反饋報文來計(jì)算數(shù)據(jù)包之間的到達(dá)時間差,對到達(dá)的數(shù)據(jù)包進(jìn)行分組,并計(jì)算評估樣本點(diǎn)送入trendlineestimator(排隊(duì)趨勢推測器)中計(jì)算時延梯度,評估網(wǎng)絡(luò)狀態(tài),得到網(wǎng)絡(luò)狀態(tài)評估結(jié)果,來幫助判斷網(wǎng)絡(luò)是否發(fā)生擁塞。
2、在webrtc中,排隊(duì)趨勢推測器默認(rèn)每次計(jì)算時延梯度的評估樣本點(diǎn)為固定值,例如固定設(shè)置為20個。在應(yīng)用中,網(wǎng)絡(luò)擁塞或者網(wǎng)絡(luò)設(shè)備性能不穩(wěn)定等原因,會導(dǎo)致數(shù)據(jù)包的到達(dá)順序被打亂,因此反饋報文中反饋的包到達(dá)時間也會存在亂序,即先發(fā)送的數(shù)據(jù)包可能會比后發(fā)送的數(shù)據(jù)包后到達(dá)接收端,這樣包組中的信息會出現(xiàn)抖動。
3、現(xiàn)有方法中根據(jù)兩個包組變量判斷是否出現(xiàn)亂序,連續(xù)三個包組出現(xiàn)亂序則會進(jìn)行重置,將兩個包組和連續(xù)多次亂序計(jì)數(shù)值都置0;出現(xiàn)一次非亂序包組時則會將連續(xù)多次亂序計(jì)數(shù)值置0。如果連續(xù)三次包組亂序中間出現(xiàn)一次不亂序包組,則只有不亂序包組出現(xiàn)時會生成一個評估樣本點(diǎn)送入排隊(duì)趨勢推測器進(jìn)行評估,由于這個評估樣本點(diǎn)的計(jì)算依賴了前面的亂序包組,因此該評估樣本點(diǎn)存在一定的抖動。由于排隊(duì)趨勢推測器中評估樣本點(diǎn)數(shù)量均設(shè)置為固定值,排隊(duì)趨勢推測器就可能出現(xiàn)誤判現(xiàn)象,導(dǎo)致得到異常的網(wǎng)絡(luò)狀態(tài)評估結(jié)果。
技術(shù)實(shí)現(xiàn)思路
1、針對現(xiàn)有技術(shù)中的問題,本技術(shù)的目的在于提供一種網(wǎng)絡(luò)狀態(tài)評估方法、系統(tǒng)、設(shè)備及存儲介質(zhì),基于包組亂序狀態(tài)動態(tài)調(diào)整進(jìn)行網(wǎng)絡(luò)狀態(tài)評估時的評估樣本點(diǎn)數(shù)量,提高網(wǎng)絡(luò)狀態(tài)評估準(zhǔn)確性。
2、本技術(shù)實(shí)施例提供一種網(wǎng)絡(luò)狀態(tài)評估方法,包括如下步驟:
3、獲取當(dāng)前包組亂序狀態(tài);
4、根據(jù)所述當(dāng)前包組亂序狀態(tài)更新當(dāng)前時刻的亂序包組計(jì)數(shù)值;
5、基于當(dāng)前時刻的亂序包組計(jì)數(shù)值更新當(dāng)前時刻的評估樣本點(diǎn)數(shù)量,其中,所述亂序包組計(jì)數(shù)值越大,對應(yīng)的評估樣本點(diǎn)數(shù)量越大;
6、獲取待處理評估樣本點(diǎn),于當(dāng)前累計(jì)的待處理評估樣本點(diǎn)的數(shù)量達(dá)到當(dāng)前時刻的評估樣本點(diǎn)數(shù)量時,基于當(dāng)前累計(jì)的待處理評估樣本點(diǎn)進(jìn)行網(wǎng)絡(luò)狀態(tài)評估。
7、通過采用本技術(shù)的網(wǎng)絡(luò)狀態(tài)評估方法,首先根據(jù)當(dāng)前包組亂序狀態(tài)來更新亂序包組計(jì)數(shù)值,實(shí)現(xiàn)亂序包組計(jì)數(shù),然后基于亂序包組計(jì)數(shù)值動態(tài)調(diào)整進(jìn)行網(wǎng)絡(luò)狀態(tài)評估時的評估樣本點(diǎn)數(shù)量,在亂序包組計(jì)數(shù)值大時,增大評估樣本點(diǎn)數(shù)量,只有在待處理評估樣本點(diǎn)的數(shù)量達(dá)到當(dāng)前時刻的評估樣本點(diǎn)數(shù)量時,才進(jìn)行網(wǎng)絡(luò)狀態(tài)評估,有利于增加在網(wǎng)絡(luò)狀態(tài)評估時的非抖動評估樣本點(diǎn)數(shù)量,降低網(wǎng)絡(luò)抖動對網(wǎng)絡(luò)狀態(tài)評估準(zhǔn)確性的影響,從而有效地提高了網(wǎng)絡(luò)狀態(tài)評估準(zhǔn)確性,而在亂序包組計(jì)數(shù)值小時,相應(yīng)也減小評估樣本點(diǎn)數(shù)量,由于此時網(wǎng)絡(luò)抖動小,也不會因?yàn)闇p小評估樣本點(diǎn)數(shù)量影響網(wǎng)絡(luò)狀態(tài)評估的準(zhǔn)確性,從而在保證網(wǎng)絡(luò)狀態(tài)評估準(zhǔn)確性的同時提高了網(wǎng)絡(luò)狀態(tài)評估效率。
8、在一些實(shí)施例中,所述獲取當(dāng)前包組亂序狀態(tài),包括如下步驟:
9、基于前一包組信息和當(dāng)前包組信息,采用預(yù)設(shè)的亂序判斷條件,判斷當(dāng)前包組是否發(fā)生亂序,確定當(dāng)前包組亂序狀態(tài)為發(fā)生亂序或未發(fā)生亂序。
10、在一些實(shí)施例中,所述獲取當(dāng)前包組亂序狀態(tài)之前,還包括如下步驟:
11、基于接收端發(fā)送的反饋報文信息,根據(jù)所述反饋報文信息提取最新數(shù)據(jù)包的到達(dá)時間;
12、根據(jù)當(dāng)前包組中數(shù)據(jù)包的到達(dá)時間和最新數(shù)據(jù)包的到達(dá)時間判斷當(dāng)前是否滿足預(yù)設(shè)的新增包組條件;
13、如果是,則獲取當(dāng)前包組亂序狀態(tài)。
14、在一些實(shí)施例中,根據(jù)所述當(dāng)前包組亂序狀態(tài)更新當(dāng)前時刻的亂序包組計(jì)數(shù)值,包括如下步驟:
15、如果當(dāng)前包組亂序狀態(tài)為發(fā)生亂序,則增大前一時刻的亂序包組計(jì)數(shù)值,得到當(dāng)前時刻的亂序包組計(jì)數(shù)值。
16、在一些實(shí)施例中,根據(jù)所述當(dāng)前包組亂序狀態(tài)更新當(dāng)前時刻的亂序包組計(jì)數(shù)值,包括如下步驟:
17、如果當(dāng)前包組亂序狀態(tài)為未發(fā)生亂序,且前一時刻的亂序包組計(jì)數(shù)值大于預(yù)設(shè)的初始化值時,則減小前一時刻的亂序包組計(jì)數(shù)值,得到當(dāng)前時刻的亂序包組計(jì)數(shù)值。
18、在一些實(shí)施例中,所述基于當(dāng)前時刻的亂序包組計(jì)數(shù)值更新當(dāng)前時刻的評估樣本點(diǎn)數(shù)量,包括如下步驟:
19、根據(jù)當(dāng)前時刻的亂序包組計(jì)數(shù)值計(jì)算樣本點(diǎn)數(shù)量系數(shù),其中,當(dāng)前時刻的亂序包組計(jì)數(shù)值越大,樣本點(diǎn)數(shù)量系數(shù)越大;
20、計(jì)算所述樣本點(diǎn)數(shù)量系數(shù)與預(yù)設(shè)的評估樣本點(diǎn)數(shù)量參考值的乘積,得到當(dāng)前時刻的評估樣本點(diǎn)數(shù)量。
21、在一些實(shí)施例中,所述獲取待處理評估樣本點(diǎn)之前,還包括如下步驟:
22、如果當(dāng)前包組亂序狀態(tài)為未發(fā)生亂序,則基于前一包組信息和當(dāng)前包組信息提取指定類型的樣本數(shù)據(jù),作為一個待處理評估樣本點(diǎn)。
23、本技術(shù)實(shí)施例還提供一種網(wǎng)絡(luò)狀態(tài)評估系統(tǒng),應(yīng)用于所述的網(wǎng)絡(luò)狀態(tài)評估方法,所述系統(tǒng)包括:
24、亂序判斷模塊,用于獲取當(dāng)前包組亂序狀態(tài);
25、計(jì)數(shù)值更新模塊,用于根據(jù)所述當(dāng)前包組亂序狀態(tài)更新當(dāng)前時刻的亂序包組計(jì)數(shù)值;
26、樣本點(diǎn)數(shù)量更新模塊,用于基于當(dāng)前時刻的亂序包組計(jì)數(shù)值更新當(dāng)前時刻的評估樣本點(diǎn)數(shù)量,其中,所述亂序包組計(jì)數(shù)值越大,對應(yīng)的評估樣本點(diǎn)數(shù)量越大;
27、網(wǎng)絡(luò)狀態(tài)評估模塊,用于獲取待處理評估樣本點(diǎn),于當(dāng)前累計(jì)的待處理評估樣本點(diǎn)的數(shù)量達(dá)到當(dāng)前時刻的評估樣本點(diǎn)數(shù)量時,基于當(dāng)前累計(jì)的待處理評估樣本點(diǎn)進(jìn)行網(wǎng)絡(luò)狀態(tài)評估。
28、本技術(shù)實(shí)施例還提供一種網(wǎng)絡(luò)狀態(tài)評估設(shè)備,包括:
29、處理器;
30、存儲器,其中存儲有所述處理器的可執(zhí)行指令;
31、其中,所述處理器配置為經(jīng)由執(zhí)行所述可執(zhí)行指令來執(zhí)行所述的網(wǎng)絡(luò)狀態(tài)評估方法的步驟。
32、通過采用本技術(shù)所提供的網(wǎng)絡(luò)狀態(tài)評估設(shè)備,所述處理器在執(zhí)行所述可執(zhí)行指令時執(zhí)行所述的網(wǎng)絡(luò)狀態(tài)評估方法,由此可以獲得上述網(wǎng)絡(luò)狀態(tài)評估方法的有益效果。
33、本技術(shù)實(shí)施例還提供一種計(jì)算機(jī)可讀存儲介質(zhì),用于存儲程序,所述程序被處理器執(zhí)行時實(shí)現(xiàn)所述的網(wǎng)絡(luò)狀態(tài)評估方法的步驟。
34、通過采用本技術(shù)所提供的計(jì)算機(jī)可讀存儲介質(zhì),其中存儲的程序在被執(zhí)行時實(shí)現(xiàn)所述的網(wǎng)絡(luò)狀態(tài)評估方法的步驟,由此可以獲得上述網(wǎng)絡(luò)狀態(tài)評估方法的有益效果。