数据挖掘在校园网日志中的应用

点赞:6121 浏览:21387 近期更新时间:2024-01-16 作者:网友分享原创网站原创

摘 要 :校园网是一个特殊的网络环境,在网络资源有限的情况下,利用数据挖掘技术从校园网日志中获取有用的信息,对学校科学地管理与分配网络资源有着重要的意义.在SQL Server 2005平台下,对本校某一时段的上网日志进行挖掘分析,以便在有效管理校园网络资源方面能够给出较好的建议.

关 键 词 :数据挖掘,日志分析,聚类挖掘

中图分类号:TP311.131文献标识码:A文章编号:16727800(2011)012016802


作者简介:李卿(1987-),女,江西吉安人,安徽理工大学硕士研究生,研究方向为计算机应用技术.1研究思路

源数据为user.txt和log.txt两个文本文件.user.txt 为用户分组文件,共1703条记录,以下是其中一条记录:

用户名 用户组

user253 104

其中,102为研究生组、103为本科生组、104为教职工组、105为办公用户组.

log.txt为用户上网日志文件,是全校所有用户在2006年11月10日12:28:48至2006年11月11日04:59:58时段内的上网记录,共389348条记录,以下是其中一条记录:

10.10.35.18 user1378 - [10/Nov/2006:12:28:48 +0800] "GET l HTTP/1.0" 200 6170 TCP_MISS:DIRECT

包含了用户的IP、用户名、访问时间、访问网站的地址、返回类型、请求的字节数等内容.

参照数据挖掘的过程,按以下几个步骤展开数据挖掘工作:①数据准备:对用户信息文件和日志文件进行数据处理,将源数据转换成适宜进行数据挖掘的数据;②数据挖掘:对处理后的数据采用聚类的方法进行数据挖掘;③结果分析与表示:对前面步骤中获得的信息进行总结与评价.

2数据准备

此阶段对用户信息文件和日志文件进行数据预处理和数据清洗,将源数据转换成适宜进行数据挖掘的数据.数据的预处理是将普通文本形式的源数据转换成方便挖掘的数据库文件;数据清洗则根据需求对预处理后的数据进行属性和记录的删减.

2.1数据预处理

利用SQL Sever的“数据导入\导出任务”将user.txt中的数据导入新建的数据库dm中,采用默认命名user,将用户名和用户组命名为"uno"和"ugroup",设置uno为主键.采用相同的方法将log.txt转换成log表,各字段名为:ip、uno、non、time、port、get、url、http、type、byte、tcp.

2.2数据清洗

(1)去除user表中不合法的数据.对user表进行分组,得出研究生组的记录有299条,本科生组有731条,教职工组有569条,办公用户组有89条,4组共1688条,与总记录数有出入.可知其中存在不合法数据,使用SQL语句去除.

(2)去除log表中多余的字段.log表中并非所有的字段信息都有用,只需保留用户的IP、用户号、访问时间、访问地址、返回类型,请求的字节数这几个关键字段.

(3)统计上网用户信息.提取整个时段内上网用户和用户组信息,并剔除不合法的记录,得到一个拥有341条记录的uno_ugroup表.说明有341人上网,此表作为挖掘模型的一个输入表.

(4)按小时统计各时段的在线人数.日志按秒记录用户的访问信息,需筛选出每秒操作的用户数,按小时分组统计每个时间段的在线人数,如图1所示.

(5) 按用户分组统计访问网站的频率.以用户访问网站的频率为参照衡量用户上网的时长,尽可能从log表中剔除一些以url以gif、jpg、css、js、swf结尾的间接访问记录,并使用如下命令可得出访问排名:

SELECT uno,COUNT(uno) AS 访问频率 FROM log

GROUP BY uno

ORDER BY COUNT(uno) DESC图1在线人数时段分布图

从排名中可知用户user1775访问操作最频繁,经查询易知该用户为本科生,上网时段为13:07:19~13:50:46和17:26:57~23:17:36,该同学整个晚上的时间都在网上.

数据挖掘在校园网日志中的应用参考属性评定
有关论文范文主题研究: 关于数据的论文范文资料 大学生适用: 研究生论文、在职研究生论文
相关参考文献下载数量: 20 写作解决问题: 毕业论文怎么写
毕业论文开题报告: 论文模板、论文结论 职称论文适用: 职称评定、中级职称
所属大学生专业类别: 毕业论文怎么写 论文题目推荐度: 优秀选题

(6) 按用户分组统计资源的占用情况.分析带宽的占用情况本来应该以秒为单位分别统计用户流量,求均值后再排名,但这样过于复杂.在这可以换一个思路,按用户号统计流量,排序靠前流量越高的,占用的带宽也较高.可使用如下命令得到带宽占用的排名:

SELECT uno,SUM(byte) AS 上网总流量 FROM log

GROUP BY uno

ORDER BY SUM(byte) DESC

排名中可知user1641用户排名第一访问量相当大,经查询得知该用户为教职工,上网时段为12:30:50~01:36:51,连续7小时在线,视频下载操作频繁.

3数据挖掘

利用SQL Sever 2005的SSAS组件对上网用户进行聚类挖掘.将2.3中生成的uno_ugroup表加到其数据源中,在挖掘结构中新建聚类挖掘模型,设置如图2所示:

图2聚类挖掘模型设置

对模型处理完成后,可在挖掘模型查看器的分类剖面图中,看到具体的参数情况,如图3所示:

图3分类剖面图

同时可以看到各类别的概率,如图4所示:

图4分类特征

4结果分析与表述

通过数据准备和挖掘,可以得出本校网络用户的上网情况如下:

(1)工作日在线人数不多,人数分布按教职工、研究生、本科生、办公用户降序排序.

(2)上网有两个高峰时段:13:07:19~13:50:46和17:26:57~23:17:36.午饭时间和晚饭时间的在线人数较少.

(3)个别用户上网时间较长,可通过其访问网站的频率衡量其在线时长的排名.

(4)个别用户占用网络带宽较为严重,网络访问数据量大的原因通常是访问视频文件造成的.

网络管理员可以根据以上情况对访问网络的行为为进行相应的管理与限制,如对视频下载操作进行合适的限定,对上网时间较长的用户加以关注,提醒同学合理安排时间等.

5结束语

本文对校园网日志中的在线人群分布、用户访问网站的频率、访问量等情况进行了分析,使用了SQL Sever 2005中的聚类挖掘算法进行数据挖掘,得到了较为明显的分析结果.日志中有一些字段并未利用,日后还可以利用SQL Sever中的其他挖掘算法,对数据进行更进一步的清洗和挖掘.参考文献:

[1]韩家炜,梦小峰,王静,等.Web挖掘研究[J].计算机研究与发展,2001(4).

[2]方杰,朱京红.日志挖掘中的数据预处理[J].计算机技术与发展,2010(4).

[3]孙峰.数据挖掘在SQL Sever 2005中的应用[J].硅谷,2010(5).

[4]朱明.数据挖掘(第二版)[M].合肥:中国科学技术大学出版社,2008.

[5]朱德利.SQL Sever 2005数据挖掘与商业智能完全解决方案[M].北京:电子工业出版社,2007.

(责任编辑:周晓辉)