ip2region - ip 到地区的映射库,妈妈再也不同担心我的ip定位。
1. 99.9%准确率,不定时更新:
数据聚合了一些知名ip到地名查询提供商的数据,这些是他们官方的的准确率,经测试着实比纯真啥的准确多了。
每次聚合一下数据需要1-2天,会不定时更新。
2. 标准化的数据格式:
每条ip数据段都固定了格式:城市Id|国家|区域|省份|城市|ISP
只有中国的数据精确到了城市,其他国家只能定位到国家,后前的选项全部是0,已经包含了全部你能查到的大大小小的国家。
(请忽略前面的城市Id,个人项目需求)
3. 体积小:
生成的数据库文件ip2region.db只有3.5M
4. 多查询客户端的支持,0.0x毫秒级别的查询
已经集成的客户端有:Java, PHP, c,Python,php扩展。
提供了两种查询算法,响应时间如下: 客户端/binary算法/b-tree算法: java/0.x毫秒/0.x毫秒 (使用RandomAccessFile) php/0.x毫秒/0.1x毫秒 (php扩展将有更快的速度) c/0.0x毫秒/0.0x毫秒(b-tree算法基本稳定在0.02x毫秒级别) python/0.x毫秒/0.1x毫秒
任何客户端b-tree都比binary算法快
5. 测试程序:
java:
cd BINDing/java ant all java -jar ip2region-{version}.jar ./Data/ip2region.db
php:
php binding/php/testSearch ./data/ip2region.db
c:
cd binding/c/ GCC -g -O2 testSearch.c ip2region.c ./a.out ../../data/ip2region.db
均会看到如下界面:
iNitializing B-tree ... +----------------------------------+ | ip2region test script | | Author: chenxin619315@Gmail.com | | Type 'quit' to exit program | +----------------------------------+ ip2region>>
输入ip地址开始测试,第一次会稍微有点慢,在运行命令后面接入binary来尝试binary算法,建议使用b-tree算法。具体集成请参考不同客户端的测试源码。
6. 联系作者:
狮子的魂: chenxin619315@gmail.com
发布于 2018-01-16 07:54:29 | 118 次阅读
发布于 2017-10-23 08:30:24 | 136 次阅读
发布于 2017-10-20 05:18:39 | 179 次阅读
发布于 2017-04-10 09:29:05 | 214 次阅读
发布于 2016-12-22 02:49:46 | 142 次阅读
发布于 2016-11-07 03:30:48 | 110 次阅读
发布于 2016-08-03 06:58:50 | 98 次阅读
发布于 2016-07-14 03:19:51 | 180 次阅读
发布于 2016-07-01 02:48:17 | 224 次阅读
发布于 2016-06-17 06:51:59 | 119 次阅读
发布于 2016-04-26 03:18:18 | 148 次阅读
发布于 2016-04-11 03:57:30 | 83 次阅读