本發(fā)明涉及計(jì)算機(jī)技術(shù),特別涉及一種頁(yè)面重定向循環(huán)的檢測(cè)方法和裝置。
背景技術(shù):
在頁(yè)面展示的過(guò)程中,有時(shí)會(huì)由于各種原因需要進(jìn)行頁(yè)面重定向,比如,在業(yè)務(wù)頁(yè)面的渲染時(shí),如果檢測(cè)到用戶尚未登錄或者登錄超時(shí),可以將對(duì)該業(yè)務(wù)頁(yè)面的訪問(wèn)重定向到登錄頁(yè)面,待登錄成功后,再重定向到業(yè)務(wù)頁(yè)面。在頁(yè)面重定向過(guò)程中,經(jīng)常涉及到至少一個(gè)頁(yè)面,形成一個(gè)多頁(yè)面之間跳轉(zhuǎn)的重定向鏈路,比如,a——>b——>c,表示將對(duì)頁(yè)面a的訪問(wèn)重定向至頁(yè)面b,再接著重定向至頁(yè)面c。但是,可能出現(xiàn)的情況是,由于重定向鏈路中的某個(gè)節(jié)點(diǎn)頁(yè)面出現(xiàn)處理錯(cuò)誤,導(dǎo)致形成頁(yè)面重定向循環(huán),比如,a——>b——>c——>a——>b——>c......,這將對(duì)各頁(yè)面的后臺(tái)造成較大壓力,也浪費(fèi)處理資源。因此,快捷有效的檢測(cè)出頁(yè)面重定向循環(huán),以及時(shí)采取措施,將非常重要。
現(xiàn)有的一種頁(yè)面重定向循環(huán)的檢測(cè)方法,可以是檢測(cè)重定向鏈路中是否存在環(huán)路,若存在環(huán)路則確定出現(xiàn)重定向循環(huán)。但是該方法需要獲取完整的重定向鏈路信息,在鏈路較長(zhǎng)時(shí),對(duì)處理資源消耗較大;并且,有時(shí)完整的重定向鏈路信息是不能夠獲取到的,比如,在跨站點(diǎn)信任登錄的場(chǎng)景中,重定向鏈路可能包括分屬于不同所有者的站點(diǎn),不容易獲取到鏈路信息,這也限制了該方法的應(yīng)用。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本發(fā)明提供一種頁(yè)面重定向循環(huán)的檢測(cè)方法和裝置,以使得檢測(cè)頁(yè)面重定向循環(huán)的方法更加簡(jiǎn)單且應(yīng)用范圍更廣。
具體地,本發(fā)明是通過(guò)如下技術(shù)方案實(shí)現(xiàn)的:
第一方面,提供一種頁(yè)面重定向循環(huán)的檢測(cè)方法,該方法包括:
對(duì)于被監(jiān)測(cè)的目標(biāo)頁(yè)面,獲取所述目標(biāo)頁(yè)面被訪問(wèn)的訪問(wèn)時(shí)間序列,所述目標(biāo)頁(yè)面是頁(yè)面重定向鏈路中的其中一個(gè)節(jié)點(diǎn)頁(yè)面;
在所述訪問(wèn)時(shí)間序列存在周期性時(shí),確定所述目標(biāo)頁(yè)面所在的頁(yè)面重定向鏈路發(fā)生頁(yè)面重定向循環(huán)。
第二方面,提供一種頁(yè)面重定向循環(huán)的檢測(cè)裝置,所述裝置包括:
時(shí)間獲取模塊,用于對(duì)于被監(jiān)測(cè)的目標(biāo)頁(yè)面,獲取所述目標(biāo)頁(yè)面被訪問(wèn)的訪問(wèn)時(shí)間序列,所述目標(biāo)頁(yè)面是頁(yè)面重定向鏈路中的其中一個(gè)節(jié)點(diǎn)頁(yè)面;
周期分析模塊,用于在所述訪問(wèn)時(shí)間序列存在周期性時(shí),確定所述目標(biāo)頁(yè)面所在的頁(yè)面重定向鏈路發(fā)生頁(yè)面重定向循環(huán)。
本發(fā)明的頁(yè)面重定向循環(huán)的檢測(cè)方法和裝置,通過(guò)對(duì)重定向鏈路中的單個(gè)節(jié)點(diǎn)頁(yè)面的監(jiān)控,分析該單個(gè)頁(yè)面的訪問(wèn)時(shí)間序列,即可確認(rèn)出重定向循環(huán)的發(fā)生,由于該方法不需要獲取完整的重定向鏈路,實(shí)現(xiàn)起來(lái)較為簡(jiǎn)單,降低了系統(tǒng)資源消耗,并且即使是跨站點(diǎn)的頁(yè)面重定向場(chǎng)景,由于通過(guò)單個(gè)頁(yè)面的監(jiān)測(cè)即可確認(rèn)循環(huán),不需要獲取其他站點(diǎn)的信息,從而具有更廣泛的應(yīng)用范圍。
附圖說(shuō)明
圖1是本發(fā)明實(shí)施例提供的一種頁(yè)面重定向循環(huán)的檢測(cè)方法的處理流程;
圖2是本發(fā)明實(shí)施例提供的一種頁(yè)面重定向循環(huán)的檢測(cè)裝置的結(jié)構(gòu)示意圖;
圖3是本發(fā)明實(shí)施例提供的一種頁(yè)面重定向循環(huán)的檢測(cè)裝置的結(jié)構(gòu)示意圖。
具體實(shí)施方式
頁(yè)面重定向循環(huán)是在頁(yè)面類資源的展示過(guò)程中,由于各種原因?qū)е轮囟ㄏ蜴溌分谐霈F(xiàn)環(huán)路情況,例如,在一個(gè)示例的重定向鏈路中,a——>b——>c——......>a——>b——>c,將不停的在頁(yè)面a、頁(yè)面b和頁(yè)面c之間進(jìn)行跳轉(zhuǎn),無(wú)疑將對(duì)各頁(yè)面的后臺(tái)造成較大壓力。
本申請(qǐng)實(shí)施例以期根據(jù)頁(yè)面重定向循環(huán)的特點(diǎn),作為檢測(cè)識(shí)別頁(yè)面重定向循環(huán)發(fā)生的依據(jù)。仍以上述發(fā)生頁(yè)面重定向循環(huán)的鏈路“a——>b——>c——......>a——>b——>c”為例,在各個(gè)頁(yè)面之間循環(huán)跳轉(zhuǎn)的過(guò)程中,其中的某個(gè)節(jié)點(diǎn)頁(yè)面將會(huì)被重復(fù)訪問(wèn),比如,以頁(yè)面b為例,該頁(yè)面b在被訪問(wèn)之后,過(guò)一會(huì)將再次被訪問(wèn),然后一段時(shí)間后又會(huì)被訪問(wèn),如果將頁(yè)面b被訪問(wèn)的時(shí)間記錄下來(lái),將組成一個(gè)訪問(wèn)時(shí)間序列,例如,“t1、t2、t3.......”。
并且,還有一個(gè)特點(diǎn)是,頁(yè)面重定向循環(huán)的跳轉(zhuǎn)鏈路是固定的,比如上述例子中,在頁(yè)面a、頁(yè)面b和頁(yè)面c這三個(gè)頁(yè)面之間進(jìn)行循環(huán)跳轉(zhuǎn),那么,頁(yè)面b被訪問(wèn)的時(shí)間序列中,通??偸情g隔相對(duì)固定的時(shí)間,頁(yè)面b就會(huì)被再次訪問(wèn),即頁(yè)面b的被訪問(wèn)在時(shí)間上存在周期性。
基于上述頁(yè)面重定向循環(huán)的特點(diǎn),本申請(qǐng)實(shí)施例提供了一種頁(yè)面重定向循環(huán)的檢測(cè)方法,該方法可以通過(guò)監(jiān)測(cè)頁(yè)面重定向循環(huán)的跳轉(zhuǎn)鏈路中的其中一個(gè)節(jié)點(diǎn)頁(yè)面,來(lái)確定出該頁(yè)面重定向循環(huán)的發(fā)生。以上述的頁(yè)面a至頁(yè)面c之間的循環(huán)跳轉(zhuǎn)“a——>b——>c——......>a——>b——>c”為例,可以監(jiān)測(cè)頁(yè)面a,也可以監(jiān)測(cè)頁(yè)面b,或者也可以監(jiān)測(cè)頁(yè)面c,本例子對(duì)此不做限制。
圖1示例了一種頁(yè)面重定向循環(huán)的檢測(cè)方法的處理流程,該方法可以包括:
在步驟101中,對(duì)于被監(jiān)測(cè)的目標(biāo)頁(yè)面,獲取所述目標(biāo)頁(yè)面被訪問(wèn)的訪問(wèn)時(shí)間序列。
本例子中的檢測(cè)方法可以由監(jiān)測(cè)系統(tǒng)執(zhí)行,當(dāng)要監(jiān)測(cè)某個(gè)頁(yè)面時(shí),可以將待監(jiān)測(cè)的頁(yè)面添加為監(jiān)測(cè)系統(tǒng)的監(jiān)測(cè)對(duì)象。例如,對(duì)于一個(gè)重定向鏈路來(lái)說(shuō),該重定向鏈路中的各個(gè)頁(yè)面中,部分頁(yè)面可能會(huì)出現(xiàn)處理異常而導(dǎo)致重定向循環(huán)的發(fā)生,這一點(diǎn)可以預(yù)先分析得到,即可以預(yù)先分析在可能出現(xiàn)的重定向循環(huán)中,哪些頁(yè)面會(huì)被循環(huán)訪問(wèn),則可以將這些頁(yè)面添加為監(jiān)測(cè)對(duì)象。例如,仍以上述的重定向鏈路“a——>b——>c——......>a——>b——>c”為例,如果發(fā)生頁(yè)面重定向循環(huán),那么很大可能是頁(yè)面b會(huì)在重定向循環(huán)的鏈路中被循環(huán)訪問(wèn),那么可以在監(jiān)測(cè)系統(tǒng)中設(shè)置對(duì)頁(yè)面b啟動(dòng)監(jiān)測(cè),頁(yè)面b可以稱為被監(jiān)測(cè)的目標(biāo)頁(yè)面。本例子所選擇的目標(biāo)頁(yè)面是頁(yè)面重定向鏈路中的其中一個(gè)節(jié)點(diǎn)頁(yè)面。
本步驟中,在發(fā)生重定向循環(huán)的跳轉(zhuǎn)中,頁(yè)面b將會(huì)每隔一段時(shí)間就被訪問(wèn)到,監(jiān)測(cè)系統(tǒng)可以獲取頁(yè)面b被訪問(wèn)的訪問(wèn)時(shí)間序列。例如,該序列可以為t1、t2、t3.......tn,表示在t1時(shí)刻頁(yè)面b被訪問(wèn),接著在t2時(shí)刻頁(yè)面b再次被訪問(wèn),然后在t3時(shí)刻頁(yè)面b又被訪問(wèn),以此類推。該頁(yè)面b的訪問(wèn)時(shí)間序列,例如可以是監(jiān)測(cè)系統(tǒng)由頁(yè)面b的后臺(tái)記錄的頁(yè)面訪問(wèn)日志中獲得。
在步驟102中,在分析所述訪問(wèn)時(shí)間序列存在周期性時(shí),確定所述目標(biāo)頁(yè)面所在的重定向鏈路發(fā)生頁(yè)面重定向循環(huán)。
本例子中,監(jiān)測(cè)系統(tǒng)可以對(duì)步驟101獲得的訪問(wèn)時(shí)間序列“t1、t2、t3.......tn”進(jìn)行分析,判斷該序列的各個(gè)訪問(wèn)時(shí)間之間是否存在周期性。舉例來(lái)說(shuō),一種理想的情況是,假設(shè)t1和t2之間的時(shí)間間隔是2秒,t2與t3之間的時(shí)間間隔也是2秒,t3與t4之間的時(shí)間間隔同樣為2秒,以此類推,即固定每隔2秒鐘頁(yè)面b被訪問(wèn)一次,那么可以確定該訪問(wèn)時(shí)間序列存在周期性。
但是通常上述的訪問(wèn)時(shí)間序列的各個(gè)訪問(wèn)時(shí)間之間的間隔,可能存在一定的偏差,比如,t1和t2之間的時(shí)間間隔是2秒,t2與t3之間的時(shí)間間隔是1.8秒,t3與t4之間的時(shí)間間隔為2.1秒,等,時(shí)間序列的形式為“2、1.8、2.1、2.2、1.9......”,即各個(gè)訪問(wèn)時(shí)間將在一定的范圍內(nèi)波動(dòng),但總體來(lái)說(shuō)仍然是平穩(wěn)的,在某一個(gè)固定值附近,這也可以認(rèn)為該訪問(wèn)時(shí)間序列具有周期性。
本例子中,可以運(yùn)用多種時(shí)間序列周期監(jiān)測(cè)方法,如基于頻譜分析的傅里葉分析、周期圖、極大熵等檢測(cè)方法,從上述時(shí)序中發(fā)現(xiàn)周期性,在一定的置信度和準(zhǔn)確率的前提下確認(rèn)循環(huán)的發(fā)生。
在一個(gè)例子中,在對(duì)時(shí)間序列進(jìn)行周期檢測(cè)的過(guò)程中,可以確定該序列的周期長(zhǎng)度。例如,可以預(yù)先設(shè)定一些可能的周期長(zhǎng)度,稱為候選周期值;還可以設(shè)定周期長(zhǎng)度的置信度和周期閾值,候選周期值的置信度可以大于或等于給定的周期閾值。周期置信度說(shuō)明一個(gè)模式必須連續(xù)出現(xiàn)一定次數(shù)才認(rèn)為該段時(shí)間序列具有周期性。在呈現(xiàn)周期性的時(shí)間序列中存在一些噪音,但噪音出現(xiàn)的次數(shù)不能超過(guò)一定范圍,若超出一定范圍,則認(rèn)為周期不再持續(xù)。
此外,本例子中,頁(yè)面b是重定向鏈路中的其中一個(gè)節(jié)點(diǎn)頁(yè)面,當(dāng)確定頁(yè)面b的訪問(wèn)時(shí)間序列存在周期性時(shí),則可以確定頁(yè)面b所在的該重定向鏈路發(fā)生了頁(yè)面重定向循環(huán)。
監(jiān)測(cè)系統(tǒng)在確認(rèn)發(fā)生頁(yè)面重定向循環(huán)后,可以采取對(duì)于循環(huán)發(fā)生的告警措施,可以發(fā)送循環(huán)告警信息。例如,該循環(huán)告警信息可以是向相關(guān)技術(shù)業(yè)務(wù)人員發(fā)送的短信或郵件通知,以使得由該業(yè)務(wù)人員決策相應(yīng)的后續(xù)處理措施?;蛘?,也可以由監(jiān)測(cè)系統(tǒng)決策,當(dāng)檢測(cè)到循環(huán)發(fā)生的時(shí)候,自動(dòng)拒絕新進(jìn)入的訪問(wèn)請(qǐng)求。在一個(gè)例子中,可以在頁(yè)面所屬的業(yè)務(wù)系統(tǒng)設(shè)置一個(gè)代理模塊,該代理模塊可以接收對(duì)頁(yè)面的訪問(wèn)請(qǐng)求并作出相應(yīng)的處理。當(dāng)監(jiān)測(cè)系統(tǒng)通過(guò)本申請(qǐng)的檢測(cè)方法確定頁(yè)面所在的重定向鏈路發(fā)生重定向循環(huán)時(shí),可以向該代理模塊發(fā)送循環(huán)告警信息,以通知該代理模塊,由代理模塊在再次接收到對(duì)該頁(yè)面的訪問(wèn)請(qǐng)求時(shí),拒絕對(duì)該頁(yè)面的訪問(wèn)。
本申請(qǐng)實(shí)施例的檢測(cè)方法,通過(guò)對(duì)重定向鏈路中的單個(gè)節(jié)點(diǎn)頁(yè)面的監(jiān)控,分析該單個(gè)頁(yè)面的訪問(wèn)時(shí)間序列,即可確認(rèn)出重定向循環(huán)的發(fā)生,由于該方法不需要獲取完整的重定向鏈路,實(shí)現(xiàn)起來(lái)較為簡(jiǎn)單,降低了系統(tǒng)資源消耗,并且即使是跨站點(diǎn)的頁(yè)面重定向場(chǎng)景,由于通過(guò)單個(gè)頁(yè)面的監(jiān)測(cè)即可確認(rèn)循環(huán),不需要獲取其他站點(diǎn)的信息,從而具有更廣泛的應(yīng)用范圍。
在一個(gè)例子中,監(jiān)測(cè)系統(tǒng)所獲取的目標(biāo)頁(yè)面的訪問(wèn)時(shí)間序列,可以是用戶維度或者設(shè)備維度記錄的訪問(wèn)時(shí)間序列。例如,該訪問(wèn)時(shí)間序列可以是,同一個(gè)訪問(wèn)用戶訪問(wèn)頁(yè)面b的訪問(wèn)時(shí)間序列;或者,同一個(gè)訪問(wèn)設(shè)備訪問(wèn)頁(yè)面b的訪問(wèn)時(shí)間序列。在其他例子中,也可以是其他維度記錄的訪問(wèn)時(shí)間。
例如,某一個(gè)用戶在其自己的個(gè)人電腦上進(jìn)行上網(wǎng),訪問(wèn)一些站點(diǎn),在訪問(wèn)過(guò)程中發(fā)生了頁(yè)面重定向循環(huán),該重定向循環(huán)的鏈路可以是“g1—g2—g3—g1—g2—g3—.......”,頁(yè)面對(duì)應(yīng)的后臺(tái)訪問(wèn)日志在記錄頁(yè)面的訪問(wèn)信息時(shí),訪問(wèn)信息可以包括很多種,比如可以包括:所訪問(wèn)該頁(yè)面的用戶賬號(hào)(例如,用某網(wǎng)站的注冊(cè)賬號(hào)登錄后訪問(wèn)頁(yè)面時(shí),可以在日志中記錄是哪個(gè)用戶在訪問(wèn))、訪問(wèn)該頁(yè)面的設(shè)備標(biāo)識(shí)(例如,可以是用戶使用的電腦的唯一硬件標(biāo)識(shí))、訪問(wèn)該頁(yè)面的訪問(wèn)時(shí)間,等信息。當(dāng)重定向循環(huán)發(fā)生時(shí),一個(gè)節(jié)點(diǎn)頁(yè)面可以被重復(fù)訪問(wèn),每一次訪問(wèn)都可以記錄上述的訪問(wèn)信息。
在實(shí)際實(shí)施中,具體記錄哪些信息可以靈活設(shè)定,比如,在基于用戶維度的記錄方式中,可以不記錄訪問(wèn)設(shè)備的標(biāo)識(shí),而是記錄某個(gè)用戶在某個(gè)時(shí)間訪問(wèn)了該頁(yè)面;這樣在后續(xù)獲取該頁(yè)面的訪問(wèn)時(shí)間序列時(shí),可以根據(jù)用戶的標(biāo)識(shí),找出同一個(gè)用戶標(biāo)識(shí)對(duì)應(yīng)的一系列的訪問(wèn)時(shí)間,即得到該訪問(wèn)時(shí)間序列。在另一個(gè)例子中,也可以基于訪問(wèn)設(shè)備維度記錄,該方式可以不記錄訪問(wèn)用戶的標(biāo)識(shí),而是記錄某個(gè)設(shè)備在某個(gè)時(shí)間訪問(wèn)了該頁(yè)面;后續(xù)獲取該頁(yè)面的訪問(wèn)時(shí)間序列時(shí),可以根據(jù)設(shè)備標(biāo)識(shí),找出同一個(gè)設(shè)備標(biāo)識(shí)對(duì)應(yīng)的一系列的訪問(wèn)時(shí)間,即得到該訪問(wèn)時(shí)間序列。又比如,訪問(wèn)信息中可以同時(shí)記錄訪問(wèn)用戶和訪問(wèn)設(shè)備,而是在由日志中獲取訪問(wèn)時(shí)間序列時(shí),可以選擇基于用戶維度查找或者基于設(shè)備維度查找。
此外,本申請(qǐng)實(shí)施例中,可能發(fā)生頁(yè)面重定向循環(huán)的頁(yè)面,可以包括多種類型的頁(yè)面,例如,可以是以u(píng)rl標(biāo)識(shí)(即頁(yè)面具有url地址)的pc頁(yè)面,或者h(yuǎn)5頁(yè)面,或者native頁(yè)面;或者,還可以是非url標(biāo)記的頁(yè)面資源。
為了實(shí)現(xiàn)上述的檢測(cè)方法,本申請(qǐng)實(shí)施例還提供了一種頁(yè)面重定向循環(huán)的檢測(cè)裝置,如圖2所示,該裝置可以包括:時(shí)間獲取模塊21和周期分析模塊22。
時(shí)間獲取模塊21,用于對(duì)于被監(jiān)測(cè)的目標(biāo)頁(yè)面,獲取所述目標(biāo)頁(yè)面被訪問(wèn)的訪問(wèn)時(shí)間序列,所述目標(biāo)頁(yè)面是頁(yè)面重定向鏈路中的其中一個(gè)節(jié)點(diǎn)頁(yè)面;
周期分析模塊22,用于在分析所述訪問(wèn)時(shí)間序列存在周期性時(shí),確定所述目標(biāo)頁(yè)面所在的頁(yè)面重定向鏈路發(fā)生頁(yè)面重定向循環(huán)。
在一個(gè)例子中,所述訪問(wèn)時(shí)間序列,包括:同一個(gè)訪問(wèn)用戶訪問(wèn)所述目標(biāo)頁(yè)面的訪問(wèn)時(shí)間序列;或者,同一個(gè)訪問(wèn)設(shè)備訪問(wèn)目標(biāo)頁(yè)面的訪問(wèn)時(shí)間序列。
在一個(gè)例子中,周期分析模塊22,具體用于通過(guò)基于頻譜分析的傅里葉分析、或者周期圖、或者極大熵檢測(cè)方法,對(duì)所述訪問(wèn)時(shí)間序列進(jìn)行周期性分析,確認(rèn)所述訪問(wèn)時(shí)間序列存在周期性。
在一個(gè)例子中,所述目標(biāo)頁(yè)面,包括:pc頁(yè)面,或者h(yuǎn)5頁(yè)面,或者native頁(yè)面。
在一個(gè)例子中,如圖3所示,該裝置還可以包括:告警處理模塊23,用于在所述周期分析模塊確定所述目標(biāo)頁(yè)面所在的頁(yè)面重定向鏈路發(fā)生頁(yè)面重定向循環(huán)之后,發(fā)送循環(huán)告警信息。
以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明保護(hù)的范圍之內(nèi)。