CN110442570B - BitMap high-speed fuzzy search method - Google Patents

BitMap high-speed fuzzy search method Download PDF

Info

Publication number
CN110442570B
CN110442570B CN201910494160.9A CN201910494160A CN110442570B CN 110442570 B CN110442570 B CN 110442570B CN 201910494160 A CN201910494160 A CN 201910494160A CN 110442570 B CN110442570 B CN 110442570B
Authority
CN
China
Prior art keywords
rule
sub
key
bitmap
priority
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.)
Active
Application number
CN201910494160.9A
Other languages
Chinese (zh)
Other versions
CN110442570A (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 Zuojiang Technology Co ltd
Original Assignee
Beijing Zuojiang 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 Technology Co ltd filed Critical Beijing Zuojiang Technology Co ltd
Priority to CN201910494160.9A priority Critical patent/CN110442570B/en
Publication of CN110442570A publication Critical patent/CN110442570A/en
Application granted granted Critical
Publication of CN110442570B publication Critical patent/CN110442570B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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

The invention relates to a BitMap high-speed fuzzy search method, which comprises the following steps: software establishes and issues rule table entries: dividing the required quintuple combination into AVL trees; each AVL tree stores regular nodes according to the principle that the precise matching priority is highest, the fuzzy matching precision is higher, and the priority is higher, and the regular nodes are linearly arranged in blocks and among blocks according to the priority; establishing a Bitmap lookup table according to the linear arrangement of the priority, and establishing a lookup index by segmenting quintuple information; when updating the Bitmap, a plurality of combinations are matched according to masks; generating an index Key based on the regular table item information, and then dividing the index Key into a plurality of sub-keys; and looking up the table for the quintuple of the IP network message according to the index key. The invention improves the writing table look-up mode of the content fuzzy look-up mode, saves logic resources, improves the logic processing speed, simultaneously adopts a plurality of instantiated expansions in a modularized mode, can estimate the resources, is convenient and quick, and reduces the design risk.

Description

BitMap high-speed fuzzy search method
Technical Field
The invention relates to a network communication technology, in particular to a BitMap high-speed fuzzy search method.
Background
The table item searching processing is often involved in a network communication system, and the traditional table item searching usually adopts an address-based searching mode, namely, the table items are searched one by one according to the sequence of addresses, and the searching mode of the method is not flexible enough and is not efficient. The fuzzy content searching mode can flexibly configure the table items according to the specified conditions, and the searching efficiency and accuracy are improved by adjusting the priority of content matching.
The table item searching processing is often involved in a network communication system, and the traditional table item searching usually adopts an address-based searching mode, namely, the table items are searched one by one according to the sequence of addresses, and the searching mode of the method is not flexible enough and is not efficient. The fuzzy content search mode can flexibly configure the table items according to the specified conditions, and improves the search efficiency and accuracy by adjusting the priority of content matching, but the existing table-writing search mode occupies a large amount of logic resources, reduces the logic processing rate and is not easy to expand.
Disclosure of Invention
The invention aims to provide a BitMap high-speed fuzzy search method, which is used for solving the problems in the prior art.
The invention discloses a BitMap high-speed fuzzy search method, which comprises the following steps: software establishes and issues rule table entries: dividing the required quintuple combination into AVL trees; each AVL tree stores regular nodes according to the principle that the precise matching priority is highest, the fuzzy matching precision is higher, and the priority is higher, and the regular nodes are linearly arranged in blocks and among blocks according to the priority; the prioritizing linear includes: establishing a Bitmap lookup table, and establishing a lookup index by segmenting quintuple information; when updating the Bitmap, a plurality of combinations are matched according to masks; generating an index Key based on the regular table item information, and then dividing the index Key into a plurality of sub-keys; multiple sub-keys share multiple arrangements and correspond to matching state information in the Bitmap; issuing the rule list items to logic according to priority arrangement; the table lookup of the quintuple of the IP network message according to the index key comprises the following steps: sequentially storing the rule table items issued by the software into a block RAM (random access memory), wherein the block RAM with a certain capacity is logically marked as a tab table, and each rule table item is arranged in units of columns according to a bitmap table mode of the software; setting the depth and width of a tab address according to a rule table item issued by software, wherein the table item is partitioned by the possible arrangement number of each sub-Key according to the address, and the matching of the current sub-Key is successful if the corresponding address is the same as the value of the sub-Key; according to a rule table item issued by software, after writing of all tab tables is completed, an index Key is searched, a quintuple of an IP network message is searched, in the tab, the index Key is divided into a plurality of sub-keys, each sub-Key value is used as an address to read data of the tab table, 1 is current sub-Key matching, 0 is current sub-Key mismatching, data of the tab table corresponding to each sub-Key is sequentially taken out according to the priority of the sub-keys, and the sub-keys are used for searching and operating, after calculation, each tab table obtains a 1-bit calculation result, the tab tables obtain a matching corresponding value mkey, and the matching condition of the entry corresponding to the mkey is calculated.
According to an embodiment of the BitMap high-speed fuzzy search method, a table entry is established in a system memory, the content of the table entry is filled according to actual needs, the content of the table entry is called as a table entry element, and the interior of the table entry element is refined into a plurality of component elements of a quintuple; the method comprises the following steps: the AVL tree is { rule 1, rule 2, rule 3, … rule Y }, and Y rule entries constitute an AVL tree; a rule N ═ { element aN, element bN, element cN, element dN, element eN }, and one rule table entry contains five constituent elements; when the software issues the table items to the logic, X AVL trees are divided according to the requirement, the table items are arranged linearly according to the priority, and the table items are sequentially sent to the logic.
According to an embodiment of the BitMap high-speed fuzzy search method of the present invention, wherein the allocation of the 128-bit information by the quintuple combination comprises: { destination ip (32bit), source ip (32bit), protocol number (8bit), destination port (16bit), source port (16bit), custom field (24bit) }; the rule priority stored in AVL Tree 1 is highest, the rule priority stored in AVL Tree 32 is lowest, and 4k rule tables are stored in 32 x 128 blocks.
According to an embodiment of the BitMap high-speed fuzzy search method of the present invention, wherein the 4K rules are linearly arranged by priority, comprising: establishing a Bitmap lookup table, and establishing a lookup index according to 4-bit segmentation of quintuple 128-bit information; when the software is used for downloading the rule table, the corresponding 128 x 512Bitmap table needs to be updated at the same time; generating a 128-bit index Key based on the rule table item information, and then cutting into 32 blocks of 4-bit sub keys; each 4-bit sub Key has 2^4 ^ 16 possible arrangements, 32 sub keys share 16 ^ 32 ^ 512 arrangements, and the 32 sub keys correspond to matching state information of 512 bits in the Bitmap; the 128 rule entries correspond to the matching state information of 128 × 512 ═ 64 kbit.
According to an embodiment of the BitMap high-speed fuzzy search method of the present invention, 128 rule table entries correspond to matching state information of 128 × 512 ═ 64 kbit, and 32 BitMap tables are provided, that is, the BitMap tables are issued to 4K rule table entries of logic according to priority arrangement.
According to an embodiment of the BitMap high-speed fuzzy lookup method of the present invention, wherein, for the 128-bit index Key of the quintuple of the IP network packet, the table lookup process includes: firstly, sequentially storing 4K (64 x 64) rule table entries issued by software into 64 blocks of 36K block RAMs by logic, wherein the 36K block RAMs are logically marked as a tab table, each rule table entry is arranged by taking columns as a unit according to a bitmap table mode of the software, and each tab table stores 64 rule table entries; according to the rule table item issued by software, 512 bits are set, the tab address depth is set as 512, the width is set as 64, the table item of 512 bits has 2^4 ^ 16 possible arrangements for each 4-bit sub-Key, 32 blocks are divided according to the address, and the same value of the corresponding address and the sub-Key is the successful matching of the current sub-Key.
According to an embodiment of the BitMap high-speed fuzzy search method of the present invention, a storage manner of 4K rule table entries in logic includes: according to a rule table item issued by software, after writing of all tab tables is completed, index keys are searched, a quintuple of an IP network message is an index Key of 128 bits, in 64 tabs, the index Key is divided into 32 sub-keys of 4 bits, each sub-Key value is used as an address to read data of the tab table, the 64 table items correspond to the value of the sub-Key on the current address, 1 is current sub-Key matching, 0 is current sub-Key mismatching, data of the tab tables corresponding to the 32 sub-keys are sequentially taken out according to the sub-Key priority, and the result of 32 sub-lookup is used for carrying out AND operation on the Key, after calculation, each tab table obtains a calculation result of 1bit, 64 tab tables obtain a matching corresponding value mkey of 64 bits in total, and the matching conditions of 0bit to 63bit of mkey correspond to the table items from 0bit to 63 table items respectively.
According to an embodiment of the BitMap high-speed fuzzy search method, mkeys are subjected to OR operation from the table entry bit with the highest priority in a sectional or mode, if the value is 0, the first 32 table entries are not matched, then the remaining 32 bits are subjected to OR operation, if the value is 0, the current mkeys are not matched, if the value is 1, 16 bits are divided for the above operation until the bit with the highest priority is found, each mkey simultaneously obtains the matched bit, and then the bit with the highest priority is sent out according to the priorities of 64 tab tables.
The invention improves the writing table look-up mode of the content fuzzy look-up mode, saves logic resources, improves the logic processing speed, simultaneously adopts a plurality of instantiated expansions in a modularized mode, can estimate the resources, is convenient and quick, and reduces the design risk.
Drawings
FIG. 1 is a schematic diagram of an AVL tree;
FIG. 2 is a schematic diagram of an AVL tree in order of priority;
FIG. 3 is a diagram of 4K linearly prioritized rule entries;
FIG. 4 is a schematic diagram of a 128-bit index Key;
FIG. 5 is a diagram of 4K rules table issued to logic in order of priority;
FIG. 6 is a diagram showing the storage manner of 4K rule entries in logic.
Detailed Description
In order to make the objects, contents, and advantages of the present invention clearer, the following detailed description of the embodiments of the present invention will be made in conjunction with the accompanying drawings and examples.
The BitMap high-speed fuzzy search method comprises the following steps: software establishes a table entry in a system memory, the table entry content is filled according to actual needs, the table entry content is called a table entry element, the inside of the table entry element can be further refined into a plurality of constituent elements, such as a quintuple (source IP, destination IP, source port number, destination port number, protocol number), the constituent elements of the table entry are called { element a, element b, element c, element d, element e }, the bit width of the table entry element is determined by the constituent elements, different table entry elements are called { rule 1, rule 2, rule 3, rule 4} according to different values of the constituent elements, each rule is used as a node and is divided into N required rule element combinations according to priority, each rule element combination is marked as an AVL tree, and the number of the rule element combinations is set as Y.
AVL, rules, element relationships are as follows:
AVL ═ rule 1, rule 2, rule 3,. rule Y }; forming an AVL tree by the// Y rule table entries;
rule N ═ element aN, element bN, element cN, element dN, element eN }; a rule table entry contains five constituent elements;
when the software issues the table items to the logic, X AVL trees are divided according to the requirement, the table items are arranged linearly according to the priority, and the table items are sequentially sent to the logic.
The logic stores N rule items issued by the software into the block RAM in sequence according to the issuing sequence so as to reduce the resource occupation of logic slicing (slice), improve the logic processing rate, and then searches the matched rule items according to the index key.
1. The software establishment and issuing of the rule table entry comprises the following steps:
fig. 1 is a schematic diagram of an AVL tree, and as shown in fig. 1, in actual use, for example, five-tuple combinations that need to be concerned are divided into 32 AVL trees.
The quintuple combination 128bit information is distributed as follows:
{ destination ip (32bit), source ip (32bit), protocol number (8bit), destination port (16bit), source port (16bit), custom field (24bit) };
fig. 2 is a schematic diagram of AVL trees in a prioritized order, and as shown in fig. 2, each AVL tree stores rule nodes according to the principle that the exact matching priority is highest, the fuzzy matching accuracy is higher, and the priority is higher, the rule priority stored in AVL tree 1 is highest, the rule priority stored in AVL tree 32 is lowest, 4k rule tables are stored in blocks by 32 × 128, and the intra-block and inter-block need to be strictly arranged according to the priority.
Fig. 3 is a diagram of 4K linearly prioritized rule entries, and as shown in fig. 3, the 4K linearly prioritized rule entries include:
and establishing a Bitmap lookup table, and establishing a lookup index according to 4-bit segmentation by quintuple 128-bit information.
When the software is used for downloading the rule table, the corresponding 128-by-512 Bitmap table needs to be updated at the same time.
When updating the Bitmap, a plurality of combinations are matched according to the mask, so that the mask information is not needed when logically searching the table.
Fig. 4 is a schematic diagram of a 128-bit index Key, and as shown in fig. 4, first, the 128-bit index Key is generated based on rule table entry information, and then is divided into 32 4-bit sub keys.
Each 4-bit sub Key has 2^4 ^ 16 possible permutations, and 32 sub keys share 16 ^ 32 ^ 512 permutations, which correspond to matching state information of 512 bits in the Bitmap.
Fig. 5 is a diagram of 4K rule table entries issued to logic according to priority arrangement, where 128 rule table entries correspond to matching state information of 128 × 512 — 64 kbit. As follows, there are 32 Bitmap tables, namely 4K rule tables issued to the logic according to the priority arrangement.
2. Logic looks up table according to index key
In actual use, for five-tuple (DIP, SIP, DPORT, SPORT, PROTOCOL) of an IP network message, that is, index Key of 128bit, the table lookup flow is as follows:
firstly, sequentially storing 4K (64 x 64) rule entries issued by software into 64 blocks of 36K block RAMs by logic, wherein the 36K block RAMs are logically marked as a tab table, each rule entry is arranged by taking columns as a unit according to a bitmap table mode of the software, and each tab table stores 64 rule entries.
There are 64 table entries in a tab table, the rule table entry issued according to the software is 512bit, set tab address depth as 512, the width as 64, the table entry of 512bit has 2^4 ^ 16 possible permutations by every 4bit sub Key, divide 32 blocks according to the address, the corresponding address is the matching success of the present sub Key with the value of the sub Key the same, for example: if the Key1 of the quintuple is 4bit0001, the matching of the quintuple and the lower 4bit of the table entry with the data of 1 is successful on the address 1.
Fig. 6 is a diagram illustrating a storage manner of 4K rule entries in logic, as shown in fig. 6,
according to the rule table items issued by software, after writing of all tab tables is completed, index keys can be searched, quintuple of an IP network message, namely 128-bit index keys, in 64 tabs, the index keys are simultaneously segmented into 32 sub-keys of 4 bits, each sub-Key value is used as an address to read data of the tab table, namely the values of 64 table items corresponding to the sub-keys on the current address, 1 is current sub-Key matching, 0 is current sub-Key mismatching, data of the tab table corresponding to the 32 sub-keys are sequentially taken out according to sub-Key priority (adaptable, default address is decreased from low to high priority), and the data are subjected to and operation by using the results of the 32 sub-keys for searching, each tab table can obtain the calculation result of 1bit, 64 tab tables obtain the matching corresponding value mkey, and the matching conditions of 0bit to 63bit of the mkey correspond to the table items from 0 to 63.
Each 64-bit mkey starts from the bit of the table entry with the highest priority, the lower 32 bits are firstly OR-operated according to a sectional segment or mode, if the value is 0, the first 32 table entries are not matched, then the remaining 32 bits are OR-operated, if the value is 0, the current mkey is not matched, if the value is 1, 16 bits are segmented out for the above operation until the bit with the highest priority is found, each mkey simultaneously obtains the matched bit, and then the bit with the highest priority is sent out according to the priorities of the 64 tab tables, namely the first table entries are matched with the index Key.
The invention improves the writing table look-up mode of the content fuzzy look-up mode, saves logic resources, improves the logic processing speed, simultaneously adopts a plurality of instantiated expansions in a modularized mode, can estimate the resources, is convenient and quick, and reduces the design risk.
The above description is only a preferred embodiment of the present invention, and it should be noted that, for those skilled in the art, several modifications and variations can be made without departing from the technical principle of the present invention, and these modifications and variations should also be regarded as the protection scope of the present invention.

