本發(fā)明涉及網(wǎng)絡(luò)帶寬監(jiān)測領(lǐng)域,特別涉及一種網(wǎng)絡(luò)帶寬動態(tài)監(jiān)測方法及系統(tǒng)。
背景技術(shù):
隨著音視頻網(wǎng)絡(luò)傳輸技術(shù)的不斷提升和完善,視頻直播功能在不同領(lǐng)域都得到了非常廣泛的應(yīng)用,例如現(xiàn)在最火爆的網(wǎng)絡(luò)視頻直播真人秀;教育行業(yè)的校園電視臺;醫(yī)療行業(yè)的手術(shù)直播;政府、企業(yè)的產(chǎn)品展示、在線招聘;還有在線路演、拍賣、競標等等……但是隨著視頻直播的普及,網(wǎng)絡(luò)傳輸不穩(wěn)定性的這一缺點也逐漸開始暴露出來,一旦出現(xiàn)網(wǎng)絡(luò)抖動或者網(wǎng)絡(luò)切換等情況,網(wǎng)絡(luò)質(zhì)量降低,正在直播的視頻畫面就會出現(xiàn)花屏,卡頓等現(xiàn)象。為了在網(wǎng)絡(luò)不穩(wěn)定的情況下,仍然能夠為用戶提供定流暢的視頻直播畫面,可采用多信道傳輸、均衡負載的方法來解決這個問題。而多信道傳輸、均衡負載方法的核心就是動態(tài)監(jiān)測各網(wǎng)絡(luò)信道的實時帶寬,當一個信道信號不好或斷開時,把網(wǎng)絡(luò)傳輸?shù)呢撦d平衡到信號其它信道之上,從而避免了由于信號較弱和基站切換導(dǎo)致的網(wǎng)絡(luò)不穩(wěn)定。
所以,發(fā)明一種網(wǎng)絡(luò)帶寬動態(tài)監(jiān)測方法,在確認網(wǎng)絡(luò)連通的基礎(chǔ)上,實時、準確、快捷地對網(wǎng)絡(luò)帶寬進行監(jiān)測,成為一個亟待解決的問題。
技術(shù)實現(xiàn)要素:
本發(fā)明提供一種網(wǎng)絡(luò)帶寬動態(tài)監(jiān)測方法及系統(tǒng),在確認網(wǎng)絡(luò)連通的基礎(chǔ)上,采取先增加數(shù)據(jù)包、再逐漸減少數(shù)據(jù)包、最后再次增加數(shù)據(jù)包的算法,提高了網(wǎng)絡(luò)帶寬動態(tài)測算精度的同時,也使得對于網(wǎng)絡(luò)帶寬的動態(tài)監(jiān)測變得更加簡便快捷。
本發(fā)明提供一種網(wǎng)絡(luò)帶寬動態(tài)監(jiān)測方法,所述方法包括如下步驟:
向服務(wù)器發(fā)送數(shù)據(jù)包,并接收服務(wù)器返回應(yīng)答數(shù)據(jù)包;當根據(jù)應(yīng)答數(shù)據(jù)包確認無丟包時,逐步增加發(fā)送數(shù)據(jù)包的數(shù)量,直至出現(xiàn)丟包,此時數(shù)據(jù)包發(fā)送數(shù)量為N1;
在N1的基礎(chǔ)上逐步減少發(fā)送數(shù)據(jù)包的數(shù)量,直至確認無丟包,此時數(shù)據(jù)包發(fā)送數(shù)量為N2;
在N2的基礎(chǔ)上逐步增加發(fā)送數(shù)據(jù)包的數(shù)量,直至出現(xiàn)丟包,此時數(shù)據(jù)包的發(fā)送數(shù)量為N3;
將N3-1作為所述網(wǎng)絡(luò)的網(wǎng)絡(luò)帶寬值。
進一步的,所述逐步增加發(fā)送數(shù)據(jù)包的數(shù)量,包括:每次增加發(fā)送n個數(shù)據(jù)包,或每次發(fā)送上次發(fā)送n倍的數(shù)據(jù)包,所述n為自然數(shù),能夠根據(jù)需要設(shè)定。
進一步的,所述逐步減少發(fā)送數(shù)據(jù)包的數(shù)量,包括:每次減少發(fā)送n個數(shù)據(jù)包,或每次發(fā)送上次發(fā)送1/n的數(shù)據(jù)包,所述n為自然數(shù),能夠根據(jù)需要設(shè)定。
進一步的,所述n的取值為2。
進一步的,所述應(yīng)答數(shù)據(jù)包,包括:是否出現(xiàn)丟包的數(shù)據(jù);根據(jù)所述是否出現(xiàn)丟包的數(shù)據(jù),確認是否出現(xiàn)丟包。
進一步的,所述方法還包括:監(jiān)測程序通過網(wǎng)絡(luò)模塊定時發(fā)送監(jiān)測數(shù)據(jù)包到服務(wù)器;所述服務(wù)器收到所述監(jiān)測數(shù)據(jù)包后返回所述應(yīng)答數(shù)據(jù)包;所述監(jiān)測程序根據(jù)所述應(yīng)答數(shù)據(jù)包中的返回信息確定是否出現(xiàn)丟包。
本發(fā)明提供一種網(wǎng)絡(luò)帶寬動態(tài)監(jiān)測系統(tǒng),包括:數(shù)據(jù)包遞增發(fā)送單元,用于向服務(wù)器發(fā)送數(shù)據(jù)包,并接收服務(wù)器返回應(yīng)答數(shù)據(jù)包;當根據(jù)應(yīng)答數(shù)據(jù)包確認無丟包時,逐步增加發(fā)送數(shù)據(jù)包的數(shù)量,直至出現(xiàn)丟包,此時數(shù)據(jù)包發(fā)送數(shù)量為N1;
數(shù)據(jù)包遞減發(fā)送單元,用于在N1的基礎(chǔ)上逐步減少發(fā)送數(shù)據(jù)包的數(shù)量,直至確認無丟包,此時數(shù)據(jù)包發(fā)送數(shù)量為N2;
二次遞增發(fā)送單元,用于在N2的基礎(chǔ)上逐步增加發(fā)送數(shù)據(jù)包的數(shù)量,直至出現(xiàn)丟包,此時數(shù)據(jù)包的發(fā)送數(shù)量為N3;
網(wǎng)絡(luò)帶寬確認單元,用于將N3-1作為所述網(wǎng)絡(luò)的網(wǎng)絡(luò)帶寬值。
進一步的,所述系統(tǒng)還包括:應(yīng)答數(shù)據(jù)包解析單元,用于解析服務(wù)器返回的應(yīng)答數(shù)據(jù)包,并確認是否出現(xiàn)丟包。
進一步的,所述系統(tǒng)還包括:遞增/遞減設(shè)置單元,用于根據(jù)需要設(shè)置n,所述n為自然數(shù);每次增加發(fā)送n個數(shù)據(jù)包,或每次發(fā)送上次發(fā)送n倍的數(shù)據(jù)包;每次減少發(fā)送n個數(shù)據(jù)包,或每次發(fā)送上次發(fā)送1/n的數(shù)據(jù)包。
進一步的,所述遞增/遞減設(shè)置單元還用于根據(jù)需要調(diào)整設(shè)置所述n。
本發(fā)明實施例中,由于采用了上述技術(shù)方案,與現(xiàn)有技術(shù)相比,由于采用了先進的數(shù)學(xué)算法,提高了網(wǎng)絡(luò)帶寬的測算精度的同時,應(yīng)用也變得更加靈活方便。
本發(fā)明的其它特征和優(yōu)點,部分地從說明書中顯而易見,或者通過實施本發(fā)明而了解,也可通過附圖中所特別指出的結(jié)構(gòu)來實現(xiàn)和獲得。
下面通過附圖和實施例,對本發(fā)明的技術(shù)方案做進一步的詳細描述。
附圖說明
附圖用來提供對本發(fā)明的進一步理解,并且構(gòu)成說明書的一部分,與本發(fā)明的實施例一起用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的限制。在附圖中:
圖1為本發(fā)明實施例1提供的網(wǎng)絡(luò)連通性監(jiān)測原理圖。
圖2為本發(fā)明實施例1提供的網(wǎng)絡(luò)帶寬動態(tài)監(jiān)測方法示意圖。
圖3為本發(fā)明實施例2提供的網(wǎng)絡(luò)帶寬監(jiān)測流程1示意圖。
圖4為本發(fā)明實施例2提供的網(wǎng)絡(luò)帶寬監(jiān)測流程2示意圖。
圖5為本發(fā)明實施例2提供的網(wǎng)絡(luò)帶寬監(jiān)測流程3示意圖。
圖6為本發(fā)明實施例3提供的網(wǎng)絡(luò)帶寬動態(tài)監(jiān)測系統(tǒng)構(gòu)成圖。
具體實施方式
以下結(jié)合附圖對本發(fā)明的優(yōu)選實施例進行說明,應(yīng)當理解,此處所描述的優(yōu)選實施例僅用于說明和解釋本發(fā)明,并不用于限定本發(fā)明。
如圖1所示,為本發(fā)明實施例1提供的網(wǎng)絡(luò)連通性監(jiān)測原理流程圖,其中,監(jiān)測程序會定時向每個信道都發(fā)送一個測試連通性的監(jiān)測數(shù)據(jù)包,監(jiān)測數(shù)據(jù)包會通過各個信道對應(yīng)的網(wǎng)絡(luò)模塊發(fā)送到服務(wù)器,服務(wù)器收到監(jiān)測數(shù)據(jù)包之后會返回一個連通性監(jiān)測應(yīng)答數(shù)據(jù)包給我們的多信道設(shè)備,設(shè)備中的監(jiān)測程序會根據(jù)應(yīng)答數(shù)據(jù)包中的信息判斷該數(shù)據(jù)包屬于哪個信道,從而確定該信道的連通性,如果在一定的時間內(nèi)沒有收到某個信道的應(yīng)答數(shù)據(jù)包,則說明該信道網(wǎng)絡(luò)連接不通。連接不通的信道就不會繼續(xù)發(fā)送音視頻信息,暫時放棄使用,直到下次網(wǎng)絡(luò)連通性監(jiān)測。
本發(fā)明實施例提供的網(wǎng)絡(luò)帶寬動態(tài)監(jiān)測方法如圖2所示,監(jiān)測程序在確認網(wǎng)絡(luò)信道連通的基礎(chǔ)上增加發(fā)送數(shù)據(jù)包的數(shù)量;發(fā)送一個數(shù)據(jù)包,并等待服務(wù)器返回應(yīng)答數(shù)據(jù)包,確認無丟包后,再發(fā)送n(n為大于1的正整數(shù))個數(shù)據(jù)包,并等待服務(wù)器返回應(yīng)答數(shù)據(jù)包,確認無丟包后,再發(fā)送前一次發(fā)送數(shù)據(jù)包數(shù)量的n倍的數(shù)據(jù)包,以此類推,直到發(fā)送的數(shù)據(jù)包出現(xiàn)丟包,此時發(fā)送數(shù)據(jù)包的數(shù)量記為N1。
在N1的基礎(chǔ)上減少發(fā)送數(shù)據(jù)包的數(shù)量;發(fā)送N1-1個數(shù)據(jù)包,并等待服務(wù)器返回應(yīng)答數(shù)據(jù)包,確認丟包后,減少發(fā)送數(shù)據(jù)包的數(shù)量并再次發(fā)送,每次減少發(fā)送數(shù)據(jù)包的數(shù)量相比上次發(fā)送減少的數(shù)量是逐漸增加的,以此類推,直到發(fā)送的數(shù)據(jù)包不再丟包,此時發(fā)送的數(shù)據(jù)包數(shù)量記為N2。
在N2的基礎(chǔ)上增加發(fā)送數(shù)據(jù)包的數(shù)量;發(fā)送N2+1個數(shù)據(jù)包,并等待服務(wù)器返回應(yīng)答數(shù)據(jù)包,確認無丟包后,增加發(fā)送數(shù)據(jù)包的數(shù)量并再次發(fā)送,每次發(fā)送數(shù)據(jù)包的數(shù)量比上一次發(fā)送的數(shù)據(jù)包數(shù)量增加1個。直到再次出現(xiàn)丟包,則丟包的上一次發(fā)送的數(shù)據(jù)量即為該網(wǎng)絡(luò)的帶寬。
具體的監(jiān)測過程如圖3、4、5所示。圖3為在確認網(wǎng)絡(luò)連通的情況下,監(jiān)測程序會先發(fā)送一個數(shù)據(jù)包,并等待服務(wù)器返回應(yīng)答數(shù)據(jù)包,確認無丟包后,再發(fā)送2個數(shù)據(jù)包,并等待服務(wù)器返回應(yīng)答數(shù)據(jù)包,確認無丟包后,再發(fā)送前一次發(fā)送數(shù)據(jù)包數(shù)量的2倍,即發(fā)送數(shù)據(jù)量是指數(shù)級增長,直到發(fā)送數(shù)據(jù)包的數(shù)量超過該信道負載峰值并出現(xiàn)丟包后,改變發(fā)送策略。改變后的發(fā)送策略如圖4所示:此時,發(fā)送數(shù)據(jù)包的數(shù)量開始減少,每次發(fā)送的數(shù)據(jù)包數(shù)量減少的數(shù)量相比上次發(fā)送時減少的數(shù)量是逐漸增長的,直到不再丟包為止。比如,發(fā)送數(shù)據(jù)包數(shù)量為N的時候出現(xiàn)丟包,則改變策略后發(fā)送數(shù)據(jù)包的數(shù)量為N-1,如果依然丟包,則發(fā)送N-1-2個數(shù)據(jù)包,如果還是丟包,則發(fā)送N-1-2-3個數(shù)據(jù)包,以此類推,直到發(fā)送數(shù)據(jù)包時不再出現(xiàn)丟包。然后再次改變發(fā)送策略。再次改變后的發(fā)送策略如圖5所示:此時,發(fā)送數(shù)據(jù)包的數(shù)量開始減少,每次發(fā)送的數(shù)據(jù)包數(shù)量減少的數(shù)量相比上次發(fā)送時減少的數(shù)量是逐漸增長的,直到不再丟包為止。比如,發(fā)送數(shù)據(jù)包數(shù)量為N的時候出現(xiàn)丟包,則改變策略后發(fā)送數(shù)據(jù)包的數(shù)量為N-1,如果依然丟包,則發(fā)送N-1-2個數(shù)據(jù)包,如果還是丟包,則發(fā)送N-1-2-3個數(shù)據(jù)包,以此類推,直到發(fā)送數(shù)據(jù)包時不再出現(xiàn)丟包。然后再次改變發(fā)送策略。
本發(fā)明實施例提供的網(wǎng)絡(luò)帶寬監(jiān)測系統(tǒng)組成如圖6所示,包括數(shù)據(jù)包遞增發(fā)送單元,用于向服務(wù)器發(fā)送數(shù)據(jù)包,并接收服務(wù)器返回應(yīng)答數(shù)據(jù)包;當根據(jù)應(yīng)答數(shù)據(jù)包確認無丟包時,逐步增加發(fā)送數(shù)據(jù)包的數(shù)量,直至出現(xiàn)丟包,此時數(shù)據(jù)包發(fā)送數(shù)量為N1;數(shù)據(jù)包遞減發(fā)送單元,用于在N1的基礎(chǔ)上逐步減少發(fā)送數(shù)據(jù)包的數(shù)量,直至確認無丟包,此時數(shù)據(jù)包發(fā)送數(shù)量為N2;二次遞增發(fā)送單元,用于在N2的基礎(chǔ)上逐步增加發(fā)送數(shù)據(jù)包的數(shù)量,直至出現(xiàn)丟包,此時數(shù)據(jù)包的發(fā)送數(shù)量為N3;網(wǎng)絡(luò)帶寬確認單元,用于將N3-1作為所述網(wǎng)絡(luò)的網(wǎng)絡(luò)帶寬值。
具體的,系統(tǒng)還包括應(yīng)答數(shù)據(jù)包解析單元,用于解析服務(wù)器返回的應(yīng)答數(shù)據(jù)包,并確認是否出現(xiàn)丟包。
還包括遞增/遞減設(shè)置單元,用于根據(jù)需要設(shè)置n,所述n為自然數(shù);
每次增加發(fā)送n個數(shù)據(jù)包;或每次發(fā)送上次發(fā)送n倍的數(shù)據(jù)包;
每次減少發(fā)送n個數(shù)據(jù)包;或每次發(fā)送上次發(fā)送1/n的數(shù)據(jù)包。
所述遞增/遞減設(shè)置單元還用于根據(jù)需要調(diào)整設(shè)置所述n。
綜上所述,本發(fā)明實施例中,由于采用了上述技術(shù)方案,與現(xiàn)有技術(shù)相比,在提高了網(wǎng)絡(luò)帶寬的測算精度的同時,應(yīng)用也變得更加靈活方便。
本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實施例可提供為方法、系統(tǒng)、或計算機程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實施例、完全軟件實施例、或結(jié)合軟件和硬件方面的實施例的形式。而且,本發(fā)明可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(zhì)(包括但不限于磁盤存儲器和光學(xué)存儲器等)上實施的計算機程序產(chǎn)品的形式。
發(fā)明是參照根據(jù)本發(fā)明實施例的方法、設(shè)備(系統(tǒng))、和計算機程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計算機程序指令實現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個機器,使得通過計算機或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
顯然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明進行各種改動和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。