CN106033420A - A Hash table processing method and device - Google Patents

A Hash table processing method and device Download PDF

Info

Publication number
CN106033420A
CN106033420A CN201510105315.7A CN201510105315A CN106033420A CN 106033420 A CN106033420 A CN 106033420A CN 201510105315 A CN201510105315 A CN 201510105315A CN 106033420 A CN106033420 A CN 106033420A
Authority
CN
China
Prior art keywords
hash
label
key
module
hash table
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.)
Pending
Application number
CN201510105315.7A
Other languages
Chinese (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.)
Hangzhou H3C Technologies Co Ltd
Original Assignee
Hangzhou H3C Technologies 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 Hangzhou H3C Technologies Co Ltd filed Critical Hangzhou H3C Technologies Co Ltd
Priority to CN201510105315.7A priority Critical patent/CN106033420A/en
Priority to PCT/CN2016/076114 priority patent/WO2016141887A1/en
Publication of CN106033420A publication Critical patent/CN106033420A/en
Pending legal-status Critical Current

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The invention provides a Hash table processing method and device. According to the invention, a Key can be placed in a Hash table by being replaced with a tag. Since the tag has a less length than the Key, when a hardware layer uses the Hash table, the storage space occupied by a Hash bucket in the Hash table in the hardware layer can be reduced and a Hash table with a greater capacity can be realized without increasing the storage space of a hardware layer. The tags corresponding to Keys with different lengths have a uniform normalization length, so that when a hardware layer uses Hash tables, the processing mechanisms of different Hash tables in the hardware layer can be unified and the use of the Hash tables in the hardware layer is easy to realize. Collision probability target values or false hit rate target values can restrain the setting of the normalization length of tags, so that the requirements for collision probabilities or false hit rates are met.

Description

