CN110442570A - 一种BitMap高速模糊查找方法 - Google Patents

一种BitMap高速模糊查找方法 Download PDF

Info

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
Application number
CN201910494160.9A
Other languages
English (en)
Other versions
CN110442570B (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.)
Beijing Zuojiang Science And Technology Co Ltd
Original Assignee
Beijing Zuojiang Science And 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 Zuojiang Science And Technology Co Ltd filed Critical Beijing Zuojiang Science And Technology Co Ltd
Priority to CN201910494160.9A priority Critical patent/CN110442570B/zh
Publication of CN110442570A publication Critical patent/CN110442570A/zh
Application granted granted Critical
Publication of CN110442570B publication Critical patent/CN110442570B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2246Trees, e.g. B+trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2468Fuzzy 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高速模糊查找方法,用于解决上述现有技术的问题。
本发明一种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位。
CN201910494160.9A 2019-06-06 2019-06-06 一种BitMap高速模糊查找方法 Active CN110442570B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 烽火通信科技股份有限公司 一种模糊查找的数据流识别方法及***

Patent Citations (12)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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