A connection pool state control method and controller for a data pool

By dynamically adjusting the number of connections and performing heartbeat detection in the TCP connection pool of the dual-controlled storage management system, the resource waste and connection pressure problems caused by the fixed number of connections in the prior art are solved, and the stable and normal use of the system in high concurrency scenarios are achieved.

CN118803009BActive Publication Date: 2025-04-25PERABYTES TECH
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202410775574.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-06-17
Publication Date
2025-04-25
Estimated Expiration
2044-06-17

AI Technical Summary

Technical Problem

The number of connections in the TCP connection pool of the existing dual-control storage management system is fixed, resulting in excessive connection pressure or waste of resources in high concurrency scenarios, affecting the normal use of the system.

Method used

The number of connections is created for the TCP connection pool during initialization of the dual-control storage management system, and adjust the number of connections to the normal preset number after the initialization is completed. Dynamically adjust the number of connections in the TCP connection pool according to the IO read and write volume, perform heartbeat detection in time and remove faulty connections.

Benefits of technology

In system initialization and high concurrency scenarios, ensure that the number of connections in TCP connection pool meets the needs, avoid resource waste and connection pressure, and ensure the normal use and stability of the dual-controlled storage management system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118803009B_ABST
    Figure CN118803009B_ABST
Patent Text Reader

Abstract

The present invention discloses a method for controlling the connection pool state of a data pool, comprising the following steps: when the system is initialized, an initial preset number of connections is created for its own TCP connection pool; when the system initialization is completed, some of the connections in its own TCP connection pool are closed to achieve the number of connections in its own TCP connection pool to be a normal preset number; wherein the normal preset number is less than the initial preset number and greater than the idle preset number. The present invention controls the TCP connection pool state in the system initialization state to ensure that when the demand for the number of TCP connections surges, the number of connections in the TCP connection pool can meet the concurrency demand and ensure that the system is initialized normally. After the initialization is completed, the number of connections in the TCP connection pool returns to the normal number, avoiding waste of resources, reducing the connection pressure on the server, and ensuring the normal use of the dual-control storage management system. The present invention also discloses a controller for implementing the above method.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of TCP connection pools, and in particular to a connection pool state control method and a controller for a data pool. Background Art

[0002] With the continuous development of cloud computing technology, people have an increasing demand for data storage, and have put forward further requirements on the performance and reliability of storage devices. The dual-control storage system is an effective way to ensure data reliability, and it is also the preferred solution for data storage in small and medium-sized enterprises. First of all, the dual-control storage system can process I / O requests from application servers in parallel. Once a controller fails or goes offline, the other controller will take over its work in time without affecting its existing tasks. Secondly, the dual-control storage system can realize the load balancing function of the two storage controllers. TCP connection pool is a technology for managing TCP connections in cloud computing. It allows developers to share TCP connections between multiple applications, thereby improving network utilization.

[0003] In the prior art, the number of connections in the TCP connection pool of the dual-control storage management system is fixed. Therefore, too many connections will lead to a waste of resources and also bring connection pressure to the server. Too few connections will limit the concurrency performance in high-concurrency scenarios and affect the normal use of the dual-control storage management system. Summary of the invention

[0004] In order to solve the above problems existing in the prior art, the present invention provides a connection pool state control method and controller of a data pool. The technical problem to be solved by the present invention is achieved by the following technical solutions:

[0005] A first aspect of an embodiment of the present invention provides a method for controlling a connection pool state of a data pool, which is applied to a controller of one of the storage management devices in a dual-control storage management system, and includes the following steps:

[0006] When the dual-control storage management system is initialized, an initial preset number of connections is created for its own TCP connection pool; wherein the initial preset number is the maximum number of connections in its own TCP connection pool;

[0007] When the dual-control storage management system is initialized, the first preset number of connections in its own TCP connection pool is closed to achieve a normal preset number of connections in its own TCP connection pool; wherein the normal preset number is smaller than the initial preset number and larger than the idle preset number.

[0008] In one embodiment of the present invention, the following steps are also included:

