WO2009132556A1 - Procédé et appareil de recherche de données - Google Patents

Procédé et appareil de recherche de données Download PDF

Info

Publication number
WO2009132556A1
WO2009132556A1 PCT/CN2009/071359 CN2009071359W WO2009132556A1 WO 2009132556 A1 WO2009132556 A1 WO 2009132556A1 CN 2009071359 W CN2009071359 W CN 2009071359W WO 2009132556 A1 WO2009132556 A1 WO 2009132556A1
Authority
WO
WIPO (PCT)
Prior art keywords
node
prefix
entry
data string
search
Prior art date
Application number
PCT/CN2009/071359
Other languages
English (en)
Chinese (zh)
Inventor
龚钧
詹翀
沈士军
赵鸿翔
Original Assignee
华为技术有限公司
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 华为技术有限公司 filed Critical 华为技术有限公司
Publication of WO2009132556A1 publication Critical patent/WO2009132556A1/fr

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • H04L45/74591Address table lookup; Address filtering using content-addressable memories [CAM]

Definitions

  • the present invention relates to the field of communications, and in particular, to a method and apparatus for data searching.
  • the common method is to use packet switching technology, and the packet switching technology mainly deals with packets.
  • the network device needs to find the route of the packet, and the speed of finding the route of the packet directly affects the speed and capacity of the network.
  • the network device performs the longest prefix matching (The Longest Prefix Match) in the process of routing the table, that is, when the network device forwards the Internet Protocol (IP) packet, finds the longest matching prefix according to the IP address.
  • IP Internet Protocol
  • the routing table is usually stored in a hierarchical data structure, and the search proceeds down the hierarchy.
  • the layered data structure that is generally used is a binary tree.
  • the basic binary tree search algorithm one bit is checked per search step. If the corresponding address prefix is the longest M, the depth of the tree is M. If the search checks K bits in one step, the depth of the tree can be reduced to M/K, so that the internal nodes of the tree contain a matching term that increases to a power of 2 to the power of K.
  • K-power tree of 2 When performing a route lookup table, the number of bits checked at each node is ⁇ , and K is called the step width of the tree.
  • Figure 1 shows the structure of a Multi-Bit Tree.
  • the step size of the search is limited by the hardware of the system including the network device, thereby limiting the search. speed.
  • Each node must apply for a fixed size system resource. Even if the node contains only one matching item or does not contain a matching item, it is necessary to find each item of each node when performing route lookup, which reduces the number of nodes. Find the speed, which in turn affects the speed of the network; at the same time, each node applies for a fixed size, wastes memory resources, and affects network capacity.
  • Embodiments of the present invention provide a method and apparatus for data searching to improve data search speed and memory utilization.
  • the embodiment of the present invention provides a data search method, which is used to find the longest matching prefix.
  • the maximum step size supported by the system hardware is N (N is a natural number), and the data structure length corresponding to the step length N is L; according to the routing table.
  • the first entry uses 2
  • the data structure of the MN power of length L indicates that the data structure type of the corresponding first entry is the first type; when the number of entries in the prefix node of the node is less than 2 N /M, the first entry ⁇ using a data structure of length L, the data structure type of the corresponding first entry is the second type;
  • the second item When the number of items in the child node of the node is not less than 2 N /M, the second item is represented by a data structure of length MN of 2 MN, and the data structure type of the corresponding second item
  • the first type is; when the number of items in the child node of the node is less than 2 N /M, the second item is represented by a data structure of length L, and the data structure type of the corresponding second item is Second type;
  • the method includes:
  • the node that matches the search data string with the child node continues to search;
  • the embodiment of the present invention further provides a device for searching for a longest matching prefix.
  • the maximum step size supported by the device hardware is N (N is a natural number), and the data structure length corresponding to the step N is L;
  • the device is characterized in that: the device comprises: a search tree, each node of the search tree comprises a first entry and a second entry, the first entry is used to represent a prefix node of the array, the second An entry is used to represent a child node of the array, and the second entry includes a pointer to the first entry;
  • the first entry is represented by a data structure of length MN of L, and the data structure type of the corresponding first entry a first type; when the number of items in the prefix node of the node is less than 2 N /M, the first entry is represented by a data structure of length L, and the data structure type of the corresponding first entry is Second type;
  • the second item When the number of items in the child node of the node is not less than 2 N /M, the second item is represented by a data structure of length MN of 2 MN, and the data structure type of the corresponding second item
  • the first type is; when the number of items in the child node of the node is less than 2 N /M, the second item is represented by a data structure of length L, and the data structure type of the corresponding second item is Second type;
  • a searching unit configured to search, according to a second entry of a node that currently matches the search data string, whether the storage unit has a child node that matches the search data string; when there is a child that matches the search data string When the node is the node, the node that matches the search data string is continued to be searched; when there is no child node that matches the search data string, the corresponding first entry is searched according to the second entry. , obtaining the longest matching prefix of the search data string.
  • the data structure corresponding to the maximum step size in the prior art is used to represent a search tree of a larger step size without changing the system hardware, thereby reducing the number of levels of data search. , improve the speed of data search.
  • the prior art uses a fixed-length data structure to represent each node. Even if the node contains only one matching item or does not include a matching item, the embodiment of the present invention uses one or more lengths according to the number of items in each node.
  • the data structure of L represents each node, and through this flexible representation, the memory utilization is improved, and the network capacity is further improved.
  • Figure 1 is a schematic diagram showing the structure of a multi-bit tree
  • 2 is a schematic flowchart of a method for data searching according to Embodiment 1 of the present invention
  • FIG. 3 is a schematic structural diagram of a Child Node according to Embodiment 2 of the present invention
  • FIG. 4 is a schematic structural diagram of a Prefix Node according to Embodiment 2 of the present invention.
  • FIG. 5 is a schematic structural diagram of a direct lookup table according to Embodiment 2 of the present invention.
  • FIG. 6 is a schematic flowchart diagram of a method for data searching according to Embodiment 2 of the present invention.
  • FIG. 7 is a schematic structural diagram of another Child Node according to Embodiment 2 of the present invention
  • FIG. 8 is a schematic structural diagram of an apparatus for data searching according to Embodiment 3 of the present invention.
  • FIG. 2 is a schematic flowchart diagram of a method for data searching according to Embodiment 1 of the present invention.
  • a data search method is used to find the longest matching prefix.
  • the maximum step size supported by the system hardware is N (N is a natural number), and the data structure length corresponding to the step size N is L.
  • Each node of the constructed lookup tree includes a first entry for indicating a prefix node of the array, a second entry for representing a child node of the array, and a second entry including the A destination pointer; in this embodiment, the name of the first entry is a Prefix Node, and the name of the second entry is a Child Node. This convention is only convenient for the technical solution described below, and cannot be considered as the first entry. And the qualification of the second entry.
  • the first entry When the number of entries in the prefix node of the node is not less than 2 N /M, the first entry is represented by a data structure of length L of MN, and the data structure type of the corresponding first entry is the first type.
  • the first entry When the number of entries in the prefix node of the node is less than 2 N /M, the first entry is represented by a data structure of length L, and the data structure type of the corresponding first entry is the second type;
  • the name of the first type is set to Segment, and the name of the second type is Compact. This convention is only convenient for the technical solutions described below, and cannot be considered as a limitation on the first type and the second type.
  • the second item is represented by a data structure of length L of MN, and the data structure type of the corresponding second item is the first type.
  • the second item is represented by a data structure of length L, and the data structure type of the corresponding second item is of the second type;
  • the search data string is a data string used to search for the longest matching prefix, including but not limited to network protocols.
  • IP IP address or other data string that can be used to find a route.
  • a Child Node of the type of Segment comprising a data structure of length L of MN, and a data structure of length L corresponding to the search data string is directly found from the corresponding index field in the search data string, and The data structure of the corresponding length L performs a subsequent search operation, thereby improving the speed of the search.
  • the child node bitmap of the child node of type Segment includes a position field and a type field, wherein the name of the contract position field is Child Bitmap, and the name of the type field is Child Type. This convention is only convenient for the technical solution described below, and cannot be It is considered to be a restriction on the position field and the type field in the Child Node of type Segment.
  • Child Bitma is used to indicate whether the child node of the corresponding location exists.
  • Child Type is used to indicate that the child node of the corresponding location exists
  • the data structure type of the second entry of the child node is the first type or the second type.
  • the sub-node bitmap is searched according to the search data string.
  • the child node bitmap of the child class of type Compact includes a position field and a type field, wherein the name of the contract position field is Child i (i is the number of child nodes), and the name of the type field is Type, this convention is only for the next
  • the technical solution described in the text is convenient and cannot be considered as a limitation on the position field and the type field in the Child Node of type Compact.
  • Child i is used to record the location of the child node
  • Type is used to represent the second entry of the child node. Whether the data structure type is the first type or the second type.
  • the child node bitmap indicates that there is a subtree, it determines that there is a child node that matches the search data string; when the child node bitmap indicates that there is no subtree, it determines that there is no child node that matches the search data string.
  • the node that matches the search data string with the child node continues to search.
  • the node that matches the search data string with the child node continues to search in the following two ways:
  • the corresponding child node is read, and the corresponding child node continues to search for the next node that matches the search data string.
  • the method may include: calculating an offset address according to Child Bitma and Child Type, and using a Child Array Pointer in the Child Node as a base address, and reading the corresponding child node by using a base address + an offset address.
  • the corresponding child node is read, and the corresponding child node continues to search for the next node that matches the search data string.
  • the method may include: comparing the search data string with Child i, if there is the same item, obtaining an offset address according to the number of Child i and the corresponding Type of the same item, and using the Child Array Pointer in the Child Node as a base address. , the corresponding child node is read by the base address + offset address.
  • the corresponding first entry is searched to obtain the longest matching prefix of the search data string.
  • the manner of searching for the corresponding first entry may be: reading the corresponding first entry according to the pointer to the first entry in the second entry.
  • the name of the pointer to the first entry in the second entry is Prefix Type, and the Prefix Type is used to indicate whether the data structure type of the corresponding first entry is the first type or the second type; this convention is only convenient for the technical solution described below. For the sake of this, it cannot be considered as a limitation on the pointer to the first entry in the second entry.
  • the corresponding first entry can be read in the following two manners:
  • Child Node type is Segment: The offset address is calculated according to Child Bitma and Child Type, and the Child Array Pointer in the Child Node is used as the base address. According to the Prefix Type, the corresponding first entry is read by the base address + offset address.
  • Child Node type is Compact:
  • the Child Array Pointer in the Child Node is used as the base address, and the corresponding first entry is read.
  • a Prefix Node of the type of Segment comprising a data structure of length L of MN, and a data structure of length L corresponding to the search data string is directly found from the corresponding index field in the search data string, and The data structure of the corresponding length L performs a subsequent search operation, thereby improving the speed of the search.
  • the prefix node bitmap is searched according to the search data string.
  • the name of the prefix node bitmap in the Prefix Node with the contract type is Segment and Compact is Prefix Code, and the Prefix Code is used to indicate the encoding of the prefix in the prefix node. This convention is only convenient for the technical solution described below, and cannot be considered as a prefix.
  • the prefix node bitmap indicates that there is a prefix distribution
  • the longest matching prefix of the search data string is obtained according to the prefix distribution; when the prefix node bitmap indicates that there is no prefix distribution, the default next hop index is used as the search data string. The longest match prefix.
  • the default next hop index is used as the longest matching prefix of the search data string.
  • the default next hop index may be carried in the Prefix Node or the system default.
  • Type is Compact: 1.
  • the prefix node bitmap is searched according to the search data string. Range, specifically, the start address of different prefixes may be recorded, and the flag bit field is used to indicate the address start address or the end address.
  • the prefix node bitmap only records the start address and end address of consecutive prefixes. It is not necessary to read the intermediate prefix when searching, which further improves the speed of searching.
  • the prefix node bitmap indicates that there is a prefix distribution
  • the longest matching prefix of the search data string is obtained according to the prefix distribution
  • the prefix node bitmap indicates that there is no prefix distribution
  • the default next hop index is used as the search data string. The longest match prefix.
  • the method may include: comparing the search data string with the Prefix Code to see if it falls within the Prefix Code interval, and if so, indicating that there is a prefix distribution, and calculating the offset address according to the Prefix Code to the Result Array Pointer in the Prefix Node.
  • the next hop address is obtained as the longest matching prefix of the search data string; if not, it means that there is no prefix distribution, and the default next hop index is used as the longest matching prefix of the search data string.
  • the default next hop index may be carried in the Prefix Node or the system default.
  • the Prefix Code is used to record the address range of each prefix.
  • the start address of a different prefix is recorded, and the flag bit field indicates whether the address is a start address or an end address.
  • the offset address is calculated according to the address range of the prefix recorded by the prefix node bitmap, and the longest matching prefix of the search data string is obtained by using the result array pointer as a base address.
  • Prefix Code records the start address of the first prefix of the consecutive prefix and the end address of the last prefix, without recording the address range of the intermediate prefix, saving storage space and improving the search speed. .
  • the data structure corresponding to the maximum step size in the prior art is used to represent a search tree with a larger step size without changing the system hardware, thereby reducing the number of data search levels and improving The speed of data lookup.
  • the prior art uses a fixed-length data structure to represent each node. Even if the node contains only one matching item or does not include a matching item, the embodiment of the present invention uses one or more lengths according to the number of items in each node.
  • the data structure of L represents each node, and the memory is improved by this flexible representation. Utilization, further increase network capacity.
  • the jump flag bit and the jump field are set.
  • the jump flag bit and the jump field are set in the second entry of the first level node of the single path, and the jump flag bit is used to indicate that there is a single path, and the jump The turn field is used to represent the path information of the single path; the method may further include: when the second entry of the node currently matching the search data string includes the jump flag bit, according to the jump field, reading the last of the single path The first-level node takes the last-level node of the single path as a child node that matches the search data string.
  • the second embodiment is a specific application of the method for data searching in the first embodiment. In order to facilitate the description of the technical solution, this embodiment follows the convention in the first embodiment.
  • FIG. 3 is a schematic structural diagram of a Child Node according to Embodiment 2 of the present invention.
  • the structure diagram of only one data structure of length L is shown in FIG. 3, and the structure of the remaining data structures of length L is the same.
  • the prefix type indicates whether the node prefix is Segment or Compact; the Parent Longest Prefix Match indicates the longest matching prefix from the previous level to the local node, and the remaining length is L.
  • the inheritance of the longest prefix matches the field should be the same; the child Array Pointer points to the Prefix Node of the node, and the Prefix Node is followed by the Child Node, that is, consecutively stored; Child Bitma and Child Type Indicates whether the Child Node of the corresponding location exists and the Segment/Compact representation.
  • the difference between the representation of Compact and the representation of Segment is that the Child field directly records the position of the child node, and the Type field is the representation of the child node.
  • FIG. 4 is a schematic structural diagram of a Prefix Node according to Embodiment 2 of the present invention. Segment and
  • each data structure of length L is the same.
  • the default next hop index indicates the prefix that is pushed from the previous level. In the segment representation, it may also be the first few data structures in the same level.
  • the prefix of the result; the Result Array Pointer points to the next hop of the prefix in the node.
  • the starting address of the store the offset address is obtained by decoding the Prefix Code.
  • Prefix Code is the encoding of the prefix in the node.
  • the starting address of the different prefix is recorded.
  • the flag field indicates whether the address is the starting address or the ending address.
  • FIG. 5 is a schematic structural diagram of a direct lookup (DT) table according to a second embodiment of the present invention, which is used to represent a data structure of a root node, including a child node bitmap, a child node type, a next hop index, and a child node pointer, of course.
  • the root node should not belong to the node defined in the embodiment of the present invention.
  • FIG. 6 is a schematic flowchart diagram of a method for data searching according to Embodiment 2 of the present invention. Among them, the triangle represents the nodes in the search tree.
  • the search data string is an IP address; the maximum step size supported by the system hardware is 5 (ie, N is equal to 5), and M is equal to 8.
  • N is equal to 5
  • M is equal to 8.
  • the number of data structures of length L is 8;
  • the length of the index field used to find the data structure of length L corresponding to the IP address in the eight L-length data structures is 3 bits (bit).
  • the DT table is searched, and the representation type and the entry address of the Next Hop Index and the Child Node are obtained. If the Child Node does not exist, the Next Hop Index is directly returned, and the search ends. Otherwise, record the Next Hop Index as the default and proceed to the next step.
  • a) Compact Compare the 8-bit data with Child i (i is equal to 8 in this embodiment). If there is the same item, count the number of Child Nodes before, and according to the corresponding representation (ie, the statistics) The number is subjected to a certain operation processing) to obtain an offset address, and then Child Array Pointer is used as a base address, and Child Node in the child node is read according to the corresponding Child Type, and jumps to 603; if the same item does not exist, according to the Prefix Type field , then Child Array Pointer For the base address, read the Prefix Node and jump to 606.
  • b) Segment The first 3 bits of the 8-bit data are used as index fields, and a data structure of length L corresponding to the IP address is found from 8 data structures of length L; the last 5 bits of the 8-bit data are checked. Whether the Child Bitmap has a subtree in the corresponding data structure of length L. If it does not exist, calculate the offset address according to Child Bitma and Child Type, and then use Child Array Pointer as the base address to read the corresponding Prefix Node. To 606; If it exists, read Child Node according to the previous Child Bitma and Child Type, and also jump to 603 by taking the base address + offset address.
  • a) Compact Compare the 8-bit data with the Prefix 1-8 recorded in the Prefix Code to see if it falls within the interval. If the offset address is calculated, the Result Array Pointer is used as the base address to return the Next Hop address. , the search ends, otherwise, go to the next step.
  • FIG. 7 is a schematic structural diagram of another Child Node according to Embodiment 2 of the present invention.
  • a jump flag bit and a jump field may also be added in the Child Node, the jump flag bit is used to indicate that there is a single path, and the jump field is used to indicate the Path information of a single path;
  • the name of the agreed jump flag is Skip Flag, and the name of the jump field is Skipped. This convention is only convenient for the technical solution described below, and cannot be considered as a jump flag. Bit and the qualification of the jump field.
  • the judgment of one more Skip node before 605 is as follows: First check the Skip Flag. If there is a single path, according to the value of the Skip Flag, the next 8 bits of the IP data are to be checked, and the Skipped for comparison. If they are not the same, the default value is returned. The search ends. If they are the same, go to the next step.
  • FIG. 8 is a schematic structural diagram of an apparatus for data search in Embodiment 3 of the present invention.
  • the device for searching the data is a device for performing the method for searching data in the first embodiment, and may be set independently or Set in the network device.
  • a device for searching data which is used to find the longest matching prefix.
  • the maximum step size supported by the hardware of the device is N (N is a natural number), and the data structure corresponding to the step length N is L; as shown in FIG. Can include:
  • a storage unit 801 configured to store a search tree configured according to a routing table with a step size of M (M is a natural number greater than N), where each node of the search tree includes a first entry and a second entry, where An entry is used to represent a prefix node of the array, the second entry is for representing a child node of the array, and the second entry includes a pointer to the first entry;
  • the first entry is represented by a data structure of length MN of L, and the data structure type of the corresponding first entry a first type; when the number of items in the prefix node of the node is less than 2 N /M, the first entry is represented by a data structure of length L, and the data structure type of the corresponding first entry is Second type;
  • the second item When the number of items in the child node of the node is not less than 2 N /M, the second item is represented by a data structure of length MN of 2 MN, and the data structure type of the corresponding second item
  • the first type is; when the number of items in the child node of the node is less than 2 N /M, the second item is represented by a data structure of length L, and the data structure type of the corresponding second item is Second type;
  • the searching unit 802 is configured to search, according to the second entry of the node that currently matches the search data string, whether the storage unit 801 has a child node that matches the search data string; when there is a match with the search data string The child node continues to search with the child node as the next node matching the search data string; when there is no child node matching the search data string, according to the second entry, the corresponding first is searched An entry that gets the longest matching prefix of the search data string.
  • the searching unit 802 may include:
  • a first subunit configured to find, in the storage unit 801, a data structure in which the MN power of the second entry is L in length according to a corresponding index field in the search data string, and the searching a data structure of length L corresponding to the data string;
  • a second subunit configured to: in a data structure of a corresponding length L found by the first subunit, search a child node bitmap according to the search data string; when the child node bitmap indicates that a subtree exists Determining that there is a child node that matches the search data string; when the child node bitmap indicates that there is no subtree When it is determined, there is no child node that matches the search data string.
  • the searching unit may include:
  • a third subunit configured to: in a data structure of length L corresponding to the second entry stored by the storage unit, search a child node bitmap according to the search data string; and when the child node bitmap indicates presence of a child When the tree is determined, it is determined that there is a child node that matches the search data string; when the child node bitmap indicates that there is no subtree, it is determined that there is no child node that matches the search data string.
  • the searching unit 802 may include:
  • the fourth subunit is configured to read the corresponding first entry according to the pointer to the first entry in the second entry stored by the storage unit 801, to obtain the longest matching prefix of the search data string.
  • the fourth sub-unit may include:
  • a first module configured to find, in the storage unit 801, a MN power of a length L of the first entry in the data unit according to the corresponding index field in the search data string, and the search data a data structure of length L corresponding to the string;
  • a second module configured to: in a data structure of a corresponding length L found by the first module, search for a prefix node bitmap according to the search data string; when the prefix node bitmap indicates that a prefix distribution exists, according to The prefix distribution obtains a longest matching prefix of the search data string; when the prefix node bitmap indicates that there is no prefix distribution, the default next hop index is used as the longest matching prefix of the search data string.
  • the second module may include:
  • a first submodule configured to calculate an offset address according to a prefix address recorded by a prefix node bitmap and a start address and an end address of a consecutive prefix in a data structure corresponding to the length L of the first module.
  • a second submodule configured to use the offset address calculated by the first submodule, and obtain the result by using a result array pointer in a data structure corresponding to the length L of the first module Search for the longest matching prefix of the data string.
  • the fourth subunit may include:
  • a third module configured to search for a prefix node bitmap according to the search data string in a data structure of length L corresponding to the first entry stored by the storage unit 801;
  • a fourth module configured to: when a prefix node bitmap found by the third module indicates that a prefix distribution exists, obtain a longest matching prefix of the search data string according to the prefix distribution; when the prefix node bitmap indicates When there is no prefix distribution, the default next hop index is used as the longest matching prefix of the search data string.
  • the prefix node bitmap is used to indicate an address range of the prefix
  • the fourth module may include:
  • a third submodule configured to calculate an offset address according to an address range of a prefix recorded by the prefix node bitmap
  • a fourth submodule configured to use the offset address calculated by the third submodule, and obtain a result of the result array pointer in the data structure corresponding to the length L of the third module Search for the longest matching prefix of the data string.
  • the device for searching the data may further include:
  • a jump unit configured to: when the second entry of the node currently stored by the storage unit 801 that matches the search data string includes a jump flag bit, control the search unit 802 to read according to the jump field
  • the last level node of the single path uses the last level node of the single path as a child node that matches the search data string.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Un procédé de recherche de données consiste à : rechercher s'il y a ou pas un nœud enfant qui correspond à la chaîne de données de recherche sur la base du deuxième terme du nœud qui correspond actuellement à la chaîne de données de recherche ; lorsque le nœud enfant correspond à la chaîne de données de recherche, poursuivre la recherche avec le nœud enfant comme nœud suivant correspondant à la chaîne de données de recherche ; quand il n'y a pas de nœud enfant qui correspond à la chaîne de données de recherche, rechercher le premier terme correspondant sur la base du deuxième terme et obtenir le préfixe correspondant le plus long de la chaîne de données de recherche. Un appareil de recherche de données est décrit.
