国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
用于挖掘Web日志的數(shù)據(jù)倉庫系統(tǒng)實現(xiàn)_EarthSound
用于挖掘Web日志的數(shù)據(jù)倉庫系統(tǒng)實現(xiàn)
2008年01月03日 星期四 16:03
摘 要 運用數(shù)據(jù)倉庫技術(shù)分析Web日志是目前Web使用挖掘的研究熱點。本文從Web日志數(shù)據(jù)庫設(shè)計、數(shù)據(jù)預(yù)處理和邏輯建模三個階段闡述了Web日志數(shù)據(jù)倉庫系統(tǒng)的整體實現(xiàn)。文章詳細(xì)論述了將Web日志導(dǎo)入數(shù)據(jù)庫中的方法,給出了具體的預(yù)處理過程,在此基礎(chǔ)上實現(xiàn)了Web日志管理系統(tǒng),最后提出Web日志數(shù)據(jù)倉庫的邏輯模型。

  1、引言

  目前已經(jīng)有很多學(xué)者和研究機構(gòu)意識到網(wǎng)站日志數(shù)據(jù)巨大的潛在價值,試圖通過對Web日志的研究來改善網(wǎng)站設(shè)計,理解用戶的興趣和真正動機等。多數(shù)現(xiàn)有的Web分析工具提供了用戶在服務(wù)器上的活動情況及各種形式的過濾數(shù)據(jù),使用這類工具可以確定對某個服務(wù)器或單個文件的訪問次數(shù)、訪問時間以及用戶的域名和URL。但是對于Web日志數(shù)據(jù)倉庫系統(tǒng)進(jìn)行總體設(shè)計上的研究并不多,而這項工作對于研究用戶訪問模式和提高挖掘的效率是很有意義的。本文以某網(wǎng)站W(wǎng)eb日志文件為例,在JAVA平臺上對其數(shù)據(jù)倉庫的建構(gòu)進(jìn)行了研究。

  2、Web日志數(shù)據(jù)采集

  服務(wù)器日志的格式根據(jù)Web服務(wù)的應(yīng)用及安裝時的選項而有所不同,一般用兩種格式存儲:一種是普通日志文件格式;另一種是擴展日志文件格式。普通日志文件存儲的是客戶端IP、用戶名、狀態(tài)、服務(wù)器名、協(xié)議版本等客戶連接的物理信息。擴展日志文件格式主要支持關(guān)于日志文件元信息的指令,如版本號、會話監(jiān)控開始時間和瀏覽器類型等。下面是一條典型的日志及其各字段詳細(xì)解釋:

  2004-12-13 0:00:45 172.16.96.22 - 211.66.184.35

  80 GET /~janyst/chat/chatUsers.php - 200 Mozilla/4.0+ (compatible;+MSIE+6.0;+Windows+NT+5.1)

  ● Date and Time:請求的日期、時間;

  ● c_ip:訪問用戶的 IP 地址或者用戶使用的代理服務(wù)器 IP 地址;

  ● userName:用戶名,由于通常用戶沒有進(jìn)行注冊,故一般都為占位符所替代;

  ● s_ip:客戶端訪問網(wǎng)站的IP 地址;

  ● s_port:客戶端訪問網(wǎng)站的端口號;

  ● cs_method:訪問者的請求命令,常見的方法有三種,分別是 GET、POST 和 HEAD;

  ● cs_uri_stem:訪問者請求的資源,即相對于服務(wù)器上根目錄的途徑,上例中為/~janyst/chat/chatUsers.php;

  ● query:協(xié)議類型,上例中為HTTP/1.1;

  ● Status:服務(wù)器返回的狀態(tài)代碼。一般而言,以2開頭的狀態(tài)代碼表示成功,以3開頭表示由于各種不同的原因用戶請求被重定向到了其他位置,以4開頭表示用戶端存在某種錯誤,以5開頭表示服務(wù)器遇到了某個錯誤;

  ● userAgent:附加信息,包括瀏覽器類型、操作系統(tǒng)等。

  3、Web日志管理系統(tǒng)架構(gòu)

  Web日志管理系統(tǒng)功能是完成Web日志的預(yù)處理和存儲,主要由數(shù)據(jù)采集模塊、數(shù)據(jù)庫創(chuàng)建模塊、數(shù)據(jù)庫清除模塊和數(shù)據(jù)集生成模塊等組成,圖1為系統(tǒng)用戶界面。

  


