In-Memory Foreign Key Resolution for Single-Parent Hierarchy Data
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing Enterprise Software Systems face challenges in managing and processing data sets with single-parent hierarchies, leading to data duplication and prolonged processing times when trying to represent multi-parent relationships, as they typically support only single-parent hierarchies like XML formats.
Innovation Solution
A method and system that parse data sets to identify objects with the same information, associate them with identifiers, and create fewer data records, allowing for the creation of multi-parent relationships by referencing these objects as child records, thereby reducing data duplication and enabling efficient transformation from single-parent to multi-parent hierarchies.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If single-parent hierarchy data structures are used to represent organizational data, then data can be stored and transmitted in standardized formats like XML, but data duplication occurs and processing time increases when multi-parent relationships are needed
Solution Approach 1:
The system performs preliminary action by creating in-memory objects with unique identifiers during data parsing, before the data is committed to the database. These in-memory objects serve as temporary placeholders that can be referenced multiple times, allowing the system to resolve multi-parent relationships efficiently without requiring multiple web service calls or repeated data processing
Solution Approach 2:
In-memory objects act as intermediaries between the single-parent hierarchy data structure and the final multi-parent relationship representation. These temporary objects with unique identifiers bridge the gap by allowing multiple parent data records to reference the same child information without duplicating the actual data, thus reducing processing time while maintaining adaptability
2Adaptability or versatility
If single-parent hierarchy data structures are used, then data transmission follows standardized formats, but payload size increases due to data duplication
Solution Approach 1:
The system extracts the essential identifying information into separate in-memory objects with unique identifiers, separating the child data from its multiple parent relationships. This extraction allows the same child information to be referenced by multiple parents without repeating the entire data structure, thereby reducing payload size while enabling multi-parent hierarchy representation
Solution Approach 2:
Instead of copying the entire child data structure multiple times for each parent relationship, the system creates lightweight copies in the form of in-memory objects with unique identifiers. These identifier-based references allow multiple parents to point to the same child information without duplicating the actual data content, reducing overall payload size
3Reliability
If multiple web service calls are made to create multi-parent relationships, then data accuracy can be ensured, but processing time and system complexity increase
Solution Approach 1:
The system merges multiple web service call operations into a single data parsing and processing step. By creating in-memory objects with unique identifiers during the initial data parse, the system can resolve all multi-parent relationships in one pass, eliminating the need for multiple sequential web service calls while maintaining data accuracy through the identifier-based reference system
Data Source
AI summary
A web service interface may receive a web service request that describes multiple objects. Each of the multiple objects may be associated with a common object, such as in a parent-child relationship. The web service can identify the common object and the multiple relationships between objects, and instead of creating duplicate versions of the common object, the web service can create a single record representing the common object in, for example, a database. Records for each of the multiple objects referring to the common object can reference the common object record in the database using, for example, foreign keys.


