Replication Engine Lock and Queue Mechanism
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Maintaining data consistency across multiple persistencies during the replication process is challenging, especially when updates occur in parallel with the initial load, as existing methods struggle to efficiently synchronize data changes and ensure accurate reflection in secondary persistencies.
Innovation Solution
A mechanism involving a lock mechanism and replication queue is implemented to manage updates occurring in parallel with the initial load, ensuring that all changes are accurately accounted for and reflected in secondary persistencies, comprising a pre-processing phase to queue updates and a post-processing phase to synchronize data, using a replication engine and synchronization service to handle locks and data indexing.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If data is replicated to a second persistence from a first persistence during initial load, then data availability for systems and applications is improved, but data consistency between persistencies deteriorates when updates occur in parallel
Solution Approach 1:
The patent applies preliminary action by setting a lock on the business object before the initial load replication begins. This lock prevents any updates from occurring during the replication process, ensuring that the data being replicated is static and consistent. The lock is released only after the replication is complete, allowing updates to resume. This approach proactively prevents consistency issues rather than reacting to them afterward.
Solution Approach 2:
The patent introduces a lock mechanism as an intermediary between the initial load replication process and any update operations. This lock acts as a mediator that coordinates access to the business object, ensuring that replication and updates do not occur simultaneously. The lock manages the interaction between these two processes, preventing conflicts and maintaining data consistency across persistencies.
2Reliability
If a lock mechanism is set during initial load to prevent updates, then data consistency during replication is improved, but system productivity deteriorates due to blocked updates
Solution Approach 1:
The lock is set preliminarily before replication begins and is held only for the duration of the initial load process. This minimizes the time window during which updates are blocked, allowing the system to maintain high throughput for the majority of the time when replication is not occurring. The preliminary locking strategy ensures consistency only when necessary.
Solution Approach 2:
The lock mechanism operates periodically rather than continuously - it is acquired at the beginning of replication, held during the replication process, and released afterward. This periodic locking pattern allows the system to alternate between replication mode (with locking) and normal operation mode (without locking), maintaining both consistency during replication and productivity during normal operations.
3Productivity
If updates are allowed during initial load replication, then system productivity is improved, but measurement precision of data consistency deteriorates
Solution Approach 1:
By setting the lock before replication begins, the patent ensures that the data snapshot being replicated is fixed and cannot be modified during the process. This preliminary action guarantees that the replication captures an accurate and consistent view of the data at a specific point in time, preventing any measurements or comparisons from being affected by concurrent updates.
Data Source
AI summary
A method and medium for performing a replication process are provided. The method includes receiving a request to perform an initial load of a first persistence of at least one business object node to replicate the at least one business object node to a second persistence of the business object node; providing a queue to store updates of the at least one business object node; setting a lock for the at least one business object node, the lock indicating a replicating process is performing the initial load of the at least one business object node; determining whether the lock is set for the at least one business object node; and storing, in the queue, the updates of the at least one business object node that occur in parallel with the replicating process in an instance it is determined the lock is set for the at least one business object node.


