CN101043421A - 一种基于内存的ip地址最长匹配快速查找的方法 - Google Patents

一种基于内存的ip地址最长匹配快速查找的方法 Download PDF

Info

Publication number
CN101043421A
CN101043421A CNA2006100248905A CN200610024890A CN101043421A CN 101043421 A CN101043421 A CN 101043421A CN A2006100248905 A CNA2006100248905 A CN A2006100248905A CN 200610024890 A CN200610024890 A CN 200610024890A CN 101043421 A CN101043421 A CN 101043421A
Authority
CN
China
Prior art keywords
address
mask
list
category
list item
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.)
Granted
Application number
CNA2006100248905A
Other languages
English (en)
Other versions
CN101043421B (zh
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.)
Shanghai entertainment culture communication Limited by Share Ltd
Original Assignee
SHANGHAI JIDONG COMMUNICATION 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 SHANGHAI JIDONG COMMUNICATION CO Ltd filed Critical SHANGHAI JIDONG COMMUNICATION CO Ltd
Priority to CN200610024890A priority Critical patent/CN101043421B/zh
Publication of CN101043421A publication Critical patent/CN101043421A/zh
Application granted granted Critical
Publication of CN101043421B publication Critical patent/CN101043421B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及一种基于内存的IP地址最长匹配快速查找的方法,该方法首先对IP地址分成A类,B类,对IP按照8位一段的方式建立索引树,A类地址只有1层,B类地址有2层。对最底层,建立一个MASK桶索引,每个MASK下面挂接一个IP顺序表,在此顺序表中存放最终的IP项,查找的时候,根据传入的IP地址判定是A类还是B类地址,如果是A类地址,根据得到的MASK桶索引,从32位MASK的IP列表开始,采用二分法进行匹配,直到找到或者查找失败。如果是B类地址,则引导到第二段表中,用IP地址的次8位在第二段表中进行定位,并最终跟A类地址一样引导到MASK桶索引,进行查找。本发明的优点是查找快速、高效。

Description