[0009] When the IO read / write volume is greater than the first preset read / write volume, the number of connections in its own TCP connection pool is adjusted to the idle preset number;

[0010] When the IO read / write amount is less than the second preset read / write amount, adjusting the number of connections in the own TCP connection pool to a normal preset number;

[0011] The first preset read / write amount is greater than the second preset read / write amount.

[0012] In one embodiment of the present invention, the following steps are also included:

[0013] When the peer controller is in downtime, each connection in its own TCP connection pool performs heartbeat detection;

[0014] When the heartbeat detection fails, the connection that performed the heartbeat detection is removed until all the connections in the own TCP connection pool are removed;

[0015] Close the own TCP connection pool, and detect whether the own TCP connection pool is activated.

[0016] In one embodiment of the present invention, the following steps are also included:

[0017] When the TCP connection pool of the controller is activated, the IO read / write volume of the controller is determined;

[0018] When the IO read / write volume of its own controller is greater than the first preset read / write volume, a second preset number of connections in its own TCP connection pool are closed to achieve the number of connections in its own TCP connection pool being an idle preset number;

[0019] When the IO read / write volume of the controller itself is less than the second preset read / write volume, the number of connections in the TCP connection pool of the controller itself is kept at the idle preset number;

[0020] The first preset read / write amount is greater than the second preset read / write amount.

[0021] In one embodiment of the present invention, the following steps are also included:

[0022] When the own controller is restarted after a shutdown, it interacts with the TCP connection pool of the opposite controller to activate the TCP connection pool of the opposite controller, initializes the own controller, and adjusts the number of connections in its own TCP connection pool to the initial preset number;

[0023] When the initialization is completed, a first preset number of connections in its own TCP connection pool are closed to achieve that the number of connections in its own TCP connection pool is a normal preset number.

[0024] According to a second aspect of an embodiment of the present invention, there is provided a controller for controlling the connection pool state of a data pool, wherein the controller is used to create an initial preset number of connections for its own TCP connection pool when controlling the initialization of a dual-control storage management system; wherein the initial preset number is the maximum number of connections in its own TCP connection pool; and when the initialization of the dual-control storage management system is completed, the first preset number of connections in its own TCP connection pool is closed to achieve a normal preset number of connections in its own TCP connection pool; wherein the normal preset number is less than the initial preset number and greater than the idle preset number.

[0025] In one embodiment of the present invention, the controller is also used to adjust the number of connections in its own TCP connection pool to an idle preset number when the IO read-write volume is greater than a first preset read-write volume; when the IO read-write volume is less than a second preset read-write volume, adjust the number of connections in its own TCP connection pool to a normal preset number; wherein the first preset read-write volume is greater than the second preset read-write volume.

[0026] In one embodiment of the present invention, the controller is also used to perform heartbeat detection on each connection in its own TCP connection pool when the peer controller is in a down state; when the heartbeat detection fails, remove the connection that has performed the heartbeat detection until all connections in its own TCP connection pool are removed; close its own TCP connection pool, and detect whether its own TCP connection pool is activated.

[0027] In one embodiment of the present invention, the controller is also used to determine the size of the IO read and write volume of its own controller after its own TCP connection pool is activated; when the IO read and write volume of its own controller is greater than the first preset read and write volume, close the second preset number of connections in its own TCP connection pool to achieve the number of connections in its own TCP connection pool being the idle preset number; when the IO read and write volume of its own controller is less than the second preset read and write volume, maintain the number of connections in its own TCP connection pool being the idle preset number; wherein the first preset read and write volume is greater than the second preset read and write volume.

[0028] In one embodiment of the present invention, the controller is also used to interact with the TCP connection pool of the peer controller when the controller itself is restarted after shutdown, so as to activate the TCP connection pool of the peer controller, initialize the controller itself, and adjust the number of connections in its own TCP connection pool to an initial preset number;

[0029] When the initialization is completed, a first preset number of connections in its own TCP connection pool are closed to achieve that the number of connections in its own TCP connection pool is a normal preset number.

