Method and device for determining parameter adjustment strategy, server and storage medium

By determining the target information of the target storage volume based on the attribute information of the IO request, and combining the parameter adjustment strategies of the master and slave servers, the problem that the performance of distributed server clusters cannot be optimal in traditional technology is solved, and a higher degree of storage performance matching is achieved.

CN120216154APending Publication Date: 2025-06-27天津中科曙光存储科技有限公司
View PDF 0 Cites 2 Cited by

Patent Information

Application Number
CN202311817418.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-12-26
Publication Date
2025-06-27

AI Technical Summary

Technical Problem

In traditional technology, determined adjustment strategies cannot optimize the performance of distributed server clusters.

Method used

By storing the IO request to the corresponding target storage volume according to the storage volume identifiers carried by the received multiple IO requests, and determining the target information based on the attribute information of the IO request stored in the target storage volume, the parameter adjustment strategy of the main server is determined. Combining the parameter adjustment strategies of the master and slave servers, determine the target parameter adjustment strategy of the distributed server cluster.

Benefits of technology

By accurately matching the attribute information of IO requests, the determined parameter adjustment strategy matches IO requests more accurately. Combined with the strategies of the master and slave servers, the performance of distributed server cluster is optimized.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120216154A_ABST
    Figure CN120216154A_ABST
Patent Text Reader

Abstract

The invention relates to a parameter adjustment strategy determination method and device, a server and a storage medium. The method comprises the following steps: storing a plurality of IO requests to corresponding target storage volumes according to storage volume identifiers carried by the received IO requests; determining a parameter adjustment strategy of the main server according to the target information of each target storage volume; wherein the target information of the target storage volume is determined according to the attribute information of the IO request stored in the target storage volume; and determining a target parameter adjustment strategy of the distributed server cluster according to the parameter adjustment strategy of the master server and the parameter adjustment strategies of the slave servers except the master server in the distributed server cluster. The adjustment strategy determined by the method cannot enable the performance of the distributed server cluster to be optimal.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the technical field of distributed server clusters, and particularly to a method, device, server, and storage medium for determining a parameter adjustment strategy. Background Art

[0002] Pattern recognition of input / output (IO) requests in a block storage service refers to monitoring and analyzing the patterns of IO requests, obtaining the characteristic information corresponding to the patterns of the IO requests, and adjusting the processing strategy of the server providing the block storage service for the IO requests according to the characteristic information, so as to provide more stable and higher storage performance for the application program sending the IO requests.

[0003] In the traditional technology, IO request pattern recognition is to extract the scenario characteristics of IO requests by the server providing the block storage service, compare the scenario characteristics of the IO requests with a preset database, determine the target parameters corresponding to the scenario characteristics, and thus adjust the parameters of the distributed server cluster according to the target parameters.

[0004] However, in the traditional technology, the determined adjustment strategy cannot optimize the performance of the distributed server cluster. Summary of the Invention

[0005] Based on this, in view of the above technical problems, it is necessary to provide a method, device, server, and storage medium for determining a parameter adjustment strategy that can determine an adjustment strategy that optimizes the performance of a distributed server cluster.

[0006] In a first aspect, the present application provides a method for determining a parameter adjustment strategy. The method is applied to a primary server in a server cluster, and the method includes:

[0007] Storing the multiple IO requests into corresponding target storage volumes according to the storage volume identifiers carried by the received multiple IO requests;

[0008] Determining a parameter adjustment strategy of the primary server according to the target information of each target storage volume; wherein, the target information of the target storage volume is determined according to the attribute information of the IO requests stored in the target storage volume;

[0009] Determining a target parameter adjustment strategy of the distributed server cluster according to the parameter adjustment strategy of the primary server and the parameter adjustment strategies of the secondary servers in the distributed server cluster other than the primary server.

[0010] In one embodiment, according to the address information of the IO requests stored in the target storage volume, determining the IO request stream corresponding to the IO requests stored in the target storage volume and the read / write heat information of the target storage volume;

[0011] Determine the continuous information of the IO request stream;

[0012] According to the length information of the IO requests stored in the target storage volume, determine the target IO requests with the same length in the target storage volume;

[0013] According to the read / write type of the target IO requests, the continuous information, and the read / write heat information, determine the target information of the target storage volume.

[0014] In one embodiment, the determining the target information of the target storage volume according to the read / write type of the target IO requests, the continuous information, and the read / write heat information includes:

[0015] According to the read / write type of the target IO requests, determine the proportion of read requests and the proportion of write requests in the target IO requests;

[0016] Determine the proportion of read requests, the proportion of write requests, the continuous information, and the read / write heat information as the target information.

[0017] In one embodiment, the parameter adjustment strategy includes a resource adjustment strategy, a cache adjustment strategy, and a read-ahead mode adjustment strategy; the determining the parameter adjustment strategy of the main server according to the target information of each target storage volume includes:

[0018] According to the proportion of read requests and the proportion of write requests, determine the resource adjustment strategy for processing the multiple IO requests in the main server;

[0019] According to the read / write heat information, determine the cache adjustment strategy for the data corresponding to the multiple IO requests;

[0020] According to the continuous information of the read requests in the continuous information, determine the read-ahead mode adjustment strategy of the main server.

[0021] In one embodiment, the determining the target parameter adjustment strategy of the distributed server cluster according to the parameter adjustment strategy of the main server and the parameter adjustment strategies of the slave servers in the distributed server cluster other than the main server includes:

[0022] According to the multi-point voting method, determine the target resource adjustment strategy, the target cache adjustment strategy, and the target read-ahead mode adjustment strategy of the distributed server cluster from the parameter adjustment strategy of the main server and the parameter adjustment strategies of the slave servers in the distributed server cluster other than the main server.

[0023] In one embodiment, the method further includes:

[0024] Determine the target resource adjustment policy, target cache adjustment policy, and target read-ahead mode adjustment policy of the distributed server cluster as the target resource adjustment policy, target cache adjustment policy, and target read-ahead mode adjustment policy of the primary server.

[0025] In one embodiment, the method further includes:

[0026] Determine the task volume of the to-be-processed tasks generated by the primary server itself;

[0027] If the task volume is greater than the processing volume of the multiple IO requests, allocate the processing resources for processing the to-be-processed tasks to the multiple IO requests.

[0028] In one embodiment, the method further includes:

[0029] If the target read-ahead mode adjustment policy is to enable the read-ahead mode of the primary server, adjust the read-ahead step corresponding to the read-ahead mode according to the read-ahead hit rate of the IO requests.

[0030] In a second aspect, the present application further provides a device for determining a parameter adjustment policy, including:

[0031] A storage module, configured to store the multiple IO requests into corresponding target storage volumes according to the storage volume identifiers carried by the received multiple IO requests;

[0032] A first determination module, configured to determine the parameter adjustment policy of the primary server according to the target information of each target storage volume; wherein, the target information of the target storage volume is determined according to the attribute information of the IO requests stored in the target storage volume;

[0033] A second determination module, configured to determine the target parameter adjustment policy of the distributed server cluster according to the parameter adjustment policy of the primary server and the parameter adjustment policies of the slave servers in the distributed server cluster except the primary server.

[0034] In a third aspect, the present application further provides a computer device, including a memory and a processor, where the memory stores a computer program, and when the processor executes the computer program, the following steps are implemented:

[0035] Store the multiple IO requests into corresponding target storage volumes according to the storage volume identifiers carried by the received multiple IO requests;

[0036] Determine the parameter adjustment policy of the primary server according to the target information of each target storage volume; wherein, the target information of the target storage volume is determined according to the attribute information of the IO requests stored in the target storage volume;

[0037] Determine the target parameter adjustment policy of the distributed server cluster according to the parameter adjustment policy of the master server and the parameter adjustment policies of the slave servers in the distributed server cluster other than the master server.

