Storage array management method and device, storage array and storage medium
By dynamically adjusting the cache of the management device and optimizing the CLI response strategy in the storage array, the problem of data inconsistent during concurrent operations is solved, and the response efficiency and performance of the management device are improved.
Patent Information
- Application Number
- CN202411736156.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-29
- Publication Date
- 2025-03-21
- Estimated Expiration
- 2044-11-29
AI Technical Summary
Existing storage arrays are prone to data inconsistency when performing CLI concurrent operations. In order to ensure data consistency, CLI operations are usually executed in serial, resulting in a decrease in response efficiency.
By dynamically adjusting the cache of the management device of the storage array, optimizing the response strategy of the command line interface, using pre-configured command line attributes and execution priority association relationships, matching its execution priority according to the attributes of the command line interface, and executing the command line interface in order in priority order.
Improve the performance of the storage array management device, optimize the response efficiency of the command line interface, ensure the response of high-urgent requirements, and prioritize high-priority tasks when resources are insufficient.
Smart Images

Figure CN119668507A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of computer technology, and in particular to a storage array management method, a storage array management device, a storage array, and a computer-readable storage medium. Background Art
[0002] In industries such as finance, securities, and computing, it is very important to reliably maintain data in storage arrays. Once data errors or data overwriting occur, serious losses may occur. CLI (command-line interface) is a user interface provided by the storage array to manage and maintain itself. Since many objects operated by CLI may be interrelated, concurrent CLI operations may easily cause data inconsistency. In order to ensure data consistency, some CLIs are usually executed serially, and even all CLIs are executed serially in some storage arrays, which may affect the response efficiency of the storage array. Summary of the invention
[0003] Based on this, it is necessary to provide a storage array management method, a storage array management device, a storage array and a computer-readable storage medium to address the above technical problems, which can dynamically adjust the cache of the storage array management device, optimize the command line interface response strategy, and improve the performance of the management device.
[0004] On the one hand, a storage array management method is provided, the storage array management method comprising: obtaining command line interfaces to be executed in the storage array; wherein the number of command line interfaces to be executed is one or more; identifying command line attributes of the command line interfaces respectively, and matching execution priorities associated with each command line interface and the command line attributes; wherein each command line attribute is pre-configured and associated with the execution priority; and executing the command line interfaces in order of priority.
[0005] In one embodiment of the present application, the command line attributes of the command line interface are respectively identified, and the execution priority associated with each command line interface and the command line attribute is matched, including: in response to a real-time access request of a storage array associated with the command line interface, determining that the command line attribute of the command line interface is a real-time request attribute, and using a first priority associated with the real-time request attribute as the execution priority of the command line interface; in response to the command line interface being required for a management device of the storage array to display a current page, determining that the command line attribute of the command line interface is a display attribute, and using a second priority associated with the display attribute as the execution priority of the command line interface; wherein the execution priority of the first priority is higher than the execution priority of the second priority.
[0006] In one embodiment of the present application, the command line attributes of the command line interface are identified respectively, and matching the execution priority associated with each command line interface and the command line attribute also includes: identifying the command line attribute of the command line interface as other attributes, and determining that the command line interface is the third priority; wherein the other attributes represent non-display attributes and non-real-time request attributes; respectively evaluating the priority score of each command line interface belonging to the third priority; and sorting the execution order of the command line interfaces of the third priority based on the priority score.
[0007] In one embodiment of the present application, evaluating the priority score of the command line interface of the third priority includes: taking the command line interface of the priority score to be evaluated as the command line to be evaluated; determining whether the command line to be evaluated is associated with a management instruction; wherein the management instruction is used to operate the current page; in response to the command line to be evaluated being associated with the management instruction, assigning the command line to be evaluated a first scoring factor; in response to the command to be evaluated being an associated interface with the command line interface of the second priority, assigning the command line to be evaluated a second scoring factor; assigning the command line to be evaluated a third scoring factor or a fourth scoring factor based on the abnormal prompt level; assigning the command line to be evaluated a fifth scoring factor based on the access habit; and fusing the scoring factors obtained from the command line to be evaluated as a priority score; wherein the scoring factors include the first scoring factor, the second scoring factor, the third scoring factor, the fourth scoring factor, and the fifth scoring factor.
[0008] In one embodiment of the present application, assigning a fifth scoring factor to the command line to be evaluated based on access habits includes: obtaining multi-level associated access frequencies of the command line to be evaluated and the current page respectively; performing weighted fusion on the access frequency scores at each level; wherein the access frequency score represents a fitting value of the associated access frequency and the extreme value of the fifth scoring factor; wherein the N-level associated access frequency is the ratio of the first number to the second number; wherein the first number represents the number of times the current page is switched N times to jump to the page associated with the command line to be evaluated; and the second number represents the number of times the current page is switched N times to jump to any page.
[0009] In one embodiment of the present application, command line interfaces are executed in sequence according to priority order to update the cache of a storage array, including: in response to obtaining a real-time access request for the storage array, evaluating the execution priority of each command line interface to be executed to form a command line set corresponding to each execution priority; migrating the command line interface to be adjusted into an execution queue that matches its current execution priority; wherein the command line to be adjusted represents a command line interface whose current priority of the command line set is higher than the priority of the execution queue to which it is located.
[0010] In one embodiment of the present application, the management method also includes: obtaining the queuing time of the command line interface in the execution queue of the current priority; in response to the queuing time reaching the time threshold of the current priority; increasing the execution priority of the command line interface and migrating it to the execution queue of the increased execution priority.
[0011] On the other hand, a storage array management device is provided, and the storage array management device includes: an acquisition module and a management module; the acquisition module is used to acquire a command line interface to be executed. The management module is connected to the acquisition module to implement the following steps: acquiring the command line interface to be executed in the storage array; wherein the number of the command line interfaces to be executed is one or more; identifying the command line attributes of the command line interfaces respectively, matching the execution priority associated with each command line interface and the command line attribute; wherein the pre-configured relationship between each command line attribute and the execution priority; and executing the command line interfaces in order of priority.
[0012] On the other hand, a storage array is provided, which includes a storage array body and a storage array management device; the storage array management device is as described in the above embodiments, and the storage array management device is connected to the storage array body.
[0013] On the other hand, a computer-readable storage medium is provided, on which a computer program is stored, and when the computer program is executed by a processor, the following steps are implemented: obtaining command line interfaces to be executed in a storage array; wherein the number of command line interfaces to be executed is one or more; identifying command line attributes of the command line interfaces respectively, and matching execution priorities associated with the command line attributes of each command line interface; wherein the pre-configured command line attributes are associated with the execution priorities; and executing the command line interfaces in order of priority.
[0014] The above-mentioned storage array management method, storage array management device, storage array and computer-readable storage medium determine the execution priority of the command line interface to be executed in the storage array. In the present application, the command line attributes of the command line interface are pre-associated with the execution priority, so as to match the execution priority of the command line interface based on the command line attributes of the command line interface, and execute the command line interface in order of priority, thereby dynamically adjusting the cache of the management device storing the entire column, so as to improve the execution efficiency of the command line interface with higher response efficiency requirements by optimizing the corresponding strategy of the command line interface, thereby facilitating improving the performance of the management device. BRIEF DESCRIPTION OF THE DRAWINGS
[0015] Figure 1 It is a flowchart of an embodiment of a storage array management method of the present application;
[0016] Figure 2It is a flowchart of another embodiment of the storage array management method of the present application;
[0017] Figure 3 This is a flowchart of an embodiment of updating execution priority of the present application;
[0018] Figure 4 This is a flow chart of an embodiment of the command line interface entering the execution queue of the present application;
[0019] Figure 5 This is a flowchart of an embodiment of the present application for processing a real-time access request;
[0020] Figure 6 It is a structural schematic diagram of an embodiment of a storage array of the present application;
[0021] Figure 7 It is a structural diagram of an embodiment of a storage array management device of the present application;
[0022] Figure 8 It is a structural diagram of an embodiment of a computer device of the present application. DETAILED DESCRIPTION
[0023] In order to make the purpose, technical solution and advantages of the present application more clearly understood, the present application is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.
[0024] With the rapid development of the Internet, the growth of large models and AI has been particularly significant in recent years. In view of this, the demand for data has increased, and the application scenarios of storage arrays for data storage have become more extensive.
[0025] The security and reliability of data storage is one of the key indicators for measuring the performance of storage arrays. As explained above, CLI is a user interface provided by the storage array to manage and maintain itself. Since many objects operated by CLI are interrelated and affected, concurrent CLI operations can easily cause data inconsistency. Therefore, to ensure data consistency, many CLIs need to be executed serially. Even in some storage arrays, all CLIs must be executed serially. However, CLI serialization will inevitably affect its response speed, and the storage array management device operates the storage array through CLI, which will affect the response speed of both the storage array and the management device.
[0026] In order to solve the technical problem of storage array response delay existing in the related art, the present application provides a storage array management method, a storage array management device, a storage array and a computer-readable storage medium. The storage array management method includes obtaining a command line interface to be executed in the storage array; wherein the number of command line interfaces to be executed is one or more; respectively identifying the command line attributes of the command line interface, matching the execution priority associated with each command line interface and the command line attribute; wherein the pre-configured command line attributes are associated with the execution priority; and executing the command line interfaces in order of priority. The specific working principle of the present application is described below with examples.
[0027] See also Figure 1 , Figure 1 It is a flowchart of an embodiment of a storage array management method of the present application.
[0028] S101: Acquire command line interfaces to be executed in a storage array; wherein the number of command line interfaces to be executed is one or more.
[0029] In this embodiment, the command line interface refers to a visual prompt interface provided by the storage array and / or the storage array management device to the user. When using the command line interface, commands can be entered in a specific line to receive data in response to the command line interface from the storage array and / or the storage array management device.
[0030] S102: Respectively identify command line attributes of the command line interfaces, and match execution priorities associated with the command line attributes of the command line interfaces; wherein the association relationship between the command line attributes and the execution priorities is pre-configured.
[0031] In this embodiment, the command line attribute is used to characterize the role, request, function, etc. of the command line interface. The execution priority can represent the urgency of the command line interface execution.
[0032] In this embodiment, execution priorities are pre-associated with several command line attributes. The execution priority indicates that a command line interface with a high execution priority can be executed before a command line interface with a low execution priority. Optionally, two-level execution priorities, three-level execution priorities, four-level execution priorities, etc. can be pre-planned to reduce the cumbersome burden of excessive grading while planning multiple execution priorities.
[0033] In this way, when the command line interface to be executed is obtained, the command line attributes of the command line interface can be identified. In response to obtaining the command line attributes of the command line interface, the execution priority matching its command line attributes is obtained to identify the execution priority of the command line interface to be executed using the execution priority.
[0034] S103: Execute the command line interfaces in order of priority.
[0035] In this embodiment, in response to completing the identification of the execution priority of the command line interface to be executed, the command line interface is executed in sequence according to the priority order.
[0036] For example, in this embodiment, when a new command line interface such as a real-time access request waiting to be executed is obtained, the execution priority of all command line interfaces to be executed can be re-compared; or, only the newly obtained command interface to be executed can be evaluated for execution priority; or, some of the previously existing command line interfaces to be executed and the current newest command line interface to be executed can be selected for execution priority evaluation, which is not limited here.
[0037] Thus, in this embodiment, the execution priority of the command line interface to be executed in the storage array is determined. That is to say, the command line attributes of the command line interface and the execution priority can be pre-associated and configured to match the execution priority based on the command line attributes of the command line interface, and the command line interface is executed in order of priority, thereby dynamically adjusting the cache of the management device of the entire storage array, so that resources are tilted towards the command line interface with high urgency, and even the response and implementation of high urgency requirements can be guaranteed even when resources are insufficient, so as to improve the execution efficiency of the command line interface with higher response efficiency requirements by optimizing the corresponding strategy of the command line interface, thereby helping to improve the performance of the management device.
[0038] See also Figure 2 , Figure 2 It is a flowchart of another embodiment of the storage array management method of the present application. It should be noted that in this embodiment, the execution priority includes the first priority, the second priority and the third priority as an example for explanation. Among them, the priority levels of the first priority, the second priority and the third priority decrease step by step. In layman's terms, the first priority has the highest priority level, and the command line interface of the first priority can be executed first.
[0039] S201: Obtain a command line interface to be executed.
[0040] S202: Identify command line attributes of a command line interface.
[0041] S203: The command line attribute of the command line interface is a real-time request attribute, and the execution priority of the command line interface is determined to be the first priority.
[0042] In this embodiment, in response to a real-time access request of a command line interface associated with a storage array, the command line attribute of the command line interface is determined to be a real-time request attribute, and the first priority associated with the real-time request attribute is used as the execution priority of the command line interface.
[0043] That is to say, in this embodiment, the user's real-time access request is configured as the highest priority to give priority to executing the command line interface of the real-time access request, thereby responding to the user's real-time access request in a timely manner, which can improve the response efficiency so that the user can obtain the desired data in a relatively shorter time.
[0044] S204: The command line attribute of the command line interface is a display attribute, and the execution priority of the command line interface is determined to be the second priority.
[0045] In this embodiment, in response to the command line interface being required by the storage array management device to display the current page, the command line attribute of the command line interface is determined to be a display attribute, and the second priority associated with the display attribute is used as the execution priority of the command line interface. If the current page can be displayed in a timely and complete manner, the loading speed of the current page can be improved. In other words, in this embodiment, the loading speed of the current page can be improved while ensuring the efficiency of responding to user requests, so that the current page can be loaded in a relatively short time for display, reducing the time the user waits for the current page to load, thereby significantly improving the user experience by rationally planning the priority level.
[0046] In other words, the real-time request attribute and the display attribute can be configured to have a higher priority level than other attributes to improve the response efficiency of real-time interaction with users. At the same time, the command line interface configured with the real-time request attribute and the display attribute can be input into the execution queue of the corresponding execution priority, and executed in sequence according to the time when the command line interface entered the queue, that is, executed in the order in which the command line interface was obtained.
[0047] S205: The command line attribute of the command line interface is other attributes, and the execution priority of the command line interface is determined to be the third priority.
[0048] In this embodiment, the command line attributes of the command line interface may be identified as other attributes, and the command line interface is determined to be the third priority; wherein the other attributes represent non-display attributes and non-real-time request attributes.
[0049] S206: Evaluate the priority scores of the command line interfaces of the third priority, and sort the execution order of the command line interfaces of the third priority based on the priority scores.
[0050] In this embodiment, the priority scores of the command line interfaces of the third priority may be evaluated respectively, and the execution order of the command line interfaces of the third priority may be sorted based on the priority scores.
[0051] That is to say, in this embodiment, the queuing method of the command line interface with other attributes can be different from the queuing method of the command line interface with higher priority. The priority scores of the command line interfaces to be executed with other attributes are evaluated respectively, and the command line interfaces are sorted based on the priority scores, so that the execution order of the command line interfaces can be planned in combination with the scoring mechanism, and the command line interfaces with higher priority scores can be executed first, further improving the rationality of the command line interface execution order planning.
[0052] In an alternative embodiment, the command line interfaces of each execution priority may be queued according to the acquisition time; or the command line interfaces of each execution priority may be queued according to the evaluated priority score, etc. Other queuing methods will not be described in detail here.
[0053] Specifically, the command line interface of the priority score to be evaluated can be used as the command line to be evaluated. It is determined whether the command line to be evaluated is associated with a management instruction; wherein the management instruction is used to operate the current page.
[0054] In response to the management instruction associated with the command line to be evaluated, a first scoring factor is assigned to the command line to be evaluated.
[0055] In response to the association interface of the command behavior to be evaluated with the command line interface of the second priority, the command line to be evaluated is assigned a second scoring factor. For example, if object X is generated (or composed) by object Y, or object X can be generated or composed or applied to object Z, then objects Y and Z are called associated objects of object X, and the command line interfaces of objects Y and Z can be called associated command line interfaces of the command line interface of object X. For example, the associated command line interface of the command line interface for querying the pool is the command line interface for querying RAID, volume, and file system, and the associated command line interface of the command line interface for querying the volume is the command line interface for querying the pool, host, snapshot, mirror, and remote replication. Objects in different storage arrays are not the same, and the relationship between objects is also different, so the present invention does not repeat the specific association relationship.
[0056] The third scoring factor or the fourth scoring factor is assigned to the command line to be evaluated based on the abnormal prompt level. For example, when the abnormal prompt level is low, the third scoring factor is assigned; when the abnormal prompt level is high, the fourth scoring factor is assigned. The score of the third scoring factor is lower than the score of the fourth scoring factor, so that the command line interface with a higher abnormal risk is executed first.
[0057] A fifth scoring factor is assigned to the command line to be evaluated based on access habits.
[0058] The scoring factors obtained by the command line to be evaluated are integrated as the priority score. The scoring factors include a first scoring factor, a second scoring factor, a third scoring factor, a fourth scoring factor, and a fifth scoring factor. Optionally, the scoring factors may be superimposed, or weighted fusion may be performed, or the maximum value may be taken, which is not limited here.
[0059] Optionally, at least one of the first scoring factor, the second scoring factor, the third scoring factor, the fourth scoring factor, and the fifth scoring factor may be an empirical value, calculated by a machine learning algorithm based on historical data, etc., which is not limited here.
[0060] It can be seen that when evaluating the priority score of the command line interface, factors such as the association of storage array objects and user access habits can be comprehensively considered to improve the rationality of the priority score calculation method. It can also adapt to user habits to further improve the storage array's response efficiency to user-concerned information.
[0061] Optionally, when evaluating the fifth scoring factor, the multi-level associated access frequencies of the command line to be evaluated and the current page can be obtained respectively. The access frequency scores at each level are weighted and fused. Among them, the access frequency score represents the fitting value of the associated access frequency and the extreme value of the fifth scoring factor. Among them, the N-level associated access frequency is the ratio of the first number to the second number. Among them, the first number represents the number of times the current page is switched N times to jump to the page associated with the command line to be evaluated; the second number represents the number of times the current page is switched N times to jump to any page.
[0062] For example, the N-level association access frequency may be the number of times page A (ie, the current page) switches N times to page B divided by the total number of times page A switches N times to any page (including page A and page B).
[0063] Furthermore, the weighting factors of different levels of access frequency scores may be different, and access frequency levels with fewer jumps may have a higher weighting factor.
[0064] For example, the calculation formula of the fifth evaluation factor can be shown as follows:
[0065] S5=F1*S5 max *4 / 7+F2*S5 max *4 / 7+F3*S5 max *1 / 7
[0066] Among them, F1 represents the first-level association access frequency, F2 represents the second-level association access frequency, F3 represents the third-level association access frequency; S5 represents the fifth evaluation factor, S5 maxrepresents the maximum value of the fifth evaluation factor; 4 / 7, 4 / 7, and 1 / 7 represent the weighting factors of the access frequency scores of the first-level associated access frequency, the second-level associated access frequency, and the third-level associated access frequency, respectively.
[0067] See also Figure 3 , Figure 3 It is a flowchart of an embodiment of updating execution priority of the present application.
[0068] S301: Evaluate the execution priority of each command line interface.
[0069] In this embodiment, the execution priority of each command line interface to be executed can be evaluated to form a command line set corresponding to each execution priority. The command line interface to be adjusted is moved to an execution queue that matches its current execution priority. In this embodiment, the command line to be adjusted represents a command line interface whose priority of the current command line set is higher than the priority of the execution queue in which it is located.
[0070] In this way, the execution priority of each command line interface can be updated so that the execution priority assigned to the command line interface adapts to the real-time situation of the storage array, and the priority of the command line interface that should currently be of a relatively high priority but is actually at a lower priority is adjusted, thereby shortening its queuing time and speeding up its execution.
[0071] S302: Update the execution queue of the first priority.
[0072] In this embodiment, based on the evaluated execution priority of each command line interface, the command line interface can be moved into an execution queue that matches the currently evaluated execution priority.
[0073] That is, the command line interface evaluated as the first priority can be written into the execution queue corresponding to the first priority.
[0074] S303: Update the execution queue of the second priority.
[0075] In this embodiment, the command line interface evaluated as the second priority may be written into the execution queue corresponding to the second priority.
[0076] S304: Update the execution queue of the third priority.
[0077] In this embodiment, the command line interface evaluated as the third priority may be written into the execution queue corresponding to the third priority.
[0078] For example, according to the execution priorities of all command line interfaces of the currently acquired real-time access requests, high, second, and low priority command line interfaces can be designed and calculated to form high, second, and low priority sets Set1, Set2, and Set3, respectively.
[0079] The command line interfaces in the secondary and low priority queues in Set1 can be moved to the high priority queue, and the order of movement can be in the positive order of the time when the command line interfaces were initially queued. The command line interfaces in the low priority queue in Set2 can be moved to the secondary priority queue, and the order of movement can be in the positive order of the time when the command line interfaces were initially queued. The CLIs in the high priority queue in Set2 remain in the high priority queue, because these command line interfaces were previously determined to require high priority execution, but they are still in the queue, indicating that the previous high priority tasks have not been completed and need to maintain high priority. The command line interfaces in the low priority queue in Set3 can be moved back to the low priority queue according to the latest score from high to low. The command line interfaces in the high and secondary priority queues in Set3 remain in their queues.
[0080] Optionally, in this embodiment, when the execution queues of each execution priority are updated, the command line interfaces of each changed execution priority can be further screened. When the execution priority of the command line interface is reduced after re-evaluation, the command line interface does not need to be processed and is thrown into the execution queue of the original execution priority for queueing. When the execution priority of the command line interface is increased after re-evaluation, it can be moved to the execution queue of the re-evaluated execution priority.
[0081] Furthermore, at moments such as when a new command line interface to be executed is obtained, when the command line interface to be executed is written to the lowest priority execution queue for queuing, the scores of all command line interfaces belonging to the lowest priority execution queue can be re-evaluated, that is, the command line interfaces of the execution queue are dequeued, and the priority scores are re-evaluated, and the command line interfaces are re-queued according to the re-evaluated priority scores to adjust the execution order of each command line interface.
[0082] Furthermore, in this embodiment, the queuing time of the command line interface in the execution queue of the current priority level can be obtained. In response to the queuing time reaching the time threshold of the current priority level. The execution priority of the command line interface is increased, and it is moved into the execution queue of the increased execution priority level. Among them, the time thresholds of each execution priority level can be the same or different, and can be determined according to the actual business scenario, which is not limited here. In this way, in this embodiment, the risk of the command line interface being in a relatively low-priority execution queue for a long time and not being executed for a long time can be reduced, so that other command line interfaces can be reasonably executed while ensuring the response efficiency of the storage array and its management device, thereby further improving the rationality of the command line interface execution strategy of this embodiment.
[0083] See also Figure 4 , Figure 4This is a flow chart of an embodiment of the command line interface entering the execution queue of the present application. In this embodiment, the working principle of adding the new command line interface to the queue is described by example when the command line interface data changes and the command line interface notifies the management device of the changed command line interface.
[0084] S401: Classify the command lines to be adjusted.
[0085] In this embodiment, the command lines to be adjusted may be classified based on their priorities.
[0086] S402: Writing the command line to be adjusted to the first priority into the execution queue of the first priority, and writing the command line to be adjusted to the second priority into the execution queue of the second priority.
[0087] In this embodiment, if the high-priority or low-priority command line interface is already in the corresponding queue, it does not need to be added again, which can reduce the processing of the command line interface and save time. If the current high-priority command line interface is in the low-priority or low-priority queue, move the command line interface to the high-priority queue; if the current low-priority command line interface is in the low-priority queue, move the command line interface to the low-priority queue.
[0088] S403: Sort the command lines to be adjusted to the third priority level according to the priority scores, and write them into the execution queue of the third priority level in order.
[0089] See also Figure 5 , Figure 5 It is a flowchart of an embodiment of the present application for processing real-time access requests.
[0090] S501: Obtain a real-time access request.
[0091] In this embodiment, the management device may obtain real-time access requests from, for example, a web page, a mini-program, or the like.
[0092] S502: Determine whether the command line interface corresponding to the real-time access request is in a first priority execution queue.
[0093] S503: Waiting to execute the command line interfaces in the execution queue of the first priority in sequence until the command line interface corresponding to the real-time access request is executed.
[0094] S504: Acquire data required by the command line interface from the cache of the management device of the storage device.
[0095] S505: Assemble response data and respond to the real-time access request.
[0096] It should be understood that although Figures 1 to 5The steps in the flowchart are shown in sequence as indicated by the arrows, but these steps are not necessarily executed in the order indicated by the arrows. Unless otherwise specified in this document, there is no strict order restriction for the execution of these steps, and these steps can be executed in other orders. Moreover, Figures 1 to 5 At least part of the steps may include multiple sub-steps or multiple stages. These sub-steps or stages are not necessarily executed at the same time, but can be executed at different times. The execution order of these sub-steps or stages is not necessarily sequential, but can be executed in turn or alternately with other steps or at least part of the sub-steps or stages of other steps.
[0097] See also Figure 6 , Figure 6 It is a structural diagram of an embodiment of a storage array of the present application.
[0098] In one embodiment, the storage array includes a storage array body 10 and a storage array management device 20 .
[0099] The storage array management device 20 is connected to the storage array body 10 .
[0100] See also Figure 7 , Figure 7 It is a structural diagram of an embodiment of a storage array management device of the present application.
[0101] In one embodiment, the storage array management device may include an acquisition module 21 and a management module 22 .
[0102] The acquisition module 21 is used to acquire a command line interface to be executed.
[0103] The management module 22 is connected to the acquisition module 21 to implement the storage array management method as described in any one of the above items. That is, the management module 22 can be used to acquire the command line interface to be executed in the storage array; wherein the number of the command line interface to be executed is one or more. The command line attributes of the command line interface are identified respectively, and the execution priority associated with each command line interface and the command line attribute is matched; wherein the pre-configured command line attribute is associated with the execution priority. The command line interfaces are executed in order of priority.
[0104] Thus, in this embodiment, the execution priority of the command line interface to be executed in the storage array is determined. That is, the command line attribute of the command line interface and the execution priority can be pre-associated and configured to match the execution priority based on the command line attribute of the command line interface, and the command line interface is executed in the order of priority, thereby dynamically adjusting the cache of the management device of the entire storage array, so as to improve the execution efficiency of the command line interface with higher response efficiency requirements by optimizing the corresponding strategy of the command line interface, thereby facilitating the improvement of the performance of the management device.
[0105] For the specific definition of the storage array management device, please refer to the definition of the storage array management method above, which will not be repeated here. Each module in the above storage array management device can be implemented in whole or in part by software, hardware and a combination thereof. The above modules can be embedded in or independent of the processor in the computer device in the form of hardware, or can be stored in the memory of the computer device in the form of software, so that the processor can call and execute the operations corresponding to the above modules.
[0106] In one embodiment, a computer program product is provided, including a computer program. When the computer program is executed by a processor, the steps of the storage array management method described above are implemented, which will not be described in detail here.
[0107] See also Figure 8 , Figure 8 It is a structural diagram of an embodiment of a computer device of the present application.
[0108] In one embodiment, the computer device may be a server, and its internal structure diagram may be as follows: Figure 8 As shown in the example.
[0109] The computer device includes a processor, a memory, a network interface and a database connected through a system bus. The processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, a computer program and a database. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The database of the computer device is used to store data such as operation logs. The network interface of the computer device is used to communicate with an external terminal through a network connection. When the computer program is executed by the processor, a storage array management method is implemented.
[0110] Those skilled in the art will understand that Figure 8The structure shown as an example is merely a block diagram of a portion of the structure related to the present application solution, and does not constitute a limitation on the computer device to which the present application solution is applied. The specific computer device may include more or fewer components than shown in the figure, or combine certain components, or have a different component arrangement.
[0111] In one embodiment, a computer device is provided, including a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, the following steps may be implemented:
[0112] S101: Acquire command line interfaces to be executed in a storage array; wherein the number of command line interfaces to be executed is one or more.
[0113] S102: Respectively identify command line attributes of the command line interfaces, and match execution priorities associated with the command line attributes of the command line interfaces; wherein the association relationship between the command line attributes and the execution priorities is pre-configured.
[0114] S103: Execute the command line interfaces in order of priority.
[0115] In one embodiment, the command line attributes of the command line interface are identified respectively, and when the execution priority associated with each command line interface and the command line attribute is matched, the processor can also implement the following steps when executing the computer program: in response to a real-time access request of a storage array associated with the command line interface, the command line attribute of the command line interface is determined to be a real-time request attribute, and the first priority associated with the real-time request attribute is used as the execution priority of the command line interface; in response to the command line interface being required for the management device of the storage array to display the current page, the command line attribute of the command line interface is determined to be a display attribute, and the second priority associated with the display attribute is used as the execution priority of the command line interface; wherein the execution priority of the first priority is higher than the execution priority of the second priority.
[0116] In one embodiment, the command line attributes of the command line interface are identified respectively, and when the execution priority associated with each command line interface and the command line attribute is matched, the processor can also implement the following steps when executing the computer program: identify the command line attributes of the command line interface as other attributes, and determine that the command line interface is the third priority; wherein the other attributes represent non-display attributes and non-real-time request attributes; respectively evaluate the priority score of each command line interface belonging to the third priority; and sort the execution order of the command line interfaces of the third priority based on the priority score.
[0117] In one embodiment, when evaluating the priority score of the command line interface of the third priority, the processor can also implement the following steps when executing the computer program: taking the command line interface of the priority score to be evaluated as the command line to be evaluated; determining whether the command line to be evaluated is associated with a management instruction; wherein the management instruction is used to operate the current page; in response to the command line to be evaluated being associated with the management instruction, assigning the command line to be evaluated a first scoring factor; in response to the command to be evaluated being an associated interface with the command line interface of the second priority, assigning the command line to be evaluated a second scoring factor; assigning the command line to be evaluated a third scoring factor or a fourth scoring factor based on the abnormal prompt level; assigning the command line to be evaluated a fifth scoring factor based on the access habit; and fusing the scoring factors obtained from the command line to be evaluated as a priority score; wherein the scoring factors include the first scoring factor, the second scoring factor, the third scoring factor, the fourth scoring factor, and the fifth scoring factor.
[0118] In one embodiment, when the fifth scoring factor is assigned to the command line to be evaluated based on access habits, the processor can also implement the following steps when executing the computer program: respectively obtain the multi-level associated access frequency of the command line to be evaluated and the current page; perform weighted fusion on the access frequency scores at each level; wherein the access frequency score represents the fitting value of the associated access frequency and the extreme value of the fifth scoring factor; wherein the N-level associated access frequency is the ratio of the first number to the second number; wherein the first number represents the number of times the current page is switched N times to jump to the page associated with the command line to be evaluated; and the second number represents the number of times the current page is switched N times to jump to any page.
[0119] In one embodiment, when the command line interfaces are executed in sequence according to the priority order to update the cache of the storage array, the processor may further implement the following steps when executing the computer program: in response to obtaining a real-time access request for the storage array, evaluating the execution priority of each command line interface to be executed to form a command line set corresponding to each execution priority; migrating the command line interface to be adjusted into an execution queue that matches its current execution priority; wherein the command line to be adjusted represents a command line interface whose current priority of the command line set is higher than the priority of the execution queue to which it is located.
[0120] In one embodiment, the processor may also implement the following steps when executing a computer program: obtaining the queuing time of the command line interface in the execution queue of the current priority; in response to the queuing time reaching the time threshold of the current priority; increasing the execution priority of the command line interface and moving it into the execution queue of the increased execution priority.
[0121] In one embodiment, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the following steps can be implemented:
[0122] S101: Acquire command line interfaces to be executed in a storage array; wherein the number of command line interfaces to be executed is one or more.
[0123] S102: Respectively identify command line attributes of the command line interfaces, and match execution priorities associated with the command line attributes of the command line interfaces; wherein the association relationship between the command line attributes and the execution priorities is pre-configured.
[0124] S103: Execute the command line interfaces in order of priority.
[0125] In one embodiment, the command line attributes of the command line interface are identified respectively, and when the execution priorities associated with each command line interface and the command line attributes are matched, the following steps can also be implemented when the computer program is executed by the processor: in response to a real-time access request of a storage array associated with the command line interface, the command line attribute of the command line interface is determined to be a real-time request attribute, and the first priority associated with the real-time request attribute is used as the execution priority of the command line interface; in response to the command line interface being required for the management device of the storage array to display the current page, the command line attribute of the command line interface is determined to be a display attribute, and the second priority associated with the display attribute is used as the execution priority of the command line interface; wherein the execution priority of the first priority is higher than the execution priority of the second priority.
[0126] In one embodiment, the command line attributes of the command line interface are identified respectively, and when the execution priority associated with each command line interface and the command line attribute is matched, the following steps can also be implemented when the computer program is executed by the processor: identifying the command line attributes of the command line interface as other attributes, and determining that the command line interface is the third priority; wherein the other attributes represent non-display attributes and non-real-time request attributes; respectively evaluating the priority score of each command line interface belonging to the third priority; and sorting the execution order of the command line interfaces of the third priority based on the priority score.
[0127] In one embodiment, when evaluating the priority score of the command line interface of the third priority, the computer program can also implement the following steps when executed by the processor: taking the command line interface of the priority score to be evaluated as the command line to be evaluated; determining whether the command line to be evaluated is associated with a management instruction; wherein the management instruction is used to operate the current page; in response to the command line to be evaluated being associated with the management instruction, assigning the command line to be evaluated a first scoring factor; in response to the command to be evaluated being an associated interface with the command line interface of the second priority, assigning the command line to be evaluated a second scoring factor; assigning the command line to be evaluated a third scoring factor or a fourth scoring factor based on the abnormal prompt level; assigning the command line to be evaluated a fifth scoring factor based on the access habit; and fusing the scoring factors obtained from the command line to be evaluated as a priority score; wherein the scoring factors include the first scoring factor, the second scoring factor, the third scoring factor, the fourth scoring factor, and the fifth scoring factor.
[0128] In one embodiment, when the fifth scoring factor is assigned to the command line to be evaluated based on access habits, the following steps may be implemented when the computer program is executed by the processor: respectively obtaining the multi-level associated access frequencies of the command line to be evaluated and the current page; performing weighted fusion on the access frequency scores at each level; wherein the access frequency score represents the fitting value of the associated access frequency and the extreme value of the fifth scoring factor; wherein the N-level associated access frequency is the ratio of the first number to the second number; wherein the first number represents the number of times the current page is switched N times to jump to the page associated with the command line to be evaluated; and the second number represents the number of times the current page is switched N times to jump to any page.
[0129] In one embodiment, when the command line interfaces are executed in sequence according to the priority order to update the cache of the storage array, the following steps may also be implemented when the computer program is executed by the processor: in response to obtaining a real-time access request for the storage array, the execution priority of each command line interface to be executed is evaluated to form a command line set corresponding to each execution priority; the command line interface to be adjusted is migrated to an execution queue that matches its current execution priority; wherein the command line to be adjusted represents a command line interface whose priority of the command line set to which it currently belongs is higher than the priority of the execution queue to which it is located.
[0130] In one embodiment, when the computer program is executed by the processor, the following steps can also be implemented: obtaining the queuing time of the command line interface in the execution queue of the current priority; in response to the queuing time reaching the time threshold of the current priority; increasing the execution priority of the command line interface and migrating it to the execution queue of the increased execution priority.
[0131] Those skilled in the art can understand that all or part of the processes in the above-mentioned embodiments can be completed by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to memory, storage, database or other media used in the embodiments provided in the present application can include non-volatile and / or volatile memory. Non-volatile memory can include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM) or flash memory. Volatile memory can include random access memory (RAM) or external cache memory. As an illustration and not limitation, RAM is available in many forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronous link (Synchlink) DRAM (SLDRAM), memory bus (Rambus) direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM).
[0132] The technical features of the above embodiments may be combined arbitrarily. To make the description concise, 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, they should be considered to be within the scope of this specification.
[0133] The above-mentioned embodiments only express several implementation methods of the present application, and the descriptions thereof are relatively specific and detailed, but they cannot be understood as limiting the scope of the invention patent. It should be pointed out that, for ordinary technicians in this field, several variations and improvements can be made without departing from the concept of the present application, and these all belong to the protection scope of the present application.
Claims
1. A storage array management method, characterized in that: The management method comprises: Obtaining a command line interface to be executed in the storage array; wherein the number of the command line interface to be executed is one or more; Respectively identifying the command line attributes of the command line interface, and matching the execution priority associated with each command line interface and the command line attribute; wherein the pre-configured association relationship between each command line attribute and the execution priority; The command line interfaces are executed in sequence according to the priority order.
2. The management method according to claim 1, characterized in that: The identifying the command line attributes of the command line interfaces respectively and matching the execution priorities associated with the command line attributes of the command line interfaces comprises: In response to a real-time access request of a storage array associated with the command line interface, determining that a command line attribute of the command line interface is a real-time request attribute, and using a first priority associated with the real-time request attribute as an execution priority of the command line interface; In response to the command line interface being required for displaying a current page by a management device of a storage array, determining that a command line attribute of the command line interface is a display attribute, and using a second priority level associated with the display attribute as an execution priority level of the command line interface; The execution priority of the first priority level is higher than the execution priority of the second priority level.
3. The management method according to claim 1 or 2, characterized in that: The step of respectively identifying the command line attributes of the command line interfaces and matching the execution priorities associated with the command line attributes of the command line interfaces further comprises: Identifying that the command line attribute of the command line interface is other attribute, and determining that the command line interface is of the third priority; wherein the other attribute indicates a non-display attribute and a non-real-time request attribute; Evaluate the priority scores of the command line interfaces belonging to the third priority level respectively; Based on the priority score, the execution order of the command line interfaces of the third priority is sorted.
4. The management method according to claim 3, characterized in that: The priority score of evaluating the third priority command line interface includes: Using the command line interface of the priority score to be evaluated as the command line to be evaluated; Determine whether the command line to be evaluated is associated with a management instruction; wherein the management instruction is used to operate the current page; In response to the management instruction associated with the command line to be evaluated, assigning a first scoring factor to the command line to be evaluated; In response to the association interface between the command behavior to be evaluated and the command line interface of the second priority, assigning a second scoring factor to the command line to be evaluated; Assigning a third scoring factor or a fourth scoring factor to the command line to be evaluated based on the abnormal prompt level; assigning a fifth scoring factor to the command line to be evaluated based on access habits; The scoring factors obtained by integrating the command line to be evaluated are used as the priority score; wherein the scoring factors include the first scoring factor, the second scoring factor, the third scoring factor, the fourth scoring factor, and the fifth scoring factor.
5. The management method according to claim 4, characterized in that: The fifth scoring factor assigned to the command line to be evaluated based on access habits includes: Respectively obtain the multi-level associated access frequencies of the command line to be evaluated and the current page; Performing weighted fusion on the access frequency scores at each level; wherein the access frequency score represents the fitting value of the associated access frequency and the extreme value of the fifth scoring factor; The N-level associated access frequency is the ratio of the first number to the second number; the first number indicates the number of times the current page is switched N times to the page associated with the command line to be evaluated; the second number indicates the number of times the current page is switched N times to any page.
6. The management method according to claim 1, characterized in that: The executing the command line interface in order of priority to update the cache of the storage array includes: In response to obtaining a real-time access request of the storage array, evaluating the execution priority of each of the command line interfaces to be executed to form a command line set corresponding to each execution priority; The command line interface to be adjusted is moved into an execution queue that matches its current execution priority; wherein the command line to be adjusted represents a command line interface whose current priority of the command line set is higher than the priority of the execution queue in which it is located.
7. The management method according to claim 1, characterized in that: The management method also includes: Obtaining the queue time of the command line interface in the execution queue of the current priority; In response to the queuing time reaching a time threshold of the current priority; The execution priority of the command line interface is increased, and it is moved into an execution queue with the increased execution priority.
8. A storage array management device, characterized in that: The management device comprises: An acquisition module is used to obtain a command line interface to be executed; A management module is connected to the acquisition module to implement the storage array management method according to any one of claims 1 to 7.
9. A storage array, characterized in that: The storage array comprises: Storage array body; The storage array management device as described in claim 8 is connected to the storage array body.
10. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the storage array management method according to any one of claims 1 to 7 are implemented.
Citation Information
Patent Citations
Command control method and command controller
CN102207889A
Scheduling method and device for command scheduling queue, controller and storage medium
CN114691046A
Data reconstruction management method and device of distributed storage system, equipment and medium
CN117608502A
Data processing method, device and equipment based on dual-port solid state disk
CN118642849A
Policy driven IO scheduler to improve read IO performance in hybrid storage systems
US10599340B1