一种基于内存的IP地址最长匹配快速查找的方法
技术领域
本发明涉及一种基于内存的IP地址最长匹配快速查找的方法,可实现IP路由查找、软件防火墙规则表查找、基于IP方式的负载均衡系统的IP表查找,属于数据通讯领域。
背景技术
在基于IP方式的负载均衡系统中,经常需要根据请求用户的IP地址来判断该用户所在的地区,并根据用户所在的地区,将用户的请求重定向到与该用户最近的服务器为用户提供服务。
譬如,面向全省或者全国各地的流服务,特别需要使用此方法向用户提供就近服务,以便提高服务质量。目前用户向系统重定向器发起请求,重定向器根据发起请求的用户的IP地址,与系统中已经预先录入的成千上万条IP段按照最长匹配方式进行一个一个匹配,得到该用户所在的地区,并根据用户所在的地区将用户的请求重定向到离用户最近的服务器,由于所有的用户都会向重定向器发起请求,采用依次查找的方式查找速度慢,以至于不能够进行快速定位,高效地响应用户的请求,给工作带来影响。
发明内容
本发明的目的是提供一种基于内存的IP地址最长匹配快速查找的方法,该方法简单易行,能够进行快速定位,高效地响应用户的请求,可以有效提高IP路由查找的效率。
为实现以上目的,本发明的技术方案是提供一种基于内存的IP地址最长匹配快速查找的方法,其特征在于,采用C、C++语言编程实现,运行于基于X86架构的PC服务器,或运行在防火墙、路由器网络设备中,其方法为:
(一):创建IP地址库加载到内存中的数据结构
1)首先执行初始化操作,将IP地址库加载到内存中来,建立“第一段表”进行A、B类地址分别进行处理,将高8位<128的IP地址库列入A类,强高8位>128IP的地址库列入B类,并初始化该表中的内容为0;
2)如果没有更多的IP地址记录,则结束;
否则读取一个IP地址库中的IP地址/MASK对,先根据IP地址判断是A类还是B类地址,如果在“第一段表”中的指针为0,并且是A类地址,执行步骤3);如果在“第一段表”中的指针为0,并且是B类地址,则执行步骤6);如果在“第一段表”中的指针不为0,并且是A类地址,得到表项中指针指向的“MASK桶索引表”,并转向步骤4);否则,得到表项中指针指向的“MASK桶索引表”,执行步骤7);
3)创建一个表项数为24个的“MASK桶索引表”,将所有表项初始化为0;
4)根据掩码1的位数在“MASK桶索引表”中定位到相应的表项,如果该表项的指针为0,创建一个新的“IP顺序查找表”,并将该表项的指针指向新的“IP顺序查找表”;
5)在上一步得到的“IP顺序查找表中”将新的IP插入,并转到步骤2);
6)创建一个新的“第二段表”,将所有表项初始化为0,并将“第一段表”中该项的指针指向新创建的“第二段表”;
7)根据IP地址的次高8定位当前“第二段表”中的表项,判断表项中的指针值是否为0,如果是,创建一个表项数为16个的“MASK桶索引表”,并将所有表项初始化为0,并最后转到步骤4);
二)快速查找的方法:
1)根据传入的IP地址判断是A类还是B类地址,并根据IP地址高8位在“第一段表”中定位表项,如果表项中的指针值为0,则返回未匹配错误;
2)如果是A类地址,根据步骤1)中得到的指针,获取“MASK桶索引表”的地址,并转到步骤4)执行;
3)如果是B类地址,根据步骤1)中得到的指针,获取“第二段表”的地址,并根据IP地址次高8位在当前“第二段表”中定位表项,如果表项中的指针值为0,则返回未匹配错误。否则,根据该指针值,得到“MASK桶索引表”的地址;
4)对得到的“MASK桶索引表”的地址,按照掩码1的位数,从多到少,依次对“IP顺序查找表”进行二分查找,如果找到,则返回匹配正确信息,否则返回未匹配错误。
本发明对IP地址库按照掩码的位数进行分类组成“MASK桶索引表”,最多32类,由于A类IP地址的掩码1的位数最少是8位,实际我们只要考虑32-8=24类即可。我们对每一类掩码建立一个顺序表,即“IP顺序查找表”,按照实际IP地址(32位无符号整型数)依次排列。查找的时候,按照从掩码1的位数最多的表开始查找,在表中用二分查找方式进行快速查找,如果找到,立即停止。如果没有找到,依次查遍24个类别的表,如果还未找到,则返回匹配失败并停止。由于按照掩码1的位数最多的表开始查找,满足了最长匹配的要求。同时通过二分查找,有效地提高了查找速度,对于一个有n条记录的IP地址库,如果它们的掩码是平均分布的,并且查找成功和失败的几率也是平均的,那么我们估算,大约平均经过12×Log2(n/24)次比较就可以完成查找。
为了加速查找,本发明对IP地址的第一段(即高8位)建立一个256个项目的索引表,即“第一段表”,对IP地址先按高8位进行初步分类,每个索引项是一个指针,要么为0,要么为指向上面所述的“MASK桶索引表”。这样由于“第一段表”可以根据传入的IP地址的高8位进行一次定位,进行一次判断就可以判定该IP在表中是否存在,或者是否需要进行进一步匹配,而“MASK桶索引表”下对应的每个“IP顺序查找表”的规模缩小了256倍,这样二分查找的比较次数最多缩小了Log2256=8次,因此如果按照平均需要查找12个“IP顺序查找表”来算,那么实际平均最多减少了8×12-1=95次比较。
如果空间允许,本发明还可以进行进一步的优化,如图1所示。用来提高对B类地址(这里包括RFC中规定的B类,C类,D类,E类地址)的查找。如果预先知道所有A类地址的细分的子网,并且子网掩码1的位数达到并超过了16位,那么同样可以对A类地址进行优化查找。优化的方法是这样的:
与上面的优化原理一样,取IP地址的第二段(即次高8位)建立一个256个项目的索引表,即“第二段表”,“第一段表”中的指针要么为0,要么指向“第二段表”,对IP地址按照次高8位进行进一步的分类,每个索引项是一个指针,要么是0,要么是指向“MASK桶索引表”。这样,查找的时候,先按IP地址的高8位在“第一段表”中进行直接定位,然后用次高8位在“第二段表”中进行另外一次直接定位,最后在“MASK桶索引表”中按照掩码1的位数,从多到少依次进行二分查找。由于在这种情况下,掩码1的位数最少有16位,因此,这里“MASK桶索引表”中只要16个桶就可以了。这样,可以进一步减少比较的次数,从而用空间换取了时间,提高了查找的效率。
本发明的优点是方法简单易行,在尽量少占用内存空间的情况下大大提高了查找的效率。
附图说明
图1为将IP地址库加载到内存中数据结构示意图;
图2为5个IP段组成的地址库数据结构示意图;
图3为本发明的实现方法的查找操作的步骤流程图。
具体实施方式
以下结合附图和实施例对本发明作进一步说明。
实施例
如图1所示,为将IP地址库加载到内存中数据结构示意图,所述的一种基于内存的IP地址最长匹配快速查找方法,其操作步骤是:
1)首先执行初始化操作,将IP地址库加载到内存中来,建立如图1所示的数据结构。“第一段表”和“第二段表”每个表都有256个表项,两个表的表项的数据结构定义如下:
“第一段表”的数据结构定义
名称(name) 类型(type) 含义(Description)
指针类型标记 Bool true表示“下级表指针”指向“MASK桶索引表”,false表示“下级表指针”指向“第二段表”
下级表指针 Void* 指向下一级表的指针,如果为空,表示没有该路由项。
“第二段表”的数据结构定义
名称(name) 类型(type) 含义(Description)
下级表指针 void* 指向下一级表的指针,如果为空,表示没有该路由项。
“MASK桶索引”的表项数量不固定,按照掩码1的位数从少到多排列“MASK桶指针”,数据结构定义如下:
“MASK桶索引”的数据结构定义
名称(name) 类型(type) 含义(Description)
MASK桶数 int 指明本索引下有多少个表项。
MASK桶指针数组 指针数组 指向MASK桶的数组。
“IP顺序查找表”是一个可随机查找的数组,将每个表项按照IP地址的32位无符号整型数的大小按照从小到大顺序排列,如果采用标准C++库,可以用vector对象来实现,如果采用标准C,采用以下数据结构定义:
“IP顺序查找表”的数据结构定义
名称(name) 类型(type) 含义(Description)
本桶中的当前表项数量 int 指明本桶中的当前表项的数量。
本桶可容纳的最大表项 int 指明本桶可以容纳的最大表项的数量。
IP地址数组 64位无符号整型数组 高32位用来存放IP地址,低32位用来存放指向该IP地址对应的信息的指针。
在加载IP地址库的时候,该结构可动态进行分配,当新加入表项前,“本桶中的当前表项数量”和“本桶可容纳的最大表项”相等时,需要为该桶重新分配更大的空间,并用得到的新地址更新在“MASK桶索引”中的相应的指针。
如图2所示,为5个IP段组成的地址库数据结构示意图,
假设有以下5个IP段组成的地址库:
    序号  子网IP  MASK
    1  61.175.0.0  255.255.0.0
    2  62.2.0.0  255.254.0.0
    3  62.4.0.0  255.254.0.0
    4  129.27.4.0  255.255.255.0
    5  202.57.3.128  255.255.255.128
