狠狠色丁香婷婷综合尤物/久久精品综合一区二区三区/中国有色金属学报/国产日韩欧美在线观看 - 国产一区二区三区四区五区tv

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

ip2region-IP到地名(國家區域省份城市縣地址)映射查詢庫

admin
2023年7月3日 14:30 本文熱度 828

ip2region—— 準確率 99.9% 的 ip 地址定位庫,0.0x 毫秒級查詢,數據庫文件大小只有 1.5M,提供了 java、php、c、python、node.js、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 算法。具體集成請參考不同客戶端的測試源碼。 


C#使用方法:

IP2Region.Net

IP2Region c# xdb client

Installation

Install the package with NuGet

Install-Package IP2Region.Net

Usage

using IP2Region.Net.XDB;

 

//use default db and cache whole xdb file

Searcher searcher = new Searcher();

searcher.Search("ipaddress value");

 

/*

 * custom cache policy and xdb file path

 * CachePolicy.Content default cache policy , cache whole xdb file , thread safe

 * CachePolicy.VectorIndex cache vector index , reduce the number of IO operations , not thread safe!

 * CachePolicy.File no cache , not thread safe!

 */

Searcher searcher = new Searcher(CachePolicy.File, "your xdb file path");

ASP.NET Core Usage

services.AddSingleton<ISearcher,Searcher>();

Performance

BenchmarkDotNet=v0.13.2, OS=Windows 11 (10.0.22000.856/21H2)
AMD Ryzen 5 3550H with Radeon Vega Mobile Gfx, 1 CPU, 8 logical and 4 physical cores
.NET SDK=6.0.400
  [Host]     : .NET 6.0.8 (6.0.822.36306), X64 RyuJIT AVX2
  DefaultJob : .NET 6.0.8 (6.0.822.36306), X64 RyuJIT AVX2
MethodMeanErrorStdDev
CachePolicy_Content224.6 ns4.44 ns7.41 ns
CachePolicy_VectorIndex11,648.4 ns231.98 ns457.91 ns

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Please make sure to update tests as appropriate.


該文章在 2023/7/3 14:38:04 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved