perf.eleip

0.3.11 • Public • Published

Eleip

数据格式

/data/ip.dat buffer文件

|--------|-----...----|------------|
| Header| Record      |     Index      |

分为三个部分:Header、Record 及 Index 部分,分别为头信息、纪录区及索引区

Header 部分

|----|----|Record..

头信息部分指向了索引区的位置
分为两个部分,各4个字节,分别指向第一个索引位置和最后一个索引的位置

Record 部分

Header |--------0x00----0x00 ..... ---0x00-----0x00| Index

纪录区保存了我们从 csv 文件读取的需要的数据,以 /build/build.js 中 NEED_PROPERTY 常量数组为准,按序存储,每一段数据以 0x00 结尾标识

Index 部分

Record | ---- | ---- | ----| ...... --|

索引区保存了每个 ip 段的范围以及所属的纪录区的位置
每个索引包括三个字段,每个字段4个字节,共12字节长度
	| ---- | ---- | ---- |
第一个字段为当前数据的开始 ip, 第二个字段为结束 ip,第三个字段指向了纪录区数据的位置

生成数据

运行npm run build,将读取 /build/data.csv的数据生成数据文件/data/ip.csv

注:当前保存的字段仅为isp(运营商)数据。

注:如果要增加保存的数据,需要修改/build/build.js文件内NEED_PROPERTY数组,相应的要修改/lib/eleip.js内的RECORD_PROPERTY,保证正常保存和读取。

测试

输出 ip 搜索结果

npm test -- 1.0.0.1

benchmark

npm test -- -b   或者 npm test -- --benchmark

Readme

Keywords

none

Package Sidebar

Install

npm i perf.eleip

Weekly Downloads

0

Version

0.3.11

License

ISC

Last publish

Collaborators

  • luhuijian