The processing method and processing device of Hash table
Technical field
(described process can include at least in such as adding, search and deleting to the present invention relates to the process of Hash table Plant operation) method and device.
Background technology
Hash table is a kind of data structure with higher search performance.When at hardware layer application Hash table, how to utilize hardware It is current urgent problem that the limited memory space of layer realizes the Hash table of more capacity.
Summary of the invention
The embodiment provides the processing method and processing device of Hash table.
In one embodiment, the processing method of a kind of Hash table includes:
Hash Round Robin data partition is calculated according to current Key;
Calculated described Hash Round Robin data partition is utilized to index the Hash bucket of correspondence in described Hash table;
The label with normalization length, the described normalization length length less than described Key is calculated according to described Key;
Described label is utilized to mate list item in the described Hash bucket indexed;
Corresponding operation is performed according to matching result.
Alternatively, described processing method farther includes: set described normalization length according to default collision probability desired value, Described normalization length is made to meet:
P ( N ) = 1 - Π k = 1 N - 1 ( 1 - k IS ) ;
Wherein, P (N) represents described collision probability desired value, and N represents the current entry quantity in described Hash table, and I represents institute Stating the span of Hash Round Robin data partition, S represents the span of described label.
Alternatively, described processing method farther includes: set described normalization length according to default false hit probability desired value, Described normalization length is made to meet:
MTBF = IS N × rate × 365 × 24 × 3600 ;
Wherein, MTBF represents described false hit probability desired value, and N represents the current entry quantity in described Hash table, and I represents The span of described Hash Round Robin data partition, S represents the span of described label, and rate is that described Hash table is accessed for speed.
Alternatively, when the operation of described correspondence is for adding operation, if there is the list item of coupling, then to the described list item matched Perform to add operation, otherwise, perform interpolation by inserting the new list item with described label at the clear position of described Hash bucket Operation;Further, described processing method farther includes:
Before calculate the label with normalization length according to described Key, according to the algorithm choosing in the described Hash bucket indexed Select field, select corresponding algorithm for calculating of described label;
Before the described list item execution described interpolation operation to coupling, the described label that inspection currently calculates is by institute's Hash ground Whether the described Hash bucket that location is pointed to exists label collision;
If not depositing described label collision, enabling and the described list item matched is performed described interpolation operation;
If there is described label collision, then update the described label currently calculated and by institute's Hash Round Robin data partition by more scaling method The label value of all list items in the described Hash bucket pointed to, and again trigger described coupling;
When occurring algorithm to change, update the algorithms selection field in corresponding Hash bucket.
Alternatively, when the operation of described correspondence is search operation or deletion action, described processing method farther includes: at root Before there is the label of normalization length according to described Key calculating, according to the algorithms selection field in the described Hash bucket indexed, Corresponding algorithm is selected for calculating of described label.
In one embodiment, the processing means of a kind of Hash table includes:
Address calculation module, calculates Hash Round Robin data partition according to current Key;
Allocation index module, utilizes calculated described Hash Round Robin data partition to index the Hash bucket of correspondence in described Hash table;
Label modular converter, calculates the label with normalization length according to described Key, and described normalization length is less than described Key Length;
Tag match module, utilizes described label to mate list item in the described Hash bucket indexed;
Operation executing module, performs corresponding operation according to matching result.
Alternatively, described processing means farther includes: the first tag length constraints module, according to default collision probability target Value sets described normalization length, makes described normalization length meet:
P ( N ) = 1 - Π k = 1 N - 1 ( 1 - k IS ) ;
Wherein, P (N) represents described collision probability desired value, and N represents the current entry quantity in described Hash table, and I represents institute Stating the span of Hash Round Robin data partition, S represents the span of described label.
Alternatively, described processing means farther includes: the second tag length constraints module, according to default false hit probability mesh Scale value sets described normalization length, makes described normalization length meet:
MTBF = IS N × rate × 365 × 24 × 3600 ;
Wherein, MTBF represents described false hit probability desired value, and N represents the current entry quantity in described Hash table, and I represents The span of described Hash Round Robin data partition, S represents the span of described label, and rate is that described Hash table is accessed for speed.
Alternatively, when the operation of described correspondence is for adding operation, if there is the list item of coupling, the most described operation executing module pair The described list item matched performs to add operation, and otherwise, described operation executing module is inserted by the clear position at described Hash bucket Enter the new list item with described label to perform to add operation;Further, described processing means farther includes:
Algorithms selection module, before described label modular converter has the label of normalization length according to described Key calculating, depends on According to the algorithms selection field in the described Hash bucket indexed, select corresponding algorithm for calculating of described label;
Conflict inspection module, before described operation executing module performs described interpolation operation to the described list item of coupling, inspection is worked as Before the described label that calculates in the described Hash bucket pointed to by institute's Hash Round Robin data partition, whether there is label collision;
Add and enable module, if not depositing described label collision, enabling and the described list item matched is performed described interpolation operation;
Clash handle module, if there is described label collision, then by more scaling method update currently calculate described label, with And the label of all list items in the described Hash bucket pointed to by institute's Hash Round Robin data partition, and again trigger described coupling;
Field maintenance module, when occurring algorithm to change, updates the algorithms selection field in corresponding Hash bucket.
Alternatively, when the operation of described correspondence is search operation or deletion action, described processing means farther includes: algorithm Choose module, before described label modular converter has the label of normalization length according to described Key calculating, according to indexing Described Hash bucket in algorithms selection field, select corresponding algorithm for calculating of described label.
As can be seen here, based on the above embodiments, Key may alternatively be label and inserts Hash table.Key is compared owing to label has Having less length, therefore, when using Hash table at hardware layer, the Hash bucket that can reduce in Hash table accounts at hardware layer Memory space, such that it is able to realize the Hash table of more capacity in the case of not increasing hardware layer memory space.And, The Key of different length label corresponding respectively there is unified normalization length, therefore, when using Hash table at hardware layer, Different Hash table can be made to unitize, such that it is able to make Hash table be easily achieved in the use of hardware layer in the treatment mechanism of hardware layer.
It addition, in the above-described embodiment, the normalization that collision probability desired value or false hit rate desired value can retrain label is long The setting of degree, to meet collision probability or the demand of false hit rate.And, the above embodiments can pass through Adjustable calculation mark The algorithm signed is to avoid the conflict occurred in same Hash bucket between label.
Accompanying drawing explanation
Fig. 1 is the schematic diagram of the Hash table application architecture in a comparative example;
Fig. 2 is the schematic diagram of the Hash table application architecture in an embodiment;
Fig. 3 is the schematic flow sheet of the processing method of the Hash table in an embodiment;
Fig. 4 a and Fig. 4 b is the structural representation of the processing means of the Hash table in an embodiment;
Fig. 5 is the schematic diagram of the Hash table application architecture in another embodiment;
Fig. 6 a and Fig. 6 b is the schematic flow sheet of the processing method of the Hash table in another embodiment;
Fig. 7 a to Fig. 7 d is respectively the structural representation of the processing means of the Hash table in another embodiment;
Fig. 8 is the structural representation of the processing means of the Hash table in an embodiment.
Detailed description of the invention
For making the purpose of the present invention, technical scheme and advantage clearer, develop simultaneously embodiment referring to the drawings, right The present invention further describes.
It is firstly introduced into a comparative example in order to be able to more clearly embody the technique effect that subsequent embodiment can be generated by.Please Seeing Fig. 1, in a comparative example, the framework of application Hash table includes CPU 11, logic chip 12 and the first internal memory 13 With the second internal memory 14.Wherein, CPU 11 can be the processor of monokaryon or multinuclear, and logic chip 12 can be such as FPGA (Field-Programmable Gate Array, field programmable gate array) etc. have programmable logical device, the first internal memory 13 and second internal memory 14 can be such as DDR SDRAM (Double Date Rate Synchronous Dynamic Random Access Memory, Double Data Rate synchronous DRAM) etc. storage medium.
CPU 11 is connected with logic chip 12, and the first internal memory 13 connects CPU 11, and the second internal memory 14 connects logic chip 12, Further, connected second internal memory 14 of logic chip 12 can be counted as hardware layer.
In the comparative example shown in Fig. 1, the Hash table 10 left in the first internal memory 13 can be performed to add or delete by CPU 11 Division operation.After the Hash table 10 in the first internal memory 13 is performed interpolation or deletion action, CPU 11 can be by this Hash table 10 Lower brush, in the second internal memory 14, can be used at hardware layer for Hash table 10.Correspondingly, the logic chip in hardware layer 12 can perform search operation to the Hash table 10 deposited in the second internal memory 14.
Referring again to Fig. 1, Hash table 10 includes Hash district 10a and battleground 10b.Hash district 10a and battleground 10b divides Not there is Hash bucket 100a and 100b.Each Hash bucket 100a or 100b includes at least one hash table.Each Hash List item comprises a pair Key and result (result) the most corresponding, therefore, by hash table table in the comparative example shown in Fig. 1 It is shown as Key&result 101.In FIG, although the quantity of the Key&result 101 in each Hash bucket 100a or 100b is (i.e., The quantity of hash table) it is all one, it is not intended that the quantity of the Key&result 101 in Hash bucket 100a or 100b (that is, the quantity of hash table) is only one, but should be understood to the Key&result 101 in Hash bucket 100a or 100b Quantity (that is, the quantity of hash table) can be more than one.
Further, the comparative example shown in Fig. 1 is to be formed as a example by the 10b of battleground by chain address method, therefore, each Hash bucket 100a or 100b also includes pointer (pointer) 102.Correspondingly, the pointer 102 of the Hash bucket 100a in Hash district 10a is permissible Point to the Hash bucket 100b in the 10b of battleground, and, the pointer 102 of the Hash bucket 100b in the 10b of battleground can refer to The Hash bucket (not showing that in Fig. 1) of the next stage in the 10b of battleground, thus, by a Hash bucket 100a and at least Individual Hash bucket 100b forms Hash barrel chain table.
(1.1), for the interpolation of above-mentioned Hash table 10, first Hash_idx is calculated according to current Key (keyword) 121 (Hash Round Robin data partition or hash index) 122, and utilize calculated Hash_idx 122 to index the Kazakhstan of correspondence in Hash table 10 Uncommon bucket 100a and 100b, then mates in Hash bucket 100a and 100b indexed further according to Key 121 and there is identical Key The Key&result 101 of value.
If certain Hash bucket 100a or 100b pointed to by Hash_idx 122 exists the Key&result 101 of coupling, the most permissible Update the result in the Key&result 101 matched, to realize adding operation;
If all Hash bucket 100a and 100b pointed to by Hash_idx 122 the most not existing the Key&result 101 of coupling, then The new Key&result 101 with Key 101 can be inserted by the clear position of certain Hash bucket 100a or 100b wherein Realize adding operation.
(1.2), for the deletion of above-mentioned Hash table 10, first Hash_idx 122 is calculated according to current Key 121, And utilize calculated Hash_idx 122 index in Hash table 10 correspondence Hash bucket 100a and 100b, then further according to Key 121 mates the Key&result 101 that there is identical Key value in Hash bucket 100a and 100b indexed.
If certain Hash bucket 100a or 100b pointed to by Hash_idx 122 exists the Key&result 101 of coupling, the most permissible It is invalid, to realize deletion action that the Key&result 101 that will match to is set to;
If all Hash bucket 100a and 100b pointed to by Hash_idx 122 the most not existing the Key&result 101 of coupling, then Deletion action can not be successfully completed.
(1.3), for the lookup of above-mentioned Hash table 10, first Hash_idx 122 is calculated according to current Key 121, And utilize calculated Hash_idx 122 index in Hash table 10 correspondence Hash bucket 100a and 100b, then further according to Key 121 mates the Key&result 101 that there is identical Key value in Hash bucket 100a and 100b indexed.
If certain Hash bucket 100a or 100b pointed to by Hash_idx 122 exists the Key&result 101 of coupling, the most permissible Read the result in the Key&result 101 matched, to realize search operation;
If all Hash bucket 100a and 100b pointed to by Hash_idx 122 the most not existing the Key&result 101 of coupling, then Search operation can not be successfully completed.
The most visible, the comparative example shown in Fig. 1 is capable of the interpolation to Hash table 10, deletes and search.But, breathe out All Key&result 101 of uncommon table 10 can increase along with the length of Key 121 and become big, thus cause Hash table 10 to take Memory space increase therewith.This is for the second internal memory 14 of hardware layer, can form bigger storage burden.
Such as, along with popularizing of IPv6, after IP address size is become 128bit from the 32bit of IPv4, correspondingly, corresponding IP The Key 121 of address also can increase.To flow (flow) table Hash table as representative, the length of five-tuple also can be from the 104bit of IPv4 Become the 296bit of IPv6.Correspondingly, the Key 121 length when representing IP address will increase suddenly, and causes Key&result The size of 101 increases therewith, and this allows for 101 numbers of Key&result can deposited in the second internal memory 14 that memory capacity is limited Die-off, thus hinder the Hash table 10 use at hardware layer of big specification.
And, although the comparative example shown in Fig. 1 illustrate only a Hash table 10, but the quantity of Hash table 10 is probably many Individual, and, the length of the different Key 121 in Hash table 10 can be different.Now, in order to adapt to there is different length Multiple Hash tables 10 of Key 121, the programming realization of the logic chip 12 of hardware layer just becomes difficulty.
In addition to using IP address to obtain the situation of Key 121, such as, MAC Address is used to obtain other institutes such as Key 121 grade The length of Key 121 can be there is equally compared with big or the diversified problem of length of Key 121 in situation about likely occurring.
Referring to Fig. 2, in one embodiment, the framework of application Hash table includes CPU 21, logic chip 22 and first Internal memory 23 and the second internal memory 24.
CPU 21, logic chip 22 and the first internal memory 23 in embodiment illustrated in fig. 2 and the second internal memory 24 can respectively with CPU 11, logic chip 12 and the first internal memory 13 in comparative example are identical with the second internal memory 14.Further, real shown in Fig. 2 Executing the Hash table 20 in example equally can be from the first internal memory 23 by the second internal memory 24 of lower brush to hardware layer.
But, the Hash table 20 in embodiment illustrated in fig. 2 is different from the Hash table 10 in the comparative example shown in Fig. 1.Correspondingly, Interpolation or deletion action that the CPU 21 Hash table 20 to leaving in the first internal memory 23 performs are different from the comparative example shown in Fig. 1, Further, the search operation that the logic chip 22 Hash table 20 to leaving in the second internal memory 24 performs is also different from shown in Fig. 1 Comparative example.
Referring again to Fig. 2, Hash table 20 includes Hash district 20a and battleground 20b.Hash district 20a and battleground 20b divides Not there is Hash bucket 200a and 200b.Each Hash bucket 200a or 200b includes at least one hash table.With Fig. 1 Unlike shown comparative example, the Key in each hash table is replaced by the length Signature (label) less than Key, Therefore, hash table is expressed as by the embodiment shown in Fig. 2 Signature&result 201.In fig. 2, although each Kazakhstan The quantity (that is, the quantity of hash table) of the Signature&result 201 in uncommon bucket 100a or 100b is all one, but this The quantity (that is, the quantity of hash table) of the Signature&result 201 being not offered as in Hash bucket 100a or 100b can only It is one, but should be understood to quantity (that is, the Hash table of the Signature&result 201 in Hash bucket 100a or 100b The quantity of item) can be more than one.
Further, the embodiment shown in Fig. 2 is to be formed as a example by the 20b of battleground by chain address method, therefore, each Hash bucket 200a or 200b also including, pointer 202, pointer 202 can make Hash bucket 200a and at least one Hash bucket 200b form Hash Barrel chain table.
(2.1), for the interpolation of above-mentioned Hash table 20, first Hash_idx 222 is calculated according to current Key 221, And utilize calculated Hash_idx 222 to index Hash bucket 200a and 200b of correspondence in Hash table 20, and, also need Key 221 is converted to Signature 223 and according to Signature 223 in Hash bucket 200a and 200b indexed There is the Signature&result 201 of identical Signature value in coupling.
If certain Hash bucket 200a or 200b pointed to by Hash_idx 222 exists the Signature&result 201 of coupling, The result that then can utilize corresponding Key 221 replaces the result in the Signature&result 201 matched, to realize adding Operation;
If all Hash bucket 200a and 200b pointed to by Hash_idx 222 the most do not exist the Signature&result of coupling 201, then the clear position of certain Hash bucket 200a or 200b wherein can insert new Signature&result 201, newly Signature&result 201 with the Signature 223 and result of corresponding Key 221, thus realize adding operation.
(2.2), for the deletion of above-mentioned Hash table 20, first Hash_idx 222 is calculated according to current Key 221, And utilize calculated Hash_idx 222 to index Hash bucket 200a and 200b of correspondence in Hash table 20, and, also need Key 221 is converted to Signature 223 and according to Signature 223 in Hash bucket 200a and 200b indexed There is the Signature&result 201 of identical Signature value in coupling.
If certain Hash bucket 200a or 200b pointed to by Hash_idx 222 exists the Signature&result 201 of coupling, It is invalid, to realize deletion action that the Signature&result 201 that then can will match to is set to;
If all Hash bucket 200a and 200b pointed to by Hash_idx 222 the most do not exist the Signature&result of coupling 201, then can not be successfully completed deletion action.
(2.3), for the lookup of above-mentioned Hash table 20, first Hash_idx 222 is calculated according to current Key 221, And utilize calculated Hash_idx 222 to index Hash bucket 200a and 200b of correspondence in Hash table 20, and, also need Key 221 is converted to Signature 223 and according to Signature 223 in Hash bucket 200a and 200b indexed There is the Signature&result 201 of identical Signature value in coupling.
If certain Hash bucket 200a or 200b pointed to by Hash_idx 222 exists the Signature&result 201 of coupling, Then can read the result in the Signature&result 201 matched, to realize search operation;
If all Hash bucket 200a and 200b pointed to by Hash_idx 222 the most do not exist the Signature&result of coupling 201, then can not be successfully completed search operation.
The most visible, it is real that the embodiment shown in Fig. 2 can utilize the Signature 223 with less length to substitute Key 221 Now to the interpolation of Hash table 20, delete and search.It can thus be avoided the Signature&result 201 in Hash table 20 Increase along with the length of Key 221 and become big, thus avoid the memory space that Hash table 20 takies along with the length increasing of Key 221 Add and increase.Thus, it is possible to avoid the storage burden of the second internal memory 14 of hardware layer to increase.
And, in the embodiment shown in Figure 2, the different length that Key 221 is likely to be of, Signature's 223 Length is all consistent.That is, the Key 221 of different length can be converted into same length in the embodiment shown in Figure 2 Signature 223.Thus, Key 221 is converted to the process of Signature 223 and not only can be regarded as the mistake of a length reduction Journey, but also can be regarded as the process of a length normalization method.Correspondingly, the length of Signature 223 may be considered and returns One changes length.
Now, even if the Hash table 20 in the embodiment shown in Fig. 2 can be multiple, that deposits in the second internal memory 24 is multiple The length of the Signature 223 in Hash table 20 is the most all unified.It can thus be avoided for the difference adapting to Key 221 Length and make the programming realization of the logic chip 12 of hardware layer complicate.
It addition, along with Key 221 is substituted by the Signature 223 with less length, it is possible to exist interpolation collision probability and The risk that false hit probability promotes.To this end, the embodiment shown in above-mentioned Fig. 2 can be to the normalization length of Signature 223 Apply constraint.
A kind of optional the way of restraint is: the normalization utilizing collision probability desired value set in advance constraint Signature 223 is long The setting of degree.
Specifically, add Hash table 20 time, if corresponding identical Hash_idx 222 but there is at least two of different Key value The Signature 223 of Key 221 is identical, then it is believed that there occurs above-mentioned conflict.Otherwise, then it is believed that rush Prominent.
Correspondingly, the probability P (N) not clashed can be expressed as
Wherein, P (N) represents collision probability desired value, and N represents the Signature&result 201 that there is currently in Hash table 20 Quantity, I represents the span of Hash_idx 222, and S represents the span of Signature 223.
The above-mentioned probability P (N) not clashed can be along with quantity N of the Signature&result 201 in Hash table 20 Increase and be gradually reduced:
As N=1, Hash table 20 only exists 1 Signature&result 201,That is, the probability not conflicted It is 100%;
As N=2, Hash table 20 exists 2 Signature&result 201,
As N=3, Hash table 20 exists 3 Signature&result 201,
By that analogy, P ‾ ( N ) = P ‾ ( 1 ) P ‾ ( 2 ) P ‾ ( 3 ) . . . P ‾ ( N - 1 ) ( 1 - N - 1 IS ) = Π k = 1 N - 1 ( 1 - k IS ) .
Correspondingly, the probability clashed P ( N ) = 1 - Π k = 1 N - 1 ( 1 - k IS ) ;
It is assumed that N=220, I=220, S=264(that is, a length of 64bit of normalization of Signature 223), then take 40 effectively The P (N)=0.0000000000005684341615028642778715783961 of position.
Assume again that, N=220, I=220, S=2128(that is, a length of 128bit of normalization of Signature 223), then take 40 The P (N)=0.0000000000000000000000000000000308148776 of significance bit.
It follows that there is restriction relation between the normalization length of Signature 223 and P (N), therefore, it can preset P (N) and using P set in advance (N) as collision probability desired value constraint Signature 223 normalization length.
Another kind of optional the way of restraint is: utilize the normalization of false hit rate desired value constraint Signature 223 set in advance The setting of length.
Specifically, when adding, deleting or search Hash table 20, if occurring, at least Key 221 with different Key value is same Time corresponding identical Hash_idx 222 and Signature 223, then it is believed that there occurs above-mentioned false hit.
Once interpolation (there is the situation of coupling Signature&result 201), once deletion or once lookup are likely to occur Big false hit probability is INS, and wherein, N represents the quantity of the Signature&result 201 that there is currently in Hash table 20, I Representing the span of Hash_idx 222, S represents the span of Signature 223.
Further, being accessed for situation for Hash table 20 with given speed rate, the interval MTBF occurring vacation to hit can be with table It is shown as:
MTBF = IS N × rate × 365 × 24 × 3600 ; Wherein, the unit of MTBF can be " year ".
It is assumed that S and I all takes 264(that is, the length of Hash_idx 222 and the normalization length of Signature 223 are 64bit), and rate takes 150Mpps, then MTBF is about 3899.
It follows that there is restriction relation between normalization length and the MTBF of Signature 223, therefore, it can preset MTBF and using MTBF set in advance as the normalization length of false hit probability desired value constraint Signature 223.
Above-mentioned principle based on the embodiment shown in Fig. 2, each provides the processing method of a kind of Hash table and the dress of correspondence thereof Put.It is described in detail separately below.
Referring to Fig. 3, the processing method of a kind of Hash table may include steps of:
S311, calculates Hash_idx according to current Key.Wherein, current Key can be to obtain from such as message, and Interpolation operation, deletion action or search operation can be triggered.
S312, utilizes calculated Hash_idx to index the Hash bucket of correspondence in Hash table.Wherein, if Hash district and conflict Form the Hash barrel chain table of corresponding Hash_idx in district, then the Hash bucket retrieved in this step can include in Hash barrel chain table Multiple Hash buckets.
S313, calculates the Signature with normalization length according to current Key (identical with the Key in S311), should The normalization length length less than Key.
S314, utilizes Signature to mate list item (that is, Signature&result) in the Hash bucket indexed.Wherein, if The Hash bucket that S312 indexes includes the multiple Hash buckets in Hash barrel chain table, then this step can in multiple Hash buckets matching list ?.
S315, performs corresponding operation, then process ends according to matching result.
When the operation of the described correspondence that S315 performs is for adding operation, if matching result is to there is the list item of coupling (i.e., Signature&result), then the S315 list item to matching performs to add operation;If matching result is the list item that there is not coupling (that is, Signature&result), then S315 is by inserting the new list item with described label (i.e., at the clear position of Hash bucket Signature&result) perform to add operation.
When the operation of the described correspondence that S315 performs is deletion action, if matching result is to there is the list item of coupling (i.e., Signature&result), then the S315 list item to matching performs deletion action.Otherwise, S315 deletes unsuccessfully.
When the operation of the described correspondence that S315 performs is search operation, if matching result is to there is the list item of coupling (i.e., Signature&result), then the S315 list item (that is, Signature&result) to matching performs search operation;Otherwise, S315 searches unsuccessfully.
Preferably, adding operation or deletion action can be to be performed by CPU 21 in framework as shown in Figure 2, search operation exists Framework as shown in Figure 2 can be performed by logic chip 12.Correspondingly, as above-mentioned processing method CPU in fig. 2 When running in 21, the operation that above-mentioned S315 performs may be for adding operation or deletion action;And when above-mentioned processing method is by Fig. 2 When the logic array formed in shown logic chip 12 realizes, the operation performed by above-mentioned S315 may be for search operation.
Above-mentioned it is preferable that be responsible for safeguarding Hash table the application scenarios to 12 times brushes of logic chip to adapt to CPU 21. For debugging scenarios, CPU 21 can also perform search operation;Further, logic chip 12 is safeguarded that Hash table is answered voluntarily By scene, logic chip 12 can also perform to add operation or deletion action.
It addition, in the processing method shown in Fig. 3, can be further according to manner described above, according to default conflict Probabilistic goal value or false hit probability desired value set the normalization length of Signature.
Referring to Fig. 4 a and Fig. 4 b, the processing means of a kind of Hash table can include following module:
Address calculation module 411, calculates Hash_idx according to current Key.Wherein, current Key can be from such as reporting Literary composition obtains, it is possible to trigger and add operation, deletion action or search operation.
Allocation index module 412, utilizes calculated Hash_idx to index the Hash bucket of correspondence in Hash table.Wherein, if Hash district and the Hash barrel chain table forming corresponding Hash_idx in battleground, then the Hash bucket that allocation index module 412 retrieves can To include the multiple Hash buckets in Hash barrel chain table.
Tag computation module 413, calculates the Signature with normalization length according to above-mentioned Key, and this normalization length is little Length in Key.
Tag match module 414, utilizes Signature to mate list item (that is, Signature&result) in the Hash bucket indexed. Wherein, if the Hash bucket that allocation index module 412 indexes includes the multiple Hash buckets in Hash barrel chain table, then tag match mould Block 414 can mate list item in multiple Hash buckets.
Operation executing module 415, performs corresponding operation according to matching result.
When the operation of the described correspondence that operation executing module 415 performs is for adding operation, if matching result is the table that there is coupling Item (that is, Signature&result), then the operation executing module 415 list item to matching performs to add operation, otherwise, operation Perform module 415 and insert the new list item (that is, Signature&result) with described label by the clear position at Hash bucket Perform to add operation.
When the operation of the described correspondence that operation executing module 415 performs is deletion action, if matching result is the table that there is coupling Item (that is, Signature&result), then the operation executing module 415 list item to matching performs deletion action, otherwise, operation Perform module 415 to confirm to delete unsuccessfully.
When the operation of the described correspondence that operation executing module 415 performs is search operation, if matching result is the table that there is coupling Item (that is, Signature&result), then the operation executing module 415 list item to matching performs search operation, otherwise, operation Perform module 415 to confirm to search unsuccessfully.
When adding operation, deletion action or search operation and being performed by CPU 21 in framework as shown in Figure 2, above-mentioned place Reason device can as shown in fig. 4 a as leave the first internal memory 23 shown in Fig. 2 in being modular and by the CPU in Fig. 2 21 call operation;
When adding operation, deletion action or search operation and being performed by logic chip 12 in framework as shown in Figure 2, above-mentioned Processing means can as shown in Figure 4 b as be integrated in being modular in the logic chip 12 shown in Fig. 2.
It addition, in the processing means shown in Fig. 4 a and Fig. 4 b, the first or second tag length can be farther included about Bundle module, first, second tag length constraints module can be respectively according to previously described two ways, according to default conflict Probabilistic goal value or false hit probability desired value set the normalization length of Signature.
Referring to Fig. 5, in another embodiment, the framework of application Hash table includes CPU 51, logic chip 52, Yi Ji One internal memory 53 and the second internal memory 54.
CPU 51, logic chip 52 and the first internal memory 53 in embodiment illustrated in fig. 5 and the second internal memory 54 can respectively with CPU 21, logic chip 22 and the first internal memory 23 in embodiment illustrated in fig. 2 are identical with the second internal memory 24.Further, Hash table 50 in embodiment illustrated in fig. 5 equally can be from the first internal memory 53 by the second internal memory 54 of lower brush to hardware layer.
Compared with the Hash table 20 in embodiment illustrated in fig. 2, the Hash bucket 500a of the Hash table 50 in embodiment illustrated in fig. 5 and In 500b except Signature&result 501 and pointer 502 (can respectively with in embodiment illustrated in fig. 2 Signature&result 201 and pointer 202 is identical) outside, it is also possible to farther include algorithms selection sel field 503.
Further, in the first internal memory 53 in addition to depositing Hash table 50, it is also possible to deposit further in comparative example shown in Fig. 1 Hash table 10.CPU 51 can be by the Key value in the Hash table 10 in the first internal memory 53 and the Signature in Hash table 50 Value synchronous maintenance, but Hash table 10 can not be issued to the second internal memory 54.
For above-mentioned Hash table 50 interpolation, delete and search, compared with the embodiment shown in Fig. 2, the enforcement shown in Fig. 5 Example needs to select the algorithm of correspondence, recycling further with the sel field 503 in Hash bucket 500a and 500b indexed Key 521 is converted to Signature 523 by the algorithm selected.
Further, for the interpolation of above-mentioned Hash table 50, in the embodiment show in figure 5, if being pointed to by Hash_idx 522 Certain Hash bucket 500a or 500b exists the Signature&result 501 of coupling, then to the Signature&result matched Before 501 perform to add operation, verify whether current coupling belongs to conflict first with Hash table 10, i.e. utilize Hash table 10 In Key&result 101 Key value inspection, will perform add operation whether can cause by current Hash_idx 522 Pointed Hash bucket 500a and 500b occurs label collision;
When there is not label collision, the result of corresponding Key 521 is utilized to replace in the Signature&result 501 matched Result, to realize adding operation, and, also will currently calculate the type mark of the algorithm that Signature 523 is used at sel In field 503;
When there is label collision, change the current algorithm selected, and utilize the algorithm of replacing update Signature 523 and By all of Signature value in Hash bucket 500a and 500b pointed by current Hash_idx 522 in Hash table 50, so The rear Signature 523 utilizing renewal performs again in Hash bucket 500a and 500b pointed by current Hash_idx 522 The coupling of Signature&result 501, and, all Hash bucket 500a and 500b pointed by current Hash_idx 522 In sel field 503 can by synchronized update.
Wherein, in Hash bucket 500a and 500b, the renewal of all of Signature value can be by the Hash table 10 of synchronous maintenance In the Key value of Key&result 101 realize.
The processing mode of the Signature&result 501 of coupling, and process side when deleting and search is there is not during for adding Formula, then the embodiment shown in Fig. 5 can be identical with embodiment illustrated in fig. 2.
The most visible, in embodiment illustrated in fig. 5, except reducing by the way of previously described constraint normalization length Outside collision probability and false hit rate, it is also possible to reduced what conflict occurred further further by more scaling method when adding Probability.
Correspondingly, the embodiment shown in Fig. 5, based on above-mentioned principle, each provides the processing method of Hash table and the dress of correspondence Put.It is described in detail separately below.
Referring to Fig. 6 a, for adding operation, the adding method of this Hash table can apply CPU 51 in Figure 5, and, This interpolation processing method may include steps of:
S611, calculates Hash_idx according to current Key.
S612, utilizes calculated Hash_idx to index the Hash bucket of correspondence in Hash table.Wherein, if Hash district and conflict Form the Hash barrel chain table of corresponding Hash_idx in district, then the Hash bucket retrieved in this step can include in Hash barrel chain table Multiple Hash buckets.
S613, according to the algorithms selection field in the Hash bucket indexed, for selecting corresponding algorithm.Wherein, index as S612 During multiple Hash bucket in Hash barrel chain table, the algorithm types mark of the algorithms selection field of each Hash bucket in this Hash barrel chain table Sensible same.
S614, according to current Key (identical with the Key in S611) and utilize the algorithm of selection to calculate to have normalization long The Signature of degree, this normalization length length less than Key.
S615, utilizes Signature to mate list item (that is, Signature&result) in the Hash bucket indexed.Wherein, if The Hash bucket that S312 indexes includes the multiple Hash buckets in Hash barrel chain table, then this step can in multiple Hash buckets matching list ?.
S616, if there is the list item (that is, Signature&result) of coupling, then checks the Signature currently calculated at quilt Whether the Hash bucket that Hash_idx points to exists label collision.Wherein it is possible to utilize the tradition Kazakhstan being coupling element with Key value Uncommon table realizes above-mentioned inspection.
S617, if not depositing label collision, then enables and performs to add operation to the list item (that is, Signature&result) matched, That is, perform to add operation, then process ends to the list item matched.
S618, if there is label collision, then updates the Signature currently calculated and by Hash_idx by more scaling method The Signature value of all list items (that is, Signature&result) in the Hash bucket pointed to, and return S615 and again mate.
S619, when occurring algorithm to change, updates the algorithms selection field in corresponding Hash bucket.
S620, if there is not the list item (that is, Signature&result) of coupling, then inserts band by the clear position at Hash bucket The new list item (that is, Signature&result) having described label performs to add operation, then process ends.
Referring to Fig. 6 b, for deletion action, this processing method can apply CPU 51 in Figure 5;For search operation, This processing method can apply logic chip 52 in Figure 5;Further, for deletion action or search operation, this processing method May include steps of:
S621, calculates Hash_idx according to current Key.
S622, utilizes calculated Hash_idx to index the Hash bucket of correspondence in Hash table.Wherein, if Hash district and conflict Form the Hash barrel chain table of corresponding Hash_idx in district, then the Hash bucket retrieved in this step can include in Hash barrel chain table Multiple Hash buckets.
S623, according to the algorithms selection field in the Hash bucket indexed, for selecting corresponding algorithm.Wherein, index as S622 During multiple Hash bucket in Hash barrel chain table, the algorithm types mark of the algorithms selection field of each Hash bucket in this Hash barrel chain table Sensible same.
S624, according to current Key (identical with the Key in S621) and utilize the algorithm of selection to calculate to have normalization long The Signature of degree, this normalization length length less than Key.
S625, utilizes Signature to mate list item (that is, Signature&result) in the Hash bucket indexed.Wherein, if The Hash bucket that S622 indexes includes the multiple Hash buckets in Hash barrel chain table, then this step can in multiple Hash buckets matching list ?.
S626, if there is the list item (that is, Signature&result) of coupling, then performs the list item matched to delete or search behaviour Make, then process ends.Otherwise, delete or search unsuccessfully and process ends.
It addition, in the processing method shown in Fig. 6 a and Fig. 6 b, can be further according to manner described above, according in advance If collision probability desired value or false hit probability desired value set the normalization length of Signature.
Referring to Fig. 7 a, the processing means of a kind of Hash table, it goes for adding operation and including and the address in Fig. 4 a Computing module 411, allocation index module 412, tag computation module 413, tag match module 414 and operation perform mould The module that block 415 is respectively the most identical, and, this processing means can further include following module:
First algorithms selection module 711, has normalization length in tag computation module 413 according to above-mentioned Key calculating Before Signature, according to the sel field in the Hash bucket that the first address module 412 indexes, for tag computation module 413 Select corresponding algorithm, calculate Signature for tag computation module 413;
Conflict inspection module 712, performs module 415 list item that matches tag match module 414 (i.e., adding Signature&result), before performing to add operation, the label that inspection currently calculates is in the Hash bucket pointed to by Hash_idx Whether there is label collision;
Add and enable module 713, if conflict inspection module 712 judges not deposit label collision, enable interpolation and perform module 415 Perform to add operation to the list item matched;
Clash handle module 714, if there is label collision, then makes the first tag computation module 413 update by more scaling method and works as Before all list items (that is, Signature&result) in the Signature that calculates and the Hash bucket pointed to by Hash_idx Signature value, and triggering tag match module 414 performs coupling again;
Field maintenance module 715, when occurring algorithm to change, updates the sel field in corresponding Hash bucket.
When adding operation and being performed by CPU 51 in framework as shown in Figure 5, above-mentioned processing means can be as shown in Figure 7a As leave the first internal memory 53 shown in Fig. 5 in being modular and called operation by the CPU 51 in Fig. 5;
When adding operation and being performed by logic chip 52 in framework as shown in Figure 5, above-mentioned processing means can be such as Fig. 7 b It is integrated in being modular as Suo Shi in the logic chip 52 shown in Fig. 5.
Referring to Fig. 7 b, the processing means of a kind of Hash table, it goes for deletion action and includes and the address in Fig. 4 a Computing module 411, allocation index module 412, tag computation module 413, tag match module 414 and operation perform mould The module that block 415 is respectively the most identical, and, this processing means can further include following module:
Second algorithms selection module 720, according to the sel field in the Hash bucket that the second address module 422 indexes, is the second mark Sign computing module 423 and select the algorithm of correspondence, calculate Signature for the second tag computation module 423.
When deletion action or search operation are performed by CPU 51 in framework as shown in Figure 5, above-mentioned processing means is permissible Leave the first internal memory 53 shown in Fig. 5 in being modular as shown in Figure 7 c and called fortune by the CPU 51 in Fig. 5 OK;
When deletion action or search operation are performed by logic chip 52 in framework as shown in Figure 5, above-mentioned processing means Can as shown in figure 7d as be integrated in being modular in the logic chip 52 shown in Fig. 5.
It addition, in the processing means shown in Fig. 7 a to Fig. 7 d, equally farther include previously described first or Two tag length constraints module.
Based on the understanding to the above embodiments, the technical scheme that the above embodiments propose both can embody in the form of hardware Come, it is also possible to embody with the form of software product.
Specifically, when this technical scheme embodies with the form of software product, it is provided that be furnished with machine-readable storage and be situated between The system of matter or device, store the software program of the function realizing above-mentioned processing method or processing means on the storage medium Code, and make the processor of this system or device read and perform the program code being stored in storage medium.
In the case, the function of above-mentioned processing method processing means alive can be realized from the program code of storage medium reading itself, Therefore the storage medium of program code and storage program code constitutes the technical scheme realizing above-mentioned processing method or processing means A part.
Wherein, for provide the storage medium embodiment of program code include floppy disk, hard disk, magneto-optic disk, CD (as CD-ROM, CD-R, CD-RW, DVD-ROM, DVD-RAM, DVD-RW, DVD+RW), tape, Nonvolatile memory card And ROM.Selectively, can be by communication network download program code from server computer.
It is noted that not only by the program code performed read-out by computer, and can be by based on program generation The instruction of code makes the operating system etc. of calculating hands-operation complete practical operation partly or completely, thus realizes examples detailed above The function of middle any one embodiment.
Further, it is to be appreciated that the program code read by storage medium is write in the expansion board inserted in computer set In the memorizer put or write in the expanding element being connected with computer arrange memorizer in, be subsequently based on program code Instruction makes the processor etc. being arranged on expansion board or expanding element come executable portion and whole practical operation, thus realizes above-mentioned Processing method or the function of processing means.
Such as, referring to Fig. 8, the processing means of a kind of Hash table includes internal memory 801 (the most above-mentioned memorizer) and and internal memory 801 processors 802 connected by internal bus 800, and, program code can be by reading or from logical from storage medium The mode that communication network is downloaded is stored in internal memory 801, and processor 802 reads from internal memory 801 and program code execution can realize State the function of processing method processing means alive.It is thus possible to think, the processing means of a kind of Hash table can include for depositing The internal memory 801 of program code and connected the processor 802 of internal memory 801 program code read by internal bus 800.
This processor 802 instruction by program code execution:
Hash Round Robin data partition is calculated according to current Key;
Calculated Hash Round Robin data partition is utilized to index the Hash bucket of correspondence in Hash table;
The label with normalization length, this normalization length length less than above-mentioned Key is calculated according to above-mentioned Key;
Calculated label is utilized to mate list item in the Hash bucket indexed;
Corresponding operation is performed according to matching result.
In one example, further, described processor 802 reads to instruct and performs:
Set described normalization length according to default collision probability desired value, make described normalization length meet:
P ( N ) = 1 - Π k = 1 N - 1 ( 1 - k IS ) ;
Wherein, P (N) represents described collision probability desired value, and N represents the current entry quantity in described Hash table, and I represents institute Stating the span of Hash Round Robin data partition, S represents the span of described label.
In one example, further, described processor 802 reads to instruct and performs:
Set described normalization length according to default false hit probability desired value, make described normalization length meet:
MTBF = IS N × rate × 365 × 24 × 3600 ;
Wherein, MTBF represents described false hit probability desired value, and N represents the current entry quantity in described Hash table, and I represents The span of described Hash Round Robin data partition, S represents the span of described label, and rate is that described Hash table is accessed for speed.
In one example, further, described processor 802 reads to instruct and performs:
When the operation of described correspondence is for adding operation, if there is the list item of coupling, then the described list item matched is performed interpolation Operation, otherwise, performs to add operation by inserting the new list item with described label at the clear position of described Hash bucket;
Before calculate the label with normalization length according to described Key, according to the algorithm choosing in the described Hash bucket indexed Select field, select corresponding algorithm for calculating of described label;
Before the described list item execution described interpolation operation to coupling, the described label that inspection currently calculates is by institute's Hash ground Whether the described Hash bucket that location is pointed to exists label collision;
If not depositing described label collision, enabling and the described list item matched is performed described interpolation operation;
If there is described label collision, then update the described label currently calculated and by institute's Hash Round Robin data partition by more scaling method The label value of all list items in the described Hash bucket pointed to, and again trigger described coupling;
When occurring algorithm to change, update the algorithms selection field in corresponding Hash bucket.
In one example, further, described processor 802 reads to instruct and performs:
When the operation of described correspondence is search operation or deletion action, described processing method farther includes: according to described Key Before calculating has the label of normalization length, according to the algorithms selection field in the described Hash bucket indexed, for described label Calculate and select corresponding algorithm.
The foregoing is only presently preferred embodiments of the present invention, not in order to limit the present invention, all spirit in the present invention and former Within then, any modification, equivalent substitution and improvement etc. done, within should be included in the scope of protection of the invention.

