Hierarchical Data Binary Encoding for Efficient Path Navigation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Hierarchical data objects, such as JSON documents, pose computational challenges due to high algorithmic complexity in querying, particularly as data volume increases, with existing solutions like binary encoding introducing overhead and tree-structured data requiring linear scans of child nodes without predictable order.
Innovation Solution
The approach involves encoding hierarchical data objects using a tree node structure with byte offsets for child nodes, numerically representing field names for binary search, and using hash codes to consolidate duplicate field names, reducing memory usage and query complexity by enabling direct navigation without scanning irrelevant nodes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If binary encoding is used to reduce algorithmic complexity of querying hierarchical data objects, then query efficiency is improved, but overhead and complexity of managing a central dictionary or schema is introduced
Solution Approach 1:
The patent extracts the field name mapping information from a centralized dictionary or schema structure and embeds it directly within each parent node of the hierarchical data object. This allows each node to independently store its own child node mappings, eliminating the need for a separate central dictionary management system while maintaining efficient query capabilities through local access to mapping information.
Solution Approach 2:
The patent segments the centralized dictionary management task into distributed local mappings stored at each parent node. Instead of one monolithic schema management system, each node maintains its own compact mapping structure, dividing the complexity across multiple independent units that can be managed and accessed locally.
2Quantity of substance
If compression schemes are used to utilize a smaller memory footprint, then memory usage is reduced, but all data must be decompressed before specific data can be accessed
Solution Approach 1:
The patent applies local quality by storing compact mapping information directly at each parent node location within the hierarchical structure. This allows the data to remain in a compressed or compact form while enabling direct access to specific child nodes through the embedded mappings, eliminating the need for full decompression and providing localized access efficiency.
3Productivity
If tree-structured data is used to allow skipping of data irrelevant to the query, then navigation efficiency is improved, but linear scan of all child nodes is still required due to absence of predictable order
Solution Approach 1:
The patent applies preliminary action by pre-sorting child nodes according to their field names in alphabetical or lexicographical order before storing them in the hierarchical structure. This pre-ordering allows query operations to skip irrelevant child nodes by comparing field names directly, eliminating the need for linear scanning and enabling faster navigation to specific nodes based on known field name patterns.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Techniques related to binary encoding of hierarchical data objects to support efficient path navigation of the hierarchical data objects are disclosed. A hierarchical data object may include field names that are associated with field values. A method may involve generating a plurality of hash codes, each hash code corresponding to a field name. The method may involve generating a first mapping that maps each hash code to a field name identifier. The method may involve generating a second mapping that maps each field name to a field name identifier. The method may involve generating a hierarchical tree of nodes that includes nonleaf nodes and leaf nodes. A particular nonleaf node may include a child node mapping that maps the particular nonleaf node to one or more child nodes and may include a third mapping that maps a field name identifier to each of the one or more child nodes.