Method and device for managing storage array, storage array and storage medium

By identifying and matching the attributes and priorities of the command-line interface, the cache of the storage array management device is dynamically adjusted, which solves the data inconsistency problem caused by CLI concurrent operations and improves the response efficiency of the storage array and the user experience.

CN119668507BActive Publication Date: 2026-04-07INSPUR SUZHOU INTELLIGENT TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-11-29
Publication Date
2026-04-07

AI Technical Summary

Technical Problem

In storage arrays, concurrent CLI operations can easily lead to data inconsistency and affect response efficiency. Existing technologies ensure data consistency by executing CLI operations serially, but this results in a decrease in response speed.

Method used

By identifying the attributes of the command-line interface and matching execution priorities, the management device cache of the storage array is dynamically adjusted, the response strategy of the command-line interface is optimized, and high-priority operations are ensured to be executed first.

Benefits of technology

It improves the responsiveness of storage arrays and management devices, especially the response speed of real-time access requests and page displays, thus enhancing the user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119668507B_ABST
    Figure CN119668507B_ABST
Patent Text Reader

Abstract

The application relates to the computer technical field, in particular to a storage array management method and device, a storage array and a storage medium. The storage array management method comprises the following steps: obtaining command line interfaces to be executed in a storage array; the number of the command line interfaces to be executed is one or more; respectively identifying command line attributes of the command line interfaces, and matching execution priorities associated with the command line attributes of the command line interfaces; the preconfigured command line attributes are associated with the execution priority association relationship; and the command line interfaces are sequentially executed according to the priority order. The method can dynamically adjust the cache of the management device of the storage array, optimize a command line interface response strategy, and improve the performance of the management device.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of computer, in particular to a storage array management method, a storage array management device, a storage array and a computer readable storage medium. BACKGROUND

[0002] In the industry such as finance, securities, computing, etc., it is very important to reliably maintain the data in the storage array, and once data error or being mistakenly overwritten may cause serious loss. The CLI (command-line interface) is a user interface provided by the storage array to manage and maintain itself. Since there may be mutual influence between the objects of many CLI operations, concurrent CLI operation is likely to cause data inconsistency problem. In order to ensure data consistency, part of the CLI is usually executed serially, or even all the CLI in some storage arrays are executed serially, which is likely to affect the response efficiency of the storage array. SUMMARY

[0003] Therefore, it is necessary to provide a storage array management method, a storage array management device, a storage array and a computer readable storage medium, which can dynamically adjust the cache of the storage array management device, optimize the CLI response strategy, and improve the performance of the management device.

[0004] In one aspect, a storage array management method is provided, which includes: obtaining a command-line interface to be executed in a storage array; wherein the number of the command-line interface to be executed is one or more; respectively identifying the command-line attribute of the command-line interface, and matching the execution priority associated with the command-line attribute of each command-line interface; wherein the pre-configured command-line attribute and the execution priority association relationship; and executing the command-line interface in turn according to the priority order.

[0005] In an embodiment of the present application, respectively identifying the command-line attribute of the command-line interface, and matching the execution priority associated with the command-line attribute of each command-line interface includes: in response to the command-line interface associated with the real-time access request of the storage array, determining that the command-line attribute of the command-line interface is a real-time request attribute, and taking the 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 the management device of the storage array to display the current page, determining that the command-line attribute of the command-line interface is a display attribute, and taking the 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 an embodiment of the present application, the identifying the command line properties of the command line interfaces respectively, and the matching the execution priorities of the command line interfaces associated with the command line properties further comprises: identifying the command line property of the command line interface as an other property, and determining that the command line interface is of a third priority; wherein the other property represents a non-display property and a non-real-time request property; respectively evaluating the priority scores of the command line interfaces belonging to the third priority; and sorting the execution orders of the command line interfaces of the third priority based on the priority scores.

[0007] In an embodiment of the present application, the evaluating the priority score of the command line interface of the third priority comprises: taking the command line interface to be evaluated as a 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 a first score factor to the command line to be evaluated; in response to the command line to be evaluated being an associated interface of the command line interface of the second priority, assigning a second score factor to the command line to be evaluated; assigning a third score factor or a fourth score factor to the command line to be evaluated based on the abnormal prompt level; assigning a fifth score factor to the command line to be evaluated based on the access habit; and fusing the score factors obtained by the command line to be evaluated as the priority score; wherein the score factors include the first score factor, the second score factor, the third score factor, the fourth score factor, and the fifth score factor.

