◆ 关于 LOG 文件分析软件 的思路 探讨!
IIS LOG 文件记录了网站访问的详细情况文件内容如下:12:00:00 /678/1.files/openwin.js 1758 250 390
12:00:00 /sunvcd/index.html 233 346 62
12:00:00 /3639/024.gif 1812 312 218
12:00:00 /zgwjbd/tu/logo.GIF 13115 257 1469
12:00:00 /3639/168.gif 152 331 0
12:00:00 /3639/025.gif 630 312 359
12:00:00 /8868/dlq.rar 0 223 485
12:00:00 /3639/3639.swf 16187 312 1109
12:00:00 /dreamon/index.htm 6383 250 1500
12:00:00 /loveqyw/lhxyexe.asp 0 271 39281
12:00:00 /wochangwoge/guestbook/index.asp 148 388 35515
12:00:01 /sunvcd/ch35.mid 175 363 0
12:00:01 /8868/dlq.rar 0 223 437
12:00:01 /3639/027.gif 151 405 0
12:00:01 /jdsz/fxjs/webgp.htm 1651 216 343
12:00:01 /fjqx518/ip.jpg 261 76 875
12:00:01 /3639/picaa.gif 7122 253 3328
12:00:01 /8868/dlq.rar 0 223 407
12:00:01 /handan/mm.jpg 476 371 3703各字段用空格分割
时间 路径 接收数据 发送数据 使用时间可以用 VB 循环读取
每读一行可以用处理字串的办法得到
主目录名 接收数据 发送数据 使用时间
例如
handan 476 371 3703■ 问题如何统计每个目录的 出现的次数 \  接收数据的和 \ 发送数据的和 \ 使用时间的和
要求代码简洁高效●我的思路读取一行
取出: 主目录名 接收数据 发送数据 使用时间
查询数据库
如果没有该 主目录名 的记录
则增加该 主目录名 的记录
如果有该 主目录名 记录
则 读取该条记录
将该记录中的  接收数据 发送数据 使用时间  和 从这行读取的  接收数据 发送数据 使用时间
相加 
还需要
将该记录的 出现次数字段  + 1
并更新该条记录然后读取下一行循环这样显然很低效率,而且很占系统资源(因为每行都要查询要更新数据库)

希望大家给个好办法

解决方案 »

  1.   


    我考虑过数组
    但是数组
    只能是d(1)
    d(2)不能是
    d(abc)
    d(123a)请问集合对象怎么用?
      

  2.   

    用文本数据库的方式打开log文件速度会快上很多,参考:如何访问文本文件
    ----用Microsoft Jet 访问桌面数据库
    http://vbworld.sxnw.gov.cn/articles/database/vb19.htm
    http://vbworld.sxnw.gov.cn/articles/database/vb20.htm
    http://vbworld.sxnw.gov.cn/articles/database/vb21.htm打开之后进行简单的查询即可
      

  3.   

    //用文本数据库的方式打开log文件速度会快上很多
    没错,呵呵,我咋就没想到捏。果然还是有层次上的差距阿