CN106789137A - Ip范围的比较方法和装置 - Google Patents

Ip范围的比较方法和装置 Download PDF

Info

Publication number
CN106789137A
CN106789137A CN201510809645.4A CN201510809645A CN106789137A CN 106789137 A CN106789137 A CN 106789137A CN 201510809645 A CN201510809645 A CN 201510809645A CN 106789137 A CN106789137 A CN 106789137A
Authority
CN
China
Prior art keywords
array
address
array element
byte
preset
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201510809645.4A
Other languages
English (en)
Inventor
汤卫群
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Gridsum Technology Co Ltd
Original Assignee
Beijing Gridsum Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Gridsum Technology Co Ltd filed Critical Beijing Gridsum Technology Co Ltd
Priority to CN201510809645.4A priority Critical patent/CN106789137A/zh
Publication of CN106789137A publication Critical patent/CN106789137A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/069Management of faults, events, alarms or notifications using logs of notifications; Post-processing of notifications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Small-Scale Networks (AREA)

Abstract

本申请公开了一种IP范围的比较方法和装置。其中,该方法包括:按照字节对待判断IP地址进行切割,得到预设长度的第一数组,其中,第一数组的预设长度与待判断IP地址中字节的数量相等;将第一数组中的数组元素依次与第二数组中的数组元素和第三数组中的数组元素进行比较,其中,第二数组中的数组元素由起始IP地址的字节组成,第三数组中的数组元素由终止IP地址的字节组成;根据比较结果确定待判断IP地址是否处于预设IP地址区间内,其中,预设IP地址区间由起始IP地址和终止IP地址组成。本申请解决了现有技术中由于IP地址范围查找准确度较低的技术问题。

Description

