从大量的IP访问记录中找到访问次数最多的IP

从大量的IP访问记录中找到访问次数最多的IP

1.内存不受限

一个IP有32bit(4Byte),1GB=10亿,那么在4GB内存的情况下,可以存10亿个IP。用HashMap,边存入IP边维护一个最大次数,这样遍历一遍就可以求出,时间复杂度为O(n)。

2.内存受限

假设我们有1TB的数据,但内存只有4GB,不能将数据全部读入内存做运算。

  • 从输入流中读取1TB的数据,将IP地址按模1000运算,相同的模值IP写到同一个文件中。这样就会产生1000个小文件,每个文件大约1GB,且保证了相同的IP一定在同一个文件中。
  • 对这1000个文件中的每个文件使用HashMap找到该文件中的最多IP,然后1000个局部极值比较,再求出最值,有点像小组赛晋级然后总决赛。

【Reference】

  1. 从1亿个ip中找出访问次数最多的IP http://blog.csdn.net/linmiansheng/article/details/19290879
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/112603.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 前端开发项目经验_项目管理体系包括哪些

    前端开发项目经验_项目管理体系包括哪些前端开发传统的web开发管理端、H5/小程序、可视化、游戏等Node.js开发服务端接入层、构建工具、云服务等终端开发reactnative、flutter、electron等项目开发过程中涉及的系统涉及、方案调研、技术选型、性能优化、效能提升这些都是想通的这是怎样的一个项目?他遇到什么问题、存在着怎样的瓶颈?又需要怎么去解决?前端面试相关知识点前端常见的框架和工具库重要的是要知道各个框架的区别、掌握框架设计和实现原理Node.js和服务.

    2022年10月21日
    3
  • MySQL 将字符串转换为数字类型并进行排序

    MySQL 将字符串转换为数字类型并进行排序起因:需要对接第三方统计系统,并且第三方系统给的数据那真的是一团乱,害,都是泪呀,头发又感觉凉飕飕的;数据有毒,所有的小数都是用varchar(20)保存的,现在有要对数据进行排序并展示。示例数据:area_gdp表idareagdp1北京12002上海61003广州60004深圳980select*fromarea_gdpORDERBYgdpASC#查询结果如下1 北京 12003 广州 60002 上海

    2022年5月18日
    47
  • pycharm中mysql连接失败_pycharm连接mysql数据库连接不上[通俗易懂]

    pycharm中mysql连接失败_pycharm连接mysql数据库连接不上[通俗易懂]代码其实很简单,只有一小段,是在pycharm上运行的,所用的python版本为2.7,mysql版本为5.7.21#-*-coding:UTF-8-*-importreimportMySQLdbif__name__==’__main__’:#打开数据库conn=MySQLdb.connect(host=’localhost’,port=3306,user=’root’,pa…

    2025年6月21日
    2
  • zuul网关作用_zuul网关的作用

    zuul网关作用_zuul网关的作用Zuul网关使用步骤1.在父项目中导入依赖SpringCloud管理<dependencyManagement><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies&

    2022年8月15日
    5
  • linux安装node_node服务器的搭建和使用

    linux安装node_node服务器的搭建和使用下载包解压tar-zvxf包名建立软链接node和npm软连接sudoln-s/root/data/program/node-v10.11.0-linux-x64/bin/node/usr/local/nodeln-s/root/data/program/node-v16.14.2-linux-x64/bin/npm/usr/local/bin/npm

    2025年11月3日
    4
  • Matlab fmincon函数用法

    Matlab fmincon函数用法这个函数在之前优化工具箱一文中已经介绍过,由于其应用广泛,所以这里通过实例单独整理一下其用法。一、基本介绍求解问题的标准型为minF(X)s.tAX<=bAeqX=beqG(x)<=0Ceq(X)=0VLB<=X<=VUB其中X为n维变元向量,G(x)与Ceq(X)均为非线性函数组成的向量,其它变量的含…

    2022年4月30日
    50

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号