[0038] In a fourth aspect, the present application also provides a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, the following steps are implemented:

[0039] Store the multiple IO requests into corresponding target storage volumes according to the storage volume identifiers carried by the received multiple IO requests;

[0040] Determine the parameter adjustment policy of the master server according to the target information of each target storage volume; wherein, the target information of the target storage volume is determined according to the attribute information of the IO requests stored in the target storage volume;

[0041] Determine the target parameter adjustment policy of the distributed server cluster according to the parameter adjustment policy of the master server and the parameter adjustment policies of the slave servers in the distributed server cluster other than the master server.

[0042] In a fifth aspect, the present application also provides a computer program product, including a computer program. When the computer program is executed by a processor, the following steps are implemented:

[0043] Store the multiple IO requests into corresponding target storage volumes according to the storage volume identifiers carried by the received multiple IO requests;

[0044] Determine the parameter adjustment policy of the master server according to the target information of each target storage volume; wherein, the target information of the target storage volume is determined according to the attribute information of the IO requests stored in the target storage volume;

[0045] Determine the target parameter adjustment policy of the distributed server cluster according to the parameter adjustment policy of the master server and the parameter adjustment policies of the slave servers in the distributed server cluster other than the master server.

[0046] Method, apparatus, server, and storage medium for determining the above parameter adjustment strategy. The master server stores the multiple IO requests into corresponding target storage volumes according to the storage volume identifiers carried by the received multiple IO requests. Further, the target information of each target storage volume is determined according to the attribute information of the IO requests stored in the target storage volume, so as to determine the parameter adjustment strategy of the master server according to the target information of the target storage volume. Furthermore, the target parameter adjustment strategy of the distributed server cluster is determined according to the parameter adjustment strategy of the master server and the parameter adjustment strategy of the slave server. The target information of each target storage volume determined according to the attribute information of the IO request itself has a higher matching degree with the IO request, so that the parameter adjustment strategy determined according to the target information has a higher matching degree with the IO request. At the same time, by combining the parameter adjustment strategy of the master server and the parameter adjustment strategy of the slave server, the parameter adjustment strategy of the distributed server cluster is obtained. Adjusting the parameters of each server in the distributed server cluster according to the parameter adjustment strategy of the distributed server cluster can optimize the performance of the distributed server cluster. BRIEF DESCRIPTION OF THE DRAWINGS

[0047] In order to more clearly illustrate the technical solutions in the embodiments of the present application or related technologies, the following will briefly introduce the drawings required for the description of the embodiments or related technologies. Obviously, the drawings in the following description are only some embodiments of the present application. For those of ordinary skill in the art, other drawings can be obtained based on these drawings without creative efforts.

[0048] Figure 1 It is an application environment diagram of the method for determining the parameter adjustment strategy in an embodiment;

[0049] Figure 2 It is a schematic flowchart of the method for determining the parameter adjustment strategy in an embodiment;

[0050] Figure 3 It is a schematic flowchart of the method for determining the parameter adjustment strategy in another embodiment;

[0051] Figure 4 It is a schematic diagram of the IO request stream in an embodiment;

[0052] Figure 5 It is a schematic flowchart of the method for determining the parameter adjustment strategy in another embodiment;

[0053] Figure 6 It is a schematic flowchart of the method for determining the parameter adjustment strategy in another embodiment;

[0054] Figure 7 It is a schematic flowchart of the method for determining the parameter adjustment strategy in another embodiment;

[0055] Figure 8 It is a structural block diagram of a device for determining a parameter adjustment strategy in an embodiment;

[0056] Figure 9 It is a structural block diagram of a device for determining a parameter adjustment strategy in another embodiment;

[0057] Figure 10 It is a structural block diagram of a device for determining a parameter adjustment strategy in another embodiment;

[0058] Figure 11 It is a structural block diagram of a device for determining a parameter adjustment strategy in another embodiment;

[0059] Figure 12 It is a structural block diagram of a device for determining a parameter adjustment strategy in another embodiment;

[0060] Figure 13 It is an internal structure diagram of a computer device in an embodiment. Detailed implementation manners

[0061] In order to make the objectives, technical solutions and advantages of the present application clearer and more understandable, the present application will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.

[0062] The method for determining a parameter adjustment strategy provided by the embodiments of the present application can be applied to, for example, Figure 1 the application environment shown. Among them, the distributed server cluster includes multiple servers. Any server in the distributed server cluster can be used as the main server 102, and the other servers in the distributed server cluster except the first server 102 can be used as the slave servers 104. The main server 102 can communicate with the slave servers 104 through a network.

[0063] In one embodiment, as Figure 2 shown, a method for determining a parameter adjustment strategy is provided. Taking the main server in Figure 1 as an example for description, the above method includes:

[0064] S201. Store multiple IO requests into corresponding target storage volumes according to the storage volume identifiers carried by the received multiple IO requests.

[0065] Among them, the IO request is a request corresponding to an input operation or an output operation. According to the IO request, data on the block storage device in the server can be read or written. The block storage device can be a hard disk or a storage volume. The storage volume is an abstract storage unit used to be allocated to the server to store data. The storage volume can be mapped to a physical storage device. For example, the storage volume can be mapped to a hard disk.

[0066] In this embodiment, the main server includes one or more storage volumes. The main server receives multiple IO requests, can match the storage volume identifier carried in each IO request with the identifiers of each storage volume in the main server, determine the storage volume whose identifier in the main server is the same as the storage volume identifier carried in the IO request as the target storage volume of the IO request, and store the IO request in the corresponding target storage volume. It should be noted that the target storage volumes corresponding to each IO request can be the same storage volume or different storage volumes.

[0067] Exemplarily, the main server includes storage volume 1 and storage volume 2. The IO requests received by the main server include IO request 1, IO request 2, and IO request 3. According to the storage volume identifiers carried in each IO request, it is determined that the target storage volume corresponding to IO request 1 is storage volume 1, the target storage volume corresponding to IO request 2 is storage volume 1, and the target storage volume corresponding to IO request 3 is storage volume 2. Further, store IO request 1 and IO request 2 in storage volume 1, and store IO request 3 in storage volume 2.

[0068] Optionally, in this embodiment, the IO request can be generated by an application program in other computer devices and sent to the main server. The computer device can pre - send the information of the target storage volume corresponding to the application program in the computer device to the main server. The main server filters the storage volumes in the main server according to the information of the target storage volume to determine the target storage volume in the main server.

[0069] S202. Determine the parameter adjustment strategy of the main server according to the target information of each target storage volume; among them, the target information of the target storage volume is determined according to the attribute information of the IO requests stored in the target storage volume.

[0070] In this embodiment, each IO request can carry the attribute information of the IO request. When the IO request is stored in the corresponding target storage volume, the attribute information of the IO request will also be stored in the corresponding target storage volume. The server determines the target information of the target storage volume according to the attribute information of the IO requests stored in the target storage volume, and thus determines the parameter adjustment strategy of the main server according to the target information of each target storage volume.

[0071] Optionally, the target information of the target storage volume can be summarized, cleaned, etc. to obtain the target information corresponding to the primary server. The corresponding relationship between the target information and the parameter adjustment policy can be established in advance, so that according to the target information of the primary server and the preset corresponding relationship, the parameter adjustment policy corresponding to the target information is determined as the parameter adjustment policy of the primary server.

[0072] S203. Determine the target parameter adjustment policy of the distributed server cluster according to the parameter adjustment policy of the primary server and the parameter adjustment policies of the secondary servers in the distributed server cluster except the primary server.

[0073] In this embodiment, the distributed server cluster includes a primary server and secondary servers. The primary server determines the parameter adjustment policy of the primary server according to the target information of the target storage volume of the primary server. The secondary servers determine the parameter adjustment policies of the secondary servers according to the target information of the target storage volumes of the secondary servers, and the secondary servers send the parameter adjustment policies of the secondary servers to the primary server. The primary server determines the target parameter adjustment policy of the distributed server cluster according to the parameter adjustment policy of the primary server and the parameter adjustment policies of the secondary servers.