IP范围的比较方法和装置
技术领域
本申请涉及计算机领域,具体而言,涉及一种IP范围的比较方法和装置。
背景技术
在网站的分析行业中,包括对日志解析的任务,而在日志解析的过程中,往往会删除某个IP地址区间内的日志,则需判断日志的IP地址是否处于该IP地址区间内。例如判断IP地址193.168.0.3是否处于IP范围192.168.0.22~196.168.0.29之间,现有技术中仅将IP地址中的第一字节193与IP范围中格的192和196进行比较,并将IP地址中的第四字节3与IP范围中22和29进行比较,在比较的过程中准确度差,此时,可能会造成日志错误删除,给用户带来带了一定的影响。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种IP范围的比较方法和装置,以至少解决现有技术中由于IP地址范围查找准确度较低的技术问题。
根据本申请实施例的一个方面,提供了一种IP范围的比较方法,其特征在于,包括:按照字节对待判断IP地址进行切割,得到预设长度的第一数组,其中,所述第一数组的预设长度与所述待判断IP地址中字节的数量相等;将所述第一数组中的数组元素依次与第二数组中的数组元素和第三数组中的数组元素进行比较,其中,所述第二数组中的数组元素由起始IP地址的字节组成,所述第三数组中的数组元素由终止IP地址的字节组成;以及根据比较结果确定所述待判断IP地址是否处于预设IP地址区间内,其中,所述预设IP地址区间由所述起始IP地址和所述终止IP地址组成。
进一步地,按照字节对待判断IP地址进行切割,得到预设长度的第一数组包括:依次查找所述待判断IP地址中相邻两个字节之间的分隔符,得到多个分隔符;按照多个所述分隔符将所述待判断IP地址进行切割,得到多个所述字节;以及确定多个所述字节按照预设顺序组成的数组为所述第一数组,其中,所述预设顺序为字节在IP地址中的顺序。
进一步地,所述第二数组和所述第三数组的长度均为所述预设长度,将所述第一数组中的数组元素依次与第二数组中的数组元素和第三数组中的数组元素进行比较包括:将第一数组中数组元素Ai分别与第二数组中数组元素Bi和第三数组中数组元素Ci进行比较,其中,i依次取1至n,n为所述预设长度的取值。
进一步地,根据比较结果确定待判断IP地址是否处于所述预设IP地址区间内包括:当所述比较结果为数组元素A1大于数组元素B1,并且所述数组元素A1小于数组元素C1时,确定所述待判断IP地址处于所述预设IP地址区间内;以及当所述比较结果为所述数组元素A1等于所述数组元素B1,或者所述数组元素A1等于所述数组元素C1时,将数组元素A2分别与数组元素B2和数组元素C2进行比较,直至比较出数组元素Aj大于数组元素Bj,且所述数组元素Aj小于数组元素Cj时,确定所述待判断IP地址处于所述预设IP地址区间内,其中,j依次取2至n,n为所述预设长度的取值。
进一步地,在按照字节对待判断IP地址进行切割,得到预设长度的第一数组之前,所述方法还包括:接收用户选取的所述起始IP地址和所述终止IP地址;按照字节分别对所述起始IP地址和所述终止IP地址进行切割,得到所述起始IP地址的多个字节和所述终止IP地址的多个字节;以及确定所述起始IP地址的多个字节按照所述预设顺序组成的数组为所述第二数组,并确定所述终止IP地址的多个字节按照所述预设顺序组成的数组为所述第三数组。
根据本申请实施例的另一方面,还提供了一种IP范围的比较装置,其特征在于,包括:第一切割单元,用于按照字节对待判断IP地址进行切割,得到预设长度的第一数组,其中,所述第一数组的预设长度与所述待判断IP地址中字节的数量相等;比较单元,用于将所述第一数组中的数组元素依次与第二数组中的数组元素和第三数组中的数组元素进行比较,其中,所述第二数组中的数组元素由起始IP地址的字节组成,所述第三数组中的数组元素由终止IP地址的字节组成;以及第一确定单元,用于根据比较结果确定所述待判断IP地址是否处于预设IP地址区间内,其中,所述预设IP地址区间由所述起始IP地址和所述终止IP地址组成。
进一步地,所述第一切割单元包括:查找模块,用于依次查找所述待判断IP地址中相邻两个字节之间的分隔符,得到多个分隔符;切割模块,用于按照多个所述分隔符将所述待判断IP地址进行切割,得到多个所述字节;以及第一确定模块,用于确定多个所述字节按照预设顺序组成的数组为所述第一数组,其中,所述预设顺序为字节在IP地址中的顺序。
进一步地,所述第二数组和所述第三数组的长度均为所述预设长度,所述比较单元包括:第一比较模块,用于将第一数组中数组元素Ai分别与第二数组中数组元素Bi和第三数组中数组元素Ci进行比较,其中,i依次取1至n,n为所述预设长度的取值。
进一步地,所述第一确定单元包括:第二确定模块,用于当所述比较结果为数组元素A1大于数组元素B1,并且所述数组元素A1小于数组元素C1时,确定所述待判断IP地址处于所述预设IP地址区间内;以及第二比较模块,用于当所述比较结果为所述数组元素A1等于所述数组元素B1,或者所述数组元素A1等于所述数组元素C1时,将数组元素A2分别与数组元素B2和数组元素C2进行比较,直至比较出数组元素Aj大于数组元素Bj,且所述数组元素Aj小于数组元素Cj时,确定所述待判断IP地址处于所述预设IP地址区间内,其中,j依次取2至n,n为所述预设长度的取值。
进一步地,所述装置还包括:接收单元,用于在所述第一切割单元按照字节对待判断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范围的比较装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本申请实施例,提供了一种IP范围的比较方法的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本申请实施例的一种IP范围的比较方法的流程图,如图1所示,该方法包括如下步骤S102至步骤S106:
步骤S102,按照字节对待判断IP地址进行切割,得到预设长度的第一数组,其中,第一数组的预设长度与待判断IP地址中字节的数量相等。
具体地,IP地址为IP(Internet Protocol Address)协议提供的一种统一的地址格式,常见的IP地址分为IPv4和IPv6两大类,在本申请中的待判断IP地址可以为IPv4类IP地址,还可以为IPv6类IP地址。在本申请实施例中,待判断IP地址以IPv4类IP地址为例对本申请进行介绍。
预设长度为第一数组中数组元素的数量,也即,在本申请实施例中,第一数组的数组元素的数量与待判断IP地址中字节的数量相等。
步骤S104,将第一数组中的数组元素依次与第二数组中的数组元素和第三数组中的数组元素进行比较,其中,第二数组中的数组元素由起始IP地址的字节组成,第三数组中的数组元素由终止IP地址的字节组成。
具体地,在本申请实施例中,起始IP地址和终止IP地址均以IPv4类IP地址进行说明,其中,起始IP地址和终止IP地址中均包括4段字节。例如,任意一个IPv4类的IP地址192.168.1.1中的字节192,168,1,1即组成一个数组[192,168,1,1]。
步骤S106,根据比较结果确定待判断IP地址是否处于预设IP地址区间内,其中,预设IP地址区间由起始IP地址和终止IP地址组成。
具体地,通过将第一数组中的数组元素与第二数组中的数组元素和第三数组中的数组元素进行比较,即可确定待判断IP地址是否处于预设IP地址区间内。
在本申请实施例中,通过IP地址中的字节对待判断IP地址进行切割,并由切割之后的待判断IP地址的字节组成第一数组,并将第一数组中的数组元素依次与第二数组中的数组元素和第三数组中的数组元素进行比较,根据比较结果确定IP地址是否处于预设IP地址区间内,相对于现有技术中IP地址范围的比较方法中仅比较待判断IP地址中的第一字节和最后字节,达到了准确判断IP地址范围的目的,进而解决了现有技术中由于IP地址范围查找准确度较低的技术问题。
在本申请实施例中,待判断IP地址、起始IP地址和终止IP地址分别为用judgeIp、beginIp和endIp表示;第一数组、第二数组和第三数组分别用judgeIpArr,beginIpArr和endIpArr表示。
可选的,按照字节对待判断IP地址进行切割,得到预设长度的第一数组包括如下步骤S1021至步骤S1025:
步骤S1021,依次查找待判断IP地址中相邻两个字节之间的分隔符,得到多个分隔符。
步骤S1023,按照多个分隔符将待判断IP地址进行切割,得到多个字节。
步骤S1025,确定多个字节按照预设顺序组成的数组为第一数组,其中,预设顺序为字节在IP地址中的顺序。
具体地,若待判断IP地址(judgeIp)为“192.168.1.1”,则依次查找“192”和“168”之间的第一个分隔符“.”,“168”和“1”之间的第二个分隔符“.”,以及“1”和“1”之间的第三个分隔符“.”,按照第一个分隔符、第二个分隔符和第三个分隔符的顺序对IP地址为“192.168.1.1”进行切割,得到4组数字(即,judgeIp的多个字节),分别为:192,168,1,1,该四段字节组成的数组[192,168,1,1],即为第一数组judgeIpArr,其中,在judgeIpArr[192,168,1,1]中,192,168,1,1又可以称为数组元素。
需要说明的是,多个字节192,168,1,1在待判断IP地址中的顺序也即为第一数组中多个数组元素192,168,1,1的顺序。
可选的,第二数组和第三数组的长度均为预设长度,将第一数组中的数组元素依次与第二数组中的数组元素和第三数组中的数组元素进行比较包括步骤S1041:
步骤S1041,将第一数组中数组元素Ai分别与第二数组中数组元素Bi和第三数组中数组元素Ci进行比较,其中,i依次取1至n,n为预设长度的取值。
具体地,若待对待判断IP地址进行切割之后,得到的第一数组(judgeIpArr)为[A1,A2,…,Ai,…,An];对起始IP地址(beginIp)进行切割之后,得到的第二数组beginIpArr为[B1,B2,…,Bi,…,Bn];对终止IP地址(endIp)进行切割之后,得到的第三数组(endIpArr)为[C1,C2,…,Ci,…,Cn]。将Ai分别与Bi和Ci进行比较,根据比较结果确定待判断IP地址是否处于预设IP地址区间内。
可选的,根据比较结果确定待判断IP地址是否处于预设IP地址区间内包括如下步骤S1061至步骤S1063:
步骤S1061,当比较结果为数组元素A1大于数组元素B1,并且数组元素A1小于数组元素C1时,确定待判断IP地址处于预设IP地址区间内。
步骤S1063,当比较结果为数组元素A1等于数组元素B1,或者数组元素A1等于数组元素C1时,将数组元素A2分别与数组元素B2和数组元素C2进行比较,直至比较出数组元素Aj大于数组元素Bj,并且数组元素Aj小于数组元素Cj时,确定待判断IP地址处于预设IP地址区间内,其中,j依次取2至n,n为预设长度的取值。
具体地,对于judgeIp范围的确定,通过以下三种情况进行说明。
情况一:
若预设IP地址区间选取为192.168.0.1~196.201.0.3,也可表示为beginIp~endIp,其中,192.168.0.1为起始IP地址beginIp,196.201.0.3为终止IP地址endIp;选取待判断IP地址judgeIp为193.168.0.2。
将beginIp,endIp和judgeIp分别按着分隔符“.”进行切割得到三个预设长度都为4的数组,即第一数组judgeIpArr、第二数组beginIpArr和第三数组endIpArr,分别表示为:
beginIpArr[192,168,0,1];endIpArr[196,201,0,3];judgeIpArr[193,168,0,2]。
依次取数组judgeIpArr中的数组元素与数组beginIpArr,endIpArr中相对应的数组元素进行比较,具体比较步骤为:
步骤S1,将judgeIpArr中的数组元素A1“193”依次与beginIpArr中的数组元素B1“192”和endIpArr中的数组元素C1“196”进行比较,通过比较可知,judgeIpArr中的数组元素A1“193”大于judgeIpArr中的数组元素B1“192”,并且小于endIpArr中的数组元素C1“196”,则表示judgeIp在beginIp~endIp范围内。此时,即可确定judgeIp的处于预设IP取值区间内,不必再进行数组元素A2、B2和C2之间的比较。
情况二:
若预设IP地址区间选取为193.168.0.1~196.201.0.3,其中,193.168.0.1为起始IP地址beginIp,196.201.0.3为终止IP地址endIp;同样选取待判断IP地址judgeIp为193.168.0.2。
将beginIp,endIp和judgeIp分别按着分隔符“.”进行切割得到三个预设长度都为4的数组,即第一数组judgeIpArr、第二数组beginIpArr和第三数组endIpArr,分别表示为:
beginIpArr[193,168,0,1];endIpArr[196,201,0,3];judgeIpArr[193,168,0,2]。
依次取数组judgeIpArr中的数组元素与数组beginIpArr,endIpArr中相对应的数组元素进行比较,具体比较步骤为:
步骤S3,将judgeIpArr中的数组元素A1“193”依次与beginIpArr中的数组元素B1“193”和endIpArr中的数组元素C1“196”进行比较,通过比较可知,judgeIpArr中的数组元素A1“193”等于judgeIpArr中的数组元素B1“193”,此时需执行步骤S5。
步骤S5,将judgeIpArr中的数组元素A2“168”依次与beginIpArr中的数组元素B2“168”和endIpArr中的数组元素C2“201”进行比较,通过比较可知,judgeIpArr中的数组元素A2“168”等于judgeIpArr中的数组元素B2“168”,此时需执行步骤S7。
步骤S7,将judgeIpArr中的数组元素A3“0”依次与beginIpArr中的数组元素B3“0”和endIpArr中的数组元素C3“0”进行比较,通过比较可知,judgeIpArr中的数组元素A3“0”等于beginIpArr中的数组元素B3“0”,并且等于endIpArr中的数组元素C3“0”,此时需执行步骤S9。
步骤S9,将judgeIpArr中的数组元素A4“2”依次与beginIpArr中的数组元素B4“1”和endIpArr中的数组元素C4“3”进行比较,通过比较可知,judgeIpArr中的数组元素A4“2”大于beginIpArr中的数组元素B4“1”,并且小于endIpArr中的数组元素C4“3”,此时确定judgeIp的处于预设IP取值区间内。
情况三:
若预设IP地址区间选取为194.168.0.1~196.201.0.3,也可表示为beginIp~endIp,其中,194.168.0.1为起始IP地址beginIp,196.201.0.3为终止IP地址endIp;选取待判断IP地址judgeIp为193.168.0.2。
将beginIp,endIp和judgeIp分别按着分隔符“.”进行切割得到三个预设长度都为4的数组,即第一数组judgeIpArr、第二数组beginIpArr和第三数组endIpArr,分别表示为:
beginIpArr[194,168,0,1];endIpArr[196,201,0,3];judgeIpArr[193,168,0,2]。
依次取数组judgeIpArr中的数组元素与数组beginIpArr,endIpArr中相对应的数组元素进行比较,具体比较步骤为:
步骤S11,将judgeIpArr中的数组元素A1“193”依次与beginIpArr中的数组元素B1“194”和endIpArr中的数组元素C1“196”进行比较,通过比较可知,judgeIpArr中的数组元素A1“193”小于judgeIpArr中的数组元素B1“194”,并且小于endIpArr中的数组元素C1“196”,则表示judgeIp不在在beginIp~endIp范围内。
可选的,在按照字节对待判断IP地址进行切割,得到预设长度的第一数组之前,IP范围的比较方法还包括如下步骤S13至步骤S17:
步骤S13,接收用户选取的起始IP地址和终止IP地址。
步骤S15,按照字节分别对起始IP地址和终止IP地址进行切割,得到起始IP地址的多个字节和终止IP地址的多个字节。
步骤S17,确定起始IP地址的多个字节按照预设顺序组成的数组为第二数组,并确定终止IP地址的多个字节按照预设顺序组成的数组为第三数组。
具体地,用户可根据实际需要在系统中输入预设IP地址区间,即在系统中输入起始IP地址和终止IP地址。具体对起始IP地址进行切割,得到第二数组的方法,以及对终止IP地址进行切割,得到第三数组的方法同步骤S1021至步骤S1025中所说明的对待判断IP地址进行切割,得到第一数组的方法相同,此处不再赘述。
本申请实施例还提供了一种IP范围的比较装置,该比较装置主要用于执行本申请实施例上述内容所提供的IP范围的比较方法,以下对本申请实施例送提供的IP范围的比较装置做具体介绍。
图2是根据本申请实施例的一种IP范围的比较装置的示意图,如图2所示,该IP范围的比较装置主要包括第一切割单元10、比较单元20和第一确定单元30,其中:
第一切割单元10,用于按照字节对待判断IP地址进行切割,得到预设长度的第一数组,其中,第一数组的预设长度与待判断IP地址中字节的数量相等。
具体地,IP地址为IP(Internet Protocol Address)协议提供的一种统一的地址格式,常见的IP地址分为IPv4和IPv6两大类,在本申请中的待判断IP地址可以为IPv4类IP地址,还可以为IPv6类IP地址。在本申请实施例中,待判断IP地址以IPv4类IP地址为例对本申请进行介绍。
预设长度为第一数组中数组元素的数量,也即,在本申请实施例中,第一数组的数组元素的数量与待判断IP地址中字节的数量相等。
比较单元20,用于将第一数组中的数组元素依次与第二数组中的数组元素和第三数组中的数组元素进行比较,其中,第二数组中的数组元素由起始IP地址的字节组成,第三数组中的数组元素由终止IP地址的字节组成。
具体地,在本申请实施例中,起始IP地址和终止IP地址均以IPv4类IP地址进行说明,其中,起始IP地址和终止IP地址中均包括4段字节。例如,任意一个IPv4类的IP地址192.168.1.1中的字节192,168,1,1即组成一个数组[192,168,1,1]。
第一确定单元30,用于根据比较结果确定待判断IP地址是否处于预设IP地址区间内,其中,预设IP地址区间由起始IP地址和终止IP地址组成。
具体地,通过将第一数组中的数组元素与第二数组中的数组元素和第三数组中的数组元素进行比较,即可确定待判断IP地址是否处于预设IP地址区间内。
在本申请实施例中,通过IP地址中的字节对待判断IP地址进行切割,并由切割之后的待判断IP地址的字节组成第一数组,并将第一数组中的数组元素依次与第二数组中的数组元素和第三数组中的数组元素进行比较,根据比较结果确定IP地址是否处于预设IP地址区间内,相对于现有技术中IP地址范围的比较方法中仅比较待判断IP地址中的第一字节和最后字节,达到了准确判断IP地址范围的目的,进而解决了现有技术中由于IP地址范围查找准确度较低的技术问题。
可选的,第一切割单元包括:查找模块,用于依次查找待判断IP地址中相邻两个字节之间的分隔符,得到多个分隔符;切割模块,用于按照多个分隔符将待判断IP地址进行切割,得到多个字节;第一确定模块,用于确定多个字节按照预设顺序组成的数组为第一数组,其中,预设顺序为字节在IP地址中的顺序。
具体地,通过查找模块来查找相邻字节之间的分隔符,例如查找待判断IP地址(judgeIp)为“192.168.1.1”的字节“192”和字节“168”之间的第一个分隔符“.”,字节“168”和字节“1”之间的第二个分隔符“.”,以及字节“1”和字节“1”之间的第三个分隔符“.”。通过切割模块按照查找到的分隔符对IP地址为“192.168.1.1”进行切割,得到judgeIp的多个字节,分别为:192,168,1,1,该四段字节组成第一数组judgeIpArr[192,168,1,1]。
可选的,第二数组和第三数组的长度均为预设长度,比较单元包括:第一比较模块,用于将第一数组中数组元素Ai分别与第二数组中数组元素Bi和第三数组中数组元素Ci进行比较,其中,i依次取1至n,n为预设长度的取值。
具体地,若待判断IP地址进行切割之后,得到的第一数组(judgeIpArr)为[A1,A2,…,Ai,…,An];对起始IP地址(beginIp)进行切割之后,得到的第二数组beginIpArr为[B1,B2,…,Bi,…,Bn];对终止IP地址(endIp)进行切割之后,得到的第三数组(endIpArr)为[C1,C2,…,Ci,…,Cn]。通过将Ai分别与Bi和Ci进行比较,根据比较结果确定待判断IP地址是否处于预设IP地址区间内。
可选的,第一确定单元包括:第二确定模块,用于当比较结果为数组元素A1大于数组元素B1,并且数组元素A1小于数组元素C1时,确定待判断IP地址处于预设IP地址区间内;第二比较模块,用于当比较结果为数组元素A1等于数组元素B1,或者数组元素A1等于数组元素C1时,将数组元素A2分别与数组元素B2和数组元素C2进行比较,直至比较出数组元素Aj大于数组元素Bj,并且数组元素Aj小于数组元素Cj时,确定待判断IP地址处于预设IP地址区间内,其中,j依次取2至n,n为预设长度的取值。
具体地,当判断出数组元素A1大于数组元素B1,并且小于数组元素C1时,通过第二确定模块即可确定待判断IP地址处于预设IP地址区间内。当判断出数组元素A1小于数组元素B1时,通过第二确定模块即可确定待判断IP地址未处于预设IP地址区间内。若判断出数组元素A1等于数组元素B1,或者判断出数组元素A1等于数组元素C1时,通过第二比较模块再继续将数组元素A2分别与数组元素B2和数组元素C2进行比较,直至比较出数组元素Aj大于数组元素Bj。
可选的,本申请提供的IP范围的比较装置还包括:接收单元,用于在第一切割单元按照字节对待判断IP地址进行切割,得到预设长度的第一数组之前,接收用户选取的起始IP地址和终止IP地址;第二切割单元,用于按照字节分别对起始IP地址和终止IP地址进行切割,得到起始IP地址的多个字节和终止IP地址的多个字节;第二确定单元,用于确定起始IP地址的多个字节按照预设顺序组成的数组为第二数组,并确定终止IP地址的多个字节按照预设顺序组成的数组为第三数组。
具体地,通过接收单元接收用户输入的预设IP地址区间,即在系统中输入的起始IP地址和终止IP地址。通过第二切割单元对起始IP地址和终止IP地址进行切割,得到起始IP地址的多个字节和终止IP地址的多个字节。通过第二确定单元确定起始IP地址的多个字节按照预设顺序组成的数组为第二数组,并通过第二确定单元确定终止IP地址的多个字节按照预设顺序组成的数组为第三数组。
所述网页中指标的分类装置包括处理器和存储器,上述第一切割单元、比较单元和第一确定单元等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数准确判断IP地址范围,进而解决了现有技术中由于IP地址范围查找准确度较低的技术问题。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序代码:按照字节对待判断IP地址进行切割,得到预设长度的第一数组,其中,所述第一数组的预设长度与所述待判断IP地址中字节的数量相等;将所述第一数组中的数组元素依次与第二数组中的数组元素和第三数组中的数组元素进行比较,其中,所述第二数组中的数组元素由起始IP地址的字节组成,所述第三数组中的数组元素由终止IP地址的字节组成;根据比较结果确定所述待判断IP地址是否处于预设IP地址区间内,其中,所述预设IP地址区间由所述起始IP地址和所述终止IP地址组成。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

