CN113873056A - 一种ip快速范围匹配的方法及系统 - Google Patents

一种ip快速范围匹配的方法及系统 Download PDF

Info

Publication number
CN113873056A
CN113873056A CN202111126037.5A CN202111126037A CN113873056A CN 113873056 A CN113873056 A CN 113873056A CN 202111126037 A CN202111126037 A CN 202111126037A CN 113873056 A CN113873056 A CN 113873056A
Authority
CN
China
Prior art keywords
range
address
value
matching
linked list
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
CN202111126037.5A
Other languages
English (en)
Other versions
CN113873056B (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.)
Fujian Tianqing Online Interactive Technology Co Ltd
Original Assignee
Fujian Tianqing Online Interactive 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 Fujian Tianqing Online Interactive Technology Co Ltd filed Critical Fujian Tianqing Online Interactive Technology Co Ltd
Priority to CN202111126037.5A priority Critical patent/CN113873056B/zh
Publication of CN113873056A publication Critical patent/CN113873056A/zh
Application granted granted Critical
Publication of CN113873056B publication Critical patent/CN113873056B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/10Mapping addresses of different types
    • H04L61/103Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • G06F16/90344Query processing by using string matching techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供了一种IP快速范围匹配的方法,所述方法包括以下步骤:步骤S1、加载IP范围列表文件,解析IP范围地址,并将解析出的IP首地址为key密钥,将IP范围地址的起始值和结束值的结构体链表value函数的Map对象中;步骤S2、将Map对象中的IP范围地址的起始值和结束值的结构体链表按照从小到大的顺序进行排序、去重、去包含,整合连接IP范围地址;步骤S3、将待匹配的IP字符串首地址以及整体转化为ULONG整数类型值A和B;步骤S4、判断匹配是否成功,是,则返回对应的IP范围地址的链表,使用二分查找算法在链表中匹配ULONG整数类型值B,并返回匹配结果,否,则返回待匹配IP范围地址不在IP范围内;本发明能够实现待匹配的IP范围地址进行IP匹配。

Description