[0074] Optionally, the primary server sends the target parameter adjustment policy of the distributed cluster to the secondary servers, so that both the primary server and the secondary servers can adjust the parameters of the servers according to the target parameter adjustment policy. Further, the primary server and / or the secondary servers can optimize the target parameter adjustment policy according to the performance of the servers after parameter adjustment to obtain the optimized target parameter adjustment policy.

[0075] For the above method for determining the parameter adjustment policy, the primary server stores multiple IO requests into the corresponding target storage volume according to the storage volume identifiers carried in the received multiple IO requests. Further, the target information of each target storage volume is determined according to the attribute information of the IO requests stored in the target storage volume, so that the parameter adjustment policy of the primary server is determined according to the target information of the target storage volume. Furthermore, the target parameter adjustment policy of the distributed server cluster is determined according to the parameter adjustment policy of the primary server and the parameter adjustment policies of the secondary servers. The target information of each target storage volume determined according to the attribute information of the IO requests themselves has a higher matching degree with the IO requests, so that the parameter adjustment policy determined according to the target information has a higher matching degree with the IO requests. At the same time, by combining the parameter adjustment policy of the primary server and the parameter adjustment policies of the secondary servers, the parameter adjustment policy of the distributed server cluster is obtained. Adjusting the parameters of each server in the distributed server cluster according to the parameter adjustment policy of the distributed server cluster can optimize the performance of the distributed server cluster.

[0076] Before determining the parameter adjustment policy of the primary server based on the target information of each target storage volume, the target information of the target storage volume may be determined according to the attribute information of the IO requests stored in the target storage volume. In one embodiment, the attribute information of the IO requests includes length information, address information, and read / write type. As Figure 3 shown, the process of determining the target information of the target storage volume includes:

[0077] S301. According to the address information of the IO requests stored in the target storage volume, determine the IO request stream corresponding to the IO requests stored in the target storage volume and the read / write heat information of the target storage volume.

[0078] In this embodiment, the attribute information of the IO requests includes the address information of the IO requests. The target storage volume includes a set of one or more IO request streams. Each set of IO request streams includes one or more IO request streams. Each IO request stream may include multiple IO requests. The IO request stream corresponding to the IO request may be determined by the address information of the IO request and the average offset address of each IO request stream. For example, calculate the product value of the value corresponding to the average offset address of the IO request stream and a preset multiple. If the value corresponding to the address information of the IO request is less than the product value, it is determined that the IO request stream is the IO request stream corresponding to the IO request. Exemplarily, if an IO request stream includes IO request 1 and IO request 2, the preset multiple is 32, the value corresponding to the address information of IO request 1 is 1, and the value corresponding to the address information of IO request 2 is 3, then the value corresponding to the average offset address of the IO request stream is (1 + 3) / 2 = 2. If the value corresponding to the address information of IO request 3 is 5, since 5 is less than the product of the average offset address of the IO request stream and the preset multiple, it is determined that the IO request stream is the IO request stream corresponding to IO request 3.

[0079] In this embodiment, each storage volume includes multiple storage locations. According to the address information of each IO request, determine the storage location of the target storage volume corresponding to each IO request, so as to determine the read / write heat value of each storage location, and use the read / write heat values of all storage locations as the read / write heat information of the target storage volume. Optionally, the more the number of IO requests corresponding to a storage location, the higher the read / write heat value of the storage location, and the fewer the number of IO requests corresponding to a storage location, the lower the read / write heat value of the storage location.

[0080] S302. Determine the continuity information of the IO request stream.

[0081] In this embodiment, the continuity information of the IO request stream is determined by judging whether the IO requests included in the IO request stream are continuous. If two adjacent IO requests in the IO request stream are not continuous, a discontinuous hole can be considered to exist between these two IO requests. Thus, the continuity information of the IO request stream is determined according to the number of IO requests and the number of holes in the IO request stream. Optionally, when the number of holes in the IO request stream is less than half of the number of IO requests, it can be determined that the IO request stream is continuous.

[0082] Exemplarily, as Figure 4 shown, the IO request stream includes 6 IO requests and 2 discontinuous holes, namely IO request 1, IO request 2, IO request 3, IO request 4, IO request 5, IO request 6, and hole 1 and hole 2. Among them, the storage location corresponding to IO request 1 is 10 - 17, the storage location corresponding to IO request 2 is 26 - 33, the storage location corresponding to IO request 3 is 34 - 41, the storage location corresponding to IO request 4 is 50 - 55, the storage location corresponding to IO request 5 is 56 - 64, the storage location corresponding to IO request 6 is 65 - 76, the storage location corresponding to hole 1 is 18 - 25, and the storage location corresponding to hole 2 is 42 - 49. Since the number of holes is less than half of the number of IO requests, therefore, this IO request stream is a continuous IO request stream.

[0083] S303. Determine target IO requests with the same length among the IO requests stored in the target storage volume according to the length information of the IO requests stored in the target storage volume.

[0084] In this embodiment, the attribute information of the IO request includes the length information of the IO request. The IO requests stored in the target storage volume are divided according to the length information of each IO request to determine target IO requests with the same length.

[0085] Exemplarily, the target storage volume includes 7 IO requests. The length information of IO request 1 is 4KB, the length information of IO request 2 is 16KB, the length information of IO request 3 is 4KB, the length information of IO request 4 is 8KB, the length information of IO request 5 is 4KB, the length information of IO request 6 is 16KB, and the length information of IO request 7 is 8KB. Then, IO request 1, IO request 3, and IO request 5 are target IO requests with the same length, IO request 2 and IO request 6 are target IO requests with the same length, and IO request 4 and IO request 7 are target IO requests with the same length.

[0086] S304. Determine the target information of the target storage volume according to the read / write type, continuity information, and read / write heat information of the target IO requests.

[0087] In this embodiment, the attribute information includes the read / write type of the IO request. The target storage volume may include multiple groups of target IO requests, and the target information of the multiple groups of target IO requests is used as the target information of the target storage volume.

[0088] As an alternative implementation, the read / write type, sequential information, and read / write heat information of the target IO request can be used to determine the target information of the target storage volume.

[0089] As another alternative implementation, based on groups of target IO requests with the same length, according to the read / write type, sequential information, read / write heat information of the target IO request, and a preset calculation method, the target information of the target storage volume can be calculated.

[0090] In this embodiment, according to the length information, address information, and read / write type of the IO requests stored in the target storage volume, the target information of the target storage volume is determined, so that the determined target information of the target storage volume is more matched with the IO requests stored in the target storage volume, thereby improving the accuracy of the target information of the target storage volume.

[0091] In the scenario of determining the target information of the target storage volume according to the read / write type, sequential information, and read / write heat information of the target IO request, the read request ratio and write request ratio in the target IO request can be determined according to the read / write type of the target IO request, so that the read request ratio, write request ratio, sequential information, and read / write heat information are determined as the target information. In one embodiment, as Figure 5 shown, the above S304 includes:

[0092] S401, Determine the read request ratio and write request ratio in the target IO request according to the read / write type of the target IO request.

[0093] In this embodiment, according to the read / write type of the target IO request, the number of read requests in the target IO request and the number of write requests in the target IO request are determined. The ratio of the number of read requests in the target IO request to the number of target IO requests is determined as the read request ratio in the target IO request, and the ratio of the number of write requests in the target IO request to the number of target IO requests is determined as the write request ratio in the target IO request.

[0094] Exemplarily, if the target IO request includes 16 IO requests with a length information of 4KB, and the target IO request includes 4 write requests and 12 read requests, then the read request ratio in the target IO request is 12 / 16 = 0.75, and the write request ratio in the target IO request is 4 / 16 = 0.25.

