Hash Key Truncation for Data Object Storage
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data storage and retrieval methods using hashing algorithms are resource intensive, particularly for larger data objects, due to the need for direct references to the object store and full object comparisons to determine identity and occupation.
Innovation Solution
The implementation of a map of binary flags for occupancy information and a set of truncated hash keys allows for efficient determination of object identity and occupation without direct references to the object store, reducing resource usage by comparing partial hash keys instead of full objects.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If direct reference to object store and full object comparison is used to determine occupation and identity, then accurate determination is achieved, but resource consumption increases significantly
Solution Approach 1:
The patent segments the object identification process into two stages: first comparing truncated hash keys (a segment of the full hash) to quickly filter non-matching objects, and only performing full object comparison when hash keys match. This segmentation reduces the frequency of resource-intensive full comparisons while maintaining determination accuracy.
Solution Approach 2:
The patent introduces truncated hash keys as an intermediary element between the object store and the determination process. These truncated keys serve as a lightweight proxy for full object comparison, enabling rapid filtering of occupied locations without directly accessing or comparing full objects, thus reducing resource consumption.
2Measurement precision
If full object comparison is performed to determine identity, then accurate identity determination is achieved, but processing time increases
Solution Approach 1:
The identity determination process is segmented into a two-stage comparison: first comparing truncated hash keys to quickly identify potential matches, and only performing full object comparison when the truncated keys match. This segmentation dramatically reduces the average processing time by avoiding full comparisons for non-matching objects.
Solution Approach 2:
The patent applies partial action by performing only a partial comparison (truncated hash key comparison) in most cases to determine identity. Full object comparison is performed only when necessary (when truncated keys match), representing an excessive action only when needed. This approach significantly reduces average processing time while maintaining accuracy.
3Reliability
If direct reference to object store is made for each location check, then occupation status is accurately determined, but access speed decreases
Solution Approach 1:
The patent performs preliminary action by pre-computing and storing truncated hash keys for all objects in the object store before actual determination operations. This preliminary preparation enables rapid location checks by comparing against pre-computed truncated keys instead of performing direct object store references and full comparisons during operation, thus improving speed while maintaining accuracy.
Data Source
Figure 1~2
Figure 3
Figure 4
AI summary
A computer implemented method of storing a data object in a computer memory wherein the data object is stored at a location in an object store as a portion of the memory, the location being determined by a hashing process based on a generated hash key, the memory further storing: a set of binary words in which each bit of each word identifies an occupancy state of a location in the object store such that an occupancy state of all locations is stored in the set of binary words; and a truncated hash key set storing, for each occupied location in the object store, a truncated hash key for a data object stored at the location, wherein the hashing process uses linear probing in which an occupancy of the location in the object store for storage of the data object is determined, the method is characterised in that the occupancy is determined by reference to the set of binary words, and the linear probing further determines identity of the data object and an object stored in an occupied location, the identity being determined based on a comparison of the hash key for the data object and a truncated hash key for the occupied location.