我爱Aspx >> 综合资讯 >> 纯真IP数据库格式详解于是我们想象着一条记录的格式应该是: [IP地址][国家名][地区名],当然,这个没有什么问题,但是这只是最简单的情况。很显然,国家名和地区名可能会有很多的重复,如果每条记录都保存一个完整的名称拷贝是非常不理想的,所以我们就需要重定向以节省空间。所以为了得到一个国家名或者地区名,我们就有了两个可能:第一就是直接的字符串表示的国家名,第二就是一个4字节的结构,第一个字节表明了重定向的模式,后面3个字节是国家名或者地区名的实际偏移位置。对于国家名来说,情况还可能更复杂些,因为这样的重定向最多可能有两次。
那么什么是重定向模式?根据上面所说,一条记录的格式是[IP地址][国家记录][地区记录],如果国家记录是重定向的话,那么地区记录是有可能没有的,于是就有了两种情况,我管他叫做模式1和模式2。我们对这些格式的情况举图说明:

图2. IP记录的最简单形式
图2表示了最简单的IP记录格式,我想没有什么可以解释的

图3. 重定向模式1
图3演示了重定向模式1的情况。我们看到在模式1的情况下,地区记录也跟着国家记录走了,在IP地址之后只剩下了国家记录的4字节,后面3个字节构成了一个指针,指向了实际的国家名,然后又跟着地址名。模式1的标识字节是0x01。

图4. 重定向模式2
图4演示了重定向模式2的情况。我们看到了在模式2的情况下(其标识字节是0x02),地区记录没有跟着国家记录走,因此在国家记录之后4个字节之后还是有地区记录。我想你已经明白了模式1和模式2的区别,即:模式1的国家记录后面不会再有地区记录,模式2的国家记录后会有地区记录。下面我们来看一下更复杂的情况。
【我对这篇文章有话说?】
基于 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]