Claims (10)

1.一种IP范围的比较方法,其特征在于,包括:
按照字节对待判断IP地址进行切割,得到预设长度的第一数组,其中,所述第一数组的预设长度与所述待判断IP地址中字节的数量相等;
将所述第一数组中的数组元素依次与第二数组中的数组元素和第三数组中的数组元素进行比较,其中,所述第二数组中的数组元素由起始IP地址的字节组成,所述第三数组中的数组元素由终止IP地址的字节组成;以及
根据比较结果确定所述待判断IP地址是否处于预设IP地址区间内,其中,所述预设IP地址区间由所述起始IP地址和所述终止IP地址组成。
2.根据权利要求1所述的方法,其特征在于,按照字节对待判断IP地址进行切割,得到预设长度的第一数组包括:
依次查找所述待判断IP地址中相邻两个字节之间的分隔符,得到多个分隔符;
按照多个所述分隔符将所述待判断IP地址进行切割,得到多个所述字节;以及
确定多个所述字节按照预设顺序组成的数组为所述第一数组,其中,所述预设顺序为字节在IP地址中的顺序。
3.根据权利要求2所述的方法,其特征在于,所述第二数组和所述第三数组的长度均为所述预设长度,将所述第一数组中的数组元素依次与第二数组中的数组元素和第三数组中的数组元素进行比较包括:
将第一数组中数组元素Ai分别与第二数组中数组元素Bi和第三数组中数组元素Ci进行比较,其中,i依次取1至n,n为所述预设长度的取值。
4.根据权利要求3所述的方法,其特征在于,根据比较结果确定待判断IP地址是否处于所述预设IP地址区间内包括:
当所述比较结果为数组元素A1大于数组元素B1,并且所述数组元素A1小于数组元素C1时,确定所述待判断IP地址处于所述预设IP地址区间内;以及
当所述比较结果为所述数组元素A1等于所述数组元素B1,或者所述数组元素A1等于所述数组元素C1时,将数组元素A2分别与数组元素B2和数组元素C2进行比较,直至比较出数组元素Aj大于数组元素Bj,且所述数组元素Aj小于数组元素Cj时,确定所述待判断IP地址处于所述预设IP地址区间内,其中,j依次取2至n,n为所述预设长度的取值。
5.根据权利要求2所述的方法,其特征在于,在按照字节对待判断IP地址进行切割,得到预设长度的第一数组之前,所述方法还包括:
接收用户选取的所述起始IP地址和所述终止IP地址;
按照字节分别对所述起始IP地址和所述终止IP地址进行切割,得到所述起始IP地址的多个字节和所述终止IP地址的多个字节;以及
确定所述起始IP地址的多个字节按照所述预设顺序组成的数组为所述第二数组,并确定所述终止IP地址的多个字节按照所述预设顺序组成的数组为所述第三数组。
6.一种IP范围的比较装置,其特征在于,包括:
第一切割单元,用于按照字节对待判断IP地址进行切割,得到预设长度的第一数组,其中,所述第一数组的预设长度与所述待判断IP地址中字节的数量相等;
比较单元,用于将所述第一数组中的数组元素依次与第二数组中的数组元素和第三数组中的数组元素进行比较,其中,所述第二数组中的数组元素由起始IP地址的字节组成,所述第三数组中的数组元素由终止IP地址的字节组成;以及
第一确定单元,用于根据比较结果确定所述待判断IP地址是否处于预设IP地址区间内,其中,所述预设IP地址区间由所述起始IP地址和所述终止IP地址组成。
7.根据权利要求6所述的装置,其特征在于,所述第一切割单元包括:
查找模块,用于依次查找所述待判断IP地址中相邻两个字节之间的分隔符,得到多个分隔符;
切割模块,用于按照多个所述分隔符将所述待判断IP地址进行切割,得到多个所述字节;以及
第一确定模块,用于确定多个所述字节按照预设顺序组成的数组为所述第一数组,其中,所述预设顺序为字节在IP地址中的顺序。
8.根据权利要求7所述的装置,其特征在于,所述第二数组和所述第三数组的长度均为所述预设长度,所述比较单元包括:
第一比较模块,用于将第一数组中数组元素Ai分别与第二数组中数组元素Bi和第三数组中数组元素Ci进行比较,其中,i依次取1至n,n为所述预设长度的取值。
9.根据权利要求8所述的装置,其特征在于,所述第一确定单元包括:
第二确定模块,用于当所述比较结果为数组元素A1大于数组元素B1,并且所述数组元素A1小于数组元素C1时,确定所述待判断IP地址处于所述预设IP地址区间内;以及
第二比较模块,用于当所述比较结果为所述数组元素A1等于所述数组元素B1,或者所述数组元素A1等于所述数组元素C1时,将数组元素A2分别与数组元素B2和数组元素C2进行比较,直至比较出数组元素Aj大于数组元素Bj,且所述数组元素Aj小于数组元素Cj时,确定所述待判断IP地址处于所述预设IP地址区间内,其中,j依次取2至n,n为所述预设长度的取值。
10.根据权利要求7所述的装置,其特征在于,所述装置还包括:
接收单元,用于在所述第一切割单元按照字节对待判断IP地址进行切割,得到预设长度的第一数组之前,接收用户选取的所述起始IP地址和所述终止IP地址;
第二切割单元,用于按照字节分别对所述起始IP地址和所述终止IP地址进行切割,得到所述起始IP地址的多个字节和所述终止IP地址的多个字节;以及
第二确定单元,用于确定所述起始IP地址的多个字节按照所述预设顺序组成的数组为所述第二数组,并确定所述终止IP地址的多个字节按照所述预设顺序组成的数组为所述第三数组。
CN201510809645.4A 2015-11-19 2015-11-19 Ip范围的比较方法和装置 Pending CN106789137A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510809645.4A CN106789137A (zh) 2015-11-19 2015-11-19 Ip范围的比较方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510809645.4A CN106789137A (zh) 2015-11-19 2015-11-19 Ip范围的比较方法和装置