一种IP快速范围匹配的方法及系统
技术领域
本发明涉及计算机网络技术领域,特别是一种IP快速范围匹配的方法及系统。
背景技术
目前的IP限制一般采用软件防火墙或者硬件防火墙的方式进行限制,但是软件防火墙的范围匹配算法效率低、维护困难;硬件防火墙存在高昂的采购价格,配置规则复杂、维护困难等问题。
发明内容
为克服上述问题,本发明的目的是提供一种能够实现在IP范围地址进行IP匹配的方法。
本发明采用以下方案实现:一种IP快速范围匹配的方法,所述方法包括以下步骤:
步骤S1、加载IP范围列表文件,解析IP范围地址,并将解析出的IP首地址为key密钥,将IP范围地址的起始值和结束值的结构体链表value函数的Map对象中;
步骤S2、将Map对象中的IP范围地址的起始值和结束值的结构体链表按照从小到大的顺序进行排序、去重、去包含,整合连接IP范围地址,减少结构体链表的内容;
步骤S3、将待匹配的IP字符串首地址以及整体转化为ULONG整数类型值A和B,使用ULONG整数类型值A为key密钥到Map对象中匹配;
步骤S4、判断匹配是否成功,是,则返回对应的IP范围地址的链表,使用二分查找算法在链表中匹配ULONG整数类型值B,并返回匹配结果,否,则返回待匹配IP范围地址不在IP范围内,从而能够实现待匹配的IP范围地址进行IP匹配。
进一步的,所述步骤S1进一步具体为:通过fopen函数打开本地文件,然后通过fgets函数循环读取一行文件内容,从文件中每次一行,循环读取IP范围地址内容,解析IP范围地址,并将其保存到以IP首地址为Key密钥,IP范围地址的起始值和结束值的结构体链表为value函数的Map对象中;将IP范围地址转化为Map对象的流程为:按分割符分割IP范围地址字符串和Mask字符串,将IP字符串分割并按规则转化为ULONG类型整数ulIP及首地址u1,将Mask字符串转化为整数类型,并按公式转化为IP的起始值和结束值并保存到IpRang结构体中,将IpRang结构体保存到Map对象u1为Key密钥对应的IP范围地址的链表中。
进一步的,所述步骤S2中的整合连接IP范围地址具体为:遍历整个IP范围地址的List链表,每次二个结构体进行比较,每次递增一位,依次循环,直至最后一个结构体。
进一步的,所述步骤S4中的二分查找算法具体为:整个IP范围地址的链表从小到大排序,通过每次取中间的值与要匹配的值进行匹配。
本发明还提供了一种IP快速范围匹配的系统,包括加载模块、整合模块、匹配模块和判断模块,所述加载模块,即加载IP范围列表文件,解析IP范围地址,并将解析出的IP首地址为key密钥,将IP范围地址的起始值和结束值的结构体链表value函数的Map对象中;所述整合模块,即将Map对象中的IP范围地址的起始值和结束值的结构体链表按照从小到大的顺序进行排序、去重、去包含,整合连接IP范围地址,减少结构体链表的内容;所述匹配模块,即将待匹配的IP字符串首地址以及整体转化为ULONG整数类型值A和B,使用ULONG整数类型值A为key密钥到Map对象中匹配;所述判断模块,即判断匹配是否成功,是,则返回对应的IP范围地址的链表,使用二分查找算法在链表中匹配ULONG整数类型值B,并返回匹配结果,否,则返回待匹配IP范围地址不在IP范围内,从而能够实现待匹配的IP范围地址进行IP匹配。
进一步的,所述加载模块进一步具体为:通过fopen函数打开本地文件,然后通过fgets函数循环读取一行文件内容,从文件中每次一行,循环读取IP范围地址内容,解析IP范围地址,并将其保存到以IP首地址为Key密钥,IP范围地址的起始值和结束值的结构体链表为value函数的Map对象中;将IP范围地址转化为Map对象的流程为:按分割符分割IP范围地址字符串和Mask字符串,将IP字符串分割并按规则转化为ULONG类型整数ulIP及首地址u1,将Mask字符串转化为整数类型,并按公式转化为IP的起始值和结束值并保存到IpRang结构体中,将IpRang结构体保存到Map对象u1为Key密钥对应的IP范围地址的链表中。
进一步的,所述整个号模块中的整合连接IP范围地址具体为:遍历整个IP范围地址的List链表,每次二个结构体进行比较,每次递增一位,依次循环,直至最后一个结构体。
进一步的,所述判断模块中的二分查找算法具体为:整个IP范围地址的链表从小到大排序,通过每次取中间的值与要匹配的值进行匹配。
本发明的有益效果在于:本发明能够在十几万条待匹配的IP范围地址进行IP匹配,达到了微秒级的响应速度;应用在游戏账号服务端,通过灵活控制IP的放行以及限制,保证账服长久稳定运行,为游戏用户正常登录游戏提供保障,提升游戏用户的体验。
附图说明
图1是本发明的方法流程示意图。
图2是本发明的系统原理框图。
具体实施方式
下面结合附图对本发明做进一步说明。
请参阅图1所示,本发明的一种IP快速范围匹配的方法,所述方法包括以下步骤:
步骤S1、加载IP范围列表文件,解析IP范围地址,并将解析出的IP首地址为key密钥,将IP范围地址的起始值和结束值的结构体链表value函数的Map对象中;
步骤S2、将Map对象中的IP范围地址的起始值和结束值的结构体链表按照从小到大的顺序进行排序、去重、去包含,整合连接IP范围地址,减少结构体链表的内容;
步骤S3、将待匹配的IP字符串首地址以及整体转化为ULONG整数类型值A和B,使用ULONG整数类型值A为key密钥到Map对象中匹配;
步骤S4、判断匹配是否成功,是,则返回对应的IP范围地址的链表,使用二分查找算法在链表中匹配ULONG整数类型值B,并返回匹配结果,否,则返回待匹配IP范围地址不在IP范围内,从而能够实现待匹配的IP范围地址进行IP匹配。
下面通过一具体实施例对本发明作进一步说明:
1.加载IP范围列表文件,从文件中每次一行,循环读取IP范围地址内容,解析IP范围地址,并将其保存到以IP首地址为Key,IP起始值和结束值的结构体链表为value函数的Map对象中;通过fopen函数打开本地文件,然后通过fgets函数循环读取一行文件内容,并按指定规则解析;
例:122.191.32.0/19转化到Map对象122←→{2059345920,2059354111}。
122.191.32.0/19转化流程:122.191.32.0/19--就是从文件中读取出来一行的内容;
流程一、按“/”分割为IP字符串“122.191.32.0”和Mask字符串“19”。
流程二、将IP字符串分割并按规则转化为ULONG类型整数ulIP及首地址u1;通过sscanf_s函数,将IP字符串按“%u.%u.%u.%u”分割为4个无符号类型变量u1\u2\u3\u4,并判断每个变量是否小于等于255。如果有大于255的就说明这个IP字符串不是正确的,不再进行下去。如果都小于等于255,将其转化为无符号长整型数据UlIP,其值等于u1乘于256的立方加上u2乘于256的平方加上u3乘于256加上u4。
流程三、将Mask字符串转化为整数类型,并按公式转化为IP的起始值和结束值并保存到IpRang结构体中;通过atoi函数,将步骤一中得到的Mask字符串“9”转化为整型数值9,将0xFFFFFFFF右移9位,并取反得到nMask的值;将步骤二中得到的ulIP按位与上nMask,得到IP范围的起始值;将IP范围的起始值按位或上nMask取反的值,得到IP范围的结束值;
流程四、将IpRang结构体保存到map对象u1为Key对应的Ip范围地址链表中。
Map对象:以Ip首地址对应←→存放IP范围起始值和结束值的链表;
List对象:存放一个或者多个IP范围结构体的链表;
List对象中存放的结构体:IP范围的起始值和结束值(IP_RANG一个表示IP范围的结构体,里面有二个无符号长整理变量,dwStartIp表示起始值,dwEndIp表示结束值。List链表里面存放着一个或者多个这样的结构体。例:有一个IP字符串的范围,经过转化表示1000-1100的都在这个范围内,那个dwStartIp的值就是1000,dwEndIp的值就是1100)。
2.对Map中的保存IP起始值和结束值的结构体链表首先按照从小到大的顺序进行排序、去重、去包含、整合连接的Ip范围,减少链表的内容。所述整合连接的Ip范围具体为:遍历整个List链表,每次二个结构体(A-B)进行比较,每次递增一位(像A-B,B-C,C-D这样一直循环,只到最后一个结构体)。整合一:B的开始值减A的结束值等于1(A、B的范围是连续的),或者B的开始值等于A的开始值并且B的结束值大于A的结束值(B的范围包含A的范围,A、B的起始值相同),那么将B的结束值赋于A的结束值,并将B删除。
整合二:B的开始值小于等于A的结束值,并且B的结束值也小于等于A的结束值(A的范围包含了B的范围),直接将B删除。
整合三:B的开始值小于等于A的结束值,但是B的结束值也大于A的结束值(A的范围和B的范围部分重合),那么将B的结束值赋于A的结束值,并将B删除。
3.将待匹配的IP字符串首地址以及整体转化为ULONG整数类型值A和B,使用A为Key到Map中匹配,匹配失败则返回待匹配IP不在Ip范围内;匹配成功返回对应的IP范围地址的链表C,使用自定义二分查找算法在链表C中匹配B,并返回匹配结果。
所述二分查找算法具体为:因为整个链表是按从小到大排序的。二分查找法也就是对半查找法。每次都是取中间的值与要匹配的值进对匹配。
有10000个IP地址,我要匹配最后一个IP地址。
按顺序匹配->需要10000次。
二分查找法->需要14次。
举例说明:
如果我要匹配的是6000。
取得5000的值与6000对比,结果是5000比6000小,范围就变成了5000-10000。
从5000-10000取对半与6000对比,即7500与6000对比,结果是7500比6000大,范围变成5000-7500。
从5000-7500取对半与6000对比,即6250与6000对比,结果是6250比6000大,范围变成5000-6250。
以此类推,直到匹配成功,或者到最后范围只有一个值的时候都没有匹配成功。
总之,将需要匹配的IP范围地址列表加载到内存,以特定的格式储存,(特定的格式:保存IP地址范围的结构定义,能储存到内存中)将需要匹配的IP地址转化为特定类型(IP_RANG结构体)数据,采用二分法与内存中特定格式的IP范围列表进行匹配,并反馈匹配结果;反馈给调用方,返回true(正确)或者false(错误),也就是表示匹配成功或者失败。
请参阅图2所示,本发明还提供了一种IP快速范围匹配的系统,包括加载模块、整合模块、匹配模块和判断模块,所述加载模块,即加载IP范围列表文件,解析IP范围地址,并将解析出的IP首地址为key密钥,将IP范围地址的起始值和结束值的结构体链表value函数的Map对象中;所述整合模块,即将Map对象中的IP范围地址的起始值和结束值的结构体链表按照从小到大的顺序进行排序、去重、去包含,整合连接IP范围地址,减少结构体链表的内容;所述匹配模块,即将待匹配的IP字符串首地址以及整体转化为ULONG整数类型值A和B,使用ULONG整数类型值A为key密钥到Map对象中匹配;所述判断模块,即判断匹配是否成功,是,则返回对应的IP范围地址的链表,使用二分查找算法在链表中匹配ULONG整数类型值B,并返回匹配结果,否,则返回待匹配IP范围地址不在IP范围内,从而能够实现待匹配的IP范围地址进行IP匹配。
所述加载模块进一步具体为:通过fopen函数打开本地文件,然后通过fgets函数循环读取一行文件内容,从文件中每次一行,循环读取IP范围地址内容,解析IP范围地址,并将其保存到以IP首地址为Key密钥,IP范围地址的起始值和结束值的结构体链表为value函数的Map对象中;将IP范围地址转化为Map对象的流程为:按分割符分割IP范围地址字符串和Mask字符串,将IP字符串分割并按规则转化为ULONG类型整数ulIP及首地址u1,将Mask字符串转化为整数类型,并按公式转化为IP的起始值和结束值并保存到IpRang结构体中,将IpRang结构体保存到Map对象u1为Key密钥对应的IP范围地址的链表中。
所述整个号模块中的整合连接IP范围地址具体为:遍历整个IP范围地址的List链表,每次二个结构体进行比较,每次递增一位,依次循环,直至最后一个结构体。
所述判断模块中的二分查找算法具体为:整个IP范围地址的链表从小到大排序,通过每次取中间的值与要匹配的值进行匹配。
以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。