[0030] Beneficial effects of the present invention:

[0031] The present invention controls the state of the TCP connection pool in the system initialization state. When the system is initialized, the number of connections in the TCP connection pool is kept at a high level, that is, the state with the largest number of connections. When the controller is initialized, the TCP connection pool is controlled to return to the default number state, that is, the number state of connections in normal operation, thereby ensuring that in the initialization state, when the two controllers actively obtain some state information of the opposite controller, causing a surge in the number of TCP connections, the number of connections in the TCP connection pool can meet the concurrency demand, ensuring that the system is initialized normally. After the initialization is completed, the number of connections in the TCP connection pool returns to the normal number, avoiding resource waste, reducing the connection pressure on the server, and ensuring the normal use of the dual-control storage management system.

[0032] Other features and advantages of the present invention will be described in the following description, and partly become apparent from the description, or understood by practicing the present invention. The purpose and other advantages of the present invention can be realized and obtained by the structures particularly pointed out in the written description, claims, and drawings.

[0033] The technical solution of the present invention is further described in detail below through the accompanying drawings and embodiments. BRIEF DESCRIPTION OF THE DRAWINGS

[0034] The accompanying drawings are used to provide a further understanding of the present invention and constitute a part of the specification. Together with the embodiments of the present invention, they are used to explain the present invention and do not constitute a limitation of the present invention. In the accompanying drawings:

[0035] Figure 1 A schematic diagram of a flow chart of a connection pool state control method for a data pool provided by an embodiment of the present invention;

[0036] Figure 2 A schematic diagram of a flow chart of another method for controlling a connection pool state of a data pool provided by an embodiment of the present invention;

[0037] Figure 3 A schematic diagram of a flow chart of a connection pool state control method of another data pool provided in an embodiment of the present invention;

[0038] Figure 4 A schematic flow chart of a connection pool state control method for another data pool provided in an embodiment of the present invention. DETAILED DESCRIPTION

[0039] The present invention is further described in detail below with reference to specific embodiments, but the embodiments of the present invention are not limited thereto.

[0040] like Figure 1As shown, an embodiment of the present invention provides a method for controlling the connection pool state of a data pool, which is applied to a controller of one of the storage management devices in a dual-control storage management system. The two controllers have the same method for controlling the TCP connection pool state of themselves. The TCP connection pool state control method is described below through four application scenarios:

[0041] In a dual-control storage management system initialization scenario, a first aspect of an embodiment of the present invention provides a connection pool state control method for a data pool, comprising the following steps:

[0042] Step 11: When the dual-control storage management system is initialized, an initial preset number of connections is created for its own TCP connection pool.

[0043] The initial preset number is the maximum number of connections in its own TCP connection pool.

[0044] Step 12: When the dual-control storage management system is initialized, the first preset number of connections in its own TCP connection pool are closed to achieve a normal preset number of connections in its own TCP connection pool.

[0045] The normal preset number is smaller than the initial preset number and larger than the idle preset number.

[0046] In this step, since both controllers are in the initialization state, in this state, the two controllers will actively obtain some status information of the other controller, which will cause a surge in the demand for the number of TCP connections. Therefore, when the system is initialized, each controller will control the number of connections in its own TCP connection pool to remain at a high level, that is, the initial preset number (the maximum number of connections). When the controller is initialized, the TCP connection pool closes or removes some connections, and each controller will control its own TCP connection pool to return to the default number state, that is, the number of connections in the TCP connection pool is the normal preset number. Among them, when modifying the number of connections in the TCP connection pool, the controller sends a corresponding signal to the TCP connection pool dynamic distribution thread, and the TCP connection pool dynamic distribution thread dynamically modifies the number in the TCP connection pool.

