Game Data Structure Using Hash-Based File Indexing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
As game software data sizes increase due to improved hardware specifications and numerous files, existing technologies face challenges in minimizing metadata size for efficient file access, particularly due to limited memory capacity and varying data read speeds from different storage units.
Innovation Solution
A data structure is implemented that uses a correspondence file associating hash values of full path information with recording location information, and a collision file for handling colliding hash values, allowing for efficient file access by deriving hash values and using them to identify recording locations, thereby reducing metadata size and enhancing access speed.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If the number of files and data size are increased to improve hardware specifications, then game quality and functionality are improved, but metadata size increases causing memory usage to increase
Solution Approach 1:
The patent extracts only the essential elements needed for file identification (hash values and recording location information) from the full path information, storing them separately in correspondence files and collision files rather than storing complete metadata for all files, thereby reducing overall metadata size while maintaining file access capability
Solution Approach 2:
The patent segments the file identification system into multiple components: correspondence files for normal hash lookups, collision files for handling hash conflicts, and minimal metadata storage. This segmentation allows efficient file access with reduced memory footprint by only loading necessary portions into memory
2Quantity of substance
If metadata size is minimized to reduce memory usage, then memory efficiency is improved, but file access speed may be reduced due to limited memory expansion
Solution Approach 1:
The patent performs preliminary hashing of full path information during game data creation, pre-computing and storing hash values in correspondence files. This preliminary action eliminates the need for complex full path comparisons during runtime file access, significantly speeding up file retrieval while keeping metadata size minimal
Solution Approach 2:
The patent creates compact copies of essential file identification information (hash values and recording locations) in correspondence files and collision files, rather than storing complete file metadata. These compact copies enable fast lookup with minimal memory usage
3Productivity
If hash values are used to identify recording locations, then file access efficiency is improved, but hash collisions may occur requiring additional handling mechanisms
Solution Approach 1:
The patent introduces collision files as an intermediary mechanism to handle hash collision cases. When a hash value match is found in the correspondence file, the system first checks the collision file to verify it's the correct file. This intermediary step resolves collisions efficiently without requiring complex data structures
4Measurement precision
If full path information is stored in metadata, then file identification accuracy is maintained, but memory consumption increases due to large data sizes
Solution Approach 1:
The patent transforms the file identification approach by changing from storing full path strings to storing computed hash values. This parameter change dramatically reduces the data size required for file identification while maintaining accuracy through the properties of cryptographic hash functions
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A novel data structure of game data is provided. The game data includes a plurality of files that are each assigned one or a plurality of blocks and includes metadata of each file. The game data has, as metadata, a flat path table associating hash values of full path information of the files with information for identifying recording locations of the files and a collision file associating file names with information for identifying recording locations of files, for full path information whose hash values collide with each other.