本申請涉及互聯網領域,具體而言,涉及一種網頁加載速度的確定方法和裝置。
背景技術:
網站中網頁的加載速度的評價指標通常是指用戶從打開一個網頁到該網頁完整呈現出來所消耗的時間,這個時間越短,網站給用戶帶來的體驗就越好。通常網站的總的網頁數量一般少的有幾十萬,多的甚至是千萬級,如此多的網頁,難免會出現一些加載速度慢的網頁影響了用戶的體驗。因此,各網站運營商需要找出這些加載速度慢的網頁,以便于確定其加載速度慢的原因,針對性地解決加載速度慢的問題。
如何去找到這樣的網頁是一個比較難以解決的問題。目前,找出加載速度慢的網頁的方式主要是通過人工測試網站各個網頁的加載速度。然而,人工測試只能反應測試人員所處的網絡環境下對于網頁的加載情況,不一定真實反應了網民訪問網頁時的狀況,從而導致對加載速度慢的網頁判斷不準確。
針對上述的問題,目前尚未提出有效的解決方案。
技術實現要素:
本申請實施例提供了一種網頁加載速度的確定方法和裝置,以至少解決對加載速度慢的網頁判斷不準確的技術問題。
根據本申請實施例的一個方面,提供了一種網頁加載速度的確定方法,包括:對目標網站的訪問數據進行解析,以獲取在同一會話中同一來源訪問同一網頁超過預設訪問次數的訪問數據;從獲取的訪問數據中提取在所述同一會話中所述同一來源在所述同一網頁的停留時間;以及根據所述停留時間確定訪問的網頁是否為加載速度慢的網頁。
進一步地,根據所述停留時間確定訪問的網頁是否為加載速度慢的網頁包括:統計在所述同一會話中所述同一來源在所述同一網頁的總停留時間和總訪問次數;獲取在所述同一會話中所述同一來源最后一次訪問所述同一網頁的停留時間;利用以下公式計算在所述同一會話中除最后一次訪問所述同一網頁的平均停留時間: t=(T-T1)/(N-1),其中,T為所述總停留時間,T1為所述最后一次訪問所述同一網頁的停留時間,N為所述總訪問次數;判斷所述t是否大于或等于時間閾值;在所述t大于或等于所述時間閾值時,確定所述訪問的網頁為加載速度慢的網頁。
進一步地,根據所述停留時間確定訪問的網頁是否為加載速度慢的網頁包括:統計在所述同一會話中所述同一來源訪問所述同一網頁的停留時間大于等于時間閾值的訪問次數;判斷停留時間大于等于所述時間閾值的訪問次數是否超過次數閾值;在判斷出停留時間大于等于所述時間閾值的訪問次數超過次數閾值時,確定所述訪問的網頁為加載速度慢的網頁。
進一步地,根據所述停留時間確定訪問的網頁是否為加載速度慢的網頁包括:根據所述停留時間確定出疑似加載速度慢的網頁;統計對所述疑似加載速度慢的網頁加載速度慢的來源數量;判斷所述來源數量是否達到預設數量;在判斷出所述來源數量達到所述預設數量時,確定所述疑似加載速度慢的網頁為加載速度慢的網頁。
進一步地,根據所述停留時間確定訪問的網頁是否為加載速度慢的網頁包括:根據所述停留時間確定出疑似加載速度慢的網頁;記錄所述疑似加載速度慢的網頁的統一資源定位符;判斷預設時間段內對同一統一資源定位符記錄的次數是否超過預設記錄次數;在超過所述預設記錄次數時,確定超過所述預設記錄次數的統一資源定位符對應的網頁為加載速度慢的網頁。
根據本申請實施例的另一方面,還提供了一種網頁加載速度的確定裝置,包括:獲取單元,用于對目標網站的訪問數據進行解析,以獲取在同一會話中同一來源訪問同一網頁超過預設訪問次數的訪問數據;提取單元,用于從獲取的訪問數據中提取在所述同一會話中所述同一來源在所述同一網頁的停留時間;以及確定單元,用于根據所述停留時間確定訪問的網頁是否為加載速度慢的網頁。
進一步地,所述確定單元包括:第一統計模塊,用于統計在所述同一會話中所述同一來源在所述同一網頁的總停留時間和總訪問次數;獲取模塊,用于獲取在所述同一會話中所述同一來源最后一次訪問所述同一網頁的停留時間;計算模塊,用于利用以下公式計算在所述同一會話中除最后一次訪問所述同一網頁的平均停留時間:t=(T-T1)/(N-1),其中,T為所述總停留時間,T1為所述最后一次訪問所述同一網頁的停留時間,N為所述總訪問次數;第一判斷模塊,用于判斷所述t是否大于或等于時間閾值;第一確定模塊,用于在所述t大于或等于所述時間閾值時,確定所述訪問的網頁為加載速度慢的網頁。
進一步地,所述確定單元包括:第二統計模塊,用于統計在所述同一會話中所述 同一來源訪問所述同一網頁的停留時間大于等于時間閾值的訪問次數;第二判斷模塊,用于判斷停留時間大于等于所述時間閾值的訪問次數是否超過次數閾值;第二確定模塊,用于在判斷出停留時間大于等于所述時間閾值的訪問次數超過次數閾值時,確定所述訪問的網頁為加載速度慢的網頁。
進一步地,所述確定單元包括:第三確定模塊,用于根據所述停留時間確定出疑似加載速度慢的網頁;第三統計模塊,用于統計對所述疑似加載速度慢的網頁加載速度慢的來源數量;第三判斷模塊,用于判斷所述來源數量是否達到預設數量;第三確定模塊,用于在判斷出所述來源數量達到所述預設數量時,確定所述疑似加載速度慢的網頁為加載速度慢的網頁。
進一步地,所述確定單元包括:第四確定模塊,用于根據所述停留時間確定出疑似加載速度慢的網頁;記錄模塊,用于記錄所述疑似加載速度慢的網頁的統一資源定位符;第四判斷模塊,用于判斷預設時間段內對同一統一資源定位符記錄的次數是否超過預設記錄次數;第五確定模塊,用于在超過所述預設記錄次數時,確定超過所述預設記錄次數的統一資源定位符對應的網頁為加載速度慢的網頁。
根據本申請實施例,從目標網站的訪問數據中獲取在同一會話中同一來源訪問同一網頁超過預設訪問次數的訪問數據,從獲取的訪問數據中獲取在同一會話中同一來源在同一網頁的停留時間,根據停留時間確定訪問的網頁是否為加載速度慢的網頁,根據記錄有用戶的訪問行為的訪問數據,從用戶的實際訪問行為來判斷加載速度慢的網頁,相對于現有技術中在測試網絡環境下測試網頁的加載情況,真實地反應了網民訪問網頁時的狀況,提高了對加載速度慢的網頁判斷的準確性,解決了對加載速度慢的網頁判斷不準確的技術問題。
附圖說明
此處所說明的附圖用來提供對本申請的進一步理解,構成本申請的一部分,本申請的示意性實施例及其說明用于解釋本申請,并不構成對本申請的不當限定。在附圖中:
圖1是根據本申請實施例的網頁加載速度的確定方法的流程圖;
圖2是根據本申請實施例的網頁加載速度的確定裝置的示意圖。
具體實施方式
為了使本技術領域的人員更好地理解本申請方案,下面將結合本申請實施例中的附圖,對本申請實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例 僅僅是本申請一部分的實施例,而不是全部的實施例。基于本申請中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都應當屬于本申請保護的范圍。
需要說明的是,本申請的說明書和權利要求書及上述附圖中的術語“第一”、“第二”等是用于區別類似的對象,而不必用于描述特定的順序或先后次序。應該理解這樣使用的數據在適當情況下可以互換,以便這里描述的本申請的實施例能夠以除了在這里圖示或描述的那些以外的順序實施。此外,術語“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過程、方法、系統、產品或設備不必限于清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或對于這些過程、方法、產品或設備固有的其它步驟或單元。
根據本申請實施例,提供了一種網頁加載速度的確定方法的方法實施例,需要說明的是,在附圖的流程圖示出的步驟可以在諸如一組計算機可執行指令的計算機系統中執行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執行所示出或描述的步驟。
圖1是根據本申請實施例的網頁加載速度的確定方法的流程圖,如圖1所示,該方法包括如下步驟:
步驟S102,對目標網站的訪問數據進行解析,以獲取在同一會話中同一來源訪問同一網頁超過預設訪問次數的訪問數據。
用戶在通過終端訪問目標網站時,該目標網站通常會記錄用戶的訪問行為,例如,記錄訪問的網頁、訪問次數、訪問時間、在網頁的停留時間、用戶的來源(可以是用于表示用戶唯一性的標識,例如用戶使用的IP地址、終端的mac地址等)等等數據,形成訪問數據。本實施例中,目標網站即為測試的網站,該目標網站包含有一定數量的網頁頁面。
當用戶訪問某個網頁時,如果遇到加載速度過慢的網頁會嘗試進行刷新,如果對于同一個網頁有很多人在訪問時都進行了多次(兩次以上)刷新,則可以認為該網頁的加載速度可能會比較慢,需要進行排查。在本實施例中,一次刷新即為用戶對網頁的一次請求,用戶對網頁的一次請求記為一次訪問。
通過對目標網站的訪問數據進行解析,以獲取在同一會話中同一來源訪問同一網頁超過預設訪問次數的訪問數據,其中,一個會話指的是同一個來源的用戶在網站上一次完整的訪問過程。獲取上述訪問數據具體可以是先從解析結果中對目標網站的訪問數據進行遍歷,以會話為單位從中找出同一網頁被訪問的訪問次數超過預設訪問次 數(可以根需求進行設置)的訪問數據,再找出所有在同一會話中同一來源訪問同一網頁超過預設訪問次數的訪問數據,以便于從這些數據中獲取用戶在每次訪問時的停留時間。
步驟S104,從獲取的訪問數據中提取在同一會話中同一來源在同一網頁的停留時間。
一次訪問的停留時間是指從用戶請求加載網頁之后,直到用戶再次請求加載該網頁或者其他網頁為止,這之間所經歷的時間,無論該網頁是否已經加載出來。具體地,可以是獲取的訪問數據中可以記錄有每次訪問過程中,用戶請求記載網頁的時刻以及用戶再次請求記載該網頁或者請求加載其他網頁的時刻,由上述兩個時刻計算得到上述停留時間。當然,也可以在用戶訪問網頁時,通過計時器對用戶的每次訪問進行計時,使得訪問數據中直接記錄有每次訪問的停留時間,這樣,在獲取到訪問數據之后,可以直接從訪問數據中提取上述停留時間。獲取在一次會話中,用戶訪問同一網頁的每一次訪問的停留時間,以便于利用該停留時間確定該網頁是否為加載速度慢的網頁。
步驟S106,根據停留時間確定訪問的網頁是否為加載速度慢的網頁。
由于用戶遇到加載速度過慢的網頁會嘗試進行刷新,即多次訪問相同的網頁,則該網頁可能是加載速度慢的網頁,進一步判斷時,根據停留時間確定訪問的網頁是否為加載速度慢的網頁,可以是判斷每次訪問的停留時間的長短,如果其中多次訪問的停留時間較長(大于等于時間閾值),則確定該網頁為加載速度慢的網頁;也可以是判斷多次訪問的平均停留時間是否大于等于時間閾值,如果是,則確定該網頁為加載速度慢的網頁;還可以是判斷除最后一次訪問的停留時間之外,其他的訪問的平均停留時間是否大于等于時間閾值,如果是,則確定該網頁為加載速度慢的網頁。由于當用戶最后一次訪問網頁的停留時間通常包括用戶瀏覽網頁內容的時間,這段時間比較長,將這段停留時間剔除,可以進一步提高判斷的準確性。需要說明的是,本申請實施例中,根據停留時間確定訪問的網頁是否為加載速度慢的網頁的具體方式包括但不限于上述方式,這里并沒有對本申請有不當限定。
根據本申請實施例,從目標網站的訪問數據中獲取在同一會話中同一來源訪問同一網頁超過預設訪問次數的訪問數據,從獲取的訪問數據中獲取在同一會話中同一來源在同一網頁的停留時間,根據停留時間確定訪問的網頁是否為加載速度慢的網頁,根據記錄有用戶的訪問行為的訪問數據,從用戶的實際訪問行為來判斷加載速度慢的網頁,相對于現有技術中在測試網絡環境下測試網頁的加載情況,真實地反應了網民訪問網頁時的狀況,提高了對加載速度慢的網頁判斷的準確性,解決了對加載速度慢的網頁判斷不準確的技術問題。
另外,由于現有技術中人工統計耗時較長,尤其對于大型網站,且人工測試根本無法覆蓋目標網站的所有網頁。而本申請實施例通過利用目標網站的訪問數據來判斷加載速度慢的網頁,無需人工干預,通過計算機程序等即可對用戶所訪問的所有網頁進行判斷,覆蓋率高。
優選地,本申請實施例中,可以通過在目標網站添加Tracker(JS腳本),用以收集用戶在目標網站的訪問數據,統計每個用戶在網站中的訪問行為,并將該目標網站的所有訪問數據都會被發送到指定服務器上,逐條解析服務器收集到的用戶訪問數據。
優選地,根據停留時間確定訪問的網頁是否為加載速度慢的網頁包括:統計在同一會話中同一來源在同一網頁的總停留時間和總訪問次數;獲取在同一會話中同一來源最后一次訪問同一網頁的停留時間;利用以下公式計算在同一會話中除最后一次訪問同一網頁的平均停留時間:t=(T-T1)/(N-1),其中,T為總停留時間,T1為最后一次訪問同一網頁的停留時間,N為總訪問次數;判斷t是否大于或等于時間閾值;在t大于或等于時間閾值時,確定訪問的網頁為加載速度慢的網頁。
對于總停留時間的統計,可以是通過加法器將前述中提取到的同一會話中每次訪問的停留時間相加,得到總停留時間。對于總訪問次數,可以使用計數器對訪問數據中同一會話的每次訪問進行累加,得到總訪問次數。
本實施例中,通過計算對網頁的訪問(不包括最后一次訪問)的平均停留時間,判斷該平均停留時間是否大于等于時間閾值,該時間閾值可以是用戶訪問目標網站的網頁的最小訪問時間,不同的目標網站,可以設置不同的時間閾值,上述平均停留時間大于等于時間閾值則基本可以認為用戶沒有瀏覽網頁數據,在此可以認為用戶還沒等到網頁加載出來。由于當用戶最后一次訪問網頁的停留時間通常包括用戶瀏覽網頁內容的時間,這段時間比較長,將這段停留時間剔除,可以進一步提高判斷的準確性。
例如用戶在一次會話中連續訪問了一個網頁3次,依次訪問了10秒,10秒,25秒,其中,用戶在該次會話中的最后一次訪問花了一定量的時間瀏覽網頁內容,因此,最后一次訪問時間較長。假如該目標網站的時間閾值為3s,計算得到用戶訪問該網頁(不包括最后一次訪問)的平均停留時間為10s,因此,可以確定該用戶訪問的網頁加載速度慢。如果上述平均訪問時間小于時間閾值,可以認為用戶對網頁的暴力刷新或者是誤刷新,不能認為是網頁本身加載速度慢。
可選地,根據停留時間確定訪問的網頁是否為加載速度慢的網頁包括:統計在同一會話中同一來源訪問同一網頁的停留時間大于等于時間閾值的訪問次數;判斷停留時間大于等于時間閾值的訪問次數是否超過次數閾值;在判斷出停留時間大于等于時 間閾值的訪問次數超過次數閾值時,確定訪問的網頁為加載速度慢的網頁。
本實施例中,可以對一個會話中每次訪問的停留時間做一次判斷,判斷其是否大于等于時間閾值,并記錄停留時間大于等于時間閾值的訪問次數,再對記錄的訪問次數進行判斷,判斷其是否超過次數閾值,也即是確定一個會話中,用戶訪問網頁的停留時間較長的訪問次數是否足夠多。如果用戶在一個會話中,對于同一網頁訪問的停留時間有一部分時間較長,則可以認為是由于該網頁加載速度慢導致用戶多次刷新造成的。在判斷出停留時間大于等于時間閾值的訪問次數超過次數閾值時,確定訪問的網頁為加載速度慢的網頁。
本實施例中,時間閾值與前述實施例的時間閾值可以相同,次數閾值可以根據需求進行設置。
根據本申請實施例,通過設置時間閾值和次數閾值,依次對每次訪問的停留時間和停留時間大于等于時間閾值的訪問次數進行判斷,進一步提高了對加載速度慢的網頁的判斷的準確性。
優選地,根據停留時間確定訪問的網頁是否為加載速度慢的網頁包括:根據停留時間確定出疑似加載速度慢的網頁;統計對疑似加載速度慢的網頁加載速度慢的來源數量;判斷來源數量是否達到預設數量;在判斷出來源數量達到預設數量時,確定疑似加載速度慢的網頁為加載速度慢的網頁。
由于一個用戶加載網頁速度慢有可能是由該用戶所在的網絡環境引起的,而并非網頁本身存在問題,存在偶然因素。為剔除該干擾因素,本實施例中,在將根據停留時間確定出的加載速度慢的網頁作為疑似加載速度慢的網頁,例如,在t大于或等于時間閾值時,確定訪問的網頁為疑似加載速度慢的網頁;或者,在判斷出停留時間大于等于時間閾值的訪問次數超過次數閾值時,確定訪問的網頁為疑似加載速度慢的網頁,然后再做進一步地判斷。具體地,在根據停留時間確定出疑似加載速度慢的網頁之后,對該網頁進行記錄,然后以訪問來源為維度,統計該疑似加載速度慢的網頁被記錄的次數,也即是對疑似加載速度慢的網頁加載速度慢的來源數量,如果超過預設數量(可以根據需求進行設置),則表明有一定量的用戶加載該網頁的速度較慢,因此,可以認為該疑似加載速度慢的網頁為加載速度慢的網頁。
根據本申請實施例,通過將訪問網頁的來源作為進一步判斷的指標,從而提出偶然因素,進一步提高對加載速度慢的網頁的判斷的準確性。
優選地,根據停留時間確定訪問的網頁是否為加載速度慢的網頁包括:根據停留時間確定出疑似加載速度慢的網頁;記錄疑似加載速度慢的網頁的統一資源定位符; 判斷預設時間段內對同一統一資源定位符記錄的次數是否超過預設記錄次數;在超過預設記錄次數時,確定超過預設記錄次數的統一資源定位符對應的網頁為加載速度慢的網頁。
本實施例中,為了避免由于時間因素影響結果的準確性(例如,某個時間段目標網站的服務器出現故障,該時間段內網頁加載出現問題),預先選擇一個時間段,即預設時間段,統計在預設時間段內,該同一網頁被記錄為疑似加載速度慢的網頁的次數,判斷是否超過預設記錄次數,如果超過,則認為該網頁為加載速度慢的網頁,其中,預設記錄次數可以根據需求進行設置。
下面以一種具體示例來對本申請的一種可選的實施方式進行說明,具體包括:
Step1:在目標網站部署Tracker,部署完成之后,用戶在該目標網站的所有訪問數據都會被發送到指定服務器。
Step2:逐條解析服務器收集到的用戶訪問數據。
Step3:統計用戶訪問數據,將同一個用戶在一次會話過程中訪問網頁按照訪問的先后順序進行排序。其中,一個會話指的是一個用戶在目標網站上一次完整的訪問過程。
Step4:將用戶的訪問數據進行匯總,找出在同一會話中,連續訪問同一個網頁超過兩次的訪問數據,假設某個用戶在一次會話過程中連續訪問網頁P,訪問了3次;用戶在刷新網頁時,服務器端會接收到用戶訪問同一個網頁的數據。
Step5:統計Step4中得到的訪問數據,統計在該次會話過程中用戶在被連續訪問的網頁中的總的停留時間T,例如用戶在一次會話中連續訪問了一個網頁3次,依次訪問了10秒,10秒,25秒,則T=29秒。
Step6:找出在該次連續訪問時,最后一次停留在該網頁的時間T1,如上述例子中T1=25秒。
Step7:若(T-T1)/(N-1)>=M則認為該網頁可能存在加載較慢的問題,記錄該網頁的統一資源定位符(Uniform Resoure Locator,簡稱為URL)和會話信息,否則結束對該會話的分析;M為時間閾值,可以是用戶訪問網頁的最小訪問時間,大于等于M則基本可以認為用戶沒有瀏覽網頁數據,在此可以認為用戶還沒等到網頁加載出來,對于不同類型的網站M的值有所不同,這里的N為連續訪問該網頁的次數。
Step8:統計一段時間內被記錄超過1次,且至少來源與兩個用戶的網頁的URL,可以認為這些URL對應的網頁為加載速度慢的網頁。
本申請實施例還提供了一種網頁加載速度的確定裝置,該裝置可以用于執行本申請實施例的網頁加載速度的確定方法,如圖2所示,該裝置包括:獲取單元10、提取單元20和確定單元30。
獲取單元10用于對目標網站的訪問數據進行解析,以獲取在同一會話中同一來源訪問同一網頁超過預設訪問次數的訪問數據。
用戶在通過終端訪問目標網站時,該目標網站通常會記錄用戶的訪問行為,例如,記錄訪問的網頁、訪問次數、訪問時間、在網頁的停留時間、用戶的來源(可以是用于表示用戶唯一性的標識,例如用戶使用的IP地址、終端的mac地址等)等等數據,形成訪問數據。本實施例中,目標網站即為測試的網站,該目標網站包含有一定數量的網頁頁面。
當用戶訪問某個網頁時,如果遇到加載速度過慢的網頁會嘗試進行刷新,如果對于同一個網頁有很多人在訪問時都進行了多次(兩次以上)刷新,則可以認為該網頁的加載速度可能會比較慢,需要進行排查。在本實施例中,一次刷新即為用戶對網頁的一次請求,用戶對網頁的一次請求記為一次訪問。
通過對目標網站的訪問數據進行解析,以獲取在同一會話中同一來源訪問同一網頁超過預設訪問次數的訪問數據,其中,一個會話指的是同一個來源的用戶在網站上一次完整的訪問過程。獲取上述訪問數據具體可以是先從解析結果中對目標網站的訪問數據進行遍歷,以會話為單位從中找出同一網頁被訪問的訪問次數超過預設訪問次數(可以根需求進行設置)的訪問數據,再找出所有在同一會話中同一來源訪問同一網頁超過預設訪問次數的訪問數據,以便于從這些數據中獲取用戶在每次訪問時的停留時間。
提取單元20用于從獲取的訪問數據中提取在同一會話中同一來源在同一網頁的停留時間。
一次訪問的停留時間是指從用戶請求加載網頁之后,直到用戶再次請求加載該網頁或者其他網頁為止,這之間所經歷的時間,無論該網頁是否已經加載出來。具體地,可以是獲取的訪問數據中可以記錄有每次訪問過程中,用戶請求記載網頁的時刻以及用戶再次請求記載該網頁或者請求加載其他網頁的時刻,由上述兩個時刻計算得到上述停留時間。當然,也可以在用戶訪問網頁時,通過計時器對用戶的每次訪問進行計時,使得訪問數據中直接記錄有每次訪問的停留時間,這樣,在獲取到訪問數據之后,可以直接從訪問數據中提取上述停留時間。獲取在一次會話中,用戶訪問同一網頁的每一次訪問的停留時間,以便于利用該停留時間確定該網頁是否為加載速度慢的網頁。
確定單元30用于根據停留時間確定訪問的網頁是否為加載速度慢的網頁。
由于用戶遇到加載速度過慢的網頁會嘗試進行刷新,即多次訪問相同的網頁,則該網頁可能是加載速度慢的網頁,進一步判斷時,根據停留時間確定訪問的網頁是否為加載速度慢的網頁,可以是判斷每次訪問的停留時間的長短,如果其中多次訪問的停留時間較長(大于等于時間閾值),則確定該網頁為加載速度慢的網頁;也可以是判斷多次訪問的平均停留時間是否大于等于時間閾值,如果是,則確定該網頁為加載速度慢的網頁;還可以是判斷除最后一次訪問的停留時間之外,其他的訪問的平均停留時間是否大于等于時間閾值,如果是,則確定該網頁為加載速度慢的網頁。由于當用戶最后一次訪問網頁的停留時間通常包括用戶瀏覽網頁內容的時間,這段時間比較長,將這段停留時間剔除,可以進一步提高判斷的準確性。需要說明的是,本申請實施例中,根據停留時間確定訪問的網頁是否為加載速度慢的網頁的具體方式包括但不限于上述方式,這里并沒有對本申請有不當限定。
根據本申請實施例,從目標網站的訪問數據中獲取在同一會話中同一來源訪問同一網頁超過預設訪問次數的訪問數據,從獲取的訪問數據中獲取在同一會話中同一來源在同一網頁的停留時間,根據停留時間確定訪問的網頁是否為加載速度慢的網頁,根據記錄有用戶的訪問行為的訪問數據,從用戶的實際訪問行為來判斷加載速度慢的網頁,相對于現有技術中在測試網絡環境下測試網頁的加載情況,真實地反應了網民訪問網頁時的狀況,提高了對加載速度慢的網頁判斷的準確性,解決了對加載速度慢的網頁判斷不準確的技術問題。
另外,由于現有技術中人工統計耗時較長,尤其對于大型網站,且人工測試根本無法覆蓋目標網站的所有網頁。而本申請實施例通過利用目標網站的訪問數據來判斷加載速度慢的網頁,無需人工干預,通過計算機程序等即可對用戶所訪問的所有網頁進行判斷,覆蓋率高。
優選地,本申請實施例中,可以通過在目標網站添加Tracker(JS腳本),用以收集用戶在目標網站的訪問數據,統計每個用戶在網站中的訪問行為,并將該目標網站的所有訪問數據都會被發送到指定服務器上,逐條解析服務器收集到的用戶訪問數據。
優選地,確定單元包括:第一統計模塊,用于統計在同一會話中同一來源在同一網頁的總停留時間和總訪問次數;獲取模塊,用于獲取在同一會話中同一來源最后一次訪問同一網頁的停留時間;計算模塊,用于利用以下公式計算在同一會話中除最后一次訪問同一網頁的平均停留時間:t=(T-T1)/(N-1),其中,T為總停留時間,T1為最后一次訪問同一網頁的停留時間,N為總訪問次數;第一判斷模塊,用于判斷t是否大于或等于時間閾值;第一確定模塊,用于在t大于或等于時間閾值時,確定訪問 的網頁為加載速度慢的網頁。
對于總停留時間的統計,可以是通過加法器將前述中提取到的同一會話中每次訪問的停留時間相加,得到總停留時間。對于總訪問次數,可以使用計數器對訪問數據中同一會話的每次訪問進行累加,得到總訪問次數。
本實施例中,通過計算對網頁的訪問(不包括最后一次訪問)的平均停留時間,判斷該平均停留時間是否大于等于時間閾值,該時間閾值可以是用戶訪問目標網站的網頁的最小訪問時間,不同的目標網站,可以設置不同的時間閾值,上述平均停留時間大于等于時間閾值則基本可以認為用戶沒有瀏覽網頁數據,在此可以認為用戶還沒等到網頁加載出來。由于當用戶最后一次訪問網頁的停留時間通常包括用戶瀏覽網頁內容的時間,這段時間比較長,將這段停留時間剔除,可以進一步提高判斷的準確性。
例如用戶在一次會話中連續訪問了一個網頁3次,依次訪問了10秒,10秒,25秒,其中,用戶在該次會話中的最后一次訪問花了一定量的時間瀏覽網頁內容,因此,最后一次訪問時間較長。假如該目標網站的時間閾值為3s,計算得到用戶訪問該網頁(不包括最后一次訪問)的平均停留時間為10s,因此,可以確定該用戶訪問的網頁加載速度慢。如果上述平均訪問時間小于時間閾值,可以認為用戶對網頁的暴力刷新或者是誤刷新,不能認為是網頁本身加載速度慢。
可選地,確定單元包括:第二統計模塊,用于統計在同一會話中同一來源訪問同一網頁的停留時間大于等于時間閾值的訪問次數;第二判斷模塊,用于判斷停留時間大于等于時間閾值的訪問次數是否超過次數閾值;第二確定模塊,用于在判斷出停留時間大于等于時間閾值的訪問次數超過次數閾值時,確定訪問的網頁為加載速度慢的網頁。
本實施例中,可以對一個會話中每次訪問的停留時間做一次判斷,判斷其是否大于等于時間閾值,并記錄停留時間大于等于時間閾值的訪問次數,再對記錄的訪問次數進行判斷,判斷其是否超過次數閾值,也即是確定一個會話中,用戶訪問網頁的停留時間較長的訪問次數是否足夠多。如果用戶在一個會話中,對于同一網頁訪問的停留時間有一部分時間較長,則可以認為是由于該網頁加載速度慢導致用戶多次刷新造成的。在判斷出停留時間大于等于時間閾值的訪問次數超過次數閾值時,確定訪問的網頁為加載速度慢的網頁。
本實施例中,時間閾值與前述實施例的時間閾值可以相同,次數閾值可以根據需求進行設置。
根據本申請實施例,通過設置時間閾值和次數閾值,依次對每次訪問的停留時間 和停留時間大于等于時間閾值的訪問次數進行判斷,進一步提高了對加載速度慢的網頁的判斷的準確性。
優選地,確定單元包括:第三確定模塊,用于根據停留時間確定出疑似加載速度慢的網頁;第三統計模塊,用于統計對疑似加載速度慢的網頁加載速度慢的來源數量;第三判斷模塊,用于判斷來源數量是否達到預設數量;第三確定模塊,用于在判斷出來源數量達到預設數量時,確定疑似加載速度慢的網頁為加載速度慢的網頁。
由于一個用戶加載網頁速度慢有可能是由該用戶所在的網絡環境引起的,而并非網頁本身存在問題,存在偶然因素。為剔除該干擾因素,本實施例中,在將根據停留時間確定出的加載速度慢的網頁作為疑似加載速度慢的網頁,例如,在t大于或等于時間閾值時,確定訪問的網頁為疑似加載速度慢的網頁;或者,在判斷出停留時間大于等于時間閾值的訪問次數超過次數閾值時,確定訪問的網頁為疑似加載速度慢的網頁,然后再做進一步地判斷。具體地,在根據停留時間確定出疑似加載速度慢的網頁之后,對該網頁進行記錄,然后以訪問來源為維度,統計該疑似加載速度慢的網頁被記錄的次數,也即是對疑似加載速度慢的網頁加載速度慢的來源數量,如果超過預設數量(可以根據需求進行設置),則表明有一定量的用戶加載該網頁的速度較慢,因此,可以認為該疑似加載速度慢的網頁為加載速度慢的網頁。
根據本申請實施例,通過將訪問網頁的來源作為進一步判斷的指標,從而提出偶然因素,進一步提高對加載速度慢的網頁的判斷的準確性。
優選地,確定單元包括:第四確定模塊,用于根據停留時間確定出疑似加載速度慢的網頁;記錄模塊,用于記錄疑似加載速度慢的網頁的統一資源定位符;第四判斷模塊,用于判斷預設時間段內對同一統一資源定位符記錄的次數是否超過預設記錄次數;第五確定模塊,用于在超過預設記錄次數時,確定超過預設記錄次數的統一資源定位符對應的網頁為加載速度慢的網頁。
本實施例中,為了避免由于時間因素影響結果的準確性(例如,某個時間段目標網站的服務器出現故障,該時間段內網頁加載出現問題),預先選擇一個時間段,即預設時間段,統計在預設時間段內,該同一網頁被記錄為疑似加載速度慢的網頁的次數,判斷是否超過預設記錄次數,如果超過,則認為該網頁為加載速度慢的網頁,其中,預設記錄次數可以根據需求進行設置。
所述網頁加載速度的確定裝置包括處理器和存儲器,上述獲取單元、提取單元、確定單元等均作為程序單元存儲在存儲器中,由處理器執行存儲在存儲器中的上述程序單元。上述預設訪問次數、時間閾值、次數閾值等等都可以存儲在存儲器中。
處理器中包含內核,由內核去存儲器中調取相應的程序單元。內核可以設置一個或以上,通過調整內核參數解析文本內容。
存儲器可能包括計算機可讀介質中的非永久性存儲器,隨機存取存儲器(RAM)和/或非易失性內存等形式,如只讀存儲器(ROM)或閃存(flash RAM),存儲器包括至少一個存儲芯片。
本申請還提供了一種計算機程序產品的實施例,當在數據處理設備上執行時,適于執行初始化有如下方法步驟的程序代碼:對目標網站的訪問數據進行解析,以獲取在同一會話中同一來源訪問同一網頁超過預設訪問次數的訪問數據,從獲取的訪問數據中提取在同一會話中同一來源在同一網頁的停留時間,根據停留時間確定訪問的網頁是否為加載速度慢的網頁。
上述本申請實施例序號僅僅為了描述,不代表實施例的優劣。
在本申請的上述實施例中,對各個實施例的描述都各有側重,某個實施例中沒有詳述的部分,可以參見其他實施例的相關描述。
在本申請所提供的幾個實施例中,應該理解到,所揭露的技術內容,可通過其它的方式實現。其中,以上所描述的裝置實施例僅僅是示意性的,例如所述單元的劃分,可以為一種邏輯功能劃分,實際實現時可以有另外的劃分方式,例如多個單元或組件可以結合或者可以集成到另一個系統,或一些特征可以忽略,或不執行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,單元或模塊的間接耦合或通信連接,可以是電性或其它的形式。
所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個單元上。可以根據實際的需要選擇其中的部分或者全部單元來實現本實施例方案的目的。
另外,在本申請各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實現,也可以采用軟件功能單元的形式實現。
所述集成的單元如果以軟件功能單元的形式實現并作為獨立的產品銷售或使用時,可以存儲在一個計算機可讀取存儲介質中。基于這樣的理解,本申請的技術方案本質上或者說對現有技術做出貢獻的部分或者該技術方案的全部或部分可以以軟件產品的形式體現出來,該計算機軟件產品存儲在一個存儲介質中,包括若干指令用以使得一臺計算機設備(可為個人計算機、服務器或者網絡設備等)執行本申請各個實施例所 述方法的全部或部分步驟。而前述的存儲介質包括:U盤、只讀存儲器(ROM,Read-Only Memory)、隨機存取存儲器(RAM,Random Access Memory)、移動硬盤、磁碟或者光盤等各種可以存儲程序代碼的介質。
以上所述僅是本申請的優選實施方式,應當指出,對于本技術領域的普通技術人員來說,在不脫離本申請原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應視為本申請的保護范圍。