潘峰楠 (泉州幼兒師范高等??茖W(xué)校公共教學(xué)部,福建 泉州 362000)
校園網(wǎng)用戶行為的分析與研究
潘峰楠 (泉州幼兒師范高等??茖W(xué)校公共教學(xué)部,福建 泉州 362000)
基于數(shù)據(jù)挖掘技術(shù)和校園網(wǎng)認(rèn)證計費服務(wù)器日志的研究,提出了校園網(wǎng)用戶行為分析模型,使用微軟Studio數(shù)據(jù)挖掘工具實施數(shù)據(jù)采集和預(yù)處理,采用C++編寫K-means聚類算法,實現(xiàn)了對校園網(wǎng)用戶網(wǎng)絡(luò)活動日志的數(shù)據(jù)挖掘,得出了不同用戶組特征。通過發(fā)現(xiàn)校園網(wǎng)用戶行為的一些規(guī)律,為今后進一步了解用戶行為特征、制定網(wǎng)絡(luò)管理策、完善網(wǎng)絡(luò)建設(shè)等奠定基礎(chǔ)。
用戶行為; 數(shù)據(jù)挖掘;K-means聚類
在校園網(wǎng)中,運行著許多網(wǎng)絡(luò)硬件設(shè)備,這些設(shè)備積累了大量的用戶上網(wǎng)數(shù)據(jù)。這些上網(wǎng)數(shù)據(jù)蘊藏著豐富、有用的知識,可幫助網(wǎng)絡(luò)管理者對上網(wǎng)用戶的行為進行分析。在校園網(wǎng)中,通過對用戶行為的研究和分析,為校園網(wǎng)的規(guī)劃、建設(shè)提供了一個重要的理論依據(jù);為校園網(wǎng)管理人員,在制定管理策略以及滿足學(xué)校校園網(wǎng)用戶個性化需求等方面提供重要理論依據(jù)*泉州幼兒師范高等??茖W(xué)校校級重點課題研究成果(QY2011-02)。。
圖1 用戶行為分析模型
對校園網(wǎng)用戶行為進行分析,可采用K-means聚類和統(tǒng)計分析相結(jié)合的方法得出一個較為嚴(yán)謹(jǐn)、正確的分析結(jié)果,聚類將用戶分為K個模型,再通過統(tǒng)計方法,對模型中的用戶行為進統(tǒng)計[1-2]。校園網(wǎng)用戶行為分析的模型如圖1所示。
2.1數(shù)據(jù)導(dǎo)出
校園網(wǎng)用戶行為分析系統(tǒng)的實驗數(shù)據(jù)來源主要是億郵計費網(wǎng)關(guān)。將計費網(wǎng)關(guān)用戶帳號歸為不同組中,采用域名類來標(biāo)識不同組:領(lǐng)導(dǎo)組、教工組、學(xué)生組、公共機房組(為機房上課時上網(wǎng)提供的免費帳號組)、網(wǎng)絡(luò)管理組(為網(wǎng)絡(luò)管理相關(guān)人員提供的免費上網(wǎng)帳號組)。
計費網(wǎng)關(guān)中eyouipb數(shù)據(jù)庫,保存用戶資料、計費參數(shù)、系統(tǒng)參數(shù)配置、系統(tǒng)日志等內(nèi)容。表e_log_on_user_online是用來保存登錄記錄信息,其結(jié)構(gòu)如表1所示。億郵計費網(wǎng)關(guān)采用Mysql數(shù)據(jù)庫,在Mysql客戶端,選擇表e_log_user_online,導(dǎo)出數(shù)據(jù)為文本文件。在表e_log_on_user_online中,用戶登錄數(shù)據(jù)如圖2所示。
2.2數(shù)據(jù)導(dǎo)入
首先在SQL Server 2005[3]中新建一個數(shù)據(jù)庫eyou,創(chuàng)建一張表,表結(jié)構(gòu)字段及類型與Mysql表一致。然后執(zhí)行SQL導(dǎo)入數(shù)據(jù)功能,選擇導(dǎo)入文本類型數(shù)據(jù),指向以上導(dǎo)出的文本文件,將文本文件數(shù)據(jù)導(dǎo)入e_you_log_online表中。
2.3數(shù)據(jù)預(yù)處理
1)數(shù)據(jù)清理 現(xiàn)實數(shù)據(jù)庫的數(shù)據(jù)往往是不一致、不完整和有錯誤的、有噪聲的。數(shù)據(jù)清理就是要消除噪聲,補填空缺值,識別孤立點,恢復(fù)數(shù)據(jù)的一致性。
圖2 e_log_on_user_online表結(jié)構(gòu)和數(shù)據(jù)
在計費認(rèn)證系統(tǒng)中,由于訪問記錄數(shù)據(jù)量大,筆者研究的主要是學(xué)生2012年11月1日到2012年12月31日的上網(wǎng)行為,而認(rèn)證計費系統(tǒng)記錄了包括學(xué)生組、教工組等在內(nèi)的所有組用戶的長時間登錄數(shù)據(jù),因此,須對數(shù)據(jù)進行清理,首先提取學(xué)生組上網(wǎng)記錄,去除學(xué)生組以外用戶數(shù)據(jù)。接著清理2012年11月1日至2012年12月31日以外數(shù)據(jù)。通過統(tǒng)計分析,發(fā)現(xiàn)校園網(wǎng)中,凌晨3點至6點是登錄人數(shù)較少的時段,可以認(rèn)為是孤立點數(shù)據(jù),給予清理。
通過查詢語句,統(tǒng)計原始數(shù)據(jù)庫中上網(wǎng)記錄條數(shù)有17415522,選取2012年11月1日到12月31日之間的數(shù)據(jù)作為研究數(shù)據(jù),通過以下步驟篩選減小數(shù)據(jù)庫的規(guī)模:
Delete form e_log_on_user_online where year(Start_time)<2012 and year(Start_time)>2012
(所影響行數(shù) 8563113 行)
Delete form e_log_on_user_online where month(Start_time)<11
(所影響行數(shù) 7821532行)
Delete form e_log_on_user_online where hour(Start_time)<6 and hour(Start_time)>3
(所影響行數(shù) 10236 行)
計費系統(tǒng)是通過domain_id來劃分不同的上網(wǎng)對象,因此通過以下語句進一步對數(shù)據(jù)進行預(yù)處理:
Delete form e_log_on_user_online where domain_id=2
(所影響行數(shù) 32014行) //domain_id=2 表示校領(lǐng)導(dǎo)組
Delete form e_log_on_user_online where domain_id=3
(所影響行數(shù) 652314行) //domain_id=3 表示教職工組
Delete form e_log_on_user_online where domain_id=4
(所影響行數(shù) 120541 行) //domain_id=4表示公共機房組
Delete form e_log_on_user_online where domain_id=5
(所影響行數(shù)85341 行) //domain_id=4 表示網(wǎng)絡(luò)管理組
2)數(shù)據(jù)規(guī)約 經(jīng)過數(shù)據(jù)清理,將原始數(shù)據(jù)1700余萬條記錄縮減到130430條。數(shù)據(jù)庫記錄是每一次的連線信息,筆者不僅對每次連線進行分析,對每天或每月的匯總情況也進行了分析研究,因此,通過數(shù)據(jù)規(guī)約形成2張表,記錄每個用戶每天上網(wǎng)行為和每月上網(wǎng)行為,表的形成可通過查詢問語句實現(xiàn),采用函數(shù)Convert(varchar(7),start_time,120)進行分組[4],函數(shù)有3個參數(shù),第1個參數(shù)是將原數(shù)據(jù)轉(zhuǎn)換為目標(biāo)數(shù)據(jù),參數(shù)為varchar(7)時,表示字串長度為7,結(jié)果為yyyy-mm,這是根據(jù)月分組,參數(shù)為varchar(10)時,這是根據(jù)天數(shù)來分組,結(jié)果為yyyy-mm-dd;第2個是需要處理的對象;第3個參數(shù)將時間格式化。
筆者研究的重點是對用戶進行聚類,對數(shù)據(jù)預(yù)處理需生成一個數(shù)據(jù)流文件,因此,數(shù)據(jù)處理時,去除日期,選取時、分作為特征項??梢酝晌④浀腟QL查詢分析器對數(shù)據(jù)進行過濾清理,執(zhí)行如下命令:
Select datepart(hour, strart_time)as onhh, datepart(minute, strart_time) as onmm, datepart(hour, end_time) as endmm, datepart(minute, end_time)as endmm, datediff(Minute,strart_time,end_time) as online_time form e-log_uer_online
3)數(shù)據(jù)集成與變換 上網(wǎng)記錄,流量字段采用字節(jié)為單位,時間采用分鐘為單位,這樣數(shù)值大,為了提高聚類有效性,提高分組間差異性,以上規(guī)約生成的2張表需要進行處理,將時間都轉(zhuǎn)換為小時,將按每天規(guī)約的表流量轉(zhuǎn)換為M字節(jié),每月規(guī)約的表轉(zhuǎn)換采用為G字節(jié)為單位。經(jīng)轉(zhuǎn)換,最終規(guī)約結(jié)果如圖3、圖4所示,查詢分析器過濾結(jié)果如圖5所示。
圖3 按照天規(guī)約結(jié)果 圖4 按照月規(guī)約結(jié)果
圖5 查詢分析器過濾結(jié)果
圖6 算法運行過程
在查詢分析器過濾的結(jié)果的界面時,右擊,執(zhí)行“將結(jié)果保存為”,將其結(jié)果保存為文本文本。打開生成的文件,文本前加入3行空行,在第1行輸入須聚類記錄總數(shù);在第2行輸入特征項,這項是算法的樣本維數(shù);在第3行輸入算法聚類個數(shù),這樣,用戶行為分析需要的聚類輸入文件預(yù)處理完成。
2.4K-means算法的用戶聚類
筆者以億郵認(rèn)證計費系統(tǒng)2012年11月1日~2012年12月31日的上網(wǎng)日志為例,將預(yù)處理的聚類文本文件第1行(記錄數(shù))值改為130430,第2行數(shù)值為9(樣本維數(shù)),第3行值為4(聚類個數(shù)),保存為文本文件,編寫C++的K-means聚類[5]分類程序K-means.exe,并將其與以上文本文件存放同一目錄,運行程序,聚類結(jié)果如圖6所示。
3.1K-means聚類分析
通過以上以K=4聚類的結(jié)果,可得如表2所示。從表2數(shù)據(jù)可以看出,第1類用戶(占3.2%,上網(wǎng)時段在0∶12到0∶45)所占比例不大,可以看出深夜上網(wǎng)人數(shù)不多。第2類用戶(占35.3%,上網(wǎng)時段在12∶25到13∶17)和第3類用戶(占42.1%,上網(wǎng)時段在18∶45到20∶26)所占比例較大,第2類用戶上網(wǎng)時間不長,可以推斷較多上下午有課。晚上7點至9點這個時段,上網(wǎng)人數(shù)最多,國內(nèi)下載流量較大,推測出上網(wǎng)的活動中,大流量文件較多,可能看網(wǎng)絡(luò)視頻或大量下載信息較多。第4類用戶(占19.4%,上網(wǎng)時段在21∶58到23∶28)所占比例不多,但流量也較大,推測也是用于大量下載信息或看網(wǎng)絡(luò)視頻的用戶。
表2 K=4時K-means聚類
3.2統(tǒng)計分析
通過聚類分析可以看出,用戶國內(nèi)流量較大,可結(jié)合統(tǒng)計方式計算,訪問國內(nèi)外網(wǎng)站的情況、量排名和某一時段用戶在線情況流等,如圖8、圖9所示。
圖7 用戶在線情況 圖8 國內(nèi)下行流量前10名
通過對用戶上網(wǎng)日志的聚類分析以及結(jié)合統(tǒng)計方法得出的結(jié)果可以看出,用戶上網(wǎng)在中午12點到下午1點和晚上19點到22點集中比較,這2個時段,上網(wǎng)人數(shù)多,下載量較大,尤其在20點至22點,這段時間數(shù)據(jù)流量最大,可能是應(yīng)用一些大數(shù)據(jù)量的應(yīng)用(如視頻),該時段最易出現(xiàn)網(wǎng)絡(luò)擁堵甚至癱瘓。其他時段,流量相對量不大且量較為穩(wěn)定,可能是較多處理一些小流量應(yīng)用,如瀏覽網(wǎng)頁,查找資料等,只有少數(shù)用戶對網(wǎng)絡(luò)帶寬產(chǎn)生影響。國際上行流量和國際下行流量都較小,可以推測大多用戶使用訪問國內(nèi)服務(wù)器。深夜上網(wǎng)人數(shù)比例不大,且大多為高年級學(xué)生用戶,這跟部分低年級學(xué)生宿舍用電統(tǒng)一管理有關(guān)。上課時段,使用網(wǎng)絡(luò)大多為高年級學(xué)生用戶,可以看出高年級學(xué)生課程較少。
目前認(rèn)證計費服務(wù)器的策略是分包月用戶和包時用戶,包月35元/月,包時套餐計費方式30h/月15元。根據(jù)對學(xué)生的分析發(fā)現(xiàn),有部分學(xué)生每月上網(wǎng)小于30h,可以建議這類學(xué)生中的貧困群體學(xué)生改用30h/月,減輕經(jīng)濟壓力。宿舍3、4國內(nèi)下行流量最大,建議在宿舍3、4部署性能較好網(wǎng)絡(luò)設(shè)備的同時,修改策略,對學(xué)生用戶進行限速,減輕繁忙時段校園網(wǎng)絡(luò)負(fù)擔(dān)。
[1]李雄飛, 董元方, 李軍, 等.數(shù)據(jù)挖掘與知識發(fā)現(xiàn)[M].第2版.北京:高等教育出版社,2012:3-6.
[2]董富強. 網(wǎng)絡(luò)用戶行為分析研究及其應(yīng)用[D].西安:西安電子科技大學(xué),2005.
[3]朱德利.SQL Server2005數(shù)據(jù)挖掘與商業(yè)智能完全解決方案[M].北京:電子工業(yè)出版社, 2007.
[4]陳益均.校園網(wǎng)用戶行為聚類分析的研究與實現(xiàn)[J].中國教育信息化, 2011(13):22-23.
[5]石云平,辛大欣.基于K-means聚類算法的分析及應(yīng)用[J].西安工業(yè)學(xué)院學(xué)報,2006(1):32-34.
[6]潘瑩,梁京章,黎慧娟.基于K-means算法的校園網(wǎng)用戶行聚類分析[J].計算技術(shù)與自動化,2007(3):67-68.
2013-07-05
潘峰楠(1980),男,碩士,講師,現(xiàn)主要從事計算機網(wǎng)絡(luò)應(yīng)用方面的教學(xué)與研究工作。
TP311.52
A
1673-1409(2013)28-0047-04
[編輯] 洪云飛