Claims (10)

1. the processing method of a Hash table, it is characterised in that the treating method comprises:
Hash Round Robin data partition is calculated according to current Key;
Calculated described Hash Round Robin data partition is utilized to index the Hash bucket of correspondence in described Hash table;
The label with normalization length, the described normalization length length less than described Key is calculated according to described Key;
Described label is utilized to mate list item in the described Hash bucket indexed;
Corresponding operation is performed according to matching result.
Processing method the most according to claim 1, it is characterised in that described processing method farther includes: according to presetting Collision probability desired value set described normalization length, make described normalization length meet:
P ( N ) = 1 - Π k = 1 N - 1 ( 1 - k IS ) ;
Wherein, P (N) represents described collision probability desired value, and N represents the current entry quantity in described Hash table, and I represents institute Stating the span of Hash Round Robin data partition, S represents the span of described label.
Processing method the most according to claim 1, it is characterised in that described processing method farther includes: according to presetting False hit probability desired value set described normalization length, make described normalization length meet:
MTBF = IS N × rate × 365 × 24 × 3600 ;
Wherein, MTBF represents described false hit probability desired value, and N represents the current entry quantity in described Hash table, and I represents The span of described Hash Round Robin data partition, S represents the span of described label, and rate is that described Hash table is accessed for speed.
Adding method the most according to claim 1, it is characterised in that when the operation of described correspondence is for adding operation, if There is the list item of coupling, then perform to add operation, otherwise, by the spare bits at described Hash bucket to the described list item matched Put to insert and perform to add operation with the new list item of described label;Further, described processing method farther includes:
Before calculate the label with normalization length according to described Key, according to the algorithm choosing in the described Hash bucket indexed Select field, select corresponding algorithm for calculating of described label;
Before the described list item execution described interpolation operation to coupling, the described label that inspection currently calculates is by institute's Hash ground Whether the described Hash bucket that location is pointed to exists label collision;
If not depositing described label collision, enabling and the described list item matched is performed described interpolation operation;
If there is described label collision, then update the described label currently calculated and by institute's Hash Round Robin data partition by more scaling method The label value of all list items in the described Hash bucket pointed to, and again trigger described coupling;
When occurring algorithm to change, update the algorithms selection field in corresponding Hash bucket.
Adding method the most according to claim 1, it is characterised in that when the operation of described correspondence is search operation or deletion During operation, described processing method farther includes: before calculate the label with normalization length according to described Key, foundation Algorithms selection field in the described Hash bucket indexed, selects corresponding algorithm for calculating of described label.
6. the processing means of a Hash table, it is characterised in that described processing means includes:
Address calculation module, calculates Hash Round Robin data partition according to current Key;
Allocation index module, utilizes calculated described Hash Round Robin data partition to index the Hash bucket of correspondence in described Hash table;
Label modular converter, calculates the label with normalization length according to described Key, and described normalization length is less than described Key Length;
Tag match module, utilizes described label to mate list item in the described Hash bucket indexed;
Operation executing module, performs corresponding operation according to matching result.
Processing means the most according to claim 6, it is characterised in that described processing means farther includes: the first label Length constraint module, sets described normalization length according to default collision probability desired value, makes described normalization length meet:
P ( N ) = 1 - Π k = 1 N - 1 ( 1 - k IS ) ;
Wherein, P (N) represents described collision probability desired value, and N represents the current entry quantity in described Hash table, and I represents institute Stating the span of Hash Round Robin data partition, S represents the span of described label.
Processing means the most according to claim 6, it is characterised in that described processing means farther includes: the second label Length constraint module, sets described normalization length according to default false hit probability desired value, makes described normalization length meet:
MTBF = IS N × rate × 365 × 24 × 3600 ;
Wherein, MTBF represents described false hit probability desired value, and N represents the current entry quantity in described Hash table, and I represents The span of described Hash Round Robin data partition, S represents the span of described label, and rate is that described Hash table is accessed for speed.
Processing means the most according to claim 6, it is characterised in that when the operation of described correspondence is for adding operation, if There is the list item of coupling, the most described operation executing module described list item to matching performs to add operation, otherwise, described operation Perform module to perform to add operation by inserting the new list item with described label at the clear position of described Hash bucket;Further, Described processing means farther includes:
Algorithms selection module, before described label modular converter has the label of normalization length according to described Key calculating, depends on According to the algorithms selection field in the described Hash bucket indexed, select corresponding algorithm for calculating of described label;
Conflict inspection module, before described operation executing module performs described interpolation operation to the described list item of coupling, inspection is worked as Before the described label that calculates in the described Hash bucket pointed to by institute's Hash Round Robin data partition, whether there is label collision;
Add and enable module, if not depositing described label collision, enabling and the described list item matched is performed described interpolation operation;
Clash handle module, if there is described label collision, then by more scaling method update currently calculate described label, with And the label of all list items in the described Hash bucket pointed to by institute's Hash Round Robin data partition, and again trigger described coupling;
Field maintenance module, when occurring algorithm to change, updates the algorithms selection field in corresponding Hash bucket.
Processing means the most according to claim 6, it is characterised in that when the operation of described correspondence is search operation or deletes During division operation, described processing means farther includes: algorithm picks module, counts according to described Key at described label modular converter Before calculator has the label of normalization length, according to the algorithms selection field in the described Hash bucket indexed, for described label Calculate and select corresponding algorithm.
CN201510105315.7A 2015-03-11 2015-03-11 A Hash table processing method and device Pending CN106033420A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201510105315.7A CN106033420A (en) 2015-03-11 2015-03-11 A Hash table processing method and device
PCT/CN2016/076114 WO2016141887A1 (en) 2015-03-11 2016-03-11 Hash table processing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510105315.7A CN106033420A (en) 2015-03-11 2015-03-11 A Hash table processing method and device

