Asynchronous Database Caching via In-Memory Query Pre-computation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data systems face challenges in efficiently updating and managing scores across different accounts, particularly when these accounts are of different types and use different data structures, leading to performance limitations and user frustration due to the complexity of isolating and linking data from various sources.

Innovation Solution

The system generates a plurality of queries with shared parameters, stores these queries in an in-memory data store, determines a second query based on the shared parameters, locks values, retrieves a query response, and updates records accordingly, while also encrypting data using symmetric block cipher algorithms to enhance security and efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If the system updates scores across different accounts using traditional database queries, then data consistency is maintained, but query processing time increases and front-end performance deteriorates

Engineering Contradiction:
Improvequery processing speedVSAvoidtime to update cross-account scores
Core Design Contradiction:
SpeedVSLoss of time

Solution Approach 1:

The system performs preliminary actions by pre-calculating and storing score transformations in an in-memory data store before actual score updates are needed. When a score change occurs, the system retrieves pre-computed transformation rules from memory rather than performing real-time calculations across multiple databases, significantly reducing update time.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

An in-memory data store acts as an intermediary between the original database and the queries needing score updates. This intermediary layer caches transformed score data and retrieval rules, allowing the system to answer cross-account score queries without directly querying all source databases, thereby reducing processing time.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Quantity of substance

If the system stores all query parameters and values in the database, then data completeness is maintained, but data storage consumption increases

Engineering Contradiction:
Improvedata storage consumptionVSAvoidquery parameter retention
Core Design Contradiction:
Quantity of substanceVSLoss of information

Solution Approach 1:

The system extracts and separates query parameters from the main database storage. Instead of storing all query parameters and values in the database, the system stores only the essential score transformation rules in an in-memory data store, while retrieving detailed parameters on-demand from the original database, reducing overall storage consumption.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system creates a simplified copy of the database structure in memory that contains only the necessary score transformation information. This in-memory copy serves as a lightweight representation that reduces storage requirements while maintaining the ability to retrieve complete query information when needed.

Inventive Principle:
Principle #26Copying

3Adaptability or versatility

If the system uses complex data structures for different account types, then data structure flexibility is maintained, but system complexity increases

Engineering Contradiction:
Improvesupport for different account typesVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system implements a universal in-memory data store structure that can handle multiple account types through a common interface. Instead of maintaining separate complex data structures for different account types, the system uses a unified approach where score transformation rules can be applied across all account types, reducing overall system complexity while maintaining versatility.

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

Solution Approach 2:

The system manages complexity by parameterizing data structure configurations rather than hardcoding different structures for different account types. The in-memory data store uses configurable parameters to adapt its behavior to different account types, allowing flexibility without increasing structural complexity.

Inventive Principle:
Principle #35Parameter changes

4Speed

If the system retrieves all data from the database for each query, then data completeness is ensured, but processing time increases

Engineering Contradiction:
Improvedata retrieval speedVSAvoidtime to retrieve query responses
Core Design Contradiction:
SpeedVSLoss of time

Solution Approach 1:

The system performs preliminary retrieval of score transformation rules and cached data into the in-memory data store before actual query processing. By pre-loading necessary data and computation rules into memory, the system minimizes subsequent database round-trips and accelerates query response times while maintaining data completeness.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The in-memory data store serves as an intermediary caching layer that stores frequently accessed score data and transformation rules. This intermediary reduces the need to retrieve all data from the database for each query, as the cached copy provides rapid access to the required information while maintaining completeness.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11475010B2Asynchronous database caching
Publication Date: 2022.10.18 SELF FINANCIAL INC
  • US11475010B2 patent drawing
  • US11475010B2 patent drawing
  • US11475010B2 patent drawing

AI summary

Provided is a method to obtain a first query indicating a set of fields of a record of a first data store and generate a plurality of queries based on the first query, where the plurality of queries includes a shared set of parameters. The method includes storing a plurality of query values identifying the plurality of queries in an in-memory data store, determining a second query comprising the shared set of parameters based on the plurality of queries, and locking a set of values of the record based on the second query. The method includes retrieving a query response comprising the set of values with the second query, fulfilling the plurality of queries stored in the in-memory data store based on the set of values, and generating a response to the first query based on the fulfilled plurality of queries.