潘峰楠 (泉州幼兒師范高等專科學校公共教學部,福建 泉州 362000)
校園網用戶行為的分析與研究
潘峰楠 (泉州幼兒師范高等??茖W校公共教學部,福建 泉州 362000)
基于數據挖掘技術和校園網認證計費服務器日志的研究,提出了校園網用戶行為分析模型,使用微軟Studio數據挖掘工具實施數據采集和預處理,采用C++編寫K-means聚類算法,實現了對校園網用戶網絡活動日志的數據挖掘,得出了不同用戶組特征。通過發現校園網用戶行為的一些規律,為今后進一步了解用戶行為特征、制定網絡管理策、完善網絡建設等奠定基礎。
用戶行為; 數據挖掘;K-means聚類
在校園網中,運行著許多網絡硬件設備,這些設備積累了大量的用戶上網數據。這些上網數據蘊藏著豐富、有用的知識,可幫助網絡管理者對上網用戶的行為進行分析。在校園網中,通過對用戶行為的研究和分析,為校園網的規劃、建設提供了一個重要的理論依據;為校園網管理人員,在制定管理策略以及滿足學校校園網用戶個性化需求等方面提供重要理論依據*泉州幼兒師范高等??茖W校校級重點課題研究成果(QY2011-02)。。

圖1 用戶行為分析模型
對校園網用戶行為進行分析,可采用K-means聚類和統計分析相結合的方法得出一個較為嚴謹、正確的分析結果,聚類將用戶分為K個模型,再通過統計方法,對模型中的用戶行為進統計[1-2]。校園網用戶行為分析的模型如圖1所示。
2.1數據導出
校園網用戶行為分析系統的實驗數據來源主要是億郵計費網關。將計費網關用戶帳號歸為不同組中,采用域名類來標識不同組:領導組、教工組、學生組、公共機房組(為機房上課時上網提供的免費帳號組)、網絡管理組(為網絡管理相關人員提供的免費上網帳號組)。
計費網關中eyouipb數據庫,保存用戶資料、計費參數、系統參數配置、系統日志等內容。表e_log_on_user_online是用來保存登錄記錄信息,其結構如表1所示。億郵計費網關采用Mysql數據庫,在Mysql客戶端,選擇表e_log_user_online,導出數據為文本文件。在表e_log_on_user_online中,用戶登錄數據如圖2所示。
2.2數據導入
首先在SQL Server 2005[3]中新建一個數據庫eyou,創建一張表,表結構字段及類型與Mysql表一致。然后執行SQL導入數據功能,選擇導入文本類型數據,指向以上導出的文本文件,將文本文件數據導入e_you_log_online表中。
2.3數據預處理
1)數據清理 現實數據庫的數據往往是不一致、不完整和有錯誤的、有噪聲的。數據清理就是要消除噪聲,補填空缺值,識別孤立點,恢復數據的一致性。

圖2 e_log_on_user_online表結構和數據
在計費認證系統中,由于訪問記錄數據量大,筆者研究的主要是學生2012年11月1日到2012年12月31日的上網行為,而認證計費系統記錄了包括學生組、教工組等在內的所有組用戶的長時間登錄數據,因此,須對數據進行清理,首先提取學生組上網記錄,去除學生組以外用戶數據。接著清理2012年11月1日至2012年12月31日以外數據。通過統計分析,發現校園網中,凌晨3點至6點是登錄人數較少的時段,可以認為是孤立點數據,給予清理。
通過查詢語句,統計原始數據庫中上網記錄條數有17415522,選取2012年11月1日到12月31日之間的數據作為研究數據,通過以下步驟篩選減小數據庫的規模:
Delete form e_log_on_user_online where year(Start_time)<2012 and year(Start_time)>2012
(所影響行數 8563113 行)
Delete form e_log_on_user_online where month(Start_time)<11
(所影響行數 7821532行)
Delete form e_log_on_user_online where hour(Start_time)<6 and hour(Start_time)>3
(所影響行數 10236 行)
計費系統是通過domain_id來劃分不同的上網對象,因此通過以下語句進一步對數據進行預處理:
Delete form e_log_on_user_online where domain_id=2
(所影響行數 32014行) //domain_id=2 表示校領導組
Delete form e_log_on_user_online where domain_id=3
(所影響行數 652314行) //domain_id=3 表示教職工組
Delete form e_log_on_user_online where domain_id=4
(所影響行數 120541 行) //domain_id=4表示公共機房組
Delete form e_log_on_user_online where domain_id=5
(所影響行數85341 行) //domain_id=4 表示網絡管理組
2)數據規約 經過數據清理,將原始數據1700余萬條記錄縮減到130430條。數據庫記錄是每一次的連線信息,筆者不僅對每次連線進行分析,對每天或每月的匯總情況也進行了分析研究,因此,通過數據規約形成2張表,記錄每個用戶每天上網行為和每月上網行為,表的形成可通過查詢問語句實現,采用函數Convert(varchar(7),start_time,120)進行分組[4],函數有3個參數,第1個參數是將原數據轉換為目標數據,參數為varchar(7)時,表示字串長度為7,結果為yyyy-mm,這是根據月分組,參數為varchar(10)時,這是根據天數來分組,結果為yyyy-mm-dd;第2個是需要處理的對象;第3個參數將時間格式化。
筆者研究的重點是對用戶進行聚類,對數據預處理需生成一個數據流文件,因此,數據處理時,去除日期,選取時、分作為特征項。可以通可微軟的SQL查詢分析器對數據進行過濾清理,執行如下命令:
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)數據集成與變換 上網記錄,流量字段采用字節為單位,時間采用分鐘為單位,這樣數值大,為了提高聚類有效性,提高分組間差異性,以上規約生成的2張表需要進行處理,將時間都轉換為小時,將按每天規約的表流量轉換為M字節,每月規約的表轉換采用為G字節為單位。經轉換,最終規約結果如圖3、圖4所示,查詢分析器過濾結果如圖5所示。

