Data Sharing Events System for Service Synchronization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing systems face challenges in managing shared data sources efficiently, particularly when multiple software services simultaneously access and migrate data, leading to overloading and potential missed updates, which can result in data inconsistencies.
Innovation Solution
The implementation of a system that iteratively traverses a shared data source to create and transmit data sharing events to subscribed services at controlled polling and transmission rates, ensuring data is distributed without overwhelming the source and allowing services to maintain synchronized local data.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If multiple software services simultaneously access and migrate data from a shared data source, then data availability to services is improved, but the shared data source becomes overloaded
Solution Approach 1:
The system implements periodic data synchronization by services sequentially accessing the shared data source at scheduled intervals. Each service migrates data from the shared data source to its local data source in periodic batches rather than simultaneously, allowing the data source to recover between access cycles and preventing overload while ensuring all services eventually receive updated data.
2Stability of the object's composition
If a new software service migrates all data from the shared data source to its local data source upon activation, then data consistency is improved, but the shared data source becomes overloaded
Solution Approach 1:
Instead of migrating all data at once, the system migrates partial batches of data in sequential cycles. Each service receives a portion of the data in the first cycle, then receives additional portions in subsequent cycles until the complete data set is synchronized. This partial action approach ensures data consistency over time while preventing overload of the shared data source.
3Stability of the object's composition
If the shared data source provides update information to multiple software services, then data synchronization is improved, but the services may miss updates due to outages or failures
Solution Approach 1:
The system performs preliminary data migration by sequentially providing complete data sets to each service before moving to the next service. Each service receives a complete copy of the data in advance during its designated time slot, ensuring that even if the service experiences outages or failures during operation, it has already received the necessary update information and can resume synchronization without missing critical data changes.
4Loss of time
If software services query the shared data source for updates, then data freshness is improved, but the shared data source becomes strained
Solution Approach 1:
The system implements periodic data distribution where the shared data source proactively pushes data to services at scheduled intervals rather than waiting for services to query. Each service receives updated data in periodic batches, ensuring data freshness without requiring continuous querying that would strain the data source. The periodic rhythm allows the data source to manage its workload efficiently while keeping services synchronized.
Data Source
AI summary
Methods and systems for sharing data among multiple services are described herein. Multiple services may access data from a shared data source. The services may subscribe to data sharing events. A data sharing service may iterate through the shared data source and transmit data retrieved from the shared data source in data sharing events. When the data sharing service reaches the end of the shared data source, the data sharing service may begin iterating through the shared data source again from the beginning. The data sharing events may be transmitted at a predetermined frequency. The services may subscribe to or unsubscribe from the data sharing events.


