Dynamic Code Generation Utility for ETL Mapping Automation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional ETL systems face inefficiencies and resource wastage due to the need for manual and repetitive development of mappings across large numbers of backend systems, leading to programmer burnout and increased demand for deployment resources, especially when handling hundreds of thousands of sources and tens of thousands of user requests.

Innovation Solution

A dynamic code generation utility that automatically generates deployable ETL code, staging tables, and database components, executes in-built test cases, and captures test results, reducing the need for manual developer interaction and improving resource efficiency by enabling end-to-end development with reduced developer resource demands.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If manual mapping development is performed for each backend system, then data extraction accuracy is maintained, but development time and programmer resources increase significantly

Engineering Contradiction:
Improvedata extraction accuracyVSAvoiddevelopment time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent creates template mappings that can be copied and reused across multiple backend systems. Instead of manually developing unique mappings for each of the hundreds of thousands of backend systems, developers create standardized mapping templates that can be instantiated repeatedly, maintaining extraction accuracy while dramatically reducing development time.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent implements universal mapping templates that can serve multiple backend systems with similar data structures. A single mapping template can be applied across numerous backend systems, allowing the same mapping logic to handle multiple sources, thereby reducing the overall number of mappings needed and the time required to develop them.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Adaptability or versatility

If numerous staging tables are created for data warehousing, then data transformation capability is improved, but system complexity and deployment resources increase

Engineering Contradiction:
Improvedata transformation capabilityVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the staging table creation process into modular, parameterized templates. Instead of creating numerous unique staging tables, the system uses segmented template structures that can be configured for different data transformation needs, reducing the overall number of tables while maintaining transformation capability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic staging table generation where table structures are created on-demand based on configuration parameters rather than pre-defining all possible tables. This dynamic approach allows the system to adapt to different transformation requirements without permanently increasing system complexity.

Inventive Principle:
Principle #15Dynamics

3Manufacturing precision

If repetitive mapping development is performed manually, then mapping accuracy is maintained, but programmer burnout and resource waste increase

Engineering Contradiction:
Improvemapping accuracyVSAvoiddeveloper productivity
Core Design Contradiction:
Manufacturing precisionVSProductivity

Solution Approach 1:

The patent implements self-service mapping generation where the system automatically generates mappings based on configuration files and templates without requiring manual intervention for each mapping. The automated system performs the repetitive work of creating and validating mappings, maintaining accuracy through structured templates while eliminating the burnout associated with manual repetitive development.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent performs preliminary action by pre-defining mapping templates and validation rules before actual mapping development is needed. These pre-configured templates contain the necessary logic and structure, allowing the system to automatically generate accurate mappings without requiring programmers to manually create each one, thereby maintaining precision while improving productivity.

Inventive Principle:
Principle #10Preliminary action

4Reliability

If extensive testing and peer review processes are implemented, then code quality is improved, but development time and resource consumption increase

Engineering Contradiction:
Improvecode qualityVSAvoidtesting and review time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent performs preliminary validation and testing within the template definition phase. Validation rules and test cases are configured in advance as part of the template creation process, allowing the system to automatically validate generated mappings without requiring extensive manual testing and peer review, thereby maintaining code quality while reducing time consumption.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11893037B1Dynamic code generation utility with configurable connections and variables
Publication Date: 2024.02.06 BANK OF AMERICA CORP
  • US11893037B1 patent drawing
  • US11893037B1 patent drawing
  • US11893037B1 patent drawing

AI summary

A dynamic code generation process with configurable connections and variables for extraction, transformation, and load (ETL) processing and validation is disclosed. A code generator loads an input requirement document and a configuration file, and generates workflows, database objects, and parameters. Database code is deployed in a database, ETL code is deployed in an ETL repository, and server code is deployed in an ETL server. A code validator reads the ETL code from the ETL repository and the database code from the database, and performs in-built stage unit testing. The code validator performs a quality check, metadata validation, definition comparisons, and outputs validation results.