Publications (1)

Publication Number Publication Date
CN106789137A true CN106789137A (zh) 2017-05-31

Family

ID=58885784

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510809645.4A Pending CN106789137A (zh) 2015-11-19 2015-11-19 Ip范围的比较方法和装置

Country Status (1)

Country Link
CN (1) CN106789137A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107682471A (zh) * 2017-10-17 2018-02-09 新华三云计算技术有限公司 一种对网络地址进行调整的方法和装置
CN108875006A (zh) * 2018-06-15 2018-11-23 泰康保险集团股份有限公司 确定ip地址所属地区的方法及装置
WO2022142499A1 (zh) * 2020-12-28 2022-07-07 北京锐安科技有限公司 Ip地址所属区域的确定方法、装置、电子设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102223289A (zh) * 2010-04-15 2011-10-19 杭州华三通信技术有限公司 一种存储IPv4地址和IPv6地址的方法和装置
CN102469134A (zh) * 2010-11-17 2012-05-23 广州欢网科技有限责任公司 一种ip地址检索方法及装置
CN102984292A (zh) * 2012-12-03 2013-03-20 北京锐安科技有限公司 一种ip段地址集中查找ip地址的方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102223289A (zh) * 2010-04-15 2011-10-19 杭州华三通信技术有限公司 一种存储IPv4地址和IPv6地址的方法和装置
CN102469134A (zh) * 2010-11-17 2012-05-23 广州欢网科技有限责任公司 一种ip地址检索方法及装置
CN102984292A (zh) * 2012-12-03 2013-03-20 北京锐安科技有限公司 一种ip段地址集中查找ip地址的方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107682471A (zh) * 2017-10-17 2018-02-09 新华三云计算技术有限公司 一种对网络地址进行调整的方法和装置
CN107682471B (zh) * 2017-10-17 2021-06-29 新华三云计算技术有限公司 一种对网络地址进行调整的方法和装置
CN108875006A (zh) * 2018-06-15 2018-11-23 泰康保险集团股份有限公司 确定ip地址所属地区的方法及装置
WO2022142499A1 (zh) * 2020-12-28 2022-07-07 北京锐安科技有限公司 Ip地址所属区域的确定方法、装置、电子设备及存储介质