[0008] In an embodiment of the present application, the assigning the fifth score factor to the command line to be evaluated based on the access habit comprises: respectively obtaining the multi-level associated access frequencies of the command line to be evaluated and the current page; and weighting and fusing the level access frequency scores; wherein the access frequency score represents a fitting value of the associated access frequency and the fifth score factor extreme value; wherein the N-level associated access frequency is a ratio of a first number to a second number; wherein the first number represents the number of times of switching N times from the current page to the associated page of the command line to be evaluated; and the second number represents the number of times of switching N times from the current page to any page.

[0009] In an embodiment of the present application, the executing the command line interfaces in the priority order to update the cache of the storage array comprises: in response to obtaining a real-time access request of the storage array, evaluating the execution priorities of the command line interfaces to be executed to respectively form command line sets corresponding to the execution priorities; and migrating the command line interfaces to be adjusted into the execution queue matched with the current execution priority of the command line interfaces; wherein the command line interfaces to be adjusted represent the command line interfaces whose priority of the current command line set is higher than the priority of the execution queue.

[0010] In an embodiment of the present application, the management method further comprises: 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] In another aspect, a storage array management apparatus is provided, which comprises: an obtaining module and a management module; the obtaining module is configured to obtain a command line interface to be executed; the management module is connected with the obtaining module and configured to implement the following steps: obtaining 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; identifying the command line attribute of each command line interface respectively and matching the execution priority associated with the command line attribute of each command line interface; wherein the pre-configured association between each command line attribute and the execution priority; and executing the command line interface in turn according to the priority order.

[0012] In another aspect, a storage array is provided, which comprises a storage array body and a storage array management apparatus; the storage array management apparatus is as described in the above embodiments and is connected with the storage array body.

[0013] In another aspect, a computer readable storage medium is provided, which stores a computer program; when the computer program is executed by a processor, the following steps are implemented: obtaining 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; identifying the command line attribute of each command line interface respectively and matching the execution priority associated with the command line attribute of each command line interface; wherein the pre-configured association between each command line attribute and the execution priority; and executing the command line interface in turn according to the priority order.

[0014] The above-mentioned storage array management method, storage array management apparatus, 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 attribute of the command line interface is pre-associated with the execution priority, so as to match the execution priority of the command line interface based on the command line attribute of the command line interface and execute the command line interface according to the priority order, thereby dynamically adjusting the cache of the management apparatus of the storage array, improving the execution efficiency of the command line interface with high response efficiency requirement by optimizing the corresponding strategy of the command line interface, and further improving the performance of the management apparatus. BRIEF DESCRIPTION OF DRAWINGS

[0015] Figure 1 is a flowchart of an embodiment of the storage array management method of the present application;

[0016] Figure 2is a flowchart of another embodiment of the management method of the storage array of the present application;

[0017] Figure 3 is a flowchart of an embodiment of the updating execution priority of the present application;

[0018] Figure 4 is a flowchart of an embodiment of the command line interface into the execution queue of the present application;

[0019] Figure 5 is a flowchart of an embodiment of the processing real-time access request of the present application;

[0020] Figure 6 is a structural diagram of an embodiment of the storage array of the present application;

[0021] Figure 7 is a structural diagram of an embodiment of the management device of the storage array of the present application;

[0022] Figure 8 is a structural diagram of an embodiment of the computer device of the present application. DETAILED DESCRIPTION

[0023] In order to make the purpose, technical scheme and advantages of the present application clearer, the present application will be further described in detail below in combination with the drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and do not 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 widespread.

[0025] The security and reliability of data storage are one of the key indicators for measuring the performance of a storage array. As described earlier, the CLI is a user interface provided by the storage array to manage and maintain itself. Due to the mutual influence of many CLI operation objects, concurrent CLI operations can easily cause data inconsistency. To ensure data consistency, many CLIs need to be executed serially, and even in some storage arrays all CLIs must be executed serially. However, CLI serialization will inevitably affect its response speed, and the management device of the storage array is used to operate the storage array through the CLI, thereby affecting the response speed of both the storage array and the management device.

[0026] To solve the technical problem of storage array response delay 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 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; identifying the command line attribute of the command line interface respectively, matching the execution priority associated with the command line attribute of each command line interface; wherein the preconfigured execution priority associated relationship of each command line attribute; and executing the command line interface in turn according to the priority order. The specific working principle of the present application is described by example.

[0027] Please refer to Figure 1 , Figure 1 is a flowchart of an embodiment of the storage array management method of the present application.

[0028] S101: 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.

[0029] In this embodiment, the command line interface represents a visual prompt interface provided by the storage array and / or the storage array management device for the user. When using the command line interface, the command can be input in a specific line to receive data such as response command line interface from the storage array and / or the storage array management device.