Claims (8)

1.一种IP快速范围匹配的方法,其特征在于,所述方法包括以下步骤:
步骤S1、加载IP范围列表文件,解析IP范围地址,并将解析出的IP首地址为key密钥,将IP范围地址的起始值和结束值的结构体链表value函数的Map对象中;
步骤S2、将Map对象中的IP范围地址的起始值和结束值的结构体链表按照从小到大的顺序进行排序、去重、去包含,整合连接IP范围地址,减少结构体链表的内容;
步骤S3、将待匹配的IP字符串首地址以及整体转化为ULONG整数类型值A和B,使用ULONG整数类型值A为key密钥到Map对象中匹配;
步骤S4、判断匹配是否成功,是,则返回对应的IP范围地址的链表,使用二分查找算法在链表中匹配ULONG整数类型值B,并返回匹配结果,否,则返回待匹配IP范围地址不在IP范围内,从而能够实现待匹配的IP范围地址进行IP匹配。
2.根据权利要求1所述的一种IP快速范围匹配的方法,其特征在于:所述步骤S1进一步具体为:通过fopen函数打开本地文件,然后通过fgets函数循环读取一行文件内容,从文件中每次一行,循环读取IP范围地址内容,解析IP范围地址,并将其保存到以IP首地址为Key密钥,IP范围地址的起始值和结束值的结构体链表为value函数的Map对象中;将IP范围地址转化为Map对象的流程为:按分割符分割IP范围地址字符串和Mask字符串,将IP字符串分割并按规则转化为ULONG类型整数ulIP及首地址u1,将Mask字符串转化为整数类型,并按公式转化为IP的起始值和结束值并保存到IpRang结构体中,将IpRang结构体保存到Map对象u1为Key密钥对应的IP范围地址的链表中。
3.根据权利要求1所述的一种IP快速范围匹配的方法,其特征在于:所述步骤S2中的整合连接IP范围地址具体为:遍历整个IP范围地址的List链表,每次二个结构体进行比较,每次递增一位,依次循环,直至最后一个结构体。
4.根据权利要求1所述的一种IP快速范围匹配的方法,其特征在于:所述步骤S4中的二分查找算法具体为:整个IP范围地址的链表从小到大排序,通过每次取中间的值与要匹配的值进行匹配。
5.一种IP快速范围匹配的系统,其特征在于:包括加载模块、整合模块、匹配模块和判断模块,所述加载模块,即加载IP范围列表文件,解析IP范围地址,并将解析出的IP首地址为key密钥,将IP范围地址的起始值和结束值的结构体链表value函数的Map对象中;所述整合模块,即将Map对象中的IP范围地址的起始值和结束值的结构体链表按照从小到大的顺序进行排序、去重、去包含,整合连接IP范围地址,减少结构体链表的内容;所述匹配模块,即将待匹配的IP字符串首地址以及整体转化为ULONG整数类型值A和B,使用ULONG整数类型值A为key密钥到Map对象中匹配;所述判断模块,即判断匹配是否成功,是,则返回对应的IP范围地址的链表,使用二分查找算法在链表中匹配ULONG整数类型值B,并返回匹配结果,否,则返回待匹配IP范围地址不在IP范围内,从而能够实现待匹配的IP范围地址进行IP匹配。
6.根据权利要求5所述的一种IP快速范围匹配的系统,其特征在于:所述加载模块进一步具体为:通过fopen函数打开本地文件,然后通过fgets函数循环读取一行文件内容,从文件中每次一行,循环读取IP范围地址内容,解析IP范围地址,并将其保存到以IP首地址为Key密钥,IP范围地址的起始值和结束值的结构体链表为value函数的Map对象中;将IP范围地址转化为Map对象的流程为:按分割符分割IP范围地址字符串和Mask字符串,将IP字符串分割并按规则转化为ULONG类型整数ulIP及首地址u1,将Mask字符串转化为整数类型,并按公式转化为IP的起始值和结束值并保存到IpRang结构体中,将IpRang结构体保存到Map对象u1为Key密钥对应的IP范围地址的链表中。
7.根据权利要求5所述的一种IP快速范围匹配的系统,其特征在于:所述整个号模块中的整合连接IP范围地址具体为:遍历整个IP范围地址的List链表,每次二个结构体进行比较,每次递增一位,依次循环,直至最后一个结构体。
8.根据权利要求5所述的一种IP快速范围匹配的系统,其特征在于:所述判断模块中的二分查找算法具体为:整个IP范围地址的链表从小到大排序,通过每次取中间的值与要匹配的值进行匹配。
CN202111126037.5A 2021-09-24 2021-09-24 一种ip快速范围匹配的方法及系统 Active CN113873056B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111126037.5A CN113873056B (zh) 2021-09-24 2021-09-24 一种ip快速范围匹配的方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111126037.5A CN113873056B (zh) 2021-09-24 2021-09-24 一种ip快速范围匹配的方法及系统