Publications (1)

Publication Number Publication Date
CN106033420A true CN106033420A (en) 2016-10-19

Family

ID=56878928

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510105315.7A Pending CN106033420A (en) 2015-03-11 2015-03-11 A Hash table processing method and device

Country Status (2)

Country Link
CN (1) CN106033420A (en)
WO (1) WO2016141887A1 (en)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106411654A (en) * 2016-10-27 2017-02-15 任子行网络技术股份有限公司 Method and device for processing network traffic analysis
CN107273397A (en) * 2016-03-31 2017-10-20 三星电子株式会社 The many Hash tables of virtual bucket for the online deduplication application of effective memory
CN107515901A (en) * 2017-07-24 2017-12-26 中国科学院信息工程研究所 A kind of chain type daily record storage organization and its Hash Index Structure, data manipulation method and server, medium
CN108052582A (en) * 2017-12-08 2018-05-18 锐捷网络股份有限公司 A kind of method and apparatus for accessing database
CN108804031A (en) * 2017-05-04 2018-11-13 慧与发展有限责任合伙企业 Best titime is searched
CN109947762A (en) * 2017-08-16 2019-06-28 深圳市中兴微电子技术有限公司 A kind of Hash table management method and device, computer readable storage medium
CN109977116A (en) * 2019-03-14 2019-07-05 山东超越数控电子股份有限公司 Hash connection operator accelerated method and system based on FPGA-DDR
CN110413215A (en) * 2018-04-28 2019-11-05 伊姆西Ip控股有限责任公司 For obtaining the method, equipment and computer program product of access authority
CN111177476A (en) * 2019-12-05 2020-05-19 北京百度网讯科技有限公司 Data query method and device, electronic equipment and readable storage medium
CN111309772A (en) * 2020-03-23 2020-06-19 优刻得科技股份有限公司 Data operation management method and hardware processing module
CN112988754A (en) * 2021-04-08 2021-06-18 中煤科工集团重庆研究院有限公司 Data integration-oriented quick query method

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1932818A (en) * 2006-09-20 2007-03-21 华为技术有限公司 Data bank system and method for controlling data bank data
CN101034412A (en) * 2007-04-02 2007-09-12 华为技术有限公司 Information storing method, information search method and engine device
CN101651628A (en) * 2009-09-17 2010-02-17 杭州华三通信技术有限公司 Implementation method of three-state content addressable memory and device
CN101833541A (en) * 2010-04-26 2010-09-15 华为技术有限公司 Hash data processing method and device
CN102546299A (en) * 2012-01-09 2012-07-04 北京锐安科技有限公司 Method for detecting deep packet under large flow
CN102591792A (en) * 2012-01-13 2012-07-18 广州从兴电子开发有限公司 Storage method for memory data
US20120330965A1 (en) * 2010-01-26 2012-12-27 Huawei Technologies Co., Ltd. Method and apparatus for storing and searching for keyword

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7941435B2 (en) * 2006-08-01 2011-05-10 Cisco Technology, Inc. Substring search algorithm optimized for hardware acceleration
CN101345694A (en) * 2007-07-11 2009-01-14 上海未来宽带技术及应用工程研究中心有限公司 Method for fast searching, positioning and matching access control list

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1932818A (en) * 2006-09-20 2007-03-21 华为技术有限公司 Data bank system and method for controlling data bank data
CN101034412A (en) * 2007-04-02 2007-09-12 华为技术有限公司 Information storing method, information search method and engine device
CN101651628A (en) * 2009-09-17 2010-02-17 杭州华三通信技术有限公司 Implementation method of three-state content addressable memory and device
US20120330965A1 (en) * 2010-01-26 2012-12-27 Huawei Technologies Co., Ltd. Method and apparatus for storing and searching for keyword
CN101833541A (en) * 2010-04-26 2010-09-15 华为技术有限公司 Hash data processing method and device
CN102546299A (en) * 2012-01-09 2012-07-04 北京锐安科技有限公司 Method for detecting deep packet under large flow
CN102591792A (en) * 2012-01-13 2012-07-18 广州从兴电子开发有限公司 Storage method for memory data

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107273397A (en) * 2016-03-31 2017-10-20 三星电子株式会社 The many Hash tables of virtual bucket for the online deduplication application of effective memory
CN107273397B (en) * 2016-03-31 2022-02-18 三星电子株式会社 Virtual bucket polyhistidine table for efficient memory online deduplication applications
CN106411654A (en) * 2016-10-27 2017-02-15 任子行网络技术股份有限公司 Method and device for processing network traffic analysis
CN108804031B (en) * 2017-05-04 2021-10-01 慧与发展有限责任合伙企业 Optimal record lookup
CN108804031A (en) * 2017-05-04 2018-11-13 慧与发展有限责任合伙企业 Best titime is searched
CN107515901B (en) * 2017-07-24 2020-12-04 中国科学院信息工程研究所 Chain log storage structure and hash index structure thereof, data operation method, server and medium
CN107515901A (en) * 2017-07-24 2017-12-26 中国科学院信息工程研究所 A kind of chain type daily record storage organization and its Hash Index Structure, data manipulation method and server, medium
CN109947762A (en) * 2017-08-16 2019-06-28 深圳市中兴微电子技术有限公司 A kind of Hash table management method and device, computer readable storage medium
CN108052582A (en) * 2017-12-08 2018-05-18 锐捷网络股份有限公司 A kind of method and apparatus for accessing database
CN110413215A (en) * 2018-04-28 2019-11-05 伊姆西Ip控股有限责任公司 For obtaining the method, equipment and computer program product of access authority
CN110413215B (en) * 2018-04-28 2023-11-07 伊姆西Ip控股有限责任公司 Method, apparatus and computer program product for obtaining access rights
CN109977116A (en) * 2019-03-14 2019-07-05 山东超越数控电子股份有限公司 Hash connection operator accelerated method and system based on FPGA-DDR
CN111177476A (en) * 2019-12-05 2020-05-19 北京百度网讯科技有限公司 Data query method and device, electronic equipment and readable storage medium
CN111177476B (en) * 2019-12-05 2023-08-18 北京百度网讯科技有限公司 Data query method, device, electronic equipment and readable storage medium
CN111309772A (en) * 2020-03-23 2020-06-19 优刻得科技股份有限公司 Data operation management method and hardware processing module
CN112988754A (en) * 2021-04-08 2021-06-18 中煤科工集团重庆研究院有限公司 Data integration-oriented quick query method

