Distributed Database Conflict Resolution for KVS Consistency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In distributed key-value store (KVS) systems, the coexistence of multiple master servers after a failure can lead to data inconsistency and reduced system availability due to unmanaged transaction processing.
Innovation Solution
A computer system with a distributed database across multiple servers, featuring a control module for generating operation histories, a distribution module for sequencing operations, a conflict judgment module for determining conflicts, and an applying module for ensuring non-conflicting transaction processing, thereby maintaining data consistency and increasing system availability.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If multiple master servers coexist after a failure, then system availability is improved, but data consistency deteriorates
Solution Approach 1:
The patent introduces an intermediary mechanism (operation history logging and conflict detection system) between multiple master servers to coordinate their operations. Each master server logs its operations and checks for conflicts with other masters before applying transactions, allowing multiple masters to coexist while maintaining consistency through mediated conflict resolution
Solution Approach 2:
The system implements feedback loops where master servers continuously monitor operation histories, detect conflicts in real-time, and adjust their transaction processing accordingly. This feedback mechanism enables the system to maintain data consistency while allowing multiple master servers to remain active and improve availability
2Stability of the object's composition
If all transaction processing is aborted when a failure occurs, then data consistency is guaranteed, but system availability deteriorates
Solution Approach 1:
The patent segments transaction processing into individual operable units with unique operation numbers, allowing the system to evaluate and apply transactions independently rather than aborting all transactions when a failure occurs. This segmentation enables selective transaction processing that maintains consistency while preserving availability
Solution Approach 2:
The system changes the parameter of transaction handling from binary (all-or-nothing) to granular (selective application based on conflict detection). By introducing operation histories and conflict detection parameters, the system can determine which transactions to apply and which to abort, optimizing both consistency and availability
3Reliability
If multiple master servers execute transaction processing on the same data, then system availability is improved, but data inconsistency increases
Solution Approach 1:
The patent implements preliminary action by requiring master servers to log operation histories and perform conflict detection before applying transactions. This pre-check mechanism prevents conflicting transactions from being applied simultaneously, ensuring data consistency while allowing multiple masters to operate concurrently
Data Source
AI summary
A computer system has a database constructed from storage areas in each of a plurality of computers, which stores data including an operation number for managing an operation status by transaction processing. The data is allocated to the computers in accordance with predetermined management ranges, and the computers include a control module configured to generate an operation history indicating specifics of each operation included in the piece of transaction processing in a case of receiving an execution request. A distribution module determines a sequence number of applying a plurality of operation histories to the database and transmits them to the other computers. A conflict judgment module determines whether a piece of transaction processing corresponding to an operation history conflicts based on the operation number; and an applying module operates the database based on an operation history corresponding to a piece of transaction processing to the database determined not to conflict.


