Markup Data Transformation Using Virtual DOM for Memory Reduction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for transforming source data in one markup language to another face challenges with high memory requirements and computational complexity, especially when dealing with large datasets, as they often rely on representing entire data hierarchies in memory or sequential processing of tags.
Innovation Solution
Preprocessing transformation rules to identify and store referenced tags, replacing relative paths with absolute paths, and storing these in memory to reduce processing requirements and memory usage, allowing for efficient transformation of source data to target data.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If the entire source data hierarchy is represented in memory using a Document Object Model, then the transformation can be performed with easy access to data, but the RAM size requirement becomes proportionate to the size of the source data, preventing scaling to large datasets
Solution Approach 1:
The patent segments the data processing approach by introducing a virtual DOM that represents only the necessary portions of the data hierarchy rather than the entire hierarchy. This allows the system to maintain easy access to data through the virtual DOM interface while reducing memory requirements by not loading the complete data structure into physical memory.
Solution Approach 2:
The virtual DOM acts as an intermediary between the source data and the transformation process. It provides a simplified, memory-efficient representation that mediates between the need for easy data access and the constraint of limited memory resources, allowing transformations to proceed without requiring the entire source hierarchy to be loaded into RAM.
2Quantity of substance
If tags are processed sequentially using Simple API for XML (SAX), then memory requirements are reduced, but the overall computational complexity increases due to sequential processing
Solution Approach 1:
The patent introduces a dynamic virtual DOM that can adaptively represent different portions of the data hierarchy based on the transformation rules being applied. This dynamic structure allows the system to process data more efficiently by only constructing the necessary virtual nodes required for the current transformation operation, reducing both memory usage and computational complexity compared to sequential SAX processing.
Solution Approach 2:
The system performs preliminary analysis of the transformation rules to identify which portions of the data hierarchy need to be represented in the virtual DOM. This preliminary action allows the system to avoid unnecessary computational processing and memory allocation, reducing overall computational complexity while maintaining low memory requirements.
3Adaptability or versatility
If transformation rules are applied to large datasets, then comprehensive data transformation is achieved, but processing time increases and timely responses become difficult to achieve
Solution Approach 1:
The virtual DOM implementation applies local quality by creating a differentiated representation where only the necessary portions of the data hierarchy are constructed with full detail, while other portions are represented more lightly or lazily. This allows comprehensive transformation of the required data portions while maintaining fast processing speeds, as the system only processes what is actually needed for the transformation.
Data Source
AI summary
Transforming source data in a source markup language to target data in a target markup language using transformation rules mapping source tags to corresponding target tags. In an embodiment, the transformation rules (e.g., in an XSL) are preprocessed to identify and store source tags (“referenced tags”), which need to be processed to apply the transformation rules of other source tags. The source tags in the source data (e.g., XML) are retrieved sequentially (e.g., by SAX parser) and the contents are stored in memory if the source tag is one of the identified referenced tags. The target tags are generated (e.g., as XML) using the contents stored in memory for another source tag matching a transformation rule immediately upon reading the source tag. Only a few of the contents of source tags and the identifiers of the referenced tags may need to be stored in memory. As a result, the memory requirements may be reduced.


