Database Access Service Engine for Load Balancing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current database access methods require exposing IP addresses and port numbers of database instances, leading to inefficient resource management and load balancing across servers, as connection pools are not shareable between different servers accessing the same database instance.
Innovation Solution
A database access method that utilizes a database access service engine independent of the application to establish connections to database instances, allowing for load sharing and balancing by selecting service engines based on load, and encrypting communication to secure authentication and data transfer, without relying on IP addresses and port numbers.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If a database connection pool is deployed inside each application on each server, then the application can access the database instance, but the connection pools cannot be shared between different servers, leading to resource duplication and inefficient load balancing
Solution Approach 1:
The patent introduces a database access service engine as an intermediary component between applications and database instances. This service engine maintains a unified connection pool that can be shared across multiple servers and applications, eliminating the need for each application to maintain its own connection pool. The service engine receives access requests from applications, manages connections to database instances, and returns results, thereby enabling connection pool sharing and improving resource utilization efficiency.
2Reliability
If IP addresses and port numbers of database instances are exposed for connection establishment, then applications can connect to database instances, but security risks increase and load balancing becomes difficult
Solution Approach 1:
The database access service engine acts as a mediator that abstracts the direct connection details between applications and database instances. Instead of applications directly using IP addresses and port numbers to connect to database instances, they connect to the service engine which then manages the actual database connections. This intermediary approach enhances security by hiding database instance network details while maintaining connection simplicity for applications.
Solution Approach 2:
The patent segments the connection management function into two parts: application-to-service-engine connection and service-engine-to-database-instance connection. This segmentation allows the service engine to manage database connection details securely while presenting a simplified interface to applications, resolving the contradiction between security and ease of operation.
3Adaptability or versatility
If multiple database connection pools are deployed on each server for different database instances, then each database instance can be accessed, but the system complexity increases and maintenance becomes difficult
Solution Approach 1:
The patent merges multiple database connection pools into a single unified connection pool managed by the database access service engine. Instead of deploying separate connection pools for each database instance on each server, the service engine maintains one connection pool that can serve multiple database instances. This merging approach reduces system complexity while maintaining the ability to access multiple database instances, as the service engine handles connection routing and management centrally.
Data Source
AI summary
This application discloses a method. A database access scheduling module (331 to 333) establishes a communication connection to a database access service engine (121 to 123) using an identifier of the database access service engine (121 to 123). The database access scheduling module (331 to 333) receives an access request sent by the database access service engine (121 to 123), where the access request carries an identifier of a database instance (371 to 375). The database access scheduling module (331 to 333) sends the access request to the database instance (371 to 375). In this way, the database access service engine (121 to 123) may send the access request to the database instance through the database access scheduling module (331 to 333) based on the communication connection actively established by the database access scheduling module (331 to 333) to the database access service engine (121 to 123).


