一种ip地址所在区域的确定方法及装置的制作方法

文档序号:6225936阅读:195来源:国知局
专利名称:一种ip地址所在区域的确定方法及装置的制作方法
技术领域
本发明涉及计算机技术领域,尤其涉及一种IP地址所在区域的确定方法及装置。
背景技术
IP地址是指给每个连接在互联网Internet上的主机分配的一个地址,用户通过主机以及IP地址可以与互联网中的其他主机通信。在分配了 IP地址的主机登录到应用服务器后,应用服务器还可以根据IP地址与行政区划的映射关系,确定用户所在的城市,然后根据部署的推送策略,向用户推送该城市的天气预报、以及一些商场打折、娱乐游玩信息等消息内容。现有的IP地址所在区域只能精确到所在的城市,并不能够更进一步地细分到区/县一级,也就无法灵活地根据具体精度需求细化到相应精度的区域。

发明内容
本发明实施例所要解决的技术问题在于,提供一种IP地址所在区域的确定方法及装置,可以灵活地满足IP所属区域的精度需求。为了解决上述技术问题,本发明实施例提供了一种IP地址所在区域的确定方法,包括:获取使用过目标IP地址登录到应用服务器的过程中又通过定位终端登录到应用服务器的各账号组成的账号集合;确定所述账号集合中每一个账号对应的定位终端的位置;