圖1 Web日志管理系統(tǒng)用戶界面

  該系統(tǒng)是在Eclipse環(huán)境下搭建的,主要由四個模塊組成,分別為數(shù)據(jù)庫建立模塊、數(shù)據(jù)采集模塊、數(shù)據(jù)庫清除模塊和數(shù)據(jù)集生成模塊組成。各模塊功能介紹如下:

  ● 數(shù)據(jù)庫生成模塊:在已創(chuàng)建的空數(shù)據(jù)庫里生成用于存儲Web日志數(shù)據(jù)的各個二維表;

  ● 數(shù)據(jù)采集模塊:功能主要是將Web日志導(dǎo)入已生成的數(shù)據(jù)庫的各個表中。首先解析Web日志,即將文本格式的日志依次讀入到數(shù)組中;其次對日志進(jìn)行基本的預(yù)處理,具體的預(yù)處理過程會在下節(jié)中詳細(xì)介紹;最后將預(yù)處理后的數(shù)據(jù)存儲到數(shù)據(jù)庫中;

  ● 數(shù)據(jù)庫清除模塊:可以清除數(shù)據(jù)庫中已創(chuàng)建的各個表,數(shù)據(jù)庫仍然保留;

  數(shù)據(jù)集生成模塊:可將Web日志以文本形式導(dǎo)出。

  4、Web日志數(shù)據(jù)庫

  4.1 Web日志數(shù)據(jù)庫介紹

  Web日志數(shù)據(jù)倉庫是基于Web日志數(shù)據(jù)庫。根據(jù)分析需求,將數(shù)據(jù)庫分為5個表,圖2為其ER圖,各表功能分別為:(1)IDTbl存儲解析后日志的各個屬性的 ID號;(2)UserTbl存儲訪問者的基本信息;(3)PathTbl存儲訪問路徑的相關(guān)信息;(4)TimeTbl存儲訪問時間的相關(guān)信息;(5)ProtocolTbl:存儲日志其它信息;

  


圖2 Web日志數(shù)據(jù)庫ER圖

  4.2 Web日志預(yù)處理

  在將原始Web日志導(dǎo)入關(guān)系數(shù)據(jù)庫之前必須進(jìn)行清理、轉(zhuǎn)換,計算一些必要的聚集信息。日志數(shù)據(jù)有其特殊性,它是一種半結(jié)構(gòu)化的數(shù)據(jù),因此預(yù)處理過程有其特殊性。本文在構(gòu)建Web日志數(shù)據(jù)庫時通過數(shù)據(jù)清洗、用戶識別和會話識別這幾個步驟。

  4.2.1 數(shù)據(jù)清洗

  Web日志的清洗工作很多文獻(xiàn)都有討論。當(dāng)用戶請求一個網(wǎng)頁時,與這個網(wǎng)頁有關(guān)的圖片、音頻等信息會自動下載,并記錄在日志中。這些文件對于日志的分析是無用的,所以可以通過檢查cs_uri_stem的后綴刪除認(rèn)為不相關(guān)的數(shù)據(jù)。同時無效記錄還包括請求失敗記錄。本文在進(jìn)行數(shù)據(jù)清洗時具體過程如圖3所示:

  


圖3 數(shù)據(jù)清洗流程圖

  4.2.2 用戶識別

  用戶識別是將用戶和請求的頁面相關(guān)聯(lián)的過程。由于用戶機器中緩存、防火墻、代理服務(wù)器的使用,使Web日志沒有精確記錄用戶的瀏覽行為。因此從凈化日志中識別用戶工作相對比較復(fù)雜。主要的用戶識別方法主要有三種,分別為基于cookie的技術(shù)、基于IP地址的用戶識別以及基于網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的路徑分析。方法一通過在Web日志文件中添加更多的附加信息如用戶機器名、內(nèi)部IP名來標(biāo)示用戶,從而能識別通過同一代理服務(wù)器上網(wǎng)的不同用戶。方法二是指不同的IP地址代表不同的用戶。方法三要求根據(jù)網(wǎng)絡(luò)拓樸結(jié)構(gòu)分析Web日志文件中的用戶請求,構(gòu)造用戶瀏覽網(wǎng)頁的路徑,通過一些啟發(fā)式規(guī)則來識別用戶。由于本文用到的日志屬性信息較多,包括瀏覽器和操作系統(tǒng)屬性,所以系統(tǒng)采用基于IP地址和瀏覽器的方法進(jìn)行用戶識別,即不同的IP地址和瀏覽器類型代表不同的用戶,并在數(shù)據(jù)庫的表UserTbl以及表IDTbl中添加一個域userID,用于存儲進(jìn)行識別后的用戶標(biāo)識。具體的過程如圖4所示:

  

  圖4 用戶識別流程圖

  4.2.3 會話識別

  會話是指用戶在訪問網(wǎng)站期間從進(jìn)入網(wǎng)站到離開網(wǎng)站所進(jìn)行的一系列活動。要構(gòu)造一個會話就是將每個用戶的活動日志按照某種方法映射到會話中的過程。識別會話的方法主要有兩種:基于時間的啟發(fā)式方法和基于引用的啟發(fā)式方法。前者利用會話的時間特性來構(gòu)造會話候選集合;后者根據(jù)用戶瀏覽特性和網(wǎng)頁間鏈接關(guān)系確定用戶會話集。

  本文采用基于時間的啟發(fā)式方法進(jìn)行會話識別,即同一用戶依次發(fā)出相鄰的頁面請求之間的時間間隔如不超過時間閾值,那么這兩個頁面請求屬于同一個會話將時間閥值設(shè)定為20分鐘。在數(shù)據(jù)庫表中添加一個域sessionID,用于存儲進(jìn)行識別后的會話標(biāo)識。進(jìn)行會話識別的具體流程如圖5所示。

  5 Web日志數(shù)據(jù)倉庫邏輯建模

  要建立Web日志數(shù)據(jù)倉庫,首先要進(jìn)行邏輯建模。數(shù)據(jù)倉庫一般有兩種邏輯模式:星型模式和雪花模式。

  星型模式是一種關(guān)系型數(shù)據(jù)庫結(jié)構(gòu),其典型形式是由中間的一個主表和圍繞在其周圍的一組小表組成,中間的主表稱為“事實表”,外圍的小表稱為“維度表”。事實表中存儲數(shù)值型度量指標(biāo)和連接到維度表的外鍵,它包含了描述特定商業(yè)事件的數(shù)據(jù),例如產(chǎn)品銷售、網(wǎng)站訪問情況等;維度表中存儲用于描述事物的文本屬性信息及連接到事實表的主鍵,它包含了用于參考存儲在事實表中數(shù)據(jù)的數(shù)據(jù),如時間、地理位置等。雪花模式是星型模式的變種,將一個或多個維表分解成多個表,每個表都有連接到主維度表而不是事實數(shù)據(jù)表的相關(guān)性維度表。

  