Similar Documents

Publication Publication Date Title
EP2530874B1 (en) Method and apparatus for detecting network attacks using a flow based technique
CN106657213B (zh) 文件传输方法和装置
CN100472480C (zh) 分组处理方法和装置
CN104750704B (zh) 一种网页url地址分类识别方法及装置
US7472095B2 (en) Methods and apparatus for automatic classification of text messages into plural categories
US10068017B2 (en) Stream recognition and filtering
CN106789137A (zh) Ip范围的比较方法和装置
CN110245273B (zh) 一种获取app业务特征库的方法及相应的装置
CN104796300B (zh) 一种数据包特征提取方法及装置
US7373412B2 (en) Apparatus for selecting and sorting packets from a packet data transmission network
CN106909575A (zh) 文本聚类方法和装置
CN106815193A (zh) 模型训练方法及装置和错别字识别方法及装置
CN107748739A (zh) 一种短信文本模版的提取方法及相关装置
CN106777190A (zh) 识别兴趣点的wifi名称的方法和装置
CN106649385B (zh) 基于HBase数据库的数据排序方法和装置
US20030004921A1 (en) Parallel lookups that keep order
CN109977328A (zh) 一种url分类方法及装置
CN104253754A (zh) 一种acl快速匹配的方法和设备
CN106909535A (zh) 相似文本判定方法和装置
CN104077422B (zh) 下载apk的去重方法及装置
CN106933934A (zh) 数据表的连接方法和装置
CN107819887A (zh) 网段冲突的检测方法及装置
CN108984780B (zh) 基于支持重复键值树数据结构管理磁盘数据的方法和装置
CN103166973A (zh) 协议识别的方法和装置
CN111368294B (zh) 病毒文件的识别方法和装置、存储介质、电子装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 100083 No. 401, 4th Floor, Haitai Building, 229 North Fourth Ring Road, Haidian District, Beijing

Applicant after: Beijing Guoshuang Technology Co.,Ltd.

Address before: 100086 Cuigong Hotel, 76 Zhichun Road, Shuangyushu District, Haidian District, Beijing

Applicant before: Beijing Guoshuang Technology Co.,Ltd.

RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20170531