圖3 按照天規約結果 圖4 按照月規約結果

圖5 查詢分析器過濾結果

圖6 算法運行過程
在查詢分析器過濾的結果的界面時,右擊,執行“將結果保存為”,將其結果保存為文本文本。打開生成的文件,文本前加入3行空行,在第1行輸入須聚類記錄總數;在第2行輸入特征項,這項是算法的樣本維數;在第3行輸入算法聚類個數,這樣,用戶行為分析需要的聚類輸入文件預處理完成。
2.4K-means算法的用戶聚類
筆者以億郵認證計費系統2012年11月1日~2012年12月31日的上網日志為例,將預處理的聚類文本文件第1行(記錄數)值改為130430,第2行數值為9(樣本維數),第3行值為4(聚類個數),保存為文本文件,編寫C++的K-means聚類[5]分類程序K-means.exe,并將其與以上文本文件存放同一目錄,運行程序,聚類結果如圖6所示。
3.1K-means聚類分析
通過以上以K=4聚類的結果,可得如表2所示。從表2數據可以看出,第1類用戶(占3.2%,上網時段在0∶12到0∶45)所占比例不大,可以看出深夜上網人數不多。第2類用戶(占35.3%,上網時段在12∶25到13∶17)和第3類用戶(占42.1%,上網時段在18∶45到20∶26)所占比例較大,第2類用戶上網時間不長,可以推斷較多上下午有課。晚上7點至9點這個時段,上網人數最多,國內下載流量較大,推測出上網的活動中,大流量文件較多,可能看網絡視頻或大量下載信息較多。第4類用戶(占19.4%,上網時段在21∶58到23∶28)所占比例不多,但流量也較大,推測也是用于大量下載信息或看網絡視頻的用戶。

表2 K=4時K-means聚類
3.2統計分析
通過聚類分析可以看出,用戶國內流量較大,可結合統計方式計算,訪問國內外網站的情況、量排名和某一時段用戶在線情況流等,如圖8、圖9所示。

圖7 用戶在線情況 圖8 國內下行流量前10名
通過對用戶上網日志的聚類分析以及結合統計方法得出的結果可以看出,用戶上網在中午12點到下午1點和晚上19點到22點集中比較,這2個時段,上網人數多,下載量較大,尤其在20點至22點,這段時間數據流量最大,可能是應用一些大數據量的應用(如視頻),該時段最易出現網絡擁堵甚至癱瘓。其他時段,流量相對量不大且量較為穩定,可能是較多處理一些小流量應用,如瀏覽網頁,查找資料等,只有少數用戶對網絡帶寬產生影響。國際上行流量和國際下行流量都較小,可以推測大多用戶使用訪問國內服務器。深夜上網人數比例不大,且大多為高年級學生用戶,這跟部分低年級學生宿舍用電統一管理有關。上課時段,使用網絡大多為高年級學生用戶,可以看出高年級學生課程較少。
目前認證計費服務器的策略是分包月用戶和包時用戶,包月35元/月,包時套餐計費方式30h/月15元。根據對學生的分析發現,有部分學生每月上網小于30h,可以建議這類學生中的貧困群體學生改用30h/月,減輕經濟壓力。宿舍3、4國內下行流量最大,建議在宿舍3、4部署性能較好網絡設備的同時,修改策略,對學生用戶進行限速,減輕繁忙時段校園網絡負擔。
[1]李雄飛, 董元方, 李軍, 等.數據挖掘與知識發現[M].第2版.北京:高等教育出版社,2012:3-6.
[2]董富強. 網絡用戶行為分析研究及其應用[D].西安:西安電子科技大學,2005.
[3]朱德利.SQL Server2005數據挖掘與商業智能完全解決方案[M].北京:電子工業出版社, 2007.
[4]陳益均.校園網用戶行為聚類分析的研究與實現[J].中國教育信息化, 2011(13):22-23.
[5]石云平,辛大欣.基于K-means聚類算法的分析及應用[J].西安工業學院學報,2006(1):32-34.
[6]潘瑩,梁京章,黎慧娟.基于K-means算法的校園網用戶行聚類分析[J].計算技術與自動化,2007(3):67-68.
2013-07-05
潘峰楠(1980),男,碩士,講師,現主要從事計算機網絡應用方面的教學與研究工作。
TP311.52
A
1673-1409(2013)28-0047-04
[編輯] 洪云飛