[0095] S402, Determine the read request ratio, write request ratio, sequential information, and read / write heat information as the target information.

[0096] In this embodiment, the read request ratio, write request ratio, continuous information of the IO request stream, and read and write heat information of the target storage volume in the target IO request are determined as the target information of the target storage volume.

[0097] In this embodiment, according to the types of each IO request in the target IO requests with the same length, the read request ratio and write request ratio in the IO requests are determined, and the calculation method is simple and not error-prone.

[0098] In the scenario of determining the parameter adjustment strategy of the main server according to the target information of each target storage volume, the parameter adjustment strategy of the main server is determined according to the read request ratio, write request ratio, read and write heat information, and continuous information. In one embodiment, the parameter adjustment strategy includes a resource adjustment strategy, a cache adjustment strategy, and a prefetch mode adjustment strategy. As Figure 6 shown, the above S202 includes:

[0099] S501, according to the read request ratio and write request ratio, determine the resource adjustment strategy for processing multiple IO requests in the main server.

[0100] Among them, the resource adjustment strategy is a strategy for adjusting the resources allocated to read requests and write requests.

[0101] Optionally, read and write resources can be allocated to read requests according to the read request ratio, and read and write resources can be allocated to write requests according to the write request ratio. For example, when the read request ratio is 0.4 and the write request ratio is 0.6, the resource adjustment strategy can be to allocate 40% of the read and write resources to read requests and 60% of the read and write resources to write requests.

[0102] As another alternative implementation, by comparing the magnitudes of the read request ratio and the write request ratio, the IO request type corresponding to the larger ratio in the read request ratio and the write request ratio can be determined, and read and write resources can be allocated to the IO requests corresponding to this IO request type according to a preset allocation ratio.

[0103] S502, according to the read and write heat information, determine the cache adjustment strategy for the data corresponding to multiple IO requests.

[0104] Among them, the cache adjustment strategy is a strategy for caching data in memory, solid-state drive, and hard disk according to the read and write heat information.

[0105] In this embodiment, the read and write heat information may include the read and write heat values corresponding to each storage location in the target storage volume. The data at the cache location with the highest read and write heat value can be cached in memory, the data at the cache location with a relatively high read and write heat value can be cached in the solid-state drive, and the data at the cache location with a relatively low read and write heat value can be stored in the hard disk, thereby improving the read and write speed of the data.

[0106] Exemplarily, when the read / write heat value of storage location 1 is greater than or equal to the first preset threshold, the data of storage location 1 is cached in the memory; when the read / write heat value of storage location 2 is less than the first preset threshold and greater than the second preset threshold, the data of storage location 2 is cached in the solid-state drive; when the read / write heat value of storage location 3 is less than or equal to the second preset threshold, the data of storage location 3 is stored in the hard disk; wherein, the first preset threshold is greater than the second preset threshold.

[0107] S503. Determine the prefetch mode adjustment strategy of the primary server according to the continuous information of the read requests in the continuous information.

[0108] Wherein, the prefetch mode adjustment strategy includes enabling the prefetch mode and disabling the prefetch mode.

[0109] In this embodiment, the prefetch mode adjustment strategy can be determined according to the continuous information of the IO request stream. For example, when the proportion of the continuous IO request stream in the total number of IO request streams is greater than the preset continuous proportion, the prefetch mode is enabled.

[0110] In this embodiment, according to the read request proportion, write request proportion, read / write heat information and continuous information, the resource adjustment strategy, cache adjustment strategy and prefetch mode adjustment strategy are determined, so that the determined resource adjustment strategy, cache adjustment strategy and prefetch mode adjustment strategy are related to the information of the IO request itself, which is beneficial to optimizing the performance of the server.

[0111] In the scenario of determining the parameter adjustment strategy of the primary server according to the target information of each target storage volume, according to the multi-point voting method, the target parameter adjustment strategy of the distributed server cluster is determined from the parameter adjustment strategy of the primary server and the parameter adjustment strategy of the secondary servers. In one embodiment, the above S203 includes: according to the multi-point voting method, determine the target resource adjustment strategy, target cache adjustment strategy and target prefetch mode adjustment strategy of the distributed server cluster from the parameter adjustment strategy of the primary server and the parameter adjustment strategies of the secondary servers other than the primary server in the distributed server cluster.

[0112] In this embodiment, the secondary servers can include multiple secondary servers, that is, determine the target resource adjustment strategy of the distributed cluster from the resource adjustment strategy corresponding to the primary server and the multiple second resource adjustment strategies corresponding to the multiple secondary servers. Optionally, the multi-point voting method can be used to determine the target resource adjustment strategy from the resource adjustment strategy corresponding to the primary server and the multiple resource adjustment strategies corresponding to the multiple secondary servers; or, the multi-point voting method is used to determine the target server from the primary server and the multiple secondary servers, and the resource adjustment strategy corresponding to the target server is determined as the target resource adjustment strategy.

[0113] In this embodiment, according to the parameter adjustment strategy of the master server and the parameter adjustment strategy of the slave server, the target parameter adjustment strategy of the distributed server cluster is determined, so that the target parameter adjustment strategy has a higher matching degree with each server in the distributed server cluster, thereby improving the accuracy of the target parameter adjustment strategy.

[0114] After determining the target parameter adjustment strategy of the distributed server cluster as described above, the target parameter adjustment strategy of the distributed server cluster can be determined as the target parameter adjustment strategy of the master server. In one embodiment, the above method further includes: determining the target resource adjustment strategy, the target cache adjustment strategy, and the target prefetch mode adjustment strategy of the distributed server cluster as the target resource adjustment strategy, the target cache adjustment strategy, and the target prefetch mode adjustment strategy of the master server.

[0115] In this embodiment, determining the target resource adjustment strategy, the target cache adjustment strategy, and the target prefetch mode adjustment strategy of the distributed server cluster as the target resource adjustment strategy, the target cache adjustment strategy, and the target prefetch mode adjustment strategy of the master server. Further, the master server can adjust the parameters of the master server according to the target resource adjustment strategy, the target cache adjustment strategy, and the target prefetch mode adjustment strategy.

[0116] Optionally, the master server can optimize the target parameter adjustment strategy. For example, the master server can adjust the parameters other than the target resource adjustment strategy, the target cache adjustment strategy, and the target prefetch mode adjustment strategy according to the target resource adjustment strategy; or, the master server optimizes the target resource adjustment strategy, the target cache adjustment strategy, and the target prefetch mode adjustment strategy according to the performance of the master server after adjusting the parameters of the master server according to the target parameter adjustment strategy.

[0117] In this embodiment, the master server determines the target resource adjustment strategy, the target cache adjustment strategy, and the target prefetch mode adjustment strategy of the distributed server cluster as the target resource adjustment strategy, the target cache adjustment strategy, and the target prefetch mode adjustment strategy of the master server, making the performance of the distributed server cluster in processing IO requests better.

[0118] After determining the target resource adjustment strategy, the target cache adjustment strategy, and the target prefetch mode adjustment strategy of the distributed server cluster as the target resource adjustment strategy, the target cache adjustment strategy, and the target prefetch mode adjustment strategy of the master server as described above, the master server can optimize the target parameter adjustment strategy. The process of adjusting the processing resources of the master server according to the task volume of the to-be-processed tasks generated by the master server itself will be elaborated in detail below. In one embodiment, as Figure 7 shown, the above method further includes:

[0119] S601. Determine the task volume of the to-be-processed tasks generated by the primary server itself.

[0120] Among them, the to-be-processed tasks may include repair tasks, defragmentation tasks, etc.

