如何从超过10G的记录IP地址的日志中?
10g的日志,应该是文本类型的。10g的文本文件遍历一遍基本上必须的。逐行读取,正则匹配出IP地址转行成数字类型,变成数组,读取每一行都判断数组中是否存在,如果有计数器加一,如果没有新建一个。虽然有一些算法可以减少遍历,比如在遍历到超过一半之后,如果发现有IP超过了总数的一半儿,后面就不需要遍历了,比如剩余30%之后,所有跟第一名差距超过30%的可以都不计数了,但是这种情况基本在最后才会遇见,判断的时间超过计数器的时间。性价比最好的就是遍历一般计数器来实现。
Copyright © 广州京杭网络科技有限公司 2005-2025 版权所有 粤ICP备16019765号
广州京杭网络科技有限公司 版权所有