一種統(tǒng)計Web應用用戶訪問時間特性的方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及應用訪問量統(tǒng)計技術(shù)領(lǐng)域,特別是指一種統(tǒng)計Web應用用戶訪問時間 特性的方法。
【背景技術(shù)】
[0002] 在面向公眾的Web應用中,由于用戶的來源比較多,組成又比較復雜,因此,一般 需要通過事后審計來分析用戶的行為,其中,統(tǒng)計一個用戶當天訪問Web應用的時間特性 可以用于分析用戶使用應用系統(tǒng)的頻度、總時長,從而判定用戶的行為,是很重要的一個統(tǒng) 計數(shù)據(jù)。譬如,某用戶當天訪問Web應用的系統(tǒng)的次數(shù)如果明顯高于其他用戶,并且每次訪 問的時長較短,那么此用戶賬戶有可能被竊取用于對Web應用系統(tǒng)進行連接型攻擊,需要 對此用戶賬戶的歷史行為進行進一步的分析,并對此用戶賬戶的下一步行為加以防護,防 止影響整個系統(tǒng)。又譬如,某用戶當天訪問某個電商Web應用系統(tǒng)在一天中多次訪問,且總 的訪問時間較長,此用戶可能對電商的某產(chǎn)品感興趣,電商的用戶行為分析系統(tǒng)可對用戶 的行為進行深入分析并向其投放可能感興趣的商品的信息,成交的成功率可大大提高。
[0003] 目前,統(tǒng)計Web應用用戶訪問時間特性的方法一般都是通過分析登錄用戶的日志 來實現(xiàn)的,這種方法存在如下的弊端:
[0004] 1、統(tǒng)計不全面,匿名用戶和訪客的行為無法統(tǒng)計,對于某些類型的網(wǎng)站來說,可能 并不需要進行注冊,這類型的應用傳統(tǒng)的方法無法覆蓋;
[0005] 2、統(tǒng)計不準確,部分用戶可能因為網(wǎng)絡(luò)的原因,比如卡頓,導致重試訪問的次數(shù)較 多并且每次訪問等待的時間較長,傳統(tǒng)的方法無法區(qū)分出這部分用戶的行為。
[0006] 盡管中國專利申請?zhí)枮?201310197368"的文件中提到一種社交網(wǎng)絡(luò)平臺系統(tǒng)及 互動方法與中國專利申請?zhí)枮?201410080027"的文件中提到一種網(wǎng)站用戶訪問路徑的分 析方法及系統(tǒng),通過Cookie實現(xiàn)對用戶的區(qū)分、記錄,以對用戶的訪問特性進行統(tǒng)計。上述 兩項專利申請側(cè)重于對Cookie本身的特性進行運用,直接把Cookie的記錄作為用戶的行 為進行分析,但并沒有提供對Cookie的過期時間等特性進行設(shè)計進而用于時間特性方面 的統(tǒng)計。因此,目前急需一種使用Cookie進行Web應用用戶訪問時間特性進行統(tǒng)計的方法。
【發(fā)明內(nèi)容】
[0007] 本發(fā)明解決的技術(shù)問題在于提供一種統(tǒng)計Web應用用戶訪問時間特性的方法,解 決傳統(tǒng)方法存在的不足,覆蓋所有類型用戶,排除無效請求,提供一種全面的準確的統(tǒng)計方 法。
[0008] 本發(fā)明解決上述問題,包括以下步驟:
[0009] 步驟1 :在Web應用程序中增加一個過濾器,攔截所有的請求;
[0010] 步驟2 :在每個請求開始時標記開始時間;
[0011] 步驟3 :在請求處理完以后,標記一個結(jié)束時間;
[0012] 步驟4 :維護一個請求的Cookie列表,如果請求中不包含Cookie的信息,那么執(zhí) 行步驟5;否則,執(zhí)行步驟7;
[0013] 步驟5 :在Cookie列表中增加一個Cookie ;
[0014] 步驟6 :把Cookie的過期時間設(shè)置為當天24點到當前的時間間隔,也就是當天過 期,然后把Cookie加入到響應中返回給Web客戶端;轉(zhuǎn)到步驟8 ;
[0015] 步驟7 :在Cookie列表中查詢對應的Cookie是否已經(jīng)過期,如果已經(jīng)過期,跳轉(zhuǎn) 到步驟6 ;如果未過期,則進入下一步;
[0016] 步驟8 :獲取本次請求響應的狀態(tài)碼,并以Cookie為標識,生成本次請求的一條記 錄,包括請求的Cookie、請求的開始時間、結(jié)束時間、請求的響應狀態(tài)碼;
[0017] 步驟9 :通過計算開始時間到結(jié)束時間的時間間隔得到用戶單次訪問Web應用的 時間,通過統(tǒng)計某Cookie的所有響應狀態(tài)碼為成功訪問記錄的數(shù)量得到用戶訪問Web應用 的頻度,通過統(tǒng)計某Cookie的所有記錄的總訪問時間得到某用戶某天訪問Web應用的總時 長。
[0018] 所述的Web應用程序是一種可以通過Web訪問的應用程序;所述的過濾器對Web 請求和響應進行攔截。
[0019] 所述的Cookie,有時也用其復數(shù)形式Cookies,指某些網(wǎng)站為了辨別用戶身份、進 行Session跟蹤而儲存在用戶本地終端上的數(shù)據(jù);
[0020] 所述的Session是指一個終端用戶與交互系統(tǒng)進行通信的時間間隔,通常指從注 冊進入系統(tǒng)到注銷退出系統(tǒng)之間所經(jīng)過的時間。
[0021] 所述的開始時間,是客戶端發(fā)送一個請求的開始時間;所述的結(jié)束時間,是客戶端 連接到從服務器返回響應結(jié)果的時間。
[0022] 本發(fā)明提供了一種全面的準確的統(tǒng)計方法,通過為用戶設(shè)置適當?shù)腃ookie能覆 蓋所有類型的用戶;能夠識別不同狀態(tài)的請求并加以區(qū)分,排除無效的請求,能夠?qū)τ脩粜?為的時間特性作出更加準確的分析。
【附圖說明】
[0023] 下面結(jié)合附圖對本發(fā)明進一步說明:
[0024] 圖1為本發(fā)明的流程圖;
[0025] 圖2為本發(fā)明的過濾器架構(gòu)圖;
【具體實施方式】
[0026] 本發(fā)明的實施方式有多種,這里將統(tǒng)計J2EE應用用戶訪問時間的方式為例說明 其中一種實現(xiàn)方法,請參考圖1、2所示,具體實施過程如下:
[0027] 1、在Web應用程序中增加一個過濾器,攔截所有的請求;
[0028] 定義一個PageFilter過濾器,過濾器必須在鏈頭,只需要過濾.jspx和.do則可。 在web. xml中過濾器配置
[0029] 〈filter-mapping〉
[0030] <filter-name>Page Fi Iter</filter-name>
[0031] <url_pattern>^· jspx〈/url_pattern>
[0032] <ur!-pattern)^. do</ur!-pattern)
[0033] <di spatcher>FORWARD</dispatcher)
[0034] <dispatcher>REQUEST</dispatcher)
[0035] 〈/filter-mapping〉
[0036] 2、在每個請求開始時標記開始時間;
[0037] 當獲取請求時,獲取當前標記開始時間
[0038] Begin = System. currentTimeMillis();
[0039] crateTime = new Date ();
[0040] 3、在請求處理完以后,標記一個結(jié)束時間;
[0041] end = System. currentTimeMillis();
[0042] crateTime = new Date ();
[0043] 4、維護一個請求的Cookie列表,如果請求中不包含Cookie的信息,那么執(zhí)行步驟 6;否則,執(zhí)行步驟7;
[0044] 5、在Cookie列表中增加一個Cookie,并把Cookie的過期時間設(shè)置為當天24點到 當前的時間間隔,也就是當天過期,然后把Cooki e加入到響應中返回給Web客戶端;轉(zhuǎn)到步 驟8 ;
[0045]
【主權(quán)項】
1. 一種統(tǒng)計Web應用用戶訪問時間特性的方法,其特征在于:所述的方法包括如下步 驟: 步驟1 :在Web應用程序中增加一個過濾器,攔截所有的請求; 步驟2 :在每個請求開始時標記開始時間; 步驟3 :在請求處理完以后,標記一個結(jié)束時間; 步驟4 :維護一個請求的Cookie列表,如果請求中不包含Cookie的信息,那么執(zhí)行步 驟5;否則,執(zhí)行步驟7; 步驟5 :在Cookie列表中增加一個Cookie ; 步驟6 :把Cookie的過期時間設(shè)置為當天24點到當前的時間間隔,也就是當天過期, 然后把Cookie加入到響應中返回給Web客戶端;轉(zhuǎn)到步驟8 ; 步驟7 :在Cookie列表中查詢對應的Cookie是否已經(jīng)過期,如果已經(jīng)過期,跳轉(zhuǎn)到步 驟6 ;如果未過期,則進入下一步; 步驟8 :獲取本次請求響應的狀態(tài)碼,并以Cookie為標識,生成本次請求的一條記錄, 包括請求的Cookie、請求的開始時間、結(jié)束時間、請求的響應狀態(tài)碼; 步驟9 :通過計算開始時間到結(jié)束時間的時間間隔得到用戶單次訪問Web應用的時間, 通過統(tǒng)計某Cookie的所有響應狀態(tài)碼為成功訪問記錄的數(shù)量得到用戶訪問Web應用的頻 度,通過統(tǒng)計某Cookie的所有記錄的總訪問時間得到某用戶某天訪問Web應用的總時長。
2. 根據(jù)權(quán)利要求1所述的統(tǒng)計Web應用用戶訪問時間特性的方法,其特征在于:所述 的Web應用程序是一種可以通過Web訪問的應用程序;所述的過濾器對Web請求和響應進 行攔截。
3. 根據(jù)權(quán)利要求1所述的統(tǒng)計Web應用用戶訪問時間特性的方法,其特征在于:所述 的Cookie,有時也用其復數(shù)形式Cookies,指某些網(wǎng)站為了辨別用戶身份、進行Session跟 蹤而儲存在用戶本地終端上的數(shù)據(jù); 所述的Session是指一個終端用戶與交互系統(tǒng)進行通信的時間間隔,通常指從注冊進 入系統(tǒng)到注銷退出系統(tǒng)之間所經(jīng)過的時間。
4. 根據(jù)權(quán)利要求2所述的統(tǒng)計Web應用用戶訪問時間特性的方法,其特征在于:所述 的Cookie,有時也用其復數(shù)形式Cookies,指某些網(wǎng)站為了辨別用戶身份、進行Session跟 蹤而儲存在用戶本地終端上的數(shù)據(jù); 所述的Session是指一個終端用戶與交互系統(tǒng)進行通信的時間間隔,通常指從注冊進 入系統(tǒng)到注銷退出系統(tǒng)之間所經(jīng)過的時間。
5. 根據(jù)權(quán)利要求1至4任一項所述的統(tǒng)計Web應用用戶訪問時間特性的方法,其特征 在于:所述的開始時間,是客戶端發(fā)送一個請求的開始時間;所述的結(jié)束時間,是客戶端連 接到從服務器返回響應結(jié)果的時間。
【專利摘要】本發(fā)明涉及應用訪問量統(tǒng)計技術(shù)領(lǐng)域,特別是指一種統(tǒng)計Web應用用戶訪問時間特性的方法。本發(fā)明首先在Web應用程序中增加一個過濾器,攔截所有的請求;然后在每個請求開始時標記開始時間,處理完后標記一個結(jié)束時間;其次維護一個請求的Cookie列表,并把Cookie的過期時間設(shè)置為當天過期,然后把Cookie加入到響應中返回給Web客戶端,接著獲取本次請求響應的狀態(tài)碼,并以Cookie為標識,生成本次請求的一條記錄;最后計算獲得用戶單次訪問Web應用的時間,通過統(tǒng)計得到用戶訪問Web應用的頻度、總時長。本發(fā)明的方法能夠?qū)τ脩粜袨榈臅r間特性作出更加準確的分析;可用于統(tǒng)計Web應用用戶訪問時間特性。
【IPC分類】H04L12-24, H04L29-08
【公開號】CN104579754
【申請?zhí)枴緾N201410795548
【發(fā)明人】劉勇彬, 楊松, 莫展鵬, 季統(tǒng)凱
【申請人】國云科技股份有限公司
【公開日】2015年4月29日
【申請日】2014年12月18日