那么初始化过程如下:
首先初始化“第一段表”,表项全部清零。
读取第一个IP段,61.175.0.0/255.255.0.0,因为子网IP的第一段为61,所以是A类地址。并且通过MASK值知道,掩码位数为16位,并且子网IP对应的4字节32位无符号数表示为:0x3DAF0000。
因为在“第一段表”中,序号为61的项当时为0,所以,创建一个“MASK桶索引”,并将其所有表项初始化为0,然后在“第一段表”的序号61的项中填入指向新创建的“MASK桶索引”的指针。
根据掩码位数为16,由于新创建的“MASK桶索引”表的第16-8=8项为0,表示尚未创建该MASK对应的“IP列表”,则创建一个可动态分配空间的“IP列表”(如动态数组方式),并将当前“MASK桶索引”的第7项的值指向新创建的“IP列表”,然后在该“IP列表”中加入0x3DAF0000,并完成对第一个IP段的处理。
读取第二个IP段,62.2.0.0/255.254.0.0,它为A类地址,掩码位数15位,子网IP对应的4字节32位无符号数表示为:0x3E020000。
初始化操作步骤与第一个步骤类似。
读取第三个IP段,62.4.0.0/255.254.0.0,它为A类地址,掩码位数15位,子网IP对应的4字节32位无符号数表示为:0x3E040000。
由于“第一段表”中的序号为62的表项经过第二个IP段的处理,已经不为0,所以没有必要创建新的“MASK桶索引”,而根据该表项所设置的指针,得到原先创建的“MASK桶索引”,另外,由于第15-8=7的表项中的指针值不为0,因此,根据该指针值得到“IP列表”,并将0x3E040000的值按从小到大的顺序填入该“IP列表”中。
读取第四个IP段,129.27.4.0/255.255.255.0,它为B类地址,掩码位数24位,子网IP对应的4字节32位无符号数表示为:0x811B0400。
创建一个“第二段表”,并将该表的所有表项清0,在“第一段表”的序号为129的表项中设置指针指向“第二段表”。
然后再创建一个新的“MASK桶索引”,并将当前“第二段表”的序号为27的表项中设置指针指向新的“MASK桶索引”,接下去的操作和第一个IP段的处理一样。
读取第五个IP段,202.57.3.128/255.255.255.128,它为C类地址,在本文中归为B类,掩码位数为25位,子网IP对应的4字节32位无符号数表示为:0xCA390380。
操作过程和第四个IP段的处理一样,经过初始化,已经创建了如下图3的数据结构。
如图3所示,为本发明的实现方法的查找操作的步骤流程图,
查找的操作步骤如下:
1)根据传入的IP地址判断是A类还是B类地址,并根据IP地址高8位在“第一段表”中定位表项,如果表项中的指针值为0,则返回未匹配错误;
2)如果是A类地址,根据步骤1)中得到的指针,获取“MASK桶索引表”的地址,并转到步骤4)执行。
3)如果是B类地址,根据步骤1)中得到的指针,获取“第二段表”的地址,并根据IP地址次高8位在当前“第二段表”中定位表项,如果表项中的指针值为0,则返回未匹配错误。否则,根据该指针值,得到“MASK桶索引表”的地址;
4)对得到的“MASK桶索引表”的地址,按照掩码1的位数,从多到少,依次对“IP顺序查找表”进行二分查找,如果找到,则返回匹配正确信息,否则返回未匹配错误。
下面,对以上初始化建立的结构进行查找操作。
判断61.176.1.1,62.3.1.4,202.58.3.129三个IP地址是否在IP地址库中。
对于61.176.1.1,该IP地址对应的4字节32位无符号数表示为0x3DB00101。由于该IP地址第一段为61,则在“第一段表”得到序号61的指针值,并根据指针值得到其指向的“MASK桶索引”。
然后按照掩码1的位数从多到少,依次对“MASK桶索引”进行扫描,因为只有序号为8的表项,即对应MASK位数为16的表项指针值不为0,所以根据该指针值,得到其指向的“IP列表”,因为MASK位数为16的4字节32位无符号数表示为0xFFFF0000,需要查找的IP地址为0x3DB00101,其对应的IP段的值为0x3DB00101&0xFFFF0000=0x3DB00000,而IP列表中只有0x3DAF0000的表项,因为该IP地址不在IP地址库中。
对于62.3.1.4,该IP地址对应的4字节32位无符号数表示为0x3E030104。由于该IP地址第一段为62,则在“第一段表”得到序号62的指针值,并根据指针值得到其指向的MASK桶索引。
然后按照掩码1的位数从多到少对MASK桶索引进行扫描,因为只有序号为7的表项,即对应MASK位数为15的表项指针值不为0,所以根据该指针值,得到其指向的“IP列表”,因为MASK位数为15的4字节32位无符号数表示为0xFFFE0000,需要查找的IP地址为0x3E030104,其对应的IP段的值为0x3E030104&0xFFFE0000=0x3E020000,而IP列表中确实有0x3E020000的表项,因为该IP地址在IP地址库中。由于IP列表中的值是按照32位无符号数值的大小从小到大按顺序排列,所以实际查找过程中可以采用二分算法进行查找。
对于202.58.3.129,该IP地址对应的4字节32位无符号数表示为0xCA3A0381。由于该IP地址第一段为202,则在“第一段表”得到序号202的指针值,并根据指针值得到其指向的“第二段表”。
由于该IP地址第二段为58,由于当前“第二段表”中序号为58的表项指针值为0,表示其下面没有“MASK桶索引”,因此,可以立即断定该IP地址肯定不在IP地址库中。