[0030] S102: identifying the command line attribute of the command line interface respectively, matching the execution priority associated with the command line attribute of each command line interface; wherein the preconfigured execution priority associated relationship of each command line attribute.

[0031] In this embodiment, the command line attribute is used to represent the role, request, function, etc. of the command line interface. The execution priority can be used to represent the urgency of the execution of the command line interface.

[0032] In this embodiment, the execution priority is associated with several kinds of command line attributes respectively. The command line interface with high execution priority can be executed relatively before the command line interface with low execution priority. Optionally, two levels of execution priority, three levels of execution priority, four levels of execution priority, etc. can be pre-planned to reduce the burden of excessive grading while planning multiple execution priorities.

[0033] As such, when the command line interface to be executed is obtained, the command line attribute of the command line interface can be identified. In response to obtaining the command line attribute of the command line interface, the execution priority matching the command line attribute is obtained to identify the execution priority degree of the command line interface to be executed by using the execution priority.

[0034] S103: execute the command line interfaces in turn according to the priority order.

[0035] In the embodiment, the command line interfaces are executed in turn according to the priority order in response to completion of the execution priority identification of the command line interfaces to be executed.

[0036] For example, in the embodiment, the execution priority comparison can be performed again on all the command line interfaces to be executed when a new command line interface such as a real-time access request is obtained; or, the execution priority evaluation can be performed only on the newly obtained command line interface to be executed; or, the execution priority evaluation can be performed on part of the previously existing command line interfaces to be executed and the newly obtained command line interface to be executed, which is not limited herein.

[0037] In this way, the execution priority of the command line interfaces to be executed in the storage array is determined in the embodiment. That is, the command line attributes of the command line interfaces can be pre-associated with the execution priorities, so that the execution priorities of the command line interfaces are matched based on the command line attributes of the command line interfaces, the command line interfaces are executed according to the priority order, the cache of the management device of the storage array is dynamically adjusted, the resources are inclined to the command line interfaces with high urgency, and even the response and implementation of the high urgency demand can be guaranteed even if the resources are insufficient, so that the execution efficiency of the command line interfaces with high response efficiency requirements is improved by optimizing the corresponding strategies of the command line interfaces, and the performance of the management device is improved.

[0038] Please refer to Figure 2 , Figure 2 is a flowchart of another embodiment of the management method of the storage array. It should be noted that the first priority, the second priority, and the third priority are taken as examples for illustration in the embodiment. The priority levels of the first priority, the second priority, and the third priority are gradually reduced, and in a popular way, the priority level of the first priority is the highest, and the command line interface of the first priority can be executed preferentially.

[0039] S201: obtain a command line interface to be executed.

[0040] S202: identify a command line attribute of the 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 as the first priority.

[0042] In the embodiment, in response to the command line interface being associated with a real-time access request of the storage array, the command line attribute of the command line interface is determined as the real-time request attribute, and the first priority associated with the real-time request attribute is taken as the execution priority of the command line interface.

[0043] That is, in the embodiment, the real-time access request of the user is configured as the highest priority, and the command line interface of the real-time access request is executed preferentially, so that the real-time access request of the user can be responded in time, and the response efficiency can be improved, so that the user can obtain the expected data in a relatively short waiting time.

[0044] S204: The command line attribute of the command line interface is a display attribute, and it is determined that the execution priority of the command line interface is a second priority.

[0045] In the embodiment, in response to the fact that the command line interface needs to display the current page for the management device of the storage array, it is determined that the command line attribute of the command line interface is a display attribute, and the second priority associated with the display attribute is taken as the execution priority of the command line interface. In this way, the current page can be displayed in time and completely, and the loading speed of the current page can be improved. That is, in the embodiment, the loading speed of the current page can be improved while ensuring the response efficiency to the user request, so that the current page can be loaded and displayed in a relatively short time, and the time for the user to wait for the loading of the current page is reduced, thereby significantly improving the user experience by reasonably planning the priority levels.