[0121] Optionally, a sampling period may be preset, the processing time of the to-be-processed tasks generated by the primary server within the sampling period is obtained, and the task volume of the to-be-processed tasks generated by the primary server itself within the sampling period is determined; or, the task volume of the to-be-processed tasks generated by the primary server itself may be calculated based on the task lengths of the respective to-be-processed tasks generated by the primary server itself.

[0122] S602. If the task volume is greater than the processing volume of multiple IO requests, allocate the processing resources for processing the to-be-processed tasks to the multiple IO requests.

[0123] It is easy to understand that since the priority of the IO requests received by the server is higher than the priority of the to-be-processed tasks generated by the primary server itself, when the volume of to-be-processed tasks is too high, it is necessary to suspend the to-be-processed tasks and allocate the processing resources for processing the to-be-processed tasks to the multiple IO requests to ensure the processing efficiency of the IO requests.

[0124] In this embodiment, when the task volume is greater than the processing volume of multiple IO requests, the to-be-processed tasks are suspended, that is, the processing resources for processing the to-be-processed tasks are allocated to the multiple IO requests; when the task volume is not greater than the processing volume of multiple IO requests, no adjustment is made to the to-be-processed tasks, and the primary server continues to process the multiple IO requests and the to-be-processed tasks generated by the primary server itself. Optionally, it may be determined whether the task volume is greater than the processing volume of multiple IO requests by comparing the processing time of the primary server for processing multiple IO requests with the processing time of the primary server for processing the to-be-processed tasks. Exemplarily, when the processing time of the primary server for processing multiple IO requests is greater than the processing time of the primary server for processing the to-be-processed tasks, the task volume is greater than the processing volume of multiple IO requests; when the processing time of the primary server for processing multiple IO requests is less than or equal to the processing time of the primary server for processing the to-be-processed tasks, the task volume is not greater than the processing volume of multiple IO requests.

[0125] It should be noted that when the to-be-processed tasks generated by the primary server itself include temporary tasks with a higher priority, since the temporary tasks are relatively urgent or important, the processing resources for processing the temporary tasks cannot be allocated to the multiple IO requests, that is, the processing of the temporary tasks cannot be suspended.

[0126] In this embodiment, according to the task volume of the to-be-processed tasks generated by the main server itself, it is determined whether to allocate the processing resources for processing the to-be-processed tasks to multiple IO requests. By reasonably allocating the processing resources, the processing performance of the main server is improved, and at the same time, the processing efficiency of the IO requests is improved.

[0127] When the prefetch mode of the main server is enabled, the main server can also adjust the parameters of the prefetch mode according to the hit rate of the IO requests. The process of adjusting the prefetch step corresponding to the prefetch mode according to the prefetch hit rate of the IO requests will be elaborated in detail below. In one embodiment, the above method further includes: if the target prefetch mode adjustment strategy is to enable the prefetch mode of the main server, then adjust the prefetch step corresponding to the prefetch mode according to the prefetch hit rate of the IO requests.

[0128] In this embodiment, when the prefetch hit rate of the IO requests is greater than the first preset hit rate, increase the prefetch step corresponding to the prefetch mode. If the prefetch hit rate increases after increasing the prefetch step, continue to increase the prefetch step; when the prefetch hit rate of the IO requests is less than or equal to the first preset hit rate, decrease the prefetch step corresponding to the prefetch mode. If the prefetch hit rate increases after decreasing the prefetch step, continue to decrease the prefetch step. Further, when the preset hit rate is higher than the second preset hit rate, increase the prefetch step corresponding to the prefetch mode. If the prefetch hit rate does not decrease and the latency time corresponding to the read request decreases after increasing the prefetch step, continue to increase the prefetch step.

[0129] It should be noted that on the basis of the above embodiments, the cache parameters and the processing parameters of the write requests can also be optimized. As an optional implementation manner, the cache parameters of the server can be adjusted according to the target cache adjustment strategy. For example, the range of data stored in the cache in the memory can be expanded, and / or the time of the data stored in the memory in the cache can be increased. As another optional implementation manner, a length threshold of the IO requests can be preset. The write requests greater than or equal to the length threshold in the write requests are determined as the first requests, and the write requests less than the length threshold in the write requests are determined as the second requests. The ratio of the number of the first requests to the number of the write requests is determined as the first ratio, and the ratio of the number of the second requests to the ratio of the write requests is determined as the second ratio. When the first ratio is less than the second ratio, adjust the parameters corresponding to the first requests, such as the rate limiting ratio of the log, the cache flush time, the main control aggregation waiting time, etc.; when the first ratio is greater than or equal to the second ratio, and the ratio of the consecutive IO requests in the second requests is greater than the preset write ratio, adjust the parameters corresponding to the second requests, such as the write request aggregation quantity. Further, when the read and write resources consumed by the first requests are greater than the preset consumption threshold, the size of the length threshold can be decreased, and when the read and write resources consumed by the second requests are greater than the preset consumption threshold, the size of the length threshold can be increased.

[0130] In this embodiment, the main server can optimize the target parameter adjustment policy, and use the optimized target parameter adjustment policy to adjust the parameters of the main server, so that the distributed server cluster has better performance in processing IO requests.

[0131] The following introduces an embodiment of the present disclosure in combination with a specific scenario for determining a parameter adjustment policy. The method includes the following steps:

[0132] S1. Store multiple IO requests into corresponding target storage volumes according to the storage volume identifiers carried by the received multiple IO requests.

[0133] S2. Determine the IO request stream corresponding to the IO requests stored in the target storage volume and the read-write heat information of the target storage volume according to the address information of the IO requests stored in the target storage volume; determine the continuity information of the IO request stream; according to the length information of the IO requests stored in the target storage volume, determine the target IO requests with the same length among the IO requests stored in the target storage volume.

[0134] S3. Determine the proportion of read requests and the proportion of write requests in the target IO requests according to the read-write types of the target IO requests; determine the read request proportion, the write request proportion, the continuity information, and the read-write heat information as the target information.

[0135] S4. Determine the parameter adjustment policy of the main server according to the target information of each target storage volume.

[0136] S5. According to the multi-point voting method, determine the target resource adjustment policy, the target cache adjustment policy, and the target prefetch mode adjustment policy of the distributed server cluster from the parameter adjustment policy of the main server and the parameter adjustment policies of the slave servers other than the main server in the distributed server cluster.

[0137] S6. Determine the target resource adjustment policy, the target cache adjustment policy, and the target prefetch mode adjustment policy of the distributed server cluster as the target resource adjustment policy, the target cache adjustment policy, and the target prefetch mode adjustment policy of the main server.

[0138] S7. Determine the task volume of the to-be-processed tasks generated by the main server itself; if the task volume is greater than the processing volume of multiple IO requests, allocate the processing resources for processing the to-be-processed tasks to the multiple IO requests.

[0139] S8. If the target prefetch mode adjustment policy is to enable the prefetch mode of the main server, adjust the prefetch step corresponding to the prefetch mode according to the prefetch hit rate of the IO requests.

[0140] The method for determining the above parameter adjustment strategy is as follows. The master server stores multiple IO requests into corresponding target storage volumes according to the storage volume identifiers carried by the received multiple IO requests. Further, the target information of each target storage volume is determined according to the attribute information of the IO requests stored in the target storage volume. Thus, according to the target information of the target storage volume, the parameter adjustment strategy of the master server is determined. Furthermore, according to the parameter adjustment strategy of the master server and the parameter adjustment strategy of the slave server, the target parameter adjustment strategy of the distributed server cluster is determined. According to the attribute information of the IO requests themselves, the determined target information of each target storage volume has a higher matching degree with the IO requests, so that the parameter adjustment strategy determined according to the target information has a higher matching degree with the IO requests. At the same time, by combining the parameter adjustment strategy of the master server and the parameter adjustment strategy of the slave server, the parameter adjustment strategy of the distributed server cluster is obtained. Adjusting the parameters of each server in the distributed server cluster according to the parameter adjustment strategy of the distributed server cluster can optimize the performance of the distributed server cluster.