Also Published As

Publication number Publication date
WO2016141887A1 (en) 2016-09-15

Similar Documents

Publication Publication Date Title
CN106033420A (en) A Hash table processing method and device
CN110471795B (en) Block chain state data recovery method and device and electronic equipment
TWI737157B (en) Block chain-based hierarchical storage method and device, and electronic equipment
JP2957703B2 (en) Method and memory structure for storing and retrieving data
CN106651332B (en) Method for generating new block in block chain and block chain
US7895211B2 (en) Method and system for reinserting a chain in a hash table
EP2069979B1 (en) Dynamic fragment mapping
CN106649401A (en) Data writing method and device of distributed file system
CN110321344A (en) Information query method, device, computer equipment and the storage medium of associated data
JP6362805B1 (en) Method for enabling access to past transactions in a blockchain network and nodes for configuring the network
CN101763415B (en) Method and device for generating B tree index of database
CN102298633B (en) Method and system for investigating repeated data in distributed mass data
CN102016789A (en) Data processing apparatus and method of processing data
CN103914506A (en) Data retrieval apparatus, data storage method and data retrieval method
CN113220685B (en) Traversal method and device for intelligent contract storage content and electronic equipment
US20200167840A1 (en) Blockchain-based e-bill number application method, apparatus, and electronic device
CN108228649A (en) For the method and apparatus of data access
CN110704438B (en) Method and device for generating bloom filter in blockchain
US20030225974A1 (en) Method and apparatus for improving the efficiency of cache memories using chained metrics
CN107122130A (en) A kind of data delete method and device again
CN112817538B (en) Data processing method, device, equipment and storage medium
CN109033365A (en) A kind of data processing method and relevant device
CN114780537A (en) Flow table storage and message forwarding method, device, computing equipment and medium
CN109460406A (en) Data processing method and device
CN108399175B (en) Data storage and query method and device

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No.

Applicant after: Xinhua three Technology Co., Ltd.

Address before: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No.

Applicant before: Huasan Communication Technology Co., Ltd.

RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20161019