Distributed Cache Data Access Tool for Database Load Reduction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In distributed data processing systems, repeated access to a back-end database by multiple processors leads to processing bottlenecks, increasing the load on database servers and potentially causing request failures and timeouts.
Innovation Solution
A data access tool that enables processors to cooperate by selecting a master processor to access the database, with other processors obtaining data from a distributed cache, dynamically rotating the master processor role and allowing new processors to be added without disrupting existing infrastructure.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If multiple processors access the database simultaneously to execute applications in parallel, then processing speed and productivity are improved, but the load on database servers increases leading to request failures and timeouts
Solution Approach 1:
The patent introduces a distributed cache as an intermediary layer between processors and the database. Processors first check the cache for required data, and only access the database when data is not cached. This mediator reduces direct database access load while maintaining data availability, resolving the contradiction between high processing speed and database reliability.
Solution Approach 2:
The system performs preliminary actions by pre-loading and caching data in the distributed cache before processors need it. The cache stores frequently accessed data in advance, allowing processors to retrieve data quickly without immediate database access. This preliminary caching action enables high productivity while preventing database overload.
2Ease of operation
If multiple processors access the database separately to read datasets, then each processor can independently execute application components, but processing bottlenecks occur due to increased database server load
Solution Approach 1:
The patent merges database access operations by implementing a master-slave processor architecture. One processor (master) is designated to access the database and store data in the distributed cache, while other processors (slaves) retrieve data from the cache. This combining of access operations maintains independent execution capability while eliminating redundant database access and processing bottlenecks.
Solution Approach 2:
The system creates copies of database data in the distributed cache. Instead of each processor accessing the original database separately, data is copied to the cache where multiple processors can access it simultaneously without affecting the original database. This copying mechanism preserves independent processor execution while dramatically improving processing efficiency.
3Reliability
If a fixed master processor is designated to access the database and write to cache, then database access is centralized reducing load, but system adaptability decreases when new processors are added
Solution Approach 1:
The patent implements a dynamic master-slave assignment mechanism where the master processor role is not fixed but can be reassigned based on system conditions and processor availability. When new processors are added to the cluster, the system dynamically determines which processor should serve as the master for database access. This dynamic adaptation maintains effective database load management while preserving system versatility and scalability.
Data Source
AI summary
An apparatus includes a first database, a memory, and first and second processors. The first database stores a list including a first identifier assigned to the first processor and a second identifier assigned to the second processor. The processors each randomly shuffle a copy of the list and place the first element of their shuffled copy in a third list. Each processor further determines that the first identifier appears a first number of times and the second identifier appears a second number of times in the third list, the first number greater than the second number. In response to determining that the first number is greater than the second number, the first processor copies data stored in a second database into the memory and sets a flag to true, while the second processor determines that the flag is set to true and accesses the data copy stored in the memory.


