机缘巧合之下,需要研究下IP数据库,这个库提供给的IP定位功能十分之有用。
可以想象,他会被用在很多场合,电子商务需要统计网站流量的来源和分布,社交工具可以知道对方所在的位置等等;、
网络上,清华大学的某人,重写了介绍文档,言简意赅,行文清晰,同时提供了Demo,快速上手。
网上提供的查询IP的程序,写的比较混乱,方法笼杂在一起。同时存在数组越界访问的异常,类封闭性奇差,开放性很低。具象化的说就是,文件的位置和路径设置定死了,不能通过properties文件方便的修改,也没有运行的主类。
总之一句话,网上的那个工程仅仅是项目,不具有开放性和封闭性,继续使用的朋友们必须重头读懂程序,实际上这个完全没有必要,重用性低,低,低。
那么,我重新设计了程序,增强了程序的功能,不仅能查询IP,还能导出文件,能够自动插入数据库。程序优化后,可在40S 内完成44万条的数据库插入(ps:本人cpu i2),提供property文件进行参数修改。
增加sql脚本优化后,数据库的国,省,市,运营商属性基本无误。同时提供装饰类,简单看下我提供的工程结构,可快速实施到你需要的项目中。
数据库设计逻辑:http://wenku.baidu.com/view/6126a76e58fafab069dc023d.html
较完成的网络程序:http://www.blogjava.net/libin2722/articles/338316.html
源文件:QQwry.dat , 8.82M , 记录更新至2012年7月15日,自行网上下载;
详情分析见下一篇