實時IP地址定位,ip2region 1.2.4 發(fā)布
原創(chuàng)【51CTO.com原創(chuàng)稿件】ip2region是準確率99.9%的ip地址定位庫,0.0x毫秒級查詢,數(shù)據(jù)庫文件大小只有1.6M,提供了java, php, c, python,nodejs,golang查詢綁定和Binary,B樹,內(nèi)存三種查詢算法。
?? ??
99.9%準確率,定時更新:數(shù)據(jù)聚合了一些知名ip到地名查詢提供商的數(shù)據(jù),這些是他們官方的的準確率,經(jīng)測試著實比純真啥的準確多了。每次聚合一下數(shù)據(jù)需要1-2天,會不定時更新。
標準化的數(shù)據(jù)格式:每條ip數(shù)據(jù)段都固定了格式:城市Id|國家|區(qū)域|省份|城市|ISP。其中,只有中國的數(shù)據(jù)精確到了城市,其他國家只能定位到國家,后前的選項全部是0,已經(jīng)包含了全部你能查到的大大小小的國家。(請忽略前面的城市Id,個人項目需求)
已經(jīng)集成的客戶端有: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算法基本穩(wěn)定在0.02x毫秒級別)
python/0.x毫秒/0.1x毫秒/0.1x毫秒
任何客戶端b-tree都比binary算法快
近日,ip2region 發(fā)布了***更新,1.2.4 具體更新如下:
一、重寫了數(shù)據(jù)的升級算法,再次提高準確率,升級過程如下:
1. ip預分段,利于分布式同步升級
2. 分段同步升級,目前使用四個機器同時升級
3,自動驗證數(shù)據(jù)查缺補全
4,數(shù)據(jù)合并
5,數(shù)據(jù)格式標準化,目前2個工作:
1),ipip.net的數(shù)據(jù)和淘寶數(shù)據(jù)保持區(qū)域名稱統(tǒng)一,ipip.net的數(shù)據(jù)不帶“省”和“市”關鍵字。
2),香港澳門臺灣等地區(qū)信息修復(淘寶原始數(shù)據(jù)有問題),reported at http://git.oschina.net/lionsoul/ip2region/issues/21
6,重復ip段的合并得到data目錄下的ip.merge.txt
7,生產(chǎn)data目錄下的ip2region.db二進制數(shù)據(jù)庫文件
二、修復原始數(shù)據(jù)關于“香港,臺灣,澳門”地區(qū)信息錯誤的bug,reported at http://git.oschina.net/lionsoul/ip2region/issues/21
三、將數(shù)據(jù)升級至:2017/03/15同步版本
四、增加c_mmap查詢客戶端,C客戶端查詢文件讀取使用內(nèi)存映射加速,感謝[Leo Ma](http://git.oschina.net/begeekmyfriend)的貢獻
下載地址:
大碼云:http://git.oschina.net/lionsoul/ip2region/tree/v1.2.4-release
github:https://github.com/lionsoul2014/ip2region/releases/tag/v1.2.4-release
【51CTO原創(chuàng)稿件,合作站點轉(zhuǎn)載請注明原文作者和出處為51CTO.com】