Claims (7)

1. A BitMap high-speed fuzzy search method is characterized by comprising the following steps: software establishes and issues rule table entries:
dividing the required quintuple combination into AVL trees;
each AVL tree stores regular nodes according to the principle that the precise matching priority is highest, the fuzzy matching precision is higher, and the priority is higher, and the regular nodes are linearly arranged in blocks and among blocks according to the priority;
the prioritizing linear includes:
establishing a Bitmap lookup table, and establishing a lookup index by segmenting quintuple information;
when updating the Bitmap, a plurality of combinations are matched according to masks;
generating an index Key based on the regular table item information, and then dividing the index Key into a plurality of sub-keys;
multiple sub-keys share multiple arrangements and correspond to matching state information in the Bitmap;
issuing the rule list items to logic according to priority arrangement;
and looking up a table for the quintuple of the IP network message according to the index key, wherein the table comprises the following steps:
sequentially storing the rule table items issued by the software into a block RAM (random access memory), wherein the block RAM with a certain capacity is logically marked as a tab table, and each rule table item is arranged in units of columns according to a bitmap table mode of the software;
setting the depth and width of a tab address according to a rule table item issued by software, wherein the table item is partitioned by the possible arrangement number of each sub-Key according to the address, and the matching of the current sub-Key is successful if the corresponding address is the same as the value of the sub-Key;
according to a rule table item issued by software, after writing of all tab tables is completed, an index Key is searched, a quintuple of an IP network message is searched, in the tab, the index Key is divided into a plurality of sub-keys, each sub-Key value is used as an address to read data of the tab table, 1 is current sub-Key matching, 0 is current sub-Key mismatching, data of the tab table corresponding to each sub-Key is sequentially taken out according to the priority of the sub-keys, and the sub-keys are used for searching and operating, after calculation, each tab table obtains a 1-bit calculation result, the tab tables obtain a matching corresponding value mkey in total, and the matching condition of the entry corresponding to the mkey is calculated;
the five-tuple combination 128bit information allocation comprises the following steps:
{ destination ip, source ip, protocol number, destination port, source port, custom field }; the destination ip is 32 bits, the source ip is 32 bits, the protocol number is 8 bits, the destination port is 16 bits, the source port is 16 bits, and the custom field is 24 bits;
the rule priority stored in AVL Tree 1 is highest, the rule priority stored in AVL Tree 32 is lowest, and 4k rule tables are stored in 32 x 128 blocks.
2. The BitMap high-speed fuzzy search method of claim 1, wherein, a table entry is established in a system memory, the content of the table entry is filled according to actual needs, the content of the table entry is called as a table entry element, and the interior of the table entry element is refined into a plurality of component elements of a quintuple; the method comprises the following steps:
AVL tree = { rule 1, rule 2, rule 3, … rule Y }, Y rule entries constitute one AVL tree;
rule N = { element aN, element bN, element cN, element dN, element eN }, and one rule table entry includes five constituent elements;
when the software issues the table items to the logic, X AVL trees are divided according to the requirement, the table items are arranged linearly according to the priority, and the table items are sequentially sent to the logic.
3. The BitMap high speed fuzzy search method of claim 1, wherein the 4K rules are arranged linearly by priority comprising:
establishing a Bitmap lookup table, and establishing a lookup index according to 4-bit segmentation of quintuple 128-bit information;
when the software is used for downloading the rule table, the corresponding 128 x 512Bitmap table needs to be updated at the same time;
generating a 128-bit index Key based on the rule table item information, and then cutting into 32 blocks of 4-bit sub keys;
each 4-bit sub-Key has 2^4=16 possible arrangements, and 32 sub-keys share 16 ^ 32=512 arrangements and correspond to matching state information of 512 bits in the Bitmap;
the 128 rule entries correspond to matching state information of 128 × 512=64 kbit.
4. The BitMap high-speed fuzzy search method of claim 3, wherein 128 rule entries correspond to matching status information of 128 × 512=64 kbit, and the number of the Bitmap tables is 32, that is, 4 rule entries are issued to logic according to priority.
5. The BitMap high-speed fuzzy search method of claim 1, wherein for the 128-bit index Key of the quintuple of the IP network packet, the table lookup procedure comprises:
firstly, sequentially storing 4K =64 × 64 rule table entries issued by software into 64 blocks of 36K block RAMs by logic, wherein the 36K block RAMs are logically marked as a tab table, each rule table entry is arranged in a unit of column according to a bitmap table mode of the software, and each tab table stores 64 rule table entries;
according to the rule table item issued by software, 512 bits are set, the tab address depth is set to 512, the width is set to 64, the table item of 512 bits has 2^4=16 possible arrangements of each 4-bit sub-Key, 32 blocks are divided according to the address, and the same value of the corresponding address and the sub-Key is the successful matching of the current sub-Key.
6. The BitMap high-speed fuzzy search method of claim 5, wherein the storage manner of 4K rule table entries in the logic comprises:
according to a rule table item issued by software, after writing of all tab tables is completed, index keys are searched, a quintuple of an IP network message is an index Key of 128 bits, in 64 tabs, the index Key is divided into 32 sub-keys of 4 bits, each sub-Key value is used as an address to read data of the tab table, the 64 table items correspond to the value of the sub-Key on the current address, 1 is current sub-Key matching, 0 is current sub-Key mismatching, data of the tab tables corresponding to the 32 sub-keys are sequentially taken out according to the sub-Key priority, and the result of 32 sub-lookup is used for carrying out AND operation on the Key, after calculation, each tab table obtains a calculation result of 1bit, 64 tab tables obtain a matching corresponding value mkey of 64 bits in total, and the matching conditions of 0bit to 63bit of mkey correspond to the table items from 0bit to 63 table items respectively.
7. The BitMap high-speed fuzzy search method of claim 6, wherein the mkey performs OR operation from the highest priority table entry bit according to a segment or manner, if the value is 0, the first 32 table entries are not matched, then performs OR operation from the remaining 32 bits, if the value is 0, it indicates that the current mkey is not matched, if the value is 1, then performs OR operation by segmenting out 16 bits until the highest priority bit is found, each mkey simultaneously obtains the matched bit, and then sends out the highest priority bit according to the priorities of 64 tab tables.
CN201910494160.9A 2019-06-06 2019-06-06 BitMap high-speed fuzzy search method Active CN110442570B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910494160.9A CN110442570B (en) 2019-06-06 2019-06-06 BitMap high-speed fuzzy search method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910494160.9A CN110442570B (en) 2019-06-06 2019-06-06 BitMap high-speed fuzzy search method