[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, so as to improve the response efficiency of the instant interaction with the user. At the same time, the command line interface configured with the real-time request attribute and the display attribute can be input into an execution queue with a corresponding execution priority, and the execution is performed in turn according to the time of the command line interface entering the queue, that is, according to the order of obtaining the command line interface.

[0047] S205: The command line attribute of the command line interface is another attribute, and it is determined that the execution priority of the command line interface is a third priority.

[0048] In the embodiment, the command line attribute of the command line interface can be identified as another attribute, and it is determined that the command line interface is of the third priority; wherein the other attribute represents a non-display attribute and a non-real-time request attribute.

[0049] S206: The priority scores of the command line interfaces of the third priority are evaluated, and the execution orders of the command line interfaces of the third priority are sorted based on the priority scores.

[0050] In the embodiment, the priority scores of the command line interfaces of the third priority can be evaluated respectively. Based on the priority scores, the execution orders of the command line interfaces of the third priority are sorted.

[0051] That is, the queuing manner of the command line interface of other attributes in the embodiment can be distinguished from the queuing manner of the command line interface with higher priority. The priority scores of the command line interfaces of other attributes to be executed are respectively evaluated to sort the command line interfaces based on the priority scores, so that the execution order of the command line interfaces can be planned in combination with the scoring mechanism, the command line interfaces with higher priority scores can be preferentially executed, and the rationality of the execution order planning of the command line interfaces is further improved.

[0052] In an alternative embodiment, the command line interfaces of each execution priority can also be queued according to the acquisition time, or the command line interfaces of each execution priority can be queued according to the evaluated priority scores, and other queuing manners will not be described here

[0053] Specifically, the command line interface to be evaluated for the priority score can be regarded as a command line to be evaluated. It is judged 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 command line to be evaluated being associated with the management instruction, the command line to be evaluated is given a first score factor.

[0055] In response to the command line to be evaluated being associated with the command line interface of the second priority, the command line to be evaluated is given a second score factor. For example, object X is generated (or composed) by object Y, or object X can generate or compose or be 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 interfaces of object X. For example, the associated command line interfaces of the command line interfaces of the query pool are the command line interfaces of the query RAID, volume and file system, and the associated command line interfaces of the command line interfaces of the query volume are the command line interfaces of the query pool, host, snapshot, mirror and remote replication. The objects in different storage arrays are not the same, and the relationships between the objects are not the same, so the specific association relationship will not be described here.

[0056] The command line to be evaluated is given a third score factor or a fourth score factor based on the exception prompt level. For example, when being in a lower exception prompt level, the third score factor is given; when being in a higher exception prompt level, the fourth score factor is given. The score value of the third score factor is lower than that of the fourth score factor, so that the command line interface with higher exception risk is preferentially executed.

[0057] The command line to be evaluated is given a fifth score factor based on the access habit.

[0058] The score factors obtained by the command line to be evaluated are fused as the priority score. The score factors include a first score factor, a second score factor, a third score factor, a fourth score factor, and a fifth score factor. Alternatively, the score factors can be superimposed, or can be fused by weighting, or can take the maximum value, which is not limited herein.

[0059] Alternatively, at least one of the first score factor, the second score factor, the third score factor, the fourth score factor, and the fifth score factor can be an experience value, or a value calculated by a machine learning algorithm according to historical data, which is not limited herein.

[0060] Therefore, when evaluating the priority score of the command line interface, the relevance of the storage array object, the access habits of the user, and other factors can be comprehensively considered to improve the rationality of the priority score calculation method, and the user habits can be adapted to further improve the response efficiency of the storage array to the information concerned by the user.

[0061] Alternatively, when evaluating the fifth score 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 of each level are fused by weighting. The access frequency score represents the fitting value of the associated access frequency and the extreme value of the fifth score factor. The N-level associated access frequency is the ratio of the first number to the second number. The first number represents the number of times of switching N times from the current page to the associated page of the command line to be evaluated; and the second number represents the number of times of switching N times from the current page to any page.

[0062] For example, the N-level associated access frequency can be the number of times of switching N times from page A (i.e., the current page) to page B divided by the total number of times of switching N times from page A to any page (including page A and page B).

[0063] Further, the weighting factors of different levels of access frequency scores can be different, and the weighting factor of the access frequency level with fewer switching times can be higher.

[0064] For example, the calculation formula of the fifth evaluation factor can be as shown in the following example:

[0065] S5 = F1 * S5 max * 4 / 7 + F2 * S5 max * 4 / 7 + F3 * S5 max * 1 / 7

[0066] Wherein, F1 represents the first-level associated access frequency, F2 represents the second-level associated access frequency, and F3 represents the third-level associated access frequency; S5 represents the fifth evaluation factor, S5 maxThis represents the maximum value of the fifth evaluation factor; 4 / 7, 4 / 7, and 1 / 7 represent the weighting factors for the access frequency scores of the first-level association access frequency, the second-level association access frequency, and the third-level association access frequency, respectively.

[0067] Please see Figure 3 , Figure 3 This is a flowchart illustrating an embodiment of updating the execution priority in this 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 command-line sets corresponding to each execution priority. The command-line interface to be adjusted is then moved into an execution queue that matches its current execution priority. In this embodiment, the command-line interface to be adjusted refers to a command-line interface whose current command-line set priority is higher than the priority of its execution queue priority.

[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. For command-line interfaces that should currently belong to relatively high priority but are actually in a low priority, the priority can be adjusted, thereby shortening their queuing time and speeding up their execution.

[0071] S302: Update the execution queue with the highest priority.

[0072] In this embodiment, the command-line interface can be moved into an execution queue that matches the currently evaluated execution priority based on the execution priority evaluated for each command-line interface.

[0073] This means that command-line interfaces evaluated as having the highest priority can be written into the execution queue corresponding to the highest priority.

[0074] S303: Update the second priority execution queue.

[0075] In this embodiment, command-line interfaces evaluated as having the second priority can 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, command-line interfaces evaluated as having the third priority can be written into the execution queue corresponding to the third priority.

[0078] For example, based on the execution priority of all command-line interfaces of the currently acquired real-time access requests, high, medium, and low priority command-line interfaces can be designed and formed into high, medium, and low priority sets Set1, Set2, and Set3, respectively.

[0079] The command line interfaces in the low priority queue in Set 1 can be moved to the high priority queue in the order of the time when the command line interfaces are initially queued. The command line interfaces in the low priority queue in Set 2 can be moved to the secondary priority queue in the order of the time when the command line interfaces are initially queued. The command line interfaces in the high priority queue in Set 2 remain in the high priority queue because these command line interfaces are previously determined to require high priority execution, but they are still in the queue, indicating that the previous high priority task has not been completed and the high priority needs to be maintained. The command line interfaces in the low priority queue in Set 3 can be re-queued in the low priority queue in the order of the latest score from high to low. The command line interfaces in the high and secondary priority queues in Set 3 remain in the queues.

[0080] Optionally, when the execution queues of each execution priority are updated in the embodiment, the command line interfaces of each changed execution priority can be further screened. When the execution priority of a command line interface is reduced after re-evaluation, the command line interface can be processed without being discarded in the execution queue of the original execution priority. When the execution priority of a command line interface is increased after re-evaluation, the command line interface can be migrated to the execution queue of the re-evaluated execution priority.

[0081] Further, at a time point such as obtaining a new to-be-executed command line interface, when a to-be-executed command line interface is written to the execution queue of the lowest priority for queuing, the scores of all command line interfaces belonging to the execution queue of the lowest priority can be re-evaluated, i.e., the command line interfaces in 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, so as to adjust the execution order of the command line interfaces.

[0082] Further, in the embodiment, the queuing time of the command line interface in the execution queue of the current priority can be obtained. In response to the queuing time reaching the time threshold of the current priority, the execution priority of the command line interface is increased, and the command line interface is migrated to the execution queue of the increased execution priority. The time thresholds of each execution priority can be the same or different, which can be determined according to the actual business scenario, and is not limited herein. In this way, the risk that the command line interface is in the execution queue of the relatively low priority for a long time and is not executed for a long time can be reduced, so that other command line interfaces can be reasonably executed while the response efficiency of the storage array and the management device thereof is ensured, and the rationality of the command line interface execution strategy in the embodiment is further improved.

[0083] Please refer to Figure 4 , Figure 4is a flowchart of an embodiment of the command line interface entry execution queue of the present application. The working principle of adding a new command line interface to the queue when the command line interface data changes is described by way of example in this embodiment.

[0084] S401: Classify the command lines to be adjusted.

[0085] In this embodiment, the command lines to be adjusted can be classified based on the priority to which they belong.

[0086] S402: Write the command lines to be adjusted to the first priority into the execution queue of the first priority, and write the command lines to be adjusted to the second priority into the execution queue of the second priority.

[0087] In this embodiment, if the high-priority and low-priority command line interfaces are already in the corresponding queues, they do not need to be added again, which can reduce the processing of the command line interfaces and save time. If the high-priority command line interface of this time is in the low-priority queue, the command line interface is moved to the high-priority queue; if the low-priority command line interface of this time is in the low-priority queue, the command line interface is moved to the low-priority queue.

[0088] S403: Sort the command lines to be adjusted to the third priority according to the priority score, and write them into the execution queue of the third priority in order.

[0089] Please refer to Figure 5 , Figure 5 is a flowchart of an embodiment of the real-time access request processing of the present application.

[0090] S501: Obtain a real-time access request.

[0091] In this embodiment, the management device can obtain the real-time access request from, for example, a webpage, an applet, etc.

[0092] S502: Determine whether the command line interface corresponding to the real-time access request is in the execution queue of the first priority.

[0093] S503: Wait for the command line interfaces in the execution queue of the first priority to be executed in turn until the command line interface corresponding to the real-time access request is executed.

[0094] S504: Obtain the data required by the command line interface from the cache of the management device of the storage device.

[0095] S505: Assemble the 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 according to the arrows, but the steps are not necessarily executed in the order indicated by the arrows. Unless otherwise specified herein, the steps are not strictly limited in sequence, and the steps can be executed in other sequences. Moreover, Figures 1 to 5 At least one of the steps in the flowchart can include multiple sub-steps or multiple stages, which are not necessarily executed at the same time, but can be executed at different times, and the execution sequence of the sub-steps or stages is not necessarily sequential, but can be executed in rotation or alternation with other steps or at least one of the sub-steps or stages of other steps.

[0097] Referring to Figure 6 , Figure 6 is a structural schematic diagram of an embodiment of the storage array management device.

[0098] In an embodiment, the storage array management device can include an obtaining module and a management module.

[0099] The storage array management device is connected to the storage array body.

[0100] Referring to Figure 7 , Figure 7 is a structural schematic diagram of an embodiment of the storage array management device.

[0101] In an embodiment, the storage array management device can include an obtaining module and a management module.

[0102] The obtaining module is configured to obtain the command line interfaces to be executed.

[0103] The management module is connected to the obtaining module to implement the storage array management method according to any one of the above. That is, the management module can be configured to obtain the command line interfaces to be executed in the storage array; wherein the number of the command line interfaces to be executed is one or more. The command line attributes of the command line interfaces are identified respectively, and the execution priorities associated with the command line attributes are matched for the command line interfaces; wherein the preconfigured association relationship between the command line attributes and the execution priorities. The command line interfaces are executed in sequence according to the priority order.

[0104] As such, the execution priority of the command line interface to be executed in the storage array is determined in the embodiment. That is, the command line attribute of the command line interface can be pre-associated with the execution priority, so as to match the execution priority of the command line interface based on the command line attribute of the command line interface, execute the command line interface in the order of priority, and dynamically adjust the cache of the management device of the storage array, so as to improve the execution efficiency of the command line interface with higher response efficiency requirement by optimizing the corresponding strategy of the command line interface, and further improve the performance of the management device.

[0105] The specific definition of the management device of the storage array can refer to the definition of the management method of the storage array in the foregoing, and will not be described here. Each module in the management device of the storage array can be realized by software, hardware, and a combination thereof, in whole or in part. Each module can be embedded in or independent of the processor in the computer device in hardware form, or can be stored in the memory in the computer device in software form, so as to be called and executed by the processor to perform the operation corresponding to each module.

[0106] In an embodiment, a computer program product including a computer program is provided. The computer program is executed by a processor to implement the steps of the management method of the storage array described in the foregoing, which will not be described here.

[0107] Please refer to Figure 8 , Figure 8 is a structural schematic diagram of an embodiment of the computer device of the present application.

[0108] In an embodiment, the computer device can be a server, and its internal structure diagram can be as shown in the example in Figure 8 .

[0109] The computer device includes a processor, a memory, a network interface, and a database connected by a system bus. The processor of the computer device is configured 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 operating system and the computer program in the non-volatile storage medium. The database of the computer device is configured to store data such as a running log. The network interface of the computer device is configured to communicate with an external terminal through a network connection. The computer program is executed by the processor to implement a management method of a storage array.

[0110] Those skilled in the art can understand that Figure 8The structure shown in the examples in the specification is only a block diagram of part of the structure related to the scheme of the present application, and does not constitute a limitation on the computer device to which the scheme of the present application is applied. The specific computer device can include more or fewer components than those shown in the figure, or combine certain components, or have a different arrangement of components.

[0111] In an embodiment, a computer device is provided, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, and the processor implements the following steps when executing the computer program:

[0112] S101: Obtain command line interfaces to be executed in the storage array; wherein the number of the command line interfaces to be executed is one or more.

[0113] S102: Identify the command line attributes of the command line interfaces respectively, and match the execution priorities associated with the command line attributes of the command line interfaces; wherein the pre-configured association relationship between the command line attributes and the execution priorities.

[0114] S103: Execute the command line interfaces in turn according to the priority order.

[0115] In an embodiment, when 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, the processor executing the computer program can further implement the following steps: in response to a real-time access request associated with the command line interface to the storage array, determining that the command line attribute of the command line interface is a real-time request attribute, and taking a first priority associated with the real-time request attribute as the execution priority of the command line interface; in response to a requirement of the command line interface for the 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 taking 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.

[0116] In an embodiment, when 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, the processor executing the computer program can further implement the following steps: identifying that the command line attribute of the command line interface is another attribute, and determining that the command line interface is a third priority; wherein the another attribute represents a non-display attribute and a non-real-time request attribute; evaluating the priority scores of the command line interfaces belonging to the third priority respectively; and sorting the execution order of the command line interfaces of the third priority based on the priority scores.

[0117] In an embodiment, when evaluating the priority score of the command line interface of the third priority, the processor executing the computer program can further implement the following steps: taking the command line interface to be evaluated as a command line to be evaluated; judging 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, giving the command line to be evaluated a first score factor; in response to the command line to be evaluated being associated with an interface of the command line interface of the second priority, giving the command line to be evaluated a second score factor; giving the command line to be evaluated a third score factor or a fourth score factor based on the abnormal prompt level; giving the command line to be evaluated a fifth score factor based on the access habit; and fusing the score factors obtained by the command line to be evaluated as the priority score; wherein the score factors include the first score factor, the second score factor, the third score factor, the fourth score factor and the fifth score factor.

[0118] In an embodiment, when giving the command line to be evaluated the fifth score factor based on the access habit, the processor executing the computer program can further implement the following steps: obtaining the access frequency of the command line to be evaluated and the current page at multiple levels respectively; and weighting and fusing the access frequency scores; wherein the access frequency score represents the fitting value of the access frequency and the extreme value of the fifth score factor; wherein the access frequency of N levels is the ratio of the first number to the second number; wherein the first number represents the number of times of switching from the current page to the associated page of the command line to be evaluated for N times; and the second number represents the number of times of switching from the current page to any page for N times.

[0119] In an embodiment, when executing the command line interfaces in the order of the priority to update the cache of the storage array, the processor executing the computer program can further implement the following steps: in response to obtaining the real-time access request of 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 respectively; and migrating the command line interface to be adjusted into the execution queue matching the current execution priority of the command line interface; wherein the command line interface to be adjusted represents the command line interface whose priority of the current command line set is higher than the priority of the execution queue.

[0120] In an embodiment, the processor executing the computer program can further implement the following steps: 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; improving the execution priority of the command line interface and migrating it into the execution queue of the improved execution priority.

[0121] In an embodiment, a computer readable storage medium is provided, and the computer readable storage medium stores a computer program. The computer program can implement the following steps when executed by a processor:

[0122] S101: Obtain command line interfaces to be executed in the storage array; wherein the number of the command line interfaces to be executed is one or more.

[0123] S102: Identify the command line attributes of the command line interfaces respectively, and match the execution priorities associated with the command line attributes of the command line interfaces; wherein the pre-configured association relationship between the command line attributes and the execution priorities is matched.

[0124] S103: Execute the command line interfaces in turn according to the priority order.

[0125] In an embodiment, when 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, the computer program executed by the processor can further implement the following steps: in response to a real-time access request associated with the command line interface to the storage array, determining that the command line attribute of the command line interface is a real-time request attribute, and taking a first priority associated with the real-time request attribute as the execution priority of the command line interface; in response to a requirement of the command line interface for displaying a current page by a management device of the storage array, determining that the command line attribute of the command line interface is a display attribute, and taking 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.

[0126] In an embodiment, when 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, the computer program executed by the processor can further implement the following steps: identifying that the command line attribute of the command line interface is another attribute, and determining that the command line interface is a third priority; wherein the another attribute represents a non-display attribute and a non-real-time request attribute; evaluating the priority scores of the command line interfaces belonging to the third priority respectively; and sorting the execution order of the command line interfaces of the third priority based on the priority scores.

[0127] In an embodiment, when evaluating the priority score of the command line interface of the third priority, the computer program, when executed by the processor, can further implement the following steps: taking the command line interface to be evaluated as a 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 score factor; in response to the command line to be evaluated being associated with an interface of the command line interface of the second priority, assigning the command line to be evaluated a second score factor; assigning the command line to be evaluated a third score factor or a fourth score factor based on the abnormal prompt level; assigning the command line to be evaluated a fifth score factor based on the access habit; and fusing the score factors obtained by the command line to be evaluated as the priority score; wherein the score factors include the first score factor, the second score factor, the third score factor, the fourth score factor, and the fifth score factor.

[0128] In an embodiment, when assigning the command line to be evaluated the fifth score factor based on the access habit, the computer program, when executed by the processor, can further implement the following steps: obtaining the access frequency of the command line to be evaluated and the current page at multiple levels respectively; and weighting and fusing the access frequency scores; wherein the access frequency score represents the fitting value of the access frequency and the extreme value of the fifth score factor; wherein the access frequency of N levels is the ratio of the first number to the second number; wherein the first number represents the number of times of switching from the current page to the associated page of the command line to be evaluated for N times; and the second number represents the number of times of switching from the current page to any page for N times.

[0129] In an embodiment, when executing the command line interfaces in the order of the priority to update the cache of the storage array, the computer program, when executed by the processor, can further implement the following steps: in response to obtaining the real-time access request of 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 respectively; and migrating the command line interface to be adjusted into the execution queue matching the current execution priority of the command line interface; wherein the command line interface to be adjusted represents the command line interface whose priority of the current command line set is higher than the priority of the execution queue.

[0130] In an embodiment, the computer program, when executed by the processor, can further implement the following steps: 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 into 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 embodiment methods can be completed by a computer program instructing relevant hardware. The computer program can be stored in a non-volatile computer readable storage medium. When the computer program is executed, the processes of the above-mentioned embodiment methods can be included. Any reference to memory, storage, database or other medium 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 but not limitation, RAM is available in various forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), 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), etc.