根据确定的每一个定位终端的位置进行统计计算确定每一个定位终端所在的区域,并根据每一个定位终端所在的区域得到所述目标IP地址的所属区域。相应地,本发明实施例还提供了一种IP地址所在区域的确定装置,包括:获取模块,用于获取使用过目标IP地址登录到应用服务器的过程中又通过定位终端登录到应用服务器的各账号组成的账号集合;确定模块,用于确定所述账号集合中每一个账号对应的定位终端的位置;处理模块,用于根据确定的每一个定位终端的位置进行统计计算确定每一个定位终端所在的区域,并根据每一个定位终端所在的区域得到所述目标IP地址的所属区域。本发明实施例能够根据使用过某一 IP地址的用户账号及其所登录的例如移动终端等定位终端的位置,来确定IP地址所属的区域,可以根据用户的精度需要得到IP地址所属的区域,方便后续在执行消息推送等应用时更为精确地根据IP地址为用户推送其所在区域的信息。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本发明实施例的一种IP地址所在区域的确定方法的流程示意图;图2是本发明实施例的另一种IP地址所在区域的确定方法的流程示意图;图3是本发明实施例的其中一种确定目标IP地址所在区域的方法的流程示意图;图4是本发明实施例的其中另一种确定目标IP地址所在区域的方法的流程示意图;图5是本发明实施例的一种IP地址所在区域的确定装置的结构示意图;图6是本发明实施例的另一种IP地址所在区域的确定装置的结构示意图;图7是图6中的处理模块的其中一种具体结构示意图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。请参见图1,是本发明实施例的一种IP地址所在区域的确定方法的流程示意图,本发明实施例的所述方法可以应用于记录IP地址所在区域的服务器中,以便于能够在需要时确定更为精确的某一 IP地址所属区域以执行其他应用,所述方法包括:SlOl:获取使用过目标IP地址登录到应用服务器的过程中又通过定位终端登录到应用服务器的各账号组成的账号集合;所述的目标IP地址为任意一个需要被确定所属区域的IP地址。由于在正常情况下,只能有一个用户的终端被分配所述目标IP地址,因此需要获取在一定时间范围内的使用过所述目标IP地址的所有用户,根据这些用户的位置,来确定该目标IP地址所属的具体区域。具体可以从一个或者多个应用服务器中提取使用过目标IP地址登录到应用服务器的账号,构成账号集合。基于现有的互联网通讯方式,用户在个人电脑中录入账号登录到即时通讯服务器、微博服务器等应用服务器中,相应的应用服务器能够记录此次登录的用户账号及个人电脑所使用的IP地址。因此,在即时通讯应用服务器、微博应用服务器等应用服务器中,基于所述目标IP地址能够获取一定时间范围内对应的用户的账号,构成账号
隹A口 O其中,所述账号集合可以为:包括所有的使用过所述目标IP地址的账号,或者包括使用过所述目标IP地址且为多点登录的账号即使用过目标IP地址登录到应用服务器的过程中又通过定位终端登录到应用服务器的各账号。在现有的各类应用服务器中,一般可以实现多点登录,即一个账号可以在个人电脑、智能手持终端(智能手机、平板电脑等终端)上同时登录,所述SlOl可以仅获取使用过所述目标IP地址且为多点登录的账号组成的账号集合。S102:确定所述账号集合中每一个账号对应的定位终端的位置。
所述的定位终端可以为智能手机、平板电脑等能够对自身位置进行定位的终端。用户账号多点登录后,相应的应用服务器能够到其他的用于对所述定位终端进行定位的服务器中获取定位终端的位置,也可以触发所述定位终端中的GPS等定位模块获取其自身的位置并上传。相应的应用服务器便可以记录IP地址、账号以及相应定位终端的位置,以便于基于IP找到账号以及得到对应的定位终端的位置,定位终端的位置可以为一个或者多个经纬度坐标、坐标轨迹等表示位置的信息。S103:根据确定的每一个定位终端的位置进行统计计算确定每一个定位终端所在的区域,并根据每一个定位终端所在的区域得到所述目标IP地址的所属区域。所述S103可以包括:首先,计算账号在个人电脑和移动终端等定位终端中多点登录时,个人电脑和移动终端同时处于同一区域的概率,具体可以采用贝叶斯法则,计算个人电脑和移动终端同时处于同一区域的概率。然后根据概率值来确定每一个账号登录时所述目标IP地址所在的区域,统计所述目标IP地址的各区域的出现频数,并将出现频数最大值对应的区域作为所述目标IP地址所在的区域。此时,可以根据对IP地址所属区域的精度需求,灵活确定定位终端所在的区域,具体根据定位终端的位置以及电子地图数据库,确定该位置所在的市级、区县级、甚至街道级区域以满足精度需求。另外,在所述S102中,所述账号集合中每一个账号在使用所述目标IP地址登录到应用服务器的过程中所对应的登录终端的位置是:使用所述目标IP地址的个人电脑的位置,即:在每一个账号登录后,相应的应用服务器能够触发获取相应个人电脑的位置,具体可以为:账号登录后,应用服务器获取该个人电脑的位置,然后在S103中根据账号集合中每一个账号对应的个人电脑所在的位置出现的数量,将出现次数最多的位置对应的区域确定为目标IP地址所在的区域。其中具体的,如果位置为区县级甚至街道级行政区域,可以将区县级甚至街道级行政区域直接作为该目标IP地址所在的区域;而如果为经纬度坐标、坐标轨迹,则先将经纬度坐标、坐标轨迹与电子地图数据库结合,得到区县级甚至街道级行政区域,然后再将区 县级甚至街道级行政区域作为该目标IP地址所在的区域,此时可以根据用户的精度需求,如果用户需要区县级的区域精度,那么可以根据电子地图数据库确定经纬度坐标、坐标轨迹所在的区县级行政区域,而如果需要街道级的,那么可以根据电子地图数据库确定经纬度坐标、坐标轨迹所在的街道级行政区域。在所述S103得到所述目标IP地址所在的区域后,还可以记录或者更新该目标IP地址所在的区域,以便于后续执行其他的例如精确消息推送等应用。本发明实施例能够根据使用过某一 IP地址的用户账号及其所登录的登录终端的位置,来确定IP地址所属的区域,由于定位终端的位置可以对应于某个市级、区县级或者街道级等区域,因此可以根据用户的精度需要得到IP地址所属的区域,满足IP地址定位的精度需求,方便后续在执行消息推送等应用时更为精确地根据IP地址为用户推送其所在区域的信息。再请参见图2,是本发明实施例的另一种IP地址所在区域的确定方法的流程示意图,本发明实施例的所述方法可以应用于记录IP地址所在区域的服务器中,以便于能够在需要时确定更为精确的某一 IP地址或者对应的IP地址段所属区域以执行其他应用,所述方法包括:S201:获取使用过目标IP地址登录到应用服务器的过程中又通过定位终端登录到应用服务器的各账号组成的账号集合。S202:确定所述账号集合中每一个账号对应的定位终端的位置。S203:根据确定的每一个定位终端的位置进行统计计算确定每一个定位终端所在的区域,并根据每一个定位终端所在的区域得到所述目标IP地址的所属区域。上述S201至S203的具体实现方式可参照上述第一实施例的SlOl至S103,在此不赘述。S204:对所述目标IP地址按照预设的模值执行求模计算,得到目标IP地址段。具体可以对目标IP地址执行模256计算,得到所述目标IP地址对应的目标IP地址段,因此,在目标IP地址段中有256个IP地址。S205:将所述目标IP地址段内的每一个IP地址作为新的目标IP地址,得到目标IP地址段中每一个IP地址所在的区域。即依次将目标IP地址段内的每一个IP地址作为目标IP地址,重新执行上述的S201至S203中,得到所述目标IP地址段内的每一个IP地址所在的区域。即在本发明实施例中,所述目标IP地址段可以得到最多256个区域。S206:根据目标IP地址段中每一个IP地址所在的区域,确定所述目标IP地址段的所属区域。具体的,一种简单的方式可以根据目标IP地址段中每一个IP地址对应的区域出现的频率,来粗略得到所述目标IP地址段所在的区域。

