朱瑯 濟(jì)寧市第一人民醫(yī)院
Web日志中包含了大量的用戶瀏覽信息,如何針對(duì)Web日志中的用戶行為數(shù)據(jù),通過有效的數(shù)據(jù)
挖掘方法從中分析用戶訪問數(shù)據(jù),并根據(jù)分析結(jié)論對(duì)現(xiàn)有網(wǎng)站的結(jié)構(gòu)設(shè)計(jì)和交互設(shè)計(jì)提出有效的改進(jìn)建議,成為現(xiàn)有網(wǎng)站面臨的一個(gè)非常重要的課題。基于日志的研究方向主要有網(wǎng)站監(jiān)控、網(wǎng)絡(luò)安全、信息推薦等。
當(dāng)前我院研發(fā)的員工技術(shù)檔案系統(tǒng)實(shí)現(xiàn)了人力資源部、醫(yī)務(wù)部、護(hù)理部和藥學(xué)部相關(guān)科室的協(xié)同辦公,共享部分信息數(shù)據(jù),系統(tǒng)集成了職工的人事信息、職稱、學(xué)歷、培訓(xùn)、手術(shù)授權(quán)等數(shù)據(jù),并向全院職工開放個(gè)人查詢和校對(duì)的權(quán)限,得到了職工廣泛使用。本文介紹了一種基于我院?jiǎn)T工技術(shù)檔案系統(tǒng)采集的員工行為日志,分析當(dāng)前醫(yī)院職工的行為特征并進(jìn)行可視化展示,預(yù)測(cè)未來一段時(shí)間內(nèi)職工可能關(guān)注的熱點(diǎn)信息,為科室下一步的工作安排提供有效的參考。
用戶的行為日志是指用戶每次訪問網(wǎng)站時(shí),所有的行為數(shù)據(jù),包括:訪問、瀏覽、搜索、點(diǎn)擊、購(gòu)買商品、收藏、評(píng)論等。通過采集并分析用戶行為日志,不僅可以描繪出用戶的行為軌跡,還可以挖掘用戶的興趣點(diǎn),從而可以向用戶做出精確的信息推薦,提供個(gè)性化服務(wù),提高用戶粘性。
一個(gè)高可用的、高可靠的、分布式的海量日志采集、聚合和傳輸?shù)南到y(tǒng),支持在日志系統(tǒng)中定制各類數(shù)據(jù)發(fā)送方,用于收集數(shù)據(jù),同時(shí)提供對(duì)數(shù)據(jù)進(jìn)行簡(jiǎn)單處理,并寫到各種數(shù)據(jù)接受方的能力。
記錄的日志信息主要包括:系統(tǒng)特征,比如所采用的操作系統(tǒng)、瀏覽器、域名和訪問速度等;訪問特征,包括停留時(shí)間、點(diǎn)擊的URL、頁面標(biāo)簽等;來源特征,包括來訪URL,來訪IP等。行為日志的深度分成四個(gè)級(jí)別:接口級(jí),每次調(diào)用接口時(shí)記錄;行為級(jí),用戶操作項(xiàng)目任何操作記錄,規(guī)定每一個(gè)操作對(duì)應(yīng)一個(gè)編號(hào),前端緩存,批量傳入;點(diǎn)擊級(jí),記錄每一次點(diǎn)擊的信息,包括沒有點(diǎn)擊功能點(diǎn),包含點(diǎn)擊的位置信息; 細(xì)微級(jí),網(wǎng)頁等鼠標(biāo)的留存位置等。不同的等級(jí),獲取的數(shù)據(jù)的粗粒度不同,等級(jí)越低,獲取的數(shù)據(jù)也就越少,能分析出來的東西也就越少;等級(jí)越高,獲取的數(shù)據(jù)量也就很大,處理起來也就越麻煩,相應(yīng)的可以做到很多粗粒度等級(jí)所做不到的東西。
本文采用Log4net作為日志采集的工具。Log4net是.Net下一個(gè)非常優(yōu)秀的開源日志記錄組件,記錄日志的功能非常強(qiáng)大,它可以將日志分不同的等級(jí),以不同的格式,輸出到不同的媒介。針對(duì)員工技術(shù)檔案系統(tǒng)的功能設(shè)計(jì),以及日志分析功能的設(shè)計(jì)方案,日志深度采用接口級(jí)和行為級(jí)兩個(gè)級(jí)別,從不同粒度進(jìn)行記錄。為了實(shí)現(xiàn)分析某一時(shí)間段職工集中訪問的信息類型數(shù)據(jù),日志信息采集格式設(shè)計(jì)為:訪問時(shí)間,訪問IP,登錄賬號(hào),訪問模塊,瀏覽器類型,字段信息間以制表符進(jìn)行分隔,其中訪問模塊主要指職工的信息類型,即基本信息、學(xué)歷學(xué)位、工作經(jīng)歷、職稱聘任、培訓(xùn)考核,手術(shù)授權(quán)。這樣,以結(jié)構(gòu)化格式存儲(chǔ)日志,方便進(jìn)一步的統(tǒng)計(jì)分析。采集到的日志信息輸出到txt文件中,以文件形式保存,以第一條日志記錄的時(shí)間和最后一條日志記錄的時(shí)間合并的字符串作為文件名。根據(jù)系統(tǒng)多個(gè)時(shí)間段的訪問頻率來看,每10000條日志記錄成一個(gè)txt文件是最好的選擇,避免了一個(gè)txt文件中日志時(shí)間跨度過長(zhǎng)的問題,或者固定時(shí)間段內(nèi)日志數(shù)量忽多忽少的問題。
日志的可視化工具采用百度研發(fā)的ECharts,ECharts是一個(gè)使用JavaScript實(shí)現(xiàn)的開源可視化庫(kù),可以流暢的運(yùn)行在 PC和移動(dòng)設(shè)備上,兼容當(dāng)前絕大部分瀏覽器,提供了常規(guī)的折線圖、柱狀圖、散點(diǎn)圖、餅圖、K線圖,用于統(tǒng)計(jì)的盒形圖等多種圖形。
日志檢索功能是對(duì)采集到的日志可以按條件檢索出來進(jìn)行統(tǒng)計(jì)分析,本文設(shè)計(jì)了根據(jù)時(shí)間段檢索、根據(jù)訪問模塊檢索、根據(jù)登錄賬號(hào)檢索的功能。系統(tǒng)以當(dāng)前時(shí)間為終止時(shí)間,默認(rèn)將一個(gè)月前作為起始時(shí)間的日志文件全部讀入內(nèi)存,設(shè)置檢索時(shí)間段查詢區(qū)段日志,或者查看某個(gè)訪問模塊的瀏數(shù)據(jù)。
利用ECharts工具,將查詢到的日志分析統(tǒng)計(jì)后進(jìn)行圖形化展示。系統(tǒng)主要提供了以下幾種數(shù)據(jù)圖形:以柱狀圖展示某查詢時(shí)間段內(nèi)各個(gè)訪問模塊的訪問次數(shù),可以直觀看出時(shí)間段內(nèi)職工重點(diǎn)關(guān)注的模塊信息;以柱狀圖展示某查詢時(shí)間段內(nèi)某個(gè)職工瀏覽各個(gè)訪問模塊的訪問次數(shù);以折線圖展示系統(tǒng)訪問次數(shù),時(shí)間間隔為24小時(shí),直觀統(tǒng)計(jì)系統(tǒng)訪問量;通過匯總登錄IP以餅狀圖展示各個(gè)科室關(guān)注的模塊信息。
利用日志的分析與可視化展示,直觀方便了展示信息熱點(diǎn),為科室下一步工作安排提供重要參考,例如臨近每年職稱晉升的報(bào)名時(shí)間點(diǎn),系統(tǒng)瀏覽職稱聘任模塊的日志記錄逐漸增多,與此對(duì)應(yīng)撥打電話到主管科室咨詢的次數(shù)也逐漸增多,因此通過直觀查看日志統(tǒng)計(jì)分析圖表可以預(yù)測(cè)科室接下來的工作熱點(diǎn),提早進(jìn)行工作安排。今后可以對(duì)日志分析功能進(jìn)一步改進(jìn),利用日志數(shù)據(jù)增加推薦功能,提高個(gè)性化服務(wù)水平。