Adaptive Metadata Refresh via Dynamic Concurrency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current systems face inefficiencies and resource depletion during metadata refreshing for live applications, as metadata updates are typically performed sequentially, leading to system slowdowns and incorrect data access due to outdated metadata.
Innovation Solution
A dynamic method that determines the type of refresh (concurrent or single thread) based on available server resources, prioritizing metadata modules by average refresh time and initiating concurrent refreshes when sufficient idle database connections and system resources are available, allowing multiple threads to process metadata modules simultaneously.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If sequential metadata refresh is performed, then system resource consumption is reduced, but metadata refresh speed and productivity deteriorate
Solution Approach 1:
The system dynamically adjusts the refresh mode between sequential and concurrent based on real-time resource availability. The metadata refresh mechanism transitions from a static sequential approach to a dynamic adaptive approach that monitors system state and selects the appropriate execution mode, thereby resolving the contradiction between refresh speed and resource consumption.
Solution Approach 2:
The system changes the execution parameter from single-threaded sequential processing to multi-threaded concurrent processing when resources are available. By altering the threading parameter based on system capacity, the system achieves faster metadata refresh without permanently increasing resource consumption, thus resolving the productivity-resource contradiction.
2Productivity
If concurrent metadata refresh is performed, then metadata refresh productivity is improved, but system resource consumption increases
Solution Approach 1:
The system employs dynamic resource allocation where the degree of concurrency is adjusted based on available system resources. When resources are abundant, concurrent refresh is enabled to maximize productivity; when resources are constrained, the system automatically reduces to sequential mode, thus resolving the contradiction between productivity improvement and resource quantity requirements.
Solution Approach 2:
The metadata refresh process is segmented into multiple independent threads that can execute concurrently. Each thread handles a portion of the metadata refresh task, allowing the system to parallelize work and improve productivity while distributing resource consumption across multiple threads rather than concentrating it, thus managing the resource quantity requirement.
3Reliability
If sequential metadata refresh is performed, then system resource stability is maintained, but system downtime increases
Solution Approach 1:
The system dynamically switches between sequential and concurrent refresh modes to balance stability and time loss. During concurrent refresh, the system monitors resource stability metrics and can fall back to sequential mode if instability is detected, thus maintaining reliability while reducing overall downtime through the primary use of faster concurrent operations.
Solution Approach 2:
The system performs preliminary checks of system resource stability before initiating concurrent metadata refresh. By assessing resource availability and stability conditions in advance, the system ensures that concurrent operations will not compromise system reliability, thus resolving the contradiction between reducing downtime and maintaining resource stability.
4Reliability
If metadata refresh is delayed, then system resource stability is maintained, but data access accuracy deteriorates
Solution Approach 1:
The system uses dynamic threshold-based triggering where the decision to refresh metadata is based on real-time evaluation of resource stability versus data accuracy requirements. When data access accuracy thresholds are not met, the system initiates refresh operations, dynamically balancing the trade-off between maintaining resource stability and ensuring data access accuracy.
Data Source
AI summary
Techniques are described for managing the optimized refreshing of metadata associated with online and live systems. In some implementations, a set of metadata modules associated with one or more entities are identified, the metadata modules defining metadata associated with a particular data model for the associated entities. A request to initiate a refreshing of the metadata for a subset of the set of metadata modules is identified. Each metadata module from the subset of the set of metadata modules is prioritized into a prioritization order. A determination is made as to whether two or more idle database connections are available. In response to determining that two or more idle database connections are available, a concurrent refresh of the subset of the set of metadata modules is initialized in the prioritization order.