[0047] In this embodiment, the state of the TCP connection pool in the system initialization state is controlled. When the system is initialized, the number of connections in the TCP connection pool is kept at a high level, that is, the state with the largest number of connections. After the controller is initialized, the TCP connection pool is controlled to return to the default number state, that is, the number of connections in normal operation, so as to ensure that in the initialization state, when the two controllers actively obtain some status information of the other controller, causing a surge in the number of TCP connections, the number of connections in the TCP connection pool can meet the concurrency demand, and ensure that the system is initialized normally. After the initialization is completed, the number of connections in the TCP connection pool returns to the normal number, avoiding waste of resources, reducing the connection pressure on the server, and ensuring the normal use of the dual-control storage management system.

[0048] like Figure 2 As shown, in a scenario where the controller is in a data reading and writing state, a second aspect of an embodiment of the present invention provides a connection pool state control method for a data pool, comprising the following steps:

[0049] Step 21, when the IO read / write volume is greater than the first preset read / write volume, adjust the second preset number of connections in its own TCP connection pool to achieve the number of connections in its own TCP connection pool being the idle preset number.

[0050] Step 22: When the IO read / write amount is less than the second preset read / write amount, the number of connections in its own TCP connection pool is adjusted to a normal preset number.

[0051] The first preset read / write amount is greater than the second preset read / write amount.

[0052] In this embodiment, the TCP connection pool dynamic distribution thread will dynamically modify the number of TCP connection pools according to the IO read and write pressure. The pressure state is divided into two situations: high and low. Different pressure states correspond to different numbers of connection pools. When the IO read and write pressure is large (when the IO read and write volume is greater than the first preset read and write volume), the TCP interaction between the two storage management devices needs to give way to the data IO to ensure the security and efficiency of the data IO read and write. Therefore, it is necessary to maintain the number of connections in the TCP connection pool at a low level (idle preset number), and add or close (remove) a certain number of connections based on the number of connections in the current TCP connection pool so that the number of connections in the TCP connection pool is maintained at the idle preset number. At this time, the information interaction between the two controllers may be blocked, but it will only affect the TCP interaction efficiency of the two storage management devices. When the IO read and write pressure is small (when the IO read and write volume is less than the second preset read and write volume), add or close (remove) a certain number of connections based on the number of connections in the current TCP connection pool so that the number of TCP connection pools remains in the default state (normal preset number) to maintain the stability of the TCP network interaction environment of the management system.

[0053] There is no order in which step 21 and step 22 are executed.

[0054] The method for controlling the TCP connection pool state in this embodiment can achieve a good balance between concurrency performance and IO resources, reasonably control and optimize resource usage, and improve the stability of the dual-control storage management system.

[0055] like Figure 3 As shown, in a scenario where a single controller is in a downtime state, a third aspect of an embodiment of the present invention provides a method for controlling a connection pool state of a data pool, comprising the following steps:

[0056] Step 31, when the peer controller is in a downtime state, each connection in its own TCP connection pool is controlled to perform heartbeat detection.

[0057] Step 32, in response to the indication signal of the heartbeat detection failure, the connection that has undergone the heartbeat detection is removed until all the connections in its own TCP connection pool are removed.

[0058] Step 33, close its own TCP connection pool, and detect whether its own TCP connection pool is activated.

[0059] In this embodiment, when the peer controller is in a downtime state, each TCP long connection in the TCP connection pool in the survival controller performs a heartbeat check. If the heartbeat check fails, the TCP long connection will be removed from the TCP connection pool. When the number of connections in the TCP connection pool is 0, its own TCP connection pool will be closed, and the TCP connection pool will be opened after the downtime controller comes online again.

[0060] In this embodiment, after the peer controller goes down, it cannot interact with the survival controller. Therefore, the survival controller is controlled to close its own TCP connection pool and wait for the down controller to come online again to open the TCP connection pool. For the survival controller, it can greatly save resources, avoid resource waste, and reduce the connection pressure on the server.

[0061] like Figure 4 As shown, in a scenario where a single controller that has crashed returns, a fourth aspect of an embodiment of the present invention provides a method for controlling a connection pool state of a data pool, comprising the following steps:

[0062] Step 41, when the peer controller is restarted after crashing, it interacts with the TCP connection pool of the surviving controller to activate the TCP connection pool of the surviving controller.

