4、Web日志數(shù)據(jù)庫
4.1 Web日志數(shù)據(jù)庫介紹
Web日志數(shù)據(jù)倉庫是基于Web日志數(shù)據(jù)庫。根據(jù)分析需求,將數(shù)據(jù)庫分為5個(gè)表,圖2為其ER圖,各表功能分別為:(1)IDTbl存儲(chǔ)解析后日志的各個(gè)屬性的 ID號(hào);(2)UserTbl存儲(chǔ)訪問者的基本信息;(3)PathTbl存儲(chǔ)訪問路徑的相關(guān)信息;(4)TimeTbl存儲(chǔ)訪問時(shí)間的相關(guān)信息;(5)ProtocolTbl:存儲(chǔ)日志其它信息;
數(shù)據(jù)庫ER圖" width="314" height="213" src="/article/UploadPic/2010-5/201051418116276.jpg" border="0" onload="return imgzoom(this,600);" style="cursor:pointer;" onclick="javascript:window.open(this.src);"/>
圖2 Web日志數(shù)據(jù)庫ER圖
4.2 Web日志預(yù)處理
在將原始Web日志導(dǎo)入關(guān)系數(shù)據(jù)庫之前必須進(jìn)行清理、轉(zhuǎn)換,計(jì)算一些必要的聚集信息。日志數(shù)據(jù)有其特殊性,它是一種半結(jié)構(gòu)化的數(shù)據(jù),因此預(yù)處理過程有其特殊性。本文在構(gòu)建Web日志數(shù)據(jù)庫時(shí)通過數(shù)據(jù)清洗、用戶識(shí)別和會(huì)話識(shí)別這幾個(gè)步驟。
4.2.1 數(shù)據(jù)清洗
Web日志的清洗工作很多文獻(xiàn)都有討論。當(dāng)用戶請(qǐng)求一個(gè)網(wǎng)頁時(shí),與這個(gè)網(wǎng)頁有關(guān)的圖片、音頻等信息會(huì)自動(dòng)下載,并記錄在日志中。這些文件對(duì)于日志的分析是無用的,所以可以通過檢查cs_uri_stem的后綴刪除認(rèn)為不相關(guān)的數(shù)據(jù)。同時(shí)無效記錄還包括請(qǐng)求失敗記錄。本文在進(jìn)行數(shù)據(jù)清洗時(shí)具體過程如圖3所示:
4.2.2 用戶識(shí)別
用戶識(shí)別是將用戶和請(qǐng)求的頁面相關(guān)聯(lián)的過程。由于用戶機(jī)器中緩存、防火墻、代理服務(wù)器的使用,使Web日志沒有精確記錄用戶的瀏覽行為。因此從凈化日志中識(shí)別用戶工作相對(duì)比較復(fù)雜。主要的用戶識(shí)別方法主要有三種,分別為基于cookie的技術(shù)、基于IP地址的用戶識(shí)別以及基于網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的路徑分析。方法一通過在Web日志文件中添加更多的附加信息如用戶機(jī)器名、內(nèi)部IP名來標(biāo)示用戶,從而能識(shí)別通過同一代理服務(wù)器上網(wǎng)的不同用戶。方法二是指不同的IP地址代表不同的用戶。方法三要求根據(jù)網(wǎng)絡(luò)拓樸結(jié)構(gòu)分析Web日志文件中的用戶請(qǐng)求,構(gòu)造用戶瀏覽網(wǎng)頁的路徑,通過一些啟發(fā)式規(guī)則來識(shí)別用戶。由于本文用到的日志屬性信息較多,包括瀏覽器和操作系統(tǒng)屬性,所以系統(tǒng)采用基于IP地址和瀏覽器的方法進(jìn)行用戶識(shí)別,即不同的IP地址和瀏覽器類型代表不同的用戶,并在數(shù)據(jù)庫的表UserTbl以及表IDTbl中添加一個(gè)域userID,用于存儲(chǔ)進(jìn)行識(shí)別后的用戶標(biāo)識(shí)。具體的過程如圖4所示:
4.2.3 會(huì)話識(shí)別
會(huì)話是指用戶在訪問網(wǎng)站期間從進(jìn)入網(wǎng)站到離開網(wǎng)站所進(jìn)行的一系列活動(dòng)。要構(gòu)造一個(gè)會(huì)話就是將每個(gè)用戶的活動(dòng)日志按照某種方法映射到會(huì)話中的過程。識(shí)別會(huì)話的方法主要有兩種:基于時(shí)間的啟發(fā)式方法和基于引用的啟發(fā)式方法。前者利用會(huì)話的時(shí)間特性來構(gòu)造會(huì)話候選集合;后者根據(jù)用戶瀏覽特性和網(wǎng)頁間鏈接關(guān)系確定用戶會(huì)話集。
本文采用基于時(shí)間的啟發(fā)式方法進(jìn)行會(huì)話識(shí)別,即同一用戶依次發(fā)出相鄰的頁面請(qǐng)求之間的時(shí)間間隔如不超過時(shí)間閾值,那么這兩個(gè)頁面請(qǐng)求屬于同一個(gè)會(huì)話將時(shí)間閥值設(shè)定為20分鐘。在數(shù)據(jù)庫表中添加一個(gè)域sessionID,用于存儲(chǔ)進(jìn)行識(shí)別后的會(huì)話標(biāo)識(shí)。進(jìn)行會(huì)話識(shí)別的具體流程如圖5所示。
聯(lián)系客服