CN106033420A - A Hash table processing method and device - Google Patents
A Hash table processing method and device Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information 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
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:
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:
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:
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:
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,
Correspondingly, the probability clashed
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:
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:
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:
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:
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:
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:
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:
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.
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)
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)
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)
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 |
-
2015
- 2015-03-11 CN CN201510105315.7A patent/CN106033420A/en active Pending
-
2016
- 2016-03-11 WO PCT/CN2016/076114 patent/WO2016141887A1/en active Application Filing
Patent Citations (7)
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)
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 | |
CN110457319B (en) | Block chain state data 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 | |
EP2069979B1 (en) | Dynamic fragment mapping | |
US7895211B2 (en) | Method and system for reinserting a chain in a hash table | |
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 | |
CN102016789A (en) | Data processing apparatus and method of processing data | |
US10846765B2 (en) | Blockchain-based e-bill number application method, apparatus, and electronic device | |
CN113220685B (en) | Traversal method and device for intelligent contract storage content and electronic equipment | |
CN108228649A (en) | For the method and apparatus of data access | |
CN108399175B (en) | Data storage and query method and device | |
US20030225974A1 (en) | Method and apparatus for improving the efficiency of cache memories using chained metrics | |
CN110704438B (en) | Method and device for generating bloom filter in blockchain | |
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 | |
US20080086448A1 (en) | Method of generating node indentifier in tree structure | |
CN101635001A (en) | Method and apparatus for extracting information from a database |
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 |