圖5 會話識別流程圖

  根據(jù)分析主題的需要,Web日志數(shù)據(jù)倉庫采用常用的星型模式,在SQL Sever 2000提供的Analysis Services平臺下實現(xiàn)。結(jié)果如圖6,它包括一個大的事實表和一組小的維表,事實表為FactTbl表,維度表為UserTbl、TimeTbl、PathTbl 以及ProtocolTbl,其中FactTbl表是由關(guān)系數(shù)據(jù)庫中IDTbl表轉(zhuǎn)換而來。

  


圖6 Web日志數(shù)據(jù)倉庫多維邏輯模型

  在關(guān)系數(shù)據(jù)庫中對IDTbl表進(jìn)行聚集計算,可得到用戶一次會話中每個頁面的停留時間timestay,并通過離散化技術(shù)將timestay屬性轉(zhuǎn)化為每一頁面的平均訪問次數(shù),定義為visit屬性。關(guān)于這一過程,Cooley等在文獻(xiàn) [5] 中給出了詳細(xì)步驟。將這兩個屬性及IDTbl表其它屬性一起添加到FactTbl表,即形成了數(shù)據(jù)倉庫的事實表,其中timestay和visit作為事實表的度量值,即希望在數(shù)據(jù)倉庫中能查看并可以預(yù)測的數(shù)據(jù)。

  6、結(jié)論

  綜上所述,實現(xiàn)一個Web日志數(shù)據(jù)倉庫原型系統(tǒng)有兩個關(guān)鍵點:預(yù)處理和邏輯建模。本文在解析Web日志時采取的一些預(yù)處理方法事實證明收到了良好的效果,可比較精確地識別用戶及會話;在進(jìn)行邏輯建模時采用星型邏輯模型,運用大量的冗余維度數(shù)據(jù)進(jìn)行設(shè)計,大大提高了信息的檢索性能。同時,文章實現(xiàn)了一個數(shù)據(jù)倉庫原型系統(tǒng),該系統(tǒng)簡單實用,對原始的Web日志信息進(jìn)行了維度上的分類,便于從特定時間段、特定用戶等角度來實現(xiàn)對Web日志數(shù)據(jù)的進(jìn)一步挖掘。

  該系統(tǒng)尚存在一些不足之處,還有很多地方需要改進(jìn)。例如在預(yù)處理階段可以考慮將Web 頁面結(jié)構(gòu)和 Web 日志結(jié)合起來構(gòu)造用戶訪問會話,減小會話集中出現(xiàn)的錯誤,使得模式發(fā)現(xiàn)階段的結(jié)果更加準(zhǔn)確和可信。并且可以將單純的Web日志與其他用戶信息數(shù)據(jù)結(jié)合分析,這樣可以更好地發(fā)現(xiàn)用戶行為模式。

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
大數(shù)據(jù)采集,大數(shù)據(jù)分析,大數(shù)據(jù)存儲就該這樣學(xué),附全套教程分享
系統(tǒng)設(shè)計與架構(gòu)筆記:ETL工具開發(fā)和設(shè)計的建議
數(shù)據(jù)倉庫的部署
part9-認(rèn)識SparkSql
Web日志挖掘在網(wǎng)絡(luò)遠(yuǎn)程教學(xué)中的應(yīng)用
如何通過用數(shù)據(jù)挖掘技術(shù)來分析Web網(wǎng)站日志?
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服