Concurrent Update Management via Log-Based Collision Detection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current methods for managing concurrent updates on data sets, such as serialization and fencing, incur unnecessary overhead and wait time, and often result in wasted time or data corruption due to the failure of updates to be committed simultaneously.
Innovation Solution
An update management system that detects transactional and batch updates, generates logs for these updates, and determines collisions by referencing the logs, allowing for the implementation of a collision policy to resolve conflicts without locking data, thereby reducing processing time and preventing data corruption.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If serialization or fencing is used to manage concurrent updates, then data consistency is maintained, but processing time increases and overhead is unnecessary
Solution Approach 1:
The system performs preliminary actions by detecting updates and generating logs before actual data modification occurs. The log captures the state of data before a transactional update, enabling collision detection with batch updates before they execute, thus preventing time-consuming fencing or serialization while maintaining consistency
Solution Approach 2:
The patent introduces a log as an intermediary mechanism between transactional and batch updates. Instead of directly locking data or using fencing, the system uses the log (containing pre-update data images) as a mediator to detect collisions and resolve conflicts, eliminating the need for time-consuming direct data locking mechanisms
2Reliability
If fencing mechanisms are used to prevent collisions, then data corruption is prevented, but unnecessary overhead is incurred
Solution Approach 1:
The patent extracts the essential function of collision detection from complex fencing mechanisms. Instead of implementing full fencing with locks and wait queues, the system extracts only the critical function of detecting collisions by comparing update logs, thereby reducing system overhead while maintaining data integrity
Solution Approach 2:
The system creates a copy of the data state in the log before the transactional update executes. This copy is then used to detect collisions with batch updates without requiring actual data locking or fencing, reducing system complexity while preventing data corruption through collision detection
3Reliability
If updates are failed due to collisions, then data consistency is maintained, but time is wasted due to re-attempts
Solution Approach 1:
The system implements feedback by using the log (containing pre-update data images) to detect collisions between transactional and batch updates. This feedback mechanism allows the system to identify conflicts before execution and apply appropriate resolution policies, preventing wasted time on re-attempts while maintaining data consistency
Solution Approach 2:
The patent introduces dynamic collision detection that adapts to different update scenarios. Instead of statically failing all collisions, the system dynamically analyzes the log to determine actual conflicts and applies flexible resolution policies, improving update throughput while maintaining consistency through intelligent collision management
Data Source
AI summary
Aspects of the present disclosure relate to managing concurrent updates on data. A transactional update on at least one record within a data set is detected. A log is generated for the transactional update, the log including an image of the at least one record within the data set before the transactional update. A batch update is detected. A determination is made whether the batch update collides with the transactional update by referencing the log. In response to determining that the batch update collides with the transactional update, a collision policy is referenced. A collision action indicated in the collision policy is then issued.


