一、数据尺寸
以下数据统计采集自版本2025/09/27的原始数据,每个快照版本会有所变化,但是大体差不多,仅供参考:
1. 数据版本:V6-专业版
2. 数据行数:2063040行
3. 空间大小:504528082字节 = 482M,生成的满载版的XDB文件大概105MB左右
二、数据样本
以下数据样本采集自某一个快照的离线.txt原始数据,仅供参考:
240e:57f:3000::|240e:57f:30ff:ffff:ffff:ffff:ffff:ffff|47925011493156397052684038533829099520|47925011493465882062505383602553880575|亚洲|中国|广东|深圳|南山|电信|113.93029|22.53291|440305|0755|518000|Asia/Shanghai|CNY|AS4134|DYN|15|CHXX0120 240e:57f:3100::|240e:57f:31ff:ffff:ffff:ffff:ffff:ffff|47925011493465882062505383602553880576|47925011493775367072326728671278661631|亚洲|中国|广东|深圳||电信|114.085947|22.547|440300|0755|518000|Asia/Shanghai|CNY|AS4134|DYN|11|CHXX0120 240e:57f:3200::|240e:57f:32ff:ffff:ffff:ffff:ffff:ffff|47925011493775367072326728671278661632|47925011494084852082148073740003442687|亚洲|中国|广东|深圳|宝安|电信|113.88311|22.55371|440306|0755|518100|Asia/Shanghai|CNY|AS4134|DYN|11|CHXX0120 240e:57f:3300::|240e:57f:33ff:ffff:ffff:ffff:ffff:ffff|47925011494084852082148073740003442688|47925011494394337091969418808728223743|亚洲|中国|广东|深圳||电信|114.085947|22.547|440300|0755|518000|Asia/Shanghai|CNY|AS4134|DYN|11|CHXX0120 240e:57f:3400::|240e:57f:34ff:ffff:ffff:ffff:ffff:ffff|47925011494394337091969418808728223744|47925011494703822101790763877453004799|亚洲|中国|广东|深圳|龙岗|电信|114.24771|22.71986|440307|0755|518116|Asia/Shanghai|CNY|AS4134|DYN|35|CHXX0120
三、字段描述
每一行代表一个IP数据段和其对应的数据信息,不同字段使用|隔开,每一行的字段数是相同的,字段本身无值的使用空字符串代替。
240e:57f:3200::|240e:57f:32ff:ffff:ffff:ffff:ffff:ffff|47925011493775367072326728671278661632|47925011494084852082148073740003442687|亚洲|中国|广东|深圳|宝安|电信|113.88311|22.55371|440306|0755|518100|Asia/Shanghai|CNY|AS4134|DYN|11|CHXX0120
例如,如上数据从左至右分别对应如下表格的字段(从上至下):(表结构方便您将数据导入到数据库中使用)
字段值 | 字段说明 | 字段名 | 字段类型 | 字段长度 |
240e:57f:3200:: | ip块起始ip | ip_start | varchar | 50 |
240e:57f:32ff:ffff:ffff:ffff:ffff:ffff | ip块结束ip | ip_end | varchar | 50 |
47925011493775367072326728671278661632 | ip块起始ip整形 | ip_start_num | bigint | 50 |
47925011494084852082148073740003442687 | ip块结束ip整形 | ip_end_num | bigint | 50 |
亚洲 | 所属的七大洲 | continent | varchar | 20 |
中国 | 国家 | country | varchar | 50 |
广东 | 省份 | province | varchar | 100 |
深圳 | 城市 | city | varchar | 100 |
宝安区 | 区县 | district | varchar | 120 |
电信 | 互联网供应商 | isp | varchar | 100 |
113.88311 | 经度 | longitude | varchar | 15 |
22.55371 | 纬度 | latitude | varchar | 15 |
440306 | 行政区码 | area_code | varchar | 100 |
0755 | 电话和区号 | city_code | varchar | 10 |
518100 | 邮编 | zip_code | varchar | 20 |
Asia/Shanghai | 时区 | time_zone | varchar | 20 |
CNY | 货币 | currency | varchar | 20 |
AS4134 | ASN号 | asn | varchar | 20 |
DYN | 应用场景 | scenes | varchar | 20 |
11 | 海拔 | elevation | varchar | 50 |
CHXX0120 | 气象站 | weather_station | varchar | 50 |
四、查询和字段检索
XDB存储格式将上述的原始数据标准化为通用格式:起始IP|结束IP|定位信息,调用XDB查询接口返回的数据只有后面的定位信息,例如使用“数据服务”里面下载的XDB查询客户端查询IP240e:57f:32ff:ffff:ffff:ffff:ffff:ffff会返回如下的字符串定位信息:
亚洲|中国|广东|深圳|宝安|电信|113.88311|22.55371|440306|0755|518100|Asia/Shanghai|CNY|AS4134|DYN|11|CHXX0120
如果我要继续取用其中的字段,需要对数据使用|切割,然后再通过下标索引去提取,例如:
var
region ="XDB查询出来的定位信息,假设为上述定位信息"
;var
fields = region.split
("|"
);// 通过 | 对定位信息进行切割
// fields 的数字索引结构如下:
[0
:"亚洲"
,1
:"中国"
,2
:"广东"
,3
:"深圳"
,4
:"宝安"
,5
:"电信"
,6
:"113.88311"
,7
:"22.55371"
,8
:"440306"
,9
:"0755"
,10
:"518100"
,11
:"Asia/Shanghai"
,12
:"CNY"
,13
:"AS4134"
,14
:"MOB"
,15
:"11"
,16
:"CHXX0120"
];// 接下来就可以通过下标取对应的字段了。
1
]);// 国家
3
]);// 城市
4
]);// 区县
11
]);// 时区
13
]);// ASN号
14
]);// 应用场景,MOB表示手机移动网络
...
如果使用的XDB文件进行了自定义字段的生成,使用方式不变,只是定位信息切割后字段的索引下标会发生改变,选取正确的下标获取指定字段值即可。
离线数据字段都是经过标准化处理的,如果某个字段缺失会默认使用空字符串代替,也就是相同的下标取到的一定是对应的字段,无值会返回空字符串,例如如下的有空值的样本数据:
北美洲|美国|Nevada|Las Vegas||美国电话电报公司|-115.137220|36.174970|||89111|America/Los_Angeles|USD|AS20057|MOB||
上述数据的行政区码,电话区号都没有,fields[8]和fields[9]都会返回空字符串。
五、应用场景描述
按照步骤四中的描述,通过fields[14]可以取出应用场景字段的值,其全部的代码和场景类型对应关系如下:
场景标识 | 场景类型 | 备注 |
CDN | 内容分发 | 属于数据中心的一部分,内容分发网络 |
DNS | 域名解析 | 用户提供域名解析服务的 IP |
EDU | 教育机构 | 学校/教育机构使用的 IP |
GTW | 企业专线 | 固定 IP,中大型公司专线上网的 IP |
GOV | 政府机构 | 政府单位使用的 IP |
DYN | 家庭宽带 | 家庭住宅用户使用的 IP |
IDC | 数据中心 | 机房/云服务商使用的 IP |
MOB | 移动网络 | 基站出口 IP(2G/3G/4G/5G) |
ORG | 组织机构 | 非营利性组织机构 |
BOGON | 保留 IP | 用于确保在特定情况下,计算机或设备可以在局域网中保持相同的IP地址,而不会被分配给其他设备 |