您现在的位置:计算机技术学习网 > 技术中心 > 编程开发 > C >

使用共享内存查询纯真IP库(微秒级)

来源:一方有 责任编辑:栏目编辑 发表时间:2013-07-01 22:03 点击:

纯真IP库是网上一种比较完整的常用的ip库,基本上每5天更新一次。
我写了个程序通过把ip库加载到共享内存里,在42万条数据下,单次查询能够达到微秒级。

 

  1. /***** iplocation.c   
  2. 功能:本程序是把qq纯真ip数据库文件加载到共享内存里,通过参数查找出对应的所属的ip段,和地理位置,使用共享内存可以使查询一次在纳秒级。  
  3. qq纯真ip数据库文件格式可以查看:http://lumaqq.linuxsir.org/article/qqwry_format_detail.html  
  4. qq纯真ip数据库官网下载地址:http://www.cz88.net/fox/ipdat.shtml,需要安装,安装完后把qqwry.dat拷出即可,也可从网上找。  
  5.  
  6. 作者:yifangyou  
  7.  
  8. 成功运行环境:CentOS 5 i386  
  9.              gcc version 4.1.2 20071124 (Red Hat 4.1.2-42)  
  10. 本次测试使用的ip库是  
  11.                
  12.                 记录总数:429555条  
  13.                 更新日期:2011年06月05日  
  14.                 数据库版本:纯真  
  15.  
  16. 输入参数:ip  
  17.    当输入255.255.255.255显示数据库版本  
  18.      
  19. 编译:  
  20.   gcc -o iplocation iplocation.c  
  21.  
  22. 运行:   
  23. [root@localhost ~]# ./iplocation 58.62.69.255  
  24. ip=58.62.69.255 is between 58.62.64.0,58.62.69.255  
  25. location:广东省广州市番禺区 电信  
  26. [root@localhost ~]# ./iplocation 184.73.255.255  
  27. ip=184.73.255.255 is between 184.72.0.0,184.73.255.255  
  28. locatio

    相关新闻>>

      发表评论
      请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
      用户名: 验证码:点击我更换图片
      最新评论 更多>>

      推荐热点

      • Glib实例学习(2)双链表
      • C程序员要学C++吗?
      • C++中实现Singleton的正确方法
      • 编程思维训练(一)
      • 【编程好习惯】引入中间变量使程序更易读
      • 在C++中通过模板规避潜在错误
      • 在C++中通过模板去除强制转换
      • 【编程好习惯】减少搜索头文件的目录数
      网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
      Copyright © 2008-2015 计算机技术学习交流网. 版权所有

      豫ICP备11007008号-1