纯真ip数据库格式详解:
来源:互联网 发布:人工智能洗衣机 编辑:程序博客网 时间:2024/05/29 18:19
由于要了解ip数据库的格式,在网上搜了很多只有一篇详细文档,需要的话可以自己去看,网址:http://edu.codepub.com/2009/0704/8387.php
这里大概总结下新格式:
-----------------------------------------------
主要分为数据区和索引区
★数据区元素:
存放IP信息中的:结束IP(4字节),国家(不定长),地区(不定长)
排列顺序:无要求
★索引区元素:
存放IP信息中的:起始IP(4字节),索引值(3字节)
排列顺序:起始IP按升序排列
★IP为4字节,如"255.0.0.0"表示为0xFF000000,存在文件中则为00 00 00 FF(字节序原因)
★索引值为该IP消息的<结束IP、国家、地区>在文件中的位置。指向<结束IP>
★如果结束IP后的字节为0x01,则说明该IP消息的<国家、地区>与前面的IP信息重复,这时0x01后面的3个字节为国家、地区字符串的偏移量。可以根据这三个字节去前面找国家、地区。
★如果国家的第一个字节为0x02,说明该国家串与前面的国家或地区串重复,0x02后面的三个字节为该串的偏移量,可以根据该偏移量找到前面的串。
★如果地区的第一个字节为0x02,说明该地区串与前面的国家或地区串重复,0x02后面的三个字节为该串的偏移量,可以根据该偏移量找到前面的串。
★有可能在出现0x01的情况下出现0x02,这时需要跳转两次查找国家、地区字符串。
★正常的字符串以NULL做结尾。
★IP信息不允许有重复、覆盖
★使用索引是为了保证能以线性速度搜索
★新格式不允许为未知数据的IP消息,原格式中的未知数据已经都去掉了。如果有未知数据的IP信息,将大大增加文件长度。
文件的头4个字节是索引区第一个元素的偏移量,第二个4字节是索引区最后一个元素的偏移量。通过这两个偏移量,可以用二分法快速查找IP信息。如:一条IP信息是,要查询的IP为150
起始 结束 国家 地区
100 200 中国 北京
首先在索引区找到起始IP小于150的最后一个元素,通过索引,找到结束IP,如果150大于结束IP,说明是未知数据;如果150小于等于结束IP,则找到国家、地区。
下面给大家提供3中语言的纯真ip查询大家可以去http://wendy_fan.download.csdn.net/ 下载名称:
php-纯真ip查询.rar
C#纯真ip查询.rar
java--纯真IP查询.rar
还有一种可以通过纯真ip数据库将查询出的记录制作成动态图片显示:http://www.leyan.net/jishu/Php/20090930/1208.html
以上,希望对大家有所帮助!
酿蜜网:www.beeslive.com
- 纯真IP数据库格式详解
- 纯真IP数据库格式详解
- 纯真IP数据库格式详解
- 纯真IP数据库格式详解
- 纯真IP数据库格式详解
- 纯真IP数据库格式详解
- 纯真IP数据库格式详解
- 纯真IP数据库格式详解
- 纯真IP数据库格式详解
- 纯真IP数据库格式详解
- 纯真IP数据库格式详解
- 纯真ip数据库格式详解:
- 纯真IP数据库格式详解
- 纯真IP数据库格式详解
- 纯真IP数据库格式详解
- 纯真IP数据库格式详解
- 纯真IP数据库格式详解
- 纯真IP数据库格式详解
- 【非递归】判断一个整数是否能表示成2的指数形式(已附weapon0916兄的高效解法)
- Oracle数据导入导出imp/exp就相当于oracle数据还原与备份
- 热点
- c#快速导出到Excel
- 条款47:请使用traits classes表现类型信息(2)
- 纯真ip数据库格式详解:
- 内存相关函数(堆)
- JAR WAR
- “无人值守”怎么说
- 一招搞掂Quest SQL Navigator 5.5占用CPU高
- SSD5错题
- Java数据库操作大全
- LMail beta版,西西~ 简易的邮件客户端
- 网络爬虫如何抓取web2.0 Ajax页面