Publications (2)

Publication Number Publication Date
CN110442570A CN110442570A (en) 2019-11-12
CN110442570B true CN110442570B (en) 2021-08-17

Family

ID=68428763

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910494160.9A Active CN110442570B (en) 2019-06-06 2019-06-06 BitMap high-speed fuzzy search method

Country Status (1)

Country Link
CN (1) CN110442570B (en)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111367794B (en) * 2020-02-25 2023-05-23 杭州世平信息科技有限公司 AFL-oriented self-adaptive Bitmap table adjustment method and device
CN111510464B (en) * 2020-06-24 2020-10-02 同盾控股有限公司 Epidemic situation information sharing method and system for protecting user privacy
CN115134298A (en) * 2021-03-23 2022-09-30 华为技术有限公司 Message processing method and network equipment
CN113515527B (en) * 2021-09-13 2021-12-07 成都数默科技有限公司 Method for establishing and applying aggregation type IP index
CN114745327B (en) * 2022-06-10 2022-08-26 鹏城实验室 Service data forwarding method, device, equipment and storage medium
CN115878863B (en) * 2022-12-01 2023-12-19 杭州菲数科技有限公司 Data searching method and data searching device
CN117336240B (en) * 2023-10-16 2024-07-09 成都九洲电子信息系统股份有限公司 IP five-tuple matching method and system under high-capacity rule

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101577662A (en) * 2008-05-05 2009-11-11 华为技术有限公司 Method and device for matching longest prefix based on tree form data structure
CN102629269A (en) * 2012-03-09 2012-08-08 深圳市民德电子科技有限公司 Searching and storing method for embedded database
CN104468381A (en) * 2014-12-01 2015-03-25 国家计算机网络与信息安全管理中心 Implementation method for multi-field rule matching
CN104584492A (en) * 2013-08-28 2015-04-29 华为技术有限公司 Packet processing method, device and system
CN105550298A (en) * 2015-12-11 2016-05-04 北京搜狗科技发展有限公司 Keyword fuzzy matching method and device
CN106021466A (en) * 2016-05-17 2016-10-12 浙江大华技术股份有限公司 Data storage method and apparatus
CN107016080A (en) * 2017-03-29 2017-08-04 安庆师范大学 A kind of high-efficiency network packet classification method
WO2018122238A1 (en) * 2016-12-30 2018-07-05 Robert Bosch Gmbh Method and system for fuzzy keyword search over encrypted data
CN108875064A (en) * 2018-07-03 2018-11-23 湖南新实网络科技有限公司 OpenFlow multidimensional data matched and searched method based on FPGA
CN109408517A (en) * 2018-11-01 2019-03-01 深信服科技股份有限公司 Multidimensional search method, apparatus, equipment and the readable storage medium storing program for executing of rule
CN109815263A (en) * 2019-01-04 2019-05-28 烽火通信科技股份有限公司 A kind of data stream recognition method and system of fuzzy search

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10572461B2 (en) * 2013-02-25 2020-02-25 4medica, Inc. Systems and methods for managing a master patient index including duplicate record detection

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101577662A (en) * 2008-05-05 2009-11-11 华为技术有限公司 Method and device for matching longest prefix based on tree form data structure
CN102629269A (en) * 2012-03-09 2012-08-08 深圳市民德电子科技有限公司 Searching and storing method for embedded database
CN104584492A (en) * 2013-08-28 2015-04-29 华为技术有限公司 Packet processing method, device and system
CN104468381A (en) * 2014-12-01 2015-03-25 国家计算机网络与信息安全管理中心 Implementation method for multi-field rule matching
CN105550298A (en) * 2015-12-11 2016-05-04 北京搜狗科技发展有限公司 Keyword fuzzy matching method and device
CN106021466A (en) * 2016-05-17 2016-10-12 浙江大华技术股份有限公司 Data storage method and apparatus
WO2018122238A1 (en) * 2016-12-30 2018-07-05 Robert Bosch Gmbh Method and system for fuzzy keyword search over encrypted data
CN107016080A (en) * 2017-03-29 2017-08-04 安庆师范大学 A kind of high-efficiency network packet classification method
CN108875064A (en) * 2018-07-03 2018-11-23 湖南新实网络科技有限公司 OpenFlow multidimensional data matched and searched method based on FPGA
CN109408517A (en) * 2018-11-01 2019-03-01 深信服科技股份有限公司 Multidimensional search method, apparatus, equipment and the readable storage medium storing program for executing of rule
CN109815263A (en) * 2019-01-04 2019-05-28 烽火通信科技股份有限公司 A kind of data stream recognition method and system of fuzzy search

