Transaction History-Based Server Linking in Distributed Clusters
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In distributed server cluster systems, the current methods for handling global transactions lead to an increase in the number of servers and database sessions involved, resulting in longer processing times and reduced performance due to unnecessary server participation and increased communication overhead.
Innovation Solution
A method where a server with transaction history is identified and utilized to process subsequent service requests within the same transaction, minimizing the number of servers involved and optimizing database session usage by using transaction identification information to determine the most suitable server for processing, thereby reducing the number of database sessions and communication required.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If round robin or random scheme is used to distribute services to servers in a distributed server cluster, then load distribution is achieved, but the number of servers and database sessions participating in global transactions unnecessarily increases
Solution Approach 1:
The system pre-establishes service link relationships between servers before global transactions occur. When a server needs to access another service, it can directly use the pre-defined link instead of dynamically selecting a server through round robin or random schemes, thereby reducing the number of servers that need to participate in each transaction.
Solution Approach 2:
The patent introduces a service link management mechanism that acts as an intermediary between service requests and server selection. This intermediary maintains and manages pre-established service links, allowing servers to efficiently determine which server to contact for a given service without requiring broad participation in the transaction.
2Productivity
If multiple servers participate in global transactions through mutual communication, then service processing is distributed, but the time required for processing the transaction increases
Solution Approach 1:
Service links are pre-established between servers before transactions occur. This preliminary action creates a ready-made communication pathway that eliminates the need for dynamic server selection and reduces communication overhead during actual transactions, thereby reducing processing time while maintaining distributed processing capabilities.
Solution Approach 2:
The patent extracts the server selection logic from the transaction processing flow by using pre-established service links. Instead of performing server selection and communication setup during each transaction, the system has already determined and fixed the communication paths in advance, removing this overhead from the critical transaction processing path.
3Adaptability or versatility
If any server can process any service through round robin or random selection, then service flexibility is maintained, but database session usage amount increases
Solution Approach 1:
The system pre-establishes which server should handle which service through service links, determined before transactions occur. This preliminary determination of service-to-server mappings reduces the need for multiple database sessions, as each server knows in advance which services it should handle and can prepare appropriate sessions beforehand.
Solution Approach 2:
The patent merges multiple service requests into fewer server-handling decisions by using pre-established service links. Instead of allowing any server to handle any service (which would require many database sessions), the system consolidates service handling to specific servers based on pre-defined links, thereby reducing the total number of database sessions required.
Data Source
AI summary
A method for linking multiple services in a distributed server cluster system, comprising: receiving a processing request for a second service from a first server which belongs to a first server cluster to which a first service is distributed, wherein the processing request includes identification information for a transaction generated by the first server and request data for processing one or more services according to a client device request, processing a task for the second service according to the received processing request, determining a service to be processed next to the second service based on the request data, determining whether there is the first server having a history which participates in the transaction among servers of a server cluster to which the determined service is distributed, and delivering the processing request for the determined service to the first server when the first server having the history participates in the transaction.


