查找如何快速查找IP归属地

查找ip  时间:2021-03-01  阅读:()

如何快速查找IP归属地

这两天遇到这么一个问题就是查找一个IP的归属地。当然我会有一个IP段的分配列表格式如下

16777472 16778239 XX省XX市

第一列是IP段的起始IP第二列是IP段的终止IP第三列是对应的省份。一共大概200万条左右。

那么好了如何进行查找呢

想到的最简单的办法就是二分查找。首先对这些IP段进行首位相接的排序之后一个二分查找。那么有没有比这个还快的方法呢

我们分析一下上面的二分查找的一个缺点就是要在所有的IP段上进行二分查找大概要查找log(2000000)次才能找到一个IP的归属地。那么我们一个自然的想法就是缩小二分的IP段的数量。可以这样做

根据IP的前两个字节把IP段进行分组。之后在对要查找的IP首先根据IP的前两个字节快速定位到某一个分组之后在这个分组中进行查找。 由于分组后每一个组中的IP段会少很多。所以这个方法要比赤裸裸的二分快50%左右。

左面代表所有两字节组合每个单元都有两个索引记录其在右侧数组中的起始位置。起始位置之间的IP的前两字节都等于左侧单元编号。

当来一个ip时 首先计算ip>> 16之后找到相应的索引区间之后在相应的区间上进行查找。

其实第二中方法就是一个以空间换时间的方法。如果内存放得下我们完全可以计算出每个IP的对应的省和市存放在一个大小为2^32次方的表中。在这里我们取了一个折中。

分类:算法

racknerd:美国大硬盘服务器(双路e5-2640v2/64g内存/256gSSD+160T SAS)$389/月

racknerd在促销美国洛杉矶multacom数据中心的一款大硬盘服务器,用来做存储、数据备份等是非常划算的,而且线路还是针对亚洲有特别优化处理的。双路e5+64G内存,配一个256G的SSD做系统盘,160T SAS做数据盘,200T流量每个月,1Gbps带宽,5个IPv4,这一切才389美元...洛杉矶大硬盘服务器CPU:2 * e5-2640v2内存:64G(可扩展至128G,+$64)硬...

特网云-新上线香港五区补货资源充足限时抢 虚拟主机6折,低至38元!

官方网站:点击访问特网云官网活动方案:===========================香港云限时购==============================支持Linux和Windows操作系统,配置都是可以自选的,非常的灵活,宽带充足新老客户活动期间新购活动款产品都可以享受续费折扣(只限在活动期间购买活动款产品才可享受续费折扣 优惠码:AADE01),购买折扣与续费折扣不叠加,都是在原价...

选择Vultr VPS主机不支持支付宝付款的解决方案

在刚才更新Vultr 新年福利文章的时候突然想到前几天有网友问到自己有在Vultr 注册账户的时候无法用支付宝付款的问题,当时有帮助他给予解决,这里正好顺带一并介绍整理出来。毕竟对于来说,虽然使用的服务器不多,但是至少是见过世面的,大大小小商家的一些特性特征还是比较清楚的。在这篇文章中,和大家分享如果我们有在Vultr新注册账户或者充值购买云服务器的时候,不支持支付宝付款的原因。毕竟我们是知道的,...

查找ip为你推荐
赛我网怎么激活赛我网无线路由器限速设置如何设置无线路由器局域网限速?伪静态什么是伪静态网站?伪静态网站有什么优势办公协同软件求一款国内知名的OA办公软件,谁知道有哪些呢?网易公开课怎么下载手机上的网易公开课的付费课程怎么下载??????硬盘人电脑对人有多大辐射?二层交换机请教:二层交换机是干什么用的啊?机械键盘轴大家觉得机械键盘什么轴最舒服分词技术怎样做好百度分词技术和长尾词优化怎么上传音乐怎么上传音乐
域名备案中心 ftp空间 服务器cpu性能排行 搜狗12306抢票助手 太原联通测速平台 vip购优汇 泉州电信 速度云 南通服务器 绍兴电信 免费网页申请 512mb 移动服务器托管 登陆空间 smtp虚拟服务器 丽萨 英国伦敦 阿里云手机官网 测速电信 贵州电信 更多