我爱Aspx >> 综合资讯 >> 纯真IP数据库格式详解【转载:资料收藏】
自从有了IP数据库这种东西,QQ外挂的显示IP功能也随之而生,本人见识颇窄,是否还有其他应用不得而知,不过,IP数据库确实是个不错的东西。如今网络上最流行的IP数据库我想应该是纯真版的(说错了也不要扁我),迄今为止其IP记录条数已经接近30000,对于有些IP甚至能精确到楼层,不亦快哉。2004年4、5月间,正逢LumaQQ破土动工,为了加上这个人人都喜欢,但是好像人人都不知道为什么喜欢的显IP功能,我也采用了纯真版IP数据库,它的优点是记录多,查询速度快,它只用一个文件QQWry.dat就包含了所有记录,方便嵌入到其他程序中,也方便升级。
基本结构
QQWry.dat文件在结构上分为3块:文件头,记录区,索引区。一般我们要查找IP时,先在索引区查找记录偏移,然后再到记录区读出信息。由于记录区的记录是不定长的,所以直接在记录区中搜索是不可能的。由于记录数比较多,如果我们遍历索引区也会是有点慢的,一般来说,我们可以用二分查找法搜索索引区,其速度比遍历索引区快若干数量级。图1是QQWry.dat的文件结构图。

图1. QQWry.dat文件结构
要注意的是,QQWry.dat里面全部采用了little-endian字节序
一. 了解文件头
QQWry.dat的文件头只有8个字节,其结构非常简单,首四个字节是第一条索引的绝对偏移,后四个字节是最后一条索引的绝对偏移。
二. 了解记录区
每条IP记录都由国家和地区名组成,国家地区在这里并不是太确切,因为可能会查出来“清华大学计算机系”之类的,这里清华大学就成了国家名了,所以这个国家地区名和IP数据库制作的时候有关系。所以记录的格式有点像QName,有一个全局部分和局部部分组成,我们这里还是沿用国家名和地区名的说法。
【我对这篇文章有话说?】
基于 Web 的数据挖掘[08-01]
将ASP.NET页面内的数据导出到Exc..[08-01]
ORACLE8I转换数据到SQL SERVER[08-01]
用Dreamweaver进行数据库操作[08-01]
初谈ADO.NET中利用DataAdapter进..[08-01]
SQL Server 2005—数据库管理10个..[08-01]
.net2.0中使用SqlBulkCopy进行大..[08-01]
查询数据库表和字段sql语句[08-01]
将文本文件导入Sql server数据库[08-01]
ASP.NET2.0数据库入门之常见错误[08-01]
不习惯的时候就是成长的时候[08-01]
月光女神Sarah Brightman 莎拉·..[08-01]
Shania Twain - You ve Got A Wa..[08-01]
同济大学名誉校长李国豪教授逝世[08-01]
免费100MB网络硬盘,本地化的直接..[08-01]
听障群体创建的公益性质网站[08-01]
Patrick Nuo - Five Days[08-01]
Google到底打算做什么-后搜索引擎..[08-01]
情人节happy~My Love[08-01]
纪如璟 - 寂寞的自由[08-01]