或者,还可以根据目标IP地址段中每一个IP地址所在的区域计算各个区域中覆盖的用户比例POU和IP地址比例poi,进而计算确定所述目标IP地址段所在的区域。其中的POi=对应区域覆盖的ip数/256,其中的POU=对应区域覆盖ip上登录账号数/该目标IP地址段总登录账号数;然后计算目标IP地址段的聚合度=(poi+pou) /2,取聚合度最高的区域信息为该目标IP地址段的最终所在区域。具体的,例如:对于121.14.96.*的目标IP地址段,其中的每个IP地址作为目标IP地址执行上述的S201至S203步骤后,都会根据需要得到一个对应于区县级甚至街道级的区域,那么总共有256个区域,假设其中200个是深圳市南山区,则深圳市南山区的poi=200/256 ;南山区覆盖的200个IP地址下每天有1000个用户登录,即每天先后有1000个使用121.14.96.*的目标IP地址段中的IP地址的账号登录到应用服务器,而121.14.96.*上每天登录的用户总数为1200,则可以得到南山区的pou=1000/1200。综上,南山区聚合度=(poi+pou)/2= (200/256+1000/1200)/2=0.85,是所有区域中聚合度最高的,那么广东省深圳市南山区就是该目标IP地址段的最终地理信息。进一步的,在得到上述的所述目标IP地址所在的区域和目标IP地址段所在的区域更新IP地址库后,还可以包括:根据统计得到的所述目标IP地址所在的区域和目标IP地址段所在的区域更新IP地址库,以便于根据所述更新后的IP地址库确定IP地址所在的位置。更新后,可以为消息推送等服务器提供新的目标IP地址所在的区域和目标IP地址段所在的区域,以方便进行更好的消息推送服务。本发明实施例能够根据使用过某一 IP地址的用户账号及其所登录的登录终端的位置,来确定IP地址所属的区域,并且还可以得到该IP地址对应的IP地址段所属的区域,由于定位终端的位置可以对应于某个市级、区县级或者街道级等区域,因此可以根据用户的精度需要得到IP地址所属的区域,满足IP地址定位的精度需求,方便后续在执行消息推送等应用时更为精确地根据IP地址为用户推送其所在区域的信息。具体的,再请参见图3,是本发明实施例的其中一种确定目标IP地址所在区域的方法的流程示意图;本发明实施例的所述方法可对应于上述图1对应的实施例中的S103或者图2对应的实施例中的S203。本发明实施例以用户账号登录的登录终端仅为个人电脑为了进行说明。本发明实施例的所述方法具体包括:S301:根据所述账号集合中每一个账号所对应的登录终端的位置及电子地图数据库,确定账号集合中每一个账号所对应的登录终端所在的区域;即根据电子地图数据库确定个人电脑的经纬度坐标、坐标轨迹等所在位置,得到每一个账号对应的登录终端所在的区县级行政区域或者街道行政区域等。S302:根据确定的账号集合中每一个账号所对应的登录终端所在的区域确定所述目标IP地址所在的区域;S303:统计所述目标IP地址的各区域的出现频数,并将出现频数最大值对应的区域作为所述目标IP地址所在的区域。由于用户的个人电脑可能发生移动,例如采用笔记本或者在如车辆等移动物体内时用户的个人电脑可能发生移动,因此,确定的所述目标IP地址所在的区域也可能有两个甚至更多的区域。但是,对于大多数个人电脑来说一般是不会移动的,因此,通过确定所述目标IP地址的各区域的出现频数,将出现频数最大的区域作为所述目标IP地址所在的区域。其中所述目标IP地址的各区域的出现频数为所述目标IP地址对于的各区域出现的次数或者频率。本发明实施例能够 根据使用过某一 IP地址的用户账号及其所登录的个人电脑的位置,可以确定较为精确的IP地址所属的区域。具体的,再请参见图4,是本发明实施例的其中另一种确定目标IP地址所在区域的方法的流程示意图;本发明实施例的所述方法可对应于上述图1对应的实施例中的S103或者图2对应的实施例中的S203。本发明实施例以用户账号登录的登录终端包括多点登录时的移动终端等定位终端以及个人电脑为例进行说明。本发明实施例的所述方法中确定目标IP地址所在的区域是根据如移动终端等定位终端所在的位置区域得到,所述方法包括:S401:根据确定的每一个定位终端的位置和电子地图数据库,确定每一个定位终端所在的区域。即根据电子地图数据库确定移动终端的经纬度坐标、坐标轨迹等所在的位置,得到每一个账号对应的定位终端所在的市级、区县级行政区域或者街道行政区域等,例如,当账号集合中有100个账号时,则所述S401中可以得到100个位置。S402:获取所述账号集合中每一个账号登录时使用所述目标IP地址的终端处于对应定位终端所在区域的概率。由于移动终端可以移动,因此,移动终端所在的区域,可能并不是分配了所述目标IP地址的个人电脑所在的区域。此时,可以基于贝叶斯法则,计算所述账号集合中每一个账号登录时使用所述目标IP地址的终端所在区域与移动终端所在区域相同的概率。概率值越大,说明分配了所述目标IP地址的个人电脑与所述移动终端的位置相同的概率越大,概率最大值对应的移动终端的位置则可以作为分配了所述目标IP地址的个人电脑的位置,从而确定所述目标IP地址所在的区域。所述S402的计算方式包括:确定每一个账号对应的定位终端在目标区域的时长;获取每一个账号通过对应的定位终端登录到应用服务器的时长和每一个账号使用所述目标IP地址登录到应用服务器的时长;根据每一个账号对应的定位终端在目标区域的时长、每一个账号通过对应的定位终端登录到应用服务器的时长、以及每一个账号使用所述目标IP地址登录到应用服务器的时长,基于贝叶斯法则计算所述账号集合中每一个账号登录时使用所述目标IP地址的终端处于对应定位终端所在区域的概率。具体的,贝叶斯公式如下:P (A|B)=P (B|A)*P (A) /P (B);A、B是指事件,AIB是指B发生的情况下,A又发生的概率;B | A意义相反;在本发明实施例的贝叶斯模型中,B是指根据得到的定位终端在各个时间的位置,确定用户U在特定时间段T处于区域L ;A是指用户 U的个人电脑在特定时间段Tl内都在区域L,其中Tl包含T。其中,根据位置得到的区域可能包括多个,本发明实施例就是通过计算定位终端出现在其中的某一个区域L时,个人电脑即IP地址也在该区域L的概率,然后将概率值最大的区域作为个人电脑即IP地址的匹配区域。由于Tl 包含 T,那么 P (B|A) =1,所以 P (A|B)=P (A)/P (B)。只要求解P (A)以及P (B)即可,通过定位终端的各个时间的位置的数据,可以得到P (B)=用户出现在区域L的时间/用户轨迹总时长;P(A)=用户出现在区域L的时长/用户个人电脑上登录账号的在线时长。用户登录在个人电脑的账号在线时长的获取方式可以为:该用户的账号通过个人电脑登录后,从应用服务器中的登录日志得到;用户出现在区域L的时长不能直接得到,需要通过间接计算,由上面的假设可知:T1包含T,如果Tl内账号在个人电脑中一直处于登录状态,那么可以知道Tl内用户都在区域L,通过这种间接关联方法得到定位终端出现在区域L的时长,这个时长是通过估算得到,通常小于用户实际在区域L的时长,这里采用了一个平衡系数1.67,那么:P (A|B)=1.67*P (A)/P (B),通过贝叶斯法则,即可计算得到B:定位终端出现在区域L的情况下,A:个人电脑即IP地址又出现在区域L的概率,根据计算得到的概率值的大小,确定出对应的区域L,从而得到一个个人电脑即IP地址与区域L的匹配关系。其中的P (A|B)的结果是置信度,即计算得到的P (A|B)的值小于一定值例如20%所对应的IP地址对应的位置,不会作为该用户的账号登录时所述目标IP地址所对应的位置。S403:根据概率确定每一个账号登录时所述目标IP地址所在的各初始区域。将针对每一个账号计算得到的概率值最大时定位终端的位置对应的区域作为所述目标IP地址所在的初始区域。S404:统计所述目标IP地址的各初始区域的出现频数,并将出现频数最大值对应的初始区域作为所述目标IP地址的所属区域。例如:在上述的100个账号对应的位置及区域后,经过S402去除掉其中的定位终端和使用目标IP地址的个人电脑不属于同一区域的“广东省广州市越秀区”,得到其中的95个账号对应的位置即区域,对于95个账号对于的区域中,确定出所述目标IP地址所在的区域次数分布为下表I所示:表1:
权利要求
1.一种IP地址所在区域的确定方法,其特征在于,包括: 获取使用过目标IP地址登录到应用服务器的过程中又通过定位终端登录到应用服务器的各账号组成的账号集合; 确定所述账号集合中每一个账号对应的定位终端的位置; 根据确定的每一个定位终端的位置进行统计计算确定每一个定位终端所在的区域,并根据每一个定位终端所在的区域得到所述目标IP地址的所属区域。
2.如权利要求1所述的方法,其特征在于,所述根据确定的每一个定位终端的位置进行统计计算确定每一个定位终端所在的区域,并根据每一个定位终端所在的区域得到所述目标IP地址的所属区域,包括: 根据确定的每一个定位终端的位置和电子地图数据库,确定每一个定位终端所在的区域; 获取所述账号集合中每一个账号登录时使用所述目标IP地址的终端处于对应定位终端所在区域的概率; 根据概率确定每一个账号登录时所述目标IP地址所在的各初始区域; 统计所述目标IP地址的各初始区域的出现频数,并将出现频数最大值对应的初始区域作为所述目标IP地址的所属区域。
3.如权利要求2所述的方法,其特征在于,所述获取所述账号集合中每一个账号登录时使用所述目标IP地址的终端处于对应定位终端所在区域的概率,包括: 确定每一个账号对应的定位终端在目标区域的时长; 获取每一个账号通过对应的定位终端登录到应用服务器的时长和每一个账号使用所述目标IP地址登录到应用服务器的时长; 根据每一个账号对应的定位终端在目标区域的时长、每一个账号通过对应的定位终端登录到应用服务器的时长、以及每一个账号使用所述目标IP地址登录到应用服务器的时长,基于贝叶斯法则计算所述账号集合中每一个账号登录时使用所述目标IP地址的终端处于对应定位终端所在区域的概率。
4.如权利要求1-3任一项所述的方法,其特征在于,所述确定所述账号集合中每一个账号对应的定位终端的位置,包括: 从应用服务器中获取所述账号集合中每一个账号对应的定位终端的位置,其中,所述应用服务器在所述账号集合中每一个账号登录后记录的对应的定位终端的位置。
5.如权利要求4所述的方法,其特征在于,还包括: 对所述目标IP地址按照预设的模值执行求模计算,得到目标IP地址段; 将所述目标IP地址段内的每一个IP地址作为新的目标IP地址,得到目标IP地址段中每一个IP地址所在的区域; 根据目标IP地址段中每一个IP地址所在的区域,确定所述目标IP地址段的所属区域。
6.如权利要求5所述的方法,其特征在于,还包括: 根据统计得到的所述目标IP地址的所属区域和目标IP地址段的所属区域更新IP地址库,以便于根据所述更新后的IP地址库确定IP地址所在的位置。
7.—种IP地址所在区域的确定装置,其特征在于,包括:获取模块,用于获取使用过目标IP地址登录到应用服务器的过程中又通过定位终端登录到应用服务器的各账号组成的账号集合; 确定模块,用于确定所述账号集合中每一个账号对应的定位终端的位置; 处理模块,用于根据确定的每一个定位终端的位置进行统计计算确定每一个定位终端所在的区域,并根据每一个定位终端所在的区域得到所述目标IP地址的所属区域。
8.如权利要求7所述的装置,其特征在于,所述处理模块包括: 第一区域确定单元,用于根据确定的每一个定位终端的位置和电子地图数据库,确定每一个定位终端所在的区域; 计算单元,用于获取所述账号集合中每一个账号登录时使用所述目标IP地址的终端处于对应定位终端所在区域的概率; 第二区域确定单元,用于根据概率确定每一个账号登录时所述目标IP地址所在的各初始区域; 处理单元,用于统计所述目标IP地址的各初始区域的出现频数,并将出现频数最大值对应的初始区域作为所述目标IP地址的所属区域。
9.如权利要求8所述的装置,其特征在于,所述计算单元包括: 时长获取子单元,用于确定每一个账号对应的定位终端在目标区域的时长,并用于获取每一个账号通过对应的定位终端登录到应用服务器的时长和每一个账号使用所述目标IP地址登录到应用服务器的时长; 概率计算子单元,用于根据每一个账号对应的定位终端在目标区域的时长、每一个账号通过对应的定位终端登录到应 用服务器的时长、以及每一个账号使用所述目标IP地址登录到应用服务器的时长,基于贝叶斯法则计算所述账号集合中每一个账号登录时使用所述目标IP地址的终端处于对应定位终端所在区域的概率。
10.如权利要求7-9任一项所述的方法,其特征在于, 所述确定模块用于从应用服务器中获取所述账号集合中每一个账号对应的定位终端的位置,其中,所述应用服务器在所述账号集合中每一个账号登录后记录的对应的定位终端的位置。
11.如权利要求10所述的装置,其特征在于,还包括: 地址段确定模块,用于对所述目标IP地址按照预设的模值执行求模计算,得到目标IP地址段; 通知模块,用于将所述目标IP地址段内的每一个IP地址作为新的目标IP地址通知给所述获取模块,以得到目标IP地址段中每一个IP地址所在的区域; 区域确定模块,用于根据目标IP地址段中每一个IP地址所在的区域,确定所述目标IP地址段的所属区域。
12.如权利要求11所述的装置,其特征在于,还包括: 更新模块,用于根据统计得到的所述目标IP地址的所属区域和目标IP地址段的所属区域更新IP地址库,以便于根据所述更新后的IP地址库确定IP地址所在的位置。
全文摘要
本发明实施例公开了一种IP地址所在区域的确定方法及装置,其中,所述方法包括获取使用过目标IP地址登录到应用服务器的过程中又通过定位终端登录到应用服务器的各账号组成的账号集合;确定所述账号集合中每一个账号对应的定位终端的位置;根据确定的每一个定位终端的位置进行统计计算确定每一个定位终端所在的区域,并根据每一个定位终端所在的区域得到所述目标IP地址的所属区域。采用本发明,可以根据需要确定精度较高的IP地址所属的区域,方便后续在执行消息推送等应用时更为精确地根据IP地址为用户推送其所在区域的信息。
文档编号G01C21/32GK103248723SQ20131012252
公开日2013年8月14日 申请日期2013年4月10日 优先权日2013年4月10日
发明者李玉煌, 贺鹏, 胡勇, 陈川, 聂晶, 梁宇 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1