内容简介:ip2region 是准确率 99.9% 的 IP 地址定位库,0.0x毫秒级查询,提供了 Java、PHP、C、Python、Node.js、Golang、C#、Rust、Lua的查询绑定和 Binary、B树、内存三种查询算法!1、数据升级至2019/05/02的版本,国外的数据增加了大量城市级别的数据,ip2region.db增长到7MB。2、开源了ip2region.db的生成程序,目前提供了java语言的实现,在${ip2region_root}/maker目录下,便于对ip2region的研究或
ip2region 是什么?
ip2region 是准确率 99.9% 的 IP 地址定位库,0.0x毫秒级查询,提供了 Java 、 PHP 、C、 Python 、Node.js、Golang、C#、Rust、 Lua 的查询绑定和 Binary、B树、内存三种查询算法!
ip2region 1.9更新内容
1、数据升级至2019/05/02的版本,国外的数据增加了大量城市级别的数据,ip2region.db增长到7MB。
2、开源了ip2region.db的生成程序,目前提供了java语言的实现,在${ip2region_root}/maker目录下,便于对ip2region的研究或者更改自定义生成配置等,后期会提供 C语言 的实现。
ip2region特性
1. 99.9%准确率,定时更新
数据聚合了一些知名ip到地名查询提供商的数据,这些是他们官方的的准确率,经测试着实比纯真啥的准确多了。
每次聚合一下数据需要1-2天,会不定时更新。
2. 标准化的数据格式
每条ip数据段都固定了格式:城市Id|国家|区域|省份|城市|ISP
只有中国的数据精确到了城市,其他国家只能定位到国家,后前的选项全部是0,已经包含了全部你能查到的大大小小的国家。
(请忽略前面的城市Id,个人项目需求)
3. 体积小
生成的数据库文件ip2region.db只有1.5M(1.2版本前3.5M)。
4.多查询客户端的支持,0.0x毫秒级别的查询
已经集成的客户端有:java, php, c,python,php扩展,nodejs,golang。
提供了两种查询算法,响应时间如下:
客户端/binary算法/b-tree算法/Memory算法: java/0.x毫秒/0.x毫秒/0.1x毫秒 (使用RandomAccessFile) php/0.x毫秒/0.1x毫秒/0.1x毫秒 (php扩展将有更快的速度) c/0.0x毫秒/0.0x毫秒/0.00x毫秒(b-tree算法基本稳定在0.02x毫秒级别) python/0.x毫秒/0.1x毫秒/0.1x毫秒
任何客户端b-tree都比binary算法快。
安装使用
1. 配置maven:
地址
<dependency> <groupId>org.lionsoul</groupId> <artifactId>ip2region</artifactId> <version>1.7.2</version> </dependency>
2. nuget安装命令
Install-Package IP2Region
3. 测试程序
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,memory来尝试对应算法,建议使用b-tree算法,有速度和并发追求的使用memory算法。具体集成请参考不同客户端的测试源码。
其他
- 全部binding的各个search接口都不是线程安全的实现,不同线程可以通过创建不同的查询对象来使用。
- memorySearch接口,在发布对象前进行一次预查询,可以安全用于多线程环境。
开源地址
GitHub: https://github.com/lionsoul2014/ip2region
贡献者
更多精彩内容可以关注“IT实战联盟”公众号哦~~~
image
以上所述就是小编给大家介绍的《【黑科技】开源 IP 地址定位库 ip2region,99.9%的准确率》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 准确率创新高,北大开源中文分词工具包 pkuseg
- 谷歌开源 AI 可在嘈杂环境中区分声音,准确率达92%
- 北大开源全新中文分词工具包:准确率远超THULAC、结巴分词
- 谷歌开源缩放模型EfficientNets:ImageNet准确率创纪录,效率提高10倍
- 提高模型准确率:组合模型
- 微博爬虫与水军识别(基于文本分析),超高准确率
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
RGB HSV 转换
RGB HSV 互转工具
HSV CMYK 转换工具
HSV CMYK互换工具