IP 到地名映射库 ip2region

Apache
Java C/C++ PHP Python
跨平台
2015-11-02
狮子的魂

ip2region - 准确率99.9%的ip地址定位库,0.0x毫秒级查询,数据库文件大小只有1.5M,提供了java,php,c,python,nodejs,golang查询绑定和Binary,B树,内存三种查询算法,妈妈再也不用担心我的ip地址定位!

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算法快

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,memory来尝试对应算法,建议使用b-tree算法,有速度和并发追求的使用memory算法。具体集成请参考不同客户端的测试源码。 

的码云指数为
超过 的项目
加载中

评论(17)

ioer
ioer
有.Net core版本吗?
阿白
阿白
能否精确到坐标
MuskIron
MuskIron
是不是快更新到ipv6的数据了,ipv6的地址库比ipv4少吧
市委书记李达康
市委书记李达康
用了你的 #ip2region#中的ip数据,很方便。
狮子的魂
狮子的魂 软件作者
#ip2region# 1.3版本忘记把binding内的各种语言实现的header bytes调整了,已经调整同步了代码,请下载最新版本的v1.3-release分之
HuiGe_sd
HuiGe_sd
没有MAVEN和gradle吗?
小潍正在努力
小潍正在努力
发现一个问题哈,80.82.78.38这个ip在百度和纯真上面解析得到是荷兰 阿姆斯特丹Ecatel公司,在以前的版本中解析得到是荷兰,在最新版本中是得到塞舌尔,哥,你能说说怎么回事吗?
i
icedreamowo
请问乱码如何解决
zb1493191698585
zb1493191698585
http://blog.csdn.net/sinat_24820331/article/details/68969558 写了一个类似的大家可以参考一下
m114
m114
请问下,由ngx_lua版吗?

开源 IP 地址定位库 ip2region 1.8 发布

ip2region 是准确率 99.9% 的 IP 地址定位库,0.0x毫秒级查询,数据库文件大小只有 3.3M,提供了 Java、PHP、C、Python、Node.js、Golang、C#、Rust、Lua的查询绑定和 Binary、B树、内存三种...

01/02 11:37

开源 IP 地址定位库 ip2region 1.7 发布,新增 rust 支持

ip2region 是准确率 99.9% 的 IP 地址定位库,0.0x毫秒级查询,数据库文件大小只有 3.3M,提供了 Java、PHP、C、Python、Node.js、Golang、C#、Rust的查询绑定和 Binary、B树、内存三种查询算...

2018/07/31 16:13

ip2region 1.6.1 发布,修复数据生成的 bug

ip2region 是准确率 99.9% 的 IP 地址定位库,0.0x毫秒级查询,数据库文件大小只有 3.3M,提供了 Java、PHP、C、Python、Node.js、Golang、C#的查询绑定和 Binary、B树、内存三种查询算法,妈...

2018/06/19 17:50

开源 IP 地址定位库 ip2region 1.6 发布,增加 C# 支持

ip2region 是准确率 99.9% 的 IP 地址定位库,0.0x毫秒级查询,数据库文件大小只有 3.3M,提供了 Java、PHP、C、Python、Node.js、Golang、C#的查询绑定和 Binary、B树、内存三种查询算法,妈...

2018/03/27 14:50

开源 IP 地址定位库 ip2region 1.5 发布,升级数据

ip2region 是准确率 99.9% 的 IP 地址定位库,0.0x毫秒级查询,数据库文件大小只有 2.7M,提供了 Java、PHP、C、Python、Node.js、Golang 的查询绑定和 Binary、B树、内存三种查询算法,妈妈...

2018/01/16 15:17

ip2region 1.4 发布,已上传到 Maven 中央仓库

ip2region是准确率99.9%的ip地址定位库,0.0x毫秒级查询,数据库文件大小只有2.7M,提供了java, php, c, python,nodejs,golang查询绑定和Binary,B树,内存三种查询算法,妈妈再也不同担心我的...

