周末调研了一下Geo Location 地理位置信息方面的内容,自己小结一下。
一、通过 IP 地址获得用户的地理位置信息
也就是根据用户的IP,通过IP数据库查询获得信息。 一般IP数据库中,
每条记录的基本结构:
IP地址段(起始、结束),以及对应的信息数据
一般包含的信息:国家、区域(省/州)、城市、街道、经纬度、ISP提供商等信息
因为IP数据库随着时间经常变化(不过一段时间内变化很小),所以需要有人经常维护和更新。这个数据也不可能完全准确、也不可能覆盖全。这是maxmind的城市准确度 http://www.maxmind.com/app/city_accuracy 。
因为没有权威的数据组织机构,且经常有变化。各家数据供应商,基本上做着做着就形成自己的一套数据了。
目前,国内用的比较有名的是“纯真IP数据库”,国外常用的是 maxmind、ip2location。
IP数据库是否收费:收费、免费都有。一般有人维护的数据往往都是收费的,准确率和覆盖率会稍微高一些。
质量方面:
一般包含的信息:国家、区域(省/州)、城市、街道、经纬度、ISP提供商等信息
因为IP数据库随着时间经常变化(不过一段时间内变化很小),所以需要有人经常维护和更新。这个数据也不可能完全准确、也不可能覆盖全。这是maxmind的城市准确度 http://www.maxmind.com/app/city_accuracy 。
因为没有权威的数据组织机构,且经常有变化。各家数据供应商,基本上做着做着就形成自己的一套数据了。
目前,国内用的比较有名的是“纯真IP数据库”,国外常用的是 maxmind、ip2location。
IP数据库是否收费:收费、免费都有。一般有人维护的数据往往都是收费的,准确率和覆盖率会稍微高一些。
质量方面:
- 主要概念是准确率和覆盖率。
- 记录数据总条数。纯真现在是38万条(2010年07月30日更新)
- 是否有人维护。
- 数据库更新频率:每月、每周。数据库会定期更新的,maxmind开源版是每月更新一次。
查询形式:
- 本地,将IP数据库下载到本地使用,查询效率高、性能好。常用在统计分析方面。具体形式又分为:
- 内存查询:将全部数据直接加载到内存中,便于高性能查询。或者二进制的数据文件本身就是经过优化的索引文件,可以直接对文件做查询。
- 数据库查询:将数据导入到