本發(fā)明涉及通信領(lǐng)域,尤其涉及一種重定向方法、終端及系統(tǒng)。
背景技術(shù):
通常情況下,用戶通過(guò)局域網(wǎng)連接到internet互聯(lián)網(wǎng),來(lái)實(shí)現(xiàn)訪問(wèn)web頁(yè)面并獲取所需信息。然而,隨著局域網(wǎng)內(nèi)用戶數(shù)量的增多、獲取信息的內(nèi)容不斷豐富,增加了運(yùn)營(yíng)商出口帶寬和上行鏈路的用戶請(qǐng)求頻率,也就增加了局域網(wǎng)與internet之間的鏈路壓力。為了減少局域網(wǎng)與internet之間的鏈路壓力,通常設(shè)置預(yù)存有互聯(lián)網(wǎng)熱點(diǎn)內(nèi)容的web緩存服務(wù)器,利用重定向的方式將用戶訪問(wèn)web頁(yè)面的報(bào)文重定向到web緩存服務(wù)器,來(lái)實(shí)現(xiàn)從緩存服務(wù)器獲取數(shù)據(jù)資源。為了確保web緩存服務(wù)器的穩(wěn)定運(yùn)行,需要對(duì)其重定向功能進(jìn)行測(cè)試并分析。
現(xiàn)有技術(shù)中,分析web緩存服務(wù)器的重定向功能的過(guò)程包括:web緩存服務(wù)器篩選出至少一個(gè)外網(wǎng)服務(wù)器的統(tǒng)一資源定位符(url,uniformresourcelocator)地址;終端多次訪問(wèn)上述url地址,重定向到web緩存服務(wù)器并下載對(duì)應(yīng)的預(yù)存文件數(shù)據(jù);對(duì)web緩存服務(wù)器和終端上的數(shù)據(jù)均進(jìn)行抓包,并獲得抓包數(shù)據(jù);通過(guò)對(duì)抓包數(shù)據(jù)進(jìn)行分析,進(jìn)而分析web緩存服務(wù)器的重定向功能。
然而,由于web緩存服務(wù)器預(yù)存文件數(shù)據(jù)較大造成終端下載預(yù)存文件的時(shí)間較長(zhǎng),增加了終端通過(guò)web緩存服務(wù)器下載對(duì)應(yīng)的預(yù)存文件數(shù)據(jù)的時(shí)間。
技術(shù)實(shí)現(xiàn)要素:
為解決上述技術(shù)問(wèn)題,本發(fā)明實(shí)施例期望提供一種重定向方法、終端及系統(tǒng),能夠在測(cè)試時(shí)提高檢測(cè)重定向功能的速度和智能性。
本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的:
第一方面,本發(fā)明實(shí)施例提供一種重定向方法,包括:終端向外網(wǎng)服務(wù)器發(fā)送n次第一請(qǐng)求消息,其中,n大于等于1,第一請(qǐng)求消息用于終端從外網(wǎng)服務(wù)器請(qǐng)求第一訪問(wèn)數(shù)據(jù);終端接收web緩存服務(wù)器發(fā)送的m次響應(yīng)信息,其中,m大于等于1,響應(yīng)信息與第一請(qǐng)求消息對(duì)應(yīng);終端根據(jù)每次響應(yīng)信息解析出響應(yīng)頭信息;終端根據(jù)每次響應(yīng)頭信息重定向到web緩存服務(wù)器。
進(jìn)一步地,響應(yīng)頭信息包括目的地址和狀態(tài)碼,相應(yīng)地,終端根據(jù)每次響應(yīng)頭信息重定向到web緩存服務(wù)器,具體包括:終端在識(shí)別出每次目的地址指向web緩存服務(wù)器時(shí),根據(jù)目的地址和狀態(tài)碼完成終端重定向到web緩存服務(wù)器。
進(jìn)一步地,在終端根據(jù)每次響應(yīng)頭信息重定向到web緩存服務(wù)器之后,方法還包括:終端將n和m發(fā)送至web緩存服務(wù)器,以便web緩存服務(wù)器對(duì)終端重定向到web緩存服務(wù)器的重定向成功率進(jìn)行檢測(cè)。
進(jìn)一步地,在終端根據(jù)每次響應(yīng)頭信息重定向到web緩存服務(wù)器之后,方法還包括:終端向web緩存服務(wù)器發(fā)送第二請(qǐng)求消息,其中,第二請(qǐng)求消息用于終端從web緩存服務(wù)器請(qǐng)求第一訪問(wèn)數(shù)據(jù);終端接收web緩存服務(wù)器發(fā)送的第一訪問(wèn)數(shù)據(jù)。
第二方面,本發(fā)明實(shí)施例提供一種終端,包括:發(fā)送單元、接收單元、解析單元和重定向單元,其中:發(fā)送單元,用于向外網(wǎng)服務(wù)器發(fā)送n次第一請(qǐng)求消息,其中,n大于等于1,第一請(qǐng)求消息用于終端從外網(wǎng)服務(wù)器請(qǐng)求第一訪問(wèn)數(shù)據(jù);接收單元,用于在發(fā)送單元向外網(wǎng)服務(wù)器發(fā)送n次第一請(qǐng)求消息之后,接收web緩存服務(wù)器發(fā)送的m次響應(yīng)信息,其中,m大于等于1,響應(yīng)信息與第一請(qǐng)求消息對(duì)應(yīng);解析單元,用于根據(jù)每次接收單元接收的響應(yīng)信息解析出響應(yīng)頭信息;重定向單元,用于根據(jù)每次解析單元解析出的響應(yīng)頭信息重定向到web緩存服務(wù)器。
進(jìn)一步地,響應(yīng)頭信息包括目的地址和狀態(tài)碼,相應(yīng)地,重定向單元,具體用于在識(shí)別出每次解析單元解析出的目的地址指向web緩存服務(wù)器時(shí),根據(jù) 目的地址和狀態(tài)碼完成終端重定向到web緩存服務(wù)器。
進(jìn)一步地,發(fā)送單元,還用于在重定向單元根據(jù)每次響應(yīng)頭信息重定向到web緩存服務(wù)器之后,將n和m發(fā)送至web緩存服務(wù)器,以便web緩存服務(wù)器對(duì)終端重定向到web緩存服務(wù)器的重定向成功率進(jìn)行檢測(cè)。
進(jìn)一步地,發(fā)送單元,還用于在重定向單元根據(jù)每次響應(yīng)頭信息重定向到web緩存服務(wù)器之后,向web緩存服務(wù)器發(fā)送第二請(qǐng)求消息,其中,第二請(qǐng)求消息用于終端從web緩存服務(wù)器請(qǐng)求第一訪問(wèn)數(shù)據(jù);接收單元,還用于在發(fā)送單元向web緩存服務(wù)器發(fā)送第二請(qǐng)求消息之后,接收web緩存服務(wù)器發(fā)送的第一訪問(wèn)數(shù)據(jù)。
第三方面,本發(fā)明實(shí)施例提供一種重定向系統(tǒng),包括終端、web緩存服務(wù)器和外網(wǎng)服務(wù)器,其中:終端,用于向外網(wǎng)服務(wù)器發(fā)送n個(gè)第一請(qǐng)求消息,其中,n大于等于1,第一請(qǐng)求消息用于終端從外網(wǎng)服務(wù)器請(qǐng)求第一訪問(wèn)數(shù)據(jù);接收web緩存服務(wù)器發(fā)送的m個(gè)響應(yīng)信息,其中,m大于等于1;根據(jù)每次響應(yīng)信息解析出響應(yīng)頭信息;根據(jù)每次響應(yīng)頭信息重定向到web緩存服務(wù)器;web緩存服務(wù)器,用于在監(jiān)測(cè)到終端向外網(wǎng)服務(wù)器發(fā)送第一請(qǐng)求消息時(shí),向終端發(fā)送響應(yīng)信息;外網(wǎng)服務(wù)器,用于接收終端發(fā)送的第一請(qǐng)求消息。
進(jìn)一步地,web緩存服務(wù)器,具體包括監(jiān)測(cè)服務(wù)器和緩存子服務(wù)器,其中:監(jiān)測(cè)服務(wù)器,用于監(jiān)測(cè)終端是否向外網(wǎng)服務(wù)器發(fā)送第一請(qǐng)求消息,以及在監(jiān)測(cè)到終端向外網(wǎng)服務(wù)器發(fā)送第一請(qǐng)求消息時(shí),向終端發(fā)送響應(yīng)信息;緩存子服務(wù)器,用于在接收到終端發(fā)送第二請(qǐng)求消息時(shí),向終端發(fā)送第一訪問(wèn)數(shù)據(jù)。
進(jìn)一步地,終端,還用于將n和m發(fā)送至web緩存服務(wù)器;web緩存服務(wù)器,還用于統(tǒng)計(jì)監(jiān)測(cè)到終端向外網(wǎng)服務(wù)器發(fā)送第一請(qǐng)求消息的個(gè)數(shù)x,和自身向終端發(fā)送響應(yīng)信息的個(gè)數(shù)y,其中,x大于等于1,y大于等于1;根據(jù)m、n、x和y對(duì)終端重定向到web緩存服務(wù)器進(jìn)行故障定位檢測(cè)。
進(jìn)一步地,終端,還用于將n和m發(fā)送至web緩存服務(wù)器;web緩存服務(wù)器,還用于根據(jù)n和m,對(duì)終端重定向到web緩存服務(wù)器的重定向成功率進(jìn)行檢測(cè)。
本發(fā)明實(shí)施例提供了一種重定向方法、終端及系統(tǒng),包括終端向外網(wǎng)服務(wù)器發(fā)送n次第一請(qǐng)求消息,其中,n大于等于1,第一請(qǐng)求消息用于終端從外網(wǎng)服務(wù)器請(qǐng)求第一訪問(wèn)數(shù)據(jù);終端接收web緩存服務(wù)器發(fā)送的m次響應(yīng)信息,其中,m大于等于1,響應(yīng)信息與第一請(qǐng)求消息對(duì)應(yīng);終端根據(jù)響應(yīng)信息解析出響應(yīng)頭信息;終端根據(jù)響應(yīng)頭信息重定向到web緩存服務(wù)器。采用上述技術(shù)實(shí)現(xiàn)方案,能夠在測(cè)試時(shí),提高檢測(cè)重定向功能的速度和智能性。
附圖說(shuō)明
圖1為現(xiàn)有技術(shù)中web緩存服務(wù)器的一種連接方式示意圖;
圖2為本發(fā)明實(shí)施例提供的重定向方法的流程示意圖一;
圖3為本發(fā)明實(shí)施例提供的重定向方法的流程示意圖二;
圖4為本發(fā)明實(shí)施例提供的重定向方法的流程示意圖三;
圖5為本發(fā)明實(shí)施例提供的重定向方法的流程示意圖四;
圖6為本發(fā)明實(shí)施例提供的重定向方法的流程示意圖五;
圖7為本發(fā)明實(shí)施例提供的一種終端的結(jié)構(gòu)示意圖;
圖8為本發(fā)明實(shí)施例提供的一種重定向系統(tǒng)的結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述。
圖1為現(xiàn)有技術(shù)中web緩存服務(wù)器的一種連接方式示意圖。如圖1所示,終端101、web緩存服務(wù)器102及外網(wǎng)服務(wù)器103均與交換機(jī)104相連接。其中,終端101與web緩存服務(wù)器102在同一局域網(wǎng)下,web緩存服務(wù)器102為存儲(chǔ)有終端101經(jīng)常訪問(wèn)的互聯(lián)網(wǎng)信息。正常情況下,終端101在訪問(wèn)互聯(lián)網(wǎng)時(shí),通過(guò)外網(wǎng)服務(wù)器103來(lái)發(fā)送請(qǐng)求訪問(wèn)互聯(lián)網(wǎng)的報(bào)文。web緩存服務(wù)器102通過(guò)運(yùn)營(yíng)商出口的上行鏈路對(duì)終端101進(jìn)行實(shí)時(shí)監(jiān)控,若web緩存服務(wù)器102檢測(cè)到終端101通過(guò)外網(wǎng)服務(wù)器103請(qǐng)求訪問(wèn)互聯(lián)網(wǎng)的報(bào)文,例如向互聯(lián)網(wǎng)發(fā) 起下載請(qǐng)求,利用重定向技術(shù),例如http302重定向技術(shù),引導(dǎo)終端101向web緩存服務(wù)器102請(qǐng)求需要訪問(wèn)的內(nèi)容,使得終端101無(wú)需通過(guò)外網(wǎng)服務(wù)器103訪問(wèn)互聯(lián)網(wǎng),即可獲得需要訪問(wèn)的內(nèi)容。
可以看出web緩存服務(wù)器102的設(shè)置實(shí)現(xiàn)了互聯(lián)網(wǎng)熱點(diǎn)內(nèi)容的本地化存儲(chǔ),降低了局域網(wǎng)內(nèi)終端訪問(wèn)互聯(lián)網(wǎng)內(nèi)容的時(shí)延。由于web緩存服務(wù)器102采用重定向技術(shù)實(shí)現(xiàn)用戶流量引導(dǎo),因此,確保重定向成功率指標(biāo)是保障web緩存服務(wù)器102穩(wěn)定運(yùn)行的關(guān)鍵。而現(xiàn)有技術(shù)中,由于web緩存服務(wù)器預(yù)存文件數(shù)據(jù)較大造成終端下載預(yù)存文件的時(shí)間較長(zhǎng),增加了終端通過(guò)web緩存服務(wù)器下載對(duì)應(yīng)的預(yù)存文件數(shù)據(jù)的時(shí)間,降低了分析重定向的速度和智能性。
實(shí)施例一
圖2為本發(fā)明實(shí)施例提供的重定向方法的流程示意圖一,參考圖2所示,該方法可以包括:
步驟201:終端向外網(wǎng)服務(wù)器發(fā)送n次第一請(qǐng)求消息,其中,n大于等于1,第一請(qǐng)求消息用于終端從外網(wǎng)服務(wù)器請(qǐng)求第一訪問(wèn)數(shù)據(jù);
其中,第一訪問(wèn)數(shù)據(jù),即終端期望利用外網(wǎng)服務(wù)器從互聯(lián)網(wǎng)獲取的數(shù)據(jù)。
在實(shí)際應(yīng)用中,第一請(qǐng)求消息的格式包括多種,例如,第一請(qǐng)求消息的格式可以為:
get/http/1.1
accept:text/html.application/xhtml+xml.*/*
x-httpwatch-rid:53811-1005
accept-language:en-us
rser-agent:mozilla/5.0(compatible;msie10.0;windowsnt6.1;wow64;trident/7.0)
accept-encoding:gzip,deflate
host:www.baidu.com
dnt:1
connection:keep-alive
cookie:h_ps_pssid=16669_16716_1433_14601_17155_12657_12824_1286 7_16938_17000
當(dāng)然,第一請(qǐng)求消息格式還包括其他格式,本發(fā)明實(shí)施例對(duì)第一請(qǐng)求消息的格式不做具體限制。
需要補(bǔ)充的是,為保證終端測(cè)試時(shí)向外網(wǎng)服務(wù)器發(fā)送的第一請(qǐng)求消息能夠從運(yùn)營(yíng)商出口鏈路出網(wǎng),需要向外網(wǎng)服務(wù)器發(fā)送n次第一請(qǐng)求消息,比如10次、100、1000次等,從而保證終端分析重定向的準(zhǔn)確性。
優(yōu)選地,終端通過(guò)傳輸控制協(xié)議(tcp,transfercontrolprotocol)建立與外網(wǎng)服務(wù)器的連接;并利用tcp連接向外網(wǎng)服務(wù)器發(fā)送第一請(qǐng)求消息,其中,第一請(qǐng)求消息包括超文本傳輸協(xié)議(http,hypertexttransferprotocol)請(qǐng)求。
步驟202:終端接收web緩存服務(wù)器發(fā)送的m次響應(yīng)信息,其中,m大于等于1,響應(yīng)信息與第一請(qǐng)求消息對(duì)應(yīng);
其中,響應(yīng)信息,包括響應(yīng)頭(responseheader)信息、響應(yīng)正文信息等,用于引導(dǎo)終端從web緩存服務(wù)器獲取第一訪問(wèn)數(shù)據(jù),即重定向到web緩存服務(wù)器。例如,實(shí)際應(yīng)用中,響應(yīng)信息包括http302重定向包,其中,302重定向,即302redirect,代表暫時(shí)重定向(temporaryredirect)數(shù)據(jù)包。
在實(shí)際應(yīng)用中,web緩存服務(wù)器能夠?qū)K端發(fā)送的消息進(jìn)行實(shí)時(shí)監(jiān)控。終端在需要從互聯(lián)網(wǎng)獲取第一訪問(wèn)數(shù)據(jù)時(shí)向外網(wǎng)服務(wù)器發(fā)送第一請(qǐng)求消息,web緩存服務(wù)器在監(jiān)控到終端發(fā)送第一請(qǐng)求消息時(shí),會(huì)向終端返回響應(yīng)信息,以便終端重定向到web緩存服務(wù)器。
可以理解地,終端在斷開(kāi)與外網(wǎng)服務(wù)器的tcp連接之后,才能與web緩存服務(wù)器進(jìn)行連接,并接收web緩存服務(wù)器發(fā)送的響應(yīng)信息。
步驟203:終端根據(jù)每次響應(yīng)信息解析出響應(yīng)頭信息;
經(jīng)實(shí)際測(cè)量,若終端解析web緩存服務(wù)器發(fā)送的完整的響應(yīng)信息,通常需要2分鐘左右;若終端僅解析web緩存服務(wù)器發(fā)送的響應(yīng)信息中的響應(yīng)頭信息,通常僅需要0.1秒左右,這樣,大大提高了終端進(jìn)行重定向測(cè)試的時(shí)間。
步驟204:終端根據(jù)每次響應(yīng)頭信息重定向到web緩存服務(wù)器。
可以理解地,響應(yīng)信息包括響應(yīng)頭信息、響應(yīng)正文信息等,而響應(yīng)信息中 的響應(yīng)頭信息包括了終端進(jìn)行重定向測(cè)試所需的信息,如目的地址、狀態(tài)碼等,因此,終端僅對(duì)web緩存服務(wù)器發(fā)送的響應(yīng)信息中的響應(yīng)頭進(jìn)行解析,而無(wú)需解析響應(yīng)信息中的整個(gè)響應(yīng)正文即整個(gè)文件數(shù)據(jù),就可以實(shí)現(xiàn)終端重定向測(cè)試。如此一來(lái),由于響應(yīng)頭信息的大小遠(yuǎn)遠(yuǎn)小于響應(yīng)信息的大小,使得終端解析響應(yīng)信息的時(shí)間大大減少,同時(shí)避免了終端大量測(cè)試對(duì)web緩存服務(wù)器帶來(lái)的流量壓力。
示例性地,響應(yīng)頭信息包括目的地址和狀態(tài)碼,相應(yīng)地,終端根據(jù)每次響應(yīng)頭信息重定向到web緩存服務(wù)器,具體包括:終端在識(shí)別出每次目的地址指向web緩存服務(wù)器時(shí),根據(jù)目的地址和狀態(tài)碼完成終端重定向到web緩存服務(wù)器。
在實(shí)際應(yīng)用中,狀態(tài)碼用于表征終端重定向到web緩存服務(wù)器的通道的標(biāo)識(shí),終端收到狀態(tài)碼,即說(shuō)明終端需要重定向到web緩存服務(wù)器,而目的地址即web緩存服務(wù)器的地址,因此,終端根據(jù)目的地址和狀態(tài)碼即可完成終端重定向到web緩存服務(wù)器。
需要補(bǔ)充的是,目的地址為終端進(jìn)行重定向時(shí)所需的信息,通常攜帶在響應(yīng)頭信息中的地址(location)字段。舉例來(lái)說(shuō),若響應(yīng)頭信息為:
http/1.1302movedtemporarily
date:wed,02sep201509:27:59gmt
content-type:text/html
content-length:215
connection:keep-alive
location:heeps://www.baidu.com/
server:bws/1.1
x-ua-compatible:ie=edge,chrome=1
set-cookie:db_last_qid=13201064592551329076;path=/;max-age=1
<html>
<head><title>302found</title></head>
<bodybgcolor=”white”>
<center><hl>302found</h1></center>
<hr><center>pr-nginx_1-0-244_branchbranch
time:monaug2414:55:36cst2015</center>
</body>
</html>
其中,響應(yīng)頭信息中的location字段為:location:https://www.baidu.com/,那么,終端進(jìn)行重定向測(cè)試的目的地址為:https://www.baidu.com/。
可理解地,若目的地址指向web緩存服務(wù)器,則說(shuō)明web緩存服務(wù)器預(yù)先存儲(chǔ)有終端期望獲取的數(shù)據(jù);若目的地址不指向web緩存服務(wù)器,則說(shuō)明web緩存服務(wù)器沒(méi)有預(yù)先存儲(chǔ)終端期望獲取的數(shù)據(jù)。
進(jìn)一步地,參考圖3所示,在步驟204之后還包括步驟205,具體為:
步驟205:終端將n和m發(fā)送至web緩存服務(wù)器,以便web緩存服務(wù)器對(duì)終端重定向到web緩存服務(wù)器的重定向成功率進(jìn)行檢測(cè)。
可理解地,由于n為終端向外網(wǎng)服務(wù)器發(fā)送第一請(qǐng)求消息的次數(shù),m為終端接收web緩存服務(wù)器發(fā)送響應(yīng)信息的次數(shù),因此,終端將m與n發(fā)送至web緩存服務(wù)器,以便web緩存服務(wù)器通過(guò)計(jì)算m與n的比值來(lái)獲得終端重定向到web緩存服務(wù)器的重定向成功率,從而實(shí)現(xiàn)分析終端的重定向功能。
進(jìn)一步地,參考圖4所示,在步驟204之后還包括步驟206和步驟207,具體為:
步驟206:終端向web緩存服務(wù)器發(fā)送第二請(qǐng)求消息,其中,第二請(qǐng)求消息用于終端從web緩存服務(wù)器請(qǐng)求第一訪問(wèn)數(shù)據(jù);
步驟207:終端接收web緩存服務(wù)器發(fā)送的第一訪問(wèn)數(shù)據(jù)。
需要說(shuō)明的是,終端在實(shí)現(xiàn)重定向到web緩存服務(wù)器后,可以通過(guò)web緩存服務(wù)器來(lái)請(qǐng)求第一訪問(wèn)數(shù)據(jù),而無(wú)需利用外網(wǎng)服務(wù)器從互聯(lián)網(wǎng)獲取的數(shù)據(jù),這樣,降低了局域網(wǎng)內(nèi)終端訪問(wèn)互聯(lián)網(wǎng)內(nèi)容的時(shí)延。
可理解地,終端在獲得第一訪問(wèn)數(shù)據(jù)之后,可以利用第一訪問(wèn)數(shù)據(jù)進(jìn)行所需的數(shù)據(jù)業(yè)務(wù)或通信業(yè)務(wù)。
實(shí)際應(yīng)用中,上述步驟可以通過(guò)編譯軟件編譯自動(dòng)測(cè)試程序來(lái)實(shí)現(xiàn)。其中,編譯軟件包括很多種,例如,git軟件。git軟件是一個(gè)開(kāi)源分布式版本控制軟件,擁有高效的底層分布式存儲(chǔ)結(jié)構(gòu),能夠提供在windows平臺(tái)環(huán)境中運(yùn)行l(wèi)inux命令的運(yùn)行環(huán)境,其中,常見(jiàn)的linux命令包括ls命令、cd命令、cat命令、curl命令、wget等命令。通過(guò)編譯的自動(dòng)測(cè)試程序?qū)崿F(xiàn)了將低效的抓包方法即人工抽樣檢測(cè)方法轉(zhuǎn)變?yōu)榻K端自動(dòng)請(qǐng)求并且重復(fù)測(cè)試以統(tǒng)計(jì)測(cè)試結(jié)果,如此,提高了分析重定向功能的速度和智能性,不僅減少了人力消耗成本,也避免了人工統(tǒng)計(jì)的誤差,為實(shí)現(xiàn)web緩存服務(wù)器運(yùn)維中的故障快速定位和解決提供了檢測(cè)基礎(chǔ)。當(dāng)然,還可以采用其他的編譯軟件來(lái)實(shí)現(xiàn),本發(fā)明實(shí)施例對(duì)此不做具體限制。
實(shí)施例二
圖5為本發(fā)明實(shí)施例提供的重定向方法的流程示意圖四,參考圖5所示,該方法可以包括:
步驟501:終端預(yù)先設(shè)置執(zhí)行次數(shù)n;
其中,n為終端預(yù)先設(shè)置的循環(huán)測(cè)試,例如,可以為10次、100、1000次等。當(dāng)然,預(yù)設(shè)執(zhí)行次數(shù)可以根據(jù)實(shí)際需要進(jìn)行設(shè)置,本發(fā)明實(shí)施例對(duì)此不做具體設(shè)置。
需要補(bǔ)充的是,為保證終端測(cè)試時(shí)向外網(wǎng)服務(wù)器發(fā)送的第一請(qǐng)求消息能夠從運(yùn)營(yíng)商出口鏈路出網(wǎng),需要向外網(wǎng)服務(wù)器發(fā)送多次第一請(qǐng)求消息,因此,終端預(yù)先設(shè)置執(zhí)行次數(shù)n。
步驟502:終端向外網(wǎng)服務(wù)器發(fā)送第一請(qǐng)求消息;
步驟503:終端接收web緩存服務(wù)器發(fā)送的響應(yīng)信息,其中,響應(yīng)信息與第一請(qǐng)求消息對(duì)應(yīng);
實(shí)際應(yīng)用中,終端可以通過(guò)wget等命令來(lái)實(shí)現(xiàn)接收web緩存服務(wù)器發(fā)送的響應(yīng)信息。
另外,終端可以通過(guò)臨時(shí)日志文件來(lái)存儲(chǔ)每次接收到的響應(yīng)信息,以便后續(xù)進(jìn)行相應(yīng)的統(tǒng)計(jì)分析。
步驟504:終端根據(jù)響應(yīng)信息解析出響應(yīng)頭信息;
需要說(shuō)明的是,響應(yīng)頭信息包括目的地址和狀態(tài)碼,其中,目的地址包括指向web緩存服務(wù)器的目的地址,和指向其他服務(wù)器的目的地址。
步驟505:終端根據(jù)響應(yīng)頭信息解析出目的地址和狀態(tài)碼;
步驟506:終端在識(shí)別出目的地址指向web緩存服務(wù)器時(shí),根據(jù)目的地址和狀態(tài)碼完成終端重定向到web緩存服務(wù)器;
步驟507:終端識(shí)別執(zhí)行次數(shù)是否滿足預(yù)先設(shè)置執(zhí)行次數(shù)n,在不滿足預(yù)先設(shè)置執(zhí)行次數(shù)n時(shí),繼續(xù)執(zhí)行步驟502-步驟506;在滿足預(yù)先設(shè)置執(zhí)行次數(shù)n時(shí),執(zhí)行步驟508;
步驟508:終端統(tǒng)計(jì)完成重定向到web緩存服務(wù)器的次數(shù)m;
步驟509:終端將n和m發(fā)送至web緩存服務(wù)器,以便web緩存服務(wù)器對(duì)終端重定向到web緩存服務(wù)器的重定向成功率進(jìn)行檢測(cè)。
由于重定向成功率是影響web緩存服務(wù)器穩(wěn)定運(yùn)行的關(guān)鍵指標(biāo),通過(guò)計(jì)算重定向成功率來(lái)分析web緩存服務(wù)器的運(yùn)行狀況。
實(shí)際應(yīng)用中,步驟501-步驟509可以通過(guò)編譯軟件編譯自動(dòng)測(cè)試程序來(lái)實(shí)現(xiàn)。其中,編譯軟件包括很多種,例如,git軟件。通過(guò)編譯的自動(dòng)測(cè)試程序?qū)崿F(xiàn)了將低效的抓包方法即抽樣檢測(cè)方法轉(zhuǎn)變?yōu)榻K端自動(dòng)請(qǐng)求并且重復(fù)測(cè)試以統(tǒng)計(jì)測(cè)試結(jié)果,如此,提高了分析重定向成功率的速度和智能性。當(dāng)然,還可以采用其他的編譯軟件來(lái)實(shí)現(xiàn),本發(fā)明實(shí)施例對(duì)此不做具體限制。
實(shí)施例三
圖6為本發(fā)明實(shí)施例提供的重定向方法的流程示意圖五,參考圖6所示,該方法可以包括:
步驟600:終端預(yù)先設(shè)置執(zhí)行次數(shù)n;
步驟601:web緩存服務(wù)器對(duì)終端進(jìn)行實(shí)時(shí)監(jiān)測(cè);
步驟602:終端建立與外網(wǎng)服務(wù)器的tcp連接,并利用tcp連接向外網(wǎng)服務(wù)器發(fā)送http請(qǐng)求;
具體的,終端可以通過(guò)自身的瀏覽器獲取用戶輸入的url地址,通過(guò)域名 系統(tǒng)(dns,domainnamesystem)對(duì)url地址進(jìn)行解析,并獲得外網(wǎng)服務(wù)器的網(wǎng)絡(luò)協(xié)議(ip,internetprotocol)地址,進(jìn)而使得終端與外網(wǎng)服務(wù)器建立tcp連接。
其中,http請(qǐng)求用于終端向外網(wǎng)服務(wù)器請(qǐng)求數(shù)據(jù),例如,可以是下載視頻或音樂(lè)資源,或者打開(kāi)網(wǎng)頁(yè)連接等。
步驟603:web緩存服務(wù)器在監(jiān)測(cè)到終端向外網(wǎng)服務(wù)器發(fā)送http請(qǐng)求時(shí),向終端發(fā)送響應(yīng)信息。
其中,響應(yīng)信息,包括響應(yīng)頭信息、響應(yīng)正文信息等,用于引導(dǎo)終端從web緩存服務(wù)器獲取數(shù)據(jù),即重定向到web緩存服務(wù)器。例如,實(shí)際應(yīng)用中,響應(yīng)信息包括http302重定向包,其中,302重定向,即302redirect,代表暫時(shí)重定向數(shù)據(jù)包。
步驟604:終端根據(jù)響應(yīng)信息解析出響應(yīng)頭信息;
可以理解的,響應(yīng)信息包括響應(yīng)頭信息、響應(yīng)正文信息等,而響應(yīng)信息中的響應(yīng)頭信息包括了終端進(jìn)行重定向測(cè)試所需的信息,如目的地址、狀態(tài)碼等,因此,終端僅接收web緩存服務(wù)器發(fā)送的響應(yīng)信息中的響應(yīng)頭信息,而無(wú)需接收響應(yīng)信息中的整個(gè)響應(yīng)正文即整個(gè)文件數(shù)據(jù),就可以實(shí)現(xiàn)終端重定向測(cè)試。如此一來(lái),由于響應(yīng)頭信息的大小遠(yuǎn)遠(yuǎn)小于響應(yīng)信息的大小,使得終端接收響應(yīng)信息的時(shí)間大大減少,同時(shí)避免了終端大量測(cè)試對(duì)web緩存服務(wù)器帶來(lái)的流量壓力。
經(jīng)實(shí)際測(cè)量,若終端接收web緩存服務(wù)器發(fā)送的完整的響應(yīng)信息,通常需要2分鐘左右;若終端僅接收web緩存服務(wù)器發(fā)送的響應(yīng)信息中的響應(yīng)頭信息,通常僅需要0.1秒左右,這樣,大大提高了終端進(jìn)行重定向測(cè)試的時(shí)間。
步驟605:終端根據(jù)響應(yīng)頭信息解析出目的地址和狀態(tài)碼;
需要補(bǔ)充的是,目的地址為終端進(jìn)行重定向測(cè)試所需的信息,通常攜帶在響應(yīng)頭信息中的地址(location)字段。例如,響應(yīng)頭信息中的location字段為:location:https://www.baidu.com/,那么,終端進(jìn)行重定向測(cè)試的目的地址為:https://www.baidu.com/。
步驟606:終端在識(shí)別出目的地址指向web緩存服務(wù)器時(shí),根據(jù)目的地址和狀態(tài)碼完成終端重定向到web緩存服務(wù)器;
可理解地,若目的地址與web緩存服務(wù)器對(duì)應(yīng),則說(shuō)明web緩存服務(wù)器預(yù)先存儲(chǔ)有終端期望獲取的數(shù)據(jù);若目的地址與web緩存服務(wù)器不對(duì)應(yīng),則說(shuō)明web緩存服務(wù)器沒(méi)有預(yù)先存儲(chǔ)終端期望獲取的數(shù)據(jù)。
步驟607:終端向web緩存服務(wù)器發(fā)送第二http消息;
步驟608:終端接收web緩存服務(wù)器發(fā)送的數(shù)據(jù)資源。
步驟609:終端識(shí)別執(zhí)行次數(shù)是否滿足預(yù)先設(shè)置執(zhí)行次數(shù)n,在不滿足預(yù)先設(shè)置執(zhí)行次數(shù)n時(shí),繼續(xù)執(zhí)行步驟602-步驟608;在滿足預(yù)先設(shè)置執(zhí)行次數(shù)n時(shí),執(zhí)行步驟610;
步驟610:終端統(tǒng)計(jì)完成重定向到web緩存服務(wù)器的次數(shù)m;
步驟611:終端將n和m發(fā)送至web緩存服務(wù)器,以便web緩存服務(wù)器對(duì)終端重定向到web緩存服務(wù)器的重定向成功率進(jìn)行檢測(cè)。
其中,數(shù)據(jù)資源與第二http消息相應(yīng)。例如,若第二http消息為向web緩存服務(wù)器請(qǐng)求視頻資源,則web緩存服務(wù)器發(fā)送的數(shù)據(jù)資源為相應(yīng)的視頻資源。
本發(fā)明實(shí)施例提供了一種重定向方法,通過(guò)僅接收web緩存服務(wù)器發(fā)送的響應(yīng)信息中的響應(yīng)頭信息,使得終端根據(jù)響應(yīng)頭信息實(shí)現(xiàn)重定向到web緩存服務(wù)器,實(shí)現(xiàn)了在測(cè)試時(shí)提高檢測(cè)重定向功能的速度和智能性。
實(shí)施例四
圖7為本發(fā)明實(shí)施例提供的一種終端的結(jié)構(gòu)示意圖,參考圖7所示,該終端包括:發(fā)送單元701、接收單元702、解析單元703和重定向單元704,其中:
發(fā)送單元701,用于向外網(wǎng)服務(wù)器發(fā)送n次第一請(qǐng)求消息,其中,n大于等于1,第一請(qǐng)求消息用于終端從外網(wǎng)服務(wù)器請(qǐng)求第一訪問(wèn)數(shù)據(jù);
接收單元702,用于在發(fā)送單元701向外網(wǎng)服務(wù)器發(fā)送n次第一請(qǐng)求消息之后,接收web緩存服務(wù)器發(fā)送的m次響應(yīng)信息,其中,m大于等于1,響應(yīng)信息與第一請(qǐng)求消息對(duì)應(yīng);
解析單元703,用于根據(jù)每次接收單元702接收的響應(yīng)信息解析出響應(yīng)頭信息;
重定向單元704,用于根據(jù)每次解析單元703解析出的響應(yīng)頭信息重定向到web緩存服務(wù)器。
進(jìn)一步地,響應(yīng)頭信息包括目的地址和狀態(tài)碼,相應(yīng)地,重定向單元704,具體用于在識(shí)別出每次解析單元解析出的目的地址指向web緩存服務(wù)器時(shí),根據(jù)目的地址和狀態(tài)碼完成終端重定向到web緩存服務(wù)器。
進(jìn)一步地,發(fā)送單元701,還用于在重定向單元704根據(jù)每次響應(yīng)頭信息重定向到web緩存服務(wù)器之后,將n和m發(fā)送至web緩存服務(wù)器,以便web緩存服務(wù)器對(duì)終端重定向到web緩存服務(wù)器的重定向成功率進(jìn)行檢測(cè)。
進(jìn)一步地,發(fā)送單元701,還用于在重定向單元704根據(jù)每次響應(yīng)頭信息重定向到web緩存服務(wù)器之后,向web緩存服務(wù)器發(fā)送第二請(qǐng)求消息,其中,第二請(qǐng)求消息用于終端從web緩存服務(wù)器請(qǐng)求第一訪問(wèn)數(shù)據(jù);接收單元702,還用于在發(fā)送單元701向web緩存服務(wù)器發(fā)送第二請(qǐng)求消息之后,接收web緩存服務(wù)器發(fā)送的第一訪問(wèn)數(shù)據(jù)。
需要說(shuō)明的是,上述終端包括windows平臺(tái)環(huán)境中運(yùn)行例如計(jì)算機(jī)、平板電腦等終端,本發(fā)明實(shí)施例對(duì)終端的類型不做具體限制。
實(shí)施例五
圖8為本發(fā)明實(shí)施例提供的一種重定向系統(tǒng)的結(jié)構(gòu)示意圖,參考圖8所示,該重定向系統(tǒng)包括:終端801、web緩存服務(wù)器802和外網(wǎng)服務(wù)器803,其中:
終端801,用于向外網(wǎng)服務(wù)器803發(fā)送n次第一請(qǐng)求消息,其中,n大于等于1,第一請(qǐng)求消息用于終端從外網(wǎng)服務(wù)器803請(qǐng)求第一訪問(wèn)數(shù)據(jù);接收web緩存服務(wù)器802發(fā)送的m次響應(yīng)信息,其中,m大于等于1;根據(jù)每次響應(yīng)信息解析出響應(yīng)頭信息;根據(jù)每次響應(yīng)頭信息重定向到web緩存服務(wù)器802;
web緩存服務(wù)器802,用于在監(jiān)測(cè)到終端801向外網(wǎng)服務(wù)器803發(fā)送第一請(qǐng)求消息時(shí),向終端801發(fā)送響應(yīng)信息;
外網(wǎng)服務(wù)器803,用于接收終端801發(fā)送的第一請(qǐng)求消息。
需要說(shuō)明的是,終端801包括windows平臺(tái)環(huán)境中運(yùn)行例如計(jì)算機(jī)、平板電腦等終端,本發(fā)明實(shí)施例對(duì)終端的類型不做具體限制。
進(jìn)一步地,web緩存服務(wù)器802,具體包括監(jiān)測(cè)服務(wù)器和緩存子服務(wù)器,其中:監(jiān)測(cè)服務(wù)器,用于監(jiān)測(cè)終端801是否向外網(wǎng)服務(wù)器803發(fā)送第一請(qǐng)求消息,以及在監(jiān)測(cè)到終端向外網(wǎng)服務(wù)器發(fā)送第一請(qǐng)求消息時(shí),向終端發(fā)送響應(yīng)信息;緩存子服務(wù)器,用于在接收到終端801發(fā)送第二請(qǐng)求消息時(shí),向終端801發(fā)送第一訪問(wèn)數(shù)據(jù)。
進(jìn)一步地,終端801,還用于將n和m發(fā)送至web緩存服務(wù)器802;web緩存服務(wù)器802,還用于統(tǒng)計(jì)監(jiān)測(cè)到終端801向外網(wǎng)服務(wù)器803發(fā)送第一請(qǐng)求消息的個(gè)數(shù)x,和自身向終端801發(fā)送響應(yīng)信息的個(gè)數(shù)y,其中,x大于等于1,y大于等于1;根據(jù)m、n、x和y對(duì)終端801重定向到web緩存服務(wù)器802進(jìn)行故障定位檢測(cè)。
需要補(bǔ)充的是,在實(shí)際的網(wǎng)絡(luò)運(yùn)維中,影響重定向的因素包括很多,比如:監(jiān)控鏈路的變化、輸出用戶請(qǐng)求的dpi設(shè)備故障、dpi設(shè)備的輸出數(shù)據(jù)中未包括終端的全部請(qǐng)求等因素。
實(shí)際應(yīng)用中,若終端的預(yù)先設(shè)置執(zhí)行次數(shù)為n,即向外網(wǎng)服務(wù)器發(fā)送第一請(qǐng)求消息的次數(shù);終端統(tǒng)計(jì)完成重定向到web緩存服務(wù)器的次數(shù)為m;web緩存服務(wù)器統(tǒng)計(jì)出監(jiān)控到的終端向外網(wǎng)服務(wù)器發(fā)送的第一請(qǐng)求消息的次數(shù)x、web緩存服務(wù)器向終端發(fā)送的響應(yīng)信息的次數(shù)為y,那么,可以通過(guò)以下分析方法對(duì)web緩存服務(wù)器的各種故障進(jìn)行自動(dòng)化分析排查,從而確保web緩存服務(wù)器穩(wěn)定運(yùn)行:
a、x小于n,則影響重定向成功率的因素是dpi設(shè)備輸出請(qǐng)求不全或dpi設(shè)備故障;
b、x等于n,則dpi設(shè)備輸出正常;
c、x小于y,則web緩存服務(wù)器異常;
d、x等于y,但y小于m,則表明網(wǎng)絡(luò)環(huán)境因素(如丟包、路由設(shè)備策略過(guò)濾等)造成重定向成功率低。
進(jìn)一步地,終端801,還用于將n和m發(fā)送至web緩存服務(wù)器802;web緩存服務(wù)器802,還用于根據(jù)n和m,對(duì)終端801重定向到web緩存服務(wù)器802的重定向成功率進(jìn)行檢測(cè)。
可理解地,由于n為終端向外網(wǎng)服務(wù)器發(fā)送第一請(qǐng)求消息的次數(shù),m為終端接收web緩存服務(wù)器發(fā)送響應(yīng)信息的次數(shù),因此,web緩存服務(wù)器可以根據(jù)m與n的比值來(lái)獲得終端重定向到web緩存服務(wù)器的重定向成功率,從而實(shí)現(xiàn)分析終端的重定向功能。
由于重定向成功率是影響web緩存服務(wù)器穩(wěn)定運(yùn)行的關(guān)鍵指標(biāo),通過(guò)計(jì)算重定向成功率來(lái)分析web緩存服務(wù)器的運(yùn)行狀況。
舉例來(lái)說(shuō),若終端向外網(wǎng)服務(wù)器發(fā)送第一請(qǐng)求消息的次數(shù)為100次,終端接收web緩存服務(wù)器發(fā)送響應(yīng)信息的次數(shù)為99次,那么終端重定向到web緩存服務(wù)器的重定向成功率為99%,由于重定向成功率較高,說(shuō)明終端的重定向功能是正常運(yùn)行;若終端向外網(wǎng)服務(wù)器發(fā)送第一請(qǐng)求消息的次數(shù)為100次,終端接收web緩存服務(wù)器發(fā)送響應(yīng)信息的次數(shù)為55次,那么終端重定向到web緩存服務(wù)器的重定向成功率為55%,由于重定向成功率較低,說(shuō)明終端的重定向功能出現(xiàn)故障,其故障原因包括:監(jiān)控鏈路的變化、輸出用戶請(qǐng)求的深度包檢測(cè)(dpi,deeppacketinspection)設(shè)備故障、dpi設(shè)備的輸出數(shù)據(jù)中未包括終端的全部請(qǐng)求、web緩存服務(wù)器異常,或網(wǎng)絡(luò)環(huán)境較差(如丟包、路由設(shè)備策略過(guò)濾)等。
當(dāng)然,還可以通過(guò)其他方法進(jìn)行分析,本發(fā)明實(shí)施例對(duì)此不做具體限制。
在實(shí)際應(yīng)用中,上述發(fā)送單元701、接收單元702、解析單元703、重定向單元704可由位于終端上的處理器實(shí)現(xiàn),具體為中央處理器(cpu)、微處理器(mpu)、數(shù)字信號(hào)處理器(dsp)或現(xiàn)場(chǎng)可編程門(mén)陣列(fpga)等實(shí)現(xiàn),終端中還可以包括存儲(chǔ)器,該存儲(chǔ)器可以通過(guò)系統(tǒng)總線與處理器連接,其中,存儲(chǔ)器用于存儲(chǔ)可執(zhí)行程序代碼,該程序代碼包括計(jì)算機(jī)操作指令,存儲(chǔ)器可能包含高速ram存儲(chǔ)器,也可能還包括非易失性存儲(chǔ)器,例如,至少一個(gè)磁盤(pán)存儲(chǔ)器。
本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實(shí)施例可提供為方法、系統(tǒng)、或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明可采用硬件實(shí)施例、軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本發(fā)明可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤(pán)存儲(chǔ)器和光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。
本發(fā)明是參照根據(jù)本發(fā)明實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來(lái)描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過(guò)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。
這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指令的制造品,該指令實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。
這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。
以上所述,僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。