2017/10/23 15:40

ip2region 1.3 发布,开源 IP 地址定位库

ip2region是准确率99.9%的ip地址定位库,0.0x毫秒级查询,数据库文件大小只有2.7M,提供了java, php, c, python,nodejs,golang查询绑定和Binary,B树,内存三种查询算法,妈妈再也不同担心我的...

2017/10/20 12:24

ip2region 1.2.4 发布,开源 IP 地址定位库

ip2region是准确率99.9%的ip地址定位库,0.0x毫秒级查询,数据库文件大小只有1.6M,提供了java, php, c, python,nodejs,golang查询绑定和Binary,B树,内存三种查询算法,妈妈再也不同担心我的...

2017/04/10 16:08

ip2region 1.2.3 发布,数据同步至2016/12/14版本

ip2region是准确率99.9%的ip地址定位库,0.0x毫秒级查询,数据库文件大小只有1.6M,提供了java, php, c, python,nodejs,golang查询绑定和Binary,B树,内存三种查询算法,妈妈再也不同担心我的...

2016/12/22 10:08

ip2region 1.2.2发布,新增 golang 查询客户端

ip2region 1.2.2发布了。准确率99.9%的ip地址定位库,0.0x毫秒级查询,数据库文件大小只有1.5M,提供了java, php, c, python,nodejs,golang查询绑定和Binary,B树,内存三种查询算法,妈妈再也...

2016/11/07 10:23

没有更多内容

加载失败,请刷新页面

1
回答
ip2region db文件如何去重 减小文件体积呀

@狮子的魂 你好,想跟你请教个问题: ip2region 的db文件如何根据ip.merge去重减小文件体积呀,能教下思路么,谢谢

2017/04/13 21:53

没有更多内容

加载失败,请刷新页面

没有更多内容

DataLakeAnalytics: 解析IP地址对应的国家城市地址的能力

Data Lake Analytics 作为云上数据处理的枢纽,最近加入了通过IP地址查找对应的国家、省份、城市、ISP的函数, 今天带大家体验一下。 函数详细介绍 本次一共添加了下面这些函数: ip2region: ...

02/21 15:36
1
0
DataLakeAnalytics: 解析IP地址对应的国家城市地址的能力

Data Lake Analytics 作为云上数据处理的枢纽,最近加入了通过IP地址查找对应的国家、省份、城市、ISP的函数, 今天带大家体验一下。 函数详细介绍 本次一共添加了下面这些函数: ip2region: ...

02/21 15:03
1
0
DataLakeAnalytics: 解析IP地址对应的国家城市地址的能力

Data Lake Analytics 作为云上数据处理的枢纽,最近加入了通过IP地址查找对应的国家、省份、城市、ISP的函数, 今天带大家体验一下。 函数详细介绍 本次一共添加了下面这些函数: ip2region: ...

02/21 15:19
5
0
DataLakeAnalytics: 解析IP地址对应的国家城市地址的能力

Data Lake Analytics 作为云上数据处理的枢纽,最近加入了通过IP地址查找对应的国家、省份、城市、ISP的函数, 今天带大家体验一下。 函数详细介绍 本次一共添加了下面这些函数: ip2region: ...

02/21 14:59
16
0
崛起于Springboot2.X之集成ip2region(31)

ip2region:可以根据他获取一个具体ip的信息,国家、具体地址、网络服务商 1、添加依赖 <dependency> <groupId>org.lionsoul</groupId> <artifactId>ip2region</artifactId> <version>1.7</ve...

2018/08/03 14:47
396
1
【码云周刊第 43 期】看完绝对想尝试的创意 Android 库,你关注了吗?

每周为您推送最有价值的开源技术内参!

2017/10/20 09:57
1K
3

没有更多内容

加载失败,请刷新页面

返回顶部
顶部