查找如何快速查找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次方的表中。在这里我们取了一个折中。

分类:算法

桔子数据58元/月 ,Cera美西云服务器 2核4G 50G数据盘 500M带宽 1000G流量

桔子数据(徐州铭联信息科技有限公司)成立于2020年,是国内领先的互联网业务平台服务提供商。公司专注为用户提供低价高性能云计算产品,致力于云计算应用的易用性开发,并引导云计算在国内普及。目前公司研发以及运营云服务基础设施服务平台(IaaS),面向全球客户提供基于云计算的IT解决方案与客户服务,拥有丰富的国内BGP、双线高防、香港等优质的IDC资源。 公司一直秉承”以人为本、客户为尊、永...

ShockHosting日本机房VPS测试点评

这个月11号ShockHosting发了个新上日本东京机房的邮件,并且表示其他机房可以申请转移到日本,刚好赵容手里有个美国的也没数据就发工单申请新开了一个,这里做个简单的测试,方便大家参考。ShockHosting成立于2013年,目前提供的VPS主机可以选择11个数据中心,包括美国洛杉矶、芝加哥、达拉斯、杰克逊维尔、新泽西、澳大利亚、新加坡、日本、荷兰和英国等。官方网站:https://shoc...

易探云服务器怎么过户/转让?云服务器PUSH实操步骤

易探云服务器怎么过户/转让?易探云支持云服务器PUSH功能,该功能可将云服务器过户给指定用户。可带价PUSH,收到PUSH请求的用户在接收云服务器的同时,系统会扣除接收方的款项,同时扣除相关手续费,然后将款项打到发送方的账户下。易探云“PUSH服务器”的这一功能,可以让用户将闲置云服务器转让给更多需要购买的用户!易探云服务器怎么过户/PUSH?1.PUSH双方必须为认证用户:2.买家未接收前,卖家...

查找ip为你推荐
易pc易PC价格多少安装程序配置服务器失败安装用友u8的数据库最后说:“安装程序配置服务器失败。参考服务器错误日志和 C:WINDOWSsqlstp.log 了解更多信息。”吴晓波频道买粉吴晓波频道学习卡资费?如何建立一个网站要建立一个网站怎么弄啊?硬盘人硬盘是指什么人人人逛街人人逛街评论怎么不显示链接了?好像4月28日就不能显示了。是什么原因呢?linux虚拟机怎么样在Linux下安装虚拟机blogcn怎样设置BLOGCN的访问密码如何清理ie缓存怎么清理IE的缓存网络虚拟机虚拟机网络怎么连接
美国vps推荐 5折 godaddy优惠码 idc资讯 可外链网盘 免费美国空间 vip购优惠 hdd in域名 网购分享 腾讯数据库 睿云 发证机构 美国服务器 ssd dns是什么意思 天翼云主机 国内免备案空间 免费网络电视软件 六维空间登陆首页 更多