[0063] Step 42, the peer controller is initialized, and the peer controller adjusts the number of connections in its own TCP connection pool to an initial preset number (the adjustment method is the same as step 11).

[0064] Step 43, when the peer controller is initialized, close the first preset number of connections in its own TCP connection pool to achieve the number of connections in its own TCP connection pool being a normal preset number.

[0065] Step 44, when the TCP connection pool of the previously surviving controller is activated, the IO read / write volume of the controller itself is determined. At this time, the previously surviving controller directly adjusts the number of connections in the TCP connection pool according to the IO read / write status, that is, executing the above-mentioned step 21 or step 22, that is, the process of the following step 45 or step 46.

[0066] Step 45, when the IO read / write volume of its own controller is greater than the first preset read / write volume, close the second preset number of connections in its own TCP connection pool to achieve the number of connections in its own TCP connection pool being the idle preset number.

[0067] Step 46: When the IO read / write volume of the own controller is less than the second preset read / write volume, the number of connections in the own TCP connection pool is maintained as the idle preset number.

[0068] The first preset read / write amount is greater than the second preset read / write amount.

[0069] In this embodiment, when the downtime controller returns, since it needs to synchronize the configuration information of the previously surviving controller to the downtime controller during initialization, the number of TCP connection pools of the downtime controller will be controlled to a high level (initial preset number) when it initializes itself. After the initialization of the downtime controller is completed, the number of TCP connection pools is set according to the read and write IO situation (that is, executing step 21 or step 22). During this process, the number of TCP connection pools of the previously stocked controller is also adjusted according to the read and write IO situation (that is, executing step 21 or step 22).

[0070] In this embodiment, after the downed controller returns, the two controllers can adjust the number of connections in the TCP connection pool according to their own working status in time, so that the two controllers can restore the normal working status in time, improving the timeliness of the dual-controller storage management system to restore the normal status from the abnormal state.

[0071] A fifth aspect of an embodiment of the present invention provides a method for controlling the connection pool state of a data pool, which is applicable to a dual-controller controller, and a TCP interaction (interaction between two controllers) scenario between two physically isolated management systems of the two controllers (the two controllers need to be synchronously managed to keep their storage configurations consistent), comprising the following steps:

[0072] Step 51: When the dual-controller storage management system is initialized, each controller creates an initial preset number of connections for its own TCP connection pool.

[0073] The initial preset number is the maximum number of connections in its own TCP connection pool.

[0074] Step 52: When the dual-controller storage management system is initialized, each controller closes a first preset number of connections in its own TCP connection pool, so that the number of connections in the TCP connection pool of each controller is a normal preset number.

[0075] The normal preset number is smaller than the initial preset number and larger than the idle preset number.

[0076] Step 53, when the system is working, each controller adjusts the number of connections in the TCP connection pool according to the IO read and write pressure:

[0077] When the IO read / write volume is greater than the first preset read / write volume, each controller adjusts the second preset number of connections in its own TCP connection pool to achieve that the number of connections in its own TCP connection pool is an idle preset number.

[0078] Step 54: When the IO read / write amount is less than the second preset read / write amount, each controller adjusts the number of connections in its own TCP connection pool to a normal preset number.

[0079] The first preset read / write amount is greater than the second preset read / write amount.

[0080] Step 55: When one of the controllers is in a downtime state, the surviving controller controls each connection in its own TCP connection pool to perform heartbeat detection.

[0081] Step 56 , the survivability controller responds to the indication signal of the heartbeat detection failure and removes the connection that has undergone the heartbeat detection until all the connections in the TCP connection pool of the survivability controller are removed.

[0082] Step 57: The survival controller closes its own TCP connection pool and detects whether its own TCP connection pool is activated.

[0083] Step 58: When the downtime controller is restarted after downtime, it interacts with the TCP connection pool of the surviving controller to activate the TCP connection pool of the surviving controller.

[0084] Step 59, the downtime controller is initialized and adjusts the number of connections in its own TCP connection pool to an initial preset number (the adjustment method is the same as step 51).