Publications (2)

Publication Number Publication Date
CN113873056A true CN113873056A (zh) 2021-12-31
CN113873056B CN113873056B (zh) 2023-09-26

Family

ID=78994163

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111126037.5A Active CN113873056B (zh) 2021-09-24 2021-09-24 一种ip快速范围匹配的方法及系统

Country Status (1)

Country Link
CN (1) CN113873056B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040267732A1 (en) * 2003-05-01 2004-12-30 Luk Robert Wing Pong Data structure and system for IP address lookup and IP address lookup system
CN101345694A (zh) * 2007-07-11 2009-01-14 上海未来宽带技术及应用工程研究中心有限公司 一种快速查找定位和匹配访问控制列表的方法
CN102984292A (zh) * 2012-12-03 2013-03-20 北京锐安科技有限公司 一种ip段地址集中查找ip地址的方法
CN103581358A (zh) * 2013-10-18 2014-02-12 汉柏科技有限公司 Ip地址列表匹配方法及装置
US20140122791A1 (en) * 2012-10-26 2014-05-01 Cisco Technology, Inc. System and method for packet classification and internet protocol lookup in a network environment
CN106657439A (zh) * 2016-12-06 2017-05-10 东软集团股份有限公司 网络地址转换映射表的操作方法及装置
CN109245879A (zh) * 2018-09-06 2019-01-18 杭州光芯科技有限公司 一种存储和查找ip地址映射关系的双哈希算法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040267732A1 (en) * 2003-05-01 2004-12-30 Luk Robert Wing Pong Data structure and system for IP address lookup and IP address lookup system
CN101345694A (zh) * 2007-07-11 2009-01-14 上海未来宽带技术及应用工程研究中心有限公司 一种快速查找定位和匹配访问控制列表的方法
US20140122791A1 (en) * 2012-10-26 2014-05-01 Cisco Technology, Inc. System and method for packet classification and internet protocol lookup in a network environment
CN102984292A (zh) * 2012-12-03 2013-03-20 北京锐安科技有限公司 一种ip段地址集中查找ip地址的方法
CN103581358A (zh) * 2013-10-18 2014-02-12 汉柏科技有限公司 Ip地址列表匹配方法及装置
CN106657439A (zh) * 2016-12-06 2017-05-10 东软集团股份有限公司 网络地址转换映射表的操作方法及装置
CN109245879A (zh) * 2018-09-06 2019-01-18 杭州光芯科技有限公司 一种存储和查找ip地址映射关系的双哈希算法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
KE YAN: "Research on a low conflict flow matching hash algorithm", IET INTERNATIONAL CONFERENCE ON SMART AND SUSTAINABLE CITY 2013 (ICSSC 2013), pages 229 - 232 *
刘舱强;邓昌胜;余谅;: "基于哈希表的最长前缀匹配算法改进", 微计算机信息, no. 30, pages 149 - 151 *
王亚刚;杜慧敏;杨康平;: "使用Hash表和树位图的两级IPv6地址查找算法", 计算机科学, no. 09, pages 42 - 45 *

