IP区间查找方法和装置制造方法及图纸

技术编号:10176588 阅读:114 留言:0更新日期:2014-07-02 16:33
本发明专利技术公开了一种IP区间查找方法和装置。其中,IP区间查找方法包括:获取用于进行IP区间查找的多个IP地址;获取多个IP地址的统计信息,统计信息包括多个IP地址中IP地址的数量;以及基于IP地址的数量采用多个匹配条件同时对多个IP地址执行IP区间查找,其中,多个匹配条件为用于对多个IP地址执行IP区间查找的条件。通过本发明专利技术,达到了提高IP地址区间查找的速度的效果。

【技术实现步骤摘要】
【专利摘要】本专利技术公开了一种IP区间查找方法和装置。其中,IP区间查找方法包括:获取用于进行IP区间查找的多个IP地址;获取多个IP地址的统计信息,统计信息包括多个IP地址中IP地址的数量;以及基于IP地址的数量采用多个匹配条件同时对多个IP地址执行IP区间查找,其中,多个匹配条件为用于对多个IP地址执行IP区间查找的条件。通过本专利技术,达到了提高IP地址区间查找的速度的效果。【专利说明】IP区间查找方法和装置
本专利技术涉及数据库领域,具体而言,涉及一种IP区间查找方法和装置。
技术介绍
在数据库使用过程中,经常会存在一些区间匹配的情况,如根据IP (InternetProtocol,互联网之间互联的协议,简称IP)在IP数据库里查找出其所属的IP网段,进而得知该IP对应的地理信息等。以IP的区间匹配做举例说明,从IPLocationV3数据库的IPLocation表里通过e_session (会话数据表)里的IP进行区间查找匹配,返回匹配成功的行计数:select count (*)from E_Session sinner join IPLocationV3.db0.1pLocation I on s.1p between 1.BeginIp and1.EndIpwhere s.updatetime〉’ 2013-3-5’通过上述方式执行IP区间匹配会非常慢,原因如下:从上述代码中可以看出,在查询区间值(ip between beginlp and EndIp)时,首先从IP数据库的IPLocation表中为driver表里的每一行查找出IP>=BeginIp的所有行(SeekPredicates),再从查找出来的所有行进行筛选比较IP〈=EndIP(Predicate),这样会导致筛选查询的数据量特别大。假设driver表里的每一行都是最大IP,那么IP>=BeginIP所得出的行将是driver表条目数与Inner表条目数乘积的个数,得出的行的数量非常庞大,导致对IP区间匹配的速度慢。针对现有技术中对IP区间匹配的速度慢的问题,目前尚未提出有效的解决方案。
技术实现思路
本专利技术的主要目的在于提供一种IP区间查找方法和装置,以解决对IP区间匹配的速度慢的问题。为了实现上述目的,根据本专利技术的一个方面,提供了一种IP区间查找方法。根据本专利技术的IP区间查找方法包括:获取用于进行IP区间查找的多个IP地址;获取多个IP地址的统计信息,统计信息包括多个IP地址中IP地址的数量;以及基于IP地址的数量采用多个匹配条件同时对多个IP地址执行IP区间查找,其中,多个匹配条件为用于对多个IP地址执行IP区间查找的条件。进一步地,基于数量采用多个匹配条件同时对多个IP地址执行IP区间查找包括:从统计信息确定多个IP地址中IP地址的数量;如果多个IP地址中IP地址的数量大于1,则建立所有IP区间对应的值的临时表;以及通过临时表对多个IP地址执行IP区间查找。进一步地,获取的多个IP地址为IP列表,在获取多个IP地址的统计信息之前,IP区间查找方法还包括:获取IP列表的过滤条件,过滤条件用于对IP列表进行过滤;判断IP列表是否具有索引;如果判断出IP列表不具有索引,则建立过滤条件对应的索引,过滤条件对应的索引用于过滤掉IP列表中不满足过滤条件的IP地址;以及将过滤条件对应的索引作为统计信息。进一步地,基于IP地址的数量采用多个匹配条件同时对多个IP地址执行IP区间查找包括:利用过滤条件对应的索引从多个IP地址选取满足过滤条件的IP地址;以及对满足过滤条件的IP地址执行IP区间查找。进一步地,在获取用于IP进行区间查找的多个IP地址之后,IP区间查找方法还包括:对获取的多个IP地址进行去重,其中,基于IP地址的数量采用多个匹配条件同时对多个IP地址执行IP区间查找包括:基于IP地址的数量采用多个匹配条件同时对去重后的多个IP地址执行IP区间查找。为了实现上述目的,根据本专利技术的另一方面,提供了一种IP区间查找装置。根据本专利技术的IP区间查找装置包括:第一获取单元,用于获取用于进行IP区间查找的多个IP地址;第二获取单元,用于获取多个IP地址的统计信息,统计信息包括多个IP地址中IP地址的数量;以及查找单元,用于基于IP地址的数量采用多个匹配条件同时对多个IP地址执行IP区间查找,其中,多个匹配条件为用于对多个IP地址执行IP区间查找的条件。进一步地,查找单元包括:确定模块,用于从统计信息确定多个IP地址中IP地址的数量;建立模块,用于当多个IP地址中IP地址的数量大于I时,建立所有IP区间对应的值的临时表;以及第一查找模块,用于通过临时表对多个IP地址执行IP区间查找。进一步地,获取的多个IP地址为IP列表,IP区间查找装置还包括:第三获取单元,用于在获取多个IP地址的统计信息之前,获取IP列表的过滤条件,过滤条件用于对IP列表进行过滤;判断单元,用于判断IP列表是否具有索引;建立单元,用于当判断出IP列表不具有索引时,建立过滤条件对应的索引,过滤条件对应的索引用于过滤掉IP列表中不满足过滤条件的IP地址;以及确定单元,用于将过滤条件对应的索引作为统计信息。进一步地,查找单元包括:选取模块,用于利用过滤条件对应的索引从多个IP地址选取满足过滤条件的IP地址;以及第二查找模块,用于对满足过滤条件的IP地址执行IP区间查找。进一步地,IP区间查找装置还包括:去重单元,用于在获取用于IP进行区间查找的多个IP地址之后,对获取的多个IP地址进行去重,其中,查找单元还用于基于IP地址的数量采用多个匹配条件同时对去重后的多个IP地址执行IP区间查找。根据本专利技术,通过获取多个IP地址的统计信息,统计信息包括多个IP地址中IP地址的数量,基于IP地址的数量采用多个匹配条件同时对多个IP地址执行IP区间查找,解决了对IP区间匹配的速度慢的问题,达到了提高IP地址区间查找的速度的效果。【专利附图】【附图说明】构成本申请的一部分的附图用来提供对本专利技术的进一步理解,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。在附图中:图1是根据本专利技术实施例的IP区间查找装置的示意图;图2是根据本专利技术实施例优选的IP区间查找装置的示意图;图3是根据本专利技术实施例的IP区间查找方法的流程图;以及图4是根据本专利技术实施例优选的IP区间查找方法的流程图。【具体实施方式】需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本专利技术。为了使本
的人员更好地理解本专利技术方案,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分的实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本专利技术保护的范围。需要说明的是,本专利技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本专利技术的实施例。此外,术语“包括本文档来自技高网
...
IP区间查找方法和装置

【技术保护点】
一种IP区间查找方法,其特征在于,包括:获取用于进行IP区间查找的多个IP地址;获取所述多个IP地址的统计信息,所述统计信息包括所述多个IP地址中IP地址的数量;以及基于所述IP地址的数量采用多个匹配条件同时对所述多个IP地址执行IP区间查找,其中,所述多个匹配条件为用于对所述多个IP地址执行IP区间查找的条件。

【技术特征摘要】

【专利技术属性】
技术研发人员:洪超
申请(专利权)人:北京国双科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1