[0085] Step 60: When the downtime controller is initialized, the first preset number of connections in its own TCP connection pool is closed to achieve the number of connections in its own TCP connection pool being a normal preset number.

[0086] Step 61, when the TCP connection pool of the previous surviving controller is activated, the previous surviving controller determines the size of the IO read and write volume of its own controller.

[0087] Step 62 , when the IO read / write volume of the survival controller is greater than the first preset read / write volume, close the second preset number of connections in its own TCP connection pool to achieve the number of connections in its own TCP connection pool being the idle preset number.

[0088] Step 63: When the IO read / write volume of the previous survival controller is less than the second preset read / write volume, the number of connections in its own TCP connection pool is maintained as the idle preset number.

[0089] The first preset read / write amount is greater than the second preset read / write amount.

[0090] A sixth aspect of an embodiment of the present invention provides a controller for controlling the connection pool state of a data pool, wherein the controller is used to create an initial preset number of connections for its own TCP connection pool when controlling the initialization of a dual-control storage management system; wherein the initial preset number is the maximum number of connections in its own TCP connection pool; when the initialization of the dual-control storage management system is completed, the first preset number of connections in its own TCP connection pool is closed to achieve a normal preset number of connections in its own TCP connection pool; wherein the normal preset number is less than the initial preset number and greater than the idle preset number.

[0091] In the first embodiment of the present invention, the controller is also used to adjust the number of connections in its own TCP connection pool to an idle preset number when the IO read-write volume is greater than a first preset read-write volume; when the IO read-write volume is less than a second preset read-write volume, adjust the number of connections in its own TCP connection pool to a normal preset number; wherein the first preset read-write volume is greater than the second preset read-write volume.

[0092] In the first embodiment of the present invention, the controller is also used to perform heartbeat detection on each connection in its own TCP connection pool when the opposite controller is in a down state; when the heartbeat detection fails, remove the connection that has performed the heartbeat detection until all connections in its own TCP connection pool are removed; close its own TCP connection pool, and detect whether its own TCP connection pool is activated.

[0093] In the first embodiment of the present invention, the controller is also used to determine the size of the IO read and write volume of its own controller after its own TCP connection pool is activated; when the IO read and write volume of its own controller is greater than the first preset read and write volume, close the second preset number of connections in its own TCP connection pool to achieve the number of connections in its own TCP connection pool as the idle preset number; when the IO read and write volume of its own controller is less than the second preset read and write volume, keep the number of connections in its own TCP connection pool as the idle preset number; wherein the first preset read and write volume is greater than the second preset read and write volume.

[0094] In the first embodiment of the present invention, the controller is also used to interact with the TCP connection pool of the opposite controller when the controller itself is restarted after being shut down, so as to activate the TCP connection pool of the opposite controller, initialize the controller itself, and adjust the number of connections in its own TCP connection pool to the initial preset number;

[0095] When the initialization is completed, the first preset number of connections in its own TCP connection pool is closed to achieve that the number of connections in its own TCP connection pool is a normal preset number.

[0096] A sixth aspect of an embodiment of the present invention further provides a computer-readable storage medium on which a computer program is stored. When the computer program is executed by a processor, the steps of a connection pool state control method for a data pool provided in the above embodiment of the present invention are implemented.

[0097] The present invention is described with reference to flowcharts and / or block diagrams of methods, devices (systems), and computer program products according to embodiments of the present invention. It should be understood that each process and / or block in the flowchart and / or block diagram, as well as the combination of processes and / or blocks in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.

[0098] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.

[0099] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.

[0100] Obviously, those skilled in the art can make various changes and modifications to the present invention without departing from the spirit and scope of the present invention. Thus, if these modifications and variations of the present invention fall within the scope of the claims of the present invention and their equivalents, the present invention is also intended to include these modifications and variations.

Claims

