IP 到地名映射库 ip2region

码农软件 · 软件分类 · 常用工具包 · 2019-08-15 16:12:10

软件介绍

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算法。具体集成请参考不同客户端的测试源码。 

本文地址:https://codercto.com/soft/d/12429.html

Head First HTML5 Programming(中文版)

Head First HTML5 Programming(中文版)

埃里克•弗里曼 (Eric Freeman)、伊丽莎白•罗布森 (Elisabeth Robson) / 中国电力出版社 / 2012-9 / 78.00元

《Head First HTML5 Programming(中文版)》内容简介:你可能想创建具有动态性、交互性、包含丰富数据而且互连的Web页面。先等一下,Web页面?为什么不用HTML5创建成熟的Web应用呢?另外,为什么不使用现代技术,像在移动设备上一样轻松地应用到桌面浏览器呢?当然,你肯定希望使用最新的HTML5技术来完成,比如地理定位、视频、2D绘制、Web存储、Web工作线程等,是不是?......一起来看看 《Head First HTML5 Programming(中文版)》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具