PCT/CN2009/071359 2008-04-30 2009-04-20 Procédé et appareil de recherche de données WO2009132556A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN200810088707.7A CN101572647B (zh) 2008-04-30 2008-04-30 一种数据查找的方法及装置
CN200810088707.7 2008-04-30

Publications (1)

Publication Number Publication Date
WO2009132556A1 true WO2009132556A1 (fr) 2009-11-05

Family

ID=41231886

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2009/071359 WO2009132556A1 (fr) 2008-04-30 2009-04-20 Procédé et appareil de recherche de données

Country Status (2)

Country Link
CN (1) CN101572647B (fr)
WO (1) WO2009132556A1 (fr)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102110117B (zh) * 2009-12-29 2013-06-12 华为技术有限公司 用于最长匹配的b树的表项添加、查找、删除方法及装置
CN102333036B (zh) * 2011-10-17 2015-06-03 中兴通讯股份有限公司 一种实现高速路由查找的方法和系统
CN102831224B (zh) * 2012-08-24 2018-09-04 北京百度网讯科技有限公司 一种数据索引库的建立方法、搜索建议生成方法和装置
CN104579725B (zh) * 2013-10-15 2018-03-23 中国移动通信集团江苏有限公司 一种路由遍历搜索方法及装置
CN103646101B (zh) * 2013-12-20 2017-06-27 北京奇虎科技有限公司 查找内容项中是否存在标志的方法及装置
CN106416152B (zh) * 2014-06-10 2019-09-27 华为技术有限公司 一种查找装置、查找配置方法和查找方法
CN108733681B (zh) * 2017-04-14 2021-10-22 华为技术有限公司 信息处理方法及装置
CN112307033B (zh) * 2020-11-23 2023-04-25 杭州迪普科技股份有限公司 数据包文件的重构方法、装置及设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003079618A2 (fr) * 2002-03-15 2003-09-25 Globespan Virata Incorporated Systeme et procede de recherche ip de correspondance du prefixe le plus long
CN1462004A (zh) * 2002-05-31 2003-12-17 思科技术公司 用于产生和使用改进的树形位图数据结构的方法和装置
US20040230583A1 (en) * 2003-05-13 2004-11-18 Cisco Technology, Inc., A California Corporation Comparison tree data structures of particular use in performing lookup operations
CN101141389A (zh) * 2007-09-29 2008-03-12 华为技术有限公司 增强多位Trie树查找方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003079618A2 (fr) * 2002-03-15 2003-09-25 Globespan Virata Incorporated Systeme et procede de recherche ip de correspondance du prefixe le plus long
CN1462004A (zh) * 2002-05-31 2003-12-17 思科技术公司 用于产生和使用改进的树形位图数据结构的方法和装置
US20040230583A1 (en) * 2003-05-13 2004-11-18 Cisco Technology, Inc., A California Corporation Comparison tree data structures of particular use in performing lookup operations
CN101141389A (zh) * 2007-09-29 2008-03-12 华为技术有限公司 增强多位Trie树查找方法和装置