[0141] It should be understood that although the steps in the flowcharts involved in the above-described embodiments are shown in sequence according to the arrows, these steps do not necessarily have to be executed in the order indicated by the arrows. Unless there is a clear indication in this article, the execution of these steps has no strict order limit, and these steps can be executed in other orders. Moreover, at least a part of the steps in the flowcharts involved in the above-described embodiments may include multiple steps or multiple stages. These steps or stages do not necessarily have to be executed at the same time, but can be executed at different times. The execution order of these steps or stages does not necessarily have to be sequential, but can be executed alternately or in turn with at least a part of the steps or stages in other steps or other steps.

[0142] Based on the same inventive concept, an embodiment of the present application further provides a parameter adjustment strategy determination device for implementing the parameter adjustment strategy determination method described above. The implementation solution provided by this device for solving problems is similar to the implementation solution described in the above method. Therefore, the specific limitations in one or more embodiments of the parameter adjustment strategy determination device provided below can refer to the limitations on the parameter adjustment strategy determination method in the above text, and will not be repeated here.

[0143] In one embodiment, as Figure 8 shown, a parameter adjustment strategy determination device is provided, including: a storage module 10, a first determination module 11, and a second determination module 12, where:

[0144] The storage module 10 is configured to store multiple IO requests into corresponding target storage volumes according to the storage volume identifiers carried by the received multiple IO requests;

[0145] The first determination module 11 is configured to determine a parameter adjustment strategy for the primary server according to the target information of each target storage volume; wherein, the target information of the target storage volume is determined according to the attribute information of the IO requests stored in the target storage volume.

[0146] The second determination module 12 is configured to determine a target parameter adjustment strategy for the distributed server cluster according to the parameter adjustment strategy of the primary server and the parameter adjustment strategies of the secondary servers in the distributed server cluster other than the primary server.

[0147] The apparatus for determining a parameter adjustment strategy provided in this embodiment can execute the above method embodiment, and its implementation principle and technical effects are similar, which will not be elaborated here.

[0148] In one embodiment, as Figure 9 shown, the above apparatus further includes: a third determination module 13, a fourth determination module 14, a fifth determination module 15, and a sixth determination module 16, where:

[0149] The third determination module 13 is configured to determine an IO request stream corresponding to the IO requests stored in the target storage volume and the read / write heat information of the target storage volume according to the address information of the IO requests stored in the target storage volume.

[0150] The fourth determination module 14 is configured to determine the continuity information of the IO request stream.

[0151] The fifth determination module 15 is configured to determine target IO requests with the same length of the IO requests stored in the target storage volume according to the length information of the IO requests stored in the target storage volume.

[0152] The sixth determination module 16 is configured to determine the target information of the target storage volume according to the read / write type, continuity information, and read / write heat information of the target IO requests.

[0153] The apparatus for determining a parameter adjustment strategy provided in this embodiment can execute the above method embodiment, and its implementation principle and technical effects are similar, which will not be elaborated here.

[0154] In one embodiment, as Figure 10 shown, the above sixth determination module 16 includes: a first determination unit 161 and a second determination unit 162, where:

[0155] The first determination unit 161 is configured to determine the proportion of read requests and the proportion of write requests in the target IO requests according to the read / write type of the target IO requests.

[0156] The second determination unit 162 is configured to determine the proportion of read requests, the proportion of write requests, the continuity information, and the read / write heat information as the target information.

[0157] The apparatus for determining the parameter adjustment strategy provided in this embodiment can execute the above method embodiment, and its implementation principle and technical effects are similar, which will not be elaborated here.

[0158] In one embodiment, as Figure 11 shown, the above first determination module 11 includes: a third determination unit 111, a fourth determination unit 112, and a fifth determination unit 113, where:

[0159] The third determination unit 111 is configured to determine a resource adjustment strategy for processing multiple IO requests in the primary server according to the read request ratio and the write request ratio.

[0160] The fourth determination unit 112 is configured to determine a cache adjustment strategy for the data corresponding to multiple IO requests according to the read and write heat information.

[0161] The fifth determination unit 113 is configured to determine a read-ahead mode adjustment strategy for the primary server according to the continuous information of the read requests in the continuous information.

[0162] The apparatus for determining the parameter adjustment strategy provided in this embodiment can execute the above method embodiment, and its implementation principle and technical effects are similar, which will not be elaborated here.

[0163] In one embodiment, as Figure 12 shown, the above second determination module 12 includes a sixth determination unit 121, which is configured to determine a target resource adjustment strategy, a target cache adjustment strategy, and a target read-ahead mode adjustment strategy for the distributed server cluster from the parameter adjustment strategy of the primary server and the parameter adjustment strategies of the secondary servers other than the primary server in the distributed server cluster according to the multi-point voting method.

[0164] The apparatus for determining the parameter adjustment strategy provided in this embodiment can execute the above method embodiment, and its implementation principle and technical effects are similar, which will not be elaborated here.

[0165] In one embodiment, the above sixth determination unit 121 is configured to determine the target resource adjustment strategy, the target cache adjustment strategy, and the target read-ahead mode adjustment strategy of the distributed server cluster as the target resource adjustment strategy, the target cache adjustment strategy, and the target read-ahead mode adjustment strategy of the primary server.

[0166] The apparatus for determining the parameter adjustment strategy provided in this embodiment can execute the above method embodiment, and its implementation principle and technical effects are similar, which will not be elaborated here.

[0167] In one embodiment, the above-mentioned sixth determination unit 121 is configured to determine the amount of tasks to be processed generated by the main server itself; if the amount of tasks is greater than the processing capacity of multiple IO requests, the processing resources for processing the tasks to be processed are allocated to the multiple IO requests.

[0168] The apparatus for determining the parameter adjustment strategy provided in this embodiment can execute the above method embodiment, and its implementation principle and technical effects are similar, which will not be elaborated here.

[0169] In one embodiment, the above-mentioned sixth determination unit 121 is configured to, if the target prefetch mode adjustment strategy is to enable the prefetch mode of the main server, adjust the prefetch step corresponding to the prefetch mode according to the prefetch hit rate of the IO request.

[0170] The apparatus for determining the parameter adjustment strategy provided in this embodiment can execute the above method embodiment, and its implementation principle and technical effects are similar, which will not be elaborated here.

[0171] Each module in the above-mentioned apparatus for determining the parameter adjustment strategy can be implemented in whole or in part by software, hardware, and their combination. The above-mentioned modules can be embedded in the processor of the computer device in hardware form or be independent of it, or can be stored in the memory of the computer device in software form, so that the processor can call and execute the operations corresponding to the above-mentioned modules.

[0172] In an exemplary embodiment, a computer device is provided. The computer device can be a server, and its internal structure diagram can be as Figure 13 shown. The computer device includes a processor, a memory, an input / output interface (Input / Output, abbreviated as I / O), and a communication interface. Among them, the processor, the memory, and the input / output interface are connected through a system bus, and the communication interface is connected to the system bus through the input / output interface. Among them, the processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, a computer program, and a database. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The database of the computer device is used to store the data for determining the parameter adjustment strategy. The input / output interface of the computer device is used to exchange information between the processor and external devices. The communication interface of the computer device is used to communicate with external terminals through a network connection. When the computer program is executed by the processor, it implements a method for determining a parameter adjustment strategy.

[0173] Those skilled in the art can understand, Figure 13The structure shown is only a block diagram of some structures related to the solution of this application, and does not constitute a limitation on the computer device to which the solution of this application is applied. The specific computer device may include more or fewer components than those shown in the figure, or combine some components, or have different component arrangements.

[0174] In one embodiment, a computer device is provided, including a memory and a processor. A computer program is stored in the memory. When the processor executes the computer program, the following steps are implemented:

