Distributed Task Scheduling with Independent Databases for High Availability
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In SaaS environments, existing task scheduling systems face issues with databases becoming single bottlenecks, leading to performance decline and inoperability when the load increases, which is not effectively addressed by current high availability and scalability methods.
Innovation Solution
A distributed scheduling system with a master scheduling platform and multiple slave platforms, where scheduling data maintenance is distributed across these platforms, allowing them to execute tasks independently and maintain high availability by using independent databases.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If a centralized database is used for task scheduling, then the system structure is simple, but the database becomes a single bottleneck point and cannot handle large loads
Solution Approach 1:
The patent divides the centralized database into multiple distributed databases, with each slave scheduling platform having its own independent database. This segmentation allows the system to handle larger loads by distributing tasks across multiple database instances, eliminating the single bottleneck point while maintaining manageable system structure through modular design.
2Device complexity
If a centralized database is used for task scheduling, then the system structure is simple, but the database becomes a single point of failure
Solution Approach 1:
The patent segments the centralized database into multiple distributed databases associated with different slave scheduling platforms. This segmentation ensures that failure of one database does not affect the entire system, as other databases continue to operate independently, thereby eliminating the single point of failure while keeping the overall system structure relatively simple through standardized modular components.
Solution Approach 2:
The patent changes the database architecture parameter from centralized to distributed, and from single-instance to multi-instance. This parameter change transforms the system from having a single point of failure to having multiple redundant data storage points, significantly improving reliability and availability while maintaining manageable complexity through consistent architectural patterns.
3Adaptability or versatility
If the number of scheduling tasks is increased, then the system functionality is improved, but the database performance declines
Solution Approach 1:
The patent segments the database workload by distributing scheduling tasks across multiple slave scheduling platforms, each with its own database. This segmentation allows the system to handle increased numbers of scheduling tasks by parallelizing database operations across multiple instances, thereby improving both adaptability to task quantity increases and maintaining database performance through distributed load handling.
4Reliability
If a distributed scheduling framework is used, then high availability in running phase is achieved, but the database still becomes a bottleneck
Solution Approach 1:
The patent segments the database architecture into multiple independent database instances, each associated with a slave scheduling platform. This segmentation extends the distributed architecture from the application layer to the data layer, ensuring that the database does not become a bottleneck even when the number of scheduling tasks increases, while maintaining high availability in the running phase through redundant data storage and distributed query processing.
Data Source
AI summary
A distributed scheduling system includes a master scheduling platform and a slave scheduling platform. The number of the master scheduling platform and the number of the slave scheduling platform may be dynamically expanded respectively. When a back-end operating platform provides a scheduling data maintenance request to the master scheduling platform, the master scheduling platform provides scheduling data maintenance information to the slave scheduling platform according to the scheduling data maintenance request, so that the slave scheduling platform performs maintenance on scheduling data according to the scheduling data maintenance information. When a scheduling task execution condition of the scheduling data is met, the slave scheduling platform initiates a task, and calls a corresponding micro service to execute a business logic of the scheduling data. The distributed scheduling system and a distributed scheduling method realize highly available distributed scheduling functions.


