Trie-Based Multimap Encoding for Multi-Value Key Storage
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current data storage methods using tries are limited in that they can only map each key to one value, whereas multimap structures allow multiple values per key, and there is a need for a data structure that can efficiently store and retrieve key-value pairs where keys and values can be strings or integers, and each key can map to multiple values.
Innovation Solution
A trie-based data structure is developed where each key can map to multiple values by encoding the key and value, using a hash value of the original value as the value for the encoded key, and appending a fixed string to create a second key, allowing for efficient insertion and retrieval of key-value pairs where each key can map to multiple values.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If a traditional trie structure is used, then the data structure is simple and efficient for single-value mapping, but it cannot store multiple values for each key
Solution Approach 1:
The patent segments the single-value trie into multiple parallel tries, each handling a specific value position. By dividing the storage structure into multiple segments (tries), the system can store multiple values for each key while maintaining the efficiency of individual trie structures. Each trie in the array stores values at a specific position, and the collection of tries enables multi-value mapping.
Solution Approach 2:
The patent introduces an intermediary array structure that maps keys to multiple trie structures. This intermediary layer enables the transition from single-value to multi-value mapping by routing each key to multiple corresponding tries, each containing values at different positions. The intermediary structure resolves the conflict between simplicity and multi-value capability.
2Adaptability or versatility
If a multimap structure is used to allow multiple values per key, then the multi-value mapping capability is achieved, but the retrieval efficiency decreases compared to traditional tries
Solution Approach 1:
By segmenting the multimap into multiple independent tries, each try maintains the O(log n) retrieval efficiency of traditional tries. The segmentation allows parallel access to multiple value sets, enabling fast retrieval of all values for a given key by querying each trie in the array and combining results.
Solution Approach 2:
The patent adds a new dimension to the data structure by creating an array of tries rather than a single trie. This dimensional transformation enables multi-value storage while preserving retrieval speed, as each try in the array can be queried independently and efficiently, and results can be aggregated across the array dimension.
3Speed
If each key maps to only one value in a trie, then the retrieval operation is fast and efficient, but the data structure cannot accommodate multiple values for the same key
Solution Approach 1:
The patent makes the trie structure universal by creating an array of tries that can handle both single-value and multi-value scenarios. Each try in the array serves a specific function (storing values at a particular position), and collectively they provide multi-functionality, enabling the same key to map to multiple values while maintaining fast retrieval through efficient querying of each individual try.
Data Source
AI summary
Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for storing data on in a storage medium. In one aspect, a method includes receiving a key-value pair including a key k and a value v. The method further includes encoding the key-value pair as (i) a first key-value pair including a first key k1 and first value v1, and (ii) a second key-value pair including a second key k2. The method further includes inserting the first key-value pair and the second key-value pair in a trie.