[0132] Any combination of the technical features of the above embodiments can be made. In order to make the description simple, all possible combinations of the technical features in the above embodiments are not described, however, as long as the combination of the technical features does not exist, it should be considered as the scope of the present application.

[0133] The above embodiments only express several implementation manners of the present application, and the description is more specific and detailed, but it should not be understood as a limitation on the scope of the patent. It should be pointed out that for ordinary skilled in the art, without departing from the concept of the present application, some modifications and improvements can be made, which are all within the protection scope of the present application.

Claims

1. A method for managing a storage array, characterized in that, The management method includes: Obtain the command-line interfaces to be executed within the storage array; wherein the number of command-line interfaces to be executed is one or more; The command-line attributes of each command-line interface are identified, and the execution priority associated with each command-line interface and the command-line attribute is matched; wherein, the association relationship between each command-line attribute and the execution priority is pre-configured. The command-line interfaces are executed sequentially according to priority. The step of identifying the command-line attributes of the command-line interfaces and matching the execution priority associated with each command-line interface and the command-line attribute includes: In response to a real-time access request from the 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 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; The execution priority of the first priority is higher than that of the second priority. The step of identifying the command-line attributes of the command-line interfaces and matching the execution priority associated with each command-line interface and the command-line attribute further includes: If the command-line attribute of the command-line interface is identified as another attribute, the command-line interface is determined to be of the third priority; wherein, the other attribute refers to attributes that are not for display and are not for real-time requests. Evaluate the priority score of each command-line interface belonging to the third priority level; Based on the priority score, the execution order of the command-line interface with the third priority is sorted; the execution priority of the second priority is higher than that of the third priority.