Also Published As

Publication number Publication date
CN113873056B (zh) 2023-09-26

Similar Documents

Publication Publication Date Title
CN106852185B (zh) 基于字典的并行压缩编码器
US7685637B2 (en) System security approaches using sub-expression automata
US9043272B2 (en) System and method for determining the start of a match of a regular expression
US20030204584A1 (en) Apparatus and method for pattern matching in text based protocol
US20110078153A1 (en) Efficient retrieval of variable-length character string data
JP4120888B2 (ja) データ検索装置及び方法
Clifford et al. Dictionary matching in a stream
CN110008385B (zh) 一种基于字符串的快速匹配识别方法和装置
US7216364B2 (en) System security approaches using state tables
CN113946546B (zh) 异常检测方法、计算机存储介质及程序产品
EP1744235A1 (en) Method and system for virus detection based on finite automata
CN106716420A (zh) 消息匹配方法、消息匹配装置及计算机程序产品、电子设备
US20230056760A1 (en) Method and apparatus for processing graph data, device, storage medium, and program product
US11947608B2 (en) Search term recommendation method and system based on multi-branch tree
CN113873056A (zh) 一种ip快速范围匹配的方法及系统
US9703484B2 (en) Memory with compressed key
EP1281178B1 (en) Multiple entry matching in a content addressable memory
CN113821630A (zh) 一种数据聚类的方法和装置
US10795580B2 (en) Content addressable memory system
CN106844553A (zh) 基于样本数据的数据探测和扩充方法及装置
CN108304467B (zh) 用于文本间匹配的方法
US7860712B2 (en) Method of storing data in a memory circuit for AHO-corasick type character recognition automaton and corresponding storage circuit
US20160105363A1 (en) Memory system for multiple clients
CN110825846B (zh) 数据处理方法及装置
CN112737831A (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
GR01 Patent grant
GR01 Patent grant