Claims (1)

1.一种基于内存的IP地址最长匹配快速查找的方法,其特征在于,采用C、C++语言编程实现,运行于基于X86架构的PC服务器,或运行在防火墙、路由器网络设备中,其方法为:
(一):创建IP地址库加载到内存中的数据结构
1)首先执行初始化操作,将IP地址库加载到内存中来,建立“第一段表”进行A、B类地址分别进行处理,将高8位<128的IP地址库列入A类,强高8位>128IP的地址库列入B类,并初始化该表中的内容为0;
2)如果没有更多的IP地址记录,则结束;
否则读取一个IP地址库中的IP地址/MASK对,先根据IP地址判断是A类还是B类地址,如果在“第一段表”中的指针为0,并且是A类地址,执行步骤3);如果在“第一段表”中的指针为0,并且是B类地址,则执行步骤6);如果在“第一段表”中的指针不为0,并且是A类地址,得到表项中指针指向的“MASK桶索引表”,并转向步骤4);否则,得到表项中指针指向的“MASK桶索引表”,执行步骤7);
3)创建一个表项数为24个的“MASK桶索引表”,将所有表项初始化为0;
4)根据掩码1的位数在“MASK桶索引表”中定位到相应的表项,如果该表项的指针为0,创建一个新的“IP顺序查找表”,并将该表项的指针指向新的“IP顺序查找表”;
5)在上一步得到的“IP顺序查找表中”将新的IP插入,并转到步骤2);
6)创建一个新的“第二段表”,将所有表项初始化为0,并将“第一段表”中该项的指针指向新创建的“第二段表”;
7)根据IP地址的次高8定位当前“第二段表”中的表项,判断表项中的指针值是否为0,如果是,创建一个表项数为16个的“MASK桶索引表”,并将所有表项初始化为0,并最后转到步骤4);
(二)快速查找的方法:
1)根据传入的IP地址判断是A类还是B类地址,并根据IP地址高8位在“第一段表”中定位表项,如果表项中的指针值为0,则返回未匹配错误;
2)如果是A类地址,根据步骤1)中得到的指针,获取“MASK桶索引表”的地址,并转到步骤4)执行。
3)如果是B类地址,根据步骤1)中得到的指针,获取“第二段表”的地址,并根据IP地址次高8位在当前“第二段表”中定位表项,如果表项中的指针值为0,则返回未匹配错误。否则,根据该指针值,得到“MASK桶索引表”的地址;
4)对得到的“MASK桶索引表”的地址,按照掩码1的位数,从多到少,依次对“IP顺序查找表”进行二分查找,如果找到,则返回匹配正确信息,否则返回未匹配错误。
CN200610024890A 2006-03-21 2006-03-21 一种基于内存的ip地址最长匹配快速查找的方法 Expired - Fee Related CN101043421B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200610024890A CN101043421B (zh) 2006-03-21 2006-03-21 一种基于内存的ip地址最长匹配快速查找的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200610024890A CN101043421B (zh) 2006-03-21 2006-03-21 一种基于内存的ip地址最长匹配快速查找的方法