Also Published As

Publication number Publication date
CN110442570A (en) 2019-11-12

Similar Documents

Publication Publication Date Title
CN110442570B (en) BitMap high-speed fuzzy search method
US9627063B2 (en) Ternary content addressable memory utilizing common masks and hash lookups
JP4452183B2 (en) How to create a programmable state machine data structure to parse the input word chain, how to use the programmable state machine data structure to find the resulting value corresponding to the input word chain, deep wire speed A method for performing packet processing, a device for deep packet processing, a chip embedding device, and a computer program including programming code instructions (method and device for deep packet processing)
CN111937360B (en) Longest prefix matching
US6434144B1 (en) Multi-level table lookup
US7433355B2 (en) Filter based longest prefix match algorithm
US7885268B2 (en) Method and system for hash table based routing via table and prefix aggregation
US7315547B2 (en) Packet forwarding device
US6341130B1 (en) Packet classification method and apparatus employing two fields
US7418505B2 (en) IP address lookup using either a hashing table or multiple hash functions
US7327727B2 (en) Atomic lookup rule set transition
US20050018683A1 (en) IP address storage technique for longest prefix match
EP2627055B1 (en) Method for populating a security policy database
US7403526B1 (en) Partitioning and filtering a search space of particular use for determining a longest prefix match thereon
CN110557335B (en) Ternary Content Addressable Memory (TCAM) table item processing method and device
Pao et al. A multi-pipeline architecture for high-speed packet classification
Daly et al. Tuplemerge: Building online packet classifiers by omitting bits
US20030009474A1 (en) Binary search trees and methods for establishing and operating them
CN106789668B (en) Method and device for processing message
US6615311B2 (en) Method and system for updating a content addressable memory (CAM) that prioritizes CAM entries according to prefix length
US8924640B2 (en) Dynamic allocation of records to clusters in a ternary content addressable memory
WO2022166854A1 (en) Data search method and apparatus, and integrated circuit
CN109194665A (en) A kind of generation method that message finds key value and device
CN112769703A (en) Efficient TCAM implementation method based on SRAM
US20090210382A1 (en) Method for priority search using a tcam

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