2. The management method according to claim 1, characterized in that, The priority score for evaluating the third-priority command-line interface includes: The command-line interface for evaluating the priority score is used 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, a first scoring factor is assigned to the command line to be evaluated; In response to the command line to be evaluated being an interface associated with a command line interface of the second priority, a second scoring factor is assigned to the command line to be evaluated; The command line to be evaluated is assigned a third or fourth scoring factor based on the level of the anomaly warning. A fifth scoring factor is assigned to the command line to be evaluated based on access habits; The scoring factors obtained from the command line to be evaluated are integrated 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.

3. The management method according to claim 2, characterized in that, The fifth scoring factor assigned to the command line to be evaluated based on access habits includes: Obtain the multi-level association access frequency between the command line to be evaluated and the current page; The access frequency scores at each level are weighted and fused; wherein, the access frequency score represents the fitted 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 represents the number of times the user switches from the current page N times to jump to the command line associated page to be evaluated; the second number represents the number of times the user switches from the current page N times to jump to any page.

4. The management method according to claim 1, characterized in that, The step of executing the command-line interface sequentially according to priority to update the storage array cache includes: In response to a real-time access request to the storage array, the execution priority of each of the command-line interfaces to be executed is evaluated to form a command-line set corresponding to each execution priority. The command line interface to be adjusted is moved into the execution queue that matches its current execution priority; wherein, the command line to be adjusted refers to the command line interface whose current command line set has a higher priority than the priority of its execution queue.

5. The management method according to claim 1, characterized in that, The management method also includes: Obtain 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; Increase the execution priority of the command-line interface and move it into the execution queue with the increased execution priority.

6. A management device for a storage array, characterized in that, The management device includes: The acquisition module is used to acquire the command-line interface to be executed; A management module is connected to the acquisition module to implement the storage array management method as described in any one of claims 1 to 5.

7. A storage array, characterized in that, The storage array includes: Storage array body; The storage array management device as described in claim 6 is connected to the storage array body.

8. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the steps of the management method for the storage array according to any one of claims 1 to 5.

Citation Information

Patent Citations

  • Command control method and command controller

    CN102207889A

  • Scheduling method and device for command scheduling queue, controller and storage medium

    CN114691046A