[0175] According to the storage volume identifiers carried in the received multiple IO requests, store the multiple IO requests into the corresponding target storage volumes;

[0176] According to the target information of each target storage volume, determine the parameter adjustment strategy of the main server; wherein, the target information of the target storage volume is determined according to the attribute information of the IO requests stored in the target storage volume;

[0177] According to the parameter adjustment strategy of the main server and the parameter adjustment strategies of the slave servers other than the main server in the distributed server cluster, determine the target parameter adjustment strategy of the distributed server cluster.

[0178] In one embodiment, when the processor executes the computer program, the following steps are further implemented:

[0179] According to the address information of the IO requests stored in the target storage volume, determine the IO request stream corresponding to the IO requests stored in the target storage volume and the read-write heat information of the target storage volume;

[0180] Determine the continuity information of the IO request stream;

[0181] According to the length information of the IO requests stored in the target storage volume, determine the target IO requests with the same length as the IO requests stored in the target storage volume;

[0182] According to the read-write type, continuity information and read-write heat information of the target IO requests, determine the target information of the target storage volume.

[0183] In one embodiment, when the processor executes the computer program, the following steps are further implemented:

[0184] According to the read-write type of the target IO requests, determine the proportion of read requests and the proportion of write requests in the target IO requests;

[0185] Determine the proportion of read requests, the proportion of write requests, the continuity information and the read-write heat information as the target information.

[0186] In one embodiment, when the processor executes the computer program, the following steps are further implemented:

[0187] Determine the resource adjustment strategy for processing multiple IO requests in the primary server according to the read request ratio and the write request ratio;

[0188] Determine the cache adjustment strategy for the data corresponding to multiple IO requests according to the read and write heat information;

[0189] Determine the prefetch mode adjustment strategy of the primary server according to the continuous information of the read requests in the continuous information.

[0190] In one embodiment, when the processor executes the computer program, the following steps are further implemented:

[0191] According to the multi-point voting method, determine the target resource adjustment strategy, the target cache adjustment strategy, and the target prefetch mode adjustment strategy of the distributed server cluster from the parameter adjustment strategy of the primary server and the parameter adjustment strategies of the secondary servers in the distributed server cluster other than the primary server.

[0192] In one embodiment, when the processor executes the computer program, the following steps are further implemented:

[0193] Determine the target resource adjustment strategy, the target cache adjustment strategy, and the target prefetch mode adjustment strategy of the primary server as the target resource adjustment strategy, the target cache adjustment strategy, and the target prefetch mode adjustment strategy of the distributed server cluster.

[0194] In one embodiment, when the processor executes the computer program, the following steps are further implemented:

[0195] Determine the task volume of the to-be-processed tasks generated by the primary server itself;

[0196] If the task volume is greater than the processing volume of multiple IO requests, allocate the processing resources for processing the to-be-processed tasks to multiple IO requests.

[0197] In one embodiment, when the processor executes the computer program, the following steps are further implemented:

[0198] If the target prefetch mode adjustment strategy is to enable the prefetch mode of the primary server, adjust the prefetch step corresponding to the prefetch mode according to the prefetch hit rate of the IO requests.

[0199] In one embodiment, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the following steps are implemented:

[0200] Store multiple IO requests into the corresponding target storage volume according to the storage volume identifiers carried by the received multiple IO requests;

[0201] Determine the parameter adjustment strategy of the primary server according to the target information of each target storage volume; wherein, the target information of the target storage volume is determined according to the attribute information of the IO requests stored in the target storage volume;

[0202] Determine the target parameter adjustment strategy of the distributed server cluster according to the parameter adjustment strategy of the primary server and the parameter adjustment strategies of the secondary servers in the distributed server cluster other than the primary server.

[0203] In one embodiment, when the computer program is executed by a processor, the following steps are further implemented:

[0204] Determine the IO request stream corresponding to the IO requests stored in the target storage volume and the read / write heat information of the target storage volume according to the address information of the IO requests stored in the target storage volume;

[0205] Determine the continuity information of the IO request stream;

[0206] Determine the target IO requests with the same length of the IO requests stored in the target storage volume according to the length information of the IO requests stored in the target storage volume;

[0207] Determine the target information of the target storage volume according to the read / write type, continuity information and read / write heat information of the target IO requests.

[0208] In one embodiment, when the computer program is executed by a processor, the following steps are further implemented:

[0209] Determine the proportion of read requests and the proportion of write requests in the target IO requests according to the read / write type of the target IO requests;

[0210] Determine the proportion of read requests, the proportion of write requests, the continuity information and the read / write heat information as the target information.

[0211] In one embodiment, when the computer program is executed by a processor, the following steps are further implemented:

[0212] Determine the resource adjustment strategy for processing multiple IO requests in the primary server according to the proportion of read requests and the proportion of write requests;

[0213] Determine the cache adjustment strategy for the data corresponding to multiple IO requests according to the read / write heat information;

[0214] Determine the prefetch mode adjustment strategy of the primary server according to the continuity information of the read requests in the continuity information.

[0215] In one embodiment, when the computer program is executed by a processor, the following steps are further implemented:

[0216] According to the multi-point voting method, determine the target resource adjustment strategy, target cache adjustment strategy, and target prefetch mode adjustment strategy of the distributed server cluster from the parameter adjustment strategy of the primary server and the parameter adjustment strategies of the secondary servers in the distributed server cluster other than the primary server.

[0217] In one embodiment, when the computer program is executed by a processor, the following steps are further implemented:

[0218] Determine the target resource adjustment strategy, target cache adjustment strategy, and target prefetch mode adjustment strategy of the distributed server cluster as the target resource adjustment strategy, target cache adjustment strategy, and target prefetch mode adjustment strategy of the primary server.

[0219] In one embodiment, when the computer program is executed by a processor, the following steps are further implemented:

[0220] Determine the task volume of the to-be-processed tasks generated by the primary server itself;

[0221] If the task volume is greater than the processing volume of multiple IO requests, allocate the processing resources for processing the to-be-processed tasks to the multiple IO requests.

[0222] In one embodiment, when the computer program is executed by a processor, the following steps are further implemented:

[0223] If the target prefetch mode adjustment strategy is to enable the prefetch mode of the primary server, adjust the prefetch step corresponding to the prefetch mode according to the prefetch hit rate of the IO requests.

[0224] In one embodiment, a computer program product is provided, including a computer program, which when executed by a processor, implements the following steps:

[0225] Store multiple IO requests into the corresponding target storage volume according to the storage volume identifiers carried by the received multiple IO requests;

[0226] Determine the parameter adjustment strategy of the primary server according to the target information of each target storage volume; wherein, the target information of the target storage volume is determined according to the attribute information of the IO requests stored in the target storage volume;

[0227] Determine the target parameter adjustment strategy of the distributed server cluster according to the parameter adjustment strategy of the primary server and the parameter adjustment strategies of the secondary servers in the distributed server cluster other than the primary server.

[0228] In one embodiment, when the computer program is executed by a processor, the following steps are further implemented:

[0229] Determine the IO request stream corresponding to the IO requests stored in the target storage volume and the read / write heat information of the target storage volume according to the address information of the IO requests stored in the target storage volume;

[0230] Determine the continuity information of the IO request stream;

[0231] Determine the target IO requests with the same length of the IO requests stored in the target storage volume according to the length information of the IO requests stored in the target storage volume;

[0232] Determine the target information of the target storage volume according to the read / write type, continuity information and read / write heat information of the target IO requests.

[0233] In one embodiment, when the computer program is executed by the processor, the following steps are further implemented:

[0234] Determine the proportion of read requests and the proportion of write requests in the target IO requests according to the read / write type of the target IO requests;

[0235] Determine the proportion of read requests, the proportion of write requests, the continuity information and the read / write heat information as the target information.

[0236] In one embodiment, when the computer program is executed by the processor, the following steps are further implemented:

[0237] Determine the resource adjustment strategy for processing multiple IO requests in the main server according to the proportion of read requests and the proportion of write requests;

[0238] Determine the cache adjustment strategy for the data corresponding to multiple IO requests according to the read / write heat information;

[0239] Determine the prefetch mode adjustment strategy of the main server according to the continuity information of the read requests in the continuity information.

[0240] In one embodiment, when the computer program is executed by the processor, the following steps are further implemented:

[0241] According to the multi-point voting method, determine the target resource adjustment strategy, the target cache adjustment strategy and the target prefetch mode adjustment strategy of the distributed server cluster from the parameter adjustment strategy of the main server and the parameter adjustment strategies of the slave servers other than the main server in the distributed server cluster.

[0242] In one embodiment, when the computer program is executed by the processor, the following steps are further implemented:

[0243] Determine the target resource adjustment strategy, the target cache adjustment strategy and the target prefetch mode adjustment strategy of the main server as the target resource adjustment strategy, the target cache adjustment strategy and the target prefetch mode adjustment strategy of the distributed server cluster.

[0244] In one embodiment, when the computer program is executed by a processor, the following steps are further implemented:

[0245] Determine the task volume of the to-be-processed tasks generated by the primary server itself;

[0246] If the task volume is greater than the processing volume of multiple IO requests, allocate the processing resources for processing the to-be-processed tasks to the multiple IO requests.

[0247] In one embodiment, when the computer program is executed by a processor, the following steps are further implemented:

[0248] If the target prefetch mode adjustment policy is to enable the prefetch mode of the primary server, adjust the prefetch step corresponding to the prefetch mode according to the prefetch hit rate of the IO request.

[0249] Those of ordinary skill in the art can understand that all or part of the processes of implementing the methods in the above embodiments can be completed by instructing relevant hardware through a computer program. The computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above methods. Among them, any reference to a memory, a database, or other media provided in the various embodiments of the present application can include at least one of non-volatile and volatile memories. Non-volatile memories can include read-only memory (ROM), magnetic tapes, floppy disks, flash memories, optical memories, high-density embedded non-volatile memories, resistive random access memories (ReRAM), magnetoresistive random access memories (MRAM), ferroelectric random access memories (FRAM), phase change memories (PCM), graphene memories, etc. Volatile memories can include random access memory (RAM) or external cache memories, etc. By way of illustration and not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM), etc. The databases involved in the various embodiments of the present application can include at least one of relational databases and non-relational databases. Non-relational databases can include distributed databases based on blockchain, etc., without limitation. The processors involved in the various embodiments of the present application can be general-purpose processors, central processors, graphics processors, digital signal processors, programmable logic devices, data processing logics based on quantum computing, etc., without limitation.

[0250] The technical features of the above embodiments can be combined arbitrarily. For the sake of concise description, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, it should be considered as the scope recorded in this specification.

[0251] The above-described embodiments merely represent several implementation manners of the present application. The description is relatively specific and detailed, but it should not be construed as a limitation on the patent scope of the present application. It should be noted that for those of ordinary skill in the art, without departing from the concept of the present application, several modifications and improvements can still be made, and these all belong to the protection scope of the present application. Therefore, the protection scope of the present application shall be subject to the appended claims.

Claims

1. A method for determining a parameter adjustment strategy, characterized in that The method is applied to a primary server in a distributed server cluster, and the method includes: Storing the multiple IO requests into corresponding target storage volumes according to the storage volume identifiers carried by the received multiple IO requests; Determining a parameter adjustment strategy for the primary server according to the target information of each of the target storage volumes; wherein, the target information of the target storage volume is determined according to the attribute information of the IO requests stored in the target storage volume; Determining a target parameter adjustment strategy for the distributed server cluster according to the parameter adjustment strategy of the primary server and the parameter adjustment strategies of the secondary servers in the distributed server cluster other than the primary server.

2. The method according to claim 1, characterized in that, The attribute information includes length information, address information, and read / write type, and the process of determining the target information of the target storage volume includes: Determining the IO request stream corresponding to the IO requests stored in the target storage volume and the read / write heat information of the target storage volume according to the address information of the IO requests stored in the target storage volume; Determining the continuity information of the IO request stream; Determining target IO requests with the same length as the IO requests stored in the target storage volume according to the length information of the IO requests stored in the target storage volume; Determining the target information of the target storage volume according to the read / write type, the continuity information, and the read / write heat information of the target IO requests.

3. The method according to claim 2, wherein The determining the target information of the target storage volume according to the read / write type, the continuity information, and the read / write heat information of the target IO requests includes: Determining the proportion of read requests and the proportion of write requests in the target IO requests according to the read / write type of the target IO requests; Determining the proportion of read requests, the proportion of write requests, the continuity information, and the read / write heat information as the target information.

4. The method according to claim 3, wherein The parameter adjustment strategy includes a resource adjustment strategy, a cache adjustment strategy, and a read-ahead mode adjustment strategy; the determining the parameter adjustment strategy for the primary server according to the target information of each of the target storage volumes includes: Determining a resource adjustment strategy for processing the multiple IO requests in the primary server according to the proportion of read requests and the proportion of write requests; Determining a cache adjustment strategy for the data corresponding to the multiple IO requests according to the read / write heat information; Determining a read-ahead mode adjustment strategy for the primary server according to the continuity information of the read requests in the continuity information.

5. The method according to claim 4, characterized in that, The determining the target parameter adjustment strategy for the distributed server cluster according to the parameter adjustment strategy of the primary server and the parameter adjustment strategies of the secondary servers in the distributed server cluster other than the primary server includes: Determining a target resource adjustment strategy, a target cache adjustment strategy, and a target read-ahead mode adjustment strategy for the distributed server cluster from the parameter adjustment strategy of the primary server and the parameter adjustment strategies of the secondary servers in the distributed server cluster other than the primary server according to the multi-point voting method.

6. The method according to claim 5, wherein The method further includes: Determine the target resource adjustment policy, target cache adjustment policy, and target read-ahead mode adjustment policy of the distributed server cluster as the target resource adjustment policy, target cache adjustment policy, and target read-ahead mode adjustment policy of the master server.

7. The method according to claim 6, characterized in that, The method further includes: Determine the amount of tasks of the to-be-processed tasks generated by the master server itself; If the amount of tasks is greater than the processing amount of the multiple IO requests, allocate the processing resources for processing the to-be-processed tasks to the multiple IO requests.

8. The method according to claim 6, characterized in that, The method further includes: If the target read-ahead mode adjustment policy is to enable the read-ahead mode of the master server, adjust the read-ahead step corresponding to the read-ahead mode according to the read-ahead hit rate of the IO requests.

9. An apparatus for determining a parameter adjustment strategy, characterized in that The device includes: A storage module, configured to store the multiple IO requests into corresponding target storage volumes according to the storage volume identifiers carried by the received multiple IO requests; A first determination module, configured to determine a parameter adjustment policy of the master server according to the target information of each of the target storage volumes; wherein, the target information of the target storage volume is determined according to the attribute information of the IO requests stored in the target storage volume; A second determination module, configured to determine the target parameter adjustment policy of the distributed server cluster according to the parameter adjustment policy of the master server and the parameter adjustment policies of the slave servers in the distributed server cluster other than the master server.

10. A server, comprising a memory and a processor, the memory storing a computer program, characterized in that, When the processor executes the computer program, the steps of the method according to any one of claims 1 to 8 are implemented.

11. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by the processor, the steps of the method according to any one of claims 1 to 8 are implemented.

12. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by the processor, the steps of the method according to any one of claims 1 to 8 are implemented.

Citation Information

Cited By

  • Cache mode switching method and device, computer equipment and storage medium

    CN122219857A

  • Cache mode switching methods, apparatus, computer devices and storage media

    CN122219857B