Publications (2)

Publication Number Publication Date
CN101043421A true CN101043421A (zh) 2007-09-26
CN101043421B CN101043421B (zh) 2010-05-12

Family

ID=38808640

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200610024890A Expired - Fee Related CN101043421B (zh) 2006-03-21 2006-03-21 一种基于内存的ip地址最长匹配快速查找的方法

Country Status (1)

Country Link
CN (1) CN101043421B (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102035727A (zh) * 2010-11-17 2011-04-27 杭州华三通信技术有限公司 一种路由的处理方法和设备
CN101437016B (zh) * 2007-11-16 2012-06-06 北京乾坤化物数字技术有限公司 ip地址结构树的构建方法
CN102710780A (zh) * 2012-06-08 2012-10-03 深信服网络科技(深圳)有限公司 全局负载均衡的方法、负载均衡设备及客户端
CN103049445A (zh) * 2011-10-12 2013-04-17 腾讯科技(深圳)有限公司 一种查询图片信息的方法、系统和图片状态服务器
CN104980364A (zh) * 2015-06-23 2015-10-14 浪潮电子信息产业股份有限公司 一种基于智能查找算法的链路负载均衡方法
CN106709065A (zh) * 2017-01-19 2017-05-24 国家电网公司 一种地址信息标准化处理方法及装置
CN106940708A (zh) * 2017-01-23 2017-07-11 北京思特奇信息技术股份有限公司 一种基于二分查找法实现ip范围定位的方法及系统
CN107124480A (zh) * 2017-04-28 2017-09-01 上海斐讯数据通信技术有限公司 一种网络协议地址‑地域信息匹配方法及系统
CN109688117A (zh) * 2018-12-11 2019-04-26 国家电网公司信息通信分公司 一种大容量ip地址拦截方法和设备
CN111651487A (zh) * 2020-05-25 2020-09-11 上海寒武纪信息科技有限公司 处理装置及方法
CN111797180A (zh) * 2020-05-21 2020-10-20 网宿科技股份有限公司 地理位置信息索引的建立及信息查询方法、电子设备
CN113032291A (zh) * 2021-03-31 2021-06-25 四川长虹空调有限公司 优化数据内存分配的方法、及查找数据与改写数据的方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1148929C (zh) * 2000-03-29 2004-05-05 华为技术有限公司 Ip查找的一种快速修改方法
CN1216473C (zh) * 2003-03-28 2005-08-24 清华大学 支持多个下一跳的三态内容可寻址存储器查找方法及系统

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101437016B (zh) * 2007-11-16 2012-06-06 北京乾坤化物数字技术有限公司 ip地址结构树的构建方法
CN102035727B (zh) * 2010-11-17 2013-01-09 杭州华三通信技术有限公司 一种路由的处理方法和设备
CN102035727A (zh) * 2010-11-17 2011-04-27 杭州华三通信技术有限公司 一种路由的处理方法和设备
CN103049445A (zh) * 2011-10-12 2013-04-17 腾讯科技(深圳)有限公司 一种查询图片信息的方法、系统和图片状态服务器
CN103049445B (zh) * 2011-10-12 2017-10-27 深圳市世纪光速信息技术有限公司 一种查询图片信息的方法、系统和图片状态服务器
CN102710780A (zh) * 2012-06-08 2012-10-03 深信服网络科技(深圳)有限公司 全局负载均衡的方法、负载均衡设备及客户端
CN104980364A (zh) * 2015-06-23 2015-10-14 浪潮电子信息产业股份有限公司 一种基于智能查找算法的链路负载均衡方法
CN106709065B (zh) * 2017-01-19 2020-08-04 国家电网公司 一种地址信息标准化处理方法及装置
CN106709065A (zh) * 2017-01-19 2017-05-24 国家电网公司 一种地址信息标准化处理方法及装置
CN106940708A (zh) * 2017-01-23 2017-07-11 北京思特奇信息技术股份有限公司 一种基于二分查找法实现ip范围定位的方法及系统
CN107124480A (zh) * 2017-04-28 2017-09-01 上海斐讯数据通信技术有限公司 一种网络协议地址‑地域信息匹配方法及系统
CN107124480B (zh) * 2017-04-28 2020-12-18 国网上海市电力公司 一种网络协议地址-地域信息匹配方法及系统
CN109688117A (zh) * 2018-12-11 2019-04-26 国家电网公司信息通信分公司 一种大容量ip地址拦截方法和设备
CN109688117B (zh) * 2018-12-11 2021-10-15 国家电网公司信息通信分公司 一种大容量ip地址拦截方法和设备
CN111797180A (zh) * 2020-05-21 2020-10-20 网宿科技股份有限公司 地理位置信息索引的建立及信息查询方法、电子设备
CN111651487A (zh) * 2020-05-25 2020-09-11 上海寒武纪信息科技有限公司 处理装置及方法
CN111651487B (zh) * 2020-05-25 2023-06-27 上海寒武纪信息科技有限公司 处理装置及方法
CN113032291A (zh) * 2021-03-31 2021-06-25 四川长虹空调有限公司 优化数据内存分配的方法、及查找数据与改写数据的方法
CN113032291B (zh) * 2021-03-31 2023-05-26 四川长虹空调有限公司 查找数据与改写数据的方法

Also Published As

Publication number Publication date
CN101043421B (zh) 2010-05-12

Similar Documents

Publication Publication Date Title
CN101043421A (zh) 一种基于内存的ip地址最长匹配快速查找的方法
CN1179523C (zh) 用于四路散列表的方法和装置
CN1826591A (zh) 反向路径转发保护
US8027961B2 (en) System and method for composite record keys ordered in a flat key space for a distributed database
CN1811767A (zh) 用于提供带有自动搜索菜单的用户界面的系统和方法
CN1949220A (zh) 网络社区动态目录的构建系统和方法
CN1828556A (zh) 一种数据存储的方法、系统及设备
US10783153B2 (en) Efficient internet protocol prefix match support on No-SQL and/or non-relational databases
CN1543150A (zh) 分组分类装置和使用字段级特里结构的方法
CN1912870A (zh) 一种哈希表查表方法
CN1897560A (zh) 一种提高路由表容量的方法
CN1878164A (zh) E.164号码域名存储和查询方法
CN1567907A (zh) 一种网络地址资源的利用方法
CN1777154A (zh) 用于对应用组件的接口的方法和系统
CN1859208A (zh) 一种tcam路由表管理方法和系统
CN1687899A (zh) 将应用程序动态下载到用户识别模块的方法、系统及模块
CN1866218A (zh) 软件系统的资源管理方法
US7774311B2 (en) Method and apparatus of distributing data in partioned databases operating on a shared-nothing architecture
CN1243431C (zh) 宽带网络通信产品的通用路由平台命令行的解析方法
CN1553332A (zh) 基于插件技术的设备集中管理方法
CN1866203A (zh) 一种字符串引用方法
CN108509585A (zh) 一种异构数据实时交互优化处理方法
CN100352233C (zh) 路由表的组织与查找方法
CN1317874C (zh) 提供虚拟主机服务快速查询置换的网络地址端口转换网关器与方法
CN111819552A (zh) 访问控制列表的管理方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C56 Change in the name or address of the patentee

Owner name: SHANGHAI JOY NETWORK CO., LTD.

Free format text: FORMER NAME: SHANGHAI JIDONG COMMUNICATION CO., LTD.

CP03 Change of name, title or address

Address after: 200235, 7-9 floor, science and Technology Publishing House, 71 South Road, Xuhui District, Shanghai, Qinzhou

Patentee after: Shanghai excited Network Co., Ltd.

Address before: 200030 Shanghai city tianyueqiaolu 333 Pengfei Building 8 floor

Patentee before: Shanghai Jidong Communication Co., Ltd.

C56 Change in the name or address of the patentee

Owner name: SHANGHAI JOY NETWORK SHARES CO., LTD.

Free format text: FORMER NAME: SHANGHAI JOY NETWORK CO., LTD.

CP01 Change in the name or title of a patent holder

Address after: 200235, 7-9 floor, science and Technology Publishing House, 71 South Road, Xuhui District, Shanghai, Qinzhou

Patentee after: Shanghai excited Network Inc

Address before: 200235, 7-9 floor, science and Technology Publishing House, 71 South Road, Xuhui District, Shanghai, Qinzhou

Patentee before: Shanghai excited Network Co., Ltd.

C56 Change in the name or address of the patentee
CP01 Change in the name or title of a patent holder

Address after: 200235, 7-9 floor, science and Technology Publishing House, 71 South Road, Xuhui District, Shanghai, Qinzhou

Patentee after: Shanghai entertainment culture communication Limited by Share Ltd

Address before: 200235, 7-9 floor, science and Technology Publishing House, 71 South Road, Xuhui District, Shanghai, Qinzhou

Patentee before: Shanghai excited Network Inc

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100512

Termination date: 20170321