本發(fā)明涉及網(wǎng)絡(luò)測(cè)速技術(shù)領(lǐng)域,特別涉及一種高并發(fā)小流量網(wǎng)絡(luò)測(cè)速系統(tǒng)及方法。
背景技術(shù):
隨著寬帶網(wǎng)絡(luò)(固網(wǎng))和移動(dòng)網(wǎng)絡(luò)(移動(dòng)網(wǎng))的用戶高速發(fā)展,網(wǎng)絡(luò)帶寬的急速提高,網(wǎng)絡(luò)測(cè)速的需求越來越大。但是傳統(tǒng)的HTTP和FTP上傳下載與Socket UDP大包方式的測(cè)速對(duì)測(cè)速服務(wù)器的物理帶寬要求非常高,無法做到高并發(fā)的網(wǎng)絡(luò)測(cè)速;并且傳統(tǒng)測(cè)速方式對(duì)測(cè)速用戶影響也較大,在測(cè)速時(shí),用戶基本無法使用其他任何網(wǎng)絡(luò)應(yīng)用,否則將對(duì)測(cè)速結(jié)果產(chǎn)生較大的影響。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的是針對(duì)現(xiàn)有技術(shù)存在的不足,提供一種高并發(fā)小流量網(wǎng)絡(luò)測(cè)速系統(tǒng)及方法,其支持高并發(fā)測(cè)速,所消耗的流量和消耗的時(shí)間少,對(duì)測(cè)速用戶影響小,測(cè)速精度高。
本發(fā)明的目的是采用下述方案實(shí)現(xiàn)的:一種高并發(fā)小流量網(wǎng)絡(luò)測(cè)速系統(tǒng),包括測(cè)速客戶端、調(diào)度服務(wù)器和多個(gè)測(cè)速服務(wù)器(兩個(gè)或兩個(gè)以上),所述測(cè)速客戶端用于發(fā)送測(cè)速請(qǐng)求給調(diào)度服務(wù)器,所述調(diào)度服務(wù)器用于接收測(cè)速客戶端的測(cè)速請(qǐng)求,根據(jù)測(cè)速請(qǐng)求以及測(cè)速服務(wù)器的繁忙程度,為發(fā)送測(cè)速請(qǐng)求的測(cè)速客戶端分配測(cè)速方案以及對(duì)應(yīng)的測(cè)速服務(wù)器。
在某些應(yīng)用場(chǎng)景中,如果需要完整的端到端監(jiān)控測(cè)速,那么本發(fā)明的高并發(fā)小流量網(wǎng)絡(luò)測(cè)速系統(tǒng)還包括探針服務(wù)器,所述探針服務(wù)器作為測(cè)速客戶端測(cè)速的服務(wù)器端,作為測(cè)速服務(wù)器的客戶端,用于進(jìn)行網(wǎng)絡(luò)端到端監(jiān)測(cè)測(cè)速。優(yōu)選地,探針服務(wù)器為三個(gè),三個(gè)探針服務(wù)器分別部署在接入層、匯聚層、核心層中,其主要是為了進(jìn)行網(wǎng)絡(luò)端到端監(jiān)測(cè)測(cè)速,可以通過測(cè)速規(guī)則高(秒級(jí))頻率的小流量測(cè)速完整的診斷到底是客戶端網(wǎng)絡(luò)、接入層網(wǎng)絡(luò)、匯聚層網(wǎng)路或者核心層網(wǎng)絡(luò)出現(xiàn)瓶頸或問題。
多個(gè)測(cè)速服務(wù)器構(gòu)成測(cè)速服務(wù)器集群。
一種高并發(fā)小流量網(wǎng)絡(luò)測(cè)速系統(tǒng),包括測(cè)速客戶端、調(diào)度服務(wù)器、探針服務(wù)器和一個(gè)測(cè)速服務(wù)器,所述測(cè)速客戶端用于發(fā)送測(cè)速請(qǐng)求給調(diào)度服務(wù)器,所述探針服務(wù)器作為測(cè)速客戶端測(cè)速的服務(wù)器端,作為測(cè)速服務(wù)器的客戶端,用于進(jìn)行網(wǎng)絡(luò)端到端監(jiān)測(cè)測(cè)速,所述調(diào)度服務(wù)器用于接收客戶端的測(cè)速請(qǐng)求,根據(jù)測(cè)速請(qǐng)求以及服務(wù)器端的繁忙程度,為發(fā)送測(cè)速請(qǐng)求的客戶端分配測(cè)速方案以及對(duì)應(yīng)的服務(wù)器端。優(yōu)選地,探針服務(wù)器為三個(gè),三個(gè)探針服務(wù)器分別部署在接入層、匯聚層、核心層中,其主要是為了進(jìn)行網(wǎng)絡(luò)端到端監(jiān)測(cè)測(cè)速,可以通過測(cè)速規(guī)則高(秒級(jí))頻率的小流量測(cè)速完整的診斷到底是客戶端網(wǎng)絡(luò)、接入層網(wǎng)絡(luò)、匯聚層網(wǎng)路或者核心層網(wǎng)絡(luò)出現(xiàn)瓶頸或問題。
本發(fā)明的高并發(fā)小流量網(wǎng)絡(luò)測(cè)速系統(tǒng)還包括數(shù)據(jù)采集服務(wù)器,所述數(shù)據(jù)采集服務(wù)器用于從客戶端或服務(wù)器端接收測(cè)速數(shù)據(jù),并進(jìn)行存儲(chǔ)。
所述測(cè)速客戶端為智能設(shè)備,包括智能手機(jī)、個(gè)人電腦/筆記本/Mac、智能網(wǎng)關(guān)、智能電視、智能機(jī)頂盒、智能路由器。
一種高并發(fā)小流量網(wǎng)絡(luò)測(cè)速方法,包括如下步驟:
S1)客戶端向調(diào)度服務(wù)器發(fā)起測(cè)速請(qǐng)求;
S2)調(diào)度服務(wù)器根據(jù)測(cè)速請(qǐng)求和服務(wù)器端的繁忙程度,為發(fā)送測(cè)速請(qǐng)求的客戶端分配測(cè)速方案以及對(duì)應(yīng)的服務(wù)器端;
S3)當(dāng)客戶端請(qǐng)求下行測(cè)速時(shí),如果客戶端網(wǎng)絡(luò)是令牌桶限速方式,則服務(wù)器端發(fā)起令牌桶限速測(cè)試方案測(cè)速;如果客戶端網(wǎng)絡(luò)未限速或使用的是漏桶限速,則服務(wù)器端根據(jù)測(cè)速請(qǐng)求發(fā)起下行物理帶寬測(cè)試方案測(cè)速或/和下行可用帶寬測(cè)試方案測(cè)速;
S4)當(dāng)客戶端請(qǐng)求上行測(cè)速時(shí),如果客戶端網(wǎng)絡(luò)是令牌桶限速方式,則客戶端發(fā)起令牌桶限速測(cè)試方案測(cè)速;如果客戶端網(wǎng)絡(luò)未限速或使用的是漏桶限速,則客戶端根據(jù)測(cè)速請(qǐng)求發(fā)起上行物理帶寬測(cè)試方案測(cè)速或/和上行可用帶寬測(cè)試方案測(cè)速。
測(cè)速請(qǐng)求包括測(cè)速方向、優(yōu)先級(jí)、客戶端所處網(wǎng)絡(luò)類型。
客戶端或服務(wù)器端將測(cè)速后得到的測(cè)速結(jié)果上報(bào)給數(shù)據(jù)采集服務(wù)器,數(shù)據(jù)采集服務(wù)器記錄測(cè)速結(jié)果。測(cè)速結(jié)果可以包含但不限于物理帶寬、可用帶寬、峰值物理帶寬(僅用于令牌桶測(cè)試方案測(cè)速)、峰值可用帶寬(僅用于令牌桶測(cè)試方案測(cè)速)、丟包率、時(shí)延、每次測(cè)速消耗時(shí)間、每次測(cè)速消耗流量。
客戶端為測(cè)速客戶端或探針服務(wù)器,服務(wù)器端為測(cè)速服務(wù)器或探針服務(wù)器,當(dāng)探針服務(wù)器作為服務(wù)器端時(shí),客戶端為測(cè)速客戶端,當(dāng)探針服務(wù)器作為客戶端時(shí),服務(wù)器端為測(cè)速服務(wù)器。
物理帶寬測(cè)試方案包括如下步驟:
S1)被測(cè)試端與測(cè)試端第一次交互:被測(cè)試端與測(cè)試端建立鏈路連接,被測(cè)試端傳遞第一次交互的測(cè)試參數(shù)給測(cè)試端,測(cè)試端以被測(cè)試端傳遞的第一次交互的測(cè)試參數(shù)為指導(dǎo),發(fā)送網(wǎng)絡(luò)探測(cè)包列給被測(cè)試端,被測(cè)試端接收測(cè)試端的網(wǎng)絡(luò)探測(cè)包列,根據(jù)網(wǎng)絡(luò)探測(cè)包列中數(shù)據(jù)包的數(shù)量和時(shí)延預(yù)估網(wǎng)絡(luò)的物理帶寬,根據(jù)預(yù)估的網(wǎng)絡(luò)物理帶寬確定第二次交互的測(cè)試參數(shù);
S2)被測(cè)試端與測(cè)試端第二次交互:被測(cè)試端將步驟S1)中確定的第二次交互的測(cè)試參數(shù)傳遞給測(cè)試端,測(cè)試端以被測(cè)試端傳遞的第二次交互的測(cè)試參數(shù)為指導(dǎo),發(fā)送網(wǎng)絡(luò)測(cè)試包列給被測(cè)試端,被測(cè)試端接收測(cè)試端的網(wǎng)絡(luò)測(cè)試包列,根據(jù)網(wǎng)絡(luò)測(cè)試包列中數(shù)據(jù)包的數(shù)量和時(shí)延計(jì)算得到網(wǎng)絡(luò)物理帶寬;
測(cè)試下行物理帶寬時(shí),測(cè)試端為服務(wù)器端,被測(cè)試端為客戶端,測(cè)試上行物理帶寬時(shí),測(cè)試端為客戶端,被測(cè)試端為服務(wù)器端。
將網(wǎng)絡(luò)物理帶寬劃分區(qū)間范圍,在被測(cè)試端中設(shè)定與各個(gè)區(qū)間范圍一一對(duì)應(yīng)的測(cè)試參數(shù),被測(cè)試端與測(cè)試端第一次交互后,被測(cè)試端預(yù)估出網(wǎng)絡(luò)的物理帶寬,判斷預(yù)估的網(wǎng)絡(luò)物理帶寬所在的區(qū)間范圍,預(yù)估的網(wǎng)絡(luò)物理帶寬所在的區(qū)間范圍所對(duì)應(yīng)的測(cè)試參數(shù)為第二次交互的測(cè)試參數(shù)。
因?yàn)槟壳皩?shí)際網(wǎng)絡(luò)物理帶寬通常最大值為1000M,因此將網(wǎng)絡(luò)物理帶寬劃分為兩個(gè)區(qū)間范圍,分別為(0,100M]和(100M,1000M],其中(0,100M]區(qū)間范圍對(duì)應(yīng)的測(cè)試參數(shù)中的包個(gè)數(shù)為n1;(100M,1000M]區(qū)間范圍對(duì)應(yīng)的測(cè)試參數(shù)中的包個(gè)數(shù)為n2。n1和n2可以根據(jù)情況進(jìn)行調(diào)整。當(dāng)網(wǎng)絡(luò)物理帶寬大于1000M時(shí),該區(qū)間范圍對(duì)應(yīng)的測(cè)試參數(shù)與(100M,1000M]區(qū)間范圍對(duì)應(yīng)的測(cè)試參數(shù)相同,當(dāng)然,也可以根據(jù)實(shí)際需要設(shè)定為其他測(cè)試參數(shù)。
n1為一個(gè)大于或等于70,且小于或等于130的數(shù),n2為一個(gè)大于或等于250,且小于或等于750的數(shù),即70≤n1≤130。250≤n2≤750。實(shí)際網(wǎng)絡(luò)情況下,100M和1000M網(wǎng)絡(luò)發(fā)送的測(cè)試參數(shù)有非常大的不同。
第二次交互的測(cè)試參數(shù)中包大小為n3,單位為byte,500≤n3≤1450。n3可以根據(jù)情況進(jìn)行調(diào)整。
第一次交互的測(cè)試參數(shù)中包大小為n4,單位為byte,500≤n4≤1450。n4可以根據(jù)情況進(jìn)行調(diào)整。第一次交互的測(cè)試參數(shù)中包個(gè)數(shù)為n5,30≤n5≤70。n5可以根據(jù)情況進(jìn)行調(diào)整。第一次交互的測(cè)試參數(shù)中包大小和包個(gè)數(shù)都較小(少),通常為500byte X 50個(gè)。因?yàn)榈谝淮尾恢揽蛻舳水?dāng)前網(wǎng)絡(luò)帶寬,因此才需要進(jìn)行一次預(yù)估測(cè)試。第一次交互只需要得到一個(gè)預(yù)估值,對(duì)精度要求不高,使用小包和少量包同時(shí)也節(jié)省測(cè)試時(shí)間和流量。
采取上述小流量物理帶寬測(cè)試方案后,可在網(wǎng)絡(luò)運(yùn)行同時(shí)全天24小時(shí)獲取網(wǎng)絡(luò)物理帶寬,由于一次物理帶寬測(cè)試,從服務(wù)器端發(fā)送到客戶端的數(shù)據(jù)包非常小(通常只有幾百K),速度非常快,大大的增強(qiáng)了用戶感知,增加了網(wǎng)絡(luò)的利用效率和提高了網(wǎng)絡(luò)運(yùn)行質(zhì)量。同時(shí),方便網(wǎng)絡(luò)運(yùn)營(yíng)維護(hù)團(tuán)隊(duì)及時(shí)發(fā)現(xiàn)網(wǎng)絡(luò)中的問題和瓶頸,快速維護(hù)和維修,提高網(wǎng)絡(luò)使用者的滿意度。
可用帶寬測(cè)試方案包括如下步驟:
S1)已知物理帶寬C,設(shè)定測(cè)試精度Ac,測(cè)試端以RI1速度發(fā)送間隔包列給被測(cè)試端,RI1=C。測(cè)試精度Ac∈(0,0.3]。
S2)被測(cè)試端通過收到步驟S1)發(fā)送的間隔包列計(jì)算收包速度RO1,對(duì)RI1/RO1-1進(jìn)行判斷,若RI1/RO1-1≤測(cè)試精度Ac,則判定RI1/RO1-1在約定精度范圍中,進(jìn)入步驟S7);若RI1/RO1-1>測(cè)試精度Ac,則判定RI1/RO1-1不在約定精度范圍中,進(jìn)入步驟S3);
S3)被測(cè)試端將步驟2)計(jì)算出來的收包速度RO1發(fā)送給測(cè)試端,測(cè)試端以RI2速度發(fā)送間隔包列給被測(cè)試端,RI2=RO1;
S4)被測(cè)試端通過收到步驟S3)發(fā)送的間隔包列計(jì)算收包速度RO2,對(duì)RI2/RO2-1進(jìn)行判斷,若RI2/RO2-1≤測(cè)試精度Ac,則判定RI2/RO2-1在約定精度范圍中,進(jìn)入步驟S7);若RI2/RO2-1>測(cè)試精度Ac,則判定RI2/RO2-1不在約定精度范圍中,進(jìn)入步驟S5);
S5)被測(cè)試端將步驟4)計(jì)算出來的收包速度RO2發(fā)送給測(cè)試端,測(cè)試端通過公式計(jì)算出RI3,測(cè)試端以RI3速度發(fā)送間隔包列給被測(cè)試端;
S6)被測(cè)試端通過收到步驟S5)發(fā)送的間隔包列計(jì)算收包速度RO3;
S7)被測(cè)試端通過物理帶寬以及收包速度、發(fā)包速度計(jì)算出可用帶寬;
測(cè)試下行可用帶寬時(shí),測(cè)試端為服務(wù)器端,被測(cè)試端為客戶端,測(cè)試上行可用帶寬時(shí),測(cè)試端為客戶端,被測(cè)試端為服務(wù)器端。
本發(fā)明可用帶寬測(cè)試方案發(fā)送的是無序包列,接收時(shí),只關(guān)心收到的第一個(gè)包和最后一個(gè)包的間隔時(shí)間,因此不會(huì)被亂序和丟包干擾。且本發(fā)明最多只測(cè)試三次,對(duì)時(shí)間和流量的消耗都非常小,因此在同樣的環(huán)境下,能做到小流量和快速獲取可用帶寬。采用上述小流量可用帶寬測(cè)試方案對(duì)可用帶寬進(jìn)行評(píng)估準(zhǔn)確率高,所用時(shí)間短,所耗費(fèi)流量非常小,且其不受亂序和丟包的干擾。
本發(fā)明具有的優(yōu)點(diǎn)是:本發(fā)明通過高帶寬服務(wù)器,發(fā)送UDP小流量包定量分析,設(shè)置多個(gè)測(cè)速服務(wù)器配合調(diào)度服務(wù)器,能夠?qū)崿F(xiàn)高并發(fā)測(cè)速,且測(cè)速所消耗的流量和消耗的時(shí)間少,在同樣的測(cè)試服務(wù)器帶寬情況下,本小流量系統(tǒng)可以支撐的并發(fā)測(cè)速客戶端是傳統(tǒng)測(cè)試帶寬的幾百倍。且本發(fā)明對(duì)測(cè)速用戶影響小,測(cè)速精度高。因?yàn)楸景l(fā)明使用了小流量測(cè)速方式,并且很好解決了大并發(fā)的問題,由于測(cè)速流量消耗非常少,并且耗時(shí)也非常短,因此不會(huì)對(duì)用戶有影響。
本系統(tǒng)同時(shí)支持寬帶、移動(dòng)網(wǎng)絡(luò)的測(cè)速,本系統(tǒng)測(cè)速可以評(píng)估物理帶寬和可用帶寬,對(duì)寬帶運(yùn)營(yíng)商的漏桶模式、令牌桶模式限速進(jìn)行準(zhǔn)確測(cè)速。
探針客戶端可以作為探針服務(wù)器端,探針服務(wù)器端也能作為探針客戶端,探針服務(wù)器部署在接入層、匯聚層、核心層其主要是為了進(jìn)行網(wǎng)絡(luò)端到端監(jiān)測(cè)測(cè)速,可以通過測(cè)速規(guī)則高(秒級(jí))頻率的小流量測(cè)速完整的診斷到底是客戶端網(wǎng)絡(luò)、接入層網(wǎng)絡(luò)、匯聚層網(wǎng)路或者核心層網(wǎng)絡(luò)出現(xiàn)瓶頸或問題。
專業(yè)術(shù)語解釋:
物理帶寬:指端到端網(wǎng)絡(luò)能夠提供的最大傳輸速率,物理帶寬由網(wǎng)絡(luò)路徑中最窄鏈路的帶寬決定,因此也稱為鏈路帶寬;
可用帶寬:分為鏈路可用帶寬和路徑(端到端)可用帶寬,假設(shè)Ui表示鏈路Li在T時(shí)間段內(nèi)的利用率,Ci指物理帶寬,鏈路的可用帶寬Ai為:Ai=Ci(1-Ui)。在時(shí)間T內(nèi),路徑P上的可用帶寬定義如下:
Aend-to-end=min(A1,A2,...,An)
本專利所說的可用帶寬均是指端到端可用帶寬Aend-to-end??捎脦挿譃橄滦锌捎脦捄蜕闲锌捎脦?。
令牌桶限速:令牌桶限速指的是令牌桶限速技術(shù),其特征是當(dāng)流量較小的情況下不進(jìn)行限速,當(dāng)流量達(dá)到一定量時(shí)才進(jìn)行限速;
漏桶限速:漏桶限速指的是漏桶限速技術(shù),其特征是不管流量大小,都進(jìn)行限速;
峰值物理帶寬(令牌桶):目前運(yùn)營(yíng)商寬帶大量使用了令牌桶限速技術(shù),這里峰值物理帶寬是指在令牌桶限速網(wǎng)絡(luò)中,在未啟動(dòng)限速前,網(wǎng)絡(luò)路徑能達(dá)到的最大傳輸速率。峰值物理帶寬分下行峰值物理帶寬和上行峰值物理帶寬,對(duì)于限速網(wǎng)絡(luò)來說,前述的物理帶寬是指限速后的物理帶寬;
峰值可用帶寬(令牌桶):這里峰值可用帶寬是指在令牌桶限速網(wǎng)絡(luò)中,在未啟動(dòng)限速前,網(wǎng)絡(luò)路徑的可用帶寬。對(duì)于限速網(wǎng)絡(luò)來說,前述的可用帶寬是指限速后的可用帶寬;
包列:指網(wǎng)絡(luò)傳輸中連續(xù)不間斷的一串報(bào)文。
丟包率:指在網(wǎng)絡(luò)傳輸過程中,丟包的個(gè)數(shù)/傳輸包的總數(shù)*100%;
時(shí)延:指客戶端PING服務(wù)器的時(shí)延;
每次測(cè)速消耗時(shí)間:指每次測(cè)速所消耗的時(shí)間;
每次測(cè)速消耗流量:指每次測(cè)速所消耗的流量。
附圖說明
圖1為本發(fā)明的高并發(fā)小流量網(wǎng)絡(luò)測(cè)速系統(tǒng)的原理框圖;
圖2為端到端與逐端測(cè)試數(shù)據(jù)流向;
圖3為本發(fā)明的下行測(cè)速流程圖;
圖4為本發(fā)明的上行測(cè)速流程圖;
圖5為本發(fā)明的下行物理寬帶指標(biāo)測(cè)試時(shí)序圖;
圖6為本發(fā)明的上行物理寬帶指標(biāo)測(cè)試時(shí)序圖;
圖7為本發(fā)明網(wǎng)絡(luò)可用帶寬的測(cè)試方法流程圖。
具體實(shí)施方式
實(shí)施一
參見圖1,一種高并發(fā)小流量網(wǎng)絡(luò)測(cè)速系統(tǒng),包括測(cè)速客戶端T01、調(diào)度服務(wù)器T04和多個(gè)測(cè)速服務(wù)器T03(兩個(gè)或兩個(gè)以上),所述測(cè)速客戶端用于發(fā)送測(cè)速請(qǐng)求給調(diào)度服務(wù)器,所述調(diào)度服務(wù)器用于接收測(cè)速客戶端的測(cè)速請(qǐng)求,根據(jù)測(cè)速請(qǐng)求以及測(cè)速服務(wù)器的繁忙程度,為發(fā)送測(cè)速請(qǐng)求的測(cè)速客戶端分配測(cè)速方案以及對(duì)應(yīng)的測(cè)速服務(wù)器。本發(fā)明的高并發(fā)小流量網(wǎng)絡(luò)測(cè)速系統(tǒng)還包括數(shù)據(jù)采集服務(wù)器T05,所述數(shù)據(jù)采集服務(wù)器用于從客戶端或服務(wù)器端接收測(cè)速數(shù)據(jù),并進(jìn)行存儲(chǔ)。
在某些應(yīng)用場(chǎng)景中,如果需要完整的端到端監(jiān)控測(cè)速,那么本發(fā)明的高并發(fā)小流量網(wǎng)絡(luò)測(cè)速系統(tǒng)還包括探針服務(wù)器T02,所述探針服務(wù)器作為測(cè)速客戶端測(cè)速的服務(wù)器端,作為測(cè)速服務(wù)器的客戶端,用于進(jìn)行網(wǎng)絡(luò)端到端監(jiān)測(cè)測(cè)速。優(yōu)選地,探針服務(wù)器為三個(gè),三個(gè)探針服務(wù)器分別部署在接入層、匯聚層、核心層中,其主要是為了進(jìn)行網(wǎng)絡(luò)端到端監(jiān)測(cè)測(cè)速,可以通過測(cè)速規(guī)則高(秒級(jí))頻率的小流量測(cè)速完整的診斷到底是客戶端網(wǎng)絡(luò)、接入層網(wǎng)絡(luò)、匯聚層網(wǎng)路或者核心層網(wǎng)絡(luò)出現(xiàn)瓶頸或問題。
測(cè)速客戶端指安裝了小流量測(cè)速客戶端軟件的智能設(shè)備,其包含數(shù)據(jù)發(fā)送模塊、數(shù)據(jù)接收模塊和數(shù)據(jù)處理模塊,數(shù)據(jù)發(fā)送模塊負(fù)責(zé)發(fā)送數(shù)據(jù)至服務(wù)器端,數(shù)據(jù)接收模塊負(fù)責(zé)從服務(wù)器端接收數(shù)據(jù),并把接收到的數(shù)據(jù)交由數(shù)據(jù)處理模塊進(jìn)行處理,數(shù)據(jù)處理模塊處理數(shù)據(jù)完成后,可再交由數(shù)據(jù)發(fā)送模塊再次發(fā)送到數(shù)據(jù)采集服務(wù)器;測(cè)速客戶端支持的智能設(shè)備含但不限于智能手機(jī)、個(gè)人電腦/筆記本/Mac、智能網(wǎng)關(guān)、智能電視、智能機(jī)頂盒、智能路由器。
測(cè)速服務(wù)器指部署在網(wǎng)絡(luò)核心層中,可以作為測(cè)速客戶端和探針服務(wù)器的服務(wù)器端的一種設(shè)備,其包含數(shù)據(jù)發(fā)送模塊、數(shù)據(jù)接收模塊、數(shù)據(jù)處理模塊和調(diào)度模塊;數(shù)據(jù)發(fā)送模塊負(fù)責(zé)發(fā)送數(shù)據(jù)至客戶端,數(shù)據(jù)接收模塊負(fù)責(zé)從客戶端接收數(shù)據(jù),并把接收到的數(shù)據(jù)交由數(shù)據(jù)處理模塊進(jìn)行處理,數(shù)據(jù)處理模塊處理數(shù)據(jù)完成后,可再交由發(fā)送模塊再次發(fā)送到數(shù)據(jù)采集服務(wù)器T06;調(diào)度模塊主要用于協(xié)調(diào)數(shù)據(jù)接收模塊中的多個(gè)線程并發(fā)接收客戶端數(shù)據(jù)請(qǐng)求,以達(dá)到增加服務(wù)器端吞吐量的目的。
由于系統(tǒng)支持高并發(fā)測(cè)速,系統(tǒng)有多個(gè)測(cè)速服務(wù)器形成的測(cè)速服務(wù)器集群,因此需要一個(gè)可以調(diào)度測(cè)速客戶端、探針服務(wù)器與測(cè)速服務(wù)器配對(duì)的設(shè)備,該設(shè)備指的是調(diào)度服務(wù)器;其包含數(shù)據(jù)接收模塊、數(shù)據(jù)發(fā)送模塊、測(cè)速調(diào)度模塊、測(cè)速規(guī)則處理模塊;數(shù)據(jù)接收模塊負(fù)責(zé)從客戶端和服務(wù)器端接收測(cè)試請(qǐng)求數(shù)據(jù)和服務(wù)器繁忙情況數(shù)據(jù),并把收到的數(shù)據(jù)交由測(cè)速規(guī)則處理模塊進(jìn)行處理,測(cè)試規(guī)則處理模塊處理數(shù)據(jù)完成后,根據(jù)服務(wù)器繁忙程度,交由調(diào)度模塊分配測(cè)試服務(wù)器,然后交由發(fā)送模塊再次發(fā)送到客戶端。
數(shù)據(jù)采集服務(wù)器指部署在網(wǎng)絡(luò)核心層中,作為收集和計(jì)算部分測(cè)速結(jié)果的一種設(shè)備;其包含數(shù)據(jù)接收模塊和數(shù)據(jù)存儲(chǔ)模塊;數(shù)據(jù)接收模塊負(fù)責(zé)從客戶端或服務(wù)器端接收測(cè)速數(shù)據(jù),并交由數(shù)據(jù)存儲(chǔ)模塊進(jìn)行存儲(chǔ)。
參見圖2,探針服務(wù)器指主要部署在接入層、匯聚層、核心層,可以作為測(cè)速客戶端測(cè)速的服務(wù)器端,也能作為測(cè)速服務(wù)器測(cè)速的客戶端的一種設(shè)備。其包含數(shù)據(jù)發(fā)送模塊、數(shù)據(jù)接收模塊、數(shù)據(jù)處理模塊和隊(duì)列模塊。在其作為客戶端的時(shí)候,數(shù)據(jù)發(fā)送模塊負(fù)責(zé)發(fā)送數(shù)據(jù)至服務(wù)器端,數(shù)據(jù)接收模塊負(fù)責(zé)從服務(wù)器端接收數(shù)據(jù),并把接收到的數(shù)據(jù)交由數(shù)據(jù)處理模塊進(jìn)行處理,數(shù)據(jù)處理模塊處理數(shù)據(jù)完成后,可再交由發(fā)送模塊再次發(fā)送到數(shù)據(jù)采集服務(wù)器;在其作為服務(wù)器端的時(shí)候,發(fā)送模塊負(fù)責(zé)發(fā)送數(shù)據(jù)至客戶端,數(shù)據(jù)接收模塊負(fù)責(zé)從客戶端接收數(shù)據(jù),并把接收到的數(shù)據(jù)交由數(shù)據(jù)處理模塊進(jìn)行處理,數(shù)據(jù)處理模塊處理數(shù)據(jù)完成后,可再交由發(fā)送模塊再次發(fā)送到數(shù)據(jù)采集服務(wù)器。探針服務(wù)器T02與測(cè)速服務(wù)器不同的是,探針服務(wù)器同時(shí)只支持一個(gè)任務(wù),后續(xù)任務(wù)將由隊(duì)列模塊排隊(duì)。探針服務(wù)器部署在接入層、匯聚層、核心層其主要是為了進(jìn)行網(wǎng)絡(luò)端到端監(jiān)測(cè)測(cè)速,可以通過測(cè)速規(guī)則高(秒級(jí))頻率的小流量測(cè)速完整的診斷到底是客戶端網(wǎng)絡(luò)、接入層網(wǎng)絡(luò)、匯聚層網(wǎng)路或者核心層網(wǎng)絡(luò)出現(xiàn)瓶頸或問題。
本發(fā)明把測(cè)速客戶端和作為客戶端時(shí)的探針服務(wù)器統(tǒng)稱為客戶端。本發(fā)明把作為服務(wù)器時(shí)的探針服務(wù)器和測(cè)速服務(wù)器統(tǒng)稱為服務(wù)器端。
實(shí)施例二
一種高并發(fā)小流量網(wǎng)絡(luò)測(cè)速系統(tǒng),包括測(cè)速客戶端、調(diào)度服務(wù)器、探針服務(wù)器和一個(gè)測(cè)速服務(wù)器,所述測(cè)速客戶端用于發(fā)送測(cè)速請(qǐng)求給調(diào)度服務(wù)器,所述探針服務(wù)器作為測(cè)速客戶端測(cè)速的服務(wù)器端,作為測(cè)速服務(wù)器的客戶端,用于進(jìn)行網(wǎng)絡(luò)端到端監(jiān)測(cè)測(cè)速,所述調(diào)度服務(wù)器用于接收客戶端的測(cè)速請(qǐng)求,根據(jù)測(cè)速請(qǐng)求以及服務(wù)器端的繁忙程度,為發(fā)送測(cè)速請(qǐng)求的客戶端分配測(cè)速方案以及對(duì)應(yīng)的服務(wù)器端。所述數(shù)據(jù)采集服務(wù)器用于從客戶端或服務(wù)器端接收測(cè)速數(shù)據(jù),并進(jìn)行存儲(chǔ)。優(yōu)選地,探針服務(wù)器為三個(gè),三個(gè)探針服務(wù)器分別部署在接入層、匯聚層、核心層中,其主要是為了進(jìn)行網(wǎng)絡(luò)端到端監(jiān)測(cè)測(cè)速,可以通過測(cè)速規(guī)則高(秒級(jí))頻率的小流量測(cè)速完整的診斷到底是客戶端網(wǎng)絡(luò)、接入層網(wǎng)絡(luò)、匯聚層網(wǎng)路或者核心層網(wǎng)絡(luò)出現(xiàn)瓶頸或問題。實(shí)施例一的其他特征與實(shí)施例二相同。
參見圖3和圖4,一種采用上述系統(tǒng)的網(wǎng)絡(luò)測(cè)速方法,包括如下步驟:
S1)客戶端向調(diào)度服務(wù)器發(fā)起測(cè)速請(qǐng)求。測(cè)速請(qǐng)求包括測(cè)速方向、優(yōu)先級(jí)、客戶端所處網(wǎng)絡(luò)類型。測(cè)速請(qǐng)求還可包括運(yùn)營(yíng)商簽約帶寬。
S2)調(diào)度服務(wù)器根據(jù)測(cè)速請(qǐng)求和服務(wù)器端的繁忙程度,為發(fā)送測(cè)速請(qǐng)求的客戶端分配測(cè)速方案以及對(duì)應(yīng)的服務(wù)器端??蛻舳藶闇y(cè)速客戶端或探針服務(wù)器,服務(wù)器端為測(cè)速服務(wù)器或探針服務(wù)器,當(dāng)探針服務(wù)器作為服務(wù)器端時(shí),客戶端為測(cè)速客戶端,當(dāng)探針服務(wù)器作為客戶端時(shí),服務(wù)器端為測(cè)速服務(wù)器。
S3)當(dāng)客戶端請(qǐng)求下行測(cè)速時(shí),如果客戶端網(wǎng)絡(luò)是令牌桶限速方式,則服務(wù)器端發(fā)起令牌桶限速測(cè)試方案測(cè)速;如果客戶端網(wǎng)絡(luò)未限速或使用的是漏桶限速,則服務(wù)器端根據(jù)測(cè)速請(qǐng)求發(fā)起小流量下行物理帶寬測(cè)試方案測(cè)速或/和小流量下行可用帶寬測(cè)試方案測(cè)速;
S4)當(dāng)客戶端請(qǐng)求上行測(cè)速時(shí),如果客戶端網(wǎng)絡(luò)是令牌桶限速方式,則客戶端發(fā)起令牌桶限速測(cè)試方案測(cè)速;如果客戶端網(wǎng)絡(luò)未限速或使用的是漏桶限速,則客戶端根據(jù)測(cè)速請(qǐng)求發(fā)起小流量上行物理帶寬測(cè)試方案測(cè)速或/和小流量上行可用帶寬測(cè)試方案測(cè)速。目前令牌桶測(cè)速方案只有物理帶寬測(cè)速,本實(shí)施例令牌桶限速測(cè)試方案是現(xiàn)有技術(shù),不再詳細(xì)說明。令牌桶限速測(cè)試方案可以參見公開的論文《網(wǎng)絡(luò)限速條件下的瓶頸帶寬測(cè)量新方法》。
客戶端或服務(wù)器端將測(cè)速后得到的測(cè)速結(jié)果上報(bào)給數(shù)據(jù)采集服務(wù)器,數(shù)據(jù)采集服務(wù)器記錄測(cè)速結(jié)果。測(cè)速結(jié)果可以包含但不限于物理帶寬、可用帶寬、峰值物理帶寬(僅用于令牌桶測(cè)試方案測(cè)速)、峰值可用帶寬(僅用于令牌桶測(cè)試方案測(cè)速)、丟包率、時(shí)延、每次測(cè)速消耗時(shí)間、每次測(cè)速消耗流量。
參見圖5和圖6,小流量物理帶寬測(cè)試方案包括如下步驟:
S1)被測(cè)試端與測(cè)試端第一次交互:被測(cè)試端與測(cè)試端建立鏈路連接,被測(cè)試端傳遞第一次交互的測(cè)試參數(shù)給測(cè)試端,測(cè)試端以被測(cè)試端傳遞的第一次交互的測(cè)試參數(shù)為指導(dǎo),發(fā)送網(wǎng)絡(luò)探測(cè)包列給被測(cè)試端,被測(cè)試端接收測(cè)試端的網(wǎng)絡(luò)探測(cè)包列,根據(jù)網(wǎng)絡(luò)探測(cè)包列中數(shù)據(jù)包的數(shù)量和時(shí)延預(yù)估網(wǎng)絡(luò)的物理帶寬,根據(jù)預(yù)估的網(wǎng)絡(luò)物理帶寬確定第二次交互的測(cè)試參數(shù);
S2)被測(cè)試端與測(cè)試端第二次交互:被測(cè)試端將步驟S1)中確定的第二次交互的測(cè)試參數(shù)傳遞給測(cè)試端,測(cè)試端以被測(cè)試端傳遞的第二次交互的測(cè)試參數(shù)為指導(dǎo),發(fā)送網(wǎng)絡(luò)測(cè)試包列給被測(cè)試端,被測(cè)試端接收測(cè)試端的網(wǎng)絡(luò)測(cè)試包列,根據(jù)網(wǎng)絡(luò)測(cè)試包列中數(shù)據(jù)包的數(shù)量和時(shí)延計(jì)算得到網(wǎng)絡(luò)物理帶寬。
網(wǎng)絡(luò)探測(cè)包列、網(wǎng)絡(luò)測(cè)試包列均為UDP包列。測(cè)試參數(shù)包括包大小、包個(gè)數(shù)。測(cè)試下行物理帶寬時(shí),測(cè)試端為服務(wù)器端,被測(cè)試端為客戶端,測(cè)試上行物理帶寬時(shí),測(cè)試端為客戶端,被測(cè)試端為服務(wù)器端。
將網(wǎng)絡(luò)物理帶寬劃分區(qū)間范圍,在被測(cè)試端中設(shè)定與各個(gè)區(qū)間范圍一一對(duì)應(yīng)的測(cè)試參數(shù),被測(cè)試端與測(cè)試端第一次交互后,被測(cè)試端預(yù)估出網(wǎng)絡(luò)的物理帶寬,判斷預(yù)估的網(wǎng)絡(luò)物理帶寬所在的區(qū)間范圍,預(yù)估的網(wǎng)絡(luò)物理帶寬所在的區(qū)間范圍所對(duì)應(yīng)的測(cè)試參數(shù)為第二次交互的測(cè)試參數(shù)。
因?yàn)槟壳皩?shí)際網(wǎng)絡(luò)物理帶寬通常最大值為1000M,因此將網(wǎng)絡(luò)物理帶寬劃分為兩個(gè)區(qū)間范圍,分別為(0,100M]和(100M,1000M],其中(0,100M]區(qū)間范圍對(duì)應(yīng)的測(cè)試參數(shù)中的包個(gè)數(shù)為n1;(100M,1000M]區(qū)間范圍對(duì)應(yīng)的測(cè)試參數(shù)中的包個(gè)數(shù)為n2。n1和n2可以根據(jù)情況進(jìn)行調(diào)整。當(dāng)網(wǎng)絡(luò)物理帶寬大于1000M時(shí),該區(qū)間范圍對(duì)應(yīng)的測(cè)試參數(shù)與(100M,1000M]區(qū)間范圍對(duì)應(yīng)的測(cè)試參數(shù)相同,當(dāng)然,也可以根據(jù)實(shí)際需要設(shè)定為其他測(cè)試參數(shù)。
n1為一個(gè)大于或等于70,且小于或等于130的數(shù),n2為一個(gè)大于或等于250,且小于或等于750的數(shù),即70≤n1≤130。250≤n2≤750。實(shí)際網(wǎng)絡(luò)情況下,100M和1000M網(wǎng)絡(luò)發(fā)送的測(cè)試參數(shù)有非常大的不同。本實(shí)施例的n1為100,n2為500。
第二次交互的測(cè)試參數(shù)中包大小為n3,單位為byte,500≤n3≤1450。n3可以根據(jù)情況進(jìn)行調(diào)整。本實(shí)施例的n3為1400。
第一次交互的測(cè)試參數(shù)中包大小為n4,單位為byte,500≤n4≤1450。n4可以根據(jù)情況進(jìn)行調(diào)整。第一次交互的測(cè)試參數(shù)中包個(gè)數(shù)為n5,30≤n5≤70。n5可以根據(jù)情況進(jìn)行調(diào)整。第一次交互的測(cè)試參數(shù)中包大小和包個(gè)數(shù)都較小(少),通常為500byte X 50個(gè)。因?yàn)榈谝淮尾恢揽蛻舳水?dāng)前網(wǎng)絡(luò)帶寬,因此才需要進(jìn)行一次預(yù)估測(cè)試。第一次交互只需要得到一個(gè)預(yù)估值,對(duì)精度要求不高,使用小包和少量包同時(shí)也節(jié)省測(cè)試時(shí)間和流量。本實(shí)施例的n4為500。本實(shí)施例的n5為50。
參見圖7,小流量可用帶寬測(cè)試方案包括如下步驟:
S1)已知物理帶寬C,設(shè)定測(cè)試精度Ac,測(cè)試端以RI1速度發(fā)送間隔包列給被測(cè)試端,RI1=C。測(cè)試精度Ac∈(0,0.3]。
S2)被測(cè)試端通過收到步驟S1)發(fā)送的間隔包列計(jì)算收包速度RO1,對(duì)RI1/RO1-1進(jìn)行判斷,若RI1/RO1-1≤測(cè)試精度Ac,則判定RI1/RO1-1在約定精度范圍中,進(jìn)入步驟S7);若RI1/RO1-1>測(cè)試精度Ac,則判定RI1/RO1-1不在約定精度范圍中,進(jìn)入步驟S3);
S3)被測(cè)試端將步驟2)計(jì)算出來的收包速度RO1發(fā)送給測(cè)試端,測(cè)試端以RI2速度發(fā)送間隔包列給被測(cè)試端,RI2=RO1;
S4)被測(cè)試端通過收到步驟S3)發(fā)送的間隔包列計(jì)算收包速度RO2,對(duì)RI2/RO2-1進(jìn)行判斷,若RI2/RO2-1≤測(cè)試精度Ac,則判定RI2/RO2-1在約定精度范圍中,進(jìn)入步驟S7);若RI2/RO2-1>測(cè)試精度Ac,則判定RI2/RO2-1不在約定精度范圍中,進(jìn)入步驟S5);
S5)被測(cè)試端將步驟4)計(jì)算出來的收包速度RO2發(fā)送給測(cè)試端,測(cè)試端通過公式計(jì)算出RI3,測(cè)試端以RI3速度發(fā)送間隔包列給被測(cè)試端;
S6)被測(cè)試端通過收到步驟S5)發(fā)送的間隔包列計(jì)算收包速度RO3;
S7)被測(cè)試端通過物理帶寬以及收包速度、發(fā)包速度計(jì)算出可用帶寬;
測(cè)試下行可用帶寬時(shí),測(cè)試端為服務(wù)器端,被測(cè)試端為客戶端,測(cè)試上行可用帶寬時(shí),測(cè)試端為客戶端,被測(cè)試端為服務(wù)器端。通過物理帶寬以及收包速度、發(fā)包速度計(jì)算可用帶寬可以采用公開的論文《可用帶寬測(cè)量方法研究》中的算法。
下面是不同測(cè)試方式結(jié)果對(duì)比
某運(yùn)營(yíng)商1000Mbps網(wǎng)絡(luò)環(huán)境下的寬帶測(cè)試結(jié)果對(duì)比:
表格1不同測(cè)試方式結(jié)果對(duì)比
由表格1不同測(cè)試方式結(jié)果對(duì)比可以看出,在同樣的測(cè)速服務(wù)器帶寬下,本小流量測(cè)試系統(tǒng)所消耗的流量和消耗的時(shí)間,遠(yuǎn)小于傳統(tǒng)測(cè)速方法,也就是說,在同樣的測(cè)試服務(wù)器帶寬情況下,本小流量系統(tǒng)可以支撐的并發(fā)測(cè)速客戶端是傳統(tǒng)測(cè)試帶寬的幾百倍。
以上所述僅為本發(fā)明的優(yōu)選實(shí)施例,并不用于限制本發(fā)明,顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。