算法-日志文件找出最多的三节路径

来自:http://dasheng.iteye.com/blog/707665


一.问题:(yamaxun)

1,用户访问网站时,用随机的一个字符串表示该用户,同一个用户访问别的页面也用相同的字符串表示,用户id称为userId。
2,网站的每个页面用英文字符串来表示,称为page_type_id;
3,网站的访问日志的格式是:<userId 空格 page_type_id >
4,  访问路径:找出用户访问最多三节访问路径,所谓三节路径是:home--prouduct---prouduct detail;
或者 prouduct--surport --faq  等等。
要求假设已经有了一个这样的一个日志文件,用java写一个程序,找出最多的三节路径。


二. 解决方法

用两个hashmap就可以实现。
1个hashmap 放 <userId, page_type_id >
另1个hashmap 放<(page_type_id1,page_type_id2,page_type_id3),countNum>


三.相关工具

1. 一款IIS日志查询工具可以查看各大搜索引擎蜘蛛的来访次数 :    IIS日志分析工具

2.  对apache 一些常用分析工具,,例如cat、ccze、head、grep、less、more、tail 以及wc 等。例如:

#tail –f access_log |grep "关键字" |grep –v "MSIE"这条指令会显示包含关键字且不含“MSIE”的行。如果后面再加wc 指令则可以统计行数

3. 自动化分析工具

下面先了解一下Apache 常用自动化日志分析工具,在本章最后给出应用实例。

(1)Webalizer(http://www.webalizer.org/download.html

在Apache 日志分析领域Webalizer 算是老牌的免费日志分析程序,有关它的配置资料很容易找到,功能一般。

(2)Awstats

Awstats 是一个发展迅速的Web 日志分析工具,它采用Perl 语言开发,是个强大而有个性的网站日志分析工具,针对Apache、Nginx、Ftp 和Sendmail 的日志都能进行分析。
(3)ApacheTop(http://freecode.com/projects/apachetop

ApacheTop 是一个命令行界面的日志统计工具,它可以动态地查看apache 的日志文件,还可以直观地显示访问的每个地址的请求数、速度及流量等信息。

使用方法为:#apachetop -f /var/log/httpd/access_log -T 1000 -d 2

(4)GoAccess(http://goaccess.prosoftcorp.com/download

GoAccess 是一个用来统计 Apache Web 服务器的访问日志的工具,可即时生成统计报表,速度非常快。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值