Also Published As

Publication number Publication date
CN101572647B (zh) 2012-07-04
CN101572647A (zh) 2009-11-04

Similar Documents

Publication Publication Date Title
WO2009132556A1 (fr) Procédé et appareil de recherche de données
EP1168723B1 (fr) Méthode et appareil pour la détermination du préfixe de correspondance le plus long dans un réseau de transmission
KR101028470B1 (ko) Ip주소 검색을 위한 장치 및 방법
US6985483B2 (en) Methods and systems for fast packet forwarding
US6691124B2 (en) Compact data structures for pipelined message forwarding lookups
US7702630B2 (en) Longest prefix match lookup using hash function
US7433871B2 (en) Efficient ipv4/ipv6 best matching prefix method and apparatus
US7418505B2 (en) IP address lookup using either a hashing table or multiple hash functions
US7885268B2 (en) Method and system for hash table based routing via table and prefix aggregation
US6963868B2 (en) Multi-bit Patricia trees
US20040085953A1 (en) Longest prefix matching (LPM) using a fixed comparison hash table
US20060083247A1 (en) Prefix lookup using address-directed hash tables
JP4995125B2 (ja) 固定長データの検索方法
WO2009135417A1 (fr) Procédé de correspondance du préfixe le plus long et dispositif basé sur la structure de données arborescente
US20110307656A1 (en) Efficient lookup methods for ternary content addressable memory and associated devices and systems
WO2013078644A1 (fr) Procédé et dispositif de stockage de préfixe de routage et procédé et dispositif de recherche d'adresse de routage
JP3570323B2 (ja) アドレスに関するプレフィクスの格納方法
WO2010054599A1 (fr) Procédé, dispositif et système de stockage de données
Hsieh et al. Multiprefix trie: A new data structure for designing dynamic router-tables
CN109831384B (zh) 名字查找方法及路由器
Hsieh et al. A classified multisuffix trie for IP lookup and update
Lim et al. NXG06-1: An efficient IP address lookup algorithm using a priority trie
Kniesburges et al. Hashed Patricia Trie: Efficient longest prefix matching in peer-to-peer systems
WO2017000892A1 (fr) Recherche de routage de préfixe ip
US9444731B2 (en) Methods and systems for data packet routing

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09737666

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 09737666

Country of ref document: EP

Kind code of ref document: A1