Service request processing method and system
By dynamically adjusting the number of transmission channels between the host and the storage terminal according to the depth of the service request queue, the data throughput and resource utilization problems in service request processing are solved, and more efficient service request processing is achieved.
Patent Information
- Application Number
- CN202510302536.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-03-14
- Publication Date
- 2025-06-20
AI Technical Summary
During the process of business request processing, the prior art has low data throughput under high business pressure and low resource utilization under low business pressure.
The number of transmission channels is dynamically adjusted according to the queue depth of the current service request queue between the host and the storage side to adapt to changes in service pressure. The specific steps include determining the channel number adjustment type, adjusting the number of transmission channels, and processing service requests based on the adjusted channel.
Improve data throughput under high business pressure, improve resource utilization under low business pressure, reduce manual participation errors, improve the accuracy of adjustment of transmission channels, and thus improve the efficiency of service requests.
Smart Images

Figure CN120179175A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of storage technology, and particularly to a method and system for processing service requests. Background Art
[0002] With the development of computer technology, the business volume generated by enterprises is increasing. In practical applications, when an enterprise processes services through the host side, the amount of service data generated is large. To improve the security and availability of service data, the service data is usually transmitted to the storage side for storage and read from the storage side during subsequent applications.
[0003] In related technologies, mainly the storage side processes service requests sent by the host side through multiple pre-established transmission channels between the host side and the storage side, so as to send service data to the storage side for backup or read service data from the storage side.
[0004] However, in the process of processing service requests in related technologies, there is a problem of low data throughput when the service request volume (i.e., service pressure) is large, and a problem of low resource utilization when the service pressure is small. Summary of the Invention
[0005] Based on this, to solve the above technical problems, it is necessary to provide a method and system for processing service requests, which can improve data throughput when the service pressure is large and improve resource utilization when the service pressure is small during the process of processing service requests.
[0006] In a first aspect, an embodiment of this application provides a method for processing service requests, which is applied to the storage side. The method includes:
[0007] Determine the type of adjustment of the number of channels between the host side and the storage side according to the queue depth of the current service request queue between the host side and the storage side;
[0008] Adjust the number of transmission channels between the host side and the storage side according to the type of adjustment of the number of channels; the adjusted number of transmission channels between the host side and the storage side is adapted to the queue depth;
[0009] Process each service request in the current service request queue based on the adjusted transmission channels between the host side and the storage side.
[0010] The technical solution in the embodiment of the present application is applied to the storage side. According to the queue depth of the current service request queue between the storage side and the host side, the type of channel quantity adjustment between the host side and the storage side is determined. According to the type of channel quantity adjustment, the quantity of the transmission channels between the host side and the storage side is adjusted, and based on the adjusted transmission channels between the host side and the storage side, each service request in the current service request queue is processed. Wherein, the quantity of the adjusted transmission channels between the host side and the storage side is adapted to the queue depth; According to the queue depth of the current service request queue between the host side and the storage side, the above method can flexibly and dynamically adjust the quantity of the transmission channels between the host side and the storage side, so that the quantity of the adjusted transmission channels between the host side and the storage side is adapted to the queue depth, that is, the quantity of the adjusted transmission channels between the host side and the storage side can meet the service request volume, that is, the service pressure, of the current service request queue. Therefore, in the process of processing service requests, when the service pressure is relatively large, the data throughput can be improved, and when the service pressure is relatively small, the resource waste can be reduced and the resource utilization rate can be improved; At the same time, the above method does not require manual participation. Therefore, in the process of adjusting the quantity of the transmission channels between the host side and the storage side, the manual participation error can be reduced and the accuracy of adjusting the quantity of the transmission channels can be improved. On this basis, the efficiency of service requests can be improved; In addition, in the process of processing service requests, the above method can directly and dynamically adjust the quantity of the transmission channels between the host side and the storage side on the basis of the current connection, without disconnecting the current connection to adjust the quantity of the transmission channels, which can avoid the problem of service interruption on the host side.
[0011] In one embodiment, determining the type of channel quantity adjustment between the host side and the storage side according to the queue depth of the current service request queue between the host side and the storage side includes:
[0012] Obtaining the magnitude relationship between the queue depth and a preset depth threshold;
[0013] Obtaining the type of channel quantity adjustment according to the magnitude relationship between the queue depth and the preset depth threshold.
[0014] The technical solution in the embodiment of the present application obtains the magnitude relationship between the queue depth and the preset depth threshold, and obtains the type of channel quantity adjustment according to the magnitude relationship between the queue depth and the preset depth threshold; The above method does not require the participation of complex algorithms and the processing process is relatively simple, so that the speed of obtaining the type of channel quantity adjustment between the host side and the storage side can be accelerated, the acquisition efficiency of the type of channel quantity adjustment can be improved. At the same time, this process does not require manual participation, so that the manual participation error can be reduced and the accuracy of the obtained type of channel quantity adjustment can be improved.
[0015] In one embodiment, the preset depth threshold includes a first depth threshold and a second depth threshold, and the first depth threshold is greater than the second depth threshold; according to the magnitude relationship between the queue depth and the preset depth threshold, the channel number adjustment type is obtained, including:
[0016] When the queue depth is greater than the first depth threshold, it is determined that the channel number adjustment type is to increase the channel number;
[0017] When the queue depth is less than the second depth threshold, it is determined that the channel number adjustment type is to decrease the channel number.
[0018] In the technical solution of the embodiments of the present application, when the queue depth is greater than the first depth threshold, it is determined that the channel number adjustment type is to increase the channel number, and when the queue depth is less than the second depth threshold, it is determined that the channel number adjustment type is to decrease the channel number; the above method does not require the participation of complex algorithms, and the processing process is relatively simple, so as to be able to speed up the acquisition of the channel number adjustment type between the host side and the storage side, improve the acquisition efficiency of the channel number adjustment type. At the same time, this process does not require manual participation, so as to be able to reduce the manual participation error and improve the accuracy of the obtained channel number adjustment type.
[0019] In one embodiment, before determining the channel number adjustment type between the host side and the storage side, the above method further includes:
[0020] According to the magnitude relationship between the queue depth and the preset depth threshold, control the response to the asynchronous event request sent by the host side; the asynchronous event request is a request that conforms to the Non-Volatile Memory Host Controller Interface Specification;
[0021] Correspondingly, according to the magnitude relationship between the queue depth and the preset depth threshold, controlling the response to the asynchronous event request sent by the host side includes:
[0022] When the queue depth is greater than the first depth threshold in the preset depth threshold, respond to the asynchronous event request sent by the host side;
[0023] When the queue depth is less than the second depth threshold in the preset depth threshold, respond to the asynchronous event request sent by the host side.
[0024] In the technical solution of the embodiment of the present application, the asynchronous event request sent by the response host is controlled according to the size relationship between the queue depth and the preset depth threshold; in the process of processing the service request, the above method can determine the type of adjustment of the number of channels between the host and the storage only under specific conditions, so as to execute the process of adjusting the number of transmission channels between the host and the storage, so that when the adjusted transmission channels between the host and the storage are used to process service requests, both the data throughput can be guaranteed and resource waste can be avoided, and the resource utilization rate can be improved; at the same time, in the process of processing service requests, the above method does not always execute the process of adjusting the number of transmission channels between the host and the storage, but only executes it under specific conditions, which can reduce the amount of data processing in the process of processing service requests.
[0025] In one of the embodiments, the above method further includes:
[0026] Generate a response message according to the type of channel number adjustment, and send the response message to the host, instructing the host to adjust the number of transmission channels between the host and the storage according to the response message; the response message carries an identifier of the type of channel number adjustment.
[0027] In the technical solution of the embodiment of the present application, a response message is generated according to the type of channel number adjustment, and the response message is sent to the host, instructing the host to adjust the number of transmission channels between the host and the storage according to the response message; in the above method, when the storage determines the type of channel number adjustment between the host and the storage, it can instruct the host to also synchronously execute the transmission channel adjustment process, so that the adjusted transmission channels between the host and the storage are all valid transmission channels, thereby improving the effective availability of the adjusted transmission channels.
[0028] In one of the embodiments, the number of current transmission channels between the host and the storage is less than the number of adjusted transmission channels; before processing each service request in the service request queue, the above method further includes:
[0029] In response to the association request of the newly added transmission channel sent by the host, associate the newly added transmission channel of itself with the newly added transmission channel of the host.
[0030] In the technical solution of the embodiment of the present application, in response to the association request of the newly added transmission channel sent by the host, associate the newly added transmission channel of itself with the newly added transmission channel of the host; in the above method, when adding a transmission channel, the newly added transmission channel of the storage can be associated with the newly added transmission channel of the host to improve the effective availability of the newly added transmission channel, ensure the normal operation of service request processing, and improve the processing efficiency of service requests.
[0031] In one embodiment, the current service request queue includes multiple sub-service request queues; the method further includes:
[0032] Obtaining the sub-queue depth of the sub-service request queue corresponding to each current transmission channel between the host and the storage;
[0033] Determining the queue depth of the current service request queue according to each sub-queue depth.
[0034] In the technical solution of the embodiment of the present application, the sub-queue depth of the sub-service request queue corresponding to each current transmission channel between the host and the storage is obtained, and the queue depth of the current service request queue is determined according to each sub-queue depth; the above method does not require the participation of complex algorithms, and the processing process is relatively simple, so as to be able to speed up the speed of obtaining the queue depth, improve the efficiency of obtaining the queue depth. At the same time, this process does not require manual participation, so as to be able to reduce the manual participation error and improve the accuracy of the obtained queue depth.
[0035] In a second aspect, an embodiment of the present application provides a service request processing method, which is applied to the host side, and the method includes:
[0036] Responding to the response message sent by the storage side, and adjusting the number of transmission channels between the host side and the storage side according to the response message; the response message carries an identifier of the channel number adjustment type, and the channel number adjustment type is determined by the storage side according to the queue depth of the current service request queue;
[0037] Based on the adjusted transmission channels between the host side and the storage side, sending each service request in the current service request queue between the host side and the storage side to the storage side, instructing the storage side to process each service request; the number of adjusted transmission channels between the host side and the storage side is adapted to the queue depth.
[0038] In one embodiment, before sending each service request in the current service request queue between the host side and the storage side to the storage side, the method further includes:
[0039] Sending an association request for the newly added transmission channel to the storage side, instructing the storage side to associate the newly added transmission channel with its own newly added transmission channel.
[0040] In a third aspect, an embodiment of the present application provides a service request processing device, and the device includes:
[0041] An adjustment type determination module, configured to determine the channel number adjustment type between the host side and the storage side according to the queue depth of the current service request queue between the host side and the storage side;
[0042] A channel quantity adjustment module, configured to adjust the quantity of transmission channels between the host side and the storage side according to the channel quantity adjustment type; the adjusted quantity of transmission channels between the host side and the storage side is adapted to the queue depth;
[0043] A request processing module, configured to process each service request in the current service request queue based on the adjusted transmission channels between the host side and the storage side.
[0044] In a fourth aspect, an embodiment of the present application provides a service request processing device, and the device includes:
[0045] A message response module, configured to respond to a response message sent by the storage side, and adjust the quantity of transmission channels between the host side and the storage side according to the response message; an identifier of the channel quantity adjustment type is carried in the response message, and the channel quantity adjustment type is determined by the storage side according to the queue depth of the current service request queue;
[0046] A request sending module, configured to send each service request in the current service request queue between the host side and the storage side to the storage side based on the adjusted transmission channels between the host side and the storage side, instructing the storage side to process each service request; the adjusted quantity of transmission channels between the host side and the storage side is adapted to the queue depth.
[0047] In a fifth aspect, an embodiment of the present application further provides a computer device, which includes a memory and a processor. The memory stores a computer program, and when the processor executes the computer program, the steps of the method in any one of the above first aspects are implemented.
[0048] In a sixth aspect, an embodiment of the present application further provides a computer device, which includes a memory and a processor. The memory stores a computer program, and when the processor executes the computer program, the steps of the method in any one of the above second aspects are implemented.
[0049] In a seventh aspect, an embodiment of the present application 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 the method in any one of the above first aspects are implemented.
[0050] In an eighth aspect, an embodiment of the present application further provides a computer program product, which includes a computer program. When the computer program is executed by a processor, the steps of the method in any one of the above first aspects are implemented.
[0051] In a ninth aspect, an embodiment of the present application further provides a computer program product, which includes a computer program. When the computer program is executed by a processor, the steps of the method in any one of the above second aspects are implemented.
[0052] The above description is only an overview of the technical solution of this application. In order to understand the technical means of this application more clearly, it can be implemented according to the content of the specification. And in order to make the above and other purposes, features and advantages of this application more obvious and understandable, the specific embodiments of this application are specifically given below. Brief Description of the Drawings
[0053] Figure 1 It is an application environment diagram of the service request processing method in an embodiment;
[0054] Figure 2 It is a schematic flowchart of the service request processing method in an embodiment;
[0055] Figure 3 It is a schematic flowchart of the service request processing method in another embodiment;
[0056] Figure 4 It is a schematic flowchart of the service request processing method in another embodiment;
[0057] Figure 5 It is a schematic flowchart of the service request processing method in another embodiment;
[0058] Figure 6 It is a structural block diagram of the service request processing device in an embodiment;
[0059] Figure 7 It is a structural block diagram of the service request processing device in another embodiment;
[0060] Figure 8 It is an internal structural diagram of a computer device in an embodiment. Detailed Description of the Embodiments
[0061] In order to make the purpose, technical solution and advantages of this application clearer, the following further details this application in conjunction with the drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain this application and are not used to limit this application.
[0062] In the field of business processing, in order to improve the security and high availability of business data generated during business processing, due to limited memory on the host side, the business data generated on the host side is usually written to the storage side for storage and the corresponding business data is read from the storage side during subsequent applications. In related technologies, mainly the storage side processes business requests sent by the host side through multiple pre-established transmission channels between the host side and the storage side to write business data to the storage side for backup or read business data from the storage side. However, in the process of business request processing in related technologies, there are problems of low data throughput under high business pressure and low resource utilization under low business pressure. Based on this, the embodiments of the present application provide a business request processing method, which can improve the speed of business request processing.
[0063] The business request processing method provided by the embodiments of the present application can be applied to Figure 1 the application environment diagram shown. The application environment includes a business request processing system, which may include a host side and a storage side. The host side and the storage side are communicatively connected, and the connection method may be Wi-Fi, mobile network, or Bluetooth connection, etc. In the embodiments of the present application, a solid-state drive is deployed on the storage side, and business data is mainly stored through the solid-state drive. Correspondingly, the communication connection method between the host side and the storage side conforms to the Non-Volatile Memory Host Controller Interface Specification (Non-Volatile Memory express, NVMe), that is, it conforms to the NVMe protocol. Among them, NVMe is a protocol running on the Peripheral Component Interconnect Express (PCIe) interface. It is a high-speed, low-latency storage protocol standard designed for flash-based PCIe solid-state drives, which can give full play to the performance advantages of flash storage. Compared with other storage protocols, it can solve the performance bottleneck problem when facing flash storage. In the embodiments of the present application, the NVMe protocol is taken as an example of the NVMe Over Fabric protocol for illustration.
[0064] Optionally, the above host side may be a computer device, which may be an electronic device with data processing functions such as a personal computer, desktop computer, laptop computer, tablet computer, smart watch, smart phone, smart TV, etc. The specific form of the host side is not limited in this embodiment; the above storage side may be a device with data storage functions, such as a solid-state drive, network storage device, enterprise-level storage array, storage expansion card, database system, etc. The specific form of the storage side is not limited in this embodiment. Next, the embodiments of the present application will introduce the specific process of the business request processing method with the storage side and the host side as the execution subjects of the business request processing method respectively.
[0065] As Figure 2 shown, it is a schematic flowchart of a service request processing method provided by an embodiment of the present application. This method is applied to the storage side and can be implemented through the following steps:
[0066] S101. Determine the type of adjustment of the number of channels between the host side and the storage side according to the queue depth of the current service request queue between the host side and the storage side. Among them, the adjusted number of transmission channels between the host side and the storage side is adapted to the queue depth.
[0067] Among them, the current service request queue between the storage side and the host side can be understood as the service request queue to be transmitted by the current transmission channels between the storage side and the host side; the queue depth of the current service request queue can be understood as the number of service requests in the current service request queue, which can be 1, 2, or N (N>2).
[0068] It should be noted here that the current transmission channels between the storage side and the host side can be one or more, and each current transmission channel corresponds to a current service request queue. In actual applications, the adjusted number of transmission channels between the host side and the storage side can be less than or less than the number of current transmission channels between the storage side and the host side.
[0069] Optionally, the current transmission channels between the storage side and the host side can be understood as the transmission channels initially created between the storage side and the host side, and can also be understood as the transmission channels obtained after adjusting the number of initially created transmission channels once or more. The embodiments of the present application do not make limitations on this.
[0070] In one implementation, the storage side can pre-train an algorithm model, and then input the queue depth of the current service request queue between itself and the host side into the algorithm model, and the algorithm model outputs the type of adjustment of the number of channels between the host side and the storage side. In the embodiments of the present application, the above-mentioned type of adjustment of the number of channels can be adding the number of channels, reducing the number of channels, or maintaining the number of channels.
[0071] In another implementation, the storage side can perform operations such as comparison processing, analysis processing, transformation processing, and / or mapping processing on the queue depth of the current service request queue between itself and the host side, and determine the type of adjustment of the number of channels between the host side and the storage side according to the results of the processing operations.
[0072] S102. Adjust the number of transmission channels between the host side and the storage side according to the type of adjustment of the number of channels.
[0073] Specifically, the storage end can adjust the type according to the number of channels between the host end and the storage end, and adopt a hardware-based adjustment method or a software-based adjustment method to adjust the number of transmission channels between the host end and the storage end.
[0074] In addition, the storage end can also use a third-party device to adjust the number of channels according to the type of channel number adjustment, and assist in adjusting the number of transmission channels between the host end and the storage end.
[0075] It should be noted here that during the process of adjusting the number of transmission channels, the number of adjusted transmission channels can be multiple. However, in the embodiments of this application, the example of adjusting the number of transmission channels to 1 is used for illustration.
[0076] S103. Process each service request in the current service request queue based on the adjusted transmission channel between the host end and the storage end.
[0077] In the embodiments of this application, both the host end and the storage end need to adjust the number of transmission channels to complete obtaining the adjusted transmission channel between the host end and the storage end.
[0078] Specifically, the host end can, based on the adjusted transmission channel between the host end and the storage end, sequentially send each service request in the current service request queue to the storage end. Correspondingly, the storage end can, based on the adjusted transmission channel between the host end and the storage end, receive each service request in the current service request queue sequentially sent by the host end and process each service request.
[0079] In addition, after the storage end processes each service request in the current service request queue, it can delete the current service request queue to release its own memory resources. At the same time, the host end can also delete the current service request queue to release its own memory resources.
[0080] The technical solution in the embodiment of the present application is applied to the storage side. According to the queue depth of the current service request queue between the storage side and the host side, the type of adjustment of the number of channels between the host side and the storage side is determined. According to the type of adjustment of the number of channels, the number of transmission channels between the host side and the storage side is adjusted, and based on the adjusted transmission channels between the host side and the storage side, each service request in the current service request queue is processed. Among them, the number of adjusted transmission channels between the host side and the storage side is adapted to the queue depth; according to the queue depth of the current service request queue between the host side and the storage side, the above method can flexibly and dynamically adjust the number of transmission channels between the host side and the storage side, so that the number of adjusted transmission channels between the host side and the storage side is adapted to the queue depth, that is, the number of adjusted transmission channels between the host side and the storage side can meet the service request volume of the current service request queue, that is, the service pressure. Therefore, in the process of processing service requests, the method can improve the data throughput when the service pressure is large, and can reduce resource waste and improve resource utilization when the service pressure is small; at the same time, the above method does not require manual participation, so in the process of adjusting the number of transmission channels between the host side and the storage side, it can reduce the manual participation error and improve the accuracy of adjusting the number of transmission channels. On this basis, the efficiency of service requests can be improved; in addition, in the process of processing service requests, the above method can directly and dynamically adjust the number of transmission channels between the host side and the storage side on the basis of the current connection, and does not need to disconnect the current connection to adjust the number of transmission channels, so as to avoid the problem of service interruption on the host side.
[0081] The process of determining the type of adjustment of the number of channels between the host side and the storage side according to the queue depth of the current service request queue between the host side and the storage side will be described below. In one embodiment, as Figure 3 shown, the steps in S101 above can be implemented in the following ways:
[0082] S111. Obtain the magnitude relationship between the queue depth and the preset depth threshold.
[0083] In practical applications, the storage side can compare the queue depth of the current service request queue between itself and the host side with the preset depth threshold to obtain the magnitude relationship between the queue depth and the preset depth threshold. Optionally, the queue depth can be greater than, less than, or equal to the preset depth threshold. Among them, the above preset depth threshold can be determined by the user's self-definition or can be determined according to historical experience values. The embodiment of the present application does not make any limitations in this regard.
[0084] S121. Obtain the type of adjustment of the number of channels according to the magnitude relationship between the queue depth and the preset depth threshold.
[0085] In one embodiment, the storage side can pre-train an algorithm model in advance, and then input the magnitude relationship between the queue depth and the preset depth threshold into the algorithm model, and the algorithm model outputs the type of channel number adjustment.
[0086] In another embodiment, the storage side can look up the magnitude relationship between the queue depth and the preset depth threshold in the mapping relationship table, and determine the type of channel number adjustment between the host side and the storage side according to the adjustment type corresponding to the matched magnitude relationship. Optionally, the above mapping relationship table may include the corresponding relationship between different magnitude relationships between the queue depth and the preset depth threshold and different adjustment types.
[0087] The technical solution in the embodiments of the present application obtains the magnitude relationship between the queue depth and the preset depth threshold, and obtains the type of channel number adjustment according to the magnitude relationship between the queue depth and the preset depth threshold; the above method does not require the participation of complex algorithms, and the processing process is relatively simple, so as to be able to speed up the speed of obtaining the type of channel number adjustment between the host side and the storage side, improve the acquisition efficiency of the type of channel number adjustment, and at the same time, this process does not require manual participation, so as to be able to reduce the manual participation error and improve the accuracy of the obtained type of channel number adjustment.
[0088] The process of obtaining the type of channel number adjustment according to the magnitude relationship between the queue depth and the preset depth threshold will be described below. In one embodiment, the preset depth threshold includes a first depth threshold and a second depth threshold, and the first depth threshold is greater than the second depth threshold; the step of S121 may include: when the queue depth is greater than the first depth threshold, determining that the type of channel number adjustment is to add the channel number; when the queue depth is less than the second depth threshold, determining that the type of channel number adjustment is to reduce the channel number.
[0089] In the embodiments of the present application, when the storage side determines that the queue depth of the current service request queue between itself and the host side is greater than the first depth threshold, it indicates that the service pressure of the current service request queue is relatively large, and it is necessary to increase the number of transmission channels between itself and the host side to meet the processing requirements of the current service request queue. At this time, the type of channel number adjustment can be determined to be adding the channel number; when the storage side determines that the queue depth of the current service request queue between itself and the host side is less than the second depth threshold, reducing the number of transmission channels between itself and the host side can meet the processing requirements of the current service request queue, indicating that the service pressure of the current service request queue is relatively small. At this time, the type of channel number adjustment can be determined to be reducing the channel number.
[0090] It should be noted here that the above first depth threshold is greater than the second depth threshold. The first depth threshold can be called the high water level of the queue depth, and the second depth threshold can be called the low water level of the queue depth.
[0091] In the technical solution of the embodiment of the present application, when the queue depth is greater than the first depth threshold, it is determined that the type of channel number adjustment is to increase the channel number, and when the queue depth is less than the second depth threshold, it is determined that the type of channel number adjustment is to decrease the channel number; the above method does not require the participation of complex algorithms, and the processing process is relatively simple, so that the speed of obtaining the type of channel number adjustment between the host side and the storage side can be accelerated, the acquisition efficiency of the type of channel number adjustment can be improved. At the same time, this process does not require manual participation, so that the manual participation error can be reduced and the accuracy of the obtained type of channel number adjustment can be improved.
[0092] In practical applications, the number of transmission channels between the host side and the storage side is adjusted only under specific conditions, that is, the type of channel number adjustment between the host side and the storage side is determined only under specific conditions. The process of triggering the determination of the type of channel number adjustment between the host side and the storage side is described below. In one embodiment, before performing the steps in S101 above, the method may further include: controlling the response to the asynchronous event request sent by the host side according to the size relationship between the queue depth and the preset depth threshold; the asynchronous event request is a request that conforms to the Non-Volatile Memory Host Controller Interface Specification.
[0093] In practical applications, the host side may periodically send asynchronous event requests to the storage side. Among them, the above asynchronous event request is a request that conforms to the Non-Volatile Memory Host Controller Interface Specification (Non-Volatile Memory express, NVMe).
[0094] Specifically, the storage side may pre-train a request response model, and then input the size relationship between the queue depth and the preset depth threshold into the request response model. The request response model outputs a request response control message. When the request response control message is to execute the request response, control the response to the asynchronous event request sent by the host side, and execute the step of determining the type of channel number adjustment between the host side and the storage side according to the queue depth of the current service request queue between the host side and the storage side. Optionally, the above request response model may be implemented by at least one of a convolutional neural network model, a fully connected neural network model, a recurrent neural network model, a long short-term memory neural network model, etc.
[0095] In addition, the storage side may search for the size relationship between the queue depth and the preset depth threshold in the association relationship, obtain the request response control message corresponding to the matching size relationship from the association relationship, and when the request response control message is to execute the request response, control the response to the asynchronous event request sent by the host side. Optionally, the above association relationship includes the corresponding relationship between different size relationships between the queue depth and the preset depth threshold and different request response control messages.
[0096] In one embodiment, the step of controlling the response to the asynchronous event request sent by the host end according to the magnitude relationship between the queue depth and the preset depth threshold may include:
[0097] When the queue depth is greater than the first depth threshold in the preset depth threshold, respond to the asynchronous event request sent by the host end; when the queue depth is less than the second depth threshold in the preset depth threshold, respond to the asynchronous event request sent by the host end.
[0098] In the embodiment of the present application, the storage end can respond to the asynchronous event request sent by the host end only when it determines that the queue depth is greater than the first depth threshold in the preset depth threshold or the queue depth is less than the second depth threshold in the preset depth threshold.
[0099] Specifically, when the queue depth is greater than the first depth threshold in the preset depth threshold, the storage end can respond to the asynchronous event request sent by the host end and send a channel addition message to the host end, instructing the host end to execute the process of increasing the number of transmission channels between itself and the storage end; when the queue depth is less than the second depth threshold in the preset depth threshold, the storage end can respond to the asynchronous event request sent by the host end and send a channel deletion message to the host end, instructing the host end to execute the process of reducing the number of transmission channels between itself and the storage end.
[0100] The technical solution in the embodiment of the present application controls the response to the asynchronous event request sent by the host end according to the magnitude relationship between the queue depth and the preset depth threshold; in the process of processing the service request, the above method can determine the type of adjustment of the number of channels between the host end and the storage end only under specific conditions, so as to execute the process of adjusting the number of transmission channels between the host end and the storage end, so that when the adjusted transmission channels between the host end and the storage end are used to process the service request, it can not only ensure the data throughput, but also avoid resource waste and improve resource utilization; at the same time, in the process of processing the service request, the above method does not always execute the process of adjusting the number of transmission channels between the host end and the storage end, but only executes it under specific conditions, which can reduce the amount of data processing in the process of processing the service request.
[0101] In some scenarios, the host end needs to execute a similar transmission channel adjustment process with the storage end to form the adjusted transmission channel between the host end and the storage end. The following describes the steps for the storage end to instruct the host end to execute the transmission channel adjustment process. In one embodiment, the above method may further include the following steps: generating a response message according to the type of channel number adjustment, and sending the response message to the host end, instructing the host end to adjust the number of transmission channels between the host end and the storage end according to the response message; the response message carries an identifier of the type of channel number adjustment.
[0102] In practical applications, when the storage end determines the type of channel quantity adjustment, it can generate a response message according to the type of channel quantity adjustment. Optionally, the above response message can be a channel deletion message or a channel addition message.
[0103] Among them, when the type of channel quantity adjustment is to increase the channel quantity, a channel addition message can be generated; when the type of channel quantity adjustment is to decrease the channel quantity, a channel deletion message can be generated.
[0104] Correspondingly, after receiving the channel addition message, the host end can increment the number of transmission channels between itself and the storage end by 1, that is, add 1 transmission channel between itself and the storage end; after receiving the channel deletion message, the host end can decrement the number of transmission channels between itself and the storage end by 1, that is, reduce 1 transmission channel between itself and the storage end.
[0105] The technical solution in the embodiment of the present application generates a response message according to the type of channel quantity adjustment, and sends the response message to the host end, instructing the host end to adjust the number of transmission channels between the host end and the storage end according to the response message; in the above method, when the storage end determines the type of channel quantity adjustment between the host end and the storage end, it can instruct the host end to also synchronously execute the transmission channel adjustment process, so that the adjusted transmission channels between the host end and the storage end are all valid transmission channels, thereby improving the effective availability of the adjusted transmission channels.
[0106] In practical applications, when both the host end and the storage end add transmission channels, after the host end and the storage end add the transmission channels, it is also necessary to associate the newly added transmission channels to ensure that the newly added transmission channels can enable effective interaction between the host end and the storage end and improve the processing efficiency of service requests. The process of associating the newly added transmission channels will be described below. In one embodiment, the number of current transmission channels between the host end and the storage end is less than the number of adjusted transmission channels; before performing the steps in S103 above, the above method may further include: in response to the association request of the newly added transmission channels sent by the host end, associating the newly added transmission channels of itself with the newly added transmission channels of the host end.
[0107] In practical applications, after the host end completes the operation of increasing the number of transmission channels between itself and the storage end, it can send an association request for the newly added transmission channels to the storage end, instructing the storage end to associate the newly added transmission channels between itself and the host end; correspondingly, the storage end can, in response to the association request for the newly added transmission channels sent by the host end, associate the newly added transmission channels of itself with the newly added transmission channels of the host end.
[0108] It should be noted here that after the association operation is completed, both the host side and the storage side can configure the newly added transmission channel to an accessible state, so that the newly added transmission channel can normally transmit service requests and the newly added transmission channel is in an effective state.
[0109] In the technical solution of the embodiment of the present application, in response to an association request for a newly added transmission channel sent by the host side, the newly added transmission channel of itself is associated with the newly added transmission channel of the host side; in the case of adding a transmission channel, the above method can associate the newly added transmission channel of the storage side with the newly added transmission channel of the host side to improve the effective availability of the newly added transmission channel, ensure the normal operation of service request processing, and improve the processing efficiency of service requests.
[0110] The process of the storage side obtaining the queue depth of the current service request queue between itself and the host side will be described below. In one embodiment, the above current service request queue includes multiple sub-service request queues; as Figure 4 shown, the above method may further include the following steps:
[0111] S104. Obtain the sub-queue depth of the sub-service request queue corresponding to each current transmission channel between the storage side and the host side.
[0112] In practical applications, the number of current transmission channels between the storage side and the host side may be multiple, and each transmission channel may correspond to a sub-service request queue. Specifically, the storage side can obtain the sub-queue depth of the sub-service request queue corresponding to each current transmission channel between itself and the host side.
[0113] S105. Determine the queue depth of the current service request queue according to each sub-queue depth.
[0114] Specifically, the storage side can process each sub-queue depth according to a preset processing method to obtain the queue depth of the current service request queue.
[0115] In addition, the storage side can perform arithmetic operation processing on each sub-queue depth to obtain the queue depth of the current service request queue. Optionally, the above arithmetic operation may be at least one of addition operation, multiplication operation, logarithmic operation, exponential operation, division operation, etc.
[0116] In the embodiment of the present application, the storage side can average each sub-queue depth to obtain the queue depth of the current service request queue.
[0117] It should be noted here that the storage side can periodically obtain each sub-queue depth. Naturally, it periodically obtains the queue depth of the current service request queue and repeatedly executes the steps in S103-S104 above according to the queue depth.
[0118] In the technical solution of the embodiments of the present application, the sub-queue depth of the sub-service request queue corresponding to each current transmission channel with the host is obtained, and the queue depth of the current service request queue is determined according to each sub-queue depth; the above method does not require the participation of complex algorithms, and the processing process is relatively simple, so as to be able to speed up the speed of obtaining the queue depth, improve the efficiency of obtaining the queue depth. At the same time, this process does not require manual participation, so as to be able to reduce the manual participation error and improve the accuracy of the obtained queue depth.
[0119] In one embodiment, the embodiments of the present application further provide a service request processing method, which is applied to the storage end. The method includes the following processes:
[0120] S10. Obtain the sub-queue depth of the sub-service request queue corresponding to each current transmission channel with the host;
[0121] S11. Calculate the average of each sub-queue depth to obtain the queue depth of the current service request queue;
[0122] S12. Obtain the magnitude relationship between the queue depth of the current service request queue with the host and a preset depth threshold;
[0123] S13. In the case where the queue depth is greater than the first depth threshold in the preset depth threshold, respond to the asynchronous event request sent by the host; in the case where the queue depth is less than the second depth threshold in the preset depth threshold, respond to the asynchronous event request sent by the host;
[0124] S14. In the case where the queue depth is greater than the first depth threshold, determine that the channel quantity adjustment type is to add the channel quantity; in the case where the queue depth is less than the second depth threshold, determine that the channel quantity adjustment type is to reduce the channel quantity; the first depth threshold is greater than the second depth threshold;
[0125] S15. Send a response message to the host, instructing the host to adjust the quantity of the transmission channels between the host and the storage end according to the response message; the asynchronous event request is a request that conforms to the non-volatile memory host controller interface specification; the response message carries an identifier of the channel quantity adjustment type;
[0126] S16. Adjust the quantity of the transmission channels between the host and the storage end according to the channel quantity adjustment type; the adjusted quantity of the transmission channels between the host and the storage end is adapted to the queue depth;
[0127] S17. In response to the association request of the newly added transmission channel sent by the host, associate the newly added transmission channel of itself with the newly added transmission channel of the host;
[0128] S18. Process each service request in the current service request queue based on the adjusted transmission channel between the host and the storage.
[0129] For the execution processes of S10 to S18 above, please refer to the descriptions of the above embodiments for details. Their implementation principles and technical effects are similar, and will not be elaborated here.
[0130] To solve the problems in the related art that in the process of service request processing, the data throughput is low under high service pressure, and the resource utilization rate is low under low service pressure, the embodiments of the present application further provide a service request processing method, which can improve the data throughput under high service pressure and improve the resource utilization rate under low service pressure during the service request processing. This service request processing method will introduce how to improve the data throughput and resource utilization rate from the host side. The following embodiments will specifically introduce the specific process of the service request processing method, and take the Figure 1 host side in the service processing system as the execution entity to introduce the specific process of the service request processing method.
[0131] As Figure 5 shown, it is a schematic flowchart of the service request processing method provided by the embodiments of the present application. This method is applied to the host side and can be implemented through the following steps:
[0132] S201. Respond to the response message sent by the storage side, and adjust the number of transmission channels between the host side and the storage side according to the response message. Among them, the response message carries an identifier of the channel number adjustment type, and the channel number adjustment type is determined by the storage side according to the queue depth of the current service request queue.
[0133] In practical applications, the storage side can generate a response message according to the channel number adjustment type between itself and the host side, and send the response message to the host side to instruct the host side to adjust the number of transmission channels between the host side and the storage side according to the response message.
[0134] Correspondingly, the host side can respond to the response message sent by the storage side, and determine to increase or decrease the number of transmission channels between the host side and the storage side according to the identifier of the channel number adjustment type carried in the response message, that is, execute the transmission channel number adjustment process.
[0135] Optionally, the above response message can be a channel deletion message or a channel addition message. Among them, when the channel number adjustment type is to add channels, a channel addition message can be generated; when the channel number adjustment type is to reduce channels, a channel deletion message can be generated.
[0136] Among them, after receiving the channel addition message, the host can increment by 1 the number of transmission channels between itself and the storage end, that is, add 1 transmission channel between itself and the storage end; after receiving the channel deletion message, the host can decrement by 1 the number of transmission channels between itself and the storage end, that is, reduce 1 transmission channel between itself and the storage end.
[0137] In the embodiment of the present application, the storage end can determine the type of adjustment of the number of channels between the host end and the storage end according to the queue depth of the current service request queue between the host end and the storage end.
[0138] S202. Based on the adjusted transmission channels between the host end and the storage end, send each service request in the current service request queue between the host end and the storage end to the storage end, instructing the storage end to process each service request. Among them, the number of adjusted transmission channels between the host end and the storage end is adapted to the queue depth.
[0139] Specifically, the host end can send each service request in the current service request queue between the host end and the storage end to the storage end based on the adjusted transmission channels between the host end and the storage end, instructing the storage end to process each service request. In the embodiment of the present application, the number of adjusted transmission channels between the host end and the storage end is adapted to the queue depth.
[0140] It should be noted here that the above service request can also be called an IO request, and this service request can be a service data write request or a service data read request. Among them, when the service request is a service data write request, the processing of this service request by the storage end can be understood as writing the service data corresponding to this service request into its own solid-state drive; when the service request is a service data read request, the processing of this service request by the storage end can be understood as reading the service data corresponding to this service request from its own solid-state drive and sending the read service data to the host end.
[0141] The technical solution in the embodiment of this application is applied to the host side. In response to the response message sent by the storage side, the number of transmission channels between the host side and the storage side is adjusted according to the response message. Based on the adjusted transmission channels between the host side and the storage side, each service request in the current service request queue between the host side and the storage side is sent to the storage side, instructing the storage side to process each service request. Among them, the number of adjusted transmission channels between the host side and the storage side is adapted to the queue depth. The above method can flexibly and dynamically adjust the number of transmission channels between the host side and the storage side according to the queue depth of the current service request queue between the host side and the storage side, so that the number of adjusted transmission channels between the host side and the storage side is adapted to the queue depth, that is, the number of adjusted transmission channels between the host side and the storage side can meet the service pressure of the current service request queue, so that in the process of processing service requests, the data throughput can be improved when the service pressure is large, and the resource utilization rate can be improved when the service pressure is small. At the same time, the above method does not require manual participation, so in the process of adjusting the number of transmission channels between the host side and the storage side, the manual participation error can be reduced, and the accuracy of adjusting the number of transmission channels can be improved. On this basis, the efficiency of service requests can be improved. In addition, in the process of processing service requests, the above method can directly and dynamically adjust the number of transmission channels between the host side and the storage side on the basis of the current connection, and does not need to disconnect the current connection to adjust the number of transmission channels, which can avoid the problem of service interruption on the host side.
[0142] In practical applications, when both the host side and the storage side add transmission channels, after the host side and the storage side add the transmission channels, it is also necessary to associate the newly added transmission channels to ensure that the newly added transmission channels can enable effective interaction between the host side and the storage side and improve the processing efficiency of service requests. The process of associating the newly added transmission channels will be described below. In one embodiment, before performing the steps in S202 above, the above method may further include: sending an association request for the newly added transmission channels to the storage side, instructing the storage side to associate the newly added transmission channels with its own newly added transmission channels.
[0143] In practical applications, after the host side finishes the operation of increasing the number of transmission channels between itself and the storage side, it can send an association request for the newly added transmission channels to the storage side, instructing the storage side to associate its own newly added transmission channels with the newly added transmission channels of the host side. Correspondingly, the storage side can respond to the association request for the newly added transmission channels sent by the host side and associate its own newly added transmission channels with the newly added transmission channels of the host side, so that the newly added transmission channels are in an effective state.
[0144] In the technical solution of the embodiment of the present application, an association request for a newly added transmission channel is sent to the storage end, instructing the storage end to associate the newly added transmission channel with its own newly added transmission channel; in the case of adding a transmission channel, the above method can make the newly added transmission channel of the storage end associated with the newly added transmission channel of the host end, so as to improve the effective availability of the newly added transmission channel, ensure the normal operation of business request processing, and improve the processing efficiency of business requests.
[0145] In one embodiment, the embodiment of the present application further provides a business request processing method, which is applied to the host end, and the method includes the following processes:
[0146] S20. In response to the response message sent by the storage end, and adjust the number of transmission channels between the host end and the storage end according to the response message; the response message carries an identifier of the channel number adjustment type, and the channel number adjustment type is determined by the storage end according to the queue depth of the current business request queue;
[0147] S21. Send an association request for the newly added transmission channel to the storage end, instructing the storage end to associate the newly added transmission channel with its own newly added transmission channel;
[0148] S22. Based on the adjusted transmission channels between the host end and the storage end, send each business request in the current business request queue between the host end and the storage end to the storage end, instructing the storage end to process each business request; the number of adjusted transmission channels between the host end and the storage end is adapted to the queue depth.
[0149] For the execution processes of S20 to S22 above, reference may specifically be made to the description of the above embodiments, and their implementation principles and technical effects are similar, and will not be elaborated here.
[0150] For the convenience of understanding, here a business request processing method is described through an interactive embodiment. In one embodiment, the embodiment of the present application further provides a business request processing method, which is applied to a business request processing system, and the business request processing system includes a storage end and a host end, and the method includes the following processes:
[0151] S30. The storage end obtains the sub-queue depth of the sub-business request queue corresponding to each current transmission channel between the storage end and the host end;
[0152] S31. The storage end calculates the average of each sub-queue depth to obtain the queue depth of the current business request queue;
[0153] S32. The storage end obtains the size relationship between the queue depth of the current business request queue between the storage end and the host end and a preset depth threshold;
[0154] S33. When the queue depth is greater than the first depth threshold among the preset depth thresholds, the storage end responds to the asynchronous event request sent by the host end; when the queue depth is less than the second depth threshold among the preset depth thresholds, the storage end responds to the asynchronous event request sent by the host end; the asynchronous event request is a request that conforms to the Non-Volatile Memory Host Controller Interface Specification.
[0155] S34. When the queue depth is greater than the first depth threshold, the storage end determines that the channel quantity adjustment type is to add the channel quantity; when the queue depth is less than the second depth threshold, the storage end determines that the channel quantity adjustment type is to reduce the channel quantity; the first depth threshold is greater than the second depth threshold.
[0156] S35. The storage end sends a response message to the host end.
[0157] S36. The host end responds to the response message sent by the storage end, and adjusts the quantity of the transmission channels between the host end and the storage end according to the identifier of the channel quantity adjustment type carried in the response message.
[0158] S37. The storage end adjusts the quantity of the transmission channels between the host end and the storage end according to the channel quantity adjustment type; the adjusted quantity of the transmission channels between the host end and the storage end is adapted to the queue depth.
[0159] S38. The host end sends an association request for the newly added transmission channels to the storage end.
[0160] S39. The storage end responds to the association request for the newly added transmission channels sent by the host end, and associates the newly added transmission channels of itself with the newly added transmission channels of the host end.
[0161] S40. Based on the adjusted transmission channels between the host end and the storage end, the host end sends each service request in the current service request queue between the host end and the storage end to the storage end.
[0162] S41. The storage end receives each service request in the current service request queue and processes each service request.
[0163] For the specific execution process of the above S30 to S41, reference can be made to the description of the above embodiments, and their implementation principles and technical effects are similar, which will not be elaborated here.
[0164] It should be understood that although the steps in the flowcharts involved in the above embodiments are shown in sequence according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless otherwise clearly stated in this article, there is no strict order restriction for the execution of these steps, and these steps can be executed in other orders. Moreover, at least a part of the steps in the flowcharts involved in the above embodiments may include multiple steps or multiple stages. These steps or stages are not necessarily executed at the same time, but can be executed at different times. The execution order of these steps or stages is not necessarily sequential, but can be executed alternately or in turn with at least a part of other steps or steps or stages in other steps.
[0165] Based on the same inventive concept, an embodiment of the present application further provides a service request processing system for implementing the service request processing method involved above. Continuing to refer to Figure 1 As shown, the system includes a storage end and a host end; where:
[0166] The storage end is used to execute the steps of the method in the embodiment as Figures 2-4 shown.
[0167] The host end is used to execute the steps of the method in the embodiment as Figure 5 shown.
[0168] In one embodiment, the storage end and the host end are communicatively connected, and the communication connection method complies with the Non-Volatile Memory Host Controller Interface Specification.
[0169] The service request processing system provided by the embodiment of the present application can be used to execute the technical solutions in the above service request processing method embodiments of the present application. The implementation principle and technical effects are similar, and will not be elaborated here.
[0170] Based on the same inventive concept, an embodiment of the present application further provides a service request processing device for implementing the service request processing method involved above. The solution provided by this device to solve the problem is similar to the solution recorded in the above method. Therefore, the specific limitations in one or more embodiments of the service request processing device provided below can refer to the limitations on the service request processing method in the above text, and will not be elaborated here.
[0171] In one embodiment, Figure 6 is a schematic structural diagram of a service request processing device in an embodiment of the present application. The service request processing device provided by the embodiment of the present application can be applied to the storage end. As Figure 6 shown, the service request processing device of the embodiment of the present application may include: an adjustment type determination module 11, a channel number adjustment module 12, and a request processing module 13, where:
[0172] An adjustment type determination module 11, configured to determine an adjustment type of the number of channels between the host side and the storage side according to the queue depth of the current service request queue between the host side and the storage side;
[0173] A channel number adjustment module 12, configured to adjust the number of transmission channels between the host side and the storage side according to the channel number adjustment type; the adjusted number of transmission channels between the host side and the storage side is adapted to the queue depth;
[0174] A request processing module 13, configured to process each service request in the current service request queue based on the adjusted transmission channels between the host side and the storage side.
[0175] The service request processing device provided by the embodiment of the present application can be used to execute the technical solutions in the above-mentioned service request processing method embodiment of the present application, and its implementation principle and technical effect are similar, which will not be elaborated here.
[0176] In one embodiment, the adjustment type determination module 11 includes: a size relationship acquisition unit and a type acquisition unit, where:
[0177] The size relationship acquisition unit is configured to acquire the size relationship between the queue depth and a preset depth threshold;
[0178] The type acquisition unit is configured to obtain the channel number adjustment type according to the size relationship between the queue depth and the preset depth threshold.
[0179] The service request processing device provided by the embodiment of the present application can be used to execute the technical solutions in the above-mentioned service request processing method embodiment of the present application, and its implementation principle and technical effect are similar, which will not be elaborated here.
[0180] In one embodiment, the preset depth threshold includes a first depth threshold and a second depth threshold, and the first depth threshold is greater than the second depth threshold; specifically, the type acquisition unit is configured to:
[0181] When the queue depth is greater than the first depth threshold, determine that the channel number adjustment type is to add the number of channels;
[0182] When the queue depth is less than the second depth threshold, determine that the channel number adjustment type is to reduce the number of channels.
[0183] The service request processing device provided by the embodiment of the present application can be used to execute the technical solutions in the above-mentioned service request processing method embodiment of the present application, and its implementation principle and technical effect are similar, which will not be elaborated here.
[0184] In one embodiment, the service request processing device further includes: a control module, where:
[0185] A control module, configured to control the response to an asynchronous event request sent by a host end according to the magnitude relationship between the queue depth and a preset depth threshold; the asynchronous event request is a request that conforms to the non-volatile memory host controller interface specification.
[0186] The service request processing device provided by an embodiment of the present application can be used to execute the technical solutions in the above-mentioned service request processing method embodiments of the present application. The implementation principles and technical effects are similar and will not be elaborated here.
[0187] In one embodiment, the control module is specifically configured to:
[0188] In the case where the queue depth is greater than a first depth threshold among the preset depth thresholds, respond to the asynchronous event request sent by the host end;
[0189] In the case where the queue depth is less than a second depth threshold among the preset depth thresholds, respond to the asynchronous event request sent by the host end.
[0190] The service request processing device provided by an embodiment of the present application can be used to execute the technical solutions in the above-mentioned service request processing method embodiments of the present application. The implementation principles and technical effects are similar and will not be elaborated here.
[0191] In one embodiment, the service request processing device further includes: a message sending module, where:
[0192] The message sending module is configured to generate a response message according to the channel quantity adjustment type and send the response message to the host end, instructing the host end to adjust the quantity of the transmission channels between the host end and the storage end according to the response message; the response message carries an identifier of the channel quantity adjustment type.
[0193] The service request processing device provided by an embodiment of the present application can be used to execute the technical solutions in the above-mentioned service request processing method embodiments of the present application. The implementation principles and technical effects are similar and will not be elaborated here.
[0194] In one embodiment, the quantity of the current transmission channels between the host end and the storage end is less than the quantity of the adjusted transmission channels; the service request processing device further includes: a request response module, where:
[0195] The request response module is configured to, in response to an association request for a newly added transmission channel sent by the host end, associate its newly added transmission channel with the newly added transmission channel of the host end.
[0196] The service request processing device provided by an embodiment of the present application can be used to execute the technical solutions in the above-mentioned service request processing method embodiments of the present application. The implementation principles and technical effects are similar and will not be elaborated here.
[0197] In one embodiment, the service request processing device further includes: a sub-queue depth acquisition module and a queue depth determination module, where:
[0198] The sub-queue depth acquisition module is configured to acquire the sub-queue depth of the sub-service request queue corresponding to each current transmission channel between the host side;
[0199] The queue depth determination module is configured to determine the queue depth of the current service request queue according to the sub-queue depths.
[0200] The service request processing device provided by the embodiment of the present application can be used to execute the technical solutions in the above-mentioned service request processing method embodiments of the present application. The implementation principles and technical effects are similar and will not be elaborated here.
[0201] In another embodiment, Figure 7 FIG. is a schematic structural diagram of the service request processing device in an embodiment of the present application. The service request processing device provided by the embodiment of the present application can be applied to the host side. As Figure 7 shown, the service request processing device of the embodiment of the present application may include: a message response module 21 and a request sending module 22, where:
[0202] The message response module 21 is configured to respond to the response message sent by the storage side and adjust the number of transmission channels between the host side and the storage side according to the response message; an identifier of the channel number adjustment type is carried in the response message, and the channel number adjustment type is determined by the storage side according to the queue depth of the current service request queue;
[0203] The request sending module 22 is configured to send each service request in the current service request queue between the host side and the storage side to the storage side based on the adjusted transmission channels between the host side and the storage side, and instruct the storage side to process each service request; the number of adjusted transmission channels between the host side and the storage side is adapted to the queue depth.
[0204] The service request processing device provided by the embodiment of the present application can be used to execute the technical solutions in the above-mentioned service request processing method embodiments of the present application. The implementation principles and technical effects are similar and will not be elaborated here.
[0205] In one embodiment, the service request processing device further includes: a read position acquisition unit and a reading unit, where:
[0206] The read position acquisition unit is configured to send an association request for the newly added transmission channel to the storage side, instructing the storage side to associate the newly added transmission channel with its own newly added transmission channel.
[0207] The service request processing device provided by the embodiments of this application can be used to execute the technical solutions in the above-mentioned embodiments of the service request processing method of this application. The implementation principles and technical effects are similar and will not be elaborated here.
[0208] For the specific limitations of the service request processing device, reference can be made to the limitations on the service request processing method in the foregoing text, which will not be elaborated here. Each module in the above-mentioned service request processing device 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 independent of it, or 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.
[0209] In one embodiment, a computer device is provided. This computer device can be a server, and its internal structure diagram can be as Figure 8 shown. This computer device includes a processor, a memory, and a network interface connected through a system bus. Among them, the processor of this computer device is used to provide processing capabilities. The memory of this 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 this computer device is used to store backup data of logical disks. The network interface of this computer device is used to communicate with external endpoints through a network connection. When the computer program is executed by the processor, it implements a service request processing method.
[0210] Those skilled in the art can understand that Figure 8 the structure shown in
[0211] 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.
[0212] In one embodiment, a computer-readable storage medium is further provided, on which a computer program is stored. When the computer program is executed by the processor, it implements the technical solution of the service request processing method of this application. The implementation principles and technical effects are similar and will not be elaborated here.
[0213] In one embodiment, a computer program product is further provided, including a computer program which, when executed by a processor, implements the technical solution of the above-mentioned service request processing method of the present application. The implementation principle and technical effect are similar and will not be elaborated here.
[0214] Those of ordinary skill in the art can understand that all or part of the processes in the above-mentioned embodiment methods 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 above-mentioned method embodiments. Among them, any reference to a memory, storage, database, or other medium used in the various embodiments provided in the present application can include at least one of non-volatile and volatile memories. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, or optical memory, etc. Volatile memory can include random access memory (RAM) or external cache memory. 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.
[0215] The technical features of the above embodiments can be combined arbitrarily. For the sake of brevity of 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 to be within the scope described in this specification.
[0216] The above-described embodiments only 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 scope of the invention patent. 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 patent of the present application should be subject to the appended claims.
Claims
1. A method for processing a business request, characterized in that: Applied to the storage end, the method includes: Determining a channel quantity adjustment type between the host end and the storage end according to a queue depth of a current service request queue between the host end and the storage end; According to the channel quantity adjustment type, the number of transmission channels between the host end and the storage end is adjusted; the adjusted number of transmission channels between the host end and the storage end is adapted to the queue depth; Based on the adjusted transmission channel between the host end and the storage end, each service request in the current service request queue is processed.
2. The method according to claim 1, characterized in that The determining, according to the queue depth of the current service request queue between the host end and the storage end, the channel quantity adjustment type between the host end and the storage end includes: Obtaining a magnitude relationship between the queue depth and a preset depth threshold; The channel quantity adjustment type is obtained according to the size relationship between the queue depth and a preset depth threshold.
3. The method according to claim 2, characterized in that The preset depth threshold includes a first depth threshold and a second depth threshold, and the first depth threshold is greater than the second depth threshold; and obtaining the channel quantity adjustment type according to the size relationship between the queue depth and the preset depth threshold includes: When the queue depth is greater than a first depth threshold, determining that the channel quantity adjustment type is to add the channel quantity; When the queue depth is less than a second depth threshold, it is determined that the channel quantity adjustment type is to reduce the channel quantity.
4. The method according to any one of claims 1 to 3, characterized in that Before determining the channel quantity adjustment type between the host end and the storage end, the method further includes: According to the size relationship between the queue depth and a preset depth threshold, controlling the response to the asynchronous event request sent by the host end; the asynchronous event request is a request that complies with the non-volatile memory host controller interface specification; Correspondingly, controlling the response to the asynchronous event request sent by the host end according to the size relationship between the queue depth and the preset depth threshold includes: When the queue depth is greater than a first depth threshold among the preset depth thresholds, responding to the asynchronous event request sent by the host end; When the queue depth is less than a second depth threshold among the preset depth thresholds, respond to the asynchronous event request sent by the host.
5. The method according to any one of claims 1 to 3, characterized in that: The method further comprises: A response message is generated according to the channel quantity adjustment type, and the response message is sent to the host end, instructing the host end to adjust the number of transmission channels between the host end and the storage end according to the response message; the response message carries an identifier of the channel quantity adjustment type.
6. The method according to any one of claims 1 to 3, characterized in that The current number of transmission channels between the host end and the storage end is less than the adjusted number of transmission channels; Before processing each service request in the service request queue, the method further includes: In response to the association request of the newly added transmission channel sent by the host, the newly added transmission channel of the host is associated with the newly added transmission channel of the host.
7. The method according to any one of claims 1 to 3, characterized in that The current service request queue includes a plurality of sub-service request queues; and the method further includes: Obtaining the subqueue depth of the sub-service request queue corresponding to each current transmission channel between the host end; The queue depth of the current service request queue is determined according to the depths of each sub-queue.
8. A method for processing a business request, characterized in that: Applied to the host side, the method includes: In response to a response message sent by the storage end, and according to the response message, adjusting the number of transmission channels between the host end and the storage end; the response message carries an identifier of the channel number adjustment type, and the channel number adjustment type is determined by the storage end according to the queue depth of the current service request queue; Based on the adjusted transmission channel between the host and the storage end, each service request in the current service request queue between the host and the storage end is sent to the storage end, instructing the storage end to process each service request; the adjusted number of transmission channels between the host and the storage end is adapted to the queue depth.
9. The method according to claim 8, characterized in that Before sending each service request in the current service request queue between the storage end and the storage end to the storage end, the method further includes: Sending an association request of the newly added transmission channel to the storage end, instructing the storage end to associate the newly added transmission channel with its own newly added transmission channel.
10. A business request processing system, characterized in that: The system comprises: a storage end and a host end; The storage end is used to perform the steps of any one of the methods of claims 1 to 7; The host end is used to execute the steps of any one of the methods in claims 8-9.
11. The system according to claim 10, characterized in that The storage end is communicatively connected to the host end, and the communication connection mode complies with the non-volatile memory host controller interface specification.