1. A method for controlling the connection pool state of a data pool, characterized in that: A controller of one of the storage management devices of a dual-control storage management system includes the following steps: When the dual-control storage management system is initialized, an initial preset number of connections is created for its own TCP connection pool; wherein the initial preset number is the maximum number of connections in its own TCP connection pool; When the dual-control storage management system is initialized, the first preset number of connections in its own TCP connection pool is closed to achieve the number of connections in its own TCP connection pool to be a normal preset number; wherein the normal preset number is less than the initial preset number and greater than the idle preset number; When the peer controller is in downtime, each connection in its own TCP connection pool performs heartbeat detection; When the heartbeat detection fails, the connection that performed the heartbeat detection is removed until all the connections in the own TCP connection pool are removed; Close the own TCP connection pool, and detect whether the own TCP connection pool is activated; When the TCP connection pool of the controller is activated, the IO read / write volume of the controller is determined; When the IO read / write volume of its own controller is greater than the first preset read / write volume, a second preset number of connections in its own TCP connection pool are closed to achieve the number of connections in its own TCP connection pool being an idle preset number; When the IO read / write volume of the controller itself is less than the second preset read / write volume, the number of connections in the TCP connection pool of the controller itself is kept at the idle preset number; The first preset read / write amount is greater than the second preset read / write amount.

2. The method according to claim 1, characterized in that The following steps are also included: When the IO read / write volume is greater than the first preset read / write volume, the number of connections in its own TCP connection pool is adjusted to the idle preset number; When the IO read / write amount is less than the second preset read / write amount, adjusting the number of connections in the own TCP connection pool to a normal preset number; The first preset read / write amount is greater than the second preset read / write amount.

3. The method according to claim 1, characterized in that The following steps are also included: When the own controller is restarted after a shutdown, it interacts with the TCP connection pool of the opposite controller to activate the TCP connection pool of the opposite controller, initializes the own controller, and adjusts the number of connections in its own TCP connection pool to the initial preset number; When the initialization is completed, a first preset number of connections in its own TCP connection pool are closed to achieve that the number of connections in its own TCP connection pool is a normal preset number.

4. A controller for controlling the connection pool state of a data pool, characterized in that: The controller is used to create an initial preset number of connections for its own TCP connection pool when controlling the dual-control storage management system to be initialized; wherein the initial preset number is the maximum number of connections in its own TCP connection pool; when the dual-control storage management system is initialized, close the first preset number of connections in its own TCP connection pool to achieve the number of connections in its own TCP connection pool to be a normal preset number; wherein the normal preset number is less than the initial preset number and greater than the idle preset number; The controller is also used to perform heartbeat detection on each connection in its own TCP connection pool when the peer controller is in a downtime state; when the heartbeat detection fails, remove the connection that has performed the heartbeat detection until all the connections in its own TCP connection pool are removed; close its own TCP connection pool, and detect whether its own TCP connection pool is activated; The controller is also used to determine the size of the IO read and write volume of its own controller after its own TCP connection pool is activated; when the IO read and write volume of its own controller is greater than the first preset read and write volume, close the second preset number of connections in its own TCP connection pool to achieve the number of connections in its own TCP connection pool as the idle preset number; when the IO read and write volume of its own controller is less than the second preset read and write volume, maintain the number of connections in its own TCP connection pool as the idle preset number; wherein the first preset read and write volume is greater than the second preset read and write volume.

5. The controller according to claim 4, characterized in that The controller is also used to adjust the number of connections in its own TCP connection pool to an idle preset number when the IO read-write volume is greater than a first preset read-write volume; and to adjust the number of connections in its own TCP connection pool to a normal preset number when the IO read-write volume is less than a second preset read-write volume; wherein the first preset read-write volume is greater than the second preset read-write volume.

6. The controller according to claim 4, characterized in that The controller is also used to interact with the TCP connection pool of the opposite controller when the controller is restarted after shutdown, so as to activate the TCP connection pool of the opposite controller, initialize the controller itself, and adjust the number of connections in its own TCP connection pool to an initial preset number; When the initialization is completed, a first preset number of connections in its own TCP connection pool are closed to achieve that the number of connections in its own TCP connection pool is a normal preset number.