CN110442570A - 一种BitMap高速模糊查找方法 - Google Patents
一种BitMap高速模糊查找方法 Download PDFInfo
- Publication number
- CN110442570A CN110442570A CN201910494160.9A CN201910494160A CN110442570A CN 110442570 A CN110442570 A CN 110442570A CN 201910494160 A CN201910494160 A CN 201910494160A CN 110442570 A CN110442570 A CN 110442570A
- Authority
- CN
- China
- Prior art keywords
- key
- rule
- sub
- tab
- bitmap
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2246—Trees, e.g. B+trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2468—Fuzzy queries
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Fuzzy Systems (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Automation & Control Theory (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种BitMap高速模糊查找方法,其中,包括:软件建立和下发规则表项:将需要五元组组合划分为AVL树;每棵AVL树按照精确匹配优先级最高,模糊匹配精度越高优先级越高的原则存储规则节点,块内和块间按照优先级线性排列;按优先级线性排列,建立Bitmap查找表,五元组信息分割建立查找索引;更新Bitmap时需根据掩码匹配多种组合;基于规则表项信息生成索引Key,然后切分成多块子Key;对IP网络报文的五元组根据索引key查表。本发明改进了内容模糊查找方式的写表查表模式,节省逻辑资源,提高逻辑处理速率,同时以模块化方式多个例化扩展,资源可预估,方便快捷,降低了设计风险。
Description
技术领域
本发明涉及网络通信技术,特别涉及一种BitMap高速模糊查找方法。
背景技术
在网络通信***中经常涉及表项查找处理,传统的表项查找通常采用基于地址的查找方式,即按照地址的顺序逐个对表项进行查找,此方法查找方式不够灵活,而且效率不高。而内容模糊查找方式可以按照指定条件灵活的对表项进行配置,通过调整内容匹配的优先级,提高查找的效率和精确性。
在网络通信***中经常涉及表项查找处理,传统的表项查找通常采用基于地址的查找方式,即按照地址的顺序逐个对表项进行查找,此方法查找方式不够灵活,而且效率不高。而内容模糊查找方式可以按照指定条件灵活的对表项进行配置,通过调整内容匹配的优先级,提高查找的效率和精确性,但现有的写表查表模式,占用大量逻辑资源,降低逻辑处理速率,且不易扩展。
发明内容
本发明的目的在于提供给一种BitMap高速模糊查找方法,用于解决上述现有技术的问题。
本发明一种BitMap高速模糊查找方法,其中,包括:软件建立和下发规则表项:将需要五元组组合划分为AVL树;每棵AVL树按照精确匹配优先级最高,模糊匹配精度越高优先级越高的原则存储规则节点,块内和块间按照优先级线性排列;按优先级线性排列包括:建立Bitmap查找表,五元组信息分割建立查找索引;更新Bitmap时需根据掩码匹配多种组合;基于规则表项信息生成索引Key,然后切分成多块子Key;多块子Key共用多种排列,对应到Bitmap中的匹配状态信息;按照优先级排列下发到逻辑的规则表项;对IP网络报文的五元组根据索引key查表包括:将软件下发的规则表项,依次存入block RAM中,一定容量的block RAM逻辑标记为一个tab表,每个规则表项按照软件的bitmap表模式,以列为单位排列;根据软件下发的规则表项,设置tab地址深度和宽度,表项由每个子Key可能的排列数,按照地址分块,对应地址与子Key的值相同为当前子Key匹配成功;逻辑按照软件下发的规则表项,在所有tab表写完成后,在查索引Key,一个IP网络报文的五元组,在tab中,将索引key切分为多块子key,每块子Key值作为地址读取tab表的数据,1为当前子Key匹配,0为当前子Key不匹配,按照子Key优先级依次取出每块子Key对应tab表的数据,并使用子Key查找的结果进行与运算,计算之后,每个tab表得到1bit的计算结果,tab表共得到匹配对应值mkey,计算mkey对应表项的匹配情况。
根据本发明的BitMap高速模糊查找方法的一实施例,其中,在***内存中建立表项,表项内容根据实际需要填写,表项内容称之为表项要素,表项要素的内部细化为五元组的多个组成元素;包括:AVL树={规则1,规则2,规则3,…规则Y},Y个规则表项组成一棵AVL树;规则N={元素aN,元素bN,元素cN,元素dN,元素eN},一个规则表项包含五个组成元素;软件下发表项到逻辑时,根据需要划分出X棵AVL树,按照优先级线性排列规则表项,依次发送到逻辑。
根据本发明的BitMap高速模糊查找方法的一实施例,其中,五元组组合128bit信息分配包括:{目的ip(32bit),源ip(32bit),协议号(8bit),目的端口(16bit),源端口(16bit),自定义域(24bit)};AVL树1存储的规则优先级最高,AVL树32存储的规则优先级最低,4k条规则表按32*128分块存储。
根据本发明个的BitMap高速模糊查找方法的一实施例,其中,4K条规则按优先级线性排列包括:建立Bitmap查找表,五元组128bit信息按4bit分割建立查找索引;软件下规则表时需同时更新对应的128*512Bitmap表;基于规则表项信息生成128bit的索引Key,然后切分成32块4bit子Key;每个4bit子Key有2^4=16种可能的排列,32块子Key共用16*32=512种排列,对应到Bitmap中512bit的匹配状态信息;128个规则表项就对应128*512=64kbit的匹配状态信息。
根据本发明个的BitMap高速模糊查找方法的一实施例,其中,128个规则表项对应128*512=64k bit的匹配状态信息,Bitmap表共有32个,即按照优先级排列下发到逻辑的4K条规则表项。
根据本发明个的BitMap高速模糊查找方法的一实施例,其中,对IP网络报文的五元组的128bit的索引Key,查表流程包括:首先逻辑将软件下发的4K=64*64条规则表项,依次存入64块36K的block RAM中,36K的block RAM逻辑标记为一个tab表,每个规则表项按照软件的bitmap表模式,以列为单位排列,每个tab表存64个规则表项;根据软件下发的规则表项为512bit,设置tab地址深度为512,宽度为64,512bit的表项由每个4bit子Key有2^4=16种可能的排列,按照地址分出32块,对应地址与子Key的值相同即为当前子Key匹配成功。
根据本发明个的BitMap高速模糊查找方法的一实施例,其中,4K条规则表项在逻辑中的存储方式包括:逻辑按照软件下发的规则表项,在所有tab表写完成后,查索引Key,一个IP网络报文的五元组为128bit的索引Key,在64个tab中,将索引key切分为4bit的32块子key,每块子Key值作为地址读取tab表的数据,64个表项对应子Key在当前地址上的值,1为当前子Key匹配,0为当前子Key不匹配,按照子Key优先级依次取出32块子Key对应tab表的数据,并使用32块子Key查找的结果进行与运算,计算之后,每个tab表得到1bit的计算结果,64个tab表共得到64bit的匹配对应值mkey,mkey的0bit到63bit分别对应0表项到63表项的匹配情况。
根据本发明个的BitMap高速模糊查找方法的一实施例,其中,mkey按照分段相或的方式,从优先级最高的表项位开始,低32bit先做或运算,如果值为0,即前32个表项不匹配,再从剩余32bit做或运算,如果值为0,说明当前mkey不匹配,如果值为1,再分割出16bit做上述操作,直到找到优先级最高的bit位,每个mkey同时得出匹配的bit位,再按照64个tab表的优先级送出优先级最高的bit位。
本发明改进了内容模糊查找方式的写表查表模式,节省逻辑资源,提高逻辑处理速率,同时以模块化方式多个例化扩展,资源可预估,方便快捷,降低了设计风险。
附图说明
图1为AVL树的示意图;
图2所示为AVL树按优先级排列顺序的示意图;
图3所示为4K条按优先级线性排列的规则表项图;
图4所示为128bit的索引Key的示意图;
图5所示为按照优先级排列下发到逻辑的4K条规则表项图;
图6所示为4K条规则表项在逻辑中的存储方式图。
具体实施方式
为使本发明的目的、内容、和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
本发明BitMap高速模糊查找方法包括:软件在***内存中建立表项,表项内容根据实际需要填写,表项内容称之为表项要素,表项要素的内部又可细化为多个组成元素,例如五元组(源IP、目的IP、源端口号、目的端口号、协议号),将表项的组成元素称之为{元素a,元素b,元素c,元素d,元素e},表项要素的位宽由构成它的元素决定,按照组成元素的数值不同,不同表项要素称之为{规则1、规则2、规则3、规则4},每个规则作为一个节点,按照优先级划分为需要的N种规则要素组合,每种规则要素组合标记为一棵AVL树,规则要素组合个数设为Y。
AVL、规则、元素关系式如下:
AVL={规则1,规则2,规则3,….规则Y};//Y个规则表项组成一棵AVL树;
规则N={元素aN,元素bN,元素cN,元素dN,元素eN};//一个规则表项包含五个组成元素;
软件下发表项到逻辑时,根据需要划分出X棵AVL树,按照优先级线性排列规则表项,依次发送到逻辑。
逻辑将软件下发的N条规则表项,按下发顺序依次存入block RAM中,以减少逻辑分片片(slice)资源占用,提高逻辑处理速率,再根据索引key查找相匹配的规则表项,在模糊查找时,一个索引可能会匹配上多个掩码不同的规则表项,多个相匹配的表项按照下发规则表项时的优先级排列,逻辑输出优先级最高的规则表项索引。
1、软件建立和下发规则表项包括:
图1为AVL树的示意图,如图1所示,在实际使用中,比如将需要关心的五元组组合划分为32棵AVL树。
五元组组合128bit信息分配如下:
{目的ip(32bit),源ip(32bit),协议号(8bit),目的端口(16bit),源端口(16bit),自定义域(24bit)};
图2所示为AVL树按优先级排列顺序的示意图,如图2所示,每棵AVL树按照精确匹配优先级最高,模糊匹配精度越高优先级越高的原则存储规则节点,AVL树1存储的规则优先级最高,AVL树32存储的规则优先级最低,4k条规则表按32*128分块存储,块内和块间需严格按照优先级排列。
图3所示为4K条按优先级线性排列的规则表项图,如图3所示,4K条按优先级线性排列包括:
建立Bitmap查找表,五元组128bit信息按4bit分割建立查找索引。
软件下规则表时需同时更新对应的128*512Bitmap表。
更新Bitmap时需根据掩码匹配多种组合,这样逻辑查表时不需要掩码信息。
图4所示为128bit的索引Key的示意图,如图4所示,首先基于规则表项信息生成128bit的索引Key,然后切分成32块4bit子Key。
以上每个4bit子Key有2^4=16种可能的排列,32块子Key共用16*32=512种排列,对应到Bitmap中512bit的匹配状态信息。
图5所示为按照优先级排列下发到逻辑的4K条规则表项图,128个规则表项就对应128*512=64k bit的匹配状态信息。如下,这样的Bitmap表共有32个,即按照优先级排列下发到逻辑的4K条规则表项。
2、逻辑根据索引key查表
实际使用中,对IP网络报文的五元组(DIP,SIP,DPORT,SPORT,PROTOCOL),即128bit的索引Key,查表流程如下:
首先逻辑将软件下发的4K=64*64条规则表项,依次存入64块36K的block RAM中,36K的block RAM逻辑标记为一个tab表,每个规则表项按照软件的bitmap表模式,以列为单位排列,每个tab表存64个规则表项,由于每个tab表在逻辑中占用一个36K的block RAM资源,节省逻辑slice资源,提高逻辑处理速率,同时以模块化方式多个例化扩展,资源可预估,方便快捷,降低设计风险。
在一个tab表中有64个表项,根据软件下发的规则表项为512bit,设置tab地址深度为512,宽度为64,512bit的表项由每个4bit子Key有2^4=16种可能的排列,按照地址分出32块,对应地址与子Key的值相同即为当前子Key匹配成功,比如:五元组的Key1如果是4bit0001,则在地址1上五元组与数据为1的表项的低4bit匹配成功。
图6所示为4K条规则表项在逻辑中的存储方式图,如图6所示,
逻辑按照软件下发的规则表项,在所有tab表写完成后,即可在查索引Key,一个IP网络报文的五元组,即128bit的索引Key,在64个tab中,同时将索引key切分为4bit的32块子key,每块子Key值作为地址读取tab表的数据,即64个表项对应子Key在当前地址上的值,1为当前子Key匹配,0为当前子Key不匹配,按照子Key优先级(可适配,默认地址由低到高优先级降低)依次取出32块子Key对应tab表的数据,并使用32块子Key查找的结果进行与运算,计算之后,每个tab表可以得到1bit的计算结果,64个tab表共得到64bit的匹配对应值mkey,mkey的0bit到63bit分别对应0表项到63表项的匹配情况。
每个64bit的mkey,按照分段相或的方式,从优先级最高的表项bit位开始,低32bit先做或运算,如果值为0,即前32个表项不匹配,再从剩余32bit做或运算,如果值为0,说明当前mkey不匹配,如果值为1,再分割出16bit做上述操作,直到找到优先级最高的bit位,每个mkey同时得出匹配的bit位,再按照64个tab表的优先级送出优先级最高的bit位,即第几个表项与索引Key匹配。
本发明改进了内容模糊查找方式的写表查表模式,节省逻辑资源,提高逻辑处理速率,同时以模块化方式多个例化扩展,资源可预估,方便快捷,降低了设计风险。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
Claims (8)
1.一种BitMap高速模糊查找方法,其特征在于,包括:软件建立和下发规则表项:
将需要五元组组合划分为AVL树;
每棵AVL树按照精确匹配优先级最高,模糊匹配精度越高优先级越高的原则存储规则节点,块内和块间按照优先级线性排列;
按优先级线性排列包括:
建立Bitmap查找表,五元组信息分割建立查找索引;
更新Bitmap时需根据掩码匹配多种组合;
基于规则表项信息生成索引Key,然后切分成多块子Key;
多块子Key共用多种排列,对应到Bitmap中的匹配状态信息;
按照优先级排列下发到逻辑的规则表项;
对IP网络报文的五元组根据索引key查表包括:
将软件下发的规则表项,依次存入block RAM中,一定容量的block RAM逻辑标记为一个tab表,每个规则表项按照软件的bitmap表模式,以列为单位排列;
根据软件下发的规则表项,设置tab地址深度和宽度,表项由每个子Key可能的排列数,按照地址分块,对应地址与子Key的值相同为当前子Key匹配成功;
逻辑按照软件下发的规则表项,在所有tab表写完成后,在查索引Key,一个IP网络报文的五元组,在tab中,将索引key切分为多块子key,每块子Key值作为地址读取tab表的数据,1为当前子Key匹配,0为当前子Key不匹配,按照子Key优先级依次取出每块子Key对应tab表的数据,并使用子Key查找的结果进行与运算,计算之后,每个tab表得到1bit的计算结果,tab表共得到匹配对应值mkey,计算mkey对应表项的匹配情况。
2.如权利要求1所述的BitMap高速模糊查找方法,其特征在于,在***内存中建立表项,表项内容根据实际需要填写,表项内容称之为表项要素,表项要素的内部细化为五元组的多个组成元素;包括:
AVL树={规则1,规则2,规则3,…规则Y},Y个规则表项组成一棵AVL树;
规则N={元素aN,元素bN,元素cN,元素dN,元素eN},一个规则表项包含五个组成元素;
软件下发表项到逻辑时,根据需要划分出X棵AVL树,按照优先级线性排列规则表项,依次发送到逻辑。
3.如权利要求1所述的BitMap高速模糊查找方法,其特征在于,五元组组合128bit信息分配包括:
{目的ip(32bit),源ip(32bit),协议号(8bit),目的端口(16bit),源端口(16bit),自定义域(24bit)};
AVL树1存储的规则优先级最高,AVL树32存储的规则优先级最低,4k条规则表按32*128分块存储。
4.如权利要求3所述的BitMap高速模糊查找方法,4K条规则按优先级线性排列包括:
建立Bitmap查找表,五元组128bit信息按4bit分割建立查找索引;
软件下规则表时需同时更新对应的128*512Bitmap表;
基于规则表项信息生成128bit的索引Key,然后切分成32块4bit子Key;
每个4bit子Key有2^4=16种可能的排列,32块子Key共用16*32=512种排列,对应到Bitmap中512bit的匹配状态信息;
128个规则表项就对应128*512=64k bit的匹配状态信息。
5.如权利要求3所述的BitMap高速模糊查找方法,其特征在于,128个规则表项对应128*512=64k bit的匹配状态信息,Bitmap表共有32个,即按照优先级排列下发到逻辑的4K条规则表项。
6.如权利要求1所述的BitMap高速模糊查找方法,其特征在于,对IP网络报文的五元组的128bit的索引Key,查表流程包括:
首先逻辑将软件下发的4K=64*64条规则表项,依次存入64块36K的block RAM中,36K的block RAM逻辑标记为一个tab表,每个规则表项按照软件的bitmap表模式,以列为单位排列,每个tab表存64个规则表项;
根据软件下发的规则表项为512bit,设置tab地址深度为512,宽度为64,512bit的表项由每个4bit子Key有2^4=16种可能的排列,按照地址分出32块,对应地址与子Key的值相同即为当前子Key匹配成功。
7.如权利要求6所述的BitMap高速模糊查找方法,其特征在于,4K条规则表项在逻辑中的存储方式包括:
逻辑按照软件下发的规则表项,在所有tab表写完成后,查索引Key,一个IP网络报文的五元组为128bit的索引Key,在64个tab中,将索引key切分为4bit的32块子key,每块子Key值作为地址读取tab表的数据,64个表项对应子Key在当前地址上的值,1为当前子Key匹配,0为当前子Key不匹配,按照子Key优先级依次取出32块子Key对应tab表的数据,并使用32块子Key查找的结果进行与运算,计算之后,每个tab表得到1bit的计算结果,64个tab表共得到64bit的匹配对应值mkey,mkey的0bit到63bit分别对应0表项到63表项的匹配情况。
8.如权利要求7所述的BitMap高速模糊查找方法,其特征在于,mkey按照分段相或的方式,从优先级最高的表项位开始,低32bit先做或运算,如果值为0,即前32个表项不匹配,再从剩余32bit做或运算,如果值为0,说明当前mkey不匹配,如果值为1,再分割出16bit做上述操作,直到找到优先级最高的bit位,每个mkey同时得出匹配的bit位,再按照64个tab表的优先级送出优先级最高的bit位。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910494160.9A CN110442570B (zh) | 2019-06-06 | 2019-06-06 | 一种BitMap高速模糊查找方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910494160.9A CN110442570B (zh) | 2019-06-06 | 2019-06-06 | 一种BitMap高速模糊查找方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110442570A true CN110442570A (zh) | 2019-11-12 |
CN110442570B CN110442570B (zh) | 2021-08-17 |
Family
ID=68428763
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910494160.9A Active CN110442570B (zh) | 2019-06-06 | 2019-06-06 | 一种BitMap高速模糊查找方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110442570B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111367794A (zh) * | 2020-02-25 | 2020-07-03 | 杭州世平信息科技有限公司 | 一种面向AFL的自适应Bitmap表调整方法及装置 |
CN111510464A (zh) * | 2020-06-24 | 2020-08-07 | 同盾控股有限公司 | 一种保护用户隐私的疫情信息共享方法及*** |
CN113515527A (zh) * | 2021-09-13 | 2021-10-19 | 成都数默科技有限公司 | 一种聚合型ip索引的建立和应用方法 |
CN114745327A (zh) * | 2022-06-10 | 2022-07-12 | 鹏城实验室 | 业务数据转发方法、装置、设备及存储介质 |
WO2022199559A1 (zh) * | 2021-03-23 | 2022-09-29 | 华为技术有限公司 | 报文处理方法以及网络设备 |
CN115878863A (zh) * | 2022-12-01 | 2023-03-31 | 杭州菲数科技有限公司 | 数据查找方法及数据查找装置 |
CN117336240A (zh) * | 2023-10-16 | 2024-01-02 | 成都九洲电子信息***股份有限公司 | 一种大容量规则下的ip五元组匹配方法及*** |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101577662A (zh) * | 2008-05-05 | 2009-11-11 | 华为技术有限公司 | 一种基于树形数据结构的最长前缀匹配方法和装置 |
CN102629269A (zh) * | 2012-03-09 | 2012-08-08 | 深圳市民德电子科技有限公司 | 一种嵌入式数据库的检索及存储方法 |
CN104468381A (zh) * | 2014-12-01 | 2015-03-25 | 国家计算机网络与信息安全管理中心 | 一种多域流规则匹配的实现方法 |
CN104584492A (zh) * | 2013-08-28 | 2015-04-29 | 华为技术有限公司 | 报文处理方法、设备及*** |
CN105550298A (zh) * | 2015-12-11 | 2016-05-04 | 北京搜狗科技发展有限公司 | 一种关键词模糊匹配的方法及装置 |
CN106021466A (zh) * | 2016-05-17 | 2016-10-12 | 浙江大华技术股份有限公司 | 一种存储数据的方法及装置 |
CN107016080A (zh) * | 2017-03-29 | 2017-08-04 | 安庆师范大学 | 一种高效网络报文分类方法 |
US20170262586A1 (en) * | 2013-02-25 | 2017-09-14 | 4medica, Inc. | Systems and methods for managing a master patient index including duplicate record detection |
WO2018122238A1 (en) * | 2016-12-30 | 2018-07-05 | Robert Bosch Gmbh | Method and system for fuzzy keyword search over encrypted data |
CN108875064A (zh) * | 2018-07-03 | 2018-11-23 | 湖南新实网络科技有限公司 | 基于FPGA的OpenFlow多维数据匹配查找方法 |
CN109408517A (zh) * | 2018-11-01 | 2019-03-01 | 深信服科技股份有限公司 | 规则的多维度搜索方法、装置、设备及可读存储介质 |
CN109815263A (zh) * | 2019-01-04 | 2019-05-28 | 烽火通信科技股份有限公司 | 一种模糊查找的数据流识别方法及*** |
-
2019
- 2019-06-06 CN CN201910494160.9A patent/CN110442570B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101577662A (zh) * | 2008-05-05 | 2009-11-11 | 华为技术有限公司 | 一种基于树形数据结构的最长前缀匹配方法和装置 |
CN102629269A (zh) * | 2012-03-09 | 2012-08-08 | 深圳市民德电子科技有限公司 | 一种嵌入式数据库的检索及存储方法 |
US20170262586A1 (en) * | 2013-02-25 | 2017-09-14 | 4medica, Inc. | Systems and methods for managing a master patient index including duplicate record detection |
CN104584492A (zh) * | 2013-08-28 | 2015-04-29 | 华为技术有限公司 | 报文处理方法、设备及*** |
CN104468381A (zh) * | 2014-12-01 | 2015-03-25 | 国家计算机网络与信息安全管理中心 | 一种多域流规则匹配的实现方法 |
CN105550298A (zh) * | 2015-12-11 | 2016-05-04 | 北京搜狗科技发展有限公司 | 一种关键词模糊匹配的方法及装置 |
CN106021466A (zh) * | 2016-05-17 | 2016-10-12 | 浙江大华技术股份有限公司 | 一种存储数据的方法及装置 |
WO2018122238A1 (en) * | 2016-12-30 | 2018-07-05 | Robert Bosch Gmbh | Method and system for fuzzy keyword search over encrypted data |
CN107016080A (zh) * | 2017-03-29 | 2017-08-04 | 安庆师范大学 | 一种高效网络报文分类方法 |
CN108875064A (zh) * | 2018-07-03 | 2018-11-23 | 湖南新实网络科技有限公司 | 基于FPGA的OpenFlow多维数据匹配查找方法 |
CN109408517A (zh) * | 2018-11-01 | 2019-03-01 | 深信服科技股份有限公司 | 规则的多维度搜索方法、装置、设备及可读存储介质 |
CN109815263A (zh) * | 2019-01-04 | 2019-05-28 | 烽火通信科技股份有限公司 | 一种模糊查找的数据流识别方法及*** |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111367794A (zh) * | 2020-02-25 | 2020-07-03 | 杭州世平信息科技有限公司 | 一种面向AFL的自适应Bitmap表调整方法及装置 |
CN111367794B (zh) * | 2020-02-25 | 2023-05-23 | 杭州世平信息科技有限公司 | 一种面向AFL的自适应Bitmap表调整方法及装置 |
CN111510464A (zh) * | 2020-06-24 | 2020-08-07 | 同盾控股有限公司 | 一种保护用户隐私的疫情信息共享方法及*** |
CN111510464B (zh) * | 2020-06-24 | 2020-10-02 | 同盾控股有限公司 | 一种保护用户隐私的疫情信息共享方法及*** |
WO2022199559A1 (zh) * | 2021-03-23 | 2022-09-29 | 华为技术有限公司 | 报文处理方法以及网络设备 |
CN113515527A (zh) * | 2021-09-13 | 2021-10-19 | 成都数默科技有限公司 | 一种聚合型ip索引的建立和应用方法 |
CN114745327A (zh) * | 2022-06-10 | 2022-07-12 | 鹏城实验室 | 业务数据转发方法、装置、设备及存储介质 |
CN115878863A (zh) * | 2022-12-01 | 2023-03-31 | 杭州菲数科技有限公司 | 数据查找方法及数据查找装置 |
CN115878863B (zh) * | 2022-12-01 | 2023-12-19 | 杭州菲数科技有限公司 | 数据查找方法及数据查找装置 |
CN117336240A (zh) * | 2023-10-16 | 2024-01-02 | 成都九洲电子信息***股份有限公司 | 一种大容量规则下的ip五元组匹配方法及*** |
Also Published As
Publication number | Publication date |
---|---|
CN110442570B (zh) | 2021-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110442570A (zh) | 一种BitMap高速模糊查找方法 | |
US10496680B2 (en) | High-performance bloom filter array | |
US10476794B2 (en) | Efficient caching of TCAM rules in RAM | |
US9984144B2 (en) | Efficient lookup of TCAM-like rules in RAM | |
Bremler-Barr et al. | Space-efficient TCAM-based classification using gray coding | |
US6546391B1 (en) | High-speed lookup method and high-speed lookup apparatus | |
Quan et al. | Scalable name lookup with adaptive prefix bloom filter for named data networking | |
US6434144B1 (en) | Multi-level table lookup | |
US20030225881A1 (en) | Efficient cascaded lookups at a network node | |
US6792423B1 (en) | Hybrid longest prefix match and fixed match searches | |
CN102377664B (zh) | 一种基于tcam的区域匹配装置和方法 | |
CN111937360B (zh) | 最长前缀匹配 | |
Meiners et al. | Hardware based packet classification for high speed internet routers | |
CN106416152B (zh) | 一种查找装置、查找配置方法和查找方法 | |
KR100512949B1 (ko) | 필드레벨 트리를 이용한 패킷분류장치 및 방법 | |
CN111988231B (zh) | 一种掩码五元组规则匹配的方法及装置 | |
CN105515997B (zh) | 基于bf_tcam实现零范围扩张的高效范围匹配方法 | |
Pao et al. | A multi-pipeline architecture for high-speed packet classification | |
Yang et al. | Fast OpenFlow table lookup with fast update | |
Chang et al. | TCAM-based multi-match packet classification using multidimensional rule layering | |
CN100472427C (zh) | 一种数据包递归流分类方法 | |
CN104009924B (zh) | 一种基于tcam和fpga的报文处理方法及装置 | |
CN109754021B (zh) | 基于范围元组搜索的在线包分类方法 | |
Wang | Scalable packet classification with controlled cross-producting | |
CN106789668A (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 |