Data routing method and apparatus
By using a combination of Bloom filters and remedial routing tables in a distributed database, the problem of excessive storage resource consumption by mapping tables is solved, and data storage and retrieval performance are improved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- AGRICULTURAL BANK OF CHINA
- Filing Date
- 2022-10-19
- Publication Date
- 2026-04-14
AI Technical Summary
In distributed databases, the size of the mapping table increases with the amount of data, consuming a large amount of storage resources and affecting data storage and retrieval performance.
A Bloom filter is used to generate data during the data storage process to determine the partition to which the data belongs, reducing the number of lookups in the entire database. Combined with a remedial routing table, it handles misjudgments and saves storage space and computing resources.
It improves the data table storage performance of distributed databases, reduces storage space usage and computation time, and achieves efficient data routing.
Smart Images

Figure CN115470249B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of data routing technology, and more specifically, to a data routing method and apparatus. Background Technology
[0002] In distributed databases, data tables are typically split into several data shards based on primary keys. Each shard is stored on a different database node, and an index table is generated to represent the mapping between each primary key and the database node storing the data corresponding to that primary key. However, to meet the need to search for data without primary key information, a mapping table can be used during data storage to store the mapping between field values and primary keys. This allows the corresponding primary key to be determined based on the field value (i.e., the data to be searched), and subsequently, the corresponding database node.
[0003] However, the size of the mapping table increases as the amount of data in the data table increases. For large data tables, storing the mapping table requires a lot of storage resources, reducing the storage space available in the database nodes for storing data tables. Summary of the Invention
[0004] In view of the above problems, this application is made to provide a data routing method and apparatus to reduce the storage space required to implement data routing, while taking into account the data storage and retrieval performance of database nodes.
[0005] The specific plan is as follows:
[0006] Firstly, a data routing method is provided, including:
[0007] In the preset routing table, a number of first Bloom filters corresponding to the first field name in the first data table are obtained. The first data table is the data table to which the data to be searched belongs, the first field name is the field name of the data to be searched, and the first Bloom filter is generated during the process of writing data with the field name of the first field name in the first data table to the distributed database.
[0008] For each of the first Bloom filters: the first Bloom filter is used to determine whether the data to be searched belongs to the first partition. If the determination result is yes, the data to be searched is searched in the first partition. If the search is successful, it is determined that the data to be searched is stored in the first partition, wherein the first partition is the partition in the distributed database corresponding to the first Bloom filter.
[0009] Secondly, a data routing device is provided, comprising:
[0010] The Bloom filter acquisition unit is used to acquire a number of first Bloom filters corresponding to the first field name in the first data table from a preset routing table. The first data table is the data table to which the data to be searched belongs, the first field name is the field name of the data to be searched, and the first Bloom filter is generated during the process of writing data with the field name of the first field name in the first data table to the distributed database.
[0011] The data lookup unit is configured to, for each of the first Bloom filters, determine whether the data to be searched belongs to the first partition. If the determination result is yes, then search for the data to be searched in the first partition. If the search is successful, determine that the data to be searched is stored in the first partition, wherein the first partition is the partition in the distributed database corresponding to the first Bloom filter.
[0012] Using the above technical solution, this application achieves data routing by generating Bloom filters during data storage. Specifically, firstly, based on the data table to which the data to be searched belongs and the field name of the data to be searched, a first Bloom filter to be used is determined, without using all Bloom filters generated during the storage of the data table, thus reducing the number of subsequent operations and reducing computational load and time. Then, using each determined first Bloom filter, it is determined whether the data to be searched belongs to the first partition corresponding to that first Bloom filter. Since Bloom filters may misjudge, it is possible to obtain 0, 1, or several first partitions. If 0 first partitions are obtained, it can be indicated that the data to be searched is not stored in the distributed database. If at least 1 first partition is obtained, it is necessary to perform a full partition search on each first partition in turn to determine whether the data to be searched exists in the first partition, thereby determining the storage location of the data to be searched in the distributed database. Since Bloom filters can determine whether an element belongs to the set corresponding to the Bloom filter without storing the element's value, although Bloom filters may make false judgments, accurate data routing can be achieved by performing a full partition search on the first partition where the element is identified as belonging to the set. Compared to data routing schemes that perform a full database search, this scheme saves the database resources required for data routing. Compared to schemes that establish and store the correspondence between field values and primary keys, this scheme uses Bloom filters to save the storage space required for data routing, thereby improving the data table storage performance of the distributed database. Attached Figure Description
[0013] Various other advantages and benefits will become apparent to those skilled in the art upon reading the following detailed description of preferred embodiments. The accompanying drawings are for illustrative purposes only and are not intended to limit the scope of this application. Furthermore, the same reference numerals denote the same parts throughout the drawings. In the drawings:
[0014] Figure 1 A flowchart illustrating a data routing method provided in an embodiment of this application;
[0015] Figure 2 A flowchart illustrating another data routing method provided in an embodiment of this application;
[0016] Figure 3 This is a schematic diagram of the structure of a data routing device provided in an embodiment of this application. Detailed Implementation
[0017] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the scope of protection of this application.
[0018] This application provides a data routing method and apparatus that can be used to implement data routing tasks with low storage costs.
[0019] Figure 1 This is a flowchart illustrating a data routing method according to an embodiment of this application. (In conjunction with...) Figure 1 The data routing method provided in this application may include the following steps:
[0020] Step S101: In the preset routing table, obtain several first Bloom filters corresponding to the first field name in the first data table.
[0021] The first data table is the data table to which the data to be searched belongs. The first field name is the field name of the data to be searched. The first Bloom filter is generated during the process of writing data with the field name of the first field name in the first data table to the distributed database. It should be noted that the first Bloom filter can be used to determine whether a piece of data with the field name of the first field name in the first data table is stored in the first partition of the routing table corresponding to the first Bloom filter. That is, the routing table stores the correspondence between the combination information consisting of the table name, field name and partition name and the name of the first Bloom filter. Only the combination of the table name and field name can obtain several first Bloom filters in the routing table. Subsequently, step S102 is executed on each obtained first Bloom filter. It is also possible that no first Bloom filter is obtained. This situation may be because the routing table has not been updated with the data storage, or it may be that the distributed database has not stored the data to be searched. In the case of no first Bloom filter being obtained, rerouting can be performed. The retry interval and the number of retries can be configured according to the update frequency of the routing table to reduce the possibility of misjudging that the data is not stored.
[0022] Step S102: Use the first Bloom filter to determine whether the data to be searched belongs to the first partition. If the determination result is yes, then proceed to step S103.
[0023] Step S103: In the first partition, search for the data to be searched. If the search is successful, proceed to step S104.
[0024] Step S104: Determine that the data to be searched is stored in the first partition.
[0025] The first partition is the partition in the distributed database that corresponds to the first Bloom filter, as determined by the routing table.
[0026] The data routing method described above determines the first Bloom filter to be used based on the data table to which the data to be searched belongs and the field name of the data to be searched, without using all Bloom filters generated during the storage of the data table, thus reducing the number of subsequent operations, computational load, and computation time. Then, using each determined first Bloom filter, it is determined whether the data to be searched belongs to the first partition corresponding to that first Bloom filter. Since Bloom filters may misclassify, it is possible to obtain 0, 1, or several first partitions. If 0 first partitions are obtained, it indicates that the data to be searched is not stored in the distributed database. If at least 1 first partition is obtained, a full partition search needs to be performed sequentially on each first partition to determine whether the data to be searched exists in the first partition, thereby determining the storage location of the data to be searched in the distributed database. Since Bloom filters can determine whether an element belongs to the set corresponding to the Bloom filter without storing the element's value, although Bloom filters may make false judgments, accurate data routing can be achieved by performing a full partition search on the first partition where the element is identified as belonging to the set. Compared to data routing schemes that perform a full database search, this scheme saves the database resources required for data routing. Compared to schemes that establish and store the correspondence between field values and primary keys, this scheme uses Bloom filters to save the storage space required for data routing, thereby improving the data table storage performance of the distributed database.
[0027] Figure 2 This is a flowchart illustrating another data routing method according to an embodiment of this application. (In conjunction with...) Figure 2 As shown, the method may include:
[0028] Step S201: In the preset remedial routing table, obtain the partition name of the misjudged partition corresponding to the data to be searched, so as to determine the misjudged Bloom filter corresponding to the misjudged partition.
[0029] It should be noted that the remedial routing table stores the correspondence between the data to be searched and the misjudged partition. The data to be searched is the field value data of the field named "first field name" in the first data table. Therefore, the remedial routing table actually stores the correspondence between the combination of table name, field name, and field value data and the misjudged partition. In the correspondence in the remedial routing table, the field value data of the field named "first field name" in the first data table is not stored in the corresponding misjudged partition.
[0030] Step S202 is the same as step S101 described above, and the relevant descriptions can be found in the above description. It should be noted that if step S202 obtains several first Bloom filters, then step S203 is executed for each of the first Bloom filters.
[0031] Step S203: Determine whether the first Bloom filter is the misjudged Bloom filter. If not, proceed to step S204.
[0032] Step S204 is the same as step S102 described above, and will not be repeated here.
[0033] Step S205: In the first partition, search for the data to be searched. If the search is successful, proceed to step S206. If the search is unsuccessful, proceed to step S207.
[0034] Step S206 is the same as step S104 described above, and will not be repeated here.
[0035] Step S207: Add the misjudged correspondence to the remedial routing table.
[0036] The misjudgment correspondence is used to characterize the first partition as a misjudged partition of the data to be searched.
[0037] It should be noted that during data routing, there may be instances where no data is found in any of the first partitions. This could be due to an outdated routing table. To resolve this, the data to be found can be re-routed. Furthermore, if data is continuously being written to the distributed database during data routing, it is necessary to check whether the correspondence between the written data and its partition exists in the remedial routing table. If it does, the incorrectly identified correspondence should be deleted from the remedial routing table.
[0038] The data routing method described above can be applied to solve the problem of Bloom filter misjudgment during the data routing process. Specifically, after the first Bloom filter misjudges a piece of data belonging to the partition corresponding to that Bloom filter, the misjudged correspondence is added to the corrective routing table. This allows for subsequent searches of the desired data to be performed again, based on the misjudged correspondence in the corrective routing table, to remove the misjudged Bloom filter from the first Bloom filter, thereby avoiding secondary misjudgments and reducing the computational resources required for data routing.
[0039] In some embodiments provided in this application, adding the misjudged correspondence to the remedial routing table in the event of a lookup failure may include:
[0040] S01. In the event of a lookup failure, the first thread writes the remedy message and remedy flag to the message queue of the first topic in the message server.
[0041] Wherein, the first topic is the first field name of the first data table, and the remedial message includes the first data table, the first field name, the data to be searched, and the first partition.
[0042] S02. Using a second thread, add the corresponding relationship of misjudgment to the remediation routing table based on the remediation message and the remediation flag read from the message queue.
[0043] The message server can be Kafka, Pulsar, or similar. By using a message queue, the writing and processing of remedial information can be distributed among two threads, thus enabling batch updates of the remedial routing table.
[0044] In some embodiments provided in this application, the routing table may be obtained through the following steps during the process of writing data from the first data table into the distributed database:
[0045] S11. When writing target field value data of target field of target table to target partition of target database, generate target Bloom filter, which is used to determine whether data with field name of target field belongs to target partition.
[0046] S12. Obtain the original Bloom filter corresponding to the target partition in the routing table, wherein the routing table is empty at the initial time.
[0047] S13. Merge the target Bloom filter and the original Bloom filter to obtain the merged Bloom filter.
[0048] S14. Modify the original Bloom filter in the routing table corresponding to the target partition to the merged Bloom filter.
[0049] The method described above outlines the process of generating and continuously updating the routing table, enabling subsequent data routing according to the given data storage method. Furthermore, to ensure transaction atomicity, steps S12-S14 can be implemented using Lua scripts.
[0050] In one possible implementation, generating a target Bloom filter when writing target field value data of a target field of a target table to a target partition in the distributed database may include:
[0051] S21. When writing the target field value data of the target field of the target table to the target partition in the distributed database, the third thread is used to write the routing update message to the message queue of the second topic in the message server.
[0052] Wherein, the second topic is the target field of the target table, the route update message includes the target table, the target field, the target partition and the target Bloom filter, and the route update request is used to update the Bloom filter corresponding to the target partition and update the correspondence in the route table.
[0053] S22. Using the fourth thread, generate a target Bloom filter and initiate a route update request based on the route update message read from the message queue.
[0054] The message server can be Kafka, Pulsar, etc. Using a message queue allows the generation and processing of routing information to be distributed among two threads, enabling batch updates of the routing table. Furthermore, the operations performed by the second and fourth threads can be implemented by a routing update program. This program executes the second thread's operations when a remediation flag is detected, and executes the fourth thread's operations when no flag is detected; the two can be implemented asynchronously.
[0055] Specifically, the step of using a fourth thread to generate a target Bloom filter and initiate a route update request based on the route update message read from the message queue may include:
[0056] The fourth thread reads the routing update messages from each message queue of the message server. If at least two routing update messages are read, a corresponding target Bloom filter is generated based on each routing update message and a corresponding routing update request is initiated.
[0057] The above scheme allows for batch processing of routing update messages, including the generation and merging of Bloom filters and the updating of routing tables, which can save computing resources.
[0058] In one possible implementation, the routing table can be a hash table where the key is the partition name of the target partition and the target table and target field to which the data stored in the target partition belongs, and the value is a Bloom filter used to determine whether the data in the target table whose field name is the target field belongs to the target partition.
[0059] Similarly, in one possible implementation, the remedial routing table can be a hash table where the key is the data to be searched and the table name and field name of the data table to which it belongs, and the value is the partition name of the misjudged partition that is misidentified as storing the data to be searched.
[0060] By using a hash table structure, data retrieval in the table can be performed relatively quickly, improving the data search performance of this solution.
[0061] In some embodiments provided in this application, determining that the data to be searched is stored in the first partition when a search is successful may include:
[0062] If a search is successful, it is determined whether the data to be searched has a deletion flag. If yes, it indicates that the data to be searched is not stored in the first partition. If no, it is determined that the data to be searched is stored in the first partition. The deletion flag is a flag configured for the data to be searched stored in the first partition when the data to be searched is to be deleted from the distributed database.
[0063] The reason for adding a deletion flag to the data is that updating the Bloom filter is very costly and difficult to implement. Therefore, by adding a deletion flag to the deleted data, logical deletion can be achieved. When the data is found through the original Bloom filter, it is checked whether the data has a deletion flag, thereby determining whether the data is stored in the first partition.
[0064] Optionally, the distributed database applicable to the scheme in this application can be Redis, HBase, etc.
[0065] The data routing apparatus provided in the embodiments of this application is described below. The digital routing apparatus described below and the digital routing method described above can be referred to in correspondence.
[0066] See Figure 3 , Figure 3 This is a schematic diagram of the structure of a digital routing device disclosed in an embodiment of this application.
[0067] like Figure 3 As shown, the device may include:
[0068] The Bloom filter acquisition unit 11 is used to acquire a number of first Bloom filters corresponding to the first field name in the first data table from a preset routing table. The first data table is the data table to which the data to be searched belongs, the first field name is the field name of the data to be searched, and the first Bloom filter is generated during the process of writing data with the field name of the first field name in the first data table to the distributed database.
[0069] The data lookup unit 12 is used to determine whether the data to be looked up belongs to the first partition using each of the first Bloom filters. If the determination result is yes, the data to be looked up is searched in the first partition. If the search is successful, it is determined that the data to be looked up is stored in the first partition, wherein the first partition is the partition in the distributed database corresponding to the first Bloom filter.
[0070] In some embodiments provided in this application, the device may further include:
[0071] The misjudgment query unit is used to obtain the partition name of the misjudged partition corresponding to the data to be searched from a preset remedial routing table, so as to determine the misjudged Bloom filter corresponding to the misjudged partition.
[0072] Based on the above, the Bloom filter acquisition unit is further configured to determine whether the first Bloom filter is the false Bloom filter. If not, the data lookup unit 12 is instructed to perform the step of using the first Bloom filter to determine whether the data to be looked up belongs to the first partition.
[0073] The data lookup unit 12 is further configured to, after searching for the data to be searched, add a misjudged correspondence to the remedial routing table if the search fails, wherein the misjudged correspondence is used to characterize the first partition as a misjudged partition of the data to be searched.
[0074] In one possible implementation, the process by which the data lookup unit adds the misjudged correspondence to the remedial routing table when a lookup fails may include:
[0075] In the event of a lookup failure, a first thread writes a remedy message and a remedy flag into the message queue of a first topic in the message server. The first topic is the first field name of the first data table, and the remedy message includes the first data table, the first field name, the data to be searched, and the first partition.
[0076] The second thread uses the remedy message and remedy flag read from the message queue to add the corresponding relationship of misjudgment to the remedy routing table.
[0077] In one possible implementation, the remedial routing table can be a hash table where the key is the data to be searched and the table name and field name of the data table to which it belongs, and the value is the partition name of the misjudged partition that is misidentified as storing the data to be searched.
[0078] In some embodiments provided in this application, the routing table may be obtained through the following steps during the process of writing data from the first data table into the distributed database:
[0079] When writing target field value data of target field of target table to target partition of the distributed database, a target Bloom filter is generated. The target Bloom filter is used to determine whether data with the field name of target field belongs to the target partition.
[0080] Obtain the original Bloom filter corresponding to the target partition in the routing table, wherein the routing table is empty at the initial time.
[0081] The target Bloom filter and the original Bloom filter are combined to obtain a merged Bloom filter;
[0082] Modify the original Bloom filter in the routing table corresponding to the target partition to the merged Bloom filter.
[0083] In one possible implementation, the routing table can be a hash table where the key is the partition name of the target partition and the target table and target field to which the data stored in the target partition belongs, and the value is a Bloom filter used to determine whether the data in the target table whose field name is the target field belongs to the target partition.
[0084] In some embodiments provided in this application, the process by which the data lookup unit 12 determines that the data to be looked up is stored in the first partition when a lookup is successful may include:
[0085] If a search is successful, it is determined whether the data to be searched has a deletion flag. If yes, it indicates that the data to be searched is not stored in the first partition. If no, it is determined that the data to be searched is stored in the first partition. The deletion flag is a flag configured for the data to be searched stored in the first partition when the data to be searched is to be deleted from the distributed database.
[0086] Finally, it should be noted that in this document, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.
[0087] The various embodiments in this specification are described in a progressive manner. Each embodiment focuses on the differences from other embodiments. The various embodiments can be combined as needed, and the same or similar parts can be referred to each other.
[0088] The above description of the disclosed embodiments enables those skilled in the art to make or use this application. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of this application. Therefore, this application is not to be limited to the embodiments shown herein, but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.
Claims
1. A data routing method, characterized in that, include: In the preset routing table, a number of first Bloom filters corresponding to the first field name in the first data table are obtained. The first data table is the data table to which the data to be searched belongs, the first field name is the field name of the data to be searched, and the first Bloom filter is generated during the process of writing data with the field name of the first field name in the first data table to the distributed database. For each of the first Bloom filters: the first Bloom filter is used to determine whether the data to be searched belongs to the first partition. If the result is yes, the data to be searched is searched in the first partition. If the search is successful, it is determined that the data to be searched is stored in the first partition, wherein the first partition is the partition in the distributed database corresponding to the first Bloom filter. The routing table is obtained through the following steps during the process of writing data from the first data table into the distributed database: When writing target field value data of target field of target table to target partition of the distributed database, a target Bloom filter is generated. The target Bloom filter is used to determine whether data with the field name of target field belongs to the target partition. Obtain the original Bloom filter corresponding to the target partition in the routing table, wherein the routing table is empty at the initial time. The target Bloom filter and the original Bloom filter are combined to obtain a merged Bloom filter; Modify the original Bloom filter in the routing table corresponding to the target partition to the merged Bloom filter.
2. The method according to claim 1, characterized in that, Before retrieving the plurality of first Bloom filters corresponding to the first field name in the first data table from the preset routing table, the method further includes: In the preset remedial routing table, the partition name of the misjudged partition corresponding to the data to be searched is obtained, so as to determine the misjudged Bloom filter corresponding to the misjudged partition; Before using the first Bloom filter to determine whether the data to be searched belongs to the first partition, the process further includes: Determine whether the first Bloom filter is the false positive Bloom filter. If not, execute the step of using the first Bloom filter to determine whether the data to be searched belongs to the first partition. After searching for the desired data, the process also includes: In the event of a no-match, a misjudgment correspondence is added to the remedial routing table. The misjudgment correspondence is used to indicate that the first partition is a misjudged partition of the data to be searched.
3. The method according to claim 2, characterized in that, The step of adding the misjudged correspondence to the remedial routing table when a lookup fails includes: In the event of a lookup failure, a first thread writes a remedy message and a remedy flag into the message queue of a first topic in the message server. The first topic is the first field name of the first data table, and the remedy message includes the first data table, the first field name, the data to be searched, and the first partition. The second thread uses the remedy message and remedy flag read from the message queue to add the corresponding relationship of misjudgment to the remedy routing table.
4. The method according to claim 3, characterized in that, The remedial routing table is a hash table where the key is the data to be searched and the table name and field name of the data table to which it belongs, and the value is the partition name of the partition that was mistakenly identified as storing the data to be searched.
5. The method according to claim 1, characterized in that, When writing the target field value data of the target field of the target table to the target partition of the distributed database, generating a target Bloom filter includes: When writing the target field value data of the target field of the target table to the target partition in the distributed database, the third thread is used to write the route update message to the message queue of the second topic in the message server, wherein the second topic is the target field of the target table, the route update message includes the target table, the target field, the target partition and the target Bloom filter, and the route update request is used to update the Bloom filter corresponding to the target partition and update the correspondence in the route table; The fourth thread generates a target Bloom filter and initiates a route update request based on the route update messages read from the message queue.
6. The method according to claim 5, characterized in that, The step of using a fourth thread to generate a target Bloom filter and initiate a route update request based on the route update message read from the message queue includes: The fourth thread reads the routing update messages from each message queue of the message server. If at least two routing update messages are read, a corresponding target Bloom filter is generated based on each routing update message and a corresponding routing update request is initiated.
7. The method according to claim 6, characterized in that, The routing table is a hash table whose key is the partition name of the target partition and the target table and target field to which the data stored in the target partition belongs, and whose value is a Bloom filter used to determine whether the data in the target table whose field name is the target field belongs to the target partition.
8. The method according to any one of claims 1-4, characterized in that, In the case of a match, determining that the data to be searched is stored in the first partition includes: If a search is successful, it is determined whether the data to be searched has a deletion flag. If yes, it indicates that the data to be searched is not stored in the first partition. If no, it is determined that the data to be searched is stored in the first partition. The deletion flag is a flag configured for the data to be searched stored in the first partition when the data to be searched is to be deleted from the distributed database.
9. A data routing device, characterized in that, include: The Bloom filter acquisition unit is used to acquire a number of first Bloom filters corresponding to the first field name in the first data table from a preset routing table. The first data table is the data table to which the data to be searched belongs, the first field name is the field name of the data to be searched, and the first Bloom filter is generated during the process of writing data with the field name of the first field name in the first data table to the distributed database. The data lookup unit is used to determine whether the data to be looked up belongs to the first partition using each of the first Bloom filters. If the determination result is yes, the data to be looked up is searched in the first partition. If the search is successful, it is determined that the data to be looked up is stored in the first partition, wherein the first partition is the partition in the distributed database corresponding to the first Bloom filter. The routing table is obtained through the following steps during the process of writing data from the first data table into the distributed database: When writing target field value data of target field of target table to target partition of the distributed database, a target Bloom filter is generated. The target Bloom filter is used to determine whether data with the field name of target field belongs to the target partition. Obtain the original Bloom filter corresponding to the target partition in the routing table, wherein the routing table is empty at the initial time. The target Bloom filter and the original Bloom filter are combined to obtain a merged Bloom filter; Modify the original Bloom filter in the routing table corresponding to the target partition to the merged Bloom filter.
Citation Information
Patent Citations
Flexible IP addressing method and device based on single Hash Bloom filter
CN113315705A
Composite Partition Functions
US20160110391A1